From 3428827dc39516b0ec74c45a9a3fa72e2cc7735b Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 20 Jul 2020 23:26:34 -0500 Subject: [PATCH 0001/1360] [pumpup] Pumping up develop to 3.2.0 --- CMakeLists.txt | 4 +- NEWS | 6 + doc/src/pgRouting-introduction.rst | 4 - doc/src/release_notes.rst | 9 + docqueries/version/doc-full_version.result | 6 +- docqueries/version/doc-version.result | 2 +- sql/scripts/build-extension-update-files1.pl | 8 +- sql/sigs/CMakeLists.txt | 2 + sql/sigs/pgrouting--3.2.0.sig | 239 +++++++++++++++++++ tools/developer/pumpup-dev.sh | 84 +++++++ 10 files changed, 352 insertions(+), 12 deletions(-) create mode 100644 sql/sigs/pgrouting--3.2.0.sig create mode 100644 tools/developer/pumpup-dev.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index f4c11fb30b6..52eac07708f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,9 +33,9 @@ include(pgr/BuildType) #--------------------------------------------- #--------------------------------------------- -project(PGROUTING VERSION 3.1.0 +project(PGROUTING VERSION 3.2.0 LANGUAGES C CXX ) -set(PGROUTING_VERSION_DEV "") +set(PGROUTING_VERSION_DEV "-dev") include(pgr/GitInfo) diff --git a/NEWS b/NEWS index 1150182322a..29cd6016984 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,10 @@ +pgRouting 3.2.0 Release Notes +------------------------------------------------------------------------------- + +No Changes Yet + + pgRouting 3.1.0 Release Notes ------------------------------------------------------------------------------- diff --git a/doc/src/pgRouting-introduction.rst b/doc/src/pgRouting-introduction.rst index 47c3f4c67bd..6c677f8e9c9 100644 --- a/doc/src/pgRouting-introduction.rst +++ b/doc/src/pgRouting-introduction.rst @@ -57,11 +57,7 @@ Individuals (in alphabetical order) Cayetano Benavent, Daniel Kastl, -Esteban Zimanyi, -Imre Samu, Martha Vergara, -Mohamed Bakli, -Mahmoud Sakr, Regina Obe, Virginia Vergara diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 63e3157efc1..507865b839c 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -18,6 +18,7 @@ To see the full list of changes check the list of `Git commits Date: Wed, 22 Jul 2020 08:49:19 -0500 Subject: [PATCH 0002/1360] [linkcheck] adding some configuration to link checking --- doc/conf.py.in | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/doc/conf.py.in b/doc/conf.py.in index 92efcae7e17..876046a23ad 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -292,6 +292,20 @@ pdf_stylesheets = ['sphinx','kerning','a4'] # A list of folders to search for stylesheets. Example: pdf_style_path = ['.', '_styles'] +# Linkcheck configuration, see https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-the-linkcheck-builder + +# cases to ignore during link checking +linkcheck_ignore = [ + # might not exist yet (we are generating it!) + + # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected + # (see: https://github.com/sphinx-doc/sphinx/issues/7388) + "https://github.com/pgRouting/pgrouting/issues/*", # limit only pgrouting +] + +linkcheck_timeout = 20 +linkcheck_retries = 5 +linkcheck_anchors = False rst_epilog=""" .. |ANY-INTEGER| replace:: :abbr:`ANY-INTEGER(SMALLINT, INTEGER, BIGINT)` From 0845e7bdf0bd34082d31bcac71c794a8a2eacb0e Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 22 Jul 2020 15:30:01 -0500 Subject: [PATCH 0003/1360] not testing macos action --- .github/workflows/macos.yml | 21 +++++++-------------- .github/workflows/windows.yml | 21 +++++++-------------- 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index a0be51ebc04..75667d2b1eb 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -1,24 +1,17 @@ name: Build for MacOS -on: +on: push: - branches: - # - master - # - develop - - ftr/gh-actions - - pull_request: - branches: - # - master - # - develop + branches-ignore: + - '**' jobs: build: name: Build runs-on: ${{ matrix.os }} - strategy: - matrix: + strategy: + matrix: psql: [10] os: [macos-latest] @@ -41,7 +34,7 @@ jobs: # postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }} \ # postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }}-scripts \ # postgresql-server-dev-${{ matrix.psql }} \ - # python-sphinx + # python-sphinx - name: Checkout repository uses: actions/checkout@v2 @@ -63,7 +56,7 @@ jobs: # - name: Build # run: | # cd build - # make + # make # sudo make install # - name: Test diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 4b92214a131..d9875af3809 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -1,24 +1,17 @@ name: Build for Windows -on: +on: push: - branches: - # - master - # - develop - - ftr/gh-actions - - pull_request: - branches: - # - master - # - develop + branches-ignore: + - '**' jobs: build: name: Build runs-on: ${{ matrix.os }} - strategy: - matrix: + strategy: + matrix: psql: [10] os: [windows-latest] @@ -41,7 +34,7 @@ jobs: # postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }} \ # postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }}-scripts \ # postgresql-server-dev-${{ matrix.psql }} \ - # python-sphinx + # python-sphinx - name: Checkout repository uses: actions/checkout@v2 @@ -63,7 +56,7 @@ jobs: # - name: Build # run: | # cd build - # make + # make # sudo make install # - name: Test From b5c934cee02196b7c5b65ede673e51c3c0cfedad Mon Sep 17 00:00:00 2001 From: Vicky Vergara Date: Fri, 24 Jul 2020 10:29:17 -0500 Subject: [PATCH 0004/1360] [actions] test for signature files not changing on same minor (#1531) (#1533) --- .github/workflows/check-files.yml | 6 +++++- .github/workflows/linkcheck-es.yml | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-files.yml b/.github/workflows/check-files.yml index 12dc3f377bb..31e9df92ab9 100644 --- a/.github/workflows/check-files.yml +++ b/.github/workflows/check-files.yml @@ -30,7 +30,11 @@ jobs: RELEASE=(${tempvar//[\(\)]/}) for value in "${RELEASE[@]}"; do if [ "$value" == "${RELEASE[0]}" ]; then continue; fi - diff "sql/sigs/pgrouting--${value}.sig" "sql/sigs/pgrouting--${RELEASE[0]}.sig" | wc -l | grep 4 + if [ $(diff "sql/sigs/pgrouting--${value}.sig" "sql/sigs/pgrouting--${RELEASE[0]}.sig" | wc -l) != "4" ] ; + then + echo "sql/sigs/pgrouting--${value}.sig sql/sigs/pgrouting--${RELEASE[0]}.sig are different"; + exit 1; + fi done - name: News file up to date diff --git a/.github/workflows/linkcheck-es.yml b/.github/workflows/linkcheck-es.yml index 3239c30ca68..5eeea86e3aa 100644 --- a/.github/workflows/linkcheck-es.yml +++ b/.github/workflows/linkcheck-es.yml @@ -46,7 +46,8 @@ jobs: postgresql-${{ matrix.psql }}-pgtap \ postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }} \ postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }}-scripts \ - postgresql-server-dev-${{ matrix.psql }} + postgresql-server-dev-${{ matrix.psql }} \ + graphviz python -m pip install --upgrade pip pip install -r requirements.txt pip list From f49001284ace6a576f9df80b03cb52250dfb7bd4 Mon Sep 17 00:00:00 2001 From: MarPetra Date: Fri, 31 Jul 2020 20:38:41 -0500 Subject: [PATCH 0005/1360] porting "pot" files from master v3.1 to v3.2 --- locale/pot/KSP-category.pot | 2 +- locale/pot/TSP-family.pot | 2 +- locale/pot/VRP-category.pot | 2 +- locale/pot/aStar-family.pot | 2 +- locale/pot/allpairs-family.pot | 2 +- locale/pot/bdAstar-family.pot | 2 +- locale/pot/bdDijkstra-family.pot | 2 +- locale/pot/chinesePostmanProblem-family.pot | 2 +- locale/pot/components-family.pot | 2 +- locale/pot/contraction-family.pot | 2 +- locale/pot/cost-category.pot | 2 +- locale/pot/costMatrix-category.pot | 2 +- locale/pot/dijkstra-family.pot | 2 +- locale/pot/drivingDistance-category.pot | 2 +- locale/pot/experimental.pot | 6 +++--- locale/pot/flow-family.pot | 2 +- locale/pot/index.pot | 2 +- locale/pot/kruskal-family.pot | 2 +- locale/pot/pgRouting-concepts.pot | 2 +- locale/pot/pgRouting-installation.pot | 2 +- locale/pot/pgRouting-introduction.pot | 2 +- locale/pot/pgr_KSP.pot | 2 +- locale/pot/pgr_TSP.pot | 2 +- locale/pot/pgr_TSPeuclidean.pot | 2 +- locale/pot/pgr_aStar.pot | 2 +- locale/pot/pgr_aStarCost.pot | 2 +- locale/pot/pgr_aStarCostMatrix.pot | 2 +- locale/pot/pgr_alphaShape.pot | 2 +- locale/pot/pgr_analyzeGraph.pot | 2 +- locale/pot/pgr_analyzeOneWay.pot | 2 +- locale/pot/pgr_articulationPoints.pot | 2 +- locale/pot/pgr_bdAstar.pot | 2 +- locale/pot/pgr_bdAstarCost.pot | 2 +- locale/pot/pgr_bdAstarCostMatrix.pot | 2 +- locale/pot/pgr_bdDijkstra.pot | 2 +- locale/pot/pgr_bdDijkstraCost.pot | 2 +- locale/pot/pgr_bdDijkstraCostMatrix.pot | 2 +- locale/pot/pgr_bellmanFord.pot | 2 +- locale/pot/pgr_biconnectedComponents.pot | 2 +- locale/pot/pgr_binaryBreadthFirstSearch.pot | 6 +++--- locale/pot/pgr_boykovKolmogorov.pot | 2 +- locale/pot/pgr_breadthFirstSearch.pot | 6 +++--- locale/pot/pgr_bridges.pot | 2 +- locale/pot/pgr_chinesePostman.pot | 2 +- locale/pot/pgr_chinesePostmanCost.pot | 2 +- locale/pot/pgr_connectedComponents.pot | 2 +- locale/pot/pgr_contraction.pot | 2 +- locale/pot/pgr_createTopology.pot | 2 +- locale/pot/pgr_createVerticesTable.pot | 2 +- locale/pot/pgr_dagShortestPath.pot | 2 +- locale/pot/pgr_dijkstra.pot | 2 +- locale/pot/pgr_dijkstraCost.pot | 2 +- locale/pot/pgr_dijkstraCostMatrix.pot | 2 +- locale/pot/pgr_dijkstraVia.pot | 2 +- locale/pot/pgr_drivingDistance.pot | 2 +- locale/pot/pgr_edgeDisjointPaths.pot | 2 +- locale/pot/pgr_edmondsKarp.pot | 2 +- locale/pot/pgr_edwardMoore.pot | 6 +++--- locale/pot/pgr_extractVertices.pot | 2 +- locale/pot/pgr_floydWarshall.pot | 2 +- locale/pot/pgr_full_version.pot | 2 +- locale/pot/pgr_johnson.pot | 2 +- locale/pot/pgr_kruskal.pot | 2 +- locale/pot/pgr_kruskalBFS.pot | 2 +- locale/pot/pgr_kruskalDD.pot | 2 +- locale/pot/pgr_kruskalDFS.pot | 2 +- locale/pot/pgr_lineGraph.pot | 2 +- locale/pot/pgr_lineGraphFull.pot | 2 +- locale/pot/pgr_maxCardinalityMatch.pot | 2 +- locale/pot/pgr_maxFlow.pot | 2 +- locale/pot/pgr_maxFlowMinCost.pot | 2 +- locale/pot/pgr_maxFlowMinCost_Cost.pot | 2 +- locale/pot/pgr_nodeNetwork.pot | 2 +- locale/pot/pgr_pickDeliver.pot | 2 +- locale/pot/pgr_pickDeliverEuclidean.pot | 2 +- locale/pot/pgr_prim.pot | 2 +- locale/pot/pgr_primBFS.pot | 2 +- locale/pot/pgr_primDD.pot | 2 +- locale/pot/pgr_primDFS.pot | 2 +- locale/pot/pgr_pushRelabel.pot | 2 +- locale/pot/pgr_stoerWagner.pot | 2 +- locale/pot/pgr_strongComponents.pot | 2 +- locale/pot/pgr_topologicalSort.pot | 2 +- locale/pot/pgr_transitiveClosure.pot | 2 +- locale/pot/pgr_trsp.pot | 2 +- locale/pot/pgr_turnRestrictedPath.pot | 2 +- locale/pot/pgr_version.pot | 2 +- locale/pot/pgr_vrpOneDepot.pot | 2 +- locale/pot/pgr_withPoints.pot | 2 +- locale/pot/pgr_withPointsCost.pot | 2 +- locale/pot/pgr_withPointsCostMatrix.pot | 2 +- locale/pot/pgr_withPointsDD.pot | 2 +- locale/pot/pgr_withPointsKSP.pot | 2 +- locale/pot/prim-family.pot | 2 +- locale/pot/proposed.pot | 6 +++--- locale/pot/release_notes.pot | 2 +- locale/pot/routingFunctions.pot | 6 +++--- locale/pot/sampledata.pot | 2 +- locale/pot/spanningTree-family.pot | 2 +- locale/pot/support.pot | 6 +++--- locale/pot/topology-functions.pot | 6 +++--- locale/pot/transformation-family.pot | 2 +- locale/pot/withPoints-family.pot | 2 +- 103 files changed, 119 insertions(+), 119 deletions(-) diff --git a/locale/pot/KSP-category.pot b/locale/pot/KSP-category.pot index 225eb4f473e..fcbc4d8cdb7 100644 --- a/locale/pot/KSP-category.pot +++ b/locale/pot/KSP-category.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/TSP-family.pot b/locale/pot/TSP-family.pot index b1c0c85ccce..4066ed6315c 100644 --- a/locale/pot/TSP-family.pot +++ b/locale/pot/TSP-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/VRP-category.pot b/locale/pot/VRP-category.pot index d77a28d82ae..05f96327e2a 100644 --- a/locale/pot/VRP-category.pot +++ b/locale/pot/VRP-category.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/aStar-family.pot b/locale/pot/aStar-family.pot index 00f331d1226..b9f06db9606 100644 --- a/locale/pot/aStar-family.pot +++ b/locale/pot/aStar-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/allpairs-family.pot b/locale/pot/allpairs-family.pot index b8046a7b22f..f3eeb09001a 100644 --- a/locale/pot/allpairs-family.pot +++ b/locale/pot/allpairs-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/bdAstar-family.pot b/locale/pot/bdAstar-family.pot index 89b46b9a4b2..d7927400f5b 100644 --- a/locale/pot/bdAstar-family.pot +++ b/locale/pot/bdAstar-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/bdDijkstra-family.pot b/locale/pot/bdDijkstra-family.pot index 9cc7d6dc0aa..93fafa6cfa9 100644 --- a/locale/pot/bdDijkstra-family.pot +++ b/locale/pot/bdDijkstra-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/chinesePostmanProblem-family.pot b/locale/pot/chinesePostmanProblem-family.pot index dc5db8fc7c0..3728a087808 100644 --- a/locale/pot/chinesePostmanProblem-family.pot +++ b/locale/pot/chinesePostmanProblem-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/components-family.pot b/locale/pot/components-family.pot index 02bad22cb32..0c4ca1ece23 100644 --- a/locale/pot/components-family.pot +++ b/locale/pot/components-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/contraction-family.pot b/locale/pot/contraction-family.pot index d864d9c1ca9..8967413df83 100644 --- a/locale/pot/contraction-family.pot +++ b/locale/pot/contraction-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/cost-category.pot b/locale/pot/cost-category.pot index 3ebfc8506ec..9474c1e8dc9 100644 --- a/locale/pot/cost-category.pot +++ b/locale/pot/cost-category.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/costMatrix-category.pot b/locale/pot/costMatrix-category.pot index 59b87a41b1b..2c2fe09a76c 100644 --- a/locale/pot/costMatrix-category.pot +++ b/locale/pot/costMatrix-category.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/dijkstra-family.pot b/locale/pot/dijkstra-family.pot index 48fec75b180..c98bd72b45d 100644 --- a/locale/pot/dijkstra-family.pot +++ b/locale/pot/dijkstra-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/drivingDistance-category.pot b/locale/pot/drivingDistance-category.pot index 0511a6ffaac..46ac81f81f6 100644 --- a/locale/pot/drivingDistance-category.pot +++ b/locale/pot/drivingDistance-category.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/experimental.pot b/locale/pot/experimental.pot index 3a63d783d6a..4c12096cc78 100644 --- a/locale/pot/experimental.pot +++ b/locale/pot/experimental.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.2 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.2\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/flow-family.pot b/locale/pot/flow-family.pot index 2ab5a6d9304..dc7b8ec82a9 100644 --- a/locale/pot/flow-family.pot +++ b/locale/pot/flow-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/index.pot b/locale/pot/index.pot index b192e766336..cd434ff46dc 100644 --- a/locale/pot/index.pot +++ b/locale/pot/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/kruskal-family.pot b/locale/pot/kruskal-family.pot index d904781e0db..dadcebd16f8 100644 --- a/locale/pot/kruskal-family.pot +++ b/locale/pot/kruskal-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgRouting-concepts.pot b/locale/pot/pgRouting-concepts.pot index 2b089dba9d8..f591a6526d9 100644 --- a/locale/pot/pgRouting-concepts.pot +++ b/locale/pot/pgRouting-concepts.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgRouting-installation.pot b/locale/pot/pgRouting-installation.pot index f08f25f3fb7..45cfee3fd5b 100644 --- a/locale/pot/pgRouting-installation.pot +++ b/locale/pot/pgRouting-installation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgRouting-introduction.pot b/locale/pot/pgRouting-introduction.pot index ecf2ea4d8d9..7bae8554190 100644 --- a/locale/pot/pgRouting-introduction.pot +++ b/locale/pot/pgRouting-introduction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_KSP.pot b/locale/pot/pgr_KSP.pot index 02af48c0268..346509d42d4 100644 --- a/locale/pot/pgr_KSP.pot +++ b/locale/pot/pgr_KSP.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_TSP.pot b/locale/pot/pgr_TSP.pot index 6166dc1ab15..33f0bfc5821 100644 --- a/locale/pot/pgr_TSP.pot +++ b/locale/pot/pgr_TSP.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_TSPeuclidean.pot b/locale/pot/pgr_TSPeuclidean.pot index 5193e6aafc2..e4f99b21009 100644 --- a/locale/pot/pgr_TSPeuclidean.pot +++ b/locale/pot/pgr_TSPeuclidean.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_aStar.pot b/locale/pot/pgr_aStar.pot index 2d7282f6c21..49a62604218 100644 --- a/locale/pot/pgr_aStar.pot +++ b/locale/pot/pgr_aStar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_aStarCost.pot b/locale/pot/pgr_aStarCost.pot index 6417f0fc7b4..a03f9d81432 100644 --- a/locale/pot/pgr_aStarCost.pot +++ b/locale/pot/pgr_aStarCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_aStarCostMatrix.pot b/locale/pot/pgr_aStarCostMatrix.pot index 1e88c6bb379..bf35594a94f 100644 --- a/locale/pot/pgr_aStarCostMatrix.pot +++ b/locale/pot/pgr_aStarCostMatrix.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_alphaShape.pot b/locale/pot/pgr_alphaShape.pot index 2f128aaaec8..c817ca84653 100644 --- a/locale/pot/pgr_alphaShape.pot +++ b/locale/pot/pgr_alphaShape.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_analyzeGraph.pot b/locale/pot/pgr_analyzeGraph.pot index 947ea383eb3..4417e9bbd4a 100644 --- a/locale/pot/pgr_analyzeGraph.pot +++ b/locale/pot/pgr_analyzeGraph.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_analyzeOneWay.pot b/locale/pot/pgr_analyzeOneWay.pot index f66c4236827..1b664f9ff04 100644 --- a/locale/pot/pgr_analyzeOneWay.pot +++ b/locale/pot/pgr_analyzeOneWay.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_articulationPoints.pot b/locale/pot/pgr_articulationPoints.pot index 406dc20f9e8..77a450c4b8f 100644 --- a/locale/pot/pgr_articulationPoints.pot +++ b/locale/pot/pgr_articulationPoints.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bdAstar.pot b/locale/pot/pgr_bdAstar.pot index 2dc60a09ebd..ee8c29da409 100644 --- a/locale/pot/pgr_bdAstar.pot +++ b/locale/pot/pgr_bdAstar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bdAstarCost.pot b/locale/pot/pgr_bdAstarCost.pot index 2903dae5a78..08d55e7ec68 100644 --- a/locale/pot/pgr_bdAstarCost.pot +++ b/locale/pot/pgr_bdAstarCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bdAstarCostMatrix.pot b/locale/pot/pgr_bdAstarCostMatrix.pot index 99091932397..f7952146a55 100644 --- a/locale/pot/pgr_bdAstarCostMatrix.pot +++ b/locale/pot/pgr_bdAstarCostMatrix.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bdDijkstra.pot b/locale/pot/pgr_bdDijkstra.pot index a8fb84d9463..460bd9ef9a2 100644 --- a/locale/pot/pgr_bdDijkstra.pot +++ b/locale/pot/pgr_bdDijkstra.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bdDijkstraCost.pot b/locale/pot/pgr_bdDijkstraCost.pot index 0f95bb70e2d..391ccf3cf32 100644 --- a/locale/pot/pgr_bdDijkstraCost.pot +++ b/locale/pot/pgr_bdDijkstraCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bdDijkstraCostMatrix.pot b/locale/pot/pgr_bdDijkstraCostMatrix.pot index 483c8f808ab..4c5e64b86a3 100644 --- a/locale/pot/pgr_bdDijkstraCostMatrix.pot +++ b/locale/pot/pgr_bdDijkstraCostMatrix.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bellmanFord.pot b/locale/pot/pgr_bellmanFord.pot index 0cb8fa4f110..9a4f4e89c5f 100644 --- a/locale/pot/pgr_bellmanFord.pot +++ b/locale/pot/pgr_bellmanFord.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_biconnectedComponents.pot b/locale/pot/pgr_biconnectedComponents.pot index fc25bda98c0..d35045695e7 100644 --- a/locale/pot/pgr_biconnectedComponents.pot +++ b/locale/pot/pgr_biconnectedComponents.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_binaryBreadthFirstSearch.pot b/locale/pot/pgr_binaryBreadthFirstSearch.pot index a6ce3b66f1e..068f2d22ecc 100644 --- a/locale/pot/pgr_binaryBreadthFirstSearch.pot +++ b/locale/pot/pgr_binaryBreadthFirstSearch.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.2 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.2\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_boykovKolmogorov.pot b/locale/pot/pgr_boykovKolmogorov.pot index 58257ba99bd..320c92ac87d 100644 --- a/locale/pot/pgr_boykovKolmogorov.pot +++ b/locale/pot/pgr_boykovKolmogorov.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_breadthFirstSearch.pot b/locale/pot/pgr_breadthFirstSearch.pot index a7afe93a285..8d2accba4fa 100644 --- a/locale/pot/pgr_breadthFirstSearch.pot +++ b/locale/pot/pgr_breadthFirstSearch.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.2 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.2\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bridges.pot b/locale/pot/pgr_bridges.pot index 635e6b35117..3754f6c09ab 100644 --- a/locale/pot/pgr_bridges.pot +++ b/locale/pot/pgr_bridges.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_chinesePostman.pot b/locale/pot/pgr_chinesePostman.pot index a100f6793a6..0783eea7d40 100644 --- a/locale/pot/pgr_chinesePostman.pot +++ b/locale/pot/pgr_chinesePostman.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_chinesePostmanCost.pot b/locale/pot/pgr_chinesePostmanCost.pot index dacdac3f28a..e0937b6ab50 100644 --- a/locale/pot/pgr_chinesePostmanCost.pot +++ b/locale/pot/pgr_chinesePostmanCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_connectedComponents.pot b/locale/pot/pgr_connectedComponents.pot index 7cf5b1912d1..6d631207939 100644 --- a/locale/pot/pgr_connectedComponents.pot +++ b/locale/pot/pgr_connectedComponents.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_contraction.pot b/locale/pot/pgr_contraction.pot index a91fd792beb..a7c2d44c023 100644 --- a/locale/pot/pgr_contraction.pot +++ b/locale/pot/pgr_contraction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_createTopology.pot b/locale/pot/pgr_createTopology.pot index 0d92e488a70..6d93f6915ca 100644 --- a/locale/pot/pgr_createTopology.pot +++ b/locale/pot/pgr_createTopology.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_createVerticesTable.pot b/locale/pot/pgr_createVerticesTable.pot index 89ffe3491ae..092de5e50d3 100644 --- a/locale/pot/pgr_createVerticesTable.pot +++ b/locale/pot/pgr_createVerticesTable.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_dagShortestPath.pot b/locale/pot/pgr_dagShortestPath.pot index 1cf7ef2ea8e..a368f5d9ac7 100644 --- a/locale/pot/pgr_dagShortestPath.pot +++ b/locale/pot/pgr_dagShortestPath.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_dijkstra.pot b/locale/pot/pgr_dijkstra.pot index ff56b699b1c..2243b8249ce 100644 --- a/locale/pot/pgr_dijkstra.pot +++ b/locale/pot/pgr_dijkstra.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_dijkstraCost.pot b/locale/pot/pgr_dijkstraCost.pot index fe45189b288..f0d4b6149c2 100644 --- a/locale/pot/pgr_dijkstraCost.pot +++ b/locale/pot/pgr_dijkstraCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_dijkstraCostMatrix.pot b/locale/pot/pgr_dijkstraCostMatrix.pot index 018f531988a..36fad14dbac 100644 --- a/locale/pot/pgr_dijkstraCostMatrix.pot +++ b/locale/pot/pgr_dijkstraCostMatrix.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_dijkstraVia.pot b/locale/pot/pgr_dijkstraVia.pot index 3eedee7db74..0debcec16e5 100644 --- a/locale/pot/pgr_dijkstraVia.pot +++ b/locale/pot/pgr_dijkstraVia.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_drivingDistance.pot b/locale/pot/pgr_drivingDistance.pot index 4d89a400bdf..a1d74b51680 100644 --- a/locale/pot/pgr_drivingDistance.pot +++ b/locale/pot/pgr_drivingDistance.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_edgeDisjointPaths.pot b/locale/pot/pgr_edgeDisjointPaths.pot index feec6a4a3cf..e941af4fb1a 100644 --- a/locale/pot/pgr_edgeDisjointPaths.pot +++ b/locale/pot/pgr_edgeDisjointPaths.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_edmondsKarp.pot b/locale/pot/pgr_edmondsKarp.pot index 42df4143c1d..c8bbef43200 100644 --- a/locale/pot/pgr_edmondsKarp.pot +++ b/locale/pot/pgr_edmondsKarp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_edwardMoore.pot b/locale/pot/pgr_edwardMoore.pot index 29377a0ba2f..fd0efdc7d4a 100644 --- a/locale/pot/pgr_edwardMoore.pot +++ b/locale/pot/pgr_edwardMoore.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.2 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.2\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_extractVertices.pot b/locale/pot/pgr_extractVertices.pot index 223e492d297..b2cafa4c165 100644 --- a/locale/pot/pgr_extractVertices.pot +++ b/locale/pot/pgr_extractVertices.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_floydWarshall.pot b/locale/pot/pgr_floydWarshall.pot index 60c71a52b79..bf4f72a87d1 100644 --- a/locale/pot/pgr_floydWarshall.pot +++ b/locale/pot/pgr_floydWarshall.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_full_version.pot b/locale/pot/pgr_full_version.pot index 083c2e23a24..5b375ff5e1f 100644 --- a/locale/pot/pgr_full_version.pot +++ b/locale/pot/pgr_full_version.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_johnson.pot b/locale/pot/pgr_johnson.pot index 212f016b9c2..72bbbc857a7 100644 --- a/locale/pot/pgr_johnson.pot +++ b/locale/pot/pgr_johnson.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_kruskal.pot b/locale/pot/pgr_kruskal.pot index 951815d9b93..5a54c9c8337 100644 --- a/locale/pot/pgr_kruskal.pot +++ b/locale/pot/pgr_kruskal.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_kruskalBFS.pot b/locale/pot/pgr_kruskalBFS.pot index 9c089348d7b..c8674a55810 100644 --- a/locale/pot/pgr_kruskalBFS.pot +++ b/locale/pot/pgr_kruskalBFS.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_kruskalDD.pot b/locale/pot/pgr_kruskalDD.pot index d7e7822180f..9c3c36fc96c 100644 --- a/locale/pot/pgr_kruskalDD.pot +++ b/locale/pot/pgr_kruskalDD.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_kruskalDFS.pot b/locale/pot/pgr_kruskalDFS.pot index f5ea74ac92f..089746b4492 100644 --- a/locale/pot/pgr_kruskalDFS.pot +++ b/locale/pot/pgr_kruskalDFS.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_lineGraph.pot b/locale/pot/pgr_lineGraph.pot index 4a1925a0f01..ef75cdf0726 100644 --- a/locale/pot/pgr_lineGraph.pot +++ b/locale/pot/pgr_lineGraph.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_lineGraphFull.pot b/locale/pot/pgr_lineGraphFull.pot index 664675eea11..ecfd5324da9 100644 --- a/locale/pot/pgr_lineGraphFull.pot +++ b/locale/pot/pgr_lineGraphFull.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_maxCardinalityMatch.pot b/locale/pot/pgr_maxCardinalityMatch.pot index aa144f12afc..1207c099da5 100644 --- a/locale/pot/pgr_maxCardinalityMatch.pot +++ b/locale/pot/pgr_maxCardinalityMatch.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_maxFlow.pot b/locale/pot/pgr_maxFlow.pot index 57db0cc18ae..b785554de94 100644 --- a/locale/pot/pgr_maxFlow.pot +++ b/locale/pot/pgr_maxFlow.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_maxFlowMinCost.pot b/locale/pot/pgr_maxFlowMinCost.pot index 451d60d8743..cfc6040f923 100644 --- a/locale/pot/pgr_maxFlowMinCost.pot +++ b/locale/pot/pgr_maxFlowMinCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_maxFlowMinCost_Cost.pot b/locale/pot/pgr_maxFlowMinCost_Cost.pot index 0f748e0efc1..4cfa3d74e8c 100644 --- a/locale/pot/pgr_maxFlowMinCost_Cost.pot +++ b/locale/pot/pgr_maxFlowMinCost_Cost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_nodeNetwork.pot b/locale/pot/pgr_nodeNetwork.pot index 4a5f3d9cabd..aae2494fe40 100644 --- a/locale/pot/pgr_nodeNetwork.pot +++ b/locale/pot/pgr_nodeNetwork.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_pickDeliver.pot b/locale/pot/pgr_pickDeliver.pot index 1f0a6f5d70b..090dc8b7f6c 100644 --- a/locale/pot/pgr_pickDeliver.pot +++ b/locale/pot/pgr_pickDeliver.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_pickDeliverEuclidean.pot b/locale/pot/pgr_pickDeliverEuclidean.pot index 13ed537e1cc..2aff5ba561d 100644 --- a/locale/pot/pgr_pickDeliverEuclidean.pot +++ b/locale/pot/pgr_pickDeliverEuclidean.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_prim.pot b/locale/pot/pgr_prim.pot index 77f34680297..581a2ab3a73 100644 --- a/locale/pot/pgr_prim.pot +++ b/locale/pot/pgr_prim.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_primBFS.pot b/locale/pot/pgr_primBFS.pot index 7909026f0ca..86e5fcd7c8a 100644 --- a/locale/pot/pgr_primBFS.pot +++ b/locale/pot/pgr_primBFS.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_primDD.pot b/locale/pot/pgr_primDD.pot index 30cc43ab7f5..710c1639cc6 100644 --- a/locale/pot/pgr_primDD.pot +++ b/locale/pot/pgr_primDD.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_primDFS.pot b/locale/pot/pgr_primDFS.pot index d996116acf0..adf03283cb9 100644 --- a/locale/pot/pgr_primDFS.pot +++ b/locale/pot/pgr_primDFS.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_pushRelabel.pot b/locale/pot/pgr_pushRelabel.pot index 338fb350a6c..a80fc0b472d 100644 --- a/locale/pot/pgr_pushRelabel.pot +++ b/locale/pot/pgr_pushRelabel.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_stoerWagner.pot b/locale/pot/pgr_stoerWagner.pot index 6397a190ec0..d8838928eb4 100644 --- a/locale/pot/pgr_stoerWagner.pot +++ b/locale/pot/pgr_stoerWagner.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_strongComponents.pot b/locale/pot/pgr_strongComponents.pot index b1174a89236..e0aeabe2a8e 100644 --- a/locale/pot/pgr_strongComponents.pot +++ b/locale/pot/pgr_strongComponents.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_topologicalSort.pot b/locale/pot/pgr_topologicalSort.pot index ebd92122edf..d7036a91dc1 100644 --- a/locale/pot/pgr_topologicalSort.pot +++ b/locale/pot/pgr_topologicalSort.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_transitiveClosure.pot b/locale/pot/pgr_transitiveClosure.pot index 69df443c16c..b28489fe786 100644 --- a/locale/pot/pgr_transitiveClosure.pot +++ b/locale/pot/pgr_transitiveClosure.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_trsp.pot b/locale/pot/pgr_trsp.pot index 240cf7f2885..e33f4d2a8a1 100644 --- a/locale/pot/pgr_trsp.pot +++ b/locale/pot/pgr_trsp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_turnRestrictedPath.pot b/locale/pot/pgr_turnRestrictedPath.pot index a22dd7a5a3e..bda53b091be 100644 --- a/locale/pot/pgr_turnRestrictedPath.pot +++ b/locale/pot/pgr_turnRestrictedPath.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_version.pot b/locale/pot/pgr_version.pot index 4a3949c512a..51f1793f489 100644 --- a/locale/pot/pgr_version.pot +++ b/locale/pot/pgr_version.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_vrpOneDepot.pot b/locale/pot/pgr_vrpOneDepot.pot index 2d157ce36a5..4ae705e4739 100644 --- a/locale/pot/pgr_vrpOneDepot.pot +++ b/locale/pot/pgr_vrpOneDepot.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_withPoints.pot b/locale/pot/pgr_withPoints.pot index 281f700d5a9..b51ec6fcbc7 100644 --- a/locale/pot/pgr_withPoints.pot +++ b/locale/pot/pgr_withPoints.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_withPointsCost.pot b/locale/pot/pgr_withPointsCost.pot index 7f40547410c..9fd48b22f80 100644 --- a/locale/pot/pgr_withPointsCost.pot +++ b/locale/pot/pgr_withPointsCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_withPointsCostMatrix.pot b/locale/pot/pgr_withPointsCostMatrix.pot index abc64218cd5..5ee14f3bc77 100644 --- a/locale/pot/pgr_withPointsCostMatrix.pot +++ b/locale/pot/pgr_withPointsCostMatrix.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_withPointsDD.pot b/locale/pot/pgr_withPointsDD.pot index b01653f1206..c9a1013617c 100644 --- a/locale/pot/pgr_withPointsDD.pot +++ b/locale/pot/pgr_withPointsDD.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_withPointsKSP.pot b/locale/pot/pgr_withPointsKSP.pot index be231fd23f6..3f5ce564d9c 100644 --- a/locale/pot/pgr_withPointsKSP.pot +++ b/locale/pot/pgr_withPointsKSP.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/prim-family.pot b/locale/pot/prim-family.pot index 0a54c516f28..77d7a9f8f02 100644 --- a/locale/pot/prim-family.pot +++ b/locale/pot/prim-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/proposed.pot b/locale/pot/proposed.pot index 097217cb053..4bc0373cad9 100644 --- a/locale/pot/proposed.pot +++ b/locale/pot/proposed.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.2 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.2\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/release_notes.pot b/locale/pot/release_notes.pot index 39f7a4d31b8..168ee8feac3 100644 --- a/locale/pot/release_notes.pot +++ b/locale/pot/release_notes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/routingFunctions.pot b/locale/pot/routingFunctions.pot index d440deefb82..7da4e683df7 100644 --- a/locale/pot/routingFunctions.pot +++ b/locale/pot/routingFunctions.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.2 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.2\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/sampledata.pot b/locale/pot/sampledata.pot index 58584bfa43a..da99a024418 100644 --- a/locale/pot/sampledata.pot +++ b/locale/pot/sampledata.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/spanningTree-family.pot b/locale/pot/spanningTree-family.pot index 4a4534740fe..1397eca816c 100644 --- a/locale/pot/spanningTree-family.pot +++ b/locale/pot/spanningTree-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/support.pot b/locale/pot/support.pot index c3b790e04a1..8c5b8205ad1 100644 --- a/locale/pot/support.pot +++ b/locale/pot/support.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.2 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.2\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/topology-functions.pot b/locale/pot/topology-functions.pot index 53b590a0038..c65cda052ed 100644 --- a/locale/pot/topology-functions.pot +++ b/locale/pot/topology-functions.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.2 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.2\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/transformation-family.pot b/locale/pot/transformation-family.pot index d5de52f00be..951fa8c3b7e 100644 --- a/locale/pot/transformation-family.pot +++ b/locale/pot/transformation-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/withPoints-family.pot b/locale/pot/withPoints-family.pot index 12e896a4345..0446affe59c 100644 --- a/locale/pot/withPoints-family.pot +++ b/locale/pot/withPoints-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From 2a5769c445373ce85d570e168b5248cb8377338c Mon Sep 17 00:00:00 2001 From: MarPetra Date: Fri, 31 Jul 2020 20:39:51 -0500 Subject: [PATCH 0006/1360] porting English "po" files from master v3.1 to v3.2 --- locale/en/LC_MESSAGES/KSP-category.po | 20 +- locale/en/LC_MESSAGES/TSP-family.po | 107 +++---- locale/en/LC_MESSAGES/VRP-category.po | 93 +++--- locale/en/LC_MESSAGES/aStar-family.po | 45 +-- locale/en/LC_MESSAGES/allpairs-family.po | 43 +-- locale/en/LC_MESSAGES/bdAstar-family.po | 59 ++-- locale/en/LC_MESSAGES/bdDijkstra-family.po | 40 +-- .../chinesePostmanProblem-family.po | 26 +- locale/en/LC_MESSAGES/components-family.po | 46 +-- locale/en/LC_MESSAGES/contraction-family.po | 143 ++++----- locale/en/LC_MESSAGES/cost-category.po | 34 ++- locale/en/LC_MESSAGES/costMatrix-category.po | 56 ++-- locale/en/LC_MESSAGES/dijkstra-family.po | 94 +++--- .../LC_MESSAGES/drivingDistance-category.po | 26 +- locale/en/LC_MESSAGES/experimental.po | 8 +- locale/en/LC_MESSAGES/flow-family.po | 114 +++---- locale/en/LC_MESSAGES/index.po | 94 +++--- locale/en/LC_MESSAGES/kruskal-family.po | 37 +-- locale/en/LC_MESSAGES/pgRouting-concepts.po | 287 +++++++++--------- .../en/LC_MESSAGES/pgRouting-installation.po | 52 ++-- .../en/LC_MESSAGES/pgRouting-introduction.po | 105 +------ locale/en/LC_MESSAGES/pgr_KSP.po | 68 +++-- locale/en/LC_MESSAGES/pgr_TSP.po | 64 ++-- locale/en/LC_MESSAGES/pgr_TSPeuclidean.po | 71 ++--- locale/en/LC_MESSAGES/pgr_aStar.po | 67 ++-- locale/en/LC_MESSAGES/pgr_aStarCost.po | 50 +-- locale/en/LC_MESSAGES/pgr_aStarCostMatrix.po | 49 +-- locale/en/LC_MESSAGES/pgr_alphaShape.po | 48 +-- locale/en/LC_MESSAGES/pgr_analyzeGraph.po | 95 +++--- locale/en/LC_MESSAGES/pgr_analyzeOneWay.po | 113 +++---- .../en/LC_MESSAGES/pgr_articulationPoints.po | 54 ++-- locale/en/LC_MESSAGES/pgr_bdAstar.po | 85 +++--- locale/en/LC_MESSAGES/pgr_bdAstarCost.po | 44 +-- .../en/LC_MESSAGES/pgr_bdAstarCostMatrix.po | 47 +-- locale/en/LC_MESSAGES/pgr_bdDijkstra.po | 87 +++--- locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po | 54 ++-- .../LC_MESSAGES/pgr_bdDijkstraCostMatrix.po | 55 ++-- locale/en/LC_MESSAGES/pgr_bellmanFord.po | 92 +++--- .../LC_MESSAGES/pgr_biconnectedComponents.po | 58 ++-- .../pgr_binaryBreadthFirstSearch.po | 8 +- locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po | 51 ++-- .../en/LC_MESSAGES/pgr_breadthFirstSearch.po | 8 +- locale/en/LC_MESSAGES/pgr_bridges.po | 37 +-- locale/en/LC_MESSAGES/pgr_chinesePostman.po | 39 +-- .../en/LC_MESSAGES/pgr_chinesePostmanCost.po | 32 +- .../en/LC_MESSAGES/pgr_connectedComponents.po | 49 +-- locale/en/LC_MESSAGES/pgr_contraction.po | 59 ++-- locale/en/LC_MESSAGES/pgr_createTopology.po | 111 +++---- .../en/LC_MESSAGES/pgr_createVerticesTable.po | 84 ++--- locale/en/LC_MESSAGES/pgr_dagShortestPath.po | 71 ++--- locale/en/LC_MESSAGES/pgr_dijkstra.po | 109 +++---- locale/en/LC_MESSAGES/pgr_dijkstraCost.po | 75 ++--- .../en/LC_MESSAGES/pgr_dijkstraCostMatrix.po | 51 ++-- locale/en/LC_MESSAGES/pgr_dijkstraVia.po | 80 ++--- locale/en/LC_MESSAGES/pgr_drivingDistance.po | 66 ++-- .../en/LC_MESSAGES/pgr_edgeDisjointPaths.po | 72 ++--- locale/en/LC_MESSAGES/pgr_edmondsKarp.po | 51 ++-- locale/en/LC_MESSAGES/pgr_edwardMoore.po | 8 +- locale/en/LC_MESSAGES/pgr_extractVertices.po | 54 ++-- locale/en/LC_MESSAGES/pgr_floydWarshall.po | 64 ++-- locale/en/LC_MESSAGES/pgr_full_version.po | 18 +- locale/en/LC_MESSAGES/pgr_johnson.po | 65 ++-- locale/en/LC_MESSAGES/pgr_kruskal.po | 39 +-- locale/en/LC_MESSAGES/pgr_kruskalBFS.po | 43 +-- locale/en/LC_MESSAGES/pgr_kruskalDD.po | 49 +-- locale/en/LC_MESSAGES/pgr_kruskalDFS.po | 47 +-- locale/en/LC_MESSAGES/pgr_lineGraph.po | 41 +-- locale/en/LC_MESSAGES/pgr_lineGraphFull.po | 124 ++++---- .../en/LC_MESSAGES/pgr_maxCardinalityMatch.po | 39 +-- locale/en/LC_MESSAGES/pgr_maxFlow.po | 44 +-- locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po | 44 +-- .../en/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po | 42 +-- locale/en/LC_MESSAGES/pgr_nodeNetwork.po | 110 +++---- locale/en/LC_MESSAGES/pgr_pickDeliver.po | 50 ++- .../LC_MESSAGES/pgr_pickDeliverEuclidean.po | 59 ++-- locale/en/LC_MESSAGES/pgr_prim.po | 34 ++- locale/en/LC_MESSAGES/pgr_primBFS.po | 43 +-- locale/en/LC_MESSAGES/pgr_primDD.po | 49 +-- locale/en/LC_MESSAGES/pgr_primDFS.po | 47 +-- locale/en/LC_MESSAGES/pgr_pushRelabel.po | 54 ++-- locale/en/LC_MESSAGES/pgr_stoerWagner.po | 57 ++-- locale/en/LC_MESSAGES/pgr_strongComponents.po | 49 +-- locale/en/LC_MESSAGES/pgr_topologicalSort.po | 44 +-- .../en/LC_MESSAGES/pgr_transitiveClosure.po | 31 +- locale/en/LC_MESSAGES/pgr_trsp.po | 172 ++++++----- .../en/LC_MESSAGES/pgr_turnRestrictedPath.po | 15 +- locale/en/LC_MESSAGES/pgr_version.po | 34 ++- locale/en/LC_MESSAGES/pgr_vrpOneDepot.po | 30 +- locale/en/LC_MESSAGES/pgr_withPoints.po | 103 ++++--- locale/en/LC_MESSAGES/pgr_withPointsCost.po | 92 +++--- .../LC_MESSAGES/pgr_withPointsCostMatrix.po | 76 ++--- locale/en/LC_MESSAGES/pgr_withPointsDD.po | 92 +++--- locale/en/LC_MESSAGES/pgr_withPointsKSP.po | 95 +++--- locale/en/LC_MESSAGES/prim-family.po | 53 ++-- locale/en/LC_MESSAGES/proposed.po | 8 +- locale/en/LC_MESSAGES/release_notes.po | 266 ++++++++-------- locale/en/LC_MESSAGES/routingFunctions.po | 8 +- locale/en/LC_MESSAGES/sampledata.po | 31 +- locale/en/LC_MESSAGES/spanningTree-family.po | 23 +- locale/en/LC_MESSAGES/support.po | 33 +- locale/en/LC_MESSAGES/topology-functions.po | 8 +- .../en/LC_MESSAGES/transformation-family.po | 30 +- locale/en/LC_MESSAGES/withPoints-family.po | 71 ++--- 103 files changed, 3248 insertions(+), 3123 deletions(-) diff --git a/locale/en/LC_MESSAGES/KSP-category.po b/locale/en/LC_MESSAGES/KSP-category.po index 4e37d1af938..e263b13b1c2 100644 --- a/locale/en/LC_MESSAGES/KSP-category.po +++ b/locale/en/LC_MESSAGES/KSP-category.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -75,16 +75,17 @@ msgstr "" #: ../../build/doc/KSP-category.rst:34 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/KSP-category.rst:39 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__" +"category.html>`__ `2.4 `__" msgstr "" #: ../../build/doc/KSP-category.rst:44 @@ -98,3 +99,4 @@ msgstr "" #: ../../build/doc/KSP-category.rst:46 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/TSP-family.po b/locale/en/LC_MESSAGES/TSP-family.po index 0674dbbab20..1676da9cafd 100644 --- a/locale/en/LC_MESSAGES/TSP-family.po +++ b/locale/en/LC_MESSAGES/TSP-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -35,15 +35,17 @@ msgstr "" #: ../../build/doc/TSP-family.rst:28 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ " -"`2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/TSP-family.rst:33 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 " +"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 " "`__" msgstr "" @@ -61,15 +63,15 @@ msgstr "" #: ../../build/doc/TSP-family.rst:50 msgid "" -"The travelling salesman problem (TSP) or travelling salesperson problem asks " -"the following question:" +"The travelling salesman problem (TSP) or travelling salesperson problem " +"asks the following question:" msgstr "" #: ../../build/doc/TSP-family.rst:53 msgid "" -"*Given a list of cities and the distances between each pair of cities, which " -"is the shortest possible route that visits each city exactly once and " -"returns to the origin city?*" +"*Given a list of cities and the distances between each pair of cities, " +"which is the shortest possible route that visits each city exactly once " +"and returns to the origin city?*" msgstr "" #: ../../build/doc/TSP-family.rst:59 @@ -88,8 +90,8 @@ msgstr "" #: ../../build/doc/TSP-family.rst:64 msgid "" -"A discussion about the work of Hamilton & Kirkman can be found in the book " -"**Graph Theory (Biggs et al. 1976)**." +"A discussion about the work of Hamilton & Kirkman can be found in the " +"book **Graph Theory (Biggs et al. 1976)**." msgstr "" #: ../../build/doc/TSP-family.rst:67 @@ -102,12 +104,12 @@ msgstr "" #: ../../build/doc/TSP-family.rst:70 msgid "" -"It is believed that the general form of the TSP have been first studied by " -"Kalr Menger in Vienna and Harvard. The problem was later promoted by " -"Hassler, Whitney & Merrill at Princeton. A detailed description about the " -"connection between Menger & Whitney, and the development of the TSP can be " -"found in `On the history of combinatorial optimization (till 1960) `__" +"It is believed that the general form of the TSP have been first studied " +"by Kalr Menger in Vienna and Harvard. The problem was later promoted by " +"Hassler, Whitney & Merrill at Princeton. A detailed description about the" +" connection between Menger & Whitney, and the development of the TSP can " +"be found in `On the history of combinatorial optimization (till 1960) " +"`__" msgstr "" #: ../../build/doc/TSP-family.rst:76 @@ -120,8 +122,8 @@ msgstr "" #: ../../build/doc/TSP-family.rst:80 msgid "" -"traveling costs from city A to city B are just as much as traveling from B " -"to A." +"traveling costs from city A to city B are just as much as traveling from " +"B to A." msgstr "" #: ../../build/doc/TSP-family.rst:82 @@ -150,8 +152,8 @@ msgstr "" #: ../../build/doc/TSP-family.rst:90 msgid "" -"Now since our travel costs do not depend on the direction we take around the " -"tour:" +"Now since our travel costs do not depend on the direction we take around " +"the tour:" msgstr "" #: ../../build/doc/TSP-family.rst:92 @@ -168,16 +170,16 @@ msgstr "" #: ../../build/doc/TSP-family.rst:100 msgid "" -"The simulated annealing algorithm was originally inspired from the process " -"of annealing in metal work." +"The simulated annealing algorithm was originally inspired from the " +"process of annealing in metal work." msgstr "" #: ../../build/doc/TSP-family.rst:103 msgid "" "Annealing involves heating and cooling a material to alter its physical " -"properties due to the changes in its internal structure. As the metal cools " -"its new structure becomes fixed, consequently causing the metal to retain " -"its newly obtained properties." +"properties due to the changes in its internal structure. As the metal " +"cools its new structure becomes fixed, consequently causing the metal to " +"retain its newly obtained properties." msgstr "" #: ../../build/doc/TSP-family.rst:110 @@ -186,9 +188,9 @@ msgstr "" #: ../../build/doc/TSP-family.rst:111 msgid "" -"Given an initial solution, the simulated annealing process, will start with " -"a high temperature and gradually cool down until the desired temperature is " -"reached." +"Given an initial solution, the simulated annealing process, will start " +"with a high temperature and gradually cool down until the desired " +"temperature is reached." msgstr "" #: ../../build/doc/TSP-family.rst:114 @@ -200,7 +202,8 @@ msgstr "" #: ../../build/doc/TSP-family.rst:117 msgid "" -"Once the desired temperature is reached, the best solution found is returned" +"Once the desired temperature is reached, the best solution found is " +"returned" msgstr "" #: ../../build/doc/TSP-family.rst:140 @@ -267,8 +270,8 @@ msgstr "" #: ../../build/doc/TSP-family.rst:194 msgid "" -"Make the **tries_per_temperture** depending on the number of cities (:math:" -"`n`), for example:" +"Make the **tries_per_temperture** depending on the number of cities " +"(:math:`n`), for example:" msgstr "" #: ../../build/doc/TSP-family.rst:196 @@ -289,14 +292,14 @@ msgstr "" #: ../../build/doc/TSP-family.rst:203 msgid "" -"For a faster decreasing the temperature set **cooling_factor** to a smaller " -"number, and set to a higher number for a slower decrease." +"For a faster decreasing the temperature set **cooling_factor** to a " +"smaller number, and set to a higher number for a slower decrease." msgstr "" #: ../../build/doc/TSP-family.rst:206 msgid "" -"When for the same given data the same results are needed, set **randomize** " -"to `false`." +"When for the same given data the same results are needed, set " +"**randomize** to `false`." msgstr "" #: ../../build/doc/TSP-family.rst:208 @@ -475,8 +478,8 @@ msgstr "" #: ../../build/doc/TSP-family.rst:236 msgid "" -"false: Use `1` as seed. Using this value will get the same results with the " -"same data in each execution." +"false: Use `1` as seed. Using this value will get the same results with " +"the same data in each execution." msgstr "" #: ../../build/doc/TSP-family.rst:245 @@ -513,8 +516,8 @@ msgstr "" #: ../../build/doc/TSP-family.rst:257 msgid "" -"Cost to traverse from the current ``node`` to the next ``node`` in the path " -"sequence." +"Cost to traverse from the current ``node`` to the next ``node`` in the " +"path sequence." msgstr "" #: ../../build/doc/TSP-family.rst:257 @@ -543,20 +546,21 @@ msgstr "" #: ../../build/doc/TSP-family.rst:271 msgid "" -"`Simulated annaeling algorithm for beginners `__" +"`Simulated annaeling algorithm for beginners " +"`__" msgstr "" #: ../../build/doc/TSP-family.rst:272 msgid "" -"`Wikipedia: Traveling Salesman Problem `__" +"`Wikipedia: Traveling Salesman Problem " +"`__" msgstr "" #: ../../build/doc/TSP-family.rst:273 msgid "" -"`Wikipedia: Simulated annealing `__" +"`Wikipedia: Simulated annealing " +"`__" msgstr "" #: ../../build/doc/TSP-family.rst:276 @@ -570,3 +574,4 @@ msgstr "" #: ../../build/doc/TSP-family.rst:278 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/VRP-category.po b/locale/en/LC_MESSAGES/VRP-category.po index bcc89412f58..4fac998d9f5 100644 --- a/locale/en/LC_MESSAGES/VRP-category.po +++ b/locale/en/LC_MESSAGES/VRP-category.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -99,7 +99,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:22 msgid "" -":doc:`pgr_pickDeliverEuclidean` - Pickup & Delivery with Euclidean distances" +":doc:`pgr_pickDeliverEuclidean` - Pickup & Delivery with Euclidean " +"distances" msgstr "" #: ../../build/doc/VRP-category.rst:24 @@ -120,9 +121,9 @@ msgstr "" #: ../../build/doc/VRP-category.rst:41 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" #: ../../build/doc/VRP-category.rst:47 @@ -153,21 +154,21 @@ msgstr "" #: ../../build/doc/VRP-category.rst:60 msgid "" -"Capacitated Vehicle Routing Problem `CVRP` where The vehicles have limited " -"carrying capacity of the goods." +"Capacitated Vehicle Routing Problem `CVRP` where The vehicles have " +"limited carrying capacity of the goods." msgstr "" #: ../../build/doc/VRP-category.rst:61 msgid "" -"Vehicle Routing Problem with Time Windows `VRPTW` where the locations have " -"time windows within which the vehicle's visits must be made." +"Vehicle Routing Problem with Time Windows `VRPTW` where the locations " +"have time windows within which the vehicle's visits must be made." msgstr "" #: ../../build/doc/VRP-category.rst:62 msgid "" -"Vehicle Routing Problem with Pickup and Delivery `VRPPD` where a number of " -"goods need to be moved from certain pickup locations to other delivery " -"locations." +"Vehicle Routing Problem with Pickup and Delivery `VRPPD` where a number " +"of goods need to be moved from certain pickup locations to other delivery" +" locations." msgstr "" #: ../../build/doc/VRP-category.rst:66 @@ -196,8 +197,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:76 msgid "" -"Problem: `CVRPPDTW` Capacitated Pick and Delivery Vehicle Routing problem " -"with Time Windows" +"Problem: `CVRPPDTW` Capacitated Pick and Delivery Vehicle Routing problem" +" with Time Windows" msgstr "" #: ../../build/doc/VRP-category.rst:78 @@ -313,8 +314,7 @@ msgid "``TEXT``" msgstr "" #: ../../build/doc/VRP-category.rst:116 -msgid "" -"`Pick & Deliver Orders SQL`_ query containing the orders to be processed." +msgid "`Pick & Deliver Orders SQL`_ query containing the orders to be processed." msgstr "" #: ../../build/doc/VRP-category.rst:117 @@ -322,8 +322,7 @@ msgid "**vehicles_sql**" msgstr "" #: ../../build/doc/VRP-category.rst:117 -msgid "" -"`Pick & Deliver Vehicles SQL`_ query containing the vehicles to be used." +msgid "`Pick & Deliver Vehicles SQL`_ query containing the vehicles to be used." msgstr "" #: ../../build/doc/VRP-category.rst:118 @@ -387,13 +386,11 @@ msgid "``4`` Optimize insert." msgstr "" #: ../../build/doc/VRP-category.rst:126 -msgid "" -"``5`` Push back order that allows more orders to be inserted at the back" +msgid "``5`` Push back order that allows more orders to be inserted at the back" msgstr "" #: ../../build/doc/VRP-category.rst:127 -msgid "" -"``6`` Push front order that allows more orders to be inserted at the front" +msgid "``6`` Push front order that allows more orders to be inserted at the front" msgstr "" #: ../../build/doc/VRP-category.rst:132 @@ -406,7 +403,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:137 msgid "" -"`Pick & Deliver Matrix SQL`_ query containing the distance or travel times." +"`Pick & Deliver Matrix SQL`_ query containing the distance or travel " +"times." msgstr "" #: ../../build/doc/VRP-category.rst:142 @@ -537,8 +535,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:183 ../../build/doc/VRP-category.rst:246 msgid "" -"For the non euclidean implementation, the starting and ending identifiers " -"are needed:" +"For the non euclidean implementation, the starting and ending identifiers" +" are needed:" msgstr "" #: ../../build/doc/VRP-category.rst:188 @@ -695,8 +693,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:251 msgid "" -"The node identifier of the starting location, must match a node identifier " -"in the matrix table." +"The node identifier of the starting location, must match a node " +"identifier in the matrix table." msgstr "" #: ../../build/doc/VRP-category.rst:252 @@ -709,8 +707,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:252 msgid "" -"The node identifier of the ending location, must match a node identifier in " -"the matrix table." +"The node identifier of the ending location, must match a node identifier " +"in the matrix table." msgstr "" #: ../../build/doc/VRP-category.rst:259 @@ -802,8 +800,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:21 ../../build/doc/VRP-category.rst:320 msgid "" -"Sequential value starting from **1** for current vehicles. The :math:`n_{th}" -"` vehicle in the solution." +"Sequential value starting from **1** for current vehicles. The " +":math:`n_{th}` vehicle in the solution." msgstr "" #: ../../build/doc/VRP-category.rst:22 ../../build/doc/VRP-category.rst:58 @@ -945,8 +943,7 @@ msgid ":math:`arrival\\_time + wait\\_time + service\\_time`." msgstr "" #: ../../build/doc/VRP-category.rst:46 ../../build/doc/VRP-category.rst:345 -msgid "" -"When ``stop_type = 6`` has the `total_time` used for the current vehicle." +msgid "When ``stop_type = 6`` has the `total_time` used for the current vehicle." msgstr "" #: ../../build/doc/VRP-category.rst:50 ../../build/doc/VRP-category.rst:349 @@ -994,8 +991,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:67 ../../build/doc/VRP-category.rst:366 msgid "" -"`total_solution_time` = :math:`total\\_travel\\_time + total\\_wait\\_time + " -"total\\_service\\_time`." +"`total_solution_time` = :math:`total\\_travel\\_time + " +"total\\_wait\\_time + total\\_service\\_time`." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 @@ -1025,8 +1022,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:391 msgid "" "To define a problem, several considerations have to be done, to get " -"consistent results. This section gives an insight of how parameters are to " -"be considered." +"consistent results. This section gives an insight of how parameters are " +"to be considered." msgstr "" #: ../../build/doc/VRP-category.rst:394 @@ -1075,20 +1072,20 @@ msgstr "" #: ../../build/doc/VRP-category.rst:411 msgid "" -"The `demand` request of the pickup-deliver orders must use the same units as " -"the units used in the vehicle's `capacity`." +"The `demand` request of the pickup-deliver orders must use the same units" +" as the units used in the vehicle's `capacity`." msgstr "" #: ../../build/doc/VRP-category.rst:413 msgid "" -"To handle problems like: 10 (equal dimension) boxes of apples and 5 kg of " -"feathers that are to be transported (not packed in boxes)." +"To handle problems like: 10 (equal dimension) boxes of apples and 5 kg " +"of feathers that are to be transported (not packed in boxes)." msgstr "" #: ../../build/doc/VRP-category.rst:415 msgid "" -"If the vehicle's `capacity` is measured by `boxes`, a conversion of `kg of " -"feathers` to `equivalent number of boxes` is needed. If the vehicle's " +"If the vehicle's `capacity` is measured by `boxes`, a conversion of `kg " +"of feathers` to `equivalent number of boxes` is needed. If the vehicle's " "`capacity` is measured by `kg`, a conversion of `box of apples` to " "`equivalent number of kg` is needed." msgstr "" @@ -1178,7 +1175,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:453 msgid "" "Suppose that a vehicle's driver starts the shift at 9:00 am and ends the " -"shift at 4:30 pm and the service time duration is 10 minutes with 30 seconds." +"shift at 4:30 pm and the service time duration is 10 minutes with 30 " +"seconds." msgstr "" #: ../../build/doc/VRP-category.rst:456 @@ -1277,3 +1275,4 @@ msgstr "" #: ../../build/doc/VRP-category.rst:486 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/aStar-family.po b/locale/en/LC_MESSAGES/aStar-family.po index 7355a152f65..1abe1be8879 100644 --- a/locale/en/LC_MESSAGES/aStar-family.po +++ b/locale/en/LC_MESSAGES/aStar-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/aStar-family.rst:13 msgid "" -"The A* (pronounced \"A Star\") algorithm is based on Dijkstra's algorithm " -"with a heuristic that allow it to solve most shortest path problems by " +"The A* (pronounced \"A Star\") algorithm is based on Dijkstra's algorithm" +" with a heuristic that allow it to solve most shortest path problems by " "evaluation only a sub-set of the overall graph." msgstr "" @@ -46,15 +46,17 @@ msgstr "" #: ../../build/doc/aStar-family.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/aStar-family.rst:37 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__" +"family.html>`__ `2.4 `__" msgstr "" #: ../../build/doc/aStar-family.rst:42 @@ -139,11 +141,11 @@ msgstr "" #: ../../build/doc/aStar-family.rst:83 msgid "" -"The A* (pronounced \"A Star\") algorithm is based on Dijkstra's algorithm " -"with a heuristic, that is an estimation of the remaining cost from the " +"The A* (pronounced \"A Star\") algorithm is based on Dijkstra's algorithm" +" with a heuristic, that is an estimation of the remaining cost from the " "vertex to the goal, that allows to solve most shortest path problems by " -"evaluation only a sub-set of the overall graph. Running time: :math:`O((E + " -"V) * \\log V)`" +"evaluation only a sub-set of the overall graph. Running time: :math:`O((E" +" + V) * \\log V)`" msgstr "" #: ../../build/doc/aStar-family.rst:93 @@ -193,8 +195,8 @@ msgstr "" #: ../../build/doc/aStar-family.rst:114 msgid "" -"Working with cost/reverse_cost as length in degrees, x/y in lat/lon: Factor " -"= 1 (no need to change units)" +"Working with cost/reverse_cost as length in degrees, x/y in lat/lon: " +"Factor = 1 (no need to change units)" msgstr "" #: ../../build/doc/aStar-family.rst:118 @@ -203,8 +205,8 @@ msgstr "" #: ../../build/doc/aStar-family.rst:119 msgid "" -"Working with cost/reverse_cost as length in meters, x/y in lat/lon: Factor " -"= would depend on the location of the points:" +"Working with cost/reverse_cost as length in meters, x/y in lat/lon: " +"Factor = would depend on the location of the points:" msgstr "" #: ../../build/doc/aStar-family.rst:123 ../../build/doc/aStar-family.rst:136 @@ -245,9 +247,9 @@ msgstr "" #: ../../build/doc/aStar-family.rst:131 msgid "" -"Working with cost/reverse_cost as time in seconds, x/y in lat/lon: Factor: " -"would depend on the location of the points and on the average speed say 25m/" -"s is the speed." +"Working with cost/reverse_cost as time in seconds, x/y in lat/lon: " +"Factor: would depend on the location of the points and on the average " +"speed say 25m/s is the speed." msgstr "" #: ../../build/doc/aStar-family.rst:138 @@ -301,3 +303,4 @@ msgstr "" #: ../../build/doc/aStar-family.rst:156 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/allpairs-family.po b/locale/en/LC_MESSAGES/allpairs-family.po index cc32a1277a0..d7d102c985d 100644 --- a/locale/en/LC_MESSAGES/allpairs-family.po +++ b/locale/en/LC_MESSAGES/allpairs-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -39,19 +39,20 @@ msgstr "" #: ../../build/doc/allpairs-family.rst:30 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/allpairs-family.rst:35 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" +"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 " +"`__ " +"`2.2 " +"`__" msgstr "" #: ../../build/doc/allpairs-family.rst:44 @@ -109,8 +110,8 @@ msgstr "" #: ../../build/doc/allpairs-family.rst:81 msgid "" "This test is not with a bounding box The density of the passed graph is " -"extremely low. For each 30 tests were executed to get the average The " -"tested query is:" +"extremely low. For each 30 tests were executed to get the average " +"The tested query is:" msgstr "" #: ../../build/doc/allpairs-family.rst:94 @@ -581,9 +582,9 @@ msgstr "" #: ../../build/doc/allpairs-family.rst:132 msgid "" -"This test is with a bounding box The density of the passed graph higher than " -"of the Test One. For each 30 tests were executed to get the average " -"The tested edge query is:" +"This test is with a bounding box The density of the passed graph higher " +"than of the Test One. For each 30 tests were executed to get the " +"average The tested edge query is:" msgstr "" #: ../../build/doc/allpairs-family.rst:144 @@ -993,8 +994,9 @@ msgstr "" #: ../../build/doc/allpairs-family.rst:189 msgid "" -"`Boost floyd-Warshall `_ algorithm" +"`Boost floyd-Warshall " +"`_ " +"algorithm" msgstr "" #: ../../build/doc/allpairs-family.rst:192 @@ -1008,3 +1010,4 @@ msgstr "" #: ../../build/doc/allpairs-family.rst:194 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/bdAstar-family.po b/locale/en/LC_MESSAGES/bdAstar-family.po index c4e0da90344..2f3567b5a66 100644 --- a/locale/en/LC_MESSAGES/bdAstar-family.po +++ b/locale/en/LC_MESSAGES/bdAstar-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -27,8 +27,8 @@ msgstr "" #: ../../build/doc/bdAstar-family.rst:16 msgid "" -":doc:`pgr_bdAstarCost` - Bidirectional A* algorithm to calculate the cost of " -"the paths." +":doc:`pgr_bdAstarCost` - Bidirectional A* algorithm to calculate the cost" +" of the paths." msgstr "" #: ../../build/doc/bdAstar-family.rst:17 @@ -43,16 +43,16 @@ msgstr "" #: ../../build/doc/bdAstar-family.rst:30 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/bdAstar-family.rst:35 msgid "" -"**Unsupported versions:** `2.5 `__" +"**Unsupported versions:** `2.5 `__" msgstr "" #: ../../build/doc/bdAstar-family.rst:39 ../../build/doc/bdAstar-family.rst:78 @@ -62,12 +62,12 @@ msgstr "" #: ../../build/doc/bdAstar-family.rst:41 msgid "" -"Based on A* algorithm, the bidirectional search finds a shortest path from a " -"starting vertex (``start_vid``) to an ending vertex (``end_vid``). It runs " -"two simultaneous searches: one forward from the ``start_vid``, and one " -"backward from the ``end_vid``, stopping when the two meet in the middle. " -"This implementation can be used with a directed graph and an undirected " -"graph." +"Based on A* algorithm, the bidirectional search finds a shortest path " +"from a starting vertex (``start_vid``) to an ending vertex (``end_vid``)." +" It runs two simultaneous searches: one forward from the ``start_vid``, " +"and one backward from the ``end_vid``, stopping when the two meet in the " +"middle. This implementation can be used with a directed graph and an " +"undirected graph." msgstr "" #: ../../build/doc/bdAstar-family.rst:47 @@ -83,8 +83,7 @@ msgid "Values are returned when there is a path." msgstr "" #: ../../build/doc/bdAstar-family.rst:52 -msgid "" -"When the starting vertex and ending vertex are the same, there is no path." +msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" #: ../../build/doc/bdAstar-family.rst:54 @@ -93,8 +92,8 @@ msgstr "" #: ../../build/doc/bdAstar-family.rst:56 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path:" +"When the starting vertex and ending vertex are the different and there is" +" no path:" msgstr "" #: ../../build/doc/bdAstar-family.rst:58 @@ -125,7 +124,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 @@ -191,8 +191,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -209,8 +209,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:17 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -387,8 +387,8 @@ msgstr "" #: ../../build/doc/bdAstar-family.rst:99 msgid "" -"(optional). For units manipulation. :math:`factor > 0`. Default ``1``. see :" -"ref:`astar_factor`" +"(optional). For units manipulation. :math:`factor > 0`. Default ``1``. " +"see :ref:`astar_factor`" msgstr "" #: ../../build/doc/bdAstar-family.rst:100 @@ -416,3 +416,4 @@ msgstr "" #: ../../build/doc/bdAstar-family.rst:111 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/bdDijkstra-family.po b/locale/en/LC_MESSAGES/bdDijkstra-family.po index 9be597cc462..d261c1dc635 100644 --- a/locale/en/LC_MESSAGES/bdDijkstra-family.po +++ b/locale/en/LC_MESSAGES/bdDijkstra-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,14 +23,14 @@ msgstr "" #: ../../build/doc/bdDijkstra-family.rst:15 msgid "" -":doc:`pgr_bdDijkstra` - Bidirectional Dijkstra algorithm for the shortest " -"paths." +":doc:`pgr_bdDijkstra` - Bidirectional Dijkstra algorithm for the shortest" +" paths." msgstr "" #: ../../build/doc/bdDijkstra-family.rst:16 msgid "" -":doc:`pgr_bdDijkstraCost` - Bidirectional Dijkstra to calculate the cost of " -"the shortest paths" +":doc:`pgr_bdDijkstraCost` - Bidirectional Dijkstra to calculate the cost " +"of the shortest paths" msgstr "" #: ../../build/doc/bdDijkstra-family.rst:17 @@ -45,16 +45,16 @@ msgstr "" #: ../../build/doc/bdDijkstra-family.rst:30 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/bdDijkstra-family.rst:35 msgid "" -"**Unsupported versions:** `2.5 `__" +"**Unsupported versions:** `2.5 `__" msgstr "" #: ../../build/doc/bdDijkstra-family.rst:40 @@ -64,8 +64,8 @@ msgstr "" #: ../../build/doc/bdDijkstra-family.rst:42 msgid "" "Based on Dijkstra's algorithm, the bidirectional search finds a shortest " -"path a starting vertex (``start_vid``) to an ending vertex (``end_vid``). It " -"runs two simultaneous searches: one forward from the source, and one " +"path a starting vertex (``start_vid``) to an ending vertex (``end_vid``)." +" It runs two simultaneous searches: one forward from the source, and one " "backward from the target, stopping when the two meet in the middle. This " "implementation can be used with a directed graph and an undirected graph." msgstr "" @@ -87,8 +87,7 @@ msgid "Values are returned when there is a path." msgstr "" #: ../../build/doc/bdDijkstra-family.rst:59 -msgid "" -"When the starting vertex and ending vertex are the same, there is no path." +msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" #: ../../build/doc/bdDijkstra-family.rst:61 @@ -97,8 +96,8 @@ msgstr "" #: ../../build/doc/bdDijkstra-family.rst:63 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path:" +"When the starting vertex and ending vertex are the different and there is" +" no path:" msgstr "" #: ../../build/doc/bdDijkstra-family.rst:65 @@ -134,3 +133,4 @@ msgstr "" #: ../../build/doc/bdDijkstra-family.rst:80 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/chinesePostmanProblem-family.po b/locale/en/LC_MESSAGES/chinesePostmanProblem-family.po index e03587df2a4..a11a17a13e2 100644 --- a/locale/en/LC_MESSAGES/chinesePostmanProblem-family.po +++ b/locale/en/LC_MESSAGES/chinesePostmanProblem-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -103,9 +103,9 @@ msgstr "" #: ../../build/doc/chinesePostmanProblem-family.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 `__) `3.0 " +"`__" msgstr "" #: ../../build/doc/chinesePostmanProblem-family.rst:38 @@ -167,7 +167,8 @@ msgstr "" #: ../../build/doc/chinesePostmanProblem-family.rst:69 msgid "" -"An Edges SQL that represents a **directed** graph with the following columns" +"An Edges SQL that represents a **directed** graph with the following " +"columns" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 @@ -215,8 +216,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -233,8 +234,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -272,3 +273,4 @@ msgstr "" #: ../../build/doc/chinesePostmanProblem-family.rst:83 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/components-family.po b/locale/en/LC_MESSAGES/components-family.po index 0abf495b389..9296c317e5e 100644 --- a/locale/en/LC_MESSAGES/components-family.po +++ b/locale/en/LC_MESSAGES/components-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,24 +23,26 @@ msgstr "" #: ../../build/doc/components-family.rst:16 msgid "" -":doc:`pgr_connectedComponents` - Connected components of an undirected graph." +":doc:`pgr_connectedComponents` - Connected components of an undirected " +"graph." msgstr "" #: ../../build/doc/components-family.rst:17 msgid "" -":doc:`pgr_strongComponents` - Strongly connected components of a directed " -"graph." +":doc:`pgr_strongComponents` - Strongly connected components of a directed" +" graph." msgstr "" #: ../../build/doc/components-family.rst:18 msgid "" -":doc:`pgr_biconnectedComponents` - Biconnected components of an undirected " -"graph." +":doc:`pgr_biconnectedComponents` - Biconnected components of an " +"undirected graph." msgstr "" #: ../../build/doc/components-family.rst:19 msgid "" -":doc:`pgr_articulationPoints` - Articulation points of an undirected graph." +":doc:`pgr_articulationPoints` - Articulation points of an undirected " +"graph." msgstr "" #: ../../build/doc/components-family.rst:20 @@ -53,16 +55,16 @@ msgstr "" #: ../../build/doc/components-family.rst:36 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/components-family.rst:41 msgid "" -"**Unsupported versions:** `2.5 `__" +"**Unsupported versions:** `2.5 `__" msgstr "" #: ../../build/doc/components-family.rst:46 @@ -117,8 +119,7 @@ msgid "Edges SQL" msgstr "" #: ../../build/doc/components-family.rst:61 -msgid "" -"an SQL query which should return a set of rows with the following columns:" +msgid "an SQL query which should return a set of rows with the following columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -175,8 +176,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -193,8 +194,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -328,3 +329,4 @@ msgstr "" #: ../../build/doc/components-family.rst:106 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/contraction-family.po b/locale/en/LC_MESSAGES/contraction-family.po index 4f324737540..6705043b5dc 100644 --- a/locale/en/LC_MESSAGES/contraction-family.po +++ b/locale/en/LC_MESSAGES/contraction-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -31,19 +31,20 @@ msgstr "" #: ../../build/doc/contraction-family.rst:27 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/contraction-family.rst:32 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" +"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 " +"`__" +" `2.2 " +"`__" msgstr "" #: ../../build/doc/contraction-family.rst:40 @@ -85,8 +86,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:57 msgid "" -"Decide the order of the contraction algorithms and set the maximum number of " -"times they are to be executed." +"Decide the order of the contraction algorithms and set the maximum number" +" of times they are to be executed." msgstr "" #: ../../build/doc/contraction-family.rst:62 @@ -99,7 +100,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:67 msgid "" -"In case of an undirected graph, a node is considered a `dead end` node when" +"In case of an undirected graph, a node is considered a `dead end` node " +"when" msgstr "" #: ../../build/doc/contraction-family.rst:69 @@ -108,8 +110,7 @@ msgid "`The number of adjacent vertices is 1.`_" msgstr "" #: ../../build/doc/contraction-family.rst:71 -msgid "" -"In case of a directed graph, a node is considered a `dead end` node when" +msgid "In case of a directed graph, a node is considered a `dead end` node when" msgstr "" #: ../../build/doc/contraction-family.rst:75 @@ -122,8 +123,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:79 msgid "" -"When the conditions are true then the `Operation: Dead End Contraction`_ can " -"be done." +"When the conditions are true then the `Operation: Dead End Contraction`_ " +"can be done." msgstr "" #: ../../build/doc/contraction-family.rst:82 @@ -171,8 +172,9 @@ msgstr "" #: ../../build/doc/contraction-family.rst:168 msgid "" -"The dead end contraction will stop until there are no more dead end nodes. " -"For example from the following graph where ``w`` is the `dead end`_ node:" +"The dead end contraction will stop until there are no more dead end " +"nodes. For example from the following graph where ``w`` is the `dead " +"end`_ node:" msgstr "" #: ../../build/doc/contraction-family.rst:184 @@ -183,8 +185,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:198 msgid "" -"After contracting ``v``, stop. Node ``u`` has the information of nodes that " -"were contrcted." +"After contracting ``v``, stop. Node ``u`` has the information of nodes " +"that were contrcted." msgstr "" #: ../../build/doc/contraction-family.rst:210 @@ -200,8 +202,7 @@ msgid "Linear" msgstr "" #: ../../build/doc/contraction-family.rst:220 -msgid "" -"In case of an undirected graph, a node is considered a `linear` node when" +msgid "In case of an undirected graph, a node is considered a `linear` node when" msgstr "" #: ../../build/doc/contraction-family.rst:222 @@ -239,8 +240,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:269 msgid "" -"Using a contra example, vertex ``v`` is not linear because it's not possible " -"to go from ``w`` to ``u`` via ``v``." +"Using a contra example, vertex ``v`` is not linear because it's not " +"possible to go from ``w`` to ``u`` via ``v``." msgstr "" #: ../../build/doc/contraction-family.rst:284 @@ -249,8 +250,9 @@ msgstr "" #: ../../build/doc/contraction-family.rst:286 msgid "" -"The linear contraction will stop until there are no more linear nodes. For " -"example from the following graph where ``v`` and ``w`` are `linear`_ nodes:" +"The linear contraction will stop until there are no more linear nodes. " +"For example from the following graph where ``v`` and ``w`` are `linear`_ " +"nodes:" msgstr "" #: ../../build/doc/contraction-family.rst:301 @@ -263,13 +265,14 @@ msgstr "" #: ../../build/doc/contraction-family.rst:305 msgid "" -"The edges :math:`v \\rightarrow w` and :math:`w \\rightarrow z` are removed " -"from the graph." +"The edges :math:`v \\rightarrow w` and :math:`w \\rightarrow z` are " +"removed from the graph." msgstr "" #: ../../build/doc/contraction-family.rst:307 msgid "" -"A new edge :math:`v \\rightarrow z` is inserted represented with red color." +"A new edge :math:`v \\rightarrow z` is inserted represented with red " +"color." msgstr "" #: ../../build/doc/contraction-family.rst:322 @@ -282,13 +285,14 @@ msgstr "" #: ../../build/doc/contraction-family.rst:326 msgid "" -"The edges :math:`u \\rightarrow v` and :math:`v \\rightarrow z` are removed " -"from the graph." +"The edges :math:`u \\rightarrow v` and :math:`v \\rightarrow z` are " +"removed from the graph." msgstr "" #: ../../build/doc/contraction-family.rst:328 msgid "" -"A new edge :math:`u \\rightarrow z` is inserted represented with red color." +"A new edge :math:`u \\rightarrow z` is inserted represented with red " +"color." msgstr "" #: ../../build/doc/contraction-family.rst:342 @@ -303,10 +307,10 @@ msgstr "" #: ../../build/doc/contraction-family.rst:348 msgid "" -"Contracting a graph, can be done with more than one operation. The order of " -"the operations affect the resulting contracted graph, after applying one " -"operation, the set of vertices that can be contracted by another operation " -"changes." +"Contracting a graph, can be done with more than one operation. The order " +"of the operations affect the resulting contracted graph, after applying " +"one operation, the set of vertices that can be contracted by another " +"operation changes." msgstr "" #: ../../build/doc/contraction-family.rst:353 @@ -363,8 +367,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:398 msgid "" -"Observe that vertices, for example, :math:`6` do not appear in the results " -"because it was not affected by the contraction algorithm." +"Observe that vertices, for example, :math:`6` do not appear in the " +"results because it was not affected by the contraction algorithm." msgstr "" #: ../../build/doc/contraction-family.rst:405 @@ -397,8 +401,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:425 msgid "" -"Adding extra columns to the ``edge_table`` and ``edge_table_vertices_pgr`` " -"tables, where:" +"Adding extra columns to the ``edge_table`` and " +"``edge_table_vertices_pgr`` tables, where:" msgstr "" #: ../../build/doc/contraction-family.rst:428 @@ -427,7 +431,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:433 msgid "" -"when ``true`` the vertex is contracted, its not part of the contracted graph." +"when ``true`` the vertex is contracted, its not part of the contracted " +"graph." msgstr "" #: ../../build/doc/contraction-family.rst:434 @@ -446,8 +451,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:438 msgid "" -"when ``true`` the edge was generated by the contraction algorithm. its part " -"of the contracted graph." +"when ``true`` the edge was generated by the contraction algorithm. its " +"part of the contracted graph." msgstr "" #: ../../build/doc/contraction-family.rst:439 @@ -474,8 +479,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:463 msgid "" -"Use ``edge_table_vertices_pgr.is_contracted`` to indicate the vertices that " -"are contracted." +"Use ``edge_table_vertices_pgr.is_contracted`` to indicate the vertices " +"that are contracted." msgstr "" #: ../../build/doc/contraction-family.rst:469 @@ -542,8 +547,7 @@ msgid "Case 3: Source and/or target belong to a vertex." msgstr "" #: ../../build/doc/contraction-family.rst:531 -msgid "" -"Using the `Edges that belong to the contracted graph.`_ on lines 10 to 19." +msgid "Using the `Edges that belong to the contracted graph.`_ on lines 10 to 19." msgstr "" #: ../../build/doc/contraction-family.rst:540 @@ -556,7 +560,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:585 #: ../../build/doc/contraction-family.rst:628 msgid "" -"When both source and target belong to the contracted graph, a path is found." +"When both source and target belong to the contracted graph, a path is " +"found." msgstr "" #: ../../build/doc/contraction-family.rst:548 @@ -573,8 +578,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:551 msgid "" -"In this case, the contracted graph do not have an edge connecting with node :" -"math:`4`." +"In this case, the contracted graph do not have an edge connecting with " +"node :math:`4`." msgstr "" #: ../../build/doc/contraction-family.rst:559 @@ -590,8 +595,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:562 msgid "" -"In this case, the contracted graph do not have an edge connecting with node :" -"math:`7` and of node :math:`4` of the second case." +"In this case, the contracted graph do not have an edge connecting with " +"node :math:`7` and of node :math:`4` of the second case." msgstr "" #: ../../build/doc/contraction-family.rst:572 @@ -604,13 +609,13 @@ msgid "The vertices that need to be expanded are calculated on lines 10 to 16." msgstr "" #: ../../build/doc/contraction-family.rst:575 -msgid "" -"Adding to the contracted graph that additional section on lines 25 to 27." +msgid "Adding to the contracted graph that additional section on lines 25 to 27." msgstr "" #: ../../build/doc/contraction-family.rst:593 msgid "" -"When source and/or target belong to an edge subgraph, now, a path is found." +"When source and/or target belong to an edge subgraph, now, a path is " +"found." msgstr "" #: ../../build/doc/contraction-family.rst:595 @@ -619,8 +624,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:605 msgid "" -"In this case, the contracted graph do not have an edge connecting with node :" -"math:`7`." +"In this case, the contracted graph do not have an edge connecting with " +"node :math:`7`." msgstr "" #: ../../build/doc/contraction-family.rst:617 @@ -628,14 +633,13 @@ msgid "The vertices that need to be expanded are calculated on lines 18 to 23." msgstr "" #: ../../build/doc/contraction-family.rst:618 -msgid "" -"Adding to the contracted graph that additional section on lines 38 to 40." +msgid "Adding to the contracted graph that additional section on lines 38 to 40." msgstr "" #: ../../build/doc/contraction-family.rst:636 msgid "" -"The code change do not affect this case so when source and/or target belong " -"to an edge subgraph, a path is still found." +"The code change do not affect this case so when source and/or target " +"belong to an edge subgraph, a path is still found." msgstr "" #: ../../build/doc/contraction-family.rst:645 @@ -651,9 +655,7 @@ msgid "See Also" msgstr "" #: ../../build/doc/contraction-family.rst:656 -msgid "" -"https://www.cs.cmu.edu/afs/cs/academic/class/15210-f12/www/lectures/" -"lecture16.pdf" +msgid "https://www.cs.cmu.edu/afs/cs/academic/class/15210-f12/www/lectures/lecture16.pdf" msgstr "" #: ../../build/doc/contraction-family.rst:657 @@ -662,8 +664,8 @@ msgstr "" #: ../../build/doc/contraction-family.rst:658 msgid "" -"The queries use :doc:`pgr_contraction` function and the :doc:`sampledata` " -"network." +"The queries use :doc:`pgr_contraction` function and the :doc:`sampledata`" +" network." msgstr "" #: ../../build/doc/contraction-family.rst:661 @@ -677,3 +679,4 @@ msgstr "" #: ../../build/doc/contraction-family.rst:663 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/cost-category.po b/locale/en/LC_MESSAGES/cost-category.po index 5beb553b023..e0292f5a339 100644 --- a/locale/en/LC_MESSAGES/cost-category.po +++ b/locale/en/LC_MESSAGES/cost-category.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -79,16 +79,17 @@ msgstr "" #: ../../build/doc/cost-category.rst:34 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/cost-category.rst:39 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__" +"category.html>`__ `2.4 `__" msgstr "" #: ../../build/doc/cost-category.rst:45 @@ -113,8 +114,8 @@ msgstr "" #: ../../build/doc/cost-category.rst:55 msgid "" -"Returns the sum of the costs of the resulting path(s) for pair combination " -"of nodes in the graph." +"Returns the sum of the costs of the resulting path(s) for pair " +"combination of nodes in the graph." msgstr "" #: ../../build/doc/cost-category.rst:56 @@ -132,8 +133,7 @@ msgid "" msgstr "" #: ../../build/doc/cost-category.rst:61 -msgid "" -"When the starting vertex and ending vertex are the same, there is no path." +msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" #: ../../build/doc/cost-category.rst:63 @@ -142,8 +142,8 @@ msgstr "" #: ../../build/doc/cost-category.rst:65 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path." +"When the starting vertex and ending vertex are the different and there is" +" no path." msgstr "" #: ../../build/doc/cost-category.rst:67 @@ -158,7 +158,8 @@ msgstr "" #: ../../build/doc/cost-category.rst:71 msgid "" -"Depending on the function and its parameters, the results can be symmetric." +"Depending on the function and its parameters, the results can be " +"symmetric." msgstr "" #: ../../build/doc/cost-category.rst:73 @@ -196,3 +197,4 @@ msgstr "" #: ../../build/doc/cost-category.rst:90 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/costMatrix-category.po b/locale/en/LC_MESSAGES/costMatrix-category.po index 6510e755035..38dd306e911 100644 --- a/locale/en/LC_MESSAGES/costMatrix-category.po +++ b/locale/en/LC_MESSAGES/costMatrix-category.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -79,17 +79,17 @@ msgstr "" #: ../../build/doc/costMatrix-category.rst:42 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/costMatrix-category.rst:47 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__" +"**Unsupported versions:** `2.5 `__ `2.4 `__" msgstr "" #: ../../build/doc/costMatrix-category.rst:53 @@ -102,13 +102,12 @@ msgstr "" #: ../../build/doc/costMatrix-category.rst:58 msgid "" -":doc:`TSP-family` needs as input a symmetric cost matrix and no edge `(u, " -"v)` must value :math:`\\infty`." +":doc:`TSP-family` needs as input a symmetric cost matrix and no edge `(u," +" v)` must value :math:`\\infty`." msgstr "" #: ../../build/doc/costMatrix-category.rst:60 -msgid "" -"This collection of functions will return a cost matrix in form of a table." +msgid "This collection of functions will return a cost matrix in form of a table." msgstr "" #: ../../build/doc/costMatrix-category.rst:64 @@ -129,7 +128,8 @@ msgstr "" #: ../../build/doc/costMatrix-category.rst:70 msgid "" -"when the resulting matrix is symmetric and there is no :math:`\\infty` value." +"when the resulting matrix is symmetric and there is no :math:`\\infty` " +"value." msgstr "" #: ../../build/doc/costMatrix-category.rst:71 @@ -146,12 +146,14 @@ msgstr "" #: ../../build/doc/costMatrix-category.rst:75 msgid "" -"By setting the upper triangle to be the mirror image of the lower triangle." +"By setting the upper triangle to be the mirror image of the lower " +"triangle." msgstr "" #: ../../build/doc/costMatrix-category.rst:76 msgid "" -"By setting the lower triangle to be the mirror image of the upper triangle." +"By setting the lower triangle to be the mirror image of the upper " +"triangle." msgstr "" #: ../../build/doc/costMatrix-category.rst:78 @@ -168,8 +170,8 @@ msgstr "" #: ../../build/doc/costMatrix-category.rst:82 msgid "" -"Returns the sum of the costs of the shortest path for pair combination of " -"nodes in the graph." +"Returns the sum of the costs of the shortest path for pair combination of" +" nodes in the graph." msgstr "" #: ../../build/doc/costMatrix-category.rst:83 @@ -187,8 +189,7 @@ msgid "" msgstr "" #: ../../build/doc/costMatrix-category.rst:88 -msgid "" -"When the starting vertex and ending vertex are the same, there is no path." +msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" #: ../../build/doc/costMatrix-category.rst:90 @@ -197,8 +198,8 @@ msgstr "" #: ../../build/doc/costMatrix-category.rst:92 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path." +"When the starting vertex and ending vertex are the different and there is" +" no path." msgstr "" #: ../../build/doc/costMatrix-category.rst:94 @@ -213,7 +214,8 @@ msgstr "" #: ../../build/doc/costMatrix-category.rst:98 msgid "" -"Depending on the function and its parameters, the results can be symmetric." +"Depending on the function and its parameters, the results can be " +"symmetric." msgstr "" #: ../../build/doc/costMatrix-category.rst:100 @@ -237,8 +239,7 @@ msgid "`end_vid` ascending" msgstr "" #: ../../build/doc/costMatrix-category.rst:109 -msgid "" -"Running time: approximately :math:`O(| start\\_vids | * (V \\log V + E))`" +msgid "Running time: approximately :math:`O(| start\\_vids | * (V \\log V + E))`" msgstr "" #: ../../build/doc/costMatrix-category.rst:114 @@ -260,3 +261,4 @@ msgstr "" #: ../../build/doc/costMatrix-category.rst:121 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/dijkstra-family.po b/locale/en/LC_MESSAGES/dijkstra-family.po index acaf97c8031..5d0dcb45237 100644 --- a/locale/en/LC_MESSAGES/dijkstra-family.po +++ b/locale/en/LC_MESSAGES/dijkstra-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,8 +30,7 @@ msgid ":doc:`pgr_dijkstraCost` - Get the aggregate cost of the shortest paths." msgstr "" #: ../../build/doc/dijkstra-family.rst:17 -msgid "" -":doc:`pgr_dijkstraCostMatrix` - Use pgr_dijkstra to create a costs matrix." +msgid ":doc:`pgr_dijkstraCostMatrix` - Use pgr_dijkstra to create a costs matrix." msgstr "" #: ../../build/doc/dijkstra-family.rst:18 @@ -42,8 +41,8 @@ msgstr "" #: ../../build/doc/dijkstra-family.rst:19 msgid "" -":doc:`pgr_KSP` - Use Yen algorithm with pgr_dijkstra to get the K shortest " -"paths." +":doc:`pgr_KSP` - Use Yen algorithm with pgr_dijkstra to get the K " +"shortest paths." msgstr "" #: ../../build/doc/dijkstra-family.rst:24 @@ -96,19 +95,20 @@ msgstr "" #: ../../build/doc/dijkstra-family.rst:48 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/dijkstra-family.rst:53 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" +"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 " +"`__ " +"`2.2 " +"`__" msgstr "" #: ../../build/doc/dijkstra-family.rst:61 @@ -125,8 +125,8 @@ msgstr "" #: ../../build/doc/dijkstra-family.rst:69 msgid "" -"where :math:`sql = \\{(id_i, source_i, target_i, cost_i, reverse" -"\\_cost_i)\\}`" +"where :math:`sql = \\{(id_i, source_i, target_i, cost_i, " +"reverse\\_cost_i)\\}`" msgstr "" #: ../../build/doc/dijkstra-family.rst:71 @@ -171,11 +171,11 @@ msgstr "" msgid "" ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, cost_i) " "\\text{ when } cost >=0 \\} & \\quad \\text{if } reverse\\_cost = " -"\\varnothing \\\\ \\text{ } \\text{ } & \\quad \\text{ } \\\\ \\text{ } " -"\\{(source_i, target_i, cost_i) \\text{ when } cost >=0 \\} & \\quad " +"\\varnothing \\\\ \\text{ } \\text{ } & \\quad \\text{ } \\\\ \\text{ }" +" \\{(source_i, target_i, cost_i) \\text{ when } cost >=0 \\} & \\quad " "\\text{ } \\\\ \\cup \\{(target_i, source_i, reverse\\_cost_i) " -"\\text{ when } reverse\\_cost_i>=0 \\} & \\quad \\text{if } reverse\\_cost " -"\\neq \\varnothing \\\\ \\end{cases}`" +"\\text{ when } reverse\\_cost_i>=0 \\} & \\quad \\text{if } " +"reverse\\_cost \\neq \\varnothing \\\\ \\end{cases}`" msgstr "" #: ../../build/doc/dijkstra-family.rst:98 @@ -198,11 +198,11 @@ msgid "" "\\text{ if } reverse\\_cost = \\varnothing \\\\ \\text{ } \\text{ } & " "\\text{ } \\\\ \\text{ } \\{(source_i, target_i, cost_i) \\text{ when } " "cost >=0 \\} & \\text{ } \\\\ \\cup \\{(target_i, source_i, cost_i) " -"\\text{ when } cost >=0 \\} & \\text{ } \\\\ \\cup \\{(target_i, source_i, " -"reverse\\_cost_i) \\text{ when } reverse\\_cost_i >=0)\\} & \\text{ } \\\\ " -"\\cup \\{(source_i, target_i, reverse\\_cost_i) \\text{ when } reverse" -"\\_cost_i >=0)\\} & \\quad \\text{ if } reverse\\_cost \\neq \\varnothing \\" -"\\ \\end{cases}`" +"\\text{ when } cost >=0 \\} & \\text{ } \\\\ \\cup \\{(target_i, " +"source_i, reverse\\_cost_i) \\text{ when } reverse\\_cost_i >=0)\\} & " +"\\text{ } \\\\ \\cup \\{(source_i, target_i, reverse\\_cost_i) \\text{ " +"when } reverse\\_cost_i >=0)\\} & \\quad \\text{ if } reverse\\_cost " +"\\neq \\varnothing \\\\ \\end{cases}`" msgstr "" #: ../../build/doc/dijkstra-family.rst:121 @@ -223,8 +223,9 @@ msgstr "" #: ../../build/doc/dijkstra-family.rst:126 msgid "" -":math:`G(V,E) = \\begin{cases} G_d(V,E) & \\quad \\text{ if6 } directed = " -"true \\\\ G_u(V,E) & \\quad \\text{ if5 } directed = false \\\\ \\end{cases}`" +":math:`G(V,E) = \\begin{cases} G_d(V,E) & \\quad \\text{ if6 } directed =" +" true \\\\ G_u(V,E) & \\quad \\text{ if5 } directed = false \\\\ " +"\\end{cases}`" msgstr "" #: ../../build/doc/dijkstra-family.rst:131 @@ -233,8 +234,8 @@ msgstr "" #: ../../build/doc/dijkstra-family.rst:140 msgid "" -":math:`\\boldsymbol{\\pi} = \\{(path\\_seq_i, node_i, edge_i, cost_i, agg" -"\\_cost_i)\\}`" +":math:`\\boldsymbol{\\pi} = \\{(path\\_seq_i, node_i, edge_i, cost_i, " +"agg\\_cost_i)\\}`" msgstr "" #: ../../build/doc/dijkstra-family.rst:153 @@ -263,14 +264,15 @@ msgstr "" #: ../../build/doc/dijkstra-family.rst:148 msgid "" -":math:`\\forall i \\neq | \\pi |, \\quad (node_i, node_{i+1}, cost_i) \\in E`" +":math:`\\forall i \\neq | \\pi |, \\quad (node_i, node_{i+1}, cost_i) " +"\\in E`" msgstr "" #: ../../build/doc/dijkstra-family.rst:149 msgid "" -":math:`edge_i = \\begin{cases} id_{(node_i, node_{i+1},cost_i)} &\\quad " -"\\text{when } i \\neq | \\pi | \\\\ -1 &\\quad \\text{when } i = | \\pi | \\" -"\\ \\end{cases}`" +":math:`edge_i = \\begin{cases} id_{(node_i, node_{i+1},cost_i)} " +"&\\quad \\text{when } i \\neq | \\pi | \\\\ -1 &\\quad \\text{when } i " +"= | \\pi | \\\\ \\end{cases}`" msgstr "" #: ../../build/doc/dijkstra-family.rst:150 @@ -279,22 +281,22 @@ msgstr "" #: ../../build/doc/dijkstra-family.rst:151 msgid "" -":math:`agg\\_cost_i = \\begin{cases} 0 &\\quad \\text{when } i = 1 \\" -"\\ \\displaystyle\\sum_{k=1}^{i} cost_{(node_{k-1}, node_k)} &\\quad " -"\\text{when } i \\neq 1 \\\\ \\end{cases}`" +":math:`agg\\_cost_i = \\begin{cases} 0 &\\quad \\text{when } i = 1 " +"\\\\ \\displaystyle\\sum_{k=1}^{i} cost_{(node_{k-1}, node_k)} &\\quad" +" \\text{when } i \\neq 1 \\\\ \\end{cases}`" msgstr "" #: ../../build/doc/dijkstra-family.rst:159 msgid "" -"In other words: The algorithm returns a the shortest path between :math:" -"`start_{vid}` and :math:`end_{vid}` , if it exists, in terms of a sequence " -"of nodes and of edges," +"In other words: The algorithm returns a the shortest path between " +":math:`start_{vid}` and :math:`end_{vid}` , if it exists, in terms of a " +"sequence of nodes and of edges," msgstr "" #: ../../build/doc/dijkstra-family.rst:156 msgid "" -":math:`path\\_seq` indicates the relative position in the path of the :math:" -"`node` or :math:`edge`." +":math:`path\\_seq` indicates the relative position in the path of the " +":math:`node` or :math:`edge`." msgstr "" #: ../../build/doc/dijkstra-family.rst:157 @@ -303,7 +305,8 @@ msgstr "" #: ../../build/doc/dijkstra-family.rst:158 msgid "" -":math:`agg\\_cost` is the cost from the :math:`start_{vid}` up to the node." +":math:`agg\\_cost` is the cost from the :math:`start_{vid}` up to the " +"node." msgstr "" #: ../../build/doc/dijkstra-family.rst:161 @@ -325,3 +328,4 @@ msgstr "" #: ../../build/doc/dijkstra-family.rst:170 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/drivingDistance-category.po b/locale/en/LC_MESSAGES/drivingDistance-category.po index 618ce9ec509..2efff22fe9a 100644 --- a/locale/en/LC_MESSAGES/drivingDistance-category.po +++ b/locale/en/LC_MESSAGES/drivingDistance-category.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,7 +23,8 @@ msgstr "" #: ../../build/doc/drivingDistance-category.rst:15 msgid "" -":doc:`pgr_drivingDistance` - Driving Distance based on Dijkstra's algorithm" +":doc:`pgr_drivingDistance` - Driving Distance based on Dijkstra's " +"algorithm" msgstr "" #: ../../build/doc/drivingDistance-category.rst:16 @@ -92,17 +93,17 @@ msgstr "" #: ../../build/doc/drivingDistance-category.rst:43 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 " +"`__ `2.6" +" `__" msgstr "" #: ../../build/doc/drivingDistance-category.rst:48 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__" +"**Unsupported versions:** `2.5 `__ `2.4 " +"`__" msgstr "" #: ../../build/doc/drivingDistance-category.rst:54 @@ -120,3 +121,4 @@ msgstr "" #: ../../build/doc/drivingDistance-category.rst:59 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/experimental.po b/locale/en/LC_MESSAGES/experimental.po index 142e8a78214..cf31a35252b 100644 --- a/locale/en/LC_MESSAGES/experimental.po +++ b/locale/en/LC_MESSAGES/experimental.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/en/LC_MESSAGES/flow-family.po b/locale/en/LC_MESSAGES/flow-family.po index 53a321519f5..fb6984c0a72 100644 --- a/locale/en/LC_MESSAGES/flow-family.po +++ b/locale/en/LC_MESSAGES/flow-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,26 +23,26 @@ msgstr "" #: ../../build/doc/flow-family.rst:15 msgid "" -":doc:`pgr_maxFlow` - Only the Max flow calculation using Push and Relabel " -"algorithm." +":doc:`pgr_maxFlow` - Only the Max flow calculation using Push and Relabel" +" algorithm." msgstr "" #: ../../build/doc/flow-family.rst:16 msgid "" -":doc:`pgr_boykovKolmogorov` - Boykov and Kolmogorov with details of flow on " -"edges." +":doc:`pgr_boykovKolmogorov` - Boykov and Kolmogorov with details of flow " +"on edges." msgstr "" #: ../../build/doc/flow-family.rst:17 msgid "" -":doc:`pgr_edmondsKarp` - Edmonds and Karp algorithm with details of flow on " -"edges." +":doc:`pgr_edmondsKarp` - Edmonds and Karp algorithm with details of flow " +"on edges." msgstr "" #: ../../build/doc/flow-family.rst:18 msgid "" -":doc:`pgr_pushRelabel` - Push and relabel algorithm with details of flow on " -"edges." +":doc:`pgr_pushRelabel` - Push and relabel algorithm with details of flow " +"on edges." msgstr "" #: ../../build/doc/flow-family.rst:19 @@ -51,14 +51,14 @@ msgstr "" #: ../../build/doc/flow-family.rst:21 msgid "" -":doc:`pgr_edgeDisjointPaths` - Calculates edge disjoint paths between two " -"groups of vertices." +":doc:`pgr_edgeDisjointPaths` - Calculates edge disjoint paths between two" +" groups of vertices." msgstr "" #: ../../build/doc/flow-family.rst:22 msgid "" -":doc:`pgr_maxCardinalityMatch` - Calculates a maximum cardinality matching " -"in a graph." +":doc:`pgr_maxCardinalityMatch` - Calculates a maximum cardinality " +"matching in a graph." msgstr "" #: ../../build/doc/flow-family.rst:27 @@ -147,16 +147,18 @@ msgstr "" #: ../../build/doc/flow-family.rst:54 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/flow-family.rst:59 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__ " -"`2.3 `__" +"family.html>`__ `2.4 `__ `2.3 " +"`__" msgstr "" #: ../../build/doc/flow-family.rst:66 @@ -205,9 +207,9 @@ msgstr "" #: ../../build/doc/flow-family.rst:84 msgid "" -"The maximum flow through the graph is guaranteed to be the value returned " -"by :doc:`pgr_maxFlow ` when executed with the same parameters " -"and can be calculated:" +"The maximum flow through the graph is guaranteed to be the value returned" +" by :doc:`pgr_maxFlow ` when executed with the same " +"parameters and can be calculated:" msgstr "" #: ../../build/doc/flow-family.rst:86 @@ -220,11 +222,11 @@ msgstr "" #: ../../build/doc/flow-family.rst:92 msgid "" -":doc:`pgr_maxFlow ` is the maximum Flow and that maximum is " -"guaranteed to be the same on the functions :doc:`pgr_pushRelabel " -"`, :doc:`pgr_edmondsKarp `, :doc:" -"`pgr_boykovKolmogorov `, but the actual flow through " -"each edge may vary." +":doc:`pgr_maxFlow ` is the maximum Flow and that maximum " +"is guaranteed to be the same on the functions :doc:`pgr_pushRelabel " +"`, :doc:`pgr_edmondsKarp `, " +":doc:`pgr_boykovKolmogorov `, but the actual flow " +"through each edge may vary." msgstr "" #: ../../build/doc/flow-family.rst:95 @@ -329,8 +331,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:118 ../../build/doc/flow-family.rst:146 msgid "" -"an SQL query of a directed graph of capacities, which should return a set of " -"rows with the following columns:" +"an SQL query of a directed graph of capacities, which should return a set" +" of rows with the following columns:" msgstr "" #: ../../build/doc/flow-family.rst:123 ../../build/doc/flow-family.rst:151 @@ -369,8 +371,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:128 ../../build/doc/flow-family.rst:156 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:157 @@ -387,8 +389,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:132 ../../build/doc/flow-family.rst:159 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:136 ../../build/doc/flow-family.rst:164 @@ -494,7 +496,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:186 msgid "" -"Residual capacity of the edge in the direction (``start_vid``, ``end_vid``)." +"Residual capacity of the edge in the direction (``start_vid``, " +"``end_vid``)." msgstr "" #: ../../build/doc/flow-family.rst:192 @@ -535,22 +538,22 @@ msgstr "" msgid "" "A flow network is a directed graph where each edge has a capacity and a " "flow. The flow through an edge must not exceed the capacity of the edge. " -"Additionally, the incoming and outgoing flow of a node must be equal except " -"for source which only has outgoing flow, and the destination(sink) which " -"only has incoming flow." +"Additionally, the incoming and outgoing flow of a node must be equal " +"except for source which only has outgoing flow, and the destination(sink)" +" which only has incoming flow." msgstr "" #: ../../build/doc/flow-family.rst:219 msgid "" -"Maximum flow algorithms calculate the maximum flow through the graph and the " -"flow of each edge." +"Maximum flow algorithms calculate the maximum flow through the graph and " +"the flow of each edge." msgstr "" #: ../../build/doc/flow-family.rst:221 msgid "" "The maximum flow through the graph is guaranteed to be the same with all " -"implementations, but the actual flow through each edge may vary. Given the " -"following query:" +"implementations, but the actual flow through each edge may vary. Given " +"the following query:" msgstr "" #: ../../build/doc/flow-family.rst:225 @@ -559,8 +562,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:227 msgid "" -"where :math:`edges\\_sql = \\{(id_i, source_i, target_i, capacity_i, reverse" -"\\_capacity_i)\\}`" +"where :math:`edges\\_sql = \\{(id_i, source_i, target_i, capacity_i, " +"reverse\\_capacity_i)\\}`" msgstr "" #: ../../build/doc/flow-family.rst:230 @@ -577,8 +580,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:235 msgid "" -":math:`source\\_vertex \\cup sink\\_vertex \\bigcup source_i \\bigcup " -"target_i`" +":math:`source\\_vertex \\cup sink\\_vertex \\bigcup source_i " +"\\bigcup target_i`" msgstr "" #: ../../build/doc/flow-family.rst:237 @@ -588,12 +591,12 @@ msgstr "" #: ../../build/doc/flow-family.rst:239 msgid "" ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, capacity_i) " -"\\text{ when } capacity > 0 \\} & \\quad \\text{ if } reverse\\_capacity = " -"\\varnothing \\\\ \\text{ } & \\quad \\text{ } \\\\ \\{(source_i, target_i, " -"capacity_i) \\text{ when } capacity > 0 \\} & \\text{ } \\\\ \\cup " -"\\{(target_i, source_i, reverse\\_capacity_i) \\text{ when } reverse" -"\\_capacity_i > 0)\\} & \\quad \\text{ if } reverse\\_capacity \\neq " -"\\varnothing \\\\ \\end{cases}`" +"\\text{ when } capacity > 0 \\} & \\quad \\text{ if } reverse\\_capacity" +" = \\varnothing \\\\ \\text{ } & \\quad \\text{ } \\\\ \\{(source_i, " +"target_i, capacity_i) \\text{ when } capacity > 0 \\} & \\text{ } \\\\ " +"\\cup \\{(target_i, source_i, reverse\\_capacity_i) \\text{ when } " +"reverse\\_capacity_i > 0)\\} & \\quad \\text{ if } reverse\\_capacity " +"\\neq \\varnothing \\\\ \\end{cases}`" msgstr "" #: ../../build/doc/flow-family.rst:247 @@ -634,8 +637,8 @@ msgstr "" msgid "" ":math:`\\boldsymbol{\\Phi}` is a subset of the original edges with their " "residual capacity and flow. The maximum flow through the graph can be " -"obtained by aggregating on the source or sink and summing the flow from/to " -"it. In particular:" +"obtained by aggregating on the source or sink and summing the flow " +"from/to it. In particular:" msgstr "" #: ../../build/doc/flow-family.rst:267 @@ -669,3 +672,4 @@ msgstr "" #: ../../build/doc/flow-family.rst:280 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/index.po b/locale/en/LC_MESSAGES/index.po index b791512ea22..25c639cf7e7 100644 --- a/locale/en/LC_MESSAGES/index.po +++ b/locale/en/LC_MESSAGES/index.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,9 +23,9 @@ msgstr "" #: ../../build/doc/index.rst:16 msgid "" -"pgRouting extends the `PostGIS `__/`PostgreSQL `__ geospatial database to provide geospatial routing and " -"other network analysis functionality." +"pgRouting extends the `PostGIS `__/`PostgreSQL " +"`__ geospatial database to provide geospatial" +" routing and other network analysis functionality." msgstr "" #: ../../build/doc/index.rst:19 @@ -34,12 +34,12 @@ msgstr "" #: ../../build/doc/index.rst:25 msgid "" -"The pgRouting Manual is licensed under a `Creative Commons Attribution-Share " -"Alike 3.0 License `_. Feel " -"free to use this material any way you like, but we ask that you attribute " -"credit to the pgRouting Project and wherever possible, a link back to " -"https://pgrouting.org. For other licenses used in pgRouting see the :ref:" -"`license` page." +"The pgRouting Manual is licensed under a `Creative Commons Attribution-" +"Share Alike 3.0 License `_. Feel free to use this material any way you like, but we ask " +"that you attribute credit to the pgRouting Project and wherever possible," +" a link back to https://pgrouting.org. For other licenses used in " +"pgRouting see the :ref:`license` page." msgstr "" #: ../../build/doc/index.rst:32 @@ -108,8 +108,8 @@ msgstr "" #: ../../build/doc/bdAstar-family.rst:4 msgid "" -":doc:`pgr_bdAstarCost` - Bidirectional A* algorithm to calculate the cost of " -"the paths." +":doc:`pgr_bdAstarCost` - Bidirectional A* algorithm to calculate the cost" +" of the paths." msgstr "" #: ../../build/doc/bdAstar-family.rst:5 @@ -124,14 +124,14 @@ msgstr "" #: ../../build/doc/bdDijkstra-family.rst:3 msgid "" -":doc:`pgr_bdDijkstra` - Bidirectional Dijkstra algorithm for the shortest " -"paths." +":doc:`pgr_bdDijkstra` - Bidirectional Dijkstra algorithm for the shortest" +" paths." msgstr "" #: ../../build/doc/bdDijkstra-family.rst:4 msgid "" -":doc:`pgr_bdDijkstraCost` - Bidirectional Dijkstra to calculate the cost of " -"the shortest paths" +":doc:`pgr_bdDijkstraCost` - Bidirectional Dijkstra to calculate the cost " +"of the shortest paths" msgstr "" #: ../../build/doc/bdDijkstra-family.rst:5 @@ -146,24 +146,26 @@ msgstr "" #: ../../build/doc/components-family.rst:3 msgid "" -":doc:`pgr_connectedComponents` - Connected components of an undirected graph." +":doc:`pgr_connectedComponents` - Connected components of an undirected " +"graph." msgstr "" #: ../../build/doc/components-family.rst:4 msgid "" -":doc:`pgr_strongComponents` - Strongly connected components of a directed " -"graph." +":doc:`pgr_strongComponents` - Strongly connected components of a directed" +" graph." msgstr "" #: ../../build/doc/components-family.rst:5 msgid "" -":doc:`pgr_biconnectedComponents` - Biconnected components of an undirected " -"graph." +":doc:`pgr_biconnectedComponents` - Biconnected components of an " +"undirected graph." msgstr "" #: ../../build/doc/components-family.rst:6 msgid "" -":doc:`pgr_articulationPoints` - Articulation points of an undirected graph." +":doc:`pgr_articulationPoints` - Articulation points of an undirected " +"graph." msgstr "" #: ../../build/doc/components-family.rst:7 @@ -191,8 +193,7 @@ msgid ":doc:`pgr_dijkstraCost` - Get the aggregate cost of the shortest paths." msgstr "" #: ../../build/doc/dijkstra-family.rst:5 -msgid "" -":doc:`pgr_dijkstraCostMatrix` - Use pgr_dijkstra to create a costs matrix." +msgid ":doc:`pgr_dijkstraCostMatrix` - Use pgr_dijkstra to create a costs matrix." msgstr "" #: ../../build/doc/dijkstra-family.rst:6 @@ -203,8 +204,8 @@ msgstr "" #: ../../build/doc/dijkstra-family.rst:7 msgid "" -":doc:`pgr_KSP` - Use Yen algorithm with pgr_dijkstra to get the K shortest " -"paths." +":doc:`pgr_KSP` - Use Yen algorithm with pgr_dijkstra to get the K " +"shortest paths." msgstr "" #: ../../build/doc/routingFunctions.rst:47 @@ -213,26 +214,26 @@ msgstr "" #: ../../build/doc/flow-family.rst:3 msgid "" -":doc:`pgr_maxFlow` - Only the Max flow calculation using Push and Relabel " -"algorithm." +":doc:`pgr_maxFlow` - Only the Max flow calculation using Push and Relabel" +" algorithm." msgstr "" #: ../../build/doc/flow-family.rst:4 msgid "" -":doc:`pgr_boykovKolmogorov` - Boykov and Kolmogorov with details of flow on " -"edges." +":doc:`pgr_boykovKolmogorov` - Boykov and Kolmogorov with details of flow " +"on edges." msgstr "" #: ../../build/doc/flow-family.rst:5 msgid "" -":doc:`pgr_edmondsKarp` - Edmonds and Karp algorithm with details of flow on " -"edges." +":doc:`pgr_edmondsKarp` - Edmonds and Karp algorithm with details of flow " +"on edges." msgstr "" #: ../../build/doc/flow-family.rst:6 msgid "" -":doc:`pgr_pushRelabel` - Push and relabel algorithm with details of flow on " -"edges." +":doc:`pgr_pushRelabel` - Push and relabel algorithm with details of flow " +"on edges." msgstr "" #: ../../build/doc/flow-family.rst:7 @@ -241,14 +242,14 @@ msgstr "" #: ../../build/doc/flow-family.rst:9 msgid "" -":doc:`pgr_edgeDisjointPaths` - Calculates edge disjoint paths between two " -"groups of vertices." +":doc:`pgr_edgeDisjointPaths` - Calculates edge disjoint paths between two" +" groups of vertices." msgstr "" #: ../../build/doc/flow-family.rst:10 msgid "" -":doc:`pgr_maxCardinalityMatch` - Calculates a maximum cardinality matching " -"in a graph." +":doc:`pgr_maxCardinalityMatch` - Calculates a maximum cardinality " +"matching in a graph." msgstr "" #: ../../build/doc/routingFunctions.rst:53 @@ -298,14 +299,13 @@ msgid ":doc:`topology-functions`" msgstr "" #: ../../build/doc/topology-functions.rst:3 -msgid "" -":doc:`pgr_createTopology` - to create a topology based on the geometry." +msgid ":doc:`pgr_createTopology` - to create a topology based on the geometry." msgstr "" #: ../../build/doc/topology-functions.rst:4 msgid "" -":doc:`pgr_createVerticesTable` - to reconstruct the vertices table based on " -"the source and target information." +":doc:`pgr_createVerticesTable` - to reconstruct the vertices table based " +"on the source and target information." msgstr "" #: ../../build/doc/topology-functions.rst:5 @@ -372,7 +372,8 @@ msgstr "" #: ../../build/doc/drivingDistance-category.rst:3 msgid "" -":doc:`pgr_drivingDistance` - Driving Distance based on Dijkstra's algorithm" +":doc:`pgr_drivingDistance` - Driving Distance based on Dijkstra's " +"algorithm" msgstr "" #: ../../build/doc/drivingDistance-category.rst:4 @@ -546,3 +547,4 @@ msgstr "" #: ../../build/doc/index.rst:115 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/kruskal-family.po b/locale/en/LC_MESSAGES/kruskal-family.po index d6658c6f19a..b384b52aae3 100644 --- a/locale/en/LC_MESSAGES/kruskal-family.po +++ b/locale/en/LC_MESSAGES/kruskal-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,9 +47,9 @@ msgstr "" #: ../../build/doc/kruskal-family.rst:38 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" #: ../../build/doc/kruskal-family.rst:43 @@ -59,9 +59,9 @@ msgstr "" #: ../../build/doc/kruskal-family.rst:45 msgid "" -"Kruskal's algorithm is a greedy minimum spanning tree algorithm that in each " -"cycle finds and adds the edge of the least possible weight that connects any " -"two trees in the forest." +"Kruskal's algorithm is a greedy minimum spanning tree algorithm that in " +"each cycle finds and adds the edge of the least possible weight that " +"connects any two trees in the forest." msgstr "" #: ../../build/doc/kruskal-family.rst:49 @@ -165,8 +165,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -183,8 +183,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -217,14 +217,14 @@ msgstr "" #: ../../build/doc/kruskal-family.rst:81 msgid "" -"`Boost: Kruskal's algorithm documentation `__" +"`Boost: Kruskal's algorithm documentation " +"`__" msgstr "" #: ../../build/doc/kruskal-family.rst:82 msgid "" -"`Wikipedia: Kruskal's algorithm `__" +"`Wikipedia: Kruskal's algorithm " +"`__" msgstr "" #: ../../build/doc/kruskal-family.rst:85 @@ -238,3 +238,4 @@ msgstr "" #: ../../build/doc/kruskal-family.rst:87 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgRouting-concepts.po b/locale/en/LC_MESSAGES/pgRouting-concepts.po index e0f39cc626d..49479363a23 100644 --- a/locale/en/LC_MESSAGES/pgRouting-concepts.po +++ b/locale/en/LC_MESSAGES/pgRouting-concepts.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -31,8 +31,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:22 msgid "" -"This is a simple guide to walk you through the steps of getting started with " -"pgRouting. In this guide we will cover:" +"This is a simple guide to walk you through the steps of getting started " +"with pgRouting. In this guide we will cover:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:32 @@ -41,11 +41,11 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:34 msgid "" -"The first thing we need to do is create a database and load pgrouting in the " -"database. Typically you will create a database for each project. Once you " -"have a database to work in, your can load your data and build your " -"application in that database. This makes it easy to move your project later " -"if you want to to say a production server." +"The first thing we need to do is create a database and load pgrouting in " +"the database. Typically you will create a database for each project. Once" +" you have a database to work in, your can load your data and build your " +"application in that database. This makes it easy to move your project " +"later if you want to to say a production server." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:40 @@ -99,10 +99,10 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:61 msgid "" "So these tools and probably others will allow you to read vector data so " -"that you may then load that data into your database as a table of some kind. " -"At this point you need to know a little about your data structure and " -"content. One easy way to browse your new data table is with pgAdmin3 or " -"phpPgAdmin." +"that you may then load that data into your database as a table of some " +"kind. At this point you need to know a little about your data structure " +"and content. One easy way to browse your new data table is with pgAdmin3 " +"or phpPgAdmin." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:69 @@ -112,11 +112,11 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:71 msgid "" "Next we need to build a topology for our street data. What this means is " -"that for any given edge in your street data the ends of that edge will be " -"connected to a unique node and to other edges that are also connected to " -"that same unique node. Once all the edges are connected to nodes we have a " -"graph that can be used for routing with pgrouting. We provide a tool that " -"will help with this:" +"that for any given edge in your street data the ends of that edge will be" +" connected to a unique node and to other edges that are also connected to" +" that same unique node. Once all the edges are connected to nodes we have" +" a graph that can be used for routing with pgrouting. We provide a tool " +"that will help with this:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:77 @@ -133,12 +133,12 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:90 msgid "" -"There are lots of possible sources for errors in a graph. The data that you " -"started with may not have been designed with routing in mind. A graph has " -"some very specific requirements. One is that it is *NODED*, this means that " -"except for some very specific use cases, each road segment starts and ends " -"at a node and that in general is does not cross another road segment that it " -"should be connected to." +"There are lots of possible sources for errors in a graph. The data that " +"you started with may not have been designed with routing in mind. A graph" +" has some very specific requirements. One is that it is *NODED*, this " +"means that except for some very specific use cases, each road segment " +"starts and ends at a node and that in general is does not cross another " +"road segment that it should be connected to." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:97 @@ -167,18 +167,18 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:119 msgid "" "Once you have all the preparation work done above, computing a route is " -"fairly easy. We have a lot of different algorithms that can work with your " -"prepared road network. The general form of a route query is:" +"fairly easy. We have a lot of different algorithms that can work with " +"your prepared road network. The general form of a route query is:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:127 msgid "" "As you can see this is fairly straight forward and you can look and the " -"specific algorithms for the details of the signatures and how to use them. " -"These results have information like edge id and/or the node id along with " -"the cost or geometry for the step in the path from *start* to *end*. Using " -"the ids you can join these result back to your edge table to get more " -"information about each step in the path." +"specific algorithms for the details of the signatures and how to use " +"them. These results have information like edge id and/or the node id " +"along with the cost or geometry for the step in the path from *start* to " +"*end*. Using the ids you can join these result back to your edge table to" +" get more information about each step in the path." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:134 @@ -299,10 +299,10 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:203 msgid "" -"There are several kinds of valid inner queries and also the columns returned " -"are depending of the function. Which kind of inner query will depend on the " -"function(s) requirements. To simplify variety of types, ``ANY-INTEGER`` and " -"``ANY-NUMERICAL`` is used." +"There are several kinds of valid inner queries and also the columns " +"returned are depending of the function. Which kind of inner query will " +"depend on the function(s) requirements. To simplify variety of types, " +"``ANY-INTEGER`` and ``ANY-NUMERICAL`` is used." msgstr "" #: ../../build/doc/flow-family.rst:21 @@ -485,8 +485,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:259 #: ../../build/doc/pgRouting-concepts.rst:313 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:18 @@ -515,8 +515,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:263 #: ../../build/doc/pgRouting-concepts.rst:317 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:249 @@ -531,7 +531,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:303 #: ../../build/doc/pgRouting-concepts.rst:351 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:279 @@ -611,21 +612,20 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:290 msgid "" -"When ``true`` departing from a visited vertex will not try to avoid using " -"the edge used to reach it. In other words, U turn using the edge with same " -"`id` is allowed." +"When ``true`` departing from a visited vertex will not try to avoid using" +" the edge used to reach it. In other words, U turn using the edge with " +"same `id` is allowed." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:291 msgid "" -"When ``false`` when a departing from a visited vertex tries to avoid using " -"the edge used to reach it. In other words, U turn using the edge with same " -"`id` is used when no other path is found." +"When ``false`` when a departing from a visited vertex tries to avoid " +"using the edge used to reach it. In other words, U turn using the edge " +"with same `id` is used when no other path is found." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:299 -msgid "" -"edges_sql query for :doc:`aStar-family` and :doc:`aStar-family` functions" +msgid "edges_sql query for :doc:`aStar-family` and :doc:`aStar-family` functions" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:319 @@ -673,8 +673,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:3 msgid "" -"an SQL query of a directed graph of capacities, which should return a set of " -"rows with the following columns:" +"an SQL query of a directed graph of capacities, which should return a set" +" of rows with the following columns:" msgstr "" #: ../../build/doc/flow-family.rst:11 @@ -736,7 +736,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:359 msgid "" -"If column not present, a sequential identifier will be given automatically." +"If column not present, a sequential identifier will be given " +"automatically." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:361 @@ -794,8 +795,7 @@ msgid "Return columns & values" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:406 -msgid "" -"There are several kinds of columns returned are depending of the function." +msgid "There are several kinds of columns returned are depending of the function." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:409 @@ -804,8 +804,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:413 msgid "" -"Returns set of ``(seq, path_seq [, start_vid] [, end_vid], node, edge, cost, " -"agg_cost)``" +"Returns set of ``(seq, path_seq [, start_vid] [, end_vid], node, edge, " +"cost, agg_cost)``" msgstr "" #: ../../build/doc/flow-family.rst:6 ../../build/doc/pgRouting-concepts.rst:418 @@ -834,7 +834,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:419 #: ../../build/doc/pgRouting-concepts.rst:453 msgid "" -"Relative position in the path. Has value **1** for the beginning of a path." +"Relative position in the path. Has value **1** for the beginning of a " +"path." msgstr "" #: ../../build/doc/flow-family.rst:8 ../../build/doc/pgRouting-concepts.rst:420 @@ -862,8 +863,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:420 #: ../../build/doc/pgRouting-concepts.rst:454 msgid "" -"Identifier of the starting vertex. Returned when multiple starting vetrices " -"are in the query." +"Identifier of the starting vertex. Returned when multiple starting " +"vetrices are in the query." msgstr "" #: ../../build/doc/flow-family.rst:9 ../../build/doc/pgRouting-concepts.rst:426 @@ -875,8 +876,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:426 #: ../../build/doc/pgRouting-concepts.rst:461 msgid "" -"Identifier of the ending vertex. Returned when multiple ending vertices are " -"in the query." +"Identifier of the ending vertex. Returned when multiple ending vertices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:432 @@ -897,8 +898,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:433 #: ../../build/doc/pgRouting-concepts.rst:468 msgid "" -"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." +"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." msgstr "" #: ../../build/doc/flow-family.rst:12 ../../build/doc/flow-family.rst:13 @@ -913,8 +914,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:434 #: ../../build/doc/pgRouting-concepts.rst:469 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next node in the path " -"sequence." +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/flow-family.rst:13 @@ -935,8 +936,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:446 msgid "" -"Returns set of ``(seq, path_id, path_seq [, start_vid] [, end_vid], node, " -"edge, cost, agg_cost)``" +"Returns set of ``(seq, path_id, path_seq [, start_vid] [, end_vid], node," +" edge, cost, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:452 @@ -945,13 +946,13 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:452 msgid "" -"Path identifier. Has value **1** for the first of a path. Used when there " -"are multiple paths for the same ``start_vid`` to ``end_vid`` combination." +"Path identifier. Has value **1** for the first of a path. Used when there" +" are multiple paths for the same ``start_vid`` to ``end_vid`` " +"combination." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:477 -msgid "" -"Description of the return values for a :doc:`costMatrix-category` function" +msgid "Description of the return values for a :doc:`costMatrix-category` function" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:481 @@ -960,14 +961,14 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:486 msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." +"Identifier of the starting vertex. Used when multiple starting vetrices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:487 msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." +"Identifier of the ending vertex. Used when multiple ending vertices are " +"in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:488 @@ -996,7 +997,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:11 msgid "" -"Residual capacity of the edge in the direction (``start_vid``, ``end_vid``)." +"Residual capacity of the edge in the direction (``start_vid``, " +"``end_vid``)." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:505 @@ -1039,51 +1041,51 @@ msgid "" "Typically when GIS files are loaded into the data database for use with " "pgRouting they do not have topology information associated with them. To " "create a useful topology the data needs to be \"noded\". This means that " -"where two or more roads form an intersection there it needs to be a node at " -"the intersection and all the road segments need to be broken at the " -"intersection, assuming that you can navigate from any of these segments to " -"any other segment via that intersection." +"where two or more roads form an intersection there it needs to be a node " +"at the intersection and all the road segments need to be broken at the " +"intersection, assuming that you can navigate from any of these segments " +"to any other segment via that intersection." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:529 msgid "" -"You can use the :ref:`graph analysis functions ` to help you see " -"where you might have topology problems in your data. If you need to node " -"your data, we also have a function :doc:`pgr_nodeNetwork() " +"You can use the :ref:`graph analysis functions ` to help you " +"see where you might have topology problems in your data. If you need to " +"node your data, we also have a function :doc:`pgr_nodeNetwork() " "` that might work for you. This function splits ALL " -"crossing segments and nodes them. There are some cases where this might NOT " -"be the right thing to do." +"crossing segments and nodes them. There are some cases where this might " +"NOT be the right thing to do." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:531 msgid "" -"For example, when you have an overpass and underpass intersection, you do " -"not want these noded, but pgr_nodeNetwork does not know that is the case and " -"will node them which is not good because then the router will be able to " -"turn off the overpass onto the underpass like it was a flat 2D intersection. " -"To deal with this problem some data sets use z-levels at these types of " -"intersections and other data might not node these intersection which would " -"be ok." +"For example, when you have an overpass and underpass intersection, you do" +" not want these noded, but pgr_nodeNetwork does not know that is the case" +" and will node them which is not good because then the router will be " +"able to turn off the overpass onto the underpass like it was a flat 2D " +"intersection. To deal with this problem some data sets use z-levels at " +"these types of intersections and other data might not node these " +"intersection which would be ok." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:533 msgid "" -"For those cases where topology needs to be added the following functions may " -"be useful. One way to prep the data for pgRouting is to add the following " -"columns to your table and then populate them as appropriate. This example " -"makes a lot of assumption like that you original data tables already has " -"certain columns in it like ``one_way``, ``fcc``, and possibly others and " -"that they contain specific data values. This is only to give you an idea of " -"what you can do with your data." +"For those cases where topology needs to be added the following functions " +"may be useful. One way to prep the data for pgRouting is to add the " +"following columns to your table and then populate them as appropriate. " +"This example makes a lot of assumption like that you original data tables" +" already has certain columns in it like ``one_way``, ``fcc``, and " +"possibly others and that they contain specific data values. This is only " +"to give you an idea of what you can do with your data." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:554 msgid "" -"The function :doc:`pgr_createTopology ` will create the " -"``vertices_tmp`` table and populate the ``source`` and ``target`` columns. " -"The following example populated the remaining columns. In this example, the " -"``fcc`` column contains feature class code and the ``CASE`` statements " -"converts it to an average speed." +"The function :doc:`pgr_createTopology ` will create " +"the ``vertices_tmp`` table and populate the ``source`` and ``target`` " +"columns. The following example populated the remaining columns. In this " +"example, the ``fcc`` column contains feature class code and the ``CASE`` " +"statements converts it to an average speed." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:617 @@ -1102,16 +1104,16 @@ msgid "" "fully noded or in graphs with z-levels at intersection that have been " "entered incorrectly. An other problem is one way streets that have been " "entered in the wrong direction. We can not detect errors with respect to " -"\"ground\" truth, but we can look for inconsistencies and some anomalies in " -"a graph and report them for additional inspections." +"\"ground\" truth, but we can look for inconsistencies and some anomalies " +"in a graph and report them for additional inspections." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:630 msgid "" "We do not current have any visualization tools for these problems, but I " "have used mapserver to render the graph and highlight potential problem " -"areas. Someone familiar with graphviz might contribute tools for generating " -"images with that." +"areas. Someone familiar with graphviz might contribute tools for " +"generating images with that." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:634 @@ -1121,8 +1123,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:636 msgid "" "With :doc:`pgr_analyzeGraph` the graph can be checked for errors. For " -"example for table \"mytab\" that has \"mytab_vertices_pgr\" as the vertices " -"table:" +"example for table \"mytab\" that has \"mytab_vertices_pgr\" as the " +"vertices table:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:659 @@ -1147,8 +1149,8 @@ msgstr "" msgid "" "If you want to visualize these on a graphic image, then you can use " "something like mapserver to render the edges and the vertices and style " -"based on ``cnt`` or if they are isolated, etc. You can also do this with a " -"tool like graphviz, or geoserver or other similar tools." +"based on ``cnt`` or if they are isolated, etc. You can also do this with " +"a tool like graphviz, or geoserver or other similar tools." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:693 @@ -1157,23 +1159,25 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:695 msgid "" -":doc:`pgr_analyzeOneWay` analyzes one way streets in a graph and identifies " -"any flipped segments. Basically if you count the edges coming into a node " -"and the edges exiting a node the number has to be greater than one." +":doc:`pgr_analyzeOneWay` analyzes one way streets in a graph and " +"identifies any flipped segments. Basically if you count the edges coming " +"into a node and the edges exiting a node the number has to be greater " +"than one." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:697 msgid "" -"This query will add two columns to the vertices_tmp table ``ein int`` and " -"``eout int`` and populate it with the appropriate counts. After running this " -"on a graph you can identify nodes with potential problems with the following " -"query." +"This query will add two columns to the vertices_tmp table ``ein int`` and" +" ``eout int`` and populate it with the appropriate counts. After running " +"this on a graph you can identify nodes with potential problems with the " +"following query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:700 msgid "" -"The rules are defined as an array of text strings that if match the ``col`` " -"value would be counted as true for the source or target in or out condition." +"The rules are defined as an array of text strings that if match the " +"``col`` value would be counted as true for the source or target in or out" +" condition." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:704 @@ -1182,8 +1186,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:706 msgid "" -"Lets assume we have a table \"st\" of edges and a column \"one_way\" that " -"might have values like:" +"Lets assume we have a table \"st\" of edges and a column \"one_way\" that" +" might have values like:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:708 @@ -1214,18 +1218,18 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:733 msgid "" -"Typically these problems are generated by a break in the network, the one " -"way direction set wrong, maybe an error related to z-levels or a network " -"that is not properly noded." +"Typically these problems are generated by a break in the network, the one" +" way direction set wrong, maybe an error related to z-levels or a network" +" that is not properly noded." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:735 msgid "" "The above tools do not detect all network issues, but they will identify " "some common problems. There are other problems that are hard to detect " -"because they are more global in nature like multiple disconnected networks. " -"Think of an island with a road network that is not connected to the mainland " -"network because the bridge or ferry routes are missing." +"because they are more global in nature like multiple disconnected " +"networks. Think of an island with a road network that is not connected to" +" the mainland network because the bridge or ferry routes are missing." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:743 @@ -1238,8 +1242,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:752 msgid "" -"To get faster results bound your queries to the area of interest of routing " -"to have, for example, no more than one million rows." +"To get faster results bound your queries to the area of interest of " +"routing to have, for example, no more than one million rows." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:754 @@ -1258,9 +1262,9 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:778 msgid "" -"When \"you know\" that you are going to remove a set of edges from the edges " -"table, and without those edges you are going to use a routing function you " -"can do the following:" +"When \"you know\" that you are going to remove a set of edges from the " +"edges table, and without those edges you are going to use a routing " +"function you can do the following:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:780 @@ -1281,8 +1285,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:801 msgid "" -"Edit an existing `pgRouting Wiki `_ page." +"Edit an existing `pgRouting Wiki " +"`_ page." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:802 @@ -1291,8 +1295,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:804 msgid "" -"Create a page on the `pgRouting Wiki `_" +"Create a page on the `pgRouting Wiki " +"`_" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:805 @@ -1311,8 +1315,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:813 msgid "" -"Consult the `developer's documentation `_" +"Consult the `developer's documentation " +"`_" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:818 @@ -1326,3 +1330,4 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:820 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgRouting-installation.po b/locale/en/LC_MESSAGES/pgRouting-installation.po index dc188428e02..6d9ed734f72 100644 --- a/locale/en/LC_MESSAGES/pgRouting-installation.po +++ b/locale/en/LC_MESSAGES/pgRouting-installation.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,18 +55,18 @@ msgstr "" #: ../../build/doc/pgRouting-installation.rst:25 msgid "" -"Instructions for downloading and installing binaries for different Operative " -"systems instructions and additional notes and corrections not included in " -"this documentation can be found in `Installation wiki `__" +"Instructions for downloading and installing binaries for different " +"Operative systems instructions and additional notes and corrections not " +"included in this documentation can be found in `Installation wiki " +"`__" msgstr "" #: ../../build/doc/pgRouting-installation.rst:27 msgid "" -"To use pgRouting postGIS needs to be installed, please read the information " -"about installation in this `Install Guide `__" +"To use pgRouting postGIS needs to be installed, please read the " +"information about installation in this `Install Guide " +"`__" msgstr "" #: ../../build/doc/pgRouting-installation.rst:32 @@ -93,8 +93,8 @@ msgstr "" #: ../../build/doc/pgRouting-installation.rst:67 msgid "" -"The pgRouting latest release can be found in https://github.com/pgRouting/" -"pgrouting/releases/latest" +"The pgRouting latest release can be found in " +"https://github.com/pgRouting/pgrouting/releases/latest" msgstr "" #: ../../build/doc/pgRouting-installation.rst:70 @@ -119,7 +119,8 @@ msgstr "" #: ../../build/doc/pgRouting-installation.rst:89 msgid "" -"Goto :ref:`install-short` to the compile instructions (there is no tar ball)." +"Goto :ref:`install-short` to the compile instructions (there is no tar " +"ball)." msgstr "" #: ../../build/doc/pgRouting-installation.rst:96 @@ -132,8 +133,8 @@ msgstr "" #: ../../build/doc/pgRouting-installation.rst:100 msgid "" -"pgRouting is an extension and depends on postGIS. Enabling postGIS before " -"enabling pgRouting in the database" +"pgRouting is an extension and depends on postGIS. Enabling postGIS before" +" enabling pgRouting in the database" msgstr "" #: ../../build/doc/pgRouting-installation.rst:109 @@ -148,8 +149,8 @@ msgstr "" #: ../../build/doc/pgRouting-installation.rst:118 msgid "" -"More information can be found in https://www.postgresql.org/docs/current/sql-" -"createextension.html" +"More information can be found in https://www.postgresql.org/docs/current" +"/sql-createextension.html" msgstr "" #: ../../build/doc/pgRouting-installation.rst:124 @@ -162,8 +163,8 @@ msgstr "" #: ../../build/doc/pgRouting-installation.rst:128 msgid "" -"To be able to compile pgRouting, make sure that the following dependencies " -"are met:" +"To be able to compile pgRouting, make sure that the following " +"dependencies are met:" msgstr "" #: ../../build/doc/pgRouting-installation.rst:130 @@ -280,8 +281,8 @@ msgstr "" #: ../../build/doc/pgRouting-installation.rst:222 msgid "" -"Most of the effort of the documentation has being on the HTML files. Some " -"variables for the documentation:" +"Most of the effort of the documentation has being on the HTML files. Some" +" variables for the documentation:" msgstr "" #: ../../build/doc/pgRouting-installation.rst:226 @@ -378,8 +379,8 @@ msgstr "" #: ../../build/doc/pgRouting-installation.rst:261 msgid "" -"We have tested on several platforms, For installing or reinstalling all the " -"steps are needed." +"We have tested on several platforms, For installing or reinstalling all " +"the steps are needed." msgstr "" #: ../../build/doc/pgRouting-installation.rst:263 @@ -433,3 +434,4 @@ msgstr "" #: ../../build/doc/pgRouting-installation.rst:318 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgRouting-introduction.po b/locale/en/LC_MESSAGES/pgRouting-introduction.po index 74371334bac..310fc8890cb 100644 --- a/locale/en/LC_MESSAGES/pgRouting-introduction.po +++ b/locale/en/LC_MESSAGES/pgRouting-introduction.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -238,100 +238,3 @@ msgid "" "https://github.com/pgRouting/pgrouting/wiki/Migration-Guide." msgstr "" -#~ msgid "" -#~ msgstr "" - -#~ msgid "" -#~ "Aasheesh Tiwari, Aditya Pratap Singh, " -#~ "Adrien Berchet, Cayetano Benavent, Gudesa " -#~ "Venkata Sai Akhil, Hang Wu, Maoguang " -#~ "Wang, Martha Vergara, Regina Obe, Rohith" -#~ " Reddy, Sourabh Garg, Virginia Vergara" -#~ msgstr "" - -#~ msgid "" -#~ "Aasheesh Tiwari, Aditya Pratap Singh, " -#~ "Adrien Berchet, Akio Takubo, Andrea " -#~ "Nardelli, Anthony Tasca, Anton Patrushev, " -#~ "Ashraf Hossain, Cayetano Benavent, Christian" -#~ " Gonzalez, Daniel Kastl, Dave Potts, " -#~ "David Techer, Denis Rykov, Ema Miyawaki," -#~ " Florian Thurkow, Frederic Junod, Gerald" -#~ " Fenoy, Gudesa Venkata Sai Akhil, " -#~ "Hang Wu, Jay Mahadeokar, Jinfu Leng, " -#~ "Kai Behncke, Kishore Kumar, Ko Nagase," -#~ " Manikata Kondeti, Mario Basa, Martin " -#~ "Wiesenhaan, Maxim Dubinin, Maoguang Wang, " -#~ "Mohamed Zia, Mukul Priya, Razequl Islam," -#~ " Regina Obe, Rohith Reddy, Sarthak " -#~ "Agarwal, Sourabh Garg, Stephen Woodbridge, " -#~ "Sylvain Housseman, Sylvain Pasche, Vidhan " -#~ "Jain, Virginia Vergara" -#~ msgstr "" - -#~ msgid "" -#~ "pgRouting is an extension of `PostGIS" -#~ " `_ and `PostgreSQL " -#~ "`_ geospatial database and" -#~ " adds routing and other network " -#~ "analysis functionality. A predecessor of " -#~ "pgRouting – pgDijkstra, written by " -#~ "Sylvain Pasche from `Camptocamp " -#~ "`_, was later extended " -#~ "by `Orkney `_ and " -#~ "renamed to pgRouting. The project is " -#~ "now supported and maintained by " -#~ "`Georepublic `_, `iMaptools " -#~ "`__ and a broad user" -#~ " community." -#~ msgstr "" - -#~ msgid "" -#~ "pgRouting is part of `OSGeo Community" -#~ " Projects " -#~ "`_ from" -#~ " the `OSGeo Foundation `_ " -#~ "and included on `OSGeo Live " -#~ "`_." -#~ msgstr "" - -#~ msgid "" -#~ "`Google Summer of Code " -#~ "`_" -#~ msgstr "" - -#~ msgid "`iMaptools `__" -#~ msgstr "" - -#~ msgid "`Paragon Corporation `_" -#~ msgstr "" - -#~ msgid "" -#~ "Aasheesh Tiwari, Aditya Pratap Singh, " -#~ "Adrien Berchet, Cayetano Benavent, Gudesa " -#~ "Venkata Sai Akhil, Hang Wu, Maoguang " -#~ "Wang, Martha Vergara, Mohamed Bakli, " -#~ "Regina Obe, Rohith Reddy, Sourabh Garg," -#~ " Virginia Vergara" -#~ msgstr "" - -#~ msgid "" -#~ "Aasheesh Tiwari, Aditya Pratap Singh, " -#~ "Adrien Berchet, Akio Takubo, Andrea " -#~ "Nardelli, Anthony Tasca, Anton Patrushev, " -#~ "Ashraf Hossain, Cayetano Benavent, Christian" -#~ " Gonzalez, Daniel Kastl, Dave Potts, " -#~ "David Techer, Denis Rykov, Ema Miyawaki," -#~ " Florian Thurkow, Frederic Junod, Gerald" -#~ " Fenoy, Gudesa Venkata Sai Akhil, " -#~ "Hang Wu, Jay Mahadeokar, Jinfu Leng, " -#~ "Kai Behncke, Kishore Kumar, Ko Nagase," -#~ " Manikata Kondeti, Mario Basa, Martin " -#~ "Wiesenhaan, Maxim Dubinin, Maoguang Wang, " -#~ "Mohamed Zia, Mohamed Bakli, Mukul Priya," -#~ " Razequl Islam, Regina Obe, Rohith " -#~ "Reddy, Sarthak Agarwal, Sourabh Garg, " -#~ "Stephen Woodbridge, Sylvain Housseman, Sylvain" -#~ " Pasche, Vidhan Jain, Virginia Vergara" -#~ msgstr "" - diff --git a/locale/en/LC_MESSAGES/pgr_KSP.po b/locale/en/LC_MESSAGES/pgr_KSP.po index 7edd7e2ece6..f2589fb42fb 100644 --- a/locale/en/LC_MESSAGES/pgr_KSP.po +++ b/locale/en/LC_MESSAGES/pgr_KSP.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -59,19 +59,21 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:35 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ " -"`2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_KSP.rst:40 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 " +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " "`__ `2.2 " "`__ `2.1 " -"`__ `2.0 `__" +"`__ `2.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_KSP.rst:50 @@ -81,8 +83,8 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:52 msgid "" -"The K shortest path routing algorithm based on Yen's algorithm. \"K\" is the " -"number of shortest paths desired." +"The K shortest path routing algorithm based on Yen's algorithm. \"K\" is " +"the number of shortest paths desired." msgstr "" #: ../../build/doc/pgr_KSP.rst:55 @@ -180,8 +182,8 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:96 msgid "" -"(optional). When ``false`` the graph is considered as Undirected. Default is " -"``true`` which considers the graph as Directed." +"(optional). When ``false`` the graph is considered as Undirected. Default" +" is ``true`` which considers the graph as Directed." msgstr "" #: ../../build/doc/pgr_KSP.rst:97 @@ -190,14 +192,14 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:97 msgid "" -"(optional). When ``true`` returns all the paths stored in the process heap. " -"Default is ``false`` which only returns ``k`` paths." +"(optional). When ``true`` returns all the paths stored in the process " +"heap. Default is ``false`` which only returns ``k`` paths." msgstr "" #: ../../build/doc/pgr_KSP.rst:100 msgid "" -"Roughly, if the shortest path has ``N`` edges, the heap will contain about " -"than ``N * k`` paths for small value of ``k`` and ``k > 1``." +"Roughly, if the shortest path has ``N`` edges, the heap will contain " +"about than ``N * k`` paths for small value of ``k`` and ``k > 1``." msgstr "" #: ../../build/doc/pgr_KSP.rst:103 @@ -253,8 +255,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -271,8 +273,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -317,8 +319,8 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:118 msgid "" -"Relative position in the path of ``node`` and ``edge``. Has value **1** for " -"the beginning of a path." +"Relative position in the path of ``node`` and ``edge``. Has value **1** " +"for the beginning of a path." msgstr "" #: ../../build/doc/pgr_KSP.rst:119 @@ -327,8 +329,8 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:119 msgid "" -"Path identifier. The ordering of the paths For two paths i, j if i < j then " -"agg_cost(i) <= agg_cost(j)." +"Path identifier. The ordering of the paths For two paths i, j if i < j " +"then agg_cost(i) <= agg_cost(j)." msgstr "" #: ../../build/doc/pgr_KSP.rst:120 @@ -345,8 +347,8 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:121 msgid "" -"Identifier of the edge used to go from ``node`` to the next node in the path " -"sequence. ``-1`` for the last node of the route." +"Identifier of the edge used to go from ``node`` to the next node in the " +"path sequence. ``-1`` for the last node of the route." msgstr "" #: ../../build/doc/pgr_KSP.rst:122 ../../build/doc/pgr_KSP.rst:123 @@ -355,8 +357,8 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:122 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next node in the path " -"sequence." +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgr_KSP.rst:123 @@ -381,7 +383,8 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:137 msgid "" -"For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns" +"For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` " +"columns" msgstr "" #: ../../build/doc/pgr_KSP.rst @@ -437,3 +440,4 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:178 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_TSP.po b/locale/en/LC_MESSAGES/pgr_TSP.po index e250c38e8d2..50b084a5c7b 100644 --- a/locale/en/LC_MESSAGES/pgr_TSP.po +++ b/locale/en/LC_MESSAGES/pgr_TSP.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,19 +55,21 @@ msgstr "" #: ../../build/doc/pgr_TSP.rst:29 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ " -"`2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_TSP.rst:34 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 " +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " "`__ `2.2 " "`__ `2.1 " -"`__ `2.0 `__" +"`__ `2.0 " +"`__" msgstr "" #: ../../build/doc/TSP-family.rst:4 ../../build/doc/TSP-family.rst:6 @@ -78,15 +80,15 @@ msgstr "" #: ../../build/doc/TSP-family.rst:3 msgid "" -"The travelling salesman problem (TSP) or travelling salesperson problem asks " -"the following question:" +"The travelling salesman problem (TSP) or travelling salesperson problem " +"asks the following question:" msgstr "" #: ../../build/doc/TSP-family.rst:6 msgid "" -"*Given a list of cities and the distances between each pair of cities, which " -"is the shortest possible route that visits each city exactly once and " -"returns to the origin city?*" +"*Given a list of cities and the distances between each pair of cities, " +"which is the shortest possible route that visits each city exactly once " +"and returns to the origin city?*" msgstr "" #: ../../build/doc/pgr_TSP.rst:49 @@ -283,8 +285,8 @@ msgstr "" #: ../../build/doc/TSP-family.rst:18 msgid "" -"false: Use `1` as seed. Using this value will get the same results with the " -"same data in each execution." +"false: Use `1` as seed. Using this value will get the same results with " +"the same data in each execution." msgstr "" #: ../../build/doc/pgr_TSP.rst:92 @@ -326,8 +328,8 @@ msgstr "" #: ../../build/doc/pgr_TSP.rst:106 msgid "" "If using `directed := true`, the resulting non symmetric matrix must be " -"converted to symmetric by fixing the non symmetric values according to your " -"application needs." +"converted to symmetric by fixing the non symmetric values according to " +"your application needs." msgstr "" #: ../../build/doc/pgr_TSP.rst:110 @@ -360,8 +362,8 @@ msgstr "" #: ../../build/doc/TSP-family.rst:11 msgid "" -"Cost to traverse from the current ``node`` to the next ``node`` in the path " -"sequence." +"Cost to traverse from the current ``node`` to the next ``node`` in the " +"path sequence." msgstr "" #: ../../build/doc/TSP-family.rst:11 @@ -394,8 +396,8 @@ msgstr "" #: ../../build/doc/pgr_TSP.rst:129 msgid "" -"the **side** information of pointsOfInterset is ignored by not including it " -"in the query" +"the **side** information of pointsOfInterset is ignored by not including " +"it in the query" msgstr "" #: ../../build/doc/pgr_TSP.rst:130 @@ -416,20 +418,21 @@ msgstr "" #: ../../build/doc/pgr_TSP.rst:142 msgid "" -"`Simulated annaeling algorithm for beginners `__" +"`Simulated annaeling algorithm for beginners " +"`__" msgstr "" #: ../../build/doc/pgr_TSP.rst:143 msgid "" -"`Wikipedia: Traveling Salesman Problem `__" +"`Wikipedia: Traveling Salesman Problem " +"`__" msgstr "" #: ../../build/doc/pgr_TSP.rst:144 msgid "" -"`Wikipedia: Simulated annealing `__" +"`Wikipedia: Simulated annealing " +"`__" msgstr "" #: ../../build/doc/pgr_TSP.rst:147 @@ -443,3 +446,4 @@ msgstr "" #: ../../build/doc/pgr_TSP.rst:149 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_TSPeuclidean.po b/locale/en/LC_MESSAGES/pgr_TSPeuclidean.po index 8c0e90391e8..dbe4239f5e8 100644 --- a/locale/en/LC_MESSAGES/pgr_TSPeuclidean.po +++ b/locale/en/LC_MESSAGES/pgr_TSPeuclidean.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,8 +22,7 @@ msgid "pgr_TSPeuclidean" msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:13 -msgid "" -"``pgr_TSPeuclidean`` - Using *Simulated Annealing* approximation algorithm" +msgid "``pgr_TSPeuclidean`` - Using *Simulated Annealing* approximation algorithm" msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:17 @@ -52,18 +51,18 @@ msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:28 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:33 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" msgstr "" #: ../../build/doc/TSP-family.rst:4 ../../build/doc/TSP-family.rst:6 @@ -75,15 +74,15 @@ msgstr "" #: ../../build/doc/TSP-family.rst:3 msgid "" -"The travelling salesman problem (TSP) or travelling salesperson problem asks " -"the following question:" +"The travelling salesman problem (TSP) or travelling salesperson problem " +"asks the following question:" msgstr "" #: ../../build/doc/TSP-family.rst:6 msgid "" -"*Given a list of cities and the distances between each pair of cities, which " -"is the shortest possible route that visits each city exactly once and " -"returns to the origin city?*" +"*Given a list of cities and the distances between each pair of cities, " +"which is the shortest possible route that visits each city exactly once " +"and returns to the origin city?*" msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:45 @@ -280,8 +279,8 @@ msgstr "" #: ../../build/doc/TSP-family.rst:18 msgid "" -"false: Use `1` as seed. Using this value will get the same results with the " -"same data in each execution." +"false: Use `1` as seed. Using this value will get the same results with " +"the same data in each execution." msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:88 @@ -290,8 +289,8 @@ msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:90 msgid "" -"**Coordinates SQL**: an SQL query, which should return a set of rows with " -"the following columns:" +"**Coordinates SQL**: an SQL query, which should return a set of rows with" +" the following columns:" msgstr "" #: ../../build/doc/TSP-family.rst:6 ../../build/doc/pgr_TSPeuclidean.rst:93 @@ -308,8 +307,8 @@ msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:97 msgid "" -"When missing the coordinates will receive an **id** starting from 1, in the " -"order given." +"When missing the coordinates will receive an **id** starting from 1, in " +"the order given." msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:99 @@ -358,8 +357,8 @@ msgstr "" #: ../../build/doc/TSP-family.rst:11 msgid "" -"Cost to traverse from the current ``node`` to the next ``node`` in the path " -"sequence." +"Cost to traverse from the current ``node`` to the next ``node`` in the " +"path sequence." msgstr "" #: ../../build/doc/TSP-family.rst:11 @@ -384,8 +383,8 @@ msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:114 msgid "" -"Try :math:`3` times per temperature with cooling factor of :math:`0.5`, not " -"having a random execution" +"Try :math:`3` times per temperature with cooling factor of :math:`0.5`, " +"not having a random execution" msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:120 @@ -406,20 +405,21 @@ msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:132 msgid "" -"`Simulated annaeling algorithm for beginners `__" +"`Simulated annaeling algorithm for beginners " +"`__" msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:133 msgid "" -"`Wikipedia: Traveling Salesman Problem `__" +"`Wikipedia: Traveling Salesman Problem " +"`__" msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:134 msgid "" -"`Wikipedia: Simulated annealing `__" +"`Wikipedia: Simulated annealing " +"`__" msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:137 @@ -433,3 +433,4 @@ msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:139 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_aStar.po b/locale/en/LC_MESSAGES/pgr_aStar.po index 2f98944cd39..3c8e1d8120f 100644 --- a/locale/en/LC_MESSAGES/pgr_aStar.po +++ b/locale/en/LC_MESSAGES/pgr_aStar.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -87,15 +87,17 @@ msgstr "" #: ../../build/doc/pgr_aStar.rst:46 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_aStar.rst:51 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 " +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " "`__ `2.2 " "`__ `2.1 " "`__ `2.0 " @@ -181,8 +183,8 @@ msgstr "" #: ../../build/doc/pgr_aStar.rst:68 msgid "" -"The results are equivalent to the union of the results of the `pgr_aStar(` " -"`One to One`_ `)` on the:" +"The results are equivalent to the union of the results of the " +"`pgr_aStar(` `One to One`_ `)` on the:" msgstr "" #: ../../build/doc/pgr_aStar.rst:70 @@ -199,8 +201,8 @@ msgstr "" #: ../../build/doc/pgr_aStar.rst:74 msgid "" -"``start_vid`` and ``end_vid`` in the result is used to distinguish to which " -"path it belongs." +"``start_vid`` and ``end_vid`` in the result is used to distinguish to " +"which path it belongs." msgstr "" #: ../../build/doc/pgr_aStar.rst:77 @@ -233,8 +235,8 @@ msgstr "" #: ../../build/doc/pgr_aStar.rst:120 msgid "" -"From vertex :math:`2` to vertex :math:`12` on an **undirected** graph using " -"heuristic :math:`2`" +"From vertex :math:`2` to vertex :math:`12` on an **undirected** graph " +"using heuristic :math:`2`" msgstr "" #: ../../build/doc/pgr_aStar.rst:130 @@ -459,7 +461,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 @@ -510,8 +513,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -528,8 +531,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:17 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -590,8 +593,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"Returns set of ``(seq, path_seq [, start_vid] [, end_vid], node, edge, cost, " -"agg_cost)``" +"Returns set of ``(seq, path_seq [, start_vid] [, end_vid], node, edge, " +"cost, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 @@ -613,7 +616,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Relative position in the path. Has value **1** for the beginning of a path." +"Relative position in the path. Has value **1** for the beginning of a " +"path." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -629,8 +633,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 msgid "" -"Identifier of the starting vertex. Returned when multiple starting vetrices " -"are in the query." +"Identifier of the starting vertex. Returned when multiple starting " +"vetrices are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:16 @@ -639,8 +643,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:16 msgid "" -"Identifier of the ending vertex. Returned when multiple ending vertices are " -"in the query." +"Identifier of the ending vertex. Returned when multiple ending vertices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:22 @@ -657,14 +661,14 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:23 msgid "" -"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." +"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." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next node in the path " -"sequence." +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 @@ -706,3 +710,4 @@ msgstr "" #: ../../build/doc/pgr_aStar.rst:267 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_aStarCost.po b/locale/en/LC_MESSAGES/pgr_aStarCost.po index 3c20d3a9c68..8cf5ab5626e 100644 --- a/locale/en/LC_MESSAGES/pgr_aStarCost.po +++ b/locale/en/LC_MESSAGES/pgr_aStarCost.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_aStarCost.rst:13 msgid "" -"``pgr_aStarCost`` — Returns the aggregate cost shortest path using :doc:" -"`pgr_aStar` algorithm." +"``pgr_aStarCost`` — Returns the aggregate cost shortest path using " +":doc:`pgr_aStar` algorithm." msgstr "" #: ../../build/doc/pgr_aStarCost.rst:18 @@ -57,17 +57,17 @@ msgstr "" #: ../../build/doc/pgr_aStarCost.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:37 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 @@ -195,8 +195,8 @@ msgstr "" #: ../../build/doc/pgr_aStarCost.rst:99 msgid "" -"From vertex :math:`2` to vertex :math:`12` on an **undirected** graph using " -"heuristic :math:`2`" +"From vertex :math:`2` to vertex :math:`12` on an **undirected** graph " +"using heuristic :math:`2`" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:109 @@ -415,7 +415,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 @@ -465,8 +466,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -483,8 +484,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:17 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -558,8 +559,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." +"Identifier of the starting vertex. Used when multiple starting vetrices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -568,8 +569,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." +"Identifier of the ending vertex. Used when multiple ending vertices are " +"in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -611,3 +612,4 @@ msgstr "" #: ../../build/doc/pgr_aStarCost.rst:201 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_aStarCostMatrix.po b/locale/en/LC_MESSAGES/pgr_aStarCostMatrix.po index 44a9a07faae..b5b700414cf 100644 --- a/locale/en/LC_MESSAGES/pgr_aStarCostMatrix.po +++ b/locale/en/LC_MESSAGES/pgr_aStarCostMatrix.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_aStarCostMatrix.rst:13 msgid "" -"``pgr_aStarCostMatrix`` - Calculates the a cost matrix using :doc:" -"`pgr_aStar`." +"``pgr_aStarCostMatrix`` - Calculates the a cost matrix using " +":doc:`pgr_aStar`." msgstr "" #: ../../build/doc/pgr_aStarCostMatrix.rst:18 @@ -57,17 +57,17 @@ msgstr "" #: ../../build/doc/pgr_aStarCostMatrix.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_aStarCostMatrix.rst:37 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 @@ -138,8 +138,7 @@ msgid "Example" msgstr "" #: ../../build/doc/pgr_aStarCostMatrix.rst:80 -msgid "" -"Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" +msgid "Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" msgstr "" #: ../../build/doc/pgr_aStarCostMatrix.rst:90 @@ -293,7 +292,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 @@ -349,8 +349,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -367,8 +367,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:17 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -442,8 +442,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." +"Identifier of the starting vertex. Used when multiple starting vetrices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -452,8 +452,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." +"Identifier of the ending vertex. Used when multiple ending vertices are " +"in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -507,3 +507,4 @@ msgstr "" #: ../../build/doc/pgr_aStarCostMatrix.rst:159 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_alphaShape.po b/locale/en/LC_MESSAGES/pgr_alphaShape.po index 59fe218d920..2ea36682b9e 100644 --- a/locale/en/LC_MESSAGES/pgr_alphaShape.po +++ b/locale/en/LC_MESSAGES/pgr_alphaShape.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -71,21 +71,24 @@ msgstr "" #: ../../build/doc/pgr_alphaShape.rst:34 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_alphaShape.rst:38 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" +" `2.1 " +"`__" +" `2.0 " +"`__" msgstr "" #: ../../build/doc/pgr_alphaShape.rst:48 ../../build/doc/pgr_alphaShape.rst:88 @@ -110,8 +113,7 @@ msgid "Uses PostGis ST_DelaunyTriangles" msgstr "" #: ../../build/doc/pgr_alphaShape.rst:56 -msgid "" -"Instead of using CGAL's definition of `alpha` it use the ``spoon_radius``" +msgid "Instead of using CGAL's definition of `alpha` it use the ``spoon_radius``" msgstr "" #: ../../build/doc/pgr_alphaShape.rst:58 @@ -120,13 +122,12 @@ msgstr "" #: ../../build/doc/pgr_alphaShape.rst:60 msgid "" -"A Triangle area is considered part of the alpha shape when :math:" -"`circumcenter\\ radius < spoon\\_radius`" +"A Triangle area is considered part of the alpha shape when " +":math:`circumcenter\\ radius < spoon\\_radius`" msgstr "" #: ../../build/doc/pgr_alphaShape.rst:61 -msgid "" -"When the total number of points is less than 3, returns an EMPTY geometry" +msgid "When the total number of points is less than 3, returns an EMPTY geometry" msgstr "" #: ../../build/doc/pgr_alphaShape.rst:65 @@ -139,8 +140,8 @@ msgstr "" #: ../../build/doc/pgr_alphaShape.rst:78 msgid "" -"Example: passing a geometry collection with spoon radius :math:`1.5` using " -"the return variable ``geom``" +"Example: passing a geometry collection with spoon radius :math:`1.5` " +"using the return variable ``geom``" msgstr "" #: ../../build/doc/pgr_alphaShape.rst:85 @@ -226,3 +227,4 @@ msgstr "" #: ../../build/doc/pgr_alphaShape.rst:117 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_analyzeGraph.po b/locale/en/LC_MESSAGES/pgr_analyzeGraph.po index f7fc216ce5f..f75882c3e65 100644 --- a/locale/en/LC_MESSAGES/pgr_analyzeGraph.po +++ b/locale/en/LC_MESSAGES/pgr_analyzeGraph.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -43,21 +43,24 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:23 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:28 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" +" `2.1 " +"`__" +" `2.0 " +"`__" msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:38 @@ -93,14 +96,14 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:58 msgid "" -"Use :doc:`pgr_createVerticesTable ` to create the " -"vertices table." +"Use :doc:`pgr_createVerticesTable ` to create " +"the vertices table." msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:59 msgid "" -"Use :doc:`pgr_createTopology ` to create the topology " -"and the vertices table." +"Use :doc:`pgr_createTopology ` to create the topology" +" and the vertices table." msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:62 @@ -124,8 +127,7 @@ msgid "tolerance" msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:67 -msgid "" -"``float8`` Snapping tolerance of disconnected edges. (in projection unit)" +msgid "``float8`` Snapping tolerance of disconnected edges. (in projection unit)" msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst @@ -174,8 +176,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:72 msgid "" -"``text`` Condition to select a subset or rows. Default value is ``true`` " -"to indicate all rows." +"``text`` Condition to select a subset or rows. Default value is " +"``true`` to indicate all rows." msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:78 @@ -188,7 +190,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:80 msgid "" -"Returns the analysis of the section of the network defined by ``rows_where``" +"Returns the analysis of the section of the network defined by " +"``rows_where``" msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:84 @@ -220,7 +223,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:93 msgid "" "The vertices table can be created with :doc:`pgr_createVerticesTable " -"` or :doc:`pgr_createTopology `" +"` or :doc:`pgr_createTopology " +"`" msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:95 @@ -237,7 +241,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:98 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex." msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst @@ -254,8 +259,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:100 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex " -"as incoming. See :doc:`pgr_analyzeOneWay `." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex as incoming. See :doc:`pgr_analyzeOneWay `." msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst @@ -264,8 +269,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:101 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex " -"as outgoing. See :doc:`pgr_analyzeOneWay `." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex as outgoing. See :doc:`pgr_analyzeOneWay `." msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:102 @@ -291,9 +296,9 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst msgid "" "An error would occur when the arguments are not given in the appropriate " -"order: In this example, the column ``id`` of the table ``mytable`` is passed " -"to the function as the geometry column, and the geometry column ``the_geom`` " -"is passed to the function as the id column." +"order: In this example, the column ``id`` of the table ``mytable`` is " +"passed to the function as the geometry column, and the geometry column " +"``the_geom`` is passed to the function as the id column." msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:129 @@ -308,8 +313,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:140 msgid "" -"Parameters defined with a default value can be omitted, as long as the value " -"matches the default:" +"Parameters defined with a default value can be omitted, as long as the " +"value matches the default:" msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:147 @@ -319,8 +324,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:148 msgid "" -"Selecting rows based on the id. Displays the analysis a the section of the " -"network." +"Selecting rows based on the id. Displays the analysis a the section of " +"the network." msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:154 @@ -331,8 +336,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:160 msgid "" -"Selecting the rows where the geometry is near the geometry of the row with " -"``gid`` =100 of the table ``othertable``." +"Selecting the rows where the geometry is near the geometry of the row " +"with ``gid`` =100 of the table ``othertable``." msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:167 @@ -348,8 +353,7 @@ msgid "Using positional notation:" msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:177 -msgid "" -"The arguments need to be given in the order described in the parameters:" +msgid "The arguments need to be given in the order described in the parameters:" msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst @@ -407,14 +411,14 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:271 msgid "" -":doc:`pgr_createVerticesTable ` to reconstruct the " -"vertices table based on the source and target information." +":doc:`pgr_createVerticesTable ` to reconstruct " +"the vertices table based on the source and target information." msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:272 msgid "" -":doc:`pgr_nodeNetwork ` to create nodes to a not noded edge " -"table." +":doc:`pgr_nodeNetwork ` to create nodes to a not noded " +"edge table." msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:275 @@ -428,3 +432,4 @@ msgstr "" #: ../../build/doc/pgr_analyzeGraph.rst:277 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_analyzeOneWay.po b/locale/en/LC_MESSAGES/pgr_analyzeOneWay.po index 089d627a8cb..189a036861b 100644 --- a/locale/en/LC_MESSAGES/pgr_analyzeOneWay.po +++ b/locale/en/LC_MESSAGES/pgr_analyzeOneWay.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,8 +29,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:15 msgid "" -"This function analyzes oneway streets in a graph and identifies any flipped " -"segments." +"This function analyzes oneway streets in a graph and identifies any " +"flipped segments." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:18 @@ -51,21 +51,24 @@ msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:25 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:30 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" +" `2.1 " +"`__" +" `2.0 " +"`__" msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:39 @@ -76,31 +79,31 @@ msgstr "" msgid "" "The analyses of one way segments is pretty simple but can be a powerful " "tools to identifying some the potential problems created by setting the " -"direction of a segment the wrong way. A node is a `source` if it has edges " -"the exit from that node and no edges enter that node. Conversely, a node is " -"a `sink` if all edges enter the node but none exit that node. For a `source` " -"type node it is logically impossible to exist because no vehicle can exit " -"the node if no vehicle and enter the node. Likewise, if you had a `sink` " -"node you would have an infinite number of vehicle piling up on this node " -"because you can enter it but not leave it." +"direction of a segment the wrong way. A node is a `source` if it has " +"edges the exit from that node and no edges enter that node. Conversely, a" +" node is a `sink` if all edges enter the node but none exit that node. " +"For a `source` type node it is logically impossible to exist because no " +"vehicle can exit the node if no vehicle and enter the node. Likewise, if " +"you had a `sink` node you would have an infinite number of vehicle piling" +" up on this node because you can enter it but not leave it." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:43 msgid "" -"So why do we care if the are not feasible? Well if the direction of an edge " -"was reversed by mistake we could generate exactly these conditions. Think " -"about a divided highway and on the north bound lane one segment got entered " -"wrong or maybe a sequence of multiple segments got entered wrong or maybe " -"this happened on a round-about. The result would be potentially a `source` " -"and/or a `sink` node." +"So why do we care if the are not feasible? Well if the direction of an " +"edge was reversed by mistake we could generate exactly these conditions. " +"Think about a divided highway and on the north bound lane one segment got" +" entered wrong or maybe a sequence of multiple segments got entered wrong" +" or maybe this happened on a round-about. The result would be potentially" +" a `source` and/or a `sink` node." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:45 msgid "" "So by counting the number of edges entering and exiting each node we can " -"identify both `source` and `sink` nodes so that you can look at those areas " -"of your network to make repairs and/or report the problem back to your data " -"vendor." +"identify both `source` and `sink` nodes so that you can look at those " +"areas of your network to make repairs and/or report the problem back to " +"your data vendor." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:48 @@ -117,14 +120,14 @@ msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:51 msgid "" -"Use :doc:`pgr_createVerticesTable ` to create the " -"vertices table." +"Use :doc:`pgr_createVerticesTable ` to create " +"the vertices table." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:52 msgid "" -"Use :doc:`pgr_createTopology ` to create the topology " -"and the vertices table." +"Use :doc:`pgr_createTopology ` to create the topology" +" and the vertices table." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:55 @@ -217,9 +220,9 @@ msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:78 msgid "" -"It is strongly recommended to use the named notation. See :doc:" -"`pgr_createVerticesTable ` or :doc:" -"`pgr_createTopology ` for examples." +"It is strongly recommended to use the named notation. See " +":doc:`pgr_createVerticesTable ` or " +":doc:`pgr_createTopology ` for examples." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:80 @@ -235,8 +238,7 @@ msgid "Uses the vertices table: _vertices_pgr." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:85 -msgid "" -"Fills completely the ``ein`` and ``eout`` columns of the vertices table." +msgid "Fills completely the ``ein`` and ``eout`` columns of the vertices table." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:87 @@ -271,7 +273,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:97 msgid "" "The vertices table can be created with :doc:`pgr_createVerticesTable " -"` or :doc:`pgr_createTopology `" +"` or :doc:`pgr_createTopology " +"`" msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:99 @@ -292,8 +295,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:102 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex. " -"See :doc:`pgr_analyzeGgraph `." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex. See :doc:`pgr_analyzeGgraph `." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst @@ -302,8 +305,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:103 msgid "" -"``integer`` Indicator that the vertex might have a problem. See :doc:" -"`pgr_analyzeGraph `." +"``integer`` Indicator that the vertex might have a problem. See " +":doc:`pgr_analyzeGraph `." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst @@ -312,8 +315,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:104 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex " -"as incoming." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex as incoming." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst @@ -322,8 +325,8 @@ msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:105 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex " -"as outgoing." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex as outgoing." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst @@ -358,13 +361,14 @@ msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:122 msgid "" -":doc:`pgr_analyzeGraph` to analyze the edges and vertices of the edge table." +":doc:`pgr_analyzeGraph` to analyze the edges and vertices of the edge " +"table." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:123 msgid "" -":doc:`pgr_createVerticesTable` to reconstruct the vertices table based on " -"the source and target information." +":doc:`pgr_createVerticesTable` to reconstruct the vertices table based on" +" the source and target information." msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:126 @@ -378,3 +382,4 @@ msgstr "" #: ../../build/doc/pgr_analyzeOneWay.rst:128 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_articulationPoints.po b/locale/en/LC_MESSAGES/pgr_articulationPoints.po index d0f166a3aa8..883815b2180 100644 --- a/locale/en/LC_MESSAGES/pgr_articulationPoints.po +++ b/locale/en/LC_MESSAGES/pgr_articulationPoints.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:13 msgid "" -"``pgr_articulationPoints`` - Return the articulation points of an undirected " -"graph." +"``pgr_articulationPoints`` - Return the articulation points of an " +"undirected graph." msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:18 @@ -61,16 +61,16 @@ msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:37 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__" msgstr "" #: ../../build/doc/components-family.rst:4 @@ -82,10 +82,11 @@ msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:44 msgid "" -"Those vertices that belong to more than one biconnected component are called " -"articulation points or, equivalently, cut vertices. Articulation points are " -"vertices whose removal would increase the number of connected components in " -"the graph. This implementation can only be used with an undirected graph." +"Those vertices that belong to more than one biconnected component are " +"called articulation points or, equivalently, cut vertices. Articulation " +"points are vertices whose removal would increase the number of connected " +"components in the graph. This implementation can only be used with an " +"undirected graph." msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:50 @@ -161,8 +162,8 @@ msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:88 msgid "" -"an SQL query of an **undirected** graph, which should return a set of rows " -"with the following columns:" +"an SQL query of an **undirected** graph, which should return a set of " +"rows with the following columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -215,8 +216,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -233,8 +234,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -291,14 +292,14 @@ msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:114 msgid "" -"Boost: `Biconnected components & articulation points `__" +"Boost: `Biconnected components & articulation points " +"`__" msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:115 msgid "" -"wikipedia: `Biconnected component `__" +"wikipedia: `Biconnected component " +"`__" msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:118 @@ -312,3 +313,4 @@ msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:120 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdAstar.po b/locale/en/LC_MESSAGES/pgr_bdAstar.po index 39d11db3fb6..3919e83800f 100644 --- a/locale/en/LC_MESSAGES/pgr_bdAstar.po +++ b/locale/en/LC_MESSAGES/pgr_bdAstar.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,7 +23,8 @@ msgstr "" #: ../../build/doc/pgr_bdAstar.rst:13 msgid "" -"``pgr_bdAstar`` — Returns the shortest path using Bidirectional A* algorithm." +"``pgr_bdAstar`` — Returns the shortest path using Bidirectional A* " +"algorithm." msgstr "" #: ../../build/doc/pgr_bdAstar.rst:18 @@ -84,20 +85,22 @@ msgstr "" #: ../../build/doc/pgr_bdAstar.rst:44 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:49 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__ " +"`2.2 " +"`__ " +"`2.1 `__ `2.0" +" `__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 @@ -179,8 +182,8 @@ msgstr "" #: ../../build/doc/pgr_bdAstar.rst:66 msgid "" -"The results are equivalent to the union of the results of the `pgr_bdAStar(` " -"`One to One`_ `)` on the:" +"The results are equivalent to the union of the results of the " +"`pgr_bdAStar(` `One to One`_ `)` on the:" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:68 @@ -197,8 +200,8 @@ msgstr "" #: ../../build/doc/pgr_bdAstar.rst:72 msgid "" -"``start_vid`` and ``end_vid`` in the result is used to distinguish to which " -"path it belongs." +"``start_vid`` and ``end_vid`` in the result is used to distinguish to " +"which path it belongs." msgstr "" #: ../../build/doc/pgr_bdAstar.rst:75 @@ -251,8 +254,8 @@ msgstr "" #: ../../build/doc/pgr_bdAstar.rst:150 msgid "" -"From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on an **undirected** " -"graph using heuristic :math:`4`" +"From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on an **undirected**" +" graph using heuristic :math:`4`" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:160 @@ -456,7 +459,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 @@ -507,8 +511,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -525,8 +529,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:17 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -587,8 +591,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"Returns set of ``(seq, path_id, path_seq [, start_vid] [, end_vid], node, " -"edge, cost, agg_cost)``" +"Returns set of ``(seq, path_id, path_seq [, start_vid] [, end_vid], node," +" edge, cost, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 @@ -611,8 +615,9 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Path identifier. Has value **1** for the first of a path. Used when there " -"are multiple paths for the same ``start_vid`` to ``end_vid`` combination." +"Path identifier. Has value **1** for the first of a path. Used when there" +" are multiple paths for the same ``start_vid`` to ``end_vid`` " +"combination." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -621,7 +626,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 msgid "" -"Relative position in the path. Has value **1** for the beginning of a path." +"Relative position in the path. Has value **1** for the beginning of a " +"path." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 @@ -637,8 +643,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"Identifier of the starting vertex. Returned when multiple starting vetrices " -"are in the query." +"Identifier of the starting vertex. Returned when multiple starting " +"vetrices are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 @@ -647,8 +653,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" -"Identifier of the ending vertex. Returned when multiple ending vertices are " -"in the query." +"Identifier of the ending vertex. Returned when multiple ending vertices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:24 @@ -665,14 +671,14 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 msgid "" -"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." +"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." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:26 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next node in the path " -"sequence." +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:27 @@ -718,3 +724,4 @@ msgstr "" #: ../../build/doc/pgr_bdAstar.rst:218 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdAstarCost.po b/locale/en/LC_MESSAGES/pgr_bdAstarCost.po index b9cf1f58df9..4a55565cb7a 100644 --- a/locale/en/LC_MESSAGES/pgr_bdAstarCost.po +++ b/locale/en/LC_MESSAGES/pgr_bdAstarCost.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:13 msgid "" -"``pgr_bdAstarCost`` — Returns the aggregate cost shortest path using :doc:" -"`pgr_aStar` algorithm." +"``pgr_bdAstarCost`` — Returns the aggregate cost shortest path using " +":doc:`pgr_aStar` algorithm." msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:18 @@ -53,16 +53,16 @@ msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:30 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:35 msgid "" -"**Unsupported versions:** `2.5 `__" +"**Unsupported versions:** `2.5 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 @@ -407,7 +407,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 @@ -457,8 +458,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -475,8 +476,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:17 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -550,8 +551,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." +"Identifier of the starting vertex. Used when multiple starting vetrices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -560,8 +561,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." +"Identifier of the ending vertex. Used when multiple ending vertices are " +"in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -603,3 +604,4 @@ msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:197 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdAstarCostMatrix.po b/locale/en/LC_MESSAGES/pgr_bdAstarCostMatrix.po index 60cf89e9875..d165a71b864 100644 --- a/locale/en/LC_MESSAGES/pgr_bdAstarCostMatrix.po +++ b/locale/en/LC_MESSAGES/pgr_bdAstarCostMatrix.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_bdAstarCostMatrix.rst:13 msgid "" -"``pgr_bdAstarCostMatrix`` - Calculates the a cost matrix using :doc:" -"`pgr_aStar`." +"``pgr_bdAstarCostMatrix`` - Calculates the a cost matrix using " +":doc:`pgr_aStar`." msgstr "" #: ../../build/doc/pgr_bdAstarCostMatrix.rst:18 @@ -57,16 +57,16 @@ msgstr "" #: ../../build/doc/pgr_bdAstarCostMatrix.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_bdAstarCostMatrix.rst:37 msgid "" -"**Unsupported versions:** `2.5 `__" +"**Unsupported versions:** `2.5 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 @@ -137,8 +137,7 @@ msgid "Example" msgstr "" #: ../../build/doc/pgr_bdAstarCostMatrix.rst:79 -msgid "" -"Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" +msgid "Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" msgstr "" #: ../../build/doc/pgr_bdAstarCostMatrix.rst:90 @@ -293,7 +292,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 @@ -349,8 +349,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -367,8 +367,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:17 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -442,8 +442,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." +"Identifier of the starting vertex. Used when multiple starting vetrices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -452,8 +452,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." +"Identifier of the ending vertex. Used when multiple ending vertices are " +"in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -511,3 +511,4 @@ msgstr "" #: ../../build/doc/pgr_bdAstarCostMatrix.rst:160 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdDijkstra.po b/locale/en/LC_MESSAGES/pgr_bdDijkstra.po index 0cf4a22bfa6..3281f70eb2f 100644 --- a/locale/en/LC_MESSAGES/pgr_bdDijkstra.po +++ b/locale/en/LC_MESSAGES/pgr_bdDijkstra.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -89,21 +89,24 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:46 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:51 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" +" `2.1 " +"`__ " +"`2.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -125,8 +128,7 @@ msgid "Values are returned when there is a path." msgstr "" #: ../../build/doc/bdDijkstra-family.rst:6 -msgid "" -"When the starting vertex and ending vertex are the same, there is no path." +msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" #: ../../build/doc/bdDijkstra-family.rst:8 @@ -135,8 +137,8 @@ msgstr "" #: ../../build/doc/bdDijkstra-family.rst:10 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path:" +"When the starting vertex and ending vertex are the different and there is" +" no path:" msgstr "" #: ../../build/doc/bdDijkstra-family.rst:12 @@ -191,7 +193,8 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:127 msgid "" -"From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** graph" +"From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " +"graph" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:137 @@ -200,7 +203,8 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:145 msgid "" -"From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** graph" +"From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** " +"graph" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:155 @@ -371,8 +375,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -389,8 +393,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -419,8 +423,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"Returns set of ``(seq, path_id, path_seq [, start_vid] [, end_vid], node, " -"edge, cost, agg_cost)``" +"Returns set of ``(seq, path_id, path_seq [, start_vid] [, end_vid], node," +" edge, cost, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 @@ -443,8 +447,9 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Path identifier. Has value **1** for the first of a path. Used when there " -"are multiple paths for the same ``start_vid`` to ``end_vid`` combination." +"Path identifier. Has value **1** for the first of a path. Used when there" +" are multiple paths for the same ``start_vid`` to ``end_vid`` " +"combination." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -453,13 +458,14 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 msgid "" -"Relative position in the path. Has value **1** for the beginning of a path." +"Relative position in the path. Has value **1** for the beginning of a " +"path." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"Identifier of the starting vertex. Returned when multiple starting vetrices " -"are in the query." +"Identifier of the starting vertex. Returned when multiple starting " +"vetrices are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:14 @@ -473,8 +479,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" -"Identifier of the ending vertex. Returned when multiple ending vertices are " -"in the query." +"Identifier of the ending vertex. Returned when multiple ending vertices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 @@ -495,8 +501,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 msgid "" -"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." +"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." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:26 @@ -506,8 +512,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:26 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next node in the path " -"sequence." +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:27 @@ -532,9 +538,7 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:210 #, python-format -msgid "" -"https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP" -"%20shortest%20path%20algorithms.pdf" +msgid "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:211 @@ -552,3 +556,4 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:216 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po b/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po index 4d15515b263..84f261f519a 100644 --- a/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po +++ b/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,16 +57,16 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:37 msgid "" -"**Unsupported versions:** `2.5 `__" +"**Unsupported versions:** `2.5 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -89,8 +89,7 @@ msgid "Values are returned when there is a path." msgstr "" #: ../../build/doc/bdDijkstra-family.rst:6 -msgid "" -"When the starting vertex and ending vertex are the same, there is no path." +msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" #: ../../build/doc/bdDijkstra-family.rst:8 @@ -99,8 +98,8 @@ msgstr "" #: ../../build/doc/bdDijkstra-family.rst:10 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path:" +"When the starting vertex and ending vertex are the different and there is" +" no path:" msgstr "" #: ../../build/doc/bdDijkstra-family.rst:12 @@ -155,7 +154,8 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:109 msgid "" -"From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** graph" +"From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " +"graph" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:119 @@ -164,7 +164,8 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:127 msgid "" -"From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** graph" +"From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** " +"graph" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:137 @@ -330,8 +331,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -348,8 +349,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -382,14 +383,14 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." +"Identifier of the starting vertex. Used when multiple starting vetrices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." +"Identifier of the ending vertex. Used when multiple ending vertices are " +"in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -418,9 +419,7 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:180 #, python-format -msgid "" -"https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP" -"%20shortest%20path%20algorithms.pdf" +msgid "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:181 @@ -438,3 +437,4 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:186 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po b/locale/en/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po index 996a6bc3027..d182cc25c7a 100644 --- a/locale/en/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po +++ b/locale/en/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:13 msgid "" -"``pgr_bdDijkstraCostMatrix`` - Calculates the a cost matrix using :doc:" -"`pgr_bdDijkstra`." +"``pgr_bdDijkstraCostMatrix`` - Calculates the a cost matrix using " +":doc:`pgr_bdDijkstra`." msgstr "" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:19 @@ -53,16 +53,16 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:31 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) " +"`3.0 `__" msgstr "" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:35 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5" +" `__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -85,8 +85,7 @@ msgid "Values are returned when there is a path." msgstr "" #: ../../build/doc/bdDijkstra-family.rst:6 -msgid "" -"When the starting vertex and ending vertex are the same, there is no path." +msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" #: ../../build/doc/bdDijkstra-family.rst:8 @@ -95,8 +94,8 @@ msgstr "" #: ../../build/doc/bdDijkstra-family.rst:10 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path:" +"When the starting vertex and ending vertex are the different and there is" +" no path:" msgstr "" #: ../../build/doc/bdDijkstra-family.rst:12 @@ -138,8 +137,7 @@ msgid "Example" msgstr "" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:70 -msgid "" -"Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" +msgid "Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" msgstr "" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:77 @@ -200,8 +198,8 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:98 msgid "" -"(optional). When ``false`` the graph is considered as Undirected. Default is " -"``true`` which considers the graph as Directed." +"(optional). When ``false`` the graph is considered as Undirected. Default" +" is ``true`` which considers the graph as Directed." msgstr "" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:102 @@ -262,8 +260,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -280,8 +278,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -323,8 +321,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." +"Identifier of the starting vertex. Used when multiple starting vetrices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -333,8 +331,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." +"Identifier of the ending vertex. Used when multiple ending vertices are " +"in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -388,3 +386,4 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:135 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bellmanFord.po b/locale/en/LC_MESSAGES/pgr_bellmanFord.po index 01fefb5df9a..01622d0d1ae 100644 --- a/locale/en/LC_MESSAGES/pgr_bellmanFord.po +++ b/locale/en/LC_MESSAGES/pgr_bellmanFord.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,8 +24,8 @@ msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:13 msgid "" "``pgr_bellmanFord`` — Returns the shortest path(s) using Bellman-Ford " -"algorithm. In particular, the Bellman-Ford algorithm implemented by Boost." -"Graph." +"algorithm. In particular, the Bellman-Ford algorithm implemented by " +"Boost.Graph." msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:19 @@ -118,9 +118,9 @@ msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -132,13 +132,13 @@ msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:40 msgid "" -"Bellman-Ford's algorithm, is named after Richard Bellman and Lester Ford, " -"who first published it in 1958 and 1956, respectively. It is a graph search " -"algorithm that computes shortest paths from a starting vertex " -"(``start_vid``) to an ending vertex (``end_vid``) in a graph where some of " -"the edge weights may be negative number. Though it is more versatile, it is " -"slower than Dijkstra's algorithm/ This implementation can be used with a " -"directed graph and an undirected graph." +"Bellman-Ford's algorithm, is named after Richard Bellman and Lester Ford," +" who first published it in 1958 and 1956, respectively. It is a graph " +"search algorithm that computes shortest paths from a starting vertex " +"(``start_vid``) to an ending vertex (``end_vid``) in a graph where some " +"of the edge weights may be negative number. Though it is more versatile, " +"it is slower than Dijkstra's algorithm/ This implementation can be used " +"with a directed graph and an undirected graph." msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:64 @@ -146,8 +146,7 @@ msgid "The main characteristics are:" msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:46 -msgid "" -"Process is valid for edges with both positive and negative edge weights." +msgid "Process is valid for edges with both positive and negative edge weights." msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:47 @@ -156,23 +155,23 @@ msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:49 msgid "" -"When the start vertex and the end vertex are the same, there is no path. The " -"agg_cost would be 0." +"When the start vertex and the end vertex are the same, there is no path. " +"The agg_cost would be 0." msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:51 msgid "" -"When the start vertex and the end vertex are different, and there exists a " -"path between them without having a *negative cycle*. The agg_cost would be " -"some finite value denoting the shortest distance between them." +"When the start vertex and the end vertex are different, and there exists " +"a path between them without having a *negative cycle*. The agg_cost would" +" be some finite value denoting the shortest distance between them." msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:52 msgid "" -"When the start vertex and the end vertex are different, and there exists a " -"path between them, but it contains a *negative cycle*. In such case, " -"agg_cost for those vertices keep on decreasing furthermore, Hence agg_cost " -"can’t be defined for them." +"When the start vertex and the end vertex are different, and there exists " +"a path between them, but it contains a *negative cycle*. In such case, " +"agg_cost for those vertices keep on decreasing furthermore, Hence " +"agg_cost can’t be defined for them." msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:54 @@ -237,8 +236,8 @@ msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:125 msgid "" -"From vertex :math:`2` to vertices :math:`\\{ 3, 5\\}` on an **undirected** " -"graph" +"From vertex :math:`2` to vertices :math:`\\{ 3, 5\\}` on an " +"**undirected** graph" msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:135 @@ -247,7 +246,8 @@ msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:143 msgid "" -"From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** graph" +"From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " +"graph" msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:153 @@ -418,8 +418,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -436,8 +436,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -466,8 +466,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"Returns set of ``(seq, path_seq [, start_vid] [, end_vid], node, edge, cost, " -"agg_cost)``" +"Returns set of ``(seq, path_seq [, start_vid] [, end_vid], node, edge, " +"cost, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 @@ -489,13 +489,14 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Relative position in the path. Has value **1** for the beginning of a path." +"Relative position in the path. Has value **1** for the beginning of a " +"path." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 msgid "" -"Identifier of the starting vertex. Returned when multiple starting vetrices " -"are in the query." +"Identifier of the starting vertex. Returned when multiple starting " +"vetrices are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -509,8 +510,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:16 msgid "" -"Identifier of the ending vertex. Returned when multiple ending vertices are " -"in the query." +"Identifier of the ending vertex. Returned when multiple ending vertices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -531,8 +532,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:23 msgid "" -"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." +"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." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:24 @@ -542,8 +543,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next node in the path " -"sequence." +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 @@ -578,3 +579,4 @@ msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:211 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_biconnectedComponents.po b/locale/en/LC_MESSAGES/pgr_biconnectedComponents.po index 715c2758df3..a4cff5a7196 100644 --- a/locale/en/LC_MESSAGES/pgr_biconnectedComponents.po +++ b/locale/en/LC_MESSAGES/pgr_biconnectedComponents.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,7 +24,8 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:13 msgid "" "``pgr_biconnectedComponents`` — Return the biconnected components of an " -"undirected graph. In particular, the algorithm implemented by Boost.Graph." +"undirected graph. In particular, the algorithm implemented by " +"Boost.Graph." msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:19 @@ -69,16 +70,18 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:38 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) " +"`3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:42 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__" +"**Unsupported versions:** `2.6 " +"`__ " +"`2.5 " +"`__" msgstr "" #: ../../build/doc/components-family.rst:4 @@ -90,12 +93,12 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:49 msgid "" -"The biconnected components of an undirected graph are the maximal subsets of " -"vertices such that the removal of a vertex from particular component will " -"not disconnect the component. Unlike connected components, vertices may " -"belong to multiple biconnected components. Vertices can be present in " -"multiple biconnected components, but each edge can only be contained in a " -"single biconnected component." +"The biconnected components of an undirected graph are the maximal subsets" +" of vertices such that the removal of a vertex from particular component " +"will not disconnect the component. Unlike connected components, vertices " +"may belong to multiple biconnected components. Vertices can be present in" +" multiple biconnected components, but each edge can only be contained in " +"a single biconnected component." msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:54 @@ -179,8 +182,8 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:94 msgid "" -"an SQL query of an **undirected** graph, which should return a set of rows " -"with the following columns:" +"an SQL query of an **undirected** graph, which should return a set of " +"rows with the following columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -234,8 +237,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -252,8 +255,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -326,14 +329,14 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:122 msgid "" -"Boost: `Biconnected components `__" +"Boost: `Biconnected components " +"`__" msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:123 msgid "" -"wikipedia: `Biconnected component `__" +"wikipedia: `Biconnected component " +"`__" msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:126 @@ -347,3 +350,4 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:128 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po b/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po index 2bf6a665726..5d43277712d 100644 --- a/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po +++ b/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po b/locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po index d49961f0a51..a2cfc84ee96 100644 --- a/locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po +++ b/locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,8 +24,8 @@ msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:13 msgid "" "``pgr_boykovKolmogorov`` — Calculates the flow on the graph edges that " -"maximizes the flow from the sources to the targets using Boykov Kolmogorov " -"algorithm." +"maximizes the flow from the sources to the targets using Boykov " +"Kolmogorov algorithm." msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:18 @@ -70,18 +70,19 @@ msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:37 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:41 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ " +"`2.3 " +"`__" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 @@ -131,9 +132,9 @@ msgstr "" #: ../../build/doc/flow-family.rst:17 msgid "" -"The maximum flow through the graph is guaranteed to be the value returned " -"by :doc:`pgr_maxFlow ` when executed with the same parameters " -"and can be calculated:" +"The maximum flow through the graph is guaranteed to be the value returned" +" by :doc:`pgr_maxFlow ` when executed with the same " +"parameters and can be calculated:" msgstr "" #: ../../build/doc/flow-family.rst:19 @@ -272,8 +273,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:3 msgid "" -"an SQL query of a directed graph of capacities, which should return a set of " -"rows with the following columns:" +"an SQL query of a directed graph of capacities, which should return a set" +" of rows with the following columns:" msgstr "" #: ../../build/doc/flow-family.rst:8 @@ -308,8 +309,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:15 @@ -326,8 +327,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:17 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:21 @@ -388,7 +389,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:11 msgid "" -"Residual capacity of the edge in the direction (``start_vid``, ``end_vid``)." +"Residual capacity of the edge in the direction (``start_vid``, " +"``end_vid``)." msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:165 @@ -414,3 +416,4 @@ msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:173 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_breadthFirstSearch.po b/locale/en/LC_MESSAGES/pgr_breadthFirstSearch.po index eccf853ba94..8e8c7b698f3 100644 --- a/locale/en/LC_MESSAGES/pgr_breadthFirstSearch.po +++ b/locale/en/LC_MESSAGES/pgr_breadthFirstSearch.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/en/LC_MESSAGES/pgr_bridges.po b/locale/en/LC_MESSAGES/pgr_bridges.po index cf51931cc33..9f06004bf4e 100644 --- a/locale/en/LC_MESSAGES/pgr_bridges.po +++ b/locale/en/LC_MESSAGES/pgr_bridges.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -59,16 +59,16 @@ msgstr "" #: ../../build/doc/pgr_bridges.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_bridges.rst:37 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__" msgstr "" #: ../../build/doc/components-family.rst:4 @@ -80,8 +80,8 @@ msgstr "" #: ../../build/doc/pgr_bridges.rst:45 msgid "" "A bridge is an edge of an undirected graph whose deletion increases its " -"number of connected components. This implementation can only be used with an " -"undirected graph." +"number of connected components. This implementation can only be used with" +" an undirected graph." msgstr "" #: ../../build/doc/pgr_bridges.rst:49 @@ -156,8 +156,8 @@ msgstr "" #: ../../build/doc/pgr_bridges.rst:87 msgid "" -"an SQL query of an **undirected** graph, which should return a set of rows " -"with the following columns:" +"an SQL query of an **undirected** graph, which should return a set of " +"rows with the following columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_bridges.rst:100 @@ -209,8 +209,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -227,8 +227,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -295,3 +295,4 @@ msgstr "" #: ../../build/doc/pgr_bridges.rst:116 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_chinesePostman.po b/locale/en/LC_MESSAGES/pgr_chinesePostman.po index 057d53d5572..ddc5eb45d59 100644 --- a/locale/en/LC_MESSAGES/pgr_chinesePostman.po +++ b/locale/en/LC_MESSAGES/pgr_chinesePostman.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,9 @@ msgstr "" #: ../../build/doc/pgr_chinesePostman.rst:13 msgid "" -"``pgr_chinesePostman`` — Calculates the shortest circuit path which contains " -"every edge in a directed graph and starts and ends on the same vertex." +"``pgr_chinesePostman`` — Calculates the shortest circuit path which " +"contains every edge in a directed graph and starts and ends on the same " +"vertex." msgstr "" #: ../../build/doc/experimental.rst:3 @@ -113,9 +114,9 @@ msgstr "" #: ../../build/doc/pgr_chinesePostman.rst:28 msgid "" -"**Supported versions** current(`3.1 `__) `3.0 `__" +"**Supported versions** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/chinesePostmanProblem-family.rst:4 @@ -192,7 +193,8 @@ msgstr "" #: ../../build/doc/chinesePostmanProblem-family.rst:3 msgid "" -"An Edges SQL that represents a **directed** graph with the following columns" +"An Edges SQL that represents a **directed** graph with the following " +"columns" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 @@ -241,8 +243,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -259,8 +261,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -322,8 +324,8 @@ msgstr "" #: ../../build/doc/pgr_chinesePostman.rst:85 msgid "" -"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." +"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." msgstr "" #: ../../build/doc/pgr_chinesePostman.rst:86 @@ -333,8 +335,8 @@ msgstr "" #: ../../build/doc/pgr_chinesePostman.rst:86 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next node in the path " -"sequence." +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgr_chinesePostman.rst:87 @@ -364,3 +366,4 @@ msgstr "" #: ../../build/doc/pgr_chinesePostman.rst:99 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_chinesePostmanCost.po b/locale/en/LC_MESSAGES/pgr_chinesePostmanCost.po index ddb0fca3865..a1e3b98ece3 100644 --- a/locale/en/LC_MESSAGES/pgr_chinesePostmanCost.po +++ b/locale/en/LC_MESSAGES/pgr_chinesePostmanCost.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,9 +23,9 @@ msgstr "" #: ../../build/doc/pgr_chinesePostmanCost.rst:13 msgid "" -"``pgr_chinesePostmanCost`` — Calculates the minimum costs of a circuit path " -"which contains every edge in a directed graph and starts and ends on the " -"same vertex." +"``pgr_chinesePostmanCost`` — Calculates the minimum costs of a circuit " +"path which contains every edge in a directed graph and starts and ends on" +" the same vertex." msgstr "" #: ../../build/doc/experimental.rst:3 @@ -114,9 +114,9 @@ msgstr "" #: ../../build/doc/pgr_chinesePostmanCost.rst:28 msgid "" -"**Supported versions** current(`3.1 `__) `3.0 `__" +"**Supported versions** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/chinesePostmanProblem-family.rst:4 @@ -192,7 +192,8 @@ msgstr "" #: ../../build/doc/chinesePostmanProblem-family.rst:3 msgid "" -"An Edges SQL that represents a **directed** graph with the following columns" +"An Edges SQL that represents a **directed** graph with the following " +"columns" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 @@ -240,8 +241,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -258,8 +259,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -313,3 +314,4 @@ msgstr "" #: ../../build/doc/pgr_chinesePostmanCost.rst:92 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_connectedComponents.po b/locale/en/LC_MESSAGES/pgr_connectedComponents.po index 3c8e954fd60..83b5124857c 100644 --- a/locale/en/LC_MESSAGES/pgr_connectedComponents.po +++ b/locale/en/LC_MESSAGES/pgr_connectedComponents.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:13 msgid "" -"``pgr_connectedComponents`` — Connected components of an undirected graph " -"using a DFS-based approach." +"``pgr_connectedComponents`` — Connected components of an undirected graph" +" using a DFS-based approach." msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:18 @@ -69,16 +69,16 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:37 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0" +" `__" msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:41 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__" msgstr "" #: ../../build/doc/components-family.rst:4 @@ -90,8 +90,8 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:48 msgid "" -"A connected component of an undirected graph is a set of vertices that are " -"all reachable from each other." +"A connected component of an undirected graph is a set of vertices that " +"are all reachable from each other." msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:51 @@ -175,8 +175,8 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:92 msgid "" -"an SQL query of an **undirected** graph, which should return a set of rows " -"with the following columns:" +"an SQL query of an **undirected** graph, which should return a set of " +"rows with the following columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -229,8 +229,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -247,8 +247,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -325,14 +325,14 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:121 msgid "" -"Boost: `Connected components `__" +"Boost: `Connected components " +"`__" msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:122 msgid "" -"wikipedia: `Connected component `__" +"wikipedia: `Connected component " +"`__" msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:125 @@ -346,3 +346,4 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:127 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_contraction.po b/locale/en/LC_MESSAGES/pgr_contraction.po index cc52d90eec5..e64215392d7 100644 --- a/locale/en/LC_MESSAGES/pgr_contraction.po +++ b/locale/en/LC_MESSAGES/pgr_contraction.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_contraction.rst:13 msgid "" -"``pgr_contraction`` — Performs graph contraction and returns the contracted " -"vertices and edges." +"``pgr_contraction`` — Performs graph contraction and returns the " +"contracted vertices and edges." msgstr "" #: ../../build/doc/pgr_contraction.rst:18 @@ -69,18 +69,18 @@ msgstr "" #: ../../build/doc/pgr_contraction.rst:35 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_contraction.rst:39 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -93,9 +93,10 @@ msgstr "" #: ../../build/doc/pgr_contraction.rst:48 msgid "" -"Contraction reduces the size of the graph by removing some of the vertices " -"and edges and, for example, might add edges that represent a sequence of " -"original edges decreasing the total time and space used in graph algorithms." +"Contraction reduces the size of the graph by removing some of the " +"vertices and edges and, for example, might add edges that represent a " +"sequence of original edges decreasing the total time and space used in " +"graph algorithms." msgstr "" #: ../../build/doc/pgr_contraction.rst:72 @@ -259,8 +260,8 @@ msgstr "" #: ../../build/doc/pgr_contraction.rst:114 msgid "" -"Number of times the contraction operations on `contraction_order` will be " -"performed." +"Number of times the contraction operations on `contraction_order` will be" +" performed." msgstr "" #: ../../build/doc/pgr_contraction.rst:115 @@ -336,8 +337,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -354,8 +355,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -458,14 +459,14 @@ msgstr "" #: ../../build/doc/pgr_contraction.rst:150 msgid "" -"When ``type`` = **'e'**: Identifier of the source vertex of the current edge " -"(``source``, ``target``)." +"When ``type`` = **'e'**: Identifier of the source vertex of the current " +"edge (``source``, ``target``)." msgstr "" #: ../../build/doc/pgr_contraction.rst:152 msgid "" -"When ``type`` = **'e'**: Identifier of the target vertex of the current edge " -"(``source``, ``target``)." +"When ``type`` = **'e'**: Identifier of the target vertex of the current " +"edge (``source``, ``target``)." msgstr "" #: ../../build/doc/pgr_contraction.rst:153 @@ -474,7 +475,8 @@ msgstr "" #: ../../build/doc/pgr_contraction.rst:154 msgid "" -"When ``type`` = **'e'**: Weight of the current edge (``source``, ``target``)." +"When ``type`` = **'e'**: Weight of the current edge (``source``, " +"``target``)." msgstr "" #: ../../build/doc/pgr_contraction.rst:158 @@ -508,3 +510,4 @@ msgstr "" #: ../../build/doc/pgr_contraction.rst:180 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_createTopology.po b/locale/en/LC_MESSAGES/pgr_createTopology.po index 6bf0341a088..13215df0088 100644 --- a/locale/en/LC_MESSAGES/pgr_createTopology.po +++ b/locale/en/LC_MESSAGES/pgr_createTopology.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -49,22 +49,24 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:24 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_createTopology.rst:29 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 " -"`__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" +" `2.1 " +"`__" +" `2.0 " +"`__" msgstr "" #: ../../build/doc/pgr_createTopology.rst:38 @@ -111,8 +113,7 @@ msgid "tolerance" msgstr "" #: ../../build/doc/pgr_createTopology.rst:61 -msgid "" -"``float8`` Snapping tolerance of disconnected edges. (in projection unit)" +msgid "``float8`` Snapping tolerance of disconnected edges. (in projection unit)" msgstr "" #: ../../build/doc/pgr_createTopology.rst @@ -161,9 +162,9 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:66 msgid "" -"``text`` Condition to SELECT a subset or rows. Default value is ``true`` " -"to indicate all rows that where ``source`` or ``target`` have a null value, " -"otherwise the condition is used." +"``text`` Condition to SELECT a subset or rows. Default value is " +"``true`` to indicate all rows that where ``source`` or ``target`` have a " +"null value, otherwise the condition is used." msgstr "" #: ../../build/doc/pgr_createTopology.rst @@ -188,8 +189,8 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:77 msgid "" -"An index will be created, if it doesn't exists, to speed up the process to " -"the following columns:" +"An index will be created, if it doesn't exists, to speed up the process " +"to the following columns:" msgstr "" #: ../../build/doc/pgr_createTopology.rst:79 @@ -222,8 +223,8 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:90 msgid "" -"Fills the source and target columns of the edge table referencing the ``id`` " -"of the vertices table." +"Fills the source and target columns of the edge table referencing the " +"``id`` of the vertices table." msgstr "" #: ../../build/doc/pgr_createTopology.rst:93 @@ -273,8 +274,8 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:107 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex. " -"See :doc:`pgr_analyzeGraph `." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex. See :doc:`pgr_analyzeGraph `." msgstr "" #: ../../build/doc/pgr_createTopology.rst @@ -283,8 +284,8 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:108 msgid "" -"``integer`` Indicator that the vertex might have a problem. See :doc:" -"`pgr_analyzeGraph `." +"``integer`` Indicator that the vertex might have a problem. See " +":doc:`pgr_analyzeGraph `." msgstr "" #: ../../build/doc/pgr_createTopology.rst @@ -293,8 +294,8 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:109 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex " -"AS incoming. See :doc:`pgr_analyzeOneWay `." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex AS incoming. See :doc:`pgr_analyzeOneWay `." msgstr "" #: ../../build/doc/pgr_createTopology.rst @@ -303,8 +304,8 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:110 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex " -"AS outgoing. See :doc:`pgr_analyzeOneWay `." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex AS outgoing. See :doc:`pgr_analyzeOneWay `." msgstr "" #: ../../build/doc/pgr_createTopology.rst:111 @@ -335,8 +336,8 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst msgid "" -"In this example, the column ``id`` of the table ``ege_table`` is passed to " -"the function as the geometry column," +"In this example, the column ``id`` of the table ``ege_table`` is passed " +"to the function as the geometry column," msgstr "" #: ../../build/doc/pgr_createTopology.rst @@ -352,8 +353,9 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:140 msgid "" -"Parameters defined with a default value can be omitted, as long as the value " -"matches the default And The order of the parameters would not matter." +"Parameters defined with a default value can be omitted, as long as the " +"value matches the default And The order of the parameters would not " +"matter." msgstr "" #: ../../build/doc/pgr_createTopology.rst:156 @@ -367,15 +369,15 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:163 msgid "" -"Selecting the rows where the geometry is near the geometry of row with ``id " -"= 5``." +"Selecting the rows where the geometry is near the geometry of row with " +"``id = 5``." msgstr "" #: ../../build/doc/pgr_createTopology.rst:169 #: ../../build/doc/pgr_createTopology.rst:223 msgid "" -"Selecting the rows where the geometry is near the geometry of the row with " -"``gid`` =100 of the table ``othertable``." +"Selecting the rows where the geometry is near the geometry of the row " +"with ``gid`` =100 of the table ``othertable``." msgstr "" #: ../../build/doc/pgr_createTopology.rst:176 @@ -391,26 +393,25 @@ msgid "Using positional notation:" msgstr "" #: ../../build/doc/pgr_createTopology.rst:186 -msgid "" -"The arguments need to be given in the order described in the parameters." +msgid "The arguments need to be given in the order described in the parameters." msgstr "" #: ../../build/doc/pgr_createTopology.rst:188 msgid "" -"Note that this example uses clean flag. So it recreates the whole vertices " -"table." +"Note that this example uses clean flag. So it recreates the whole " +"vertices table." msgstr "" #: ../../build/doc/pgr_createTopology.rst msgid "" -"An error would occur when the arguments are not given in the appropiriate " -"order:" +"An error would occur when the arguments are not given in the appropiriate" +" order:" msgstr "" #: ../../build/doc/pgr_createTopology.rst msgid "" -"In this example, the column ``gid`` of the table ``mytable`` is passed to " -"the function AS the geometry column," +"In this example, the column ``gid`` of the table ``mytable`` is passed to" +" the function AS the geometry column," msgstr "" #: ../../build/doc/pgr_createTopology.rst @@ -444,8 +445,8 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:234 msgid "" -"This example start a clean topology, with 5 edges, and then its incremented " -"to the rest of the edges." +"This example start a clean topology, with 5 edges, and then its " +"incremented to the rest of the edges." msgstr "" #: ../../build/doc/pgr_createTopology.rst:240 @@ -464,13 +465,14 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:246 msgid "" -":doc:`pgr_createVerticesTable` to reconstruct the vertices table based on " -"the source and target information." +":doc:`pgr_createVerticesTable` to reconstruct the vertices table based on" +" the source and target information." msgstr "" #: ../../build/doc/pgr_createTopology.rst:247 msgid "" -":doc:`pgr_analyzeGraph` to analyze the edges and vertices of the edge table." +":doc:`pgr_analyzeGraph` to analyze the edges and vertices of the edge " +"table." msgstr "" #: ../../build/doc/pgr_createTopology.rst:250 @@ -484,3 +486,4 @@ msgstr "" #: ../../build/doc/pgr_createTopology.rst:252 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_createVerticesTable.po b/locale/en/LC_MESSAGES/pgr_createVerticesTable.po index 1d1bb3db022..fdbdc71b12f 100644 --- a/locale/en/LC_MESSAGES/pgr_createVerticesTable.po +++ b/locale/en/LC_MESSAGES/pgr_createVerticesTable.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:13 msgid "" -"``pgr_createVerticesTable`` — Reconstructs the vertices table based on the " -"source and target information." +"``pgr_createVerticesTable`` — Reconstructs the vertices table based on " +"the source and target information." msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:16 @@ -49,22 +49,24 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:24 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0" +" `__ `2.6" +" `__" msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:29 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" +" `2.1 " +"`__" +" `2.0 " +"`__" msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:38 @@ -144,8 +146,8 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:62 msgid "" -"``text`` Condition to SELECT a subset or rows. Default value is ``true`` " -"to indicate all rows." +"``text`` Condition to SELECT a subset or rows. Default value is " +"``true`` to indicate all rows." msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:66 @@ -154,8 +156,8 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:68 msgid "" -"An index will be created, if it doesn't exists, to speed up the process to " -"the following columns:" +"An index will be created, if it doesn't exists, to speed up the process " +"to the following columns:" msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:70 @@ -227,8 +229,8 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:95 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex. " -"See :doc:`pgr_analyzeGraph `." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex. See :doc:`pgr_analyzeGraph `." msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst @@ -237,8 +239,8 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:96 msgid "" -"``integer`` Indicator that the vertex might have a problem. See :doc:" -"`pgr_analyzeGraph `." +"``integer`` Indicator that the vertex might have a problem. See " +":doc:`pgr_analyzeGraph `." msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst @@ -247,8 +249,8 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:97 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex " -"as incoming. See :doc:`pgr_analyzeOneWay `." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex as incoming. See :doc:`pgr_analyzeOneWay `." msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst @@ -257,8 +259,8 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:98 msgid "" -"``integer`` Number of vertices in the edge_table that reference this vertex " -"as outgoing. See :doc:`pgr_analyzeOneWay `." +"``integer`` Number of vertices in the edge_table that reference this " +"vertex as outgoing. See :doc:`pgr_analyzeOneWay `." msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:99 @@ -294,7 +296,8 @@ msgid "" "An error would occur when the arguments are not given in the appropriate " "order: In this example, the column source column ``source`` of the table " "``mytable`` is passed to the function as the geometry column, and the " -"geometry column ``the_geom`` is passed to the function as the source column." +"geometry column ``the_geom`` is passed to the function as the source " +"column." msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:129 @@ -326,8 +329,8 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:143 msgid "" -"Parameters defined with a default value can be omitted, as long as the value " -"matches the default:" +"Parameters defined with a default value can be omitted, as long as the " +"value matches the default:" msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:151 @@ -360,8 +363,8 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:166 #: ../../build/doc/pgr_createVerticesTable.rst:240 msgid "" -"Selecting the rows where the geometry is near the geometry of the row with " -"``gid`` =100 of the table ``othertable``." +"Selecting the rows where the geometry is near the geometry of the row " +"with ``gid`` =100 of the table ``othertable``." msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:173 @@ -381,8 +384,7 @@ msgid "Example 9" msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:184 -msgid "" -"The arguments need to be given in the order described in the parameters:" +msgid "The arguments need to be given in the order described in the parameters:" msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst @@ -467,13 +469,14 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:262 msgid "" -":doc:`pgr_createTopology` ` to create a topology based " -"on the geometry." +":doc:`pgr_createTopology` ` to create a topology " +"based on the geometry." msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:263 msgid "" -":doc:`pgr_analyzeGraph` to analyze the edges and vertices of the edge table." +":doc:`pgr_analyzeGraph` to analyze the edges and vertices of the edge " +"table." msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:264 @@ -491,3 +494,4 @@ msgstr "" #: ../../build/doc/pgr_createVerticesTable.rst:269 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_dagShortestPath.po b/locale/en/LC_MESSAGES/pgr_dagShortestPath.po index 9e436e3c9c0..17d73ba90c9 100644 --- a/locale/en/LC_MESSAGES/pgr_dagShortestPath.po +++ b/locale/en/LC_MESSAGES/pgr_dagShortestPath.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,9 +23,9 @@ msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:13 msgid "" -"``pgr_dagShortestPath`` — Returns the shortest path(s) for weighted directed " -"acyclic graphs(DAG). In particular, the DAG shortest paths algorithm " -"implemented by Boost.Graph." +"``pgr_dagShortestPath`` — Returns the shortest path(s) for weighted " +"directed acyclic graphs(DAG). In particular, the DAG shortest paths " +"algorithm implemented by Boost.Graph." msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:19 @@ -118,9 +118,9 @@ msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -132,10 +132,10 @@ msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:40 msgid "" -"Shortest Path for Directed Acyclic Graph(DAG) is a graph search algorithm " -"that solves the shortest path problem for weighted directed acyclic graph, " -"producing a shortest path from a starting vertex (``start_vid``) to an " -"ending vertex (``end_vid``)." +"Shortest Path for Directed Acyclic Graph(DAG) is a graph search algorithm" +" that solves the shortest path problem for weighted directed acyclic " +"graph, producing a shortest path from a starting vertex (``start_vid``) " +"to an ending vertex (``end_vid``)." msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:44 @@ -147,8 +147,8 @@ msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:46 msgid "" "The algorithm relies on topological sorting the dag to impose a linear " -"ordering on the vertices, and thus is more efficient for DAG's than either " -"the Dijkstra or Bellman-Ford algorithm." +"ordering on the vertices, and thus is more efficient for DAG's than " +"either the Dijkstra or Bellman-Ford algorithm." msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:68 @@ -166,8 +166,7 @@ msgid "Values are returned when there is a path." msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:52 -msgid "" -"When the starting vertex and ending vertex are the same, there is no path." +msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:54 @@ -176,8 +175,8 @@ msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:56 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path:" +"When the starting vertex and ending vertex are the different and there is" +" no path:" msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:58 @@ -388,8 +387,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -406,8 +405,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -436,8 +435,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"Returns set of ``(seq, path_seq [, start_vid] [, end_vid], node, edge, cost, " -"agg_cost)``" +"Returns set of ``(seq, path_seq [, start_vid] [, end_vid], node, edge, " +"cost, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 @@ -459,13 +458,14 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Relative position in the path. Has value **1** for the beginning of a path." +"Relative position in the path. Has value **1** for the beginning of a " +"path." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 msgid "" -"Identifier of the starting vertex. Returned when multiple starting vetrices " -"are in the query." +"Identifier of the starting vertex. Returned when multiple starting " +"vetrices are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -479,8 +479,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:16 msgid "" -"Identifier of the ending vertex. Returned when multiple ending vertices are " -"in the query." +"Identifier of the ending vertex. Returned when multiple ending vertices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -501,8 +501,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:23 msgid "" -"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." +"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." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:24 @@ -512,8 +512,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next node in the path " -"sequence." +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 @@ -547,3 +547,4 @@ msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:201 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_dijkstra.po b/locale/en/LC_MESSAGES/pgr_dijkstra.po index 16f642ea77a..fb3fdbb7145 100644 --- a/locale/en/LC_MESSAGES/pgr_dijkstra.po +++ b/locale/en/LC_MESSAGES/pgr_dijkstra.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstra.rst:13 msgid "" -"``pgr_dijkstra`` — Returns the shortest path(s) using Dijkstra algorithm. In " -"particular, the Dijkstra algorithm implemented by Boost.Graph." +"``pgr_dijkstra`` — Returns the shortest path(s) using Dijkstra algorithm." +" In particular, the Dijkstra algorithm implemented by Boost.Graph." msgstr "" #: ../../build/doc/pgr_dijkstra.rst:19 @@ -97,20 +97,22 @@ msgstr "" #: ../../build/doc/pgr_dijkstra.rst:51 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_dijkstra.rst:56 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" +" `2.1 `__ " +"`2.0 `__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -121,12 +123,12 @@ msgstr "" #: ../../build/doc/pgr_dijkstra.rst:68 msgid "" -"Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra " -"in 1956. It is a graph search algorithm that solves the shortest path " -"problem for a graph with non-negative edge path costs, producing a shortest " -"path from a starting vertex (``start_vid``) to an ending vertex " -"(``end_vid``). This implementation can be used with a directed graph and an " -"undirected graph." +"Dijkstra's algorithm, conceived by Dutch computer scientist Edsger " +"Dijkstra in 1956. It is a graph search algorithm that solves the shortest" +" path problem for a graph with non-negative edge path costs, producing a " +"shortest path from a starting vertex (``start_vid``) to an ending vertex " +"(``end_vid``). This implementation can be used with a directed graph and " +"an undirected graph." msgstr "" #: ../../build/doc/pgr_dijkstra.rst:93 @@ -142,8 +144,7 @@ msgid "Values are returned when there is a path." msgstr "" #: ../../build/doc/pgr_dijkstra.rst:78 -msgid "" -"When the starting vertex and ending vertex are the same, there is no path." +msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" #: ../../build/doc/pgr_dijkstra.rst:80 @@ -152,8 +153,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstra.rst:82 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path:" +"When the starting vertex and ending vertex are the different and there is" +" no path:" msgstr "" #: ../../build/doc/pgr_dijkstra.rst:84 @@ -216,8 +217,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstra.rst:153 msgid "" -"From vertex :math:`2` to vertices :math:`\\{3, 5\\}` on an **undirected** " -"graph" +"From vertex :math:`2` to vertices :math:`\\{3, 5\\}` on an **undirected**" +" graph" msgstr "" #: ../../build/doc/pgr_dijkstra.rst:163 @@ -226,7 +227,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstra.rst:171 msgid "" -"From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** graph" +"From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " +"graph" msgstr "" #: ../../build/doc/pgr_dijkstra.rst:181 @@ -415,8 +417,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -433,8 +435,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 @@ -469,8 +471,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"Returns set of ``(seq, path_id, path_seq [, start_vid] [, end_vid], node, " -"edge, cost, agg_cost)``" +"Returns set of ``(seq, path_id, path_seq [, start_vid] [, end_vid], node," +" edge, cost, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 @@ -493,8 +495,9 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Path identifier. Has value **1** for the first of a path. Used when there " -"are multiple paths for the same ``start_vid`` to ``end_vid`` combination." +"Path identifier. Has value **1** for the first of a path. Used when there" +" are multiple paths for the same ``start_vid`` to ``end_vid`` " +"combination." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -503,13 +506,14 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 msgid "" -"Relative position in the path. Has value **1** for the beginning of a path." +"Relative position in the path. Has value **1** for the beginning of a " +"path." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"Identifier of the starting vertex. Returned when multiple starting vetrices " -"are in the query." +"Identifier of the starting vertex. Returned when multiple starting " +"vetrices are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:14 @@ -523,8 +527,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" -"Identifier of the ending vertex. Returned when multiple ending vertices are " -"in the query." +"Identifier of the ending vertex. Returned when multiple ending vertices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 @@ -545,8 +549,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 msgid "" -"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." +"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." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:26 @@ -556,8 +560,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:26 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next node in the path " -"sequence." +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:27 @@ -573,15 +577,14 @@ msgid "Additional Examples" msgstr "" #: ../../build/doc/pgr_dijkstra.rst:262 -msgid "" -"The examples of this section are based on the :doc:`sampledata` network." +msgid "The examples of this section are based on the :doc:`sampledata` network." msgstr "" #: ../../build/doc/pgr_dijkstra.rst:264 msgid "" -"The examples include combinations from starting vertices 2 and 11 to ending " -"vertices 3 and 5 in a directed and undirected graph with and with out " -"reverse_cost." +"The examples include combinations from starting vertices 2 and 11 to " +"ending vertices 3 and 5 in a directed and undirected graph with and with " +"out reverse_cost." msgstr "" #: ../../build/doc/pgr_dijkstra.rst @@ -590,7 +593,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstra.rst:267 ../../build/doc/pgr_dijkstra.rst:302 msgid "" -"For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns" +"For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` " +"columns" msgstr "" #: ../../build/doc/pgr_dijkstra.rst:269 @@ -663,3 +667,4 @@ msgstr "" #: ../../build/doc/pgr_dijkstra.rst:331 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_dijkstraCost.po b/locale/en/LC_MESSAGES/pgr_dijkstraCost.po index 3d4d926b6fc..896fac16473 100644 --- a/locale/en/LC_MESSAGES/pgr_dijkstraCost.po +++ b/locale/en/LC_MESSAGES/pgr_dijkstraCost.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -27,8 +27,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:15 msgid "" -"Using Dijkstra algorithm implemented by Boost.Graph, and extract only the " -"aggregate cost of the shortest path(s) found, for the combination of " +"Using Dijkstra algorithm implemented by Boost.Graph, and extract only the" +" aggregate cost of the shortest path(s) found, for the combination of " "vertices given." msgstr "" @@ -62,20 +62,21 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:35 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:40 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.3 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__ `2.3 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -86,10 +87,10 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:50 msgid "" -"The ``pgr_dijkstraCost`` algorithm, is a good choice to calculate the sum of " -"the costs of the shortest path for a subset of pairs of nodes of the graph. " -"We make use of the Boost's implementation of dijkstra which runs in :math:" -"`O(V \\log V + E)` time." +"The ``pgr_dijkstraCost`` algorithm, is a good choice to calculate the sum" +" of the costs of the shortest path for a subset of pairs of nodes of the " +"graph. We make use of the Boost's implementation of dijkstra which runs " +"in :math:`O(V \\log V + E)` time." msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:85 @@ -102,8 +103,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:57 msgid "" -"Returns the sum of the costs of the shortest path for pair combination of " -"nodes in the graph." +"Returns the sum of the costs of the shortest path for pair combination of" +" nodes in the graph." msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:58 @@ -121,8 +122,7 @@ msgid "" msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:63 -msgid "" -"When the starting vertex and ending vertex are the same, there is no path." +msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:65 @@ -131,8 +131,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:67 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path." +"When the starting vertex and ending vertex are the different and there is" +" no path." msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:69 @@ -207,7 +207,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:146 msgid "" -"From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** graph" +"From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " +"graph" msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:156 @@ -216,7 +217,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:164 msgid "" -"From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** graph" +"From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** " +"graph" msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:174 @@ -398,8 +400,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -416,8 +418,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 @@ -456,14 +458,14 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." +"Identifier of the starting vertex. Used when multiple starting vetrices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." +"Identifier of the ending vertex. Used when multiple ending vertices are " +"in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -530,3 +532,4 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCost.rst:270 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_dijkstraCostMatrix.po b/locale/en/LC_MESSAGES/pgr_dijkstraCostMatrix.po index 6b958828e1b..c2159852b78 100644 --- a/locale/en/LC_MESSAGES/pgr_dijkstraCostMatrix.po +++ b/locale/en/LC_MESSAGES/pgr_dijkstraCostMatrix.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,7 +23,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:13 msgid "" -"``pgr_dijkstraCostMatrix`` - Calculates the a cost matrix using pgr_dijktras." +"``pgr_dijkstraCostMatrix`` - Calculates the a cost matrix using " +"pgr_dijktras." msgstr "" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:18 @@ -52,18 +53,18 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:31 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:35 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -94,8 +95,7 @@ msgid "Example" msgstr "" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:63 -msgid "" -"Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" +msgid "Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" msgstr "" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:74 @@ -156,8 +156,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:95 msgid "" -"(optional). When ``false`` the graph is considered as Undirected. Default is " -"``true`` which considers the graph as Directed." +"(optional). When ``false`` the graph is considered as Undirected. Default" +" is ``true`` which considers the graph as Directed." msgstr "" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:99 @@ -218,8 +218,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -236,8 +236,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -279,8 +279,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." +"Identifier of the starting vertex. Used when multiple starting vetrices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -289,8 +289,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." +"Identifier of the ending vertex. Used when multiple ending vertices are " +"in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -344,3 +344,4 @@ msgstr "" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:134 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_dijkstraVia.po b/locale/en/LC_MESSAGES/pgr_dijkstraVia.po index 216f684fef5..ab13184f8ee 100644 --- a/locale/en/LC_MESSAGES/pgr_dijkstraVia.po +++ b/locale/en/LC_MESSAGES/pgr_dijkstraVia.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:13 msgid "" -"``pgr_dijkstraVia`` — Using dijkstra algorithm, it finds the route that goes " -"through a list of vertices." +"``pgr_dijkstraVia`` — Using dijkstra algorithm, it finds the route that " +"goes through a list of vertices." msgstr "" #: ../../build/doc/proposed.rst:3 @@ -85,19 +85,20 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:37 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -109,9 +110,9 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:48 msgid "" -"Given a list of vertices and a graph, this function is equivalent to finding " -"the shortest path between :math:`vertex_i` and :math:`vertex_{i+1}` for all :" -"math:`i < size\\_of(vertex_via)`." +"Given a list of vertices and a graph, this function is equivalent to " +"finding the shortest path between :math:`vertex_i` and " +":math:`vertex_{i+1}` for all :math:`i < size\\_of(vertex_via)`." msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:51 @@ -136,7 +137,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:74 msgid "" -"Find the route that visits the vertices :math:`\\{ 1, 3, 9\\}` in that order" +"Find the route that visits the vertices :math:`\\{ 1, 3, 9\\}` in that " +"order" msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:84 @@ -145,8 +147,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:93 msgid "" -"Find the route that visits the vertices :math:`\\{ 1, 3, 9\\}` in that order " -"on an **undirected** graph, avoiding U-turns when possible" +"Find the route that visits the vertices :math:`\\{ 1, 3, 9\\}` in that " +"order on an **undirected** graph, avoiding U-turns when possible" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -237,16 +239,16 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When ``true`` departing from a visited vertex will not try to avoid using " -"the edge used to reach it. In other words, U turn using the edge with same " -"`id` is allowed." +"When ``true`` departing from a visited vertex will not try to avoid using" +" the edge used to reach it. In other words, U turn using the edge with " +"same `id` is allowed." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:16 msgid "" -"When ``false`` when a departing from a visited vertex tries to avoid using " -"the edge used to reach it. In other words, U turn using the edge with same " -"`id` is used when no other path is found." +"When ``false`` when a departing from a visited vertex tries to avoid " +"using the edge used to reach it. In other words, U turn using the edge " +"with same `id` is used when no other path is found." msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:104 @@ -304,8 +306,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -322,8 +324,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -431,8 +433,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:125 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next node in the route " -"sequence." +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"route sequence." msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:126 @@ -463,8 +465,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:133 msgid "" -"Find the route that visits the vertices :math:`\\{1, 5, 3, 9, 4\\}` in that " -"order" +"Find the route that visits the vertices :math:`\\{1, 5, 3, 9, 4\\}` in " +"that order" msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst @@ -481,7 +483,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:145 msgid "" -"What's the route's aggregate cost of the route at the end of the third path?" +"What's the route's aggregate cost of the route at the end of the third " +"path?" msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst @@ -508,8 +511,8 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:163 msgid "" -"Show the route's seq and aggregate cost and a status of \"passes in front\" " -"or \"visits\" node :math:`9`" +"Show the route's seq and aggregate cost and a status of \"passes in " +"front\" or \"visits\" node :math:`9`" msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:169 @@ -536,3 +539,4 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:177 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_drivingDistance.po b/locale/en/LC_MESSAGES/pgr_drivingDistance.po index f9af7ee08fb..4b3efeab5a7 100644 --- a/locale/en/LC_MESSAGES/pgr_drivingDistance.po +++ b/locale/en/LC_MESSAGES/pgr_drivingDistance.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,8 +22,7 @@ msgid "pgr_drivingDistance" msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:13 -msgid "" -"``pgr_drivingDistance`` - Returns the driving distance from a start node." +msgid "``pgr_drivingDistance`` - Returns the driving distance from a start node." msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:18 @@ -60,22 +59,24 @@ msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:38 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ " -"`2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" +" `2.1 " +"`__" +" `2.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -87,9 +88,9 @@ msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:49 msgid "" -"Using the Dijkstra algorithm, extracts all the nodes that have costs less " -"than or equal to the value ``distance``. The edges extracted will conform to " -"the corresponding spanning tree." +"Using the Dijkstra algorithm, extracts all the nodes that have costs less" +" than or equal to the value ``distance``. The edges extracted will " +"conform to the corresponding spanning tree." msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:53 @@ -203,8 +204,8 @@ msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:108 msgid "" -"(optional). When ``false`` the graph is considered as Undirected. Default is " -"``true`` which considers the graph as Directed." +"(optional). When ``false`` the graph is considered as Undirected. Default" +" is ``true`` which considers the graph as Directed." msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:109 @@ -272,8 +273,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -290,8 +291,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -340,8 +341,7 @@ msgid "**node**" msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:129 -msgid "" -"Identifier of the node in the path within the limits from ``start_vid``." +msgid "Identifier of the node in the path within the limits from ``start_vid``." msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:130 @@ -350,8 +350,8 @@ msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:130 msgid "" -"Identifier of the edge used to arrive to ``node``. ``0`` when the ``node`` " -"is the ``start_vid``." +"Identifier of the edge used to arrive to ``node``. ``0`` when the " +"``node`` is the ``start_vid``." msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:131 @@ -372,7 +372,8 @@ msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:138 msgid "" -"For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns" +"For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` " +"columns" msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:140 @@ -428,3 +429,4 @@ msgstr "" #: ../../build/doc/pgr_drivingDistance.rst:180 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po b/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po index 855e9b03bdf..4f3bb656268 100644 --- a/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po +++ b/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -65,18 +65,18 @@ msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:37 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:41 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -88,8 +88,8 @@ msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:50 msgid "" -"Calculates the edge disjoint paths between two groups of vertices. Utilizes " -"underlying maximum flow algorithms to calculate the paths." +"Calculates the edge disjoint paths between two groups of vertices. " +"Utilizes underlying maximum flow algorithms to calculate the paths." msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:58 @@ -152,8 +152,8 @@ msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:120 msgid "" -"From vertex :math:`3` to vertices :math:`\\{4, 5, 10\\}` on a **directed** " -"graph" +"From vertex :math:`3` to vertices :math:`\\{4, 5, 10\\}` on a " +"**directed** graph" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:131 @@ -162,7 +162,8 @@ msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:139 msgid "" -"From vertices :math:`\\{3, 6\\}` to vertex :math:`5` on a **directed** graph" +"From vertices :math:`\\{3, 6\\}` to vertex :math:`5` on a **directed** " +"graph" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:150 @@ -331,8 +332,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -349,8 +350,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -379,8 +380,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:3 msgid "" -"Returns set of ``(seq, path_id, path_seq [, start_vid] [, end_vid], node, " -"edge, cost, agg_cost)``" +"Returns set of ``(seq, path_id, path_seq [, start_vid] [, end_vid], node," +" edge, cost, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 @@ -403,8 +404,9 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Path identifier. Has value **1** for the first of a path. Used when there " -"are multiple paths for the same ``start_vid`` to ``end_vid`` combination." +"Path identifier. Has value **1** for the first of a path. Used when there" +" are multiple paths for the same ``start_vid`` to ``end_vid`` " +"combination." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -413,13 +415,14 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 msgid "" -"Relative position in the path. Has value **1** for the beginning of a path." +"Relative position in the path. Has value **1** for the beginning of a " +"path." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"Identifier of the starting vertex. Returned when multiple starting vetrices " -"are in the query." +"Identifier of the starting vertex. Returned when multiple starting " +"vetrices are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:14 @@ -433,8 +436,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" -"Identifier of the ending vertex. Returned when multiple ending vertices are " -"in the query." +"Identifier of the ending vertex. Returned when multiple ending vertices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 @@ -455,8 +458,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 msgid "" -"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." +"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." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:26 @@ -466,8 +469,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:26 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next node in the path " -"sequence." +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:27 @@ -497,3 +500,4 @@ msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:197 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_edmondsKarp.po b/locale/en/LC_MESSAGES/pgr_edmondsKarp.po index 976f1935d68..481d5f07ac5 100644 --- a/locale/en/LC_MESSAGES/pgr_edmondsKarp.po +++ b/locale/en/LC_MESSAGES/pgr_edmondsKarp.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,9 @@ msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:13 msgid "" -"``pgr_edmondsKarp`` — Calculates the flow on the graph edges that maximizes " -"the flow from the sources to the targets using Push Relabel Algorithm." +"``pgr_edmondsKarp`` — Calculates the flow on the graph edges that " +"maximizes the flow from the sources to the targets using Push Relabel " +"Algorithm." msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:19 @@ -69,18 +70,18 @@ msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:38 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:42 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 @@ -130,9 +131,9 @@ msgstr "" #: ../../build/doc/flow-family.rst:17 msgid "" -"The maximum flow through the graph is guaranteed to be the value returned " -"by :doc:`pgr_maxFlow ` when executed with the same parameters " -"and can be calculated:" +"The maximum flow through the graph is guaranteed to be the value returned" +" by :doc:`pgr_maxFlow ` when executed with the same " +"parameters and can be calculated:" msgstr "" #: ../../build/doc/flow-family.rst:19 @@ -271,8 +272,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:3 msgid "" -"an SQL query of a directed graph of capacities, which should return a set of " -"rows with the following columns:" +"an SQL query of a directed graph of capacities, which should return a set" +" of rows with the following columns:" msgstr "" #: ../../build/doc/flow-family.rst:8 @@ -307,8 +308,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:15 @@ -325,8 +326,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:17 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:21 @@ -387,7 +388,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:11 msgid "" -"Residual capacity of the edge in the direction (``start_vid``, ``end_vid``)." +"Residual capacity of the edge in the direction (``start_vid``, " +"``end_vid``)." msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:165 @@ -418,3 +420,4 @@ msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:174 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_edwardMoore.po b/locale/en/LC_MESSAGES/pgr_edwardMoore.po index c37de479a6d..7c42d4954e8 100644 --- a/locale/en/LC_MESSAGES/pgr_edwardMoore.po +++ b/locale/en/LC_MESSAGES/pgr_edwardMoore.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/en/LC_MESSAGES/pgr_extractVertices.po b/locale/en/LC_MESSAGES/pgr_extractVertices.po index 162ffdc8a5e..2ac91cb8be3 100644 --- a/locale/en/LC_MESSAGES/pgr_extractVertices.po +++ b/locale/en/LC_MESSAGES/pgr_extractVertices.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -113,9 +113,9 @@ msgstr "" #: ../../build/doc/pgr_extractVertices.rst:28 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_extractVertices.rst:34 @@ -129,14 +129,14 @@ msgstr "" #: ../../build/doc/pgr_extractVertices.rst:36 msgid "" -"This is an auxiliary function for extracting the vertex information of the " -"set of edges of a graph." +"This is an auxiliary function for extracting the vertex information of " +"the set of edges of a graph." msgstr "" #: ../../build/doc/pgr_extractVertices.rst:39 msgid "" -"When the edge identifier is given, then it will also calculate the in and " -"out edges" +"When the edge identifier is given, then it will also calculate the in and" +" out edges" msgstr "" #: ../../build/doc/pgr_extractVertices.rst:43 @@ -177,8 +177,7 @@ msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_extractVertices.rst:66 -msgid "" -"The set of edges of the graph. It is an `Inner Query`_ as described below." +msgid "The set of edges of the graph. It is an `Inner Query`_ as described below." msgstr "" #: ../../build/doc/pgr_extractVertices.rst:67 @@ -239,8 +238,8 @@ msgstr "" #: ../../build/doc/pgr_extractVertices.rst:82 msgid "" -"This inner query takes precedence over the next two inner query, therefore " -"other columns are ignored when ``geom`` column appears." +"This inner query takes precedence over the next two inner query, " +"therefore other columns are ignored when ``geom`` column appears." msgstr "" #: ../../build/doc/pgr_extractVertices.rst:84 @@ -272,8 +271,8 @@ msgstr "" #: ../../build/doc/pgr_extractVertices.rst:95 msgid "" -"To use this inner query the column ``geom`` should not be part of the set of " -"columns." +"To use this inner query the column ``geom`` should not be part of the set" +" of columns." msgstr "" #: ../../build/doc/pgr_extractVertices.rst:101 @@ -300,8 +299,9 @@ msgstr "" #: ../../build/doc/pgr_extractVertices.rst:105 msgid "" -"This inner query takes precedence over the next inner query, therefore other " -"columns are ignored when ``startpoint`` and ``endpoint`` columns appears." +"This inner query takes precedence over the next inner query, therefore " +"other columns are ignored when ``startpoint`` and ``endpoint`` columns " +"appears." msgstr "" #: ../../build/doc/pgr_extractVertices.rst:114 @@ -355,8 +355,8 @@ msgstr "" #: ../../build/doc/pgr_extractVertices.rst:135 msgid "" -"Array of identifiers of the edges that have the vertex ``id`` as *first end " -"point*." +"Array of identifiers of the edges that have the vertex ``id`` as *first " +"end point*." msgstr "" #: ../../build/doc/pgr_extractVertices.rst:136 @@ -370,8 +370,8 @@ msgstr "" #: ../../build/doc/pgr_extractVertices.rst:137 msgid "" -"Array of identifiers of the edges that have the vertex ``id`` as *second end " -"point*." +"Array of identifiers of the edges that have the vertex ``id`` as *second " +"end point*." msgstr "" #: ../../build/doc/pgr_extractVertices.rst:139 @@ -419,8 +419,8 @@ msgstr "" #: ../../build/doc/pgr_extractVertices.rst:153 msgid "" -"To get the query generated used to get the vertex information, use ``dryrun :" -"= true``." +"To get the query generated used to get the vertex information, use " +"``dryrun := true``." msgstr "" #: ../../build/doc/pgr_extractVertices.rst:155 @@ -480,8 +480,7 @@ msgid "" msgstr "" #: ../../build/doc/pgr_extractVertices.rst:211 -msgid "" -":doc:`pgr_createVerticesTable` to create a topology based on the geometry." +msgid ":doc:`pgr_createVerticesTable` to create a topology based on the geometry." msgstr "" #: ../../build/doc/pgr_extractVertices.rst:214 @@ -495,3 +494,4 @@ msgstr "" #: ../../build/doc/pgr_extractVertices.rst:216 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_floydWarshall.po b/locale/en/LC_MESSAGES/pgr_floydWarshall.po index 2f9b47440ed..3b597fa34d0 100644 --- a/locale/en/LC_MESSAGES/pgr_floydWarshall.po +++ b/locale/en/LC_MESSAGES/pgr_floydWarshall.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:13 msgid "" -"``pgr_floydWarshall`` - Returns the sum of the costs of the shortest path " -"for each pair of nodes in the graph using Floyd-Warshall algorithm." +"``pgr_floydWarshall`` - Returns the sum of the costs of the shortest path" +" for each pair of nodes in the graph using Floyd-Warshall algorithm." msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:19 @@ -61,21 +61,24 @@ msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:34 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:39 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" +" `2.1 " +"`__ " +"`2.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 @@ -88,9 +91,9 @@ msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:50 msgid "" "The Floyd-Warshall algorithm, also known as Floyd's algorithm, is a good " -"choice to calculate the sum of the costs of the shortest path for each pair " -"of nodes in the graph, for *dense graphs*. We use Boost's implementation " -"which runs in :math:`\\Theta(V^3)` time," +"choice to calculate the sum of the costs of the shortest path for each " +"pair of nodes in the graph, for *dense graphs*. We use Boost's " +"implementation which runs in :math:`\\Theta(V^3)` time," msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:73 @@ -103,8 +106,8 @@ msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:57 msgid "" -"Returns the sum of the costs of the shortest path for each pair of nodes in " -"the graph." +"Returns the sum of the costs of the shortest path for each pair of nodes " +"in the graph." msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:58 @@ -231,7 +234,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:5 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 @@ -279,8 +283,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:14 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:16 @@ -297,8 +301,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:22 @@ -372,8 +376,9 @@ msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:149 msgid "" -"`Boost floyd-Warshall `_ algorithm" +"`Boost floyd-Warshall " +"`_ " +"algorithm" msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:150 @@ -391,3 +396,4 @@ msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:155 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_full_version.po b/locale/en/LC_MESSAGES/pgr_full_version.po index 263cce7f504..a09350b3e51 100644 --- a/locale/en/LC_MESSAGES/pgr_full_version.po +++ b/locale/en/LC_MESSAGES/pgr_full_version.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,8 +22,7 @@ msgid "pgr_full_version" msgstr "" #: ../../build/doc/pgr_full_version.rst:13 -msgid "" -"``pgr_full_version`` — Get the details of pgRouting version information." +msgid "``pgr_full_version`` — Get the details of pgRouting version information." msgstr "" #: ../../build/doc/pgr_full_version.rst:16 @@ -44,9 +43,9 @@ msgstr "" #: ../../build/doc/pgr_full_version.rst:23 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_full_version.rst:29 @@ -185,3 +184,4 @@ msgstr "" #: ../../build/doc/pgr_full_version.rst:77 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_johnson.po b/locale/en/LC_MESSAGES/pgr_johnson.po index 95acfffe043..30adcdc0076 100644 --- a/locale/en/LC_MESSAGES/pgr_johnson.po +++ b/locale/en/LC_MESSAGES/pgr_johnson.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_johnson.rst:13 msgid "" -"``pgr_johnson`` - Returns the sum of the costs of the shortest path for each " -"pair of nodes in the graph using Floyd-Warshall algorithm." +"``pgr_johnson`` - Returns the sum of the costs of the shortest path for " +"each pair of nodes in the graph using Floyd-Warshall algorithm." msgstr "" #: ../../build/doc/pgr_johnson.rst:19 @@ -61,20 +61,24 @@ msgstr "" #: ../../build/doc/pgr_johnson.rst:34 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_johnson.rst:39 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__ " +"`2.2 " +"`__ " +"`2.1 " +"`__ " +"`2.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 ../../build/doc/pgr_johnson.rst:48 @@ -84,10 +88,10 @@ msgstr "" #: ../../build/doc/pgr_johnson.rst:50 msgid "" -"The Johnson algorithm, is a good choice to calculate the sum of the costs of " -"the shortest path for each pair of nodes in the graph, for *sparse graphs*. " -"It usees the Boost's implementation which runs in :math:`O(V E \\log V)` " -"time," +"The Johnson algorithm, is a good choice to calculate the sum of the costs" +" of the shortest path for each pair of nodes in the graph, for *sparse " +"graphs*. It usees the Boost's implementation which runs in :math:`O(V E " +"\\log V)` time," msgstr "" #: ../../build/doc/pgr_johnson.rst:70 @@ -100,8 +104,8 @@ msgstr "" #: ../../build/doc/pgr_johnson.rst:56 msgid "" -"Returns the sum of the costs of the shortest path for each pair of nodes in " -"the graph." +"Returns the sum of the costs of the shortest path for each pair of nodes " +"in the graph." msgstr "" #: ../../build/doc/pgr_johnson.rst:57 @@ -223,7 +227,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:5 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 ../../build/doc/pgr_johnson.rst:136 @@ -270,8 +275,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:14 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:16 @@ -288,8 +293,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:22 @@ -362,8 +367,9 @@ msgstr "" #: ../../build/doc/pgr_johnson.rst:147 msgid "" -"`Boost Johnson `_ algorithm implementation." +"`Boost Johnson " +"`_ " +"algorithm implementation." msgstr "" #: ../../build/doc/pgr_johnson.rst:148 @@ -381,3 +387,4 @@ msgstr "" #: ../../build/doc/pgr_johnson.rst:153 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_kruskal.po b/locale/en/LC_MESSAGES/pgr_kruskal.po index 501251236b4..cae42b6bb11 100644 --- a/locale/en/LC_MESSAGES/pgr_kruskal.po +++ b/locale/en/LC_MESSAGES/pgr_kruskal.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_kruskal.rst:13 msgid "" -"``pgr_kruskal`` — Returns the minimum spanning tree of graph using Kruskal " -"algorithm." +"``pgr_kruskal`` — Returns the minimum spanning tree of graph using " +"Kruskal algorithm." msgstr "" #: ../../build/doc/pgr_kruskal.rst:18 @@ -49,9 +49,9 @@ msgstr "" #: ../../build/doc/pgr_kruskal.rst:28 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskal.rst:33 @@ -61,8 +61,8 @@ msgstr "" #: ../../build/doc/pgr_kruskal.rst:35 msgid "" -"This algorithm finds the minimum spanning forest in a possibly disconnected " -"graph using Kruskal's algorithm." +"This algorithm finds the minimum spanning forest in a possibly " +"disconnected graph using Kruskal's algorithm." msgstr "" #: ../../build/doc/pgr_kruskal.rst:38 @@ -207,8 +207,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -225,8 +225,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -291,14 +291,14 @@ msgstr "" #: ../../build/doc/pgr_kruskal.rst:108 msgid "" -"`Boost: Kruskal's algorithm documentation `__" +"`Boost: Kruskal's algorithm documentation " +"`__" msgstr "" #: ../../build/doc/pgr_kruskal.rst:109 msgid "" -"`Wikipedia: Kruskal's algorithm `__" +"`Wikipedia: Kruskal's algorithm " +"`__" msgstr "" #: ../../build/doc/pgr_kruskal.rst:112 @@ -312,3 +312,4 @@ msgstr "" #: ../../build/doc/pgr_kruskal.rst:114 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_kruskalBFS.po b/locale/en/LC_MESSAGES/pgr_kruskalBFS.po index 59717cded58..c0354aa69e6 100644 --- a/locale/en/LC_MESSAGES/pgr_kruskalBFS.po +++ b/locale/en/LC_MESSAGES/pgr_kruskalBFS.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -49,9 +49,9 @@ msgstr "" #: ../../build/doc/pgr_kruskalBFS.rst:29 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -62,8 +62,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalBFS.rst:36 msgid "" -"Visits and extracts the nodes information in Breath First Search ordering of " -"the Minimum Spanning Tree created using Prims's algorithm." +"Visits and extracts the nodes information in Breath First Search ordering" +" of the Minimum Spanning Tree created using Prims's algorithm." msgstr "" #: ../../build/doc/pgr_kruskalBFS.rst:39 @@ -136,8 +136,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalBFS.rst:88 msgid "" -"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with :" -"math:`depth <= 3`" +"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " +":math:`depth <= 3`" msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:4 @@ -186,8 +186,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:13 msgid "" -"When value is :math:`0` then gets the spanning forest starting in aleatory " -"nodes for each tree in the forest." +"When value is :math:`0` then gets the spanning forest starting in " +"aleatory nodes for each tree in the forest." msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:16 @@ -293,8 +293,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -311,8 +311,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -429,14 +429,14 @@ msgstr "" #: ../../build/doc/pgr_kruskalBFS.rst:107 msgid "" -"`Boost: Kruskal's algorithm documentation `__" +"`Boost: Kruskal's algorithm documentation " +"`__" msgstr "" #: ../../build/doc/pgr_kruskalBFS.rst:108 msgid "" -"`Wikipedia: Kruskal's algorithm `__" +"`Wikipedia: Kruskal's algorithm " +"`__" msgstr "" #: ../../build/doc/pgr_kruskalBFS.rst:111 @@ -450,3 +450,4 @@ msgstr "" #: ../../build/doc/pgr_kruskalBFS.rst:113 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_kruskalDD.po b/locale/en/LC_MESSAGES/pgr_kruskalDD.po index 6a4b33dd3e3..b127d2a9ab8 100644 --- a/locale/en/LC_MESSAGES/pgr_kruskalDD.po +++ b/locale/en/LC_MESSAGES/pgr_kruskalDD.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,9 +47,9 @@ msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:28 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -60,9 +60,9 @@ msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:35 msgid "" -"Using Kruskal's algorithm, extracts the nodes that have aggregate costs less " -"than or equal to the value ``Distance`` from a **root** vertex (or vertices) " -"within the calculated minimum spanning tree." +"Using Kruskal's algorithm, extracts the nodes that have aggregate costs " +"less than or equal to the value ``Distance`` from a **root** vertex (or " +"vertices) within the calculated minimum spanning tree." msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:40 @@ -127,8 +127,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:71 msgid "" -"The Minimum Spanning Tree starting on vertex :math:`2` with :math:`agg" -"\\_cost <= 3.5`" +"The Minimum Spanning Tree starting on vertex :math:`2` with " +":math:`agg\\_cost <= 3.5`" msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:81 @@ -137,8 +137,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:89 msgid "" -"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with :" -"math:`agg\\_cost <= 3.5`;" +"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " +":math:`agg\\_cost <= 3.5`;" msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:98 @@ -186,8 +186,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:107 msgid "" -"When :math:`0` gets the spanning forest starting in aleatory nodes for each " -"tree." +"When :math:`0` gets the spanning forest starting in aleatory nodes for " +"each tree." msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:110 @@ -311,8 +311,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -329,8 +329,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst @@ -435,14 +435,14 @@ msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:173 msgid "" -"`Boost: Kruskal's algorithm documentation `__" +"`Boost: Kruskal's algorithm documentation " +"`__" msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:174 msgid "" -"`Wikipedia: Kruskal's algorithm `__" +"`Wikipedia: Kruskal's algorithm " +"`__" msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:177 @@ -456,3 +456,4 @@ msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:179 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_kruskalDFS.po b/locale/en/LC_MESSAGES/pgr_kruskalDFS.po index 0983931e716..ba432059259 100644 --- a/locale/en/LC_MESSAGES/pgr_kruskalDFS.po +++ b/locale/en/LC_MESSAGES/pgr_kruskalDFS.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:13 msgid "" -"``pgr_kruskalDFS`` — Kruskal algorithm for Minimum Spanning Tree with Depth " -"First Search ordering." +"``pgr_kruskalDFS`` — Kruskal algorithm for Minimum Spanning Tree with " +"Depth First Search ordering." msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:19 @@ -49,9 +49,9 @@ msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:29 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskalDD.rst:6 @@ -62,8 +62,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:36 msgid "" -"Visits and extracts the nodes information in Depth First Search ordering of " -"the Minimum Spanning Tree created using Kruskal's algorithm." +"Visits and extracts the nodes information in Depth First Search ordering " +"of the Minimum Spanning Tree created using Kruskal's algorithm." msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:39 @@ -136,8 +136,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:88 msgid "" -"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with :" -"math:`depth <= 3`" +"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " +":math:`depth <= 3`" msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:98 @@ -188,8 +188,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:107 msgid "" -"When value is :math:`0` then gets the spanning forest starting in aleatory " -"nodes for each tree in the forest." +"When value is :math:`0` then gets the spanning forest starting in " +"aleatory nodes for each tree in the forest." msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:110 @@ -295,8 +295,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -313,8 +313,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -431,14 +431,14 @@ msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:153 msgid "" -"`Boost: Kruskal's algorithm documentation `__" +"`Boost: Kruskal's algorithm documentation " +"`__" msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:154 msgid "" -"`Wikipedia: Kruskal's algorithm `__" +"`Wikipedia: Kruskal's algorithm " +"`__" msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:157 @@ -452,3 +452,4 @@ msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:159 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_lineGraph.po b/locale/en/LC_MESSAGES/pgr_lineGraph.po index e04e1730cb6..1bd28924c7c 100644 --- a/locale/en/LC_MESSAGES/pgr_lineGraph.po +++ b/locale/en/LC_MESSAGES/pgr_lineGraph.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -117,16 +117,16 @@ msgstr "" #: ../../build/doc/pgr_lineGraph.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_lineGraph.rst:36 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -145,8 +145,8 @@ msgstr "" #: ../../build/doc/pgr_lineGraph.rst:46 msgid "" -"Two vertices of L(G) are adjacent if and only if their corresponding edges " -"share a common endpoint in G." +"Two vertices of L(G) are adjacent if and only if their corresponding " +"edges share a common endpoint in G." msgstr "" #: ../../build/doc/pgr_lineGraph.rst:49 @@ -275,8 +275,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -294,8 +294,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -368,8 +368,8 @@ msgstr "" #: ../../build/doc/pgr_lineGraph.rst:127 msgid "" -"When `negative`: edge (`source`, `target`) does not exist, therefore it’s " -"not part of the graph." +"When `negative`: edge (`source`, `target`) does not exist, therefore it’s" +" not part of the graph." msgstr "" #: ../../build/doc/pgr_lineGraph.rst:129 @@ -378,8 +378,8 @@ msgstr "" #: ../../build/doc/pgr_lineGraph.rst:131 msgid "" -"When `negative`: edge (`target`, `source`) does not exist, therefore it’s " -"not part of the graph." +"When `negative`: edge (`target`, `source`) does not exist, therefore it’s" +" not part of the graph." msgstr "" #: ../../build/doc/pgr_lineGraph.rst:135 @@ -405,3 +405,4 @@ msgstr "" #: ../../build/doc/pgr_lineGraph.rst:143 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_lineGraphFull.po b/locale/en/LC_MESSAGES/pgr_lineGraphFull.po index 7a50a18bd8d..c569f7e4230 100644 --- a/locale/en/LC_MESSAGES/pgr_lineGraphFull.po +++ b/locale/en/LC_MESSAGES/pgr_lineGraphFull.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:13 msgid "" -"``pgr_lineGraphFull`` — Transforms a given graph into a new graph where all " -"of the vertices from the original graph are converted to line graphs." +"``pgr_lineGraphFull`` — Transforms a given graph into a new graph where " +"all of the vertices from the original graph are converted to line graphs." msgstr "" #: ../../build/doc/experimental.rst:3 @@ -113,15 +113,15 @@ msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:27 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:31 msgid "" -"**Unsupported versions:** `2.6 `__" +"**Unsupported versions:** `2.6 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -132,16 +132,16 @@ msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:37 msgid "" -"pgr_lineGraphFull, converts original directed graph to a directed line graph " -"by converting each vertex to a complete graph and keeping all the original " -"edges. The new connecting edges have a cost 0 and go between the adjacent " -"original edges, respecting the directionality." +"pgr_lineGraphFull, converts original directed graph to a directed line " +"graph by converting each vertex to a complete graph and keeping all the " +"original edges. The new connecting edges have a cost 0 and go between the" +" adjacent original edges, respecting the directionality." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:39 msgid "" -"A possible application of the resulting graph is **\"routing with two edge " -"restrictions\"**:" +"A possible application of the resulting graph is **\"routing with two " +"edge restrictions\"**:" msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:41 @@ -171,12 +171,14 @@ msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:48 msgid "" -"Results are undefined when a negative vertex id is used in the input graph." +"Results are undefined when a negative vertex id is used in the input " +"graph." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:49 msgid "" -"Results are undefined when a duplicated edge id is used in the input graph." +"Results are undefined when a duplicated edge id is used in the input " +"graph." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:50 @@ -283,8 +285,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -301,8 +303,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -330,8 +332,7 @@ msgid "Additional Examples" msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:99 -msgid "" -"The examples of this section are based on the :doc:`sampledata` network." +msgid "The examples of this section are based on the :doc:`sampledata` network." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:101 @@ -360,9 +361,9 @@ msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:133 msgid "" -"In the transformed graph, all of the edges from the original graph are still " -"present (yellow), but we now have additional edges for every turn that could " -"be made across vertex 6 (orange)." +"In the transformed graph, all of the edges from the original graph are " +"still present (yellow), but we now have additional edges for every turn " +"that could be made across vertex 6 (orange)." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:135 @@ -371,42 +372,43 @@ msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:137 msgid "" -"The vertices in the transformed graph are each created by splitting up the " -"vertices in the original graph. Unless a vertex in the original graph is a " -"leaf vertex, it will generate more than one vertex in the transformed graph. " -"One of the newly created vertices in the transformed graph will be given the " -"same vertex-id as the vertex that it was created from in the original graph, " -"but the rest of the newly created vertices will have negative vertex ids. " -"Following is an example of how to generate a table that maps the ids of the " -"newly created vertices with the original vertex that they were created from" +"The vertices in the transformed graph are each created by splitting up " +"the vertices in the original graph. Unless a vertex in the original graph" +" is a leaf vertex, it will generate more than one vertex in the " +"transformed graph. One of the newly created vertices in the transformed " +"graph will be given the same vertex-id as the vertex that it was created " +"from in the original graph, but the rest of the newly created vertices " +"will have negative vertex ids. Following is an example of how to generate" +" a table that maps the ids of the newly created vertices with the " +"original vertex that they were created from" msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:139 msgid "" -"The first step is to store your results graph into a table and then create " -"the vertex mapping table with one row for each distinct vertex id in the " -"results graph." +"The first step is to store your results graph into a table and then " +"create the vertex mapping table with one row for each distinct vertex id " +"in the results graph." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:145 msgid "" "Next, we set the original_id of all of the vertices in the results graph " -"that were given the same vertex id as the vertex that it was created from in " -"the original graph." +"that were given the same vertex id as the vertex that it was created from" +" in the original graph." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:151 msgid "" -"Then, we cross reference all of the other newly created vertices that do not " -"have the same original_id and set their original_id values." +"Then, we cross reference all of the other newly created vertices that do " +"not have the same original_id and set their original_id values." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:157 msgid "" "The only vertices left that have not been mapped are a few of the leaf " -"vertices from the original graph. The following sql completes the mapping " -"for these leaf vertices (in the case of this example graph there are no leaf " -"vertices but this is necessary for larger graphs)." +"vertices from the original graph. The following sql completes the mapping" +" for these leaf vertices (in the case of this example graph there are no " +"leaf vertices but this is necessary for larger graphs)." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:163 @@ -419,11 +421,11 @@ msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:171 msgid "" -"One use case for this graph transformation is to be able to run a shortest " -"path search that takes into account the cost or limitation of turning. Below " -"is an example of running a dijkstra's shortest path from vertex 2 to vertex " -"8 in the original graph, while adding a turn penalty cost of 100 to the turn " -"from edge 4 to edge -7." +"One use case for this graph transformation is to be able to run a " +"shortest path search that takes into account the cost or limitation of " +"turning. Below is an example of running a dijkstra's shortest path from " +"vertex 2 to vertex 8 in the original graph, while adding a turn penalty " +"cost of 100 to the turn from edge 4 to edge -7." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:173 @@ -432,24 +434,25 @@ msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:179 msgid "" -"Then we must run a dijkstra's shortest path search using all of the vertices " -"in the new graph that were created from vertex 2 as the starting point, and " -"all of the vertices in the new graph that were created from vertex 8 as the " -"ending point." +"Then we must run a dijkstra's shortest path search using all of the " +"vertices in the new graph that were created from vertex 2 as the starting" +" point, and all of the vertices in the new graph that were created from " +"vertex 8 as the ending point." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:185 msgid "" -"Normally the shortest path from vertex 2 to vertex 8 would have an aggregate " -"cost of 2, but since there is a large penalty for making the turn needed to " -"get this cost, the route goes through vertex 6 to avoid this turn." +"Normally the shortest path from vertex 2 to vertex 8 would have an " +"aggregate cost of 2, but since there is a large penalty for making the " +"turn needed to get this cost, the route goes through vertex 6 to avoid " +"this turn." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:187 msgid "" "If you cross reference the node column in the dijkstra results with the " -"vertex id mapping table, this will show you that the path goes from v2 -> v5 " -"-> v6 -> v5 -> v8 in the original graph." +"vertex id mapping table, this will show you that the path goes from v2 ->" +" v5 -> v6 -> v5 -> v8 in the original graph." msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:190 @@ -475,3 +478,4 @@ msgstr "" #: ../../build/doc/pgr_lineGraphFull.rst:198 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_maxCardinalityMatch.po b/locale/en/LC_MESSAGES/pgr_maxCardinalityMatch.po index 579d38a86c2..16d5175aafb 100644 --- a/locale/en/LC_MESSAGES/pgr_maxCardinalityMatch.po +++ b/locale/en/LC_MESSAGES/pgr_maxCardinalityMatch.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:13 msgid "" -"``pgr_maxCardinalityMatch`` — Calculates a maximum cardinality matching in a " -"graph." +"``pgr_maxCardinalityMatch`` — Calculates a maximum cardinality matching " +"in a graph." msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:18 @@ -69,19 +69,20 @@ msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:37 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0" +" `__" msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:41 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__" +" `2.3 " +"`__" msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:49 @@ -103,8 +104,8 @@ msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:54 msgid "" -"A maximum matching is a matching that contains the largest possible number " -"of edges." +"A maximum matching is a matching that contains the largest possible " +"number of edges." msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:56 @@ -197,7 +198,8 @@ msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:102 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:105 @@ -352,3 +354,4 @@ msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:142 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_maxFlow.po b/locale/en/LC_MESSAGES/pgr_maxFlow.po index 77e02c9f375..f9cfd386fe9 100644 --- a/locale/en/LC_MESSAGES/pgr_maxFlow.po +++ b/locale/en/LC_MESSAGES/pgr_maxFlow.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_maxFlow.rst:13 msgid "" -"``pgr_maxFlow`` — Calculates the maximum flow in a directed graph from the " -"source(s) to the targets(s) using the Push Relabel algorithm." +"``pgr_maxFlow`` — Calculates the maximum flow in a directed graph from " +"the source(s) to the targets(s) using the Push Relabel algorithm." msgstr "" #: ../../build/doc/pgr_maxFlow.rst:18 @@ -57,16 +57,17 @@ msgstr "" #: ../../build/doc/pgr_maxFlow.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_maxFlow.rst:36 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 @@ -88,7 +89,8 @@ msgstr "" #: ../../build/doc/pgr_maxFlow.rst:49 msgid "" -"When the maximum flow is **0** then there is no flow and **0** is returned." +"When the maximum flow is **0** then there is no flow and **0** is " +"returned." msgstr "" #: ../../build/doc/pgr_maxFlow.rst:50 @@ -231,8 +233,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:3 msgid "" -"an SQL query of a directed graph of capacities, which should return a set of " -"rows with the following columns:" +"an SQL query of a directed graph of capacities, which should return a set" +" of rows with the following columns:" msgstr "" #: ../../build/doc/flow-family.rst:8 @@ -267,8 +269,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:15 @@ -285,8 +287,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:17 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:21 @@ -323,8 +325,7 @@ msgstr "" #: ../../build/doc/pgr_maxFlow.rst:166 #, python-format -msgid "" -"https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" +msgid "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" msgstr "" #: ../../build/doc/pgr_maxFlow.rst:169 @@ -338,3 +339,4 @@ msgstr "" #: ../../build/doc/pgr_maxFlow.rst:171 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po b/locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po index 946457ec22c..41a526017e0 100644 --- a/locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po +++ b/locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,7 +24,8 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:13 msgid "" "``pgr_maxFlowMinCost`` — Calculates the flow on the graph edges that " -"maximizes the flow and minimizes the cost from the sources to the targets." +"maximizes the flow and minimizes the cost from the sources to the " +"targets." msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:19 @@ -117,9 +118,9 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 @@ -169,9 +170,9 @@ msgstr "" #: ../../build/doc/flow-family.rst:17 msgid "" -"The maximum flow through the graph is guaranteed to be the value returned " -"by :doc:`pgr_maxFlow ` when executed with the same parameters " -"and can be calculated:" +"The maximum flow through the graph is guaranteed to be the value returned" +" by :doc:`pgr_maxFlow ` when executed with the same " +"parameters and can be calculated:" msgstr "" #: ../../build/doc/flow-family.rst:19 @@ -208,8 +209,8 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:53 msgid "" -":math:`U` is upper bound on number of iterations. In many real world cases " -"number of iterations is much smaller than :math:`U`." +":math:`U` is upper bound on number of iterations. In many real world " +"cases number of iterations is much smaller than :math:`U`." msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:57 @@ -337,8 +338,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:3 msgid "" -"an SQL query of a directed graph of capacities, which should return a set of " -"rows with the following columns:" +"an SQL query of a directed graph of capacities, which should return a set" +" of rows with the following columns:" msgstr "" #: ../../build/doc/flow-family.rst:8 @@ -373,8 +374,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:14 @@ -391,8 +392,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:16 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:12 ../../build/doc/flow-family.rst:17 @@ -506,9 +507,7 @@ msgid ":doc:`flow-family`" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:166 -msgid "" -"https://www.boost.org/libs/graph/doc/" -"successive_shortest_path_nonnegative_weights.html" +msgid "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:169 @@ -522,3 +521,4 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:171 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po b/locale/en/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po index fd85c09b118..b250ce5ebb8 100644 --- a/locale/en/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po +++ b/locale/en/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:13 msgid "" -"``pgr_maxFlowMinCost_Cost`` — Calculates the minmum cost maximum flow in a " -"directed graph from the source(s) to the targets(s)." +"``pgr_maxFlowMinCost_Cost`` — Calculates the minmum cost maximum flow in " +"a directed graph from the source(s) to the targets(s)." msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:20 @@ -117,9 +117,9 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:34 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0" +" `__" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 @@ -158,9 +158,10 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:52 msgid "" -"Running time: :math:`O(U * (E + V * logV))`, where :math:`U` is the value of " -"the max flow. :math:`U` is upper bound on number of iteration. In many real " -"world cases number of iterations is much smaller than :math:`U`." +"Running time: :math:`O(U * (E + V * logV))`, where :math:`U` is the value" +" of the max flow. :math:`U` is upper bound on number of iteration. In " +"many real world cases number of iterations is much smaller than " +":math:`U`." msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:55 @@ -286,8 +287,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:3 msgid "" -"an SQL query of a directed graph of capacities, which should return a set of " -"rows with the following columns:" +"an SQL query of a directed graph of capacities, which should return a set" +" of rows with the following columns:" msgstr "" #: ../../build/doc/flow-family.rst:8 @@ -322,8 +323,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:14 @@ -340,8 +341,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:16 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:17 @@ -409,9 +410,7 @@ msgid ":doc:`flow-family`" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:164 -msgid "" -"https://www.boost.org/libs/graph/doc/" -"successive_shortest_path_nonnegative_weights.html" +msgid "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:167 @@ -425,3 +424,4 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:169 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_nodeNetwork.po b/locale/en/LC_MESSAGES/pgr_nodeNetwork.po index 5a24337b5b1..f71d7d65ecc 100644 --- a/locale/en/LC_MESSAGES/pgr_nodeNetwork.po +++ b/locale/en/LC_MESSAGES/pgr_nodeNetwork.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -43,8 +43,8 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:18 msgid "" -"The function reads edges from a not \"noded\" network table and writes the " -"\"noded\" edges into a new table." +"The function reads edges from a not \"noded\" network table and writes " +"the \"noded\" edges into a new table." msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:29 @@ -65,21 +65,24 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:36 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:41 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" +" `2.1 " +"`__" +" `2.0 " +"`__" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:51 @@ -99,20 +102,20 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:57 msgid "" -"What we mean by \"noded\" is that at every intersection in the road network " -"all the edges will be broken into separate road segments. There are cases " -"like an over-pass and under-pass intersection where you can not traverse " -"from the over-pass to the under-pass, but this function does not have the " -"ability to detect and accommodate those situations." +"What we mean by \"noded\" is that at every intersection in the road " +"network all the edges will be broken into separate road segments. There " +"are cases like an over-pass and under-pass intersection where you can not" +" traverse from the over-pass to the under-pass, but this function does " +"not have the ability to detect and accommodate those situations." msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:59 msgid "" -"This function reads the ``edge_table`` table, that has a primary key column " -"``id`` and geometry column named ``the_geom`` and intersect all the segments " -"in it against all the other segments and then creates a table " -"``edge_table_noded``. It uses the ``tolerance`` for deciding that multiple " -"nodes within the tolerance are considered the same node." +"This function reads the ``edge_table`` table, that has a primary key " +"column ``id`` and geometry column named ``the_geom`` and intersect all " +"the segments in it against all the other segments and then creates a " +"table ``edge_table_noded``. It uses the ``tolerance`` for deciding that " +"multiple nodes within the tolerance are considered the same node." msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:62 @@ -193,8 +196,8 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:75 msgid "" -"``integer`` Empty source column to be used with :doc:`pgr_createTopology` " -"function" +"``integer`` Empty source column to be used with " +":doc:`pgr_createTopology` function" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst @@ -203,8 +206,8 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:76 msgid "" -"``integer`` Empty target column to be used with :doc:`pgr_createTopology` " -"function" +"``integer`` Empty target column to be used with " +":doc:`pgr_createTopology` function" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst @@ -229,14 +232,14 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:94 msgid "" -"The analysis tell us that the network has a gap and an intersection. We try " -"to fix the problem using:" +"The analysis tell us that the network has a gap and an intersection. We " +"try to fix the problem using:" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:100 msgid "" -"Inspecting the generated table, we can see that edges 13,14 and 18 has been " -"segmented" +"Inspecting the generated table, we can see that edges 13,14 and 18 has " +"been segmented" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:106 @@ -309,8 +312,8 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:166 msgid "" -"Edge 17's right node is a dead end because there is no other edge sharing " -"that same node. (cnt=1)" +"Edge 17's right node is a dead end because there is no other edge sharing" +" that same node. (cnt=1)" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:163 @@ -343,8 +346,8 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:174 msgid "" -"There is a gap between edge 17 and 14 because edge 14 is near to the right " -"node of edge 17" +"There is a gap between edge 17 and 14 because edge 14 is near to the " +"right node of edge 17" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:174 @@ -363,21 +366,21 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:178 msgid "" -"Edges were segmented, So, now in the interection's point there is a node and " -"the following edges share it: 13-1 13-2 18-1 18-2" +"Edges were segmented, So, now in the interection's point there is a node " +"and the following edges share it: 13-1 13-2 18-1 18-2" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:183 msgid "" -"Now, we are going to include the segments 13-1, 13-2 14-1, 14-2 ,18-1 and " -"18-2 into our edge-table, copying the data for dir,cost,and reverse cost " -"with tho following steps:" +"Now, we are going to include the segments 13-1, 13-2 14-1, 14-2 ,18-1 and" +" 18-2 into our edge-table, copying the data for dir,cost,and reverse cost" +" with tho following steps:" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:185 msgid "" -"Add a column old_id into edge_table, this column is going to keep track the " -"id of the original edge" +"Add a column old_id into edge_table, this column is going to keep track " +"the id of the original edge" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:186 @@ -390,8 +393,8 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:198 msgid "" -"To get the same analysis results as the topology of edge_table_noded, we do " -"the following query:" +"To get the same analysis results as the topology of edge_table_noded, we " +"do the following query:" msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:204 @@ -402,9 +405,9 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:210 msgid "" -"Or we can analyze everything because, maybe edge 18 is an overpass, edge 14 " -"is an under pass and there is also a street level juction, and the same " -"happens with edges 17 and 13." +"Or we can analyze everything because, maybe edge 18 is an overpass, edge " +"14 is an under pass and there is also a street level juction, and the " +"same happens with edges 17 and 13." msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:217 @@ -416,8 +419,8 @@ msgid "" ":doc:`topology-functions` for an overview of a topology for routing " "algorithms. :doc:`pgr_analyzeOneWay` to analyze directionality of the " "edges. :doc:`pgr_createTopology` to create a topology based on the " -"geometry. :doc:`pgr_analyzeGraph` to analyze the edges and vertices of the " -"edge table." +"geometry. :doc:`pgr_analyzeGraph` to analyze the edges and vertices of " +"the edge table." msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:225 @@ -431,3 +434,4 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:227 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_pickDeliver.po b/locale/en/LC_MESSAGES/pgr_pickDeliver.po index e0f8e57307b..d529df9d020 100644 --- a/locale/en/LC_MESSAGES/pgr_pickDeliver.po +++ b/locale/en/LC_MESSAGES/pgr_pickDeliver.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -111,9 +111,9 @@ msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:27 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:32 @@ -122,8 +122,8 @@ msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:34 msgid "" -"Problem: Distribute and optimize the pickup-delivery pairs into a fleet of " -"vehicles." +"Problem: Distribute and optimize the pickup-delivery pairs into a fleet " +"of vehicles." msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:36 @@ -224,8 +224,8 @@ msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:71 msgid "" -"Six different initial will be optimized - the best solution found will be " -"result" +"Six different initial will be optimized - the best solution found will be" +" result" msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:78 @@ -271,8 +271,7 @@ msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:123 -msgid "" -"`Pick & Deliver Orders SQL`_ query contianing the orders to be processed." +msgid "`Pick & Deliver Orders SQL`_ query contianing the orders to be processed." msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:124 @@ -280,8 +279,7 @@ msgid "**vehicles_sql**" msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:124 -msgid "" -"`Pick & Deliver Vehicles SQL`_ query containing the vehicles to be used." +msgid "`Pick & Deliver Vehicles SQL`_ query containing the vehicles to be used." msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:125 @@ -290,7 +288,8 @@ msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:125 msgid "" -"`Pick & Deliver Matrix SQL`_ query containing the distance or travel times." +"`Pick & Deliver Matrix SQL`_ query containing the distance or travel " +"times." msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:126 @@ -355,13 +354,11 @@ msgid "``4`` Optimize insert." msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:134 -msgid "" -"``5`` Push back order that allows more orders to be inserted at the back" +msgid "``5`` Push back order that allows more orders to be inserted at the back" msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:135 -msgid "" -"``6`` Push front order that allows more orders to be inserted at the front" +msgid "``6`` Push front order that allows more orders to be inserted at the front" msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:141 @@ -458,8 +455,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:3 msgid "" -"For the non euclidean implementation, the starting and ending identifiers " -"are needed:" +"For the non euclidean implementation, the starting and ending identifiers" +" are needed:" msgstr "" #: ../../build/doc/VRP-category.rst:8 @@ -572,8 +569,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:8 msgid "" -"The node identifier of the starting location, must match a node identifier " -"in the matrix table." +"The node identifier of the starting location, must match a node " +"identifier in the matrix table." msgstr "" #: ../../build/doc/VRP-category.rst:9 @@ -586,8 +583,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:9 msgid "" -"The node identifier of the ending location, must match a node identifier in " -"the matrix table." +"The node identifier of the ending location, must match a node identifier " +"in the matrix table." msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:187 @@ -649,3 +646,4 @@ msgstr "" #: ../../build/doc/pgr_pickDeliver.rst:224 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_pickDeliverEuclidean.po b/locale/en/LC_MESSAGES/pgr_pickDeliverEuclidean.po index 56e65856773..bbd3e301398 100644 --- a/locale/en/LC_MESSAGES/pgr_pickDeliverEuclidean.po +++ b/locale/en/LC_MESSAGES/pgr_pickDeliverEuclidean.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,8 +22,7 @@ msgid "pgr_pickDeliverEuclidean - Experimental" msgstr "" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:13 -msgid "" -"``pgr_pickDeliverEuclidean`` - Pickup and delivery Vehicle Routing Problem" +msgid "``pgr_pickDeliverEuclidean`` - Pickup and delivery Vehicle Routing Problem" msgstr "" #: ../../build/doc/experimental.rst:3 @@ -116,20 +115,20 @@ msgstr "" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:28 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) " +"`3.0 `__" msgstr "" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:32 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 `__ " +"`2.1 `__" msgstr "" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:42 @@ -138,8 +137,8 @@ msgstr "" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:44 msgid "" -"Problem: Distribute and optimize the pickup-delivery pairs into a fleet of " -"vehicles." +"Problem: Distribute and optimize the pickup-delivery pairs into a fleet " +"of vehicles." msgstr "" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:46 @@ -280,8 +279,7 @@ msgid "``TEXT``" msgstr "" #: ../../build/doc/VRP-category.rst:6 -msgid "" -"`Pick & Deliver Orders SQL`_ query containing the orders to be processed." +msgid "`Pick & Deliver Orders SQL`_ query containing the orders to be processed." msgstr "" #: ../../build/doc/VRP-category.rst:7 @@ -289,8 +287,7 @@ msgid "**vehicles_sql**" msgstr "" #: ../../build/doc/VRP-category.rst:7 -msgid "" -"`Pick & Deliver Vehicles SQL`_ query containing the vehicles to be used." +msgid "`Pick & Deliver Vehicles SQL`_ query containing the vehicles to be used." msgstr "" #: ../../build/doc/VRP-category.rst:8 @@ -354,13 +351,11 @@ msgid "``4`` Optimize insert." msgstr "" #: ../../build/doc/VRP-category.rst:16 -msgid "" -"``5`` Push back order that allows more orders to be inserted at the back" +msgid "``5`` Push back order that allows more orders to be inserted at the back" msgstr "" #: ../../build/doc/VRP-category.rst:17 -msgid "" -"``6`` Push front order that allows more orders to be inserted at the front" +msgid "``6`` Push front order that allows more orders to be inserted at the front" msgstr "" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:138 @@ -645,8 +640,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:21 msgid "" -"Sequential value starting from **1** for current vehicles. The :math:`n_{th}" -"` vehicle in the solution." +"Sequential value starting from **1** for current vehicles. The " +":math:`n_{th}` vehicle in the solution." msgstr "" #: ../../build/doc/VRP-category.rst:22 ../../build/doc/VRP-category.rst:58 @@ -770,8 +765,7 @@ msgid ":math:`arrival\\_time + wait\\_time + service\\_time`." msgstr "" #: ../../build/doc/VRP-category.rst:46 -msgid "" -"When ``stop_type = 6`` has the `total_time` used for the current vehicle." +msgid "When ``stop_type = 6`` has the `total_time` used for the current vehicle." msgstr "" #: ../../build/doc/VRP-category.rst:50 @@ -817,8 +811,8 @@ msgstr "" #: ../../build/doc/VRP-category.rst:67 msgid "" -"`total_solution_time` = :math:`total\\_travel\\_time + total\\_wait\\_time + " -"total\\_service\\_time`." +"`total_solution_time` = :math:`total\\_travel\\_time + " +"total\\_wait\\_time + total\\_service\\_time`." msgstr "" #: ../../build/doc/pgRouting-concepts.rst @@ -868,3 +862,4 @@ msgstr "" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:215 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_prim.po b/locale/en/LC_MESSAGES/pgr_prim.po index 4426ffb78af..24e0e66b546 100644 --- a/locale/en/LC_MESSAGES/pgr_prim.po +++ b/locale/en/LC_MESSAGES/pgr_prim.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,8 +47,9 @@ msgstr "" #: ../../build/doc/pgr_prim.rst:28 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskal.rst:7 @@ -58,8 +59,8 @@ msgstr "" #: ../../build/doc/pgr_prim.rst:35 msgid "" -"This algorithm finds the minimum spanning forest in a possibly disconnected " -"graph using Prim's algorithm." +"This algorithm finds the minimum spanning forest in a possibly " +"disconnected graph using Prim's algorithm." msgstr "" #: ../../build/doc/pgr_prim.rst:38 @@ -200,8 +201,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -218,8 +219,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -284,15 +285,15 @@ msgstr "" #: ../../build/doc/pgr_prim.rst:84 msgid "" -"`Boost: Prim's algorithm documentation `__" +"`Boost: Prim's algorithm documentation " +"`__" msgstr "" #: ../../build/doc/pgr_prim.rst:85 #, python-format msgid "" -"`Wikipedia: Prim's algorithm `__" +"`Wikipedia: Prim's algorithm " +"`__" msgstr "" #: ../../build/doc/pgr_prim.rst:88 @@ -306,3 +307,4 @@ msgstr "" #: ../../build/doc/pgr_prim.rst:90 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_primBFS.po b/locale/en/LC_MESSAGES/pgr_primBFS.po index 43c0925048e..311bc37d0fe 100644 --- a/locale/en/LC_MESSAGES/pgr_primBFS.po +++ b/locale/en/LC_MESSAGES/pgr_primBFS.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -49,9 +49,9 @@ msgstr "" #: ../../build/doc/pgr_primBFS.rst:29 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskalDD.rst:6 @@ -62,8 +62,8 @@ msgstr "" #: ../../build/doc/pgr_primBFS.rst:36 msgid "" -"Visits and extracts the nodes information in Breath First Search ordering of " -"the Minimum Spanning Tree created with Prims's algorithm." +"Visits and extracts the nodes information in Breath First Search ordering" +" of the Minimum Spanning Tree created with Prims's algorithm." msgstr "" #: ../../build/doc/pgr_primBFS.rst:39 @@ -132,8 +132,8 @@ msgstr "" #: ../../build/doc/pgr_primBFS.rst:88 msgid "" -"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with :" -"math:`depth <= 3`" +"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " +":math:`depth <= 3`" msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:4 @@ -182,8 +182,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:13 msgid "" -"When value is :math:`0` then gets the spanning forest starting in aleatory " -"nodes for each tree in the forest." +"When value is :math:`0` then gets the spanning forest starting in " +"aleatory nodes for each tree in the forest." msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:16 @@ -289,8 +289,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -307,8 +307,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -425,15 +425,15 @@ msgstr "" #: ../../build/doc/pgr_primBFS.rst:108 msgid "" -"`Boost: Prim's algorithm documentation `__" +"`Boost: Prim's algorithm documentation " +"`__" msgstr "" #: ../../build/doc/pgr_primBFS.rst:109 #, python-format msgid "" -"`Wikipedia: Prim's algorithm `__" +"`Wikipedia: Prim's algorithm " +"`__" msgstr "" #: ../../build/doc/pgr_primBFS.rst:112 @@ -447,3 +447,4 @@ msgstr "" #: ../../build/doc/pgr_primBFS.rst:114 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_primDD.po b/locale/en/LC_MESSAGES/pgr_primDD.po index 97f82142609..29bd28b3456 100644 --- a/locale/en/LC_MESSAGES/pgr_primDD.po +++ b/locale/en/LC_MESSAGES/pgr_primDD.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,9 +47,9 @@ msgstr "" #: ../../build/doc/pgr_primDD.rst:28 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskalDD.rst:7 @@ -59,9 +59,9 @@ msgstr "" #: ../../build/doc/pgr_primDD.rst:35 msgid "" -"Using Prim algorithm, extracts the nodes that have aggregate costs less than " -"or equal to the value ``Distance`` within the calculated minimum spanning " -"tree." +"Using Prim algorithm, extracts the nodes that have aggregate costs less " +"than or equal to the value ``Distance`` within the calculated minimum " +"spanning tree." msgstr "" #: ../../build/doc/pgr_primDD.rst:38 @@ -126,8 +126,8 @@ msgstr "" #: ../../build/doc/pgr_primDD.rst:71 msgid "" -"The Minimum Spanning Tree starting on vertex :math:`2` with :math:`agg" -"\\_cost <= 3.5`" +"The Minimum Spanning Tree starting on vertex :math:`2` with " +":math:`agg\\_cost <= 3.5`" msgstr "" #: ../../build/doc/pgr_primDD.rst:81 @@ -136,8 +136,8 @@ msgstr "" #: ../../build/doc/pgr_primDD.rst:89 msgid "" -"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with :" -"math:`agg\\_cost <= 3.5`;" +"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " +":math:`agg\\_cost <= 3.5`;" msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:4 @@ -185,8 +185,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:13 msgid "" -"When :math:`0` gets the spanning forest starting in aleatory nodes for each " -"tree." +"When :math:`0` gets the spanning forest starting in aleatory nodes for " +"each tree." msgstr "" #: ../../build/doc/pgr_kruskalDD.rst:16 @@ -310,8 +310,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -328,8 +328,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst @@ -434,15 +434,15 @@ msgstr "" #: ../../build/doc/pgr_primDD.rst:109 msgid "" -"`Boost: Prim's algorithm documentation `__" +"`Boost: Prim's algorithm documentation " +"`__" msgstr "" #: ../../build/doc/pgr_primDD.rst:110 #, python-format msgid "" -"`Wikipedia: Prim's algorithm `__" +"`Wikipedia: Prim's algorithm " +"`__" msgstr "" #: ../../build/doc/pgr_primDD.rst:113 @@ -456,3 +456,4 @@ msgstr "" #: ../../build/doc/pgr_primDD.rst:115 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_primDFS.po b/locale/en/LC_MESSAGES/pgr_primDFS.po index ea6510ec6ef..732abaca771 100644 --- a/locale/en/LC_MESSAGES/pgr_primDFS.po +++ b/locale/en/LC_MESSAGES/pgr_primDFS.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_primDFS.rst:13 msgid "" -"``pgr_primDFS`` — Prim algorithm for Minimum Spanning Tree with Depth First " -"Search ordering." +"``pgr_primDFS`` — Prim algorithm for Minimum Spanning Tree with Depth " +"First Search ordering." msgstr "" #: ../../build/doc/pgr_primDFS.rst:19 @@ -49,9 +49,9 @@ msgstr "" #: ../../build/doc/pgr_primDFS.rst:29 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskalDD.rst:6 @@ -62,8 +62,8 @@ msgstr "" #: ../../build/doc/pgr_primDFS.rst:36 msgid "" -"Visits and extracts the nodes information in Depth First Search ordering of " -"the Minimum Spanning Tree created using Prims's algorithm." +"Visits and extracts the nodes information in Depth First Search ordering " +"of the Minimum Spanning Tree created using Prims's algorithm." msgstr "" #: ../../build/doc/pgr_primDFS.rst:39 @@ -132,8 +132,8 @@ msgstr "" #: ../../build/doc/pgr_primDFS.rst:88 msgid "" -"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with :" -"math:`depth <= 3`" +"The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " +":math:`depth <= 3`" msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:4 @@ -182,8 +182,8 @@ msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:13 msgid "" -"When value is :math:`0` then gets the spanning forest starting in aleatory " -"nodes for each tree in the forest." +"When value is :math:`0` then gets the spanning forest starting in " +"aleatory nodes for each tree in the forest." msgstr "" #: ../../build/doc/pgr_kruskalDFS.rst:16 @@ -289,8 +289,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -307,8 +307,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -425,15 +425,15 @@ msgstr "" #: ../../build/doc/pgr_primDFS.rst:107 msgid "" -"`Boost: Prim's algorithm documentation `__" +"`Boost: Prim's algorithm documentation " +"`__" msgstr "" #: ../../build/doc/pgr_primDFS.rst:108 #, python-format msgid "" -"`Wikipedia: Prim's algorithm `__" +"`Wikipedia: Prim's algorithm " +"`__" msgstr "" #: ../../build/doc/pgr_primDFS.rst:111 @@ -447,3 +447,4 @@ msgstr "" #: ../../build/doc/pgr_primDFS.rst:113 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_pushRelabel.po b/locale/en/LC_MESSAGES/pgr_pushRelabel.po index 1367718d254..f91c79fc452 100644 --- a/locale/en/LC_MESSAGES/pgr_pushRelabel.po +++ b/locale/en/LC_MESSAGES/pgr_pushRelabel.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,9 @@ msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:13 msgid "" -"``pgr_pushRelabel`` — Calculates the flow on the graph edges that maximizes " -"the flow from the sources to the targets using Push Relabel Algorithm." +"``pgr_pushRelabel`` — Calculates the flow on the graph edges that " +"maximizes the flow from the sources to the targets using Push Relabel " +"Algorithm." msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:18 @@ -69,18 +70,18 @@ msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:37 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:41 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 @@ -130,9 +131,9 @@ msgstr "" #: ../../build/doc/flow-family.rst:17 msgid "" -"The maximum flow through the graph is guaranteed to be the value returned " -"by :doc:`pgr_maxFlow ` when executed with the same parameters " -"and can be calculated:" +"The maximum flow through the graph is guaranteed to be the value returned" +" by :doc:`pgr_maxFlow ` when executed with the same " +"parameters and can be calculated:" msgstr "" #: ../../build/doc/flow-family.rst:19 @@ -277,8 +278,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:3 msgid "" -"an SQL query of a directed graph of capacities, which should return a set of " -"rows with the following columns:" +"an SQL query of a directed graph of capacities, which should return a set" +" of rows with the following columns:" msgstr "" #: ../../build/doc/flow-family.rst:8 @@ -313,8 +314,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:13 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:15 @@ -331,8 +332,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:17 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/flow-family.rst:21 @@ -393,7 +394,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:11 msgid "" -"Residual capacity of the edge in the direction (``start_vid``, ``end_vid``)." +"Residual capacity of the edge in the direction (``start_vid``, " +"``end_vid``)." msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:166 @@ -410,8 +412,7 @@ msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:170 #, python-format -msgid "" -"https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" +msgid "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:173 @@ -425,3 +426,4 @@ msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:175 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_stoerWagner.po b/locale/en/LC_MESSAGES/pgr_stoerWagner.po index 34e985aa613..2e7ad87f988 100644 --- a/locale/en/LC_MESSAGES/pgr_stoerWagner.po +++ b/locale/en/LC_MESSAGES/pgr_stoerWagner.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,8 +24,8 @@ msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:13 msgid "" "``pgr_stoerWagner`` — Returns the weight of the min-cut of graph using " -"stoerWagner algorithm. Function determines a min-cut and the min-cut weight " -"of a connected, undirected graph implemented by Boost.Graph." +"stoerWagner algorithm. Function determines a min-cut and the min-cut " +"weight of a connected, undirected graph implemented by Boost.Graph." msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:19 @@ -118,9 +118,9 @@ msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:38 @@ -135,20 +135,22 @@ msgid "" "In graph theory, the Stoer–Wagner algorithm is a recursive algorithm to " "solve the minimum cut problem in undirected weighted graphs with non-" "negative weights. The essential idea of this algorithm is to shrink the " -"graph by merging the most intensive vertices, until the graph only contains " -"two combined vertex sets. At each phase, the algorithm finds the minimum s-t " -"cut for two vertices s and t chosen as its will. Then the algorithm shrinks " -"the edge between s and t to search for non s-t cuts. The minimum cut found " -"in all phases will be the minimum weighted cut of the graph." +"graph by merging the most intensive vertices, until the graph only " +"contains two combined vertex sets. At each phase, the algorithm finds the" +" minimum s-t cut for two vertices s and t chosen as its will. Then the " +"algorithm shrinks the edge between s and t to search for non s-t cuts. " +"The minimum cut found in all phases will be the minimum weighted cut of " +"the graph." msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:49 msgid "" -"A cut is a partition of the vertices of a graph into two disjoint subsets. A " -"minimum cut is a cut for which the size or weight of the cut is not larger " -"than the size of any other cut. For an unweighted graph, the minimum cut " -"would simply be the cut with the least edges. For a weighted graph, the sum " -"of all edges' weight on the cut determines whether it is a minimum cut." +"A cut is a partition of the vertices of a graph into two disjoint " +"subsets. A minimum cut is a cut for which the size or weight of the cut " +"is not larger than the size of any other cut. For an unweighted graph, " +"the minimum cut would simply be the cut with the least edges. For a " +"weighted graph, the sum of all edges' weight on the cut determines " +"whether it is a minimum cut." msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:55 @@ -185,8 +187,9 @@ msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:68 msgid "" -"Sometimes a graph has multiple min-cuts, but all have the same weight. The " -"this function determines exactly one of the min-cuts as well as its weight." +"Sometimes a graph has multiple min-cuts, but all have the same weight. " +"The this function determines exactly one of the min-cuts as well as its " +"weight." msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:70 @@ -246,7 +249,8 @@ msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:109 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:112 @@ -300,8 +304,8 @@ msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:119 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:121 @@ -318,8 +322,8 @@ msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:123 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:127 @@ -423,3 +427,4 @@ msgstr "" #: ../../build/doc/pgr_stoerWagner.rst:168 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_strongComponents.po b/locale/en/LC_MESSAGES/pgr_strongComponents.po index 4ee88d8fc24..b8e657b91de 100644 --- a/locale/en/LC_MESSAGES/pgr_strongComponents.po +++ b/locale/en/LC_MESSAGES/pgr_strongComponents.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_strongComponents.rst:13 msgid "" -"``pgr_strongComponents`` — Strongly connected components of a directed graph " -"using Tarjan's algorithm based on DFS." +"``pgr_strongComponents`` — Strongly connected components of a directed " +"graph using Tarjan's algorithm based on DFS." msgstr "" #: ../../build/doc/pgr_strongComponents.rst:18 @@ -69,16 +69,16 @@ msgstr "" #: ../../build/doc/pgr_strongComponents.rst:37 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_strongComponents.rst:41 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__" msgstr "" #: ../../build/doc/components-family.rst:4 @@ -90,8 +90,8 @@ msgstr "" #: ../../build/doc/pgr_strongComponents.rst:48 msgid "" -"A strongly connected component of a directed graph is a set of vertices that " -"are all reachable from each other." +"A strongly connected component of a directed graph is a set of vertices " +"that are all reachable from each other." msgstr "" #: ../../build/doc/pgr_strongComponents.rst:51 @@ -175,8 +175,8 @@ msgstr "" #: ../../build/doc/pgr_strongComponents.rst:92 msgid "" -"an SQL query of a **directed** graph, which should return a set of rows with " -"the following columns:" +"an SQL query of a **directed** graph, which should return a set of rows " +"with the following columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -229,8 +229,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -247,8 +247,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -325,14 +325,14 @@ msgstr "" #: ../../build/doc/pgr_strongComponents.rst:111 msgid "" -"Boost: `Strong components `__" +"Boost: `Strong components " +"`__" msgstr "" #: ../../build/doc/pgr_strongComponents.rst:112 msgid "" -"wikipedia: `Strongly connected component `__" +"wikipedia: `Strongly connected component " +"`__" msgstr "" #: ../../build/doc/pgr_strongComponents.rst:115 @@ -346,3 +346,4 @@ msgstr "" #: ../../build/doc/pgr_strongComponents.rst:117 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_topologicalSort.po b/locale/en/LC_MESSAGES/pgr_topologicalSort.po index c3e5ae8ff46..ddb744654be 100644 --- a/locale/en/LC_MESSAGES/pgr_topologicalSort.po +++ b/locale/en/LC_MESSAGES/pgr_topologicalSort.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,9 +23,9 @@ msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:13 msgid "" -"``pgr_topologicalSort`` — Returns the linear ordering of the vertices(s) for " -"weighted directed acyclic graphs(DAG). In particular, the topological sort " -"algorithm implemented by Boost.Graph." +"``pgr_topologicalSort`` — Returns the linear ordering of the vertices(s) " +"for weighted directed acyclic graphs(DAG). In particular, the topological" +" sort algorithm implemented by Boost.Graph." msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:19 @@ -118,9 +118,9 @@ msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:37 @@ -137,8 +137,8 @@ msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:42 msgid "" "The topological sort algorithm creates a linear ordering of the vertices " -"such that if edge (u,v) appears in the graph, then v comes before u in the " -"ordering." +"such that if edge (u,v) appears in the graph, then v comes before u in " +"the ordering." msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:45 @@ -153,14 +153,14 @@ msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:48 msgid "" -"Process is valid for directed acyclic graphs only. otherwise it will throw " -"warnings." +"Process is valid for directed acyclic graphs only. otherwise it will " +"throw warnings." msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:50 msgid "" -"For optimization purposes, if there are more than one answer, the function " -"will return one of them." +"For optimization purposes, if there are more than one answer, the " +"function will return one of them." msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:52 @@ -228,7 +228,8 @@ msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:87 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:90 @@ -281,8 +282,8 @@ msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:97 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:99 @@ -299,8 +300,8 @@ msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:101 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:105 @@ -378,3 +379,4 @@ msgstr "" #: ../../build/doc/pgr_topologicalSort.rst:131 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_transitiveClosure.po b/locale/en/LC_MESSAGES/pgr_transitiveClosure.po index 8301b780439..2350dac2fbd 100644 --- a/locale/en/LC_MESSAGES/pgr_transitiveClosure.po +++ b/locale/en/LC_MESSAGES/pgr_transitiveClosure.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,8 +24,8 @@ msgstr "" #: ../../build/doc/pgr_transitiveClosure.rst:13 msgid "" "``pgr_transitiveClosure`` — Returns the transitive closure graph of the " -"input graph. In particular, the transitive closure algorithm implemented by " -"Boost.Graph." +"input graph. In particular, the transitive closure algorithm implemented " +"by Boost.Graph." msgstr "" #: ../../build/doc/pgr_transitiveClosure.rst:19 @@ -118,9 +118,9 @@ msgstr "" #: ../../build/doc/pgr_transitiveClosure.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -148,8 +148,8 @@ msgstr "" #: ../../build/doc/pgr_transitiveClosure.rst:45 msgid "" -"Process is valid for directed acyclic graphs only. otherwise it will throw " -"warnings." +"Process is valid for directed acyclic graphs only. otherwise it will " +"throw warnings." msgstr "" #: ../../build/doc/pgr_transitiveClosure.rst:47 @@ -261,8 +261,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -279,8 +279,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -382,3 +382,4 @@ msgstr "" #: ../../build/doc/pgr_transitiveClosure.rst:123 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_trsp.po b/locale/en/LC_MESSAGES/pgr_trsp.po index be2e31c5796..183034256ff 100644 --- a/locale/en/LC_MESSAGES/pgr_trsp.po +++ b/locale/en/LC_MESSAGES/pgr_trsp.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,7 +23,8 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:19 msgid "" -"``pgr_trsp`` — Returns the shortest path with support for turn restrictions." +"``pgr_trsp`` — Returns the shortest path with support for turn " +"restrictions." msgstr "" #: ../../build/doc/pgr_trsp.rst:22 @@ -60,19 +61,21 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:36 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_trsp.rst:40 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 " -"`__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__ `2.2 " +"`__ `2.1 " +"`__ `2.0 " +"`__" msgstr "" #: ../../build/doc/pgr_trsp.rst:51 @@ -81,12 +84,13 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:53 msgid "" -"The turn restricted shorthest path (TRSP) is a shortest path algorithm that " -"can optionally take into account complicated turn restrictions like those " -"found in real world navigable road networks. Performamnce wise it is nearly " -"as fast as the A* search but has many additional features like it works with " -"edges rather than the nodes of the network. Returns a set of (seq, id1, id2, " -"cost) or (seq, id1, id2, id3, cost) rows, that make up a path." +"The turn restricted shorthest path (TRSP) is a shortest path algorithm " +"that can optionally take into account complicated turn restrictions like " +"those found in real world navigable road networks. Performamnce wise it " +"is nearly as fast as the A* search but has many additional features like " +"it works with edges rather than the nodes of the network. Returns a set " +"of (seq, id1, id2, cost) or (seq, id1, id2, id3, cost) rows, that make up" +" a path." msgstr "" #: ../../build/doc/pgr_trsp.rst:83 @@ -103,8 +107,8 @@ msgstr "" msgid "" "The TRSP setup is mostly the same as :doc:`Dijkstra shortest path " "` with the addition of an optional turn restriction table. " -"This provides an easy way of adding turn restrictions to a road network by " -"placing them in a separate table." +"This provides an easy way of adding turn restrictions to a road network " +"by placing them in a separate table." msgstr "" #: ../../build/doc/pgr_trsp.rst @@ -112,8 +116,7 @@ msgid "sql" msgstr "" #: ../../build/doc/pgr_trsp.rst:90 ../../build/doc/pgr_trsp.rst:140 -msgid "" -"a SQL query, which should return a set of rows with the following columns:" +msgid "a SQL query, which should return a set of rows with the following columns:" msgstr "" #: ../../build/doc/pgr_trsp.rst @@ -146,8 +149,8 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:100 ../../build/doc/pgr_trsp.rst:150 msgid "" -"``float8`` value, of the edge traversal cost. A negative cost will prevent " -"the edge from being inserted in the graph." +"``float8`` value, of the edge traversal cost. A negative cost will " +"prevent the edge from being inserted in the graph." msgstr "" #: ../../build/doc/pgr_trsp.rst @@ -156,9 +159,9 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:101 ../../build/doc/pgr_trsp.rst:151 msgid "" -"(optional) the cost for the reverse traversal of the edge. This is only used " -"when the ``directed`` and ``has_rcost`` parameters are ``true`` (see the " -"above remark about negative costs)." +"(optional) the cost for the reverse traversal of the edge. This is only " +"used when the ``directed`` and ``has_rcost`` parameters are ``true`` (see" +" the above remark about negative costs)." msgstr "" #: ../../build/doc/pgr_trsp.rst:103 @@ -183,8 +186,8 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:106 ../../build/doc/pgr_trsp.rst:155 msgid "" -"if ``true``, the ``reverse_cost`` column of the SQL generated set of rows " -"will be used for the cost of the traversal of the edge in the opposite " +"if ``true``, the ``reverse_cost`` column of the SQL generated set of rows" +" will be used for the cost of the traversal of the edge in the opposite " "direction." msgstr "" @@ -194,8 +197,8 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:108 ../../build/doc/pgr_trsp.rst:157 msgid "" -"(optional) a SQL query, which should return a set of rows with the following " -"columns:" +"(optional) a SQL query, which should return a set of rows with the " +"following columns:" msgstr "" #: ../../build/doc/pgr_trsp.rst @@ -224,8 +227,8 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:118 msgid "" -"Another variant of TRSP allows to specify **EDGE id** of source and target " -"together with a fraction to interpolate the position:" +"Another variant of TRSP allows to specify **EDGE id** of source and " +"target together with a fraction to interpolate the position:" msgstr "" #: ../../build/doc/pgr_trsp.rst @@ -304,9 +307,10 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:138 msgid "" -"We also have support for vias where you can say generate a from A to B to C, " -"etc. We support both methods above only you pass an array of vertices or and " -"array of edges and percentage position along the edge in two arrays." +"We also have support for vias where you can say generate a from A to B to" +" C, etc. We support both methods above only you pass an array of vertices" +" or and array of edges and percentage position along the edge in two " +"arrays." msgstr "" #: ../../build/doc/pgr_trsp.rst @@ -320,8 +324,7 @@ msgid "" msgstr "" #: ../../build/doc/pgr_trsp.rst:165 -msgid "" -"``text`` commar separated list of edges in the reverse order of ``rule``" +msgid "``text`` commar separated list of edges in the reverse order of ``rule``" msgstr "" #: ../../build/doc/pgr_trsp.rst:167 @@ -344,8 +347,9 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:170 msgid "" -"``float8`` An array of fractional positions along the respective edges in " -"``eids``, where 0.0 is the start of the edge and 1.0 is the end of the eadge." +"``float8`` An array of fractional positions along the respective edges in" +" ``eids``, where 0.0 is the start of the edge and 1.0 is the end of the " +"eadge." msgstr "" #: ../../build/doc/pgr_trsp.rst:175 @@ -402,9 +406,9 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:215 msgid "" -"pgr_trsp code has issues that are not being fixed yet, but as time passes " -"and new functionality is added to pgRouting with wrappers to **hide** the " -"issues, not to fix them." +"pgr_trsp code has issues that are not being fixed yet, but as time passes" +" and new functionality is added to pgRouting with wrappers to **hide** " +"the issues, not to fix them." msgstr "" #: ../../build/doc/pgr_trsp.rst:217 @@ -447,8 +451,8 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:231 msgid "" -"The restriction used in the examples does not have to do anything with the " -"graph:" +"The restriction used in the examples does not have to do anything with " +"the graph:" msgstr "" #: ../../build/doc/pgr_trsp.rst:233 @@ -516,9 +520,10 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:289 msgid "" -"When routing from location :math:`1` to the same location :math:`1`, no path " -"is needed to reach the destination, its already there. Therefore is expected " -"to return an `EMPTY SET` or an `EXCEPTION` depending on the parameters" +"When routing from location :math:`1` to the same location :math:`1`, no " +"path is needed to reach the destination, its already there. Therefore is " +"expected to return an `EMPTY SET` or an `EXCEPTION` depending on the " +"parameters" msgstr "" #: ../../build/doc/pgr_trsp.rst:293 @@ -539,8 +544,9 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:303 msgid "" -"``pgr_trsp`` calls :doc:`pgr_dijkstra` when there are no restrictions which " -"returns the expected to return `EMPTY SET` to represent no path found." +"``pgr_trsp`` calls :doc:`pgr_dijkstra` when there are no restrictions " +"which returns the expected to return `EMPTY SET` to represent no path " +"found." msgstr "" #: ../../build/doc/pgr_trsp.rst:307 @@ -550,8 +556,8 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:312 msgid "" "In this case ``pgr_trsp`` calls the original code when there are " -"restrictions, even if they have nothing to do with the graph, in this case " -"that code throws the expected EXCEPTION" +"restrictions, even if they have nothing to do with the graph, in this " +"case that code throws the expected EXCEPTION" msgstr "" #: ../../build/doc/pgr_trsp.rst:316 @@ -561,8 +567,8 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:321 msgid "" "In this case ``pgr_trsp`` calls the original code when there are " -"restrictions, even if they have nothing to do with the graph, in this case " -"that code finds an unexpected path." +"restrictions, even if they have nothing to do with the graph, in this " +"case that code finds an unexpected path." msgstr "" #: ../../build/doc/pgr_trsp.rst:326 ../../build/doc/pgr_trsp.rst:441 @@ -573,13 +579,12 @@ msgstr "" msgid "" "``pgr_trsp`` unlike other pgRouting functions does not autodectect the " "existence of ``reverse_cost`` column. Therefor it has ``has_rcost`` " -"parameter to check the existence of ``reverse_cost`` column. Contradictions " -"happen:" +"parameter to check the existence of ``reverse_cost`` column. " +"Contradictions happen:" msgstr "" #: ../../build/doc/pgr_trsp.rst:332 ../../build/doc/pgr_trsp.rst:447 -msgid "" -"When the reverse_cost is missing, and the flag `has_rcost` is set to true" +msgid "When the reverse_cost is missing, and the flag `has_rcost` is set to true" msgstr "" #: ../../build/doc/pgr_trsp.rst:333 ../../build/doc/pgr_trsp.rst:344 @@ -588,8 +593,7 @@ msgid "When the reverse_cost exists, and the flag `has_rcost` is set to false" msgstr "" #: ../../build/doc/pgr_trsp.rst:336 ../../build/doc/pgr_trsp.rst:451 -msgid "" -"When the reverse_cost is missing, and the flag `has_rcost` is set to true." +msgid "When the reverse_cost is missing, and the flag `has_rcost` is set to true." msgstr "" #: ../../build/doc/pgr_trsp.rst:341 ../../build/doc/pgr_trsp.rst:456 @@ -612,8 +616,8 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:372 msgid "" -"pgr_trsp calls :doc:`pgr_withPoints` when there are no restrictions which " -"returns `EMPTY SET` when a path is not found" +"pgr_trsp calls :doc:`pgr_withPoints` when there are no restrictions which" +" returns `EMPTY SET` when a path is not found" msgstr "" #: ../../build/doc/pgr_trsp.rst:385 @@ -638,10 +642,10 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:398 msgid "" -"pgr_trsp calls :doc:`pgr_withPoints` when there are no restrictions which " -"returns the correct number of rows that will include all the vertices. The " -"last row will have a ``-1`` on the edge column to indicate the edge number " -"is invalidu for that row." +"pgr_trsp calls :doc:`pgr_withPoints` when there are no restrictions which" +" returns the correct number of rows that will include all the vertices. " +"The last row will have a ``-1`` on the edge column to indicate the edge " +"number is invalidu for that row." msgstr "" #: ../../build/doc/pgr_trsp.rst:404 @@ -651,16 +655,16 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:409 msgid "" "pgr_trsp use the original code when there are restrictions, even if they " -"have nothing to do with the graph, and will not return the last vertex of " -"the path." +"have nothing to do with the graph, and will not return the last vertex of" +" the path." msgstr "" #: ../../build/doc/pgr_trsp.rst:415 msgid "" -"When routing from the same edge and position to the same edge and position, " -"no path is needed to reach the destination, its already there. Therefore is " -"expected to return an `EMPTY SET` or an `EXCEPTION` depending on the " -"parameters, non of which is happening." +"When routing from the same edge and position to the same edge and " +"position, no path is needed to reach the destination, its already there. " +"Therefore is expected to return an `EMPTY SET` or an `EXCEPTION` " +"depending on the parameters, non of which is happening." msgstr "" #: ../../build/doc/pgr_trsp.rst:421 @@ -671,8 +675,8 @@ msgstr "" msgid "" "pgr_trsp calls :doc:`pgr_withPoints` setting the first :math:`(edge, " "position)` with a differenct point id from the second :math:`(edge, " -"position)` making them different points. But the cost using the edge, is :" -"math:`0`." +"position)` making them different points. But the cost using the edge, is " +":math:`0`." msgstr "" #: ../../build/doc/pgr_trsp.rst:431 @@ -682,8 +686,8 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:436 msgid "" "pgr_trsp use the original code when there are restrictions, even if they " -"have nothing to do with the graph, and will not have the row for the vertex :" -"math:`-2`." +"have nothing to do with the graph, and will not have the row for the " +"vertex :math:`-2`." msgstr "" #: ../../build/doc/pgr_trsp.rst:467 @@ -727,8 +731,7 @@ msgid "Using :doc:`pgr_withPoints`" msgstr "" #: ../../build/doc/pgr_trsp.rst:497 ../../build/doc/pgr_trsp.rst:528 -msgid "" -"Suggestion: use :doc:`pgr_withPoints` when there are no turn restrictions:" +msgid "Suggestion: use :doc:`pgr_withPoints` when there are no turn restrictions:" msgstr "" #: ../../build/doc/pgr_trsp.rst:499 ../../build/doc/pgr_trsp.rst:531 @@ -767,15 +770,15 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:538 msgid "" -"``pgr_trspViaVertices`` and ``pgr_trspViaEdges`` were added to pgRouting as " -"prototypes" +"``pgr_trspViaVertices`` and ``pgr_trspViaEdges`` were added to pgRouting " +"as prototypes" msgstr "" #: ../../build/doc/pgr_trsp.rst:540 msgid "" "These functions use the pgr_trsp functions inheriting all the problems " -"mentioned above. When there are no restrictions and have a routing \"via\" " -"problem with vertices:" +"mentioned above. When there are no restrictions and have a routing " +"\"via\" problem with vertices:" msgstr "" #: ../../build/doc/pgr_trsp.rst:543 @@ -797,3 +800,4 @@ msgstr "" #: ../../build/doc/pgr_trsp.rst:553 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_turnRestrictedPath.po b/locale/en/LC_MESSAGES/pgr_turnRestrictedPath.po index c0029072b62..eaddb3d8081 100644 --- a/locale/en/LC_MESSAGES/pgr_turnRestrictedPath.po +++ b/locale/en/LC_MESSAGES/pgr_turnRestrictedPath.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -111,9 +111,9 @@ msgstr "" #: ../../build/doc/pgr_turnRestrictedPath.rst:27 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_turnRestrictedPath.rst:33 @@ -167,3 +167,4 @@ msgstr "" #: ../../build/doc/pgr_turnRestrictedPath.rst:68 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_version.po b/locale/en/LC_MESSAGES/pgr_version.po index e68ac0701e9..d1a2a4814e5 100644 --- a/locale/en/LC_MESSAGES/pgr_version.po +++ b/locale/en/LC_MESSAGES/pgr_version.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,21 +55,24 @@ msgstr "" #: ../../build/doc/pgr_version.rst:28 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_version.rst:32 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 " -"`__ `2.2 " -"`__ `2.1 " -"`__ " -"`2.0 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__ " +"`2.2 " +"`__ " +"`2.1 " +"`__" +" `2.0 " +"`__" msgstr "" #: ../../build/doc/pgr_version.rst:42 ../../build/doc/pgr_version.rst:66 @@ -127,3 +130,4 @@ msgstr "" #: ../../build/doc/pgr_version.rst:79 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_vrpOneDepot.po b/locale/en/LC_MESSAGES/pgr_vrpOneDepot.po index 6f06a78adf7..73e546899cf 100644 --- a/locale/en/LC_MESSAGES/pgr_vrpOneDepot.po +++ b/locale/en/LC_MESSAGES/pgr_vrpOneDepot.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -111,20 +111,21 @@ msgstr "" #: ../../build/doc/pgr_vrpOneDepot.rst:27 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_vrpOneDepot.rst:31 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" +" `2.1 `__" msgstr "" #: ../../build/doc/pgr_vrpOneDepot.rst:41 @@ -186,3 +187,4 @@ msgstr "" #: ../../build/doc/pgr_vrpOneDepot.rst:84 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_withPoints.po b/locale/en/LC_MESSAGES/pgr_withPoints.po index 6c0d99f50dd..8fc7289178f 100644 --- a/locale/en/LC_MESSAGES/pgr_withPoints.po +++ b/locale/en/LC_MESSAGES/pgr_withPoints.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:13 msgid "" -"``pgr_withPoints`` - Returns the shortest path in a graph with additional " -"temporary vertices." +"``pgr_withPoints`` - Returns the shortest path in a graph with additional" +" temporary vertices." msgstr "" #: ../../build/doc/proposed.rst:3 @@ -85,19 +85,20 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_withPoints.rst:36 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -139,14 +140,14 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:59 msgid "" -"When the starting vertex and ending vertex are the same, there is no path. - " -"The agg_cost the non included values (v, v) is 0" +"When the starting vertex and ending vertex are the same, there is no " +"path. - The agg_cost the non included values (v, v) is 0" msgstr "" #: ../../build/doc/pgr_withPoints.rst:62 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path: - The agg_cost the non included values (u, v) is ∞" +"When the starting vertex and ending vertex are the different and there is" +" no path: - The agg_cost the non included values (u, v) is ∞" msgstr "" #: ../../build/doc/pgr_withPoints.rst:65 @@ -156,8 +157,7 @@ msgid "" msgstr "" #: ../../build/doc/pgr_withPoints.rst:66 -msgid "" -"The returned values are ordered: - start_vid ascending - end_vid ascending" +msgid "The returned values are ordered: - start_vid ascending - end_vid ascending" msgstr "" #: ../../build/doc/pgr_withPoints.rst:70 @@ -196,7 +196,8 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:96 msgid "" -"No **details** are given about distance of other points of points_sql query." +"No **details** are given about distance of other points of points_sql " +"query." msgstr "" #: ../../build/doc/pgr_withPoints.rst:106 @@ -229,8 +230,8 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:164 msgid "" -"From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex :" -"math:`7`" +"From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " +":math:`7`" msgstr "" #: ../../build/doc/pgr_withPoints.rst:171 @@ -308,7 +309,8 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:180 msgid "" -"Array of identifiers of starting vertices. When negative: is a point's pid." +"Array of identifiers of starting vertices. When negative: is a point's " +"pid." msgstr "" #: ../../build/doc/pgr_withPoints.rst:181 @@ -316,8 +318,7 @@ msgid "**end_vids**" msgstr "" #: ../../build/doc/pgr_withPoints.rst:181 -msgid "" -"Array of identifiers of ending vertices. When negative: is a point's pid." +msgid "Array of identifiers of ending vertices. When negative: is a point's pid." msgstr "" #: ../../build/doc/pgr_withPoints.rst:182 @@ -331,8 +332,8 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:182 msgid "" -"(optional). When ``false`` the graph is considered as Undirected. Default is " -"``true`` which considers the graph as Directed." +"(optional). When ``false`` the graph is considered as Undirected. Default" +" is ``true`` which considers the graph as Directed." msgstr "" #: ../../build/doc/pgr_withPoints.rst:183 @@ -346,7 +347,8 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:186 msgid "" -"(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" +"(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side " +"is:" msgstr "" #: ../../build/doc/pgr_withPoints.rst:184 @@ -369,9 +371,9 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:188 msgid "" -"(optional). When ``true`` the results will include the points in points_sql " -"that are in the path. Default is ``false`` which ignores other points of the " -"points_sql." +"(optional). When ``true`` the results will include the points in " +"points_sql that are in the path. Default is ``false`` which ignores other" +" points of the points_sql." msgstr "" #: ../../build/doc/pgr_withPoints.rst:193 @@ -429,8 +431,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -447,8 +449,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -482,7 +484,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:5 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -499,7 +502,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"If column not present, a sequential identifier will be given automatically." +"If column not present, a sequential identifier will be given " +"automatically." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -602,8 +606,8 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:221 msgid "" -"Identifier of the edge used to go from ``node`` to the next node in the path " -"sequence." +"Identifier of the edge used to go from ``node`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgr_withPoints.rst:221 @@ -617,8 +621,8 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:224 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next ``node`` in the " -"path sequence." +"Cost to traverse from ``node`` using ``edge`` to the next ``node`` in the" +" path sequence." msgstr "" #: ../../build/doc/pgr_withPoints.rst:224 @@ -643,20 +647,20 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:234 msgid "" -"Which path (if any) passes in front of point :math:`6` or vertex :math:`6` " -"with **right** side driving topology." +"Which path (if any) passes in front of point :math:`6` or vertex " +":math:`6` with **right** side driving topology." msgstr "" #: ../../build/doc/pgr_withPoints.rst:240 msgid "" -"Which path (if any) passes in front of point :math:`6` or vertex :math:`6` " -"with **left** side driving topology." +"Which path (if any) passes in front of point :math:`6` or vertex " +":math:`6` with **left** side driving topology." msgstr "" #: ../../build/doc/pgr_withPoints.rst:246 msgid "" -"From point :math:`1` and vertex :math:`2` to point :math:`3` to vertex :math:" -"`7` on an **undirected** graph, with details." +"From point :math:`1` and vertex :math:`2` to point :math:`3` to vertex " +":math:`7` on an **undirected** graph, with details." msgstr "" #: ../../build/doc/pgr_withPoints.rst:252 @@ -682,3 +686,4 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:262 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_withPointsCost.po b/locale/en/LC_MESSAGES/pgr_withPointsCost.po index 9db4da2b546..320f6beeb8e 100644 --- a/locale/en/LC_MESSAGES/pgr_withPointsCost.po +++ b/locale/en/LC_MESSAGES/pgr_withPointsCost.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,9 +23,9 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:13 msgid "" -"``pgr_withPointsCost`` - Calculates the shortest path and returns only the " -"aggregate cost of the shortest path(s) found, for the combination of points " -"given." +"``pgr_withPointsCost`` - Calculates the shortest path and returns only " +"the aggregate cost of the shortest path(s) found, for the combination of " +"points given." msgstr "" #: ../../build/doc/proposed.rst:3 @@ -86,19 +86,20 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:36 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -125,8 +126,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:51 msgid "" -"Returns the sum of the costs of the shortest path for pair combination of " -"vertices in the modified graph." +"Returns the sum of the costs of the shortest path for pair combination of" +" vertices in the modified graph." msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:52 @@ -156,8 +157,7 @@ msgid "" msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:62 -msgid "" -"When the starting vertex and ending vertex are the same, there is no path." +msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:64 @@ -166,8 +166,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:66 msgid "" -"When the starting vertex and ending vertex are the different and there is no " -"path." +"When the starting vertex and ending vertex are the different and there is" +" no path." msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:68 @@ -176,8 +176,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:70 msgid "" -"If the values returned are stored in a table, the unique index would be the " -"pair: `(start_vid, end_vid)`." +"If the values returned are stored in a table, the unique index would be " +"the pair: `(start_vid, end_vid)`." msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:73 @@ -280,8 +280,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:183 msgid "" -"From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex :" -"math:`7` on a **directed** graph." +"From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " +":math:`7` on a **directed** graph." msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:190 @@ -359,7 +359,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:199 msgid "" -"Array of identifiers of starting vertices. When negative: is a point's pid." +"Array of identifiers of starting vertices. When negative: is a point's " +"pid." msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:200 @@ -367,8 +368,7 @@ msgid "**end_vids**" msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:200 -msgid "" -"Array of identifiers of ending vertices. When negative: is a point's pid." +msgid "Array of identifiers of ending vertices. When negative: is a point's pid." msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:201 @@ -381,8 +381,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:201 msgid "" -"(optional). When ``false`` the graph is considered as Undirected. Default is " -"``true`` which considers the graph as Directed." +"(optional). When ``false`` the graph is considered as Undirected. Default" +" is ``true`` which considers the graph as Directed." msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:202 @@ -396,7 +396,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:205 msgid "" -"(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" +"(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side " +"is:" msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:203 @@ -467,8 +468,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -485,8 +486,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -520,7 +521,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:5 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -537,7 +539,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"If column not present, a sequential identifier will be given automatically." +"If column not present, a sequential identifier will be given " +"automatically." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -613,20 +616,20 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:236 msgid "" -"From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex :" -"math:`7`, with **right** side driving topology" +"From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " +":math:`7`, with **right** side driving topology" msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:242 msgid "" -"From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex :" -"math:`7`, with **left** side driving topology" +"From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " +":math:`7`, with **left** side driving topology" msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:248 msgid "" -"From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex :" -"math:`7`, does not matter driving side." +"From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " +":math:`7`, does not matter driving side." msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:254 @@ -652,3 +655,4 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:264 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_withPointsCostMatrix.po b/locale/en/LC_MESSAGES/pgr_withPointsCostMatrix.po index 7538cf18f0f..a8ef5f7da29 100644 --- a/locale/en/LC_MESSAGES/pgr_withPointsCostMatrix.po +++ b/locale/en/LC_MESSAGES/pgr_withPointsCostMatrix.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,9 +23,9 @@ msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:13 msgid "" -"``pgr_withPointsCostMatrix`` - Calculates the shortest path and returns only " -"the aggregate cost of the shortest path(s) found, for the combination of " -"points given." +"``pgr_withPointsCostMatrix`` - Calculates the shortest path and returns " +"only the aggregate cost of the shortest path(s) found, for the " +"combination of points given." msgstr "" #: ../../build/doc/proposed.rst:3 @@ -82,18 +82,19 @@ msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:31 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) " +"`3.0 `__" msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:35 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5" +" `__ " +"`2.4 `__" +" `2.3 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -146,8 +147,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:69 msgid "" -"Cost matrix for points :math:`\\{1, 6\\}` and vertices :math:`\\{3, 6\\}` on " -"a **directed** graph" +"Cost matrix for points :math:`\\{1, 6\\}` and vertices :math:`\\{3, 6\\}`" +" on a **directed** graph" msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:80 @@ -156,8 +157,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:88 msgid "" -"Cost matrix for points :math:`\\{1, 6\\}` and vertices :math:`\\{3, 6\\}` on " -"an **undirected** graph" +"Cost matrix for points :math:`\\{1, 6\\}` and vertices :math:`\\{3, 6\\}`" +" on an **undirected** graph" msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:90 @@ -218,7 +219,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:106 msgid "" -"Array of identifiers of starting vertices. When negative: is a point's pid." +"Array of identifiers of starting vertices. When negative: is a point's " +"pid." msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:107 @@ -231,8 +233,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:107 msgid "" -"(optional). When ``false`` the graph is considered as Undirected. Default is " -"``true`` which considers the graph as Directed." +"(optional). When ``false`` the graph is considered as Undirected. Default" +" is ``true`` which considers the graph as Directed." msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:108 @@ -246,7 +248,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:111 msgid "" -"(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" +"(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side " +"is:" msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:109 @@ -284,8 +287,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." +"Identifier of the starting vertex. Used when multiple starting vetrices " +"are in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -294,8 +297,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." +"Identifier of the ending vertex. Used when multiple ending vertices are " +"in the query." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -366,8 +369,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -384,8 +387,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -419,7 +422,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:5 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -436,7 +440,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"If column not present, a sequential identifier will be given automatically." +"If column not present, a sequential identifier will be given " +"automatically." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -483,8 +488,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:136 msgid "" -":doc:`pgr_TSP` using ``pgr_withPointsCostMatrix`` for points :math:`\\{1, " -"6\\}` and vertices :math:`\\{3, 6\\}` on an **undirected** graph" +":doc:`pgr_TSP` using ``pgr_withPointsCostMatrix`` for points :math:`\\{1," +" 6\\}` and vertices :math:`\\{3, 6\\}` on an **undirected** graph" msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:143 @@ -518,3 +523,4 @@ msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:153 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_withPointsDD.po b/locale/en/LC_MESSAGES/pgr_withPointsDD.po index 53bb211d695..4420b88ea5e 100644 --- a/locale/en/LC_MESSAGES/pgr_withPointsDD.po +++ b/locale/en/LC_MESSAGES/pgr_withPointsDD.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,8 +22,7 @@ msgid "pgr_withPointsDD - Proposed" msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:13 -msgid "" -"``pgr_withPointsDD`` - Returns the driving distance from a starting point." +msgid "``pgr_withPointsDD`` - Returns the driving distance from a starting point." msgstr "" #: ../../build/doc/proposed.rst:3 @@ -84,19 +83,20 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:36 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -109,10 +109,10 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:46 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." +"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." msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:52 @@ -163,8 +163,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:96 msgid "" -"Right side driving topology, from point :math:`1` with :math:`agg\\_cost <= " -"3.8`" +"Right side driving topology, from point :math:`1` with :math:`agg\\_cost " +"<= 3.8`" msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:106 @@ -251,8 +251,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:125 msgid "" -"(optional). When ``false`` the graph is considered as Undirected. Default is " -"``true`` which considers the graph as Directed." +"(optional). When ``false`` the graph is considered as Undirected. Default" +" is ``true`` which considers the graph as Directed." msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:126 @@ -266,7 +266,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:129 msgid "" -"(optional). Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" +"(optional). Value in ['b', 'r', 'l', NULL] indicating if the driving side" +" is:" msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:127 @@ -289,9 +290,9 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:131 msgid "" -"(optional). When ``true`` the results will include the driving distance to " -"the points with in the ``distance``. Default is ``false`` which ignores " -"other points of the points_sql." +"(optional). When ``true`` the results will include the driving distance " +"to the points with in the ``distance``. Default is ``false`` which " +"ignores other points of the points_sql." msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:133 @@ -300,9 +301,9 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:133 msgid "" -"(optional). When ``true`` the nodes will only appear in the closest start_v " -"list. Default is ``false`` which resembles several calls using the single " -"starting point signatures. Tie brakes are arbitrary." +"(optional). When ``true`` the nodes will only appear in the closest " +"start_v list. Default is ``false`` which resembles several calls using " +"the single starting point signatures. Tie brakes are arbitrary." msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:137 @@ -354,8 +355,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -372,8 +373,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -407,7 +408,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:5 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -424,7 +426,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"If column not present, a sequential identifier will be given automatically." +"If column not present, a sequential identifier will be given " +"automatically." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -492,8 +495,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:157 msgid "" -"Identifier of the node within the Distance from ``start_pid``. If ``details " -"=: true`` a negative value is the identifier of a point." +"Identifier of the node within the Distance from ``start_pid``. If " +"``details =: true`` a negative value is the identifier of a point." msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:158 @@ -502,8 +505,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:159 msgid "" -"Identifier of the edge used to go from ``node`` to the next node in the path " -"sequence." +"Identifier of the edge used to go from ``node`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:159 @@ -548,14 +551,14 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:176 msgid "" -"Left side driving topology from point :math:`1` with :math:`agg\\_cost <= " -"3.8`, with details" +"Left side driving topology from point :math:`1` with :math:`agg\\_cost <=" +" 3.8`, with details" msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:182 msgid "" -"From point :math:`1` with :math:`agg\\_cost <= 3.8`, does not matter driving " -"side, with details" +"From point :math:`1` with :math:`agg\\_cost <= 3.8`, does not matter " +"driving side, with details" msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:188 @@ -585,3 +588,4 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:199 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_withPointsKSP.po b/locale/en/LC_MESSAGES/pgr_withPointsKSP.po index e5763e855f7..fbce6830dfc 100644 --- a/locale/en/LC_MESSAGES/pgr_withPointsKSP.po +++ b/locale/en/LC_MESSAGES/pgr_withPointsKSP.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,8 +22,7 @@ msgid "pgr_withPointsKSP - Proposed" msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:13 -msgid "" -"``pgr_withPointsKSP`` - Find the K shortest paths using Yen's algorithm." +msgid "``pgr_withPointsKSP`` - Find the K shortest paths using Yen's algorithm." msgstr "" #: ../../build/doc/proposed.rst:3 @@ -84,19 +83,20 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:32 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:36 msgid "" -"**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" +"**Unsupported versions:** `2.6 " +"`__ `2.5 " +"`__ `2.4 " +"`__ `2.3 " +"`__" +" `2.2 " +"`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -109,8 +109,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:46 msgid "" -"Modifies the graph to include the points defined in the ``points_sql`` and " -"using Yen algorithm, finds the :math:`K` shortest paths." +"Modifies the graph to include the points defined in the ``points_sql`` " +"and using Yen algorithm, finds the :math:`K` shortest paths." msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:50 @@ -162,8 +162,7 @@ msgid "" msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:87 -msgid "" -"From point :math:`1` to vertex :math:`6` in :math:`2` cycles with details." +msgid "From point :math:`1` to vertex :math:`6` in :math:`2` cycles with details." msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:94 @@ -255,8 +254,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:104 msgid "" -"(optional). When ``false`` the graph is considered as Undirected. Default is " -"``true`` which considers the graph as Directed." +"(optional). When ``false`` the graph is considered as Undirected. Default" +" is ``true`` which considers the graph as Directed." msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:105 @@ -265,9 +264,9 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:105 msgid "" -"(optional). When ``true`` the paths calculated to get the shortests paths " -"will be returned also. Default is ``false`` only the K shortest paths are " -"returned." +"(optional). When ``true`` the paths calculated to get the shortests paths" +" will be returned also. Default is ``false`` only the K shortest paths " +"are returned." msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:106 @@ -281,7 +280,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:109 msgid "" -"(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" +"(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side " +"is:" msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:107 @@ -304,9 +304,9 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:111 msgid "" -"(optional). When ``true`` the results will include the driving distance to " -"the points with in the ``distance``. Default is ``false`` which ignores " -"other points of the points_sql." +"(optional). When ``true`` the results will include the driving distance " +"to the points with in the ``distance``. Default is ``false`` which " +"ignores other points of the points_sql." msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:116 @@ -364,8 +364,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -382,8 +382,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -417,7 +417,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:5 msgid "" -"an SQL query, which should return a set of rows with the following columns:" +"an SQL query, which should return a set of rows with the following " +"columns:" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -434,7 +435,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "" -"If column not present, a sequential identifier will be given automatically." +"If column not present, a sequential identifier will be given " +"automatically." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 @@ -503,8 +505,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:136 msgid "" -"Path identifier. The ordering of the paths: For two paths i, j if i < j then " -"agg_cost(i) <= agg_cost(j)." +"Path identifier. The ordering of the paths: For two paths i, j if i < j " +"then agg_cost(i) <= agg_cost(j)." msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:137 @@ -518,8 +520,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:137 msgid "" -"Identifier of the node in the path. Negative values are the identifiers of a " -"point." +"Identifier of the node in the path. Negative values are the identifiers " +"of a point." msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:138 @@ -528,8 +530,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:139 msgid "" -"Identifier of the edge used to go from ``node`` to the next node in the path " -"sequence." +"Identifier of the edge used to go from ``node`` to the next node in the " +"path sequence." msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:139 @@ -543,8 +545,8 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:142 msgid "" -"Cost to traverse from ``node`` using ``edge`` to the next ``node`` in the " -"path sequence." +"Cost to traverse from ``node`` using ``edge`` to the next ``node`` in the" +" path sequence." msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:142 @@ -569,14 +571,14 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:152 msgid "" -"Left side driving topology from point :math:`1` to point :math:`2` in :math:" -"`2` cycles, with details" +"Left side driving topology from point :math:`1` to point :math:`2` in " +":math:`2` cycles, with details" msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:158 msgid "" -"Right side driving topology from point :math:`1` to point :math:`2` in :math:" -"`2` cycles, with heap paths and details" +"Right side driving topology from point :math:`1` to point :math:`2` in " +":math:`2` cycles, with heap paths and details" msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:164 @@ -602,3 +604,4 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:174 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/prim-family.po b/locale/en/LC_MESSAGES/prim-family.po index b2e769e7469..2fbde1eec9a 100644 --- a/locale/en/LC_MESSAGES/prim-family.po +++ b/locale/en/LC_MESSAGES/prim-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -43,8 +43,9 @@ msgstr "" #: ../../build/doc/prim-family.rst:35 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/prim-family.rst:40 @@ -54,21 +55,22 @@ msgstr "" #: ../../build/doc/prim-family.rst:42 msgid "" "The prim algorithm was developed in 1930 by Czech mathematician Vojtěch " -"Jarník. It is a greedy algorithm that finds a minimum spanning tree for a " -"weighted undirected graph. This means it finds a subset of the edges that " -"forms a tree that includes every vertex, where the total weight of all the " -"edges in the tree is minimized. The algorithm operates by building this tree " -"one vertex at a time, from an arbitrary starting vertex, at each step adding " -"the cheapest possible connection from the tree to another vertex." +"Jarník. It is a greedy algorithm that finds a minimum spanning tree for a" +" weighted undirected graph. This means it finds a subset of the edges " +"that forms a tree that includes every vertex, where the total weight of " +"all the edges in the tree is minimized. The algorithm operates by " +"building this tree one vertex at a time, from an arbitrary starting " +"vertex, at each step adding the cheapest possible connection from the " +"tree to another vertex." msgstr "" #: ../../build/doc/prim-family.rst:50 msgid "" -"This algorithms find the minimum spanning forest in a possibly disconnected " -"graph; in contrast, the most basic form of Prim's algorithm only finds " -"minimum spanning trees in connected graphs. However, running Prim's " -"algorithm separately for each connected component of the graph, then it is " -"called minimum spanning forest." +"This algorithms find the minimum spanning forest in a possibly " +"disconnected graph; in contrast, the most basic form of Prim's algorithm " +"only finds minimum spanning trees in connected graphs. However, running " +"Prim's algorithm separately for each connected component of the graph, " +"then it is called minimum spanning forest." msgstr "" #: ../../build/doc/prim-family.rst:56 @@ -174,8 +176,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 msgid "" -"When negative: edge `(source, target)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:13 @@ -192,8 +194,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 msgid "" -"When negative: edge `(target, source)` does not exist, therefore it's not " -"part of the graph." +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 @@ -226,15 +228,15 @@ msgstr "" #: ../../build/doc/prim-family.rst:90 msgid "" -"`Boost: Prim's algorithm documentation `__" +"`Boost: Prim's algorithm documentation " +"`__" msgstr "" #: ../../build/doc/prim-family.rst:91 #, python-format msgid "" -"`Wikipedia: Prim's algorithm `__" +"`Wikipedia: Prim's algorithm " +"`__" msgstr "" #: ../../build/doc/prim-family.rst:94 @@ -248,3 +250,4 @@ msgstr "" #: ../../build/doc/prim-family.rst:96 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/proposed.po b/locale/en/LC_MESSAGES/proposed.po index 25a92214da7..0c9c5e586be 100644 --- a/locale/en/LC_MESSAGES/proposed.po +++ b/locale/en/LC_MESSAGES/proposed.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/en/LC_MESSAGES/release_notes.po b/locale/en/LC_MESSAGES/release_notes.po index 56cfd8a42fc..700e736f2e4 100644 --- a/locale/en/LC_MESSAGES/release_notes.po +++ b/locale/en/LC_MESSAGES/release_notes.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,8 +23,8 @@ msgstr "" #: ../../build/doc/release_notes.rst:15 msgid "" -"To see the full list of changes check the list of `Git commits `_ on Github." +"To see the full list of changes check the list of `Git commits " +"`_ on Github." msgstr "" #: ../../build/doc/release_notes.rst:18 @@ -178,9 +178,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:72 #, python-format msgid "" -"To see all issues & pull requests closed by this release see the `Git closed " -"milestone for 3.0.2 `_ on Github." +"To see all issues & pull requests closed by this release see the `Git " +"closed milestone for 3.0.2 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:76 ../../build/doc/release_notes.rst:88 @@ -200,15 +201,16 @@ msgstr "" #: ../../build/doc/release_notes.rst:84 #, python-format msgid "" -"To see all issues & pull requests closed by this release see the `Git closed " -"milestone for 3.0.1 `_ on Github." +"To see all issues & pull requests closed by this release see the `Git " +"closed milestone for 3.0.1 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:89 msgid "" -"`#232 `__: Honor client " -"cancel requests in C /C++ code" +"`#232 `__: Honor " +"client cancel requests in C /C++ code" msgstr "" #: ../../build/doc/release_notes.rst:94 @@ -218,9 +220,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:96 #, python-format msgid "" -"To see all issues & pull requests closed by this release see the `Git closed " -"milestone for 3.0.0 `_ on Github." +"To see all issues & pull requests closed by this release see the `Git " +"closed milestone for 3.0.0 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:100 @@ -235,8 +238,8 @@ msgstr "" #: ../../build/doc/release_notes.rst:102 msgid "" -"`#1188 `__: Removed CGAL " -"dependency" +"`#1188 `__: Removed " +"CGAL dependency" msgstr "" #: ../../build/doc/release_notes.rst:103 @@ -247,20 +250,20 @@ msgstr "" #: ../../build/doc/release_notes.rst:105 msgid "" -"`#1004 `__: Contracts " -"when forbidden vertices do not belong to graph" +"`#1004 `__: Contracts" +" when forbidden vertices do not belong to graph" msgstr "" #: ../../build/doc/release_notes.rst:106 msgid "" -"`#1005 `__: Intermideate " -"results eliminated" +"`#1005 `__: " +"Intermideate results eliminated" msgstr "" #: ../../build/doc/release_notes.rst:107 msgid "" -"`#1006 `__: No loss of " -"information" +"`#1006 `__: No loss " +"of information" msgstr "" #: ../../build/doc/release_notes.rst:110 @@ -714,9 +717,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:261 #, python-format msgid "" -"To see the issues closed by this release see the `Git closed milestone for " -"2.6.3 `_ on Github." +"To see the issues closed by this release see the `Git closed milestone " +"for 2.6.3 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:264 ../../build/doc/release_notes.rst:278 @@ -731,8 +735,8 @@ msgstr "" #: ../../build/doc/release_notes.rst:265 msgid "" -"`#1219 `__ Implicit cast " -"for via_path integer to text" +"`#1219 `__ Implicit " +"cast for via_path integer to text" msgstr "" #: ../../build/doc/release_notes.rst:266 @@ -754,27 +758,28 @@ msgstr "" #: ../../build/doc/release_notes.rst:275 #, python-format msgid "" -"To see the issues closed by this release see the `Git closed milestone for " -"2.6.2 `_ on Github." +"To see the issues closed by this release see the `Git closed milestone " +"for 2.6.2 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:279 msgid "" -"`#1152 `__ Fixes driving " -"distance when vertex is not part of the graph" +"`#1152 `__ Fixes " +"driving distance when vertex is not part of the graph" msgstr "" #: ../../build/doc/release_notes.rst:280 msgid "" -"`#1098 `__ Fixes windows " -"test" +"`#1098 `__ Fixes " +"windows test" msgstr "" #: ../../build/doc/release_notes.rst:281 msgid "" -"`#1165 `__ Fixes build " -"for python3 and perl5" +"`#1165 `__ Fixes " +"build for python3 and perl5" msgstr "" #: ../../build/doc/release_notes.rst:286 @@ -784,9 +789,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:288 #, python-format msgid "" -"To see the issues closed by this release see the `Git closed milestone for " -"2.6.1 `_ on Github." +"To see the issues closed by this release see the `Git closed milestone " +"for 2.6.1 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:290 ../../build/doc/release_notes.rst:377 @@ -918,9 +924,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:328 #, python-format msgid "" -"To see the issues closed by this release see the `Git closed milestone for " -"2.6.0 `_ on Github." +"To see the issues closed by this release see the `Git closed milestone " +"for 2.6.0 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:332 @@ -933,8 +940,8 @@ msgstr "" #: ../../build/doc/release_notes.rst:337 msgid "" -"Fix pgr_trsp(text,integer,double precision,integer,double precision,boolean," -"boolean[,text])" +"Fix pgr_trsp(text,integer,double precision,integer,double " +"precision,boolean,boolean[,text])" msgstr "" #: ../../build/doc/release_notes.rst:339 @@ -963,8 +970,8 @@ msgstr "" #: ../../build/doc/release_notes.rst:350 msgid "" -"Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [, " -"text])" +"Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [," +" text])" msgstr "" #: ../../build/doc/release_notes.rst:352 @@ -986,9 +993,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:362 #, python-format msgid "" -"To see the issues closed by this release see the `Git closed milestone for " -"2.5.5 `_ on Github." +"To see the issues closed by this release see the `Git closed milestone " +"for 2.5.5 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:366 @@ -1010,9 +1018,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:375 #, python-format msgid "" -"To see the issues closed by this release see the `Git closed milestone for " -"2.5.4 `_ on Github." +"To see the issues closed by this release see the `Git closed milestone " +"for 2.5.4 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:413 @@ -1022,9 +1031,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:415 #, python-format msgid "" -"To see the issues closed by this release see the `Git closed milestone for " -"2.5.3 `_ on Github." +"To see the issues closed by this release see the `Git closed milestone " +"for 2.5.3 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:419 @@ -1040,9 +1050,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:426 #, python-format msgid "" -"To see the issues closed by this release see the `Git closed milestone for " -"2.5.2 `_ on Github." +"To see the issues closed by this release see the `Git closed milestone " +"for 2.5.2 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:430 @@ -1056,9 +1067,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:438 #, python-format msgid "" -"To see the issues closed by this release see the `Git closed milestone for " -"2.5.1 `_ on Github." +"To see the issues closed by this release see the `Git closed milestone " +"for 2.5.1 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:442 @@ -1072,8 +1084,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:450 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.5.0 `_ on Github." +"2.5.0 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:454 @@ -1172,9 +1185,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:516 #, python-format msgid "" -"To see the issues closed by this release see the `Git closed milestone for " -"2.4.2 `_ on Github." +"To see the issues closed by this release see the `Git closed milestone " +"for 2.4.2 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:519 @@ -1190,8 +1204,7 @@ msgid "Fixed: Unexpected error column \"cname\"" msgstr "" #: ../../build/doc/release_notes.rst:525 -msgid "" -"Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" +msgid "Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" msgstr "" #: ../../build/doc/release_notes.rst:532 @@ -1201,9 +1214,10 @@ msgstr "" #: ../../build/doc/release_notes.rst:534 #, python-format msgid "" -"To see the issues closed by this release see the `Git closed milestone for " -"2.4.1 `_ on Github." +"To see the issues closed by this release see the `Git closed milestone " +"for 2.4.1 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:538 @@ -1221,8 +1235,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:546 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.4.0 `_ on Github." +"2.4.0 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:549 ../../build/doc/release_notes.rst:619 @@ -1301,8 +1316,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:586 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.3.2 `_ on Github." +"2.3.2 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:590 @@ -1328,8 +1344,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:602 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.3.1 `_ on Github." +"2.3.1 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:606 @@ -1351,8 +1368,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:616 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.3.0 `_ on Github." +"2.3.0 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:620 @@ -1462,8 +1480,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:672 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.2.4 `_ on Github." +"2.2.4 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:676 @@ -1485,8 +1504,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:685 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.2.3 `_ on Github." +"2.2.3 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:689 @@ -1500,8 +1520,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:696 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.2.2 `_ on Github." +"2.2.2 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:700 @@ -1515,8 +1536,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:708 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.2.1 `_ on Github." +"2.2.1 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:712 @@ -1534,8 +1556,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:721 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.2.0 `_ on Github." +"2.2.0 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:725 ../../build/doc/release_notes.rst:793 @@ -1665,8 +1688,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:777 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.1.0 `_ on Github." +"2.1.0 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:781 @@ -1703,14 +1727,14 @@ msgstr "" #: ../../build/doc/release_notes.rst:794 msgid "" -"pgr_alphaShape function now can generate better (multi)polygon with holes " -"and alpha parameter." +"pgr_alphaShape function now can generate better (multi)polygon with holes" +" and alpha parameter." msgstr "" #: ../../build/doc/release_notes.rst:798 msgid "" -"Proposed functions from Steve Woodbridge, (Classified as Convenience by the " -"author.)" +"Proposed functions from Steve Woodbridge, (Classified as Convenience by " +"the author.)" msgstr "" #: ../../build/doc/release_notes.rst:800 @@ -1721,8 +1745,8 @@ msgstr "" #: ../../build/doc/release_notes.rst:801 msgid "" -"pgr_flipEdges - flip the edges in an array of geometries so the connect end " -"to end." +"pgr_flipEdges - flip the edges in an array of geometries so the connect " +"end to end." msgstr "" #: ../../build/doc/release_notes.rst:802 @@ -1732,8 +1756,7 @@ msgid "" msgstr "" #: ../../build/doc/release_notes.rst:803 -msgid "" -"pgr_pointsToVids - convert an array of point geometries into vertex ids." +msgid "pgr_pointsToVids - convert an array of point geometries into vertex ids." msgstr "" #: ../../build/doc/release_notes.rst:804 @@ -1741,8 +1764,7 @@ msgid "pgr_pointsToDMatrix - Create a distance matrix from an array of points." msgstr "" #: ../../build/doc/release_notes.rst:805 ../../build/doc/release_notes.rst:806 -msgid "" -"pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." +msgid "pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." msgstr "" #: ../../build/doc/release_notes.rst:808 @@ -1843,8 +1865,8 @@ msgstr "" #: ../../build/doc/release_notes.rst:847 msgid "" -"Instead of generating many libraries: - All functions are encapsulated in " -"one library - The library has the prefix 2-1-0" +"Instead of generating many libraries: - All functions are encapsulated in" +" one library - The library has the prefix 2-1-0" msgstr "" #: ../../build/doc/release_notes.rst:856 @@ -1866,8 +1888,9 @@ msgstr "" #: ../../build/doc/release_notes.rst:870 msgid "" "To see the issues closed by this release see the `Git closed issues for " -"2.0.0 `_ on Github." +"2.0.0 " +"`_" +" on Github." msgstr "" #: ../../build/doc/release_notes.rst:872 @@ -1919,8 +1942,8 @@ msgstr "" #: ../../build/doc/release_notes.rst:890 msgid "" -"Graph Analytics - tools for detecting and fixing connection some problems in " -"a graph" +"Graph Analytics - tools for detecting and fixing connection some problems" +" in a graph" msgstr "" #: ../../build/doc/release_notes.rst:891 @@ -1929,7 +1952,8 @@ msgstr "" #: ../../build/doc/release_notes.rst:892 msgid "" -"Two new All Pairs Short Path algorithms (pgr_apspJohnson, pgr_apspWarshall)" +"Two new All Pairs Short Path algorithms (pgr_apspJohnson, " +"pgr_apspWarshall)" msgstr "" #: ../../build/doc/release_notes.rst:893 @@ -1968,8 +1992,8 @@ msgstr "" #: ../../build/doc/release_notes.rst:900 msgid "" -"Tested and fixed most all of the outstanding bugs reported against 1.x that " -"existing in the 2.0-dev code base." +"Tested and fixed most all of the outstanding bugs reported against 1.x " +"that existing in the 2.0-dev code base." msgstr "" #: ../../build/doc/release_notes.rst:901 @@ -1977,8 +2001,7 @@ msgid "Improved build process for Windows" msgstr "" #: ../../build/doc/release_notes.rst:902 -msgid "" -"Automated testing on Linux and Windows platforms trigger by every commit" +msgid "Automated testing on Linux and Windows platforms trigger by every commit" msgstr "" #: ../../build/doc/release_notes.rst:903 @@ -2027,10 +2050,11 @@ msgstr "" #: ../../build/doc/release_notes.rst:921 msgid "" -"To see the issues closed by this release see the `Git closed issues for 1.x " -"`_ on Github. The following release notes have been copied " -"from the previous ``RELEASE_NOTES`` file and are kept as a reference." +"To see the issues closed by this release see the `Git closed issues for " +"1.x " +"`_" +" on Github. The following release notes have been copied from the " +"previous ``RELEASE_NOTES`` file and are kept as a reference." msgstr "" #: ../../build/doc/release_notes.rst:926 @@ -2103,7 +2127,8 @@ msgstr "" #: ../../build/doc/release_notes.rst:977 msgid "" -"Shortest path functions return empty result if they could not find any path" +"Shortest path functions return empty result if they could not find any " +"path" msgstr "" #: ../../build/doc/release_notes.rst:981 @@ -2121,3 +2146,4 @@ msgstr "" #: ../../build/doc/release_notes.rst:985 msgid "routing_postgis.sql was modified to use dijkstra in TSP search" msgstr "" + diff --git a/locale/en/LC_MESSAGES/routingFunctions.po b/locale/en/LC_MESSAGES/routingFunctions.po index e3c38f6f63b..88c42ef5238 100644 --- a/locale/en/LC_MESSAGES/routingFunctions.po +++ b/locale/en/LC_MESSAGES/routingFunctions.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/en/LC_MESSAGES/sampledata.po b/locale/en/LC_MESSAGES/sampledata.po index 338c94d2568..03875a9d867 100644 --- a/locale/en/LC_MESSAGES/sampledata.po +++ b/locale/en/LC_MESSAGES/sampledata.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,8 +24,8 @@ msgstr "" #: ../../build/doc/sampledata.rst:13 msgid "" "The documentation provides very simple example queries based on a small " -"sample network. To be able to execute the sample queries, run the following " -"SQL commands to create a table with a small network data set." +"sample network. To be able to execute the sample queries, run the " +"following SQL commands to create a table with a small network data set." msgstr "" #: ../../build/doc/sampledata.rst:18 @@ -100,14 +100,14 @@ msgstr "" #: ../../build/doc/sampledata.rst:82 msgid "" -"Network for queries marked as ``directed`` and ``cost`` and ``reverse_cost`` " -"columns are used" +"Network for queries marked as ``directed`` and ``cost`` and " +"``reverse_cost`` columns are used" msgstr "" #: ../../build/doc/sampledata.rst:84 msgid "" -"When working with city networks, this is recommended for point of view of " -"vehicles." +"When working with city networks, this is recommended for point of view of" +" vehicles." msgstr "" #: ../../build/doc/sampledata.rst:89 @@ -122,8 +122,8 @@ msgstr "" #: ../../build/doc/sampledata.rst:96 msgid "" -"When working with city networks, this is recommended for point of view of " -"pedestrians." +"When working with city networks, this is recommended for point of view of" +" pedestrians." msgstr "" #: ../../build/doc/sampledata.rst:102 @@ -132,7 +132,8 @@ msgstr "" #: ../../build/doc/sampledata.rst:107 msgid "" -"Network for queries marked as ``directed`` and only ``cost`` column is used" +"Network for queries marked as ``directed`` and only ``cost`` column is " +"used" msgstr "" #: ../../build/doc/sampledata.rst:114 @@ -141,7 +142,8 @@ msgstr "" #: ../../build/doc/sampledata.rst:119 msgid "" -"Network for queries marked as ``undirected`` and only ``cost`` column is used" +"Network for queries marked as ``undirected`` and only ``cost`` column is " +"used" msgstr "" #: ../../build/doc/sampledata.rst:125 @@ -151,3 +153,4 @@ msgstr "" #: ../../build/doc/sampledata.rst:132 msgid "Pick & Deliver Data" msgstr "" + diff --git a/locale/en/LC_MESSAGES/spanningTree-family.po b/locale/en/LC_MESSAGES/spanningTree-family.po index f0c82e746c6..6f652c2d902 100644 --- a/locale/en/LC_MESSAGES/spanningTree-family.po +++ b/locale/en/LC_MESSAGES/spanningTree-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -43,9 +43,9 @@ msgstr "" #: ../../build/doc/spanningTree-family.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" #: ../../build/doc/spanningTree-family.rst:38 @@ -54,15 +54,15 @@ msgstr "" #: ../../build/doc/spanningTree-family.rst:40 msgid "" -"`Boost: Prim's algorithm documentation `__" +"`Boost: Prim's algorithm documentation " +"`__" msgstr "" #: ../../build/doc/spanningTree-family.rst:41 #, python-format msgid "" -"`Wikipedia: Prim's algorithm `__" +"`Wikipedia: Prim's algorithm " +"`__" msgstr "" #: ../../build/doc/spanningTree-family.rst:44 @@ -76,3 +76,4 @@ msgstr "" #: ../../build/doc/spanningTree-family.rst:46 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/support.po b/locale/en/LC_MESSAGES/support.po index a00aa11540e..ec9df39bc6e 100644 --- a/locale/en/LC_MESSAGES/support.po +++ b/locale/en/LC_MESSAGES/support.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -189,28 +189,3 @@ msgstr "" msgid "https://www.osgeo.org/service-providers/netlab/" msgstr "" -#~ msgid "" -#~ "If your problem is unreported, create" -#~ " a `new issue " -#~ "`_ for " -#~ "it." -#~ msgstr "" - -#~ msgid "" -#~ "You can also ask at `GIS " -#~ "StackExchange `_ and " -#~ "tag the question with ``pgrouting``. " -#~ "Find all questions tagged with " -#~ "``pgrouting`` under " -#~ "http://gis.stackexchange.com/questions/tagged/pgrouting or " -#~ "subscribe to the `pgRouting questions " -#~ "feed " -#~ "`_." -#~ msgstr "" - -#~ msgid "iMaptools" -#~ msgstr "" - -#~ msgid "https://imaptools.com" -#~ msgstr "" - diff --git a/locale/en/LC_MESSAGES/topology-functions.po b/locale/en/LC_MESSAGES/topology-functions.po index e2b3d4979e9..7a19c285954 100644 --- a/locale/en/LC_MESSAGES/topology-functions.po +++ b/locale/en/LC_MESSAGES/topology-functions.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/en/LC_MESSAGES/transformation-family.po b/locale/en/LC_MESSAGES/transformation-family.po index b498ed0c3e3..9b3381168f7 100644 --- a/locale/en/LC_MESSAGES/transformation-family.po +++ b/locale/en/LC_MESSAGES/transformation-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -91,13 +91,14 @@ msgstr "" #: ../../build/doc/transformation-family.rst:19 msgid "" -":doc:`pgr_lineGraph` - Transformation algorithm for generating a Line Graph." +":doc:`pgr_lineGraph` - Transformation algorithm for generating a Line " +"Graph." msgstr "" #: ../../build/doc/transformation-family.rst:20 msgid "" -":doc:`pgr_lineGraphFull` - Transformation algorithm for generating a Line " -"Graph out of each vertex in the input graph." +":doc:`pgr_lineGraphFull` - Transformation algorithm for generating a Line" +" Graph out of each vertex in the input graph." msgstr "" #: ../../build/doc/transformation-family.rst:32 @@ -106,15 +107,15 @@ msgstr "" #: ../../build/doc/transformation-family.rst:33 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" #: ../../build/doc/transformation-family.rst:37 msgid "" -"**Unsupported versions:** `2.6 `__" +"**Unsupported versions:** `2.6 `__" msgstr "" #: ../../build/doc/transformation-family.rst:41 @@ -123,8 +124,8 @@ msgstr "" #: ../../build/doc/transformation-family.rst:43 msgid "" -"This family of functions is used for transforming a given input graph :math:" -"`G(V,E)` into a new graph :math:`G'(V',E')`." +"This family of functions is used for transforming a given input graph " +":math:`G(V,E)` into a new graph :math:`G'(V',E')`." msgstr "" #: ../../build/doc/transformation-family.rst:46 @@ -142,3 +143,4 @@ msgstr "" #: ../../build/doc/transformation-family.rst:51 msgid ":ref:`search`" msgstr "" + diff --git a/locale/en/LC_MESSAGES/withPoints-family.po b/locale/en/LC_MESSAGES/withPoints-family.po index bed6b292de5..d5be4a06e65 100644 --- a/locale/en/LC_MESSAGES/withPoints-family.po +++ b/locale/en/LC_MESSAGES/withPoints-family.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -87,19 +87,20 @@ msgstr "" #: ../../build/doc/withPoints-family.rst:42 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" #: ../../build/doc/withPoints-family.rst:47 msgid "" -"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" +"**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 " +"`__" +" `2.2 " +"`__" msgstr "" #: ../../build/doc/withPoints-family.rst:57 @@ -108,9 +109,10 @@ msgstr "" #: ../../build/doc/withPoints-family.rst:59 msgid "" -"The squared vertices are the temporary vertices, The temporary vertices are " -"added according to the driving side, The following images visually show the " -"differences on how depending on the driving side the data is interpreted." +"The squared vertices are the temporary vertices, The temporary vertices " +"are added according to the driving side, The following images visually " +"show the differences on how depending on the driving side the data is " +"interpreted." msgstr "" #: ../../build/doc/withPoints-family.rst:63 @@ -131,8 +133,8 @@ msgstr "" #: ../../build/doc/withPoints-family.rst:80 msgid "" -"This family of functions was thought for routing vehicles, but might as well " -"work for some other application that we can not think of." +"This family of functions was thought for routing vehicles, but might as " +"well work for some other application that we can not think of." msgstr "" #: ../../build/doc/withPoints-family.rst:83 @@ -143,11 +145,12 @@ msgstr "" #: ../../build/doc/withPoints-family.rst:86 msgid "" -"When given a point identified with a `pid` that its being mapped to and edge " -"with an identifier `edge_id`, with a `fraction` along that edge (from the " -"source to the target of the edge) and some additional information about " -"which `side` of the edge the point is on, then routing from arbitrary points " -"more accurately reflect routing vehicles in road networks," +"When given a point identified with a `pid` that its being mapped to and " +"edge with an identifier `edge_id`, with a `fraction` along that edge " +"(from the source to the target of the edge) and some additional " +"information about which `side` of the edge the point is on, then routing " +"from arbitrary points more accurately reflect routing vehicles in road " +"networks," msgstr "" #: ../../build/doc/withPoints-family.rst:97 @@ -173,8 +176,7 @@ msgid "pgr_withPointsDD is pgr_drivingDistance based" msgstr "" #: ../../build/doc/withPoints-family.rst:99 -msgid "" -"In all this functions we have to take care of as many aspects as possible:" +msgid "In all this functions we have to take care of as many aspects as possible:" msgstr "" #: ../../build/doc/withPoints-family.rst:101 @@ -198,8 +200,7 @@ msgid "In either side of the street." msgstr "" #: ../../build/doc/withPoints-family.rst:109 -msgid "" -"Compulsory arrival on the side of the street where the point is located." +msgid "Compulsory arrival on the side of the street where the point is located." msgstr "" #: ../../build/doc/withPoints-family.rst:111 @@ -220,8 +221,8 @@ msgstr "" #: ../../build/doc/withPoints-family.rst:118 msgid "" -"Permanent, for example the set of points of clients stored in a table in the " -"data base" +"Permanent, for example the set of points of clients stored in a table in " +"the data base" msgstr "" #: ../../build/doc/withPoints-family.rst:119 @@ -254,8 +255,8 @@ msgstr "" #: ../../build/doc/withPoints-family.rst:130 msgid "" -"The reason for doing this is to avoid confusion when there is a vertex with " -"the same number as identifier as the points identifier." +"The reason for doing this is to avoid confusion when there is a vertex " +"with the same number as identifier as the points identifier." msgstr "" #: ../../build/doc/withPoints-family.rst:133 @@ -264,8 +265,8 @@ msgstr "" #: ../../build/doc/withPoints-family.rst:135 msgid "" -"Let :math:`G_d(V,E)` where :math:`V` is the set of vertices and :math:`E` is " -"the set of edges be the original directed graph." +"Let :math:`G_d(V,E)` where :math:`V` is the set of vertices and :math:`E`" +" is the set of edges be the original directed graph." msgstr "" #: ../../build/doc/withPoints-family.rst:137 @@ -287,8 +288,7 @@ msgid "Point Definition" msgstr "" #: ../../build/doc/withPoints-family.rst:145 -msgid "" -"A point is defined by the quadruplet: :math:`(pid, eid, fraction, side)`" +msgid "A point is defined by the quadruplet: :math:`(pid, eid, fraction, side)`" msgstr "" #: ../../build/doc/withPoints-family.rst:147 @@ -424,3 +424,4 @@ msgstr "" #: ../../build/doc/withPoints-family.rst:205 msgid ":ref:`search`" msgstr "" + From 3a8103997411ee39f6aa153d554eac890b349e0c Mon Sep 17 00:00:00 2001 From: MarPetra Date: Fri, 31 Jul 2020 20:40:57 -0500 Subject: [PATCH 0007/1360] porting Spanish "po" files from master v3.1 to v3.2 --- locale/es/LC_MESSAGES/KSP-category.po | 35 +- locale/es/LC_MESSAGES/TSP-family.po | 286 +++-- locale/es/LC_MESSAGES/VRP-category.po | 615 +++++----- locale/es/LC_MESSAGES/aStar-family.po | 153 ++- locale/es/LC_MESSAGES/allpairs-family.po | 519 +++++---- locale/es/LC_MESSAGES/bdAstar-family.po | 140 ++- locale/es/LC_MESSAGES/bdDijkstra-family.po | 63 +- .../chinesePostmanProblem-family.po | 63 +- locale/es/LC_MESSAGES/components-family.po | 76 +- locale/es/LC_MESSAGES/contraction-family.po | 352 +++--- locale/es/LC_MESSAGES/cost-category.po | 77 +- locale/es/LC_MESSAGES/costMatrix-category.po | 103 +- locale/es/LC_MESSAGES/dijkstra-family.po | 121 +- .../LC_MESSAGES/drivingDistance-category.po | 45 +- locale/es/LC_MESSAGES/flow-family.po | 287 +++-- locale/es/LC_MESSAGES/index.po | 103 +- locale/es/LC_MESSAGES/kruskal-family.po | 65 +- locale/es/LC_MESSAGES/pgRouting-concepts.po | 665 ++++++----- .../es/LC_MESSAGES/pgRouting-installation.po | 26 +- .../es/LC_MESSAGES/pgRouting-introduction.po | 203 ++-- locale/es/LC_MESSAGES/pgr_KSP.po | 163 ++- locale/es/LC_MESSAGES/pgr_TSP.po | 113 +- locale/es/LC_MESSAGES/pgr_TSPeuclidean.po | 107 +- locale/es/LC_MESSAGES/pgr_aStar.po | 191 ++-- locale/es/LC_MESSAGES/pgr_aStarCost.po | 93 +- locale/es/LC_MESSAGES/pgr_aStarCostMatrix.po | 117 +- locale/es/LC_MESSAGES/pgr_alphaShape.po | 95 +- locale/es/LC_MESSAGES/pgr_analyzeGraph.po | 167 ++- locale/es/LC_MESSAGES/pgr_analyzeOneWay.po | 125 +- .../es/LC_MESSAGES/pgr_articulationPoints.po | 86 +- locale/es/LC_MESSAGES/pgr_bdAstar.po | 97 +- locale/es/LC_MESSAGES/pgr_bdAstarCost.po | 126 +- .../es/LC_MESSAGES/pgr_bdAstarCostMatrix.po | 119 +- locale/es/LC_MESSAGES/pgr_bdDijkstra.po | 138 +-- locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po | 141 +-- .../LC_MESSAGES/pgr_bdDijkstraCostMatrix.po | 101 +- locale/es/LC_MESSAGES/pgr_bellmanFord.po | 145 ++- .../LC_MESSAGES/pgr_biconnectedComponents.po | 98 +- locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po | 69 +- locale/es/LC_MESSAGES/pgr_bridges.po | 84 +- locale/es/LC_MESSAGES/pgr_chinesePostman.po | 81 +- .../es/LC_MESSAGES/pgr_chinesePostmanCost.po | 55 +- .../es/LC_MESSAGES/pgr_connectedComponents.po | 98 +- locale/es/LC_MESSAGES/pgr_contraction.po | 211 ++-- locale/es/LC_MESSAGES/pgr_createTopology.po | 175 ++- .../es/LC_MESSAGES/pgr_createVerticesTable.po | 175 ++- locale/es/LC_MESSAGES/pgr_dagShortestPath.po | 135 ++- locale/es/LC_MESSAGES/pgr_dijkstra.po | 247 ++-- locale/es/LC_MESSAGES/pgr_dijkstraCost.po | 230 ++-- .../es/LC_MESSAGES/pgr_dijkstraCostMatrix.po | 93 +- locale/es/LC_MESSAGES/pgr_dijkstraVia.po | 129 +-- locale/es/LC_MESSAGES/pgr_drivingDistance.po | 171 ++- .../es/LC_MESSAGES/pgr_edgeDisjointPaths.po | 142 +-- locale/es/LC_MESSAGES/pgr_edmondsKarp.po | 73 +- locale/es/LC_MESSAGES/pgr_extractVertices.po | 243 ++-- locale/es/LC_MESSAGES/pgr_floydWarshall.po | 131 +-- locale/es/LC_MESSAGES/pgr_full_version.po | 89 +- locale/es/LC_MESSAGES/pgr_johnson.po | 123 +- locale/es/LC_MESSAGES/pgr_kruskal.po | 93 +- locale/es/LC_MESSAGES/pgr_kruskalBFS.po | 63 +- locale/es/LC_MESSAGES/pgr_kruskalDD.po | 161 ++- locale/es/LC_MESSAGES/pgr_kruskalDFS.po | 123 +- locale/es/LC_MESSAGES/pgr_lineGraph.po | 123 +- locale/es/LC_MESSAGES/pgr_lineGraphFull.po | 131 +-- .../es/LC_MESSAGES/pgr_maxCardinalityMatch.po | 174 ++- locale/es/LC_MESSAGES/pgr_maxFlow.po | 91 +- locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po | 79 +- .../es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po | 89 +- locale/es/LC_MESSAGES/pgr_nodeNetwork.po | 163 ++- locale/es/LC_MESSAGES/pgr_pickDeliver.po | 175 ++- .../LC_MESSAGES/pgr_pickDeliverEuclidean.po | 121 +- locale/es/LC_MESSAGES/pgr_prim.po | 66 +- locale/es/LC_MESSAGES/pgr_primBFS.po | 70 +- locale/es/LC_MESSAGES/pgr_primDD.po | 72 +- locale/es/LC_MESSAGES/pgr_primDFS.po | 70 +- locale/es/LC_MESSAGES/pgr_pushRelabel.po | 75 +- locale/es/LC_MESSAGES/pgr_stoerWagner.po | 171 ++- locale/es/LC_MESSAGES/pgr_strongComponents.po | 76 +- locale/es/LC_MESSAGES/pgr_topologicalSort.po | 149 ++- .../es/LC_MESSAGES/pgr_transitiveClosure.po | 109 +- locale/es/LC_MESSAGES/pgr_trsp.po | 293 +++-- .../es/LC_MESSAGES/pgr_turnRestrictedPath.po | 55 +- locale/es/LC_MESSAGES/pgr_version.po | 53 +- locale/es/LC_MESSAGES/pgr_vrpOneDepot.po | 84 +- locale/es/LC_MESSAGES/pgr_withPoints.po | 227 ++-- locale/es/LC_MESSAGES/pgr_withPointsCost.po | 205 ++-- .../LC_MESSAGES/pgr_withPointsCostMatrix.po | 121 +- locale/es/LC_MESSAGES/pgr_withPointsDD.po | 189 ++- locale/es/LC_MESSAGES/pgr_withPointsKSP.po | 185 ++- locale/es/LC_MESSAGES/prim-family.po | 78 +- locale/es/LC_MESSAGES/release_notes.po | 1013 +++++++++-------- locale/es/LC_MESSAGES/sampledata.po | 65 +- locale/es/LC_MESSAGES/spanningTree-family.po | 44 +- .../es/LC_MESSAGES/transformation-family.po | 45 +- locale/es/LC_MESSAGES/withPoints-family.po | 191 ++-- 95 files changed, 6870 insertions(+), 7395 deletions(-) diff --git a/locale/es/LC_MESSAGES/KSP-category.po b/locale/es/LC_MESSAGES/KSP-category.po index 346b206fc60..4f5915253c6 100644 --- a/locale/es/LC_MESSAGES/KSP-category.po +++ b/locale/es/LC_MESSAGES/KSP-category.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -10,9 +10,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -81,15 +81,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/KSP-category.rst:34 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/KSP-category.rst:38 +#: ../../build/doc/KSP-category.rst:39 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.4 `__" -#: ../../build/doc/KSP-category.rst:43 +#: ../../build/doc/KSP-category.rst:44 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/KSP-category.rst:44 +#: ../../build/doc/KSP-category.rst:45 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/KSP-category.rst:45 +#: ../../build/doc/KSP-category.rst:46 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/TSP-family.po b/locale/es/LC_MESSAGES/TSP-family.po index 0180436f1e4..2a2c83c8c38 100644 --- a/locale/es/LC_MESSAGES/TSP-family.po +++ b/locale/es/LC_MESSAGES/TSP-family.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2019 # Vicky Vergara , 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -44,14 +44,15 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/TSP-family.rst:28 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__" +" `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" +"**Versiones soportadas:** actua​l(`3.1 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/TSP-family.rst:32 +#: ../../build/doc/TSP-family.rst:33 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__ " @@ -61,26 +62,26 @@ msgstr "" "family.html>`__ `2.4 `__ " "`2.3 `__" -#: ../../build/doc/TSP-family.rst:39 +#: ../../build/doc/TSP-family.rst:40 msgid "Table of Contents" msgstr "Contenido" -#: ../../build/doc/TSP-family.rst:42 +#: ../../build/doc/TSP-family.rst:43 msgid "General Information" msgstr "Información general" -#: ../../build/doc/TSP-family.rst:45 +#: ../../build/doc/TSP-family.rst:46 msgid "Problem Definition" msgstr "Definición del Problema" -#: ../../build/doc/TSP-family.rst:49 +#: ../../build/doc/TSP-family.rst:50 msgid "" "The travelling salesman problem (TSP) or travelling salesperson problem asks" " the following question:" msgstr "" "En el problema del vendedor viajante (TSP) se hace la siguiente pregunta:" -#: ../../build/doc/TSP-family.rst:52 +#: ../../build/doc/TSP-family.rst:53 msgid "" "*Given a list of cities and the distances between each pair of cities, which" " is the shortest possible route that visits each city exactly once and " @@ -90,11 +91,11 @@ msgstr "" " corresponde con la ruta más corta posible que para visite cada ciudad " "exactamente una vez y regrese a la ciudad de origen?*" -#: ../../build/doc/TSP-family.rst:58 +#: ../../build/doc/TSP-family.rst:59 msgid "Origin" msgstr "Origen" -#: ../../build/doc/TSP-family.rst:61 +#: ../../build/doc/TSP-family.rst:62 msgid "" "The traveling sales person problem was studied in the 18th century by " "mathematicians" @@ -102,11 +103,11 @@ msgstr "" "El problema de los vendedores ambulantes fue estudiado en el siglo XVIII por" " matemáticos" -#: ../../build/doc/TSP-family.rst:61 +#: ../../build/doc/TSP-family.rst:62 msgid "**Sir William Rowam Hamilton** and **Thomas Penyngton Kirkman**." msgstr "**Sir William Rowam Hamilton** y **Thomas Penyngton Kirkman**." -#: ../../build/doc/TSP-family.rst:63 +#: ../../build/doc/TSP-family.rst:64 msgid "" "A discussion about the work of Hamilton & Kirkman can be found in the book " "**Graph Theory (Biggs et al. 1976)**." @@ -114,15 +115,15 @@ msgstr "" "Una discusión sobre el trabajo de Hamilton & Kirkman se puede encontrar en " "el libro **Graph Theory (Biggs et al. 1976)**." -#: ../../build/doc/TSP-family.rst:66 +#: ../../build/doc/TSP-family.rst:67 msgid "ISBN-13: 978-0198539162" msgstr "ISBN-13: 978-0198539162" -#: ../../build/doc/TSP-family.rst:67 +#: ../../build/doc/TSP-family.rst:68 msgid "ISBN-10: 0198539169" msgstr "ISBN-10: 0198539169" -#: ../../build/doc/TSP-family.rst:69 +#: ../../build/doc/TSP-family.rst:70 msgid "" "It is believed that the general form of the TSP have been first studied by " "Kalr Menger in Vienna and Harvard. The problem was later promoted by " @@ -138,15 +139,15 @@ msgstr "" "en `On the history of combinatorial optimization (till 1960) " "`_" -#: ../../build/doc/TSP-family.rst:75 +#: ../../build/doc/TSP-family.rst:76 msgid "Characteristics" msgstr "Características" -#: ../../build/doc/TSP-family.rst:77 +#: ../../build/doc/TSP-family.rst:78 msgid "The travel costs are symmetric:" msgstr "Los costes de viaje son simétricos:" -#: ../../build/doc/TSP-family.rst:79 +#: ../../build/doc/TSP-family.rst:80 msgid "" "traveling costs from city A to city B are just as much as traveling from B " "to A." @@ -154,35 +155,35 @@ msgstr "" "los costos de viaje de la ciudad A a la ciudad B son tanto como viajar de B " "a A." -#: ../../build/doc/TSP-family.rst:81 +#: ../../build/doc/TSP-family.rst:82 msgid "This problem is an NP-hard optimization problem." msgstr "Este problema es un problema de optimización NP-duro." -#: ../../build/doc/TSP-family.rst:83 +#: ../../build/doc/TSP-family.rst:84 msgid "To calculate the number of different tours through :math:`n` cities:" msgstr "" "Para calcular el número de recorridos diferentes a través de :math:`n` " "ciudades:" -#: ../../build/doc/TSP-family.rst:85 +#: ../../build/doc/TSP-family.rst:86 msgid "Given a starting city," msgstr "Dada una ciudad de partida," -#: ../../build/doc/TSP-family.rst:86 +#: ../../build/doc/TSP-family.rst:87 msgid "There are :math:`n-1` choices for the second city," msgstr "Hay :math:`n-1` opción para la segunda ciudad," -#: ../../build/doc/TSP-family.rst:87 +#: ../../build/doc/TSP-family.rst:88 msgid "And :math:`n-2` choices for the third city, etc." msgstr "Y :math:`n-2` opciones para la tercera ciudad, etc." -#: ../../build/doc/TSP-family.rst:88 +#: ../../build/doc/TSP-family.rst:89 msgid "" "Multiplying these together we get :math:`(n-1)! = (n-1) (n-2) . . 1`." msgstr "" "Multiplicando estos juntos obtenemos :math:`(n-1)! = (n-1) (n-2) . . 1`." -#: ../../build/doc/TSP-family.rst:89 +#: ../../build/doc/TSP-family.rst:90 msgid "" "Now since our travel costs do not depend on the direction we take around the" " tour:" @@ -190,19 +191,19 @@ msgstr "" "Ahora bien, dado que nuestros costos de viaje no dependen de la dirección " "que tomemos alrededor del recorrido:" -#: ../../build/doc/TSP-family.rst:91 +#: ../../build/doc/TSP-family.rst:92 msgid "this number by 2" msgstr "este número por 2" -#: ../../build/doc/TSP-family.rst:92 +#: ../../build/doc/TSP-family.rst:93 msgid ":math:`(n-1)!/2`." msgstr ":math:`(n-1)!/2`." -#: ../../build/doc/TSP-family.rst:97 +#: ../../build/doc/TSP-family.rst:98 msgid "Simulated Annealing Algorithm" msgstr "Algoritmo de Recocido Simulado" -#: ../../build/doc/TSP-family.rst:99 +#: ../../build/doc/TSP-family.rst:100 msgid "" "The simulated annealing algorithm was originally inspired from the process " "of annealing in metal work." @@ -210,7 +211,7 @@ msgstr "" "El algoritmo de recocido simulado se inspiró originalmente en el proceso de " "recocido en el trabajo de metal." -#: ../../build/doc/TSP-family.rst:102 +#: ../../build/doc/TSP-family.rst:103 msgid "" "Annealing involves heating and cooling a material to alter its physical " "properties due to the changes in its internal structure. As the metal cools " @@ -222,11 +223,11 @@ msgstr "" "que el metal se enfría, su nueva estructura se fija, haciendo que el metal " "conserve sus propiedades recién obtenidas." -#: ../../build/doc/TSP-family.rst:109 +#: ../../build/doc/TSP-family.rst:110 msgid "Pseudocode" msgstr "Pseudocódigo" -#: ../../build/doc/TSP-family.rst:110 +#: ../../build/doc/TSP-family.rst:111 msgid "" "Given an initial solution, the simulated annealing process, will start with " "a high temperature and gradually cool down until the desired temperature is " @@ -236,7 +237,7 @@ msgstr "" "una alta temperatura y se enfriará gradualmente hasta que se alcance la " "temperatura deseada." -#: ../../build/doc/TSP-family.rst:113 +#: ../../build/doc/TSP-family.rst:114 msgid "" "For each temperature, a neighbouring new solution **newSolution** is " "calculated. The higher the temperature the higher the probability of " @@ -246,18 +247,18 @@ msgstr "" " Cuanto mayor sea la temperatura, mayor será la probabilidad de aceptar la " "nueva solución como posible mejor solución." -#: ../../build/doc/TSP-family.rst:116 +#: ../../build/doc/TSP-family.rst:117 msgid "" "Once the desired temperature is reached, the best solution found is returned" msgstr "" "Una vez alcanzada la temperatura deseada, se devuelve la mejor solución " "encontrada" -#: ../../build/doc/TSP-family.rst:139 +#: ../../build/doc/TSP-family.rst:140 msgid "pgRouting Implementation" msgstr "Implementación de pgRouting" -#: ../../build/doc/TSP-family.rst:141 +#: ../../build/doc/TSP-family.rst:142 msgid "" "pgRouting's implementation adds some extra parameters to allow some exit " "controls within the simulated annealing process." @@ -266,48 +267,48 @@ msgstr "" "permitir algunos controles de salida dentro del proceso de recocido " "simulado." -#: ../../build/doc/TSP-family.rst:144 +#: ../../build/doc/TSP-family.rst:145 msgid "``max_changes_per_temperature``:" msgstr "``max_changes_per_temperature``:" -#: ../../build/doc/TSP-family.rst:146 +#: ../../build/doc/TSP-family.rst:147 msgid "Limits the number of changes in the solution per temperature" msgstr "Limita el número de cambios en la solución por temperatura" -#: ../../build/doc/TSP-family.rst:147 +#: ../../build/doc/TSP-family.rst:148 msgid "Count is reset to :math:`0` when **temperature** changes" msgstr "" "El recuento se restablece a :math:`0` cuando la **temperatura** cambia" -#: ../../build/doc/TSP-family.rst:148 ../../build/doc/TSP-family.rst:154 +#: ../../build/doc/TSP-family.rst:149 ../../build/doc/TSP-family.rst:155 msgid "Count is increased by :math: `1` when **solution** changes" msgstr "El recuento aumenta en :math: `1` cuando la **solución** cambia" -#: ../../build/doc/TSP-family.rst:150 +#: ../../build/doc/TSP-family.rst:151 msgid "``max_consecutive_non_changes``:" msgstr "``max_consecutive_non_changes``:" -#: ../../build/doc/TSP-family.rst:152 +#: ../../build/doc/TSP-family.rst:153 msgid "Limits the number of consecutive non changes per temperature" msgstr "Limita el número de no cambios consecutivos por temperatura" -#: ../../build/doc/TSP-family.rst:153 +#: ../../build/doc/TSP-family.rst:154 msgid "Count is reset to :math:`0` when **solution** changes" msgstr "El recuento se restablece a :math:`0` cuando la **solución** cambia" -#: ../../build/doc/TSP-family.rst:156 +#: ../../build/doc/TSP-family.rst:157 msgid "``max_processing_time``:" msgstr "``max_processing_time``:" -#: ../../build/doc/TSP-family.rst:158 +#: ../../build/doc/TSP-family.rst:159 msgid "Limits the time the simulated annealing is performed." msgstr "Limita el tiempo en que se realiza el recocido simulado." -#: ../../build/doc/TSP-family.rst:187 +#: ../../build/doc/TSP-family.rst:188 msgid "Choosing parameters" msgstr "Selección de parámetros" -#: ../../build/doc/TSP-family.rst:189 +#: ../../build/doc/TSP-family.rst:190 msgid "" "There is no exact rule on how the parameters have to be chose, it will " "depend on the special characteristics of the problem." @@ -315,7 +316,7 @@ msgstr "" "No hay una regla exacta sobre cómo se deben elegir los parámetros, dependerá" " de las características especiales del problema." -#: ../../build/doc/TSP-family.rst:192 +#: ../../build/doc/TSP-family.rst:193 msgid "" "If the computational time is crucial, then limit execution time with " "**max_processing_time**." @@ -323,7 +324,7 @@ msgstr "" "Si el tiempo de cálculo es crucial, entonces limite el tiempo de ejecución " "con **max_processing_time**." -#: ../../build/doc/TSP-family.rst:193 +#: ../../build/doc/TSP-family.rst:194 msgid "" "Make the **tries_per_temperture** depending on the number of cities " "(:math:`n`), for example:" @@ -331,24 +332,24 @@ msgstr "" "Haga el **tries_per_temperture** dependiendo del número de ciudades " "(:math:`n`), por ejemplo:" -#: ../../build/doc/TSP-family.rst:195 +#: ../../build/doc/TSP-family.rst:196 msgid "Useful to estimate the time it takes to do one cycle: use `1`" msgstr "" "Es útil para estimar el tiempo que se tarda en hacer un ciclo: use `1`" -#: ../../build/doc/TSP-family.rst:197 +#: ../../build/doc/TSP-family.rst:198 msgid "this will help to set a reasonable **max_processing_time**" msgstr "esto ayudará a establecer un **max_processing_time** razonable" -#: ../../build/doc/TSP-family.rst:199 +#: ../../build/doc/TSP-family.rst:200 msgid ":math:`n * (n-1)`" msgstr ":math:`n * (n-1)`" -#: ../../build/doc/TSP-family.rst:200 +#: ../../build/doc/TSP-family.rst:201 msgid ":math:`500 * n`" msgstr ":math:`500 * n`" -#: ../../build/doc/TSP-family.rst:202 +#: ../../build/doc/TSP-family.rst:203 msgid "" "For a faster decreasing the temperature set **cooling_factor** to a smaller " "number, and set to a higher number for a slower decrease." @@ -357,7 +358,7 @@ msgstr "" "**cooling_factor** en un número menor y establezca un número mayor para una " "disminución más lenta." -#: ../../build/doc/TSP-family.rst:205 +#: ../../build/doc/TSP-family.rst:206 msgid "" "When for the same given data the same results are needed, set **randomize** " "to `false`." @@ -365,11 +366,11 @@ msgstr "" "Cuando para los mismos datos dados se necesitan los mismos resultados, " "establezca **randomize** en `falso`." -#: ../../build/doc/TSP-family.rst:207 +#: ../../build/doc/TSP-family.rst:208 msgid "When estimating how long it takes to do one cycle: use `false`" msgstr "Al estimar cuánto tiempo se tarda en hacer un ciclo: use `false`" -#: ../../build/doc/TSP-family.rst:210 +#: ../../build/doc/TSP-family.rst:211 msgid "" "A recommendation is to play with the values and see what fits to the " "particular data." @@ -377,113 +378,113 @@ msgstr "" "Una recomendación es jugar con los valores y ver lo que se ajusta a los " "datos en particular." -#: ../../build/doc/TSP-family.rst:214 +#: ../../build/doc/TSP-family.rst:215 msgid "Description of the Control Parameters" msgstr "Descripción de los Parámetros de Control" -#: ../../build/doc/TSP-family.rst:216 +#: ../../build/doc/TSP-family.rst:217 msgid "The control parameters are optional, and have a default value." msgstr "" "Los parámetros de control son opcionales y tienen un valor predeterminado." -#: ../../build/doc/TSP-family.rst:221 +#: ../../build/doc/TSP-family.rst:222 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/TSP-family.rst:221 ../../build/doc/TSP-family.rst:251 +#: ../../build/doc/TSP-family.rst:222 ../../build/doc/TSP-family.rst:252 msgid "Type" msgstr "Tipo" -#: ../../build/doc/TSP-family.rst:221 +#: ../../build/doc/TSP-family.rst:222 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/TSP-family.rst:221 ../../build/doc/TSP-family.rst:251 +#: ../../build/doc/TSP-family.rst:222 ../../build/doc/TSP-family.rst:252 msgid "Description" msgstr "Descripción" -#: ../../build/doc/TSP-family.rst:223 +#: ../../build/doc/TSP-family.rst:224 msgid "**start_vid**" msgstr "**start_vid**" -#: ../../build/doc/TSP-family.rst:223 ../../build/doc/TSP-family.rst:224 -#: ../../build/doc/TSP-family.rst:254 +#: ../../build/doc/TSP-family.rst:224 ../../build/doc/TSP-family.rst:225 +#: ../../build/doc/TSP-family.rst:255 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/TSP-family.rst:223 ../../build/doc/TSP-family.rst:224 +#: ../../build/doc/TSP-family.rst:224 ../../build/doc/TSP-family.rst:225 msgid "`0`" msgstr "`0`" -#: ../../build/doc/TSP-family.rst:223 +#: ../../build/doc/TSP-family.rst:224 msgid "The greedy part of the implementation will use this identifier." msgstr "La parte ambiciosa de la implementación utilizará este identificador." -#: ../../build/doc/TSP-family.rst:224 +#: ../../build/doc/TSP-family.rst:225 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/TSP-family.rst:224 +#: ../../build/doc/TSP-family.rst:225 msgid "Last visiting vertex before returning to start_vid." msgstr "El último vértice de visita antes de volver a start_vid." -#: ../../build/doc/TSP-family.rst:225 +#: ../../build/doc/TSP-family.rst:226 msgid "**max_processing_time**" msgstr "**max_processing_time**" -#: ../../build/doc/TSP-family.rst:225 ../../build/doc/TSP-family.rst:229 -#: ../../build/doc/TSP-family.rst:230 ../../build/doc/TSP-family.rst:231 -#: ../../build/doc/TSP-family.rst:255 ../../build/doc/TSP-family.rst:258 +#: ../../build/doc/TSP-family.rst:226 ../../build/doc/TSP-family.rst:230 +#: ../../build/doc/TSP-family.rst:231 ../../build/doc/TSP-family.rst:232 +#: ../../build/doc/TSP-family.rst:256 ../../build/doc/TSP-family.rst:259 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/TSP-family.rst:225 +#: ../../build/doc/TSP-family.rst:226 msgid "`+infinity`" msgstr "`+infinity`" -#: ../../build/doc/TSP-family.rst:225 +#: ../../build/doc/TSP-family.rst:226 msgid "Stop the annealing processing when the value is reached." msgstr "Detenga el proceso de recocido cuando se alcance el valor." -#: ../../build/doc/TSP-family.rst:226 +#: ../../build/doc/TSP-family.rst:227 msgid "**tries_per_temperature**" msgstr "**tries_per_temperature**" -#: ../../build/doc/TSP-family.rst:226 ../../build/doc/TSP-family.rst:227 -#: ../../build/doc/TSP-family.rst:228 ../../build/doc/TSP-family.rst:253 +#: ../../build/doc/TSP-family.rst:227 ../../build/doc/TSP-family.rst:228 +#: ../../build/doc/TSP-family.rst:229 ../../build/doc/TSP-family.rst:254 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/TSP-family.rst:226 +#: ../../build/doc/TSP-family.rst:227 msgid "`500`" msgstr "`500`" -#: ../../build/doc/TSP-family.rst:226 +#: ../../build/doc/TSP-family.rst:227 msgid "Maximum number of times a neighbor(s) is searched in each temperature." msgstr "" "Número máximo de veces que se busca a un(os) vecino(s) en cada temperatura." -#: ../../build/doc/TSP-family.rst:227 +#: ../../build/doc/TSP-family.rst:228 msgid "**max_changes_per_temperature**" msgstr "**max_changes_per_temperature**" -#: ../../build/doc/TSP-family.rst:227 +#: ../../build/doc/TSP-family.rst:228 msgid "`60`" msgstr "`60`" -#: ../../build/doc/TSP-family.rst:227 +#: ../../build/doc/TSP-family.rst:228 msgid "Maximum number of times the solution is changed in each temperature." msgstr "Número máximo de veces que se cambia la solución en cada temperatura." -#: ../../build/doc/TSP-family.rst:228 +#: ../../build/doc/TSP-family.rst:229 msgid "**max_consecutive_non_changes**" msgstr "**max_consecutive_non_changes**" -#: ../../build/doc/TSP-family.rst:228 ../../build/doc/TSP-family.rst:229 +#: ../../build/doc/TSP-family.rst:229 ../../build/doc/TSP-family.rst:230 msgid "`100`" msgstr "`100`" -#: ../../build/doc/TSP-family.rst:228 +#: ../../build/doc/TSP-family.rst:229 msgid "" "Maximum number of consecutive times the solution is not changed in each " "temperature." @@ -491,35 +492,35 @@ msgstr "" "Número máximo de veces consecutivas que la solución no cambia en cada " "temperatura." -#: ../../build/doc/TSP-family.rst:229 +#: ../../build/doc/TSP-family.rst:230 msgid "**initial_temperature**" msgstr "**initial_temperature**" -#: ../../build/doc/TSP-family.rst:229 +#: ../../build/doc/TSP-family.rst:230 msgid "Starting temperature." msgstr "Temperatura de inicio." -#: ../../build/doc/TSP-family.rst:230 +#: ../../build/doc/TSP-family.rst:231 msgid "**final_temperature**" msgstr "**temperatura_final**" -#: ../../build/doc/TSP-family.rst:230 +#: ../../build/doc/TSP-family.rst:231 msgid "`0.1`" msgstr "`0.1`" -#: ../../build/doc/TSP-family.rst:230 +#: ../../build/doc/TSP-family.rst:231 msgid "Ending temperature." msgstr "Temperatura final." -#: ../../build/doc/TSP-family.rst:231 +#: ../../build/doc/TSP-family.rst:232 msgid "**cooling_factor**" msgstr "**factor_de_enfriamiento**" -#: ../../build/doc/TSP-family.rst:231 +#: ../../build/doc/TSP-family.rst:232 msgid "`0.9`" msgstr "`0.9`" -#: ../../build/doc/TSP-family.rst:231 +#: ../../build/doc/TSP-family.rst:232 msgid "" "Value between between 0 and 1 (not including) used to calculate the next " "temperature." @@ -527,27 +528,27 @@ msgstr "" "Valor entre 0 y 1 (sin incluir) utilizado para calcular la siguiente " "temperatura." -#: ../../build/doc/TSP-family.rst:232 +#: ../../build/doc/TSP-family.rst:233 msgid "**randomize**" msgstr "**aleatorizar**" -#: ../../build/doc/TSP-family.rst:232 +#: ../../build/doc/TSP-family.rst:233 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/TSP-family.rst:232 +#: ../../build/doc/TSP-family.rst:233 msgid "`true`" msgstr "`true`" -#: ../../build/doc/TSP-family.rst:232 +#: ../../build/doc/TSP-family.rst:233 msgid "Choose the random seed" msgstr "Elija la semilla aleatoria" -#: ../../build/doc/TSP-family.rst:234 +#: ../../build/doc/TSP-family.rst:235 msgid "true: Use current time as seed" msgstr "true: Utilice el tiempo actual como semilla" -#: ../../build/doc/TSP-family.rst:235 +#: ../../build/doc/TSP-family.rst:236 msgid "" "false: Use `1` as seed. Using this value will get the same results with the " "same data in each execution." @@ -555,39 +556,39 @@ msgstr "" "falso: Use `1` como semilla. Usando este valor obtendrá los mismos " "resultados con los mismos datos en cada ejecución." -#: ../../build/doc/TSP-family.rst:244 +#: ../../build/doc/TSP-family.rst:245 msgid "Description of the return columns" msgstr "Descripción de las columnas de devolución" -#: ../../build/doc/TSP-family.rst:248 +#: ../../build/doc/TSP-family.rst:249 msgid "Returns SET OF ``(seq, node, cost, agg_cost)``" msgstr "Devuelve el CONJUNTO DE ``(seq, node, cost, agg_cost)``" -#: ../../build/doc/TSP-family.rst:251 +#: ../../build/doc/TSP-family.rst:252 msgid "Column" msgstr "Columna" -#: ../../build/doc/TSP-family.rst:253 +#: ../../build/doc/TSP-family.rst:254 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/TSP-family.rst:253 +#: ../../build/doc/TSP-family.rst:254 msgid "Row sequence." msgstr "Secuencia de filas." -#: ../../build/doc/TSP-family.rst:254 +#: ../../build/doc/TSP-family.rst:255 msgid "**node**" msgstr "**node**" -#: ../../build/doc/TSP-family.rst:254 +#: ../../build/doc/TSP-family.rst:255 msgid "Identifier of the node/coordinate/point." msgstr "Identificador del nodo/coordenada/punto." -#: ../../build/doc/TSP-family.rst:255 +#: ../../build/doc/TSP-family.rst:256 msgid "**cost**" msgstr "**cost**" -#: ../../build/doc/TSP-family.rst:256 +#: ../../build/doc/TSP-family.rst:257 msgid "" "Cost to traverse from the current ``node`` to the next ``node`` in the path " "sequence." @@ -595,31 +596,31 @@ msgstr "" "Coste que se debe recorrer desde el ``nodo`` al siguiente ``nodo`` en la " "secuencia de ruta." -#: ../../build/doc/TSP-family.rst:256 +#: ../../build/doc/TSP-family.rst:257 msgid "``0`` for the last row in the path sequence." msgstr "``0`` para la última fila de la secuencia de ruta." -#: ../../build/doc/TSP-family.rst:258 +#: ../../build/doc/TSP-family.rst:259 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/TSP-family.rst:259 +#: ../../build/doc/TSP-family.rst:260 msgid "Aggregate cost from the ``node`` at ``seq = 1`` to the current node." msgstr "Costo agregado del ``nodo`` en ``seq = 1`` hacia el nodo actual." -#: ../../build/doc/TSP-family.rst:259 +#: ../../build/doc/TSP-family.rst:260 msgid "``0`` for the first row in the path sequence." msgstr "``0`` para la primera fila de la secuencia de ruta." -#: ../../build/doc/TSP-family.rst:266 +#: ../../build/doc/TSP-family.rst:267 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/TSP-family.rst:269 +#: ../../build/doc/TSP-family.rst:270 msgid "References" msgstr "Referencias" -#: ../../build/doc/TSP-family.rst:270 +#: ../../build/doc/TSP-family.rst:271 msgid "" "`Simulated annaeling algorithm for beginners `__" @@ -628,7 +629,7 @@ msgstr "" "`__" -#: ../../build/doc/TSP-family.rst:271 +#: ../../build/doc/TSP-family.rst:272 msgid "" "`Wikipedia: Traveling Salesman Problem " "`__" @@ -636,7 +637,7 @@ msgstr "" "`Wikipedia: Traveling Salesman Problem " "`__" -#: ../../build/doc/TSP-family.rst:272 +#: ../../build/doc/TSP-family.rst:273 msgid "" "`Wikipedia: Simulated annealing " "`__" @@ -644,37 +645,14 @@ msgstr "" "`Wikipedia: Simulated annealing " "`__" -#: ../../build/doc/TSP-family.rst:275 +#: ../../build/doc/TSP-family.rst:276 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/TSP-family.rst:276 +#: ../../build/doc/TSP-family.rst:277 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/TSP-family.rst:277 +#: ../../build/doc/TSP-family.rst:278 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "It is believed that the general form of the TSP have been first studied by " -#~ "Kalr Menger in Vienna and Harvard. The problem was later promoted by " -#~ "Hassler, Whitney & Merrill at Princeton. A detailed description about the " -#~ "connection between Menger & Whitney, and the development of the TSP can be " -#~ "found in `On the history of combinatorial optimization (till 1960) " -#~ "`_" -#~ msgstr "" -#~ "Se cree que la forma general del TSP ha sido estudiada por primera vez por " -#~ "Kalr Menger en Viena y Harvard. El problema fue promovido más tarde por " -#~ "Hassler, Whitney & Merrill en Princeton. Una descripción detallada sobre la " -#~ "conexión entre Menger & Whitney, y el desarrollo del TSP se puede encontrar " -#~ "en `On the history of combinatorial optimization (till 1960) " -#~ "`_" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/VRP-category.po b/locale/es/LC_MESSAGES/VRP-category.po index 039cbecd285..110ef8caf01 100644 --- a/locale/es/LC_MESSAGES/VRP-category.po +++ b/locale/es/LC_MESSAGES/VRP-category.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Sterling Quinn , 2019 # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2020 +# Vicky Vergara , 2019 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -133,17 +133,19 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/VRP-category.rst:41 msgid "" -"**Supported versions:** current(`3.0 `__)" +"**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__)" +"**Versiones soportadas:** actua​l(`3.1 `__) `3.0 `__" -#: ../../build/doc/VRP-category.rst:46 +#: ../../build/doc/VRP-category.rst:47 msgid "Introduction" msgstr "Introducción" -#: ../../build/doc/VRP-category.rst:48 +#: ../../build/doc/VRP-category.rst:49 msgid "" "Vehicle Routing Problems `VRP` are **NP-hard** optimization problem, it " "generalises the travelling salesman problem (TSP)." @@ -151,23 +153,23 @@ msgstr "" "Problemas de Ruteo de Vehículos `VRP` son problemas de optimización **NP-" "hard** , que generaliza el problema del vendedor viajante (TSP)." -#: ../../build/doc/VRP-category.rst:50 +#: ../../build/doc/VRP-category.rst:51 msgid "The objective of the VRP is to minimize the total route cost." msgstr "El objetivo del VRP es minimizar el costo total de la ruta." -#: ../../build/doc/VRP-category.rst:51 +#: ../../build/doc/VRP-category.rst:52 msgid "There are several variants of the VRP problem," msgstr "Hay distintas variantes del problema VRP," -#: ../../build/doc/VRP-category.rst:53 +#: ../../build/doc/VRP-category.rst:54 msgid "**pgRouting does not try to implement all variants.**" msgstr "**pgRouting no intenta implementar todas las variantes.**" -#: ../../build/doc/VRP-category.rst:57 +#: ../../build/doc/VRP-category.rst:58 msgid "Characteristics" msgstr "Características" -#: ../../build/doc/VRP-category.rst:59 +#: ../../build/doc/VRP-category.rst:60 msgid "" "Capacitated Vehicle Routing Problem `CVRP` where The vehicles have limited " "carrying capacity of the goods." @@ -175,7 +177,7 @@ msgstr "" "Problema de Ruteo de Vehículos Capacitados `CVRP` donde los vehículos tienen" " una capacidad de transporte limitada de las mercancías." -#: ../../build/doc/VRP-category.rst:60 +#: ../../build/doc/VRP-category.rst:61 msgid "" "Vehicle Routing Problem with Time Windows `VRPTW` where the locations have " "time windows within which the vehicle's visits must be made." @@ -184,7 +186,7 @@ msgstr "" "ubicaciones tienen ventanas de tiempo dentro de las cuales se deben realizar" " las visitas del vehículo." -#: ../../build/doc/VRP-category.rst:61 +#: ../../build/doc/VRP-category.rst:62 msgid "" "Vehicle Routing Problem with Pickup and Delivery `VRPPD` where a number of " "goods need to be moved from certain pickup locations to other delivery " @@ -194,31 +196,31 @@ msgstr "" "serie de mercancías necesitan ser trasladadas de ciertas ubicaciones de " "recogida a otros lugares de entrega." -#: ../../build/doc/VRP-category.rst:65 +#: ../../build/doc/VRP-category.rst:66 msgid "Limitations" msgstr "Limitaciones" -#: ../../build/doc/VRP-category.rst:66 +#: ../../build/doc/VRP-category.rst:67 msgid "No multiple time windows for a location." msgstr "No hay varias ventanas de tiempo para una ubicación." -#: ../../build/doc/VRP-category.rst:67 +#: ../../build/doc/VRP-category.rst:68 msgid "Less vehicle used is considered better." msgstr "Menos vehículo utilizado se considera mejor." -#: ../../build/doc/VRP-category.rst:68 +#: ../../build/doc/VRP-category.rst:69 msgid "Less total duration is better." msgstr "Menos duración total es mejor." -#: ../../build/doc/VRP-category.rst:69 +#: ../../build/doc/VRP-category.rst:70 msgid "Less wait time is better." msgstr "Menos tiempo de espera es mejor." -#: ../../build/doc/VRP-category.rst:73 +#: ../../build/doc/VRP-category.rst:74 msgid "Pick & Delivery" msgstr "Recogida y Entrega" -#: ../../build/doc/VRP-category.rst:75 +#: ../../build/doc/VRP-category.rst:76 msgid "" "Problem: `CVRPPDTW` Capacitated Pick and Delivery Vehicle Routing problem " "with Time Windows" @@ -226,47 +228,47 @@ msgstr "" "Problema: `CVRPPDTW` Problema de Ruteo de vehículos de recogida y entrega " "capacitado con Ventanas de Tiempo" -#: ../../build/doc/VRP-category.rst:77 +#: ../../build/doc/VRP-category.rst:78 msgid "Times are relative to `0`" msgstr "Los tiempos son relativos a `0`" -#: ../../build/doc/VRP-category.rst:78 +#: ../../build/doc/VRP-category.rst:79 msgid "The vehicles" msgstr "Los vehículos" -#: ../../build/doc/VRP-category.rst:80 +#: ../../build/doc/VRP-category.rst:81 msgid "have start and ending service duration times." msgstr "tienen tiempos de duración del servicio de inicio y fin." -#: ../../build/doc/VRP-category.rst:81 +#: ../../build/doc/VRP-category.rst:82 msgid "have opening and closing times for the start and ending locations." msgstr "" "tienen horarios de apertura y cierre para las ubicaciones de inicio y " "finalización." -#: ../../build/doc/VRP-category.rst:82 +#: ../../build/doc/VRP-category.rst:83 msgid "have a capacity." msgstr "tienen cierta capacidad." -#: ../../build/doc/VRP-category.rst:84 +#: ../../build/doc/VRP-category.rst:85 msgid "The orders" msgstr "Las órdenes" -#: ../../build/doc/VRP-category.rst:86 +#: ../../build/doc/VRP-category.rst:87 msgid "Have pick up and delivery locations." msgstr "Tener lugares de recogida y entrega." -#: ../../build/doc/VRP-category.rst:87 +#: ../../build/doc/VRP-category.rst:88 msgid "Have opening and closing times for the pickup and delivery locations." msgstr "" "Tener horarios de apertura y cierre para las ubicaciones de recogida y " "entrega." -#: ../../build/doc/VRP-category.rst:88 +#: ../../build/doc/VRP-category.rst:89 msgid "Have pickup and delivery duration service times." msgstr "Tener tiempos de servicio de recogida y entrega." -#: ../../build/doc/VRP-category.rst:89 +#: ../../build/doc/VRP-category.rst:90 msgid "" "have a demand request for moving goods from the pickup location to the " "delivery location." @@ -274,210 +276,210 @@ msgstr "" "solicitar el traslado de mercancías desde el lugar de recogida hasta el " "lugar de entrega." -#: ../../build/doc/VRP-category.rst:91 +#: ../../build/doc/VRP-category.rst:92 msgid "Time based calculations:" msgstr "Cálculos basados en el tiempo:" -#: ../../build/doc/VRP-category.rst:93 +#: ../../build/doc/VRP-category.rst:94 msgid "Travel time between customers is :math:`distance / speed`" msgstr "" "El tiempo de viaje entre los clientes es :math:`distancia / velocidad`" -#: ../../build/doc/VRP-category.rst:94 +#: ../../build/doc/VRP-category.rst:95 msgid "Pickup and delivery order pair is done by the same vehicle." msgstr "" "El par de órdenes de recogida y entrega se realiza por el mismo vehículo." -#: ../../build/doc/VRP-category.rst:95 +#: ../../build/doc/VRP-category.rst:96 msgid "A pickup is done before the delivery." msgstr "La recogida se realiza antes de la entrega." -#: ../../build/doc/VRP-category.rst:102 +#: ../../build/doc/VRP-category.rst:103 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/VRP-category.rst:106 +#: ../../build/doc/VRP-category.rst:107 msgid "Pick & deliver" msgstr "Recogida y Entrega" -#: ../../build/doc/VRP-category.rst:108 +#: ../../build/doc/VRP-category.rst:109 msgid "Both implementations use the following same parameters:" msgstr "Ambas implementaciones utilizan los siguientes parámetros:" #: ../../build/doc/VRP-category.rst:18 ../../build/doc/VRP-category.rst:54 -#: ../../build/doc/VRP-category.rst:113 ../../build/doc/VRP-category.rst:134 -#: ../../build/doc/VRP-category.rst:164 ../../build/doc/VRP-category.rst:185 -#: ../../build/doc/VRP-category.rst:199 ../../build/doc/VRP-category.rst:226 -#: ../../build/doc/VRP-category.rst:248 ../../build/doc/VRP-category.rst:261 -#: ../../build/doc/VRP-category.rst:316 ../../build/doc/VRP-category.rst:352 +#: ../../build/doc/VRP-category.rst:114 ../../build/doc/VRP-category.rst:135 +#: ../../build/doc/VRP-category.rst:165 ../../build/doc/VRP-category.rst:186 +#: ../../build/doc/VRP-category.rst:200 ../../build/doc/VRP-category.rst:227 +#: ../../build/doc/VRP-category.rst:249 ../../build/doc/VRP-category.rst:262 +#: ../../build/doc/VRP-category.rst:317 ../../build/doc/VRP-category.rst:353 msgid "Column" msgstr "Columna" #: ../../build/doc/VRP-category.rst:18 ../../build/doc/VRP-category.rst:54 -#: ../../build/doc/VRP-category.rst:113 ../../build/doc/VRP-category.rst:134 -#: ../../build/doc/VRP-category.rst:164 ../../build/doc/VRP-category.rst:185 -#: ../../build/doc/VRP-category.rst:199 ../../build/doc/VRP-category.rst:226 -#: ../../build/doc/VRP-category.rst:248 ../../build/doc/VRP-category.rst:261 -#: ../../build/doc/VRP-category.rst:316 ../../build/doc/VRP-category.rst:352 +#: ../../build/doc/VRP-category.rst:114 ../../build/doc/VRP-category.rst:135 +#: ../../build/doc/VRP-category.rst:165 ../../build/doc/VRP-category.rst:186 +#: ../../build/doc/VRP-category.rst:200 ../../build/doc/VRP-category.rst:227 +#: ../../build/doc/VRP-category.rst:249 ../../build/doc/VRP-category.rst:262 +#: ../../build/doc/VRP-category.rst:317 ../../build/doc/VRP-category.rst:353 msgid "Type" msgstr "Tipo" -#: ../../build/doc/VRP-category.rst:113 ../../build/doc/VRP-category.rst:164 -#: ../../build/doc/VRP-category.rst:226 ../../build/doc/VRP-category.rst:248 -#: ../../build/doc/VRP-category.rst:261 +#: ../../build/doc/VRP-category.rst:114 ../../build/doc/VRP-category.rst:165 +#: ../../build/doc/VRP-category.rst:227 ../../build/doc/VRP-category.rst:249 +#: ../../build/doc/VRP-category.rst:262 msgid "Default" msgstr "Valores predeterminados" #: ../../build/doc/VRP-category.rst:18 ../../build/doc/VRP-category.rst:54 -#: ../../build/doc/VRP-category.rst:113 ../../build/doc/VRP-category.rst:134 -#: ../../build/doc/VRP-category.rst:164 ../../build/doc/VRP-category.rst:185 -#: ../../build/doc/VRP-category.rst:199 ../../build/doc/VRP-category.rst:226 -#: ../../build/doc/VRP-category.rst:248 ../../build/doc/VRP-category.rst:261 -#: ../../build/doc/VRP-category.rst:316 ../../build/doc/VRP-category.rst:352 +#: ../../build/doc/VRP-category.rst:114 ../../build/doc/VRP-category.rst:135 +#: ../../build/doc/VRP-category.rst:165 ../../build/doc/VRP-category.rst:186 +#: ../../build/doc/VRP-category.rst:200 ../../build/doc/VRP-category.rst:227 +#: ../../build/doc/VRP-category.rst:249 ../../build/doc/VRP-category.rst:262 +#: ../../build/doc/VRP-category.rst:317 ../../build/doc/VRP-category.rst:353 msgid "Description" msgstr "Descripción" -#: ../../build/doc/VRP-category.rst:115 +#: ../../build/doc/VRP-category.rst:116 msgid "**orders_sql**" msgstr "**orders_sql**" -#: ../../build/doc/VRP-category.rst:115 ../../build/doc/VRP-category.rst:116 -#: ../../build/doc/VRP-category.rst:136 +#: ../../build/doc/VRP-category.rst:116 ../../build/doc/VRP-category.rst:117 +#: ../../build/doc/VRP-category.rst:137 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/VRP-category.rst:115 +#: ../../build/doc/VRP-category.rst:116 msgid "" "`Pick & Deliver Orders SQL`_ query containing the orders to be processed." msgstr "" "`Pick & Deliver Orders SQL`_ consulta que contiene las órdenes que se van a" " procesar." -#: ../../build/doc/VRP-category.rst:116 +#: ../../build/doc/VRP-category.rst:117 msgid "**vehicles_sql**" msgstr "**vehicles_sql**" -#: ../../build/doc/VRP-category.rst:116 +#: ../../build/doc/VRP-category.rst:117 msgid "" "`Pick & Deliver Vehicles SQL`_ query containing the vehicles to be used." msgstr "" "La consulta `SQL de Vehículos de Recogida y Entrega`_ contiene los vehículos" " que se van a utilizar." -#: ../../build/doc/VRP-category.rst:117 +#: ../../build/doc/VRP-category.rst:118 msgid "**factor**" msgstr "**factor**" -#: ../../build/doc/VRP-category.rst:117 +#: ../../build/doc/VRP-category.rst:118 msgid "``NUMERIC``" msgstr "``NUMERIC``" -#: ../../build/doc/VRP-category.rst:117 +#: ../../build/doc/VRP-category.rst:118 msgid "1" msgstr "1" -#: ../../build/doc/VRP-category.rst:117 +#: ../../build/doc/VRP-category.rst:118 msgid "(Optional) Travel time multiplier. See :ref:`pd_factor`" msgstr "(Opcional) Multiplicador de tiempo de viaje. Ver :ref:`pd_factor`" -#: ../../build/doc/VRP-category.rst:118 +#: ../../build/doc/VRP-category.rst:119 msgid "**max_cycles**" msgstr "**max_cycles**" -#: ../../build/doc/VRP-category.rst:118 ../../build/doc/VRP-category.rst:119 +#: ../../build/doc/VRP-category.rst:119 ../../build/doc/VRP-category.rst:120 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/VRP-category.rst:118 ../../build/doc/VRP-category.rst:426 +#: ../../build/doc/VRP-category.rst:119 ../../build/doc/VRP-category.rst:427 msgid "10" msgstr "10" -#: ../../build/doc/VRP-category.rst:118 +#: ../../build/doc/VRP-category.rst:119 msgid "(Optional) Maximum number of cycles to perform on the optimization." msgstr "(Opcional) Número máximo de ciclos a realizar en la optimización." -#: ../../build/doc/VRP-category.rst:119 +#: ../../build/doc/VRP-category.rst:120 msgid "**initial_sol**" msgstr "**initial_sol**" -#: ../../build/doc/VRP-category.rst:119 +#: ../../build/doc/VRP-category.rst:120 msgid "4" msgstr "4" -#: ../../build/doc/VRP-category.rst:119 +#: ../../build/doc/VRP-category.rst:120 msgid "(Optional) Initial solution to be used." msgstr "(Opcional) Solución inicial a utilizar." -#: ../../build/doc/VRP-category.rst:121 +#: ../../build/doc/VRP-category.rst:122 msgid "``1`` One order per truck" msgstr "``1`` Una orden por camión" -#: ../../build/doc/VRP-category.rst:122 +#: ../../build/doc/VRP-category.rst:123 msgid "``2`` Push front order." msgstr "``2`` Empuje la orden delantera." -#: ../../build/doc/VRP-category.rst:123 +#: ../../build/doc/VRP-category.rst:124 msgid "``3`` Push back order." msgstr "``3`` Empuje la orden trasera." -#: ../../build/doc/VRP-category.rst:124 +#: ../../build/doc/VRP-category.rst:125 msgid "``4`` Optimize insert." msgstr "``4`` Optimizar inserción." -#: ../../build/doc/VRP-category.rst:125 +#: ../../build/doc/VRP-category.rst:126 msgid "" "``5`` Push back order that allows more orders to be inserted at the back" msgstr "" "``5`` Orden de retroceso que permite insertar más órdenes en la parte " "posterior" -#: ../../build/doc/VRP-category.rst:126 +#: ../../build/doc/VRP-category.rst:127 msgid "" "``6`` Push front order that allows more orders to be inserted at the front" msgstr "" "``6`` Orden de avance que permite insertar más órdenes en la parte frontal" -#: ../../build/doc/VRP-category.rst:131 +#: ../../build/doc/VRP-category.rst:132 msgid "The non euclidean implementation, additionally has:" msgstr "La implementación no euclidiana, además tiene:" -#: ../../build/doc/VRP-category.rst:136 +#: ../../build/doc/VRP-category.rst:137 msgid "**matrix_sql**" msgstr "**matrix_sql**" -#: ../../build/doc/VRP-category.rst:136 +#: ../../build/doc/VRP-category.rst:137 msgid "" "`Pick & Deliver Matrix SQL`_ query containing the distance or travel times." msgstr "" "La consulta `Matriz SQL de Recogida y Entrega`_ contiene la distancia o " "tiempos de viaje." -#: ../../build/doc/VRP-category.rst:141 +#: ../../build/doc/VRP-category.rst:142 msgid "Inner Queries" msgstr "Consultas Internas" -#: ../../build/doc/VRP-category.rst:143 +#: ../../build/doc/VRP-category.rst:144 msgid "`Pick & Deliver Orders SQL`_" msgstr "`Órdenes SQL de Recogida y Entrega`_" -#: ../../build/doc/VRP-category.rst:144 +#: ../../build/doc/VRP-category.rst:145 msgid "`Pick & Deliver Vehicles SQL`_" msgstr "`SQL de Vehículos de Recogida y Entrega`_" -#: ../../build/doc/VRP-category.rst:145 +#: ../../build/doc/VRP-category.rst:146 msgid "`Pick & Deliver Matrix SQL`_" msgstr "`Matriz SQL de Recogida y Entrega`_" -#: ../../build/doc/VRP-category.rst:148 +#: ../../build/doc/VRP-category.rst:149 msgid "return columns" msgstr "columnas de retorno" -#: ../../build/doc/VRP-category.rst:149 +#: ../../build/doc/VRP-category.rst:150 msgid ":ref:`Description of return columns `" msgstr "" ":ref:`Descripción de las columnas de retorno `" -#: ../../build/doc/VRP-category.rst:150 +#: ../../build/doc/VRP-category.rst:151 msgid "" ":ref:`Description of the return columns for Euclidean version " "`" @@ -485,11 +487,11 @@ msgstr "" ":ref:`Descripción de las columnas de retorno para la versión Euclideana " "`" -#: ../../build/doc/VRP-category.rst:157 +#: ../../build/doc/VRP-category.rst:158 msgid "Pick & Deliver Orders SQL" msgstr "Pick & Deliver Orders SQL (Recoger y Entregar Pedidos)" -#: ../../build/doc/VRP-category.rst:159 +#: ../../build/doc/VRP-category.rst:160 msgid "" "In general, the columns for the orders SQL is the same in both " "implementation of pick and delivery:" @@ -497,94 +499,94 @@ msgstr "" "En general, las columnas para las órdenes SQL es la misma tanto en la " "implementación de recogida como de entrega:" -#: ../../build/doc/VRP-category.rst:166 ../../build/doc/VRP-category.rst:228 +#: ../../build/doc/VRP-category.rst:167 ../../build/doc/VRP-category.rst:229 msgid "**id**" msgstr "**id**" -#: ../../build/doc/VRP-category.rst:166 ../../build/doc/VRP-category.rst:187 -#: ../../build/doc/VRP-category.rst:188 ../../build/doc/VRP-category.rst:228 -#: ../../build/doc/VRP-category.rst:250 ../../build/doc/VRP-category.rst:251 +#: ../../build/doc/VRP-category.rst:167 ../../build/doc/VRP-category.rst:188 +#: ../../build/doc/VRP-category.rst:189 ../../build/doc/VRP-category.rst:229 +#: ../../build/doc/VRP-category.rst:251 ../../build/doc/VRP-category.rst:252 msgid "|ANY-INTEGER|" msgstr "|ANY-INTEGER|" -#: ../../build/doc/VRP-category.rst:166 ../../build/doc/VRP-category.rst:228 +#: ../../build/doc/VRP-category.rst:167 ../../build/doc/VRP-category.rst:229 msgid "Identifier of the pick-delivery order pair." msgstr "Identificador del par de órdenes recogida-entrega." -#: ../../build/doc/VRP-category.rst:167 +#: ../../build/doc/VRP-category.rst:168 msgid "**demand**" msgstr "**demanda**" -#: ../../build/doc/VRP-category.rst:167 ../../build/doc/VRP-category.rst:168 -#: ../../build/doc/VRP-category.rst:169 ../../build/doc/VRP-category.rst:170 -#: ../../build/doc/VRP-category.rst:171 ../../build/doc/VRP-category.rst:172 -#: ../../build/doc/VRP-category.rst:173 ../../build/doc/VRP-category.rst:201 -#: ../../build/doc/VRP-category.rst:202 ../../build/doc/VRP-category.rst:203 -#: ../../build/doc/VRP-category.rst:204 ../../build/doc/VRP-category.rst:229 -#: ../../build/doc/VRP-category.rst:230 ../../build/doc/VRP-category.rst:232 -#: ../../build/doc/VRP-category.rst:233 ../../build/doc/VRP-category.rst:234 -#: ../../build/doc/VRP-category.rst:236 ../../build/doc/VRP-category.rst:237 -#: ../../build/doc/VRP-category.rst:238 ../../build/doc/VRP-category.rst:263 -#: ../../build/doc/VRP-category.rst:264 ../../build/doc/VRP-category.rst:265 -#: ../../build/doc/VRP-category.rst:266 +#: ../../build/doc/VRP-category.rst:168 ../../build/doc/VRP-category.rst:169 +#: ../../build/doc/VRP-category.rst:170 ../../build/doc/VRP-category.rst:171 +#: ../../build/doc/VRP-category.rst:172 ../../build/doc/VRP-category.rst:173 +#: ../../build/doc/VRP-category.rst:174 ../../build/doc/VRP-category.rst:202 +#: ../../build/doc/VRP-category.rst:203 ../../build/doc/VRP-category.rst:204 +#: ../../build/doc/VRP-category.rst:205 ../../build/doc/VRP-category.rst:230 +#: ../../build/doc/VRP-category.rst:231 ../../build/doc/VRP-category.rst:233 +#: ../../build/doc/VRP-category.rst:234 ../../build/doc/VRP-category.rst:235 +#: ../../build/doc/VRP-category.rst:237 ../../build/doc/VRP-category.rst:238 +#: ../../build/doc/VRP-category.rst:239 ../../build/doc/VRP-category.rst:264 +#: ../../build/doc/VRP-category.rst:265 ../../build/doc/VRP-category.rst:266 +#: ../../build/doc/VRP-category.rst:267 msgid "|ANY-NUMERICAL|" msgstr "|ANY-NUMERICAL|" -#: ../../build/doc/VRP-category.rst:167 ../../build/doc/VRP-category.rst:229 +#: ../../build/doc/VRP-category.rst:168 ../../build/doc/VRP-category.rst:230 msgid "Number of units in the order" msgstr "Número de unidades en la orden" -#: ../../build/doc/VRP-category.rst:168 +#: ../../build/doc/VRP-category.rst:169 msgid "**p_open**" msgstr "**p_open**" -#: ../../build/doc/VRP-category.rst:168 +#: ../../build/doc/VRP-category.rst:169 msgid "The time, relative to 0, when the pickup location opens." msgstr "La hora, en relación con 0, cuando se abre la ubicación de recogida." -#: ../../build/doc/VRP-category.rst:169 +#: ../../build/doc/VRP-category.rst:170 msgid "**p_close**" msgstr "**p_close**" -#: ../../build/doc/VRP-category.rst:169 +#: ../../build/doc/VRP-category.rst:170 msgid "The time, relative to 0, when the pickup location closes." msgstr "" "La hora, en relación con 0, cuando se cierra la ubicación de recogida." -#: ../../build/doc/VRP-category.rst:170 ../../build/doc/VRP-category.rst:173 +#: ../../build/doc/VRP-category.rst:171 ../../build/doc/VRP-category.rst:174 msgid "**d_service**" msgstr "**d_service**" -#: ../../build/doc/VRP-category.rst:170 ../../build/doc/VRP-category.rst:173 -#: ../../build/doc/VRP-category.rst:461 ../../build/doc/VRP-category.rst:463 +#: ../../build/doc/VRP-category.rst:171 ../../build/doc/VRP-category.rst:174 +#: ../../build/doc/VRP-category.rst:462 ../../build/doc/VRP-category.rst:464 msgid "0" msgstr "0" -#: ../../build/doc/VRP-category.rst:170 +#: ../../build/doc/VRP-category.rst:171 msgid "The duration of the loading at the pickup location." msgstr "La duración de la carga en el lugar de recogida." -#: ../../build/doc/VRP-category.rst:171 +#: ../../build/doc/VRP-category.rst:172 msgid "**d_open**" msgstr "**d_open**" -#: ../../build/doc/VRP-category.rst:171 +#: ../../build/doc/VRP-category.rst:172 msgid "The time, relative to 0, when the delivery location opens." msgstr "La hora, en relación con 0, cuando se abre la ubicación de entrega." -#: ../../build/doc/VRP-category.rst:172 +#: ../../build/doc/VRP-category.rst:173 msgid "**d_close**" msgstr "**d_close**" -#: ../../build/doc/VRP-category.rst:172 +#: ../../build/doc/VRP-category.rst:173 msgid "The time, relative to 0, when the delivery location closes." msgstr "La hora, en relación con 0, cuando se cierra la ubicación de entrega." -#: ../../build/doc/VRP-category.rst:173 +#: ../../build/doc/VRP-category.rst:174 msgid "The duration of the loading at the delivery location." msgstr "La duración de la carga en el lugar de entrega." -#: ../../build/doc/VRP-category.rst:182 ../../build/doc/VRP-category.rst:245 +#: ../../build/doc/VRP-category.rst:183 ../../build/doc/VRP-category.rst:246 msgid "" "For the non euclidean implementation, the starting and ending identifiers " "are needed:" @@ -592,11 +594,11 @@ msgstr "" "Para la implementación no euclidiana, se necesitan los identificadores " "inicial y final:" -#: ../../build/doc/VRP-category.rst:187 +#: ../../build/doc/VRP-category.rst:188 msgid "**p_node_id**" msgstr "**p_node_id**" -#: ../../build/doc/VRP-category.rst:187 +#: ../../build/doc/VRP-category.rst:188 msgid "" "The node identifier of the pickup, must match a node identifier in the " "matrix table." @@ -604,11 +606,11 @@ msgstr "" "El identificador de nodo de la recogida debe coincidir con un identificador " "de nodo en la tabla de matriz." -#: ../../build/doc/VRP-category.rst:188 +#: ../../build/doc/VRP-category.rst:189 msgid "**d_node_id**" msgstr "**d_node_id**" -#: ../../build/doc/VRP-category.rst:188 +#: ../../build/doc/VRP-category.rst:189 msgid "" "The node identifier of the delivery, must match a node identifier in the " "matrix table." @@ -616,7 +618,7 @@ msgstr "" "El identificador de nodo de la entrega debe coincidir con un identificador " "de nodo en la tabla de matriz." -#: ../../build/doc/VRP-category.rst:196 +#: ../../build/doc/VRP-category.rst:197 msgid "" "For the euclidean implementation, pick up and delivery :math:`(x,y)` " "locations are needed:" @@ -624,43 +626,43 @@ msgstr "" "Para la implementación euclidiana, se necesitan ubicaciones :math:`(x,y)` de" " recogida y entrega:" -#: ../../build/doc/VRP-category.rst:201 +#: ../../build/doc/VRP-category.rst:202 msgid "**p_x**" msgstr "**p_x**" -#: ../../build/doc/VRP-category.rst:201 +#: ../../build/doc/VRP-category.rst:202 msgid ":math:`x` value of the pick up location" msgstr ":math:`x` valor de la ubicación de recogida" -#: ../../build/doc/VRP-category.rst:202 +#: ../../build/doc/VRP-category.rst:203 msgid "**p_y**" msgstr "**p_y**" -#: ../../build/doc/VRP-category.rst:202 +#: ../../build/doc/VRP-category.rst:203 msgid ":math:`y` value of the pick up location" msgstr ":math:`y` valor de la ubicación de recogida" -#: ../../build/doc/VRP-category.rst:203 +#: ../../build/doc/VRP-category.rst:204 msgid "**d_x**" msgstr "**d_x**" -#: ../../build/doc/VRP-category.rst:203 +#: ../../build/doc/VRP-category.rst:204 msgid ":math:`x` value of the delivery location" msgstr "valor :math:`x` de la ubicación de entrega" -#: ../../build/doc/VRP-category.rst:204 +#: ../../build/doc/VRP-category.rst:205 msgid "**d_y**" msgstr "**d_y**" -#: ../../build/doc/VRP-category.rst:204 +#: ../../build/doc/VRP-category.rst:205 msgid ":math:`y` value of the delivery location" msgstr "valor :math:`y` del lugar de entrega" -#: ../../build/doc/VRP-category.rst:219 +#: ../../build/doc/VRP-category.rst:220 msgid "Pick & Deliver Vehicles SQL" msgstr "SQL de Vehículos de Recogida y Entrega" -#: ../../build/doc/VRP-category.rst:221 +#: ../../build/doc/VRP-category.rst:222 msgid "" "In general, the columns for the vehicles_sql is the same in both " "implementation of pick and delivery:" @@ -668,91 +670,91 @@ msgstr "" "En general, las columnas para vehicles_sql son las mismas tanto en la " "implementación de recogida como en la entrega:" -#: ../../build/doc/VRP-category.rst:229 +#: ../../build/doc/VRP-category.rst:230 msgid "**capacity**" msgstr "**capacidad**" -#: ../../build/doc/VRP-category.rst:230 +#: ../../build/doc/VRP-category.rst:231 msgid "**speed**" msgstr "**speed**" -#: ../../build/doc/VRP-category.rst:230 +#: ../../build/doc/VRP-category.rst:231 msgid "`1`" msgstr "`1`" -#: ../../build/doc/VRP-category.rst:230 +#: ../../build/doc/VRP-category.rst:231 msgid "Average speed of the vehicle." msgstr "Velocidad media del vehículo." -#: ../../build/doc/VRP-category.rst:232 +#: ../../build/doc/VRP-category.rst:233 msgid "**start_open**" msgstr "**start_open**" -#: ../../build/doc/VRP-category.rst:232 +#: ../../build/doc/VRP-category.rst:233 msgid "The time, relative to 0, when the starting location opens." msgstr "La hora, en relación con 0, cuando se abre la ubicación inicial." -#: ../../build/doc/VRP-category.rst:233 +#: ../../build/doc/VRP-category.rst:234 msgid "**start_close**" msgstr "**start_close**" -#: ../../build/doc/VRP-category.rst:233 +#: ../../build/doc/VRP-category.rst:234 msgid "The time, relative to 0, when the starting location closes." msgstr "La hora, en relación con 0, cuando se cierra la ubicación inicial." -#: ../../build/doc/VRP-category.rst:234 +#: ../../build/doc/VRP-category.rst:235 msgid "**start_service**" msgstr "**start_service**" -#: ../../build/doc/VRP-category.rst:234 +#: ../../build/doc/VRP-category.rst:235 msgid "`0`" msgstr "`0`" -#: ../../build/doc/VRP-category.rst:234 +#: ../../build/doc/VRP-category.rst:235 msgid "The duration of the loading at the starting location." msgstr "La duración de la carga en la ubicación inicial." -#: ../../build/doc/VRP-category.rst:236 +#: ../../build/doc/VRP-category.rst:237 msgid "**end_open**" msgstr "**end_open**" -#: ../../build/doc/VRP-category.rst:236 +#: ../../build/doc/VRP-category.rst:237 msgid "`start_open`" msgstr "`start_open`" -#: ../../build/doc/VRP-category.rst:236 +#: ../../build/doc/VRP-category.rst:237 msgid "The time, relative to 0, when the ending location opens." msgstr "La hora, en relación con 0, cuando se abre la ubicación final." -#: ../../build/doc/VRP-category.rst:237 +#: ../../build/doc/VRP-category.rst:238 msgid "**end_close**" msgstr "**end_close**" -#: ../../build/doc/VRP-category.rst:237 +#: ../../build/doc/VRP-category.rst:238 msgid "`start_close`" msgstr "`start_close`" -#: ../../build/doc/VRP-category.rst:237 +#: ../../build/doc/VRP-category.rst:238 msgid "The time, relative to 0, when the ending location closes." msgstr "La hora, en relación con 0, cuando se cierra la ubicación final." -#: ../../build/doc/VRP-category.rst:238 +#: ../../build/doc/VRP-category.rst:239 msgid "**end_service**" msgstr "**end_service**" -#: ../../build/doc/VRP-category.rst:238 +#: ../../build/doc/VRP-category.rst:239 msgid "`start_service`" msgstr "`start_service`" -#: ../../build/doc/VRP-category.rst:238 +#: ../../build/doc/VRP-category.rst:239 msgid "The duration of the loading at the ending location." msgstr "La duración de la carga en la ubicación final." -#: ../../build/doc/VRP-category.rst:250 +#: ../../build/doc/VRP-category.rst:251 msgid "**start_node_id**" msgstr "**start_node_id**" -#: ../../build/doc/VRP-category.rst:250 +#: ../../build/doc/VRP-category.rst:251 msgid "" "The node identifier of the starting location, must match a node identifier " "in the matrix table." @@ -760,15 +762,15 @@ msgstr "" "El identificador de nodo de la ubicación inicial debe coincidir con un " "identificador de nodo en la tabla de la matriz." -#: ../../build/doc/VRP-category.rst:251 +#: ../../build/doc/VRP-category.rst:252 msgid "**end_node_id**" msgstr "**end_node_id**" -#: ../../build/doc/VRP-category.rst:251 +#: ../../build/doc/VRP-category.rst:252 msgid "`start_node_id`" msgstr "`start_node_id`" -#: ../../build/doc/VRP-category.rst:251 +#: ../../build/doc/VRP-category.rst:252 msgid "" "The node identifier of the ending location, must match a node identifier in " "the matrix table." @@ -776,7 +778,7 @@ msgstr "" "El identificador de nodo de la ubicación final debe coincidir con un " "identificador de nodo en la tabla de matriz." -#: ../../build/doc/VRP-category.rst:258 +#: ../../build/doc/VRP-category.rst:259 msgid "" "For the euclidean implementation, starting and ending :math:`(x,y)` " "locations are needed:" @@ -784,64 +786,64 @@ msgstr "" "Para la implementación euclidiana, se necesitan ubicaciones :math:`(x,y)` de" " inicio y finalización:" -#: ../../build/doc/VRP-category.rst:263 +#: ../../build/doc/VRP-category.rst:264 msgid "**start_x**" msgstr "**start_x**" -#: ../../build/doc/VRP-category.rst:263 +#: ../../build/doc/VRP-category.rst:264 msgid ":math:`x` value of the coordinate of the starting location." msgstr "valor :math:`x` de la coordenada de la ubicación inicial." -#: ../../build/doc/VRP-category.rst:264 +#: ../../build/doc/VRP-category.rst:265 msgid "**start_y**" msgstr "**start_y**" -#: ../../build/doc/VRP-category.rst:264 +#: ../../build/doc/VRP-category.rst:265 msgid ":math:`y` value of the coordinate of the starting location." msgstr "valor :math:`y` de la coordenada de la ubicación de inicio." -#: ../../build/doc/VRP-category.rst:265 +#: ../../build/doc/VRP-category.rst:266 msgid "**end_x**" msgstr "**end_x**" -#: ../../build/doc/VRP-category.rst:265 +#: ../../build/doc/VRP-category.rst:266 msgid "`start_x`" msgstr "`start_x`" -#: ../../build/doc/VRP-category.rst:265 +#: ../../build/doc/VRP-category.rst:266 msgid ":math:`x` value of the coordinate of the ending location." msgstr "valor :math:`x` de la coordenada de la ubicación final." -#: ../../build/doc/VRP-category.rst:266 +#: ../../build/doc/VRP-category.rst:267 msgid "**end_y**" msgstr "**end_y**" -#: ../../build/doc/VRP-category.rst:266 +#: ../../build/doc/VRP-category.rst:267 msgid "`start_y`" msgstr "`start_y`" -#: ../../build/doc/VRP-category.rst:266 +#: ../../build/doc/VRP-category.rst:267 msgid ":math:`y` value of the coordinate of the ending location." msgstr ":math:`y` valor de la coordenada de la ubicación final." -#: ../../build/doc/VRP-category.rst:273 +#: ../../build/doc/VRP-category.rst:274 msgid "Pick & Deliver Matrix SQL" msgstr "Pick & Deliver Matrix SQL" -#: ../../build/doc/VRP-category.rst:277 ../../build/doc/VRP-category.rst:473 +#: ../../build/doc/VRP-category.rst:278 ../../build/doc/VRP-category.rst:474 msgid "TODO" msgstr "TODO" -#: ../../build/doc/VRP-category.rst:283 +#: ../../build/doc/VRP-category.rst:284 msgid "Results" msgstr "Resultados" -#: ../../build/doc/VRP-category.rst:4 ../../build/doc/VRP-category.rst:302 +#: ../../build/doc/VRP-category.rst:4 ../../build/doc/VRP-category.rst:303 msgid "Description of the result (TODO Disussion: Euclidean & Matrix)" msgstr "Descripción del resultado (TODO Disussion: Euclidean & Matrix)" #: ../../build/doc/VRP-category.rst:20 ../../build/doc/VRP-category.rst:56 -#: ../../build/doc/VRP-category.rst:318 ../../build/doc/VRP-category.rst:354 +#: ../../build/doc/VRP-category.rst:319 ../../build/doc/VRP-category.rst:355 msgid "**seq**" msgstr "**seq**" @@ -849,23 +851,23 @@ msgstr "**seq**" #: ../../build/doc/VRP-category.rst:23 ../../build/doc/VRP-category.rst:24 #: ../../build/doc/VRP-category.rst:56 ../../build/doc/VRP-category.rst:57 #: ../../build/doc/VRP-category.rst:59 ../../build/doc/VRP-category.rst:60 -#: ../../build/doc/VRP-category.rst:318 ../../build/doc/VRP-category.rst:319 -#: ../../build/doc/VRP-category.rst:321 ../../build/doc/VRP-category.rst:322 -#: ../../build/doc/VRP-category.rst:354 ../../build/doc/VRP-category.rst:355 -#: ../../build/doc/VRP-category.rst:357 ../../build/doc/VRP-category.rst:358 +#: ../../build/doc/VRP-category.rst:319 ../../build/doc/VRP-category.rst:320 +#: ../../build/doc/VRP-category.rst:322 ../../build/doc/VRP-category.rst:323 +#: ../../build/doc/VRP-category.rst:355 ../../build/doc/VRP-category.rst:356 +#: ../../build/doc/VRP-category.rst:358 ../../build/doc/VRP-category.rst:359 msgid "INTEGER" msgstr "INTEGER" -#: ../../build/doc/VRP-category.rst:20 ../../build/doc/VRP-category.rst:318 +#: ../../build/doc/VRP-category.rst:20 ../../build/doc/VRP-category.rst:319 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." #: ../../build/doc/VRP-category.rst:21 ../../build/doc/VRP-category.rst:57 -#: ../../build/doc/VRP-category.rst:319 ../../build/doc/VRP-category.rst:355 +#: ../../build/doc/VRP-category.rst:320 ../../build/doc/VRP-category.rst:356 msgid "**vehicle_seq**" msgstr "**vehicle_seq**" -#: ../../build/doc/VRP-category.rst:21 ../../build/doc/VRP-category.rst:319 +#: ../../build/doc/VRP-category.rst:21 ../../build/doc/VRP-category.rst:320 msgid "" "Sequential value starting from **1** for current vehicles. The " ":math:`n_{th}` vehicle in the solution." @@ -874,27 +876,27 @@ msgstr "" ":math:`n_{th}` en la solución." #: ../../build/doc/VRP-category.rst:22 ../../build/doc/VRP-category.rst:58 -#: ../../build/doc/VRP-category.rst:320 ../../build/doc/VRP-category.rst:356 +#: ../../build/doc/VRP-category.rst:321 ../../build/doc/VRP-category.rst:357 msgid "**vehicle_id**" msgstr "**vehicle_id**" #: ../../build/doc/VRP-category.rst:22 ../../build/doc/VRP-category.rst:31 #: ../../build/doc/VRP-category.rst:58 ../../build/doc/VRP-category.rst:61 -#: ../../build/doc/VRP-category.rst:320 ../../build/doc/VRP-category.rst:329 -#: ../../build/doc/VRP-category.rst:356 ../../build/doc/VRP-category.rst:359 +#: ../../build/doc/VRP-category.rst:321 ../../build/doc/VRP-category.rst:330 +#: ../../build/doc/VRP-category.rst:357 ../../build/doc/VRP-category.rst:360 msgid "BIGINT" msgstr "BIGINT" -#: ../../build/doc/VRP-category.rst:22 ../../build/doc/VRP-category.rst:320 +#: ../../build/doc/VRP-category.rst:22 ../../build/doc/VRP-category.rst:321 msgid "Current vehicle identifier." msgstr "Identificador actual del vehículo." #: ../../build/doc/VRP-category.rst:23 ../../build/doc/VRP-category.rst:59 -#: ../../build/doc/VRP-category.rst:321 ../../build/doc/VRP-category.rst:357 +#: ../../build/doc/VRP-category.rst:322 ../../build/doc/VRP-category.rst:358 msgid "**stop_seq**" msgstr "**stop_seq**" -#: ../../build/doc/VRP-category.rst:23 ../../build/doc/VRP-category.rst:321 +#: ../../build/doc/VRP-category.rst:23 ../../build/doc/VRP-category.rst:322 msgid "" "Sequential value starting from **1** for the stops made by the current " "vehicle. The :math:`m_{th}` stop of the current vehicle." @@ -903,47 +905,47 @@ msgstr "" "vehículo actual. La parada :math:`m_{th}` vdel vehículo actual." #: ../../build/doc/VRP-category.rst:24 ../../build/doc/VRP-category.rst:60 -#: ../../build/doc/VRP-category.rst:322 ../../build/doc/VRP-category.rst:358 +#: ../../build/doc/VRP-category.rst:323 ../../build/doc/VRP-category.rst:359 msgid "**stop_type**" msgstr "**stop_type**" -#: ../../build/doc/VRP-category.rst:24 ../../build/doc/VRP-category.rst:322 +#: ../../build/doc/VRP-category.rst:24 ../../build/doc/VRP-category.rst:323 msgid "Kind of stop location the vehicle is at:" msgstr "Tipo de ubicación de parada en la que se encuentra el vehículo:" -#: ../../build/doc/VRP-category.rst:26 ../../build/doc/VRP-category.rst:324 +#: ../../build/doc/VRP-category.rst:26 ../../build/doc/VRP-category.rst:325 msgid "``1``: Starting location" msgstr "``1``: Ubicación de inicio" -#: ../../build/doc/VRP-category.rst:27 ../../build/doc/VRP-category.rst:325 +#: ../../build/doc/VRP-category.rst:27 ../../build/doc/VRP-category.rst:326 msgid "``2``: Pickup location" msgstr "``2``: Ubicación de recogida" -#: ../../build/doc/VRP-category.rst:28 ../../build/doc/VRP-category.rst:326 +#: ../../build/doc/VRP-category.rst:28 ../../build/doc/VRP-category.rst:327 msgid "``3``: Delivery location" msgstr "``3``: Lugar de entrega" -#: ../../build/doc/VRP-category.rst:29 ../../build/doc/VRP-category.rst:327 +#: ../../build/doc/VRP-category.rst:29 ../../build/doc/VRP-category.rst:328 msgid "``6``: Ending location" msgstr "``6``: Ubicación final" #: ../../build/doc/VRP-category.rst:31 ../../build/doc/VRP-category.rst:61 -#: ../../build/doc/VRP-category.rst:329 ../../build/doc/VRP-category.rst:359 +#: ../../build/doc/VRP-category.rst:330 ../../build/doc/VRP-category.rst:360 msgid "**order_id**" msgstr "**order_id**" -#: ../../build/doc/VRP-category.rst:31 ../../build/doc/VRP-category.rst:329 +#: ../../build/doc/VRP-category.rst:31 ../../build/doc/VRP-category.rst:330 msgid "Pickup-Delivery order pair identifier." msgstr "Identificador de par de órdenes Recogida-Entrega." -#: ../../build/doc/VRP-category.rst:33 ../../build/doc/VRP-category.rst:331 +#: ../../build/doc/VRP-category.rst:33 ../../build/doc/VRP-category.rst:332 msgid "``-1``: When no order is involved on the current stop location." msgstr "" "''-1'': Cuando no hay ningún pedido involucrado en la ubicación actual de la" " parada." #: ../../build/doc/VRP-category.rst:35 ../../build/doc/VRP-category.rst:62 -#: ../../build/doc/VRP-category.rst:333 ../../build/doc/VRP-category.rst:360 +#: ../../build/doc/VRP-category.rst:334 ../../build/doc/VRP-category.rst:361 msgid "**cargo**" msgstr "**cargo**" @@ -953,120 +955,120 @@ msgstr "**cargo**" #: ../../build/doc/VRP-category.rst:62 ../../build/doc/VRP-category.rst:63 #: ../../build/doc/VRP-category.rst:64 ../../build/doc/VRP-category.rst:65 #: ../../build/doc/VRP-category.rst:66 ../../build/doc/VRP-category.rst:67 -#: ../../build/doc/VRP-category.rst:333 ../../build/doc/VRP-category.rst:335 -#: ../../build/doc/VRP-category.rst:339 ../../build/doc/VRP-category.rst:340 -#: ../../build/doc/VRP-category.rst:341 ../../build/doc/VRP-category.rst:342 -#: ../../build/doc/VRP-category.rst:360 ../../build/doc/VRP-category.rst:361 -#: ../../build/doc/VRP-category.rst:362 ../../build/doc/VRP-category.rst:363 -#: ../../build/doc/VRP-category.rst:364 ../../build/doc/VRP-category.rst:365 +#: ../../build/doc/VRP-category.rst:334 ../../build/doc/VRP-category.rst:336 +#: ../../build/doc/VRP-category.rst:340 ../../build/doc/VRP-category.rst:341 +#: ../../build/doc/VRP-category.rst:342 ../../build/doc/VRP-category.rst:343 +#: ../../build/doc/VRP-category.rst:361 ../../build/doc/VRP-category.rst:362 +#: ../../build/doc/VRP-category.rst:363 ../../build/doc/VRP-category.rst:364 +#: ../../build/doc/VRP-category.rst:365 ../../build/doc/VRP-category.rst:366 msgid "FLOAT" msgstr "FLOAT" -#: ../../build/doc/VRP-category.rst:35 ../../build/doc/VRP-category.rst:333 +#: ../../build/doc/VRP-category.rst:35 ../../build/doc/VRP-category.rst:334 msgid "Cargo units of the vehicle when leaving the stop." msgstr "Unidades de carga del vehículo al salir de la parada." #: ../../build/doc/VRP-category.rst:37 ../../build/doc/VRP-category.rst:63 -#: ../../build/doc/VRP-category.rst:335 ../../build/doc/VRP-category.rst:361 +#: ../../build/doc/VRP-category.rst:336 ../../build/doc/VRP-category.rst:362 msgid "**travel_time**" msgstr "**travel_time**" -#: ../../build/doc/VRP-category.rst:37 ../../build/doc/VRP-category.rst:335 +#: ../../build/doc/VRP-category.rst:37 ../../build/doc/VRP-category.rst:336 msgid "Travel time from previous ``stop_seq`` to current ``stop_seq``." msgstr "" "Tiempo de viaje desde el ``stop_seq`` anterior hasta el ``stop_seq`` actual." -#: ../../build/doc/VRP-category.rst:39 ../../build/doc/VRP-category.rst:337 +#: ../../build/doc/VRP-category.rst:39 ../../build/doc/VRP-category.rst:338 msgid "``0`` When ``stop_type = 1``" msgstr "``0`` cuando ``stop_type = 1``" #: ../../build/doc/VRP-category.rst:41 ../../build/doc/VRP-category.rst:64 -#: ../../build/doc/VRP-category.rst:339 ../../build/doc/VRP-category.rst:362 +#: ../../build/doc/VRP-category.rst:340 ../../build/doc/VRP-category.rst:363 msgid "**arrival_time**" msgstr "**arrival_time**" -#: ../../build/doc/VRP-category.rst:41 ../../build/doc/VRP-category.rst:339 +#: ../../build/doc/VRP-category.rst:41 ../../build/doc/VRP-category.rst:340 msgid "Previous ``departure_time`` plus current ``travel_time``." msgstr "Anterior ``departure_time`` más actual ``travel_time``." #: ../../build/doc/VRP-category.rst:42 ../../build/doc/VRP-category.rst:65 -#: ../../build/doc/VRP-category.rst:340 ../../build/doc/VRP-category.rst:363 +#: ../../build/doc/VRP-category.rst:341 ../../build/doc/VRP-category.rst:364 msgid "**wait_time**" msgstr "**wait_time**" -#: ../../build/doc/VRP-category.rst:42 ../../build/doc/VRP-category.rst:340 +#: ../../build/doc/VRP-category.rst:42 ../../build/doc/VRP-category.rst:341 msgid "Time spent waiting for current `location` to open." msgstr "Tiempo dedicado a la apertura de `ubicación` actual." #: ../../build/doc/VRP-category.rst:43 ../../build/doc/VRP-category.rst:66 -#: ../../build/doc/VRP-category.rst:341 ../../build/doc/VRP-category.rst:364 +#: ../../build/doc/VRP-category.rst:342 ../../build/doc/VRP-category.rst:365 msgid "**service_time**" msgstr "**service_time**" -#: ../../build/doc/VRP-category.rst:43 ../../build/doc/VRP-category.rst:341 +#: ../../build/doc/VRP-category.rst:43 ../../build/doc/VRP-category.rst:342 msgid "Service time at current `location`." msgstr "Tiempo de servicio en la `ubicación` actual." #: ../../build/doc/VRP-category.rst:44 ../../build/doc/VRP-category.rst:67 -#: ../../build/doc/VRP-category.rst:342 ../../build/doc/VRP-category.rst:365 +#: ../../build/doc/VRP-category.rst:343 ../../build/doc/VRP-category.rst:366 msgid "**departure_time**" msgstr "**departure_time**" -#: ../../build/doc/VRP-category.rst:44 ../../build/doc/VRP-category.rst:342 +#: ../../build/doc/VRP-category.rst:44 ../../build/doc/VRP-category.rst:343 msgid ":math:`arrival\\_time + wait\\_time + service\\_time`." msgstr ":math:`arrival\\_time + wait\\_time + service\\_time`." -#: ../../build/doc/VRP-category.rst:46 ../../build/doc/VRP-category.rst:344 +#: ../../build/doc/VRP-category.rst:46 ../../build/doc/VRP-category.rst:345 msgid "" "When ``stop_type = 6`` has the `total_time` used for the current vehicle." msgstr "" "Cuando ``stop_type = 6`` tiene el `total_time` utilizado para el vehículo " "actual." -#: ../../build/doc/VRP-category.rst:50 ../../build/doc/VRP-category.rst:348 +#: ../../build/doc/VRP-category.rst:50 ../../build/doc/VRP-category.rst:349 msgid "Summary Row" msgstr "Fila de Resumen" -#: ../../build/doc/VRP-category.rst:51 ../../build/doc/VRP-category.rst:349 +#: ../../build/doc/VRP-category.rst:51 ../../build/doc/VRP-category.rst:350 msgid "TODO: Review the summary" msgstr "TODO: Review the summary" -#: ../../build/doc/VRP-category.rst:56 ../../build/doc/VRP-category.rst:354 +#: ../../build/doc/VRP-category.rst:56 ../../build/doc/VRP-category.rst:355 msgid "Continues the Sequential value" msgstr "Continúa el valor Secuencial" -#: ../../build/doc/VRP-category.rst:57 ../../build/doc/VRP-category.rst:355 +#: ../../build/doc/VRP-category.rst:57 ../../build/doc/VRP-category.rst:356 msgid "``-2`` to indicate is a summary row" msgstr "``-2`` para indicar es una fila de resumen" -#: ../../build/doc/VRP-category.rst:58 ../../build/doc/VRP-category.rst:356 +#: ../../build/doc/VRP-category.rst:58 ../../build/doc/VRP-category.rst:357 msgid "`Total Capacity Violations` in the solution." msgstr "`Total de Violaciones de Capacidad` en la solución." -#: ../../build/doc/VRP-category.rst:59 ../../build/doc/VRP-category.rst:357 +#: ../../build/doc/VRP-category.rst:59 ../../build/doc/VRP-category.rst:358 msgid "`Total Time Window Violations` in the solution." msgstr "`Tiempo Total de Violaciones de la Ventana` en la solución." #: ../../build/doc/VRP-category.rst:60 ../../build/doc/VRP-category.rst:61 #: ../../build/doc/VRP-category.rst:62 ../../build/doc/VRP-category.rst:64 -#: ../../build/doc/VRP-category.rst:358 ../../build/doc/VRP-category.rst:359 -#: ../../build/doc/VRP-category.rst:360 ../../build/doc/VRP-category.rst:362 +#: ../../build/doc/VRP-category.rst:359 ../../build/doc/VRP-category.rst:360 +#: ../../build/doc/VRP-category.rst:361 ../../build/doc/VRP-category.rst:363 msgid "``-1``" msgstr "``-1``" -#: ../../build/doc/VRP-category.rst:63 ../../build/doc/VRP-category.rst:361 +#: ../../build/doc/VRP-category.rst:63 ../../build/doc/VRP-category.rst:362 msgid "`total_travel_time` The sum of all the `travel_time`" msgstr "`total_travel_time` La suma de todo el `tiempo_de_viaje`" -#: ../../build/doc/VRP-category.rst:65 ../../build/doc/VRP-category.rst:363 +#: ../../build/doc/VRP-category.rst:65 ../../build/doc/VRP-category.rst:364 msgid "`total_waiting_time` The sum of all the `wait_time`" msgstr "`total_waiting_time` La suma de todo el `tiempo_de_espera`" -#: ../../build/doc/VRP-category.rst:66 ../../build/doc/VRP-category.rst:364 +#: ../../build/doc/VRP-category.rst:66 ../../build/doc/VRP-category.rst:365 msgid "`total_service_time` The sum of all the `service_time`" msgstr "`total_service_time` La suma de todo el `tiempo_de_servicio`" -#: ../../build/doc/VRP-category.rst:67 ../../build/doc/VRP-category.rst:365 +#: ../../build/doc/VRP-category.rst:67 ../../build/doc/VRP-category.rst:366 msgid "" "`total_solution_time` = :math:`total\\_travel\\_time + total\\_wait\\_time +" " total\\_service\\_time`." @@ -1094,11 +1096,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/VRP-category.rst:388 +#: ../../build/doc/VRP-category.rst:389 msgid "Handling Parameters" msgstr "Parámetros de Manipulación" -#: ../../build/doc/VRP-category.rst:390 +#: ../../build/doc/VRP-category.rst:391 msgid "" "To define a problem, several considerations have to be done, to get " "consistent results. This section gives an insight of how parameters are to " @@ -1108,52 +1110,52 @@ msgstr "" " resultados consistentes. En esta sección se proporciona una idea de cómo se" " deben considerar los parámetros." -#: ../../build/doc/VRP-category.rst:393 +#: ../../build/doc/VRP-category.rst:394 msgid "`Capacity and Demand Units Handling`_" msgstr "`Manejo de Unidades de Capacidad y Demanda`_" -#: ../../build/doc/VRP-category.rst:394 +#: ../../build/doc/VRP-category.rst:395 msgid "`Locations`_" msgstr "`Ubicaciones`_" -#: ../../build/doc/VRP-category.rst:395 +#: ../../build/doc/VRP-category.rst:396 msgid "`Time Handling`_" msgstr "`Manejo del tiempo`_" -#: ../../build/doc/VRP-category.rst:396 +#: ../../build/doc/VRP-category.rst:397 msgid "`Factor Handling`_" msgstr "`Manejo de Factor`_" -#: ../../build/doc/VRP-category.rst:400 +#: ../../build/doc/VRP-category.rst:401 msgid "Capacity and Demand Units Handling" msgstr "Manejo de Unidades de Capacidad y Demanda" -#: ../../build/doc/VRP-category.rst:402 +#: ../../build/doc/VRP-category.rst:403 msgid "The `capacity` of a vehicle, can be measured in:" msgstr "La `capacidad` de un vehículo, se puede medir en:" -#: ../../build/doc/VRP-category.rst:404 +#: ../../build/doc/VRP-category.rst:405 msgid "Volume units like :math:`m^3`." msgstr "Unidades de volumen como :math:`m^3`." -#: ../../build/doc/VRP-category.rst:405 +#: ../../build/doc/VRP-category.rst:406 msgid "Area units like :math:`m^2` (when no stacking is allowed)." msgstr "" "Unidades de área como :math:`m^2` (cuando no se permite el apilamiento)." -#: ../../build/doc/VRP-category.rst:406 +#: ../../build/doc/VRP-category.rst:407 msgid "Weight units like :math:`kg`." msgstr "Unidades de peso como :math:`kg`." -#: ../../build/doc/VRP-category.rst:407 +#: ../../build/doc/VRP-category.rst:408 msgid "Number of boxes that fit in the vehicle." msgstr "Número de cajas que caben en el vehículo." -#: ../../build/doc/VRP-category.rst:408 +#: ../../build/doc/VRP-category.rst:409 msgid "Number of seats in the vehicle" msgstr "Número de asientos en el vehículo" -#: ../../build/doc/VRP-category.rst:410 +#: ../../build/doc/VRP-category.rst:411 msgid "" "The `demand` request of the pickup-deliver orders must use the same units as" " the units used in the vehicle's `capacity`." @@ -1161,7 +1163,7 @@ msgstr "" "La solicitud de `demanda` de las órdenes de recogida-entrega debe utilizar " "las mismas unidades que las utilizadas en la `capacidad` del vehículo." -#: ../../build/doc/VRP-category.rst:412 +#: ../../build/doc/VRP-category.rst:413 msgid "" "To handle problems like: 10 (equal dimension) boxes of apples and 5 kg of " "feathers that are to be transported (not packed in boxes)." @@ -1169,7 +1171,7 @@ msgstr "" "Para manejar problemas como: 10 (dimensión igual) cajas de manzanas y 5 kg " "de plumas que se van a transportar (no embaladas en cajas)." -#: ../../build/doc/VRP-category.rst:414 +#: ../../build/doc/VRP-category.rst:415 msgid "" "If the vehicle's `capacity` is measured by `boxes`, a conversion of `kg of " "feathers` to `equivalent number of boxes` is needed. If the vehicle's " @@ -1181,11 +1183,11 @@ msgstr "" "`capacidad` del vehículo se mide por `kg`, se necesita una conversión de " "`caja de manzanas` a `número equivalente de kg`." -#: ../../build/doc/VRP-category.rst:417 +#: ../../build/doc/VRP-category.rst:418 msgid "Showing how the 2 possible conversions can be done" msgstr "Mostrar cómo se pueden hacer las 2 conversiones posibles" -#: ../../build/doc/VRP-category.rst:419 +#: ../../build/doc/VRP-category.rst:420 msgid "" "Let: - :math:`f_boxes`: number of boxes that would be used for `1` kg of " "feathers. - :math:`a_weight`: weight of `1` box of apples." @@ -1193,88 +1195,88 @@ msgstr "" "Sea: - :math:`f_boxes`: el número de cajas que se utilizarían para `1` kg de" " plumas. - :math:`a_weight`: peso de `1` caja de manzanas." -#: ../../build/doc/VRP-category.rst:424 +#: ../../build/doc/VRP-category.rst:425 msgid "Capacity Units" msgstr "Unidades de Capacidad" -#: ../../build/doc/VRP-category.rst:424 +#: ../../build/doc/VRP-category.rst:425 msgid "apples" msgstr "Manzanas" -#: ../../build/doc/VRP-category.rst:424 +#: ../../build/doc/VRP-category.rst:425 msgid "feathers" msgstr "plumas" -#: ../../build/doc/VRP-category.rst:426 +#: ../../build/doc/VRP-category.rst:427 msgid "boxes" msgstr "cajas" -#: ../../build/doc/VRP-category.rst:426 +#: ../../build/doc/VRP-category.rst:427 msgid ":math:`5 * f\\_boxes`" msgstr ":math:`5 * f\\_cajas`" -#: ../../build/doc/VRP-category.rst:427 +#: ../../build/doc/VRP-category.rst:428 msgid "kg" msgstr "kg" -#: ../../build/doc/VRP-category.rst:427 +#: ../../build/doc/VRP-category.rst:428 msgid ":math:`10 * a\\_weight`" msgstr ":math:`10 * a\\_peso`" -#: ../../build/doc/VRP-category.rst:427 +#: ../../build/doc/VRP-category.rst:428 msgid "5" msgstr "5" -#: ../../build/doc/VRP-category.rst:433 +#: ../../build/doc/VRP-category.rst:434 msgid "Locations" msgstr "Ubiaciones" -#: ../../build/doc/VRP-category.rst:435 +#: ../../build/doc/VRP-category.rst:436 msgid "When using the Euclidean signatures:" msgstr "Al utilizar las firmas Euclidianas:" -#: ../../build/doc/VRP-category.rst:437 +#: ../../build/doc/VRP-category.rst:438 msgid "The vehicles have :math:`(x, y)` pairs for start and ending locations." msgstr "" "Los vehículos tienen :math:`(x, y)` pares para las ubicaciones de inicio y " "fin." -#: ../../build/doc/VRP-category.rst:438 +#: ../../build/doc/VRP-category.rst:439 msgid "" "The orders Have :math:`(x, y)` pairs for pickup and delivery locations." msgstr "" "Los pedidos tienen :math:`(x, y)` pares para ubicaciones de recogida y " "entrega." -#: ../../build/doc/VRP-category.rst:440 +#: ../../build/doc/VRP-category.rst:441 msgid "When using a matrix:" msgstr "Cuando se utiliza una matriz:" -#: ../../build/doc/VRP-category.rst:442 +#: ../../build/doc/VRP-category.rst:443 msgid "The vehicles have identifiers for the start and ending locations." msgstr "" "Los vehículos tienen identificadores para las ubicaciones de inicio y " "finalización." -#: ../../build/doc/VRP-category.rst:443 +#: ../../build/doc/VRP-category.rst:444 msgid "The orders have identifiers for the pickup and delivery locations." msgstr "" "Los pedidos tienen identificadores para las ubicaciones de recogida y " "entrega." -#: ../../build/doc/VRP-category.rst:444 +#: ../../build/doc/VRP-category.rst:445 msgid "All the identifiers are indices to the given matrix." msgstr "Todos los identificadores son índices de la matriz dada." -#: ../../build/doc/VRP-category.rst:448 +#: ../../build/doc/VRP-category.rst:449 msgid "Time Handling" msgstr "Manejo del Tiempo" -#: ../../build/doc/VRP-category.rst:450 +#: ../../build/doc/VRP-category.rst:451 msgid "The times are relative to 0" msgstr "Los tiempos son relativos a 0" -#: ../../build/doc/VRP-category.rst:452 +#: ../../build/doc/VRP-category.rst:453 msgid "" "Suppose that a vehicle's driver starts the shift at 9:00 am and ends the " "shift at 4:30 pm and the service time duration is 10 minutes with 30 " @@ -1284,112 +1286,99 @@ msgstr "" " termina el turno a las 4:30 pm y la duración del tiempo de servicio es de " "10 minutos con 30 segundos." -#: ../../build/doc/VRP-category.rst:455 +#: ../../build/doc/VRP-category.rst:456 msgid "All time units have to be converted" msgstr "Todas las unidades de tiempo tienen que ser convertidas" -#: ../../build/doc/VRP-category.rst:458 +#: ../../build/doc/VRP-category.rst:459 msgid "Meaning of 0" msgstr "Significado de 0" -#: ../../build/doc/VRP-category.rst:458 +#: ../../build/doc/VRP-category.rst:459 msgid "time units" msgstr "unidades de tiempo" -#: ../../build/doc/VRP-category.rst:458 ../../build/doc/VRP-category.rst:461 -#: ../../build/doc/VRP-category.rst:463 +#: ../../build/doc/VRP-category.rst:459 ../../build/doc/VRP-category.rst:462 +#: ../../build/doc/VRP-category.rst:464 msgid "9:00 am" msgstr "9:00 am" -#: ../../build/doc/VRP-category.rst:458 +#: ../../build/doc/VRP-category.rst:459 msgid "4:30 pm" msgstr "4:30 pm" -#: ../../build/doc/VRP-category.rst:458 +#: ../../build/doc/VRP-category.rst:459 msgid "10 min 30 secs" msgstr "10 min 30 seg" -#: ../../build/doc/VRP-category.rst:460 ../../build/doc/VRP-category.rst:462 +#: ../../build/doc/VRP-category.rst:461 ../../build/doc/VRP-category.rst:463 msgid "0:00 am" msgstr "0:00 am" -#: ../../build/doc/VRP-category.rst:460 ../../build/doc/VRP-category.rst:461 +#: ../../build/doc/VRP-category.rst:461 ../../build/doc/VRP-category.rst:462 msgid "hours" msgstr "horas" -#: ../../build/doc/VRP-category.rst:460 +#: ../../build/doc/VRP-category.rst:461 msgid "9" msgstr "9" -#: ../../build/doc/VRP-category.rst:460 +#: ../../build/doc/VRP-category.rst:461 msgid "16.5" msgstr "16.5" -#: ../../build/doc/VRP-category.rst:460 ../../build/doc/VRP-category.rst:461 +#: ../../build/doc/VRP-category.rst:461 ../../build/doc/VRP-category.rst:462 msgid ":math:`10.5 / 60 = 0.175`" msgstr ":math:`10.5 / 60 = 0.175`" -#: ../../build/doc/VRP-category.rst:461 +#: ../../build/doc/VRP-category.rst:462 msgid "7.5" msgstr "7.5" -#: ../../build/doc/VRP-category.rst:462 ../../build/doc/VRP-category.rst:463 +#: ../../build/doc/VRP-category.rst:463 ../../build/doc/VRP-category.rst:464 msgid "minutes" msgstr "minutos" -#: ../../build/doc/VRP-category.rst:462 +#: ../../build/doc/VRP-category.rst:463 msgid ":math:`9*60 = 54`" msgstr ":math:`9*60 = 54`" -#: ../../build/doc/VRP-category.rst:462 +#: ../../build/doc/VRP-category.rst:463 msgid ":math:`16.5*60 = 990`" msgstr ":math:`16.5*60 = 990`" -#: ../../build/doc/VRP-category.rst:462 ../../build/doc/VRP-category.rst:463 +#: ../../build/doc/VRP-category.rst:463 ../../build/doc/VRP-category.rst:464 msgid "10.5" msgstr "10.5" -#: ../../build/doc/VRP-category.rst:463 +#: ../../build/doc/VRP-category.rst:464 msgid ":math:`7.5*60 = 540`" msgstr ":math:`7.5*60 = 540`" -#: ../../build/doc/VRP-category.rst:470 +#: ../../build/doc/VRP-category.rst:471 msgid "Factor Handling" msgstr "Manejo de Factores" -#: ../../build/doc/VRP-category.rst:477 +#: ../../build/doc/VRP-category.rst:478 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/VRP-category.rst:479 +#: ../../build/doc/VRP-category.rst:480 msgid "https://en.wikipedia.org/wiki/Vehicle_routing_problem" msgstr "https://en.wikipedia.org/wiki/Vehicle_routing_problem" -#: ../../build/doc/VRP-category.rst:480 +#: ../../build/doc/VRP-category.rst:481 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/VRP-category.rst:483 +#: ../../build/doc/VRP-category.rst:484 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/VRP-category.rst:484 +#: ../../build/doc/VRP-category.rst:485 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/VRP-category.rst:485 +#: ../../build/doc/VRP-category.rst:486 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "Todo" -#~ msgstr "Por hacer" - -#~ msgid "fix when everything below is fixed" -#~ msgstr "Arreglar cuando todo abajo esté arreglado" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__)" -#~ msgstr "" -#~ "**versiones Soportadas:** actual(`3.0 `__)" diff --git a/locale/es/LC_MESSAGES/aStar-family.po b/locale/es/LC_MESSAGES/aStar-family.po index 27ec055c791..dde3dec6878 100644 --- a/locale/es/LC_MESSAGES/aStar-family.po +++ b/locale/es/LC_MESSAGES/aStar-family.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# MarPetra , 2019 -# Vicky Vergara , 2020 +# Vicky Vergara , 2019 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -59,15 +59,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/aStar-family.rst:32 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versions soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/aStar-family.rst:36 +#: ../../build/doc/aStar-family.rst:37 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.4 `__" -#: ../../build/doc/aStar-family.rst:41 +#: ../../build/doc/aStar-family.rst:42 msgid "General Information" msgstr "Información general" -#: ../../build/doc/aStar-family.rst:43 +#: ../../build/doc/aStar-family.rst:44 msgid "The main Characteristics are:" msgstr "Las características principales son:" -#: ../../build/doc/aStar-family.rst:47 +#: ../../build/doc/aStar-family.rst:48 msgid "Default kind of graph is **directed** when" msgstr "El tipo predeterminado de grafo es **dirigido** cuando" -#: ../../build/doc/aStar-family.rst:49 +#: ../../build/doc/aStar-family.rst:50 msgid "``directed`` flag is missing." msgstr "Falta la el indicador de ``directed``." -#: ../../build/doc/aStar-family.rst:50 +#: ../../build/doc/aStar-family.rst:51 msgid "``directed`` flag is set to true" msgstr "El indicador de ``directed`` se configura a \"true\"." -#: ../../build/doc/aStar-family.rst:52 +#: ../../build/doc/aStar-family.rst:53 msgid "Unless specified otherwise, ordering is:" msgstr "A menos que se especifique lo contrario, la orden es:" -#: ../../build/doc/aStar-family.rst:54 +#: ../../build/doc/aStar-family.rst:55 msgid "first by ``start_vid`` (if exists)" msgstr "primero por ``start_vid`` (si existe)" -#: ../../build/doc/aStar-family.rst:55 +#: ../../build/doc/aStar-family.rst:56 msgid "then by ``end_vid``" msgstr "luego por ``end_vid``" -#: ../../build/doc/aStar-family.rst:57 +#: ../../build/doc/aStar-family.rst:58 msgid "Values are returned when there is a path" msgstr "Los valores se devuelven cuando hay una ruta" -#: ../../build/doc/aStar-family.rst:58 +#: ../../build/doc/aStar-family.rst:59 msgid "Let :math:`v` and :math:`u` be nodes on the graph:" msgstr "Permita que :math:`v` y :math:`u` sean nodos en el grafo:" -#: ../../build/doc/aStar-family.rst:60 +#: ../../build/doc/aStar-family.rst:61 msgid "If there is no path from :math:`v` to :math:`u`:" msgstr "Si no hay camino de :math:`v` a :math:`u`:" -#: ../../build/doc/aStar-family.rst:62 ../../build/doc/aStar-family.rst:67 +#: ../../build/doc/aStar-family.rst:63 ../../build/doc/aStar-family.rst:68 msgid "no corresponding row is returned" msgstr "no se devuelve ninguna fila correspondiente" -#: ../../build/doc/aStar-family.rst:63 +#: ../../build/doc/aStar-family.rst:64 msgid "``agg_cost`` from :math:`v` to :math:`u` is :math:`\\infty`" msgstr "``agg_cost`` de :math:`v` a :math:`u` es :math:`\\infty`" -#: ../../build/doc/aStar-family.rst:65 +#: ../../build/doc/aStar-family.rst:66 msgid "There is no path when :math:`v = u` therefore" msgstr "No hay camino cuando :math:`v = u` por lo tanto" -#: ../../build/doc/aStar-family.rst:68 +#: ../../build/doc/aStar-family.rst:69 msgid "``agg_cost`` from `v` to `u` is :math:`0`" msgstr "``agg_cost`` de `v` a `u` es :math:`0`" -#: ../../build/doc/aStar-family.rst:70 +#: ../../build/doc/aStar-family.rst:71 msgid "Edges with negative costs are not included in the graph." msgstr "Los bordes con costes negativos no se incluyen en el grafo." -#: ../../build/doc/aStar-family.rst:71 +#: ../../build/doc/aStar-family.rst:72 msgid "When (x,y) coordinates for the same vertex identifier differ:" msgstr "" "Cuando las coordenadas (x,y) para el mismo identificador de vértice " "difieren:" -#: ../../build/doc/aStar-family.rst:73 +#: ../../build/doc/aStar-family.rst:74 msgid "A random selection of the vertex's (x,y) coordinates is used." msgstr "" "Se utiliza una selección aleatoria de las coordenadas del vértice (x,y)." -#: ../../build/doc/aStar-family.rst:75 +#: ../../build/doc/aStar-family.rst:76 msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "Tiempo de ejecución: :math:`O((E + V) * \\log V)`" -#: ../../build/doc/aStar-family.rst:80 +#: ../../build/doc/aStar-family.rst:81 msgid "Advanced documentation" msgstr "Documentación avanzada" -#: ../../build/doc/aStar-family.rst:82 +#: ../../build/doc/aStar-family.rst:83 msgid "" "The A* (pronounced \"A Star\") algorithm is based on Dijkstra's algorithm " "with a heuristic, that is an estimation of the remaining cost from the " @@ -174,53 +176,53 @@ msgstr "" "evaluando sólo un subconjunto de la gráfica original. Tiempo de ejecución: " ":math:`O((E + V) * \\log V)`" -#: ../../build/doc/aStar-family.rst:92 +#: ../../build/doc/aStar-family.rst:93 msgid "Heuristic" msgstr "Heurística" -#: ../../build/doc/aStar-family.rst:94 +#: ../../build/doc/aStar-family.rst:95 msgid "Currently the heuristic functions available are:" msgstr "Actualmente las funciones heurísticas disponibles son:" -#: ../../build/doc/aStar-family.rst:96 +#: ../../build/doc/aStar-family.rst:97 msgid "0: :math:`h(v) = 0` (Use this value to compare with pgr_dijkstra)" msgstr "" "0: :math:`h(v) = 0` (Utilizat este valor para comparar con pgr_dijkstra)" -#: ../../build/doc/aStar-family.rst:97 +#: ../../build/doc/aStar-family.rst:98 msgid "1: :math:`h(v) = abs(max(\\Delta x, \\Delta y))`" msgstr "1: :math:`h(v) = abs(max(\\Delta x, \\Delta y))`" -#: ../../build/doc/aStar-family.rst:98 +#: ../../build/doc/aStar-family.rst:99 msgid "2: :math:`h(v) = abs(min(\\Delta x, \\Delta y))`" msgstr "2: :math:`h(v) = abs(min(\\Delta x, \\Delta y))`" -#: ../../build/doc/aStar-family.rst:99 +#: ../../build/doc/aStar-family.rst:100 msgid "3: :math:`h(v) = \\Delta x * \\Delta x + \\Delta y * \\Delta y`" msgstr "3: :math:`h(v) = \\Delta x * \\Delta x + \\Delta y * \\Delta y`" -#: ../../build/doc/aStar-family.rst:100 +#: ../../build/doc/aStar-family.rst:101 msgid "4: :math:`h(v) = sqrt(\\Delta x * \\Delta x + \\Delta y * \\Delta y)`" msgstr "4: :math:`h(v) = sqrt(\\Delta x * \\Delta x + \\Delta y * \\Delta y)`" -#: ../../build/doc/aStar-family.rst:101 +#: ../../build/doc/aStar-family.rst:102 msgid "5: :math:`h(v) = abs(\\Delta x) + abs(\\Delta y)`" msgstr "5: :math:`h(v) = abs(\\Delta x) + abs(\\Delta y)`" -#: ../../build/doc/aStar-family.rst:103 +#: ../../build/doc/aStar-family.rst:104 msgid "where :math:`\\Delta x = x_1 - x_0` and :math:`\\Delta y = y_1 - y_0`" msgstr "Donde :math:`\\Delta x = x_1 - x_0` y :math:`\\Delta y = y_1 - y_0`" -#: ../../build/doc/aStar-family.rst:109 ../../build/doc/aStar-family.rst:122 -#: ../../build/doc/aStar-family.rst:135 +#: ../../build/doc/aStar-family.rst:110 ../../build/doc/aStar-family.rst:123 +#: ../../build/doc/aStar-family.rst:136 msgid "Factor" msgstr "Factor" -#: ../../build/doc/aStar-family.rst:112 +#: ../../build/doc/aStar-family.rst:113 msgid "Analysis 1" msgstr "Análisis 1" -#: ../../build/doc/aStar-family.rst:113 +#: ../../build/doc/aStar-family.rst:114 msgid "" "Working with cost/reverse_cost as length in degrees, x/y in lat/lon: Factor " "= 1 (no need to change units)" @@ -228,11 +230,11 @@ msgstr "" "Trabajando con cost/reverse_cost como longitud en grados, x / y en lat/lon: " "Factor = 1 (sin necesidad de cambiar unidades)" -#: ../../build/doc/aStar-family.rst:117 +#: ../../build/doc/aStar-family.rst:118 msgid "Analysis 2" msgstr "Análisis 2" -#: ../../build/doc/aStar-family.rst:118 +#: ../../build/doc/aStar-family.rst:119 msgid "" "Working with cost/reverse_cost as length in meters, x/y in lat/lon: Factor =" " would depend on the location of the points:" @@ -240,43 +242,43 @@ msgstr "" "Trabajando con cost/reverse_cost donde la longitud es en metros, x / y es " "lat/lon: Factor dependere de la ubicación de los puntos:" -#: ../../build/doc/aStar-family.rst:122 ../../build/doc/aStar-family.rst:135 +#: ../../build/doc/aStar-family.rst:123 ../../build/doc/aStar-family.rst:136 msgid "Latitude" msgstr "Latitud" -#: ../../build/doc/aStar-family.rst:122 ../../build/doc/aStar-family.rst:135 +#: ../../build/doc/aStar-family.rst:123 ../../build/doc/aStar-family.rst:136 msgid "Conversion" msgstr "Conversión" -#: ../../build/doc/aStar-family.rst:124 ../../build/doc/aStar-family.rst:137 +#: ../../build/doc/aStar-family.rst:125 ../../build/doc/aStar-family.rst:138 msgid "45" msgstr "45" -#: ../../build/doc/aStar-family.rst:124 +#: ../../build/doc/aStar-family.rst:125 msgid "1 longitude degree is 78846.81 m" msgstr "1 grado de longitud es 78846,81 m" -#: ../../build/doc/aStar-family.rst:124 +#: ../../build/doc/aStar-family.rst:125 msgid "78846" msgstr "78846" -#: ../../build/doc/aStar-family.rst:125 ../../build/doc/aStar-family.rst:138 +#: ../../build/doc/aStar-family.rst:126 ../../build/doc/aStar-family.rst:139 msgid "0" msgstr "0" -#: ../../build/doc/aStar-family.rst:125 +#: ../../build/doc/aStar-family.rst:126 msgid "1 longitude degree is 111319.46 m" msgstr "1 grado de longitud es 111319,46 m" -#: ../../build/doc/aStar-family.rst:125 +#: ../../build/doc/aStar-family.rst:126 msgid "111319" msgstr "111319" -#: ../../build/doc/aStar-family.rst:129 +#: ../../build/doc/aStar-family.rst:130 msgid "Analysis 3" msgstr "Análisis 3" -#: ../../build/doc/aStar-family.rst:130 +#: ../../build/doc/aStar-family.rst:131 msgid "" "Working with cost/reverse_cost as time in seconds, x/y in lat/lon: Factor: " "would depend on the location of the points and on the average speed say " @@ -286,63 +288,54 @@ msgstr "" "lat/lon: Factor: que depende de la ubicación de los puntos y en la velocidad" " promedio, digamos que 25m/s es la velocidad." -#: ../../build/doc/aStar-family.rst:137 +#: ../../build/doc/aStar-family.rst:138 msgid "1 longitude degree is (78846.81m)/(25m/s)" msgstr "1 grado de longitud es (78846.81m)/(25m/s)" -#: ../../build/doc/aStar-family.rst:137 +#: ../../build/doc/aStar-family.rst:138 msgid "3153 s" msgstr "3153 s" -#: ../../build/doc/aStar-family.rst:138 +#: ../../build/doc/aStar-family.rst:139 msgid "1 longitude degree is (111319.46 m)/(25m/s)" msgstr "1 grado de longitud es (111319.46 m)/(25m/s)" -#: ../../build/doc/aStar-family.rst:138 +#: ../../build/doc/aStar-family.rst:139 msgid "4452 s" msgstr "4452 s" -#: ../../build/doc/aStar-family.rst:144 +#: ../../build/doc/aStar-family.rst:145 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/aStar-family.rst:146 +#: ../../build/doc/aStar-family.rst:147 msgid ":doc:`pgr_aStar`" msgstr ":doc:`pgr_aStar`" -#: ../../build/doc/aStar-family.rst:147 +#: ../../build/doc/aStar-family.rst:148 msgid ":doc:`pgr_aStarCost`" msgstr ":doc:`pgr_aStarCost`" -#: ../../build/doc/aStar-family.rst:148 +#: ../../build/doc/aStar-family.rst:149 msgid ":doc:`pgr_aStarCostMatrix`" msgstr ":doc:`pgr_aStarCostMatrix`" -#: ../../build/doc/aStar-family.rst:149 +#: ../../build/doc/aStar-family.rst:150 msgid "https://www.boost.org/libs/graph/doc/astar_search.html" msgstr "https://www.boost.org/libs/graph/doc/astar_search.html" -#: ../../build/doc/aStar-family.rst:150 +#: ../../build/doc/aStar-family.rst:151 msgid "https://en.wikipedia.org/wiki/A*_search_algorithm" msgstr "https://en.wikipedia.org/wiki/A*_search_algorithm" -#: ../../build/doc/aStar-family.rst:153 +#: ../../build/doc/aStar-family.rst:154 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/aStar-family.rst:154 +#: ../../build/doc/aStar-family.rst:155 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/aStar-family.rst:155 +#: ../../build/doc/aStar-family.rst:156 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versions soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/allpairs-family.po b/locale/es/LC_MESSAGES/allpairs-family.po index c538efc19b5..d012e1b6cfd 100644 --- a/locale/es/LC_MESSAGES/allpairs-family.po +++ b/locale/es/LC_MESSAGES/allpairs-family.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -48,15 +48,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/allpairs-family.rst:30 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/allpairs-family.rst:34 +#: ../../build/doc/allpairs-family.rst:35 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.2 " "`__" -#: ../../build/doc/allpairs-family.rst:43 +#: ../../build/doc/allpairs-family.rst:44 msgid "Performance" msgstr "Rendimiento" -#: ../../build/doc/allpairs-family.rst:50 +#: ../../build/doc/allpairs-family.rst:51 msgid "The following tests:" msgstr "Las siguientes pruebas:" -#: ../../build/doc/allpairs-family.rst:46 +#: ../../build/doc/allpairs-family.rst:47 msgid "non server computer" msgstr "computadora que no sea servidor" -#: ../../build/doc/allpairs-family.rst:47 +#: ../../build/doc/allpairs-family.rst:48 msgid "with AMD 64 CPU" msgstr "con unidad de procesamiento central AMD 64" -#: ../../build/doc/allpairs-family.rst:48 +#: ../../build/doc/allpairs-family.rst:49 msgid "4G memory" msgstr "memoria 4G" -#: ../../build/doc/allpairs-family.rst:49 +#: ../../build/doc/allpairs-family.rst:50 msgid "trusty" msgstr "trusty" -#: ../../build/doc/allpairs-family.rst:50 +#: ../../build/doc/allpairs-family.rst:51 msgid "posgreSQL version 9.3" msgstr "postgreSQL versión 9.3" -#: ../../build/doc/allpairs-family.rst:53 +#: ../../build/doc/allpairs-family.rst:54 msgid "Data" msgstr "Datos" -#: ../../build/doc/allpairs-family.rst:55 +#: ../../build/doc/allpairs-family.rst:56 msgid "The following data was used" msgstr "Se usaron los siguientes datos" -#: ../../build/doc/allpairs-family.rst:63 +#: ../../build/doc/allpairs-family.rst:64 msgid "Data processing was done with osm2pgrouting-alpha" msgstr "El procesamiento de datos se llevó a cabo con osm2pgrouting-alpha" -#: ../../build/doc/allpairs-family.rst:76 +#: ../../build/doc/allpairs-family.rst:77 msgid "Results" msgstr "Resultados" @@ -118,11 +120,11 @@ msgstr "Resultados" msgid "Test" msgstr "Prueba" -#: ../../build/doc/allpairs-family.rst:78 +#: ../../build/doc/allpairs-family.rst:79 msgid "One" msgstr "Uno" -#: ../../build/doc/allpairs-family.rst:80 +#: ../../build/doc/allpairs-family.rst:81 msgid "" "This test is not with a bounding box The density of the passed graph is " "extremely low. For each 30 tests were executed to get the average The" @@ -132,473 +134,473 @@ msgstr "" "se pasa es extremadamente baja. Para cada se ejecutaron 30 pruebas " "para obtener el medio. La consulta probada es:" -#: ../../build/doc/allpairs-family.rst:93 -#: ../../build/doc/allpairs-family.rst:150 +#: ../../build/doc/allpairs-family.rst:94 +#: ../../build/doc/allpairs-family.rst:151 msgid "The results of this tests are presented as:" msgstr "Los resultados de la prueba son:" -#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:104 -#: ../../build/doc/allpairs-family.rst:161 +#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:105 +#: ../../build/doc/allpairs-family.rst:162 msgid "SIZE" msgstr "TAMAÑO" -#: ../../build/doc/allpairs-family.rst:95 +#: ../../build/doc/allpairs-family.rst:96 msgid "is the number of edges given as input." msgstr "es el número de aristas entradas" -#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:104 -#: ../../build/doc/allpairs-family.rst:161 +#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:105 +#: ../../build/doc/allpairs-family.rst:162 msgid "EDGES" msgstr "ARISTAS" -#: ../../build/doc/allpairs-family.rst:96 -#: ../../build/doc/allpairs-family.rst:153 +#: ../../build/doc/allpairs-family.rst:97 +#: ../../build/doc/allpairs-family.rst:154 msgid "is the total number of records in the query." msgstr "es el numero de registros en la consulta" -#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:104 -#: ../../build/doc/allpairs-family.rst:161 +#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:105 +#: ../../build/doc/allpairs-family.rst:162 msgid "DENSITY" msgstr "DENSIDAD" -#: ../../build/doc/allpairs-family.rst:97 -#: ../../build/doc/allpairs-family.rst:154 +#: ../../build/doc/allpairs-family.rst:98 +#: ../../build/doc/allpairs-family.rst:155 msgid "is the density of the data :math:`\\dfrac{E}{V \\times (V-1)}`." msgstr "es la densidad de los datos :math:`\\dfrac{E}{V \\times (V-1)}`." -#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:104 -#: ../../build/doc/allpairs-family.rst:161 +#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:105 +#: ../../build/doc/allpairs-family.rst:162 msgid "OUT ROWS" msgstr "REGISTROS DEVUELTOS" -#: ../../build/doc/allpairs-family.rst:98 -#: ../../build/doc/allpairs-family.rst:155 +#: ../../build/doc/allpairs-family.rst:99 +#: ../../build/doc/allpairs-family.rst:156 msgid "is the number of records returned by the queries." msgstr "es el número de registros devueltos por las consultas." -#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:104 -#: ../../build/doc/allpairs-family.rst:161 +#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:105 +#: ../../build/doc/allpairs-family.rst:162 msgid "Floyd-Warshall" msgstr "Floyd-Warshall" -#: ../../build/doc/allpairs-family.rst:99 -#: ../../build/doc/allpairs-family.rst:156 +#: ../../build/doc/allpairs-family.rst:100 +#: ../../build/doc/allpairs-family.rst:157 msgid "is the average execution time in seconds of pgr_floydWarshall." msgstr "es el tiempo promedio de ejecución en segundos de pgr_floydWarshall." -#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:104 -#: ../../build/doc/allpairs-family.rst:161 +#: ../../build/doc/allpairs-family.rst ../../build/doc/allpairs-family.rst:105 +#: ../../build/doc/allpairs-family.rst:162 msgid "Johnson" msgstr "Johnson" -#: ../../build/doc/allpairs-family.rst:100 -#: ../../build/doc/allpairs-family.rst:157 +#: ../../build/doc/allpairs-family.rst:101 +#: ../../build/doc/allpairs-family.rst:158 msgid "is the average execution time in seconds of pgr_johnson." msgstr "es el tiempo promedio de ejecución en segundos de pgr_johnson." -#: ../../build/doc/allpairs-family.rst:106 +#: ../../build/doc/allpairs-family.rst:107 msgid "500" msgstr "500" -#: ../../build/doc/allpairs-family.rst:106 +#: ../../build/doc/allpairs-family.rst:107 msgid "0.18E-7" msgstr "0.18E-7" -#: ../../build/doc/allpairs-family.rst:106 +#: ../../build/doc/allpairs-family.rst:107 msgid "1346" msgstr "1346" -#: ../../build/doc/allpairs-family.rst:106 +#: ../../build/doc/allpairs-family.rst:107 msgid "0.14" msgstr "0.14" -#: ../../build/doc/allpairs-family.rst:106 +#: ../../build/doc/allpairs-family.rst:107 msgid "0.13" msgstr "0.13" -#: ../../build/doc/allpairs-family.rst:107 +#: ../../build/doc/allpairs-family.rst:108 msgid "1000" msgstr "1000" -#: ../../build/doc/allpairs-family.rst:107 +#: ../../build/doc/allpairs-family.rst:108 msgid "0.36E-7" msgstr "0.36E-7" -#: ../../build/doc/allpairs-family.rst:107 +#: ../../build/doc/allpairs-family.rst:108 msgid "2655" msgstr "2655" -#: ../../build/doc/allpairs-family.rst:107 +#: ../../build/doc/allpairs-family.rst:108 msgid "0.23" msgstr "0.23" -#: ../../build/doc/allpairs-family.rst:107 +#: ../../build/doc/allpairs-family.rst:108 msgid "0.18" msgstr "0.18" -#: ../../build/doc/allpairs-family.rst:108 +#: ../../build/doc/allpairs-family.rst:109 msgid "1500" msgstr "1500" -#: ../../build/doc/allpairs-family.rst:108 +#: ../../build/doc/allpairs-family.rst:109 msgid "0.55E-7" msgstr "0.55E-7" -#: ../../build/doc/allpairs-family.rst:108 +#: ../../build/doc/allpairs-family.rst:109 msgid "4110" msgstr "4110" -#: ../../build/doc/allpairs-family.rst:108 #: ../../build/doc/allpairs-family.rst:109 -#: ../../build/doc/allpairs-family.rst:168 +#: ../../build/doc/allpairs-family.rst:110 +#: ../../build/doc/allpairs-family.rst:169 msgid "0.37" msgstr "0.37" -#: ../../build/doc/allpairs-family.rst:108 +#: ../../build/doc/allpairs-family.rst:109 msgid "0.34" msgstr "0.34" -#: ../../build/doc/allpairs-family.rst:109 +#: ../../build/doc/allpairs-family.rst:110 msgid "2000" msgstr "2000" -#: ../../build/doc/allpairs-family.rst:109 +#: ../../build/doc/allpairs-family.rst:110 msgid "0.73E-7" msgstr "0.73E-7" -#: ../../build/doc/allpairs-family.rst:109 +#: ../../build/doc/allpairs-family.rst:110 msgid "5676" msgstr "5676" -#: ../../build/doc/allpairs-family.rst:109 +#: ../../build/doc/allpairs-family.rst:110 msgid "0.56" msgstr "0.56" -#: ../../build/doc/allpairs-family.rst:110 +#: ../../build/doc/allpairs-family.rst:111 msgid "2500" msgstr "2500" -#: ../../build/doc/allpairs-family.rst:110 +#: ../../build/doc/allpairs-family.rst:111 msgid "0.89E-7" msgstr "0.89E-7" -#: ../../build/doc/allpairs-family.rst:110 +#: ../../build/doc/allpairs-family.rst:111 msgid "7177" msgstr "7177" -#: ../../build/doc/allpairs-family.rst:110 +#: ../../build/doc/allpairs-family.rst:111 msgid "0.84" msgstr "0.84" -#: ../../build/doc/allpairs-family.rst:110 +#: ../../build/doc/allpairs-family.rst:111 msgid "0.51" msgstr "0.51" -#: ../../build/doc/allpairs-family.rst:111 +#: ../../build/doc/allpairs-family.rst:112 msgid "3000" msgstr "3000" -#: ../../build/doc/allpairs-family.rst:111 +#: ../../build/doc/allpairs-family.rst:112 msgid "1.07E-7" msgstr "1.07E-7" -#: ../../build/doc/allpairs-family.rst:111 +#: ../../build/doc/allpairs-family.rst:112 msgid "8778" msgstr "8778" -#: ../../build/doc/allpairs-family.rst:111 +#: ../../build/doc/allpairs-family.rst:112 msgid "1.28" msgstr "1.28" -#: ../../build/doc/allpairs-family.rst:111 +#: ../../build/doc/allpairs-family.rst:112 msgid "0.68" msgstr "0.68" -#: ../../build/doc/allpairs-family.rst:112 +#: ../../build/doc/allpairs-family.rst:113 msgid "3500" msgstr "3500" -#: ../../build/doc/allpairs-family.rst:112 +#: ../../build/doc/allpairs-family.rst:113 msgid "1.24E-7" msgstr "1.24E-7" -#: ../../build/doc/allpairs-family.rst:112 +#: ../../build/doc/allpairs-family.rst:113 msgid "10526" msgstr "10526" -#: ../../build/doc/allpairs-family.rst:112 +#: ../../build/doc/allpairs-family.rst:113 msgid "2.08" msgstr "2.08" -#: ../../build/doc/allpairs-family.rst:112 +#: ../../build/doc/allpairs-family.rst:113 msgid "0.95" msgstr "0.95" -#: ../../build/doc/allpairs-family.rst:113 +#: ../../build/doc/allpairs-family.rst:114 msgid "4000" msgstr "4000" -#: ../../build/doc/allpairs-family.rst:113 +#: ../../build/doc/allpairs-family.rst:114 msgid "1.41E-7" msgstr "1.41E-7" -#: ../../build/doc/allpairs-family.rst:113 +#: ../../build/doc/allpairs-family.rst:114 msgid "12484" msgstr "12484" -#: ../../build/doc/allpairs-family.rst:113 +#: ../../build/doc/allpairs-family.rst:114 msgid "3.16" msgstr "3.16" -#: ../../build/doc/allpairs-family.rst:113 +#: ../../build/doc/allpairs-family.rst:114 msgid "1.24" msgstr "1.24" -#: ../../build/doc/allpairs-family.rst:114 +#: ../../build/doc/allpairs-family.rst:115 msgid "4500" msgstr "4500" -#: ../../build/doc/allpairs-family.rst:114 +#: ../../build/doc/allpairs-family.rst:115 msgid "1.58E-7" msgstr "1.58E-7" -#: ../../build/doc/allpairs-family.rst:114 +#: ../../build/doc/allpairs-family.rst:115 msgid "14354" msgstr "14354" -#: ../../build/doc/allpairs-family.rst:114 +#: ../../build/doc/allpairs-family.rst:115 msgid "4.49" msgstr "4.49" -#: ../../build/doc/allpairs-family.rst:114 +#: ../../build/doc/allpairs-family.rst:115 msgid "1.47" msgstr "1.47" -#: ../../build/doc/allpairs-family.rst:115 +#: ../../build/doc/allpairs-family.rst:116 msgid "5000" msgstr "5000" -#: ../../build/doc/allpairs-family.rst:115 +#: ../../build/doc/allpairs-family.rst:116 msgid "1.76E-7" msgstr "1.76E-7" -#: ../../build/doc/allpairs-family.rst:115 +#: ../../build/doc/allpairs-family.rst:116 msgid "16503" msgstr "16503" -#: ../../build/doc/allpairs-family.rst:115 +#: ../../build/doc/allpairs-family.rst:116 msgid "6.05" msgstr "6.05" -#: ../../build/doc/allpairs-family.rst:115 +#: ../../build/doc/allpairs-family.rst:116 msgid "1.78" msgstr "1.78" -#: ../../build/doc/allpairs-family.rst:116 +#: ../../build/doc/allpairs-family.rst:117 msgid "5500" msgstr "5500" -#: ../../build/doc/allpairs-family.rst:116 +#: ../../build/doc/allpairs-family.rst:117 msgid "1.93E-7" msgstr "1.93E-7" -#: ../../build/doc/allpairs-family.rst:116 +#: ../../build/doc/allpairs-family.rst:117 msgid "18623" msgstr "18623" -#: ../../build/doc/allpairs-family.rst:116 +#: ../../build/doc/allpairs-family.rst:117 msgid "7.53" msgstr "7.53" -#: ../../build/doc/allpairs-family.rst:116 +#: ../../build/doc/allpairs-family.rst:117 msgid "2.03" msgstr "2.03" -#: ../../build/doc/allpairs-family.rst:117 +#: ../../build/doc/allpairs-family.rst:118 msgid "6000" msgstr "6000" -#: ../../build/doc/allpairs-family.rst:117 +#: ../../build/doc/allpairs-family.rst:118 msgid "2.11E-7" msgstr "2.11E-7" -#: ../../build/doc/allpairs-family.rst:117 +#: ../../build/doc/allpairs-family.rst:118 msgid "20710" msgstr "20710" -#: ../../build/doc/allpairs-family.rst:117 +#: ../../build/doc/allpairs-family.rst:118 msgid "8.47" msgstr "8.47" -#: ../../build/doc/allpairs-family.rst:117 +#: ../../build/doc/allpairs-family.rst:118 msgid "2.37" msgstr "2.37" -#: ../../build/doc/allpairs-family.rst:118 +#: ../../build/doc/allpairs-family.rst:119 msgid "6500" msgstr "6500" -#: ../../build/doc/allpairs-family.rst:118 +#: ../../build/doc/allpairs-family.rst:119 msgid "2.28E-7" msgstr "2.28E-7" -#: ../../build/doc/allpairs-family.rst:118 +#: ../../build/doc/allpairs-family.rst:119 msgid "22752" msgstr "22752" -#: ../../build/doc/allpairs-family.rst:118 +#: ../../build/doc/allpairs-family.rst:119 msgid "9.99" msgstr "9.99" -#: ../../build/doc/allpairs-family.rst:118 +#: ../../build/doc/allpairs-family.rst:119 msgid "2.68" msgstr "2.68" -#: ../../build/doc/allpairs-family.rst:119 +#: ../../build/doc/allpairs-family.rst:120 msgid "7000" msgstr "7000" -#: ../../build/doc/allpairs-family.rst:119 +#: ../../build/doc/allpairs-family.rst:120 msgid "2.46E-7" msgstr "2.46E-7" -#: ../../build/doc/allpairs-family.rst:119 +#: ../../build/doc/allpairs-family.rst:120 msgid "24687" msgstr "24687" -#: ../../build/doc/allpairs-family.rst:119 +#: ../../build/doc/allpairs-family.rst:120 msgid "11.82" msgstr "11.82" -#: ../../build/doc/allpairs-family.rst:119 +#: ../../build/doc/allpairs-family.rst:120 msgid "3.12" msgstr "3.12" -#: ../../build/doc/allpairs-family.rst:120 +#: ../../build/doc/allpairs-family.rst:121 msgid "7500" msgstr "7500" -#: ../../build/doc/allpairs-family.rst:120 +#: ../../build/doc/allpairs-family.rst:121 msgid "2.64E-7" msgstr "2.64E-7" -#: ../../build/doc/allpairs-family.rst:120 +#: ../../build/doc/allpairs-family.rst:121 msgid "26861" msgstr "26861" -#: ../../build/doc/allpairs-family.rst:120 +#: ../../build/doc/allpairs-family.rst:121 msgid "13.94" msgstr "13.94" -#: ../../build/doc/allpairs-family.rst:120 +#: ../../build/doc/allpairs-family.rst:121 msgid "3.60" msgstr "3.60" -#: ../../build/doc/allpairs-family.rst:121 +#: ../../build/doc/allpairs-family.rst:122 msgid "8000" msgstr "8000" -#: ../../build/doc/allpairs-family.rst:121 +#: ../../build/doc/allpairs-family.rst:122 msgid "2.83E-7" msgstr "2.83E-7" -#: ../../build/doc/allpairs-family.rst:121 +#: ../../build/doc/allpairs-family.rst:122 msgid "29050" msgstr "29050" -#: ../../build/doc/allpairs-family.rst:121 +#: ../../build/doc/allpairs-family.rst:122 msgid "15.61" msgstr "15.61" -#: ../../build/doc/allpairs-family.rst:121 +#: ../../build/doc/allpairs-family.rst:122 msgid "4.09" msgstr "4.09" -#: ../../build/doc/allpairs-family.rst:122 +#: ../../build/doc/allpairs-family.rst:123 msgid "8500" msgstr "8500" -#: ../../build/doc/allpairs-family.rst:122 +#: ../../build/doc/allpairs-family.rst:123 msgid "3.01E-7" msgstr "3.01E-7" -#: ../../build/doc/allpairs-family.rst:122 +#: ../../build/doc/allpairs-family.rst:123 msgid "31693" msgstr "31693" -#: ../../build/doc/allpairs-family.rst:122 +#: ../../build/doc/allpairs-family.rst:123 msgid "17.43" msgstr "17.43" -#: ../../build/doc/allpairs-family.rst:122 +#: ../../build/doc/allpairs-family.rst:123 msgid "4.63" msgstr "4.63" -#: ../../build/doc/allpairs-family.rst:123 +#: ../../build/doc/allpairs-family.rst:124 msgid "9000" msgstr "9000" -#: ../../build/doc/allpairs-family.rst:123 +#: ../../build/doc/allpairs-family.rst:124 msgid "3.17E-7" msgstr "3.17E-7" -#: ../../build/doc/allpairs-family.rst:123 +#: ../../build/doc/allpairs-family.rst:124 msgid "33879" msgstr "33879" -#: ../../build/doc/allpairs-family.rst:123 +#: ../../build/doc/allpairs-family.rst:124 msgid "19.19" msgstr "19.19" -#: ../../build/doc/allpairs-family.rst:123 +#: ../../build/doc/allpairs-family.rst:124 msgid "5.34" msgstr "5.34" -#: ../../build/doc/allpairs-family.rst:124 +#: ../../build/doc/allpairs-family.rst:125 msgid "9500" msgstr "9500" -#: ../../build/doc/allpairs-family.rst:124 +#: ../../build/doc/allpairs-family.rst:125 msgid "3.35E-7" msgstr "3.35E-7" -#: ../../build/doc/allpairs-family.rst:124 +#: ../../build/doc/allpairs-family.rst:125 msgid "36287" msgstr "36287" -#: ../../build/doc/allpairs-family.rst:124 +#: ../../build/doc/allpairs-family.rst:125 msgid "20.77" msgstr "20.77" -#: ../../build/doc/allpairs-family.rst:124 +#: ../../build/doc/allpairs-family.rst:125 msgid "6.24" msgstr "6.24" -#: ../../build/doc/allpairs-family.rst:125 +#: ../../build/doc/allpairs-family.rst:126 msgid "10000" msgstr "10000" -#: ../../build/doc/allpairs-family.rst:125 +#: ../../build/doc/allpairs-family.rst:126 msgid "3.52E-7" msgstr "3.52E-7" -#: ../../build/doc/allpairs-family.rst:125 +#: ../../build/doc/allpairs-family.rst:126 msgid "38491" msgstr "38491" -#: ../../build/doc/allpairs-family.rst:125 +#: ../../build/doc/allpairs-family.rst:126 msgid "23.26" msgstr "23.26" -#: ../../build/doc/allpairs-family.rst:125 +#: ../../build/doc/allpairs-family.rst:126 msgid "6.51" msgstr "6.51" -#: ../../build/doc/allpairs-family.rst:129 +#: ../../build/doc/allpairs-family.rst:130 msgid "Two" msgstr "Dos" -#: ../../build/doc/allpairs-family.rst:131 +#: ../../build/doc/allpairs-family.rst:132 msgid "" "This test is with a bounding box The density of the passed graph higher than" " of the Test One. For each 30 tests were executed to get the average " @@ -608,412 +610,412 @@ msgstr "" "pasa es superior a la de la prueba 1. Para cada se ejecutaron 30 " "pruebas para obtener el medio. La consulta de arista que se prueba es:" -#: ../../build/doc/allpairs-family.rst:143 +#: ../../build/doc/allpairs-family.rst:144 msgid "The tested queries" msgstr "Las consultas probadas" -#: ../../build/doc/allpairs-family.rst:152 +#: ../../build/doc/allpairs-family.rst:153 msgid "is the size of the bounding box." msgstr "es el tamaño del cuadro delimitador." -#: ../../build/doc/allpairs-family.rst:163 +#: ../../build/doc/allpairs-family.rst:164 msgid "0.001" msgstr "0.001" -#: ../../build/doc/allpairs-family.rst:163 +#: ../../build/doc/allpairs-family.rst:164 msgid "44" msgstr "44" -#: ../../build/doc/allpairs-family.rst:163 +#: ../../build/doc/allpairs-family.rst:164 msgid "0.0608" msgstr "0.0608" -#: ../../build/doc/allpairs-family.rst:163 +#: ../../build/doc/allpairs-family.rst:164 msgid "1197" msgstr "1197" -#: ../../build/doc/allpairs-family.rst:163 #: ../../build/doc/allpairs-family.rst:164 +#: ../../build/doc/allpairs-family.rst:165 msgid "0.10" msgstr "0.10" -#: ../../build/doc/allpairs-family.rst:164 +#: ../../build/doc/allpairs-family.rst:165 msgid "0.002" msgstr "0.002" -#: ../../build/doc/allpairs-family.rst:164 +#: ../../build/doc/allpairs-family.rst:165 msgid "99" msgstr "99" -#: ../../build/doc/allpairs-family.rst:164 +#: ../../build/doc/allpairs-family.rst:165 msgid "0.0251" msgstr "0.0251" -#: ../../build/doc/allpairs-family.rst:164 +#: ../../build/doc/allpairs-family.rst:165 msgid "4330" msgstr "4330" -#: ../../build/doc/allpairs-family.rst:165 +#: ../../build/doc/allpairs-family.rst:166 msgid "0.003" msgstr "0.003" -#: ../../build/doc/allpairs-family.rst:165 +#: ../../build/doc/allpairs-family.rst:166 msgid "223" msgstr "223" -#: ../../build/doc/allpairs-family.rst:165 +#: ../../build/doc/allpairs-family.rst:166 msgid "0.0122" msgstr "0.0122" -#: ../../build/doc/allpairs-family.rst:165 +#: ../../build/doc/allpairs-family.rst:166 msgid "18849" msgstr "18849" -#: ../../build/doc/allpairs-family.rst:165 +#: ../../build/doc/allpairs-family.rst:166 msgid "0.12" msgstr "0.12" -#: ../../build/doc/allpairs-family.rst:166 +#: ../../build/doc/allpairs-family.rst:167 msgid "0.004" msgstr "0.004" -#: ../../build/doc/allpairs-family.rst:166 +#: ../../build/doc/allpairs-family.rst:167 msgid "358" msgstr "358" -#: ../../build/doc/allpairs-family.rst:166 +#: ../../build/doc/allpairs-family.rst:167 msgid "0.0085" msgstr "0.0085" -#: ../../build/doc/allpairs-family.rst:166 +#: ../../build/doc/allpairs-family.rst:167 msgid "71834" msgstr "71834" -#: ../../build/doc/allpairs-family.rst:166 +#: ../../build/doc/allpairs-family.rst:167 msgid "0.16" msgstr "0.16" -#: ../../build/doc/allpairs-family.rst:167 +#: ../../build/doc/allpairs-family.rst:168 msgid "0.005" msgstr "0.005" -#: ../../build/doc/allpairs-family.rst:167 +#: ../../build/doc/allpairs-family.rst:168 msgid "470" msgstr "470" -#: ../../build/doc/allpairs-family.rst:167 +#: ../../build/doc/allpairs-family.rst:168 msgid "0.0070" msgstr "0.0070" -#: ../../build/doc/allpairs-family.rst:167 +#: ../../build/doc/allpairs-family.rst:168 msgid "116290" msgstr "116290" -#: ../../build/doc/allpairs-family.rst:167 +#: ../../build/doc/allpairs-family.rst:168 msgid "0.22" msgstr "0.22" -#: ../../build/doc/allpairs-family.rst:167 +#: ../../build/doc/allpairs-family.rst:168 msgid "0.19" msgstr "0.19" -#: ../../build/doc/allpairs-family.rst:168 +#: ../../build/doc/allpairs-family.rst:169 msgid "0.006" msgstr "0.006" -#: ../../build/doc/allpairs-family.rst:168 +#: ../../build/doc/allpairs-family.rst:169 msgid "639" msgstr "639" -#: ../../build/doc/allpairs-family.rst:168 +#: ../../build/doc/allpairs-family.rst:169 msgid "0.0055" msgstr "0.0055" -#: ../../build/doc/allpairs-family.rst:168 +#: ../../build/doc/allpairs-family.rst:169 msgid "207030" msgstr "207030" -#: ../../build/doc/allpairs-family.rst:168 +#: ../../build/doc/allpairs-family.rst:169 msgid "0.27" msgstr "0.27" -#: ../../build/doc/allpairs-family.rst:169 +#: ../../build/doc/allpairs-family.rst:170 msgid "0.007" msgstr "0.007" -#: ../../build/doc/allpairs-family.rst:169 +#: ../../build/doc/allpairs-family.rst:170 msgid "843" msgstr "843" -#: ../../build/doc/allpairs-family.rst:169 +#: ../../build/doc/allpairs-family.rst:170 msgid "0.0043" msgstr "0.0043" -#: ../../build/doc/allpairs-family.rst:169 +#: ../../build/doc/allpairs-family.rst:170 msgid "346930" msgstr "346930" -#: ../../build/doc/allpairs-family.rst:169 +#: ../../build/doc/allpairs-family.rst:170 msgid "0.64" msgstr "0.64" -#: ../../build/doc/allpairs-family.rst:169 +#: ../../build/doc/allpairs-family.rst:170 msgid "0.38" msgstr "0.38" -#: ../../build/doc/allpairs-family.rst:170 +#: ../../build/doc/allpairs-family.rst:171 msgid "0.008" msgstr "0.008" -#: ../../build/doc/allpairs-family.rst:170 +#: ../../build/doc/allpairs-family.rst:171 msgid "996" msgstr "996" -#: ../../build/doc/allpairs-family.rst:170 +#: ../../build/doc/allpairs-family.rst:171 msgid "0.0037" msgstr "0.0037" -#: ../../build/doc/allpairs-family.rst:170 +#: ../../build/doc/allpairs-family.rst:171 msgid "469936" msgstr "469936" -#: ../../build/doc/allpairs-family.rst:170 +#: ../../build/doc/allpairs-family.rst:171 msgid "0.90" msgstr "0.90" -#: ../../build/doc/allpairs-family.rst:170 +#: ../../build/doc/allpairs-family.rst:171 msgid "0.49" msgstr "0.49" -#: ../../build/doc/allpairs-family.rst:171 +#: ../../build/doc/allpairs-family.rst:172 msgid "0.009" msgstr "0.009" -#: ../../build/doc/allpairs-family.rst:171 +#: ../../build/doc/allpairs-family.rst:172 msgid "1146" msgstr "1146" -#: ../../build/doc/allpairs-family.rst:171 +#: ../../build/doc/allpairs-family.rst:172 msgid "0.0032" msgstr "0.0032" -#: ../../build/doc/allpairs-family.rst:171 +#: ../../build/doc/allpairs-family.rst:172 msgid "613135" msgstr "613135" -#: ../../build/doc/allpairs-family.rst:171 +#: ../../build/doc/allpairs-family.rst:172 msgid "1.26" msgstr "1.26" -#: ../../build/doc/allpairs-family.rst:171 +#: ../../build/doc/allpairs-family.rst:172 msgid "0.62" msgstr "0.62" -#: ../../build/doc/allpairs-family.rst:172 +#: ../../build/doc/allpairs-family.rst:173 msgid "0.010" msgstr "0.010" -#: ../../build/doc/allpairs-family.rst:172 +#: ../../build/doc/allpairs-family.rst:173 msgid "1360" msgstr "1360" -#: ../../build/doc/allpairs-family.rst:172 +#: ../../build/doc/allpairs-family.rst:173 msgid "0.0027" msgstr "0.0027" -#: ../../build/doc/allpairs-family.rst:172 +#: ../../build/doc/allpairs-family.rst:173 msgid "849304" msgstr "849304" -#: ../../build/doc/allpairs-family.rst:172 +#: ../../build/doc/allpairs-family.rst:173 msgid "1.87" msgstr "1.87" -#: ../../build/doc/allpairs-family.rst:172 +#: ../../build/doc/allpairs-family.rst:173 msgid "0.82" msgstr "0.82" -#: ../../build/doc/allpairs-family.rst:173 +#: ../../build/doc/allpairs-family.rst:174 msgid "0.011" msgstr "0.011" -#: ../../build/doc/allpairs-family.rst:173 +#: ../../build/doc/allpairs-family.rst:174 msgid "1573" msgstr "1573" -#: ../../build/doc/allpairs-family.rst:173 +#: ../../build/doc/allpairs-family.rst:174 msgid "0.0024" msgstr "0.0024" -#: ../../build/doc/allpairs-family.rst:173 +#: ../../build/doc/allpairs-family.rst:174 msgid "1147101" msgstr "1147101" -#: ../../build/doc/allpairs-family.rst:173 +#: ../../build/doc/allpairs-family.rst:174 msgid "2.65" msgstr "2.65" -#: ../../build/doc/allpairs-family.rst:173 +#: ../../build/doc/allpairs-family.rst:174 msgid "1.04" msgstr "1.04" -#: ../../build/doc/allpairs-family.rst:174 +#: ../../build/doc/allpairs-family.rst:175 msgid "0.012" msgstr "0.012" -#: ../../build/doc/allpairs-family.rst:174 +#: ../../build/doc/allpairs-family.rst:175 msgid "1789" msgstr "1789" -#: ../../build/doc/allpairs-family.rst:174 +#: ../../build/doc/allpairs-family.rst:175 msgid "0.0021" msgstr "0.0021" -#: ../../build/doc/allpairs-family.rst:174 +#: ../../build/doc/allpairs-family.rst:175 msgid "1483629" msgstr "1483629" -#: ../../build/doc/allpairs-family.rst:174 +#: ../../build/doc/allpairs-family.rst:175 msgid "3.72" msgstr "3.72" -#: ../../build/doc/allpairs-family.rst:174 +#: ../../build/doc/allpairs-family.rst:175 msgid "1.35" msgstr "1.35" -#: ../../build/doc/allpairs-family.rst:175 +#: ../../build/doc/allpairs-family.rst:176 msgid "0.013" msgstr "0.013" -#: ../../build/doc/allpairs-family.rst:175 +#: ../../build/doc/allpairs-family.rst:176 msgid "1975" msgstr "1975" -#: ../../build/doc/allpairs-family.rst:175 +#: ../../build/doc/allpairs-family.rst:176 msgid "0.0019" msgstr "0.0019" -#: ../../build/doc/allpairs-family.rst:175 +#: ../../build/doc/allpairs-family.rst:176 msgid "1846897" msgstr "1846897" -#: ../../build/doc/allpairs-family.rst:175 +#: ../../build/doc/allpairs-family.rst:176 msgid "4.86" msgstr "4.86" -#: ../../build/doc/allpairs-family.rst:175 +#: ../../build/doc/allpairs-family.rst:176 msgid "1.68" msgstr "1.68" -#: ../../build/doc/allpairs-family.rst:176 +#: ../../build/doc/allpairs-family.rst:177 msgid "0.014" msgstr "0.014" -#: ../../build/doc/allpairs-family.rst:176 +#: ../../build/doc/allpairs-family.rst:177 msgid "2281" msgstr "2281" -#: ../../build/doc/allpairs-family.rst:176 +#: ../../build/doc/allpairs-family.rst:177 msgid "0.0017" msgstr "0.0017" -#: ../../build/doc/allpairs-family.rst:176 +#: ../../build/doc/allpairs-family.rst:177 msgid "2438298" msgstr "2438298" -#: ../../build/doc/allpairs-family.rst:176 +#: ../../build/doc/allpairs-family.rst:177 msgid "7.08" msgstr "7.08" -#: ../../build/doc/allpairs-family.rst:176 +#: ../../build/doc/allpairs-family.rst:177 msgid "2.28" msgstr "2.28" -#: ../../build/doc/allpairs-family.rst:177 +#: ../../build/doc/allpairs-family.rst:178 msgid "0.015" msgstr "0.015" -#: ../../build/doc/allpairs-family.rst:177 +#: ../../build/doc/allpairs-family.rst:178 msgid "2588" msgstr "2588" -#: ../../build/doc/allpairs-family.rst:177 +#: ../../build/doc/allpairs-family.rst:178 msgid "0.0015" msgstr "0.0015" -#: ../../build/doc/allpairs-family.rst:177 +#: ../../build/doc/allpairs-family.rst:178 msgid "3156007" msgstr "3156007" -#: ../../build/doc/allpairs-family.rst:177 +#: ../../build/doc/allpairs-family.rst:178 msgid "10.28" msgstr "10.28" -#: ../../build/doc/allpairs-family.rst:177 +#: ../../build/doc/allpairs-family.rst:178 msgid "2.80" msgstr "2.80" -#: ../../build/doc/allpairs-family.rst:178 +#: ../../build/doc/allpairs-family.rst:179 msgid "0.016" msgstr "0.016" -#: ../../build/doc/allpairs-family.rst:178 +#: ../../build/doc/allpairs-family.rst:179 msgid "2958" msgstr "2958" -#: ../../build/doc/allpairs-family.rst:178 +#: ../../build/doc/allpairs-family.rst:179 msgid "0.0013" msgstr "0.0013" -#: ../../build/doc/allpairs-family.rst:178 +#: ../../build/doc/allpairs-family.rst:179 msgid "4090618" msgstr "4090618" -#: ../../build/doc/allpairs-family.rst:178 +#: ../../build/doc/allpairs-family.rst:179 msgid "14.67" msgstr "14.67" -#: ../../build/doc/allpairs-family.rst:178 +#: ../../build/doc/allpairs-family.rst:179 msgid "3.76" msgstr "3.76" -#: ../../build/doc/allpairs-family.rst:179 +#: ../../build/doc/allpairs-family.rst:180 msgid "0.017" msgstr "0.017" -#: ../../build/doc/allpairs-family.rst:179 +#: ../../build/doc/allpairs-family.rst:180 msgid "3247" msgstr "3247" -#: ../../build/doc/allpairs-family.rst:179 +#: ../../build/doc/allpairs-family.rst:180 msgid "0.0012" msgstr "0.0012" -#: ../../build/doc/allpairs-family.rst:179 +#: ../../build/doc/allpairs-family.rst:180 msgid "4868919" msgstr "4868919" -#: ../../build/doc/allpairs-family.rst:179 +#: ../../build/doc/allpairs-family.rst:180 msgid "18.12" msgstr "18.12" -#: ../../build/doc/allpairs-family.rst:179 +#: ../../build/doc/allpairs-family.rst:180 msgid "4.48" msgstr "4.48" -#: ../../build/doc/allpairs-family.rst:184 +#: ../../build/doc/allpairs-family.rst:185 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/allpairs-family.rst:186 +#: ../../build/doc/allpairs-family.rst:187 msgid ":doc:`pgr_johnson`" msgstr ":doc:`pgr_johnson`" -#: ../../build/doc/allpairs-family.rst:187 +#: ../../build/doc/allpairs-family.rst:188 msgid ":doc:`pgr_floydWarshall`" msgstr ":doc:`pgr_floydWarshall`" -#: ../../build/doc/allpairs-family.rst:188 +#: ../../build/doc/allpairs-family.rst:189 msgid "" "`Boost floyd-Warshall " "`_ " @@ -1023,23 +1025,14 @@ msgstr "" "`_ en " "Boost" -#: ../../build/doc/allpairs-family.rst:191 +#: ../../build/doc/allpairs-family.rst:192 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/allpairs-family.rst:192 +#: ../../build/doc/allpairs-family.rst:193 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/allpairs-family.rst:193 +#: ../../build/doc/allpairs-family.rst:194 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/bdAstar-family.po b/locale/es/LC_MESSAGES/bdAstar-family.po index ad791e6355d..2f4e68dc603 100644 --- a/locale/es/LC_MESSAGES/bdAstar-family.po +++ b/locale/es/LC_MESSAGES/bdAstar-family.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2019 -# Vicky Vergara , 2020 +# Vicky Vergara , 2019 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -54,15 +54,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/bdAstar-family.rst:30 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/bdAstar-family.rst:34 +#: ../../build/doc/bdAstar-family.rst:35 msgid "" "**Unsupported versions:** `2.5 `__" @@ -70,12 +72,12 @@ msgstr "" "**Versiones no soportadas:** `2.5 `__" -#: ../../build/doc/bdAstar-family.rst:38 ../../build/doc/bdAstar-family.rst:77 +#: ../../build/doc/bdAstar-family.rst:39 ../../build/doc/bdAstar-family.rst:78 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "Descripción" -#: ../../build/doc/bdAstar-family.rst:40 +#: ../../build/doc/bdAstar-family.rst:41 msgid "" "Based on A* algorithm, the bidirectional search finds a shortest path from a" " starting vertex (``start_vid``) to an ending vertex (``end_vid``). It runs " @@ -91,44 +93,44 @@ msgstr "" "dos se encuentran en el medio. Esta aplicación puede utilizarse con un grafo" " dirigido y un grafo sin dirección." -#: ../../build/doc/bdAstar-family.rst:46 +#: ../../build/doc/bdAstar-family.rst:47 msgid "The main Characteristics are:" msgstr "Las características principales son:" -#: ../../build/doc/bdAstar-family.rst:48 +#: ../../build/doc/bdAstar-family.rst:49 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/bdAstar-family.rst:49 +#: ../../build/doc/bdAstar-family.rst:50 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/bdAstar-family.rst:51 +#: ../../build/doc/bdAstar-family.rst:52 msgid "" "When the starting vertex and ending vertex are the same, there is no path." msgstr "" "Cuando el vértice inicial y el vértice final son iguales, no hay camino." -#: ../../build/doc/bdAstar-family.rst:53 +#: ../../build/doc/bdAstar-family.rst:54 msgid "The `agg_cost` the non included values `(v, v)` is `0`" msgstr "El `agg_cost` de los valores no incluídos `(v, v)` es `0`" -#: ../../build/doc/bdAstar-family.rst:55 +#: ../../build/doc/bdAstar-family.rst:56 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path:" msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay camino:" -#: ../../build/doc/bdAstar-family.rst:57 +#: ../../build/doc/bdAstar-family.rst:58 msgid "The `agg_cost` the non included values `(u, v)` is :math:`\\infty`" msgstr "El 'agg_cost' de los valores no incluídos '(u, v)' es :math: `\\infty`" -#: ../../build/doc/bdAstar-family.rst:59 +#: ../../build/doc/bdAstar-family.rst:60 msgid "Running time (worse case scenario): :math:`O((E + V) * \\log V)`" msgstr "Duración (peor de los casos): :math:`O ((E + V) * \\log V)`" -#: ../../build/doc/bdAstar-family.rst:60 +#: ../../build/doc/bdAstar-family.rst:61 msgid "" "For large graphs where there is a path bewtween the starting vertex and " "ending vertex:" @@ -136,11 +138,11 @@ msgstr "" "Para grandes gráficos donde hay un camino entre el vértice inicial y el " "vértice final:" -#: ../../build/doc/bdAstar-family.rst:62 +#: ../../build/doc/bdAstar-family.rst:63 msgid "It is expected to terminate faster than pgr_astar" msgstr "Se espera que termine más rápido que pgr_astar" -#: ../../build/doc/bdAstar-family.rst:65 +#: ../../build/doc/bdAstar-family.rst:66 msgid "Signatures" msgstr "Firmas" @@ -159,7 +161,7 @@ msgstr "" msgid "Column" msgstr "Columna" -#: ../../build/doc/bdAstar-family.rst:77 +#: ../../build/doc/bdAstar-family.rst:78 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "Tipo" @@ -172,7 +174,7 @@ msgstr "Valores predeterminados" msgid "**id**" msgstr "**id**" -#: ../../build/doc/bdAstar-family.rst:80 ../../build/doc/bdAstar-family.rst:82 +#: ../../build/doc/bdAstar-family.rst:81 ../../build/doc/bdAstar-family.rst:83 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:10 @@ -296,129 +298,130 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/bdAstar-family.rst:74 +#: ../../build/doc/bdAstar-family.rst:75 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/bdAstar-family.rst:77 +#: ../../build/doc/bdAstar-family.rst:78 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/bdAstar-family.rst:79 +#: ../../build/doc/bdAstar-family.rst:80 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/bdAstar-family.rst:79 +#: ../../build/doc/bdAstar-family.rst:80 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/bdAstar-family.rst:79 +#: ../../build/doc/bdAstar-family.rst:80 msgid "Edges SQL query as described above." msgstr "Consulta de aristas SQL como se describió anteriormente." -#: ../../build/doc/bdAstar-family.rst:80 +#: ../../build/doc/bdAstar-family.rst:81 msgid "**start_vid**" msgstr "**start_vid**" -#: ../../build/doc/bdAstar-family.rst:80 +#: ../../build/doc/bdAstar-family.rst:81 msgid "Starting vertex identifier." msgstr "Comenzando identificador de vértice." -#: ../../build/doc/bdAstar-family.rst:81 +#: ../../build/doc/bdAstar-family.rst:82 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/bdAstar-family.rst:81 ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/bdAstar-family.rst:82 ../../build/doc/bdAstar-family.rst:84 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/bdAstar-family.rst:81 +#: ../../build/doc/bdAstar-family.rst:82 msgid "Starting vertices identifierers." msgstr "Comenzando identificadores de vértices." -#: ../../build/doc/bdAstar-family.rst:82 +#: ../../build/doc/bdAstar-family.rst:83 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/bdAstar-family.rst:82 +#: ../../build/doc/bdAstar-family.rst:83 msgid "Ending vertex identifier." msgstr "Terminando identificador de vértice." -#: ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/bdAstar-family.rst:84 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/bdAstar-family.rst:84 msgid "Ending vertices identifiers." msgstr "Terminando identificadores de vértices." -#: ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:85 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:85 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:85 msgid "Optional." msgstr "Opcional." -#: ../../build/doc/bdAstar-family.rst:86 +#: ../../build/doc/bdAstar-family.rst:87 msgid "When ``false`` the graph is considered as Undirected." msgstr "Cuando ``false`` el gráfico se considera como No Dirigido" -#: ../../build/doc/bdAstar-family.rst:87 +#: ../../build/doc/bdAstar-family.rst:88 msgid "Default is ``true`` which considers the graph as Directed." msgstr "El valor predeterminado `` true`` considera el gráfico como Dirigido." -#: ../../build/doc/bdAstar-family.rst:89 +#: ../../build/doc/bdAstar-family.rst:90 msgid "**heuristic**" msgstr "**heuristic**" -#: ../../build/doc/bdAstar-family.rst:89 +#: ../../build/doc/bdAstar-family.rst:90 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/bdAstar-family.rst:89 +#: ../../build/doc/bdAstar-family.rst:90 msgid "(optional). Heuristic number. Current valid values 0~5. Default ``5``" msgstr "" "(opcional). Número heurístico. Valores válidos actuales 0~5. Predeterminado " "``5``" -#: ../../build/doc/bdAstar-family.rst:91 +#: ../../build/doc/bdAstar-family.rst:92 msgid "0: h(v) = 0 (Use this value to compare with pgr_dijkstra)" msgstr "0: h(v) = 0 (utilizar este valor para comparar con pgr_dijkstra)" -#: ../../build/doc/bdAstar-family.rst:92 +#: ../../build/doc/bdAstar-family.rst:93 msgid "1: h(v) abs(max(dx, dy))" msgstr "1: h(v) abs(max(dx, dy))" -#: ../../build/doc/bdAstar-family.rst:93 +#: ../../build/doc/bdAstar-family.rst:94 msgid "2: h(v) abs(min(dx, dy))" msgstr "2: h(v) abs(min(dx, dy))" -#: ../../build/doc/bdAstar-family.rst:94 +#: ../../build/doc/bdAstar-family.rst:95 msgid "3: h(v) = dx * dx + dy * dy" msgstr "3: h(v) = dx * dx + dy * dy" -#: ../../build/doc/bdAstar-family.rst:95 +#: ../../build/doc/bdAstar-family.rst:96 msgid "4: h(v) = sqrt(dx * dx + dy * dy)" msgstr "4: h(v) = sqrt(dx * dx + dy * dy)" -#: ../../build/doc/bdAstar-family.rst:96 +#: ../../build/doc/bdAstar-family.rst:97 msgid "5: h(v) = abs(dx) + abs(dy)" msgstr "5: h(v) = abs(dx) + abs(dy)" -#: ../../build/doc/bdAstar-family.rst:98 +#: ../../build/doc/bdAstar-family.rst:99 msgid "**factor**" msgstr "**factor**" -#: ../../build/doc/bdAstar-family.rst:98 ../../build/doc/bdAstar-family.rst:99 +#: ../../build/doc/bdAstar-family.rst:99 +#: ../../build/doc/bdAstar-family.rst:100 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/bdAstar-family.rst:98 +#: ../../build/doc/bdAstar-family.rst:99 msgid "" "(optional). For units manipulation. :math:`factor > 0`. Default ``1``. see " ":ref:`astar_factor`" @@ -426,11 +429,11 @@ msgstr "" "(opcional). Para la manipulación de unidades. :math:`factor > 0`. Predeterminado ``1``. \n" "Ver :ref:`astar_factor`" -#: ../../build/doc/bdAstar-family.rst:99 +#: ../../build/doc/bdAstar-family.rst:100 msgid "**epsilon**" msgstr "**epsilon**" -#: ../../build/doc/bdAstar-family.rst:99 +#: ../../build/doc/bdAstar-family.rst:100 msgid "" "(optional). For less restricted results. :math:`epsilon >= 1`. Default " "``1``." @@ -438,27 +441,18 @@ msgstr "" "(opcional). Para resultados menos restringidos. :math:`epsilon >= 1`. " "Predeterminado '' 1''." -#: ../../build/doc/bdAstar-family.rst:105 +#: ../../build/doc/bdAstar-family.rst:106 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/bdAstar-family.rst:108 +#: ../../build/doc/bdAstar-family.rst:109 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/bdAstar-family.rst:109 +#: ../../build/doc/bdAstar-family.rst:110 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/bdAstar-family.rst:110 +#: ../../build/doc/bdAstar-family.rst:111 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/bdDijkstra-family.po b/locale/es/LC_MESSAGES/bdDijkstra-family.po index 10184eb2b5f..a676cfcc2a4 100644 --- a/locale/es/LC_MESSAGES/bdDijkstra-family.po +++ b/locale/es/LC_MESSAGES/bdDijkstra-family.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -58,15 +58,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/bdDijkstra-family.rst:30 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/bdDijkstra-family.rst:34 +#: ../../build/doc/bdDijkstra-family.rst:35 msgid "" "**Unsupported versions:** `2.5 `__" @@ -74,11 +76,11 @@ msgstr "" "**Versiones no soportadas:** `2.5 `__" -#: ../../build/doc/bdDijkstra-family.rst:39 +#: ../../build/doc/bdDijkstra-family.rst:40 msgid "Synopsis" msgstr "Sinopsis" -#: ../../build/doc/bdDijkstra-family.rst:41 +#: ../../build/doc/bdDijkstra-family.rst:42 msgid "" "Based on Dijkstra's algorithm, the bidirectional search finds a shortest " "path a starting vertex (``start_vid``) to an ending vertex (``end_vid``). It" @@ -93,48 +95,48 @@ msgstr "" " el medio. Esta implementación puede utilizarse con un gráfico dirigido y " "uno no dirigido." -#: ../../build/doc/bdDijkstra-family.rst:48 +#: ../../build/doc/bdDijkstra-family.rst:49 msgid "Characteristics" msgstr "Características" -#: ../../build/doc/bdDijkstra-family.rst:51 +#: ../../build/doc/bdDijkstra-family.rst:52 msgid "The main Characteristics are:" msgstr "Las características principales son:" -#: ../../build/doc/bdDijkstra-family.rst:55 +#: ../../build/doc/bdDijkstra-family.rst:56 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/bdDijkstra-family.rst:56 +#: ../../build/doc/bdDijkstra-family.rst:57 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/bdDijkstra-family.rst:58 +#: ../../build/doc/bdDijkstra-family.rst:59 msgid "" "When the starting vertex and ending vertex are the same, there is no path." msgstr "" "Cuando el vértice inicial y el vértice final son iguales, no hay camino." -#: ../../build/doc/bdDijkstra-family.rst:60 +#: ../../build/doc/bdDijkstra-family.rst:61 msgid "The `agg_cost` the non included values `(v, v)` is `0`" msgstr "El `agg_cost` de los valores no incluídos `(v, v)` es `0`" -#: ../../build/doc/bdDijkstra-family.rst:62 +#: ../../build/doc/bdDijkstra-family.rst:63 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path:" msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay camino:" -#: ../../build/doc/bdDijkstra-family.rst:64 +#: ../../build/doc/bdDijkstra-family.rst:65 msgid "The `agg_cost` the non included values `(u, v)` is :math:`\\infty`" msgstr "El 'agg_cost' de los valores no incluídos '(u, v)' es :math: `\\infty`" -#: ../../build/doc/bdDijkstra-family.rst:66 +#: ../../build/doc/bdDijkstra-family.rst:67 msgid "Running time (worse case scenario): :math:`O((V \\log V + E))`" msgstr "Tiempo de ejecución (peor de los casos): :math:`O((V \\log V + E))`" -#: ../../build/doc/bdDijkstra-family.rst:67 +#: ../../build/doc/bdDijkstra-family.rst:68 msgid "" "For large graphs where there is a path bewtween the starting vertex and " "ending vertex:" @@ -142,31 +144,22 @@ msgstr "" "Para grandes gráficos donde hay un camino entre el vértice inicial y el " "vértice final:" -#: ../../build/doc/bdDijkstra-family.rst:69 +#: ../../build/doc/bdDijkstra-family.rst:70 msgid "It is expected to terminate faster than pgr_dijkstra" msgstr "Se espera que termine más rápido que pgr_dijkstra" -#: ../../build/doc/bdDijkstra-family.rst:74 +#: ../../build/doc/bdDijkstra-family.rst:75 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/bdDijkstra-family.rst:77 +#: ../../build/doc/bdDijkstra-family.rst:78 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/bdDijkstra-family.rst:78 +#: ../../build/doc/bdDijkstra-family.rst:79 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/bdDijkstra-family.rst:79 +#: ../../build/doc/bdDijkstra-family.rst:80 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po b/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po index ff99447a5eb..f3f6b692705 100644 --- a/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po +++ b/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -111,70 +111,72 @@ msgstr "Versiones de esta página" #: ../../build/doc/chinesePostmanProblem-family.rst:32 msgid "" -"**Supported versions:** current(`3.0 `__)" +"**Supported versions:** current(`3.1 `__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__)" +"**Versiones soportadas:** actual(`3.1 `__) `3.0 " +"`__" -#: ../../build/doc/chinesePostmanProblem-family.rst:37 -#: ../../build/doc/chinesePostmanProblem-family.rst:55 +#: ../../build/doc/chinesePostmanProblem-family.rst:38 +#: ../../build/doc/chinesePostmanProblem-family.rst:56 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Description" msgstr "Descripción" -#: ../../build/doc/chinesePostmanProblem-family.rst:41 +#: ../../build/doc/chinesePostmanProblem-family.rst:42 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/chinesePostmanProblem-family.rst:43 +#: ../../build/doc/chinesePostmanProblem-family.rst:44 msgid "Process is done only on edges with **positive** costs." msgstr "El proceso se realiza solo en bordes con costos **positivos**." -#: ../../build/doc/chinesePostmanProblem-family.rst:44 +#: ../../build/doc/chinesePostmanProblem-family.rst:45 msgid "Running time: :math:`O(E * (E + V * logV))`" msgstr "Tiempo de ejecución: :math:`O(E * (E + V * logV))`" -#: ../../build/doc/chinesePostmanProblem-family.rst:45 +#: ../../build/doc/chinesePostmanProblem-family.rst:46 msgid "Graph must be connected." msgstr "El grafo debe estar conectado." -#: ../../build/doc/chinesePostmanProblem-family.rst:50 +#: ../../build/doc/chinesePostmanProblem-family.rst:51 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/chinesePostmanProblem-family.rst:55 +#: ../../build/doc/chinesePostmanProblem-family.rst:56 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "Columna" -#: ../../build/doc/chinesePostmanProblem-family.rst:55 +#: ../../build/doc/chinesePostmanProblem-family.rst:56 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Type" msgstr "Tipo" -#: ../../build/doc/chinesePostmanProblem-family.rst:55 +#: ../../build/doc/chinesePostmanProblem-family.rst:56 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/chinesePostmanProblem-family.rst:57 +#: ../../build/doc/chinesePostmanProblem-family.rst:58 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/chinesePostmanProblem-family.rst:57 +#: ../../build/doc/chinesePostmanProblem-family.rst:58 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/chinesePostmanProblem-family.rst:57 +#: ../../build/doc/chinesePostmanProblem-family.rst:58 msgid "The edges SQL query as described in `Inner query`_." msgstr "La consulta SQL de aristas como se describe en `Inner query`_." -#: ../../build/doc/chinesePostmanProblem-family.rst:64 +#: ../../build/doc/chinesePostmanProblem-family.rst:65 msgid "Inner query" msgstr "Consulta interna" -#: ../../build/doc/chinesePostmanProblem-family.rst:68 +#: ../../build/doc/chinesePostmanProblem-family.rst:69 msgid "" "An Edges SQL that represents a **directed** graph with the following columns" msgstr "" @@ -272,25 +274,18 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/chinesePostmanProblem-family.rst:77 +#: ../../build/doc/chinesePostmanProblem-family.rst:78 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/chinesePostmanProblem-family.rst:80 +#: ../../build/doc/chinesePostmanProblem-family.rst:81 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/chinesePostmanProblem-family.rst:81 +#: ../../build/doc/chinesePostmanProblem-family.rst:82 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/chinesePostmanProblem-family.rst:82 +#: ../../build/doc/chinesePostmanProblem-family.rst:83 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__)" diff --git a/locale/es/LC_MESSAGES/components-family.po b/locale/es/LC_MESSAGES/components-family.po index 19f5652965b..28695fc1bbb 100644 --- a/locale/es/LC_MESSAGES/components-family.po +++ b/locale/es/LC_MESSAGES/components-family.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: +# Vicky Vergara , 2019 # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2019 -# Vicky Vergara , 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -69,15 +69,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/components-family.rst:36 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/components-family.rst:40 +#: ../../build/doc/components-family.rst:41 msgid "" "**Unsupported versions:** `2.5 `__" @@ -85,15 +87,15 @@ msgstr "" "**Versiones no soportadas:** `2.5 `__" -#: ../../build/doc/components-family.rst:45 +#: ../../build/doc/components-family.rst:46 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/components-family.rst:50 +#: ../../build/doc/components-family.rst:51 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/components-family.rst:50 +#: ../../build/doc/components-family.rst:51 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_articulationPoints.rst:6 #: ../../build/doc/pgr_biconnectedComponents.rst:6 @@ -102,12 +104,12 @@ msgstr "Parámetro" msgid "Type" msgstr "Tipo" -#: ../../build/doc/components-family.rst:50 +#: ../../build/doc/components-family.rst:51 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/components-family.rst:50 +#: ../../build/doc/components-family.rst:51 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_articulationPoints.rst:6 #: ../../build/doc/pgr_biconnectedComponents.rst:6 @@ -116,19 +118,19 @@ msgstr "Valores predeterminados" msgid "Description" msgstr "Descripción" -#: ../../build/doc/components-family.rst:52 +#: ../../build/doc/components-family.rst:53 msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/components-family.rst:52 +#: ../../build/doc/components-family.rst:53 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/components-family.rst:52 +#: ../../build/doc/components-family.rst:53 msgid "Inner query as described below." msgstr "Consulta interna como se describe a continuación." -#: ../../build/doc/components-family.rst:58 +#: ../../build/doc/components-family.rst:59 msgid "Inner query" msgstr "Consulta interna" @@ -136,7 +138,7 @@ msgstr "Consulta interna" msgid "Edges SQL" msgstr "Edges SQL" -#: ../../build/doc/components-family.rst:60 +#: ../../build/doc/components-family.rst:61 msgid "" "an SQL query which should return a set of rows with the following columns:" msgstr "" @@ -243,11 +245,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/components-family.rst:67 +#: ../../build/doc/components-family.rst:68 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/components-family.rst:70 +#: ../../build/doc/components-family.rst:71 msgid "pgr_connectedComponents & pgr_strongComponents" msgstr "pgr_connectedComponents & pgr_strongComponents" @@ -298,7 +300,7 @@ msgstr "**node**" msgid "Identifier of the vertex that belongs to **component**." msgstr "Identificador del vértice que pertenece a **componente**." -#: ../../build/doc/components-family.rst:78 +#: ../../build/doc/components-family.rst:79 msgid "pgr_biconnectedComponents" msgstr "pgr_biconnectedComponents" @@ -319,7 +321,7 @@ msgstr "" msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/components-family.rst:85 +#: ../../build/doc/components-family.rst:86 msgid "pgr_articulationPoints" msgstr "pgr_articulationPoints" @@ -331,7 +333,7 @@ msgstr "Devuelve el conjunto de ``(node)``" msgid "Identifier of the vertex." msgstr "Identificador del vértice." -#: ../../build/doc/components-family.rst:92 +#: ../../build/doc/components-family.rst:93 msgid "pgr_bridges" msgstr "pgr_bridges" @@ -343,30 +345,18 @@ msgstr "Devuelve el conjunto de ``(edge)``" msgid "Identifier of the edge that is a bridge." msgstr "Identificador del borde que es un puente." -#: ../../build/doc/components-family.rst:100 +#: ../../build/doc/components-family.rst:101 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/components-family.rst:103 +#: ../../build/doc/components-family.rst:104 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/components-family.rst:104 +#: ../../build/doc/components-family.rst:105 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/components-family.rst:105 +#: ../../build/doc/components-family.rst:106 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "Inner query as described bellow." -#~ msgstr "Consulta interna como se describe a continuación." - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/contraction-family.po b/locale/es/LC_MESSAGES/contraction-family.po index 62c9e52a0e9..c0c9d3ad560 100644 --- a/locale/es/LC_MESSAGES/contraction-family.po +++ b/locale/es/LC_MESSAGES/contraction-family.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# MarPetra , 2019 # Vicky Vergara , 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,15 +37,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/contraction-family.rst:27 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/contraction-family.rst:31 +#: ../../build/doc/contraction-family.rst:32 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__" -#: ../../build/doc/contraction-family.rst:39 +#: ../../build/doc/contraction-family.rst:40 msgid "Introduction" msgstr "Introducción" -#: ../../build/doc/contraction-family.rst:41 +#: ../../build/doc/contraction-family.rst:42 msgid "" "In large graphs, like the road graphs, or electric networks, graph " "contraction can be used to speed up some graph algorithms. Contraction " @@ -80,7 +82,7 @@ msgstr "" "de las aristas originales disminuyendo el tiempo total y el espacio " "utilizados en los algoritmos de grafos." -#: ../../build/doc/contraction-family.rst:47 +#: ../../build/doc/contraction-family.rst:48 msgid "" "This implementation gives a flexible framework for adding contraction " "algorithms in the future, currently, it supports two algorithms:" @@ -88,25 +90,25 @@ msgstr "" "Esta implementación proporciona un marco flexible para agregar algoritmos de" " contracción en el futuro, actualmente, admite dos algoritmos:" -#: ../../build/doc/contraction-family.rst:50 -#: ../../build/doc/contraction-family.rst:60 +#: ../../build/doc/contraction-family.rst:51 +#: ../../build/doc/contraction-family.rst:61 msgid "Dead end contraction" msgstr "Contracción sin salida" -#: ../../build/doc/contraction-family.rst:51 -#: ../../build/doc/contraction-family.rst:213 +#: ../../build/doc/contraction-family.rst:52 +#: ../../build/doc/contraction-family.rst:214 msgid "Linear contraction" msgstr "Contracción lineal" -#: ../../build/doc/contraction-family.rst:53 +#: ../../build/doc/contraction-family.rst:54 msgid "Allowing the user to:" msgstr "Permitiendo que el usuario:" -#: ../../build/doc/contraction-family.rst:55 +#: ../../build/doc/contraction-family.rst:56 msgid "Forbid contraction on a set of nodes." msgstr "Prohíba la contracción en un conjunto de nodos." -#: ../../build/doc/contraction-family.rst:56 +#: ../../build/doc/contraction-family.rst:57 msgid "" "Decide the order of the contraction algorithms and set the maximum number of" " times they are to be executed." @@ -114,41 +116,41 @@ msgstr "" "Decida el orden de los algoritmos de contracción y establezca el número " "máximo de veces que se van a ejecutar." -#: ../../build/doc/contraction-family.rst:61 +#: ../../build/doc/contraction-family.rst:62 msgid "In the algorithm, dead end contraction is represented by 1." msgstr "En el algoritmo, la contracción sin salida se representa mediante 1." -#: ../../build/doc/contraction-family.rst:64 +#: ../../build/doc/contraction-family.rst:65 msgid "Dead end" msgstr "Sin salida" -#: ../../build/doc/contraction-family.rst:66 +#: ../../build/doc/contraction-family.rst:67 msgid "" "In case of an undirected graph, a node is considered a `dead end` node when" msgstr "" "En el caso de un grafo no dirigido, un nodo se considera `dead end` (sin " "salida) " -#: ../../build/doc/contraction-family.rst:68 -#: ../../build/doc/contraction-family.rst:72 +#: ../../build/doc/contraction-family.rst:69 +#: ../../build/doc/contraction-family.rst:73 msgid "`The number of adjacent vertices is 1.`_" msgstr "`El número de vértices adyacentes es 1.`_" -#: ../../build/doc/contraction-family.rst:70 +#: ../../build/doc/contraction-family.rst:71 msgid "" "In case of a directed graph, a node is considered a `dead end` node when" msgstr "" "En el caso de un grafo dirigido, un nodo se considera 'sin salida' cuando" -#: ../../build/doc/contraction-family.rst:74 +#: ../../build/doc/contraction-family.rst:75 msgid "`There are no outgoing edges and has at least one incoming edge.`_" msgstr "`No hay aristas salientes y tiene al menos un arista entrante.`_" -#: ../../build/doc/contraction-family.rst:75 +#: ../../build/doc/contraction-family.rst:76 msgid "`There are no incoming edges and has at least one outgoing edge.`_" msgstr "`No hay bordes entrantes y tiene al menos una arista saliente.`_" -#: ../../build/doc/contraction-family.rst:78 +#: ../../build/doc/contraction-family.rst:79 msgid "" "When the conditions are true then the `Operation: Dead End Contraction`_ can" " be done." @@ -156,53 +158,53 @@ msgstr "" "Cuando las condiciones son verdaderas, se puede hacer la `Operation: Dead " "End Contraction`_" -#: ../../build/doc/contraction-family.rst:81 +#: ../../build/doc/contraction-family.rst:82 msgid "The number of adjacent vertices is 1." msgstr "El número de vértices adyacentes es 1." -#: ../../build/doc/contraction-family.rst:83 -#: ../../build/doc/contraction-family.rst:121 -#: ../../build/doc/contraction-family.rst:143 -msgid "The green nodes are `dead end`_ nodes" -msgstr "Los nodos verdes son nodos `dead end`_" - #: ../../build/doc/contraction-family.rst:84 #: ../../build/doc/contraction-family.rst:122 #: ../../build/doc/contraction-family.rst:144 -#: ../../build/doc/contraction-family.rst:233 +msgid "The green nodes are `dead end`_ nodes" +msgstr "Los nodos verdes son nodos `dead end`_" + +#: ../../build/doc/contraction-family.rst:85 +#: ../../build/doc/contraction-family.rst:123 +#: ../../build/doc/contraction-family.rst:145 +#: ../../build/doc/contraction-family.rst:234 msgid "" "The blue nodes have an unlimited number of incoming and outgoing edges." msgstr "" "Los nodos azules tienen un número ilimitado de aristas entrantes y " "salientes." -#: ../../build/doc/contraction-family.rst:87 -#: ../../build/doc/contraction-family.rst:125 -#: ../../build/doc/contraction-family.rst:148 +#: ../../build/doc/contraction-family.rst:88 +#: ../../build/doc/contraction-family.rst:126 +#: ../../build/doc/contraction-family.rst:149 msgid "Directed graph" msgstr "Grafo dirigido" -#: ../../build/doc/contraction-family.rst:102 +#: ../../build/doc/contraction-family.rst:103 msgid "Undirected graph" msgstr "Grafo no dirigido" -#: ../../build/doc/contraction-family.rst:119 +#: ../../build/doc/contraction-family.rst:120 msgid "There are no outgoing edges and has at least one incoming edge." msgstr "No hay aristas salientes y tiene al menos una arista entrante." -#: ../../build/doc/contraction-family.rst:141 +#: ../../build/doc/contraction-family.rst:142 msgid "There are no incoming edges and has at least one outgoing edge." msgstr "No hay aristas entrantes y tiene al menos una arista saliente." -#: ../../build/doc/contraction-family.rst:145 +#: ../../build/doc/contraction-family.rst:146 msgid "Considering that the nodes are `dead starts` nodes" msgstr "Teniendo en cuenta que los nodos son `dead starts` (sin comienzo)" -#: ../../build/doc/contraction-family.rst:165 +#: ../../build/doc/contraction-family.rst:166 msgid "Operation: Dead End Contraction" msgstr "Operación: Contracción sin salida" -#: ../../build/doc/contraction-family.rst:167 +#: ../../build/doc/contraction-family.rst:168 msgid "" "The dead end contraction will stop until there are no more dead end nodes. " "For example from the following graph where ``w`` is the `dead end`_ node:" @@ -210,7 +212,7 @@ msgstr "" "La contracción sin salida se detendrá hasta que no haya más nodos sin " "salida. Por ejemplo, del siguiente grafo donde ``w`` es el nodo `dead end`_:" -#: ../../build/doc/contraction-family.rst:183 +#: ../../build/doc/contraction-family.rst:184 msgid "" "After contracting ``w``, node ``v`` is now a `dead end`_ node and is " "contracted:" @@ -218,7 +220,7 @@ msgstr "" "Después de contraer ``w``, el nodo ``v`` es ahora un nodo `dead end`_ y es " "contraído:" -#: ../../build/doc/contraction-family.rst:197 +#: ../../build/doc/contraction-family.rst:198 msgid "" "After contracting ``v``, stop. Node ``u`` has the information of nodes that " "were contrcted." @@ -226,59 +228,59 @@ msgstr "" "Después de contraer ``v``, deténgase. El nodo ``u`` tiene la información de" " los nodos que se contraen." -#: ../../build/doc/contraction-family.rst:209 +#: ../../build/doc/contraction-family.rst:210 msgid "Node ``u`` has the information of nodes that were contracted." msgstr "El nodo ``u`` tiene la información de los nodos que se contrajeron." -#: ../../build/doc/contraction-family.rst:214 +#: ../../build/doc/contraction-family.rst:215 msgid "In the algorithm, linear contraction is represented by 2." msgstr "En el algoritmo, la contracción lineal es representada con un 2." -#: ../../build/doc/contraction-family.rst:217 +#: ../../build/doc/contraction-family.rst:218 msgid "Linear" msgstr "Lineal" -#: ../../build/doc/contraction-family.rst:219 +#: ../../build/doc/contraction-family.rst:220 msgid "" "In case of an undirected graph, a node is considered a `linear` node when" msgstr "" "En el caso de un grafo no dirigido, un nodo se considera un nodo `lineal` " "cuando" -#: ../../build/doc/contraction-family.rst:221 -#: ../../build/doc/contraction-family.rst:225 +#: ../../build/doc/contraction-family.rst:222 +#: ../../build/doc/contraction-family.rst:226 msgid "`The number of adjacent vertices is 2.`_" msgstr "`El número de vértices adyacentes es 2.`_" -#: ../../build/doc/contraction-family.rst:223 +#: ../../build/doc/contraction-family.rst:224 msgid "In case of a directed graph, a node is considered a `linear` node when" msgstr "En el caso de un grafo dirigido, un nodo se considera `lineal` cuando" -#: ../../build/doc/contraction-family.rst:227 +#: ../../build/doc/contraction-family.rst:228 msgid "`Linearity is symmetrical`_" msgstr "`La linealidad es simétrica`_" -#: ../../build/doc/contraction-family.rst:230 +#: ../../build/doc/contraction-family.rst:231 msgid "The number of adjacent vertices is 2." msgstr "El número de vértices adyacentes es 2." -#: ../../build/doc/contraction-family.rst:232 +#: ../../build/doc/contraction-family.rst:233 msgid "The green nodes are `linear`_ nodes" msgstr "Los nodos verdes son `lineales`_" -#: ../../build/doc/contraction-family.rst:236 +#: ../../build/doc/contraction-family.rst:237 msgid "Directed" msgstr "Dirigido" -#: ../../build/doc/contraction-family.rst:252 +#: ../../build/doc/contraction-family.rst:253 msgid "Undirected" msgstr "No dirigido" -#: ../../build/doc/contraction-family.rst:266 +#: ../../build/doc/contraction-family.rst:267 msgid "Linearity is symmetrical" msgstr "La linealidad es simétrica" -#: ../../build/doc/contraction-family.rst:268 +#: ../../build/doc/contraction-family.rst:269 msgid "" "Using a contra example, vertex ``v`` is not linear because it's not possible" " to go from ``w`` to ``u`` via ``v``." @@ -286,11 +288,11 @@ msgstr "" "Usando un contra ejemplo, el vértice ``v`` no es lineal porque no es posible" " pasar de ``w`` a ``u`` a través de ``v``." -#: ../../build/doc/contraction-family.rst:283 +#: ../../build/doc/contraction-family.rst:284 msgid "Operation: Linear Contraction" msgstr "Operación: Contracción Lineal" -#: ../../build/doc/contraction-family.rst:285 +#: ../../build/doc/contraction-family.rst:286 msgid "" "The linear contraction will stop until there are no more linear nodes. For " "example from the following graph where ``v`` and ``w`` are `linear`_ nodes:" @@ -298,15 +300,15 @@ msgstr "" "La contracción lineal se detendrá hasta que no haya más nodos lineales. Por " "ejemplo, en el siguiente grafo donde ``v`` y ``w`` son nodos `lineales`_ :" -#: ../../build/doc/contraction-family.rst:300 +#: ../../build/doc/contraction-family.rst:301 msgid "After contracting ``w``," msgstr "Después de contraer ``w``," -#: ../../build/doc/contraction-family.rst:302 +#: ../../build/doc/contraction-family.rst:303 msgid "The vertex ``w`` is removed from the graph" msgstr "El vértice ``w`` se elimina del grafo" -#: ../../build/doc/contraction-family.rst:304 +#: ../../build/doc/contraction-family.rst:305 msgid "" "The edges :math:`v \\rightarrow w` and :math:`w \\rightarrow z` are removed" " from the graph." @@ -314,22 +316,22 @@ msgstr "" "Los aristas :math:`v \\rightarrow w` y :math:`w \\rightarrow z` fueron " "eliminados del grafo." -#: ../../build/doc/contraction-family.rst:306 +#: ../../build/doc/contraction-family.rst:307 msgid "" "A new edge :math:`v \\rightarrow z` is inserted represented with red color." msgstr "" "Se inserta un nuevo arista :math:`v \\rightarrow z` y se representa con " "color rojo." -#: ../../build/doc/contraction-family.rst:321 +#: ../../build/doc/contraction-family.rst:322 msgid "Contracting ``v``:" msgstr "Contracción ``v``:" -#: ../../build/doc/contraction-family.rst:323 +#: ../../build/doc/contraction-family.rst:324 msgid "The vertex ``v`` is removed from the graph" msgstr "El vértice ``v`` se elimina del grafo" -#: ../../build/doc/contraction-family.rst:325 +#: ../../build/doc/contraction-family.rst:326 msgid "" "The edges :math:`u \\rightarrow v` and :math:`v \\rightarrow z` are removed" " from the graph." @@ -337,14 +339,14 @@ msgstr "" "Los aristas :math:`u \\rightarrow v` y :math:`v \\rightarrow z` son " "removidos del grafo." -#: ../../build/doc/contraction-family.rst:327 +#: ../../build/doc/contraction-family.rst:328 msgid "" "A new edge :math:`u \\rightarrow z` is inserted represented with red color." msgstr "" "Se inserta un nuevo arista :math:`u \\rightarrow z` y se representa con " "color rojo. " -#: ../../build/doc/contraction-family.rst:341 +#: ../../build/doc/contraction-family.rst:342 msgid "" "Edge :math:`u \\rightarrow z` has the information of nodes that were " "contracted." @@ -352,11 +354,11 @@ msgstr "" "El arista :math:`u \\rightarrow z` tiene la información de los nodos que " "fueron contraídos." -#: ../../build/doc/contraction-family.rst:345 +#: ../../build/doc/contraction-family.rst:346 msgid "The cycle" msgstr "El ciclo" -#: ../../build/doc/contraction-family.rst:347 +#: ../../build/doc/contraction-family.rst:348 msgid "" "Contracting a graph, can be done with more than one operation. The order of " "the operations affect the resulting contracted graph, after applying one " @@ -368,7 +370,7 @@ msgstr "" "operación, el conjunto de vértices que se pueden contraer con otra operación" " cambia." -#: ../../build/doc/contraction-family.rst:352 +#: ../../build/doc/contraction-family.rst:353 msgid "" "This implementation, cycles ``max_cycles`` times through " "``operations_order`` ." @@ -376,11 +378,11 @@ msgstr "" "Esta implementación alterna los tiempos `` max_cycles`` a través de `` " "operations_order``." -#: ../../build/doc/contraction-family.rst:365 +#: ../../build/doc/contraction-family.rst:366 msgid "Contracting Sample Data" msgstr "Contracción de Datos de Muestra" -#: ../../build/doc/contraction-family.rst:367 +#: ../../build/doc/contraction-family.rst:368 msgid "" "In this section, building and using a contracted graph will be shown by " "example." @@ -388,23 +390,23 @@ msgstr "" "En esta sección, la creación y el uso de un grafo contraído se mostrarán en " "el ejemplo." -#: ../../build/doc/contraction-family.rst:369 +#: ../../build/doc/contraction-family.rst:370 msgid "The :doc:`sampledata` for an undirected graph is used" msgstr "Se usa :doc:`sampledata` para un grafo no dirigido." -#: ../../build/doc/contraction-family.rst:370 +#: ../../build/doc/contraction-family.rst:371 msgid "a dead end operation first followed by a linear operation." msgstr "una operación sin salida primero seguida de una operación lineal." -#: ../../build/doc/contraction-family.rst:376 +#: ../../build/doc/contraction-family.rst:377 msgid "Construction of the graph in the database" msgstr "Construcción del grafo en la base de datos" -#: ../../build/doc/contraction-family.rst:379 +#: ../../build/doc/contraction-family.rst:380 msgid "Original Data" msgstr "Datos Originales" -#: ../../build/doc/contraction-family.rst:380 +#: ../../build/doc/contraction-family.rst:381 msgid "" "The following query shows the original data involved in the contraction " "operation." @@ -412,15 +414,15 @@ msgstr "" "La siguiente consulta muestra los datos originales implicados en la " "operación de contracción." -#: ../../build/doc/contraction-family.rst:386 +#: ../../build/doc/contraction-family.rst:387 msgid "The original graph:" msgstr "El grafo original:" -#: ../../build/doc/contraction-family.rst:392 +#: ../../build/doc/contraction-family.rst:393 msgid "Contraction Results" msgstr "Resultados de la Contracción" -#: ../../build/doc/contraction-family.rst:394 +#: ../../build/doc/contraction-family.rst:395 msgid "" "The results do not represent the contracted graph. They represent the " "changes done to the graph after applying the contraction algorithm." @@ -428,7 +430,7 @@ msgstr "" "Los resultados no representan al grafo contraído. Representan los cambios " "realizados en el grafo después de aplicar el algoritmo de contracción." -#: ../../build/doc/contraction-family.rst:397 +#: ../../build/doc/contraction-family.rst:398 msgid "" "Observe that vertices, for example, :math:`6` do not appear in the results " "because it was not affected by the contraction algorithm." @@ -436,36 +438,36 @@ msgstr "" "Observe que los vértices, por ejemplo, :math:`6` , no aparecen en los " "resultados porque no se vieron afectados por el algoritmo de contracción." -#: ../../build/doc/contraction-family.rst:404 +#: ../../build/doc/contraction-family.rst:405 msgid "After doing the dead end contraction operation:" msgstr "Después de realizar la operación de contracción sin salida:" -#: ../../build/doc/contraction-family.rst:409 +#: ../../build/doc/contraction-family.rst:410 msgid "After doing the linear contraction operation to the graph above:" msgstr "" "Después de hacer la operación de contracción lineal al grafo anterior:" -#: ../../build/doc/contraction-family.rst:414 +#: ../../build/doc/contraction-family.rst:415 msgid "The process to create the contraction graph on the database:" msgstr "El proceso para crear el grafo de contracción en la base de datos:" -#: ../../build/doc/contraction-family.rst:416 +#: ../../build/doc/contraction-family.rst:417 msgid "`Add additional columns`_" msgstr "`Añadir columnas adicionales`_" -#: ../../build/doc/contraction-family.rst:417 +#: ../../build/doc/contraction-family.rst:418 msgid "`Store contraction information`_" msgstr "`Almacenar información de la contracción`_" -#: ../../build/doc/contraction-family.rst:418 +#: ../../build/doc/contraction-family.rst:419 msgid "`Update the vertices and edge tables`_" msgstr "`Actualizar los vértices y tablas de aristas`_" -#: ../../build/doc/contraction-family.rst:422 +#: ../../build/doc/contraction-family.rst:423 msgid "Add additional columns" msgstr "Añadir columnas adicionales" -#: ../../build/doc/contraction-family.rst:424 +#: ../../build/doc/contraction-family.rst:425 msgid "" "Adding extra columns to the ``edge_table`` and ``edge_table_vertices_pgr`` " "tables, where:" @@ -473,31 +475,31 @@ msgstr "" "Adición de columnas adicionales a las tablas ``edge_table`` y " "``edge_table_vertices_pgr`` donde:" -#: ../../build/doc/contraction-family.rst:427 +#: ../../build/doc/contraction-family.rst:428 msgid "Column" msgstr "Columna" -#: ../../build/doc/contraction-family.rst:427 +#: ../../build/doc/contraction-family.rst:428 msgid "Description" msgstr "Descripción" -#: ../../build/doc/contraction-family.rst:429 +#: ../../build/doc/contraction-family.rst:430 msgid "**contracted_vertices**" msgstr "**contracted_vertices**" -#: ../../build/doc/contraction-family.rst:429 +#: ../../build/doc/contraction-family.rst:430 msgid "The vertices set belonging to the vertex/edge" msgstr "El conjunto de vértices que pertenecen al vértice/arista " -#: ../../build/doc/contraction-family.rst:430 +#: ../../build/doc/contraction-family.rst:431 msgid "**is_contracted**" msgstr "**is_contracted**" -#: ../../build/doc/contraction-family.rst:430 +#: ../../build/doc/contraction-family.rst:431 msgid "On the `vertex` table" msgstr "En la tabla `vértice`" -#: ../../build/doc/contraction-family.rst:432 +#: ../../build/doc/contraction-family.rst:433 msgid "" "when ``true`` the vertex is contracted, its not part of the contracted " "graph." @@ -505,22 +507,22 @@ msgstr "" "En caso de ''true'' se contrae el vértice, no forma parte del grafo " "contraído." -#: ../../build/doc/contraction-family.rst:433 +#: ../../build/doc/contraction-family.rst:434 msgid "" "when ``false`` the vertex is not contracted, its part of the contracted " "graph." msgstr "" "En caso de ''false'' el vértice no se contrae, su parte del grafo contraído." -#: ../../build/doc/contraction-family.rst:435 +#: ../../build/doc/contraction-family.rst:436 msgid "**is_new**" msgstr "**is_new**" -#: ../../build/doc/contraction-family.rst:435 +#: ../../build/doc/contraction-family.rst:436 msgid "On the `edge` table:" msgstr "En la tabla `edge`:" -#: ../../build/doc/contraction-family.rst:437 +#: ../../build/doc/contraction-family.rst:438 msgid "" "when ``true`` the edge was generated by the contraction algorithm. its part " "of the contracted graph." @@ -528,7 +530,7 @@ msgstr "" "En caso de `` true``, la arista se generó por el algoritmo de contracción. " "Es parte del grafo contraído." -#: ../../build/doc/contraction-family.rst:438 +#: ../../build/doc/contraction-family.rst:439 msgid "" "when ``false`` the edge is an original edge, might be or not part of the " "contracted graph." @@ -536,23 +538,23 @@ msgstr "" "En caso de ``false`` , la arista es una arista original, podría ser o no " "parte del grafo contraído." -#: ../../build/doc/contraction-family.rst:449 +#: ../../build/doc/contraction-family.rst:450 msgid "Store contraction information" msgstr "Almacenar información de contracción" -#: ../../build/doc/contraction-family.rst:451 +#: ../../build/doc/contraction-family.rst:452 msgid "Store the `contraction results`_ in a table" msgstr "Almacenar los `resultados de la contracción`_ en una tabla" -#: ../../build/doc/contraction-family.rst:458 +#: ../../build/doc/contraction-family.rst:459 msgid "Update the vertices and edge tables" msgstr "Actualizar los vértices y las tablas de aristas" -#: ../../build/doc/contraction-family.rst:461 +#: ../../build/doc/contraction-family.rst:462 msgid "Update the `vertex` table using the contraction information" msgstr "Actualice la tabla `vértice` utilizando la información de contracción" -#: ../../build/doc/contraction-family.rst:462 +#: ../../build/doc/contraction-family.rst:463 msgid "" "Use ``edge_table_vertices_pgr.is_contracted`` to indicate the vertices that " "are contracted." @@ -560,7 +562,7 @@ msgstr "" "Use ``edge_table_vertices_pgr.is_contracted`` para indicar los vértices que " "son contraídos." -#: ../../build/doc/contraction-family.rst:468 +#: ../../build/doc/contraction-family.rst:469 msgid "" "Add to ``edge_table_vertices_pgr.contracted_vertices`` the contracted " "vertices belonging to the vertices." @@ -568,43 +570,43 @@ msgstr "" "Agregar a ``edge_table_vertices_pgr.contracted_vertices`` los vértices " "contraídos que pertenecen a los vértices." -#: ../../build/doc/contraction-family.rst:474 +#: ../../build/doc/contraction-family.rst:475 msgid "The modified ``edge_table_vertices_pgr``." msgstr "El modificado ``edge_table_vertices_pgr``." -#: ../../build/doc/contraction-family.rst:481 +#: ../../build/doc/contraction-family.rst:482 msgid "Update the `edge` table using the contraction information" msgstr "Actualice la tabla `edge` utilizando la información de la contracción" -#: ../../build/doc/contraction-family.rst:482 +#: ../../build/doc/contraction-family.rst:483 msgid "Insert the new edges generated by pgr_contraction." msgstr "Inserte las nuevas aristas generadas por pgr_contraction." -#: ../../build/doc/contraction-family.rst:488 +#: ../../build/doc/contraction-family.rst:489 msgid "The modified ``edge_table``." msgstr "La modificada ``edge_table``." -#: ../../build/doc/contraction-family.rst:496 +#: ../../build/doc/contraction-family.rst:497 msgid "The contracted graph" msgstr "El grafo contraído" -#: ../../build/doc/contraction-family.rst:499 +#: ../../build/doc/contraction-family.rst:500 msgid "Vertices that belong to the contracted graph." msgstr "Vértices que pertenecen al grafo contraído." -#: ../../build/doc/contraction-family.rst:506 +#: ../../build/doc/contraction-family.rst:507 msgid "Edges that belong to the contracted graph." msgstr "Aristas que pertenecen al grafo contraído." -#: ../../build/doc/contraction-family.rst:516 +#: ../../build/doc/contraction-family.rst:517 msgid "Using the contracted graph" msgstr "Usando el grafo contraído" -#: ../../build/doc/contraction-family.rst:518 +#: ../../build/doc/contraction-family.rst:519 msgid "Using the contracted graph with ``pgr_dijkstra``" msgstr "Uso del grafo contraído con ``pgr_dijkstra``" -#: ../../build/doc/contraction-family.rst:520 +#: ../../build/doc/contraction-family.rst:521 msgid "" "There are three cases when calculating the shortest path between a given " "source and target in a contracted graph:" @@ -612,51 +614,51 @@ msgstr "" "Hay tres casos al calcular la ruta más corta entre un origen y un destino " "determinados en un grafo contraído:" -#: ../../build/doc/contraction-family.rst:523 -#: ../../build/doc/contraction-family.rst:528 +#: ../../build/doc/contraction-family.rst:524 +#: ../../build/doc/contraction-family.rst:529 msgid "Case 1: Both source and target belong to the contracted graph." msgstr "" "Caso 1: Tanto el origen como el destino pertenecen al grafo contraído." -#: ../../build/doc/contraction-family.rst:524 -#: ../../build/doc/contraction-family.rst:569 +#: ../../build/doc/contraction-family.rst:525 +#: ../../build/doc/contraction-family.rst:570 msgid "Case 2: Source and/or target belong to an edge subgraph." msgstr "Caso 2: El origen y/o el destino pertenecen a un subgrafo de aristas." -#: ../../build/doc/contraction-family.rst:525 -#: ../../build/doc/contraction-family.rst:612 +#: ../../build/doc/contraction-family.rst:526 +#: ../../build/doc/contraction-family.rst:613 msgid "Case 3: Source and/or target belong to a vertex." msgstr "Caso 3: El origen y/o el destino pertenecen a un vértice." -#: ../../build/doc/contraction-family.rst:530 +#: ../../build/doc/contraction-family.rst:531 msgid "" "Using the `Edges that belong to the contracted graph.`_ on lines 10 to 19." msgstr "" "Usando las `Aristas que pertenecen al grafo contraído.`_ en las líneas 10 a " "19." -#: ../../build/doc/contraction-family.rst:539 -#: ../../build/doc/contraction-family.rst:583 -#: ../../build/doc/contraction-family.rst:626 -msgid "Case 1" -msgstr "Caso 1" - #: ../../build/doc/contraction-family.rst:540 #: ../../build/doc/contraction-family.rst:584 #: ../../build/doc/contraction-family.rst:627 +msgid "Case 1" +msgstr "Caso 1" + +#: ../../build/doc/contraction-family.rst:541 +#: ../../build/doc/contraction-family.rst:585 +#: ../../build/doc/contraction-family.rst:628 msgid "" "When both source and target belong to the contracted graph, a path is found." msgstr "" "Cuando el origen y el destino pertenecen al grafo contraído, se encuentra " "ruta." -#: ../../build/doc/contraction-family.rst:547 -#: ../../build/doc/contraction-family.rst:591 -#: ../../build/doc/contraction-family.rst:634 +#: ../../build/doc/contraction-family.rst:548 +#: ../../build/doc/contraction-family.rst:592 +#: ../../build/doc/contraction-family.rst:635 msgid "Case 2" msgstr "Caso 2" -#: ../../build/doc/contraction-family.rst:548 +#: ../../build/doc/contraction-family.rst:549 msgid "" "When source and/or target belong to an edge subgraph then a path is not " "found." @@ -664,7 +666,7 @@ msgstr "" "Cuando el origen y/o el destino pertenecen a un subgrafo de aristas, no se " "encuentra una ruta." -#: ../../build/doc/contraction-family.rst:550 +#: ../../build/doc/contraction-family.rst:551 msgid "" "In this case, the contracted graph do not have an edge connecting with node " ":math:`4`." @@ -672,20 +674,20 @@ msgstr "" "En este caso, el grafo contraído no tiene una arista que se conecte con el " "nodo :math:`4`." -#: ../../build/doc/contraction-family.rst:558 -#: ../../build/doc/contraction-family.rst:601 -#: ../../build/doc/contraction-family.rst:643 +#: ../../build/doc/contraction-family.rst:559 +#: ../../build/doc/contraction-family.rst:602 +#: ../../build/doc/contraction-family.rst:644 msgid "Case 3" msgstr "Caso 3" -#: ../../build/doc/contraction-family.rst:559 -#: ../../build/doc/contraction-family.rst:602 +#: ../../build/doc/contraction-family.rst:560 +#: ../../build/doc/contraction-family.rst:603 msgid "When source and/or target belong to a vertex then a path is not found." msgstr "" "Cuando el origen y/o el destino pertenecen a un vértice, no se encuentra " "ruta." -#: ../../build/doc/contraction-family.rst:561 +#: ../../build/doc/contraction-family.rst:562 msgid "" "In this case, the contracted graph do not have an edge connecting with node " ":math:`7` and of node :math:`4` of the second case." @@ -693,37 +695,37 @@ msgstr "" "En este caso, el grafo contraído no tiene algún arista que conecte con el " "nodo :math:`7` ni con el nodo :math:`4` del segundo caso." -#: ../../build/doc/contraction-family.rst:571 -#: ../../build/doc/contraction-family.rst:614 +#: ../../build/doc/contraction-family.rst:572 +#: ../../build/doc/contraction-family.rst:615 msgid "Refining the above function to include nodes that belong to an edge." msgstr "" "Refinar la función anterior para incluir nodos que pertenezcan a una arista." -#: ../../build/doc/contraction-family.rst:573 +#: ../../build/doc/contraction-family.rst:574 msgid "" "The vertices that need to be expanded are calculated on lines 10 to 16." msgstr "Los vértices que deben ampliarse se calculan en las líneas 10 a 16." -#: ../../build/doc/contraction-family.rst:574 +#: ../../build/doc/contraction-family.rst:575 msgid "" "Adding to the contracted graph that additional section on lines 25 to 27." msgstr "" "Añadiendo al grafo contraído esa sección adicional en las líneas 25 a 27." -#: ../../build/doc/contraction-family.rst:592 +#: ../../build/doc/contraction-family.rst:593 msgid "" "When source and/or target belong to an edge subgraph, now, a path is found." msgstr "" "Cuando el origen y/o el destino pertenecen a un subgrafo de arista, entonces" " se encuentra una ruta." -#: ../../build/doc/contraction-family.rst:594 +#: ../../build/doc/contraction-family.rst:595 msgid "The routing graph now has an edge connecting with node :math:`4`." msgstr "" "El grafo de ruteo ahora tiene un arista que se conecta con el nodo " ":math:`4`." -#: ../../build/doc/contraction-family.rst:604 +#: ../../build/doc/contraction-family.rst:605 msgid "" "In this case, the contracted graph do not have an edge connecting with node " ":math:`7`." @@ -731,18 +733,18 @@ msgstr "" "En este caso, el grafo contraído no tiene una arista que se conecte con el " "nodo :math:`7`." -#: ../../build/doc/contraction-family.rst:616 +#: ../../build/doc/contraction-family.rst:617 msgid "" "The vertices that need to be expanded are calculated on lines 18 to 23." msgstr "Los vértices que deben ampliarse se calculan en las líneas 18 a 23." -#: ../../build/doc/contraction-family.rst:617 +#: ../../build/doc/contraction-family.rst:618 msgid "" "Adding to the contracted graph that additional section on lines 38 to 40." msgstr "" "Añadiendo al grafo contraído esa sección adicional en las líneas 38 a 40." -#: ../../build/doc/contraction-family.rst:635 +#: ../../build/doc/contraction-family.rst:636 msgid "" "The code change do not affect this case so when source and/or target belong " "to an edge subgraph, a path is still found." @@ -750,33 +752,33 @@ msgstr "" "El cambio de código no afecta a este caso, por lo que cuando el origen o el " "destino pertenecen a un subgrafo de aristas, aún se puede encontrar ruta." -#: ../../build/doc/contraction-family.rst:644 +#: ../../build/doc/contraction-family.rst:645 msgid "When source and/or target belong to a vertex, now, a path is found." msgstr "" "Cuando el origen y/o el destino pertenecen a un vértice, entonces se " "encuentra ruta." -#: ../../build/doc/contraction-family.rst:646 +#: ../../build/doc/contraction-family.rst:647 msgid "Now, the routing graph has an edge connecting with node :math:`7`." msgstr "" "Ahora, el grafo de ruteo tiene un arista que se conecta con el nodo " ":math:`7`." -#: ../../build/doc/contraction-family.rst:653 +#: ../../build/doc/contraction-family.rst:654 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/contraction-family.rst:655 +#: ../../build/doc/contraction-family.rst:656 msgid "" "https://www.cs.cmu.edu/afs/cs/academic/class/15210-f12/www/lectures/lecture16.pdf" msgstr "" "https://www.cs.cmu.edu/afs/cs/academic/class/15210-f12/www/lectures/lecture16.pdf" -#: ../../build/doc/contraction-family.rst:656 +#: ../../build/doc/contraction-family.rst:657 msgid "https://algo2.iti.kit.edu/documents/routeplanning/geisberger_dipl.pdf" msgstr "https://algo2.iti.kit.edu/documents/routeplanning/geisberger_dipl.pdf" -#: ../../build/doc/contraction-family.rst:657 +#: ../../build/doc/contraction-family.rst:658 msgid "" "The queries use :doc:`pgr_contraction` function and the :doc:`sampledata` " "network." @@ -784,30 +786,14 @@ msgstr "" "Las consultas usan la función :doc:`pgr_contraction` y la red " ":doc:`sampledata` ." -#: ../../build/doc/contraction-family.rst:660 +#: ../../build/doc/contraction-family.rst:661 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/contraction-family.rst:661 +#: ../../build/doc/contraction-family.rst:662 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/contraction-family.rst:662 +#: ../../build/doc/contraction-family.rst:663 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "when ``false`` the edge is an original edgei, might be or not part of the " -#~ "contracted graph." -#~ msgstr "" -#~ "En caso de ``false`` , la arista es una arista original, podría ser o no " -#~ "parte del grafo contraído." - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/cost-category.po b/locale/es/LC_MESSAGES/cost-category.po index cac74889646..b609141758e 100644 --- a/locale/es/LC_MESSAGES/cost-category.po +++ b/locale/es/LC_MESSAGES/cost-category.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -86,15 +86,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/cost-category.rst:34 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/cost-category.rst:38 +#: ../../build/doc/cost-category.rst:39 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.4 `__" -#: ../../build/doc/cost-category.rst:44 +#: ../../build/doc/cost-category.rst:45 msgid "General Information" msgstr "Información general" -#: ../../build/doc/cost-category.rst:48 +#: ../../build/doc/cost-category.rst:49 msgid "Characteristics" msgstr "Características" -#: ../../build/doc/cost-category.rst:50 +#: ../../build/doc/cost-category.rst:51 msgid "The main Characteristics are:" msgstr "Las características principales son:" -#: ../../build/doc/cost-category.rst:52 +#: ../../build/doc/cost-category.rst:53 msgid "Each function works as part of the family it belongs to." msgstr "Cada función funciona como parte de la familia a la que pertenece." -#: ../../build/doc/cost-category.rst:53 +#: ../../build/doc/cost-category.rst:54 msgid "It does not return a path." msgstr "No devuelve una ruta." -#: ../../build/doc/cost-category.rst:54 +#: ../../build/doc/cost-category.rst:55 msgid "" "Returns the sum of the costs of the resulting path(s) for pair combination " "of nodes in the graph." @@ -132,15 +134,15 @@ msgstr "" "Devuelve la suma de los costos de las rutas resultantes para la combinación " "de pares de nodos en el grafo.." -#: ../../build/doc/cost-category.rst:55 +#: ../../build/doc/cost-category.rst:56 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/cost-category.rst:56 +#: ../../build/doc/cost-category.rst:57 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/cost-category.rst:58 +#: ../../build/doc/cost-category.rst:59 msgid "" "The returned values are in the form of a set of `(start_vid, end_vid, " "agg_cost)`." @@ -148,17 +150,17 @@ msgstr "" "Los valores devueltos tienen la forma de un conjunto de `(start_vid, " "end_vid, agg_cost)`." -#: ../../build/doc/cost-category.rst:60 +#: ../../build/doc/cost-category.rst:61 msgid "" "When the starting vertex and ending vertex are the same, there is no path." msgstr "" "Cuando el vértice inicial y el vértice final son iguales, no hay camino." -#: ../../build/doc/cost-category.rst:62 +#: ../../build/doc/cost-category.rst:63 msgid "The `agg_cost` int the non included values `(v, v)` is `0`." msgstr "El `agg_cost` en los valores no incluidos de `(v, v)` es `0`." -#: ../../build/doc/cost-category.rst:64 +#: ../../build/doc/cost-category.rst:65 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path." @@ -166,12 +168,12 @@ msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay ninguna" " ruta." -#: ../../build/doc/cost-category.rst:66 +#: ../../build/doc/cost-category.rst:67 msgid "The `agg_cost` in the non included values `(u, v)` is :math:`\\infty`." msgstr "" "El '`agg_cost`' en los valores no incluidos de `(u, v)` es :math:`\\infty`." -#: ../../build/doc/cost-category.rst:68 +#: ../../build/doc/cost-category.rst:69 msgid "" "Let be the case the values returned are stored in a table, so the unique " "index would be the pair: `(start_vid, end_vid)`." @@ -179,54 +181,45 @@ msgstr "" "Sea el caso, los valores devueltos se almacenan en una tabla, por lo que el " "índice único sería el par: '(start_vid, end_vid)'." -#: ../../build/doc/cost-category.rst:70 +#: ../../build/doc/cost-category.rst:71 msgid "" "Depending on the function and its parameters, the results can be symmetric." msgstr "" "Dependiendo de la función y sus parámetros, los resultados pueden ser " "simétricos." -#: ../../build/doc/cost-category.rst:72 +#: ../../build/doc/cost-category.rst:73 msgid "The `agg_cost` of `(u, v)` is the same as for `(v, u)`." msgstr "El `agg_cost` de `(u, v)` es el mismo que para `(v, u)`." -#: ../../build/doc/cost-category.rst:74 +#: ../../build/doc/cost-category.rst:75 msgid "Any duplicated value in the `start_vids` or in `end_vids` are ignored." msgstr "Se omite cualquier valor duplicado en `start_vids` o `end_vids`." -#: ../../build/doc/cost-category.rst:76 +#: ../../build/doc/cost-category.rst:77 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/cost-category.rst:78 +#: ../../build/doc/cost-category.rst:79 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/cost-category.rst:79 +#: ../../build/doc/cost-category.rst:80 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/cost-category.rst:84 +#: ../../build/doc/cost-category.rst:85 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/cost-category.rst:87 +#: ../../build/doc/cost-category.rst:88 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/cost-category.rst:88 +#: ../../build/doc/cost-category.rst:89 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/cost-category.rst:89 +#: ../../build/doc/cost-category.rst:90 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/costMatrix-category.po b/locale/es/LC_MESSAGES/costMatrix-category.po index 487caa69dd8..9190382162f 100644 --- a/locale/es/LC_MESSAGES/costMatrix-category.po +++ b/locale/es/LC_MESSAGES/costMatrix-category.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -86,15 +86,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/costMatrix-category.rst:42 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/costMatrix-category.rst:46 +#: ../../build/doc/costMatrix-category.rst:47 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.4 `__" -#: ../../build/doc/costMatrix-category.rst:52 +#: ../../build/doc/costMatrix-category.rst:53 msgid "General Information" msgstr "Información general" -#: ../../build/doc/costMatrix-category.rst:55 +#: ../../build/doc/costMatrix-category.rst:56 msgid "Synopsis" msgstr "Sinopsis" -#: ../../build/doc/costMatrix-category.rst:57 +#: ../../build/doc/costMatrix-category.rst:58 msgid "" ":doc:`TSP-family` needs as input a symmetric cost matrix and no edge `(u, " "v)` must value :math:`\\infty`." @@ -120,22 +122,22 @@ msgstr "" ":doc:`TSP-family` necesita como entrada una matriz de costos simétrica y sin" " borde `(u, v)`, debe valorar :math:`\\infty`." -#: ../../build/doc/costMatrix-category.rst:59 +#: ../../build/doc/costMatrix-category.rst:60 msgid "" "This collection of functions will return a cost matrix in form of a table." msgstr "" "Esta colección de funciones devolverá una matriz de costes en forma de " "tabla." -#: ../../build/doc/costMatrix-category.rst:63 +#: ../../build/doc/costMatrix-category.rst:64 msgid "Characteristics" msgstr "Características" -#: ../../build/doc/costMatrix-category.rst:65 +#: ../../build/doc/costMatrix-category.rst:66 msgid "The main Characteristics are:" msgstr "Las características principales son:" -#: ../../build/doc/costMatrix-category.rst:67 +#: ../../build/doc/costMatrix-category.rst:68 msgid "Can be used as input to :doc:`pgr_TSP`." msgstr "Se puede utilizar como entrada para :doc:`pgr_TSP`." @@ -143,57 +145,57 @@ msgstr "Se puede utilizar como entrada para :doc:`pgr_TSP`." msgid "directly" msgstr "directamente" -#: ../../build/doc/costMatrix-category.rst:69 +#: ../../build/doc/costMatrix-category.rst:70 msgid "" "when the resulting matrix is symmetric and there is no :math:`\\infty` " "value." msgstr "" "cuando la matriz resultante es simétrica y no hay valor :math:`\\infty` " -#: ../../build/doc/costMatrix-category.rst:70 +#: ../../build/doc/costMatrix-category.rst:71 msgid "It will be the users responsibility to make the matrix symmetric." msgstr "" "Será responsabilidad de los usuarios hacer que la matriz sea simétrica." -#: ../../build/doc/costMatrix-category.rst:72 +#: ../../build/doc/costMatrix-category.rst:73 msgid "By using geometric or harmonic average of the non symmetric values." msgstr "" "Mediante el uso de la media geométrica o armónica de los valores no " "simétricos." -#: ../../build/doc/costMatrix-category.rst:73 +#: ../../build/doc/costMatrix-category.rst:74 msgid "By using max or min the non symmetric values." msgstr "Mediante el uso de max o min, los valores no simétricos." -#: ../../build/doc/costMatrix-category.rst:74 +#: ../../build/doc/costMatrix-category.rst:75 msgid "" "By setting the upper triangle to be the mirror image of the lower triangle." msgstr "" "Estableciendo el triángulo superior para que sea la imagen reflejada del " "triángulo inferior." -#: ../../build/doc/costMatrix-category.rst:75 +#: ../../build/doc/costMatrix-category.rst:76 msgid "" "By setting the lower triangle to be the mirror image of the upper triangle." msgstr "" "Estableciendo el triángulo inferior para que sea la imagen reflejada del " "triángulo superior." -#: ../../build/doc/costMatrix-category.rst:77 +#: ../../build/doc/costMatrix-category.rst:78 msgid "It is also the users responsibility to fix an :math:`\\infty` value." msgstr "" "También es responsabilidad de los usuarios para fijar un valor " ":math:`\\infty` value." -#: ../../build/doc/costMatrix-category.rst:79 +#: ../../build/doc/costMatrix-category.rst:80 msgid "Each function works as part of the family it belongs to." msgstr "Cada función funciona como parte de la familia a la que pertenece." -#: ../../build/doc/costMatrix-category.rst:80 +#: ../../build/doc/costMatrix-category.rst:81 msgid "It does not return a path." msgstr "No devuelve una ruta." -#: ../../build/doc/costMatrix-category.rst:81 +#: ../../build/doc/costMatrix-category.rst:82 msgid "" "Returns the sum of the costs of the shortest path for pair combination of " "nodes in the graph." @@ -201,15 +203,15 @@ msgstr "" "Devuelve la suma de los costos de la ruta más corta para la combinación de " "pares de nodos en el grafo." -#: ../../build/doc/costMatrix-category.rst:82 +#: ../../build/doc/costMatrix-category.rst:83 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/costMatrix-category.rst:83 +#: ../../build/doc/costMatrix-category.rst:84 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/costMatrix-category.rst:85 +#: ../../build/doc/costMatrix-category.rst:86 msgid "" "The returned values are in the form of a set of `(start_vid, end_vid, " "agg_cost)`." @@ -217,17 +219,17 @@ msgstr "" "Los valores devueltos tienen la forma de un conjunto de `(start_vid, " "end_vid, agg_cost)`." -#: ../../build/doc/costMatrix-category.rst:87 +#: ../../build/doc/costMatrix-category.rst:88 msgid "" "When the starting vertex and ending vertex are the same, there is no path." msgstr "" "Cuando el vértice inicial y el vértice final son iguales, no hay camino." -#: ../../build/doc/costMatrix-category.rst:89 +#: ../../build/doc/costMatrix-category.rst:90 msgid "The `agg_cost` int the non included values `(v, v)` is `0`." msgstr "El `agg_cost` en los valores no incluidos de `(v, v)` es `0`." -#: ../../build/doc/costMatrix-category.rst:91 +#: ../../build/doc/costMatrix-category.rst:92 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path." @@ -235,12 +237,12 @@ msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay ninguna" " ruta." -#: ../../build/doc/costMatrix-category.rst:93 +#: ../../build/doc/costMatrix-category.rst:94 msgid "The `agg_cost` in the non included values `(u, v)` is :math:`\\infty`." msgstr "" "El '`agg_cost`' en los valores no incluidos de `(u, v)` es :math:`\\infty`." -#: ../../build/doc/costMatrix-category.rst:95 +#: ../../build/doc/costMatrix-category.rst:96 msgid "" "Let be the case the values returned are stored in a table, so the unique " "index would be the pair: `(start_vid, end_vid)`." @@ -248,64 +250,55 @@ msgstr "" "Sea el caso, los valores devueltos se almacenan en una tabla, por lo que el " "índice único sería el par: '(start_vid, end_vid)'." -#: ../../build/doc/costMatrix-category.rst:97 +#: ../../build/doc/costMatrix-category.rst:98 msgid "" "Depending on the function and its parameters, the results can be symmetric." msgstr "" "Dependiendo de la función y sus parámetros, los resultados pueden ser " "simétricos." -#: ../../build/doc/costMatrix-category.rst:99 +#: ../../build/doc/costMatrix-category.rst:100 msgid "The `agg_cost` of `(u, v)` is the same as for `(v, u)`." msgstr "El `agg_cost` de `(u, v)` es el mismo que para `(v, u)`." -#: ../../build/doc/costMatrix-category.rst:101 +#: ../../build/doc/costMatrix-category.rst:102 msgid "Any duplicated value in the `start_vids` are ignored." msgstr "Se omite cualquier valor duplicado en `start_vids`." -#: ../../build/doc/costMatrix-category.rst:103 +#: ../../build/doc/costMatrix-category.rst:104 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/costMatrix-category.rst:105 +#: ../../build/doc/costMatrix-category.rst:106 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/costMatrix-category.rst:106 +#: ../../build/doc/costMatrix-category.rst:107 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/costMatrix-category.rst:108 +#: ../../build/doc/costMatrix-category.rst:109 msgid "Running time: approximately :math:`O(| start\\_vids | * (V \\log V + E))`" msgstr "" "Tiempo de ejecución: aproximadamente :math:`O(| start\\_vids | * (V \\log V " "+ E))`" -#: ../../build/doc/costMatrix-category.rst:113 +#: ../../build/doc/costMatrix-category.rst:114 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/costMatrix-category.rst:115 +#: ../../build/doc/costMatrix-category.rst:116 msgid ":doc:`TSP-family`" msgstr ":doc:`TSP-family`" -#: ../../build/doc/costMatrix-category.rst:118 +#: ../../build/doc/costMatrix-category.rst:119 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/costMatrix-category.rst:119 +#: ../../build/doc/costMatrix-category.rst:120 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/costMatrix-category.rst:120 +#: ../../build/doc/costMatrix-category.rst:121 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/dijkstra-family.po b/locale/es/LC_MESSAGES/dijkstra-family.po index b76c3777c21..892023dcc55 100644 --- a/locale/es/LC_MESSAGES/dijkstra-family.po +++ b/locale/es/LC_MESSAGES/dijkstra-family.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -114,15 +114,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/dijkstra-family.rst:48 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/dijkstra-family.rst:52 +#: ../../build/doc/dijkstra-family.rst:53 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.2 " "`__" -#: ../../build/doc/dijkstra-family.rst:60 +#: ../../build/doc/dijkstra-family.rst:61 msgid "The problem definition (Advanced documentation)" msgstr "La definición de problema (Documentación avanzada)" -#: ../../build/doc/dijkstra-family.rst:63 +#: ../../build/doc/dijkstra-family.rst:64 msgid "Given the following query:" msgstr "Dada la siguiente consulta:" -#: ../../build/doc/dijkstra-family.rst:66 +#: ../../build/doc/dijkstra-family.rst:67 msgid "pgr_dijkstra(:math:`sql, start_{vid}, end_{vid}, directed`)" msgstr "pgr_dijkstra(:math:`sql, start_{vid}, end_{vid}, directed`)" -#: ../../build/doc/dijkstra-family.rst:68 +#: ../../build/doc/dijkstra-family.rst:69 msgid "" "where :math:`sql = \\{(id_i, source_i, target_i, cost_i, " "reverse\\_cost_i)\\}`" @@ -156,45 +158,45 @@ msgstr "" "Donde :math:`sql = \\{(id_i, source_i, target_i, cost_i, " "reverse\\_cost_i)\\}`" -#: ../../build/doc/dijkstra-family.rst:70 +#: ../../build/doc/dijkstra-family.rst:71 msgid "and" msgstr "y" -#: ../../build/doc/dijkstra-family.rst:72 +#: ../../build/doc/dijkstra-family.rst:73 msgid ":math:`source = \\bigcup source_i`," msgstr ":math:`source = \\bigcup source_i`," -#: ../../build/doc/dijkstra-family.rst:73 +#: ../../build/doc/dijkstra-family.rst:74 msgid ":math:`target = \\bigcup target_i`," msgstr ":math:`target = \\bigcup target_i`," -#: ../../build/doc/dijkstra-family.rst:75 +#: ../../build/doc/dijkstra-family.rst:76 msgid "The graphs are defined as follows:" msgstr "Los gráficos se definen como sigue:" -#: ../../build/doc/dijkstra-family.rst:78 +#: ../../build/doc/dijkstra-family.rst:79 msgid "Directed graph" msgstr "Grafo dirigido" -#: ../../build/doc/dijkstra-family.rst:79 +#: ../../build/doc/dijkstra-family.rst:80 msgid "The weighted directed graph, :math:`G_d(V,E)`, is definied by:" msgstr "El gráfico dirigido ponderado, :math:`G_d(V,E)`, se define por:" -#: ../../build/doc/dijkstra-family.rst:81 -#: ../../build/doc/dijkstra-family.rst:100 +#: ../../build/doc/dijkstra-family.rst:82 +#: ../../build/doc/dijkstra-family.rst:101 msgid "the set of vertices :math:`V`" msgstr "Conjunto de vértices :math:`V`" -#: ../../build/doc/dijkstra-family.rst:83 +#: ../../build/doc/dijkstra-family.rst:84 msgid ":math:`V = source \\cup target \\cup {start_{vid}} \\cup {end_{vid}}`" msgstr ":math:`V = source \\cup target \\cup {start_{vid}} \\cup {end_{vid}}`" -#: ../../build/doc/dijkstra-family.rst:85 -#: ../../build/doc/dijkstra-family.rst:105 +#: ../../build/doc/dijkstra-family.rst:86 +#: ../../build/doc/dijkstra-family.rst:106 msgid "the set of edges :math:`E`" msgstr "El conjunto de aristas :math:`E`" -#: ../../build/doc/dijkstra-family.rst:87 +#: ../../build/doc/dijkstra-family.rst:88 msgid "" ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, cost_i) \\text{" " when } cost >=0 \\} & \\quad \\text{if } reverse\\_cost = \\varnothing \\\\" @@ -212,19 +214,19 @@ msgstr "" "reverse\\_cost_i>=0 \\} & \\quad \\text{if } reverse\\_cost \\neq " "\\varnothing \\\\ \\end{cases}`" -#: ../../build/doc/dijkstra-family.rst:97 +#: ../../build/doc/dijkstra-family.rst:98 msgid "Undirected graph" msgstr "Grafo no dirigido" -#: ../../build/doc/dijkstra-family.rst:98 +#: ../../build/doc/dijkstra-family.rst:99 msgid "The weighted undirected graph, :math:`G_u(V,E)`, is definied by:" msgstr "El grafo ponderado no dirigido :math:`G_u(V,E)`, es definido por:" -#: ../../build/doc/dijkstra-family.rst:102 +#: ../../build/doc/dijkstra-family.rst:103 msgid ":math:`V = source \\cup target \\cup {start_v{vid}} \\cup {end_{vid}}`" msgstr ":math:`V = source \\cup target \\cup {start_v{vid}} \\cup {end_{vid}}`" -#: ../../build/doc/dijkstra-family.rst:107 +#: ../../build/doc/dijkstra-family.rst:108 msgid "" ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, cost_i) \\text{" " when } cost >=0 \\} & \\quad \\text{ } \\\\ \\cup \\{(target_i, " @@ -250,23 +252,23 @@ msgstr "" ">=0)\\} & \\quad \\text{ if } reverse\\_cost \\neq \\varnothing \\\\ " "\\end{cases}`" -#: ../../build/doc/dijkstra-family.rst:120 +#: ../../build/doc/dijkstra-family.rst:121 msgid "The problem" msgstr "El problema" -#: ../../build/doc/dijkstra-family.rst:121 +#: ../../build/doc/dijkstra-family.rst:122 msgid "Given:" msgstr "Dado:" -#: ../../build/doc/dijkstra-family.rst:123 +#: ../../build/doc/dijkstra-family.rst:124 msgid ":math:`start_{vid} \\in V` a starting vertex" msgstr ":math:`start_{vid} \\in V` a starting vertex" -#: ../../build/doc/dijkstra-family.rst:124 +#: ../../build/doc/dijkstra-family.rst:125 msgid ":math:`end_{vid} \\in V` an ending vertex" msgstr ":math:`end_{vid} \\in V` un vértice final" -#: ../../build/doc/dijkstra-family.rst:125 +#: ../../build/doc/dijkstra-family.rst:126 msgid "" ":math:`G(V,E) = \\begin{cases} G_d(V,E) & \\quad \\text{ if6 } directed = " "true \\\\ G_u(V,E) & \\quad \\text{ if5 } directed = false \\\\ " @@ -276,11 +278,11 @@ msgstr "" "true \\\\ G_u(V,E) & \\quad \\text{ if5 } directed = false \\\\ " "\\end{cases}`" -#: ../../build/doc/dijkstra-family.rst:130 +#: ../../build/doc/dijkstra-family.rst:131 msgid "Then:" msgstr "Entonces:" -#: ../../build/doc/dijkstra-family.rst:139 +#: ../../build/doc/dijkstra-family.rst:140 msgid "" ":math:`\\boldsymbol{\\pi} = \\{(path\\_seq_i, node_i, edge_i, cost_i, " "agg\\_cost_i)\\}`" @@ -288,35 +290,35 @@ msgstr "" ":math:`\\boldsymbol{\\pi} = \\{(path\\_seq_i, node_i, edge_i, cost_i, " "agg\\_cost_i)\\}`" -#: ../../build/doc/dijkstra-family.rst:152 +#: ../../build/doc/dijkstra-family.rst:153 msgid "where:" msgstr "Donde:" -#: ../../build/doc/dijkstra-family.rst:142 +#: ../../build/doc/dijkstra-family.rst:143 msgid ":math:`path\\_seq_i = i`" msgstr ":math:`path\\_seq_i = i`" -#: ../../build/doc/dijkstra-family.rst:143 +#: ../../build/doc/dijkstra-family.rst:144 msgid ":math:`path\\_seq_{| \\pi |} = | \\pi |`" msgstr ":math:`path\\_seq_{| \\pi |} = | \\pi |`" -#: ../../build/doc/dijkstra-family.rst:144 +#: ../../build/doc/dijkstra-family.rst:145 msgid ":math:`node_i \\in V`" msgstr ":math:`node_i \\in V`" -#: ../../build/doc/dijkstra-family.rst:145 +#: ../../build/doc/dijkstra-family.rst:146 msgid ":math:`node_1 = start_{vid}`" msgstr ":math:`node_1 = start_{vid}`" -#: ../../build/doc/dijkstra-family.rst:146 +#: ../../build/doc/dijkstra-family.rst:147 msgid ":math:`node_{| \\pi |} = end_{vid}`" msgstr ":math:`node_{| \\pi |} = end_{vid}`" -#: ../../build/doc/dijkstra-family.rst:147 +#: ../../build/doc/dijkstra-family.rst:148 msgid ":math:`\\forall i \\neq | \\pi |, \\quad (node_i, node_{i+1}, cost_i) \\in E`" msgstr ":math:`\\forall i \\neq | \\pi |, \\quad (node_i, node_{i+1}, cost_i) \\in E`" -#: ../../build/doc/dijkstra-family.rst:148 +#: ../../build/doc/dijkstra-family.rst:149 msgid "" ":math:`edge_i = \\begin{cases} id_{(node_i, node_{i+1},cost_i)} &\\quad " "\\text{when } i \\neq | \\pi | \\\\ -1 &\\quad \\text{when } i = | \\pi | " @@ -326,11 +328,11 @@ msgstr "" "\\text{when } i \\neq | \\pi | \\\\ -1 &\\quad \\text{when } i = | \\pi | " "\\\\ \\end{cases}`" -#: ../../build/doc/dijkstra-family.rst:149 +#: ../../build/doc/dijkstra-family.rst:150 msgid ":math:`cost_i = cost_{(node_i, node_{i+1})}`" msgstr ":math:`cost_i = cost_{(node_i, node_{i+1})}`" -#: ../../build/doc/dijkstra-family.rst:150 +#: ../../build/doc/dijkstra-family.rst:151 msgid "" ":math:`agg\\_cost_i = \\begin{cases} 0 &\\quad \\text{when } i = 1 " "\\\\ \\displaystyle\\sum_{k=1}^{i} cost_{(node_{k-1}, node_k)} &\\quad " @@ -340,7 +342,7 @@ msgstr "" "\\\\ \\displaystyle\\sum_{k=1}^{i} cost_{(node_{k-1}, node_k)} &\\quad " "\\text{when } i \\neq 1 \\\\ \\end{cases}`" -#: ../../build/doc/dijkstra-family.rst:158 +#: ../../build/doc/dijkstra-family.rst:159 msgid "" "In other words: The algorithm returns a the shortest path between " ":math:`start_{vid}` and :math:`end_{vid}` , if it exists, in terms of a " @@ -350,7 +352,7 @@ msgstr "" ":math:`start_{vid}` y :math:`end_{vid}`, si es que existe, en términos de " "una secuencia de nodos y de aristas," -#: ../../build/doc/dijkstra-family.rst:155 +#: ../../build/doc/dijkstra-family.rst:156 msgid "" ":math:`path\\_seq` indicates the relative position in the path of the " ":math:`node` or :math:`edge`." @@ -358,44 +360,35 @@ msgstr "" ":math:`path\\_seq` indica la posición relativa en el camino de :math:`node`" " o :math:`edge`." -#: ../../build/doc/dijkstra-family.rst:156 +#: ../../build/doc/dijkstra-family.rst:157 msgid "" ":math:`cost` is the cost of the edge to be used to go to the next node." msgstr "" ":math:`cost` es el coste del borde que se utilizará para ir al siguiente " "nodo." -#: ../../build/doc/dijkstra-family.rst:157 +#: ../../build/doc/dijkstra-family.rst:158 msgid "" ":math:`agg\\_cost` is the cost from the :math:`start_{vid}` up to the node." msgstr "" ":math:`agg\\_cost` es el costo desde el :math:`start_{vid}` hasta el nodo." -#: ../../build/doc/dijkstra-family.rst:160 +#: ../../build/doc/dijkstra-family.rst:161 msgid "If there is no path, the resulting set is empty." msgstr "Si no hay ruta, el conjunto resultante estará vacío." -#: ../../build/doc/dijkstra-family.rst:164 +#: ../../build/doc/dijkstra-family.rst:165 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/dijkstra-family.rst:167 +#: ../../build/doc/dijkstra-family.rst:168 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/dijkstra-family.rst:168 +#: ../../build/doc/dijkstra-family.rst:169 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/dijkstra-family.rst:169 +#: ../../build/doc/dijkstra-family.rst:170 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/drivingDistance-category.po b/locale/es/LC_MESSAGES/drivingDistance-category.po index 758097b37f5..e4cc270e181 100644 --- a/locale/es/LC_MESSAGES/drivingDistance-category.po +++ b/locale/es/LC_MESSAGES/drivingDistance-category.po @@ -1,18 +1,18 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. -# +# FIRST AUTHOR , 2020. +# # Translators: # Vicky Vergara , 2019 # MarPetra , 2020 -# +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -103,15 +103,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/drivingDistance-category.rst:43 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/drivingDistance-category.rst:47 +#: ../../build/doc/drivingDistance-category.rst:48 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.4 `__" -#: ../../build/doc/drivingDistance-category.rst:53 +#: ../../build/doc/drivingDistance-category.rst:54 msgid "See Also" msgstr "Véase también" -#: ../../build/doc/drivingDistance-category.rst:56 +#: ../../build/doc/drivingDistance-category.rst:57 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/drivingDistance-category.rst:57 +#: ../../build/doc/drivingDistance-category.rst:58 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/drivingDistance-category.rst:58 +#: ../../build/doc/drivingDistance-category.rst:59 msgid ":ref:`search`" -msgstr ":ref:`Búsqueda `" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" +msgstr ":ref:`búsqueda `" diff --git a/locale/es/LC_MESSAGES/flow-family.po b/locale/es/LC_MESSAGES/flow-family.po index 4bb4343624d..52283022b7c 100644 --- a/locale/es/LC_MESSAGES/flow-family.po +++ b/locale/es/LC_MESSAGES/flow-family.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -168,15 +168,15 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/flow-family.rst:54 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__" +"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" +"**Versiones soportadas:** actual(`3.1 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/flow-family.rst:58 +#: ../../build/doc/flow-family.rst:59 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__" @@ -186,23 +186,23 @@ msgstr "" "family.html>`__ `2.4 `__" " `2.3 `__" -#: ../../build/doc/flow-family.rst:65 +#: ../../build/doc/flow-family.rst:66 msgid "Flow Functions General Information" msgstr "Información General de las Funciones de Flujo" -#: ../../build/doc/flow-family.rst:69 +#: ../../build/doc/flow-family.rst:70 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/flow-family.rst:71 +#: ../../build/doc/flow-family.rst:72 msgid "The graph is **directed**." msgstr "El grafo es **dirigido**." -#: ../../build/doc/flow-family.rst:72 +#: ../../build/doc/flow-family.rst:73 msgid "Process is done only on edges with positive capacities." msgstr "El proceso se realiza sólo en aristas con capacidades positivas." -#: ../../build/doc/flow-family.rst:73 +#: ../../build/doc/flow-family.rst:74 msgid "" "When the maximum flow is 0 then there is no flow and **EMPTY SET** is " "returned." @@ -210,26 +210,26 @@ msgstr "" "Cuando el flujo máximo es 0 entonces no hay flujo, se devolverá: **EMPTY " "SET**." -#: ../../build/doc/flow-family.rst:75 +#: ../../build/doc/flow-family.rst:76 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" "No hay ningún flujo cuando el **orígen** es el mismo que el **destino**." -#: ../../build/doc/flow-family.rst:77 +#: ../../build/doc/flow-family.rst:78 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" "Cualquier valor duplicado en el/los orígen(es) o en el/los destino(s) será " "ignorado." -#: ../../build/doc/flow-family.rst:78 +#: ../../build/doc/flow-family.rst:79 msgid "Calculates the flow/residual capacity for each edge. In the output" msgstr "Calcula la capacidad de flujo/residuo para cada arista. En la salida" -#: ../../build/doc/flow-family.rst:80 +#: ../../build/doc/flow-family.rst:81 msgid "Edges with zero flow are omitted." msgstr "Se omiten las aristas con flujo cero." -#: ../../build/doc/flow-family.rst:82 +#: ../../build/doc/flow-family.rst:83 msgid "" "Creates a **super source** and edges to all the source(s), and a **super " "target** and the edges from all the targets(s)." @@ -237,7 +237,7 @@ msgstr "" "Crea una **súper origen**, con aristas para todos los orígenes, y un **súper" " destino** con aristas para todos los destinos." -#: ../../build/doc/flow-family.rst:83 +#: ../../build/doc/flow-family.rst:84 msgid "" "The maximum flow through the graph is guaranteed to be the value returned by" " :doc:`pgr_maxFlow ` when executed with the same parameters and" @@ -247,15 +247,15 @@ msgstr "" " :doc:`pgr_maxFlow ` cuando es ejecutado con los mismos " "parámetros y se puede calcular:" -#: ../../build/doc/flow-family.rst:85 +#: ../../build/doc/flow-family.rst:86 msgid "By aggregation of the outgoing flow from the sources" msgstr "Mediante la agregación del flujo saliente de los orígenes" -#: ../../build/doc/flow-family.rst:86 +#: ../../build/doc/flow-family.rst:87 msgid "By aggregation of the incoming flow to the targets" msgstr "Mediante la agregación del flujo entrante a los destinos" -#: ../../build/doc/flow-family.rst:91 +#: ../../build/doc/flow-family.rst:92 msgid "" ":doc:`pgr_maxFlow ` is the maximum Flow and that maximum is " "guaranteed to be the same on the functions :doc:`pgr_pushRelabel " @@ -269,97 +269,97 @@ msgstr "" ":doc:`pgr_boykovKolmogorov `, pero el flujo real a " "través de cada arista puede variar." -#: ../../build/doc/flow-family.rst:94 +#: ../../build/doc/flow-family.rst:95 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/flow-family.rst:99 ../../build/doc/flow-family.rst:120 -#: ../../build/doc/flow-family.rst:148 ../../build/doc/flow-family.rst:178 -#: ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 +#: ../../build/doc/flow-family.rst:149 ../../build/doc/flow-family.rst:179 +#: ../../build/doc/flow-family.rst:196 msgid "Column" msgstr "Columna" -#: ../../build/doc/flow-family.rst:99 ../../build/doc/flow-family.rst:120 -#: ../../build/doc/flow-family.rst:148 ../../build/doc/flow-family.rst:178 -#: ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 +#: ../../build/doc/flow-family.rst:149 ../../build/doc/flow-family.rst:179 +#: ../../build/doc/flow-family.rst:196 msgid "Type" msgstr "Tipo" -#: ../../build/doc/flow-family.rst:99 ../../build/doc/flow-family.rst:120 -#: ../../build/doc/flow-family.rst:148 +#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 +#: ../../build/doc/flow-family.rst:149 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/flow-family.rst:99 ../../build/doc/flow-family.rst:120 -#: ../../build/doc/flow-family.rst:148 ../../build/doc/flow-family.rst:178 -#: ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 +#: ../../build/doc/flow-family.rst:149 ../../build/doc/flow-family.rst:179 +#: ../../build/doc/flow-family.rst:196 msgid "Description" msgstr "Descripción" -#: ../../build/doc/flow-family.rst:101 +#: ../../build/doc/flow-family.rst:102 msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/flow-family.rst:101 +#: ../../build/doc/flow-family.rst:102 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/flow-family.rst:101 +#: ../../build/doc/flow-family.rst:102 msgid "The edges SQL query as described in `Inner Query`_." msgstr "La consulta SQL de aristas como se describe en `Inner Query`_." -#: ../../build/doc/flow-family.rst:102 ../../build/doc/flow-family.rst:123 -#: ../../build/doc/flow-family.rst:151 ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:103 ../../build/doc/flow-family.rst:124 +#: ../../build/doc/flow-family.rst:152 ../../build/doc/flow-family.rst:200 msgid "**source**" msgstr "**origen**" -#: ../../build/doc/flow-family.rst:102 ../../build/doc/flow-family.rst:104 -#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:182 -#: ../../build/doc/flow-family.rst:183 ../../build/doc/flow-family.rst:184 -#: ../../build/doc/flow-family.rst:185 ../../build/doc/flow-family.rst:198 -#: ../../build/doc/flow-family.rst:199 ../../build/doc/flow-family.rst:200 -#: ../../build/doc/flow-family.rst:201 ../../build/doc/flow-family.rst:202 +#: ../../build/doc/flow-family.rst:103 ../../build/doc/flow-family.rst:105 +#: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:183 +#: ../../build/doc/flow-family.rst:184 ../../build/doc/flow-family.rst:185 +#: ../../build/doc/flow-family.rst:186 ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:200 ../../build/doc/flow-family.rst:201 +#: ../../build/doc/flow-family.rst:202 ../../build/doc/flow-family.rst:203 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/flow-family.rst:102 +#: ../../build/doc/flow-family.rst:103 msgid "Identifier of the starting vertex of the flow." msgstr "Identificador del vértice inicial del flujo." -#: ../../build/doc/flow-family.rst:103 +#: ../../build/doc/flow-family.rst:104 msgid "**sources**" msgstr "**orígenes**" -#: ../../build/doc/flow-family.rst:103 ../../build/doc/flow-family.rst:105 +#: ../../build/doc/flow-family.rst:104 ../../build/doc/flow-family.rst:106 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/flow-family.rst:103 +#: ../../build/doc/flow-family.rst:104 msgid "Array of identifiers of the starting vertices of the flow." msgstr "Conjunto de identificadores de los vértices iniciales del flujo." -#: ../../build/doc/flow-family.rst:104 ../../build/doc/flow-family.rst:124 -#: ../../build/doc/flow-family.rst:152 ../../build/doc/flow-family.rst:200 +#: ../../build/doc/flow-family.rst:105 ../../build/doc/flow-family.rst:125 +#: ../../build/doc/flow-family.rst:153 ../../build/doc/flow-family.rst:201 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/flow-family.rst:104 +#: ../../build/doc/flow-family.rst:105 msgid "Identifier of the ending vertex of the flow." msgstr "Identificador del vértice final del flujo." -#: ../../build/doc/flow-family.rst:105 +#: ../../build/doc/flow-family.rst:106 msgid "**targets**" msgstr "**destinos**" -#: ../../build/doc/flow-family.rst:105 +#: ../../build/doc/flow-family.rst:106 msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/flow-family.rst:111 +#: ../../build/doc/flow-family.rst:112 msgid "Inner query" msgstr "Consulta interna" -#: ../../build/doc/flow-family.rst:114 ../../build/doc/flow-family.rst:174 +#: ../../build/doc/flow-family.rst:115 ../../build/doc/flow-family.rst:175 msgid "" "For :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp " "`, :doc:`pgr_boykovKolmogorov ` :" @@ -371,7 +371,7 @@ msgstr "" msgid "Edges SQL" msgstr "Edges SQL" -#: ../../build/doc/flow-family.rst:117 ../../build/doc/flow-family.rst:145 +#: ../../build/doc/flow-family.rst:118 ../../build/doc/flow-family.rst:146 msgid "" "an SQL query of a directed graph of capacities, which should return a set of" " rows with the following columns:" @@ -379,41 +379,41 @@ msgstr "" "Consulta SQL de un grafo dirigido de capacidades, que debe devolver un " "conjunto de filas con las siguientes columnas:" -#: ../../build/doc/flow-family.rst:122 ../../build/doc/flow-family.rst:150 +#: ../../build/doc/flow-family.rst:123 ../../build/doc/flow-family.rst:151 msgid "**id**" msgstr "**id**" -#: ../../build/doc/flow-family.rst:122 ../../build/doc/flow-family.rst:123 -#: ../../build/doc/flow-family.rst:124 ../../build/doc/flow-family.rst:125 -#: ../../build/doc/flow-family.rst:129 ../../build/doc/flow-family.rst:150 -#: ../../build/doc/flow-family.rst:151 ../../build/doc/flow-family.rst:152 -#: ../../build/doc/flow-family.rst:153 ../../build/doc/flow-family.rst:156 +#: ../../build/doc/flow-family.rst:123 ../../build/doc/flow-family.rst:124 +#: ../../build/doc/flow-family.rst:125 ../../build/doc/flow-family.rst:126 +#: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:151 +#: ../../build/doc/flow-family.rst:152 ../../build/doc/flow-family.rst:153 +#: ../../build/doc/flow-family.rst:154 ../../build/doc/flow-family.rst:157 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/flow-family.rst:122 ../../build/doc/flow-family.rst:150 +#: ../../build/doc/flow-family.rst:123 ../../build/doc/flow-family.rst:151 msgid "Identifier of the edge." msgstr "Identificador de la arista." -#: ../../build/doc/flow-family.rst:123 ../../build/doc/flow-family.rst:151 -#: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:124 ../../build/doc/flow-family.rst:152 +#: ../../build/doc/flow-family.rst:183 ../../build/doc/flow-family.rst:200 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." -#: ../../build/doc/flow-family.rst:124 ../../build/doc/flow-family.rst:152 -#: ../../build/doc/flow-family.rst:183 ../../build/doc/flow-family.rst:200 +#: ../../build/doc/flow-family.rst:125 ../../build/doc/flow-family.rst:153 +#: ../../build/doc/flow-family.rst:184 ../../build/doc/flow-family.rst:201 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." -#: ../../build/doc/flow-family.rst:125 ../../build/doc/flow-family.rst:153 +#: ../../build/doc/flow-family.rst:126 ../../build/doc/flow-family.rst:154 msgid "**capacity**" msgstr "**capacidad**" -#: ../../build/doc/flow-family.rst:125 +#: ../../build/doc/flow-family.rst:126 msgid "Weight of the edge `(source, target)`" msgstr "Peso de la arista `(source, target)`" -#: ../../build/doc/flow-family.rst:127 ../../build/doc/flow-family.rst:155 +#: ../../build/doc/flow-family.rst:128 ../../build/doc/flow-family.rst:156 msgid "" "When negative: edge `(source, target)` does not exist, therefore it's not " "part of the graph." @@ -421,19 +421,19 @@ msgstr "" "Cuando es negativo: la arista `(source, target)` no existe, por lo tanto no " "es parte del grafo." -#: ../../build/doc/flow-family.rst:129 ../../build/doc/flow-family.rst:156 +#: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:157 msgid "**reverse_capacity**" msgstr "**reverse_capacity** (**capacidad inversa**)" -#: ../../build/doc/flow-family.rst:129 ../../build/doc/flow-family.rst:156 +#: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:157 msgid "-1" msgstr "-1" -#: ../../build/doc/flow-family.rst:129 +#: ../../build/doc/flow-family.rst:130 msgid "Weight of the edge `(target, source)`," msgstr "Peso de la arista `(target, source)`," -#: ../../build/doc/flow-family.rst:131 ../../build/doc/flow-family.rst:158 +#: ../../build/doc/flow-family.rst:132 ../../build/doc/flow-family.rst:159 msgid "" "When negative: edge `(target, source)` does not exist, therefore it's not " "part of the graph." @@ -441,8 +441,8 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." -#: ../../build/doc/flow-family.rst:135 ../../build/doc/flow-family.rst:163 -#: ../../build/doc/flow-family.rst:260 +#: ../../build/doc/flow-family.rst:136 ../../build/doc/flow-family.rst:164 +#: ../../build/doc/flow-family.rst:261 msgid "Where:" msgstr "Donde:" @@ -450,43 +450,43 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" -#: ../../build/doc/flow-family.rst:137 ../../build/doc/flow-family.rst:165 +#: ../../build/doc/flow-family.rst:138 ../../build/doc/flow-family.rst:166 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" -#: ../../build/doc/flow-family.rst:141 +#: ../../build/doc/flow-family.rst:142 msgid "For :doc:`pgr_maxFlowMinCost` and :doc:`pgr_maxFlowMinCost_Cost`:" msgstr "Para :doc:`pgr_maxFlowMinCost` and :doc:`pgr_maxFlowMinCost_Cost`:" -#: ../../build/doc/flow-family.rst:153 +#: ../../build/doc/flow-family.rst:154 msgid "Capacity of the edge `(source, target)`" msgstr "Capacidad de la arista `(origen, destino)`" -#: ../../build/doc/flow-family.rst:156 +#: ../../build/doc/flow-family.rst:157 msgid "Capacity of the edge `(target, source)`," msgstr "Capacidad de la arista `(destino, origen)`," -#: ../../build/doc/flow-family.rst:159 ../../build/doc/flow-family.rst:203 +#: ../../build/doc/flow-family.rst:160 ../../build/doc/flow-family.rst:204 msgid "**cost**" msgstr "**cost**" -#: ../../build/doc/flow-family.rst:159 ../../build/doc/flow-family.rst:160 +#: ../../build/doc/flow-family.rst:160 ../../build/doc/flow-family.rst:161 msgid "``ANY-NUMERICAL``" msgstr "``ANY-NUMERICAL``" -#: ../../build/doc/flow-family.rst:159 +#: ../../build/doc/flow-family.rst:160 msgid "Weight of the edge `(source, target)` if it exists." msgstr "Peso de la arista `(origen, destino)` si existe." -#: ../../build/doc/flow-family.rst:160 +#: ../../build/doc/flow-family.rst:161 msgid "**reverse_cost**" msgstr "**reverse_cost**" -#: ../../build/doc/flow-family.rst:160 +#: ../../build/doc/flow-family.rst:161 msgid "0" msgstr "0" -#: ../../build/doc/flow-family.rst:160 +#: ../../build/doc/flow-family.rst:161 msgid "Weight of the edge `(target, source)` if it exists." msgstr "Peso de la arista `(destino, origen)` si existe." @@ -494,78 +494,78 @@ msgstr "Peso de la arista `(destino, origen)` si existe." msgid "ANY-NUMERICAL" msgstr "ANY-NUMERICAL" -#: ../../build/doc/flow-family.rst:166 +#: ../../build/doc/flow-family.rst:167 msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/flow-family.rst:171 +#: ../../build/doc/flow-family.rst:172 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/flow-family.rst:180 ../../build/doc/flow-family.rst:197 +#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:198 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/flow-family.rst:180 ../../build/doc/flow-family.rst:197 +#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:198 msgid "``INT``" msgstr "``INT``" -#: ../../build/doc/flow-family.rst:180 ../../build/doc/flow-family.rst:197 +#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:198 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:199 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:199 msgid "Identifier of the edge in the original query(edges_sql)." msgstr "Identificador de la arista en la consulta original(edges_sql)." -#: ../../build/doc/flow-family.rst:182 +#: ../../build/doc/flow-family.rst:183 msgid "**start_vid**" msgstr "**start_vid**" -#: ../../build/doc/flow-family.rst:183 +#: ../../build/doc/flow-family.rst:184 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/flow-family.rst:184 ../../build/doc/flow-family.rst:201 +#: ../../build/doc/flow-family.rst:185 ../../build/doc/flow-family.rst:202 msgid "**flow**" msgstr "**flujo**" -#: ../../build/doc/flow-family.rst:184 +#: ../../build/doc/flow-family.rst:185 msgid "Flow through the edge in the direction (``start_vid``, ``end_vid``)." msgstr "" "Flujo a través del arista en la dirección (``start_vid``, ``end_vid``)." -#: ../../build/doc/flow-family.rst:185 ../../build/doc/flow-family.rst:202 +#: ../../build/doc/flow-family.rst:186 ../../build/doc/flow-family.rst:203 msgid "**residual_capacity**" msgstr "**residual_capacity** (**capacidad residual**)" -#: ../../build/doc/flow-family.rst:185 +#: ../../build/doc/flow-family.rst:186 msgid "" "Residual capacity of the edge in the direction (``start_vid``, ``end_vid``)." msgstr "" "Capacidad residual del arista en la dirección (``start_vid``, ``end_vid``)." -#: ../../build/doc/flow-family.rst:191 +#: ../../build/doc/flow-family.rst:192 msgid "For :doc:`pgr_maxFlowMinCost`" msgstr "Para :doc:`pgr_maxFlowMinCost`" -#: ../../build/doc/flow-family.rst:201 +#: ../../build/doc/flow-family.rst:202 msgid "Flow through the edge in the direction (source, target)." msgstr "Flujo a través de la arista en la dirección (origen, destino)." -#: ../../build/doc/flow-family.rst:202 +#: ../../build/doc/flow-family.rst:203 msgid "Residual capacity of the edge in the direction (source, target)." msgstr "Capacidad residual de la arista en la dirección (origen, destino)." -#: ../../build/doc/flow-family.rst:203 ../../build/doc/flow-family.rst:204 +#: ../../build/doc/flow-family.rst:204 ../../build/doc/flow-family.rst:205 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/flow-family.rst:203 +#: ../../build/doc/flow-family.rst:204 msgid "" "The cost of sending this flow through the edge in the direction (source, " "target)." @@ -573,19 +573,19 @@ msgstr "" "El costo de enviar este flujo a través de la arista en la dirección (origen," " destino)." -#: ../../build/doc/flow-family.rst:204 +#: ../../build/doc/flow-family.rst:205 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/flow-family.rst:204 +#: ../../build/doc/flow-family.rst:205 msgid "The aggregate cost." msgstr "El costo agregado." -#: ../../build/doc/flow-family.rst:211 +#: ../../build/doc/flow-family.rst:212 msgid "Adcanced Documentation" msgstr "Documentación Avanzada" -#: ../../build/doc/flow-family.rst:213 +#: ../../build/doc/flow-family.rst:214 msgid "" "A flow network is a directed graph where each edge has a capacity and a " "flow. The flow through an edge must not exceed the capacity of the edge. " @@ -599,7 +599,7 @@ msgstr "" "ser igual, excepto para el origen que solo tiene flujo saliente, y el " "destino (receptor) que solo tiene flujo entrante." -#: ../../build/doc/flow-family.rst:218 +#: ../../build/doc/flow-family.rst:219 msgid "" "Maximum flow algorithms calculate the maximum flow through the graph and the" " flow of each edge." @@ -607,7 +607,7 @@ msgstr "" "Los algoritmos de Flujo Máximo calculan a través del grafo el flujo máximoy " "el flujo de cada arista" -#: ../../build/doc/flow-family.rst:220 +#: ../../build/doc/flow-family.rst:221 msgid "" "The maximum flow through the graph is guaranteed to be the same with all " "implementations, but the actual flow through each edge may vary. Given the " @@ -617,11 +617,11 @@ msgstr "" "las implementaciones, pero el flujo real a través de cada arista puede " "variar. Dada la siguiente consulta:" -#: ../../build/doc/flow-family.rst:224 +#: ../../build/doc/flow-family.rst:225 msgid "pgr_maxFlow :math:`(edges\\_sql, source\\_vertex, sink\\_vertex)`" msgstr "pgr_maxFlow :math:`(edges\\_sql, source\\_vertex, sink\\_vertex)`" -#: ../../build/doc/flow-family.rst:226 +#: ../../build/doc/flow-family.rst:227 msgid "" "where :math:`edges\\_sql = \\{(id_i, source_i, target_i, capacity_i, " "reverse\\_capacity_i)\\}`" @@ -629,19 +629,19 @@ msgstr "" "where :math:`edges\\_sql = \\{(id_i, source_i, target_i, capacity_i, " "reverse\\_capacity_i)\\}`" -#: ../../build/doc/flow-family.rst:229 +#: ../../build/doc/flow-family.rst:230 msgid "Graph definition" msgstr "Definición del grafo" -#: ../../build/doc/flow-family.rst:230 +#: ../../build/doc/flow-family.rst:231 msgid "The weighted directed graph, :math:`G(V,E)`, is defined as:" msgstr "El grafo ponderado dirigido, :math:`G(V,E)`, se define como:" -#: ../../build/doc/flow-family.rst:232 +#: ../../build/doc/flow-family.rst:233 msgid "the set of vertices :math:`V`" msgstr "Conjunto de vértices :math:`V`" -#: ../../build/doc/flow-family.rst:234 +#: ../../build/doc/flow-family.rst:235 msgid "" ":math:`source\\_vertex \\cup sink\\_vertex \\bigcup source_i \\bigcup " "target_i`" @@ -649,11 +649,11 @@ msgstr "" ":math:`source\\_vertex \\cup sink\\_vertex \\bigcup source_i \\bigcup " "target_i`" -#: ../../build/doc/flow-family.rst:236 +#: ../../build/doc/flow-family.rst:237 msgid "the set of edges :math:`E`" msgstr "El conjunto de aristas :math:`E`" -#: ../../build/doc/flow-family.rst:238 +#: ../../build/doc/flow-family.rst:239 msgid "" ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, capacity_i) " "\\text{ when } capacity > 0 \\} & \\quad \\text{ if } reverse\\_capacity = " @@ -671,35 +671,35 @@ msgstr "" "reverse\\_capacity_i > 0)\\} & \\quad \\text{ if } reverse\\_capacity \\neq " "\\varnothing \\\\ \\end{cases}`" -#: ../../build/doc/flow-family.rst:246 +#: ../../build/doc/flow-family.rst:247 msgid "Maximum flow problem" msgstr "Problema de Flujo Máximo" -#: ../../build/doc/flow-family.rst:247 +#: ../../build/doc/flow-family.rst:248 msgid "Given:" msgstr "Dado:" -#: ../../build/doc/flow-family.rst:250 +#: ../../build/doc/flow-family.rst:251 msgid ":math:`G(V,E)`" msgstr ":math:`G(V,E)`" -#: ../../build/doc/flow-family.rst:251 +#: ../../build/doc/flow-family.rst:252 msgid ":math:`source\\_vertex \\in V` the source vertex" msgstr ":math:`source\\_vertex \\in V` el vértice de origen" -#: ../../build/doc/flow-family.rst:252 +#: ../../build/doc/flow-family.rst:253 msgid ":math:`sink\\_vertex \\in V` the sink vertex" msgstr ":math:`sink\\_vertex \\in V` el vértice pozo" -#: ../../build/doc/flow-family.rst:254 +#: ../../build/doc/flow-family.rst:255 msgid "Then:" msgstr "Entonces:" -#: ../../build/doc/flow-family.rst:256 +#: ../../build/doc/flow-family.rst:257 msgid ":math:`pgr\\_maxFlow(edges\\_sql, source, sink) = \\boldsymbol{\\Phi}`" msgstr ":math:`pgr\\_maxFlow(edges\\_sql, source, sink) = \\boldsymbol{\\Phi}`" -#: ../../build/doc/flow-family.rst:258 +#: ../../build/doc/flow-family.rst:259 msgid "" ":math:`\\boldsymbol{\\Phi} = {(id_i, edge\\_id_i, source_i, target_i, " "flow_i, residual\\_capacity_i)}`" @@ -707,7 +707,7 @@ msgstr "" ":math:`\\boldsymbol{\\Phi} = {(id_i, edge\\_id_i, source_i, target_i, " "flow_i, residual\\_capacity_i)}`" -#: ../../build/doc/flow-family.rst:262 +#: ../../build/doc/flow-family.rst:263 msgid "" ":math:`\\boldsymbol{\\Phi}` is a subset of the original edges with their " "residual capacity and flow. The maximum flow through the graph can be " @@ -719,43 +719,34 @@ msgstr "" "obtrener agregando en el origen o sumidero y sumiendo el flujo hacia él. En " "particular: " -#: ../../build/doc/flow-family.rst:266 +#: ../../build/doc/flow-family.rst:267 msgid ":math:`id_i = i`" msgstr ":math:`id_i = i`" -#: ../../build/doc/flow-family.rst:267 +#: ../../build/doc/flow-family.rst:268 msgid ":math:`edge\\_id = id_i` in edges_sql" msgstr ":math:`edge\\_id = id_i` in edges_sql" -#: ../../build/doc/flow-family.rst:268 +#: ../../build/doc/flow-family.rst:269 msgid ":math:`residual\\_capacity_i = capacity_i - flow_i`" msgstr ":math:`residual\\_capacity_i = capacity_i - flow_i`" -#: ../../build/doc/flow-family.rst:272 +#: ../../build/doc/flow-family.rst:273 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/flow-family.rst:274 +#: ../../build/doc/flow-family.rst:275 msgid "https://en.wikipedia.org/wiki/Maximum_flow_problem" msgstr "https://en.wikipedia.org/wiki/Maximum_flow_problem" -#: ../../build/doc/flow-family.rst:277 +#: ../../build/doc/flow-family.rst:278 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/flow-family.rst:278 +#: ../../build/doc/flow-family.rst:279 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/flow-family.rst:279 +#: ../../build/doc/flow-family.rst:280 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" diff --git a/locale/es/LC_MESSAGES/index.po b/locale/es/LC_MESSAGES/index.po index 57299824e3c..e637b138a99 100644 --- a/locale/es/LC_MESSAGES/index.po +++ b/locale/es/LC_MESSAGES/index.po @@ -1,18 +1,18 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. -# +# FIRST AUTHOR , 2020. +# # Translators: # Vicky Vergara , 2020 # MarPetra , 2020 -# +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -50,8 +50,12 @@ msgid "" "https://pgrouting.org. For other licenses used in pgRouting see the " ":ref:`license` page." msgstr "" -"El Manual de pgRouting está bajo licencia `Creative Commons Attribution-Share Alike 3.0 License `_. " -"Siéntase libre de usar este material de la manera que desee, pero le pedimos que atribuya el crédito correspondiente al proyecto pgRouting y, siempre que sea posible, visite https://pgrouting.org. Para otras licencias utilizadas en pgRouting, consulte la página :ref:`license`." +"El Manual de pgRouting está bajo licencia `Creative Commons Attribution-" +"Share Alike 3.0 License `_." +" Siéntase libre de usar este material de la manera que desee, pero le " +"pedimos que atribuya el crédito correspondiente al proyecto pgRouting y, " +"siempre que sea posible, visite https://pgrouting.org. Para otras licencias " +"utilizadas en pgRouting, consulte la página :ref:`license` ." #: ../../build/doc/index.rst:32 msgid "General" @@ -491,114 +495,118 @@ msgid ":doc:`release_notes`" msgstr ":doc:`release_notes`" #: ../../build/doc/release_notes.rst:3 +msgid ":ref:`changelog_3_1_0`" +msgstr ":ref:`changelog_3_1_0`" + +#: ../../build/doc/release_notes.rst:4 msgid ":ref:`changelog_3_0_2`" msgstr ":ref:`changelog_3_0_2`" -#: ../../build/doc/release_notes.rst:4 +#: ../../build/doc/release_notes.rst:5 msgid ":ref:`changelog_3_0_1`" msgstr ":ref:`changelog_3_0_1`" -#: ../../build/doc/release_notes.rst:5 +#: ../../build/doc/release_notes.rst:6 msgid ":ref:`changelog_3_0_0`" msgstr ":ref:`changelog_3_0_0`" -#: ../../build/doc/release_notes.rst:6 +#: ../../build/doc/release_notes.rst:7 msgid ":ref:`changelog_2_6_3`" msgstr ":ref:`changelog_2_6_3`" -#: ../../build/doc/release_notes.rst:7 +#: ../../build/doc/release_notes.rst:8 msgid ":ref:`changelog_2_6_2`" msgstr ":ref:`changelog_2_6_2`" -#: ../../build/doc/release_notes.rst:8 +#: ../../build/doc/release_notes.rst:9 msgid ":ref:`changelog_2_6_1`" msgstr ":ref:`changelog_2_6_1`" -#: ../../build/doc/release_notes.rst:9 +#: ../../build/doc/release_notes.rst:10 msgid ":ref:`changelog_2_6_0`" msgstr ":ref:`changelog_2_6_0`" -#: ../../build/doc/release_notes.rst:10 +#: ../../build/doc/release_notes.rst:11 msgid ":ref:`changelog_2_5_5`" msgstr ":ref:`changelog_2_5_5`" -#: ../../build/doc/release_notes.rst:11 +#: ../../build/doc/release_notes.rst:12 msgid ":ref:`changelog_2_5_4`" msgstr ":ref:`changelog_2_5_4`" -#: ../../build/doc/release_notes.rst:12 +#: ../../build/doc/release_notes.rst:13 msgid ":ref:`changelog_2_5_3`" msgstr ":ref:`changelog_2_5_3`" -#: ../../build/doc/release_notes.rst:13 +#: ../../build/doc/release_notes.rst:14 msgid ":ref:`changelog_2_5_2`" msgstr ":ref:`changelog_2_5_2`" -#: ../../build/doc/release_notes.rst:14 +#: ../../build/doc/release_notes.rst:15 msgid ":ref:`changelog_2_5_1`" msgstr ":ref:`changelog_2_5_1`" -#: ../../build/doc/release_notes.rst:15 +#: ../../build/doc/release_notes.rst:16 msgid ":ref:`changelog_2_5_0`" msgstr ":ref:`changelog_2_5_0`" -#: ../../build/doc/release_notes.rst:16 +#: ../../build/doc/release_notes.rst:17 msgid ":ref:`changelog_2_4_2`" msgstr ":ref:`changelog_2_4_2`" -#: ../../build/doc/release_notes.rst:17 +#: ../../build/doc/release_notes.rst:18 msgid ":ref:`changelog_2_4_1`" msgstr ":ref:`changelog_2_4_1`" -#: ../../build/doc/release_notes.rst:18 +#: ../../build/doc/release_notes.rst:19 msgid ":ref:`changelog_2_4_0`" msgstr ":ref:`changelog_2_4_0`" -#: ../../build/doc/release_notes.rst:19 +#: ../../build/doc/release_notes.rst:20 msgid ":ref:`changelog_2_3_2`" msgstr ":ref:`changelog_2_3_2`" -#: ../../build/doc/release_notes.rst:20 +#: ../../build/doc/release_notes.rst:21 msgid ":ref:`changelog_2_3_1`" msgstr ":ref:`changelog_2_3_1`" -#: ../../build/doc/release_notes.rst:21 +#: ../../build/doc/release_notes.rst:22 msgid ":ref:`changelog_2_3_0`" msgstr ":ref:`changelog_2_3_0`" -#: ../../build/doc/release_notes.rst:22 +#: ../../build/doc/release_notes.rst:23 msgid ":ref:`changelog_2_2_4`" msgstr ":ref:`changelog_2_2_4`" -#: ../../build/doc/release_notes.rst:23 +#: ../../build/doc/release_notes.rst:24 msgid ":ref:`changelog_2_2_3`" msgstr ":ref:`changelog_2_2_3`" -#: ../../build/doc/release_notes.rst:24 +#: ../../build/doc/release_notes.rst:25 msgid ":ref:`changelog_2_2_2`" msgstr ":ref:`changelog_2_2_2`" -#: ../../build/doc/release_notes.rst:25 +#: ../../build/doc/release_notes.rst:26 msgid ":ref:`changelog_2_2_1`" msgstr ":ref:`changelog_2_2_1`" -#: ../../build/doc/release_notes.rst:26 +#: ../../build/doc/release_notes.rst:27 msgid ":ref:`changelog_2_2_0`" msgstr ":ref:`changelog_2_2_0`" -#: ../../build/doc/release_notes.rst:27 +#: ../../build/doc/release_notes.rst:28 msgid ":ref:`changelog_2_1_0`" msgstr ":ref:`changelog_2_1_0`" -#: ../../build/doc/release_notes.rst:28 +#: ../../build/doc/release_notes.rst:29 msgid ":ref:`changelog_2_0_1`" msgstr ":ref:`changelog_2_0_1`" -#: ../../build/doc/release_notes.rst:29 +#: ../../build/doc/release_notes.rst:30 msgid ":ref:`changelog_2_0_0`" msgstr ":ref:`changelog_2_0_0`" -#: ../../build/doc/release_notes.rst:30 +#: ../../build/doc/release_notes.rst:31 msgid ":ref:`changelog_1_x`" msgstr ":ref:`changelog_1_x`" @@ -613,28 +621,3 @@ msgstr ":ref:`genindex`" #: ../../build/doc/index.rst:115 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "pgRouting extends the `PostGIS `_/`PostgreSQL " -#~ "`_ geospatial database to provide geospatial routing " -#~ "and other network analysis functionality." -#~ msgstr "" -#~ "pgRouting amplía la base de datos geoespacial `PostGIS " -#~ "`_/`PostgreSQL `_ para " -#~ "proporcionar enrutamiento geoespacial y otras funciones de análisis de red." - -#~ msgid "" -#~ "The pgRouting Manual is licensed under a `Creative Commons Attribution-Share" -#~ " Alike 3.0 License `_. Feel" -#~ " free to use this material any way you like, but we ask that you attribute " -#~ "credit to the pgRouting Project and wherever possible, a link back to " -#~ "http://pgrouting.org. For other licenses used in pgRouting see the " -#~ ":ref:`license` page." -#~ msgstr "" -#~ "El manual pgRouting está licenciado bajo una licencia `Creative Commons " -#~ "Attribution-Share Alike 3.0 License `_. Siéntase libre de usar este material de la manera que desee," -#~ " pero le pedimos que atribuya el crédito correspondiente al proyecto " -#~ "pgRouting y, siempre que sea posible, visite http://pgrouting.org. Para " -#~ "otras licencias utilizadas en pgRouting, consulte la página :ref:`license` " -#~ "page." diff --git a/locale/es/LC_MESSAGES/kruskal-family.po b/locale/es/LC_MESSAGES/kruskal-family.po index 1276868f1dc..96543a3fd87 100644 --- a/locale/es/LC_MESSAGES/kruskal-family.po +++ b/locale/es/LC_MESSAGES/kruskal-family.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -54,18 +54,20 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/kruskal-family.rst:38 msgid "" -"**Supported versions:** current(`3.0 `__)" +"**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__)" +"**Versiones soportadas:** actual(`3.1 `__) `3.0 `__" -#: ../../build/doc/kruskal-family.rst:42 +#: ../../build/doc/kruskal-family.rst:43 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Description" msgstr "Descripción" -#: ../../build/doc/kruskal-family.rst:44 +#: ../../build/doc/kruskal-family.rst:45 msgid "" "Kruskal's algorithm is a greedy minimum spanning tree algorithm that in each" " cycle finds and adds the edge of the least possible weight that connects " @@ -75,48 +77,48 @@ msgstr "" "que en cada ciclo encuentra y agrega la arista del menor peso posible que " "conecta dos árboles en el bosque." -#: ../../build/doc/kruskal-family.rst:48 +#: ../../build/doc/kruskal-family.rst:49 msgid "**The main Characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/kruskal-family.rst:52 +#: ../../build/doc/kruskal-family.rst:53 msgid "It's implementation is only on **undirected** graph." msgstr "Su implementación solo está en el grafo **no direccionado**." -#: ../../build/doc/kruskal-family.rst:53 +#: ../../build/doc/kruskal-family.rst:54 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/kruskal-family.rst:54 +#: ../../build/doc/kruskal-family.rst:55 msgid "The total weight of all the edges in the tree or forest is minimized." msgstr "Se minimiza el peso total de todos los bordes del árbol o bosque." -#: ../../build/doc/kruskal-family.rst:55 +#: ../../build/doc/kruskal-family.rst:56 msgid "When the graph is connected" msgstr "Cuando el grafo está conectado" -#: ../../build/doc/kruskal-family.rst:57 +#: ../../build/doc/kruskal-family.rst:58 msgid "The resulting edges make up a tree" msgstr "Las aristas resultantes componen un árbol" -#: ../../build/doc/kruskal-family.rst:59 +#: ../../build/doc/kruskal-family.rst:60 msgid "When the graph is not connected," msgstr "Cuando el grafo no está conectado," -#: ../../build/doc/kruskal-family.rst:61 +#: ../../build/doc/kruskal-family.rst:62 msgid "Finds a minimum spanning tree for each connected component." msgstr "" "Encuentra un árbol de expansión mínimo para cada componente conectado." -#: ../../build/doc/kruskal-family.rst:62 +#: ../../build/doc/kruskal-family.rst:63 msgid "The resulting edges make up a forest." msgstr "Las aristas resultantes conforman un bosque." -#: ../../build/doc/kruskal-family.rst:64 +#: ../../build/doc/kruskal-family.rst:65 msgid "Kruskal's running time: :math:`O(E * log E)`" msgstr "Tiempo de ejecución de Kruskal: :math:`O(E * log E)`" -#: ../../build/doc/kruskal-family.rst:69 +#: ../../build/doc/kruskal-family.rst:70 msgid "Inner query" msgstr "Consulta interna" @@ -223,15 +225,15 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/kruskal-family.rst:77 +#: ../../build/doc/kruskal-family.rst:78 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/kruskal-family.rst:79 +#: ../../build/doc/kruskal-family.rst:80 msgid ":doc:`spanningTree-family`" msgstr ":doc:`spanningTree-family`" -#: ../../build/doc/kruskal-family.rst:80 +#: ../../build/doc/kruskal-family.rst:81 msgid "" "`Boost: Kruskal's algorithm documentation " "`__" @@ -239,7 +241,7 @@ msgstr "" "`Boost: algoritmo de documentación de Kruskal " "`__" -#: ../../build/doc/kruskal-family.rst:81 +#: ../../build/doc/kruskal-family.rst:82 msgid "" "`Wikipedia: Kruskal's algorithm " "`__" @@ -247,21 +249,14 @@ msgstr "" "`Wikipedia: algoritmo de Kruskal " "`__" -#: ../../build/doc/kruskal-family.rst:84 +#: ../../build/doc/kruskal-family.rst:85 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/kruskal-family.rst:85 +#: ../../build/doc/kruskal-family.rst:86 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/kruskal-family.rst:86 +#: ../../build/doc/kruskal-family.rst:87 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__)" diff --git a/locale/es/LC_MESSAGES/pgRouting-concepts.po b/locale/es/LC_MESSAGES/pgRouting-concepts.po index 86303e40299..2e6d4a9fdcc 100644 --- a/locale/es/LC_MESSAGES/pgRouting-concepts.po +++ b/locale/es/LC_MESSAGES/pgRouting-concepts.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Celia Virginia Vergara Castillo , 2019 -# MarPetra , 2019 +# Vicky Vergara , 2019 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: MarPetra , 2019\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -253,26 +253,30 @@ msgid "`One to One`_" msgstr "`Uno a Uno`_" #: ../../build/doc/pgRouting-concepts.rst:143 -#: ../../build/doc/pgRouting-concepts.rst:400 -#: ../../build/doc/pgRouting-concepts.rst:435 +#: ../../build/doc/pgRouting-concepts.rst:429 +#: ../../build/doc/pgRouting-concepts.rst:464 msgid "`One to Many`_" msgstr "`Uno a Muchos`_" #: ../../build/doc/pgRouting-concepts.rst:144 -#: ../../build/doc/pgRouting-concepts.rst:394 -#: ../../build/doc/pgRouting-concepts.rst:428 +#: ../../build/doc/pgRouting-concepts.rst:423 +#: ../../build/doc/pgRouting-concepts.rst:457 msgid "`Many to One`_" msgstr "`Muchos a Uno`_" #: ../../build/doc/pgRouting-concepts.rst:145 -#: ../../build/doc/pgRouting-concepts.rst:395 -#: ../../build/doc/pgRouting-concepts.rst:401 -#: ../../build/doc/pgRouting-concepts.rst:429 -#: ../../build/doc/pgRouting-concepts.rst:436 +#: ../../build/doc/pgRouting-concepts.rst:424 +#: ../../build/doc/pgRouting-concepts.rst:430 +#: ../../build/doc/pgRouting-concepts.rst:458 +#: ../../build/doc/pgRouting-concepts.rst:465 msgid "`Many to Many`_" msgstr "`Muchos a Muchos`_" -#: ../../build/doc/pgRouting-concepts.rst:147 +#: ../../build/doc/pgRouting-concepts.rst:146 +msgid "`Combinations`_" +msgstr "`Combinaciones`_" + +#: ../../build/doc/pgRouting-concepts.rst:148 msgid "" "Depending on the overload are the parameters used, keeping consistency " "across all functions." @@ -280,54 +284,75 @@ msgstr "" "Dependiendo de la sobrecarga son los parámetros utilizados, manteniendo la " "coherencia en todas las funciones." -#: ../../build/doc/pgRouting-concepts.rst:151 +#: ../../build/doc/pgRouting-concepts.rst:152 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgRouting-concepts.rst:153 -#: ../../build/doc/pgRouting-concepts.rst:161 -#: ../../build/doc/pgRouting-concepts.rst:169 -#: ../../build/doc/pgRouting-concepts.rst:177 +#: ../../build/doc/pgRouting-concepts.rst:154 +#: ../../build/doc/pgRouting-concepts.rst:162 +#: ../../build/doc/pgRouting-concepts.rst:170 +#: ../../build/doc/pgRouting-concepts.rst:178 +#: ../../build/doc/pgRouting-concepts.rst:186 msgid "When routing from:" msgstr "Cuando se rutea desde:" -#: ../../build/doc/pgRouting-concepts.rst:155 -#: ../../build/doc/pgRouting-concepts.rst:163 +#: ../../build/doc/pgRouting-concepts.rst:156 +#: ../../build/doc/pgRouting-concepts.rst:164 msgid "From **one** starting vertex" msgstr "Desde el vértice inicial **one** " -#: ../../build/doc/pgRouting-concepts.rst:156 -#: ../../build/doc/pgRouting-concepts.rst:172 +#: ../../build/doc/pgRouting-concepts.rst:157 +#: ../../build/doc/pgRouting-concepts.rst:173 msgid "to **one** ending vertex" msgstr "al vértice final **one**" -#: ../../build/doc/pgRouting-concepts.rst:159 +#: ../../build/doc/pgRouting-concepts.rst:160 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgRouting-concepts.rst:164 -#: ../../build/doc/pgRouting-concepts.rst:180 +#: ../../build/doc/pgRouting-concepts.rst:165 +#: ../../build/doc/pgRouting-concepts.rst:181 msgid "to **many** ending vertices" msgstr "a los vértices finales **many**" -#: ../../build/doc/pgRouting-concepts.rst:167 +#: ../../build/doc/pgRouting-concepts.rst:168 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgRouting-concepts.rst:171 -#: ../../build/doc/pgRouting-concepts.rst:179 +#: ../../build/doc/pgRouting-concepts.rst:172 +#: ../../build/doc/pgRouting-concepts.rst:180 msgid "From **many** starting vertices" msgstr "Desde vértices iniciales **many**" -#: ../../build/doc/pgRouting-concepts.rst:175 +#: ../../build/doc/pgRouting-concepts.rst:176 msgid "Many to Many" msgstr "Muchos a Muchos" +#: ../../build/doc/pgRouting-concepts.rst:184 +msgid "Combinations" +msgstr "Combinaciones" + #: ../../build/doc/pgRouting-concepts.rst:188 +msgid "From **many** different starting vertices" +msgstr "A partir de **muchos** diferentes vértices de inicio" + +#: ../../build/doc/pgRouting-concepts.rst:189 +msgid "to **many** different ending vertices" +msgstr "a **muchos** diferentes vértices finales" + +#: ../../build/doc/pgRouting-concepts.rst:190 +msgid "Every tuple specifies a pair of a start vertex and an end vertex" +msgstr "Cada tupla especifica un par de vértices iniciales y un vértice final" + +#: ../../build/doc/pgRouting-concepts.rst:191 +msgid "Users can define the combinations as desired." +msgstr "Los usuarios pueden definir las combinaciones como deseen." + +#: ../../build/doc/pgRouting-concepts.rst:198 msgid "Inner Queries" msgstr "Consultas Internas" -#: ../../build/doc/pgRouting-concepts.rst:193 +#: ../../build/doc/pgRouting-concepts.rst:203 msgid "" "There are several kinds of valid inner queries and also the columns returned" " are depending of the function. Which kind of inner query will depend on the" @@ -340,11 +365,12 @@ msgstr "" " utiliza ``ANY-INTEGER`` y ``ANY-NUMERICAL``." #: ../../build/doc/flow-family.rst:21 -#: ../../build/doc/pgRouting-concepts.rst:199 -#: ../../build/doc/pgRouting-concepts.rst:228 -#: ../../build/doc/pgRouting-concepts.rst:257 -#: ../../build/doc/pgRouting-concepts.rst:315 -#: ../../build/doc/pgRouting-concepts.rst:361 +#: ../../build/doc/pgRouting-concepts.rst:209 +#: ../../build/doc/pgRouting-concepts.rst:238 +#: ../../build/doc/pgRouting-concepts.rst:267 +#: ../../build/doc/pgRouting-concepts.rst:325 +#: ../../build/doc/pgRouting-concepts.rst:371 +#: ../../build/doc/pgRouting-concepts.rst:391 msgid "Where:" msgstr "Donde:" @@ -353,10 +379,11 @@ msgid "ANY-INTEGER" msgstr "ANY-INTEGER" #: ../../build/doc/flow-family.rst:23 -#: ../../build/doc/pgRouting-concepts.rst:201 -#: ../../build/doc/pgRouting-concepts.rst:230 -#: ../../build/doc/pgRouting-concepts.rst:259 -#: ../../build/doc/pgRouting-concepts.rst:317 +#: ../../build/doc/pgRouting-concepts.rst:211 +#: ../../build/doc/pgRouting-concepts.rst:240 +#: ../../build/doc/pgRouting-concepts.rst:269 +#: ../../build/doc/pgRouting-concepts.rst:327 +#: ../../build/doc/pgRouting-concepts.rst:393 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -364,152 +391,162 @@ msgstr "SMALLINT, INTEGER, BIGINT" msgid "ANY-NUMERICAL" msgstr "ANY-NUMERICAL" -#: ../../build/doc/pgRouting-concepts.rst:202 -#: ../../build/doc/pgRouting-concepts.rst:231 -#: ../../build/doc/pgRouting-concepts.rst:260 -#: ../../build/doc/pgRouting-concepts.rst:318 +#: ../../build/doc/pgRouting-concepts.rst:212 +#: ../../build/doc/pgRouting-concepts.rst:241 +#: ../../build/doc/pgRouting-concepts.rst:270 +#: ../../build/doc/pgRouting-concepts.rst:328 msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgRouting-concepts.rst:208 +#: ../../build/doc/pgRouting-concepts.rst:218 msgid "Description of the edges_sql query for dijkstra like functions" msgstr "" "Descripción de la consulta edges_sql para funciones similares a dijkstra" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgRouting-concepts.rst:213 -#: ../../build/doc/pgRouting-concepts.rst:243 -#: ../../build/doc/pgRouting-concepts.rst:296 -#: ../../build/doc/pgRouting-concepts.rst:344 -#: ../../build/doc/pgRouting-concepts.rst:387 -#: ../../build/doc/pgRouting-concepts.rst:420 -#: ../../build/doc/pgRouting-concepts.rst:455 +#: ../../build/doc/pgRouting-concepts.rst:223 +#: ../../build/doc/pgRouting-concepts.rst:253 +#: ../../build/doc/pgRouting-concepts.rst:306 +#: ../../build/doc/pgRouting-concepts.rst:354 +#: ../../build/doc/pgRouting-concepts.rst:384 +#: ../../build/doc/pgRouting-concepts.rst:416 +#: ../../build/doc/pgRouting-concepts.rst:449 +#: ../../build/doc/pgRouting-concepts.rst:484 msgid "Column" msgstr "Columna" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgRouting-concepts.rst:213 -#: ../../build/doc/pgRouting-concepts.rst:243 -#: ../../build/doc/pgRouting-concepts.rst:272 -#: ../../build/doc/pgRouting-concepts.rst:296 -#: ../../build/doc/pgRouting-concepts.rst:344 -#: ../../build/doc/pgRouting-concepts.rst:387 -#: ../../build/doc/pgRouting-concepts.rst:420 -#: ../../build/doc/pgRouting-concepts.rst:455 +#: ../../build/doc/pgRouting-concepts.rst:223 +#: ../../build/doc/pgRouting-concepts.rst:253 +#: ../../build/doc/pgRouting-concepts.rst:282 +#: ../../build/doc/pgRouting-concepts.rst:306 +#: ../../build/doc/pgRouting-concepts.rst:354 +#: ../../build/doc/pgRouting-concepts.rst:384 +#: ../../build/doc/pgRouting-concepts.rst:416 +#: ../../build/doc/pgRouting-concepts.rst:449 +#: ../../build/doc/pgRouting-concepts.rst:484 msgid "Type" msgstr "Tipo" #: ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgRouting-concepts.rst:213 -#: ../../build/doc/pgRouting-concepts.rst:243 -#: ../../build/doc/pgRouting-concepts.rst:272 -#: ../../build/doc/pgRouting-concepts.rst:296 +#: ../../build/doc/pgRouting-concepts.rst:223 +#: ../../build/doc/pgRouting-concepts.rst:253 +#: ../../build/doc/pgRouting-concepts.rst:282 +#: ../../build/doc/pgRouting-concepts.rst:306 +#: ../../build/doc/pgRouting-concepts.rst:384 msgid "Default" msgstr "Valores predeterminados" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgRouting-concepts.rst:213 -#: ../../build/doc/pgRouting-concepts.rst:243 -#: ../../build/doc/pgRouting-concepts.rst:272 -#: ../../build/doc/pgRouting-concepts.rst:296 -#: ../../build/doc/pgRouting-concepts.rst:344 -#: ../../build/doc/pgRouting-concepts.rst:387 -#: ../../build/doc/pgRouting-concepts.rst:420 -#: ../../build/doc/pgRouting-concepts.rst:455 +#: ../../build/doc/pgRouting-concepts.rst:223 +#: ../../build/doc/pgRouting-concepts.rst:253 +#: ../../build/doc/pgRouting-concepts.rst:282 +#: ../../build/doc/pgRouting-concepts.rst:306 +#: ../../build/doc/pgRouting-concepts.rst:354 +#: ../../build/doc/pgRouting-concepts.rst:384 +#: ../../build/doc/pgRouting-concepts.rst:416 +#: ../../build/doc/pgRouting-concepts.rst:449 +#: ../../build/doc/pgRouting-concepts.rst:484 msgid "Description" msgstr "Descripción" #: ../../build/doc/flow-family.rst:8 -#: ../../build/doc/pgRouting-concepts.rst:215 -#: ../../build/doc/pgRouting-concepts.rst:298 +#: ../../build/doc/pgRouting-concepts.rst:225 +#: ../../build/doc/pgRouting-concepts.rst:308 msgid "**id**" msgstr "**id**" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 #: ../../build/doc/flow-family.rst:14 ../../build/doc/flow-family.rst:15 -#: ../../build/doc/pgRouting-concepts.rst:215 -#: ../../build/doc/pgRouting-concepts.rst:216 -#: ../../build/doc/pgRouting-concepts.rst:217 -#: ../../build/doc/pgRouting-concepts.rst:245 -#: ../../build/doc/pgRouting-concepts.rst:246 -#: ../../build/doc/pgRouting-concepts.rst:298 -#: ../../build/doc/pgRouting-concepts.rst:299 -#: ../../build/doc/pgRouting-concepts.rst:300 -#: ../../build/doc/pgRouting-concepts.rst:346 -#: ../../build/doc/pgRouting-concepts.rst:351 +#: ../../build/doc/pgRouting-concepts.rst:225 +#: ../../build/doc/pgRouting-concepts.rst:226 +#: ../../build/doc/pgRouting-concepts.rst:227 +#: ../../build/doc/pgRouting-concepts.rst:255 +#: ../../build/doc/pgRouting-concepts.rst:256 +#: ../../build/doc/pgRouting-concepts.rst:308 +#: ../../build/doc/pgRouting-concepts.rst:309 +#: ../../build/doc/pgRouting-concepts.rst:310 +#: ../../build/doc/pgRouting-concepts.rst:356 +#: ../../build/doc/pgRouting-concepts.rst:361 +#: ../../build/doc/pgRouting-concepts.rst:386 +#: ../../build/doc/pgRouting-concepts.rst:387 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" #: ../../build/doc/flow-family.rst:8 -#: ../../build/doc/pgRouting-concepts.rst:215 -#: ../../build/doc/pgRouting-concepts.rst:298 +#: ../../build/doc/pgRouting-concepts.rst:225 +#: ../../build/doc/pgRouting-concepts.rst:308 msgid "Identifier of the edge." msgstr "Identificador de la arista." #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:216 -#: ../../build/doc/pgRouting-concepts.rst:245 -#: ../../build/doc/pgRouting-concepts.rst:299 +#: ../../build/doc/pgRouting-concepts.rst:226 +#: ../../build/doc/pgRouting-concepts.rst:255 +#: ../../build/doc/pgRouting-concepts.rst:309 +#: ../../build/doc/pgRouting-concepts.rst:386 msgid "**source**" msgstr "**origen**" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:216 -#: ../../build/doc/pgRouting-concepts.rst:245 -#: ../../build/doc/pgRouting-concepts.rst:299 +#: ../../build/doc/pgRouting-concepts.rst:226 +#: ../../build/doc/pgRouting-concepts.rst:255 +#: ../../build/doc/pgRouting-concepts.rst:309 +#: ../../build/doc/pgRouting-concepts.rst:386 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 -#: ../../build/doc/pgRouting-concepts.rst:217 -#: ../../build/doc/pgRouting-concepts.rst:246 -#: ../../build/doc/pgRouting-concepts.rst:300 +#: ../../build/doc/pgRouting-concepts.rst:227 +#: ../../build/doc/pgRouting-concepts.rst:256 +#: ../../build/doc/pgRouting-concepts.rst:310 +#: ../../build/doc/pgRouting-concepts.rst:387 msgid "**target**" msgstr "**objetivo**" #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 -#: ../../build/doc/pgRouting-concepts.rst:217 -#: ../../build/doc/pgRouting-concepts.rst:246 -#: ../../build/doc/pgRouting-concepts.rst:300 +#: ../../build/doc/pgRouting-concepts.rst:227 +#: ../../build/doc/pgRouting-concepts.rst:256 +#: ../../build/doc/pgRouting-concepts.rst:310 +#: ../../build/doc/pgRouting-concepts.rst:387 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/flow-family.rst:12 ../../build/doc/flow-family.rst:17 -#: ../../build/doc/pgRouting-concepts.rst:218 -#: ../../build/doc/pgRouting-concepts.rst:247 -#: ../../build/doc/pgRouting-concepts.rst:301 -#: ../../build/doc/pgRouting-concepts.rst:405 -#: ../../build/doc/pgRouting-concepts.rst:440 +#: ../../build/doc/pgRouting-concepts.rst:228 +#: ../../build/doc/pgRouting-concepts.rst:257 +#: ../../build/doc/pgRouting-concepts.rst:311 +#: ../../build/doc/pgRouting-concepts.rst:434 +#: ../../build/doc/pgRouting-concepts.rst:469 msgid "**cost**" msgstr "**cost**" #: ../../build/doc/flow-family.rst:17 ../../build/doc/flow-family.rst:18 -#: ../../build/doc/pgRouting-concepts.rst:218 -#: ../../build/doc/pgRouting-concepts.rst:222 -#: ../../build/doc/pgRouting-concepts.rst:247 -#: ../../build/doc/pgRouting-concepts.rst:251 -#: ../../build/doc/pgRouting-concepts.rst:301 -#: ../../build/doc/pgRouting-concepts.rst:305 -#: ../../build/doc/pgRouting-concepts.rst:309 -#: ../../build/doc/pgRouting-concepts.rst:310 +#: ../../build/doc/pgRouting-concepts.rst:228 +#: ../../build/doc/pgRouting-concepts.rst:232 +#: ../../build/doc/pgRouting-concepts.rst:257 +#: ../../build/doc/pgRouting-concepts.rst:261 #: ../../build/doc/pgRouting-concepts.rst:311 -#: ../../build/doc/pgRouting-concepts.rst:312 -#: ../../build/doc/pgRouting-concepts.rst:352 +#: ../../build/doc/pgRouting-concepts.rst:315 +#: ../../build/doc/pgRouting-concepts.rst:319 +#: ../../build/doc/pgRouting-concepts.rst:320 +#: ../../build/doc/pgRouting-concepts.rst:321 +#: ../../build/doc/pgRouting-concepts.rst:322 +#: ../../build/doc/pgRouting-concepts.rst:362 msgid "``ANY-NUMERICAL``" msgstr "``ANY-NUMERICAL``" #: ../../build/doc/flow-family.rst:11 -#: ../../build/doc/pgRouting-concepts.rst:218 -#: ../../build/doc/pgRouting-concepts.rst:247 -#: ../../build/doc/pgRouting-concepts.rst:301 +#: ../../build/doc/pgRouting-concepts.rst:228 +#: ../../build/doc/pgRouting-concepts.rst:257 +#: ../../build/doc/pgRouting-concepts.rst:311 msgid "Weight of the edge `(source, target)`" msgstr "Peso de la arista `(source, target)`" #: ../../build/doc/flow-family.rst:13 -#: ../../build/doc/pgRouting-concepts.rst:220 -#: ../../build/doc/pgRouting-concepts.rst:249 -#: ../../build/doc/pgRouting-concepts.rst:303 +#: ../../build/doc/pgRouting-concepts.rst:230 +#: ../../build/doc/pgRouting-concepts.rst:259 +#: ../../build/doc/pgRouting-concepts.rst:313 msgid "" "When negative: edge `(source, target)` does not exist, therefore it's not " "part of the graph." @@ -518,30 +555,30 @@ msgstr "" "es parte del grafo." #: ../../build/doc/flow-family.rst:18 -#: ../../build/doc/pgRouting-concepts.rst:222 -#: ../../build/doc/pgRouting-concepts.rst:251 -#: ../../build/doc/pgRouting-concepts.rst:305 +#: ../../build/doc/pgRouting-concepts.rst:232 +#: ../../build/doc/pgRouting-concepts.rst:261 +#: ../../build/doc/pgRouting-concepts.rst:315 msgid "**reverse_cost**" msgstr "**reverse_cost**" #: ../../build/doc/flow-family.rst:14 ../../build/doc/flow-family.rst:15 -#: ../../build/doc/pgRouting-concepts.rst:222 -#: ../../build/doc/pgRouting-concepts.rst:251 -#: ../../build/doc/pgRouting-concepts.rst:305 +#: ../../build/doc/pgRouting-concepts.rst:232 +#: ../../build/doc/pgRouting-concepts.rst:261 +#: ../../build/doc/pgRouting-concepts.rst:315 msgid "-1" msgstr "-1" #: ../../build/doc/flow-family.rst:15 -#: ../../build/doc/pgRouting-concepts.rst:222 -#: ../../build/doc/pgRouting-concepts.rst:251 -#: ../../build/doc/pgRouting-concepts.rst:305 +#: ../../build/doc/pgRouting-concepts.rst:232 +#: ../../build/doc/pgRouting-concepts.rst:261 +#: ../../build/doc/pgRouting-concepts.rst:315 msgid "Weight of the edge `(target, source)`," msgstr "Peso de la arista `(target, source)`," #: ../../build/doc/flow-family.rst:16 ../../build/doc/flow-family.rst:17 -#: ../../build/doc/pgRouting-concepts.rst:224 -#: ../../build/doc/pgRouting-concepts.rst:253 -#: ../../build/doc/pgRouting-concepts.rst:307 +#: ../../build/doc/pgRouting-concepts.rst:234 +#: ../../build/doc/pgRouting-concepts.rst:263 +#: ../../build/doc/pgRouting-concepts.rst:317 msgid "" "When negative: edge `(target, source)` does not exist, therefore it's not " "part of the graph." @@ -549,7 +586,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." -#: ../../build/doc/pgRouting-concepts.rst:239 +#: ../../build/doc/pgRouting-concepts.rst:249 msgid "Description of the edges_sql query (id is not necessary)" msgstr "Descripción de la consulta edges_sql (no es necesarioun id)" @@ -557,95 +594,95 @@ msgstr "Descripción de la consulta edges_sql (no es necesarioun id)" msgid "edges_sql" msgstr "edges_sql" -#: ../../build/doc/pgRouting-concepts.rst:240 -#: ../../build/doc/pgRouting-concepts.rst:293 -#: ../../build/doc/pgRouting-concepts.rst:341 +#: ../../build/doc/pgRouting-concepts.rst:250 +#: ../../build/doc/pgRouting-concepts.rst:303 +#: ../../build/doc/pgRouting-concepts.rst:351 msgid "" "an SQL query, which should return a set of rows with the following columns:" msgstr "" "Una consulta SQL, que debe regresar un conjunto de filas con las siguientes " "columnas:" -#: ../../build/doc/pgRouting-concepts.rst:269 +#: ../../build/doc/pgRouting-concepts.rst:279 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgRouting-concepts.rst:272 +#: ../../build/doc/pgRouting-concepts.rst:282 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/pgRouting-concepts.rst:274 +#: ../../build/doc/pgRouting-concepts.rst:284 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgRouting-concepts.rst:274 +#: ../../build/doc/pgRouting-concepts.rst:284 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgRouting-concepts.rst:274 +#: ../../build/doc/pgRouting-concepts.rst:284 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." -#: ../../build/doc/pgRouting-concepts.rst:275 +#: ../../build/doc/pgRouting-concepts.rst:285 msgid "**via_vertices**" msgstr "**via_vertices**" -#: ../../build/doc/pgRouting-concepts.rst:275 +#: ../../build/doc/pgRouting-concepts.rst:285 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgRouting-concepts.rst:275 +#: ../../build/doc/pgRouting-concepts.rst:285 msgid "Array of ordered vertices identifiers that are going to be visited." msgstr "Arreglo de identificadores de vértices ordenados que serán visitados." -#: ../../build/doc/pgRouting-concepts.rst:276 +#: ../../build/doc/pgRouting-concepts.rst:286 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgRouting-concepts.rst:276 -#: ../../build/doc/pgRouting-concepts.rst:278 -#: ../../build/doc/pgRouting-concepts.rst:280 +#: ../../build/doc/pgRouting-concepts.rst:286 +#: ../../build/doc/pgRouting-concepts.rst:288 +#: ../../build/doc/pgRouting-concepts.rst:290 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgRouting-concepts.rst:276 -#: ../../build/doc/pgRouting-concepts.rst:280 +#: ../../build/doc/pgRouting-concepts.rst:286 +#: ../../build/doc/pgRouting-concepts.rst:290 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgRouting-concepts.rst:276 +#: ../../build/doc/pgRouting-concepts.rst:286 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgRouting-concepts.rst:277 +#: ../../build/doc/pgRouting-concepts.rst:287 msgid "When ``false`` the graph is considered as Undirected." msgstr "Cuando ``false`` el gráfico se considera como No Dirigido" -#: ../../build/doc/pgRouting-concepts.rst:278 +#: ../../build/doc/pgRouting-concepts.rst:288 msgid "**strict**" msgstr "**strict**" -#: ../../build/doc/pgRouting-concepts.rst:278 +#: ../../build/doc/pgRouting-concepts.rst:288 msgid "``false``" msgstr "``false``" -#: ../../build/doc/pgRouting-concepts.rst:278 +#: ../../build/doc/pgRouting-concepts.rst:288 msgid "When ``false`` ignores missing paths returning all paths found" msgstr "" "En caso de ``false``, ignora las rutas faltantes y devuelve todas las rutas " "encontradas" -#: ../../build/doc/pgRouting-concepts.rst:279 +#: ../../build/doc/pgRouting-concepts.rst:289 msgid "When ``true`` if a path is missing stops and returns `EMPTY SET`" msgstr "" "en caso de ``true`` si falta una ruta de acceso se detiene y devuelve `EMPTY" " SET`" -#: ../../build/doc/pgRouting-concepts.rst:280 +#: ../../build/doc/pgRouting-concepts.rst:290 msgid "**U_turn_on_edge**" msgstr "**U_turn_on_edge**" -#: ../../build/doc/pgRouting-concepts.rst:280 +#: ../../build/doc/pgRouting-concepts.rst:290 msgid "" "When ``true`` departing from a visited vertex will not try to avoid using " "the edge used to reach it. In other words, U turn using the edge with same " @@ -655,7 +692,7 @@ msgstr "" "uso de la arista utilizada para alcanzarlo. En otras palabras, se permite " "el giro U utilizando la arista con el mismo 'id'." -#: ../../build/doc/pgRouting-concepts.rst:281 +#: ../../build/doc/pgRouting-concepts.rst:291 msgid "" "When ``false`` when a departing from a visited vertex tries to avoid using " "the edge used to reach it. In other words, U turn using the edge with same " @@ -666,47 +703,47 @@ msgstr "" "utiliza el giro U utilizando el borde con el mismo `id` cuando no se " "encuentra ninguna otra ruta." -#: ../../build/doc/pgRouting-concepts.rst:289 +#: ../../build/doc/pgRouting-concepts.rst:299 msgid "" "edges_sql query for :doc:`aStar-family` and :doc:`aStar-family` functions" msgstr "" "consulta edges_sql para las funciones :doc:`aStar-family` y :doc:`aStar-" "family`" -#: ../../build/doc/pgRouting-concepts.rst:309 +#: ../../build/doc/pgRouting-concepts.rst:319 msgid "**x1**" msgstr "**x1**" -#: ../../build/doc/pgRouting-concepts.rst:309 +#: ../../build/doc/pgRouting-concepts.rst:319 msgid "X coordinate of `source` vertex." msgstr "Coordenada X del vértice `source`." -#: ../../build/doc/pgRouting-concepts.rst:310 +#: ../../build/doc/pgRouting-concepts.rst:320 msgid "**y1**" msgstr "**y1**" -#: ../../build/doc/pgRouting-concepts.rst:310 +#: ../../build/doc/pgRouting-concepts.rst:320 msgid "Y coordinate of `source` vertex." msgstr "Coordenada Y del vértice `source`." -#: ../../build/doc/pgRouting-concepts.rst:311 +#: ../../build/doc/pgRouting-concepts.rst:321 msgid "**x2**" msgstr "**x2**" -#: ../../build/doc/pgRouting-concepts.rst:311 +#: ../../build/doc/pgRouting-concepts.rst:321 msgid "X coordinate of `target` vertex." msgstr "Coordenada X del vértice `objetivo`." -#: ../../build/doc/pgRouting-concepts.rst:312 +#: ../../build/doc/pgRouting-concepts.rst:322 msgid "**y2**" msgstr "**y2**" -#: ../../build/doc/pgRouting-concepts.rst:312 +#: ../../build/doc/pgRouting-concepts.rst:322 msgid "Y coordinate of `target` vertex." msgstr "Coordenada Y del vértice `target`." -#: ../../build/doc/pgRouting-concepts.rst:325 -#: ../../build/doc/pgRouting-concepts.rst:470 +#: ../../build/doc/pgRouting-concepts.rst:335 +#: ../../build/doc/pgRouting-concepts.rst:499 msgid "" "For :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp " "`, :doc:`pgr_boykovKolmogorov ` :" @@ -734,7 +771,7 @@ msgstr "**capacidad**" msgid "**reverse_capacity**" msgstr "**reverse_capacity** (**capacidad inversa**)" -#: ../../build/doc/pgRouting-concepts.rst:331 +#: ../../build/doc/pgRouting-concepts.rst:341 msgid "For :doc:`pgr_maxFlowMinCost` and :doc:`pgr_maxFlowMinCost_Cost`:" msgstr "Para :doc:`pgr_maxFlowMinCost` and :doc:`pgr_maxFlowMinCost_Cost`:" @@ -759,11 +796,11 @@ msgid "Weight of the edge `(target, source)` if it exists." msgstr "Peso de la arista `(destino, origen)` si existe." #: ../../build/doc/flow-family.rst:24 -#: ../../build/doc/pgRouting-concepts.rst:364 +#: ../../build/doc/pgRouting-concepts.rst:374 msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgRouting-concepts.rst:340 +#: ../../build/doc/pgRouting-concepts.rst:350 msgid "Description of the Points SQL query" msgstr "Descripción de la consulta SSQL de Puntos" @@ -771,38 +808,38 @@ msgstr "Descripción de la consulta SSQL de Puntos" msgid "points_sql" msgstr "points_sql" -#: ../../build/doc/pgRouting-concepts.rst:346 +#: ../../build/doc/pgRouting-concepts.rst:356 msgid "**pid**" msgstr "**pid**" -#: ../../build/doc/pgRouting-concepts.rst:346 +#: ../../build/doc/pgRouting-concepts.rst:356 msgid "(optional) Identifier of the point." msgstr "(opcional) Identificador del punto." -#: ../../build/doc/pgRouting-concepts.rst:348 +#: ../../build/doc/pgRouting-concepts.rst:358 msgid "If column present, it can not be NULL." msgstr "Si la columna está presente, no puede ser NULL." -#: ../../build/doc/pgRouting-concepts.rst:349 +#: ../../build/doc/pgRouting-concepts.rst:359 msgid "" "If column not present, a sequential identifier will be given automatically." msgstr "" "Si la columna no está presente, se proporcionará automáticamente un " "identificador secuencial." -#: ../../build/doc/pgRouting-concepts.rst:351 +#: ../../build/doc/pgRouting-concepts.rst:361 msgid "**edge_id**" msgstr "**edge_id**" -#: ../../build/doc/pgRouting-concepts.rst:351 +#: ../../build/doc/pgRouting-concepts.rst:361 msgid "Identifier of the \"closest\" edge to the point." msgstr "Identificador de la arista \"más cercano\" al punto." -#: ../../build/doc/pgRouting-concepts.rst:352 +#: ../../build/doc/pgRouting-concepts.rst:362 msgid "**fraction**" msgstr "**fraction**" -#: ../../build/doc/pgRouting-concepts.rst:352 +#: ../../build/doc/pgRouting-concepts.rst:362 msgid "" "Value in <0,1> that indicates the relative postition from the first end " "point of the edge." @@ -810,48 +847,54 @@ msgstr "" "El valor en <0,1> que indica la posición relativa desde el primer punto " "final de la arista." -#: ../../build/doc/pgRouting-concepts.rst:353 +#: ../../build/doc/pgRouting-concepts.rst:363 msgid "**side**" msgstr "**side**" -#: ../../build/doc/pgRouting-concepts.rst:353 +#: ../../build/doc/pgRouting-concepts.rst:363 msgid "``CHAR``" msgstr "``CHAR``" -#: ../../build/doc/pgRouting-concepts.rst:353 +#: ../../build/doc/pgRouting-concepts.rst:363 msgid "(optional) Value in ['b', 'r', 'l', NULL] indicating if the point is:" msgstr "(opcional) Valor en ['b', 'r', 'l', NULL] que indica si el punto es:" -#: ../../build/doc/pgRouting-concepts.rst:355 +#: ../../build/doc/pgRouting-concepts.rst:365 msgid "In the right, left of the edge or" msgstr "A la derecha, a la izquierda del borde o" -#: ../../build/doc/pgRouting-concepts.rst:356 +#: ../../build/doc/pgRouting-concepts.rst:366 msgid "If it doesn't matter with 'b' or NULL." msgstr "Si no importa con 'b' o NULL." -#: ../../build/doc/pgRouting-concepts.rst:357 +#: ../../build/doc/pgRouting-concepts.rst:367 msgid "If column not present 'b' is considered." msgstr "Si la columna no presente 'b' es considerada" -#: ../../build/doc/pgRouting-concepts.rst:363 +#: ../../build/doc/pgRouting-concepts.rst:373 msgid "smallint, int, bigint" msgstr "smallint, int, bigint" -#: ../../build/doc/pgRouting-concepts.rst:372 +#: ../../build/doc/pgRouting-concepts.rst:379 +msgid "Description of the combinations_sql query for dijkstra like functions" +msgstr "" +"Descripción de la consulta de combinaciones_sql para funciones similares a " +"dijkstra" + +#: ../../build/doc/pgRouting-concepts.rst:401 msgid "Return columns & values" msgstr "Devolución de columnas y valores" -#: ../../build/doc/pgRouting-concepts.rst:377 +#: ../../build/doc/pgRouting-concepts.rst:406 msgid "" "There are several kinds of columns returned are depending of the function." msgstr "Hay varios tipos de columnas devueltas que dependen de la función." -#: ../../build/doc/pgRouting-concepts.rst:380 +#: ../../build/doc/pgRouting-concepts.rst:409 msgid "Return values for a path" msgstr "Valores devueltos para una ruta" -#: ../../build/doc/pgRouting-concepts.rst:384 +#: ../../build/doc/pgRouting-concepts.rst:413 msgid "" "Returns set of ``(seq, path_seq [, start_vid] [, end_vid], node, edge, cost," " agg_cost)``" @@ -860,33 +903,33 @@ msgstr "" "edge, cost, agg_cost)``" #: ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgRouting-concepts.rst:389 -#: ../../build/doc/pgRouting-concepts.rst:422 +#: ../../build/doc/pgRouting-concepts.rst:418 +#: ../../build/doc/pgRouting-concepts.rst:451 msgid "**seq**" msgstr "**seq**" #: ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgRouting-concepts.rst:389 -#: ../../build/doc/pgRouting-concepts.rst:390 -#: ../../build/doc/pgRouting-concepts.rst:422 -#: ../../build/doc/pgRouting-concepts.rst:423 -#: ../../build/doc/pgRouting-concepts.rst:424 +#: ../../build/doc/pgRouting-concepts.rst:418 +#: ../../build/doc/pgRouting-concepts.rst:419 +#: ../../build/doc/pgRouting-concepts.rst:451 +#: ../../build/doc/pgRouting-concepts.rst:452 +#: ../../build/doc/pgRouting-concepts.rst:453 msgid "``INT``" msgstr "``INT``" #: ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgRouting-concepts.rst:389 -#: ../../build/doc/pgRouting-concepts.rst:422 +#: ../../build/doc/pgRouting-concepts.rst:418 +#: ../../build/doc/pgRouting-concepts.rst:451 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/pgRouting-concepts.rst:390 -#: ../../build/doc/pgRouting-concepts.rst:424 +#: ../../build/doc/pgRouting-concepts.rst:419 +#: ../../build/doc/pgRouting-concepts.rst:453 msgid "**path_seq**" msgstr "**path_seq**" -#: ../../build/doc/pgRouting-concepts.rst:390 -#: ../../build/doc/pgRouting-concepts.rst:424 +#: ../../build/doc/pgRouting-concepts.rst:419 +#: ../../build/doc/pgRouting-concepts.rst:453 msgid "" "Relative position in the path. Has value **1** for the beginning of a path." msgstr "" @@ -894,30 +937,30 @@ msgstr "" "ruta." #: ../../build/doc/flow-family.rst:8 -#: ../../build/doc/pgRouting-concepts.rst:391 -#: ../../build/doc/pgRouting-concepts.rst:425 -#: ../../build/doc/pgRouting-concepts.rst:457 +#: ../../build/doc/pgRouting-concepts.rst:420 +#: ../../build/doc/pgRouting-concepts.rst:454 +#: ../../build/doc/pgRouting-concepts.rst:486 msgid "**start_vid**" msgstr "**start_vid**" #: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:8 #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 #: ../../build/doc/flow-family.rst:11 -#: ../../build/doc/pgRouting-concepts.rst:391 -#: ../../build/doc/pgRouting-concepts.rst:397 -#: ../../build/doc/pgRouting-concepts.rst:403 -#: ../../build/doc/pgRouting-concepts.rst:404 -#: ../../build/doc/pgRouting-concepts.rst:425 +#: ../../build/doc/pgRouting-concepts.rst:420 +#: ../../build/doc/pgRouting-concepts.rst:426 #: ../../build/doc/pgRouting-concepts.rst:432 -#: ../../build/doc/pgRouting-concepts.rst:438 -#: ../../build/doc/pgRouting-concepts.rst:439 -#: ../../build/doc/pgRouting-concepts.rst:457 -#: ../../build/doc/pgRouting-concepts.rst:458 +#: ../../build/doc/pgRouting-concepts.rst:433 +#: ../../build/doc/pgRouting-concepts.rst:454 +#: ../../build/doc/pgRouting-concepts.rst:461 +#: ../../build/doc/pgRouting-concepts.rst:467 +#: ../../build/doc/pgRouting-concepts.rst:468 +#: ../../build/doc/pgRouting-concepts.rst:486 +#: ../../build/doc/pgRouting-concepts.rst:487 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgRouting-concepts.rst:391 -#: ../../build/doc/pgRouting-concepts.rst:425 +#: ../../build/doc/pgRouting-concepts.rst:420 +#: ../../build/doc/pgRouting-concepts.rst:454 msgid "" "Identifier of the starting vertex. Returned when multiple starting vetrices " "are in the query." @@ -926,14 +969,14 @@ msgstr "" "iniciales en la consulta." #: ../../build/doc/flow-family.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:397 -#: ../../build/doc/pgRouting-concepts.rst:432 -#: ../../build/doc/pgRouting-concepts.rst:458 +#: ../../build/doc/pgRouting-concepts.rst:426 +#: ../../build/doc/pgRouting-concepts.rst:461 +#: ../../build/doc/pgRouting-concepts.rst:487 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgRouting-concepts.rst:397 -#: ../../build/doc/pgRouting-concepts.rst:432 +#: ../../build/doc/pgRouting-concepts.rst:426 +#: ../../build/doc/pgRouting-concepts.rst:461 msgid "" "Identifier of the ending vertex. Returned when multiple ending vertices are " "in the query." @@ -941,24 +984,24 @@ msgstr "" "Identificador del vértice final. Se devuelve cuando hay varios vértices " "finales en la consulta." -#: ../../build/doc/pgRouting-concepts.rst:403 -#: ../../build/doc/pgRouting-concepts.rst:438 +#: ../../build/doc/pgRouting-concepts.rst:432 +#: ../../build/doc/pgRouting-concepts.rst:467 msgid "**node**" msgstr "**node**" -#: ../../build/doc/pgRouting-concepts.rst:403 -#: ../../build/doc/pgRouting-concepts.rst:438 +#: ../../build/doc/pgRouting-concepts.rst:432 +#: ../../build/doc/pgRouting-concepts.rst:467 msgid "Identifier of the node in the path from ``start_vid`` to ``end_vid``." msgstr "Identificador del nodo en la ruta de ``start_vid`` a ``end_vid``." #: ../../build/doc/flow-family.rst:7 -#: ../../build/doc/pgRouting-concepts.rst:404 -#: ../../build/doc/pgRouting-concepts.rst:439 +#: ../../build/doc/pgRouting-concepts.rst:433 +#: ../../build/doc/pgRouting-concepts.rst:468 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/pgRouting-concepts.rst:404 -#: ../../build/doc/pgRouting-concepts.rst:439 +#: ../../build/doc/pgRouting-concepts.rst:433 +#: ../../build/doc/pgRouting-concepts.rst:468 msgid "" "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." @@ -967,16 +1010,16 @@ msgstr "" "la secuencia de ruta. ``-1`` para el último nodo de la ruta." #: ../../build/doc/flow-family.rst:12 ../../build/doc/flow-family.rst:13 -#: ../../build/doc/pgRouting-concepts.rst:405 -#: ../../build/doc/pgRouting-concepts.rst:406 -#: ../../build/doc/pgRouting-concepts.rst:440 -#: ../../build/doc/pgRouting-concepts.rst:441 -#: ../../build/doc/pgRouting-concepts.rst:459 +#: ../../build/doc/pgRouting-concepts.rst:434 +#: ../../build/doc/pgRouting-concepts.rst:435 +#: ../../build/doc/pgRouting-concepts.rst:469 +#: ../../build/doc/pgRouting-concepts.rst:470 +#: ../../build/doc/pgRouting-concepts.rst:488 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgRouting-concepts.rst:405 -#: ../../build/doc/pgRouting-concepts.rst:440 +#: ../../build/doc/pgRouting-concepts.rst:434 +#: ../../build/doc/pgRouting-concepts.rst:469 msgid "" "Cost to traverse from ``node`` using ``edge`` to the next node in the path " "sequence." @@ -985,22 +1028,22 @@ msgstr "" "nodo en la secuencia de ruta." #: ../../build/doc/flow-family.rst:13 -#: ../../build/doc/pgRouting-concepts.rst:406 -#: ../../build/doc/pgRouting-concepts.rst:441 -#: ../../build/doc/pgRouting-concepts.rst:459 +#: ../../build/doc/pgRouting-concepts.rst:435 +#: ../../build/doc/pgRouting-concepts.rst:470 +#: ../../build/doc/pgRouting-concepts.rst:488 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgRouting-concepts.rst:406 -#: ../../build/doc/pgRouting-concepts.rst:441 +#: ../../build/doc/pgRouting-concepts.rst:435 +#: ../../build/doc/pgRouting-concepts.rst:470 msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgRouting-concepts.rst:413 +#: ../../build/doc/pgRouting-concepts.rst:442 msgid "Return values for multiple paths from the same source and destination" msgstr "Valores devueltos para varias rutas desde el mismo origen y destino" -#: ../../build/doc/pgRouting-concepts.rst:417 +#: ../../build/doc/pgRouting-concepts.rst:446 msgid "" "Returns set of ``(seq, path_id, path_seq [, start_vid] [, end_vid], node, " "edge, cost, agg_cost)``" @@ -1008,11 +1051,11 @@ msgstr "" "Devuelve el conjunto de ``(seq, path_id, path_seq [, start_vid] [, end_vid]," " node, edge, cost, agg_cost)``" -#: ../../build/doc/pgRouting-concepts.rst:423 +#: ../../build/doc/pgRouting-concepts.rst:452 msgid "**path_id**" msgstr "**path_id**" -#: ../../build/doc/pgRouting-concepts.rst:423 +#: ../../build/doc/pgRouting-concepts.rst:452 msgid "" "Path identifier. Has value **1** for the first of a path. Used when there " "are multiple paths for the same ``start_vid`` to ``end_vid`` combination." @@ -1021,18 +1064,18 @@ msgstr "" "utiliza cuando hay varias rutas para la misma combinación de ``start_vid`` " "a ``end_vid``." -#: ../../build/doc/pgRouting-concepts.rst:448 +#: ../../build/doc/pgRouting-concepts.rst:477 msgid "" "Description of the return values for a :doc:`costMatrix-category` function" msgstr "" "Descripción de los valores devueltos para una función :doc:`costMatrix-" "category`" -#: ../../build/doc/pgRouting-concepts.rst:452 +#: ../../build/doc/pgRouting-concepts.rst:481 msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" msgstr "Devuelve SET OF ``(start_vid, end_vid, agg_cost)``" -#: ../../build/doc/pgRouting-concepts.rst:457 +#: ../../build/doc/pgRouting-concepts.rst:486 msgid "" "Identifier of the starting vertex. Used when multiple starting vetrices are " "in the query." @@ -1040,7 +1083,7 @@ msgstr "" "Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " "iniciales en la consulta." -#: ../../build/doc/pgRouting-concepts.rst:458 +#: ../../build/doc/pgRouting-concepts.rst:487 msgid "" "Identifier of the ending vertex. Used when multiple ending vertices are in " "the query." @@ -1048,11 +1091,11 @@ msgstr "" "Identificador del vértice final. Se utiliza cuando hay varios vértices " "finales en la consulta." -#: ../../build/doc/pgRouting-concepts.rst:459 +#: ../../build/doc/pgRouting-concepts.rst:488 msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgRouting-concepts.rst:467 +#: ../../build/doc/pgRouting-concepts.rst:496 msgid "Description of the Return Values" msgstr "Descripción de los valores devueltos" @@ -1079,7 +1122,7 @@ msgid "" msgstr "" "Capacidad residual del arista en la dirección (``start_vid``, ``end_vid``)." -#: ../../build/doc/pgRouting-concepts.rst:476 +#: ../../build/doc/pgRouting-concepts.rst:505 msgid "For :doc:`pgr_maxFlowMinCost`" msgstr "Para :doc:`pgr_maxFlowMinCost`" @@ -1103,20 +1146,20 @@ msgstr "" msgid "The aggregate cost." msgstr "El costo agregado." -#: ../../build/doc/pgRouting-concepts.rst:485 +#: ../../build/doc/pgRouting-concepts.rst:514 msgid "Advanced Topics" msgstr "Tópicos avanzados" -#: ../../build/doc/pgRouting-concepts.rst:493 +#: ../../build/doc/pgRouting-concepts.rst:522 msgid "Routing Topology" msgstr "Topología para Ruteo" -#: ../../build/doc/pgRouting-concepts.rst:497 -#: ../../build/doc/pgRouting-concepts.rst:598 +#: ../../build/doc/pgRouting-concepts.rst:526 +#: ../../build/doc/pgRouting-concepts.rst:627 msgid "Overview" msgstr "Resumen" -#: ../../build/doc/pgRouting-concepts.rst:498 +#: ../../build/doc/pgRouting-concepts.rst:527 msgid "" "Typically when GIS files are loaded into the data database for use with " "pgRouting they do not have topology information associated with them. To " @@ -1134,7 +1177,7 @@ msgstr "" "suponiendo que puede navegar a cualquier otro segmento mediante la " "intersección de cualquiera de estos segmentos." -#: ../../build/doc/pgRouting-concepts.rst:500 +#: ../../build/doc/pgRouting-concepts.rst:529 msgid "" "You can use the :ref:`graph analysis functions ` to help you see " "where you might have topology problems in your data. If you need to node " @@ -1150,7 +1193,7 @@ msgstr "" "función divide TODOS los segmentos cruzados y los une. Hay algunos casos en " "los que esto podría NO ser lo correcto." -#: ../../build/doc/pgRouting-concepts.rst:502 +#: ../../build/doc/pgRouting-concepts.rst:531 msgid "" "For example, when you have an overpass and underpass intersection, you do " "not want these noded, but pgr_nodeNetwork does not know that is the case and" @@ -1168,7 +1211,7 @@ msgstr "" "intersecciones o para otros casos en donde crear el nodo de la intersección " "no sea lo correcto." -#: ../../build/doc/pgRouting-concepts.rst:504 +#: ../../build/doc/pgRouting-concepts.rst:533 msgid "" "For those cases where topology needs to be added the following functions may" " be useful. One way to prep the data for pgRouting is to add the following " @@ -1186,7 +1229,7 @@ msgstr "" "contienen valores de datos específicos. Esto es sólo para darle una idea de " "lo que se puede hacer con los datos." -#: ../../build/doc/pgRouting-concepts.rst:525 +#: ../../build/doc/pgRouting-concepts.rst:554 msgid "" "The function :doc:`pgr_createTopology ` will create the " "``vertices_tmp`` table and populate the ``source`` and ``target`` columns. " @@ -1200,7 +1243,7 @@ msgstr "" "contiene código de clase de entidad y las declaraciones ``CASE`` lo " "convierten a una velocidad promedio." -#: ../../build/doc/pgRouting-concepts.rst:588 +#: ../../build/doc/pgRouting-concepts.rst:617 msgid "" "Now your database should be ready to use any (most?) of the pgRouting " "algorithms." @@ -1208,11 +1251,11 @@ msgstr "" "Ahora su base de datos debe estar lista para usarse en cualquiera (mayoría?)" " de los algoritmos de pgRouting." -#: ../../build/doc/pgRouting-concepts.rst:594 +#: ../../build/doc/pgRouting-concepts.rst:623 msgid "Graph Analytics" msgstr "Análisis de gráficas" -#: ../../build/doc/pgRouting-concepts.rst:599 +#: ../../build/doc/pgRouting-concepts.rst:628 msgid "" "It is common to find problems with graphs that have not been constructed " "fully noded or in graphs with z-levels at intersection that have been " @@ -1229,7 +1272,7 @@ msgstr "" "podemos buscar inconsistencias y algunas anomalías en un gráfico y les " "reportarlas para inspecciones adicionales." -#: ../../build/doc/pgRouting-concepts.rst:601 +#: ../../build/doc/pgRouting-concepts.rst:630 msgid "" "We do not current have any visualization tools for these problems, but I " "have used mapserver to render the graph and highlight potential problem " @@ -1241,11 +1284,11 @@ msgstr "" " áreas con problemas potenciales. Alguien familiarizado con graphviz podría " "contribuir con herramientas para generar imágenes para este propósito." -#: ../../build/doc/pgRouting-concepts.rst:605 +#: ../../build/doc/pgRouting-concepts.rst:634 msgid "Analyze a Graph" msgstr "Analizar un gráfico" -#: ../../build/doc/pgRouting-concepts.rst:607 +#: ../../build/doc/pgRouting-concepts.rst:636 msgid "" "With :doc:`pgr_analyzeGraph` the graph can be checked for errors. For " "example for table \"mytab\" that has \"mytab_vertices_pgr\" as the vertices " @@ -1255,19 +1298,19 @@ msgstr "" "Por ejemplo, para la tabla \"mytab\" que incluye a \"mytab_vertices_pgr\" " "como la tabla de vértices:" -#: ../../build/doc/pgRouting-concepts.rst:630 +#: ../../build/doc/pgRouting-concepts.rst:659 msgid "In the vertices table \"mytab_vertices_pgr\":" msgstr "En la tabla de vértices \"mytab_vertices_pgr\":" -#: ../../build/doc/pgRouting-concepts.rst:632 +#: ../../build/doc/pgRouting-concepts.rst:661 msgid "Deadends are identified by ``cnt=1``" msgstr "Los callejones están identificados por ``cnt=1``" -#: ../../build/doc/pgRouting-concepts.rst:633 +#: ../../build/doc/pgRouting-concepts.rst:662 msgid "Potencial gap problems are identified with ``chk=1``." msgstr "Se identifican problemas potenciales brecha con``chk=1``." -#: ../../build/doc/pgRouting-concepts.rst:651 +#: ../../build/doc/pgRouting-concepts.rst:680 msgid "" "For isolated road segments, for example, a segment where both ends are " "deadends. you can find these with the following query:" @@ -1276,7 +1319,7 @@ msgstr "" "cual los dos extremos son callejones sin salida, se pueden encontrar con la " "siguiente consulta:" -#: ../../build/doc/pgRouting-concepts.rst:660 +#: ../../build/doc/pgRouting-concepts.rst:689 msgid "" "If you want to visualize these on a graphic image, then you can use " "something like mapserver to render the edges and the vertices and style " @@ -1289,11 +1332,11 @@ msgstr "" " esto con una herramienta como graphviz o geoserver u otras herramientas " "similares." -#: ../../build/doc/pgRouting-concepts.rst:664 +#: ../../build/doc/pgRouting-concepts.rst:693 msgid "Analyze One Way Streets" msgstr "Analizar las calles unidireccionales" -#: ../../build/doc/pgRouting-concepts.rst:666 +#: ../../build/doc/pgRouting-concepts.rst:695 msgid "" ":doc:`pgr_analyzeOneWay` analyzes one way streets in a graph and identifies " "any flipped segments. Basically if you count the edges coming into a node " @@ -1304,7 +1347,7 @@ msgstr "" "entran en un nodo y las aristas bordes que salen de un nodo, el número tiene" " que ser mayor que uno." -#: ../../build/doc/pgRouting-concepts.rst:668 +#: ../../build/doc/pgRouting-concepts.rst:697 msgid "" "This query will add two columns to the vertices_tmp table ``ein int`` and " "``eout int`` and populate it with the appropriate counts. After running this" @@ -1317,7 +1360,7 @@ msgstr "" "pueden identificar los nodos con problemas potenciales utilizando la " "siguiente consulta. " -#: ../../build/doc/pgRouting-concepts.rst:671 +#: ../../build/doc/pgRouting-concepts.rst:700 msgid "" "The rules are defined as an array of text strings that if match the ``col`` " "value would be counted as true for the source or target in or out condition." @@ -1326,11 +1369,11 @@ msgstr "" "con el valor de ``col`` se considera como válido para el origen o destino " "dentro o fuera de la condición." -#: ../../build/doc/pgRouting-concepts.rst:675 +#: ../../build/doc/pgRouting-concepts.rst:704 msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgRouting-concepts.rst:677 +#: ../../build/doc/pgRouting-concepts.rst:706 msgid "" "Lets assume we have a table \"st\" of edges and a column \"one_way\" that " "might have values like:" @@ -1338,30 +1381,30 @@ msgstr "" "Supongamos que tenemos una tabla \"st\" de bordes y una columna \"one_way\" " "que podría tener valores como:" -#: ../../build/doc/pgRouting-concepts.rst:679 +#: ../../build/doc/pgRouting-concepts.rst:708 msgid "'FT' - oneway from the source to the target node." msgstr "'FT' - dirección unidireccional de la fuente para el nodo de destino." -#: ../../build/doc/pgRouting-concepts.rst:680 +#: ../../build/doc/pgRouting-concepts.rst:709 msgid "'TF' - oneway from the target to the source node." msgstr "" "'TF' - dirección unidireccional desde el nodo destino hasta el nodo fuente." -#: ../../build/doc/pgRouting-concepts.rst:681 +#: ../../build/doc/pgRouting-concepts.rst:710 msgid "'B' - two way street." msgstr "'B' - calle de doble sentido." -#: ../../build/doc/pgRouting-concepts.rst:682 +#: ../../build/doc/pgRouting-concepts.rst:711 msgid "'' - empty field, assume twoway." msgstr "''- campo vacío, suponer doble sentido." -#: ../../build/doc/pgRouting-concepts.rst:683 +#: ../../build/doc/pgRouting-concepts.rst:712 msgid " - NULL field, use two_way_if_null flag." msgstr "" " - Campo NULL, usar bandera de two_way_if_null, es decir, doble " "sentido cuando nulo." -#: ../../build/doc/pgRouting-concepts.rst:685 +#: ../../build/doc/pgRouting-concepts.rst:714 msgid "" "Then we could form the following query to analyze the oneway streets for " "errors." @@ -1369,7 +1412,7 @@ msgstr "" "Entonces se puede formar la siguiente consulta para analizar las calles " "unidireccionales para errores." -#: ../../build/doc/pgRouting-concepts.rst:704 +#: ../../build/doc/pgRouting-concepts.rst:733 msgid "" "Typically these problems are generated by a break in the network, the one " "way direction set wrong, maybe an error related to z-levels or a network " @@ -1379,7 +1422,7 @@ msgstr "" "dirección un camino equivocado, quizás un error relacionado con niveles z o " "una red que no esté debidamente indicada con nodos." -#: ../../build/doc/pgRouting-concepts.rst:706 +#: ../../build/doc/pgRouting-concepts.rst:735 msgid "" "The above tools do not detect all network issues, but they will identify " "some common problems. There are other problems that are hard to detect " @@ -1394,15 +1437,15 @@ msgstr "" "está conectada a la red del continente porque faltan las rutas del puente o " "del ferry." -#: ../../build/doc/pgRouting-concepts.rst:714 +#: ../../build/doc/pgRouting-concepts.rst:743 msgid "Performance Tips" msgstr "Consejos de Rendimiento" -#: ../../build/doc/pgRouting-concepts.rst:721 +#: ../../build/doc/pgRouting-concepts.rst:750 msgid "For the Routing functions" msgstr "Para las funciones de Ruteo" -#: ../../build/doc/pgRouting-concepts.rst:723 +#: ../../build/doc/pgRouting-concepts.rst:752 msgid "" "To get faster results bound your queries to the area of interest of routing " "to have, for example, no more than one million rows." @@ -1410,7 +1453,7 @@ msgstr "" "Para obtener resultados más rápidos, las consultas enlazan el área de " "interés para tener, por ejemplo, no más de un millón de filas." -#: ../../build/doc/pgRouting-concepts.rst:725 +#: ../../build/doc/pgRouting-concepts.rst:754 msgid "" "Use an inner query SQL that does not include some edges in the routing " "function" @@ -1418,15 +1461,15 @@ msgstr "" "Utilice una consulta SQL interna que no incluya algunas aristas en la " "función de ruteo" -#: ../../build/doc/pgRouting-concepts.rst:733 +#: ../../build/doc/pgRouting-concepts.rst:762 msgid "Integrating the inner query to the pgRouting function:" msgstr "Integración de la consulta interna a la función pgRouting:" -#: ../../build/doc/pgRouting-concepts.rst:747 +#: ../../build/doc/pgRouting-concepts.rst:776 msgid "For the topology functions:" msgstr "Para las funciones de topología:" -#: ../../build/doc/pgRouting-concepts.rst:749 +#: ../../build/doc/pgRouting-concepts.rst:778 msgid "" "When \"you know\" that you are going to remove a set of edges from the edges" " table, and without those edges you are going to use a routing function you " @@ -1436,23 +1479,23 @@ msgstr "" "bordes, y sin esos bordes va a utilizar una función de enrrutamiento puede " "hacer el siguiente:" -#: ../../build/doc/pgRouting-concepts.rst:751 +#: ../../build/doc/pgRouting-concepts.rst:780 msgid "Analize the new topology based on the actual topology:" msgstr "Analizar la topología nueva basada en la topología actual:" -#: ../../build/doc/pgRouting-concepts.rst:757 +#: ../../build/doc/pgRouting-concepts.rst:786 msgid "Or create a new topology if the change is permanent:" msgstr "O crear una nueva topología si el cambio es permanente:" -#: ../../build/doc/pgRouting-concepts.rst:768 +#: ../../build/doc/pgRouting-concepts.rst:797 msgid "How to contribute" msgstr "Cómo contribuir" -#: ../../build/doc/pgRouting-concepts.rst:771 +#: ../../build/doc/pgRouting-concepts.rst:800 msgid "Wiki" msgstr "Wiki" -#: ../../build/doc/pgRouting-concepts.rst:772 +#: ../../build/doc/pgRouting-concepts.rst:801 msgid "" "Edit an existing `pgRouting Wiki " "`_ page." @@ -1460,11 +1503,11 @@ msgstr "" "Edita una página existente `pgRouting Wiki " "`_" -#: ../../build/doc/pgRouting-concepts.rst:773 +#: ../../build/doc/pgRouting-concepts.rst:802 msgid "Or create a new Wiki page" msgstr "O crea una nueva página Wiki" -#: ../../build/doc/pgRouting-concepts.rst:775 +#: ../../build/doc/pgRouting-concepts.rst:804 msgid "" "Create a page on the `pgRouting Wiki " "`_" @@ -1472,11 +1515,11 @@ msgstr "" "Crear una página en el `pgRouting Wiki " "`_" -#: ../../build/doc/pgRouting-concepts.rst:776 +#: ../../build/doc/pgRouting-concepts.rst:805 msgid "Give the title an appropriate name" msgstr "Asigne al título un nombre apropiado" -#: ../../build/doc/pgRouting-concepts.rst:779 +#: ../../build/doc/pgRouting-concepts.rst:808 msgid "" "`Example `_" @@ -1484,11 +1527,11 @@ msgstr "" "`Example `_" -#: ../../build/doc/pgRouting-concepts.rst:783 +#: ../../build/doc/pgRouting-concepts.rst:812 msgid "Adding Functionaity to pgRouting" msgstr "Agregar funcionalidad a pgRouting" -#: ../../build/doc/pgRouting-concepts.rst:784 +#: ../../build/doc/pgRouting-concepts.rst:813 msgid "" "Consult the `developer's documentation " "`_" @@ -1496,14 +1539,14 @@ msgstr "" "Consultar `developer's documentation " "`_" -#: ../../build/doc/pgRouting-concepts.rst:789 +#: ../../build/doc/pgRouting-concepts.rst:818 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgRouting-concepts.rst:790 +#: ../../build/doc/pgRouting-concepts.rst:819 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgRouting-concepts.rst:791 +#: ../../build/doc/pgRouting-concepts.rst:820 msgid ":ref:`search`" msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgRouting-installation.po b/locale/es/LC_MESSAGES/pgRouting-installation.po index 3057d30a13b..f812475b24b 100644 --- a/locale/es/LC_MESSAGES/pgRouting-installation.po +++ b/locale/es/LC_MESSAGES/pgRouting-installation.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -10,9 +10,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -167,10 +167,10 @@ msgstr "Actualización de la base de datos" #: ../../build/doc/pgRouting-installation.rst:110 msgid "" -"To upgrade pgRouting in the database to version 3.0.2 use the following " +"To upgrade pgRouting in the database to version 3.1.0 use the following " "command:" msgstr "" -"Para actualizar pgRouting en la base de datos a la versión 3.0.2, utilice el" +"Para actualizar pgRouting en la base de datos a la versión 3.1.0, utilice el" " siguiente comando:" #: ../../build/doc/pgRouting-installation.rst:118 @@ -479,17 +479,3 @@ msgstr ":ref:`genindex`" #: ../../build/doc/pgRouting-installation.rst:318 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "To upgrade pgRouting in the database to version 3.0.0 use the following " -#~ "command:" -#~ msgstr "" -#~ "Para actualizar pgRouting en la base de datos a la versión 3.0.0, utilice el" -#~ " siguiente comando:" - -#~ msgid "" -#~ "More information can be found in " -#~ "https://www.postgresql.org/docs/current/static/sql-createextension.html" -#~ msgstr "" -#~ "Puede encontrar más información en " -#~ "https://www.postgresql.org/docs/current/static/sql-createextension.html" diff --git a/locale/es/LC_MESSAGES/pgRouting-introduction.po b/locale/es/LC_MESSAGES/pgRouting-introduction.po index 7d35cf2f879..92ca5335d64 100644 --- a/locale/es/LC_MESSAGES/pgRouting-introduction.po +++ b/locale/es/LC_MESSAGES/pgRouting-introduction.po @@ -1,24 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , YEAR. -# +# FIRST AUTHOR , 2020. +# # Translators: -# MarPetra , 2019 -# Vicky Vergara , 2020 -# +# Vicky Vergara , 2019 +# MarPetra , 2020 +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-03 19:32+0200\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.6.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -28,53 +29,55 @@ msgstr "Introducción" #: ../../build/doc/pgRouting-introduction.rst:13 msgid "" -"pgRouting is an extension of `PostGIS `_ and " -"`PostgreSQL `_ geospatial database and adds routing " -"and other network analysis functionality. A predecessor of pgRouting – " -"pgDijkstra, written by Sylvain Pasche from `Camptocamp " -"`_, was later extended by `Orkney " +"pgRouting is an extension of `PostGIS `__ and " +"`PostgreSQL `__ geospatial database and adds " +"routing and other network analysis functionality. A predecessor of pgRouting" +" – pgDijkstra, written by Sylvain Pasche from `Camptocamp " +"`__, was later extended by `Orkney " "`_ and renamed to pgRouting. The project is now " -"supported and maintained by `Georepublic `_, " -"`iMaptools `__ and a broad user community." +"supported and maintained by `Georepublic `__, " +"`Paragon Corporation `__ and a broad " +"user community." msgstr "" -"pgRouting es una extensión de `PostGIS `_ y de la base" -" de datos geoespacial de `PostgreSQL `_ , agrega " -"ruteo y otras funcionalidades de análisis de red. Un ancestro de pgRouting –" -" pgDijkstra, escrito por Sylvain Pasche desde `Camptocamp " -"`_, más tarde fue ampliado por `Orkney " +"pgRouting es una extensión de `PostGIS `_ y de la base " +"de datos geoespacial de `PostgreSQL `_ , agrega ruteo" +" y otras funcionalidades de análisis de red. Un ancestro de pgRouting – " +"pgDijkstra, escrito por Sylvain Pasche desde `Camptocamp " +"`_ más tarde fue ampliado por `Orkney " "`_ y renombrado como pgRouting. Ahora el proyecto " -"es soportado y mantenido por `Georepublic `_, " -"`iMaptools `__ y una amplia comunidad de usuarios." +"es soportado y mantenido por `Georepublic `_, " +"`Paragon Corporation `__ y una amplia " +"comunidad de usuarios." -#: ../../build/doc/pgRouting-introduction.rst:15 +#: ../../build/doc/pgRouting-introduction.rst:21 msgid "" "pgRouting is part of `OSGeo Community Projects " -"`_ from the `OSGeo " -"Foundation `_ and included on `OSGeo Live " -"`_." +"`__ from the `OSGeo " +"Foundation `__ and included on `OSGeoLive " +"`__." msgstr "" -"pgRouting forma parte de `OSGeo Community Projects " -"`_ from the `OSGeo " -"Foundation `_ y se incluye en `OSGeo Live " +"pgRouting forma parte de los `Proyectos Comunitarios de OSGeo " +"`_ de la `Fundación " +"OSGeo `_ y se incluye en `OSGeo Live " "`_." -#: ../../build/doc/pgRouting-introduction.rst:21 +#: ../../build/doc/pgRouting-introduction.rst:28 msgid "Licensing" msgstr "Licencias" -#: ../../build/doc/pgRouting-introduction.rst:23 +#: ../../build/doc/pgRouting-introduction.rst:30 msgid "The following licenses can be found in pgRouting:" msgstr "Las siguientes licencias pueden ser encontradas en pgRouting:" -#: ../../build/doc/pgRouting-introduction.rst:28 +#: ../../build/doc/pgRouting-introduction.rst:35 msgid "**License**" msgstr "**Licencia**" -#: ../../build/doc/pgRouting-introduction.rst:30 +#: ../../build/doc/pgRouting-introduction.rst:37 msgid "GNU General Public License, version 2" msgstr "Licencia pública general GNU , versión 2" -#: ../../build/doc/pgRouting-introduction.rst:31 +#: ../../build/doc/pgRouting-introduction.rst:38 msgid "" "Most features of pgRouting are available under `GNU General Public License, " "version 2 `_." @@ -83,11 +86,11 @@ msgstr "" "General Public License, version 2 " "`_." -#: ../../build/doc/pgRouting-introduction.rst:32 +#: ../../build/doc/pgRouting-introduction.rst:39 msgid "Boost Software License - Version 1.0" msgstr "Licencia de Software Boost - Version 1.0" -#: ../../build/doc/pgRouting-introduction.rst:33 +#: ../../build/doc/pgRouting-introduction.rst:40 msgid "" "Some Boost extensions are available under `Boost Software License - Version " "1.0 `_." @@ -95,22 +98,22 @@ msgstr "" "Algunas extensiones de Boost están disponibles bajo `Boost Software License " "- Version 1.0 `_." -#: ../../build/doc/pgRouting-introduction.rst:34 +#: ../../build/doc/pgRouting-introduction.rst:41 msgid "MIT-X License" msgstr "Licencia MIT-X" -#: ../../build/doc/pgRouting-introduction.rst:35 +#: ../../build/doc/pgRouting-introduction.rst:42 msgid "" "Some code contributed by iMaptools.com is available under MIT-X license." msgstr "" "Parte del código es contribución de iMaptools.com y está disponibe bajo la " "licencia MIT-X." -#: ../../build/doc/pgRouting-introduction.rst:36 +#: ../../build/doc/pgRouting-introduction.rst:43 msgid "Creative Commons Attribution-Share Alike 3.0 License" msgstr "Licencia de Creative Commons Attribution-Share Alike 3.0 " -#: ../../build/doc/pgRouting-introduction.rst:37 +#: ../../build/doc/pgRouting-introduction.rst:44 msgid "" "The pgRouting Manual is licensed under a `Creative Commons Attribution-Share" " Alike 3.0 License `_." @@ -119,7 +122,7 @@ msgstr "" "Attribution-Share Alike 3.0 License `_." -#: ../../build/doc/pgRouting-introduction.rst:39 +#: ../../build/doc/pgRouting-introduction.rst:46 msgid "" "In general license information should be included in the header of each " "source file." @@ -127,30 +130,28 @@ msgstr "" "En general, la información de las licencias debe estar incluida en la " "cabecera de cada archivo de origen." -#: ../../build/doc/pgRouting-introduction.rst:43 +#: ../../build/doc/pgRouting-introduction.rst:50 msgid "Contributors" msgstr "Colaboradores" -#: ../../build/doc/pgRouting-introduction.rst:46 +#: ../../build/doc/pgRouting-introduction.rst:53 msgid "This Release Contributors" msgstr "Colaboradores de esta Versión" -#: ../../build/doc/pgRouting-introduction.rst:49 -#: ../../build/doc/pgRouting-introduction.rst:80 +#: ../../build/doc/pgRouting-introduction.rst:56 +#: ../../build/doc/pgRouting-introduction.rst:87 msgid "Individuals (in alphabetical order)" msgstr "Personas (en orden alfabético)" -#: ../../build/doc/pgRouting-introduction.rst:51 +#: ../../build/doc/pgRouting-introduction.rst:58 msgid "" -"Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Cayetano Benavent, " -"Gudesa Venkata Sai Akhil, Hang Wu, Maoguang Wang, Martha Vergara, Mohamed " -"Bakli, Regina Obe, Rohith Reddy, Sourabh Garg, Virginia Vergara" +"Cayetano Benavent, Daniel Kastl, Esteban Zimanyi, Imre Samu, Martha Vergara," +" Mohamed Bakli, Mahmoud Sakr, Regina Obe, Virginia Vergara" msgstr "" -"Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Cayetano Benavent, " -"Gudesa Venkata Sai Akhil, Hang Wu, Maoguang Wang, Martha Vergara, Mohamed " -"Bakli, Regina Obe, Rohith Reddy, Sourabh Garg, Virginia Vergara" +"Cayetano Benavent, Daniel Kastl, Esteban Zimanyi, Imre Samu, Martha Vergara," +" Mohamed Bakli, Mahmoud Sakr, Regina Obe, Virginia Vergara" -#: ../../build/doc/pgRouting-introduction.rst:61 +#: ../../build/doc/pgRouting-introduction.rst:69 msgid "" "And all the people that give us a little of their time making comments, " "finding issues, making pull requests etc. in any of our products: " @@ -160,13 +161,13 @@ msgstr "" "encontrando problemas, haciendo solicitudes de extracción, etc. en " "cualquiera de nuestros productos: osm2pgrouting, pgRouting, pgRoutingLayer." -#: ../../build/doc/pgRouting-introduction.rst:66 -#: ../../build/doc/pgRouting-introduction.rst:98 +#: ../../build/doc/pgRouting-introduction.rst:74 +#: ../../build/doc/pgRouting-introduction.rst:108 msgid "Corporate Sponsors (in alphabetical order)" msgstr "Patrocinadores corporativos (en orden alfabético)" -#: ../../build/doc/pgRouting-introduction.rst:68 -#: ../../build/doc/pgRouting-introduction.rst:100 +#: ../../build/doc/pgRouting-introduction.rst:76 +#: ../../build/doc/pgRouting-introduction.rst:110 msgid "" "These are corporate entities that have contributed developer time, hosting, " "or direct monetary funding to the pgRouting project:" @@ -175,91 +176,91 @@ msgstr "" "desarrollo, alojamiento, o financiamiento monetario directo al proyecto de " "pgRouting:" -#: ../../build/doc/pgRouting-introduction.rst:70 +#: ../../build/doc/pgRouting-introduction.rst:78 msgid "`Georepublic `__" msgstr "`Georepublic `__" -#: ../../build/doc/pgRouting-introduction.rst:71 -msgid "" -"`Google Summer of Code `_" -msgstr "" -"`Google Summer of Code `_" - -#: ../../build/doc/pgRouting-introduction.rst:72 -msgid "`iMaptools `__" -msgstr "`iMaptools `__" +#: ../../build/doc/pgRouting-introduction.rst:79 +msgid "`Google Summer of Code `__" +msgstr "`Google Summer of Code `__" -#: ../../build/doc/pgRouting-introduction.rst:73 +#: ../../build/doc/pgRouting-introduction.rst:80 msgid "`Leopark `__" msgstr "`Leopark `__" -#: ../../build/doc/pgRouting-introduction.rst:74 -msgid "`Paragon Corporation `_" -msgstr "`Paragon Corporation `_" +#: ../../build/doc/pgRouting-introduction.rst:81 +msgid "`Paragon Corporation `__" +msgstr "`Paragon Corporation `__" -#: ../../build/doc/pgRouting-introduction.rst:77 +#: ../../build/doc/pgRouting-introduction.rst:84 msgid "Contributors Past & Present:" msgstr "Colaboradores, Pasado y Presente:" -#: ../../build/doc/pgRouting-introduction.rst:82 +#: ../../build/doc/pgRouting-introduction.rst:89 msgid "" "Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Akio Takubo, Andrea " "Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Cayetano Benavent," " Christian Gonzalez, Daniel Kastl, Dave Potts, David Techer, Denis Rykov, " -"Ema Miyawaki, Florian Thurkow, Frederic Junod, Gerald Fenoy, Gudesa Venkata " -"Sai Akhil, Hang Wu, Jay Mahadeokar, Jinfu Leng, Kai Behncke, Kishore Kumar, " -"Ko Nagase, Manikata Kondeti, Mario Basa, Martin Wiesenhaan, Maxim Dubinin, " -"Maoguang Wang, Mohamed Zia, Mohamed Bakli, Mukul Priya, Razequl Islam, " -"Regina Obe, Rohith Reddy, Sarthak Agarwal, Sourabh Garg, Stephen Woodbridge," -" Sylvain Housseman, Sylvain Pasche, Vidhan Jain, Virginia Vergara" +"Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, Frederic Junod, Gerald " +"Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Imre Samu, Jay Mahadeokar, Jinfu " +"Leng, Kai Behncke, Kishore Kumar, Ko Nagase, Mahmoud Sakr, Manikata Kondeti," +" Mario Basa, Martin Wiesenhaan, Maxim Dubinin, Maoguang Wang, Mohamed " +"Bakli, Mohamed Zia, Mukul Priya, Razequl Islam, Regina Obe, Rohith Reddy, " +"Sarthak Agarwal, Sourabh Garg, Stephen Woodbridge, Sylvain Housseman, " +"Sylvain Pasche, Vidhan Jain, Virginia Vergara" msgstr "" "Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Akio Takubo, Andrea " "Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Cayetano Benavent," " Christian Gonzalez, Daniel Kastl, Dave Potts, David Techer, Denis Rykov, " -"Ema Miyawaki, Florian Thurkow, Frederic Junod, Gerald Fenoy, Gudesa Venkata " -"Sai Akhil, Hang Wu, Jay Mahadeokar, Jinfu Leng, Kai Behncke, Kishore Kumar, " -"Ko Nagase, Manikata Kondeti, Mario Basa, Martin Wiesenhaan, Maxim Dubinin, " -"Maoguang Wang, Mohamed Zia, Mohamed Bakli, Mukul Priya, Razequl Islam, " -"Regina Obe, Rohith Reddy, Sarthak Agarwal, Sourabh Garg, Stephen Woodbridge," -" Sylvain Housseman, Sylvain Pasche, Vidhan Jain, Virginia Vergara" - -#: ../../build/doc/pgRouting-introduction.rst:102 +"Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, Frederic Junod, Gerald " +"Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Imre Samu, Jay Mahadeokar, Jinfu " +"Leng, Kai Behncke, Kishore Kumar, Ko Nagase, Mahmoud Sakr, Manikata Kondeti," +" Mario Basa, Martin Wiesenhaan, Maxim Dubinin, Maoguang Wang, Mohamed " +"Bakli, Mohamed Zia, Mukul Priya, Razequl Islam, Regina Obe, Rohith Reddy, " +"Sarthak Agarwal, Sourabh Garg, Stephen Woodbridge, Sylvain Housseman, " +"Sylvain Pasche, Vidhan Jain, Virginia Vergara" + +#: ../../build/doc/pgRouting-introduction.rst:112 msgid "Camptocamp" msgstr "Camptocamp" -#: ../../build/doc/pgRouting-introduction.rst:103 +#: ../../build/doc/pgRouting-introduction.rst:113 msgid "CSIS (University of Tokyo)" msgstr "CSIS (University of Tokyo)" -#: ../../build/doc/pgRouting-introduction.rst:104 +#: ../../build/doc/pgRouting-introduction.rst:114 msgid "Georepublic" msgstr "Georepublic" -#: ../../build/doc/pgRouting-introduction.rst:105 +#: ../../build/doc/pgRouting-introduction.rst:115 msgid "Google Summer of Code" msgstr "Google Summer of Code" -#: ../../build/doc/pgRouting-introduction.rst:106 +#: ../../build/doc/pgRouting-introduction.rst:116 msgid "iMaptools" msgstr "iMaptools" -#: ../../build/doc/pgRouting-introduction.rst:107 +#: ../../build/doc/pgRouting-introduction.rst:117 +msgid "Leopark" +msgstr "Leopark" + +#: ../../build/doc/pgRouting-introduction.rst:118 msgid "Orkney" msgstr "Orkney" -#: ../../build/doc/pgRouting-introduction.rst:108 +#: ../../build/doc/pgRouting-introduction.rst:119 msgid "Paragon Corporation" msgstr "Paragon Corporation" -#: ../../build/doc/pgRouting-introduction.rst:109 +#: ../../build/doc/pgRouting-introduction.rst:120 msgid "Versaterm Inc." msgstr "Versaterm Inc." -#: ../../build/doc/pgRouting-introduction.rst:113 +#: ../../build/doc/pgRouting-introduction.rst:124 msgid "More Information" msgstr "Más Información" -#: ../../build/doc/pgRouting-introduction.rst:115 +#: ../../build/doc/pgRouting-introduction.rst:126 msgid "" "The latest software, documentation and news items are available at the " "pgRouting web site https://pgrouting.org." @@ -267,7 +268,7 @@ msgstr "" "Lo último en software, documentación y noticias, se encuentra disponible en " "el sitio web de pgRouting https://pgrouting.org." -#: ../../build/doc/pgRouting-introduction.rst:116 +#: ../../build/doc/pgRouting-introduction.rst:127 msgid "" "PostgreSQL database server at the PostgreSQL main site " "https://www.postgresql.org." @@ -275,16 +276,16 @@ msgstr "" "Servidor de base de datos PostgreSQL en el sitio principal de PostgreSQL " "https://www.postgresql.org." -#: ../../build/doc/pgRouting-introduction.rst:117 +#: ../../build/doc/pgRouting-introduction.rst:128 msgid "PostGIS extension at the PostGIS project web site https://postgis.net." msgstr "" "PostGIS extension at the PostGIS project web site https://postgis.net." -#: ../../build/doc/pgRouting-introduction.rst:118 +#: ../../build/doc/pgRouting-introduction.rst:129 msgid "Boost C++ source libraries at https://www.boost.org." msgstr "Bibliotecas de código Boost C++ en https://www.boost.org." -#: ../../build/doc/pgRouting-introduction.rst:119 +#: ../../build/doc/pgRouting-introduction.rst:130 msgid "" "The Migration guide can be found at " "https://github.com/pgRouting/pgrouting/wiki/Migration-Guide." diff --git a/locale/es/LC_MESSAGES/pgr_KSP.po b/locale/es/LC_MESSAGES/pgr_KSP.po index 9ea400c728a..991a1ec9dbf 100644 --- a/locale/es/LC_MESSAGES/pgr_KSP.po +++ b/locale/es/LC_MESSAGES/pgr_KSP.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -66,15 +66,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_KSP.rst:35 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_KSP.rst:39 +#: ../../build/doc/pgr_KSP.rst:40 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -92,12 +94,12 @@ msgstr "" "`__ `2.0 " "`__" -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_KSP.rst:49 -#: ../../build/doc/pgr_KSP.rst:89 ../../build/doc/pgr_KSP.rst:114 +#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_KSP.rst:50 +#: ../../build/doc/pgr_KSP.rst:90 ../../build/doc/pgr_KSP.rst:115 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_KSP.rst:51 +#: ../../build/doc/pgr_KSP.rst:52 msgid "" "The K shortest path routing algorithm based on Yen's algorithm. \"K\" is the" " number of shortest paths desired." @@ -105,15 +107,15 @@ msgstr "" "El algoritmo de ruteo para obtener la ruta más corta K basado en el " "algoritmo de Yen . \"K\" es el número de rutas más cortas deseadas." -#: ../../build/doc/pgr_KSP.rst:54 +#: ../../build/doc/pgr_KSP.rst:55 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_KSP.rst:57 +#: ../../build/doc/pgr_KSP.rst:58 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_KSP.rst:64 +#: ../../build/doc/pgr_KSP.rst:65 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -121,84 +123,84 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_KSP.rst:70 ../../build/doc/pgr_KSP.rst:83 +#: ../../build/doc/pgr_KSP.rst:71 ../../build/doc/pgr_KSP.rst:84 msgid "**TBD**" msgstr "**TBD**" -#: ../../build/doc/pgr_KSP.rst:76 +#: ../../build/doc/pgr_KSP.rst:77 msgid "Complete Signature" msgstr "Firma completa" -#: ../../build/doc/pgr_KSP.rst:86 +#: ../../build/doc/pgr_KSP.rst:87 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_KSP.rst:89 -#: ../../build/doc/pgr_KSP.rst:114 +#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_KSP.rst:90 +#: ../../build/doc/pgr_KSP.rst:115 msgid "Column" msgstr "Columna" -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_KSP.rst:89 -#: ../../build/doc/pgr_KSP.rst:114 +#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_KSP.rst:90 +#: ../../build/doc/pgr_KSP.rst:115 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_KSP.rst:91 +#: ../../build/doc/pgr_KSP.rst:92 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_KSP.rst:91 +#: ../../build/doc/pgr_KSP.rst:92 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_KSP.rst:91 +#: ../../build/doc/pgr_KSP.rst:92 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." -#: ../../build/doc/pgr_KSP.rst:92 +#: ../../build/doc/pgr_KSP.rst:93 msgid "**start_vid**" msgstr "**start_vid**" -#: ../../build/doc/pgr_KSP.rst:92 ../../build/doc/pgr_KSP.rst:93 -#: ../../build/doc/pgr_KSP.rst:118 ../../build/doc/pgr_KSP.rst:119 -#: ../../build/doc/pgr_KSP.rst:120 +#: ../../build/doc/pgr_KSP.rst:93 ../../build/doc/pgr_KSP.rst:94 +#: ../../build/doc/pgr_KSP.rst:119 ../../build/doc/pgr_KSP.rst:120 +#: ../../build/doc/pgr_KSP.rst:121 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_KSP.rst:92 +#: ../../build/doc/pgr_KSP.rst:93 msgid "Identifier of the starting vertex." msgstr "Identificador del vértice inicial." -#: ../../build/doc/pgr_KSP.rst:93 +#: ../../build/doc/pgr_KSP.rst:94 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_KSP.rst:93 +#: ../../build/doc/pgr_KSP.rst:94 msgid "Identifier of the ending vertex." msgstr "Identificador del vértice final." -#: ../../build/doc/pgr_KSP.rst:94 +#: ../../build/doc/pgr_KSP.rst:95 msgid "**k**" msgstr "**k**" -#: ../../build/doc/pgr_KSP.rst:94 ../../build/doc/pgr_KSP.rst:116 -#: ../../build/doc/pgr_KSP.rst:117 +#: ../../build/doc/pgr_KSP.rst:95 ../../build/doc/pgr_KSP.rst:117 +#: ../../build/doc/pgr_KSP.rst:118 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/pgr_KSP.rst:94 +#: ../../build/doc/pgr_KSP.rst:95 msgid "The desiered number of paths." msgstr "El número de rutas desedadas." -#: ../../build/doc/pgr_KSP.rst:95 +#: ../../build/doc/pgr_KSP.rst:96 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_KSP.rst:95 ../../build/doc/pgr_KSP.rst:96 +#: ../../build/doc/pgr_KSP.rst:96 ../../build/doc/pgr_KSP.rst:97 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_KSP.rst:95 +#: ../../build/doc/pgr_KSP.rst:96 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default is" " ``true`` which considers the graph as Directed." @@ -206,11 +208,11 @@ msgstr "" "(opcional). En caso de ``false`` el grafo se considera como No Dirigido. El " "valor predeterminado es ``true`` que considera el grafo como Dirigido." -#: ../../build/doc/pgr_KSP.rst:96 +#: ../../build/doc/pgr_KSP.rst:97 msgid "**heap_paths**" msgstr "**heap_paths**" -#: ../../build/doc/pgr_KSP.rst:96 +#: ../../build/doc/pgr_KSP.rst:97 msgid "" "(optional). When ``true`` returns all the paths stored in the process heap. " "Default is ``false`` which only returns ``k`` paths." @@ -219,7 +221,7 @@ msgstr "" "el montón de procesos. El valor predeterminado es ``false`` que solo " "devuelve rutas ``k``." -#: ../../build/doc/pgr_KSP.rst:99 +#: ../../build/doc/pgr_KSP.rst:100 msgid "" "Roughly, if the shortest path has ``N`` edges, the heap will contain about " "than ``N * k`` paths for small value of ``k`` and ``k > 1``." @@ -228,7 +230,7 @@ msgstr "" "contendrá aproximadamente más que las rutas ``N * k`` para valores pequeños " "de ``k`` y ``k > 1``." -#: ../../build/doc/pgr_KSP.rst:102 +#: ../../build/doc/pgr_KSP.rst:103 msgid "Inner query" msgstr "Consulta interna" @@ -266,7 +268,7 @@ msgstr "**objetivo**" msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." -#: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_KSP.rst:121 +#: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_KSP.rst:122 msgid "**cost**" msgstr "**cost**" @@ -327,30 +329,30 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_KSP.rst:109 +#: ../../build/doc/pgr_KSP.rst:110 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_KSP.rst:111 +#: ../../build/doc/pgr_KSP.rst:112 msgid "" "Returns set of ``(seq, path_seq, path_id, node, edge, cost, agg_cost)``" msgstr "" "Ddevuelve el conjunto de ``(seq, path_seq, path_id, node, edge, cost, " "agg_cost)``" -#: ../../build/doc/pgr_KSP.rst:116 +#: ../../build/doc/pgr_KSP.rst:117 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_KSP.rst:116 +#: ../../build/doc/pgr_KSP.rst:117 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/pgr_KSP.rst:117 +#: ../../build/doc/pgr_KSP.rst:118 msgid "**path_seq**" msgstr "**path_seq**" -#: ../../build/doc/pgr_KSP.rst:117 +#: ../../build/doc/pgr_KSP.rst:118 msgid "" "Relative position in the path of ``node`` and ``edge``. Has value **1** for " "the beginning of a path." @@ -358,11 +360,11 @@ msgstr "" "Posición relativa en la ruta de ``node`` y ``edge``. El valor es **1** para " "el inicio de una ruta." -#: ../../build/doc/pgr_KSP.rst:118 +#: ../../build/doc/pgr_KSP.rst:119 msgid "**path_id**" msgstr "**path_id**" -#: ../../build/doc/pgr_KSP.rst:118 +#: ../../build/doc/pgr_KSP.rst:119 msgid "" "Path identifier. The ordering of the paths For two paths i, j if i < j then " "agg_cost(i) <= agg_cost(j)." @@ -370,19 +372,19 @@ msgstr "" "Identificador de rutas. El orden de las rutas para dos rutas i, j if i < j " "entonces agg_cost(i) <= agg_cost(j)." -#: ../../build/doc/pgr_KSP.rst:119 +#: ../../build/doc/pgr_KSP.rst:120 msgid "**node**" msgstr "**node**" -#: ../../build/doc/pgr_KSP.rst:119 +#: ../../build/doc/pgr_KSP.rst:120 msgid "Identifier of the node in the path." msgstr "Identificador del nodo en la ruta." -#: ../../build/doc/pgr_KSP.rst:120 +#: ../../build/doc/pgr_KSP.rst:121 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/pgr_KSP.rst:120 +#: ../../build/doc/pgr_KSP.rst:121 msgid "" "Identifier of the edge used to go from ``node`` to the next node in the path" " sequence. ``-1`` for the last node of the route." @@ -390,11 +392,11 @@ msgstr "" "Identificador de la arista utilizada para ir desde ``node`` al siguiente " "nodo en la secuencia de ruta . ``-1`` para el último nodo de la ruta." -#: ../../build/doc/pgr_KSP.rst:121 ../../build/doc/pgr_KSP.rst:122 +#: ../../build/doc/pgr_KSP.rst:122 ../../build/doc/pgr_KSP.rst:123 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_KSP.rst:121 +#: ../../build/doc/pgr_KSP.rst:122 msgid "" "Cost to traverse from ``node`` using ``edge`` to the next node in the path " "sequence." @@ -402,27 +404,27 @@ msgstr "" "Costo de desplazamiento desde ``node`` usando `` edge`` hasta el siguiente " "nodo en la secuencia de ruta." -#: ../../build/doc/pgr_KSP.rst:122 +#: ../../build/doc/pgr_KSP.rst:123 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_KSP.rst:122 +#: ../../build/doc/pgr_KSP.rst:123 msgid "Aggregate cost from ``start_vid`` to ``node``." msgstr "Costo agregado de ``start_vid`` a ``node``." -#: ../../build/doc/pgr_KSP.rst:126 +#: ../../build/doc/pgr_KSP.rst:127 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_KSP.rst:128 +#: ../../build/doc/pgr_KSP.rst:129 msgid "To handle the one flag to choose signatures" msgstr "Para manejar la única marca para elegir firmas" -#: ../../build/doc/pgr_KSP.rst:130 ../../build/doc/pgr_KSP.rst:138 +#: ../../build/doc/pgr_KSP.rst:131 ../../build/doc/pgr_KSP.rst:139 msgid "The examples in this section use the following :ref:`fig1`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig1`" -#: ../../build/doc/pgr_KSP.rst:136 +#: ../../build/doc/pgr_KSP.rst:137 msgid "" "For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` " "columns" @@ -434,7 +436,7 @@ msgstr "" msgid "Examples" msgstr "Ejemplos" -#: ../../build/doc/pgr_KSP.rst:144 +#: ../../build/doc/pgr_KSP.rst:145 msgid "" "For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` " "columns" @@ -442,55 +444,46 @@ msgstr "" "Para consultas marcadas como ``undirected`` con columnas ``cost`` y " "``reverse_cost`` " -#: ../../build/doc/pgr_KSP.rst:146 +#: ../../build/doc/pgr_KSP.rst:147 msgid "The examples in this section use the following :ref:`fig2`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig2`" -#: ../../build/doc/pgr_KSP.rst:152 +#: ../../build/doc/pgr_KSP.rst:153 msgid "For queries marked as ``directed`` with ``cost`` column" msgstr "Para consultas marcadas como ``directed`` con columna``cost``" -#: ../../build/doc/pgr_KSP.rst:154 +#: ../../build/doc/pgr_KSP.rst:155 msgid "The examples in this section use the following :ref:`fig3`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig3`" -#: ../../build/doc/pgr_KSP.rst:160 +#: ../../build/doc/pgr_KSP.rst:161 msgid "For queries marked as ``undirected`` with ``cost`` column" msgstr "Para consultas marcadas como ``undirected`` con columna ``cost``" -#: ../../build/doc/pgr_KSP.rst:162 +#: ../../build/doc/pgr_KSP.rst:163 msgid "The examples in this section use the following :ref:`fig4`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig4`" -#: ../../build/doc/pgr_KSP.rst:169 +#: ../../build/doc/pgr_KSP.rst:170 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_KSP.rst:171 +#: ../../build/doc/pgr_KSP.rst:172 msgid "https://en.wikipedia.org/wiki/K_shortest_path_routing" msgstr "https://en.wikipedia.org/wiki/K_shortest_path_routing" -#: ../../build/doc/pgr_KSP.rst:172 +#: ../../build/doc/pgr_KSP.rst:173 msgid ":doc:`sampledata` network." msgstr "Red :doc:`sampledata` ." -#: ../../build/doc/pgr_KSP.rst:175 +#: ../../build/doc/pgr_KSP.rst:176 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_KSP.rst:176 +#: ../../build/doc/pgr_KSP.rst:177 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_KSP.rst:177 +#: ../../build/doc/pgr_KSP.rst:178 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_TSP.po b/locale/es/LC_MESSAGES/pgr_TSP.po index 44b971c7c7c..baeb2ae8e1a 100644 --- a/locale/es/LC_MESSAGES/pgr_TSP.po +++ b/locale/es/LC_MESSAGES/pgr_TSP.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -62,15 +62,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_TSP.rst:29 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_TSP.rst:33 +#: ../../build/doc/pgr_TSP.rst:34 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -89,8 +91,8 @@ msgstr "" "`__" #: ../../build/doc/TSP-family.rst:4 ../../build/doc/TSP-family.rst:6 -#: ../../build/doc/pgr_TSP.rst:42 ../../build/doc/pgr_TSP.rst:78 -#: ../../build/doc/pgr_TSP.rst:96 +#: ../../build/doc/pgr_TSP.rst:43 ../../build/doc/pgr_TSP.rst:79 +#: ../../build/doc/pgr_TSP.rst:97 msgid "Description" msgstr "Descripción" @@ -111,7 +113,7 @@ msgstr "" " corresponde con la ruta más corta posible que para visite cada ciudad " "exactamente una vez y regrese a la ciudad de origen?*" -#: ../../build/doc/pgr_TSP.rst:48 +#: ../../build/doc/pgr_TSP.rst:49 msgid "" "See :ref:`simulated-annealing` for a complete description of this " "implementation" @@ -119,11 +121,11 @@ msgstr "" "Consulte :ref:`simulated-annealing` para obtener una descripción completa de" " esta implementación" -#: ../../build/doc/pgr_TSP.rst:51 +#: ../../build/doc/pgr_TSP.rst:52 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_TSP.rst:54 +#: ../../build/doc/pgr_TSP.rst:55 msgid "Summary" msgstr "Resumen" @@ -131,32 +133,32 @@ msgstr "Resumen" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_TSP.rst:68 +#: ../../build/doc/pgr_TSP.rst:69 msgid "Not having a random execution" msgstr "No tener una ejecución aleatoria" -#: ../../build/doc/pgr_TSP.rst:75 +#: ../../build/doc/pgr_TSP.rst:76 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/TSP-family.rst:4 ../../build/doc/pgr_TSP.rst:78 +#: ../../build/doc/TSP-family.rst:4 ../../build/doc/pgr_TSP.rst:79 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/pgr_TSP.rst:80 +#: ../../build/doc/pgr_TSP.rst:81 msgid "**Matrix SQL**" msgstr "**Matrix SQL**" -#: ../../build/doc/pgr_TSP.rst:80 +#: ../../build/doc/pgr_TSP.rst:81 msgid "an SQL query, described in the `Inner query`_" msgstr "una consulta SQL, descrita en `Inner query`_" -#: ../../build/doc/pgr_TSP.rst:84 +#: ../../build/doc/pgr_TSP.rst:85 msgid "Optional Parameters" msgstr "Parámetros opcionales" #: ../../build/doc/TSP-family.rst:4 ../../build/doc/TSP-family.rst:6 -#: ../../build/doc/pgr_TSP.rst:96 +#: ../../build/doc/pgr_TSP.rst:97 msgid "Type" msgstr "Tipo" @@ -164,13 +166,13 @@ msgstr "Tipo" msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/TSP-family.rst:6 ../../build/doc/pgr_TSP.rst:98 +#: ../../build/doc/TSP-family.rst:6 ../../build/doc/pgr_TSP.rst:99 msgid "**start_vid**" msgstr "**start_vid**" #: ../../build/doc/TSP-family.rst:6 ../../build/doc/TSP-family.rst:7 -#: ../../build/doc/TSP-family.rst:9 ../../build/doc/pgr_TSP.rst:98 -#: ../../build/doc/pgr_TSP.rst:99 +#: ../../build/doc/TSP-family.rst:9 ../../build/doc/pgr_TSP.rst:99 +#: ../../build/doc/pgr_TSP.rst:100 msgid "``BIGINT``" msgstr "``BIGINT``" @@ -182,7 +184,7 @@ msgstr "`0`" msgid "The greedy part of the implementation will use this identifier." msgstr "La parte ambiciosa de la implementación utilizará este identificador." -#: ../../build/doc/TSP-family.rst:7 ../../build/doc/pgr_TSP.rst:99 +#: ../../build/doc/TSP-family.rst:7 ../../build/doc/pgr_TSP.rst:100 msgid "**end_vid**" msgstr "**end_vid**" @@ -196,7 +198,7 @@ msgstr "**max_processing_time**" #: ../../build/doc/TSP-family.rst:8 ../../build/doc/TSP-family.rst:10 #: ../../build/doc/TSP-family.rst:12 ../../build/doc/TSP-family.rst:13 -#: ../../build/doc/TSP-family.rst:14 ../../build/doc/pgr_TSP.rst:100 +#: ../../build/doc/TSP-family.rst:14 ../../build/doc/pgr_TSP.rst:101 msgid "``FLOAT``" msgstr "``FLOAT``" @@ -318,11 +320,11 @@ msgstr "" "falso: Use `1` como semilla. Usando este valor obtendrá los mismos " "resultados con los mismos datos en cada ejecución." -#: ../../build/doc/pgr_TSP.rst:91 +#: ../../build/doc/pgr_TSP.rst:92 msgid "Inner query" msgstr "Consulta interna" -#: ../../build/doc/pgr_TSP.rst:93 +#: ../../build/doc/pgr_TSP.rst:94 msgid "" "**Matrix SQL**: an SQL query, which should return a set of rows with the " "following columns:" @@ -330,27 +332,27 @@ msgstr "" "**Matrix SQL**: una consulta SQL, que debe devolver un conjunto de filas con" " las siguientes columnas:" -#: ../../build/doc/TSP-family.rst:6 ../../build/doc/pgr_TSP.rst:96 +#: ../../build/doc/TSP-family.rst:6 ../../build/doc/pgr_TSP.rst:97 msgid "Column" msgstr "Columna" -#: ../../build/doc/pgr_TSP.rst:98 +#: ../../build/doc/pgr_TSP.rst:99 msgid "Identifier of the starting vertex." msgstr "Identificador del vértice inicial." -#: ../../build/doc/pgr_TSP.rst:99 +#: ../../build/doc/pgr_TSP.rst:100 msgid "Identifier of the ending vertex." msgstr "Identificador del vértice final." -#: ../../build/doc/TSP-family.rst:13 ../../build/doc/pgr_TSP.rst:100 +#: ../../build/doc/TSP-family.rst:13 ../../build/doc/pgr_TSP.rst:101 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_TSP.rst:100 +#: ../../build/doc/pgr_TSP.rst:101 msgid "Cost for going from start_vid to end_vid" msgstr "Costo para pasar de start_vid a end_vid" -#: ../../build/doc/pgr_TSP.rst:103 +#: ../../build/doc/pgr_TSP.rst:104 msgid "" "Can be Used with :doc:`costMatrix-category` functions with `directed := " "false`." @@ -358,7 +360,7 @@ msgstr "" "Se puede utilizar con las funciones :doc:`costMatrix-category`, con el valor" " `directed := false`." -#: ../../build/doc/pgr_TSP.rst:105 +#: ../../build/doc/pgr_TSP.rst:106 msgid "" "If using `directed := true`, the resulting non symmetric matrix must be " "converted to symmetric by fixing the non symmetric values according to your " @@ -368,7 +370,7 @@ msgstr "" "convertirse a simétrica mediante la corrección de los valores no simétricos " "de acuerdo con las necesidades de la aplicación." -#: ../../build/doc/pgr_TSP.rst:109 +#: ../../build/doc/pgr_TSP.rst:110 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -416,23 +418,23 @@ msgstr "Costo agregado del ``nodo`` en ``seq = 1`` hacia el nodo actual." msgid "``0`` for the first row in the path sequence." msgstr "``0`` para la primera fila de la secuencia de ruta." -#: ../../build/doc/pgr_TSP.rst:116 +#: ../../build/doc/pgr_TSP.rst:117 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_TSP.rst:118 +#: ../../build/doc/pgr_TSP.rst:119 msgid "Start from vertex :math:`7`" msgstr "Inicio en el vértice :math:`7`" -#: ../../build/doc/pgr_TSP.rst:124 +#: ../../build/doc/pgr_TSP.rst:125 msgid "Using with points of interest." msgstr "Uso con puntos de interés." -#: ../../build/doc/pgr_TSP.rst:126 +#: ../../build/doc/pgr_TSP.rst:127 msgid "To generate a symmetric matrix:" msgstr "Para generar una matriz simétrica:" -#: ../../build/doc/pgr_TSP.rst:128 +#: ../../build/doc/pgr_TSP.rst:129 msgid "" "the **side** information of pointsOfInterset is ignored by not including it " "in the query" @@ -440,23 +442,23 @@ msgstr "" "la información del **lado** de pointsOfInterset se omite al no incluirla en " "la consulta" -#: ../../build/doc/pgr_TSP.rst:129 +#: ../../build/doc/pgr_TSP.rst:130 msgid "and **directed := false**" msgstr "y **directed := false**" -#: ../../build/doc/pgr_TSP.rst:135 +#: ../../build/doc/pgr_TSP.rst:136 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_TSP.rst:138 +#: ../../build/doc/pgr_TSP.rst:139 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_TSP.rst:140 +#: ../../build/doc/pgr_TSP.rst:141 msgid ":doc:`TSP-family`" msgstr ":doc:`TSP-family`" -#: ../../build/doc/pgr_TSP.rst:141 +#: ../../build/doc/pgr_TSP.rst:142 msgid "" "`Simulated annaeling algorithm for beginners `__" @@ -465,7 +467,7 @@ msgstr "" "`__" -#: ../../build/doc/pgr_TSP.rst:142 +#: ../../build/doc/pgr_TSP.rst:143 msgid "" "`Wikipedia: Traveling Salesman Problem " "`__" @@ -473,7 +475,7 @@ msgstr "" "`Wikipedia: Traveling Salesman Problem " "`__" -#: ../../build/doc/pgr_TSP.rst:143 +#: ../../build/doc/pgr_TSP.rst:144 msgid "" "`Wikipedia: Simulated annealing " "`__" @@ -481,23 +483,14 @@ msgstr "" "`Wikipedia: Simulated annealing " "`__" -#: ../../build/doc/pgr_TSP.rst:146 +#: ../../build/doc/pgr_TSP.rst:147 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_TSP.rst:147 +#: ../../build/doc/pgr_TSP.rst:148 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_TSP.rst:148 +#: ../../build/doc/pgr_TSP.rst:149 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po b/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po index 1017b1f6662..6a98f2253e3 100644 --- a/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po +++ b/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -61,15 +61,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_TSPeuclidean.rst:28 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_TSPeuclidean.rst:32 +#: ../../build/doc/pgr_TSPeuclidean.rst:33 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -82,9 +84,9 @@ msgstr "" "`__" #: ../../build/doc/TSP-family.rst:4 ../../build/doc/TSP-family.rst:6 -#: ../../build/doc/pgr_TSPeuclidean.rst:38 -#: ../../build/doc/pgr_TSPeuclidean.rst:74 -#: ../../build/doc/pgr_TSPeuclidean.rst:92 +#: ../../build/doc/pgr_TSPeuclidean.rst:39 +#: ../../build/doc/pgr_TSPeuclidean.rst:75 +#: ../../build/doc/pgr_TSPeuclidean.rst:93 msgid "Description" msgstr "Descripción" @@ -105,7 +107,7 @@ msgstr "" " corresponde con la ruta más corta posible que para visite cada ciudad " "exactamente una vez y regrese a la ciudad de origen?*" -#: ../../build/doc/pgr_TSPeuclidean.rst:44 +#: ../../build/doc/pgr_TSPeuclidean.rst:45 msgid "" "See :ref:`simulated-annealing` for a complete description of this " "implementation" @@ -113,11 +115,11 @@ msgstr "" "Consulte :ref:`simulated-annealing` para obtener una descripción completa de" " esta implementación" -#: ../../build/doc/pgr_TSPeuclidean.rst:47 +#: ../../build/doc/pgr_TSPeuclidean.rst:48 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_TSPeuclidean.rst:50 +#: ../../build/doc/pgr_TSPeuclidean.rst:51 msgid "Summary" msgstr "Resumen" @@ -125,32 +127,32 @@ msgstr "Resumen" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_TSPeuclidean.rst:64 +#: ../../build/doc/pgr_TSPeuclidean.rst:65 msgid "Not having a random execution" msgstr "No tener una ejecución aleatoria" -#: ../../build/doc/pgr_TSPeuclidean.rst:71 +#: ../../build/doc/pgr_TSPeuclidean.rst:72 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/TSP-family.rst:4 ../../build/doc/pgr_TSPeuclidean.rst:74 +#: ../../build/doc/TSP-family.rst:4 ../../build/doc/pgr_TSPeuclidean.rst:75 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/pgr_TSPeuclidean.rst:76 +#: ../../build/doc/pgr_TSPeuclidean.rst:77 msgid "**Coordinates SQL**" msgstr "**Coordenadas SQL**" -#: ../../build/doc/pgr_TSPeuclidean.rst:76 +#: ../../build/doc/pgr_TSPeuclidean.rst:77 msgid "an SQL query, described in the `Inner query`_" msgstr "una consulta SQL, descrita en `Inner query`_" -#: ../../build/doc/pgr_TSPeuclidean.rst:80 +#: ../../build/doc/pgr_TSPeuclidean.rst:81 msgid "Optional Parameters" msgstr "Parámetros opcionales" #: ../../build/doc/TSP-family.rst:4 ../../build/doc/TSP-family.rst:6 -#: ../../build/doc/pgr_TSPeuclidean.rst:92 +#: ../../build/doc/pgr_TSPeuclidean.rst:93 msgid "Type" msgstr "Tipo" @@ -163,7 +165,7 @@ msgid "**start_vid**" msgstr "**start_vid**" #: ../../build/doc/TSP-family.rst:6 ../../build/doc/TSP-family.rst:7 -#: ../../build/doc/TSP-family.rst:9 ../../build/doc/pgr_TSPeuclidean.rst:94 +#: ../../build/doc/TSP-family.rst:9 ../../build/doc/pgr_TSPeuclidean.rst:95 msgid "``BIGINT``" msgstr "``BIGINT``" @@ -189,8 +191,8 @@ msgstr "**max_processing_time**" #: ../../build/doc/TSP-family.rst:8 ../../build/doc/TSP-family.rst:10 #: ../../build/doc/TSP-family.rst:12 ../../build/doc/TSP-family.rst:13 -#: ../../build/doc/TSP-family.rst:14 ../../build/doc/pgr_TSPeuclidean.rst:98 -#: ../../build/doc/pgr_TSPeuclidean.rst:99 +#: ../../build/doc/TSP-family.rst:14 ../../build/doc/pgr_TSPeuclidean.rst:99 +#: ../../build/doc/pgr_TSPeuclidean.rst:100 msgid "``FLOAT``" msgstr "``FLOAT``" @@ -312,11 +314,11 @@ msgstr "" "falso: Use `1` como semilla. Usando este valor obtendrá los mismos " "resultados con los mismos datos en cada ejecución." -#: ../../build/doc/pgr_TSPeuclidean.rst:87 +#: ../../build/doc/pgr_TSPeuclidean.rst:88 msgid "Inner query" msgstr "Consulta interna" -#: ../../build/doc/pgr_TSPeuclidean.rst:89 +#: ../../build/doc/pgr_TSPeuclidean.rst:90 msgid "" "**Coordinates SQL**: an SQL query, which should return a set of rows with " "the following columns:" @@ -324,19 +326,19 @@ msgstr "" "**Coordenadas SQL**: una consulta SQL, que debe devolver un conjunto de " "filas con las siguientes columnas:" -#: ../../build/doc/TSP-family.rst:6 ../../build/doc/pgr_TSPeuclidean.rst:92 +#: ../../build/doc/TSP-family.rst:6 ../../build/doc/pgr_TSPeuclidean.rst:93 msgid "Column" msgstr "Columna" -#: ../../build/doc/pgr_TSPeuclidean.rst:94 +#: ../../build/doc/pgr_TSPeuclidean.rst:95 msgid "**id**" msgstr "**id**" -#: ../../build/doc/pgr_TSPeuclidean.rst:94 +#: ../../build/doc/pgr_TSPeuclidean.rst:95 msgid "(optional) Identifier of the coordinate." msgstr "(opcional) Identificador de la coordenada." -#: ../../build/doc/pgr_TSPeuclidean.rst:96 +#: ../../build/doc/pgr_TSPeuclidean.rst:97 msgid "" "When missing the coordinates will receive an **id** starting from 1, in the " "order given." @@ -344,23 +346,23 @@ msgstr "" "Cuando faltan las coordenadas recibirán un **id** a partir de 1, en el orden" " indicado." -#: ../../build/doc/pgr_TSPeuclidean.rst:98 +#: ../../build/doc/pgr_TSPeuclidean.rst:99 msgid "**x**" msgstr "**x**" -#: ../../build/doc/pgr_TSPeuclidean.rst:98 +#: ../../build/doc/pgr_TSPeuclidean.rst:99 msgid "X value of the coordinate." msgstr "Valor X de la coordenada." -#: ../../build/doc/pgr_TSPeuclidean.rst:99 +#: ../../build/doc/pgr_TSPeuclidean.rst:100 msgid "**y**" msgstr "**y**" -#: ../../build/doc/pgr_TSPeuclidean.rst:99 +#: ../../build/doc/pgr_TSPeuclidean.rst:100 msgid "Y value of the coordinate." msgstr "Valor Y de la coordenada." -#: ../../build/doc/pgr_TSPeuclidean.rst:104 +#: ../../build/doc/pgr_TSPeuclidean.rst:105 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -412,11 +414,11 @@ msgstr "Costo agregado del ``nodo`` en ``seq = 1`` hacia el nodo actual." msgid "``0`` for the first row in the path sequence." msgstr "``0`` para la primera fila de la secuencia de ruta." -#: ../../build/doc/pgr_TSPeuclidean.rst:111 +#: ../../build/doc/pgr_TSPeuclidean.rst:112 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_TSPeuclidean.rst:113 +#: ../../build/doc/pgr_TSPeuclidean.rst:114 msgid "" "Try :math:`3` times per temperature with cooling factor of :math:`0.5`, not " "having a random execution" @@ -424,23 +426,23 @@ msgstr "" "Prueba :math:`3` veces por temperatura con factor de enfriamiento de " ":math:`0.5`, sin tener una ejecución aleatoria" -#: ../../build/doc/pgr_TSPeuclidean.rst:119 +#: ../../build/doc/pgr_TSPeuclidean.rst:120 msgid "Skipping the Simulated Annealing & showing some process information" msgstr "Omitir el Recocido Simulado y mostrar información del proceso" -#: ../../build/doc/pgr_TSPeuclidean.rst:125 +#: ../../build/doc/pgr_TSPeuclidean.rst:126 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_TSPeuclidean.rst:128 +#: ../../build/doc/pgr_TSPeuclidean.rst:129 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_TSPeuclidean.rst:130 +#: ../../build/doc/pgr_TSPeuclidean.rst:131 msgid ":doc:`TSP-family`" msgstr ":doc:`TSP-family`" -#: ../../build/doc/pgr_TSPeuclidean.rst:131 +#: ../../build/doc/pgr_TSPeuclidean.rst:132 msgid "" "`Simulated annaeling algorithm for beginners `__" @@ -449,7 +451,7 @@ msgstr "" "`__" -#: ../../build/doc/pgr_TSPeuclidean.rst:132 +#: ../../build/doc/pgr_TSPeuclidean.rst:133 msgid "" "`Wikipedia: Traveling Salesman Problem " "`__" @@ -457,7 +459,7 @@ msgstr "" "`Wikipedia: Traveling Salesman Problem " "`__" -#: ../../build/doc/pgr_TSPeuclidean.rst:133 +#: ../../build/doc/pgr_TSPeuclidean.rst:134 msgid "" "`Wikipedia: Simulated annealing " "`__" @@ -465,23 +467,14 @@ msgstr "" "`Wikipedia: Simulated annealing " "`__" -#: ../../build/doc/pgr_TSPeuclidean.rst:136 +#: ../../build/doc/pgr_TSPeuclidean.rst:137 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_TSPeuclidean.rst:137 +#: ../../build/doc/pgr_TSPeuclidean.rst:138 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_TSPeuclidean.rst:138 +#: ../../build/doc/pgr_TSPeuclidean.rst:139 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_aStar.po b/locale/es/LC_MESSAGES/pgr_aStar.po index 6e891f30dee..670b6076aca 100644 --- a/locale/es/LC_MESSAGES/pgr_aStar.po +++ b/locale/es/LC_MESSAGES/pgr_aStar.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -94,15 +94,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_aStar.rst:46 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_aStar.rst:50 +#: ../../build/doc/pgr_aStar.rst:51 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -120,12 +122,12 @@ msgstr "" "`__ `2.0 " "`__" -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:59 -#: ../../build/doc/pgr_aStar.rst:185 ../../build/doc/pgr_aStar.rst:218 +#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:60 +#: ../../build/doc/pgr_aStar.rst:186 ../../build/doc/pgr_aStar.rst:219 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_aStar.rst:61 +#: ../../build/doc/pgr_aStar.rst:62 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -200,7 +202,7 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "Tiempo de ejecución: :math:`O((E + V) * \\log V)`" -#: ../../build/doc/pgr_aStar.rst:67 +#: ../../build/doc/pgr_aStar.rst:68 msgid "" "The results are equivalent to the union of the results of the `pgr_aStar(` " "`One to One`_ `)` on the:" @@ -208,19 +210,19 @@ msgstr "" "Los resultados son equivalentes a la unión de los resultados de pgr_aStar( " "`Uno a Uno`_ ) en:" -#: ../../build/doc/pgr_aStar.rst:69 +#: ../../build/doc/pgr_aStar.rst:70 msgid "`pgr_aStar(` `One to Many`_ `)`" msgstr "`pgr_aStar(` `Uno a Muchos`_ `)`" -#: ../../build/doc/pgr_aStar.rst:70 +#: ../../build/doc/pgr_aStar.rst:71 msgid "`pgr_aStar(` `Many to One`_ `)`" msgstr "`pgr_aStar(` `Muchos a Uno`_ `)`" -#: ../../build/doc/pgr_aStar.rst:71 +#: ../../build/doc/pgr_aStar.rst:72 msgid "`pgr_aStar(` `Many to Many`_ `)`" msgstr "`pgr_aStar(` `Muchos a Muchos`_ `)`" -#: ../../build/doc/pgr_aStar.rst:73 +#: ../../build/doc/pgr_aStar.rst:74 msgid "" "``start_vid`` and ``end_vid`` in the result is used to distinguish to which " "path it belongs." @@ -228,21 +230,21 @@ msgstr "" "``start_vid`` y ``end_vid`` en el resultado se utiliza para distinguir a qué" " ruta pertenece." -#: ../../build/doc/pgr_aStar.rst:76 +#: ../../build/doc/pgr_aStar.rst:77 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_aStar.rst:79 +#: ../../build/doc/pgr_aStar.rst:80 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_aStar.rst:90 +#: ../../build/doc/pgr_aStar.rst:91 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" "Los parámetros opcionales son `parámetros con nombre` y tienen un valor " "predeterminado." -#: ../../build/doc/pgr_aStar.rst:93 +#: ../../build/doc/pgr_aStar.rst:94 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -250,15 +252,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_aStar.rst:100 +#: ../../build/doc/pgr_aStar.rst:101 msgid "From vertex :math:`2` to vertex :math:`12` on a **directed** graph" msgstr "De vértice :math:`2` a vértice :math:`12` en un grafo **dirigido**" -#: ../../build/doc/pgr_aStar.rst:110 +#: ../../build/doc/pgr_aStar.rst:111 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_aStar.rst:119 +#: ../../build/doc/pgr_aStar.rst:120 msgid "" "From vertex :math:`2` to vertex :math:`12` on an **undirected** graph using" " heuristic :math:`2`" @@ -266,11 +268,11 @@ msgstr "" "De vértice :math:`2` a vértice :math:`12` en un grafo **no dirigido** usando" " la heurística :math:`2`" -#: ../../build/doc/pgr_aStar.rst:129 +#: ../../build/doc/pgr_aStar.rst:130 msgid "One to many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_aStar.rst:137 +#: ../../build/doc/pgr_aStar.rst:138 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 12\\}` on a **directed** " "graph using heuristic :math:`2`" @@ -278,11 +280,11 @@ msgstr "" "Desde el vértice :math:`2` a los vértices :math:`\\{3, 12\\}` en un grafo " "**dirigido** usando la heurística :math:`2`" -#: ../../build/doc/pgr_aStar.rst:147 +#: ../../build/doc/pgr_aStar.rst:148 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_aStar.rst:155 +#: ../../build/doc/pgr_aStar.rst:156 msgid "" "From vertices :math:`\\{7, 2\\}` to vertex :math:`12` on a **directed** " "graph using heuristic :math:`0`" @@ -290,11 +292,11 @@ msgstr "" "De los vértices :math:`\\{7, 2\\}` al vértice :math:`12` en un grafo " "**dirigido** usando la heurística :math:`0`" -#: ../../build/doc/pgr_aStar.rst:165 +#: ../../build/doc/pgr_aStar.rst:166 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_aStar.rst:173 +#: ../../build/doc/pgr_aStar.rst:174 msgid "" "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 12\\}` on a " "**directed** graph using heuristic :math:`2`" @@ -302,194 +304,194 @@ msgstr "" "De los vértices :math:`\\{7, 2\\}` a los vértices :math:`\\{3, 12\\}` en un" " gráfico **dirigido** usando la heurística :math:`2`" -#: ../../build/doc/pgr_aStar.rst:180 +#: ../../build/doc/pgr_aStar.rst:181 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_aStar.rst:185 ../../build/doc/pgr_aStar.rst:218 +#: ../../build/doc/pgr_aStar.rst:186 ../../build/doc/pgr_aStar.rst:219 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:185 -#: ../../build/doc/pgr_aStar.rst:218 +#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:186 +#: ../../build/doc/pgr_aStar.rst:219 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_aStar.rst:187 +#: ../../build/doc/pgr_aStar.rst:188 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_aStar.rst:187 +#: ../../build/doc/pgr_aStar.rst:188 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_aStar.rst:187 +#: ../../build/doc/pgr_aStar.rst:188 msgid "`edges_sql`_ inner query." msgstr "`edges_sql`_ consulta interna." -#: ../../build/doc/pgr_aStar.rst:188 +#: ../../build/doc/pgr_aStar.rst:189 msgid "**from_vid**" msgstr "**from_vid**" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:188 -#: ../../build/doc/pgr_aStar.rst:198 +#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:189 +#: ../../build/doc/pgr_aStar.rst:199 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_aStar.rst:188 +#: ../../build/doc/pgr_aStar.rst:189 msgid "Starting vertex identifier. Parameter in:" msgstr "Identificador de vértice inicial. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:190 ../../build/doc/pgr_aStar.rst:200 +#: ../../build/doc/pgr_aStar.rst:191 ../../build/doc/pgr_aStar.rst:201 msgid "`One to One`_" msgstr "`Uno a Uno`_" -#: ../../build/doc/pgRouting-concepts.rst:19 ../../build/doc/pgr_aStar.rst:191 -#: ../../build/doc/pgr_aStar.rst:205 +#: ../../build/doc/pgRouting-concepts.rst:19 ../../build/doc/pgr_aStar.rst:192 +#: ../../build/doc/pgr_aStar.rst:206 msgid "`One to Many`_" msgstr "`Uno a Muchos`_" -#: ../../build/doc/pgr_aStar.rst:193 +#: ../../build/doc/pgr_aStar.rst:194 msgid "**from_vids**" msgstr "**from_vids**" -#: ../../build/doc/pgr_aStar.rst:193 ../../build/doc/pgr_aStar.rst:203 +#: ../../build/doc/pgr_aStar.rst:194 ../../build/doc/pgr_aStar.rst:204 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_aStar.rst:193 +#: ../../build/doc/pgr_aStar.rst:194 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "Arreglo de identificadores de vértices iniciales. Parámetro en:" -#: ../../build/doc/pgRouting-concepts.rst:13 ../../build/doc/pgr_aStar.rst:195 -#: ../../build/doc/pgr_aStar.rst:201 +#: ../../build/doc/pgRouting-concepts.rst:13 ../../build/doc/pgr_aStar.rst:196 +#: ../../build/doc/pgr_aStar.rst:202 msgid "`Many to One`_" msgstr "`Muchos a Uno`_" #: ../../build/doc/pgRouting-concepts.rst:14 -#: ../../build/doc/pgRouting-concepts.rst:20 ../../build/doc/pgr_aStar.rst:196 -#: ../../build/doc/pgr_aStar.rst:206 +#: ../../build/doc/pgRouting-concepts.rst:20 ../../build/doc/pgr_aStar.rst:197 +#: ../../build/doc/pgr_aStar.rst:207 msgid "`Many to Many`_" msgstr "`Muchos a Muchos`_" -#: ../../build/doc/pgr_aStar.rst:198 +#: ../../build/doc/pgr_aStar.rst:199 msgid "**to_vid**" msgstr "**to_vid**" -#: ../../build/doc/pgr_aStar.rst:198 +#: ../../build/doc/pgr_aStar.rst:199 msgid "Ending vertex identifier. Parameter in:" msgstr "Identificador de vértice final. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:203 +#: ../../build/doc/pgr_aStar.rst:204 msgid "**to_vids**" msgstr "**to_vids**" -#: ../../build/doc/pgr_aStar.rst:203 +#: ../../build/doc/pgr_aStar.rst:204 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "Matriz de identificadores de vértices finales. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:213 +#: ../../build/doc/pgr_aStar.rst:214 msgid "Optional Parameters" msgstr "Parámetros opcionales" -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:218 +#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:219 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_aStar.rst:220 +#: ../../build/doc/pgr_aStar.rst:221 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_aStar.rst:220 +#: ../../build/doc/pgr_aStar.rst:221 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_aStar.rst:220 +#: ../../build/doc/pgr_aStar.rst:221 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_aStar.rst:220 +#: ../../build/doc/pgr_aStar.rst:221 msgid "When ``true`` the graph is considered as Directed." msgstr "En caso de ``true`` el grafo se considera como Dirigido." -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:222 msgid "When ``false`` the graph is considered as Undirected." msgstr "Cuando ``false`` el gráfico se considera como No Dirigido" -#: ../../build/doc/pgr_aStar.rst:223 +#: ../../build/doc/pgr_aStar.rst:224 msgid "**heuristic**" msgstr "**heurística**" -#: ../../build/doc/pgr_aStar.rst:223 +#: ../../build/doc/pgr_aStar.rst:224 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/pgr_aStar.rst:223 +#: ../../build/doc/pgr_aStar.rst:224 msgid "``5``" msgstr "``5``" -#: ../../build/doc/pgr_aStar.rst:223 +#: ../../build/doc/pgr_aStar.rst:224 msgid "Heuristic number. Current valid values 0~5. Default ``5``" msgstr "Número heurístico. Valores actuales válidos 0~5. Default ``5``" -#: ../../build/doc/pgr_aStar.rst:225 +#: ../../build/doc/pgr_aStar.rst:226 msgid "0: h(v) = 0 (Use this value to compare with pgr_dijkstra)" msgstr "0: h(v) = 0 (utilizar este valor para comparar con pgr_dijkstra)" -#: ../../build/doc/pgr_aStar.rst:226 +#: ../../build/doc/pgr_aStar.rst:227 msgid "1: h(v) abs(max(dx, dy))" msgstr "1: h(v) abs(max(dx, dy))" -#: ../../build/doc/pgr_aStar.rst:227 +#: ../../build/doc/pgr_aStar.rst:228 msgid "2: h(v) abs(min(dx, dy))" msgstr "2: h(v) abs(min(dx, dy))" -#: ../../build/doc/pgr_aStar.rst:228 +#: ../../build/doc/pgr_aStar.rst:229 msgid "3: h(v) = dx * dx + dy * dy" msgstr "3: h(v) = dx * dx + dy * dy" -#: ../../build/doc/pgr_aStar.rst:229 +#: ../../build/doc/pgr_aStar.rst:230 msgid "4: h(v) = sqrt(dx * dx + dy * dy)" msgstr "4: h(v) = sqrt(dx * dx + dy * dy)" -#: ../../build/doc/pgr_aStar.rst:230 +#: ../../build/doc/pgr_aStar.rst:231 msgid "5: h(v) = abs(dx) + abs(dy)" msgstr "5: h(v) = abs(dx) + abs(dy)" -#: ../../build/doc/pgr_aStar.rst:232 +#: ../../build/doc/pgr_aStar.rst:233 msgid "**factor**" msgstr "**factor**" #: ../../build/doc/pgRouting-concepts.rst:24 -#: ../../build/doc/pgRouting-concepts.rst:25 ../../build/doc/pgr_aStar.rst:232 -#: ../../build/doc/pgr_aStar.rst:233 +#: ../../build/doc/pgRouting-concepts.rst:25 ../../build/doc/pgr_aStar.rst:233 +#: ../../build/doc/pgr_aStar.rst:234 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_aStar.rst:232 ../../build/doc/pgr_aStar.rst:233 +#: ../../build/doc/pgr_aStar.rst:233 ../../build/doc/pgr_aStar.rst:234 msgid "``1``" msgstr "``1``" -#: ../../build/doc/pgr_aStar.rst:232 +#: ../../build/doc/pgr_aStar.rst:233 msgid "For units manipulation. :math:`factor > 0`. See :ref:`astar_factor`" msgstr "" "Para la manipulación de unidades. math:`factor > 0`. Ver :ref:`astar_factor`" -#: ../../build/doc/pgr_aStar.rst:233 +#: ../../build/doc/pgr_aStar.rst:234 msgid "**epsilon**" msgstr "**epsilon**" -#: ../../build/doc/pgr_aStar.rst:233 +#: ../../build/doc/pgr_aStar.rst:234 msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "Para resultados menos restringidos. :math:`epsilon >= 1`." -#: ../../build/doc/pgr_aStar.rst:239 +#: ../../build/doc/pgr_aStar.rst:240 msgid "Inner query" msgstr "Consulta interna" -#: ../../build/doc/pgRouting-concepts.rst ../../build/doc/pgr_aStar.rst:242 +#: ../../build/doc/pgRouting-concepts.rst ../../build/doc/pgr_aStar.rst:243 msgid "edges_sql" msgstr "edges_sql" @@ -626,7 +628,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_aStar.rst:249 +#: ../../build/doc/pgr_aStar.rst:250 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -729,43 +731,34 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_aStar.rst:256 +#: ../../build/doc/pgr_aStar.rst:257 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_aStar.rst:258 +#: ../../build/doc/pgr_aStar.rst:259 msgid ":doc:`aStar-family`" msgstr ":doc:`aStar-family`" -#: ../../build/doc/pgr_aStar.rst:259 +#: ../../build/doc/pgr_aStar.rst:260 msgid ":doc:`sampledata`" msgstr ":doc:`sampledata`" -#: ../../build/doc/pgr_aStar.rst:260 +#: ../../build/doc/pgr_aStar.rst:261 msgid "https://www.boost.org/libs/graph/doc/astar_search.html" msgstr "https://www.boost.org/libs/graph/doc/astar_search.html" -#: ../../build/doc/pgr_aStar.rst:261 +#: ../../build/doc/pgr_aStar.rst:262 msgid "https://en.wikipedia.org/wiki/A*_search_algorithm" msgstr "https://en.wikipedia.org/wiki/A*_search_algorithm" -#: ../../build/doc/pgr_aStar.rst:264 +#: ../../build/doc/pgr_aStar.rst:265 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_aStar.rst:265 +#: ../../build/doc/pgr_aStar.rst:266 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_aStar.rst:266 +#: ../../build/doc/pgr_aStar.rst:267 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_aStarCost.po b/locale/es/LC_MESSAGES/pgr_aStarCost.po index b0fce95df30..f1e8ef637d4 100644 --- a/locale/es/LC_MESSAGES/pgr_aStarCost.po +++ b/locale/es/LC_MESSAGES/pgr_aStarCost.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -66,15 +66,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_aStarCost.rst:32 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_aStarCost.rst:36 +#: ../../build/doc/pgr_aStarCost.rst:37 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -85,11 +87,11 @@ msgstr "" "`__" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_aStarCost.rst:41 +#: ../../build/doc/pgr_aStarCost.rst:42 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_aStarCost.rst:43 +#: ../../build/doc/pgr_aStarCost.rst:44 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -164,7 +166,7 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "Tiempo de ejecución: :math:`O((E + V) * \\log V)`" -#: ../../build/doc/pgr_aStarCost.rst:49 +#: ../../build/doc/pgr_aStarCost.rst:50 msgid "" "The results are equivalent to the union of the results of the " "`pgr_aStarCost(` `One to One`_ `)` on the:" @@ -172,33 +174,33 @@ msgstr "" "Los resultados son equivalentes a la unión de los resultados de " "`pgr_aStarCost(` `Uno a Uno`_ `)` en:" -#: ../../build/doc/pgr_aStarCost.rst:51 +#: ../../build/doc/pgr_aStarCost.rst:52 msgid "`pgr_aStarCost(` `One to Many`_ `)`" msgstr "`pgr_aStarCost(` `Uno a Muchos`_ `)`" -#: ../../build/doc/pgr_aStarCost.rst:52 +#: ../../build/doc/pgr_aStarCost.rst:53 msgid "`pgr_aStarCost(` `Many to One`_ `)`" msgstr "`pgr_aStarCost(` `Muchos a Uno`_ `)`" -#: ../../build/doc/pgr_aStarCost.rst:53 +#: ../../build/doc/pgr_aStarCost.rst:54 msgid "`pgr_aStarCost(` `Many to Many`_ `)`" msgstr "`pgr_aStarCost(` `Muchos a Muchos`_ `)`" -#: ../../build/doc/pgr_aStarCost.rst:56 +#: ../../build/doc/pgr_aStarCost.rst:57 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_aStarCost.rst:59 +#: ../../build/doc/pgr_aStarCost.rst:60 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_aStarCost.rst:70 +#: ../../build/doc/pgr_aStarCost.rst:71 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" "Los parámetros opcionales son `parámetros con nombre` y tienen un valor " "predeterminado." -#: ../../build/doc/pgr_aStarCost.rst:73 +#: ../../build/doc/pgr_aStarCost.rst:74 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -206,15 +208,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_aStarCost.rst:80 +#: ../../build/doc/pgr_aStarCost.rst:81 msgid "From vertex :math:`2` to vertex :math:`12` on a **directed** graph" msgstr "Del vértice :math:`2` al vértice :math:`12` en un grafo **dirigido**" -#: ../../build/doc/pgr_aStarCost.rst:90 +#: ../../build/doc/pgr_aStarCost.rst:91 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_aStarCost.rst:98 +#: ../../build/doc/pgr_aStarCost.rst:99 msgid "" "From vertex :math:`2` to vertex :math:`12` on an **undirected** graph using" " heuristic :math:`2`" @@ -222,11 +224,11 @@ msgstr "" "De vértice :math:`2` a vértice :math:`12` en un grafo **no dirigido** usando" " la heurística :math:`2`" -#: ../../build/doc/pgr_aStarCost.rst:108 +#: ../../build/doc/pgr_aStarCost.rst:109 msgid "One to many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_aStarCost.rst:116 +#: ../../build/doc/pgr_aStarCost.rst:117 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 12\\}` on a **directed** " "graph using heuristic :math:`2`" @@ -234,11 +236,11 @@ msgstr "" "Desde el vértice :math:`2` a los vértices :math:`\\{3, 12\\}` en un grafo " "**dirigido** usando la heurística :math:`2`" -#: ../../build/doc/pgr_aStarCost.rst:126 +#: ../../build/doc/pgr_aStarCost.rst:127 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_aStarCost.rst:134 +#: ../../build/doc/pgr_aStarCost.rst:135 msgid "" "From vertices :math:`\\{7, 2\\}` to vertex :math:`12` on a **directed** " "graph using heuristic :math:`0`" @@ -246,11 +248,11 @@ msgstr "" "De los vértices :math:`\\{7, 2\\}` al vértice :math:`12` en un grafo " "**dirigido** usando la heurística :math:`0`" -#: ../../build/doc/pgr_aStarCost.rst:144 +#: ../../build/doc/pgr_aStarCost.rst:145 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_aStarCost.rst:152 +#: ../../build/doc/pgr_aStarCost.rst:153 msgid "" "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 12\\}` on a " "**directed** graph using heuristic :math:`2`" @@ -258,7 +260,7 @@ msgstr "" "De los vértices :math:`\\{7, 2\\}` a los vértices :math:`\\{3, 12\\}` en un" " gráfico **dirigido** usando la heurística :math:`2`" -#: ../../build/doc/pgr_aStarCost.rst:159 +#: ../../build/doc/pgr_aStarCost.rst:160 msgid "Parameters" msgstr "Parámetros" @@ -341,7 +343,7 @@ msgstr "**to_vids**" msgid "Array of ending vertices identifiers. Parameter in:" msgstr "Matriz de identificadores de vértices finales. Parámetro en:" -#: ../../build/doc/pgr_aStarCost.rst:166 +#: ../../build/doc/pgr_aStarCost.rst:167 msgid "Optional Parameters" msgstr "Parámetros opcionales" @@ -435,12 +437,12 @@ msgstr "**epsilon**" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "Para resultados menos restringidos. :math:`epsilon >= 1`." -#: ../../build/doc/pgr_aStarCost.rst:173 +#: ../../build/doc/pgr_aStarCost.rst:174 msgid "Inner query" msgstr "Consulta interna" #: ../../build/doc/pgRouting-concepts.rst -#: ../../build/doc/pgr_aStarCost.rst:176 +#: ../../build/doc/pgr_aStarCost.rst:177 msgid "edges_sql" msgstr "edges_sql" @@ -576,7 +578,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_aStarCost.rst:183 +#: ../../build/doc/pgr_aStarCost.rst:184 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -621,43 +623,34 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_aStarCost.rst:190 +#: ../../build/doc/pgr_aStarCost.rst:191 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_aStarCost.rst:192 +#: ../../build/doc/pgr_aStarCost.rst:193 msgid ":doc:`aStar-family`" msgstr ":doc:`aStar-family`" -#: ../../build/doc/pgr_aStarCost.rst:193 +#: ../../build/doc/pgr_aStarCost.rst:194 msgid ":doc:`cost-category`" msgstr ":doc:`cost-category`" -#: ../../build/doc/pgr_aStarCost.rst:194 +#: ../../build/doc/pgr_aStarCost.rst:195 msgid ":doc:`costMatrix-category`" msgstr ":doc:`costMatrix-category`" -#: ../../build/doc/pgr_aStarCost.rst:195 +#: ../../build/doc/pgr_aStarCost.rst:196 msgid "Examples use :doc:`sampledata` network." msgstr "Los ejemplos utilizan la red :doc:`sampledata` " -#: ../../build/doc/pgr_aStarCost.rst:198 +#: ../../build/doc/pgr_aStarCost.rst:199 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_aStarCost.rst:199 +#: ../../build/doc/pgr_aStarCost.rst:200 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_aStarCost.rst:200 +#: ../../build/doc/pgr_aStarCost.rst:201 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_aStarCostMatrix.po b/locale/es/LC_MESSAGES/pgr_aStarCostMatrix.po index f47124ed95f..fc51f7773e7 100644 --- a/locale/es/LC_MESSAGES/pgr_aStarCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_aStarCostMatrix.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -66,15 +66,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_aStarCostMatrix.rst:32 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_aStarCostMatrix.rst:36 +#: ../../build/doc/pgr_aStarCostMatrix.rst:37 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -85,65 +87,65 @@ msgstr "" "`__" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_aStarCostMatrix.rst:41 -#: ../../build/doc/pgr_aStarCostMatrix.rst:106 +#: ../../build/doc/pgr_aStarCostMatrix.rst:42 +#: ../../build/doc/pgr_aStarCostMatrix.rst:107 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_aStarCostMatrix.rst:43 +#: ../../build/doc/pgr_aStarCostMatrix.rst:44 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_aStarCostMatrix.rst:45 +#: ../../build/doc/pgr_aStarCostMatrix.rst:46 msgid "Using internaly the :doc:`pgr_aStar` algorithm" msgstr "Usando internamente el algoritmo :doc:`pgr_aStar`" -#: ../../build/doc/pgr_aStarCostMatrix.rst:46 +#: ../../build/doc/pgr_aStarCostMatrix.rst:47 msgid "Returns a cost matrix." msgstr "Devuelve una matriz de costes." -#: ../../build/doc/pgr_aStarCostMatrix.rst:47 +#: ../../build/doc/pgr_aStarCostMatrix.rst:48 msgid "No ordering is performed" msgstr "No se realiza ningún pedido" -#: ../../build/doc/pgr_aStarCostMatrix.rst:48 +#: ../../build/doc/pgr_aStarCostMatrix.rst:49 msgid "let `v` and `u` are nodes on the graph:" msgstr "Sean `v` y `u` nodos en el grafo:" -#: ../../build/doc/pgr_aStarCostMatrix.rst:50 +#: ../../build/doc/pgr_aStarCostMatrix.rst:51 msgid "when there is no path from `v` to `u`:" msgstr "cuando no hay ruta de `v` a `u`:" -#: ../../build/doc/pgr_aStarCostMatrix.rst:52 -#: ../../build/doc/pgr_aStarCostMatrix.rst:57 +#: ../../build/doc/pgr_aStarCostMatrix.rst:53 +#: ../../build/doc/pgr_aStarCostMatrix.rst:58 msgid "no corresponding row is returned" msgstr "no se devuelve ninguna fila correspondiente" -#: ../../build/doc/pgr_aStarCostMatrix.rst:53 +#: ../../build/doc/pgr_aStarCostMatrix.rst:54 msgid "cost from `v` to `u` is :math:`\\inf`" msgstr "costo de `v` a `u` es :math:`\\inf`" -#: ../../build/doc/pgr_aStarCostMatrix.rst:55 +#: ../../build/doc/pgr_aStarCostMatrix.rst:56 msgid "when :math:`v = u` then" msgstr "cuando :math:`v = u` entonces" -#: ../../build/doc/pgr_aStarCostMatrix.rst:58 +#: ../../build/doc/pgr_aStarCostMatrix.rst:59 msgid "cost from `v` to `u` is :math:`0`" msgstr "costo de `v` a `u` es :math:`0`" -#: ../../build/doc/pgr_aStarCostMatrix.rst:60 +#: ../../build/doc/pgr_aStarCostMatrix.rst:61 msgid "When the graph is **undirected** the cost matrix is symmetric" msgstr "Cuando el grafo es **no dirigido**, la matriz de costes es simétrica" -#: ../../build/doc/pgr_aStarCostMatrix.rst:63 +#: ../../build/doc/pgr_aStarCostMatrix.rst:64 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_aStarCostMatrix.rst:66 +#: ../../build/doc/pgr_aStarCostMatrix.rst:67 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_aStarCostMatrix.rst:73 +#: ../../build/doc/pgr_aStarCostMatrix.rst:74 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -151,17 +153,17 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_aStarCostMatrix.rst:79 +#: ../../build/doc/pgr_aStarCostMatrix.rst:80 msgid "Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" msgstr "" "Costo de la matriz para los vértices :math:`\\{1, 2, 3, 4\\}` en un grafo " "**no directed**" -#: ../../build/doc/pgr_aStarCostMatrix.rst:89 +#: ../../build/doc/pgr_aStarCostMatrix.rst:90 msgid "Complete Signature" msgstr "Firma completa" -#: ../../build/doc/pgr_aStarCostMatrix.rst:96 +#: ../../build/doc/pgr_aStarCostMatrix.rst:97 msgid "" "Symmetric cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on an " "**undirected** graph using heuristic :math:`2`" @@ -169,44 +171,44 @@ msgstr "" "Matriz de costes simetrica para los vértices :math:`\\{1, 2, 3, 4\\}` en un " "grafo **no dirigido** usando la heurística :math:`2`" -#: ../../build/doc/pgr_aStarCostMatrix.rst:103 +#: ../../build/doc/pgr_aStarCostMatrix.rst:104 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_aStar.rst:4 ../../build/doc/pgr_aStarCostMatrix.rst:106 +#: ../../build/doc/pgr_aStar.rst:4 ../../build/doc/pgr_aStarCostMatrix.rst:107 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_aStarCostMatrix.rst:106 +#: ../../build/doc/pgr_aStarCostMatrix.rst:107 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_aStarCostMatrix.rst:108 +#: ../../build/doc/pgr_aStarCostMatrix.rst:109 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_aStarCostMatrix.rst:108 +#: ../../build/doc/pgr_aStarCostMatrix.rst:109 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_aStarCostMatrix.rst:108 +#: ../../build/doc/pgr_aStarCostMatrix.rst:109 msgid "`edges_sql`_ inner query." msgstr "`edges_sql`_ consulta interna." -#: ../../build/doc/pgr_aStarCostMatrix.rst:109 +#: ../../build/doc/pgr_aStarCostMatrix.rst:110 msgid "**vids**" msgstr "**vids**" -#: ../../build/doc/pgr_aStarCostMatrix.rst:109 +#: ../../build/doc/pgr_aStarCostMatrix.rst:110 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_aStarCostMatrix.rst:109 +#: ../../build/doc/pgr_aStarCostMatrix.rst:110 msgid "Array of vertices identifiers." msgstr "Arreglo de identificadores de vértices." -#: ../../build/doc/pgr_aStarCostMatrix.rst:113 +#: ../../build/doc/pgr_aStarCostMatrix.rst:114 msgid "Optional Parameters" msgstr "Parámetros opcionales" @@ -300,12 +302,12 @@ msgstr "**epsilon**" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "Para resultados menos restringidos. :math:`epsilon >= 1`." -#: ../../build/doc/pgr_aStarCostMatrix.rst:121 +#: ../../build/doc/pgr_aStarCostMatrix.rst:122 msgid "Inner query" msgstr "Consulta interna" #: ../../build/doc/pgRouting-concepts.rst -#: ../../build/doc/pgr_aStarCostMatrix.rst:124 +#: ../../build/doc/pgr_aStarCostMatrix.rst:125 msgid "edges_sql" msgstr "edges_sql" @@ -447,7 +449,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_aStarCostMatrix.rst:131 +#: ../../build/doc/pgr_aStarCostMatrix.rst:132 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -492,55 +494,46 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_aStarCostMatrix.rst:138 +#: ../../build/doc/pgr_aStarCostMatrix.rst:139 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_aStarCostMatrix.rst:140 +#: ../../build/doc/pgr_aStarCostMatrix.rst:141 msgid "Use with :doc:`pgr_TSP`" msgstr "Uso con :doc:`pgr_TSP`" -#: ../../build/doc/pgr_aStarCostMatrix.rst:147 +#: ../../build/doc/pgr_aStarCostMatrix.rst:148 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_aStarCostMatrix.rst:149 +#: ../../build/doc/pgr_aStarCostMatrix.rst:150 msgid ":doc:`aStar-family`" msgstr ":doc:`aStar-family`" -#: ../../build/doc/pgr_aStarCostMatrix.rst:150 +#: ../../build/doc/pgr_aStarCostMatrix.rst:151 msgid ":doc:`cost-category`" msgstr ":doc:`cost-category`" -#: ../../build/doc/pgr_aStarCostMatrix.rst:151 +#: ../../build/doc/pgr_aStarCostMatrix.rst:152 msgid ":doc:`costMatrix-category`" msgstr ":doc:`costMatrix-category`" -#: ../../build/doc/pgr_aStarCostMatrix.rst:152 +#: ../../build/doc/pgr_aStarCostMatrix.rst:153 msgid ":doc:`TSP-family`" msgstr ":doc:`TSP-family`" -#: ../../build/doc/pgr_aStarCostMatrix.rst:153 +#: ../../build/doc/pgr_aStarCostMatrix.rst:154 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_aStarCostMatrix.rst:156 +#: ../../build/doc/pgr_aStarCostMatrix.rst:157 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_aStarCostMatrix.rst:157 +#: ../../build/doc/pgr_aStarCostMatrix.rst:158 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_aStarCostMatrix.rst:158 +#: ../../build/doc/pgr_aStarCostMatrix.rst:159 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_alphaShape.po b/locale/es/LC_MESSAGES/pgr_alphaShape.po index b718aead154..e2baa678b9c 100644 --- a/locale/es/LC_MESSAGES/pgr_alphaShape.po +++ b/locale/es/LC_MESSAGES/pgr_alphaShape.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -79,13 +79,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_alphaShape.rst:34 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_alphaShape.rst:37 +#: ../../build/doc/pgr_alphaShape.rst:38 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -111,39 +113,39 @@ msgstr "" " `2.0 " "`__" -#: ../../build/doc/pgr_alphaShape.rst:47 ../../build/doc/pgr_alphaShape.rst:87 -#: ../../build/doc/pgr_alphaShape.rst:97 +#: ../../build/doc/pgr_alphaShape.rst:48 ../../build/doc/pgr_alphaShape.rst:88 +#: ../../build/doc/pgr_alphaShape.rst:98 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_alphaShape.rst:49 +#: ../../build/doc/pgr_alphaShape.rst:50 msgid "Returns the polygon part of an alpha shape." msgstr "Devuelve la parte poligonal de una forma alfa." -#: ../../build/doc/pgr_alphaShape.rst:51 +#: ../../build/doc/pgr_alphaShape.rst:52 msgid "Characteristics" msgstr "Características" -#: ../../build/doc/pgr_alphaShape.rst:53 +#: ../../build/doc/pgr_alphaShape.rst:54 msgid "Input is a *geometry* and returns a *geometry*" msgstr "La entrada es una *geometría* y devuelve una *geometría*" -#: ../../build/doc/pgr_alphaShape.rst:54 +#: ../../build/doc/pgr_alphaShape.rst:55 msgid "Uses PostGis ST_DelaunyTriangles" msgstr "Usa PostGis ST_DelaunyTriangles" -#: ../../build/doc/pgr_alphaShape.rst:55 +#: ../../build/doc/pgr_alphaShape.rst:56 msgid "" "Instead of using CGAL's definition of `alpha` it use the ``spoon_radius``" msgstr "" "En lugar de utilizar la definición de CGAL de `alpha` utiliza " "``spoon_radius`` el ''spoon_radius''" -#: ../../build/doc/pgr_alphaShape.rst:57 +#: ../../build/doc/pgr_alphaShape.rst:58 msgid ":math:`spoon\\_radius = \\sqrt alpha`" msgstr ":math:`spoon\\_radius = \\sqrt alpha`" -#: ../../build/doc/pgr_alphaShape.rst:59 +#: ../../build/doc/pgr_alphaShape.rst:60 msgid "" "A Triangle area is considered part of the alpha shape when " ":math:`circumcenter\\ radius < spoon\\_radius`" @@ -151,22 +153,22 @@ msgstr "" "Un área de triángulo se considera parte de la forma alfa cuando " ":math:`circumcenter\\ radius < spoon\\_radius`" -#: ../../build/doc/pgr_alphaShape.rst:60 +#: ../../build/doc/pgr_alphaShape.rst:61 msgid "" "When the total number of points is less than 3, returns an EMPTY geometry" msgstr "" "Cuando el número total de puntos es menor que 3, devuelve una geometría " "EMPTY" -#: ../../build/doc/pgr_alphaShape.rst:64 +#: ../../build/doc/pgr_alphaShape.rst:65 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_alphaShape.rst:66 +#: ../../build/doc/pgr_alphaShape.rst:67 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_alphaShape.rst:77 +#: ../../build/doc/pgr_alphaShape.rst:78 msgid "" "Example: passing a geometry collection with spoon radius :math:`1.5` using " "the return variable ``geom``" @@ -174,93 +176,86 @@ msgstr "" "Ejemplo: pasar una colección de geometría con radio de cuchara :math:'1.5' " "usando la variable de retorno ``geom``" -#: ../../build/doc/pgr_alphaShape.rst:84 +#: ../../build/doc/pgr_alphaShape.rst:85 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_alphaShape.rst:87 +#: ../../build/doc/pgr_alphaShape.rst:88 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/pgr_alphaShape.rst:87 +#: ../../build/doc/pgr_alphaShape.rst:88 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_alphaShape.rst:87 +#: ../../build/doc/pgr_alphaShape.rst:88 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_alphaShape.rst:89 +#: ../../build/doc/pgr_alphaShape.rst:90 msgid "**geometry**" msgstr "**geometría**" -#: ../../build/doc/pgr_alphaShape.rst:89 +#: ../../build/doc/pgr_alphaShape.rst:90 msgid "``geometry``" msgstr "''geometría''" -#: ../../build/doc/pgr_alphaShape.rst:89 +#: ../../build/doc/pgr_alphaShape.rst:90 msgid "Geometry with at least :math:`3` points" msgstr "Geometría con al menos :math:`3` puntos" -#: ../../build/doc/pgr_alphaShape.rst:90 +#: ../../build/doc/pgr_alphaShape.rst:91 msgid "**spoon_radius**" msgstr "**spoon_radius**" -#: ../../build/doc/pgr_alphaShape.rst:90 +#: ../../build/doc/pgr_alphaShape.rst:91 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_alphaShape.rst:90 +#: ../../build/doc/pgr_alphaShape.rst:91 msgid "The radius of the spoon" msgstr "El radio de la cuchara" -#: ../../build/doc/pgr_alphaShape.rst:94 +#: ../../build/doc/pgr_alphaShape.rst:95 msgid "Return Value" msgstr "Valor de Devolución" -#: ../../build/doc/pgr_alphaShape.rst:97 +#: ../../build/doc/pgr_alphaShape.rst:98 msgid "Kind of geometry" msgstr "Tipo de geometría" -#: ../../build/doc/pgr_alphaShape.rst:99 +#: ../../build/doc/pgr_alphaShape.rst:100 msgid "GEOMETRY COLLECTION" msgstr "COLECCIÓN DE GEOMETRÍA" -#: ../../build/doc/pgr_alphaShape.rst:99 +#: ../../build/doc/pgr_alphaShape.rst:100 msgid "A Geometry collection of Polygons" msgstr "Una colección de Geometría de Polígonos" -#: ../../build/doc/pgr_alphaShape.rst:107 +#: ../../build/doc/pgr_alphaShape.rst:108 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_alphaShape.rst:109 +#: ../../build/doc/pgr_alphaShape.rst:110 msgid ":doc:`pgr_drivingDistance`" msgstr ":doc:`pgr_drivingDistance`" -#: ../../build/doc/pgr_alphaShape.rst:110 +#: ../../build/doc/pgr_alphaShape.rst:111 msgid ":doc:`sampledata` network." msgstr "Red :doc:`sampledata` ." -#: ../../build/doc/pgr_alphaShape.rst:111 +#: ../../build/doc/pgr_alphaShape.rst:112 msgid "`ST_ConcaveHull `__" msgstr "`ST_ConcaveHull `__" -#: ../../build/doc/pgr_alphaShape.rst:114 +#: ../../build/doc/pgr_alphaShape.rst:115 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_alphaShape.rst:115 +#: ../../build/doc/pgr_alphaShape.rst:116 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_alphaShape.rst:116 +#: ../../build/doc/pgr_alphaShape.rst:117 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_analyzeGraph.po b/locale/es/LC_MESSAGES/pgr_analyzeGraph.po index c7acedb3505..8f06c718690 100644 --- a/locale/es/LC_MESSAGES/pgr_analyzeGraph.po +++ b/locale/es/LC_MESSAGES/pgr_analyzeGraph.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -10,9 +10,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -49,15 +49,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_analyzeGraph.rst:23 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_analyzeGraph.rst:27 +#: ../../build/doc/pgr_analyzeGraph.rst:28 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -81,30 +83,30 @@ msgstr "" " `2.0 " "`__" -#: ../../build/doc/pgr_analyzeGraph.rst:37 +#: ../../build/doc/pgr_analyzeGraph.rst:38 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_analyzeGraph.rst:39 -#: ../../build/doc/pgr_analyzeGraph.rst:73 +#: ../../build/doc/pgr_analyzeGraph.rst:40 +#: ../../build/doc/pgr_analyzeGraph.rst:74 msgid "The function returns:" msgstr "La función devuelve:" -#: ../../build/doc/pgr_analyzeGraph.rst:41 -#: ../../build/doc/pgr_analyzeGraph.rst:75 +#: ../../build/doc/pgr_analyzeGraph.rst:42 +#: ../../build/doc/pgr_analyzeGraph.rst:76 msgid "``OK`` after the analysis has finished." msgstr "``OK`` Cuando el análisis ha terminado." -#: ../../build/doc/pgr_analyzeGraph.rst:42 -#: ../../build/doc/pgr_analyzeGraph.rst:81 +#: ../../build/doc/pgr_analyzeGraph.rst:43 +#: ../../build/doc/pgr_analyzeGraph.rst:82 msgid "``FAIL`` when the analysis was not completed due to an error." msgstr "``FAIL`` cuando el análisis no se completó debido a un error." -#: ../../build/doc/pgr_analyzeGraph.rst:54 +#: ../../build/doc/pgr_analyzeGraph.rst:55 msgid "Prerequisites" msgstr "Pre-requisitos" -#: ../../build/doc/pgr_analyzeGraph.rst:55 +#: ../../build/doc/pgr_analyzeGraph.rst:56 msgid "" "The edge table to be analyzed must contain a source column and a target " "column filled with id's of the vertices of the segments and the " @@ -116,7 +118,7 @@ msgstr "" "segmentos y los vértices correspondientes de la tabla " "_vertices_pgr que almacena la información de los vértices." -#: ../../build/doc/pgr_analyzeGraph.rst:57 +#: ../../build/doc/pgr_analyzeGraph.rst:58 msgid "" "Use :doc:`pgr_createVerticesTable ` to create the " "vertices table." @@ -124,7 +126,7 @@ msgstr "" "Use :doc:`pgr_createVerticesTable ` para crear la " "tabla de vértices." -#: ../../build/doc/pgr_analyzeGraph.rst:58 +#: ../../build/doc/pgr_analyzeGraph.rst:59 msgid "" "Use :doc:`pgr_createTopology ` to create the topology " "and the vertices table." @@ -132,11 +134,11 @@ msgstr "" "Use :doc:`pgr_createTopology ` para crear la topología y" " los vértices." -#: ../../build/doc/pgr_analyzeGraph.rst:61 +#: ../../build/doc/pgr_analyzeGraph.rst:62 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_analyzeGraph.rst:63 +#: ../../build/doc/pgr_analyzeGraph.rst:64 msgid "The analyze graph function accepts the following parameters:" msgstr "La función de análisis gráfico acepta los siguientes parámetros:" @@ -144,7 +146,7 @@ msgstr "La función de análisis gráfico acepta los siguientes parámetros:" msgid "edge_table" msgstr "edge_table" -#: ../../build/doc/pgr_analyzeGraph.rst:65 +#: ../../build/doc/pgr_analyzeGraph.rst:66 msgid "``text`` Network table name. (may contain the schema name as well)" msgstr "``text`` La tabla de la red. (puede contener el nombre del esquema)" @@ -152,7 +154,7 @@ msgstr "``text`` La tabla de la red. (puede contener el nombre del esquema)" msgid "tolerance" msgstr "tolerancia" -#: ../../build/doc/pgr_analyzeGraph.rst:66 +#: ../../build/doc/pgr_analyzeGraph.rst:67 msgid "" "``float8`` Snapping tolerance of disconnected edges. (in projection unit)" msgstr "" @@ -163,7 +165,7 @@ msgstr "" msgid "the_geom" msgstr "the_geom" -#: ../../build/doc/pgr_analyzeGraph.rst:67 +#: ../../build/doc/pgr_analyzeGraph.rst:68 msgid "" "``text`` Geometry column name of the network table. Default value is " "``the_geom``." @@ -175,7 +177,7 @@ msgstr "" msgid "id" msgstr "id" -#: ../../build/doc/pgr_analyzeGraph.rst:68 +#: ../../build/doc/pgr_analyzeGraph.rst:69 msgid "" "``text`` Primary key column name of the network table. Default value is " "``id``." @@ -187,7 +189,7 @@ msgstr "" msgid "source" msgstr "source" -#: ../../build/doc/pgr_analyzeGraph.rst:69 +#: ../../build/doc/pgr_analyzeGraph.rst:70 msgid "" "``text`` Source column name of the network table. Default value is " "``source``." @@ -199,7 +201,7 @@ msgstr "" msgid "target" msgstr "target" -#: ../../build/doc/pgr_analyzeGraph.rst:70 +#: ../../build/doc/pgr_analyzeGraph.rst:71 msgid "" "``text`` Target column name of the network table. Default value is " "``target``." @@ -211,7 +213,7 @@ msgstr "" msgid "rows_where" msgstr "rows_where" -#: ../../build/doc/pgr_analyzeGraph.rst:71 +#: ../../build/doc/pgr_analyzeGraph.rst:72 msgid "" "``text`` Condition to select a subset or rows. Default value is ``true``" " to indicate all rows." @@ -219,28 +221,28 @@ msgstr "" "``text`` condición para seleccionar un subconjunto o filas. Valor " "predeterminado es ``true`` para indicar todas las filas." -#: ../../build/doc/pgr_analyzeGraph.rst:77 +#: ../../build/doc/pgr_analyzeGraph.rst:78 msgid "Uses the vertices table: _vertices_pgr." msgstr "Utiliza la tabla de los vértices: _vertices_pgr." -#: ../../build/doc/pgr_analyzeGraph.rst:78 +#: ../../build/doc/pgr_analyzeGraph.rst:79 msgid "" "Fills completely the ``cnt`` and ``chk`` columns of the vertices table." msgstr "" "Llena totalmente las columnas ``cnt`` y ``chk`` de la tabla de vértices." -#: ../../build/doc/pgr_analyzeGraph.rst:79 +#: ../../build/doc/pgr_analyzeGraph.rst:80 msgid "" "Returns the analysis of the section of the network defined by " "``rows_where``" msgstr "" "Devuelve el análisis de la sección de la red definida por ``rows_where``" -#: ../../build/doc/pgr_analyzeGraph.rst:83 +#: ../../build/doc/pgr_analyzeGraph.rst:84 msgid "The vertices table is not found." msgstr "No se encuentra en la tabla de los vértices." -#: ../../build/doc/pgr_analyzeGraph.rst:84 +#: ../../build/doc/pgr_analyzeGraph.rst:85 msgid "" "A required column of the Network table is not found or is not of the " "appropriate type." @@ -248,23 +250,23 @@ msgstr "" "Una columna de la tabla de red requerida no se encuentra o no es del tipo " "apropiado." -#: ../../build/doc/pgr_analyzeGraph.rst:85 +#: ../../build/doc/pgr_analyzeGraph.rst:86 msgid "The condition is not well formed." msgstr "La condición no está bien formada." -#: ../../build/doc/pgr_analyzeGraph.rst:86 +#: ../../build/doc/pgr_analyzeGraph.rst:87 msgid "The names of source , target or id are the same." msgstr "Los nombres de origen, destino o id son las mismos." -#: ../../build/doc/pgr_analyzeGraph.rst:87 +#: ../../build/doc/pgr_analyzeGraph.rst:88 msgid "The SRID of the geometry could not be determined." msgstr "No pudo determinarse el SRID de la geometría." -#: ../../build/doc/pgr_analyzeGraph.rst:91 +#: ../../build/doc/pgr_analyzeGraph.rst:92 msgid "The Vertices Table" msgstr "La tabla de vértices" -#: ../../build/doc/pgr_analyzeGraph.rst:92 +#: ../../build/doc/pgr_analyzeGraph.rst:93 msgid "" "The vertices table can be created with :doc:`pgr_createVerticesTable " "` or :doc:`pgr_createTopology `" @@ -272,11 +274,11 @@ msgstr "" "Los vértices pueden ser creados con :doc:`pgr_createVerticesTable " "` o :doc:`pgr_createTopology `" -#: ../../build/doc/pgr_analyzeGraph.rst:94 +#: ../../build/doc/pgr_analyzeGraph.rst:95 msgid "The structure of the vertices table is:" msgstr "La estructura de la tabla de los vértices es:" -#: ../../build/doc/pgr_analyzeGraph.rst:96 +#: ../../build/doc/pgr_analyzeGraph.rst:97 msgid "``bigint`` Identifier of the vertex." msgstr "``bigint`` identificador del vértice." @@ -284,7 +286,7 @@ msgstr "``bigint`` identificador del vértice." msgid "cnt" msgstr "cnt" -#: ../../build/doc/pgr_analyzeGraph.rst:97 +#: ../../build/doc/pgr_analyzeGraph.rst:98 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex." msgstr "" @@ -295,7 +297,7 @@ msgstr "" msgid "chk" msgstr "chk" -#: ../../build/doc/pgr_analyzeGraph.rst:98 +#: ../../build/doc/pgr_analyzeGraph.rst:99 msgid "``integer`` Indicator that the vertex might have a problem." msgstr "``integer`` indicador que el vértice podría tener un problema." @@ -303,7 +305,7 @@ msgstr "``integer`` indicador que el vértice podría tener un problema." msgid "ein" msgstr "ein" -#: ../../build/doc/pgr_analyzeGraph.rst:99 +#: ../../build/doc/pgr_analyzeGraph.rst:100 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex " "as incoming. See :doc:`pgr_analyzeOneWay `." @@ -315,7 +317,7 @@ msgstr "" msgid "eout" msgstr "eout" -#: ../../build/doc/pgr_analyzeGraph.rst:100 +#: ../../build/doc/pgr_analyzeGraph.rst:101 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex " "as outgoing. See :doc:`pgr_analyzeOneWay `." @@ -324,26 +326,26 @@ msgstr "" "vértice como saliente. Consulte :doc:`pgr_analyzeOneWay " "`." -#: ../../build/doc/pgr_analyzeGraph.rst:101 +#: ../../build/doc/pgr_analyzeGraph.rst:102 msgid "``geometry`` Point geometry of the vertex." msgstr "``geometry`` Valor de la geometría POINT del vértice." -#: ../../build/doc/pgr_analyzeGraph.rst:104 +#: ../../build/doc/pgr_analyzeGraph.rst:105 msgid "Usage when the edge table's columns MATCH the default values:" msgstr "" "Uso cuando las columnas de la tabla de borde coinciden con los valores por " "defecto:" -#: ../../build/doc/pgr_analyzeGraph.rst:107 +#: ../../build/doc/pgr_analyzeGraph.rst:108 msgid "The simplest way to use pgr_analyzeGraph is:" msgstr "La forma más sencilla de usar pgr_analyzeGraph es:" -#: ../../build/doc/pgr_analyzeGraph.rst:113 +#: ../../build/doc/pgr_analyzeGraph.rst:114 msgid "When the arguments are given in the order described in the parameters:" msgstr "" "Cuando los argumentos se escriben en el orden descrito en los parámetros:" -#: ../../build/doc/pgr_analyzeGraph.rst:118 +#: ../../build/doc/pgr_analyzeGraph.rst:119 msgid "We get the same result as the simplest way to use the function." msgstr "" "Obtenemos el mismo resultado que la forma más sencilla de utilizar la " @@ -361,17 +363,17 @@ msgstr "" "función como geometría, y la columna de geometría ``the_geom`` se pasa a la " "función de como columna ``id``." -#: ../../build/doc/pgr_analyzeGraph.rst:128 -#: ../../build/doc/pgr_analyzeGraph.rst:189 +#: ../../build/doc/pgr_analyzeGraph.rst:129 +#: ../../build/doc/pgr_analyzeGraph.rst:190 msgid "When using the named notation" msgstr "Cuando se utiliza la notación por nombre" -#: ../../build/doc/pgr_analyzeGraph.rst:129 -#: ../../build/doc/pgr_analyzeGraph.rst:190 +#: ../../build/doc/pgr_analyzeGraph.rst:130 +#: ../../build/doc/pgr_analyzeGraph.rst:191 msgid "The order of the parameters do not matter:" msgstr "No importa el orden de los parámetros:" -#: ../../build/doc/pgr_analyzeGraph.rst:139 +#: ../../build/doc/pgr_analyzeGraph.rst:140 msgid "" "Parameters defined with a default value can be omitted, as long as the value" " matches the default:" @@ -379,12 +381,12 @@ msgstr "" "Parámetros definidos con un valor predeterminado se pueden omitir, siempre y" " cuando el valor coincida con el valor por defecto:" -#: ../../build/doc/pgr_analyzeGraph.rst:146 -#: ../../build/doc/pgr_analyzeGraph.rst:204 +#: ../../build/doc/pgr_analyzeGraph.rst:147 +#: ../../build/doc/pgr_analyzeGraph.rst:205 msgid "Selecting rows using rows_where parameter" msgstr "Seleccionar filas utilizando el parámetro rows_where" -#: ../../build/doc/pgr_analyzeGraph.rst:147 +#: ../../build/doc/pgr_analyzeGraph.rst:148 msgid "" "Selecting rows based on the id. Displays the analysis a the section of the " "network." @@ -392,7 +394,7 @@ msgstr "" "La selección de filas basadas en el id. El análisis muestra una parte de la " "red." -#: ../../build/doc/pgr_analyzeGraph.rst:153 +#: ../../build/doc/pgr_analyzeGraph.rst:154 msgid "" "Selecting the rows where the geometry is near the geometry of row with " "``id`` =5 ." @@ -400,7 +402,7 @@ msgstr "" "Seleccionar las filas donde la geometría está cerca de la geometría de la " "fila con ``id`` =5." -#: ../../build/doc/pgr_analyzeGraph.rst:159 +#: ../../build/doc/pgr_analyzeGraph.rst:160 msgid "" "Selecting the rows where the geometry is near the geometry of the row with " "``gid`` =100 of the table ``othertable``." @@ -408,21 +410,21 @@ msgstr "" "Seleccionar las filas donde la geometría está cerca de la geometría de la " "fila con``gid`` =100 de la tabla ``othertable``." -#: ../../build/doc/pgr_analyzeGraph.rst:166 +#: ../../build/doc/pgr_analyzeGraph.rst:167 msgid "Usage when the edge table's columns DO NOT MATCH the default values:" msgstr "" "Uso cuando las columnas de la tabla de borde NO COINCIDEN con los valores " "por defecto:" -#: ../../build/doc/pgr_analyzeGraph.rst:168 +#: ../../build/doc/pgr_analyzeGraph.rst:169 msgid "For the following table" msgstr "Para la siguiente tabla" -#: ../../build/doc/pgr_analyzeGraph.rst:175 +#: ../../build/doc/pgr_analyzeGraph.rst:176 msgid "Using positional notation:" msgstr "Usando notación posicional:" -#: ../../build/doc/pgr_analyzeGraph.rst:176 +#: ../../build/doc/pgr_analyzeGraph.rst:177 msgid "" "The arguments need to be given in the order described in the parameters:" msgstr "Las discusiones deben recibir en el orden descrito en los parámetros:" @@ -439,7 +441,7 @@ msgstr "" "función como geometría, y la columna de geometría``mygeom`` se pasa a la " "función como columna ``id``." -#: ../../build/doc/pgr_analyzeGraph.rst:200 +#: ../../build/doc/pgr_analyzeGraph.rst:201 msgid "" "In this scenario omitting a parameter would create an error because the " "default values for the column names do not match the column names of the " @@ -449,11 +451,11 @@ msgstr "" "predeterminados de los nombres de columna no coinciden con los nombres de " "columna de la tabla." -#: ../../build/doc/pgr_analyzeGraph.rst:205 +#: ../../build/doc/pgr_analyzeGraph.rst:206 msgid "Selecting rows based on the id." msgstr "La selección de filas basadas en el id." -#: ../../build/doc/pgr_analyzeGraph.rst:215 +#: ../../build/doc/pgr_analyzeGraph.rst:216 msgid "" "Selecting the rows WHERE the geometry is near the geometry of row with " "``id`` =5 ." @@ -461,7 +463,7 @@ msgstr "" "Seleccionar las filas donde la geometría está cerca de la geometría de la " "fila con ``id`` =5 ." -#: ../../build/doc/pgr_analyzeGraph.rst:225 +#: ../../build/doc/pgr_analyzeGraph.rst:226 msgid "" "Selecting the rows WHERE the geometry is near the place='myhouse' of the " "table ``othertable``. (note the use of quote_literal)" @@ -469,19 +471,19 @@ msgstr "" "Seleccionar las filas donde la geometría está cerca de la place='myhouse' " "de la tabla ``othertable``. (Nótese el uso de quote_literal)" -#: ../../build/doc/pgr_analyzeGraph.rst:236 +#: ../../build/doc/pgr_analyzeGraph.rst:237 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_analyzeGraph.rst:262 +#: ../../build/doc/pgr_analyzeGraph.rst:263 msgid "The examples use the :doc:`sampledata` network." msgstr "Los ejemplos usan la red de ejemplo :doc:`sampledata`" -#: ../../build/doc/pgr_analyzeGraph.rst:266 +#: ../../build/doc/pgr_analyzeGraph.rst:267 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_analyzeGraph.rst:268 +#: ../../build/doc/pgr_analyzeGraph.rst:269 msgid "" ":doc:`topology-functions` for an overview of a topology for routing " "algorithms." @@ -489,12 +491,12 @@ msgstr "" ":doc:`topology-functions` para obtener una visión general de una topología " "para algoritmos de ruteo." -#: ../../build/doc/pgr_analyzeGraph.rst:269 +#: ../../build/doc/pgr_analyzeGraph.rst:270 msgid ":doc:`pgr_analyzeOneWay` to analyze directionality of the edges." msgstr "" ":doc:`pgr_analyzeOneWay` para analizar la direccionalidad de los bordes." -#: ../../build/doc/pgr_analyzeGraph.rst:270 +#: ../../build/doc/pgr_analyzeGraph.rst:271 msgid "" ":doc:`pgr_createVerticesTable ` to reconstruct the " "vertices table based on the source and target information." @@ -502,7 +504,7 @@ msgstr "" ":doc:`pgr_createVerticesTable ` para reconstruir la" " tabla de vértices con base en la información de origen y destino." -#: ../../build/doc/pgr_analyzeGraph.rst:271 +#: ../../build/doc/pgr_analyzeGraph.rst:272 msgid "" ":doc:`pgr_nodeNetwork ` to create nodes to a not noded edge" " table." @@ -510,23 +512,14 @@ msgstr "" ":doc:`pgr_nodeNetwork ` para crear nodos en una tabla sin " "nodos." -#: ../../build/doc/pgr_analyzeGraph.rst:274 +#: ../../build/doc/pgr_analyzeGraph.rst:275 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_analyzeGraph.rst:275 +#: ../../build/doc/pgr_analyzeGraph.rst:276 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_analyzeGraph.rst:276 +#: ../../build/doc/pgr_analyzeGraph.rst:277 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_analyzeOneWay.po b/locale/es/LC_MESSAGES/pgr_analyzeOneWay.po index 9f72bf70f52..0fbd51fba2c 100644 --- a/locale/es/LC_MESSAGES/pgr_analyzeOneWay.po +++ b/locale/es/LC_MESSAGES/pgr_analyzeOneWay.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -10,9 +10,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -61,15 +61,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_analyzeOneWay.rst:25 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"****Versiones soportadas:** actual​(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_analyzeOneWay.rst:29 +#: ../../build/doc/pgr_analyzeOneWay.rst:30 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -93,11 +95,11 @@ msgstr "" " `2.0 " "`__" -#: ../../build/doc/pgr_analyzeOneWay.rst:38 +#: ../../build/doc/pgr_analyzeOneWay.rst:39 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_analyzeOneWay.rst:40 +#: ../../build/doc/pgr_analyzeOneWay.rst:41 msgid "" "The analyses of one way segments is pretty simple but can be a powerful " "tools to identifying some the potential problems created by setting the " @@ -120,7 +122,7 @@ msgstr "" "Asimismo, si tuvieras un nodo `sink` tienes un número infinito de vehículos " "que se van acumulando en este nodo porque no pueden salir de el." -#: ../../build/doc/pgr_analyzeOneWay.rst:42 +#: ../../build/doc/pgr_analyzeOneWay.rst:43 msgid "" "So why do we care if the are not feasible? Well if the direction of an edge " "was reversed by mistake we could generate exactly these conditions. Think " @@ -136,7 +138,7 @@ msgstr "" "una glorieta. El resultado sería potencialmente un nodo `source` y/o a " "`sink` node." -#: ../../build/doc/pgr_analyzeOneWay.rst:44 +#: ../../build/doc/pgr_analyzeOneWay.rst:45 msgid "" "So by counting the number of edges entering and exiting each node we can " "identify both `source` and `sink` nodes so that you can look at those areas " @@ -148,11 +150,11 @@ msgstr "" "áreas de su red para hacer reparaciones o informar del problema a su " "proveedor de datos." -#: ../../build/doc/pgr_analyzeOneWay.rst:47 +#: ../../build/doc/pgr_analyzeOneWay.rst:48 msgid "Prerequisites" msgstr "Pre-requisitos" -#: ../../build/doc/pgr_analyzeOneWay.rst:48 +#: ../../build/doc/pgr_analyzeOneWay.rst:49 msgid "" "The edge table to be analyzed must contain a source column and a target " "column filled with id's of the vertices of the segments and the " @@ -164,7 +166,7 @@ msgstr "" "segmentos y los vértices correspondientes de la tabla " "_vertices_pgr que almacena la información de los vértices." -#: ../../build/doc/pgr_analyzeOneWay.rst:50 +#: ../../build/doc/pgr_analyzeOneWay.rst:51 msgid "" "Use :doc:`pgr_createVerticesTable ` to create the " "vertices table." @@ -172,7 +174,7 @@ msgstr "" "Use :doc:`pgr_createVerticesTable ` para crear la " "tabla de vértices." -#: ../../build/doc/pgr_analyzeOneWay.rst:51 +#: ../../build/doc/pgr_analyzeOneWay.rst:52 msgid "" "Use :doc:`pgr_createTopology ` to create the topology " "and the vertices table." @@ -180,11 +182,11 @@ msgstr "" "Use :doc:`pgr_createTopology ` para crear la topología y" " los vértices." -#: ../../build/doc/pgr_analyzeOneWay.rst:54 +#: ../../build/doc/pgr_analyzeOneWay.rst:55 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_analyzeOneWay.rst:65 +#: ../../build/doc/pgr_analyzeOneWay.rst:66 msgid "Parameters" msgstr "Parámetros" @@ -192,7 +194,7 @@ msgstr "Parámetros" msgid "edge_table" msgstr "edge_table" -#: ../../build/doc/pgr_analyzeOneWay.rst:67 +#: ../../build/doc/pgr_analyzeOneWay.rst:68 msgid "``text`` Network table name. (may contain the schema name as well)" msgstr "``text`` La tabla de la red. (puede contener el nombre del esquema)" @@ -200,7 +202,7 @@ msgstr "``text`` La tabla de la red. (puede contener el nombre del esquema)" msgid "s_in_rules" msgstr "s_in_rules" -#: ../../build/doc/pgr_analyzeOneWay.rst:68 +#: ../../build/doc/pgr_analyzeOneWay.rst:69 msgid "``text[]`` source node **in** rules" msgstr "``text[]`` reglas de **entrada** del nodo inicial" @@ -208,7 +210,7 @@ msgstr "``text[]`` reglas de **entrada** del nodo inicial" msgid "s_out_rules" msgstr "s_out_rules" -#: ../../build/doc/pgr_analyzeOneWay.rst:69 +#: ../../build/doc/pgr_analyzeOneWay.rst:70 msgid "``text[]`` source node **out** rules" msgstr "``text[]`` reglas de **salida** del nodo inicial" @@ -216,7 +218,7 @@ msgstr "``text[]`` reglas de **salida** del nodo inicial" msgid "t_in_rules" msgstr "t_in_rules" -#: ../../build/doc/pgr_analyzeOneWay.rst:70 +#: ../../build/doc/pgr_analyzeOneWay.rst:71 msgid "``text[]`` target node **in** rules" msgstr "``text[]`` reglas de **entrada** del nodo final" @@ -224,7 +226,7 @@ msgstr "``text[]`` reglas de **entrada** del nodo final" msgid "t_out_rules" msgstr "t_out_rules" -#: ../../build/doc/pgr_analyzeOneWay.rst:71 +#: ../../build/doc/pgr_analyzeOneWay.rst:72 msgid "``text[]`` target node **out** rules" msgstr "``text[]`` reglas de **salida** del nodo final" @@ -232,7 +234,7 @@ msgstr "``text[]`` reglas de **salida** del nodo final" msgid "oneway" msgstr "oneway" -#: ../../build/doc/pgr_analyzeOneWay.rst:72 +#: ../../build/doc/pgr_analyzeOneWay.rst:73 msgid "" "``text`` oneway column name name of the network table. Default value is " "``oneway``." @@ -244,7 +246,7 @@ msgstr "" msgid "source" msgstr "source" -#: ../../build/doc/pgr_analyzeOneWay.rst:73 +#: ../../build/doc/pgr_analyzeOneWay.rst:74 msgid "" "``text`` Source column name of the network table. Default value is " "``source``." @@ -256,7 +258,7 @@ msgstr "" msgid "target" msgstr "target" -#: ../../build/doc/pgr_analyzeOneWay.rst:74 +#: ../../build/doc/pgr_analyzeOneWay.rst:75 msgid "" "``text`` Target column name of the network table. Default value is " "``target``." @@ -268,7 +270,7 @@ msgstr "" msgid "two_way_if_null" msgstr "two_way_if_null" -#: ../../build/doc/pgr_analyzeOneWay.rst:75 +#: ../../build/doc/pgr_analyzeOneWay.rst:76 msgid "" "``boolean`` flag to treat oneway NULL values as bi-directional. Default " "value is ``true``." @@ -276,7 +278,7 @@ msgstr "" "``boolean`` bandera para tratar los valores NULL de oneway como " "bidireccional. Valor predeterminado es``true``." -#: ../../build/doc/pgr_analyzeOneWay.rst:77 +#: ../../build/doc/pgr_analyzeOneWay.rst:78 msgid "" "It is strongly recommended to use the named notation. See " ":doc:`pgr_createVerticesTable ` or " @@ -286,34 +288,34 @@ msgstr "" " ejemplos: :doc:`pgr_createVerticesTable ` o " ":doc:`pgr_createTopology ` " -#: ../../build/doc/pgr_analyzeOneWay.rst:79 +#: ../../build/doc/pgr_analyzeOneWay.rst:80 msgid "The function returns:" msgstr "La función devuelve:" -#: ../../build/doc/pgr_analyzeOneWay.rst:81 +#: ../../build/doc/pgr_analyzeOneWay.rst:82 msgid "``OK`` after the analysis has finished." msgstr "``OK`` Cuando el análisis ha terminado." -#: ../../build/doc/pgr_analyzeOneWay.rst:83 +#: ../../build/doc/pgr_analyzeOneWay.rst:84 msgid "Uses the vertices table: _vertices_pgr." msgstr "Utiliza la tabla de los vértices: _vertices_pgr." -#: ../../build/doc/pgr_analyzeOneWay.rst:84 +#: ../../build/doc/pgr_analyzeOneWay.rst:85 msgid "" "Fills completely the ``ein`` and ``eout`` columns of the vertices table." msgstr "" "Se llena completamente las columnas de la tabla de vértices ``ein`` y " "``eout``." -#: ../../build/doc/pgr_analyzeOneWay.rst:86 +#: ../../build/doc/pgr_analyzeOneWay.rst:87 msgid "``FAIL`` when the analysis was not completed due to an error." msgstr "``FAIL`` cuando el análisis no se completó debido a un error." -#: ../../build/doc/pgr_analyzeOneWay.rst:88 +#: ../../build/doc/pgr_analyzeOneWay.rst:89 msgid "The vertices table is not found." msgstr "No se encuentra en la tabla de los vértices." -#: ../../build/doc/pgr_analyzeOneWay.rst:89 +#: ../../build/doc/pgr_analyzeOneWay.rst:90 msgid "" "A required column of the Network table is not found or is not of the " "appropriate type." @@ -321,11 +323,11 @@ msgstr "" "Una columna de la tabla de red requerida no se encuentra o no es del tipo " "apropiado." -#: ../../build/doc/pgr_analyzeOneWay.rst:90 +#: ../../build/doc/pgr_analyzeOneWay.rst:91 msgid "The names of source , target or oneway are the same." msgstr "Los nombres de origen, destino o oneway son las mismos." -#: ../../build/doc/pgr_analyzeOneWay.rst:92 +#: ../../build/doc/pgr_analyzeOneWay.rst:93 msgid "" "The rules are defined as an array of text strings that if match the " "``oneway`` value would be counted as ``true`` for the source or target " @@ -335,11 +337,11 @@ msgstr "" " de ``oneway`` se contara como ``true`` para las condiciones de el origen o " "destino **in** o **out** ." -#: ../../build/doc/pgr_analyzeOneWay.rst:95 +#: ../../build/doc/pgr_analyzeOneWay.rst:96 msgid "The Vertices Table" msgstr "La tabla de vértices" -#: ../../build/doc/pgr_analyzeOneWay.rst:96 +#: ../../build/doc/pgr_analyzeOneWay.rst:97 msgid "" "The vertices table can be created with :doc:`pgr_createVerticesTable " "` or :doc:`pgr_createTopology `" @@ -347,7 +349,7 @@ msgstr "" "Los vértices pueden ser creados con :doc:`pgr_createVerticesTable " "` o :doc:`pgr_createTopology `" -#: ../../build/doc/pgr_analyzeOneWay.rst:98 +#: ../../build/doc/pgr_analyzeOneWay.rst:99 msgid "The structure of the vertices table is:" msgstr "La estructura de la tabla de los vértices es:" @@ -355,7 +357,7 @@ msgstr "La estructura de la tabla de los vértices es:" msgid "id" msgstr "id" -#: ../../build/doc/pgr_analyzeOneWay.rst:100 +#: ../../build/doc/pgr_analyzeOneWay.rst:101 msgid "``bigint`` Identifier of the vertex." msgstr "``bigint`` identificador del vértice." @@ -363,7 +365,7 @@ msgstr "``bigint`` identificador del vértice." msgid "cnt" msgstr "cnt" -#: ../../build/doc/pgr_analyzeOneWay.rst:101 +#: ../../build/doc/pgr_analyzeOneWay.rst:102 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex." " See :doc:`pgr_analyzeGgraph `." @@ -375,7 +377,7 @@ msgstr "" msgid "chk" msgstr "chk" -#: ../../build/doc/pgr_analyzeOneWay.rst:102 +#: ../../build/doc/pgr_analyzeOneWay.rst:103 msgid "" "``integer`` Indicator that the vertex might have a problem. See " ":doc:`pgr_analyzeGraph `." @@ -387,7 +389,7 @@ msgstr "" msgid "ein" msgstr "ein" -#: ../../build/doc/pgr_analyzeOneWay.rst:103 +#: ../../build/doc/pgr_analyzeOneWay.rst:104 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex " "as incoming." @@ -399,7 +401,7 @@ msgstr "" msgid "eout" msgstr "eout" -#: ../../build/doc/pgr_analyzeOneWay.rst:104 +#: ../../build/doc/pgr_analyzeOneWay.rst:105 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex " "as outgoing." @@ -411,23 +413,23 @@ msgstr "" msgid "the_geom" msgstr "the_geom" -#: ../../build/doc/pgr_analyzeOneWay.rst:105 +#: ../../build/doc/pgr_analyzeOneWay.rst:106 msgid "``geometry`` Point geometry of the vertex." msgstr "``geometry`` Valor de la geometría POINT del vértice." -#: ../../build/doc/pgr_analyzeOneWay.rst:108 +#: ../../build/doc/pgr_analyzeOneWay.rst:109 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_analyzeOneWay.rst:114 +#: ../../build/doc/pgr_analyzeOneWay.rst:115 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_analyzeOneWay.rst:117 +#: ../../build/doc/pgr_analyzeOneWay.rst:118 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_analyzeOneWay.rst:119 +#: ../../build/doc/pgr_analyzeOneWay.rst:120 msgid "" ":doc:`topology-functions` for an overview of a topology for routing " "algorithms." @@ -435,19 +437,19 @@ msgstr "" ":doc:`topology-functions` para obtener una visión general de una topología " "para algoritmos de ruteo." -#: ../../build/doc/pgr_analyzeOneWay.rst:120 +#: ../../build/doc/pgr_analyzeOneWay.rst:121 msgid ":ref:`analytics` for an overview of the analysis of a graph." msgstr "" ":ref:`analytics` para tener una visión general del análisis de un gráfico." -#: ../../build/doc/pgr_analyzeOneWay.rst:121 +#: ../../build/doc/pgr_analyzeOneWay.rst:122 msgid "" ":doc:`pgr_analyzeGraph` to analyze the edges and vertices of the edge table." msgstr "" ":doc:`pgr_analyzeGraph` para analizar los bordes y vértices de la tabla de " "bordes." -#: ../../build/doc/pgr_analyzeOneWay.rst:122 +#: ../../build/doc/pgr_analyzeOneWay.rst:123 msgid "" ":doc:`pgr_createVerticesTable` to reconstruct the vertices table based on " "the source and target information." @@ -455,23 +457,14 @@ msgstr "" ":doc:`pgr_createVerticesTable` para reconstruir la tabla de vértices en " "función de la información de origen y de destino." -#: ../../build/doc/pgr_analyzeOneWay.rst:125 +#: ../../build/doc/pgr_analyzeOneWay.rst:126 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_analyzeOneWay.rst:126 +#: ../../build/doc/pgr_analyzeOneWay.rst:127 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_analyzeOneWay.rst:127 +#: ../../build/doc/pgr_analyzeOneWay.rst:128 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_articulationPoints.po b/locale/es/LC_MESSAGES/pgr_articulationPoints.po index ccd253adf65..08cfc72eed2 100644 --- a/locale/es/LC_MESSAGES/pgr_articulationPoints.po +++ b/locale/es/LC_MESSAGES/pgr_articulationPoints.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -70,13 +70,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_articulationPoints.rst:33 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual​(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_articulationPoints.rst:36 +#: ../../build/doc/pgr_articulationPoints.rst:37 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -88,12 +90,12 @@ msgstr "" #: ../../build/doc/components-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_articulationPoints.rst:41 -#: ../../build/doc/pgr_articulationPoints.rst:101 +#: ../../build/doc/pgr_articulationPoints.rst:42 +#: ../../build/doc/pgr_articulationPoints.rst:102 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_articulationPoints.rst:43 +#: ../../build/doc/pgr_articulationPoints.rst:44 msgid "" "Those vertices that belong to more than one biconnected component are called" " articulation points or, equivalently, cut vertices. Articulation points are" @@ -106,27 +108,27 @@ msgstr "" "componentes conectados en el grafo. Esta implementación solo se puede " "utilizar con un grafo no dirigido." -#: ../../build/doc/pgr_articulationPoints.rst:49 +#: ../../build/doc/pgr_articulationPoints.rst:50 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_articulationPoints.rst:51 +#: ../../build/doc/pgr_articulationPoints.rst:52 msgid "The signature is for an **undirected** graph." msgstr "La firma es para un grafo **no dirigido**." -#: ../../build/doc/pgr_articulationPoints.rst:52 +#: ../../build/doc/pgr_articulationPoints.rst:53 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_articulationPoints.rst:54 +#: ../../build/doc/pgr_articulationPoints.rst:55 msgid "`node` ascending" msgstr "`node` ascendente." -#: ../../build/doc/pgr_articulationPoints.rst:56 +#: ../../build/doc/pgr_articulationPoints.rst:57 msgid "Running time: :math:`O(V + E)`" msgstr "Tiempo de ejecución: :math:`O(V + E)`" -#: ../../build/doc/pgr_articulationPoints.rst:59 +#: ../../build/doc/pgr_articulationPoints.rst:60 msgid "Signatures" msgstr "Firmas" @@ -134,11 +136,11 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_articulationPoints.rst:71 +#: ../../build/doc/pgr_articulationPoints.rst:72 msgid "The articulation points of the graph" msgstr "Los puntos de articulación del grafo" -#: ../../build/doc/pgr_articulationPoints.rst:78 +#: ../../build/doc/pgr_articulationPoints.rst:79 msgid "Parameters" msgstr "Parámetros" @@ -148,7 +150,7 @@ msgstr "Parámetro" #: ../../build/doc/components-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_articulationPoints.rst:101 +#: ../../build/doc/pgr_articulationPoints.rst:102 msgid "Type" msgstr "Tipo" @@ -169,7 +171,7 @@ msgstr "``TEXT``" msgid "Inner query as described below." msgstr "Consulta interna como se describe a continuación." -#: ../../build/doc/pgr_articulationPoints.rst:85 +#: ../../build/doc/pgr_articulationPoints.rst:86 msgid "Inner query" msgstr "Consulta interna" @@ -177,7 +179,7 @@ msgstr "Consulta interna" msgid "edges SQL" msgstr "bordes SQL" -#: ../../build/doc/pgr_articulationPoints.rst:87 +#: ../../build/doc/pgr_articulationPoints.rst:88 msgid "" "an SQL query of an **undirected** graph, which should return a set of rows " "with the following columns:" @@ -186,7 +188,7 @@ msgstr "" "conjunto de filas con las siguientes columnas:" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_articulationPoints.rst:101 +#: ../../build/doc/pgr_articulationPoints.rst:102 msgid "Column" msgstr "Columna" @@ -281,39 +283,39 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_articulationPoints.rst:94 +#: ../../build/doc/pgr_articulationPoints.rst:95 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_articulationPoints.rst:98 +#: ../../build/doc/pgr_articulationPoints.rst:99 msgid "Returns set of ``(node)``" msgstr "Devuelve el conjunto de ``(node)``" -#: ../../build/doc/pgr_articulationPoints.rst:103 +#: ../../build/doc/pgr_articulationPoints.rst:104 msgid "**node**" msgstr "**node**" -#: ../../build/doc/pgr_articulationPoints.rst:103 +#: ../../build/doc/pgr_articulationPoints.rst:104 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_articulationPoints.rst:103 +#: ../../build/doc/pgr_articulationPoints.rst:104 msgid "Identifier of the vertex." msgstr "Identificador del vértice." -#: ../../build/doc/pgr_articulationPoints.rst:109 +#: ../../build/doc/pgr_articulationPoints.rst:110 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_articulationPoints.rst:111 +#: ../../build/doc/pgr_articulationPoints.rst:112 msgid ":doc:`components-family`" msgstr ":doc:`components-family`" -#: ../../build/doc/pgr_articulationPoints.rst:112 +#: ../../build/doc/pgr_articulationPoints.rst:113 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_articulationPoints.rst:113 +#: ../../build/doc/pgr_articulationPoints.rst:114 msgid "" "Boost: `Biconnected components & articulation points " "`__" @@ -321,7 +323,7 @@ msgstr "" "Boost: `Componentes biconectados & y puntos de articulación " "`__" -#: ../../build/doc/pgr_articulationPoints.rst:114 +#: ../../build/doc/pgr_articulationPoints.rst:115 msgid "" "wikipedia: `Biconnected component " "`__" @@ -329,24 +331,14 @@ msgstr "" "wikipedia: `Componentes biconnectados " "`__" -#: ../../build/doc/pgr_articulationPoints.rst:117 +#: ../../build/doc/pgr_articulationPoints.rst:118 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_articulationPoints.rst:118 +#: ../../build/doc/pgr_articulationPoints.rst:119 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_articulationPoints.rst:119 +#: ../../build/doc/pgr_articulationPoints.rst:120 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "Inner query as described bellow." -#~ msgstr "Consulta interna como se describe a continuación." - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_bdAstar.po b/locale/es/LC_MESSAGES/pgr_bdAstar.po index aca8a3cc433..7bf1f9da81c 100644 --- a/locale/es/LC_MESSAGES/pgr_bdAstar.po +++ b/locale/es/LC_MESSAGES/pgr_bdAstar.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -94,15 +94,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_bdAstar.rst:44 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_bdAstar.rst:48 +#: ../../build/doc/pgr_bdAstar.rst:49 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -123,11 +125,11 @@ msgstr "" "`__" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_bdAstar.rst:57 +#: ../../build/doc/pgr_bdAstar.rst:58 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_bdAstar.rst:59 +#: ../../build/doc/pgr_bdAstar.rst:60 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -202,7 +204,7 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "Tiempo de ejecución: :math:`O((E + V) * \\log V)`" -#: ../../build/doc/pgr_bdAstar.rst:65 +#: ../../build/doc/pgr_bdAstar.rst:66 msgid "" "The results are equivalent to the union of the results of the `pgr_bdAStar(`" " `One to One`_ `)` on the:" @@ -210,19 +212,19 @@ msgstr "" "Los resultados son equivalentes a la unión de los resultados de " "`pgr_bdAStar(` `Uno a Uno`_ `)` en:" -#: ../../build/doc/pgr_bdAstar.rst:67 +#: ../../build/doc/pgr_bdAstar.rst:68 msgid "`pgr_bdAstar(` `One to Many`_ `)`" msgstr "`pgr_bdAstar(` `Uno a Muchos`_ `)`" -#: ../../build/doc/pgr_bdAstar.rst:68 +#: ../../build/doc/pgr_bdAstar.rst:69 msgid "`pgr_bdAstar(` `Many to One`_ `)`" msgstr "`pgr_bdAstar(` `Muchos a Uno`_ `)`" -#: ../../build/doc/pgr_bdAstar.rst:69 +#: ../../build/doc/pgr_bdAstar.rst:70 msgid "`pgr_bdAstar(` `Many to Many`_ `)`" msgstr "`pgr_bdAstar(` `Muchos a Muchos`_ `)`" -#: ../../build/doc/pgr_bdAstar.rst:71 +#: ../../build/doc/pgr_bdAstar.rst:72 msgid "" "``start_vid`` and ``end_vid`` in the result is used to distinguish to which " "path it belongs." @@ -230,21 +232,21 @@ msgstr "" "``start_vid`` y ``end_vid`` en el resultado se utiliza para distinguir a qué" " ruta pertenece." -#: ../../build/doc/pgr_bdAstar.rst:74 +#: ../../build/doc/pgr_bdAstar.rst:75 msgid "Signature" msgstr "Firma" -#: ../../build/doc/pgr_bdAstar.rst:77 +#: ../../build/doc/pgr_bdAstar.rst:78 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bdAstar.rst:88 +#: ../../build/doc/pgr_bdAstar.rst:89 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" "Los parámetros opcionales son `parámetros con nombre` y tienen un valor " "predeterminado." -#: ../../build/doc/pgr_bdAstar.rst:91 +#: ../../build/doc/pgr_bdAstar.rst:92 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -252,15 +254,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bdAstar.rst:97 +#: ../../build/doc/pgr_bdAstar.rst:98 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "Del vértice :math:`2` al :`3` en un grafo **dirigido** " -#: ../../build/doc/pgr_bdAstar.rst:107 +#: ../../build/doc/pgr_bdAstar.rst:108 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_bdAstar.rst:113 +#: ../../build/doc/pgr_bdAstar.rst:114 msgid "" "From vertex :math:`2` to vertex :math:`3` on a **directed** graph using " "heuristic :math:`2`" @@ -268,11 +270,11 @@ msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **dirigido** usando " "la heurística :math:`2`" -#: ../../build/doc/pgr_bdAstar.rst:123 +#: ../../build/doc/pgr_bdAstar.rst:124 msgid "One to many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_bdAstar.rst:131 +#: ../../build/doc/pgr_bdAstar.rst:132 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " "graph using heuristic :math:`3` and factor :math:`3.5`" @@ -280,11 +282,11 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 11\\}` en un grafo " "**dirigido** usando la heurística :math:`3` y el factor :math:`3.5`" -#: ../../build/doc/pgr_bdAstar.rst:141 +#: ../../build/doc/pgr_bdAstar.rst:142 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_bdAstar.rst:149 +#: ../../build/doc/pgr_bdAstar.rst:150 msgid "" "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on an **undirected** " "graph using heuristic :math:`4`" @@ -292,11 +294,11 @@ msgstr "" "De los vértices :math:`\\{2, 7\\}` al vértice :math:`3` en un grafo **no " "dirigido** usando la heurística :math:`4`" -#: ../../build/doc/pgr_bdAstar.rst:159 +#: ../../build/doc/pgr_bdAstar.rst:160 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_bdAstar.rst:167 +#: ../../build/doc/pgr_bdAstar.rst:168 msgid "" "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** graph using factor :math:`0.5`" @@ -304,7 +306,7 @@ msgstr "" "De los vértices :math:`\\{2, 7\\}` a los vértices :math:`\\{3, 11\\}` en un " "grafo **dirigido** usando el factor :math:`0.5`" -#: ../../build/doc/pgr_bdAstar.rst:174 +#: ../../build/doc/pgr_bdAstar.rst:175 msgid "Parameters" msgstr "Parámetros" @@ -391,7 +393,7 @@ msgstr "**to_vids**" msgid "Array of ending vertices identifiers. Parameter in:" msgstr "Matriz de identificadores de vértices finales. Parámetro en:" -#: ../../build/doc/pgr_bdAstar.rst:181 +#: ../../build/doc/pgr_bdAstar.rst:182 msgid "Optional Parameters" msgstr "Parámetros opcionales" @@ -486,11 +488,11 @@ msgstr "**epsilon**" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "Para resultados menos restringidos. :math:`epsilon >= 1`." -#: ../../build/doc/pgr_bdAstar.rst:189 +#: ../../build/doc/pgr_bdAstar.rst:190 msgid "Inner query" msgstr "Consulta interna" -#: ../../build/doc/pgRouting-concepts.rst ../../build/doc/pgr_bdAstar.rst:192 +#: ../../build/doc/pgRouting-concepts.rst ../../build/doc/pgr_bdAstar.rst:193 msgid "edges_sql" msgstr "edges_sql" @@ -627,7 +629,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bdAstar.rst:199 +#: ../../build/doc/pgr_bdAstar.rst:200 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -744,47 +746,38 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_bdAstar.rst:206 +#: ../../build/doc/pgr_bdAstar.rst:207 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_bdAstar.rst:208 +#: ../../build/doc/pgr_bdAstar.rst:209 msgid ":doc:`aStar-family`" msgstr ":doc:`aStar-family`" -#: ../../build/doc/pgr_bdAstar.rst:209 +#: ../../build/doc/pgr_bdAstar.rst:210 msgid ":doc:`bdAstar-family`" msgstr ":doc:`bdAstar-family`" -#: ../../build/doc/pgr_bdAstar.rst:210 +#: ../../build/doc/pgr_bdAstar.rst:211 msgid ":doc:`sampledata` network." msgstr "Red :doc:`sampledata` ." -#: ../../build/doc/pgr_bdAstar.rst:211 +#: ../../build/doc/pgr_bdAstar.rst:212 msgid "https://www.boost.org/libs/graph/doc/astar_search.html" msgstr "https://www.boost.org/libs/graph/doc/astar_search.html" -#: ../../build/doc/pgr_bdAstar.rst:212 +#: ../../build/doc/pgr_bdAstar.rst:213 msgid "https://en.wikipedia.org/wiki/A*_search_algorithm" msgstr "https://en.wikipedia.org/wiki/A*_search_algorithm" -#: ../../build/doc/pgr_bdAstar.rst:215 +#: ../../build/doc/pgr_bdAstar.rst:216 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bdAstar.rst:216 +#: ../../build/doc/pgr_bdAstar.rst:217 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bdAstar.rst:217 +#: ../../build/doc/pgr_bdAstar.rst:218 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_bdAstarCost.po b/locale/es/LC_MESSAGES/pgr_bdAstarCost.po index 7f46c976bf6..905bea2c8f2 100644 --- a/locale/es/LC_MESSAGES/pgr_bdAstarCost.po +++ b/locale/es/LC_MESSAGES/pgr_bdAstarCost.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. -# +# FIRST AUTHOR , 2020. +# # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 # Vicky Vergara , 2020 # MarPetra , 2020 -# +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -62,15 +62,17 @@ msgstr "Nueva función **Propuesta**" #: ../../build/doc/pgr_bdAstarCost.rst:30 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual​(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_bdAstarCost.rst:34 +#: ../../build/doc/pgr_bdAstarCost.rst:35 msgid "" "**Unsupported versions:** `2.5 " "`__" @@ -79,7 +81,7 @@ msgstr "" "`__" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_bdAstarCost.rst:38 +#: ../../build/doc/pgr_bdAstarCost.rst:39 msgid "Description" msgstr "Descripción" @@ -154,7 +156,7 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "Tiempo de ejecución: :math:`O((E + V) * \\log V)`" -#: ../../build/doc/pgr_bdAstarCost.rst:44 +#: ../../build/doc/pgr_bdAstarCost.rst:45 msgid "" "The results are equivalent to the union of the results of the " "`pgr_bdAstarCost(` `One to One`_ `)` on the:" @@ -162,33 +164,33 @@ msgstr "" "Los resultados son equivalentes a la unión de los resultados de " "`pgr_bdAstarCost(` `Uno a Uno`_ `)` en:" -#: ../../build/doc/pgr_bdAstarCost.rst:46 +#: ../../build/doc/pgr_bdAstarCost.rst:47 msgid "`pgr_bdAstarCost(` `One to Many`_ `)`" msgstr "`pgr_bdAstarCost(` `Uno a Muchos`_ `)`" -#: ../../build/doc/pgr_bdAstarCost.rst:47 +#: ../../build/doc/pgr_bdAstarCost.rst:48 msgid "`pgr_bdAstarCost(` `Many to One`_ `)`" msgstr "`pgr_bdAstarCost(` `Muchos a Uno`_ `)`" -#: ../../build/doc/pgr_bdAstarCost.rst:48 +#: ../../build/doc/pgr_bdAstarCost.rst:49 msgid "`pgr_bdAstarCost(` `Many to Many`_ `)`" msgstr "`pgr_bdAstarCost(` `Muchos a Muchos`_ `)`" -#: ../../build/doc/pgr_bdAstarCost.rst:51 +#: ../../build/doc/pgr_bdAstarCost.rst:52 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_bdAstarCost.rst:54 +#: ../../build/doc/pgr_bdAstarCost.rst:55 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bdAstarCost.rst:65 +#: ../../build/doc/pgr_bdAstarCost.rst:66 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" "Los parámetros opcionales son `parámetros con nombre` y tienen un valor " "predeterminado." -#: ../../build/doc/pgr_bdAstarCost.rst:68 +#: ../../build/doc/pgr_bdAstarCost.rst:69 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -196,15 +198,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bdAstarCost.rst:75 +#: ../../build/doc/pgr_bdAstarCost.rst:76 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "Del vértice :math:`2` al :`3` en un grafo **dirigido** " -#: ../../build/doc/pgr_bdAstarCost.rst:85 +#: ../../build/doc/pgr_bdAstarCost.rst:86 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_bdAstarCost.rst:93 +#: ../../build/doc/pgr_bdAstarCost.rst:94 msgid "" "From vertex :math:`2` to vertex :math:`3` on an **directed** graph using " "heuristic :math:`2`" @@ -212,11 +214,11 @@ msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **dirigido** usando " "la heurística :math:`2`" -#: ../../build/doc/pgr_bdAstarCost.rst:103 +#: ../../build/doc/pgr_bdAstarCost.rst:104 msgid "One to many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_bdAstarCost.rst:111 +#: ../../build/doc/pgr_bdAstarCost.rst:112 msgid "" "From vertex `2` to vertices :math:`\\{3, 11\\}` on a **directed** graph " "using heuristic `3` and factor :math:`3.5`" @@ -224,11 +226,11 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 11\\}` en un grafo " "**dirigido** usando la heurística :math:`3` y el factor :math:`3.5`" -#: ../../build/doc/pgr_bdAstarCost.rst:121 +#: ../../build/doc/pgr_bdAstarCost.rst:122 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_bdAstarCost.rst:129 +#: ../../build/doc/pgr_bdAstarCost.rst:130 msgid "" "From vertices :math:`\\{7, 2\\}` to vertex :math:`3` on a **undirected** " "graph using heuristic :math:`4`" @@ -236,11 +238,11 @@ msgstr "" "De los vértices :math:`\\{7, 2\\}` al vértice :math:`3` en un grafo **no " "dirigido** usando la heurística :math:`4`" -#: ../../build/doc/pgr_bdAstarCost.rst:139 +#: ../../build/doc/pgr_bdAstarCost.rst:140 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_bdAstarCost.rst:147 +#: ../../build/doc/pgr_bdAstarCost.rst:148 msgid "" "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** using heuristic :math:`5` and factor :math:`0.5`" @@ -248,7 +250,7 @@ msgstr "" "Del vértice :math:\\`{7,2\\}` a los vértices :math:`\\{3, 11\\}` en un grafo" " **dirigido** usando la heurística :math:`5` y el factor :math:`0.5`" -#: ../../build/doc/pgr_bdAstarCost.rst:154 +#: ../../build/doc/pgr_bdAstarCost.rst:155 msgid "Parameters" msgstr "Parámetros" @@ -331,7 +333,7 @@ msgstr "**to_vids**" msgid "Array of ending vertices identifiers. Parameter in:" msgstr "Matriz de identificadores de vértices finales. Parámetro en:" -#: ../../build/doc/pgr_bdAstarCost.rst:161 +#: ../../build/doc/pgr_bdAstarCost.rst:162 msgid "Optional Parameters" msgstr "Parámetros opcionales" @@ -425,12 +427,12 @@ msgstr "**epsilon**" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "Para resultados menos restringidos. :math:`epsilon >= 1`." -#: ../../build/doc/pgr_bdAstarCost.rst:169 +#: ../../build/doc/pgr_bdAstarCost.rst:170 msgid "Inner query" msgstr "Consulta interna" #: ../../build/doc/pgRouting-concepts.rst -#: ../../build/doc/pgr_bdAstarCost.rst:172 +#: ../../build/doc/pgr_bdAstarCost.rst:173 msgid "edges_sql" msgstr "edges_sql" @@ -566,7 +568,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bdAstarCost.rst:179 +#: ../../build/doc/pgr_bdAstarCost.rst:180 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -611,74 +613,34 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_bdAstarCost.rst:186 +#: ../../build/doc/pgr_bdAstarCost.rst:187 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_bdAstarCost.rst:188 +#: ../../build/doc/pgr_bdAstarCost.rst:189 msgid ":doc:`bdAstar-family`" msgstr ":doc:`bdAstar-family`" -#: ../../build/doc/pgr_bdAstarCost.rst:189 +#: ../../build/doc/pgr_bdAstarCost.rst:190 msgid ":doc:`cost-category`" msgstr ":doc:`cost-category`" -#: ../../build/doc/pgr_bdAstarCost.rst:190 +#: ../../build/doc/pgr_bdAstarCost.rst:191 msgid ":doc:`costMatrix-category`" msgstr ":doc:`costMatrix-category`" -#: ../../build/doc/pgr_bdAstarCost.rst:191 +#: ../../build/doc/pgr_bdAstarCost.rst:192 msgid "Examples use :doc:`sampledata` network." msgstr "Los ejemplos utilizan la red :doc:`sampledata` " -#: ../../build/doc/pgr_bdAstarCost.rst:194 +#: ../../build/doc/pgr_bdAstarCost.rst:195 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bdAstarCost.rst:195 +#: ../../build/doc/pgr_bdAstarCost.rst:196 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bdAstarCost.rst:196 +#: ../../build/doc/pgr_bdAstarCost.rst:197 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "From vertex :math:`2` to vertex :math:`12` on a **directed** graph" -#~ msgstr "De vértice :math:`2` a vértice :math:`12` en un grafo**dirigido**" - -#~ msgid "" -#~ "From vertex :math:`2` to vertex :math:`12` on an **undirected** graph using " -#~ "heuristic :math:`2`" -#~ msgstr "" -#~ "De vértice :math:`2` al vértice :math:`12` en un grafo **no dirigido** " -#~ "usando la heurística :math:`2`" - -#~ msgid "" -#~ "From vertex `2` to vertices :math:`\\{3, 12\\}` on a **directed** graph " -#~ "using heuristic `2`" -#~ msgstr "" -#~ "Del vértice `2` a los vértices :math:`\\{3, 12\\}` en un grafo **dirigido** " -#~ "usando la heurística `2`" - -#~ msgid "" -#~ "From vertices :math:`\\{7, 2\\}` to vertex :math:`12` on a **directed** " -#~ "graph using heuristic :math:`0`" -#~ msgstr "" -#~ "De los vértices :math:`\\{7, 2\\}` al vértice :math:`12` en un grafo " -#~ "**dirigido** usando la heurística :math:`0`" - -#~ msgid "" -#~ "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 12\\}` on a " -#~ "**directed** using heuristic :math:`2`" -#~ msgstr "" -#~ "De los vértices :math:`\\{7, 2\\}` ta los vértices :math:`\\{3, 12\\}` en un" -#~ " grafo **dirigido** usando la heurística :math:`2`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_bdAstarCostMatrix.po b/locale/es/LC_MESSAGES/pgr_bdAstarCostMatrix.po index e7859144370..e154b7685e7 100644 --- a/locale/es/LC_MESSAGES/pgr_bdAstarCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_bdAstarCostMatrix.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -66,15 +66,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_bdAstarCostMatrix.rst:32 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual​(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:36 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:37 msgid "" "**Unsupported versions:** `2.5 " "`__" @@ -83,65 +85,65 @@ msgstr "" "`__" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:40 -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:107 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:41 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:108 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:42 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:43 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:44 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:45 msgid "Using internaly the :doc:`pgr_bdAstar` algorithm" msgstr "Usando internamente el algoritmo :doc:`pgr_bdAstar`" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:45 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:46 msgid "Returns a cost matrix." msgstr "Devuelve una matriz de costes." -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:46 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:47 msgid "No ordering is performed" msgstr "No se realiza ningún pedido" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:47 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:48 msgid "let `v` and `u` are nodes on the graph:" msgstr "Sean `v` y `u` nodos en el grafo:" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:49 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:50 msgid "when there is no path from `v` to `u`:" msgstr "cuando no hay ruta de `v` a `u`:" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:51 -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:56 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:52 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:57 msgid "no corresponding row is returned" msgstr "no se devuelve ninguna fila correspondiente" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:52 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:53 msgid "cost from `v` to `u` is :math:`\\inf`" msgstr "costo de `v` a `u` es :math:`\\inf`" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:54 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:55 msgid "when :math:`v = u` then" msgstr "cuando :math:`v = u` entonces" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:57 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:58 msgid "cost from `v` to `u` is :math:`0`" msgstr "costo de `v` a `u` es :math:`0`" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:59 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:60 msgid "When the graph is **undirected** the cost matrix is symmetric" msgstr "Cuando el grafo es **no dirigido**, la matriz de costes es simétrica" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:62 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:63 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:65 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:66 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:72 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:73 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -149,17 +151,17 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:78 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:79 msgid "Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" msgstr "" "Costo de la matriz para los vértices :math:`\\{1, 2, 3, 4\\}` en un grafo " "**no directed**" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:89 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:90 msgid "Complete Signature" msgstr "Firma completa" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:97 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:98 msgid "" "Symmetric cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on an " "**undirected** graph using heuristic :math:`2`" @@ -167,45 +169,45 @@ msgstr "" "Matriz de costes simetrica para los vértices :math:`\\{1, 2, 3, 4\\}` en un " "grafo **no dirigido** usando la heurística :math:`2`" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:104 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:105 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:107 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:108 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:107 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:108 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:109 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:110 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:109 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:110 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:109 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:110 msgid "`edges_sql`_ inner query." msgstr "`edges_sql`_ consulta interna." -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:110 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:111 msgid "**vids**" msgstr "**vids**" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:110 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:111 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:110 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:111 msgid "Array of vertices identifiers." msgstr "Arreglo de identificadores de vértices." -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:114 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:115 msgid "Optional Parameters" msgstr "Parámetros opcionales" @@ -299,12 +301,12 @@ msgstr "**epsilon**" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "Para resultados menos restringidos. :math:`epsilon >= 1`." -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:121 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:122 msgid "Inner query" msgstr "Consulta interna" #: ../../build/doc/pgRouting-concepts.rst -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:124 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:125 msgid "edges_sql" msgstr "edges_sql" @@ -446,7 +448,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:131 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:132 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -491,59 +493,50 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:138 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:139 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:140 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:141 msgid "Use with :doc:`pgr_TSP`" msgstr "Uso con :doc:`pgr_TSP`" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:147 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:148 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:149 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:150 msgid ":doc:`aStar-family`" msgstr ":doc:`aStar-family`" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:150 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:151 msgid ":doc:`bdAstar-family`" msgstr ":doc:`bdAstar-family`" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:151 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:152 msgid ":doc:`cost-category`" msgstr ":doc:`cost-category`" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:152 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:153 msgid ":doc:`costMatrix-category`" msgstr ":doc:`costMatrix-category`" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:153 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:154 msgid ":doc:`TSP-family`" msgstr ":doc:`TSP-family`" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:154 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:155 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:157 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:158 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:158 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:159 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bdAstarCostMatrix.rst:159 +#: ../../build/doc/pgr_bdAstarCostMatrix.rst:160 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_bdDijkstra.po b/locale/es/LC_MESSAGES/pgr_bdDijkstra.po index 48dc422cf33..8681d16e7ad 100644 --- a/locale/es/LC_MESSAGES/pgr_bdDijkstra.po +++ b/locale/es/LC_MESSAGES/pgr_bdDijkstra.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -98,15 +98,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_bdDijkstra.rst:46 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_bdDijkstra.rst:50 +#: ../../build/doc/pgr_bdDijkstra.rst:51 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -128,11 +130,12 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bdDijkstra.rst:59 ../../build/doc/pgr_dijkstra.rst:4 +#: ../../build/doc/pgr_bdDijkstra.rst:60 +#: ../../build/doc/pgr_bdDijkstra.rst:175 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_bdDijkstra.rst:61 +#: ../../build/doc/pgr_bdDijkstra.rst:62 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -181,15 +184,15 @@ msgstr "" msgid "It is expected to terminate faster than pgr_dijkstra" msgstr "Se espera que termine más rápido que pgr_dijkstra" -#: ../../build/doc/pgr_bdDijkstra.rst:68 +#: ../../build/doc/pgr_bdDijkstra.rst:69 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_bdDijkstra.rst:71 +#: ../../build/doc/pgr_bdDijkstra.rst:72 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bdDijkstra.rst:83 +#: ../../build/doc/pgr_bdDijkstra.rst:84 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -197,24 +200,24 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bdDijkstra.rst:90 +#: ../../build/doc/pgr_bdDijkstra.rst:91 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "Del vértice :math:`2` al vértice :math:`3`" -#: ../../build/doc/pgr_bdDijkstra.rst:100 +#: ../../build/doc/pgr_bdDijkstra.rst:101 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_bdDijkstra.rst:108 +#: ../../build/doc/pgr_bdDijkstra.rst:109 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **no dirigido**" -#: ../../build/doc/pgr_bdDijkstra.rst:118 +#: ../../build/doc/pgr_bdDijkstra.rst:119 msgid "One to many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_bdDijkstra.rst:126 +#: ../../build/doc/pgr_bdDijkstra.rst:127 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " "graph" @@ -222,22 +225,22 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 11\\}` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_bdDijkstra.rst:136 +#: ../../build/doc/pgr_bdDijkstra.rst:137 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_bdDijkstra.rst:144 +#: ../../build/doc/pgr_bdDijkstra.rst:145 msgid "" "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** graph" msgstr "" "De los vértices :math:`\\{2, 7\\}` al vértice :math:`3` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_bdDijkstra.rst:154 +#: ../../build/doc/pgr_bdDijkstra.rst:155 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_bdDijkstra.rst:162 +#: ../../build/doc/pgr_bdDijkstra.rst:163 msgid "" "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** graph" @@ -245,37 +248,39 @@ msgstr "" "De los vértice​s :math:`\\{2, 7\\}` a los vértice​s :math:`\\{3, 11\\}` en " "un grafo **dirigido**" -#: ../../build/doc/pgr_bdDijkstra.rst:169 +#: ../../build/doc/pgr_bdDijkstra.rst:170 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_dijkstra.rst:4 +#: ../../build/doc/pgr_bdDijkstra.rst:175 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_dijkstra.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:175 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_dijkstra.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_bdDijkstra.rst:175 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_dijkstra.rst:6 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/pgr_bdDijkstra.rst:177 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_dijkstra.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:177 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_dijkstra.rst:6 -msgid "Inner SQL query as described below." -msgstr "Consulta SQL interna como se describe a continuación." +#: ../../build/doc/pgr_bdDijkstra.rst:177 +msgid "`Edges query`_ as described below" +msgstr "`Edges query`_ como se describe a continuación" #: ../../build/doc/pgRouting-concepts.rst:11 -#: ../../build/doc/pgr_dijkstra.rst:7 +#: ../../build/doc/pgr_bdDijkstra.rst:178 msgid "**start_vid**" msgstr "**start_vid**" @@ -283,67 +288,73 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 -#: ../../build/doc/pgr_dijkstra.rst:7 ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:178 +#: ../../build/doc/pgr_bdDijkstra.rst:180 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_dijkstra.rst:7 +#: ../../build/doc/pgr_bdDijkstra.rst:178 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_dijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:179 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_dijkstra.rst:8 ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:179 +#: ../../build/doc/pgr_bdDijkstra.rst:181 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_dijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:179 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:18 -#: ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:180 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:180 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:181 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:181 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:182 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:182 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:182 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:182 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_dijkstra.rst:12 +#: ../../build/doc/pgr_bdDijkstra.rst:183 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_bdDijkstra.rst:176 +#: ../../build/doc/pgr_bdDijkstra.rst:189 msgid "Inner query" msgstr "Consulta interna" +#: ../../build/doc/pgr_bdDijkstra.rst:192 +msgid "Edges query" +msgstr "Consulta de aristas" + #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" @@ -441,7 +452,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bdDijkstra.rst:183 +#: ../../build/doc/pgr_bdDijkstra.rst:199 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -561,46 +572,37 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_bdDijkstra.rst:190 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_bdDijkstra.rst:192 +#: ../../build/doc/pgr_bdDijkstra.rst:208 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_bdDijkstra.rst:193 +#: ../../build/doc/pgr_bdDijkstra.rst:209 msgid ":doc:`bdDijkstra-family`" msgstr ":doc:`bdDijkstra-family`" -#: ../../build/doc/pgr_bdDijkstra.rst:194 +#: ../../build/doc/pgr_bdDijkstra.rst:210 #, python-format msgid "" "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" msgstr "" "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" -#: ../../build/doc/pgr_bdDijkstra.rst:195 +#: ../../build/doc/pgr_bdDijkstra.rst:211 msgid "https://en.wikipedia.org/wiki/Bidirectional_search" msgstr "https://en.wikipedia.org/wiki/Bidirectional_search" -#: ../../build/doc/pgr_bdDijkstra.rst:198 +#: ../../build/doc/pgr_bdDijkstra.rst:214 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bdDijkstra.rst:199 +#: ../../build/doc/pgr_bdDijkstra.rst:215 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bdDijkstra.rst:200 +#: ../../build/doc/pgr_bdDijkstra.rst:216 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po b/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po index 535dee9f923..8fad9dd3039 100644 --- a/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po +++ b/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -66,15 +66,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_bdDijkstraCost.rst:32 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_bdDijkstraCost.rst:36 +#: ../../build/doc/pgr_bdDijkstraCost.rst:37 msgid "" "**Unsupported versions:** `2.5 " "`__" @@ -84,12 +86,12 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bdDijkstraCost.rst:41 -#: ../../build/doc/pgr_dijkstra.rst:4 +#: ../../build/doc/pgr_bdDijkstra.rst:4 +#: ../../build/doc/pgr_bdDijkstraCost.rst:42 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_bdDijkstraCost.rst:43 +#: ../../build/doc/pgr_bdDijkstraCost.rst:44 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -138,15 +140,15 @@ msgstr "" msgid "It is expected to terminate faster than pgr_dijkstra" msgstr "Se espera que termine más rápido que pgr_dijkstra" -#: ../../build/doc/pgr_bdDijkstraCost.rst:50 +#: ../../build/doc/pgr_bdDijkstraCost.rst:51 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_bdDijkstraCost.rst:53 +#: ../../build/doc/pgr_bdDijkstraCost.rst:54 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bdDijkstraCost.rst:65 +#: ../../build/doc/pgr_bdDijkstraCost.rst:66 msgid "Using default" msgstr "Uso de valores predeterminados" @@ -154,24 +156,24 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bdDijkstraCost.rst:72 +#: ../../build/doc/pgr_bdDijkstraCost.rst:73 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "Del vértice :math:`2` al vértice :math:`3` en un grafo **dirigido**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:82 +#: ../../build/doc/pgr_bdDijkstraCost.rst:83 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_bdDijkstraCost.rst:90 +#: ../../build/doc/pgr_bdDijkstraCost.rst:91 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **no dirigido**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:100 +#: ../../build/doc/pgr_bdDijkstraCost.rst:101 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_bdDijkstraCost.rst:108 +#: ../../build/doc/pgr_bdDijkstraCost.rst:109 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " "graph" @@ -179,22 +181,22 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 11\\}` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:118 +#: ../../build/doc/pgr_bdDijkstraCost.rst:119 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_bdDijkstraCost.rst:126 +#: ../../build/doc/pgr_bdDijkstraCost.rst:127 msgid "" "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** graph" msgstr "" "De los vértices :math:`\\{2, 7\\}` al vértice :math:`3` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:136 +#: ../../build/doc/pgr_bdDijkstraCost.rst:137 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_bdDijkstraCost.rst:144 +#: ../../build/doc/pgr_bdDijkstraCost.rst:145 msgid "" "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** graph" @@ -202,101 +204,109 @@ msgstr "" "De los vértice​s :math:`\\{2, 7\\}` a los vértice​s :math:`\\{3, 11\\}` en " "un grafo **dirigido**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:151 +#: ../../build/doc/pgr_bdDijkstraCost.rst:152 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_dijkstra.rst:4 +#: ../../build/doc/pgr_bdDijkstra.rst:4 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_dijkstra.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:4 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_dijkstra.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_bdDijkstra.rst:4 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_dijkstra.rst:6 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/pgr_bdDijkstra.rst:6 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_dijkstra.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:6 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_dijkstra.rst:6 -msgid "Inner SQL query as described below." -msgstr "Consulta SQL interna como se describe a continuación." +#: ../../build/doc/pgr_bdDijkstra.rst:6 +msgid "`Edges query`_ as described below" +msgstr "`Edges query`_ como se describe a continuación" -#: ../../build/doc/pgRouting-concepts.rst:8 ../../build/doc/pgr_dijkstra.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:7 msgid "**start_vid**" msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_dijkstra.rst:7 -#: ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:7 ../../build/doc/pgr_bdDijkstra.rst:9 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_dijkstra.rst:7 +#: ../../build/doc/pgr_bdDijkstra.rst:7 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_dijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_dijkstra.rst:8 ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:8 ../../build/doc/pgr_bdDijkstra.rst:10 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_dijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." -#: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_dijkstra.rst:12 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_bdDijkstraCost.rst:158 +#: ../../build/doc/pgr_bdDijkstraCost.rst:159 msgid "Inner query" msgstr "Consulta interna" +#: ../../build/doc/pgr_bdDijkstraCost.rst:162 +msgid "Edges query" +msgstr "Consulta de aristas" + #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" @@ -393,7 +403,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bdDijkstraCost.rst:165 +#: ../../build/doc/pgr_bdDijkstraCost.rst:169 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -429,46 +439,37 @@ msgstr "``FLOAT``" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_bdDijkstraCost.rst:172 +#: ../../build/doc/pgr_bdDijkstraCost.rst:176 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_bdDijkstraCost.rst:174 +#: ../../build/doc/pgr_bdDijkstraCost.rst:178 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_bdDijkstraCost.rst:175 +#: ../../build/doc/pgr_bdDijkstraCost.rst:179 msgid ":doc:`pgr_bdDijkstra`" msgstr ":doc:`pgr_bdDijkstra`" -#: ../../build/doc/pgr_bdDijkstraCost.rst:176 +#: ../../build/doc/pgr_bdDijkstraCost.rst:180 #, python-format msgid "" "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" msgstr "" "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" -#: ../../build/doc/pgr_bdDijkstraCost.rst:177 +#: ../../build/doc/pgr_bdDijkstraCost.rst:181 msgid "https://en.wikipedia.org/wiki/Bidirectional_search" msgstr "https://en.wikipedia.org/wiki/Bidirectional_search" -#: ../../build/doc/pgr_bdDijkstraCost.rst:180 +#: ../../build/doc/pgr_bdDijkstraCost.rst:184 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bdDijkstraCost.rst:181 +#: ../../build/doc/pgr_bdDijkstraCost.rst:185 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bdDijkstraCost.rst:182 +#: ../../build/doc/pgr_bdDijkstraCost.rst:186 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po b/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po index 91fef2dec43..3a23e0b21b4 100644 --- a/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: +# Vicky Vergara , 2019 # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2019 -# Vicky Vergara , 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -62,13 +62,15 @@ msgstr "Nueva función **propuesta**" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:31 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:34 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:35 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -80,12 +82,12 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:39 -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:93 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:40 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:94 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:41 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:42 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -134,19 +136,19 @@ msgstr "" msgid "It is expected to terminate faster than pgr_dijkstra" msgstr "Se espera que termine más rápido que pgr_dijkstra" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:47 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:48 msgid "Returns a cost matrix." msgstr "Devuelve una matriz de costes." -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:50 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:51 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:53 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:54 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:63 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:64 msgid "Using default" msgstr "Uso de valores predeterminados" @@ -154,17 +156,17 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:69 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:70 msgid "Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" msgstr "" "Costo de la matriz para los vértices :math:`\\{1, 2, 3, 4\\}` en un grafo " "**no directed**" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:76 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:77 msgid "Complete Signature" msgstr "Firma completa" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:83 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:84 msgid "" "Symmetric cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on an " "**undirected** graph" @@ -172,53 +174,53 @@ msgstr "" "Matriz de costos simétrica para vértices :math:`\\{1, 2, 3, 4\\}` en un " "grafo **no dirigido**" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:90 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:91 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:93 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:94 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:93 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:94 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:95 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:96 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:95 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:96 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:95 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:96 msgid "Edges SQL query as described above." msgstr "Consulta de aristas SQL como se describió anteriormente." -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:96 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:97 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:96 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:97 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:96 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:97 msgid "Array of identifiers of the vertices." msgstr "Arreglo de identificadores de los vértices." -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:97 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:98 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:97 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:98 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:97 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:98 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default is" " ``true`` which considers the graph as Directed." @@ -226,7 +228,7 @@ msgstr "" "(opcional). En caso de ``false`` el grafo se considera como No Dirigido. El " "valor predeterminado es ``true`` que considera el grafo como Dirigido." -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:101 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:102 msgid "Inner query" msgstr "Consulta interna" @@ -330,7 +332,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:108 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:109 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -379,49 +381,42 @@ msgstr "``FLOAT``" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:115 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:116 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:117 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:118 msgid "Use with tsp" msgstr "Usar con tsp" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:124 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:125 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:126 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:127 msgid ":doc:`pgr_bdDijkstra`" msgstr ":doc:`pgr_bdDijkstra`" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:127 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:128 msgid ":doc:`costMatrix-category`" msgstr ":doc:`costMatrix-category`" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:128 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:129 msgid ":doc:`pgr_TSP`" msgstr ":doc:`pgr_TSP`" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:129 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:130 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:132 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:133 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:133 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:134 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:134 +#: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:135 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_bellmanFord.po b/locale/es/LC_MESSAGES/pgr_bellmanFord.po index bc6d1dc9d39..d8120899d13 100644 --- a/locale/es/LC_MESSAGES/pgr_bellmanFord.po +++ b/locale/es/LC_MESSAGES/pgr_bellmanFord.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -129,20 +129,22 @@ msgstr "Soporte" #: ../../build/doc/pgr_bellmanFord.rst:33 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bellmanFord.rst:37 -#: ../../build/doc/pgr_bellmanFord.rst:174 +#: ../../build/doc/pgr_bellmanFord.rst:38 +#: ../../build/doc/pgr_bellmanFord.rst:175 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_bellmanFord.rst:39 +#: ../../build/doc/pgr_bellmanFord.rst:40 msgid "" "Bellman-Ford's algorithm, is named after Richard Bellman and Lester Ford, " "who first published it in 1958 and 1956, respectively. It is a graph search " @@ -161,22 +163,22 @@ msgstr "" "Dijkstra/ Esta implementación se puede utilizar con un grafo dirigido y un " "grafo no dirigido." -#: ../../build/doc/pgr_bellmanFord.rst:63 +#: ../../build/doc/pgr_bellmanFord.rst:64 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_bellmanFord.rst:45 +#: ../../build/doc/pgr_bellmanFord.rst:46 msgid "" "Process is valid for edges with both positive and negative edge weights." msgstr "" "El proceso es válido para aristas con grosores de arista positivos y " "negativos." -#: ../../build/doc/pgr_bellmanFord.rst:46 +#: ../../build/doc/pgr_bellmanFord.rst:47 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/pgr_bellmanFord.rst:48 +#: ../../build/doc/pgr_bellmanFord.rst:49 msgid "" "When the start vertex and the end vertex are the same, there is no path. The" " agg_cost would be 0." @@ -184,7 +186,7 @@ msgstr "" "Cuando el vértice inicial y el vértice final son los mismos, no hay ruta. El" " agg_cost sería 0." -#: ../../build/doc/pgr_bellmanFord.rst:50 +#: ../../build/doc/pgr_bellmanFord.rst:51 msgid "" "When the start vertex and the end vertex are different, and there exists a " "path between them without having a *negative cycle*. The agg_cost would be " @@ -194,7 +196,7 @@ msgstr "" "ruta entre ellos sin tener un *ciclo negativo*. El agg_cost sería un valor " "finito que indica la distancia más corta entre ellos." -#: ../../build/doc/pgr_bellmanFord.rst:51 +#: ../../build/doc/pgr_bellmanFord.rst:52 msgid "" "When the start vertex and the end vertex are different, and there exists a " "path between them, but it contains a *negative cycle*. In such case, " @@ -206,7 +208,7 @@ msgstr "" "para esos vértices siguen disminuyendo además, por lo tanto agg_cost no se " "puede definir para ellos." -#: ../../build/doc/pgr_bellmanFord.rst:53 +#: ../../build/doc/pgr_bellmanFord.rst:54 msgid "" "When the start vertex and the end vertex are different, and there is no " "path. The agg_cost is :math:`\\infty`." @@ -214,7 +216,7 @@ msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay ruta. " "El agg_cost es :math:`\\infty`." -#: ../../build/doc/pgr_bellmanFord.rst:55 +#: ../../build/doc/pgr_bellmanFord.rst:56 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` are ignored." @@ -222,31 +224,31 @@ msgstr "" "Para fines de optimización, se omite cualquier valor duplicado en " "`start_vids` o `end_vids`." -#: ../../build/doc/pgr_bellmanFord.rst:57 +#: ../../build/doc/pgr_bellmanFord.rst:58 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_bellmanFord.rst:59 +#: ../../build/doc/pgr_bellmanFord.rst:60 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/pgr_bellmanFord.rst:60 +#: ../../build/doc/pgr_bellmanFord.rst:61 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/pgr_bellmanFord.rst:62 +#: ../../build/doc/pgr_bellmanFord.rst:63 msgid "Running time: :math:`O(| start\\_vids | * ( V * E))`" msgstr "Tiempo de ejecución :math:`O(| start\\_vids | * ( V * E))`" -#: ../../build/doc/pgr_bellmanFord.rst:66 +#: ../../build/doc/pgr_bellmanFord.rst:67 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_bellmanFord.rst:69 +#: ../../build/doc/pgr_bellmanFord.rst:70 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bellmanFord.rst:81 +#: ../../build/doc/pgr_bellmanFord.rst:82 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -254,24 +256,24 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bellmanFord.rst:88 +#: ../../build/doc/pgr_bellmanFord.rst:89 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "Del vértice :math:`2` al :`3` en un grafo **dirigido** " -#: ../../build/doc/pgr_bellmanFord.rst:98 +#: ../../build/doc/pgr_bellmanFord.rst:99 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_bellmanFord.rst:106 +#: ../../build/doc/pgr_bellmanFord.rst:107 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **no dirigido**" -#: ../../build/doc/pgr_bellmanFord.rst:116 +#: ../../build/doc/pgr_bellmanFord.rst:117 msgid "One to many" msgstr "Uno a muchos" -#: ../../build/doc/pgr_bellmanFord.rst:124 +#: ../../build/doc/pgr_bellmanFord.rst:125 msgid "" "From vertex :math:`2` to vertices :math:`\\{ 3, 5\\}` on an **undirected** " "graph" @@ -279,11 +281,11 @@ msgstr "" "Desde el vértice :math:`2` a los vértices :math:`\\{ 3, 5\\}` en un grafo " "**no dirigido**" -#: ../../build/doc/pgr_bellmanFord.rst:134 +#: ../../build/doc/pgr_bellmanFord.rst:135 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_bellmanFord.rst:142 +#: ../../build/doc/pgr_bellmanFord.rst:143 msgid "" "From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "graph" @@ -291,11 +293,11 @@ msgstr "" "De los vértices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "graph" -#: ../../build/doc/pgr_bellmanFord.rst:152 +#: ../../build/doc/pgr_bellmanFord.rst:153 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_bellmanFord.rst:160 +#: ../../build/doc/pgr_bellmanFord.rst:161 msgid "" "From vertices :math:`\\{2, 11\\}` to vertices :math:`\\{3, 5\\}` on an " "**undirected** graph" @@ -303,44 +305,44 @@ msgstr "" "De los vértices​ :math:`\\{2, 11\\}` a los vértices :math:`\\{3, 5\\}` en " "un grafo **no dirigido**" -#: ../../build/doc/pgr_bellmanFord.rst:167 +#: ../../build/doc/pgr_bellmanFord.rst:168 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_bellmanFord.rst:172 +#: ../../build/doc/pgr_bellmanFord.rst:173 msgid "Description of the parameters of the signatures" msgstr "" "Descripción de los parámetros de las firmas (declaraciones de funciones)" -#: ../../build/doc/pgr_bellmanFord.rst:174 +#: ../../build/doc/pgr_bellmanFord.rst:175 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bellmanFord.rst:174 +#: ../../build/doc/pgr_bellmanFord.rst:175 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_bellmanFord.rst:174 +#: ../../build/doc/pgr_bellmanFord.rst:175 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_bellmanFord.rst:176 +#: ../../build/doc/pgr_bellmanFord.rst:177 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_bellmanFord.rst:176 +#: ../../build/doc/pgr_bellmanFord.rst:177 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_bellmanFord.rst:176 +#: ../../build/doc/pgr_bellmanFord.rst:177 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." #: ../../build/doc/pgRouting-concepts.rst:10 -#: ../../build/doc/pgr_bellmanFord.rst:177 +#: ../../build/doc/pgr_bellmanFord.rst:178 msgid "**start_vid**" msgstr "**start_vid**" @@ -348,66 +350,66 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:16 #: ../../build/doc/pgRouting-concepts.rst:22 #: ../../build/doc/pgRouting-concepts.rst:23 -#: ../../build/doc/pgr_bellmanFord.rst:177 -#: ../../build/doc/pgr_bellmanFord.rst:179 +#: ../../build/doc/pgr_bellmanFord.rst:178 +#: ../../build/doc/pgr_bellmanFord.rst:180 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_bellmanFord.rst:177 +#: ../../build/doc/pgr_bellmanFord.rst:178 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_bellmanFord.rst:178 +#: ../../build/doc/pgr_bellmanFord.rst:179 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_bellmanFord.rst:178 -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:179 +#: ../../build/doc/pgr_bellmanFord.rst:181 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_bellmanFord.rst:178 +#: ../../build/doc/pgr_bellmanFord.rst:179 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:16 -#: ../../build/doc/pgr_bellmanFord.rst:179 +#: ../../build/doc/pgr_bellmanFord.rst:180 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_bellmanFord.rst:179 +#: ../../build/doc/pgr_bellmanFord.rst:180 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:181 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:181 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:182 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:182 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:182 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:182 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:183 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_bellmanFord.rst:188 +#: ../../build/doc/pgr_bellmanFord.rst:189 msgid "Inner Query" msgstr "Consulta interna" @@ -508,7 +510,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bellmanFord.rst:195 +#: ../../build/doc/pgr_bellmanFord.rst:196 msgid "Results Columns" msgstr "Columnas de Resultados" @@ -614,34 +616,27 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_bellmanFord.rst:202 +#: ../../build/doc/pgr_bellmanFord.rst:203 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_bellmanFord.rst:204 +#: ../../build/doc/pgr_bellmanFord.rst:205 #, python-format msgid "https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm" msgstr "https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm" -#: ../../build/doc/pgr_bellmanFord.rst:205 +#: ../../build/doc/pgr_bellmanFord.rst:206 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_bellmanFord.rst:208 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bellmanFord.rst:209 +#: ../../build/doc/pgr_bellmanFord.rst:210 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bellmanFord.rst:210 +#: ../../build/doc/pgr_bellmanFord.rst:211 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po b/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po index d7a722dfd34..e497559da77 100644 --- a/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po +++ b/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -78,13 +78,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_biconnectedComponents.rst:38 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_biconnectedComponents.rst:41 +#: ../../build/doc/pgr_biconnectedComponents.rst:42 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -96,12 +98,12 @@ msgstr "" #: ../../build/doc/components-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_biconnectedComponents.rst:46 -#: ../../build/doc/pgr_biconnectedComponents.rst:107 +#: ../../build/doc/pgr_biconnectedComponents.rst:47 +#: ../../build/doc/pgr_biconnectedComponents.rst:108 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_biconnectedComponents.rst:48 +#: ../../build/doc/pgr_biconnectedComponents.rst:49 msgid "" "The biconnected components of an undirected graph are the maximal subsets of" " vertices such that the removal of a vertex from particular component will " @@ -118,35 +120,35 @@ msgstr "" "biconectados, pero cada arista solo puede estar contenida en un único " "componente biconectado." -#: ../../build/doc/pgr_biconnectedComponents.rst:53 +#: ../../build/doc/pgr_biconnectedComponents.rst:54 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_biconnectedComponents.rst:55 +#: ../../build/doc/pgr_biconnectedComponents.rst:56 msgid "The signature is for an **undirected** graph." msgstr "La firma es para un grafo **no dirigido**." -#: ../../build/doc/pgr_biconnectedComponents.rst:56 +#: ../../build/doc/pgr_biconnectedComponents.rst:57 msgid "Components are described by edges." msgstr "Los componentes se describen mediante aristas." -#: ../../build/doc/pgr_biconnectedComponents.rst:57 +#: ../../build/doc/pgr_biconnectedComponents.rst:58 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_biconnectedComponents.rst:59 +#: ../../build/doc/pgr_biconnectedComponents.rst:60 msgid "`component` ascending." msgstr "`componente` ascendente." -#: ../../build/doc/pgr_biconnectedComponents.rst:60 +#: ../../build/doc/pgr_biconnectedComponents.rst:61 msgid "`edge` ascending." msgstr "`borde` ascendente." -#: ../../build/doc/pgr_biconnectedComponents.rst:62 +#: ../../build/doc/pgr_biconnectedComponents.rst:63 msgid "Running time: :math:`O(V + E)`" msgstr "Tiempo de ejecución: :math:`O(V + E)`" -#: ../../build/doc/pgr_biconnectedComponents.rst:65 +#: ../../build/doc/pgr_biconnectedComponents.rst:66 msgid "Signatures" msgstr "Firmas" @@ -154,11 +156,11 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_biconnectedComponents.rst:77 +#: ../../build/doc/pgr_biconnectedComponents.rst:78 msgid "The biconnected components of the graph" msgstr "Los componentes biconectados del grafo" -#: ../../build/doc/pgr_biconnectedComponents.rst:84 +#: ../../build/doc/pgr_biconnectedComponents.rst:85 msgid "Parameters" msgstr "Parámetros" @@ -168,7 +170,7 @@ msgstr "Parámetro" #: ../../build/doc/components-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_biconnectedComponents.rst:107 +#: ../../build/doc/pgr_biconnectedComponents.rst:108 msgid "Type" msgstr "Tipo" @@ -189,7 +191,7 @@ msgstr "``TEXT``" msgid "Inner query as described below." msgstr "Consulta interna como se describe a continuación." -#: ../../build/doc/pgr_biconnectedComponents.rst:91 +#: ../../build/doc/pgr_biconnectedComponents.rst:92 msgid "Inner query" msgstr "Consulta interna" @@ -197,7 +199,7 @@ msgstr "Consulta interna" msgid "edges SQL" msgstr "bordes SQL" -#: ../../build/doc/pgr_biconnectedComponents.rst:93 +#: ../../build/doc/pgr_biconnectedComponents.rst:94 msgid "" "an SQL query of an **undirected** graph, which should return a set of rows " "with the following columns:" @@ -206,7 +208,7 @@ msgstr "" "conjunto de filas con las siguientes columnas:" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_biconnectedComponents.rst:107 +#: ../../build/doc/pgr_biconnectedComponents.rst:108 msgid "Column" msgstr "Columna" @@ -221,7 +223,7 @@ msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_biconnectedComponents.rst:111 +#: ../../build/doc/pgr_biconnectedComponents.rst:112 msgid "Identifier of the edge." msgstr "Identificador de la arista." @@ -302,33 +304,33 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_biconnectedComponents.rst:100 +#: ../../build/doc/pgr_biconnectedComponents.rst:101 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_biconnectedComponents.rst:104 +#: ../../build/doc/pgr_biconnectedComponents.rst:105 msgid "Returns set of ``(seq, component, edge)``" msgstr "Devuelve el conjunto de ``(seq, component, edge)``" -#: ../../build/doc/pgr_biconnectedComponents.rst:109 +#: ../../build/doc/pgr_biconnectedComponents.rst:110 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_biconnectedComponents.rst:109 #: ../../build/doc/pgr_biconnectedComponents.rst:110 #: ../../build/doc/pgr_biconnectedComponents.rst:111 +#: ../../build/doc/pgr_biconnectedComponents.rst:112 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_biconnectedComponents.rst:109 +#: ../../build/doc/pgr_biconnectedComponents.rst:110 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/pgr_biconnectedComponents.rst:110 +#: ../../build/doc/pgr_biconnectedComponents.rst:111 msgid "**component**" msgstr "**component**" -#: ../../build/doc/pgr_biconnectedComponents.rst:110 +#: ../../build/doc/pgr_biconnectedComponents.rst:111 msgid "" "Component identifier. It is equal to the minimum edge identifier in the " "component." @@ -336,23 +338,23 @@ msgstr "" "Identificador del componente. Es igual al identificador de arista mínima en " "el componente." -#: ../../build/doc/pgr_biconnectedComponents.rst:111 +#: ../../build/doc/pgr_biconnectedComponents.rst:112 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/pgr_biconnectedComponents.rst:117 +#: ../../build/doc/pgr_biconnectedComponents.rst:118 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_biconnectedComponents.rst:119 +#: ../../build/doc/pgr_biconnectedComponents.rst:120 msgid ":doc:`components-family`" msgstr ":doc:`components-family`" -#: ../../build/doc/pgr_biconnectedComponents.rst:120 +#: ../../build/doc/pgr_biconnectedComponents.rst:121 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_biconnectedComponents.rst:121 +#: ../../build/doc/pgr_biconnectedComponents.rst:122 msgid "" "Boost: `Biconnected components " "`__" @@ -360,7 +362,7 @@ msgstr "" "Boost: `Componentes Biconectados " "`__" -#: ../../build/doc/pgr_biconnectedComponents.rst:122 +#: ../../build/doc/pgr_biconnectedComponents.rst:123 msgid "" "wikipedia: `Biconnected component " "`__" @@ -368,24 +370,14 @@ msgstr "" "wikipedia: `Componentes biconnectados " "`__" -#: ../../build/doc/pgr_biconnectedComponents.rst:125 +#: ../../build/doc/pgr_biconnectedComponents.rst:126 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_biconnectedComponents.rst:126 +#: ../../build/doc/pgr_biconnectedComponents.rst:127 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_biconnectedComponents.rst:127 +#: ../../build/doc/pgr_biconnectedComponents.rst:128 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "Inner query as described bellow." -#~ msgstr "Consulta interna como se describe a continuación." - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po b/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po index 09ba656b97b..b07bc1c720c 100644 --- a/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po +++ b/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -80,13 +80,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_boykovKolmogorov.rst:37 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_boykovKolmogorov.rst:40 +#: ../../build/doc/pgr_boykovKolmogorov.rst:41 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -103,7 +105,7 @@ msgstr "" "`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_boykovKolmogorov.rst:48 +#: ../../build/doc/pgr_boykovKolmogorov.rst:49 msgid "Description" msgstr "Descripción" @@ -172,19 +174,19 @@ msgstr "Mediante la agregación del flujo saliente de los orígenes" msgid "By aggregation of the incoming flow to the targets" msgstr "Mediante la agregación del flujo entrante a los destinos" -#: ../../build/doc/pgr_boykovKolmogorov.rst:54 +#: ../../build/doc/pgr_boykovKolmogorov.rst:55 msgid "Running time: Polynomial" msgstr "Tiempo de ejecución: Polinomio" -#: ../../build/doc/pgr_boykovKolmogorov.rst:57 +#: ../../build/doc/pgr_boykovKolmogorov.rst:58 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_boykovKolmogorov.rst:60 +#: ../../build/doc/pgr_boykovKolmogorov.rst:61 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_boykovKolmogorov.rst:74 +#: ../../build/doc/pgr_boykovKolmogorov.rst:75 msgid "One to One" msgstr "Uno a Uno" @@ -192,35 +194,35 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_boykovKolmogorov.rst:82 +#: ../../build/doc/pgr_boykovKolmogorov.rst:83 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "Del vértice :math:`6` al vértice :math:`11`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:92 +#: ../../build/doc/pgr_boykovKolmogorov.rst:93 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_boykovKolmogorov.rst:100 +#: ../../build/doc/pgr_boykovKolmogorov.rst:101 msgid "From vertex :math:`6` to vertices :math:`\\{1, 3, 11\\}`" msgstr "Del vértice :math:`6` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:110 +#: ../../build/doc/pgr_boykovKolmogorov.rst:111 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_boykovKolmogorov.rst:118 +#: ../../build/doc/pgr_boykovKolmogorov.rst:119 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "De los vértices vertices :math:`\\{6, 8, 12\\}` al vértice :math:`11`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:128 +#: ../../build/doc/pgr_boykovKolmogorov.rst:129 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_boykovKolmogorov.rst:136 +#: ../../build/doc/pgr_boykovKolmogorov.rst:137 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "De los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:143 +#: ../../build/doc/pgr_boykovKolmogorov.rst:144 msgid "Parameters" msgstr "Parámetros" @@ -290,7 +292,7 @@ msgstr "**destinos**" msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_boykovKolmogorov.rst:150 +#: ../../build/doc/pgr_boykovKolmogorov.rst:151 msgid "Inner query" msgstr "Consulta interna" @@ -376,7 +378,7 @@ msgstr "ANY-INTEGER" msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" -#: ../../build/doc/pgr_boykovKolmogorov.rst:157 +#: ../../build/doc/pgr_boykovKolmogorov.rst:158 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -427,33 +429,26 @@ msgid "" msgstr "" "Capacidad residual del arista en la dirección (``start_vid``, ``end_vid``)." -#: ../../build/doc/pgr_boykovKolmogorov.rst:164 +#: ../../build/doc/pgr_boykovKolmogorov.rst:165 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_boykovKolmogorov.rst:166 +#: ../../build/doc/pgr_boykovKolmogorov.rst:167 msgid ":doc:`flow-family`, :doc:`pgr_pushRelabel`, :doc:`pgr_edmondsKarp`" msgstr ":doc:`flow-family`, :doc:`pgr_pushRelabel`, :doc:`pgr_edmondsKarp`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:167 +#: ../../build/doc/pgr_boykovKolmogorov.rst:168 msgid "https://www.boost.org/libs/graph/doc/boykov_kolmogorov_max_flow.html" msgstr "https://www.boost.org/libs/graph/doc/boykov_kolmogorov_max_flow.html" -#: ../../build/doc/pgr_boykovKolmogorov.rst:170 +#: ../../build/doc/pgr_boykovKolmogorov.rst:171 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_boykovKolmogorov.rst:171 +#: ../../build/doc/pgr_boykovKolmogorov.rst:172 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:172 +#: ../../build/doc/pgr_boykovKolmogorov.rst:173 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_bridges.po b/locale/es/LC_MESSAGES/pgr_bridges.po index 3a02bc71bfa..3a72d1abf97 100644 --- a/locale/es/LC_MESSAGES/pgr_bridges.po +++ b/locale/es/LC_MESSAGES/pgr_bridges.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -66,13 +66,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_bridges.rst:33 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_bridges.rst:36 +#: ../../build/doc/pgr_bridges.rst:37 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -83,12 +85,12 @@ msgstr "" "`__" #: ../../build/doc/components-family.rst:4 -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_bridges.rst:42 -#: ../../build/doc/pgr_bridges.rst:99 +#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_bridges.rst:43 +#: ../../build/doc/pgr_bridges.rst:100 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_bridges.rst:44 +#: ../../build/doc/pgr_bridges.rst:45 msgid "" "A bridge is an edge of an undirected graph whose deletion increases its " "number of connected components. This implementation can only be used with an" @@ -98,27 +100,27 @@ msgstr "" "número de componentes conectados. Esta implementación solo se puede utilizar" " con un grafo no dirigido." -#: ../../build/doc/pgr_bridges.rst:48 +#: ../../build/doc/pgr_bridges.rst:49 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_bridges.rst:50 +#: ../../build/doc/pgr_bridges.rst:51 msgid "The signature is for an **undirected** graph." msgstr "La firma es para un grafo **no dirigido**." -#: ../../build/doc/pgr_bridges.rst:51 +#: ../../build/doc/pgr_bridges.rst:52 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_bridges.rst:53 +#: ../../build/doc/pgr_bridges.rst:54 msgid "`edge` ascending" msgstr "`edge` ascendente." -#: ../../build/doc/pgr_bridges.rst:55 +#: ../../build/doc/pgr_bridges.rst:56 msgid "Running time: :math:`O(E * (V + E))`" msgstr "Tiempo de ejecución: :math:`O(E * (V + E))`" -#: ../../build/doc/pgr_bridges.rst:58 +#: ../../build/doc/pgr_bridges.rst:59 msgid "Signatures" msgstr "Firmas" @@ -126,11 +128,11 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bridges.rst:70 +#: ../../build/doc/pgr_bridges.rst:71 msgid "The bridges of the graph" msgstr "Los puentes del grafo" -#: ../../build/doc/pgr_bridges.rst:77 +#: ../../build/doc/pgr_bridges.rst:78 msgid "Parameters" msgstr "Parámetros" @@ -139,7 +141,8 @@ msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/components-family.rst:4 -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_bridges.rst:99 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_bridges.rst:100 msgid "Type" msgstr "Tipo" @@ -160,7 +163,7 @@ msgstr "``TEXT``" msgid "Inner query as described below." msgstr "Consulta interna como se describe a continuación." -#: ../../build/doc/pgr_bridges.rst:84 +#: ../../build/doc/pgr_bridges.rst:85 msgid "Inner query" msgstr "Consulta interna" @@ -168,7 +171,7 @@ msgstr "Consulta interna" msgid "edges SQL" msgstr "bordes SQL" -#: ../../build/doc/pgr_bridges.rst:86 +#: ../../build/doc/pgr_bridges.rst:87 msgid "" "an SQL query of an **undirected** graph, which should return a set of rows " "with the following columns:" @@ -176,7 +179,8 @@ msgstr "" "Una consulta SQL de un grafo **no dirigido**, que debería devolver un " "conjunto de filas con las siguientes columnas:" -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_bridges.rst:99 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_bridges.rst:100 msgid "Column" msgstr "Columna" @@ -271,57 +275,47 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bridges.rst:93 +#: ../../build/doc/pgr_bridges.rst:94 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_bridges.rst:96 +#: ../../build/doc/pgr_bridges.rst:97 msgid "Returns set of ``(edge)``" msgstr "Devuelve el conjunto de ``(edge)``" -#: ../../build/doc/pgr_bridges.rst:101 +#: ../../build/doc/pgr_bridges.rst:102 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/pgr_bridges.rst:101 +#: ../../build/doc/pgr_bridges.rst:102 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_bridges.rst:101 +#: ../../build/doc/pgr_bridges.rst:102 msgid "Identifier of the edge that is a bridge." msgstr "Identificador del borde que es un puente." -#: ../../build/doc/pgr_bridges.rst:107 +#: ../../build/doc/pgr_bridges.rst:108 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_bridges.rst:109 +#: ../../build/doc/pgr_bridges.rst:110 #, python-format msgid "https://en.wikipedia.org/wiki/Bridge_%28graph_theory%29" msgstr "https://en.wikipedia.org/wiki/Bridge_%28graph_theory%29" -#: ../../build/doc/pgr_bridges.rst:110 +#: ../../build/doc/pgr_bridges.rst:111 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_bridges.rst:113 +#: ../../build/doc/pgr_bridges.rst:114 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bridges.rst:114 +#: ../../build/doc/pgr_bridges.rst:115 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bridges.rst:115 +#: ../../build/doc/pgr_bridges.rst:116 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "Inner query as described bellow." -#~ msgstr "Consulta interna como se describe a continuación." - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_chinesePostman.po b/locale/es/LC_MESSAGES/pgr_chinesePostman.po index c111237fb72..2775307e9f7 100644 --- a/locale/es/LC_MESSAGES/pgr_chinesePostman.po +++ b/locale/es/LC_MESSAGES/pgr_chinesePostman.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -123,16 +123,18 @@ msgstr "Soporte" #: ../../build/doc/pgr_chinesePostman.rst:28 msgid "" -"**Supported versions** current(`3.0 " -"`__)" +"**Supported versions** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actua​l(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/chinesePostmanProblem-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_chinesePostman.rst:32 -#: ../../build/doc/pgr_chinesePostman.rst:80 +#: ../../build/doc/pgr_chinesePostman.rst:33 +#: ../../build/doc/pgr_chinesePostman.rst:81 msgid "Description" msgstr "Descripción" @@ -152,11 +154,11 @@ msgstr "Tiempo de ejecución: :math:`O(E * (E + V * logV))`" msgid "Graph must be connected." msgstr "El grafo debe estar conectado." -#: ../../build/doc/pgr_chinesePostman.rst:38 +#: ../../build/doc/pgr_chinesePostman.rst:39 msgid "Returns ``EMPTY SET`` on a disconnected graph" msgstr "Devuelve ``EMPTY SET`` en un grafo desconectado" -#: ../../build/doc/pgr_chinesePostman.rst:41 +#: ../../build/doc/pgr_chinesePostman.rst:42 msgid "Signatures" msgstr "Firmas" @@ -164,19 +166,19 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_chinesePostman.rst:59 +#: ../../build/doc/pgr_chinesePostman.rst:60 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/chinesePostmanProblem-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_chinesePostman.rst:80 +#: ../../build/doc/pgr_chinesePostman.rst:81 msgid "Column" msgstr "Columna" #: ../../build/doc/chinesePostmanProblem-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_chinesePostman.rst:80 +#: ../../build/doc/pgr_chinesePostman.rst:81 msgid "Type" msgstr "Tipo" @@ -197,7 +199,7 @@ msgstr "``TEXT``" msgid "The edges SQL query as described in `Inner query`_." msgstr "La consulta SQL de aristas como se describe en `Inner query`_." -#: ../../build/doc/pgr_chinesePostman.rst:67 +#: ../../build/doc/pgr_chinesePostman.rst:68 msgid "Inner query" msgstr "Consulta interna" @@ -239,7 +241,7 @@ msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_chinesePostman.rst:85 +#: ../../build/doc/pgr_chinesePostman.rst:86 msgid "**cost**" msgstr "**costo**" @@ -300,44 +302,44 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_chinesePostman.rst:75 +#: ../../build/doc/pgr_chinesePostman.rst:76 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_chinesePostman.rst:77 +#: ../../build/doc/pgr_chinesePostman.rst:78 msgid "Returns set of ``(seq, node, edge, cost, agg_cost)``" msgstr "Devuelve un conjunto de ``(seq, node, edge, cost, agg_cost)``" -#: ../../build/doc/pgr_chinesePostman.rst:82 +#: ../../build/doc/pgr_chinesePostman.rst:83 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_chinesePostman.rst:82 +#: ../../build/doc/pgr_chinesePostman.rst:83 msgid "``INT``" msgstr "``INT``" -#: ../../build/doc/pgr_chinesePostman.rst:82 +#: ../../build/doc/pgr_chinesePostman.rst:83 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/pgr_chinesePostman.rst:83 +#: ../../build/doc/pgr_chinesePostman.rst:84 msgid "**node**" msgstr "**nodo**" -#: ../../build/doc/pgr_chinesePostman.rst:83 #: ../../build/doc/pgr_chinesePostman.rst:84 +#: ../../build/doc/pgr_chinesePostman.rst:85 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_chinesePostman.rst:83 +#: ../../build/doc/pgr_chinesePostman.rst:84 msgid "Identifier of the node in the path from ``start_vid`` to ``end_vid``." msgstr "Identificador del nodo en la ruta de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_chinesePostman.rst:84 +#: ../../build/doc/pgr_chinesePostman.rst:85 msgid "**edge**" msgstr "**arista**" -#: ../../build/doc/pgr_chinesePostman.rst:84 +#: ../../build/doc/pgr_chinesePostman.rst:85 msgid "" "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." @@ -345,12 +347,12 @@ msgstr "" "Identificador del borde utilizado para ir del ``nodo`` al siguiente nodo de " "la secuencia de ruta. ``-1`` para el último nodo de la ruta." -#: ../../build/doc/pgr_chinesePostman.rst:85 #: ../../build/doc/pgr_chinesePostman.rst:86 +#: ../../build/doc/pgr_chinesePostman.rst:87 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_chinesePostman.rst:85 +#: ../../build/doc/pgr_chinesePostman.rst:86 msgid "" "Cost to traverse from ``node`` using ``edge`` to the next node in the path " "sequence." @@ -358,37 +360,30 @@ msgstr "" "Costo de desplazamiento desde ``node`` usando `` edge`` hasta el siguiente " "nodo en la secuencia de ruta." -#: ../../build/doc/pgr_chinesePostman.rst:86 +#: ../../build/doc/pgr_chinesePostman.rst:87 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_chinesePostman.rst:86 +#: ../../build/doc/pgr_chinesePostman.rst:87 msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_chinesePostman.rst:91 +#: ../../build/doc/pgr_chinesePostman.rst:92 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_chinesePostman.rst:93 +#: ../../build/doc/pgr_chinesePostman.rst:94 msgid ":doc:`chinesePostmanProblem-family`" msgstr ":doc:`chinesePostmanProblem-family`" -#: ../../build/doc/pgr_chinesePostman.rst:96 +#: ../../build/doc/pgr_chinesePostman.rst:97 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_chinesePostman.rst:97 +#: ../../build/doc/pgr_chinesePostman.rst:98 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_chinesePostman.rst:98 +#: ../../build/doc/pgr_chinesePostman.rst:99 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_chinesePostmanCost.po b/locale/es/LC_MESSAGES/pgr_chinesePostmanCost.po index bc5c9496293..ec37cf7c730 100644 --- a/locale/es/LC_MESSAGES/pgr_chinesePostmanCost.po +++ b/locale/es/LC_MESSAGES/pgr_chinesePostmanCost.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -125,16 +125,18 @@ msgstr "Soporte" #: ../../build/doc/pgr_chinesePostmanCost.rst:28 msgid "" -"**Supported versions** current(`3.0 " -"`__)" +"**Supported versions** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/chinesePostmanProblem-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_chinesePostmanCost.rst:33 -#: ../../build/doc/pgr_chinesePostmanCost.rst:78 +#: ../../build/doc/pgr_chinesePostmanCost.rst:34 +#: ../../build/doc/pgr_chinesePostmanCost.rst:79 msgid "Description" msgstr "Descripción" @@ -154,11 +156,11 @@ msgstr "Tiempo de ejecución: :math:`O(E * (E + V * logV))`" msgid "Graph must be connected." msgstr "El grafo debe estar conectado." -#: ../../build/doc/pgr_chinesePostmanCost.rst:39 +#: ../../build/doc/pgr_chinesePostmanCost.rst:40 msgid "[TBD] Return value when the graph if disconnected" msgstr "[TBD] Valor devuelto cuando el grafo está desconectado" -#: ../../build/doc/pgr_chinesePostmanCost.rst:42 +#: ../../build/doc/pgr_chinesePostmanCost.rst:43 msgid "Signatures" msgstr "Firmas" @@ -166,7 +168,7 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_chinesePostmanCost.rst:59 +#: ../../build/doc/pgr_chinesePostmanCost.rst:60 msgid "Parameters" msgstr "Parámetros" @@ -177,7 +179,7 @@ msgstr "Columna" #: ../../build/doc/chinesePostmanProblem-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_chinesePostmanCost.rst:78 +#: ../../build/doc/pgr_chinesePostmanCost.rst:79 msgid "Type" msgstr "Tipo" @@ -198,7 +200,7 @@ msgstr "``TEXT``" msgid "The edges SQL query as described in `Inner query`_." msgstr "La consulta SQL de aristas como se describe en `Inner query`_." -#: ../../build/doc/pgr_chinesePostmanCost.rst:67 +#: ../../build/doc/pgr_chinesePostmanCost.rst:68 msgid "Inner query" msgstr "Consulta interna" @@ -300,41 +302,34 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_chinesePostmanCost.rst:75 +#: ../../build/doc/pgr_chinesePostmanCost.rst:76 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_chinesePostmanCost.rst:80 +#: ../../build/doc/pgr_chinesePostmanCost.rst:81 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_chinesePostmanCost.rst:80 +#: ../../build/doc/pgr_chinesePostmanCost.rst:81 msgid "Minimum costs of a circuit path." msgstr "Costes mínimos de una trayectoria de circuito." -#: ../../build/doc/pgr_chinesePostmanCost.rst:84 +#: ../../build/doc/pgr_chinesePostmanCost.rst:85 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_chinesePostmanCost.rst:86 +#: ../../build/doc/pgr_chinesePostmanCost.rst:87 msgid ":doc:`chinesePostmanProblem-family`" msgstr ":doc:`chinesePostmanProblem-family`" -#: ../../build/doc/pgr_chinesePostmanCost.rst:89 +#: ../../build/doc/pgr_chinesePostmanCost.rst:90 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_chinesePostmanCost.rst:90 +#: ../../build/doc/pgr_chinesePostmanCost.rst:91 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_chinesePostmanCost.rst:91 +#: ../../build/doc/pgr_chinesePostmanCost.rst:92 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_connectedComponents.po b/locale/es/LC_MESSAGES/pgr_connectedComponents.po index 1e19c91d30f..43fc92b56e8 100644 --- a/locale/es/LC_MESSAGES/pgr_connectedComponents.po +++ b/locale/es/LC_MESSAGES/pgr_connectedComponents.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -78,13 +78,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_connectedComponents.rst:37 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actua​l(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_connectedComponents.rst:40 +#: ../../build/doc/pgr_connectedComponents.rst:41 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -96,12 +98,12 @@ msgstr "" #: ../../build/doc/components-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_connectedComponents.rst:45 -#: ../../build/doc/pgr_connectedComponents.rst:106 +#: ../../build/doc/pgr_connectedComponents.rst:46 +#: ../../build/doc/pgr_connectedComponents.rst:107 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_connectedComponents.rst:47 +#: ../../build/doc/pgr_connectedComponents.rst:48 msgid "" "A connected component of an undirected graph is a set of vertices that are " "all reachable from each other." @@ -109,35 +111,35 @@ msgstr "" "Un componente conectado de un gráfico no direccionado es un conjunto de " "vértices que son todos accesibles entre sí." -#: ../../build/doc/pgr_connectedComponents.rst:50 +#: ../../build/doc/pgr_connectedComponents.rst:51 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_connectedComponents.rst:52 +#: ../../build/doc/pgr_connectedComponents.rst:53 msgid "The signature is for an **undirected** graph." msgstr "La firma es para un grafo **no dirigido**." -#: ../../build/doc/pgr_connectedComponents.rst:53 +#: ../../build/doc/pgr_connectedComponents.rst:54 msgid "Components are described by vertices" msgstr "Los componentes se describen mediante vértices" -#: ../../build/doc/pgr_connectedComponents.rst:55 +#: ../../build/doc/pgr_connectedComponents.rst:56 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_connectedComponents.rst:57 +#: ../../build/doc/pgr_connectedComponents.rst:58 msgid "`component` ascending" msgstr "`component` ascendente." -#: ../../build/doc/pgr_connectedComponents.rst:58 +#: ../../build/doc/pgr_connectedComponents.rst:59 msgid "`node` ascending" msgstr "`node` ascendente." -#: ../../build/doc/pgr_connectedComponents.rst:60 +#: ../../build/doc/pgr_connectedComponents.rst:61 msgid "Running time: :math:`O(V + E)`" msgstr "Tiempo de ejecución: :math:`O(V + E)`" -#: ../../build/doc/pgr_connectedComponents.rst:63 +#: ../../build/doc/pgr_connectedComponents.rst:64 msgid "Signatures" msgstr "Firmas" @@ -145,11 +147,11 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_connectedComponents.rst:75 +#: ../../build/doc/pgr_connectedComponents.rst:76 msgid "The connected components of the graph" msgstr "Los componentes conectados del grafo" -#: ../../build/doc/pgr_connectedComponents.rst:82 +#: ../../build/doc/pgr_connectedComponents.rst:83 msgid "Parameters" msgstr "Parámetros" @@ -159,7 +161,7 @@ msgstr "Parámetro" #: ../../build/doc/components-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_connectedComponents.rst:106 +#: ../../build/doc/pgr_connectedComponents.rst:107 msgid "Type" msgstr "Tipo" @@ -180,7 +182,7 @@ msgstr "``TEXT``" msgid "Inner query as described below." msgstr "Consulta interna como se describe a continuación." -#: ../../build/doc/pgr_connectedComponents.rst:89 +#: ../../build/doc/pgr_connectedComponents.rst:90 msgid "Inner query" msgstr "Consulta interna" @@ -188,7 +190,7 @@ msgstr "Consulta interna" msgid "edges SQL" msgstr "bordes SQL" -#: ../../build/doc/pgr_connectedComponents.rst:91 +#: ../../build/doc/pgr_connectedComponents.rst:92 msgid "" "an SQL query of an **undirected** graph, which should return a set of rows " "with the following columns:" @@ -197,7 +199,7 @@ msgstr "" "conjunto de filas con las siguientes columnas:" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_connectedComponents.rst:106 +#: ../../build/doc/pgr_connectedComponents.rst:107 msgid "Column" msgstr "Columna" @@ -292,33 +294,33 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_connectedComponents.rst:99 +#: ../../build/doc/pgr_connectedComponents.rst:100 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_connectedComponents.rst:103 +#: ../../build/doc/pgr_connectedComponents.rst:104 msgid "Returns set of ``(seq, component, node)``" msgstr "Devuelve el conjunto de``(seq, component, node)``" -#: ../../build/doc/pgr_connectedComponents.rst:108 +#: ../../build/doc/pgr_connectedComponents.rst:109 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_connectedComponents.rst:108 #: ../../build/doc/pgr_connectedComponents.rst:109 #: ../../build/doc/pgr_connectedComponents.rst:110 +#: ../../build/doc/pgr_connectedComponents.rst:111 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_connectedComponents.rst:108 +#: ../../build/doc/pgr_connectedComponents.rst:109 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/pgr_connectedComponents.rst:109 +#: ../../build/doc/pgr_connectedComponents.rst:110 msgid "**component**" msgstr "**component**" -#: ../../build/doc/pgr_connectedComponents.rst:109 +#: ../../build/doc/pgr_connectedComponents.rst:110 msgid "" "Component identifier. It is equal to the minimum node identifier in the " "component." @@ -326,27 +328,27 @@ msgstr "" "Identificador del componente. Es igual al identificador de nodo mínimo en el" " componente." -#: ../../build/doc/pgr_connectedComponents.rst:110 +#: ../../build/doc/pgr_connectedComponents.rst:111 msgid "**node**" msgstr "**node**" -#: ../../build/doc/pgr_connectedComponents.rst:110 +#: ../../build/doc/pgr_connectedComponents.rst:111 msgid "Identifier of the vertex that belongs to **component**." msgstr "Identificador del vértice que pertenece a **componente**." -#: ../../build/doc/pgr_connectedComponents.rst:116 +#: ../../build/doc/pgr_connectedComponents.rst:117 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_connectedComponents.rst:118 +#: ../../build/doc/pgr_connectedComponents.rst:119 msgid ":doc:`components-family`" msgstr ":doc:`components-family`" -#: ../../build/doc/pgr_connectedComponents.rst:119 +#: ../../build/doc/pgr_connectedComponents.rst:120 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_connectedComponents.rst:120 +#: ../../build/doc/pgr_connectedComponents.rst:121 msgid "" "Boost: `Connected components " "`__" @@ -354,7 +356,7 @@ msgstr "" "Boost: `Componente conectado " "`__" -#: ../../build/doc/pgr_connectedComponents.rst:121 +#: ../../build/doc/pgr_connectedComponents.rst:122 msgid "" "wikipedia: `Connected component " "`__" @@ -362,24 +364,14 @@ msgstr "" "wikipedia: `Componente conectado " "`__" -#: ../../build/doc/pgr_connectedComponents.rst:124 +#: ../../build/doc/pgr_connectedComponents.rst:125 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_connectedComponents.rst:125 +#: ../../build/doc/pgr_connectedComponents.rst:126 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_connectedComponents.rst:126 +#: ../../build/doc/pgr_connectedComponents.rst:127 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "Inner query as described bellow." -#~ msgstr "Consulta interna como se describe a continuación." - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_contraction.po b/locale/es/LC_MESSAGES/pgr_contraction.po index 5cccc5a455a..c82e5f04677 100644 --- a/locale/es/LC_MESSAGES/pgr_contraction.po +++ b/locale/es/LC_MESSAGES/pgr_contraction.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -78,13 +78,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_contraction.rst:35 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actua​l(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_contraction.rst:38 +#: ../../build/doc/pgr_contraction.rst:39 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -99,14 +101,14 @@ msgstr "" "`__" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_contraction.rst:45 -#: ../../build/doc/pgr_contraction.rst:98 -#: ../../build/doc/pgr_contraction.rst:110 -#: ../../build/doc/pgr_contraction.rst:133 +#: ../../build/doc/pgr_contraction.rst:46 +#: ../../build/doc/pgr_contraction.rst:99 +#: ../../build/doc/pgr_contraction.rst:111 +#: ../../build/doc/pgr_contraction.rst:134 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_contraction.rst:47 +#: ../../build/doc/pgr_contraction.rst:48 msgid "" "Contraction reduces the size of the graph by removing some of the vertices " "and edges and, for example, might add edges that represent a sequence of " @@ -117,67 +119,67 @@ msgstr "" "secuencia de aristas originales disminuyendo el tiempo total y el espacio " "utilizados en los algoritmos de grafo." -#: ../../build/doc/pgr_contraction.rst:71 +#: ../../build/doc/pgr_contraction.rst:72 msgid "The main Characteristics are:" msgstr "Las características principales son:" -#: ../../build/doc/pgr_contraction.rst:52 +#: ../../build/doc/pgr_contraction.rst:53 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/pgr_contraction.rst:53 +#: ../../build/doc/pgr_contraction.rst:54 msgid "Does not return the full contracted graph" msgstr "No devuelve el grafo completo contraído" -#: ../../build/doc/pgr_contraction.rst:55 +#: ../../build/doc/pgr_contraction.rst:56 msgid "Only changes on the graph are returned" msgstr "Solo se devuelven los cambios en el gráfico" -#: ../../build/doc/pgr_contraction.rst:57 +#: ../../build/doc/pgr_contraction.rst:58 msgid "Currnetly there are two types of contraction methods" msgstr "Actualmente hay dos tipos de métodos de contracción" -#: ../../build/doc/pgr_contraction.rst:59 +#: ../../build/doc/pgr_contraction.rst:60 msgid "Dead End Contraction" msgstr "Contracción Sin Salida" -#: ../../build/doc/pgr_contraction.rst:60 +#: ../../build/doc/pgr_contraction.rst:61 msgid "Linear Contraction" msgstr "Contracción Lineal" -#: ../../build/doc/pgr_contraction.rst:62 +#: ../../build/doc/pgr_contraction.rst:63 msgid "The returned values include" msgstr "Los valores devueltos incluyen" -#: ../../build/doc/pgr_contraction.rst:64 +#: ../../build/doc/pgr_contraction.rst:65 msgid "the added edges by linear contraction." msgstr "las aristas añadidas por contracción lineal." -#: ../../build/doc/pgr_contraction.rst:65 +#: ../../build/doc/pgr_contraction.rst:66 msgid "the modified vertices by dead end contraction." msgstr "los vértices modificados por contracción sin salida." -#: ../../build/doc/pgr_contraction.rst:67 +#: ../../build/doc/pgr_contraction.rst:68 msgid "The returned values are ordered as follows:" msgstr "Los valores devueltos se ordenan de la siguiente manera:" -#: ../../build/doc/pgr_contraction.rst:69 +#: ../../build/doc/pgr_contraction.rst:70 msgid "column `id` ascending when type = `v`" msgstr "columna `id` ascendente cuando el tipo = `v`" -#: ../../build/doc/pgr_contraction.rst:70 +#: ../../build/doc/pgr_contraction.rst:71 msgid "column `id` descending when type = `e`" msgstr "columna `id` descendente cuando el tipo = `e`" -#: ../../build/doc/pgr_contraction.rst:74 +#: ../../build/doc/pgr_contraction.rst:75 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_contraction.rst:77 +#: ../../build/doc/pgr_contraction.rst:78 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_contraction.rst:78 +#: ../../build/doc/pgr_contraction.rst:79 msgid "The pgr_contraction function has the following signature:" msgstr "La función pgr_contraction tiene la siguiente firma:" @@ -185,7 +187,7 @@ msgstr "La función pgr_contraction tiene la siguiente firma:" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_contraction.rst:88 +#: ../../build/doc/pgr_contraction.rst:89 msgid "" "Making a dead end contraction and a linear contraction with vertex 2 " "forbidden from being contracted" @@ -193,92 +195,92 @@ msgstr "" "Hacer una contracción sin salida y una contracción lineal con el vértice 2 " "cuya contracción está prohibida" -#: ../../build/doc/pgr_contraction.rst:95 +#: ../../build/doc/pgr_contraction.rst:96 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_contraction.rst:98 -#: ../../build/doc/pgr_contraction.rst:110 -#: ../../build/doc/pgr_contraction.rst:133 +#: ../../build/doc/pgr_contraction.rst:99 +#: ../../build/doc/pgr_contraction.rst:111 +#: ../../build/doc/pgr_contraction.rst:134 msgid "Column" msgstr "Columna" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_contraction.rst:98 -#: ../../build/doc/pgr_contraction.rst:110 -#: ../../build/doc/pgr_contraction.rst:133 +#: ../../build/doc/pgr_contraction.rst:99 +#: ../../build/doc/pgr_contraction.rst:111 +#: ../../build/doc/pgr_contraction.rst:134 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_contraction.rst:100 +#: ../../build/doc/pgr_contraction.rst:101 msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/pgr_contraction.rst:100 -#: ../../build/doc/pgr_contraction.rst:135 +#: ../../build/doc/pgr_contraction.rst:101 +#: ../../build/doc/pgr_contraction.rst:136 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_contraction.rst:100 +#: ../../build/doc/pgr_contraction.rst:101 msgid "SQL query as described in `Inner query`_" msgstr "Consulta SQL como se describe en `Inner query`_" -#: ../../build/doc/pgr_contraction.rst:101 +#: ../../build/doc/pgr_contraction.rst:102 msgid "**Ccontraction Order**" msgstr "**Orden de Contracciones**" -#: ../../build/doc/pgr_contraction.rst:101 -#: ../../build/doc/pgr_contraction.rst:112 +#: ../../build/doc/pgr_contraction.rst:102 +#: ../../build/doc/pgr_contraction.rst:113 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_contraction.rst:102 +#: ../../build/doc/pgr_contraction.rst:103 msgid "Ordered contraction operations." msgstr "Operaciones de contracción ordenadas." -#: ../../build/doc/pgr_contraction.rst:102 +#: ../../build/doc/pgr_contraction.rst:103 msgid "1 = Dead end contraction" msgstr "1 = Contracción sin salida" -#: ../../build/doc/pgr_contraction.rst:103 +#: ../../build/doc/pgr_contraction.rst:104 msgid "2 = Linear contraction" msgstr "2 - Contracción lineal" -#: ../../build/doc/pgr_contraction.rst:107 +#: ../../build/doc/pgr_contraction.rst:108 msgid "Optional Parameters" msgstr "Parámetros opcionales" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_contraction.rst:110 +#: ../../build/doc/pgr_contraction.rst:111 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_contraction.rst:112 +#: ../../build/doc/pgr_contraction.rst:113 msgid "**forbidden_vertices**" msgstr "**forbidden_vertices**" -#: ../../build/doc/pgr_contraction.rst:112 +#: ../../build/doc/pgr_contraction.rst:113 msgid "Empty" msgstr "Vacío" -#: ../../build/doc/pgr_contraction.rst:112 +#: ../../build/doc/pgr_contraction.rst:113 msgid "Identifiers of vertices forbidden from contraction." msgstr "Identificadores de vértices prohibidos de contracción." -#: ../../build/doc/pgr_contraction.rst:113 +#: ../../build/doc/pgr_contraction.rst:114 msgid "**max_cycles**" msgstr "**max_cycles**" -#: ../../build/doc/pgr_contraction.rst:113 +#: ../../build/doc/pgr_contraction.rst:114 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/pgr_contraction.rst:113 +#: ../../build/doc/pgr_contraction.rst:114 msgid ":math:`1`" msgstr ":math:`1`" -#: ../../build/doc/pgr_contraction.rst:113 +#: ../../build/doc/pgr_contraction.rst:114 msgid "" "Number of times the contraction operations on `contraction_order` will be " "performed." @@ -286,32 +288,32 @@ msgstr "" "Número de veces que se realizarán las operaciones de contracción en " "`contraction_order` " -#: ../../build/doc/pgr_contraction.rst:114 +#: ../../build/doc/pgr_contraction.rst:115 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_contraction.rst:114 +#: ../../build/doc/pgr_contraction.rst:115 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_contraction.rst:114 +#: ../../build/doc/pgr_contraction.rst:115 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_contraction.rst:114 +#: ../../build/doc/pgr_contraction.rst:115 msgid "When ``true`` the graph is considered as `Directed`." msgstr "En caso de ''true'' el grafo se considera como `Dirigido`." -#: ../../build/doc/pgr_contraction.rst:115 +#: ../../build/doc/pgr_contraction.rst:116 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_contraction.rst:119 +#: ../../build/doc/pgr_contraction.rst:120 msgid "Inner query" msgstr "Consulta interna" #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_contraction.rst:138 +#: ../../build/doc/pgr_contraction.rst:139 msgid "**id**" msgstr "**id**" @@ -326,7 +328,7 @@ msgid "Identifier of the edge." msgstr "Identificador de la arista." #: ../../build/doc/pgRouting-concepts.rst:7 -#: ../../build/doc/pgr_contraction.rst:148 +#: ../../build/doc/pgr_contraction.rst:149 msgid "**source**" msgstr "**origen**" @@ -335,7 +337,7 @@ msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_contraction.rst:150 +#: ../../build/doc/pgr_contraction.rst:151 msgid "**target**" msgstr "**objetivo**" @@ -344,7 +346,7 @@ msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_contraction.rst:152 +#: ../../build/doc/pgr_contraction.rst:153 msgid "**cost**" msgstr "**costo**" @@ -405,63 +407,63 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_contraction.rst:126 +#: ../../build/doc/pgr_contraction.rst:127 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_contraction.rst:128 +#: ../../build/doc/pgr_contraction.rst:129 msgid "RETURNS SETOF (type, id, contracted_vertices, source, target, cost)" msgstr "" "DEVOLUCION DE CONJUNTOS (type, id, contracted_vertices, source, target, " "cost)" -#: ../../build/doc/pgr_contraction.rst:130 +#: ../../build/doc/pgr_contraction.rst:131 msgid "The function returns a single row. The columns of the row are:" msgstr "La función devuelve una sola fila. Las columnas de la fila son:" -#: ../../build/doc/pgr_contraction.rst:135 +#: ../../build/doc/pgr_contraction.rst:136 msgid "**type**" msgstr "**tipo**" -#: ../../build/doc/pgr_contraction.rst:136 +#: ../../build/doc/pgr_contraction.rst:137 msgid "Type of the `id`." msgstr "Tipo del `id`." -#: ../../build/doc/pgr_contraction.rst:136 +#: ../../build/doc/pgr_contraction.rst:137 msgid "**'v'** when the row is a vertex." msgstr "**'v'** cuando la fila es un vértice." -#: ../../build/doc/pgr_contraction.rst:137 +#: ../../build/doc/pgr_contraction.rst:138 msgid "**'e'** when the row is an edge." msgstr "**'e'** cuando la fila es una arista." -#: ../../build/doc/pgr_contraction.rst:138 -#: ../../build/doc/pgr_contraction.rst:148 -#: ../../build/doc/pgr_contraction.rst:150 +#: ../../build/doc/pgr_contraction.rst:139 +#: ../../build/doc/pgr_contraction.rst:149 +#: ../../build/doc/pgr_contraction.rst:151 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_contraction.rst:145 +#: ../../build/doc/pgr_contraction.rst:146 msgid "All numbers on this column are ``DISTINCT``" msgstr "Todos los números de esta columna son ''DISTINTOS''" -#: ../../build/doc/pgr_contraction.rst:139 +#: ../../build/doc/pgr_contraction.rst:140 msgid "When ``type`` = **'v'**." msgstr "En caso de ``type`` = **'v'**." -#: ../../build/doc/pgr_contraction.rst:141 +#: ../../build/doc/pgr_contraction.rst:142 msgid "Identifier of the modified vertex." msgstr "Identificador del vértice modificado." -#: ../../build/doc/pgr_contraction.rst:142 +#: ../../build/doc/pgr_contraction.rst:143 msgid "When ``type`` = **'e'**." msgstr "En caso de ``type`` = **'e'**." -#: ../../build/doc/pgr_contraction.rst:144 +#: ../../build/doc/pgr_contraction.rst:145 msgid "Decreasing sequence starting from **-1**." msgstr "Disminución de la secuencia a partir de **-1**." -#: ../../build/doc/pgr_contraction.rst:146 +#: ../../build/doc/pgr_contraction.rst:147 msgid "" "Representing a pseudo `id` as is not incorporated in the set of original " "edges." @@ -469,25 +471,25 @@ msgstr "" "Representando un pseudo `id` como no incorporado en el conjunto de aristas " "originales." -#: ../../build/doc/pgr_contraction.rst:147 +#: ../../build/doc/pgr_contraction.rst:148 msgid "**contracted_vertices**" msgstr "**contracted_vertices**" -#: ../../build/doc/pgr_contraction.rst:147 +#: ../../build/doc/pgr_contraction.rst:148 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_contraction.rst:147 +#: ../../build/doc/pgr_contraction.rst:148 msgid "Array of contracted vertex identifiers." msgstr "Arreglo de identificadores de vértices contraídos." -#: ../../build/doc/pgr_contraction.rst:148 -#: ../../build/doc/pgr_contraction.rst:150 -#: ../../build/doc/pgr_contraction.rst:152 +#: ../../build/doc/pgr_contraction.rst:149 +#: ../../build/doc/pgr_contraction.rst:151 +#: ../../build/doc/pgr_contraction.rst:153 msgid "When ``type`` = **'v'**: :math:`-1`" msgstr "En caso de ``type`` = **'v'**: :math:`-1`" -#: ../../build/doc/pgr_contraction.rst:149 +#: ../../build/doc/pgr_contraction.rst:150 msgid "" "When ``type`` = **'e'**: Identifier of the source vertex of the current edge" " (``source``, ``target``)." @@ -495,7 +497,7 @@ msgstr "" "En caso de ``type`` = **'e'**: Identificador del vétice de la arista actual" " (``source``, ``target``)." -#: ../../build/doc/pgr_contraction.rst:151 +#: ../../build/doc/pgr_contraction.rst:152 msgid "" "When ``type`` = **'e'**: Identifier of the target vertex of the current edge" " (``source``, ``target``)." @@ -503,11 +505,11 @@ msgstr "" "En caso de ``type`` = **'e'**: Identificador del vértice objetivo de la " "arista actual (``source``, ``target``)." -#: ../../build/doc/pgr_contraction.rst:152 +#: ../../build/doc/pgr_contraction.rst:153 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_contraction.rst:153 +#: ../../build/doc/pgr_contraction.rst:154 msgid "" "When ``type`` = **'e'**: Weight of the current edge (``source``, " "``target``)." @@ -515,41 +517,34 @@ msgstr "" "En caso de ``type`` = **'e'**: Peso de la arista actual (``source``, " "``target``)." -#: ../../build/doc/pgr_contraction.rst:157 +#: ../../build/doc/pgr_contraction.rst:158 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_contraction.rst:159 +#: ../../build/doc/pgr_contraction.rst:160 msgid "Only dead end contraction" msgstr "Sólo contracción sin salida" -#: ../../build/doc/pgr_contraction.rst:165 +#: ../../build/doc/pgr_contraction.rst:166 msgid "Only linear contraction" msgstr "Sólo contracción lineal" -#: ../../build/doc/pgr_contraction.rst:172 +#: ../../build/doc/pgr_contraction.rst:173 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_contraction.rst:174 +#: ../../build/doc/pgr_contraction.rst:175 msgid ":doc:`contraction-family`" msgstr ":doc:`contraction-family`" -#: ../../build/doc/pgr_contraction.rst:177 +#: ../../build/doc/pgr_contraction.rst:178 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_contraction.rst:178 +#: ../../build/doc/pgr_contraction.rst:179 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_contraction.rst:179 +#: ../../build/doc/pgr_contraction.rst:180 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_createTopology.po b/locale/es/LC_MESSAGES/pgr_createTopology.po index 4356839f4dc..d78079eac8d 100644 --- a/locale/es/LC_MESSAGES/pgr_createTopology.po +++ b/locale/es/LC_MESSAGES/pgr_createTopology.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -10,9 +10,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -57,15 +57,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_createTopology.rst:24 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actua​l(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_createTopology.rst:28 +#: ../../build/doc/pgr_createTopology.rst:29 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -89,16 +91,16 @@ msgstr "" " `2.0 " "`__" -#: ../../build/doc/pgr_createTopology.rst:37 +#: ../../build/doc/pgr_createTopology.rst:38 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_createTopology.rst:39 -#: ../../build/doc/pgr_createTopology.rst:83 +#: ../../build/doc/pgr_createTopology.rst:40 +#: ../../build/doc/pgr_createTopology.rst:84 msgid "The function returns:" msgstr "La función devuelve:" -#: ../../build/doc/pgr_createTopology.rst:41 +#: ../../build/doc/pgr_createTopology.rst:42 msgid "" "``OK`` after the network topology has been built and the vertices table " "created." @@ -106,20 +108,20 @@ msgstr "" "``OK`` después de que se ha construido la topología de red y la tabla de " "vértices." -#: ../../build/doc/pgr_createTopology.rst:42 +#: ../../build/doc/pgr_createTopology.rst:43 msgid "``FAIL`` when the network topology was not built due to an error." msgstr "" "``FAIL`` cuando el la red topológica no se no se completó debido a un error." -#: ../../build/doc/pgr_createTopology.rst:45 +#: ../../build/doc/pgr_createTopology.rst:46 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_createTopology.rst:55 +#: ../../build/doc/pgr_createTopology.rst:56 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_createTopology.rst:57 +#: ../../build/doc/pgr_createTopology.rst:58 msgid "The topology creation function accepts the following parameters:" msgstr "" "La función de creación de topología requiere los siguientes parámetros:" @@ -128,7 +130,7 @@ msgstr "" msgid "edge_table" msgstr "edge_table" -#: ../../build/doc/pgr_createTopology.rst:59 +#: ../../build/doc/pgr_createTopology.rst:60 msgid "``text`` Network table name. (may contain the schema name AS well)" msgstr "``text`` La tabla de la red. (puede contener el nombre del esquema)" @@ -136,7 +138,7 @@ msgstr "``text`` La tabla de la red. (puede contener el nombre del esquema)" msgid "tolerance" msgstr "tolerancia" -#: ../../build/doc/pgr_createTopology.rst:60 +#: ../../build/doc/pgr_createTopology.rst:61 msgid "" "``float8`` Snapping tolerance of disconnected edges. (in projection unit)" msgstr "" @@ -147,7 +149,7 @@ msgstr "" msgid "the_geom" msgstr "the_geom" -#: ../../build/doc/pgr_createTopology.rst:61 +#: ../../build/doc/pgr_createTopology.rst:62 msgid "" "``text`` Geometry column name of the network table. Default value is " "``the_geom``." @@ -159,7 +161,7 @@ msgstr "" msgid "id" msgstr "id" -#: ../../build/doc/pgr_createTopology.rst:62 +#: ../../build/doc/pgr_createTopology.rst:63 msgid "" "``text`` Primary key column name of the network table. Default value is " "``id``." @@ -171,7 +173,7 @@ msgstr "" msgid "source" msgstr "source" -#: ../../build/doc/pgr_createTopology.rst:63 +#: ../../build/doc/pgr_createTopology.rst:64 msgid "" "``text`` Source column name of the network table. Default value is " "``source``." @@ -183,7 +185,7 @@ msgstr "" msgid "target" msgstr "target" -#: ../../build/doc/pgr_createTopology.rst:64 +#: ../../build/doc/pgr_createTopology.rst:65 msgid "" "``text`` Target column name of the network table. Default value is " "``target``." @@ -195,7 +197,7 @@ msgstr "" msgid "rows_where" msgstr "rows_where" -#: ../../build/doc/pgr_createTopology.rst:65 +#: ../../build/doc/pgr_createTopology.rst:66 msgid "" "``text`` Condition to SELECT a subset or rows. Default value is ``true`` " "to indicate all rows that where ``source`` or ``target`` have a null value, " @@ -209,25 +211,25 @@ msgstr "" msgid "clean" msgstr "limpio" -#: ../../build/doc/pgr_createTopology.rst:67 +#: ../../build/doc/pgr_createTopology.rst:68 msgid "``boolean`` Clean any previous topology. Default value is ``false``." msgstr "" "``boolean`` Limpie cualquier topología previa. El valor predeterminado es " "``false``." -#: ../../build/doc/pgr_createTopology.rst:71 +#: ../../build/doc/pgr_createTopology.rst:72 msgid "The ``edge_table`` will be affected" msgstr "La ``edge_table`` se verán afectados" -#: ../../build/doc/pgr_createTopology.rst:73 +#: ../../build/doc/pgr_createTopology.rst:74 msgid "The ``source`` column values will change." msgstr "Los valores de la columna``source`` va a cambiar." -#: ../../build/doc/pgr_createTopology.rst:74 +#: ../../build/doc/pgr_createTopology.rst:75 msgid "The ``target`` column values will change." msgstr "Cambian los valores de la columna``target``." -#: ../../build/doc/pgr_createTopology.rst:76 +#: ../../build/doc/pgr_createTopology.rst:77 msgid "" "An index will be created, if it doesn't exists, to speed up the process to " "the following columns:" @@ -235,35 +237,35 @@ msgstr "" "Un índice será creado, si no existe, para acelerar el proceso para las " "columnas siguientes:" -#: ../../build/doc/pgr_createTopology.rst:78 +#: ../../build/doc/pgr_createTopology.rst:79 msgid "``id``" msgstr "``id``" -#: ../../build/doc/pgr_createTopology.rst:79 +#: ../../build/doc/pgr_createTopology.rst:80 msgid "``the_geom``" msgstr "``the_geom``" -#: ../../build/doc/pgr_createTopology.rst:80 +#: ../../build/doc/pgr_createTopology.rst:81 msgid "``source``" msgstr "``source``" -#: ../../build/doc/pgr_createTopology.rst:81 +#: ../../build/doc/pgr_createTopology.rst:82 msgid "``target``" msgstr "``target``" -#: ../../build/doc/pgr_createTopology.rst:85 +#: ../../build/doc/pgr_createTopology.rst:86 msgid "``OK`` after the network topology has been built." msgstr "'' OK'' después de que se ha construido la topología de red." -#: ../../build/doc/pgr_createTopology.rst:87 +#: ../../build/doc/pgr_createTopology.rst:88 msgid "Creates a vertices table: _vertices_pgr." msgstr "Crea una tabla de vértices: _vertices_pgr." -#: ../../build/doc/pgr_createTopology.rst:88 +#: ../../build/doc/pgr_createTopology.rst:89 msgid "Fills ``id`` and ``the_geom`` columns of the vertices table." msgstr "Llena las columnas ``id`` y ``the_geom`` de la tabla de vértices." -#: ../../build/doc/pgr_createTopology.rst:89 +#: ../../build/doc/pgr_createTopology.rst:90 msgid "" "Fills the source and target columns of the edge table referencing the ``id``" " of the vertices table." @@ -271,12 +273,12 @@ msgstr "" "Llena las columnas los origen y destino de la tabla de borde haciendo " "referencia al ``id`` de la tabla de los vértices." -#: ../../build/doc/pgr_createTopology.rst:92 +#: ../../build/doc/pgr_createTopology.rst:93 msgid "``FAIL`` when the network topology was not built due to an error:" msgstr "" "``FAIL`` cuando la topología de red no se construyó debido a un error:" -#: ../../build/doc/pgr_createTopology.rst:94 +#: ../../build/doc/pgr_createTopology.rst:95 msgid "" "A required column of the Network table is not found or is not of the " "appropriate type." @@ -284,23 +286,23 @@ msgstr "" "Una columna de la tabla de red requerida no se encuentra o no es del tipo " "apropiado." -#: ../../build/doc/pgr_createTopology.rst:95 +#: ../../build/doc/pgr_createTopology.rst:96 msgid "The condition is not well formed." msgstr "La condición no está bien formada." -#: ../../build/doc/pgr_createTopology.rst:96 +#: ../../build/doc/pgr_createTopology.rst:97 msgid "The names of source , target or id are the same." msgstr "Los nombres de origen, destino o id son las mismos." -#: ../../build/doc/pgr_createTopology.rst:97 +#: ../../build/doc/pgr_createTopology.rst:98 msgid "The SRID of the geometry could not be determined." msgstr "No pudo determinarse el SRID de la geometría." -#: ../../build/doc/pgr_createTopology.rst:100 +#: ../../build/doc/pgr_createTopology.rst:101 msgid "The Vertices Table" msgstr "La tabla de vértices" -#: ../../build/doc/pgr_createTopology.rst:101 +#: ../../build/doc/pgr_createTopology.rst:102 msgid "" "The vertices table is a requirement of the :doc:`pgr_analyzeGraph " "` and the :doc:`pgr_analyzeOneWay ` " @@ -310,11 +312,11 @@ msgstr "" ":doc:`pgr_analyzeGraph ` y :doc:`pgr_analyzeOneWay " "`." -#: ../../build/doc/pgr_createTopology.rst:103 +#: ../../build/doc/pgr_createTopology.rst:104 msgid "The structure of the vertices table is:" msgstr "La estructura de la tabla de los vértices es:" -#: ../../build/doc/pgr_createTopology.rst:105 +#: ../../build/doc/pgr_createTopology.rst:106 msgid "``bigint`` Identifier of the vertex." msgstr "``bigint`` identificador del vértice." @@ -322,7 +324,7 @@ msgstr "``bigint`` identificador del vértice." msgid "cnt" msgstr "cnt" -#: ../../build/doc/pgr_createTopology.rst:106 +#: ../../build/doc/pgr_createTopology.rst:107 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex." " See :doc:`pgr_analyzeGraph `." @@ -334,7 +336,7 @@ msgstr "" msgid "chk" msgstr "chk" -#: ../../build/doc/pgr_createTopology.rst:107 +#: ../../build/doc/pgr_createTopology.rst:108 msgid "" "``integer`` Indicator that the vertex might have a problem. See " ":doc:`pgr_analyzeGraph `." @@ -346,7 +348,7 @@ msgstr "" msgid "ein" msgstr "ein" -#: ../../build/doc/pgr_createTopology.rst:108 +#: ../../build/doc/pgr_createTopology.rst:109 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex " "AS incoming. See :doc:`pgr_analyzeOneWay `." @@ -358,7 +360,7 @@ msgstr "" msgid "eout" msgstr "eout" -#: ../../build/doc/pgr_createTopology.rst:109 +#: ../../build/doc/pgr_createTopology.rst:110 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex " "AS outgoing. See :doc:`pgr_analyzeOneWay `." @@ -366,26 +368,26 @@ msgstr "" "``integer`` Número de vértices en edge_table que referencian este vértice " "como (AS) saliente. Ver :doc:`pgr_analyzeOneWay `." -#: ../../build/doc/pgr_createTopology.rst:110 +#: ../../build/doc/pgr_createTopology.rst:111 msgid "``geometry`` Point geometry of the vertex." msgstr "``geometry`` Valor de la geometría POINT del vértice." -#: ../../build/doc/pgr_createTopology.rst:113 +#: ../../build/doc/pgr_createTopology.rst:114 msgid "Usage when the edge table's columns MATCH the default values:" msgstr "" "Uso cuando las columnas de la tabla de borde coinciden con los valores por " "defecto:" -#: ../../build/doc/pgr_createTopology.rst:115 +#: ../../build/doc/pgr_createTopology.rst:116 msgid "The simplest way to use pgr_createTopology is:" msgstr "La forma más sencilla de utilizar pgr_createTopology es:" -#: ../../build/doc/pgr_createTopology.rst:122 +#: ../../build/doc/pgr_createTopology.rst:123 msgid "When the arguments are given in the order described in the parameters:" msgstr "" "Cuando los argumentos se escriben en el orden descrito en los parámetros:" -#: ../../build/doc/pgr_createTopology.rst:123 +#: ../../build/doc/pgr_createTopology.rst:124 msgid "We get the same result AS the simplest way to use the function." msgstr "" "Obtenemos el mismo resultado que la forma más sencilla de utilizar la " @@ -414,12 +416,12 @@ msgstr "" "y la columna de geometría ``the_geom`` se pasa a la función como la columna " "``id``." -#: ../../build/doc/pgr_createTopology.rst:138 -#: ../../build/doc/pgr_createTopology.rst:202 +#: ../../build/doc/pgr_createTopology.rst:139 +#: ../../build/doc/pgr_createTopology.rst:203 msgid "When using the named notation" msgstr "Cuando se utiliza la notación por nombre" -#: ../../build/doc/pgr_createTopology.rst:139 +#: ../../build/doc/pgr_createTopology.rst:140 msgid "" "Parameters defined with a default value can be omitted, as long as the value" " matches the default And The order of the parameters would not matter." @@ -428,16 +430,16 @@ msgstr "" "siempre que el valor coincida con el valor predeterminado y el orden de los " "parámetros no importaría." -#: ../../build/doc/pgr_createTopology.rst:155 -#: ../../build/doc/pgr_createTopology.rst:215 +#: ../../build/doc/pgr_createTopology.rst:156 +#: ../../build/doc/pgr_createTopology.rst:216 msgid "Selecting rows using rows_where parameter" msgstr "Seleccionar filas utilizando el parámetro rows_where" -#: ../../build/doc/pgr_createTopology.rst:156 +#: ../../build/doc/pgr_createTopology.rst:157 msgid "Selecting rows based on the id." msgstr "La selección de filas basadas en el id." -#: ../../build/doc/pgr_createTopology.rst:162 +#: ../../build/doc/pgr_createTopology.rst:163 msgid "" "Selecting the rows where the geometry is near the geometry of row with ``id " "= 5``." @@ -445,8 +447,8 @@ msgstr "" "Selección de las filas en las que la geometría está cerca de la geometría de" " la fila con ``id = 5``." -#: ../../build/doc/pgr_createTopology.rst:168 -#: ../../build/doc/pgr_createTopology.rst:222 +#: ../../build/doc/pgr_createTopology.rst:169 +#: ../../build/doc/pgr_createTopology.rst:223 msgid "" "Selecting the rows where the geometry is near the geometry of the row with " "``gid`` =100 of the table ``othertable``." @@ -454,26 +456,26 @@ msgstr "" "Seleccionar las filas donde la geometría está cerca de la geometría de la " "fila con``gid`` =100 de la tabla ``othertable``." -#: ../../build/doc/pgr_createTopology.rst:175 +#: ../../build/doc/pgr_createTopology.rst:176 msgid "Usage when the edge table's columns DO NOT MATCH the default values:" msgstr "" "Uso cuando las columnas de la tabla de borde NO COINCIDEN con los valores " "por defecto:" -#: ../../build/doc/pgr_createTopology.rst:177 +#: ../../build/doc/pgr_createTopology.rst:178 msgid "For the following table" msgstr "Para la siguiente tabla" -#: ../../build/doc/pgr_createTopology.rst:184 +#: ../../build/doc/pgr_createTopology.rst:185 msgid "Using positional notation:" msgstr "Usando notación posicional:" -#: ../../build/doc/pgr_createTopology.rst:185 +#: ../../build/doc/pgr_createTopology.rst:186 msgid "" "The arguments need to be given in the order described in the parameters." msgstr "Los argumentos deben darse en el orden descrito en los parámetros." -#: ../../build/doc/pgr_createTopology.rst:187 +#: ../../build/doc/pgr_createTopology.rst:188 msgid "" "Note that this example uses clean flag. So it recreates the whole vertices " "table." @@ -505,7 +507,7 @@ msgstr "" "y la columna de geometría ``mygeom`` se pasa a la función como (AS) la " "columna id." -#: ../../build/doc/pgr_createTopology.rst:203 +#: ../../build/doc/pgr_createTopology.rst:204 msgid "" "In this scenario omitting a parameter would create an error because the " "default values for the column names do not match the column names of the " @@ -515,11 +517,11 @@ msgstr "" "predeterminados para los nombres de columna no coinciden con los nombres de " "columna de la tabla. El orden de los parámetros no importa:" -#: ../../build/doc/pgr_createTopology.rst:216 +#: ../../build/doc/pgr_createTopology.rst:217 msgid "Based on id:" msgstr "Basado en id:" -#: ../../build/doc/pgr_createTopology.rst:229 +#: ../../build/doc/pgr_createTopology.rst:230 msgid "Additional Examples" msgstr "Ejemplos Adicionales" @@ -527,11 +529,11 @@ msgstr "Ejemplos Adicionales" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_createTopology.rst:231 +#: ../../build/doc/pgr_createTopology.rst:232 msgid "With full output" msgstr "Con salida completa" -#: ../../build/doc/pgr_createTopology.rst:233 +#: ../../build/doc/pgr_createTopology.rst:234 msgid "" "This example start a clean topology, with 5 edges, and then its incremented " "to the rest of the edges." @@ -539,15 +541,15 @@ msgstr "" "En este ejemplo se inicia una topología limpia, con 5 aristas y, a " "continuación, se incrementa al resto de los bordes." -#: ../../build/doc/pgr_createTopology.rst:239 +#: ../../build/doc/pgr_createTopology.rst:240 msgid "The example uses the :doc:`sampledata` network." msgstr "En el ejemplo se utiliza la red :doc:`sampledata`. " -#: ../../build/doc/pgr_createTopology.rst:242 +#: ../../build/doc/pgr_createTopology.rst:243 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_createTopology.rst:244 +#: ../../build/doc/pgr_createTopology.rst:245 msgid "" ":doc:`topology-functions` for an overview of a topology for routing " "algorithms." @@ -555,7 +557,7 @@ msgstr "" ":doc:`topology-functions` para obtener una visión general de una topología " "para algoritmos de ruteo." -#: ../../build/doc/pgr_createTopology.rst:245 +#: ../../build/doc/pgr_createTopology.rst:246 msgid "" ":doc:`pgr_createVerticesTable` to reconstruct the vertices table based on " "the source and target information." @@ -563,30 +565,21 @@ msgstr "" ":doc:`pgr_createVerticesTable` para reconstruir la tabla de vértices en " "función de la información de origen y de destino." -#: ../../build/doc/pgr_createTopology.rst:246 +#: ../../build/doc/pgr_createTopology.rst:247 msgid "" ":doc:`pgr_analyzeGraph` to analyze the edges and vertices of the edge table." msgstr "" ":doc:`pgr_analyzeGraph` para analizar los bordes y vértices de la tabla de " "bordes." -#: ../../build/doc/pgr_createTopology.rst:249 +#: ../../build/doc/pgr_createTopology.rst:250 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_createTopology.rst:250 +#: ../../build/doc/pgr_createTopology.rst:251 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_createTopology.rst:251 +#: ../../build/doc/pgr_createTopology.rst:252 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_createVerticesTable.po b/locale/es/LC_MESSAGES/pgr_createVerticesTable.po index 6681e4a4ae1..b719e2838ee 100644 --- a/locale/es/LC_MESSAGES/pgr_createVerticesTable.po +++ b/locale/es/LC_MESSAGES/pgr_createVerticesTable.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -10,9 +10,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -57,15 +57,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_createVerticesTable.rst:24 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_createVerticesTable.rst:28 +#: ../../build/doc/pgr_createVerticesTable.rst:29 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -78,7 +80,7 @@ msgid "" " `2.0 " "`__" msgstr "" -"**Versiones soportadas:** `2.5 " +"**Versiones sustentadas:** `2.5 " "`__ `2.4 " "`__ `2.3 " "`__" @@ -89,36 +91,36 @@ msgstr "" " `2.0 " "`__" -#: ../../build/doc/pgr_createVerticesTable.rst:37 +#: ../../build/doc/pgr_createVerticesTable.rst:38 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_createVerticesTable.rst:39 -#: ../../build/doc/pgr_createVerticesTable.rst:73 +#: ../../build/doc/pgr_createVerticesTable.rst:40 +#: ../../build/doc/pgr_createVerticesTable.rst:74 msgid "The function returns:" msgstr "La función devuelve:" -#: ../../build/doc/pgr_createVerticesTable.rst:41 -#: ../../build/doc/pgr_createVerticesTable.rst:75 +#: ../../build/doc/pgr_createVerticesTable.rst:42 +#: ../../build/doc/pgr_createVerticesTable.rst:76 msgid "``OK`` after the vertices table has been reconstructed." msgstr "``OK`` después de que se ha construido la tabla de vértices." -#: ../../build/doc/pgr_createVerticesTable.rst:42 -#: ../../build/doc/pgr_createVerticesTable.rst:80 +#: ../../build/doc/pgr_createVerticesTable.rst:43 +#: ../../build/doc/pgr_createVerticesTable.rst:81 msgid "" "``FAIL`` when the vertices table was not reconstructed due to an error." msgstr "" "``FAIL`` cuando la tabla de vértices no se construyó debido a un error:" -#: ../../build/doc/pgr_createVerticesTable.rst:45 +#: ../../build/doc/pgr_createVerticesTable.rst:46 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_createVerticesTable.rst:53 +#: ../../build/doc/pgr_createVerticesTable.rst:54 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_createVerticesTable.rst:55 +#: ../../build/doc/pgr_createVerticesTable.rst:56 msgid "" "The reconstruction of the vertices table function accepts the following " "parameters:" @@ -130,7 +132,7 @@ msgstr "" msgid "edge_table" msgstr "edge_table" -#: ../../build/doc/pgr_createVerticesTable.rst:57 +#: ../../build/doc/pgr_createVerticesTable.rst:58 msgid "``text`` Network table name. (may contain the schema name as well)" msgstr "``text`` La tabla de la red. (puede contener el nombre del esquema)" @@ -138,7 +140,7 @@ msgstr "``text`` La tabla de la red. (puede contener el nombre del esquema)" msgid "the_geom" msgstr "the_geom" -#: ../../build/doc/pgr_createVerticesTable.rst:58 +#: ../../build/doc/pgr_createVerticesTable.rst:59 msgid "" "``text`` Geometry column name of the network table. Default value is " "``the_geom``." @@ -150,7 +152,7 @@ msgstr "" msgid "source" msgstr "source" -#: ../../build/doc/pgr_createVerticesTable.rst:59 +#: ../../build/doc/pgr_createVerticesTable.rst:60 msgid "" "``text`` Source column name of the network table. Default value is " "``source``." @@ -162,7 +164,7 @@ msgstr "" msgid "target" msgstr "target" -#: ../../build/doc/pgr_createVerticesTable.rst:60 +#: ../../build/doc/pgr_createVerticesTable.rst:61 msgid "" "``text`` Target column name of the network table. Default value is " "``target``." @@ -174,7 +176,7 @@ msgstr "" msgid "rows_where" msgstr "rows_where" -#: ../../build/doc/pgr_createVerticesTable.rst:61 +#: ../../build/doc/pgr_createVerticesTable.rst:62 msgid "" "``text`` Condition to SELECT a subset or rows. Default value is ``true`` " "to indicate all rows." @@ -182,11 +184,11 @@ msgstr "" "``text`` condición para seleccionar un subconjunto o filas. Valor " "predeterminado es ``true`` para indicar todas las filas." -#: ../../build/doc/pgr_createVerticesTable.rst:65 +#: ../../build/doc/pgr_createVerticesTable.rst:66 msgid "The ``edge_table`` will be affected" msgstr "La ``edge_table`` se verán afectados" -#: ../../build/doc/pgr_createVerticesTable.rst:67 +#: ../../build/doc/pgr_createVerticesTable.rst:68 msgid "" "An index will be created, if it doesn't exists, to speed up the process to " "the following columns:" @@ -194,23 +196,23 @@ msgstr "" "Un índice será creado, si no existe, para acelerar el proceso para las " "columnas siguientes:" -#: ../../build/doc/pgr_createVerticesTable.rst:69 +#: ../../build/doc/pgr_createVerticesTable.rst:70 msgid "``the_geom``" msgstr "``the_geom``" -#: ../../build/doc/pgr_createVerticesTable.rst:70 +#: ../../build/doc/pgr_createVerticesTable.rst:71 msgid "``source``" msgstr "``source``" -#: ../../build/doc/pgr_createVerticesTable.rst:71 +#: ../../build/doc/pgr_createVerticesTable.rst:72 msgid "``target``" msgstr "``target``" -#: ../../build/doc/pgr_createVerticesTable.rst:77 +#: ../../build/doc/pgr_createVerticesTable.rst:78 msgid "Creates a vertices table: _vertices_pgr." msgstr "Crea una tabla de vértices: _vertices_pgr." -#: ../../build/doc/pgr_createVerticesTable.rst:78 +#: ../../build/doc/pgr_createVerticesTable.rst:79 msgid "" "Fills ``id`` and ``the_geom`` columns of the vertices table based on the " "source and target columns of the edge table." @@ -218,7 +220,7 @@ msgstr "" "Llena las columnas ``id`` y ``the_geom`` de la tabla de vértices basado en " "la información de la fuente y el destino." -#: ../../build/doc/pgr_createVerticesTable.rst:82 +#: ../../build/doc/pgr_createVerticesTable.rst:83 msgid "" "A required column of the Network table is not found or is not of the " "appropriate type." @@ -226,23 +228,23 @@ msgstr "" "Una columna de la tabla de red requerida no se encuentra o no es del tipo " "apropiado." -#: ../../build/doc/pgr_createVerticesTable.rst:83 +#: ../../build/doc/pgr_createVerticesTable.rst:84 msgid "The condition is not well formed." msgstr "La condición no está bien formada." -#: ../../build/doc/pgr_createVerticesTable.rst:84 +#: ../../build/doc/pgr_createVerticesTable.rst:85 msgid "The names of source, target are the same." msgstr "Los nombres de los campos de origen y destino son las mismos." -#: ../../build/doc/pgr_createVerticesTable.rst:85 +#: ../../build/doc/pgr_createVerticesTable.rst:86 msgid "The SRID of the geometry could not be determined." msgstr "No pudo determinarse el SRID de la geometría." -#: ../../build/doc/pgr_createVerticesTable.rst:88 +#: ../../build/doc/pgr_createVerticesTable.rst:89 msgid "The Vertices Table" msgstr "La tabla de vértices" -#: ../../build/doc/pgr_createVerticesTable.rst:89 +#: ../../build/doc/pgr_createVerticesTable.rst:90 msgid "" "The vertices table is a requierment of the :doc:`pgr_analyzeGraph " "` and the :doc:`pgr_analyzeOneWay ` " @@ -252,7 +254,7 @@ msgstr "" ":doc:`pgr_analyzeGraph ` y :doc:`pgr_analyzeOneWay " "`." -#: ../../build/doc/pgr_createVerticesTable.rst:91 +#: ../../build/doc/pgr_createVerticesTable.rst:92 msgid "The structure of the vertices table is:" msgstr "La estructura de la tabla de los vértices es:" @@ -260,7 +262,7 @@ msgstr "La estructura de la tabla de los vértices es:" msgid "id" msgstr "id" -#: ../../build/doc/pgr_createVerticesTable.rst:93 +#: ../../build/doc/pgr_createVerticesTable.rst:94 msgid "``bigint`` Identifier of the vertex." msgstr "``bigint`` identificador del vértice." @@ -268,7 +270,7 @@ msgstr "``bigint`` identificador del vértice." msgid "cnt" msgstr "cnt" -#: ../../build/doc/pgr_createVerticesTable.rst:94 +#: ../../build/doc/pgr_createVerticesTable.rst:95 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex." " See :doc:`pgr_analyzeGraph `." @@ -280,7 +282,7 @@ msgstr "" msgid "chk" msgstr "chk" -#: ../../build/doc/pgr_createVerticesTable.rst:95 +#: ../../build/doc/pgr_createVerticesTable.rst:96 msgid "" "``integer`` Indicator that the vertex might have a problem. See " ":doc:`pgr_analyzeGraph `." @@ -292,7 +294,7 @@ msgstr "" msgid "ein" msgstr "ein" -#: ../../build/doc/pgr_createVerticesTable.rst:96 +#: ../../build/doc/pgr_createVerticesTable.rst:97 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex " "as incoming. See :doc:`pgr_analyzeOneWay `." @@ -304,7 +306,7 @@ msgstr "" msgid "eout" msgstr "eout" -#: ../../build/doc/pgr_createVerticesTable.rst:97 +#: ../../build/doc/pgr_createVerticesTable.rst:98 msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex " "as outgoing. See :doc:`pgr_analyzeOneWay `." @@ -313,7 +315,7 @@ msgstr "" "vértice como saliente. Consulte :doc:`pgr_analyzeOneWay " "`." -#: ../../build/doc/pgr_createVerticesTable.rst:98 +#: ../../build/doc/pgr_createVerticesTable.rst:99 msgid "``geometry`` Point geometry of the vertex." msgstr "``geometry`` Valor de la geometría POINT del vértice." @@ -321,11 +323,11 @@ msgstr "``geometry`` Valor de la geometría POINT del vértice." msgid "Example 1" msgstr "Ejemplo 1" -#: ../../build/doc/pgr_createVerticesTable.rst:100 +#: ../../build/doc/pgr_createVerticesTable.rst:101 msgid "The simplest way to use pgr_createVerticesTable" msgstr "La forma más sencilla de utilizar pgr_createVerticesTable" -#: ../../build/doc/pgr_createVerticesTable.rst:108 +#: ../../build/doc/pgr_createVerticesTable.rst:109 msgid "Additional Examples" msgstr "Ejemplos Adicionales" @@ -333,18 +335,18 @@ msgstr "Ejemplos Adicionales" msgid "Example 2" msgstr "Ejemplo 2" -#: ../../build/doc/pgr_createVerticesTable.rst:111 +#: ../../build/doc/pgr_createVerticesTable.rst:112 msgid "When the arguments are given in the order described in the parameters:" msgstr "" "Cuando los argumentos se escriben en el orden descrito en los parámetros:" -#: ../../build/doc/pgr_createVerticesTable.rst:118 +#: ../../build/doc/pgr_createVerticesTable.rst:119 msgid "We get the same result as the simplest way to use the function." msgstr "" "Obtenemos el mismo resultado que la forma más sencilla de utilizar la " "función." -#: ../../build/doc/pgr_createVerticesTable.rst:120 +#: ../../build/doc/pgr_createVerticesTable.rst:121 msgid "" "An error would occur when the arguments are not given in the appropriate " "order: In this example, the column source column ``source`` of the table " @@ -357,8 +359,8 @@ msgstr "" " columna de geometría ``the_geom`` se pasa a la función como la columna de " "origen." -#: ../../build/doc/pgr_createVerticesTable.rst:128 -#: ../../build/doc/pgr_createVerticesTable.rst:196 +#: ../../build/doc/pgr_createVerticesTable.rst:129 +#: ../../build/doc/pgr_createVerticesTable.rst:197 msgid "When using the named notation" msgstr "Cuando se utiliza la notación por nombre" @@ -366,8 +368,8 @@ msgstr "Cuando se utiliza la notación por nombre" msgid "Example 3" msgstr "Ejemplo 3" -#: ../../build/doc/pgr_createVerticesTable.rst:129 -#: ../../build/doc/pgr_createVerticesTable.rst:197 +#: ../../build/doc/pgr_createVerticesTable.rst:130 +#: ../../build/doc/pgr_createVerticesTable.rst:198 msgid "The order of the parameters do not matter:" msgstr "No importa el orden de los parámetros:" @@ -375,8 +377,8 @@ msgstr "No importa el orden de los parámetros:" msgid "Example 4" msgstr "Ejemplo 4" -#: ../../build/doc/pgr_createVerticesTable.rst:135 -#: ../../build/doc/pgr_createVerticesTable.rst:203 +#: ../../build/doc/pgr_createVerticesTable.rst:136 +#: ../../build/doc/pgr_createVerticesTable.rst:204 msgid "Using a different ordering" msgstr "Usando un orden diferente" @@ -384,7 +386,7 @@ msgstr "Usando un orden diferente" msgid "Example 5" msgstr "Ejemplo 5" -#: ../../build/doc/pgr_createVerticesTable.rst:142 +#: ../../build/doc/pgr_createVerticesTable.rst:143 msgid "" "Parameters defined with a default value can be omitted, as long as the value" " matches the default:" @@ -392,8 +394,8 @@ msgstr "" "Parámetros definidos con un valor predeterminado se pueden omitir, siempre y" " cuando el valor coincida con el valor por defecto:" -#: ../../build/doc/pgr_createVerticesTable.rst:150 -#: ../../build/doc/pgr_createVerticesTable.rst:213 +#: ../../build/doc/pgr_createVerticesTable.rst:151 +#: ../../build/doc/pgr_createVerticesTable.rst:214 msgid "Selecting rows using rows_where parameter" msgstr "Seleccionar filas utilizando el parámetro rows_where" @@ -401,7 +403,7 @@ msgstr "Seleccionar filas utilizando el parámetro rows_where" msgid "Example 6" msgstr "Ejemplo 6" -#: ../../build/doc/pgr_createVerticesTable.rst:151 +#: ../../build/doc/pgr_createVerticesTable.rst:152 msgid "Selecting rows based on the id." msgstr "La selección de filas basadas en el id." @@ -409,7 +411,7 @@ msgstr "La selección de filas basadas en el id." msgid "Example 7" msgstr "Ejemplo 7" -#: ../../build/doc/pgr_createVerticesTable.rst:158 +#: ../../build/doc/pgr_createVerticesTable.rst:159 msgid "" "Selecting the rows where the geometry is near the geometry of row with " "``id`` =5 ." @@ -421,8 +423,8 @@ msgstr "" msgid "Example 8" msgstr "Ejemplo 8" -#: ../../build/doc/pgr_createVerticesTable.rst:165 -#: ../../build/doc/pgr_createVerticesTable.rst:239 +#: ../../build/doc/pgr_createVerticesTable.rst:166 +#: ../../build/doc/pgr_createVerticesTable.rst:240 msgid "" "Selecting the rows where the geometry is near the geometry of the row with " "``gid`` =100 of the table ``othertable``." @@ -430,17 +432,17 @@ msgstr "" "Seleccionar las filas donde la geometría está cerca de la geometría de la " "fila con``gid`` =100 de la tabla ``othertable``." -#: ../../build/doc/pgr_createVerticesTable.rst:172 +#: ../../build/doc/pgr_createVerticesTable.rst:173 msgid "Usage when the edge table's columns DO NOT MATCH the default values:" msgstr "" "Uso cuando las columnas de la tabla de borde NO COINCIDEN con los valores " "por defecto:" -#: ../../build/doc/pgr_createVerticesTable.rst:174 +#: ../../build/doc/pgr_createVerticesTable.rst:175 msgid "Using the following table" msgstr "Usando la siguiente tabla" -#: ../../build/doc/pgr_createVerticesTable.rst:182 +#: ../../build/doc/pgr_createVerticesTable.rst:183 msgid "Using positional notation:" msgstr "Usando notación posicional:" @@ -448,7 +450,7 @@ msgstr "Usando notación posicional:" msgid "Example 9" msgstr "Ejemplo 9" -#: ../../build/doc/pgr_createVerticesTable.rst:183 +#: ../../build/doc/pgr_createVerticesTable.rst:184 msgid "" "The arguments need to be given in the order described in the parameters:" msgstr "Las discusiones deben recibir en el orden descrito en los parámetros:" @@ -473,7 +475,7 @@ msgstr "Ejemplo 10" msgid "Example 11" msgstr "Ejemplo 11" -#: ../../build/doc/pgr_createVerticesTable.rst:205 +#: ../../build/doc/pgr_createVerticesTable.rst:206 msgid "" "In this scenario omitting a parameter would create an error because the " "default values for the column names do not match the column names of the " @@ -487,7 +489,7 @@ msgstr "" msgid "Example 12" msgstr "Ejemplo 12" -#: ../../build/doc/pgr_createVerticesTable.rst:214 +#: ../../build/doc/pgr_createVerticesTable.rst:215 msgid "Selecting rows based on the gid. (positional notation)" msgstr "Selección de filas en función del gid. (notación posicional)" @@ -495,7 +497,7 @@ msgstr "Selección de filas en función del gid. (notación posicional)" msgid "Example 13" msgstr "Ejemplo 13" -#: ../../build/doc/pgr_createVerticesTable.rst:220 +#: ../../build/doc/pgr_createVerticesTable.rst:221 msgid "Selecting rows based on the gid. (named notation)" msgstr "Selección de filas en función del gid. (notación con nombre)" @@ -503,7 +505,7 @@ msgstr "Selección de filas en función del gid. (notación con nombre)" msgid "Example 14" msgstr "Ejemplo 14" -#: ../../build/doc/pgr_createVerticesTable.rst:226 +#: ../../build/doc/pgr_createVerticesTable.rst:227 msgid "" "Selecting the rows where the geometry is near the geometry of row with " "``gid`` = 5." @@ -515,8 +517,8 @@ msgstr "" msgid "Example 15" msgstr "Ejemplo 15" -#: ../../build/doc/pgr_createVerticesTable.rst:233 -#: ../../build/doc/pgr_createVerticesTable.rst:249 +#: ../../build/doc/pgr_createVerticesTable.rst:234 +#: ../../build/doc/pgr_createVerticesTable.rst:250 msgid "TBD" msgstr "Por Definirse" @@ -528,15 +530,15 @@ msgstr "Ejemplo 16" msgid "Example 17" msgstr "Ejemplo 17" -#: ../../build/doc/pgr_createVerticesTable.rst:255 +#: ../../build/doc/pgr_createVerticesTable.rst:256 msgid "The example uses the :doc:`sampledata` network." msgstr "En el ejemplo se utiliza la red :doc:`sampledata`. " -#: ../../build/doc/pgr_createVerticesTable.rst:258 +#: ../../build/doc/pgr_createVerticesTable.rst:259 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_createVerticesTable.rst:260 +#: ../../build/doc/pgr_createVerticesTable.rst:261 msgid "" ":doc:`topology-functions` for an overview of a topology for routing " "algorithms." @@ -544,7 +546,7 @@ msgstr "" ":doc:`topology-functions` para obtener una visión general de una topología " "para algoritmos de ruteo." -#: ../../build/doc/pgr_createVerticesTable.rst:261 +#: ../../build/doc/pgr_createVerticesTable.rst:262 msgid "" ":doc:`pgr_createTopology` ` to create a topology based " "on the geometry." @@ -552,35 +554,26 @@ msgstr "" ":doc:`pgr_createTopology` ` para crear una topología " "basada en la geometría." -#: ../../build/doc/pgr_createVerticesTable.rst:262 +#: ../../build/doc/pgr_createVerticesTable.rst:263 msgid "" ":doc:`pgr_analyzeGraph` to analyze the edges and vertices of the edge table." msgstr "" ":doc:`pgr_analyzeGraph` para analizar los bordes y vértices de la tabla de " "bordes." -#: ../../build/doc/pgr_createVerticesTable.rst:263 +#: ../../build/doc/pgr_createVerticesTable.rst:264 msgid ":doc:`pgr_analyzeOneWay` to analyze directionality of the edges." msgstr "" ":doc:`pgr_analyzeOneWay` para analizar la direccionalidad de los bordes." -#: ../../build/doc/pgr_createVerticesTable.rst:266 +#: ../../build/doc/pgr_createVerticesTable.rst:267 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_createVerticesTable.rst:267 +#: ../../build/doc/pgr_createVerticesTable.rst:268 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_createVerticesTable.rst:268 +#: ../../build/doc/pgr_createVerticesTable.rst:269 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_dagShortestPath.po b/locale/es/LC_MESSAGES/pgr_dagShortestPath.po index 5d8f9a74e0c..6da00829149 100644 --- a/locale/es/LC_MESSAGES/pgr_dagShortestPath.po +++ b/locale/es/LC_MESSAGES/pgr_dagShortestPath.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -129,20 +129,22 @@ msgstr "Soporte" #: ../../build/doc/pgr_dagShortestPath.rst:33 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_dagShortestPath.rst:37 -#: ../../build/doc/pgr_dagShortestPath.rst:166 +#: ../../build/doc/pgr_dagShortestPath.rst:38 +#: ../../build/doc/pgr_dagShortestPath.rst:167 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_dagShortestPath.rst:39 +#: ../../build/doc/pgr_dagShortestPath.rst:40 msgid "" "Shortest Path for Directed Acyclic Graph(DAG) is a graph search algorithm " "that solves the shortest path problem for weighted directed acyclic graph, " @@ -154,7 +156,7 @@ msgstr "" "acíclico dirigido ponderado, produciendo una ruta más corta desde un vértice" " inicial (``start_vid``) a un vértice final (``end_vid``)." -#: ../../build/doc/pgr_dagShortestPath.rst:43 +#: ../../build/doc/pgr_dagShortestPath.rst:44 msgid "" "This implementation can only be used with a **directed** graph with no " "cycles i.e. directed acyclic graph." @@ -162,7 +164,7 @@ msgstr "" "Esta implementación solo se puede utilizar con un grafo **dirigido** sin " "ciclos i.e., es decir, un grafo acíclico dirigido." -#: ../../build/doc/pgr_dagShortestPath.rst:45 +#: ../../build/doc/pgr_dagShortestPath.rst:46 msgid "" "The algorithm relies on topological sorting the dag to impose a linear " "ordering on the vertices, and thus is more efficient for DAG's than either " @@ -172,11 +174,11 @@ msgstr "" "orden lineal en los vértices, y por lo tanto es más eficaz para DAG que el " "algoritmo Dijkstra o Bellman-Ford." -#: ../../build/doc/pgr_dagShortestPath.rst:67 +#: ../../build/doc/pgr_dagShortestPath.rst:68 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_dagShortestPath.rst:48 +#: ../../build/doc/pgr_dagShortestPath.rst:49 msgid "" "Process is valid for weighted directed acyclic graphs only. otherwise it " "will throw warnings." @@ -184,32 +186,32 @@ msgstr "" "El proceso solo es válido para grafos acíclicos dirigidos ponderados, de lo " "contrario lanzará advertencias." -#: ../../build/doc/pgr_dagShortestPath.rst:49 +#: ../../build/doc/pgr_dagShortestPath.rst:50 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/pgr_dagShortestPath.rst:51 +#: ../../build/doc/pgr_dagShortestPath.rst:52 msgid "" "When the starting vertex and ending vertex are the same, there is no path." msgstr "" "Cuando el vértice inicial y el vértice final son iguales, no hay camino." -#: ../../build/doc/pgr_dagShortestPath.rst:53 +#: ../../build/doc/pgr_dagShortestPath.rst:54 msgid "The `agg_cost` the non included values `(v, v)` is `0`" msgstr "El `agg_cost` de los valores no incluídos `(v, v)` es `0`" -#: ../../build/doc/pgr_dagShortestPath.rst:55 +#: ../../build/doc/pgr_dagShortestPath.rst:56 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path:" msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay camino:" -#: ../../build/doc/pgr_dagShortestPath.rst:57 +#: ../../build/doc/pgr_dagShortestPath.rst:58 msgid "The `agg_cost` the non included values `(u, v)` is :math:`\\infty`" msgstr "El 'agg_cost' de los valores no incluídos '(u, v)' es :math: `\\infty`" -#: ../../build/doc/pgr_dagShortestPath.rst:59 +#: ../../build/doc/pgr_dagShortestPath.rst:60 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` are ignored." @@ -217,31 +219,31 @@ msgstr "" "Para fines de optimización, se omite cualquier valor duplicado en " "`start_vids` o `end_vids`." -#: ../../build/doc/pgr_dagShortestPath.rst:61 +#: ../../build/doc/pgr_dagShortestPath.rst:62 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_dagShortestPath.rst:63 +#: ../../build/doc/pgr_dagShortestPath.rst:64 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/pgr_dagShortestPath.rst:64 +#: ../../build/doc/pgr_dagShortestPath.rst:65 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/pgr_dagShortestPath.rst:66 +#: ../../build/doc/pgr_dagShortestPath.rst:67 msgid "Running time: :math:`O(| start\\_vids | * (V + E))`" msgstr "Tiempo de ejecución: :math:`O(| start\\_vids | * (V + E))`" -#: ../../build/doc/pgr_dagShortestPath.rst:70 +#: ../../build/doc/pgr_dagShortestPath.rst:71 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_dagShortestPath.rst:73 +#: ../../build/doc/pgr_dagShortestPath.rst:74 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_dagShortestPath.rst:89 +#: ../../build/doc/pgr_dagShortestPath.rst:90 msgid "One to One" msgstr "Uno a Uno" @@ -249,72 +251,72 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_dagShortestPath.rst:97 +#: ../../build/doc/pgr_dagShortestPath.rst:98 msgid "From vertex :math:`1` to vertex :math:`6`" msgstr "Desde el vértice :math:`1` al vértice :math:`6`" -#: ../../build/doc/pgr_dagShortestPath.rst:107 +#: ../../build/doc/pgr_dagShortestPath.rst:108 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_dagShortestPath.rst:115 +#: ../../build/doc/pgr_dagShortestPath.rst:116 msgid "From vertex :math:`1` to vertices :math:`\\{ 5, 6\\}`" msgstr "Desde el vértice :math:`1` a los vértices :math:`\\{ 5, 6\\}`" -#: ../../build/doc/pgr_dagShortestPath.rst:125 +#: ../../build/doc/pgr_dagShortestPath.rst:126 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_dagShortestPath.rst:133 +#: ../../build/doc/pgr_dagShortestPath.rst:134 msgid "From vertices :math:`\\{1, 3\\}` to vertex :math:`6`" msgstr "Desde los vértices :math:`\\{1, 3\\}` al vértice :math:`6`" -#: ../../build/doc/pgr_dagShortestPath.rst:143 +#: ../../build/doc/pgr_dagShortestPath.rst:144 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_dagShortestPath.rst:151 +#: ../../build/doc/pgr_dagShortestPath.rst:152 msgid "From vertices :math:`\\{1, 4\\}` to vertices :math:`\\{12, 6\\}`" msgstr "Desde los vértices :`\\{1, 4\\}` a los vértices :math:`\\{12, 6\\}`" -#: ../../build/doc/pgr_dagShortestPath.rst:159 +#: ../../build/doc/pgr_dagShortestPath.rst:160 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_dagShortestPath.rst:164 +#: ../../build/doc/pgr_dagShortestPath.rst:165 msgid "Description of the parameters of the signatures" msgstr "" "Descripción de los parámetros de las firmas (declaraciones de funciones)" -#: ../../build/doc/pgr_dagShortestPath.rst:166 +#: ../../build/doc/pgr_dagShortestPath.rst:167 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_dagShortestPath.rst:166 +#: ../../build/doc/pgr_dagShortestPath.rst:167 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_dagShortestPath.rst:166 +#: ../../build/doc/pgr_dagShortestPath.rst:167 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_dagShortestPath.rst:168 +#: ../../build/doc/pgr_dagShortestPath.rst:169 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_dagShortestPath.rst:168 +#: ../../build/doc/pgr_dagShortestPath.rst:169 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_dagShortestPath.rst:168 +#: ../../build/doc/pgr_dagShortestPath.rst:169 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." #: ../../build/doc/pgRouting-concepts.rst:10 -#: ../../build/doc/pgr_dagShortestPath.rst:169 +#: ../../build/doc/pgr_dagShortestPath.rst:170 msgid "**start_vid**" msgstr "**start_vid**" @@ -322,46 +324,46 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:16 #: ../../build/doc/pgRouting-concepts.rst:22 #: ../../build/doc/pgRouting-concepts.rst:23 -#: ../../build/doc/pgr_dagShortestPath.rst:169 -#: ../../build/doc/pgr_dagShortestPath.rst:171 +#: ../../build/doc/pgr_dagShortestPath.rst:170 +#: ../../build/doc/pgr_dagShortestPath.rst:172 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_dagShortestPath.rst:169 +#: ../../build/doc/pgr_dagShortestPath.rst:170 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_dagShortestPath.rst:170 +#: ../../build/doc/pgr_dagShortestPath.rst:171 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_dagShortestPath.rst:170 -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:171 +#: ../../build/doc/pgr_dagShortestPath.rst:173 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_dagShortestPath.rst:170 +#: ../../build/doc/pgr_dagShortestPath.rst:171 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:16 -#: ../../build/doc/pgr_dagShortestPath.rst:171 +#: ../../build/doc/pgr_dagShortestPath.rst:172 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_dagShortestPath.rst:171 +#: ../../build/doc/pgr_dagShortestPath.rst:172 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:173 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:173 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_dagShortestPath.rst:178 +#: ../../build/doc/pgr_dagShortestPath.rst:179 msgid "Inner Query" msgstr "Consulta interna" @@ -462,7 +464,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_dagShortestPath.rst:185 +#: ../../build/doc/pgr_dagShortestPath.rst:186 msgid "Results Columns" msgstr "Columnas de Resultados" @@ -568,33 +570,26 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_dagShortestPath.rst:192 +#: ../../build/doc/pgr_dagShortestPath.rst:193 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_dagShortestPath.rst:194 +#: ../../build/doc/pgr_dagShortestPath.rst:195 msgid "https://en.wikipedia.org/wiki/Topological_sorting" msgstr "https://en.wikipedia.org/wiki/Topological_sorting" -#: ../../build/doc/pgr_dagShortestPath.rst:195 +#: ../../build/doc/pgr_dagShortestPath.rst:196 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_dagShortestPath.rst:198 +#: ../../build/doc/pgr_dagShortestPath.rst:199 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_dagShortestPath.rst:199 +#: ../../build/doc/pgr_dagShortestPath.rst:200 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_dagShortestPath.rst:200 +#: ../../build/doc/pgr_dagShortestPath.rst:201 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_dijkstra.po b/locale/es/LC_MESSAGES/pgr_dijkstra.po index 48ef96888cd..c79562aff99 100644 --- a/locale/es/LC_MESSAGES/pgr_dijkstra.po +++ b/locale/es/LC_MESSAGES/pgr_dijkstra.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.0.0-rc1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-17 10:14-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -45,64 +45,78 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_dijkstra.rst:23 +msgid "Version 3.1.0" +msgstr "Versión 3.1.0" + +#: ../../build/doc/pgr_dijkstra.rst:25 +msgid "New **Proposed** functions:" +msgstr "Nuevas funciones **Propuestas**:" + +#: ../../build/doc/pgr_dijkstra.rst:27 +msgid "pgr_dijkstra(combinations)" +msgstr "pgr_dijkstra(combinaciones)" + +#: ../../build/doc/pgr_dijkstra.rst:29 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_dijkstra.rst:25 +#: ../../build/doc/pgr_dijkstra.rst:31 msgid "**Official** functions" msgstr "Funciones **oficiales**" -#: ../../build/doc/pgr_dijkstra.rst:27 +#: ../../build/doc/pgr_dijkstra.rst:33 msgid "Version 2.2.0" msgstr "Version 2.2.0" -#: ../../build/doc/pgr_dijkstra.rst:29 +#: ../../build/doc/pgr_dijkstra.rst:35 msgid "New **proposed** functions:" msgstr "Nuevas funciones **propuestas**:" -#: ../../build/doc/pgr_dijkstra.rst:31 +#: ../../build/doc/pgr_dijkstra.rst:37 msgid "pgr_dijkstra(One to Many)" msgstr "pgr_dijkstra(One to Many)" -#: ../../build/doc/pgr_dijkstra.rst:32 +#: ../../build/doc/pgr_dijkstra.rst:38 msgid "pgr_dijkstra(Many to One)" msgstr "pgr_dijkstra(Many to One)" -#: ../../build/doc/pgr_dijkstra.rst:33 +#: ../../build/doc/pgr_dijkstra.rst:39 msgid "pgr_dijkstra(Many to Many)" msgstr "pgr_dijkstra(Many to Many)" -#: ../../build/doc/pgr_dijkstra.rst:35 +#: ../../build/doc/pgr_dijkstra.rst:41 msgid "Version 2.1.0" msgstr "Versión 2.1.0" -#: ../../build/doc/pgr_dijkstra.rst:37 +#: ../../build/doc/pgr_dijkstra.rst:43 msgid "Signature change on pgr_dijkstra(One to One)" msgstr "Cambio de firma en pgr_dijkstra(Uno a Uno)" -#: ../../build/doc/pgr_dijkstra.rst:39 +#: ../../build/doc/pgr_dijkstra.rst:45 msgid "Version 2.0.0" msgstr "Versión 2.0.0" -#: ../../build/doc/pgr_dijkstra.rst:41 +#: ../../build/doc/pgr_dijkstra.rst:47 msgid "**Official** pgr_dijkstra(One to One)" msgstr "**Oficial** pgr_dijkstra(Uno a Uno)" -#: ../../build/doc/pgr_dijkstra.rst:44 +#: ../../build/doc/pgr_dijkstra.rst:50 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_dijkstra.rst:45 +#: ../../build/doc/pgr_dijkstra.rst:51 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " -"`__" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " +"`__ " -#: ../../build/doc/pgr_dijkstra.rst:49 +#: ../../build/doc/pgr_dijkstra.rst:56 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -113,7 +127,7 @@ msgid "" "`2.1 `__ `2.0" " `__" msgstr "" -"**Versiones no soportadas:** `2.5 " +"**Versiones no sustentadas:** `2.5 " "`__ `2.4 " "`__ `2.3 " "`__ " @@ -124,11 +138,11 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_dijkstra.rst:59 ../../build/doc/pgr_dijkstra.rst:197 +#: ../../build/doc/pgr_dijkstra.rst:66 ../../build/doc/pgr_dijkstra.rst:220 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_dijkstra.rst:61 +#: ../../build/doc/pgr_dijkstra.rst:68 msgid "" "Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra " "in 1956. It is a graph search algorithm that solves the shortest path " @@ -144,40 +158,40 @@ msgstr "" "un vértice final (``end_vid``). Esta implementación se puede utilizar con un" " grafo dirigido y uno no dirigido." -#: ../../build/doc/pgr_dijkstra.rst:86 +#: ../../build/doc/pgr_dijkstra.rst:93 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_dijkstra.rst:68 +#: ../../build/doc/pgr_dijkstra.rst:75 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/pgr_dijkstra.rst:69 +#: ../../build/doc/pgr_dijkstra.rst:76 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/pgr_dijkstra.rst:71 +#: ../../build/doc/pgr_dijkstra.rst:78 msgid "" "When the starting vertex and ending vertex are the same, there is no path." msgstr "" "Cuando el vértice inicial y el vértice final son iguales, no hay camino." -#: ../../build/doc/pgr_dijkstra.rst:73 +#: ../../build/doc/pgr_dijkstra.rst:80 msgid "The `agg_cost` the non included values `(v, v)` is `0`" msgstr "El `agg_cost` de los valores no incluídos `(v, v)` es `0`" -#: ../../build/doc/pgr_dijkstra.rst:75 +#: ../../build/doc/pgr_dijkstra.rst:82 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path:" msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay camino:" -#: ../../build/doc/pgr_dijkstra.rst:77 +#: ../../build/doc/pgr_dijkstra.rst:84 msgid "The `agg_cost` the non included values `(u, v)` is :math:`\\infty`" msgstr "El 'agg_cost' de los valores no incluídos '(u, v)' es :math: `\\infty`" -#: ../../build/doc/pgr_dijkstra.rst:79 +#: ../../build/doc/pgr_dijkstra.rst:86 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` are ignored." @@ -185,31 +199,31 @@ msgstr "" "Para fines de optimización, se omite cualquier valor duplicado en " "`start_vids` o `end_vids`." -#: ../../build/doc/pgr_dijkstra.rst:81 +#: ../../build/doc/pgr_dijkstra.rst:88 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_dijkstra.rst:83 +#: ../../build/doc/pgr_dijkstra.rst:90 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/pgr_dijkstra.rst:84 +#: ../../build/doc/pgr_dijkstra.rst:91 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/pgr_dijkstra.rst:86 +#: ../../build/doc/pgr_dijkstra.rst:93 msgid "Running time: :math:`O(| start\\_vids | * (V \\log V + E))`" msgstr "Tiempo de ejecución: :math:`O(| start\\_vids | * (V \\log V + E))`" -#: ../../build/doc/pgr_dijkstra.rst:89 +#: ../../build/doc/pgr_dijkstra.rst:96 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_dijkstra.rst:92 +#: ../../build/doc/pgr_dijkstra.rst:99 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_dijkstra.rst:103 +#: ../../build/doc/pgr_dijkstra.rst:111 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -217,24 +231,24 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_dijkstra.rst:109 +#: ../../build/doc/pgr_dijkstra.rst:117 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "Del vértice :math:`2` al vértice :math:`3` en un grafo **dirigido**" -#: ../../build/doc/pgr_dijkstra.rst:119 +#: ../../build/doc/pgr_dijkstra.rst:127 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_dijkstra.rst:128 +#: ../../build/doc/pgr_dijkstra.rst:135 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **no dirigido**" -#: ../../build/doc/pgr_dijkstra.rst:138 +#: ../../build/doc/pgr_dijkstra.rst:145 msgid "One to many" msgstr "Uno a muchos" -#: ../../build/doc/pgr_dijkstra.rst:147 +#: ../../build/doc/pgr_dijkstra.rst:153 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 5\\}` on an **undirected** " "graph" @@ -242,11 +256,11 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 5\\}` en un grafo **no " "dirigido**" -#: ../../build/doc/pgr_dijkstra.rst:157 +#: ../../build/doc/pgr_dijkstra.rst:163 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_dijkstra.rst:166 +#: ../../build/doc/pgr_dijkstra.rst:171 msgid "" "From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "graph" @@ -254,11 +268,11 @@ msgstr "" "De los vértices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "graph" -#: ../../build/doc/pgr_dijkstra.rst:176 +#: ../../build/doc/pgr_dijkstra.rst:181 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_dijkstra.rst:185 +#: ../../build/doc/pgr_dijkstra.rst:189 msgid "" "From vertices :math:`\\{2, 11\\}` to vertices :math:`\\{3, 5\\}` on an " "**undirected** graph" @@ -266,39 +280,55 @@ msgstr "" "De los vértices​ :math:`\\{2, 11\\}` a los vértices :math:`\\{3, 5\\}` en " "un grafo **no dirigido**" -#: ../../build/doc/pgr_dijkstra.rst:192 +#: ../../build/doc/pgr_dijkstra.rst:199 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_dijkstra.rst:207 +msgid "Using a combinations table on an **undirected** graph" +msgstr "Uso de una tabla de combinaciones en un grafo **no direccionado**" + +#: ../../build/doc/pgr_dijkstra.rst:215 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_dijkstra.rst:197 +#: ../../build/doc/pgr_dijkstra.rst:220 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_dijkstra.rst:197 +#: ../../build/doc/pgr_dijkstra.rst:220 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_dijkstra.rst:197 +#: ../../build/doc/pgr_dijkstra.rst:220 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_dijkstra.rst:199 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/pgr_dijkstra.rst:222 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_dijkstra.rst:199 +#: ../../build/doc/pgr_dijkstra.rst:222 ../../build/doc/pgr_dijkstra.rst:223 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_dijkstra.rst:199 -msgid "Inner SQL query as described below." -msgstr "Consulta SQL interna como se describe a continuación." +#: ../../build/doc/pgr_dijkstra.rst:222 +msgid "`Edges query`_ as described below" +msgstr "`Edges query`_ como se describe a continuación" + +#: ../../build/doc/pgr_dijkstra.rst:223 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_dijkstra.rst:223 +msgid "`Combinations query`_ as described below" +msgstr "`Combinations query`_ como se describe a continuación" #: ../../build/doc/pgRouting-concepts.rst:11 -#: ../../build/doc/pgr_dijkstra.rst:200 +#: ../../build/doc/pgr_dijkstra.rst:224 msgid "**start_vid**" msgstr "**start_vid**" @@ -306,66 +336,70 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 -#: ../../build/doc/pgr_dijkstra.rst:200 ../../build/doc/pgr_dijkstra.rst:202 +#: ../../build/doc/pgr_dijkstra.rst:224 ../../build/doc/pgr_dijkstra.rst:226 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_dijkstra.rst:200 +#: ../../build/doc/pgr_dijkstra.rst:224 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_dijkstra.rst:201 +#: ../../build/doc/pgr_dijkstra.rst:225 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_dijkstra.rst:201 ../../build/doc/pgr_dijkstra.rst:203 +#: ../../build/doc/pgr_dijkstra.rst:225 ../../build/doc/pgr_dijkstra.rst:227 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_dijkstra.rst:201 +#: ../../build/doc/pgr_dijkstra.rst:225 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:18 -#: ../../build/doc/pgr_dijkstra.rst:202 +#: ../../build/doc/pgr_dijkstra.rst:226 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_dijkstra.rst:202 +#: ../../build/doc/pgr_dijkstra.rst:226 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_dijkstra.rst:203 +#: ../../build/doc/pgr_dijkstra.rst:227 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_dijkstra.rst:203 +#: ../../build/doc/pgr_dijkstra.rst:227 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_dijkstra.rst:204 +#: ../../build/doc/pgr_dijkstra.rst:228 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_dijkstra.rst:204 +#: ../../build/doc/pgr_dijkstra.rst:228 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_dijkstra.rst:204 +#: ../../build/doc/pgr_dijkstra.rst:228 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_dijkstra.rst:204 +#: ../../build/doc/pgr_dijkstra.rst:228 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_dijkstra.rst:205 +#: ../../build/doc/pgr_dijkstra.rst:229 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_dijkstra.rst:211 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_dijkstra.rst:235 +msgid "Inner queries" +msgstr "Consultas internas" + +#: ../../build/doc/pgr_dijkstra.rst:238 +msgid "Edges query" +msgstr "Consulta de aristas" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 @@ -386,18 +420,22 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -444,6 +482,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "Donde:" @@ -452,6 +491,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -464,7 +504,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_dijkstra.rst:220 +#: ../../build/doc/pgr_dijkstra.rst:245 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_dijkstra.rst:252 msgid "Return Columns" msgstr "Columnas de Devoluciones" @@ -584,16 +628,16 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_dijkstra.rst:228 +#: ../../build/doc/pgr_dijkstra.rst:260 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_dijkstra.rst:230 +#: ../../build/doc/pgr_dijkstra.rst:262 msgid "" "The examples of this section are based on the :doc:`sampledata` network." msgstr "Los ejemplos de esta sección se basan en la red :doc:`sampledata`." -#: ../../build/doc/pgr_dijkstra.rst:232 +#: ../../build/doc/pgr_dijkstra.rst:264 msgid "" "The examples include combinations from starting vertices 2 and 11 to ending " "vertices 3 and 5 in a directed and undirected graph with and with out " @@ -607,7 +651,7 @@ msgstr "" msgid "Examples" msgstr "Ejemplos" -#: ../../build/doc/pgr_dijkstra.rst:235 ../../build/doc/pgr_dijkstra.rst:270 +#: ../../build/doc/pgr_dijkstra.rst:267 ../../build/doc/pgr_dijkstra.rst:302 msgid "" "For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` " "columns" @@ -615,11 +659,11 @@ msgstr "" "Para consultas marcadas como ``directed`` con columnas ``cost`` and " "``reverse_cost``" -#: ../../build/doc/pgr_dijkstra.rst:237 +#: ../../build/doc/pgr_dijkstra.rst:269 msgid "The examples in this section use the following :ref:`fig1`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig1`" -#: ../../build/doc/pgr_dijkstra.rst:243 ../../build/doc/pgr_dijkstra.rst:280 +#: ../../build/doc/pgr_dijkstra.rst:275 ../../build/doc/pgr_dijkstra.rst:312 msgid "" "For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` " "columns" @@ -627,72 +671,63 @@ msgstr "" "Para consultas marcadas como ``undirected`` con columnas ``cost`` y " "``reverse_cost`` " -#: ../../build/doc/pgr_dijkstra.rst:245 +#: ../../build/doc/pgr_dijkstra.rst:277 msgid "The examples in this section use the following :ref:`fig2`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig2`" -#: ../../build/doc/pgr_dijkstra.rst:251 +#: ../../build/doc/pgr_dijkstra.rst:283 msgid "For queries marked as ``directed`` with ``cost`` column" msgstr "Para consultas marcadas como ``directed`` con columna``cost``" -#: ../../build/doc/pgr_dijkstra.rst:253 +#: ../../build/doc/pgr_dijkstra.rst:285 msgid "The examples in this section use the following :ref:`fig3`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig3`" -#: ../../build/doc/pgr_dijkstra.rst:259 +#: ../../build/doc/pgr_dijkstra.rst:291 msgid "For queries marked as ``undirected`` with ``cost`` column" msgstr "Para consultas marcadas como ``undirected`` con columna ``cost``" -#: ../../build/doc/pgr_dijkstra.rst:261 +#: ../../build/doc/pgr_dijkstra.rst:293 msgid "The examples in this section use the following :ref:`fig4`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig4`" -#: ../../build/doc/pgr_dijkstra.rst:268 +#: ../../build/doc/pgr_dijkstra.rst:300 msgid "Equvalences between signatures" msgstr "Equivalencias entre firmas" -#: ../../build/doc/pgr_dijkstra.rst:272 ../../build/doc/pgr_dijkstra.rst:282 +#: ../../build/doc/pgr_dijkstra.rst:304 ../../build/doc/pgr_dijkstra.rst:314 msgid "The examples in this section use the following:" msgstr "Los ejemplos de esta sección utilizan lo siguiente:" -#: ../../build/doc/pgr_dijkstra.rst:274 +#: ../../build/doc/pgr_dijkstra.rst:306 msgid ":ref:`fig1`" msgstr ":ref:`fig1`" -#: ../../build/doc/pgr_dijkstra.rst:284 +#: ../../build/doc/pgr_dijkstra.rst:316 msgid ":ref:`fig2`" msgstr ":ref:`fig2`" -#: ../../build/doc/pgr_dijkstra.rst:291 +#: ../../build/doc/pgr_dijkstra.rst:323 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_dijkstra.rst:293 +#: ../../build/doc/pgr_dijkstra.rst:325 #, python-format msgid "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" msgstr "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" -#: ../../build/doc/pgr_dijkstra.rst:294 +#: ../../build/doc/pgr_dijkstra.rst:326 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_dijkstra.rst:297 +#: ../../build/doc/pgr_dijkstra.rst:329 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_dijkstra.rst:298 +#: ../../build/doc/pgr_dijkstra.rst:330 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_dijkstra.rst:299 +#: ../../build/doc/pgr_dijkstra.rst:331 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_dijkstraCost.po b/locale/es/LC_MESSAGES/pgr_dijkstraCost.po index 4062ab3b275..9173218814d 100644 --- a/locale/es/LC_MESSAGES/pgr_dijkstraCost.po +++ b/locale/es/LC_MESSAGES/pgr_dijkstraCost.po @@ -5,17 +5,17 @@ # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2019 # Vicky Vergara , 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: pgRouting v3.0.0-rc1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-17 10:14-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -51,24 +51,38 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_dijkstraCost.rst:25 +msgid "Version 3.1.0" +msgstr "Versión 3.1.0" + +#: ../../build/doc/pgr_dijkstraCost.rst:27 +msgid "New **Proposed** functions:" +msgstr "Nuevas funciones **Propuestas**:" + +#: ../../build/doc/pgr_dijkstraCost.rst:29 +msgid "pgr_dijkstraCost(combinations)" +msgstr "pgr_dijkstraCost(combinaciones)" + +#: ../../build/doc/pgr_dijkstraCost.rst:31 msgid "Version 2.2.0" msgstr "Version 2.2.0" -#: ../../build/doc/pgr_dijkstraCost.rst:27 +#: ../../build/doc/pgr_dijkstraCost.rst:33 msgid "New **Official** function" msgstr "Nueva función **Oficial**" -#: ../../build/doc/pgr_dijkstraCost.rst:29 +#: ../../build/doc/pgr_dijkstraCost.rst:35 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_dijkstraCost.rst:33 +#: ../../build/doc/pgr_dijkstraCost.rst:40 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -88,11 +102,11 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_dijkstra.rst:4 -#: ../../build/doc/pgr_dijkstraCost.rst:41 +#: ../../build/doc/pgr_dijkstraCost.rst:48 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_dijkstraCost.rst:43 +#: ../../build/doc/pgr_dijkstraCost.rst:50 msgid "" "The ``pgr_dijkstraCost`` algorithm, is a good choice to calculate the sum of" " the costs of the shortest path for a subset of pairs of nodes of the graph." @@ -104,15 +118,15 @@ msgstr "" " grafo. Hacemos uso de la implementación de dijkstra del Boost cuyo tiempo " "de ejecución es :math:`O(V \\log V + E)`" -#: ../../build/doc/pgr_dijkstraCost.rst:78 +#: ../../build/doc/pgr_dijkstraCost.rst:85 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_dijkstraCost.rst:49 +#: ../../build/doc/pgr_dijkstraCost.rst:56 msgid "It does not return a path." msgstr "No devuelve una ruta." -#: ../../build/doc/pgr_dijkstraCost.rst:50 +#: ../../build/doc/pgr_dijkstraCost.rst:57 msgid "" "Returns the sum of the costs of the shortest path for pair combination of " "nodes in the graph." @@ -120,15 +134,15 @@ msgstr "" "Devuelve la suma de los costos de la ruta más corta para la combinación de " "pares de nodos en el grafo." -#: ../../build/doc/pgr_dijkstraCost.rst:51 +#: ../../build/doc/pgr_dijkstraCost.rst:58 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/pgr_dijkstraCost.rst:52 +#: ../../build/doc/pgr_dijkstraCost.rst:59 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/pgr_dijkstraCost.rst:54 +#: ../../build/doc/pgr_dijkstraCost.rst:61 msgid "" "The returned values are in the form of a set of `(start_vid, end_vid, " "agg_cost)`." @@ -136,17 +150,17 @@ msgstr "" "Los valores devueltos tienen la forma de un conjunto de `(start_vid, " "end_vid, agg_cost)`." -#: ../../build/doc/pgr_dijkstraCost.rst:56 +#: ../../build/doc/pgr_dijkstraCost.rst:63 msgid "" "When the starting vertex and ending vertex are the same, there is no path." msgstr "" "Cuando el vértice inicial y el vértice final son iguales, no hay camino." -#: ../../build/doc/pgr_dijkstraCost.rst:58 +#: ../../build/doc/pgr_dijkstraCost.rst:65 msgid "The `agg_cost` int the non included values `(v, v)` is `0`" msgstr "El `agg_cost` en los valores no incluidos `(v, v)` es `0`" -#: ../../build/doc/pgr_dijkstraCost.rst:60 +#: ../../build/doc/pgr_dijkstraCost.rst:67 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path." @@ -154,11 +168,11 @@ msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay ninguna" " ruta." -#: ../../build/doc/pgr_dijkstraCost.rst:62 +#: ../../build/doc/pgr_dijkstraCost.rst:69 msgid "The `agg_cost` in the non included values `(u, v)` is :math:`\\infty`" msgstr "El `agg_cost` en los valores no incluidos `(u, v)` es :math:`\\infty`" -#: ../../build/doc/pgr_dijkstraCost.rst:64 +#: ../../build/doc/pgr_dijkstraCost.rst:71 msgid "" "Let be the case the values returned are stored in a table, so the unique " "index would be the pair: `(start_vid, end_vid)`." @@ -166,43 +180,43 @@ msgstr "" "Sea el caso, los valores devueltos se almacenan en una tabla, por lo que el " "índice único sería el par: '(start_vid, end_vid)'." -#: ../../build/doc/pgr_dijkstraCost.rst:67 +#: ../../build/doc/pgr_dijkstraCost.rst:74 msgid "For undirected graphs, the results are symmetric." msgstr "Para grafos no dirigidos, los resultados son simétricos." -#: ../../build/doc/pgr_dijkstraCost.rst:69 +#: ../../build/doc/pgr_dijkstraCost.rst:76 msgid "The `agg_cost` of `(u, v)` is the same as for `(v, u)`." msgstr "El `agg_cost` de `(u, v)` es el mismo que para `(v, u)`." -#: ../../build/doc/pgr_dijkstraCost.rst:71 +#: ../../build/doc/pgr_dijkstraCost.rst:78 msgid "Any duplicated value in the `start_vids` or `end_vids` is ignored." msgstr "Se omite cualquier valor duplicado en `start_vids` o `end_vids`." -#: ../../build/doc/pgr_dijkstraCost.rst:73 +#: ../../build/doc/pgr_dijkstraCost.rst:80 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_dijkstraCost.rst:75 +#: ../../build/doc/pgr_dijkstraCost.rst:82 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/pgr_dijkstraCost.rst:76 +#: ../../build/doc/pgr_dijkstraCost.rst:83 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/pgr_dijkstraCost.rst:78 +#: ../../build/doc/pgr_dijkstraCost.rst:85 msgid "Running time: :math:`O(| start\\_vids | * (V \\log V + E))`" msgstr "Tiempo de ejecución: :math:`O(| start\\_vids | * (V \\log V + E))`" -#: ../../build/doc/pgr_dijkstraCost.rst:81 +#: ../../build/doc/pgr_dijkstraCost.rst:88 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_dijkstraCost.rst:84 +#: ../../build/doc/pgr_dijkstraCost.rst:91 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_dijkstraCost.rst:95 +#: ../../build/doc/pgr_dijkstraCost.rst:103 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -210,24 +224,24 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_dijkstraCost.rst:102 +#: ../../build/doc/pgr_dijkstraCost.rst:110 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "Del vértice :math:`2` al vértice :math:`3` en un grafo **dirigido**" -#: ../../build/doc/pgr_dijkstraCost.rst:112 +#: ../../build/doc/pgr_dijkstraCost.rst:120 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_dijkstraCost.rst:120 +#: ../../build/doc/pgr_dijkstraCost.rst:128 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **no dirigido**" -#: ../../build/doc/pgr_dijkstraCost.rst:130 +#: ../../build/doc/pgr_dijkstraCost.rst:138 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_dijkstraCost.rst:138 +#: ../../build/doc/pgr_dijkstraCost.rst:146 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " "graph" @@ -235,22 +249,22 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 11\\}` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_dijkstraCost.rst:148 +#: ../../build/doc/pgr_dijkstraCost.rst:156 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_dijkstraCost.rst:156 +#: ../../build/doc/pgr_dijkstraCost.rst:164 msgid "" "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** graph" msgstr "" "De los vértices :math:`\\{2, 7\\}` al vértice :math:`3` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_dijkstraCost.rst:166 +#: ../../build/doc/pgr_dijkstraCost.rst:174 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_dijkstraCost.rst:174 +#: ../../build/doc/pgr_dijkstraCost.rst:182 msgid "" "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** graph" @@ -258,7 +272,15 @@ msgstr "" "De los vértice​s :math:`\\{2, 7\\}` a los vértice​s :math:`\\{3, 11\\}` en " "un grafo **dirigido**" -#: ../../build/doc/pgr_dijkstraCost.rst:181 +#: ../../build/doc/pgr_dijkstraCost.rst:192 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_dijkstraCost.rst:200 +msgid "Using a combinations table on an **undirected** graph" +msgstr "Uso de una tabla de combinaciones en un grafo **no direccionado**" + +#: ../../build/doc/pgr_dijkstraCost.rst:209 msgid "Parameters" msgstr "Parámetros" @@ -276,83 +298,96 @@ msgid "Default" msgstr "Valores predeterminados" #: ../../build/doc/pgr_dijkstra.rst:6 -msgid "**edges_sql**" -msgstr "**edges_sql**" +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_dijkstra.rst:6 +#: ../../build/doc/pgr_dijkstra.rst:6 ../../build/doc/pgr_dijkstra.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/pgr_dijkstra.rst:6 -msgid "Inner SQL query as described below." -msgstr "Consulta SQL interna como se describe a continuación." +msgid "`Edges query`_ as described below" +msgstr "`Edges query`_ como se describe a continuación" + +#: ../../build/doc/pgr_dijkstra.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_dijkstra.rst:7 +msgid "`Combinations query`_ as described below" +msgstr "`Combinations query`_ como se describe a continuación" -#: ../../build/doc/pgRouting-concepts.rst:8 ../../build/doc/pgr_dijkstra.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 ../../build/doc/pgr_dijkstra.rst:8 msgid "**start_vid**" msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_dijkstra.rst:7 -#: ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_dijkstra.rst:8 +#: ../../build/doc/pgr_dijkstra.rst:10 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_dijkstra.rst:7 +#: ../../build/doc/pgr_dijkstra.rst:8 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_dijkstra.rst:8 +#: ../../build/doc/pgr_dijkstra.rst:9 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_dijkstra.rst:8 ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_dijkstra.rst:9 ../../build/doc/pgr_dijkstra.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_dijkstra.rst:8 +#: ../../build/doc/pgr_dijkstra.rst:9 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." -#: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgr_dijkstra.rst:10 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgr_dijkstra.rst:10 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_dijkstra.rst:11 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_dijkstra.rst:11 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_dijkstra.rst:12 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_dijkstra.rst:12 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_dijkstra.rst:12 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_dijkstra.rst:12 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_dijkstra.rst:12 +#: ../../build/doc/pgr_dijkstra.rst:13 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_dijkstraCost.rst:188 +#: ../../build/doc/pgr_dijkstraCost.rst:216 msgid "Inner query" msgstr "Consulta interna" +#: ../../build/doc/pgr_dijkstraCost.rst:219 +msgid "Edges query" +msgstr "Consulta de aristas" + #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" @@ -372,18 +407,22 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -429,6 +468,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "Donde:" @@ -437,6 +477,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -449,7 +490,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_dijkstraCost.rst:195 +#: ../../build/doc/pgr_dijkstraCost.rst:226 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_dijkstraCost.rst:233 msgid "Return Columns" msgstr "Columnas de Devoluciones" @@ -485,7 +530,7 @@ msgstr "``FLOAT``" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_dijkstraCost.rst:203 +#: ../../build/doc/pgr_dijkstraCost.rst:241 msgid "Additional Examples" msgstr "Ejemplos Adicionales" @@ -493,7 +538,7 @@ msgstr "Ejemplos Adicionales" msgid "Example 1" msgstr "Ejemplo 1" -#: ../../build/doc/pgr_dijkstraCost.rst:205 +#: ../../build/doc/pgr_dijkstraCost.rst:243 msgid "Demonstration of repeated values are ignored, and result is sorted." msgstr "" "La demostración de valores repetidos se omite y el resultado se ordena." @@ -502,57 +547,40 @@ msgstr "" msgid "Example 2" msgstr "Ejemplo 2" -#: ../../build/doc/pgr_dijkstraCost.rst:211 +#: ../../build/doc/pgr_dijkstraCost.rst:249 msgid "Making `start_vids` the same as `end_vids`" msgstr "Haciendo `start_vids` igual que `end_vids`" -#: ../../build/doc/pgr_dijkstraCost.rst:218 +#: ../../build/doc/pgr_dijkstraCost.rst +msgid "Example 3" +msgstr "Ejemplo 3" + +#: ../../build/doc/pgr_dijkstraCost.rst:255 +msgid "Four manually assigned (source, target) vertex combinations" +msgstr "" +"Cuatro combinaciones de vértices asignados manualmente (origen, destino)" + +#: ../../build/doc/pgr_dijkstraCost.rst:262 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_dijkstraCost.rst:220 +#: ../../build/doc/pgr_dijkstraCost.rst:264 #, python-format msgid "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" msgstr "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" -#: ../../build/doc/pgr_dijkstraCost.rst:221 +#: ../../build/doc/pgr_dijkstraCost.rst:265 msgid ":doc:`sampledata` network." msgstr "Red :doc:`sampledata` ." -#: ../../build/doc/pgr_dijkstraCost.rst:224 +#: ../../build/doc/pgr_dijkstraCost.rst:268 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_dijkstraCost.rst:225 +#: ../../build/doc/pgr_dijkstraCost.rst:269 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_dijkstraCost.rst:226 +#: ../../build/doc/pgr_dijkstraCost.rst:270 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Unsupported versions:** `2.5 " -#~ "`__ `2.4 " -#~ "`__ `2.3 " -#~ "`__ `2.2 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones no soportadas:** `2.5 " -#~ "`__ `2.4 " -#~ "`__ `2.3 " -#~ "`__ `2.2 " -#~ "`__" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_dijkstraCostMatrix.po b/locale/es/LC_MESSAGES/pgr_dijkstraCostMatrix.po index b49ebe5ee41..2fd4a729fae 100644 --- a/locale/es/LC_MESSAGES/pgr_dijkstraCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_dijkstraCostMatrix.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -62,13 +62,15 @@ msgstr "Nueva función **propuesta**" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:31 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:34 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:35 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -84,25 +86,25 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:41 -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:90 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:42 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:91 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:43 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:44 msgid "Using Dijkstra algorithm, calculate and return a cost matrix." msgstr "" "Utilizando el algoritmo Dijkstra, calcula y devuelve una matriz de costes." -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:46 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:47 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:49 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:50 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:56 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:57 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -110,17 +112,17 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:62 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:63 msgid "Cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" msgstr "" "Costo de la matriz para los vértices :math:`\\{1, 2, 3, 4\\}` en un grafo " "**no directed**" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:73 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:74 msgid "Complete Signature" msgstr "Firma completa" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:80 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:81 msgid "" "Symmetric cost matrix for vertices :math:`\\{1, 2, 3, 4\\}` on an " "**undirected** graph" @@ -128,53 +130,53 @@ msgstr "" "Matriz de costos simétrica para vértices :math:`\\{1, 2, 3, 4\\}` en un " "grafo **no dirigido**" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:87 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:88 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:90 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:91 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:90 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:91 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:92 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:93 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:92 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:93 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:92 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:93 msgid "Edges SQL query as described above." msgstr "Consulta de aristas SQL como se describió anteriormente." -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:93 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:94 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:93 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:94 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:93 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:94 msgid "Array of identifiers of the vertices." msgstr "Arreglo de identificadores de los vértices." -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:94 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:95 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:94 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:95 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:94 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:95 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default is" " ``true`` which considers the graph as Directed." @@ -182,7 +184,7 @@ msgstr "" "(opcional). En caso de ``false`` el grafo se considera como No Dirigido. El " "valor predeterminado es ``true`` que considera el grafo como Dirigido." -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:98 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:99 msgid "Inner query" msgstr "Consulta interna" @@ -286,7 +288,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:107 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:108 msgid "Return Columns" msgstr "Columnas de Devoluciones" @@ -335,49 +337,42 @@ msgstr "``FLOAT``" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:114 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:115 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:116 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:117 msgid "Use with tsp" msgstr "Usar con tsp" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:123 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:124 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:125 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:126 msgid ":doc:`dijkstra-family`" msgstr ":doc:`dijkstra-family`" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:126 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:127 msgid ":doc:`costMatrix-category`" msgstr ":doc:`costMatrix-category`" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:127 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:128 msgid ":doc:`TSP-family`" msgstr ":doc:`TSP-family`" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:128 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:129 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:131 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:132 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:132 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:133 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_dijkstraCostMatrix.rst:133 +#: ../../build/doc/pgr_dijkstraCostMatrix.rst:134 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_dijkstraVia.po b/locale/es/LC_MESSAGES/pgr_dijkstraVia.po index 1712dc22c64..dc467e87e99 100644 --- a/locale/es/LC_MESSAGES/pgr_dijkstraVia.po +++ b/locale/es/LC_MESSAGES/pgr_dijkstraVia.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -94,13 +94,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_dijkstraVia.rst:33 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(​`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_dijkstraVia.rst:36 +#: ../../build/doc/pgr_dijkstraVia.rst:37 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -110,7 +112,7 @@ msgid "" " `2.2 " "`__" msgstr "" -"**Versiones no soportadas:** `2.6 " +"**Versiones no sustentadas:** `2.6 " "`__ `2.5 " "`__ `2.4 " "`__ `2.3 " @@ -120,12 +122,12 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:7 -#: ../../build/doc/pgr_dijkstraVia.rst:45 -#: ../../build/doc/pgr_dijkstraVia.rst:115 +#: ../../build/doc/pgr_dijkstraVia.rst:46 +#: ../../build/doc/pgr_dijkstraVia.rst:116 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_dijkstraVia.rst:47 +#: ../../build/doc/pgr_dijkstraVia.rst:48 msgid "" "Given a list of vertices and a graph, this function is equivalent to finding" " the shortest path between :math:`vertex_i` and :math:`vertex_{i+1}` for all" @@ -135,19 +137,19 @@ msgstr "" "ruta más corta entre :math:`vertex_i` y :math:`vertex_{i+1}` para todos " ":math:`i < size\\_of(vertex_via)`." -#: ../../build/doc/pgr_dijkstraVia.rst:50 +#: ../../build/doc/pgr_dijkstraVia.rst:51 msgid "The paths represents the sections of the route." msgstr "Las trayectorias representan los tramos de la ruta." -#: ../../build/doc/pgr_dijkstraVia.rst:53 +#: ../../build/doc/pgr_dijkstraVia.rst:54 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_dijkstraVia.rst:56 +#: ../../build/doc/pgr_dijkstraVia.rst:57 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_dijkstraVia.rst:65 +#: ../../build/doc/pgr_dijkstraVia.rst:66 msgid "Using default" msgstr "Uso de valores predeterminados" @@ -155,7 +157,7 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_dijkstraVia.rst:73 +#: ../../build/doc/pgr_dijkstraVia.rst:74 msgid "" "Find the route that visits the vertices :math:`\\{ 1, 3, 9\\}` in that " "order" @@ -163,11 +165,11 @@ msgstr "" "Encuentre la ruta que visita los vértices :math:`\\{ 1, 3, 9\\}` en ese " "orden" -#: ../../build/doc/pgr_dijkstraVia.rst:83 +#: ../../build/doc/pgr_dijkstraVia.rst:84 msgid "Complete Signature" msgstr "Firma completa" -#: ../../build/doc/pgr_dijkstraVia.rst:92 +#: ../../build/doc/pgr_dijkstraVia.rst:93 msgid "" "Find the route that visits the vertices :math:`\\{ 1, 3, 9\\}` in that order" " on an **undirected** graph, avoiding U-turns when possible" @@ -186,7 +188,7 @@ msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:7 -#: ../../build/doc/pgr_dijkstraVia.rst:115 +#: ../../build/doc/pgr_dijkstraVia.rst:116 msgid "Type" msgstr "Tipo" @@ -287,12 +289,12 @@ msgstr "" "utiliza el giro U utilizando el borde con el mismo `id` cuando no se " "encuentra ninguna otra ruta." -#: ../../build/doc/pgr_dijkstraVia.rst:103 +#: ../../build/doc/pgr_dijkstraVia.rst:104 msgid "Inner query" msgstr "Consulta interna" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_dijkstraVia.rst:115 +#: ../../build/doc/pgr_dijkstraVia.rst:116 msgid "Column" msgstr "Columna" @@ -327,7 +329,7 @@ msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_dijkstraVia.rst:124 +#: ../../build/doc/pgr_dijkstraVia.rst:125 msgid "**cost**" msgstr "**cost**" @@ -388,77 +390,77 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_dijkstraVia.rst:110 +#: ../../build/doc/pgr_dijkstraVia.rst:111 msgid "Return Columns" msgstr "Columnas de Devoluciones" -#: ../../build/doc/pgr_dijkstraVia.rst:112 +#: ../../build/doc/pgr_dijkstraVia.rst:113 msgid "Returns set of ``(start_vid, end_vid, agg_cost)``" msgstr "Devuelve un conjunto de ``(start_vid, end_vid, agg_cost)``" -#: ../../build/doc/pgr_dijkstraVia.rst:117 +#: ../../build/doc/pgr_dijkstraVia.rst:118 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_dijkstraVia.rst:117 #: ../../build/doc/pgr_dijkstraVia.rst:118 #: ../../build/doc/pgr_dijkstraVia.rst:119 #: ../../build/doc/pgr_dijkstraVia.rst:120 #: ../../build/doc/pgr_dijkstraVia.rst:121 #: ../../build/doc/pgr_dijkstraVia.rst:122 #: ../../build/doc/pgr_dijkstraVia.rst:123 +#: ../../build/doc/pgr_dijkstraVia.rst:124 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_dijkstraVia.rst:117 +#: ../../build/doc/pgr_dijkstraVia.rst:118 msgid "Sequential value starting from 1." msgstr "Valor secuencial a partir de 1." -#: ../../build/doc/pgr_dijkstraVia.rst:118 +#: ../../build/doc/pgr_dijkstraVia.rst:119 msgid "**path_pid**" msgstr "**path_pid**" -#: ../../build/doc/pgr_dijkstraVia.rst:118 +#: ../../build/doc/pgr_dijkstraVia.rst:119 msgid "Identifier of the path." msgstr "Identificador de la ruta." -#: ../../build/doc/pgr_dijkstraVia.rst:119 +#: ../../build/doc/pgr_dijkstraVia.rst:120 msgid "**path_seq**" msgstr "**path_seq**" -#: ../../build/doc/pgr_dijkstraVia.rst:119 +#: ../../build/doc/pgr_dijkstraVia.rst:120 msgid "Sequential value starting from 1 for the path." msgstr "Valor secuencial a partir de 1 para la ruta." -#: ../../build/doc/pgr_dijkstraVia.rst:120 +#: ../../build/doc/pgr_dijkstraVia.rst:121 msgid "**start_vid**" msgstr "**start_vid**" -#: ../../build/doc/pgr_dijkstraVia.rst:120 +#: ../../build/doc/pgr_dijkstraVia.rst:121 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_dijkstraVia.rst:121 +#: ../../build/doc/pgr_dijkstraVia.rst:122 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_dijkstraVia.rst:121 +#: ../../build/doc/pgr_dijkstraVia.rst:122 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_dijkstraVia.rst:122 +#: ../../build/doc/pgr_dijkstraVia.rst:123 msgid "**node**" msgstr "**node**" -#: ../../build/doc/pgr_dijkstraVia.rst:122 +#: ../../build/doc/pgr_dijkstraVia.rst:123 msgid "Identifier of the node in the path from start_vid to end_vid." msgstr "Identificador del nodo en la ruta de start_vid a end_vid." -#: ../../build/doc/pgr_dijkstraVia.rst:123 +#: ../../build/doc/pgr_dijkstraVia.rst:124 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/pgr_dijkstraVia.rst:123 +#: ../../build/doc/pgr_dijkstraVia.rst:124 msgid "" "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. -2 for the last node of the " @@ -468,13 +470,13 @@ msgstr "" "la secuencia de la ruta. -1 para el último nodo de la trayectoria. -2 para " "el último nodo de la ruta." -#: ../../build/doc/pgr_dijkstraVia.rst:124 #: ../../build/doc/pgr_dijkstraVia.rst:125 #: ../../build/doc/pgr_dijkstraVia.rst:126 +#: ../../build/doc/pgr_dijkstraVia.rst:127 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_dijkstraVia.rst:124 +#: ../../build/doc/pgr_dijkstraVia.rst:125 msgid "" "Cost to traverse from ``node`` using ``edge`` to the next node in the route " "sequence." @@ -482,19 +484,19 @@ msgstr "" "Coste para recorrer desde ``node`` usando ``edge`` hacia el siguiente nodo " "de la secuencia de ruta." -#: ../../build/doc/pgr_dijkstraVia.rst:125 +#: ../../build/doc/pgr_dijkstraVia.rst:126 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_dijkstraVia.rst:125 +#: ../../build/doc/pgr_dijkstraVia.rst:126 msgid "Total cost from ``start_vid`` to ``end_vid`` of the path." msgstr "Coste total desde ``start_vid`` hacia ``end_vid`` de la ruta." -#: ../../build/doc/pgr_dijkstraVia.rst:126 +#: ../../build/doc/pgr_dijkstraVia.rst:127 msgid "**route_agg_cost**" msgstr "**route_agg_cost**" -#: ../../build/doc/pgr_dijkstraVia.rst:126 +#: ../../build/doc/pgr_dijkstraVia.rst:127 msgid "" "Total cost from ``start_vid`` of ``path_pid = 1`` to ``end_vid`` of the " "current ``path_pid`` ." @@ -502,7 +504,7 @@ msgstr "" "Coste total desde ``start_vid`` de ``path_pid = 1`` hacia ``end_vid`` del " "actual ``path_pid`` ." -#: ../../build/doc/pgr_dijkstraVia.rst:130 +#: ../../build/doc/pgr_dijkstraVia.rst:131 msgid "Additional Examples" msgstr "Ejemplos Adicionales" @@ -510,7 +512,7 @@ msgstr "Ejemplos Adicionales" msgid "Example 1" msgstr "Ejemplo 1" -#: ../../build/doc/pgr_dijkstraVia.rst:132 +#: ../../build/doc/pgr_dijkstraVia.rst:133 msgid "" "Find the route that visits the vertices :math:`\\{1, 5, 3, 9, 4\\}` in that " "order" @@ -522,7 +524,7 @@ msgstr "" msgid "Example 2" msgstr "Ejemplo 2" -#: ../../build/doc/pgr_dijkstraVia.rst:138 +#: ../../build/doc/pgr_dijkstraVia.rst:139 msgid "What's the aggregate cost of the third path?" msgstr "¿Cuál es el costo total de la tercera ruta?" @@ -530,7 +532,7 @@ msgstr "¿Cuál es el costo total de la tercera ruta?" msgid "Example 3" msgstr "Ejemplo 3" -#: ../../build/doc/pgr_dijkstraVia.rst:144 +#: ../../build/doc/pgr_dijkstraVia.rst:145 msgid "" "What's the route's aggregate cost of the route at the end of the third path?" msgstr "" @@ -540,7 +542,7 @@ msgstr "" msgid "Example 4" msgstr "Ejemplo 4" -#: ../../build/doc/pgr_dijkstraVia.rst:150 +#: ../../build/doc/pgr_dijkstraVia.rst:151 msgid "How are the nodes visited in the route?" msgstr "¿Cómo se visitan los nodos en la ruta?" @@ -548,7 +550,7 @@ msgstr "¿Cómo se visitan los nodos en la ruta?" msgid "Example 5" msgstr "Ejemplo 5" -#: ../../build/doc/pgr_dijkstraVia.rst:156 +#: ../../build/doc/pgr_dijkstraVia.rst:157 msgid "" "What are the aggregate costs of the route when the visited vertices are " "reached?" @@ -560,7 +562,7 @@ msgstr "" msgid "Example 6" msgstr "Ejemplo 6" -#: ../../build/doc/pgr_dijkstraVia.rst:162 +#: ../../build/doc/pgr_dijkstraVia.rst:163 msgid "" "Show the route's seq and aggregate cost and a status of \"passes in front\" " "or \"visits\" node :math:`9`" @@ -568,34 +570,27 @@ msgstr "" "Muestre la secuencia de la ruta, el costo agregado y el estado de los " "\"pases al frente\" o del nodo :math:`9` , \"visitss\"" -#: ../../build/doc/pgr_dijkstraVia.rst:168 +#: ../../build/doc/pgr_dijkstraVia.rst:169 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_dijkstraVia.rst:170 +#: ../../build/doc/pgr_dijkstraVia.rst:171 #, python-format msgid "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" msgstr "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" -#: ../../build/doc/pgr_dijkstraVia.rst:171 +#: ../../build/doc/pgr_dijkstraVia.rst:172 msgid ":doc:`sampledata` network." msgstr "Red :doc:`sampledata` ." -#: ../../build/doc/pgr_dijkstraVia.rst:174 +#: ../../build/doc/pgr_dijkstraVia.rst:175 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_dijkstraVia.rst:175 +#: ../../build/doc/pgr_dijkstraVia.rst:176 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_dijkstraVia.rst:176 +#: ../../build/doc/pgr_dijkstraVia.rst:177 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_drivingDistance.po b/locale/es/LC_MESSAGES/pgr_drivingDistance.po index 05ef81f1418..a56383e2b8b 100644 --- a/locale/es/LC_MESSAGES/pgr_drivingDistance.po +++ b/locale/es/LC_MESSAGES/pgr_drivingDistance.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2020 +# MarPetra , 2019 +# Vicky Vergara , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -69,15 +69,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_drivingDistance.rst:33 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " -"`__" +"**Versiones soportadas:** actual(`3.1 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/pgr_drivingDistance.rst:37 +#: ../../build/doc/pgr_drivingDistance.rst:38 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -102,13 +104,13 @@ msgstr "" "`__" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_drivingDistance.rst:46 -#: ../../build/doc/pgr_drivingDistance.rst:101 -#: ../../build/doc/pgr_drivingDistance.rst:124 +#: ../../build/doc/pgr_drivingDistance.rst:47 +#: ../../build/doc/pgr_drivingDistance.rst:102 +#: ../../build/doc/pgr_drivingDistance.rst:125 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_drivingDistance.rst:48 +#: ../../build/doc/pgr_drivingDistance.rst:49 msgid "" "Using the Dijkstra algorithm, extracts all the nodes that have costs less " "than or equal to the value ``distance``. The edges extracted will conform to" @@ -118,15 +120,15 @@ msgstr "" "menores o iguales al valor ``distance``. Los bordes extraídos se ajustarán " "al árbol de expansión correspondiente." -#: ../../build/doc/pgr_drivingDistance.rst:52 +#: ../../build/doc/pgr_drivingDistance.rst:53 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_drivingDistance.rst:55 +#: ../../build/doc/pgr_drivingDistance.rst:56 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_drivingDistance.rst:63 +#: ../../build/doc/pgr_drivingDistance.rst:64 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -134,100 +136,100 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_drivingDistance.rst:69 -#: ../../build/doc/pgr_drivingDistance.rst:82 -#: ../../build/doc/pgr_drivingDistance.rst:95 +#: ../../build/doc/pgr_drivingDistance.rst:70 +#: ../../build/doc/pgr_drivingDistance.rst:83 +#: ../../build/doc/pgr_drivingDistance.rst:96 msgid "**TBD**" msgstr "**TBD**" -#: ../../build/doc/pgr_drivingDistance.rst:75 +#: ../../build/doc/pgr_drivingDistance.rst:76 msgid "Single Vertex" msgstr "Vértice Único" -#: ../../build/doc/pgr_drivingDistance.rst:88 +#: ../../build/doc/pgr_drivingDistance.rst:89 msgid "Multiple Vertices" msgstr "Múltiples Vértices" -#: ../../build/doc/pgr_drivingDistance.rst:98 +#: ../../build/doc/pgr_drivingDistance.rst:99 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_drivingDistance.rst:101 -#: ../../build/doc/pgr_drivingDistance.rst:124 +#: ../../build/doc/pgr_drivingDistance.rst:102 +#: ../../build/doc/pgr_drivingDistance.rst:125 msgid "Column" msgstr "Columna" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_drivingDistance.rst:101 -#: ../../build/doc/pgr_drivingDistance.rst:124 +#: ../../build/doc/pgr_drivingDistance.rst:102 +#: ../../build/doc/pgr_drivingDistance.rst:125 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_drivingDistance.rst:103 +#: ../../build/doc/pgr_drivingDistance.rst:104 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_drivingDistance.rst:103 +#: ../../build/doc/pgr_drivingDistance.rst:104 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_drivingDistance.rst:103 +#: ../../build/doc/pgr_drivingDistance.rst:104 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." -#: ../../build/doc/pgr_drivingDistance.rst:104 -#: ../../build/doc/pgr_drivingDistance.rst:127 +#: ../../build/doc/pgr_drivingDistance.rst:105 +#: ../../build/doc/pgr_drivingDistance.rst:128 msgid "**start_vid**" msgstr "**start_vid**" -#: ../../build/doc/pgr_drivingDistance.rst:104 -#: ../../build/doc/pgr_drivingDistance.rst:128 +#: ../../build/doc/pgr_drivingDistance.rst:105 #: ../../build/doc/pgr_drivingDistance.rst:129 +#: ../../build/doc/pgr_drivingDistance.rst:130 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_drivingDistance.rst:104 -#: ../../build/doc/pgr_drivingDistance.rst:127 +#: ../../build/doc/pgr_drivingDistance.rst:105 +#: ../../build/doc/pgr_drivingDistance.rst:128 msgid "Identifier of the starting vertex." msgstr "Identificador del vértice inicial." -#: ../../build/doc/pgr_drivingDistance.rst:105 +#: ../../build/doc/pgr_drivingDistance.rst:106 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_drivingDistance.rst:105 +#: ../../build/doc/pgr_drivingDistance.rst:106 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_drivingDistance.rst:105 +#: ../../build/doc/pgr_drivingDistance.rst:106 msgid "Array of identifiers of the starting vertices." msgstr "Arreglo de identificadores de los vértices iniciales." -#: ../../build/doc/pgr_drivingDistance.rst:106 +#: ../../build/doc/pgr_drivingDistance.rst:107 msgid "**distance**" msgstr "**distancia**" -#: ../../build/doc/pgr_drivingDistance.rst:106 -#: ../../build/doc/pgr_drivingDistance.rst:130 +#: ../../build/doc/pgr_drivingDistance.rst:107 #: ../../build/doc/pgr_drivingDistance.rst:131 +#: ../../build/doc/pgr_drivingDistance.rst:132 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_drivingDistance.rst:106 +#: ../../build/doc/pgr_drivingDistance.rst:107 msgid "Upper limit for the inclusion of the node in the result." msgstr "Límite superior para la inclusión del nodo en el resultado." -#: ../../build/doc/pgr_drivingDistance.rst:107 +#: ../../build/doc/pgr_drivingDistance.rst:108 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_drivingDistance.rst:107 #: ../../build/doc/pgr_drivingDistance.rst:108 +#: ../../build/doc/pgr_drivingDistance.rst:109 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_drivingDistance.rst:107 +#: ../../build/doc/pgr_drivingDistance.rst:108 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default is" " ``true`` which considers the graph as Directed." @@ -235,11 +237,11 @@ msgstr "" "(opcional). En caso de ``false`` el grafo se considera como No Dirigido. El " "valor predeterminado es ``true`` que considera el grafo como Dirigido." -#: ../../build/doc/pgr_drivingDistance.rst:108 +#: ../../build/doc/pgr_drivingDistance.rst:109 msgid "**equicost**" msgstr "**equicost**" -#: ../../build/doc/pgr_drivingDistance.rst:108 +#: ../../build/doc/pgr_drivingDistance.rst:109 msgid "" "(optional). When ``true`` the node will only appear in the closest " "``start_vid`` list. Default is ``false`` which resembles several calls " @@ -250,7 +252,7 @@ msgstr "" "asemeja a varias llamadas que utilizan las firmas de punto de inicio único. " "Los frenos de corbata son arbitrarios." -#: ../../build/doc/pgr_drivingDistance.rst:112 +#: ../../build/doc/pgr_drivingDistance.rst:113 msgid "Inner query" msgstr "Consulta interna" @@ -289,7 +291,7 @@ msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_drivingDistance.rst:130 +#: ../../build/doc/pgr_drivingDistance.rst:131 msgid "**cost**" msgstr "**cost**" @@ -350,43 +352,43 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_drivingDistance.rst:119 +#: ../../build/doc/pgr_drivingDistance.rst:120 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_drivingDistance.rst:121 +#: ../../build/doc/pgr_drivingDistance.rst:122 msgid "Returns set of ``(seq [, start_v], node, edge, cost, agg_cost)``" msgstr "" "Devuelve el conjunto ``(seq [, start_v], node, edge, cost, agg_cost)``" -#: ../../build/doc/pgr_drivingDistance.rst:126 +#: ../../build/doc/pgr_drivingDistance.rst:127 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_drivingDistance.rst:126 #: ../../build/doc/pgr_drivingDistance.rst:127 +#: ../../build/doc/pgr_drivingDistance.rst:128 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/pgr_drivingDistance.rst:126 +#: ../../build/doc/pgr_drivingDistance.rst:127 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/pgr_drivingDistance.rst:128 +#: ../../build/doc/pgr_drivingDistance.rst:129 msgid "**node**" msgstr "**nodo**" -#: ../../build/doc/pgr_drivingDistance.rst:128 +#: ../../build/doc/pgr_drivingDistance.rst:129 msgid "" "Identifier of the node in the path within the limits from ``start_vid``." msgstr "" "Identificador del nodo en la ruta dentro de los límites de ``start_vid``." -#: ../../build/doc/pgr_drivingDistance.rst:129 +#: ../../build/doc/pgr_drivingDistance.rst:130 msgid "**edge**" msgstr "**arista**" -#: ../../build/doc/pgr_drivingDistance.rst:129 +#: ../../build/doc/pgr_drivingDistance.rst:130 msgid "" "Identifier of the edge used to arrive to ``node``. ``0`` when the ``node`` " "is the ``start_vid``." @@ -394,23 +396,23 @@ msgstr "" "Identificador del borde utilizado para llegar a ``node``. ``0`` cuando " "``node`` es el ``start_vid``." -#: ../../build/doc/pgr_drivingDistance.rst:130 +#: ../../build/doc/pgr_drivingDistance.rst:131 msgid "Cost to traverse ``edge``." msgstr "Costo para atravesar ``edge``." -#: ../../build/doc/pgr_drivingDistance.rst:131 +#: ../../build/doc/pgr_drivingDistance.rst:132 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_drivingDistance.rst:131 +#: ../../build/doc/pgr_drivingDistance.rst:132 msgid "Aggregate cost from ``start_vid`` to ``node``." msgstr "Costo agregado de ``start_vid`` a ``node``." -#: ../../build/doc/pgr_drivingDistance.rst:135 +#: ../../build/doc/pgr_drivingDistance.rst:136 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_drivingDistance.rst:137 +#: ../../build/doc/pgr_drivingDistance.rst:138 msgid "" "For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` " "columns" @@ -418,11 +420,11 @@ msgstr "" "Para consultas marcadas como ``directed`` con columnas ``cost`` and " "``reverse_cost``" -#: ../../build/doc/pgr_drivingDistance.rst:139 +#: ../../build/doc/pgr_drivingDistance.rst:140 msgid "The examples in this section use the following :ref:`fig1`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig1`" -#: ../../build/doc/pgr_drivingDistance.rst:145 +#: ../../build/doc/pgr_drivingDistance.rst:146 msgid "" "For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` " "columns" @@ -430,55 +432,46 @@ msgstr "" "Para consultas marcadas como ``undirected`` con columnas ``cost`` y " "``reverse_cost`` " -#: ../../build/doc/pgr_drivingDistance.rst:147 +#: ../../build/doc/pgr_drivingDistance.rst:148 msgid "The examples in this section use the following :ref:`fig2`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig2`" -#: ../../build/doc/pgr_drivingDistance.rst:154 +#: ../../build/doc/pgr_drivingDistance.rst:155 msgid "For queries marked as ``directed`` with ``cost`` column" msgstr "Para consultas marcadas como ``directed`` con columna``cost``" -#: ../../build/doc/pgr_drivingDistance.rst:156 +#: ../../build/doc/pgr_drivingDistance.rst:157 msgid "The examples in this section use the following :ref:`fig3`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig3`" -#: ../../build/doc/pgr_drivingDistance.rst:162 +#: ../../build/doc/pgr_drivingDistance.rst:163 msgid "For queries marked as ``undirected`` with ``cost`` column" msgstr "Para consultas marcadas como ``undirected`` con columna ``cost``" -#: ../../build/doc/pgr_drivingDistance.rst:164 +#: ../../build/doc/pgr_drivingDistance.rst:165 msgid "The examples in this section use the following :ref:`fig4`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig4`" -#: ../../build/doc/pgr_drivingDistance.rst:171 +#: ../../build/doc/pgr_drivingDistance.rst:172 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_drivingDistance.rst:173 +#: ../../build/doc/pgr_drivingDistance.rst:174 msgid ":doc:`pgr_alphaShape` - Alpha shape computation" msgstr ":doc:`pgr_alphaShape` - Cálculo de Alpha Shape" -#: ../../build/doc/pgr_drivingDistance.rst:174 +#: ../../build/doc/pgr_drivingDistance.rst:175 msgid ":doc:`sampledata` network." msgstr "Red :doc:`sampledata` ." -#: ../../build/doc/pgr_drivingDistance.rst:177 +#: ../../build/doc/pgr_drivingDistance.rst:178 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_drivingDistance.rst:178 +#: ../../build/doc/pgr_drivingDistance.rst:179 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_drivingDistance.rst:179 +#: ../../build/doc/pgr_drivingDistance.rst:180 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po b/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po index bdfa8c4ea71..f8d4421766f 100644 --- a/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po +++ b/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -74,13 +74,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_edgeDisjointPaths.rst:37 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(​`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:40 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:41 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -95,12 +97,13 @@ msgstr "" "`__" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_dijkstra.rst:4 -#: ../../build/doc/pgr_edgeDisjointPaths.rst:47 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:4 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:48 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:49 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:50 msgid "" "Calculates the edge disjoint paths between two groups of vertices. Utilizes " "underlying maximum flow algorithms to calculate the paths." @@ -108,17 +111,17 @@ msgstr "" "Calcula las rutas de aristas desarticuladas entre dos grupos de vértices. " "Utiliza algoritmos de flujo máximo subyacentes para calcular las rutas." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:57 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:58 msgid "The main characterics are:" msgstr "Los principales características son:" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:53 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:54 msgid "Calculates the edge disjoint paths between any two groups of vertices." msgstr "" "Calcula las rutas de aristas desarticuladas entre dos grupos de vértices " "cualquiera." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:54 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:55 msgid "" "Returns EMPTY SET when source and destination are the same, or cannot be " "reached." @@ -126,29 +129,29 @@ msgstr "" "Devuelve un conjunto vacío EMPTY SET cuando el origen y el destino son los " "mismos o no se puede llegar." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:55 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:56 msgid "The graph can be directed or undirected." msgstr "El gráfico puede dirigido o no." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:56 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:57 msgid "One to many, many to one, many to many versions are also supported." msgstr "" "Una a muchas, muchas a una, muchas a muchas, versiones que también son " "soportadas." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:57 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:58 msgid "Uses :doc:`pgr_boykovKolmogorov` to calculate the paths." msgstr "Utiliza :doc:`pgr_boykovKolmogorov` para calcular las rutas." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:60 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:61 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:63 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:64 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:76 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:77 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -156,24 +159,24 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:83 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:84 msgid "From vertex :math:`3` to vertex :math:`5` on a **directed** graph" msgstr "Del vértice :math:`3` al vértice :math:`5` en un grafo **dirigido**" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:93 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:94 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:101 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:102 msgid "From vertex :math:`3` to vertex :math:`5` on an **undirected** graph" msgstr "" "Del vértice :math:`3` al vértice :math:`5` en un grafo **no dirigido**" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:111 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:112 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:119 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:120 msgid "" "From vertex :math:`3` to vertices :math:`\\{4, 5, 10\\}` on a **directed** " "graph" @@ -181,22 +184,22 @@ msgstr "" "Del vértice :math:`3` a los vértices :math:`\\{4, 5, 10\\}` en un grafo " "**dirigido** graph" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:130 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:131 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:138 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:139 msgid "" "From vertices :math:`\\{3, 6\\}` to vertex :math:`5` on a **directed** graph" msgstr "" "De los vértices :math:`\\{3, 6\\}` al vértice :math:`5` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:149 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:150 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:157 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:158 msgid "" "From vertices :math:`\\{3, 6\\}` to vertices :math:`\\{4, 5, 10\\}` on a " "**directed** graph" @@ -204,37 +207,39 @@ msgstr "" "De los vértices :math:`\\{3, 6\\}` a los vértices :math:`\\{4, 5, 10\\}` en " "un grafo **dirigido**" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:165 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:166 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_dijkstra.rst:4 +#: ../../build/doc/pgr_bdDijkstra.rst:4 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_dijkstra.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:4 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_dijkstra.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_bdDijkstra.rst:4 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_dijkstra.rst:6 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/pgr_bdDijkstra.rst:6 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_dijkstra.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:6 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_dijkstra.rst:6 -msgid "Inner SQL query as described below." -msgstr "Consulta SQL interna como se describe a continuación." +#: ../../build/doc/pgr_bdDijkstra.rst:6 +msgid "`Edges query`_ as described below" +msgstr "`Edges query`_ como se describe a continuación" #: ../../build/doc/pgRouting-concepts.rst:11 -#: ../../build/doc/pgr_dijkstra.rst:7 +#: ../../build/doc/pgr_bdDijkstra.rst:7 msgid "**start_vid**" msgstr "**start_vid**" @@ -242,67 +247,71 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 -#: ../../build/doc/pgr_dijkstra.rst:7 ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:7 ../../build/doc/pgr_bdDijkstra.rst:9 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_dijkstra.rst:7 +#: ../../build/doc/pgr_bdDijkstra.rst:7 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_dijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_dijkstra.rst:8 ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:8 ../../build/doc/pgr_bdDijkstra.rst:10 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_dijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:18 -#: ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_dijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_dijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_dijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_dijkstra.rst:12 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:172 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:173 msgid "Inner query" msgstr "Consulta interna" +#: ../../build/doc/pgr_edgeDisjointPaths.rst:176 +msgid "Edges query" +msgstr "Consulta de aristas" + #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" @@ -400,7 +409,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:179 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:183 msgid "Return Columns" msgstr "Columnas de Devoluciones" @@ -520,29 +529,22 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:186 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:190 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:188 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:192 msgid ":doc:`flow-family`" msgstr ":doc:`flow-family`" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:191 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:195 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:192 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:196 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:193 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:197 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_edmondsKarp.po b/locale/es/LC_MESSAGES/pgr_edmondsKarp.po index 006dc2f29f7..b04953f6d73 100644 --- a/locale/es/LC_MESSAGES/pgr_edmondsKarp.po +++ b/locale/es/LC_MESSAGES/pgr_edmondsKarp.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -79,13 +79,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_edmondsKarp.rst:38 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_edmondsKarp.rst:41 +#: ../../build/doc/pgr_edmondsKarp.rst:42 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -93,14 +95,14 @@ msgid "" "`__ `2.3 " "`__" msgstr "" -"Versiones no soportadas:** `2.6 " +"Versiones no sustentadas:** `2.6 " "`__ `2.5 " "`__ `2.4 " "`__ `2.3 " "`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_edmondsKarp.rst:48 +#: ../../build/doc/pgr_edmondsKarp.rst:49 msgid "Description" msgstr "Descripción" @@ -169,19 +171,19 @@ msgstr "Mediante la agregación del flujo saliente de los orígenes" msgid "By aggregation of the incoming flow to the targets" msgstr "Mediante la agregación del flujo entrante a los destinos" -#: ../../build/doc/pgr_edmondsKarp.rst:54 +#: ../../build/doc/pgr_edmondsKarp.rst:55 msgid "Running time: :math:`O( V * E ^ 2)`" msgstr "Tiempo de ejecución: :math:`O( V * E ^ 2)`" -#: ../../build/doc/pgr_edmondsKarp.rst:57 +#: ../../build/doc/pgr_edmondsKarp.rst:58 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_edmondsKarp.rst:60 +#: ../../build/doc/pgr_edmondsKarp.rst:61 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_edmondsKarp.rst:74 +#: ../../build/doc/pgr_edmondsKarp.rst:75 msgid "One to One" msgstr "Uno a Uno" @@ -189,35 +191,35 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_edmondsKarp.rst:82 +#: ../../build/doc/pgr_edmondsKarp.rst:83 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "Del vértice :math:`6` al vértice :math:`11`" -#: ../../build/doc/pgr_edmondsKarp.rst:92 +#: ../../build/doc/pgr_edmondsKarp.rst:93 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_edmondsKarp.rst:100 +#: ../../build/doc/pgr_edmondsKarp.rst:101 msgid "From vertex :math:`6` to vertices :math:`\\{1, 3, 11\\}`" msgstr "Del vértice :math:`6` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_edmondsKarp.rst:110 +#: ../../build/doc/pgr_edmondsKarp.rst:111 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_edmondsKarp.rst:118 +#: ../../build/doc/pgr_edmondsKarp.rst:119 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "De los vértices vertices :math:`\\{6, 8, 12\\}` al vértice :math:`11`" -#: ../../build/doc/pgr_edmondsKarp.rst:128 +#: ../../build/doc/pgr_edmondsKarp.rst:129 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_edmondsKarp.rst:136 +#: ../../build/doc/pgr_edmondsKarp.rst:137 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "De los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_edmondsKarp.rst:143 +#: ../../build/doc/pgr_edmondsKarp.rst:144 msgid "Parameters" msgstr "Parámetros" @@ -287,7 +289,7 @@ msgstr "**destinos**" msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_edmondsKarp.rst:150 +#: ../../build/doc/pgr_edmondsKarp.rst:151 msgid "Inner query" msgstr "Consulta interna" @@ -373,7 +375,7 @@ msgstr "ANY-INTEGER" msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" -#: ../../build/doc/pgr_edmondsKarp.rst:157 +#: ../../build/doc/pgr_edmondsKarp.rst:158 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -424,40 +426,33 @@ msgid "" msgstr "" "Capacidad residual del arista en la dirección (``start_vid``, ``end_vid``)." -#: ../../build/doc/pgr_edmondsKarp.rst:164 +#: ../../build/doc/pgr_edmondsKarp.rst:165 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_edmondsKarp.rst:166 +#: ../../build/doc/pgr_edmondsKarp.rst:167 msgid "" ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_pushRelabel`" msgstr "" ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_pushRelabel`" -#: ../../build/doc/pgr_edmondsKarp.rst:167 +#: ../../build/doc/pgr_edmondsKarp.rst:168 msgid "https://www.boost.org/libs/graph/doc/edmonds_karp_max_flow.html" msgstr "https://www.boost.org/libs/graph/doc/edmonds_karp_max_flow.html" -#: ../../build/doc/pgr_edmondsKarp.rst:168 +#: ../../build/doc/pgr_edmondsKarp.rst:169 #, python-format msgid "https://en.wikipedia.org/wiki/Edmonds%E2%80%93Karp_algorithm" msgstr "https://en.wikipedia.org/wiki/Edmonds%E2%80%93Karp_algorithm" -#: ../../build/doc/pgr_edmondsKarp.rst:171 +#: ../../build/doc/pgr_edmondsKarp.rst:172 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_edmondsKarp.rst:172 +#: ../../build/doc/pgr_edmondsKarp.rst:173 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_edmondsKarp.rst:173 +#: ../../build/doc/pgr_edmondsKarp.rst:174 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_extractVertices.po b/locale/es/LC_MESSAGES/pgr_extractVertices.po index 51e8a142b64..ddb8b6520da 100644 --- a/locale/es/LC_MESSAGES/pgr_extractVertices.po +++ b/locale/es/LC_MESSAGES/pgr_extractVertices.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -123,22 +123,24 @@ msgstr "Soporte" #: ../../build/doc/pgr_extractVertices.rst:28 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" - -#: ../../build/doc/pgr_extractVertices.rst:33 -#: ../../build/doc/pgr_extractVertices.rst:63 -#: ../../build/doc/pgr_extractVertices.rst:75 -#: ../../build/doc/pgr_extractVertices.rst:97 -#: ../../build/doc/pgr_extractVertices.rst:117 -#: ../../build/doc/pgr_extractVertices.rst:131 +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" + +#: ../../build/doc/pgr_extractVertices.rst:34 +#: ../../build/doc/pgr_extractVertices.rst:64 +#: ../../build/doc/pgr_extractVertices.rst:76 +#: ../../build/doc/pgr_extractVertices.rst:98 +#: ../../build/doc/pgr_extractVertices.rst:118 +#: ../../build/doc/pgr_extractVertices.rst:132 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_extractVertices.rst:35 +#: ../../build/doc/pgr_extractVertices.rst:36 msgid "" "This is an auxiliary function for extracting the vertex information of the " "set of edges of a graph." @@ -146,7 +148,7 @@ msgstr "" "Esta es una función auxiliar para extraer la información de vértices del " "conjunto de aristas de un grafo." -#: ../../build/doc/pgr_extractVertices.rst:38 +#: ../../build/doc/pgr_extractVertices.rst:39 msgid "" "When the edge identifier is given, then it will also calculate the in and " "out edges" @@ -154,7 +156,7 @@ msgstr "" "Cuando se proporciona el identificador de arista, también se calcularán las " "aristas de entrada y salida" -#: ../../build/doc/pgr_extractVertices.rst:42 +#: ../../build/doc/pgr_extractVertices.rst:43 msgid "Signatures" msgstr "Firmas" @@ -162,99 +164,99 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_extractVertices.rst:52 +#: ../../build/doc/pgr_extractVertices.rst:53 msgid "Extracting the vertex information" msgstr "Extraer la información del vértice" -#: ../../build/doc/pgr_extractVertices.rst:60 +#: ../../build/doc/pgr_extractVertices.rst:61 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_extractVertices.rst:63 +#: ../../build/doc/pgr_extractVertices.rst:64 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/pgr_extractVertices.rst:63 -#: ../../build/doc/pgr_extractVertices.rst:75 -#: ../../build/doc/pgr_extractVertices.rst:97 -#: ../../build/doc/pgr_extractVertices.rst:117 -#: ../../build/doc/pgr_extractVertices.rst:131 +#: ../../build/doc/pgr_extractVertices.rst:64 +#: ../../build/doc/pgr_extractVertices.rst:76 +#: ../../build/doc/pgr_extractVertices.rst:98 +#: ../../build/doc/pgr_extractVertices.rst:118 +#: ../../build/doc/pgr_extractVertices.rst:132 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_extractVertices.rst:65 +#: ../../build/doc/pgr_extractVertices.rst:66 msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/pgr_extractVertices.rst:65 #: ../../build/doc/pgr_extractVertices.rst:66 +#: ../../build/doc/pgr_extractVertices.rst:67 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_extractVertices.rst:65 +#: ../../build/doc/pgr_extractVertices.rst:66 msgid "" "The set of edges of the graph. It is an `Inner Query`_ as described below." msgstr "" "El conjunto de aristas del grafo. Es una `Inner Query`_ (Consulta interna) " "como se describe a continuación." -#: ../../build/doc/pgr_extractVertices.rst:66 +#: ../../build/doc/pgr_extractVertices.rst:67 msgid "**dryrun**" msgstr "**dryrun**" -#: ../../build/doc/pgr_extractVertices.rst:66 +#: ../../build/doc/pgr_extractVertices.rst:67 msgid "Don't process and get in a NOTICE the resulting query." msgstr "No procese y reciba un AVISO de la consulta resultante." -#: ../../build/doc/pgr_extractVertices.rst:70 +#: ../../build/doc/pgr_extractVertices.rst:71 msgid "Inner Query" msgstr "Consulta interna" -#: ../../build/doc/pgr_extractVertices.rst:73 +#: ../../build/doc/pgr_extractVertices.rst:74 msgid "When line geometry is known" msgstr "Cuando se conoce la geometría de línea" -#: ../../build/doc/pgr_extractVertices.rst:75 -#: ../../build/doc/pgr_extractVertices.rst:97 -#: ../../build/doc/pgr_extractVertices.rst:117 -#: ../../build/doc/pgr_extractVertices.rst:131 +#: ../../build/doc/pgr_extractVertices.rst:76 +#: ../../build/doc/pgr_extractVertices.rst:98 +#: ../../build/doc/pgr_extractVertices.rst:118 +#: ../../build/doc/pgr_extractVertices.rst:132 msgid "Column" msgstr "Columna" -#: ../../build/doc/pgr_extractVertices.rst:77 -#: ../../build/doc/pgr_extractVertices.rst:99 -#: ../../build/doc/pgr_extractVertices.rst:119 -#: ../../build/doc/pgr_extractVertices.rst:133 +#: ../../build/doc/pgr_extractVertices.rst:78 +#: ../../build/doc/pgr_extractVertices.rst:100 +#: ../../build/doc/pgr_extractVertices.rst:120 +#: ../../build/doc/pgr_extractVertices.rst:134 msgid "**id**" msgstr "**id**" -#: ../../build/doc/pgr_extractVertices.rst:77 -#: ../../build/doc/pgr_extractVertices.rst:99 -#: ../../build/doc/pgr_extractVertices.rst:119 -#: ../../build/doc/pgr_extractVertices.rst:133 +#: ../../build/doc/pgr_extractVertices.rst:78 +#: ../../build/doc/pgr_extractVertices.rst:100 +#: ../../build/doc/pgr_extractVertices.rst:120 +#: ../../build/doc/pgr_extractVertices.rst:134 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_extractVertices.rst:77 -#: ../../build/doc/pgr_extractVertices.rst:99 -#: ../../build/doc/pgr_extractVertices.rst:119 +#: ../../build/doc/pgr_extractVertices.rst:78 +#: ../../build/doc/pgr_extractVertices.rst:100 +#: ../../build/doc/pgr_extractVertices.rst:120 msgid "(Optional) identifier of the edge." msgstr "(Opcional) identificador de la arista." -#: ../../build/doc/pgr_extractVertices.rst:78 -#: ../../build/doc/pgr_extractVertices.rst:142 +#: ../../build/doc/pgr_extractVertices.rst:79 +#: ../../build/doc/pgr_extractVertices.rst:143 msgid "**geom**" msgstr "**geom**" -#: ../../build/doc/pgr_extractVertices.rst:78 +#: ../../build/doc/pgr_extractVertices.rst:79 msgid "``LINESTRING``" msgstr "``LINESTRING``" -#: ../../build/doc/pgr_extractVertices.rst:78 +#: ../../build/doc/pgr_extractVertices.rst:79 msgid "LINESTRING geometry of the edge." msgstr "Geometría LINESTRING de la arista." -#: ../../build/doc/pgr_extractVertices.rst:81 +#: ../../build/doc/pgr_extractVertices.rst:82 msgid "" "This inner query takes precedence over the next two inner query, therefore " "other columns are ignored when ``geom`` column appears." @@ -263,34 +265,34 @@ msgstr "" "siguientes, por lo que se omiten otras columnas cuando aparece la columna " "''geom''." -#: ../../build/doc/pgr_extractVertices.rst:83 -#: ../../build/doc/pgr_extractVertices.rst:107 +#: ../../build/doc/pgr_extractVertices.rst:84 +#: ../../build/doc/pgr_extractVertices.rst:108 msgid "Ignored columns:" msgstr "Columnas ignoradas:" -#: ../../build/doc/pgr_extractVertices.rst:85 +#: ../../build/doc/pgr_extractVertices.rst:86 msgid "``startpoint``" msgstr "``startpoint``" -#: ../../build/doc/pgr_extractVertices.rst:86 +#: ../../build/doc/pgr_extractVertices.rst:87 msgid "``endpoint``" msgstr "``endpoint``" -#: ../../build/doc/pgr_extractVertices.rst:87 -#: ../../build/doc/pgr_extractVertices.rst:109 +#: ../../build/doc/pgr_extractVertices.rst:88 +#: ../../build/doc/pgr_extractVertices.rst:110 msgid "``source``" msgstr "``source``" -#: ../../build/doc/pgr_extractVertices.rst:88 -#: ../../build/doc/pgr_extractVertices.rst:110 +#: ../../build/doc/pgr_extractVertices.rst:89 +#: ../../build/doc/pgr_extractVertices.rst:111 msgid "``target``" msgstr "``target``" -#: ../../build/doc/pgr_extractVertices.rst:93 +#: ../../build/doc/pgr_extractVertices.rst:94 msgid "When vertex geometry is known" msgstr "Cuando se conoce la geometría de vértices" -#: ../../build/doc/pgr_extractVertices.rst:94 +#: ../../build/doc/pgr_extractVertices.rst:95 msgid "" "To use this inner query the column ``geom`` should not be part of the set of" " columns." @@ -298,29 +300,29 @@ msgstr "" "Para utilizar esta consulta interna, la columna ``geom`` no debe formar " "parte del conjunto de columnas." -#: ../../build/doc/pgr_extractVertices.rst:100 +#: ../../build/doc/pgr_extractVertices.rst:101 msgid "**startpoint**" msgstr "**startpoint**" -#: ../../build/doc/pgr_extractVertices.rst:100 #: ../../build/doc/pgr_extractVertices.rst:101 -#: ../../build/doc/pgr_extractVertices.rst:142 +#: ../../build/doc/pgr_extractVertices.rst:102 +#: ../../build/doc/pgr_extractVertices.rst:143 msgid "``POINT``" msgstr "``POINT``" -#: ../../build/doc/pgr_extractVertices.rst:100 +#: ../../build/doc/pgr_extractVertices.rst:101 msgid "POINT geometry of the starting vertex." msgstr "Geometría POINT del vértice inicial." -#: ../../build/doc/pgr_extractVertices.rst:101 +#: ../../build/doc/pgr_extractVertices.rst:102 msgid "**endpoint**" msgstr "**endpoint**" -#: ../../build/doc/pgr_extractVertices.rst:101 +#: ../../build/doc/pgr_extractVertices.rst:102 msgid "POINT geometry of the ending vertex." msgstr "Geometría POINT del vértice final." -#: ../../build/doc/pgr_extractVertices.rst:104 +#: ../../build/doc/pgr_extractVertices.rst:105 msgid "" "This inner query takes precedence over the next inner query, therefore other" " columns are ignored when ``startpoint`` and ``endpoint`` columns appears." @@ -329,11 +331,11 @@ msgstr "" "por lo que se omiten otras columnas cuando aparecen las columnas " "``startpoint`` y ``endpoint``." -#: ../../build/doc/pgr_extractVertices.rst:113 +#: ../../build/doc/pgr_extractVertices.rst:114 msgid "When identifiers of vertices are known" msgstr "Cuando se conocen identificadores de vértices" -#: ../../build/doc/pgr_extractVertices.rst:114 +#: ../../build/doc/pgr_extractVertices.rst:115 msgid "" "To use this inner query the columns ``geom``, ``startpoint`` and " "``endpoint`` should not be part of the set of columns." @@ -341,46 +343,46 @@ msgstr "" "Para utilizar esta consulta interna, las columnas ``geom``, ``startpoint`` y" " ``endpoint`` no deben formar parte del conjunto de columnas." -#: ../../build/doc/pgr_extractVertices.rst:120 +#: ../../build/doc/pgr_extractVertices.rst:121 msgid "**source**" msgstr "**origen**" -#: ../../build/doc/pgr_extractVertices.rst:120 #: ../../build/doc/pgr_extractVertices.rst:121 +#: ../../build/doc/pgr_extractVertices.rst:122 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_extractVertices.rst:120 -#: ../../build/doc/pgr_extractVertices.rst:133 +#: ../../build/doc/pgr_extractVertices.rst:121 +#: ../../build/doc/pgr_extractVertices.rst:134 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." -#: ../../build/doc/pgr_extractVertices.rst:121 +#: ../../build/doc/pgr_extractVertices.rst:122 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/pgr_extractVertices.rst:121 +#: ../../build/doc/pgr_extractVertices.rst:122 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." -#: ../../build/doc/pgr_extractVertices.rst:126 +#: ../../build/doc/pgr_extractVertices.rst:127 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_extractVertices.rst:128 +#: ../../build/doc/pgr_extractVertices.rst:129 msgid "Rreturns set of (id, in_edges, out_edges, x, y, geom)" msgstr "Devuelve un conjunto de (id, in_edges, out_edges, x, y, geom)" -#: ../../build/doc/pgr_extractVertices.rst:134 +#: ../../build/doc/pgr_extractVertices.rst:135 msgid "**in_edges**" msgstr "**in_edges**" -#: ../../build/doc/pgr_extractVertices.rst:134 -#: ../../build/doc/pgr_extractVertices.rst:136 +#: ../../build/doc/pgr_extractVertices.rst:135 +#: ../../build/doc/pgr_extractVertices.rst:137 msgid "``BIGINT[]``" msgstr "``BIGINT[]``" -#: ../../build/doc/pgr_extractVertices.rst:134 +#: ../../build/doc/pgr_extractVertices.rst:135 msgid "" "Array of identifiers of the edges that have the vertex ``id`` as *first end " "point*." @@ -388,16 +390,16 @@ msgstr "" "Arreglo de identificadores de las aristas que tienen el vértice ``id`` como" " *primer punto final*." -#: ../../build/doc/pgr_extractVertices.rst:135 -#: ../../build/doc/pgr_extractVertices.rst:137 +#: ../../build/doc/pgr_extractVertices.rst:136 +#: ../../build/doc/pgr_extractVertices.rst:138 msgid "``NULL`` When the ``id`` is not part of the inner query" msgstr "``NULL`` When the ``id`` no forma parte de la consulta interna" -#: ../../build/doc/pgr_extractVertices.rst:136 +#: ../../build/doc/pgr_extractVertices.rst:137 msgid "**out_edges**" msgstr "**out_edges**" -#: ../../build/doc/pgr_extractVertices.rst:136 +#: ../../build/doc/pgr_extractVertices.rst:137 msgid "" "Array of identifiers of the edges that have the vertex ``id`` as *second end" " point*." @@ -405,38 +407,38 @@ msgstr "" "Arreglo de identificadores de las aristas que tienen el vértice ``id`` como" " *segundo punto final*." -#: ../../build/doc/pgr_extractVertices.rst:138 +#: ../../build/doc/pgr_extractVertices.rst:139 msgid "**x**" msgstr "**x**" -#: ../../build/doc/pgr_extractVertices.rst:138 -#: ../../build/doc/pgr_extractVertices.rst:140 +#: ../../build/doc/pgr_extractVertices.rst:139 +#: ../../build/doc/pgr_extractVertices.rst:141 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_extractVertices.rst:138 +#: ../../build/doc/pgr_extractVertices.rst:139 msgid "X value of the POINT geometry" msgstr "Valor X de la geometría POINT" -#: ../../build/doc/pgr_extractVertices.rst:139 -#: ../../build/doc/pgr_extractVertices.rst:141 -#: ../../build/doc/pgr_extractVertices.rst:143 +#: ../../build/doc/pgr_extractVertices.rst:140 +#: ../../build/doc/pgr_extractVertices.rst:142 +#: ../../build/doc/pgr_extractVertices.rst:144 msgid "``NULL`` When no geometry is provided" msgstr "``NULL`` Cuando no se proporciona geometría" -#: ../../build/doc/pgr_extractVertices.rst:140 +#: ../../build/doc/pgr_extractVertices.rst:141 msgid "**y**" msgstr "**y**" -#: ../../build/doc/pgr_extractVertices.rst:140 +#: ../../build/doc/pgr_extractVertices.rst:141 msgid "Y value of the POINT geometry" msgstr "Valor Y de la geometría POINT" -#: ../../build/doc/pgr_extractVertices.rst:142 +#: ../../build/doc/pgr_extractVertices.rst:143 msgid "Geometry of the POINT" msgstr "Geometría del PUNTO" -#: ../../build/doc/pgr_extractVertices.rst:148 +#: ../../build/doc/pgr_extractVertices.rst:149 msgid "Additional Examples" msgstr "Ejemplos Adicionales" @@ -444,11 +446,11 @@ msgstr "Ejemplos Adicionales" msgid "Example 1" msgstr "Ejemplo 1" -#: ../../build/doc/pgr_extractVertices.rst:150 +#: ../../build/doc/pgr_extractVertices.rst:151 msgid "Dryrun execution" msgstr "Ejecución de Dryrun" -#: ../../build/doc/pgr_extractVertices.rst:152 +#: ../../build/doc/pgr_extractVertices.rst:153 msgid "" "To get the query generated used to get the vertex information, use ``dryrun " ":= true``." @@ -456,7 +458,7 @@ msgstr "" "Para obtener la consulta generada que se usa para obtener la información de " "vértices, utilice ``dryrun := true``." -#: ../../build/doc/pgr_extractVertices.rst:154 +#: ../../build/doc/pgr_extractVertices.rst:155 msgid "" "The results can be used as base code to make a refinement based on the " "backend development needs." @@ -468,47 +470,47 @@ msgstr "" msgid "Example 2" msgstr "Ejemplo 2" -#: ../../build/doc/pgr_extractVertices.rst:160 +#: ../../build/doc/pgr_extractVertices.rst:161 msgid "Creating a routing topology" msgstr "Creación de una topología de ruteo" -#: ../../build/doc/pgr_extractVertices.rst:162 +#: ../../build/doc/pgr_extractVertices.rst:163 msgid "Making sure the database does not have the ``vertices_table``" msgstr "Asegurarse de que la base de datos no tiene el ``vertices_table``" -#: ../../build/doc/pgr_extractVertices.rst:168 +#: ../../build/doc/pgr_extractVertices.rst:169 msgid "Cleaning up the columns of the rotuing topology to be created" msgstr "Limpieza de las columnas de la topología de ruteo que se creará" -#: ../../build/doc/pgr_extractVertices.rst:174 +#: ../../build/doc/pgr_extractVertices.rst:175 msgid "Creating the vertices table" msgstr "Creación de la tabla de vértices" -#: ../../build/doc/pgr_extractVertices.rst:180 +#: ../../build/doc/pgr_extractVertices.rst:181 msgid "Inspection of the vertices table" msgstr "Inspección de la tabla de vértices" -#: ../../build/doc/pgr_extractVertices.rst:186 +#: ../../build/doc/pgr_extractVertices.rst:187 msgid "Creating the routing topology on the edge table" msgstr "Creación de la topología de ruteo en la tabla de aristas" -#: ../../build/doc/pgr_extractVertices.rst:188 +#: ../../build/doc/pgr_extractVertices.rst:189 msgid "Updating the ``source`` information" msgstr "Actualización de la información de ``source`` " -#: ../../build/doc/pgr_extractVertices.rst:194 +#: ../../build/doc/pgr_extractVertices.rst:195 msgid "Updating the ``target`` information" msgstr "Actualización de la información de ``target``" -#: ../../build/doc/pgr_extractVertices.rst:200 +#: ../../build/doc/pgr_extractVertices.rst:201 msgid "Inspection of the routing topology" msgstr "Inspección de la topología de ruteo" -#: ../../build/doc/pgr_extractVertices.rst:207 +#: ../../build/doc/pgr_extractVertices.rst:208 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_extractVertices.rst:209 +#: ../../build/doc/pgr_extractVertices.rst:210 msgid "" ":doc:`topology-functions` for an overview of a topology for routing " "algorithms." @@ -516,28 +518,21 @@ msgstr "" ":doc:`topology-functions` para obtener una visión general de una topología " "para algoritmos de ruteo." -#: ../../build/doc/pgr_extractVertices.rst:210 +#: ../../build/doc/pgr_extractVertices.rst:211 msgid "" ":doc:`pgr_createVerticesTable` to create a topology based on the geometry." msgstr "" ":doc:`pgr_createVerticesTable` para crear una topología basada en la " "geometría." -#: ../../build/doc/pgr_extractVertices.rst:213 +#: ../../build/doc/pgr_extractVertices.rst:214 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_extractVertices.rst:214 +#: ../../build/doc/pgr_extractVertices.rst:215 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_extractVertices.rst:215 +#: ../../build/doc/pgr_extractVertices.rst:216 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_floydWarshall.po b/locale/es/LC_MESSAGES/pgr_floydWarshall.po index ed4b5597c23..1c716b42db3 100644 --- a/locale/es/LC_MESSAGES/pgr_floydWarshall.po +++ b/locale/es/LC_MESSAGES/pgr_floydWarshall.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -70,15 +70,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_floydWarshall.rst:34 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_floydWarshall.rst:38 +#: ../../build/doc/pgr_floydWarshall.rst:39 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -90,7 +92,7 @@ msgid "" "`__ `2.0" " `__" msgstr "" -"**Versiones no soportadas:** `2.5 " +"**Versiones no sustentadas:** `2.5 " "`__ `2.4 " "`__ `2.3 " "`__" @@ -101,13 +103,13 @@ msgstr "" " `__" #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_floydWarshall.rst:47 -#: ../../build/doc/pgr_floydWarshall.rst:118 -#: ../../build/doc/pgr_floydWarshall.rst:137 +#: ../../build/doc/pgr_floydWarshall.rst:48 +#: ../../build/doc/pgr_floydWarshall.rst:119 +#: ../../build/doc/pgr_floydWarshall.rst:138 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_floydWarshall.rst:49 +#: ../../build/doc/pgr_floydWarshall.rst:50 msgid "" "The Floyd-Warshall algorithm, also known as Floyd's algorithm, is a good " "choice to calculate the sum of the costs of the shortest path for each pair " @@ -119,15 +121,15 @@ msgstr "" "para cada par de nodos en el grafo, para *grafos densos*. Usamos la " "implementación de Boost que se ejecuta en :math:`\\Theta(V^3)` tiempo," -#: ../../build/doc/pgr_floydWarshall.rst:72 +#: ../../build/doc/pgr_floydWarshall.rst:73 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_floydWarshall.rst:55 +#: ../../build/doc/pgr_floydWarshall.rst:56 msgid "It does not return a path." msgstr "No devuelve una ruta." -#: ../../build/doc/pgr_floydWarshall.rst:56 +#: ../../build/doc/pgr_floydWarshall.rst:57 msgid "" "Returns the sum of the costs of the shortest path for each pair of nodes in " "the graph." @@ -135,11 +137,11 @@ msgstr "" "Devuelve la suma de los costos de la ruta más corta para cada par de nodos " "del grafo." -#: ../../build/doc/pgr_floydWarshall.rst:57 +#: ../../build/doc/pgr_floydWarshall.rst:58 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/pgr_floydWarshall.rst:58 +#: ../../build/doc/pgr_floydWarshall.rst:59 msgid "" "Boost returns a :math:`V \\times V` matrix, where the infinity values. " "Represent the distance between vertices for which there is no path." @@ -147,7 +149,7 @@ msgstr "" "Boost devuelve una matriz:math:`V \\times V` donde los valores son " "infinitos. Representar la distancia entre vértices para los que no hay ruta." -#: ../../build/doc/pgr_floydWarshall.rst:61 +#: ../../build/doc/pgr_floydWarshall.rst:62 msgid "" "We return only the non infinity values in form of a set of `(start_vid, " "end_vid, agg_cost)`." @@ -155,7 +157,7 @@ msgstr "" "Solo devolvemos los valores no infinitos en forma de un conjunto de " "`(start_vid, end_vid, agg_cost)`." -#: ../../build/doc/pgr_floydWarshall.rst:63 +#: ../../build/doc/pgr_floydWarshall.rst:64 msgid "" "Let be the case the values returned are stored in a table, so the unique " "index would be the pair: `(start_vid, end_vid)`." @@ -163,32 +165,32 @@ msgstr "" "Sea el caso, los valores devueltos se almacenan en una tabla, por lo que el " "índice único sería el par: '(start_vid, end_vid)'." -#: ../../build/doc/pgr_floydWarshall.rst:66 +#: ../../build/doc/pgr_floydWarshall.rst:67 msgid "For the undirected graph, the results are symmetric." msgstr "Para el grafo no dirigido, los resultados son simétricos." -#: ../../build/doc/pgr_floydWarshall.rst:68 +#: ../../build/doc/pgr_floydWarshall.rst:69 msgid "The `agg_cost` of `(u, v)` is the same as for `(v, u)`." msgstr "El `agg_cost` de `(u, v)` es el mismo que para `(v, u)`." -#: ../../build/doc/pgr_floydWarshall.rst:70 +#: ../../build/doc/pgr_floydWarshall.rst:71 msgid "When `start_vid` = `end_vid`, the `agg_cost` = 0." msgstr "En caso de `start_vid` = `end_vid`, el `agg_cost` = 0." -#: ../../build/doc/pgr_floydWarshall.rst:72 +#: ../../build/doc/pgr_floydWarshall.rst:73 msgid "**Recommended, use a bounding box of no more than 3500 edges.**" msgstr "" "**Recomendación: utilice un cuadro delimitador de no más de 3500 aristas.**" -#: ../../build/doc/pgr_floydWarshall.rst:75 +#: ../../build/doc/pgr_floydWarshall.rst:76 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_floydWarshall.rst:78 +#: ../../build/doc/pgr_floydWarshall.rst:79 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_floydWarshall.rst:86 +#: ../../build/doc/pgr_floydWarshall.rst:87 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -196,11 +198,11 @@ msgstr "Uso de valores predeterminados" msgid "Example 1" msgstr "Ejemplo 1" -#: ../../build/doc/pgr_floydWarshall.rst:93 +#: ../../build/doc/pgr_floydWarshall.rst:94 msgid "For vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" msgstr "Para vértices :math:`\\{1, 2, 3, 4\\}` en un grafo **dirigido**" -#: ../../build/doc/pgr_floydWarshall.rst:100 +#: ../../build/doc/pgr_floydWarshall.rst:101 msgid "Complete Signature" msgstr "Firma completa" @@ -208,45 +210,45 @@ msgstr "Firma completa" msgid "Example 2" msgstr "Ejemplo 2" -#: ../../build/doc/pgr_floydWarshall.rst:108 +#: ../../build/doc/pgr_floydWarshall.rst:109 msgid "For vertices :math:`\\{1, 2, 3, 4\\}` on an **undirected** graph" msgstr "Para vértices :math:`\\{1, 2, 3, 4\\}` en un grafo **no dirigido**" -#: ../../build/doc/pgr_floydWarshall.rst:115 +#: ../../build/doc/pgr_floydWarshall.rst:116 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_floydWarshall.rst:118 +#: ../../build/doc/pgr_floydWarshall.rst:119 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_floydWarshall.rst:118 -#: ../../build/doc/pgr_floydWarshall.rst:137 +#: ../../build/doc/pgr_floydWarshall.rst:119 +#: ../../build/doc/pgr_floydWarshall.rst:138 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_floydWarshall.rst:120 +#: ../../build/doc/pgr_floydWarshall.rst:121 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_floydWarshall.rst:120 +#: ../../build/doc/pgr_floydWarshall.rst:121 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_floydWarshall.rst:120 +#: ../../build/doc/pgr_floydWarshall.rst:121 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." -#: ../../build/doc/pgr_floydWarshall.rst:121 +#: ../../build/doc/pgr_floydWarshall.rst:122 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_floydWarshall.rst:121 +#: ../../build/doc/pgr_floydWarshall.rst:122 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_floydWarshall.rst:121 +#: ../../build/doc/pgr_floydWarshall.rst:122 msgid "" "(optional) Default is true (is directed). When set to false the graph is " "considered as Undirected" @@ -254,7 +256,7 @@ msgstr "" "(opcional) El valor predeterminado es verdadero (es Dirigido). Cuando se " "establece en falso, el grafo se considera como No Dirigido" -#: ../../build/doc/pgr_floydWarshall.rst:125 +#: ../../build/doc/pgr_floydWarshall.rst:126 msgid "Inner query" msgstr "Consulta interna" @@ -274,7 +276,7 @@ msgstr "" "columnas:" #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_floydWarshall.rst:137 +#: ../../build/doc/pgr_floydWarshall.rst:138 msgid "Column" msgstr "Columna" @@ -364,56 +366,56 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_floydWarshall.rst:132 +#: ../../build/doc/pgr_floydWarshall.rst:133 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_floydWarshall.rst:134 +#: ../../build/doc/pgr_floydWarshall.rst:135 msgid "Returns set of ``(start_vid, end_vid, agg_cost)``" msgstr "Devuelve un conjunto de ``(start_vid, end_vid, agg_cost)``" -#: ../../build/doc/pgr_floydWarshall.rst:139 +#: ../../build/doc/pgr_floydWarshall.rst:140 msgid "**start_vid**" msgstr "**start_vid**" -#: ../../build/doc/pgr_floydWarshall.rst:139 #: ../../build/doc/pgr_floydWarshall.rst:140 +#: ../../build/doc/pgr_floydWarshall.rst:141 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_floydWarshall.rst:139 +#: ../../build/doc/pgr_floydWarshall.rst:140 msgid "Identifier of the starting vertex." msgstr "Identificador del vértice inicial." -#: ../../build/doc/pgr_floydWarshall.rst:140 +#: ../../build/doc/pgr_floydWarshall.rst:141 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_floydWarshall.rst:140 +#: ../../build/doc/pgr_floydWarshall.rst:141 msgid "Identifier of the ending vertex." msgstr "Identificador del vértice final." -#: ../../build/doc/pgr_floydWarshall.rst:141 +#: ../../build/doc/pgr_floydWarshall.rst:142 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_floydWarshall.rst:141 +#: ../../build/doc/pgr_floydWarshall.rst:142 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_floydWarshall.rst:141 +#: ../../build/doc/pgr_floydWarshall.rst:142 msgid "Total cost from ``start_vid`` to ``end_vid``." msgstr "Costo total de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_floydWarshall.rst:145 +#: ../../build/doc/pgr_floydWarshall.rst:146 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_floydWarshall.rst:147 +#: ../../build/doc/pgr_floydWarshall.rst:148 msgid ":doc:`pgr_johnson`" msgstr ":doc:`pgr_johnson`" -#: ../../build/doc/pgr_floydWarshall.rst:148 +#: ../../build/doc/pgr_floydWarshall.rst:149 msgid "" "`Boost floyd-Warshall " "`_ " @@ -423,27 +425,18 @@ msgstr "" "`_ en " "Boost" -#: ../../build/doc/pgr_floydWarshall.rst:149 +#: ../../build/doc/pgr_floydWarshall.rst:150 msgid "Queries uses the :doc:`sampledata` network." msgstr "Queries utiliza la red :doc:`sampledata`" -#: ../../build/doc/pgr_floydWarshall.rst:152 +#: ../../build/doc/pgr_floydWarshall.rst:153 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_floydWarshall.rst:153 +#: ../../build/doc/pgr_floydWarshall.rst:154 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_floydWarshall.rst:154 +#: ../../build/doc/pgr_floydWarshall.rst:155 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_full_version.po b/locale/es/LC_MESSAGES/pgr_full_version.po index 598fe318eeb..bb54acf3db2 100644 --- a/locale/es/LC_MESSAGES/pgr_full_version.po +++ b/locale/es/LC_MESSAGES/pgr_full_version.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -10,9 +10,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -52,22 +52,24 @@ msgstr "Soporte" #: ../../build/doc/pgr_full_version.rst:23 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual​(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_full_version.rst:28 -#: ../../build/doc/pgr_full_version.rst:54 +#: ../../build/doc/pgr_full_version.rst:29 +#: ../../build/doc/pgr_full_version.rst:55 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_full_version.rst:30 +#: ../../build/doc/pgr_full_version.rst:31 msgid "Get the details of pgRouting version information" msgstr "Obtenga los detalles de la información de la versión de pgRouting" -#: ../../build/doc/pgr_full_version.rst:36 +#: ../../build/doc/pgr_full_version.rst:37 msgid "Signatures" msgstr "Firmas" @@ -75,27 +77,26 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_full_version.rst:44 +#: ../../build/doc/pgr_full_version.rst:45 msgid "Information when this documentation was build" msgstr "Información sobre cuándo se construyó esta documentación" -#: ../../build/doc/pgr_full_version.rst:51 +#: ../../build/doc/pgr_full_version.rst:52 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_full_version.rst:54 +#: ../../build/doc/pgr_full_version.rst:55 msgid "Column" msgstr "Columna" -#: ../../build/doc/pgr_full_version.rst:54 +#: ../../build/doc/pgr_full_version.rst:55 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_full_version.rst:56 +#: ../../build/doc/pgr_full_version.rst:57 msgid "**version**" msgstr "**version**" -#: ../../build/doc/pgr_full_version.rst:56 #: ../../build/doc/pgr_full_version.rst:57 #: ../../build/doc/pgr_full_version.rst:58 #: ../../build/doc/pgr_full_version.rst:59 @@ -104,100 +105,94 @@ msgstr "**version**" #: ../../build/doc/pgr_full_version.rst:62 #: ../../build/doc/pgr_full_version.rst:63 #: ../../build/doc/pgr_full_version.rst:64 +#: ../../build/doc/pgr_full_version.rst:65 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_full_version.rst:56 +#: ../../build/doc/pgr_full_version.rst:57 msgid "pgRouting version" msgstr "Versión de pgRouting" -#: ../../build/doc/pgr_full_version.rst:57 +#: ../../build/doc/pgr_full_version.rst:58 msgid "**build_type**" msgstr "**build_type**" -#: ../../build/doc/pgr_full_version.rst:57 +#: ../../build/doc/pgr_full_version.rst:58 msgid "The Build type" msgstr "El tipo de Compilación" -#: ../../build/doc/pgr_full_version.rst:58 +#: ../../build/doc/pgr_full_version.rst:59 msgid "**compile_date**" msgstr "**compile_date**" -#: ../../build/doc/pgr_full_version.rst:58 +#: ../../build/doc/pgr_full_version.rst:59 msgid "Compilation date" msgstr "Fecha de compilación" -#: ../../build/doc/pgr_full_version.rst:59 +#: ../../build/doc/pgr_full_version.rst:60 msgid "**library**" msgstr "**library**" -#: ../../build/doc/pgr_full_version.rst:59 +#: ../../build/doc/pgr_full_version.rst:60 msgid "Library name and version" msgstr "Nombre y versión de la biblioteca" -#: ../../build/doc/pgr_full_version.rst:60 +#: ../../build/doc/pgr_full_version.rst:61 msgid "**system**" msgstr "**system**" -#: ../../build/doc/pgr_full_version.rst:60 +#: ../../build/doc/pgr_full_version.rst:61 msgid "Operative system" msgstr "Sistema operativo" -#: ../../build/doc/pgr_full_version.rst:61 +#: ../../build/doc/pgr_full_version.rst:62 msgid "**postgreSQL**" msgstr "**postgreSQL**" -#: ../../build/doc/pgr_full_version.rst:61 +#: ../../build/doc/pgr_full_version.rst:62 msgid "pgsql used" msgstr "pgsql utilizado" -#: ../../build/doc/pgr_full_version.rst:62 +#: ../../build/doc/pgr_full_version.rst:63 msgid "**compiler**" msgstr "**compiler**" -#: ../../build/doc/pgr_full_version.rst:62 +#: ../../build/doc/pgr_full_version.rst:63 msgid "Compiler and version" msgstr "Compilador y versión" -#: ../../build/doc/pgr_full_version.rst:63 +#: ../../build/doc/pgr_full_version.rst:64 msgid "**boost**" msgstr "**boost**" -#: ../../build/doc/pgr_full_version.rst:63 +#: ../../build/doc/pgr_full_version.rst:64 msgid "Boost version" msgstr "Versión de Boost" -#: ../../build/doc/pgr_full_version.rst:64 +#: ../../build/doc/pgr_full_version.rst:65 msgid "**hash**" msgstr "**hash**" -#: ../../build/doc/pgr_full_version.rst:64 +#: ../../build/doc/pgr_full_version.rst:65 msgid "Git hash of pgRouting build" msgstr "Hash de Git de pgRouting" -#: ../../build/doc/pgr_full_version.rst:69 +#: ../../build/doc/pgr_full_version.rst:70 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_full_version.rst:71 +#: ../../build/doc/pgr_full_version.rst:72 msgid ":doc:`pgr_version`" msgstr ":doc:`pgr_version`" -#: ../../build/doc/pgr_full_version.rst:74 +#: ../../build/doc/pgr_full_version.rst:75 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_full_version.rst:75 +#: ../../build/doc/pgr_full_version.rst:76 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_full_version.rst:76 +#: ../../build/doc/pgr_full_version.rst:77 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones Soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_johnson.po b/locale/es/LC_MESSAGES/pgr_johnson.po index 3ed6e79df33..8f1998289ce 100644 --- a/locale/es/LC_MESSAGES/pgr_johnson.po +++ b/locale/es/LC_MESSAGES/pgr_johnson.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -70,15 +70,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_johnson.rst:34 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual​(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_johnson.rst:38 +#: ../../build/doc/pgr_johnson.rst:39 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -98,12 +100,12 @@ msgstr "" "`2.1 `__ " "`2.0 `__" -#: ../../build/doc/pgRouting-concepts.rst:8 ../../build/doc/pgr_johnson.rst:47 -#: ../../build/doc/pgr_johnson.rst:116 ../../build/doc/pgr_johnson.rst:135 +#: ../../build/doc/pgRouting-concepts.rst:8 ../../build/doc/pgr_johnson.rst:48 +#: ../../build/doc/pgr_johnson.rst:117 ../../build/doc/pgr_johnson.rst:136 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_johnson.rst:49 +#: ../../build/doc/pgr_johnson.rst:50 msgid "" "The Johnson algorithm, is a good choice to calculate the sum of the costs of" " the shortest path for each pair of nodes in the graph, for *sparse graphs*." @@ -115,15 +117,15 @@ msgstr "" " dispersos*. Utiliza la implementación del Boost que se ejecuta en " ":math:`O(V E \\log V)` tiempo," -#: ../../build/doc/pgr_johnson.rst:69 +#: ../../build/doc/pgr_johnson.rst:70 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_johnson.rst:54 +#: ../../build/doc/pgr_johnson.rst:55 msgid "It does not return a path." msgstr "No devuelve una ruta." -#: ../../build/doc/pgr_johnson.rst:55 +#: ../../build/doc/pgr_johnson.rst:56 msgid "" "Returns the sum of the costs of the shortest path for each pair of nodes in " "the graph." @@ -131,11 +133,11 @@ msgstr "" "Devuelve la suma de los costos de la ruta más corta para cada par de nodos " "del grafo." -#: ../../build/doc/pgr_johnson.rst:56 +#: ../../build/doc/pgr_johnson.rst:57 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/pgr_johnson.rst:57 +#: ../../build/doc/pgr_johnson.rst:58 msgid "" "Boost returns a :math:`V \\times V` matrix, where the infinity values. " "Represent the distance between vertices for which there is no path." @@ -143,7 +145,7 @@ msgstr "" "Boost devuelve una matriz:math:`V \\times V` donde los valores son " "infinitos. Representar la distancia entre vértices para los que no hay ruta." -#: ../../build/doc/pgr_johnson.rst:60 +#: ../../build/doc/pgr_johnson.rst:61 msgid "" "We return only the non infinity values in form of a set of `(start_vid, " "end_vid, agg_cost)`." @@ -151,7 +153,7 @@ msgstr "" "Solo devolvemos los valores no infinitos en forma de un conjunto de " "`(start_vid, end_vid, agg_cost)`." -#: ../../build/doc/pgr_johnson.rst:62 +#: ../../build/doc/pgr_johnson.rst:63 msgid "" "Let be the case the values returned are stored in a table, so the unique " "index would be the pair: `(start_vid, end_vid)`." @@ -159,27 +161,27 @@ msgstr "" "Sea el caso, los valores devueltos se almacenan en una tabla, por lo que el " "índice único sería el par: '(start_vid, end_vid)'." -#: ../../build/doc/pgr_johnson.rst:65 +#: ../../build/doc/pgr_johnson.rst:66 msgid "For the undirected graph, the results are symmetric." msgstr "Para el grafo no dirigido, los resultados son simétricos." -#: ../../build/doc/pgr_johnson.rst:67 +#: ../../build/doc/pgr_johnson.rst:68 msgid "The `agg_cost` of `(u, v)` is the same as for `(v, u)`." msgstr "El `agg_cost` de `(u, v)` es el mismo que para `(v, u)`." -#: ../../build/doc/pgr_johnson.rst:69 +#: ../../build/doc/pgr_johnson.rst:70 msgid "When `start_vid` = `end_vid`, the `agg_cost` = 0." msgstr "En caso de `start_vid` = `end_vid`, el `agg_cost` = 0." -#: ../../build/doc/pgr_johnson.rst:72 +#: ../../build/doc/pgr_johnson.rst:73 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_johnson.rst:75 +#: ../../build/doc/pgr_johnson.rst:76 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_johnson.rst:84 +#: ../../build/doc/pgr_johnson.rst:85 msgid "Using default" msgstr "Uso de valores predeterminados" @@ -187,11 +189,11 @@ msgstr "Uso de valores predeterminados" msgid "Example 1" msgstr "Ejemplo 1" -#: ../../build/doc/pgr_johnson.rst:91 +#: ../../build/doc/pgr_johnson.rst:92 msgid "For vertices :math:`\\{1, 2, 3, 4\\}` on a **directed** graph" msgstr "Para vértices :math:`\\{1, 2, 3, 4\\}` en un grafo **dirigido**" -#: ../../build/doc/pgr_johnson.rst:98 +#: ../../build/doc/pgr_johnson.rst:99 msgid "Complete Signature" msgstr "Firma completa" @@ -199,44 +201,44 @@ msgstr "Firma completa" msgid "Example 2" msgstr "Ejemplo 2" -#: ../../build/doc/pgr_johnson.rst:106 +#: ../../build/doc/pgr_johnson.rst:107 msgid "For vertices :math:`\\{1, 2, 3, 4\\}` on an **undirected** graph" msgstr "Para vértices :math:`\\{1, 2, 3, 4\\}` en un grafo **no dirigido**" -#: ../../build/doc/pgr_johnson.rst:113 +#: ../../build/doc/pgr_johnson.rst:114 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_johnson.rst:116 +#: ../../build/doc/pgr_johnson.rst:117 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_johnson.rst:116 ../../build/doc/pgr_johnson.rst:135 +#: ../../build/doc/pgr_johnson.rst:117 ../../build/doc/pgr_johnson.rst:136 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_johnson.rst:118 +#: ../../build/doc/pgr_johnson.rst:119 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_johnson.rst:118 +#: ../../build/doc/pgr_johnson.rst:119 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_johnson.rst:118 +#: ../../build/doc/pgr_johnson.rst:119 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." -#: ../../build/doc/pgr_johnson.rst:119 +#: ../../build/doc/pgr_johnson.rst:120 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_johnson.rst:119 +#: ../../build/doc/pgr_johnson.rst:120 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_johnson.rst:119 +#: ../../build/doc/pgr_johnson.rst:120 msgid "" "(optional) Default is true (is directed). When set to false the graph is " "considered as Undirected" @@ -244,7 +246,7 @@ msgstr "" "(opcional) El valor predeterminado es verdadero (es Dirigido). Cuando se " "establece en falso, el grafo se considera como No Dirigido" -#: ../../build/doc/pgr_johnson.rst:123 +#: ../../build/doc/pgr_johnson.rst:124 msgid "Inner query" msgstr "Consulta interna" @@ -264,7 +266,7 @@ msgstr "" "columnas:" #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_johnson.rst:135 +#: ../../build/doc/pgr_johnson.rst:136 msgid "Column" msgstr "Columna" @@ -354,55 +356,55 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_johnson.rst:130 +#: ../../build/doc/pgr_johnson.rst:131 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_johnson.rst:132 +#: ../../build/doc/pgr_johnson.rst:133 msgid "Returns set of ``(start_vid, end_vid, agg_cost)``" msgstr "Devuelve un conjunto de ``(start_vid, end_vid, agg_cost)``" -#: ../../build/doc/pgr_johnson.rst:137 +#: ../../build/doc/pgr_johnson.rst:138 msgid "**start_vid**" msgstr "**start_vid**" -#: ../../build/doc/pgr_johnson.rst:137 ../../build/doc/pgr_johnson.rst:138 +#: ../../build/doc/pgr_johnson.rst:138 ../../build/doc/pgr_johnson.rst:139 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_johnson.rst:137 +#: ../../build/doc/pgr_johnson.rst:138 msgid "Identifier of the starting vertex." msgstr "Identificador del vértice inicial." -#: ../../build/doc/pgr_johnson.rst:138 +#: ../../build/doc/pgr_johnson.rst:139 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_johnson.rst:138 +#: ../../build/doc/pgr_johnson.rst:139 msgid "Identifier of the ending vertex." msgstr "Identificador del vértice final." -#: ../../build/doc/pgr_johnson.rst:139 +#: ../../build/doc/pgr_johnson.rst:140 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_johnson.rst:139 +#: ../../build/doc/pgr_johnson.rst:140 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_johnson.rst:139 +#: ../../build/doc/pgr_johnson.rst:140 msgid "Total cost from ``start_vid`` to ``end_vid``." msgstr "Costo total de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_johnson.rst:143 +#: ../../build/doc/pgr_johnson.rst:144 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_johnson.rst:145 +#: ../../build/doc/pgr_johnson.rst:146 msgid ":doc:`pgr_floydWarshall`" msgstr ":doc:`pgr_floydWarshall`" -#: ../../build/doc/pgr_johnson.rst:146 +#: ../../build/doc/pgr_johnson.rst:147 msgid "" "`Boost Johnson " "`_ " @@ -412,27 +414,18 @@ msgstr "" "`_ " "algorithm implementation." -#: ../../build/doc/pgr_johnson.rst:147 +#: ../../build/doc/pgr_johnson.rst:148 msgid "Queries uses the :doc:`sampledata` network." msgstr "Queries utiliza la red :doc:`sampledata`" -#: ../../build/doc/pgr_johnson.rst:150 +#: ../../build/doc/pgr_johnson.rst:151 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_johnson.rst:151 +#: ../../build/doc/pgr_johnson.rst:152 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_johnson.rst:152 +#: ../../build/doc/pgr_johnson.rst:153 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_kruskal.po b/locale/es/LC_MESSAGES/pgr_kruskal.po index 9f087c13894..e330bd2b74a 100644 --- a/locale/es/LC_MESSAGES/pgr_kruskal.po +++ b/locale/es/LC_MESSAGES/pgr_kruskal.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -58,18 +58,20 @@ msgstr "Soporte" #: ../../build/doc/pgr_kruskal.rst:28 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskal.rst:32 -#: ../../build/doc/pgr_kruskal.rst:73 ../../build/doc/pgr_kruskal.rst:92 +#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskal.rst:33 +#: ../../build/doc/pgr_kruskal.rst:74 ../../build/doc/pgr_kruskal.rst:93 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_kruskal.rst:34 +#: ../../build/doc/pgr_kruskal.rst:35 msgid "" "This algorithm finds the minimum spanning forest in a possibly disconnected " "graph using Kruskal's algorithm." @@ -77,7 +79,7 @@ msgstr "" "Este algoritmo encuentra el bosque de expansión mínimo en un grafo " "posiblemente desconectado usando el algoritmo de Kruskal." -#: ../../build/doc/pgr_kruskal.rst:37 +#: ../../build/doc/pgr_kruskal.rst:38 msgid "**The main Characteristics are:**" msgstr "**Las características principales son:**" @@ -118,15 +120,15 @@ msgstr "Las aristas resultantes conforman un bosque." msgid "Kruskal's running time: :math:`O(E * log E)`" msgstr "Tiempo de ejecución de Kruskal: :math:`O(E * log E)`" -#: ../../build/doc/pgr_kruskal.rst:43 +#: ../../build/doc/pgr_kruskal.rst:44 msgid "EMPTY SET is returned when there are no edges in the graph." msgstr "EMPTY SET es regresado cuando no hay aristas en el grafo" -#: ../../build/doc/pgr_kruskal.rst:46 +#: ../../build/doc/pgr_kruskal.rst:47 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_kruskal.rst:52 +#: ../../build/doc/pgr_kruskal.rst:53 msgid "Summary" msgstr "Resumen" @@ -134,40 +136,40 @@ msgstr "Resumen" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_kruskal.rst:61 +#: ../../build/doc/pgr_kruskal.rst:62 msgid "Minimum Spanning Forest" msgstr "Bosque de expansión mínimo" -#: ../../build/doc/pgr_kruskal.rst:70 +#: ../../build/doc/pgr_kruskal.rst:71 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_kruskal.rst:73 +#: ../../build/doc/pgr_kruskal.rst:74 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskal.rst:73 -#: ../../build/doc/pgr_kruskal.rst:92 +#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskal.rst:74 +#: ../../build/doc/pgr_kruskal.rst:93 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_kruskal.rst:75 +#: ../../build/doc/pgr_kruskal.rst:76 msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/pgr_kruskal.rst:75 +#: ../../build/doc/pgr_kruskal.rst:76 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_kruskal.rst:75 +#: ../../build/doc/pgr_kruskal.rst:76 msgid "SQL query described in `Inner query`_." msgstr "Consulta SQL descrita en `Inner query`_." -#: ../../build/doc/pgr_kruskal.rst:79 +#: ../../build/doc/pgr_kruskal.rst:80 msgid "Inner query" msgstr "Consulta interna" -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskal.rst:92 +#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskal.rst:93 msgid "Column" msgstr "Columna" @@ -185,7 +187,7 @@ msgstr "**id**" msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_kruskal.rst:94 +#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_kruskal.rst:95 msgid "Identifier of the edge." msgstr "Identificador de la arista." @@ -205,7 +207,7 @@ msgstr "**objetivo**" msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." -#: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_kruskal.rst:95 +#: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_kruskal.rst:96 msgid "**cost**" msgstr "**cost**" @@ -266,47 +268,47 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_kruskal.rst:86 +#: ../../build/doc/pgr_kruskal.rst:87 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_kruskal.rst:89 +#: ../../build/doc/pgr_kruskal.rst:90 msgid "Returns SET OF ``(edge, cost)``" msgstr "Devuelve SET OF (conjunto de) ``(edge, cost)``" -#: ../../build/doc/pgr_kruskal.rst:94 +#: ../../build/doc/pgr_kruskal.rst:95 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/pgr_kruskal.rst:94 +#: ../../build/doc/pgr_kruskal.rst:95 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_kruskal.rst:95 +#: ../../build/doc/pgr_kruskal.rst:96 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_kruskal.rst:95 +#: ../../build/doc/pgr_kruskal.rst:96 msgid "Cost to traverse the edge." msgstr "Coste para atravezar el borde." -#: ../../build/doc/pgr_kruskal.rst:102 +#: ../../build/doc/pgr_kruskal.rst:103 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_kruskal.rst:104 +#: ../../build/doc/pgr_kruskal.rst:105 msgid ":doc:`spanningTree-family`" msgstr ":doc:`spanningTree-family`" -#: ../../build/doc/pgr_kruskal.rst:105 +#: ../../build/doc/pgr_kruskal.rst:106 msgid ":doc:`kruskal-family`" msgstr ":doc:`kruskal-family`" -#: ../../build/doc/pgr_kruskal.rst:106 +#: ../../build/doc/pgr_kruskal.rst:107 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_kruskal.rst:107 +#: ../../build/doc/pgr_kruskal.rst:108 msgid "" "`Boost: Kruskal's algorithm documentation " "`__" @@ -314,7 +316,7 @@ msgstr "" "`Boost: algoritmo de documentación de Kruskal " "`__" -#: ../../build/doc/pgr_kruskal.rst:108 +#: ../../build/doc/pgr_kruskal.rst:109 msgid "" "`Wikipedia: Kruskal's algorithm " "`__" @@ -322,21 +324,14 @@ msgstr "" "`Wikipedia: algoritmo de Kruskal " "`__" -#: ../../build/doc/pgr_kruskal.rst:111 +#: ../../build/doc/pgr_kruskal.rst:112 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_kruskal.rst:112 +#: ../../build/doc/pgr_kruskal.rst:113 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_kruskal.rst:113 +#: ../../build/doc/pgr_kruskal.rst:114 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_kruskalBFS.po b/locale/es/LC_MESSAGES/pgr_kruskalBFS.po index 2923d8fa705..f44f74197d9 100644 --- a/locale/es/LC_MESSAGES/pgr_kruskalBFS.po +++ b/locale/es/LC_MESSAGES/pgr_kruskalBFS.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -58,19 +58,21 @@ msgstr "Soporte" #: ../../build/doc/pgr_kruskalBFS.rst:29 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual​(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_kruskalBFS.rst:33 ../../build/doc/pgr_kruskalDD.rst:6 +#: ../../build/doc/pgr_kruskalBFS.rst:34 ../../build/doc/pgr_kruskalDD.rst:6 #: ../../build/doc/pgr_kruskalDFS.rst:7 ../../build/doc/pgr_kruskalDFS.rst:28 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_kruskalBFS.rst:35 +#: ../../build/doc/pgr_kruskalBFS.rst:36 msgid "" "Visits and extracts the nodes information in Breath First Search ordering of" " the Minimum Spanning Tree created using Prims's algorithm." @@ -79,7 +81,7 @@ msgstr "" "en Profundidad del Árbol de Expansión Mínima creado con el algoritmo de " "Prim." -#: ../../build/doc/pgr_kruskalBFS.rst:38 +#: ../../build/doc/pgr_kruskalBFS.rst:39 msgid "**The main Characteristics are:**" msgstr "**Las características principales son:**" @@ -120,23 +122,23 @@ msgstr "Las aristas resultantes conforman un bosque." msgid "Kruskal's running time: :math:`O(E * log E)`" msgstr "Tiempo de ejecución de Kruskal: :math:`O(E * log E)`" -#: ../../build/doc/pgr_kruskalBFS.rst:44 +#: ../../build/doc/pgr_kruskalBFS.rst:45 msgid "" "Returned tree nodes from a root vertex are on Breath First Search order" msgstr "" "Los nodos de árbol devueltos desde un vértice raíz están en orden de la " "Primera Búsqueda de Anchura" -#: ../../build/doc/pgr_kruskalBFS.rst:45 +#: ../../build/doc/pgr_kruskalBFS.rst:46 msgid "Breath First Search Running time: :math:`O(E + V)`" msgstr "" "Tiempo de ejecución de la Primera Búsqueda de Anchura: :math:`O(E + V)`" -#: ../../build/doc/pgr_kruskalBFS.rst:48 +#: ../../build/doc/pgr_kruskalBFS.rst:49 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_kruskalBFS.rst:61 +#: ../../build/doc/pgr_kruskalBFS.rst:62 msgid "Single vertex" msgstr "Un solo vértice" @@ -144,15 +146,15 @@ msgstr "Un solo vértice" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_kruskalBFS.rst:69 +#: ../../build/doc/pgr_kruskalBFS.rst:70 msgid "The Minimum Spanning Tree having as root vertex :math:`2`" msgstr "El Árbol de Expansión Mínimo que tiene como vértice raíz :math:`2`" -#: ../../build/doc/pgr_kruskalBFS.rst:79 +#: ../../build/doc/pgr_kruskalBFS.rst:80 msgid "Multiple vertices" msgstr "Múltiples Vértices" -#: ../../build/doc/pgr_kruskalBFS.rst:87 +#: ../../build/doc/pgr_kruskalBFS.rst:88 msgid "" "The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " ":math:`depth <= 3`" @@ -441,23 +443,23 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_vid`` to ``node``." msgstr "Costo agregado de ``start_vid`` a ``node``." -#: ../../build/doc/pgr_kruskalBFS.rst:101 +#: ../../build/doc/pgr_kruskalBFS.rst:102 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_kruskalBFS.rst:103 +#: ../../build/doc/pgr_kruskalBFS.rst:104 msgid ":doc:`spanningTree-family`" msgstr ":doc:`spanningTree-family`" -#: ../../build/doc/pgr_kruskalBFS.rst:104 +#: ../../build/doc/pgr_kruskalBFS.rst:105 msgid ":doc:`kruskal-family`" msgstr ":doc:`kruskal-family`" -#: ../../build/doc/pgr_kruskalBFS.rst:105 +#: ../../build/doc/pgr_kruskalBFS.rst:106 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_kruskalBFS.rst:106 +#: ../../build/doc/pgr_kruskalBFS.rst:107 msgid "" "`Boost: Kruskal's algorithm documentation " "`__" @@ -465,7 +467,7 @@ msgstr "" "`Boost: algoritmo de documentación de Kruskal " "`__" -#: ../../build/doc/pgr_kruskalBFS.rst:107 +#: ../../build/doc/pgr_kruskalBFS.rst:108 msgid "" "`Wikipedia: Kruskal's algorithm " "`__" @@ -473,21 +475,14 @@ msgstr "" "`Wikipedia: algoritmo de Kruskal " "`__" -#: ../../build/doc/pgr_kruskalBFS.rst:110 +#: ../../build/doc/pgr_kruskalBFS.rst:111 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_kruskalBFS.rst:111 +#: ../../build/doc/pgr_kruskalBFS.rst:112 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_kruskalBFS.rst:112 +#: ../../build/doc/pgr_kruskalBFS.rst:113 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_kruskalDD.po b/locale/es/LC_MESSAGES/pgr_kruskalDD.po index 5c2e9b0be16..363540640b2 100644 --- a/locale/es/LC_MESSAGES/pgr_kruskalDD.po +++ b/locale/es/LC_MESSAGES/pgr_kruskalDD.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -55,19 +55,21 @@ msgstr "Soporte" #: ../../build/doc/pgr_kruskalDD.rst:28 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual​(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_kruskalDD.rst:32 ../../build/doc/pgr_kruskalDD.rst:100 -#: ../../build/doc/pgr_kruskalDD.rst:142 +#: ../../build/doc/pgr_kruskalDD.rst:33 ../../build/doc/pgr_kruskalDD.rst:101 +#: ../../build/doc/pgr_kruskalDD.rst:143 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_kruskalDD.rst:34 +#: ../../build/doc/pgr_kruskalDD.rst:35 msgid "" "Using Kruskal's algorithm, extracts the nodes that have aggregate costs less" " than or equal to the value ``Distance`` from a **root** vertex (or " @@ -77,7 +79,7 @@ msgstr "" "agregados menores o iguales al valor ``Distance`` de un vértice (o vértices)" " **raíz** dentro del árbol de expansión mínimo calculado." -#: ../../build/doc/pgr_kruskalDD.rst:39 +#: ../../build/doc/pgr_kruskalDD.rst:40 msgid "**The main Characteristics are:**" msgstr "**Las características principales son:**" @@ -118,23 +120,23 @@ msgstr "Las aristas resultantes conforman un bosque." msgid "Kruskal's running time: :math:`O(E * log E)`" msgstr "Tiempo de ejecución de Kruskal: :math:`O(E * log E)`" -#: ../../build/doc/pgr_kruskalDD.rst:45 +#: ../../build/doc/pgr_kruskalDD.rst:46 msgid "" "Returned tree nodes from a root vertex are on Depth First Search order." msgstr "" "Los nodos de árbol devueltos de un vértice raíz están en el orden de Primera" " Búsqueda de Profundidad." -#: ../../build/doc/pgr_kruskalDD.rst:46 +#: ../../build/doc/pgr_kruskalDD.rst:47 msgid "Depth First Search running time: :math:`O(E + V)`" msgstr "" " Primera Búsqueda de Profundidad, tiempo de ejecución: :math:`O(E + V)`" -#: ../../build/doc/pgr_kruskalDD.rst:49 +#: ../../build/doc/pgr_kruskalDD.rst:50 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_kruskalDD.rst:62 +#: ../../build/doc/pgr_kruskalDD.rst:63 msgid "Single vertex" msgstr "Vértice único" @@ -142,7 +144,7 @@ msgstr "Vértice único" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_kruskalDD.rst:70 +#: ../../build/doc/pgr_kruskalDD.rst:71 msgid "" "The Minimum Spanning Tree starting on vertex :math:`2` with " ":math:`agg\\_cost <= 3.5`" @@ -150,11 +152,11 @@ msgstr "" "El árbol de expansión mínimo que comienza en el vértice:math:`2` con " ":math:`agg\\_cost <= 3.5`" -#: ../../build/doc/pgr_kruskalDD.rst:80 +#: ../../build/doc/pgr_kruskalDD.rst:81 msgid "Multiple vertices" msgstr "Múltiples Vértices" -#: ../../build/doc/pgr_kruskalDD.rst:88 +#: ../../build/doc/pgr_kruskalDD.rst:89 msgid "" "The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " ":math:`agg\\_cost <= 3.5`;" @@ -162,50 +164,50 @@ msgstr "" "El árbol de expansión mínimo que comienza en los vértices :math:`\\{13, " "2\\}` con :math:`agg\\_cost <= 3.5`;" -#: ../../build/doc/pgr_kruskalDD.rst:97 +#: ../../build/doc/pgr_kruskalDD.rst:98 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_kruskalDD.rst:100 +#: ../../build/doc/pgr_kruskalDD.rst:101 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_kruskalDD.rst:100 ../../build/doc/pgr_kruskalDD.rst:142 +#: ../../build/doc/pgr_kruskalDD.rst:101 ../../build/doc/pgr_kruskalDD.rst:143 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_kruskalDD.rst:102 +#: ../../build/doc/pgr_kruskalDD.rst:103 msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/pgr_kruskalDD.rst:102 +#: ../../build/doc/pgr_kruskalDD.rst:103 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_kruskalDD.rst:102 +#: ../../build/doc/pgr_kruskalDD.rst:103 msgid "SQL query described in `Inner query`_." msgstr "Consulta SQL descrita en `Consulta Interna`_." -#: ../../build/doc/pgr_kruskalDD.rst:103 +#: ../../build/doc/pgr_kruskalDD.rst:104 msgid "**Root vid**" msgstr "**Root vid**" -#: ../../build/doc/pgr_kruskalDD.rst:103 ../../build/doc/pgr_kruskalDD.rst:144 -#: ../../build/doc/pgr_kruskalDD.rst:145 ../../build/doc/pgr_kruskalDD.rst:149 -#: ../../build/doc/pgr_kruskalDD.rst:153 ../../build/doc/pgr_kruskalDD.rst:154 +#: ../../build/doc/pgr_kruskalDD.rst:104 ../../build/doc/pgr_kruskalDD.rst:145 +#: ../../build/doc/pgr_kruskalDD.rst:146 ../../build/doc/pgr_kruskalDD.rst:150 +#: ../../build/doc/pgr_kruskalDD.rst:154 ../../build/doc/pgr_kruskalDD.rst:155 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_kruskalDD.rst:103 +#: ../../build/doc/pgr_kruskalDD.rst:104 msgid "Identifier of the root vertex of the tree." msgstr "Identificador del vértice raíz del árbol." -#: ../../build/doc/pgr_kruskalDD.rst:105 +#: ../../build/doc/pgr_kruskalDD.rst:106 msgid "Used on `Single vertex`_" msgstr "Se utiliza en `Vértice único`_" -#: ../../build/doc/pgr_kruskalDD.rst:106 +#: ../../build/doc/pgr_kruskalDD.rst:107 msgid "" "When :math:`0` gets the spanning forest starting in aleatory nodes for each " "tree." @@ -213,48 +215,48 @@ msgstr "" "En caso de :math:`0` se consigue que el bosque de expansión comience en " "nodos aleatorios para cada árbol." -#: ../../build/doc/pgr_kruskalDD.rst:109 +#: ../../build/doc/pgr_kruskalDD.rst:110 msgid "**Root vids**" msgstr "**Root vids**" -#: ../../build/doc/pgr_kruskalDD.rst:109 +#: ../../build/doc/pgr_kruskalDD.rst:110 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_kruskalDD.rst:109 +#: ../../build/doc/pgr_kruskalDD.rst:110 msgid "Array of identifiers of the root vertices." msgstr "Arreglo de identificadores de los vértices raíz." -#: ../../build/doc/pgr_kruskalDD.rst:111 +#: ../../build/doc/pgr_kruskalDD.rst:112 msgid "Used on `Multiple vertices`_" msgstr "Utilizado en `Múltiples Vértices`_" -#: ../../build/doc/pgr_kruskalDD.rst:112 +#: ../../build/doc/pgr_kruskalDD.rst:113 msgid ":math:`0` values are ignored" msgstr "los valores :math:`0` son ignorados" -#: ../../build/doc/pgr_kruskalDD.rst:113 +#: ../../build/doc/pgr_kruskalDD.rst:114 msgid "For optimization purposes, any duplicated value is ignored." msgstr "Para fines de optimización, se omite cualquier valor duplicado." -#: ../../build/doc/pgr_kruskalDD.rst:115 +#: ../../build/doc/pgr_kruskalDD.rst:116 msgid "**Distance**" msgstr "**Distancia**" -#: ../../build/doc/pgr_kruskalDD.rst:115 +#: ../../build/doc/pgr_kruskalDD.rst:116 msgid "``ANY-NUMERIC``" msgstr "``ANY-NUMERIC``" -#: ../../build/doc/pgr_kruskalDD.rst:115 +#: ../../build/doc/pgr_kruskalDD.rst:116 msgid "Upper limit for the inclusion of the node in the result." msgstr "Límite superior para la inclusión del nodo en el resultado." -#: ../../build/doc/pgr_kruskalDD.rst:117 +#: ../../build/doc/pgr_kruskalDD.rst:118 msgid "When the value is Negative **throws error**" msgstr "Cuando el valor es Negativo **arroja error**" #: ../../build/doc/pgRouting-concepts.rst:19 -#: ../../build/doc/pgr_kruskalDD.rst:120 +#: ../../build/doc/pgr_kruskalDD.rst:121 msgid "Where:" msgstr "Donde:" @@ -263,7 +265,7 @@ msgid "ANY-INTEGER" msgstr "ANY-INTEGER" #: ../../build/doc/pgRouting-concepts.rst:21 -#: ../../build/doc/pgr_kruskalDD.rst:122 +#: ../../build/doc/pgr_kruskalDD.rst:123 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -271,16 +273,16 @@ msgstr "SMALLINT, INTEGER, BIGINT" msgid "ANY-NUMERIC" msgstr "ANY-NUMERIC" -#: ../../build/doc/pgr_kruskalDD.rst:123 +#: ../../build/doc/pgr_kruskalDD.rst:124 msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT, NUMERIC" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT, NUMERIC" -#: ../../build/doc/pgr_kruskalDD.rst:126 +#: ../../build/doc/pgr_kruskalDD.rst:127 msgid "Inner query" msgstr "Consulta interna" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_kruskalDD.rst:142 +#: ../../build/doc/pgr_kruskalDD.rst:143 msgid "Column" msgstr "Columna" @@ -319,7 +321,7 @@ msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_kruskalDD.rst:158 +#: ../../build/doc/pgr_kruskalDD.rst:159 msgid "**cost**" msgstr "**cost**" @@ -368,101 +370,101 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_kruskalDD.rst:135 +#: ../../build/doc/pgr_kruskalDD.rst:136 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_kruskalDD.rst:139 +#: ../../build/doc/pgr_kruskalDD.rst:140 msgid "Returns SET OF ``(seq, depth, start_vid, node, edge, cost, agg_cost)``" msgstr "" "devuelve el conjunto SET OF ``(seq, depth, start_vid, node, edge, cost, " "agg_cost)``" -#: ../../build/doc/pgr_kruskalDD.rst:144 +#: ../../build/doc/pgr_kruskalDD.rst:145 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_kruskalDD.rst:144 +#: ../../build/doc/pgr_kruskalDD.rst:145 msgid "Sequential value starting from :math:`1`." msgstr "Valor secuencial a partir de :math:`1`." -#: ../../build/doc/pgr_kruskalDD.rst:145 +#: ../../build/doc/pgr_kruskalDD.rst:146 msgid "**depth**" msgstr "**profundidad**" -#: ../../build/doc/pgr_kruskalDD.rst:145 +#: ../../build/doc/pgr_kruskalDD.rst:146 msgid "Depth of the ``node``." msgstr "Profundidad del ``nodo``." -#: ../../build/doc/pgr_kruskalDD.rst:147 +#: ../../build/doc/pgr_kruskalDD.rst:148 msgid ":math:`0` when ``node`` = ``start_vid``." msgstr ":math:`0` cuando ``node`` = ``start_vid``." -#: ../../build/doc/pgr_kruskalDD.rst:149 +#: ../../build/doc/pgr_kruskalDD.rst:150 msgid "**start_vid**" msgstr "**start_vid**" -#: ../../build/doc/pgr_kruskalDD.rst:149 +#: ../../build/doc/pgr_kruskalDD.rst:150 msgid "Identifier of the root vertex." msgstr "Identificador del vértice raíz." -#: ../../build/doc/pgr_kruskalDD.rst:151 +#: ../../build/doc/pgr_kruskalDD.rst:152 msgid "In `Multiple Vertices`_ results are in ascending order." msgstr "En `Múltiples Vértices`_ los resultados están en orden ascendente." -#: ../../build/doc/pgr_kruskalDD.rst:153 +#: ../../build/doc/pgr_kruskalDD.rst:154 msgid "**node**" msgstr "**node**" -#: ../../build/doc/pgr_kruskalDD.rst:153 +#: ../../build/doc/pgr_kruskalDD.rst:154 msgid "Identifier of ``node`` reached using ``edge``." msgstr "Identificador del ``node`` alcanzado usando ``edge``." -#: ../../build/doc/pgr_kruskalDD.rst:154 +#: ../../build/doc/pgr_kruskalDD.rst:155 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/pgr_kruskalDD.rst:154 +#: ../../build/doc/pgr_kruskalDD.rst:155 msgid "Identifier of the ``edge`` used to arrive to ``node``." msgstr "Identificador del ``edge`` utilizado para llegar a ''node''." -#: ../../build/doc/pgr_kruskalDD.rst:156 +#: ../../build/doc/pgr_kruskalDD.rst:157 msgid ":math:`-1` when ``node`` = ``start_vid``." msgstr ":math:`-1` cuando ``node`` = ``start_vid``." -#: ../../build/doc/pgr_kruskalDD.rst:158 ../../build/doc/pgr_kruskalDD.rst:159 +#: ../../build/doc/pgr_kruskalDD.rst:159 ../../build/doc/pgr_kruskalDD.rst:160 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_kruskalDD.rst:158 +#: ../../build/doc/pgr_kruskalDD.rst:159 msgid "Cost to traverse ``edge``." msgstr "Costo para atravesar ``edge``." -#: ../../build/doc/pgr_kruskalDD.rst:159 +#: ../../build/doc/pgr_kruskalDD.rst:160 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_kruskalDD.rst:159 +#: ../../build/doc/pgr_kruskalDD.rst:160 msgid "Aggregate cost from ``start_vid`` to ``node``." msgstr "Costo agregado de ``start_vid`` a ``node``." -#: ../../build/doc/pgr_kruskalDD.rst:167 +#: ../../build/doc/pgr_kruskalDD.rst:168 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_kruskalDD.rst:169 +#: ../../build/doc/pgr_kruskalDD.rst:170 msgid ":doc:`spanningTree-family`" msgstr ":doc:`spanningTree-family`" -#: ../../build/doc/pgr_kruskalDD.rst:170 +#: ../../build/doc/pgr_kruskalDD.rst:171 msgid ":doc:`kruskal-family`" msgstr ":doc:`kruskal-family`" -#: ../../build/doc/pgr_kruskalDD.rst:171 +#: ../../build/doc/pgr_kruskalDD.rst:172 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_kruskalDD.rst:172 +#: ../../build/doc/pgr_kruskalDD.rst:173 msgid "" "`Boost: Kruskal's algorithm documentation " "`__" @@ -470,7 +472,7 @@ msgstr "" "`Boost: algoritmo de documentación de Kruskal " "`__" -#: ../../build/doc/pgr_kruskalDD.rst:173 +#: ../../build/doc/pgr_kruskalDD.rst:174 msgid "" "`Wikipedia: Kruskal's algorithm " "`__" @@ -478,21 +480,14 @@ msgstr "" "`Wikipedia: algoritmo de Kruskal " "`__" -#: ../../build/doc/pgr_kruskalDD.rst:176 +#: ../../build/doc/pgr_kruskalDD.rst:177 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_kruskalDD.rst:177 +#: ../../build/doc/pgr_kruskalDD.rst:178 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_kruskalDD.rst:178 +#: ../../build/doc/pgr_kruskalDD.rst:179 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_kruskalDFS.po b/locale/es/LC_MESSAGES/pgr_kruskalDFS.po index 5b51285140d..7c5b1f20ff9 100644 --- a/locale/es/LC_MESSAGES/pgr_kruskalDFS.po +++ b/locale/es/LC_MESSAGES/pgr_kruskalDFS.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -58,20 +58,22 @@ msgstr "Soporte" #: ../../build/doc/pgr_kruskalDFS.rst:29 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/pgr_kruskalDFS.rst:33 -#: ../../build/doc/pgr_kruskalDFS.rst:100 -#: ../../build/doc/pgr_kruskalDFS.rst:121 +#: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/pgr_kruskalDFS.rst:34 +#: ../../build/doc/pgr_kruskalDFS.rst:101 +#: ../../build/doc/pgr_kruskalDFS.rst:122 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_kruskalDFS.rst:35 +#: ../../build/doc/pgr_kruskalDFS.rst:36 msgid "" "Visits and extracts the nodes information in Depth First Search ordering of " "the Minimum Spanning Tree created using Kruskal's algorithm." @@ -80,7 +82,7 @@ msgstr "" "Primera Profundidad del Árbol de Expansión Mínima creado con el algoritmo de" " Kruskal." -#: ../../build/doc/pgr_kruskalDFS.rst:38 +#: ../../build/doc/pgr_kruskalDFS.rst:39 msgid "**The main Characteristics are:**" msgstr "**Las características principales son:**" @@ -121,22 +123,22 @@ msgstr "Las aristas resultantes conforman un bosque." msgid "Kruskal's running time: :math:`O(E * log E)`" msgstr "Tiempo de ejecución de Kruskal: :math:`O(E * log E)`" -#: ../../build/doc/pgr_kruskalDFS.rst:44 +#: ../../build/doc/pgr_kruskalDFS.rst:45 msgid "Returned tree nodes from a root vertex are on Depth First Search order" msgstr "" "Los nodos de árbol devueltos desde un vértice raíz están en el orden de " "Búsqueda en Primera Profundidad " -#: ../../build/doc/pgr_kruskalDFS.rst:45 +#: ../../build/doc/pgr_kruskalDFS.rst:46 msgid "Depth First Search Running time: :math:`O(E + V)`" msgstr "" "Tiempo de ejecución de la Búsqueda en Primera Profundidad: :math:`O(E + V)`" -#: ../../build/doc/pgr_kruskalDFS.rst:48 +#: ../../build/doc/pgr_kruskalDFS.rst:49 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_kruskalDFS.rst:61 +#: ../../build/doc/pgr_kruskalDFS.rst:62 msgid "Single vertex" msgstr "Un solo vértice" @@ -144,15 +146,15 @@ msgstr "Un solo vértice" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_kruskalDFS.rst:69 +#: ../../build/doc/pgr_kruskalDFS.rst:70 msgid "The Minimum Spanning Tree starting on vertex :math:`2`" msgstr "El Árbol de Expansión Mínima que comienza en el vértice :math:`2`" -#: ../../build/doc/pgr_kruskalDFS.rst:79 +#: ../../build/doc/pgr_kruskalDFS.rst:80 msgid "Multiple vertices" msgstr "Múltiples Vértices" -#: ../../build/doc/pgr_kruskalDFS.rst:87 +#: ../../build/doc/pgr_kruskalDFS.rst:88 msgid "" "The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " ":math:`depth <= 3`" @@ -160,53 +162,53 @@ msgstr "" "El Árbol de Expansión Mínimo que comienza en los vértices :math:`\\{13, " "2\\}` con :math:`depth <= 3`" -#: ../../build/doc/pgr_kruskalDFS.rst:97 +#: ../../build/doc/pgr_kruskalDFS.rst:98 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_kruskalDFS.rst:100 -#: ../../build/doc/pgr_kruskalDFS.rst:121 +#: ../../build/doc/pgr_kruskalDFS.rst:101 +#: ../../build/doc/pgr_kruskalDFS.rst:122 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/pgr_kruskalDFS.rst:100 -#: ../../build/doc/pgr_kruskalDFS.rst:121 +#: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/pgr_kruskalDFS.rst:101 +#: ../../build/doc/pgr_kruskalDFS.rst:122 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_kruskalDFS.rst:102 +#: ../../build/doc/pgr_kruskalDFS.rst:103 msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/pgr_kruskalDFS.rst:102 +#: ../../build/doc/pgr_kruskalDFS.rst:103 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_kruskalDFS.rst:102 +#: ../../build/doc/pgr_kruskalDFS.rst:103 msgid "SQL query described in `Inner query`_." msgstr "Consulta SQL descrita en `Inner query`_." -#: ../../build/doc/pgr_kruskalDFS.rst:103 +#: ../../build/doc/pgr_kruskalDFS.rst:104 msgid "**Root vid**" msgstr "**Root vid**" #: ../../build/doc/pgr_kruskalDD.rst:8 ../../build/doc/pgr_kruskalDD.rst:9 #: ../../build/doc/pgr_kruskalDD.rst:13 ../../build/doc/pgr_kruskalDD.rst:17 -#: ../../build/doc/pgr_kruskalDD.rst:18 ../../build/doc/pgr_kruskalDFS.rst:103 -#: ../../build/doc/pgr_kruskalDFS.rst:123 +#: ../../build/doc/pgr_kruskalDD.rst:18 ../../build/doc/pgr_kruskalDFS.rst:104 +#: ../../build/doc/pgr_kruskalDFS.rst:124 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_kruskalDFS.rst:103 +#: ../../build/doc/pgr_kruskalDFS.rst:104 msgid "Identifier of the root vertex of the tree." msgstr "Identificador del vértice raíz del árbol." -#: ../../build/doc/pgr_kruskalDFS.rst:105 +#: ../../build/doc/pgr_kruskalDFS.rst:106 msgid "Used on `Single vertex`_" msgstr "Se utiliza en `Vértice único`_" -#: ../../build/doc/pgr_kruskalDFS.rst:106 +#: ../../build/doc/pgr_kruskalDFS.rst:107 msgid "" "When value is :math:`0` then gets the spanning forest starting in aleatory " "nodes for each tree in the forest." @@ -214,56 +216,56 @@ msgstr "" "Cuando el valor es :math:`0` se obtiene el bosque de expansión que comienza " "en nodos aleatorios para cada árbol del bosque." -#: ../../build/doc/pgr_kruskalDFS.rst:109 +#: ../../build/doc/pgr_kruskalDFS.rst:110 msgid "**Root vids**" msgstr "**Root vids**" -#: ../../build/doc/pgr_kruskalDFS.rst:109 +#: ../../build/doc/pgr_kruskalDFS.rst:110 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_kruskalDFS.rst:109 +#: ../../build/doc/pgr_kruskalDFS.rst:110 msgid "Array of identifiers of the root vertices." msgstr "Arreglo de identificadores de los vértices raíz." -#: ../../build/doc/pgr_kruskalDFS.rst:111 +#: ../../build/doc/pgr_kruskalDFS.rst:112 msgid "Used on `Multiple vertices`_" msgstr "Utilizado en `Múltiples Vértices`_" -#: ../../build/doc/pgr_kruskalDFS.rst:112 +#: ../../build/doc/pgr_kruskalDFS.rst:113 msgid ":math:`0` values are ignored" msgstr "los valores :math:`0` son ignorados" -#: ../../build/doc/pgr_kruskalDFS.rst:113 +#: ../../build/doc/pgr_kruskalDFS.rst:114 msgid "For optimization purposes, any duplicated value is ignored." msgstr "Para fines de optimización, se omite cualquier valor duplicado." -#: ../../build/doc/pgr_kruskalDFS.rst:117 +#: ../../build/doc/pgr_kruskalDFS.rst:118 msgid "Optional Parameters" msgstr "Parámetros opcionales" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_kruskalDFS.rst:121 +#: ../../build/doc/pgr_kruskalDFS.rst:122 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_kruskalDFS.rst:123 +#: ../../build/doc/pgr_kruskalDFS.rst:124 msgid "**max_depth**" msgstr "**max_depth**" -#: ../../build/doc/pgr_kruskalDFS.rst:123 +#: ../../build/doc/pgr_kruskalDFS.rst:124 msgid ":math:`9223372036854775807`" msgstr ":math:`9223372036854775807`" -#: ../../build/doc/pgr_kruskalDFS.rst:123 +#: ../../build/doc/pgr_kruskalDFS.rst:124 msgid "Upper limit for depth of node in the tree" msgstr "Límite superior para la profundidad del nodo en el árbol" -#: ../../build/doc/pgr_kruskalDFS.rst:125 +#: ../../build/doc/pgr_kruskalDFS.rst:126 msgid "When value is ``Negative`` then **throws error**" msgstr "Cuando el valor es ``Negativo`` entonces **produce error**" -#: ../../build/doc/pgr_kruskalDFS.rst:129 +#: ../../build/doc/pgr_kruskalDFS.rst:130 msgid "Inner query" msgstr "Consulta interna" @@ -364,7 +366,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_kruskalDFS.rst:138 +#: ../../build/doc/pgr_kruskalDFS.rst:139 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -442,23 +444,23 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_vid`` to ``node``." msgstr "Costo agregado de ``start_vid`` a ``node``." -#: ../../build/doc/pgr_kruskalDFS.rst:147 +#: ../../build/doc/pgr_kruskalDFS.rst:148 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_kruskalDFS.rst:149 +#: ../../build/doc/pgr_kruskalDFS.rst:150 msgid ":doc:`spanningTree-family`" msgstr ":doc:`spanningTree-family`" -#: ../../build/doc/pgr_kruskalDFS.rst:150 +#: ../../build/doc/pgr_kruskalDFS.rst:151 msgid ":doc:`kruskal-family`" msgstr ":doc:`kruskal-family`" -#: ../../build/doc/pgr_kruskalDFS.rst:151 +#: ../../build/doc/pgr_kruskalDFS.rst:152 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_kruskalDFS.rst:152 +#: ../../build/doc/pgr_kruskalDFS.rst:153 msgid "" "`Boost: Kruskal's algorithm documentation " "`__" @@ -466,7 +468,7 @@ msgstr "" "`Boost: algoritmo de documentación de Kruskal " "`__" -#: ../../build/doc/pgr_kruskalDFS.rst:153 +#: ../../build/doc/pgr_kruskalDFS.rst:154 msgid "" "`Wikipedia: Kruskal's algorithm " "`__" @@ -474,21 +476,14 @@ msgstr "" "`Wikipedia: algoritmo de Kruskal " "`__" -#: ../../build/doc/pgr_kruskalDFS.rst:156 +#: ../../build/doc/pgr_kruskalDFS.rst:157 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_kruskalDFS.rst:157 +#: ../../build/doc/pgr_kruskalDFS.rst:158 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_kruskalDFS.rst:158 +#: ../../build/doc/pgr_kruskalDFS.rst:159 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_lineGraph.po b/locale/es/LC_MESSAGES/pgr_lineGraph.po index 31e234940e6..00f683b5183 100644 --- a/locale/es/LC_MESSAGES/pgr_lineGraph.po +++ b/locale/es/LC_MESSAGES/pgr_lineGraph.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -127,38 +127,40 @@ msgstr "Soporte" #: ../../build/doc/pgr_lineGraph.rst:32 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_lineGraph.rst:35 +#: ../../build/doc/pgr_lineGraph.rst:36 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " "`__" msgstr "" -"**Versiones no soportadas:** `2.6 " +"**Versiones no sustentadas:** `2.6 " "`__ `2.5 " "`__" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_lineGraph.rst:40 ../../build/doc/pgr_lineGraph.rst:92 -#: ../../build/doc/pgr_lineGraph.rst:112 +#: ../../build/doc/pgr_lineGraph.rst:41 ../../build/doc/pgr_lineGraph.rst:93 +#: ../../build/doc/pgr_lineGraph.rst:113 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_lineGraph.rst:42 +#: ../../build/doc/pgr_lineGraph.rst:43 msgid "Given a graph G, its line graph L(G) is a graph such that:" msgstr "" "Dado un grafo G, su grafo de líneas L(G) es un grafo de tal forma que:" -#: ../../build/doc/pgr_lineGraph.rst:44 +#: ../../build/doc/pgr_lineGraph.rst:45 msgid "Each vertex of L(G) represents an edge of G" msgstr "Cada vértice de L(G) representa una arista de G" -#: ../../build/doc/pgr_lineGraph.rst:45 +#: ../../build/doc/pgr_lineGraph.rst:46 msgid "" "Two vertices of L(G) are adjacent if and only if their corresponding edges " "share a common endpoint in G." @@ -166,15 +168,15 @@ msgstr "" "Dos vértices de L(G) son adyacentes si y sólo si sus aristas " "correspondientes comparten un punto final común en G." -#: ../../build/doc/pgr_lineGraph.rst:48 +#: ../../build/doc/pgr_lineGraph.rst:49 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_lineGraph.rst:51 +#: ../../build/doc/pgr_lineGraph.rst:52 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_lineGraph.rst:59 +#: ../../build/doc/pgr_lineGraph.rst:60 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -182,61 +184,61 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_lineGraph.rst:65 +#: ../../build/doc/pgr_lineGraph.rst:66 msgid "For a **directed** graph" msgstr "Para un grafo **dirigido**" -#: ../../build/doc/pgr_lineGraph.rst:75 +#: ../../build/doc/pgr_lineGraph.rst:76 msgid "Complete Signature" msgstr "Firma completa" -#: ../../build/doc/pgr_lineGraph.rst:82 +#: ../../build/doc/pgr_lineGraph.rst:83 msgid "For an **undirected** graph" msgstr "Para un grafo **no dirigido**" -#: ../../build/doc/pgr_lineGraph.rst:89 +#: ../../build/doc/pgr_lineGraph.rst:90 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_lineGraph.rst:92 ../../build/doc/pgr_lineGraph.rst:112 +#: ../../build/doc/pgr_lineGraph.rst:93 ../../build/doc/pgr_lineGraph.rst:113 msgid "Column" msgstr "Columna" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_lineGraph.rst:92 ../../build/doc/pgr_lineGraph.rst:112 +#: ../../build/doc/pgr_lineGraph.rst:93 ../../build/doc/pgr_lineGraph.rst:113 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_lineGraph.rst:94 +#: ../../build/doc/pgr_lineGraph.rst:95 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_lineGraph.rst:94 +#: ../../build/doc/pgr_lineGraph.rst:95 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_lineGraph.rst:94 +#: ../../build/doc/pgr_lineGraph.rst:95 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." -#: ../../build/doc/pgr_lineGraph.rst:95 +#: ../../build/doc/pgr_lineGraph.rst:96 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_lineGraph.rst:95 +#: ../../build/doc/pgr_lineGraph.rst:96 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_lineGraph.rst:95 +#: ../../build/doc/pgr_lineGraph.rst:96 msgid "When ``true`` the graph is considered as `Directed`." msgstr "En caso de ''true'' el grafo se considera como `Dirigido`." -#: ../../build/doc/pgr_lineGraph.rst:96 +#: ../../build/doc/pgr_lineGraph.rst:97 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_lineGraph.rst:100 +#: ../../build/doc/pgr_lineGraph.rst:101 msgid "Inner query" msgstr "Consulta interna" @@ -259,7 +261,7 @@ msgid "Identifier of the edge." msgstr "Identificador de la arista." #: ../../build/doc/pgRouting-concepts.rst:7 -#: ../../build/doc/pgr_lineGraph.rst:116 +#: ../../build/doc/pgr_lineGraph.rst:117 msgid "**source**" msgstr "**origen**" @@ -268,7 +270,7 @@ msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_lineGraph.rst:120 +#: ../../build/doc/pgr_lineGraph.rst:121 msgid "**target**" msgstr "**objetivo**" @@ -277,7 +279,7 @@ msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_lineGraph.rst:124 +#: ../../build/doc/pgr_lineGraph.rst:125 msgid "**cost**" msgstr "**cost**" @@ -299,7 +301,7 @@ msgstr "" "es parte del grafo." #: ../../build/doc/pgRouting-concepts.rst:13 -#: ../../build/doc/pgr_lineGraph.rst:128 +#: ../../build/doc/pgr_lineGraph.rst:129 msgid "**reverse_cost**" msgstr "**reverse_cost**" @@ -339,57 +341,57 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_lineGraph.rst:107 +#: ../../build/doc/pgr_lineGraph.rst:108 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_lineGraph.rst:109 +#: ../../build/doc/pgr_lineGraph.rst:110 msgid "RETURNS SETOF (seq, source, target, cost, reverse_cost)" msgstr "DEVUELVE UN CONJUNTO DE (seq, origen, destino, coste, invers_coste)" -#: ../../build/doc/pgr_lineGraph.rst:114 +#: ../../build/doc/pgr_lineGraph.rst:115 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_lineGraph.rst:114 +#: ../../build/doc/pgr_lineGraph.rst:115 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/pgr_lineGraph.rst:114 +#: ../../build/doc/pgr_lineGraph.rst:115 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/pgr_lineGraph.rst:116 ../../build/doc/pgr_lineGraph.rst:120 +#: ../../build/doc/pgr_lineGraph.rst:117 ../../build/doc/pgr_lineGraph.rst:121 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_lineGraph.rst:116 +#: ../../build/doc/pgr_lineGraph.rst:117 msgid "Identifier of the source vertex of the current edge `id`." msgstr "Identificador del vértice de origen de la arista actual `id`." -#: ../../build/doc/pgr_lineGraph.rst:118 +#: ../../build/doc/pgr_lineGraph.rst:119 msgid "When `negative`: the source is the reverse edge in the original graph." msgstr "" "Cuando es 'negativo': el origen es la arista inversa en el grafo original." -#: ../../build/doc/pgr_lineGraph.rst:120 +#: ../../build/doc/pgr_lineGraph.rst:121 msgid "Identifier of the target vertex of the current edge `id`." msgstr "Identificador del vértice de destino de la arista actual `id`." -#: ../../build/doc/pgr_lineGraph.rst:122 +#: ../../build/doc/pgr_lineGraph.rst:123 msgid "When `negative`: the target is the reverse edge in the original graph." msgstr "" "Cuando es `negativo`: el objetivo es la arista inversa en el grafo original." -#: ../../build/doc/pgr_lineGraph.rst:124 ../../build/doc/pgr_lineGraph.rst:128 +#: ../../build/doc/pgr_lineGraph.rst:125 ../../build/doc/pgr_lineGraph.rst:129 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_lineGraph.rst:124 +#: ../../build/doc/pgr_lineGraph.rst:125 msgid "Weight of the edge (`source`, `target`)." msgstr "Peso de la arista (`source`, `target`)." -#: ../../build/doc/pgr_lineGraph.rst:126 +#: ../../build/doc/pgr_lineGraph.rst:127 msgid "" "When `negative`: edge (`source`, `target`) does not exist, therefore it’s " "not part of the graph." @@ -397,11 +399,11 @@ msgstr "" "Cuando `negative`: la arista (`source`, `target`) no existe, por lo tanto no" " es parte del grafo." -#: ../../build/doc/pgr_lineGraph.rst:128 +#: ../../build/doc/pgr_lineGraph.rst:129 msgid "Weight of the edge (`target`, `source`)." msgstr "Peso de la arista (`target`, `source`)." -#: ../../build/doc/pgr_lineGraph.rst:130 +#: ../../build/doc/pgr_lineGraph.rst:131 msgid "" "When `negative`: edge (`target`, `source`) does not exist, therefore it’s " "not part of the graph." @@ -409,33 +411,26 @@ msgstr "" "Cuando `negative`: la arista (`target`, `source`) no existe, por lo tanto no" " es parte del grafo." -#: ../../build/doc/pgr_lineGraph.rst:134 +#: ../../build/doc/pgr_lineGraph.rst:135 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_lineGraph.rst:136 +#: ../../build/doc/pgr_lineGraph.rst:137 msgid "https://en.wikipedia.org/wiki/Line_graph" msgstr "https://en.wikipedia.org/wiki/Line_graph" -#: ../../build/doc/pgr_lineGraph.rst:137 +#: ../../build/doc/pgr_lineGraph.rst:138 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_lineGraph.rst:140 +#: ../../build/doc/pgr_lineGraph.rst:141 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_lineGraph.rst:141 +#: ../../build/doc/pgr_lineGraph.rst:142 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_lineGraph.rst:142 +#: ../../build/doc/pgr_lineGraph.rst:143 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_lineGraphFull.po b/locale/es/LC_MESSAGES/pgr_lineGraphFull.po index 8d7735d24c7..c91006b2d9b 100644 --- a/locale/es/LC_MESSAGES/pgr_lineGraphFull.po +++ b/locale/es/LC_MESSAGES/pgr_lineGraphFull.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -123,27 +123,29 @@ msgstr "Soporte" #: ../../build/doc/pgr_lineGraphFull.rst:27 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_lineGraphFull.rst:30 +#: ../../build/doc/pgr_lineGraphFull.rst:31 msgid "" "**Unsupported versions:** `2.6 " "`__" msgstr "" -"**Versiones no soportadas:** `2.6 " +"**Versiones no sustentadas:** `2.6 " "`__" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_lineGraphFull.rst:34 -#: ../../build/doc/pgr_lineGraphFull.rst:81 +#: ../../build/doc/pgr_lineGraphFull.rst:35 +#: ../../build/doc/pgr_lineGraphFull.rst:82 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_lineGraphFull.rst:36 +#: ../../build/doc/pgr_lineGraphFull.rst:37 msgid "" "pgr_lineGraphFull, converts original directed graph to a directed line graph" " by converting each vertex to a complete graph and keeping all the original " @@ -156,7 +158,7 @@ msgstr "" " y van entre las aristas originales adyacentes, respetando la " "direccionalidad." -#: ../../build/doc/pgr_lineGraphFull.rst:38 +#: ../../build/doc/pgr_lineGraphFull.rst:39 msgid "" "A possible application of the resulting graph is **\"routing with two edge " "restrictions\"**:" @@ -164,7 +166,7 @@ msgstr "" "Una posible aplicación del grafo resultante es **\"ruteo con restricciones " "en dos aristas\"**:" -#: ../../build/doc/pgr_lineGraphFull.rst:40 +#: ../../build/doc/pgr_lineGraphFull.rst:41 msgid "" "Setting a cost of using the vertex when routing between edges on the " "connecting edge" @@ -172,11 +174,11 @@ msgstr "" "Establecer un coste de uso del vértice al enrutar entre aristas en la arista" " de conexión" -#: ../../build/doc/pgr_lineGraphFull.rst:41 +#: ../../build/doc/pgr_lineGraphFull.rst:42 msgid "Forbid the routing between two edges by removing the connecting edge" msgstr "Prohibir el ruteo entre dos aristas al quitar el arista de conexión" -#: ../../build/doc/pgr_lineGraphFull.rst:43 +#: ../../build/doc/pgr_lineGraphFull.rst:44 msgid "" "This is possible because each of the intersections (vertices) in the " "original graph are now complete graphs that have a new edge for each " @@ -186,41 +188,41 @@ msgstr "" " original ahora son grafos completos que tienen una nueva arista para cada " "posible giro a través de esa intersección." -#: ../../build/doc/pgr_lineGraphFull.rst:49 +#: ../../build/doc/pgr_lineGraphFull.rst:50 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_lineGraphFull.rst:46 +#: ../../build/doc/pgr_lineGraphFull.rst:47 msgid "This function is for **directed** graphs." msgstr "Esta función es para grafos **dirigidos**." -#: ../../build/doc/pgr_lineGraphFull.rst:47 +#: ../../build/doc/pgr_lineGraphFull.rst:48 msgid "" "Results are undefined when a negative vertex id is used in the input graph." msgstr "" "Los resultados son indefinidos cuando se utiliza un identificador de vértice" " negativo en el grafo de entrada." -#: ../../build/doc/pgr_lineGraphFull.rst:48 +#: ../../build/doc/pgr_lineGraphFull.rst:49 msgid "" "Results are undefined when a duplicated edge id is used in the input graph." msgstr "" "Los resultados son indefinidos cuando se utiliza un identificador de borde " "duplicado en el grafo de entrada." -#: ../../build/doc/pgr_lineGraphFull.rst:49 +#: ../../build/doc/pgr_lineGraphFull.rst:50 msgid "Running time: TBD" msgstr "Tiempo de ejecución: TBD" -#: ../../build/doc/pgr_lineGraphFull.rst:52 +#: ../../build/doc/pgr_lineGraphFull.rst:53 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_lineGraphFull.rst:55 +#: ../../build/doc/pgr_lineGraphFull.rst:56 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_lineGraphFull.rst:63 +#: ../../build/doc/pgr_lineGraphFull.rst:64 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -228,44 +230,44 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_lineGraphFull.rst:69 +#: ../../build/doc/pgr_lineGraphFull.rst:70 msgid "Full line graph of subgraph of edges :math:`\\{4, 7, 8, 10\\}`" msgstr "" "Grafo de línea completa del subgrafo de las aristas :math:`\\{4, 7, 8, " "10\\}`" -#: ../../build/doc/pgr_lineGraphFull.rst:78 +#: ../../build/doc/pgr_lineGraphFull.rst:79 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_lineGraphFull.rst:81 +#: ../../build/doc/pgr_lineGraphFull.rst:82 msgid "Column" msgstr "Columna" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_lineGraphFull.rst:81 +#: ../../build/doc/pgr_lineGraphFull.rst:82 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_lineGraphFull.rst:81 +#: ../../build/doc/pgr_lineGraphFull.rst:82 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_lineGraphFull.rst:83 +#: ../../build/doc/pgr_lineGraphFull.rst:84 msgid "**sql**" msgstr "**sql**" -#: ../../build/doc/pgr_lineGraphFull.rst:83 +#: ../../build/doc/pgr_lineGraphFull.rst:84 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_lineGraphFull.rst:83 +#: ../../build/doc/pgr_lineGraphFull.rst:84 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." -#: ../../build/doc/pgr_lineGraphFull.rst:89 +#: ../../build/doc/pgr_lineGraphFull.rst:90 msgid "Inner query" msgstr "Consulta interna" @@ -360,16 +362,16 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_lineGraphFull.rst:96 +#: ../../build/doc/pgr_lineGraphFull.rst:97 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_lineGraphFull.rst:98 +#: ../../build/doc/pgr_lineGraphFull.rst:99 msgid "" "The examples of this section are based on the :doc:`sampledata` network." msgstr "Los ejemplos de esta sección se basan en la red :doc:`sampledata`." -#: ../../build/doc/pgr_lineGraphFull.rst:100 +#: ../../build/doc/pgr_lineGraphFull.rst:101 msgid "" "The examples include the subgraph including edges 4, 7, 8, and 10 with " "reverse_cost." @@ -377,11 +379,11 @@ msgstr "" "Los ejemplos incluyen el subgrafo que incluye las aristas 4, 7, 8 y 10 con " "reverse_cost." -#: ../../build/doc/pgr_lineGraphFull.rst:102 +#: ../../build/doc/pgr_lineGraphFull.rst:103 msgid "For generating the LineGraphFull" msgstr "Por generar el LineGraphFull" -#: ../../build/doc/pgr_lineGraphFull.rst:104 +#: ../../build/doc/pgr_lineGraphFull.rst:105 msgid "" "This example displays how this graph transformation works to create " "additional edges for each possible turn in a graph." @@ -389,15 +391,15 @@ msgstr "" "En este ejemplo se muestra cómo funciona esta transformación de grafo para " "crear aristas adicionales para cada giro posible en un grafoáfico." -#: ../../build/doc/pgr_lineGraphFull.rst:112 +#: ../../build/doc/pgr_lineGraphFull.rst:113 msgid "|first|" msgstr "|first|" -#: ../../build/doc/pgr_lineGraphFull.rst:127 +#: ../../build/doc/pgr_lineGraphFull.rst:128 msgid "|second|" msgstr "|second|" -#: ../../build/doc/pgr_lineGraphFull.rst:132 +#: ../../build/doc/pgr_lineGraphFull.rst:133 msgid "" "In the transformed graph, all of the edges from the original graph are still" " present (yellow), but we now have additional edges for every turn that " @@ -407,11 +409,11 @@ msgstr "" "presentes (amarillos), pero ahora tenemos aristas adicionales para cada giro" " que se podría hacer a través del vértice 6 (naranja)." -#: ../../build/doc/pgr_lineGraphFull.rst:134 +#: ../../build/doc/pgr_lineGraphFull.rst:135 msgid "For creating table that identifies transformed vertices" msgstr "Para crear una tabla que identifique vértices transformados" -#: ../../build/doc/pgr_lineGraphFull.rst:136 +#: ../../build/doc/pgr_lineGraphFull.rst:137 msgid "" "The vertices in the transformed graph are each created by splitting up the " "vertices in the original graph. Unless a vertex in the original graph is a " @@ -433,7 +435,7 @@ msgstr "" "que mapea los identificadores de los vértices recién creados con el vértice " "original que se crearon a partir de" -#: ../../build/doc/pgr_lineGraphFull.rst:138 +#: ../../build/doc/pgr_lineGraphFull.rst:139 msgid "" "The first step is to store your results graph into a table and then create " "the vertex mapping table with one row for each distinct vertex id in the " @@ -443,7 +445,7 @@ msgstr "" "continuación, crear la tabla de asignación de vértices con una fila para " "cada identificador de vértice distinto en el grafo resultante." -#: ../../build/doc/pgr_lineGraphFull.rst:144 +#: ../../build/doc/pgr_lineGraphFull.rst:145 msgid "" "Next, we set the original_id of all of the vertices in the results graph " "that were given the same vertex id as the vertex that it was created from in" @@ -453,7 +455,7 @@ msgstr "" "grafo de resultados a los que se les dio el mismo identificador de vértice " "que el vértice desde el que se creó en el grafo original." -#: ../../build/doc/pgr_lineGraphFull.rst:150 +#: ../../build/doc/pgr_lineGraphFull.rst:151 msgid "" "Then, we cross reference all of the other newly created vertices that do not" " have the same original_id and set their original_id values." @@ -462,7 +464,7 @@ msgstr "" "creados que no tienen el mismo original_id y establecemos sus valores " "original_id." -#: ../../build/doc/pgr_lineGraphFull.rst:156 +#: ../../build/doc/pgr_lineGraphFull.rst:157 msgid "" "The only vertices left that have not been mapped are a few of the leaf " "vertices from the original graph. The following sql completes the mapping " @@ -474,15 +476,15 @@ msgstr "" " estos vértices hoja (en el caso de este grafo de ejemplo no hay vértices de" " hoja, pero esto es necesario para grafos más grandes)." -#: ../../build/doc/pgr_lineGraphFull.rst:162 +#: ../../build/doc/pgr_lineGraphFull.rst:163 msgid "Now our vertex mapping table is complete:" msgstr "Ahora nuestra tabla de mapeo de vértices está completa:" -#: ../../build/doc/pgr_lineGraphFull.rst:168 +#: ../../build/doc/pgr_lineGraphFull.rst:169 msgid "For running a dijkstra's shortest path with turn penalties" msgstr "Por ejecutar la ruta más corta dijkstra con penalizaciones de giro" -#: ../../build/doc/pgr_lineGraphFull.rst:170 +#: ../../build/doc/pgr_lineGraphFull.rst:171 msgid "" "One use case for this graph transformation is to be able to run a shortest " "path search that takes into account the cost or limitation of turning. Below" @@ -497,11 +499,11 @@ msgstr "" "mientras que agrega un costo de penalización de giro de 100 al giro desde el" " borde 4 hasta el borde -7." -#: ../../build/doc/pgr_lineGraphFull.rst:172 +#: ../../build/doc/pgr_lineGraphFull.rst:173 msgid "First we must increase set the cost of making the turn to 100:" msgstr "En primer lugar debemos aumentar el costo de hacer el turno a 100:" -#: ../../build/doc/pgr_lineGraphFull.rst:178 +#: ../../build/doc/pgr_lineGraphFull.rst:179 msgid "" "Then we must run a dijkstra's shortest path search using all of the vertices" " in the new graph that were created from vertex 2 as the starting point, and" @@ -513,7 +515,7 @@ msgstr "" "vértice 2 como punto de partida, y todos los vértices del nuevo grafo que se" " crearon a partir del vértice 8 como punto final." -#: ../../build/doc/pgr_lineGraphFull.rst:184 +#: ../../build/doc/pgr_lineGraphFull.rst:185 msgid "" "Normally the shortest path from vertex 2 to vertex 8 would have an aggregate" " cost of 2, but since there is a large penalty for making the turn needed to" @@ -524,7 +526,7 @@ msgstr "" "giro necesario para obtener este costo, la ruta pasa por el vértice 6 para " "evitar este giro." -#: ../../build/doc/pgr_lineGraphFull.rst:186 +#: ../../build/doc/pgr_lineGraphFull.rst:187 msgid "" "If you cross reference the node column in the dijkstra results with the " "vertex id mapping table, this will show you that the path goes from v2 -> v5" @@ -534,33 +536,26 @@ msgstr "" "dijkstra con la tabla de mapeo de id de vértices, esto le mostrará que la " "ruta va desde v2 -> v5 -> v6 -> v5 -> v8 en el grafo original." -#: ../../build/doc/pgr_lineGraphFull.rst:189 +#: ../../build/doc/pgr_lineGraphFull.rst:190 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_lineGraphFull.rst:191 +#: ../../build/doc/pgr_lineGraphFull.rst:192 msgid "https://en.wikipedia.org/wiki/Line_graph" msgstr "https://en.wikipedia.org/wiki/Line_graph" -#: ../../build/doc/pgr_lineGraphFull.rst:192 +#: ../../build/doc/pgr_lineGraphFull.rst:193 msgid "https://en.wikipedia.org/wiki/Complete_graph" msgstr "https://en.wikipedia.org/wiki/Complete_graph" -#: ../../build/doc/pgr_lineGraphFull.rst:195 +#: ../../build/doc/pgr_lineGraphFull.rst:196 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_lineGraphFull.rst:196 +#: ../../build/doc/pgr_lineGraphFull.rst:197 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_lineGraphFull.rst:197 +#: ../../build/doc/pgr_lineGraphFull.rst:198 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po b/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po index 310d41dbee7..5c07072e9e5 100644 --- a/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po +++ b/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 # 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -78,13 +78,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_maxCardinalityMatch.rst:37 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:40 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:41 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -102,18 +104,18 @@ msgstr "" "`__" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:48 -#: ../../build/doc/pgr_maxCardinalityMatch.rst:89 -#: ../../build/doc/pgr_maxCardinalityMatch.rst:104 -#: ../../build/doc/pgr_maxCardinalityMatch.rst:122 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:49 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:90 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:105 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:123 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:50 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:51 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:52 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:53 msgid "" "A matching or independent edge set in a graph is a set of edges without " "common vertices." @@ -121,7 +123,7 @@ msgstr "" "Un conjunto de aristas coincidente o independiente en un grafo es un " "conjunto de aristas sin vértices comunes." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:53 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:54 msgid "" "A maximum matching is a matching that contains the largest possible number " "of edges." @@ -129,28 +131,28 @@ msgstr "" "Una coincidencia máxima es una coincidencia que contiene el mayor número " "posible de aristas." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:55 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:56 msgid "There may be many maximum matchings." msgstr "Puede haber muchas coincidencias máximas." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:56 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:57 msgid "Calculates **one** possible maximum cardinality matching in a graph." msgstr "" "Calcula **una** posible coincidencia máxima de cardinalidad en un grafo." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:58 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:59 msgid "The graph can be **directed** or **undirected**." msgstr "El grafo puede ser **dirigido** o **no dirigido**." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:60 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:61 msgid "Running time: :math:`O( E*V * \\alpha(E,V))`" msgstr "Tiempo de ejecución: :math:`O( E*V * \\alpha(E,V))`" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:62 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:63 msgid ":math:`\\alpha(E,V)` is the inverse of the `Ackermann function`_." msgstr ":math:`\\alpha(E,V)` es inverso a `Ackermann function`_." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:67 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:68 msgid "Signatures" msgstr "Firmas" @@ -158,53 +160,53 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:79 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:80 msgid "For an **undirected** graph" msgstr "Para un grafo **no dirigido**" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:86 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:87 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:89 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:90 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:89 -#: ../../build/doc/pgr_maxCardinalityMatch.rst:104 -#: ../../build/doc/pgr_maxCardinalityMatch.rst:122 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:90 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:105 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:123 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:89 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:90 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:91 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:92 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:91 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:92 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:91 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:92 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:92 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:93 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:92 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:93 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:92 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:93 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:92 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:93 msgid "" "Determines the type of the graph. - When ``true`` Graph is considered " "`Directed` - When ``false`` the graph is considered as `Undirected`." @@ -212,7 +214,7 @@ msgstr "" "Determina el tipo del grafo. - En caso de ''true'' el grafo se considera " "`Directed` - En caso de ''false'' el grafo se considera como `Undirected`." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:99 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:100 msgid "Inner query" msgstr "Consulta interna" @@ -220,60 +222,60 @@ msgstr "Consulta interna" msgid "Edges SQL" msgstr "Edges SQL" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:101 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:102 msgid "" "an SQL query, which should return a set of rows with the following columns:" msgstr "" "Una consulta SQL, que debe regresar un conjunto de filas con las siguientes " "columnas:" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:104 -#: ../../build/doc/pgr_maxCardinalityMatch.rst:122 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:105 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:123 msgid "Column" msgstr "Columna" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:106 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:107 msgid "**id**" msgstr "**id**" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:106 #: ../../build/doc/pgr_maxCardinalityMatch.rst:107 #: ../../build/doc/pgr_maxCardinalityMatch.rst:108 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:109 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:106 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:107 msgid "Identifier of the edge." msgstr "Identificador de la arista." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:107 -#: ../../build/doc/pgr_maxCardinalityMatch.rst:126 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:108 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:127 msgid "**source**" msgstr "**origen**" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:107 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:108 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:108 -#: ../../build/doc/pgr_maxCardinalityMatch.rst:127 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:109 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:128 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:108 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:109 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:109 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:110 msgid "**going**" msgstr "**ir**" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:109 #: ../../build/doc/pgr_maxCardinalityMatch.rst:110 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:111 msgid "``ANY-NUMERIC``" msgstr "``ANY-NUMERIC``" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:109 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:110 msgid "" "A positive value represents the existence of the edge (``source``, " "``target``)." @@ -281,11 +283,11 @@ msgstr "" "Un valor positivo representa la existencia de la arista (``source``, " "``target``)." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:110 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:111 msgid "**coming**" msgstr "**venir**" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:110 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:111 msgid "" "A positive value represents the existence of the edge (``target``, " "``source``)." @@ -293,7 +295,7 @@ msgstr "" "Un valor positivo representa la existencia de la arista (``target``, " "``source``)." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:113 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:114 msgid "Where:" msgstr "Donde:" @@ -301,7 +303,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:115 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:116 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -309,99 +311,77 @@ msgstr "SMALLINT, INTEGER, BIGINT" msgid "ANY-NUMERIC" msgstr "ANY-NUMERIC" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:116 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:117 msgid "SMALLINT, INTEGER, BIGINT, REAL FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL FLOAT" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:119 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:120 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:124 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:125 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:124 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:125 msgid "``INT``" msgstr "``INT``" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:124 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:125 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:125 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:126 msgid "**edge**" msgstr "**arista**" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:125 #: ../../build/doc/pgr_maxCardinalityMatch.rst:126 #: ../../build/doc/pgr_maxCardinalityMatch.rst:127 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:128 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:125 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:126 msgid "Identifier of the edge in the original query." msgstr "Identificador de la arista en la consulta original." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:126 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:127 msgid "Identifier of the first end point of the edge." msgstr "Identificador del primer punto final de la arista." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:127 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:128 msgid "Identifier of the second end point of the edge." msgstr "Identificador del segundo punto final de la arista." -#: ../../build/doc/pgr_maxCardinalityMatch.rst:131 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:132 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:133 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:134 msgid ":doc:`flow-family`" msgstr ":doc:`flow-family`" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:134 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:135 msgid "https://www.boost.org/libs/graph/doc/maximum_matching.html" msgstr "https://www.boost.org/libs/graph/doc/maximum_matching.html" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:135 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:136 #, python-format msgid "https://en.wikipedia.org/wiki/Matching_%28graph_theory%29" msgstr "https://en.wikipedia.org/wiki/Matching_%28graph_theory%29" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:136 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:137 msgid "https://en.wikipedia.org/wiki/Ackermann_function" msgstr "https://en.wikipedia.org/wiki/Ackermann_function" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:139 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:140 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:140 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:141 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_maxCardinalityMatch.rst:141 +#: ../../build/doc/pgr_maxCardinalityMatch.rst:142 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Unsupported versions:** `2.6 " -#~ "`__ `2.5 " -#~ "`__ `2.4 " -#~ "`__ " -#~ "`2.3 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones no soportadas:** `2.6 " -#~ "`__ `2.5 " -#~ "`__ `2.4 " -#~ "`__ " -#~ "`2.3 " -#~ "`__" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_maxFlow.po b/locale/es/LC_MESSAGES/pgr_maxFlow.po index c9abe05ebc4..477092cb98f 100644 --- a/locale/es/LC_MESSAGES/pgr_maxFlow.po +++ b/locale/es/LC_MESSAGES/pgr_maxFlow.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -66,13 +66,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_maxFlow.rst:32 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_maxFlow.rst:35 +#: ../../build/doc/pgr_maxFlow.rst:36 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -85,56 +87,56 @@ msgstr "" "`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlow.rst:41 ../../build/doc/pgr_maxFlow.rst:155 +#: ../../build/doc/pgr_maxFlow.rst:42 ../../build/doc/pgr_maxFlow.rst:156 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_maxFlow.rst:43 +#: ../../build/doc/pgr_maxFlow.rst:44 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_maxFlow.rst:45 +#: ../../build/doc/pgr_maxFlow.rst:46 msgid "The graph is **directed**." msgstr "El grafo es **dirigido**." -#: ../../build/doc/pgr_maxFlow.rst:46 +#: ../../build/doc/pgr_maxFlow.rst:47 msgid "Calculates the maximum flow from the `source(s)` to the `target(s)`." msgstr "Calcula el flujo máximo desde `source(s)` a `target(s)`." -#: ../../build/doc/pgr_maxFlow.rst:48 +#: ../../build/doc/pgr_maxFlow.rst:49 msgid "" "When the maximum flow is **0** then there is no flow and **0** is returned." msgstr "" "Cuando el flujo máximo es **0**, entonces no hay flujo y se devuelve **0**." -#: ../../build/doc/pgr_maxFlow.rst:49 +#: ../../build/doc/pgr_maxFlow.rst:50 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" "No hay ningún flujo cuando el **orígen** es el mismo que el **destino**." -#: ../../build/doc/pgr_maxFlow.rst:51 +#: ../../build/doc/pgr_maxFlow.rst:52 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" "Cualquier valor duplicado en el/los orígen(es) o en el/los destino(s) será " "ignorado." -#: ../../build/doc/pgr_maxFlow.rst:52 +#: ../../build/doc/pgr_maxFlow.rst:53 msgid "Uses the :doc:`pgr_pushRelabel ` algorithm." msgstr "Use el algoritmo :doc:`pgr_pushRelabel ` ." -#: ../../build/doc/pgr_maxFlow.rst:54 +#: ../../build/doc/pgr_maxFlow.rst:55 msgid "Running time: :math:`O( V ^ 3)`" msgstr "Tiempo de ejecución: :math:`O( V ^ 3)`" -#: ../../build/doc/pgr_maxFlow.rst:57 +#: ../../build/doc/pgr_maxFlow.rst:58 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_maxFlow.rst:60 +#: ../../build/doc/pgr_maxFlow.rst:61 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_maxFlow.rst:73 +#: ../../build/doc/pgr_maxFlow.rst:74 msgid "One to One" msgstr "Uno a Uno" @@ -142,35 +144,35 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_maxFlow.rst:80 +#: ../../build/doc/pgr_maxFlow.rst:81 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "Del vértice :math:`6` al vértice :math:`11`" -#: ../../build/doc/pgr_maxFlow.rst:90 +#: ../../build/doc/pgr_maxFlow.rst:91 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_maxFlow.rst:97 +#: ../../build/doc/pgr_maxFlow.rst:98 msgid "From vertex :math:`6` to vertices :math:`\\{11, 1, 13\\}`" msgstr "Del vértice :math:`6` a los vértices :math:`\\{11, 1, 13\\}`" -#: ../../build/doc/pgr_maxFlow.rst:107 +#: ../../build/doc/pgr_maxFlow.rst:108 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_maxFlow.rst:114 +#: ../../build/doc/pgr_maxFlow.rst:115 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "De los vértices vertices :math:`\\{6, 8, 12\\}` al vértice :math:`11`" -#: ../../build/doc/pgr_maxFlow.rst:124 +#: ../../build/doc/pgr_maxFlow.rst:125 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_maxFlow.rst:131 +#: ../../build/doc/pgr_maxFlow.rst:132 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "De los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_maxFlow.rst:138 +#: ../../build/doc/pgr_maxFlow.rst:139 msgid "Parameters" msgstr "Parámetros" @@ -179,7 +181,7 @@ msgid "Column" msgstr "Columna" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlow.rst:155 +#: ../../build/doc/pgr_maxFlow.rst:156 msgid "Type" msgstr "Tipo" @@ -204,7 +206,7 @@ msgid "**source**" msgstr "**origen**" #: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 -#: ../../build/doc/pgr_maxFlow.rst:157 +#: ../../build/doc/pgr_maxFlow.rst:158 msgid "``BIGINT``" msgstr "``BIGINT``" @@ -240,7 +242,7 @@ msgstr "**destinos**" msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_maxFlow.rst:145 +#: ../../build/doc/pgr_maxFlow.rst:146 msgid "Inner query" msgstr "Consulta interna" @@ -326,48 +328,41 @@ msgstr "ANY-INTEGER" msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" -#: ../../build/doc/pgr_maxFlow.rst:152 +#: ../../build/doc/pgr_maxFlow.rst:153 msgid "Return Columns" msgstr "Columnas de Devoluciones" -#: ../../build/doc/pgr_maxFlow.rst:157 +#: ../../build/doc/pgr_maxFlow.rst:158 msgid "Maximum flow possible from the source(s) to the target(s)" msgstr "Flujo máximo posible desde el/los orígen(es) hacia el/los destino(s)" -#: ../../build/doc/pgr_maxFlow.rst:161 +#: ../../build/doc/pgr_maxFlow.rst:162 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_maxFlow.rst:163 +#: ../../build/doc/pgr_maxFlow.rst:164 msgid ":doc:`flow-family`" msgstr ":doc:`flow-family`" -#: ../../build/doc/pgr_maxFlow.rst:164 +#: ../../build/doc/pgr_maxFlow.rst:165 msgid "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" msgstr "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" -#: ../../build/doc/pgr_maxFlow.rst:165 +#: ../../build/doc/pgr_maxFlow.rst:166 #, python-format msgid "" "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" msgstr "" "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" -#: ../../build/doc/pgr_maxFlow.rst:168 +#: ../../build/doc/pgr_maxFlow.rst:169 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_maxFlow.rst:169 +#: ../../build/doc/pgr_maxFlow.rst:170 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_maxFlow.rst:170 +#: ../../build/doc/pgr_maxFlow.rst:171 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po index 828e02cac30..ec63792cb18 100644 --- a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po +++ b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -128,14 +128,16 @@ msgstr "Soporte" #: ../../build/doc/pgr_maxFlowMinCost.rst:33 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlowMinCost.rst:37 +#: ../../build/doc/pgr_maxFlowMinCost.rst:38 msgid "Description" msgstr "Descripción" @@ -204,34 +206,34 @@ msgstr "Mediante la agregación del flujo saliente de los orígenes" msgid "By aggregation of the incoming flow to the targets" msgstr "Mediante la agregación del flujo entrante a los destinos" -#: ../../build/doc/pgr_maxFlowMinCost.rst:43 +#: ../../build/doc/pgr_maxFlowMinCost.rst:44 msgid "**TODO** check which statement is true:" msgstr "**Por hacer** comprobar qué declaración es verdadera:" -#: ../../build/doc/pgr_maxFlowMinCost.rst:45 +#: ../../build/doc/pgr_maxFlowMinCost.rst:46 msgid "The cost value of all input edges must be nonnegative." msgstr "" "El valor de coste de todas las aristas de entrada debe ser no negativo." -#: ../../build/doc/pgr_maxFlowMinCost.rst:46 +#: ../../build/doc/pgr_maxFlowMinCost.rst:47 msgid "Process is done when the cost value of all input edges is nonnegative." msgstr "" "El proceso se realiza cuando el valor de coste de todas las aristas de " "entrada no es negativo." -#: ../../build/doc/pgr_maxFlowMinCost.rst:47 +#: ../../build/doc/pgr_maxFlowMinCost.rst:48 msgid "Process is done on edges with nonnegative cost." msgstr "El proceso se realiza en aristas con coste no negativo." -#: ../../build/doc/pgr_maxFlowMinCost.rst:49 +#: ../../build/doc/pgr_maxFlowMinCost.rst:50 msgid "Running time: :math:`O(U * (E + V * logV))`" msgstr "Tiempo de ejecución: :math:`O(U * (E + V * logV))`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:51 +#: ../../build/doc/pgr_maxFlowMinCost.rst:52 msgid "where :math:`U` is the value of the max flow." msgstr "donde :math:`U` es el valor dle flujo máximo." -#: ../../build/doc/pgr_maxFlowMinCost.rst:52 +#: ../../build/doc/pgr_maxFlowMinCost.rst:53 msgid "" ":math:`U` is upper bound on number of iterations. In many real world cases " "number of iterations is much smaller than :math:`U`." @@ -239,15 +241,15 @@ msgstr "" ":math:`U` es el límite superior en el número de iteraciones. En muchos casos" " reales, el número de iteraciones es mucho menor que :math:`U`." -#: ../../build/doc/pgr_maxFlowMinCost.rst:56 +#: ../../build/doc/pgr_maxFlowMinCost.rst:57 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_maxFlowMinCost.rst:59 +#: ../../build/doc/pgr_maxFlowMinCost.rst:60 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_maxFlowMinCost.rst:73 +#: ../../build/doc/pgr_maxFlowMinCost.rst:74 msgid "One to One" msgstr "Uno a Uno" @@ -255,35 +257,35 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_maxFlowMinCost.rst:81 +#: ../../build/doc/pgr_maxFlowMinCost.rst:82 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "Desde el vértice :math:`2` al vértice :math:`3`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:91 +#: ../../build/doc/pgr_maxFlowMinCost.rst:92 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_maxFlowMinCost.rst:99 +#: ../../build/doc/pgr_maxFlowMinCost.rst:100 msgid "From vertex :math:`13` to vertices :math:`\\{7, 1, 4\\}`" msgstr "Desde el vértice :math:`13` a los vértices :math:`\\{7, 1, 4\\}`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:109 +#: ../../build/doc/pgr_maxFlowMinCost.rst:110 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_maxFlowMinCost.rst:117 +#: ../../build/doc/pgr_maxFlowMinCost.rst:118 msgid "From vertices :math:`\\{1, 7, 14\\}` to vertex :math:`12`" msgstr "Desde los vértices :math:`\\{1, 7, 14\\}` al vértice :math:`12`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:127 +#: ../../build/doc/pgr_maxFlowMinCost.rst:128 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_maxFlowMinCost.rst:135 +#: ../../build/doc/pgr_maxFlowMinCost.rst:136 msgid "From vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`" msgstr "Desde los vértices :math:`\\{7, 13\\}` a los vértices :math:`\\{3, 9\\}`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:142 +#: ../../build/doc/pgr_maxFlowMinCost.rst:143 msgid "Parameters" msgstr "Parámetros" @@ -354,7 +356,7 @@ msgstr "**destinos**" msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_maxFlowMinCost.rst:149 +#: ../../build/doc/pgr_maxFlowMinCost.rst:150 msgid "Inner query" msgstr "Consulta interna" @@ -472,7 +474,7 @@ msgstr "ANY-NUMERICAL" msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgr_maxFlowMinCost.rst:156 +#: ../../build/doc/pgr_maxFlowMinCost.rst:157 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -532,35 +534,28 @@ msgstr "**agg_cost**" msgid "The aggregate cost." msgstr "El costo agregado." -#: ../../build/doc/pgr_maxFlowMinCost.rst:162 +#: ../../build/doc/pgr_maxFlowMinCost.rst:163 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_maxFlowMinCost.rst:164 +#: ../../build/doc/pgr_maxFlowMinCost.rst:165 msgid ":doc:`flow-family`" msgstr ":doc:`flow-family`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:165 +#: ../../build/doc/pgr_maxFlowMinCost.rst:166 msgid "" "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" msgstr "" "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" -#: ../../build/doc/pgr_maxFlowMinCost.rst:168 +#: ../../build/doc/pgr_maxFlowMinCost.rst:169 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_maxFlowMinCost.rst:169 +#: ../../build/doc/pgr_maxFlowMinCost.rst:170 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:170 +#: ../../build/doc/pgr_maxFlowMinCost.rst:171 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po index 5daf7954eff..85d97534c68 100644 --- a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po +++ b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -127,53 +127,55 @@ msgstr "Soporte" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:34 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:38 -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:154 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:39 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:155 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:40 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:41 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:42 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:43 msgid "The graph is **directed**." msgstr "El grafo es **dirigido**." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:43 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:44 msgid "**The cost value of all input edges must be nonnegative.**" msgstr "" "**El valor de coste de todas las aristas de entrada debe ser no negativo.**" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:44 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:45 msgid "" "When the maximum flow is 0 then there is no flow and **0** is returned." msgstr "" "Cuando el flujo máximo es 0 entonces no hay flujo y se devuelve un **0** ." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:46 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:47 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" "No hay ningún flujo cuando el **orígen** es el mismo que el **destino**." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:48 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:49 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" "Cualquier valor duplicado en el/los orígen(es) o en el/los destino(s) será " "ignorado." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:49 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:50 msgid "Uses the :doc:`pgr_maxFlowMinCost ` algorithm." msgstr "Utiliza el algoritmo :doc:`pgr_maxFlowMinCost ` ." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:51 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:52 msgid "" "Running time: :math:`O(U * (E + V * logV))`, where :math:`U` is the value of" " the max flow. :math:`U` is upper bound on number of iteration. In many real" @@ -184,15 +186,15 @@ msgstr "" "iteraciones is upper bound on number of iteration. En muchos casos reales, " "la cantidad de iteraciones es mucho menor que :math:`U`." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:54 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:55 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:57 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:58 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:70 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:71 msgid "One to One" msgstr "Uno a Uno" @@ -200,35 +202,35 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:77 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:78 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "Desde el vértice :math:`2` al vértice :math:`3`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:87 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:88 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:94 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:95 msgid "From vertex :math:`13` to vertices :math:`\\{7, 1, 4\\}`" msgstr "Desde el vértice :math:`13` a los vértices :math:`\\{7, 1, 4\\}`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:104 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:105 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:111 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:112 msgid "From vertices :math:`\\{1, 7, 14\\}` to vertex :math:`12`" msgstr "Desde los vértices :math:`\\{1, 7, 14\\}` al vértice :math:`12`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:121 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:122 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:128 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:129 msgid "From vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`" msgstr "Desde los vértices :math:`\\{7, 13\\}` a los vértices :math:`\\{3, 9\\}`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:137 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:138 msgid "Parameters" msgstr "Parámetros" @@ -237,7 +239,7 @@ msgid "Column" msgstr "Columna" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:154 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:155 msgid "Type" msgstr "Tipo" @@ -297,7 +299,7 @@ msgstr "**destinos**" msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:144 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:145 msgid "Inner query" msgstr "Consulta interna" @@ -415,49 +417,42 @@ msgstr "ANY-NUMERICAL" msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:151 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:152 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:156 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:157 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:156 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:157 msgid "Minimum Cost Maximum Flow possible from the source(s) to the target(s)" msgstr "" "Coste Mínimo Flujo Máximo posible desde el/los origen(es) hasta el/los " "objetivo(s)" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:160 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:161 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:162 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:163 msgid ":doc:`flow-family`" msgstr ":doc:`flow-family`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:163 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:164 msgid "" "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" msgstr "" "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:166 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:167 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:167 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:168 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:168 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:169 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_nodeNetwork.po b/locale/es/LC_MESSAGES/pgr_nodeNetwork.po index 0c91eeffd22..7b6de4abbab 100644 --- a/locale/es/LC_MESSAGES/pgr_nodeNetwork.po +++ b/locale/es/LC_MESSAGES/pgr_nodeNetwork.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -10,9 +10,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -74,15 +74,17 @@ msgstr "Soporte" #: ../../build/doc/pgr_nodeNetwork.rst:36 msgid "" -"**Supported versions:** current(`3.0 " -"`__) `2.6 " +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__) `2.6 " +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_nodeNetwork.rst:40 +#: ../../build/doc/pgr_nodeNetwork.rst:41 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -95,7 +97,7 @@ msgid "" " `2.0 " "`__" msgstr "" -"**Versiones no soportadas:** `2.5 " +"**Versiones no sustentadas:** `2.5 " "`__ `2.4 " "`__ `2.3 " "`__" @@ -106,15 +108,15 @@ msgstr "" " `2.0 " "`__" -#: ../../build/doc/pgr_nodeNetwork.rst:50 +#: ../../build/doc/pgr_nodeNetwork.rst:51 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_nodeNetwork.rst:52 +#: ../../build/doc/pgr_nodeNetwork.rst:53 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_nodeNetwork.rst:54 +#: ../../build/doc/pgr_nodeNetwork.rst:55 msgid "" "A common problem associated with bringing GIS data into pgRouting is the " "fact that the data is often not \"noded\" correctly. This will create " @@ -125,7 +127,7 @@ msgstr "" " nodos. Esto provoca topologías no válidas, que resultan en rutas que son " "incorrectas." -#: ../../build/doc/pgr_nodeNetwork.rst:56 +#: ../../build/doc/pgr_nodeNetwork.rst:57 msgid "" "What we mean by \"noded\" is that at every intersection in the road network " "all the edges will be broken into separate road segments. There are cases " @@ -138,7 +140,7 @@ msgstr "" "separados del camino. Los casos como una intersección de puente o túnel " "donde no existe conexión vial no son detectados por esta función." -#: ../../build/doc/pgr_nodeNetwork.rst:58 +#: ../../build/doc/pgr_nodeNetwork.rst:59 msgid "" "This function reads the ``edge_table`` table, that has a primary key column " "``id`` and geometry column named ``the_geom`` and intersect all the segments" @@ -152,15 +154,15 @@ msgstr "" "segmentos creando una tabla de salida ``table_out``. Usa la tolerancia " "``tolerance`` para decidir cuáles nodos son considerados como mismo nodo." -#: ../../build/doc/pgr_nodeNetwork.rst:61 +#: ../../build/doc/pgr_nodeNetwork.rst:62 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_nodeNetwork.rst ../../build/doc/pgr_nodeNetwork.rst:158 +#: ../../build/doc/pgr_nodeNetwork.rst ../../build/doc/pgr_nodeNetwork.rst:159 msgid "edge_table" msgstr "edge_table" -#: ../../build/doc/pgr_nodeNetwork.rst:63 +#: ../../build/doc/pgr_nodeNetwork.rst:64 msgid "``text`` Network table name. (may contain the schema name as well)" msgstr "``text`` La tabla de la red. (puede contener el nombre del esquema)" @@ -168,7 +170,7 @@ msgstr "``text`` La tabla de la red. (puede contener el nombre del esquema)" msgid "tolerance" msgstr "tolerancia" -#: ../../build/doc/pgr_nodeNetwork.rst:64 +#: ../../build/doc/pgr_nodeNetwork.rst:65 msgid "``float8`` tolerance for coincident points (in projection unit)dd" msgstr "" "``float8`` tolerancia para puntos de coincidencia (en la unidad de " @@ -178,7 +180,7 @@ msgstr "" msgid "id" msgstr "id" -#: ../../build/doc/pgr_nodeNetwork.rst:65 +#: ../../build/doc/pgr_nodeNetwork.rst:66 msgid "" "``text`` Primary key column name of the network table. Default value is " "``id``." @@ -190,7 +192,7 @@ msgstr "" msgid "the_geom" msgstr "the_geom" -#: ../../build/doc/pgr_nodeNetwork.rst:66 +#: ../../build/doc/pgr_nodeNetwork.rst:67 msgid "" "``text`` Geometry column name of the network table. Default value is " "``the_geom``." @@ -202,16 +204,16 @@ msgstr "" msgid "table_ending" msgstr "table_ending" -#: ../../build/doc/pgr_nodeNetwork.rst:67 +#: ../../build/doc/pgr_nodeNetwork.rst:68 msgid "``text`` Suffix for the new table's. Default value is ``noded``." msgstr "" "``text`` sufijo para la nueva tabla. El valor predeterminado es ``noded``." -#: ../../build/doc/pgr_nodeNetwork.rst:69 +#: ../../build/doc/pgr_nodeNetwork.rst:70 msgid "The output table will have for ``edge_table_noded``" msgstr "La tabla de salida tendrá para ``edge_table_noded``" -#: ../../build/doc/pgr_nodeNetwork.rst:71 +#: ../../build/doc/pgr_nodeNetwork.rst:72 msgid "``bigint`` Unique identifier for the table" msgstr "``bigint`` identificador del vértice." @@ -219,7 +221,7 @@ msgstr "``bigint`` identificador del vértice." msgid "old_id" msgstr "old_id" -#: ../../build/doc/pgr_nodeNetwork.rst:72 +#: ../../build/doc/pgr_nodeNetwork.rst:73 msgid "``bigint`` Identifier of the edge in original table" msgstr "``bigint`` identificador del borde en la tabla original" @@ -227,7 +229,7 @@ msgstr "``bigint`` identificador del borde en la tabla original" msgid "sub_id" msgstr "sub_id" -#: ../../build/doc/pgr_nodeNetwork.rst:73 +#: ../../build/doc/pgr_nodeNetwork.rst:74 msgid "``integer`` Segment number of the original edge" msgstr "``integer`` número del segmento del borde original" @@ -235,7 +237,7 @@ msgstr "``integer`` número del segmento del borde original" msgid "source" msgstr "source" -#: ../../build/doc/pgr_nodeNetwork.rst:74 +#: ../../build/doc/pgr_nodeNetwork.rst:75 msgid "" "``integer`` Empty source column to be used with :doc:`pgr_createTopology` " "function" @@ -247,7 +249,7 @@ msgstr "" msgid "target" msgstr "target" -#: ../../build/doc/pgr_nodeNetwork.rst:75 +#: ../../build/doc/pgr_nodeNetwork.rst:76 msgid "" "``integer`` Empty target column to be used with :doc:`pgr_createTopology` " "function" @@ -259,23 +261,23 @@ msgstr "" msgid "the geom" msgstr "la geom" -#: ../../build/doc/pgr_nodeNetwork.rst:76 +#: ../../build/doc/pgr_nodeNetwork.rst:77 msgid "``geometry`` Geometry column of the noded network" msgstr "``geometry`` Columna de geometría de la red discontínua" -#: ../../build/doc/pgr_nodeNetwork.rst:79 +#: ../../build/doc/pgr_nodeNetwork.rst:80 msgid "Examples" msgstr "Ejemplos" -#: ../../build/doc/pgr_nodeNetwork.rst:81 +#: ../../build/doc/pgr_nodeNetwork.rst:82 msgid "Let's create the topology for the data in :doc:`sampledata`" msgstr "Vamos a crear la topología para los datos en :doc:`sampledata`" -#: ../../build/doc/pgr_nodeNetwork.rst:87 +#: ../../build/doc/pgr_nodeNetwork.rst:88 msgid "Now we can analyze the network." msgstr "Ahora podemos analizar la red." -#: ../../build/doc/pgr_nodeNetwork.rst:93 +#: ../../build/doc/pgr_nodeNetwork.rst:94 msgid "" "The analysis tell us that the network has a gap and an intersection. We try " "to fix the problem using:" @@ -283,7 +285,7 @@ msgstr "" "El análisis dice que la red tiene un hueco y una intersección. Trataremos de" " solucionar el problema usando:" -#: ../../build/doc/pgr_nodeNetwork.rst:99 +#: ../../build/doc/pgr_nodeNetwork.rst:100 msgid "" "Inspecting the generated table, we can see that edges 13,14 and 18 has been " "segmented" @@ -291,75 +293,75 @@ msgstr "" "Inspeccionar la tabla generada, podemos ver que los bordes 13,14 y 18 ha " "sido segmentado" -#: ../../build/doc/pgr_nodeNetwork.rst:105 +#: ../../build/doc/pgr_nodeNetwork.rst:106 msgid "We can create the topology of the new network" msgstr "Podemos crear la topología de la nueva red " -#: ../../build/doc/pgr_nodeNetwork.rst:111 +#: ../../build/doc/pgr_nodeNetwork.rst:112 msgid "Now let's analyze the new topology" msgstr "Ahora analicemos la nueva topología" -#: ../../build/doc/pgr_nodeNetwork.rst:118 +#: ../../build/doc/pgr_nodeNetwork.rst:119 msgid "Images" msgstr "Imágenes" -#: ../../build/doc/pgr_nodeNetwork.rst ../../build/doc/pgr_nodeNetwork.rst:135 +#: ../../build/doc/pgr_nodeNetwork.rst ../../build/doc/pgr_nodeNetwork.rst:136 msgid "Before Image" msgstr "Imágen del Antes" -#: ../../build/doc/pgr_nodeNetwork.rst ../../build/doc/pgr_nodeNetwork.rst:143 +#: ../../build/doc/pgr_nodeNetwork.rst ../../build/doc/pgr_nodeNetwork.rst:144 msgid "After Image" msgstr "Imágen del Después" -#: ../../build/doc/pgr_nodeNetwork.rst:151 +#: ../../build/doc/pgr_nodeNetwork.rst:152 msgid "Comparing the results" msgstr "Comparando los resultados" -#: ../../build/doc/pgr_nodeNetwork.rst:153 +#: ../../build/doc/pgr_nodeNetwork.rst:154 msgid "Comparing with the Analysis in the original edge_table, we see that." msgstr "Comparando con el análisis del edge_table original, vemos que:" -#: ../../build/doc/pgr_nodeNetwork.rst:156 +#: ../../build/doc/pgr_nodeNetwork.rst:157 msgid "Before" msgstr "Antes de" -#: ../../build/doc/pgr_nodeNetwork.rst:156 +#: ../../build/doc/pgr_nodeNetwork.rst:157 msgid "After" msgstr "Después de" -#: ../../build/doc/pgr_nodeNetwork.rst:158 +#: ../../build/doc/pgr_nodeNetwork.rst:159 msgid "Table name" msgstr "Nombre de la tabla" -#: ../../build/doc/pgr_nodeNetwork.rst:158 +#: ../../build/doc/pgr_nodeNetwork.rst:159 msgid "edge_table_noded" msgstr "edge_table_noded" -#: ../../build/doc/pgr_nodeNetwork.rst:160 +#: ../../build/doc/pgr_nodeNetwork.rst:161 msgid "Fields" msgstr "Campos" -#: ../../build/doc/pgr_nodeNetwork.rst:160 +#: ../../build/doc/pgr_nodeNetwork.rst:161 msgid "All original fields" msgstr "Todos los campos originales" -#: ../../build/doc/pgr_nodeNetwork.rst:160 +#: ../../build/doc/pgr_nodeNetwork.rst:161 msgid "Has only basic fields to do a topology analysis" msgstr "Tiene solamente campos básicos para hacer un análisis de topología" -#: ../../build/doc/pgr_nodeNetwork.rst:162 +#: ../../build/doc/pgr_nodeNetwork.rst:163 msgid "Dead ends" msgstr "Callejones sin salida" -#: ../../build/doc/pgr_nodeNetwork.rst:162 +#: ../../build/doc/pgr_nodeNetwork.rst:163 msgid "Edges with 1 dead end: 1,6,24" msgstr "Los bordes con 1 callejón sin salida: 1,6,24" -#: ../../build/doc/pgr_nodeNetwork.rst:163 +#: ../../build/doc/pgr_nodeNetwork.rst:164 msgid "Edges with 2 dead ends 17,18" msgstr "Bordes con 2 callejones sin salida 17,18" -#: ../../build/doc/pgr_nodeNetwork.rst:165 +#: ../../build/doc/pgr_nodeNetwork.rst:166 msgid "" "Edge 17's right node is a dead end because there is no other edge sharing " "that same node. (cnt=1)" @@ -367,35 +369,35 @@ msgstr "" "Nodo derecho borde de 17 es un callejón sin salida porque no hay ningún otro" " borde que comparta ese mismo nodo. (cnt = 1)" -#: ../../build/doc/pgr_nodeNetwork.rst:162 +#: ../../build/doc/pgr_nodeNetwork.rst:163 msgid "Edges with 1 dead end: 1-1 ,6-1,14-2, 18-1 17-1 18-2" msgstr "Los bordes con 1 callejón sin salida: 1-1, 6-1,14-2, 18-1-17-1 18-2" -#: ../../build/doc/pgr_nodeNetwork.rst:169 +#: ../../build/doc/pgr_nodeNetwork.rst:170 msgid "Isolated segments" msgstr "Segmentos aislados" -#: ../../build/doc/pgr_nodeNetwork.rst:169 +#: ../../build/doc/pgr_nodeNetwork.rst:170 msgid "two isolated segments: 17 and 18 both they have 2 dead ends" msgstr "dos aislados segmentos: 17 y 18 ambos tienen 2 callejones sin salida" -#: ../../build/doc/pgr_nodeNetwork.rst:170 +#: ../../build/doc/pgr_nodeNetwork.rst:171 msgid "No Isolated segments" msgstr "Segmentos no aislados" -#: ../../build/doc/pgr_nodeNetwork.rst:170 +#: ../../build/doc/pgr_nodeNetwork.rst:171 msgid "Edge 17 now shares a node with edges 14-1 and 14-2" msgstr "Borde 17 ahora comparte un nodo con bordes 14-1 y 14-2" -#: ../../build/doc/pgr_nodeNetwork.rst:171 +#: ../../build/doc/pgr_nodeNetwork.rst:172 msgid "Edges 18-1 and 18-2 share a node with edges 13-1 and 13-2" msgstr "Bordes 18-1 y 18-2 compartir un nodo con bordes 13-1 y 13-2" -#: ../../build/doc/pgr_nodeNetwork.rst:173 +#: ../../build/doc/pgr_nodeNetwork.rst:174 msgid "Gaps" msgstr "Espacios" -#: ../../build/doc/pgr_nodeNetwork.rst:173 +#: ../../build/doc/pgr_nodeNetwork.rst:174 msgid "" "There is a gap between edge 17 and 14 because edge 14 is near to the right " "node of edge 17" @@ -403,7 +405,7 @@ msgstr "" "Existe un espacio entre 17 y 14 borde borde 14 es cerca del nodo derecho del" " borde 17" -#: ../../build/doc/pgr_nodeNetwork.rst:173 +#: ../../build/doc/pgr_nodeNetwork.rst:174 msgid "" "Edge 14 was segmented Now edges: 14-1 14-2 17 share the same node The " "tolerance value was taken in account" @@ -411,15 +413,15 @@ msgstr "" "Borde 14 fue segmentado ahora bordes: 14-1 14-2 17 comparten el mismo nodo, " "el valor de tolerancia fue tomado en cuenta" -#: ../../build/doc/pgr_nodeNetwork.rst:177 +#: ../../build/doc/pgr_nodeNetwork.rst:178 msgid "Intersections" msgstr "Intersecciones" -#: ../../build/doc/pgr_nodeNetwork.rst:177 +#: ../../build/doc/pgr_nodeNetwork.rst:178 msgid "Edges 13 and 18 were intersecting" msgstr "Bordes 13 y 18 años se intersectan" -#: ../../build/doc/pgr_nodeNetwork.rst:177 +#: ../../build/doc/pgr_nodeNetwork.rst:178 msgid "" "Edges were segmented, So, now in the interection's point there is a node and" " the following edges share it: 13-1 13-2 18-1 18-2" @@ -427,7 +429,7 @@ msgstr "" "Bordes fueron segmentados, ahora en el punto de la interesección hay un nodo" " y los bordes siguientes lo comparten: 13-1 13-2-18-1 18-2" -#: ../../build/doc/pgr_nodeNetwork.rst:182 +#: ../../build/doc/pgr_nodeNetwork.rst:183 msgid "" "Now, we are going to include the segments 13-1, 13-2 14-1, 14-2 ,18-1 and " "18-2 into our edge-table, copying the data for dir,cost,and reverse cost " @@ -437,7 +439,7 @@ msgstr "" "nuestra tabla de bordes, copiando además los datos para dir, costo y costo " "inverso con los siguientes los pasos:" -#: ../../build/doc/pgr_nodeNetwork.rst:184 +#: ../../build/doc/pgr_nodeNetwork.rst:185 msgid "" "Add a column old_id into edge_table, this column is going to keep track the " "id of the original edge" @@ -445,18 +447,18 @@ msgstr "" "Agregar una columna old_id en edge_table, esta columna va a seguir la pista " "el id del borde original" -#: ../../build/doc/pgr_nodeNetwork.rst:185 +#: ../../build/doc/pgr_nodeNetwork.rst:186 msgid "" "Insert only the segmented edges, that is, the ones whose max(sub_id) >1" msgstr "" "Introduzca sólo los bordes segmentados, es decir, aquellos cuyo max(sub_id) " "> 1" -#: ../../build/doc/pgr_nodeNetwork.rst:191 +#: ../../build/doc/pgr_nodeNetwork.rst:192 msgid "We recreate the topology:" msgstr "Recreamos la topología:" -#: ../../build/doc/pgr_nodeNetwork.rst:197 +#: ../../build/doc/pgr_nodeNetwork.rst:198 msgid "" "To get the same analysis results as the topology of edge_table_noded, we do " "the following query:" @@ -464,7 +466,7 @@ msgstr "" "Para obtener los mismos resultados de análisis que la topología de " "edge_table_noded, hacemos la siguiente consulta:" -#: ../../build/doc/pgr_nodeNetwork.rst:203 +#: ../../build/doc/pgr_nodeNetwork.rst:204 msgid "" "To get the same analysis results as the original edge_table, we do the " "following query:" @@ -472,7 +474,7 @@ msgstr "" "Para obtener los mismos resultados de análisis como el edge_table original, " "hacemos la siguiente consulta:" -#: ../../build/doc/pgr_nodeNetwork.rst:209 +#: ../../build/doc/pgr_nodeNetwork.rst:210 msgid "" "Or we can analyze everything because, maybe edge 18 is an overpass, edge 14 " "is an under pass and there is also a street level juction, and the same " @@ -482,11 +484,11 @@ msgstr "" " bajo paso y también hay una juntura nivel calle, y lo mismo ocurre con los " "bordes 17 y 13." -#: ../../build/doc/pgr_nodeNetwork.rst:216 +#: ../../build/doc/pgr_nodeNetwork.rst:217 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_nodeNetwork.rst:218 +#: ../../build/doc/pgr_nodeNetwork.rst:219 msgid "" ":doc:`topology-functions` for an overview of a topology for routing " "algorithms. :doc:`pgr_analyzeOneWay` to analyze directionality of the edges." @@ -496,23 +498,14 @@ msgstr "" ":doc:`topology-functions` para obtener una visión general de una topología para algoritmos de enrutamiento.\n" ":doc:`pgr_analyzeOneWay` para analizar la direccionalidad de los bordes. :doc:`pgr_createTopology` para crear una topología basada en la geometría. :doc:`pgr_analyzeGraph` para analizar los bordes y vértices de la tabla de bordes." -#: ../../build/doc/pgr_nodeNetwork.rst:224 +#: ../../build/doc/pgr_nodeNetwork.rst:225 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_nodeNetwork.rst:225 +#: ../../build/doc/pgr_nodeNetwork.rst:226 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_nodeNetwork.rst:226 +#: ../../build/doc/pgr_nodeNetwork.rst:227 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__) `2.6 " -#~ "`__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__) `2.6 " -#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_pickDeliver.po b/locale/es/LC_MESSAGES/pgr_pickDeliver.po index 1c8a9e37966..e573a9f64f4 100644 --- a/locale/es/LC_MESSAGES/pgr_pickDeliver.po +++ b/locale/es/LC_MESSAGES/pgr_pickDeliver.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -121,17 +121,19 @@ msgstr "Soporte" #: ../../build/doc/pgr_pickDeliver.rst:27 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_pickDeliver.rst:31 +#: ../../build/doc/pgr_pickDeliver.rst:32 msgid "Synopsis" msgstr "Sinopsis" -#: ../../build/doc/pgr_pickDeliver.rst:33 +#: ../../build/doc/pgr_pickDeliver.rst:34 msgid "" "Problem: Distribute and optimize the pickup-delivery pairs into a fleet of " "vehicles." @@ -139,103 +141,103 @@ msgstr "" "Problema: Distribuya y optimice los pares de recogida-entrega en una flota " "de vehículos." -#: ../../build/doc/pgr_pickDeliver.rst:35 +#: ../../build/doc/pgr_pickDeliver.rst:36 msgid "Optimization problem is NP-hard." msgstr "El problema de optimización es NP-hard." -#: ../../build/doc/pgr_pickDeliver.rst:36 +#: ../../build/doc/pgr_pickDeliver.rst:37 msgid "pickup and Delivery with time windows." msgstr "recogida y Entrega con ventanas de tiempo." -#: ../../build/doc/pgr_pickDeliver.rst:37 +#: ../../build/doc/pgr_pickDeliver.rst:38 msgid "All vehicles are equal." msgstr "Todos los vehículos son iguales." -#: ../../build/doc/pgr_pickDeliver.rst:39 +#: ../../build/doc/pgr_pickDeliver.rst:40 msgid "Same Starting location." msgstr "La misma ubicación de Inicio." -#: ../../build/doc/pgr_pickDeliver.rst:40 +#: ../../build/doc/pgr_pickDeliver.rst:41 msgid "Same Ending location which is the same as Starting location." msgstr "La misma ubicación Final que es la misma que la ubicación de Inicio." -#: ../../build/doc/pgr_pickDeliver.rst:41 +#: ../../build/doc/pgr_pickDeliver.rst:42 msgid "All vehicles travel at the same speed." msgstr "Todos los vehículos viajan a la misma velocidad." -#: ../../build/doc/pgr_pickDeliver.rst:43 +#: ../../build/doc/pgr_pickDeliver.rst:44 msgid "A customer is for doing a pickup or doing a deliver." msgstr "Un cliente es para hacer una recogida o hacer una entrega." -#: ../../build/doc/pgr_pickDeliver.rst:45 +#: ../../build/doc/pgr_pickDeliver.rst:46 msgid "has an open time." msgstr "tiene un tiempo abierto." -#: ../../build/doc/pgr_pickDeliver.rst:46 +#: ../../build/doc/pgr_pickDeliver.rst:47 msgid "has a closing time." msgstr "tiene tiempo de cierre." -#: ../../build/doc/pgr_pickDeliver.rst:47 +#: ../../build/doc/pgr_pickDeliver.rst:48 msgid "has a service time." msgstr "tiene un tiempo de servicio." -#: ../../build/doc/pgr_pickDeliver.rst:48 +#: ../../build/doc/pgr_pickDeliver.rst:49 msgid "has an (x, y) location." msgstr "tiene una ubicación (x, y)." -#: ../../build/doc/pgr_pickDeliver.rst:50 +#: ../../build/doc/pgr_pickDeliver.rst:51 msgid "There is a customer where to deliver a pickup." msgstr "Hay un cliente donde entregar una recogida." -#: ../../build/doc/pgr_pickDeliver.rst:52 +#: ../../build/doc/pgr_pickDeliver.rst:53 msgid "travel time between customers is distance / speed" msgstr "tiempo de viaje entre los clientes es distancia / velocidad" -#: ../../build/doc/pgr_pickDeliver.rst:53 +#: ../../build/doc/pgr_pickDeliver.rst:54 msgid "pickup and delivery pair is done with the same vehicle." msgstr "La recogida y entrega se realizan con el mismo vehículo." -#: ../../build/doc/pgr_pickDeliver.rst:54 +#: ../../build/doc/pgr_pickDeliver.rst:55 msgid "A pickup is done before the delivery." msgstr "La recogida se realiza antes de la entrega." -#: ../../build/doc/pgr_pickDeliver.rst:58 +#: ../../build/doc/pgr_pickDeliver.rst:59 msgid "Characteristics" msgstr "Características" -#: ../../build/doc/pgr_pickDeliver.rst:60 +#: ../../build/doc/pgr_pickDeliver.rst:61 msgid "All trucks depart at time 0." msgstr "Todos los camiones salen en el momento 0." -#: ../../build/doc/pgr_pickDeliver.rst:61 +#: ../../build/doc/pgr_pickDeliver.rst:62 msgid "No multiple time windows for a location." msgstr "No hay varias ventanas de tiempo para una ubicación." -#: ../../build/doc/pgr_pickDeliver.rst:62 +#: ../../build/doc/pgr_pickDeliver.rst:63 msgid "Less vehicle used is considered better." msgstr "Menos vehículo utilizado se considera mejor." -#: ../../build/doc/pgr_pickDeliver.rst:63 +#: ../../build/doc/pgr_pickDeliver.rst:64 msgid "Less total duration is better." msgstr "Menos duración total es mejor." -#: ../../build/doc/pgr_pickDeliver.rst:64 +#: ../../build/doc/pgr_pickDeliver.rst:65 msgid "Less wait time is better." msgstr "Menos tiempo de espera es mejor." -#: ../../build/doc/pgr_pickDeliver.rst:65 +#: ../../build/doc/pgr_pickDeliver.rst:66 msgid "the algorithm will raise an exception when" msgstr "el algoritmo generará una excepción cuando" -#: ../../build/doc/pgr_pickDeliver.rst:67 +#: ../../build/doc/pgr_pickDeliver.rst:68 msgid "If there is a pickup-deliver pair than violates time window" msgstr "Si hay un par de recogida-entrega que viola la ventana de tiempo" -#: ../../build/doc/pgr_pickDeliver.rst:68 +#: ../../build/doc/pgr_pickDeliver.rst:69 msgid "The speed, max_cycles, ma_capacity have illegal values" msgstr "La velocidad, max_cycles, max_capacity tienen valores ilegales" -#: ../../build/doc/pgr_pickDeliver.rst:70 +#: ../../build/doc/pgr_pickDeliver.rst:71 msgid "" "Six different initial will be optimized - the best solution found will be " "result" @@ -243,163 +245,163 @@ msgstr "" "Seoptimizarán seis iniciales diferentes - la mejor solución encontrada será " "el resultado" -#: ../../build/doc/pgr_pickDeliver.rst:77 +#: ../../build/doc/pgr_pickDeliver.rst:78 msgid "Signature" msgstr "Firma" -#: ../../build/doc/pgr_pickDeliver.rst:110 +#: ../../build/doc/pgr_pickDeliver.rst:111 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_pickDeliver.rst:112 +#: ../../build/doc/pgr_pickDeliver.rst:113 msgid "The parameters are:" msgstr "Los parámetros son:" #: ../../build/doc/VRP-category.rst:4 ../../build/doc/VRP-category.rst:6 -#: ../../build/doc/pgr_pickDeliver.rst:120 +#: ../../build/doc/pgr_pickDeliver.rst:121 msgid "Column" msgstr "Columna" #: ../../build/doc/VRP-category.rst:4 ../../build/doc/VRP-category.rst:6 -#: ../../build/doc/pgr_pickDeliver.rst:120 +#: ../../build/doc/pgr_pickDeliver.rst:121 msgid "Type" msgstr "Tipo" #: ../../build/doc/VRP-category.rst:4 ../../build/doc/VRP-category.rst:6 -#: ../../build/doc/pgr_pickDeliver.rst:120 +#: ../../build/doc/pgr_pickDeliver.rst:121 msgid "Default" msgstr "Valores predeterminados" #: ../../build/doc/VRP-category.rst:4 ../../build/doc/VRP-category.rst:6 -#: ../../build/doc/pgr_pickDeliver.rst:120 +#: ../../build/doc/pgr_pickDeliver.rst:121 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_pickDeliver.rst:122 +#: ../../build/doc/pgr_pickDeliver.rst:123 msgid "**orders_sql**" msgstr "**orders_sql**" -#: ../../build/doc/pgr_pickDeliver.rst:122 #: ../../build/doc/pgr_pickDeliver.rst:123 #: ../../build/doc/pgr_pickDeliver.rst:124 +#: ../../build/doc/pgr_pickDeliver.rst:125 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_pickDeliver.rst:122 +#: ../../build/doc/pgr_pickDeliver.rst:123 msgid "" "`Pick & Deliver Orders SQL`_ query contianing the orders to be processed." msgstr "" "`Pick & Deliver Orders SQL`_ consulta que contianing los pedidos que se van " "a procesar." -#: ../../build/doc/pgr_pickDeliver.rst:123 +#: ../../build/doc/pgr_pickDeliver.rst:124 msgid "**vehicles_sql**" msgstr "**vehicles_sql**" -#: ../../build/doc/pgr_pickDeliver.rst:123 +#: ../../build/doc/pgr_pickDeliver.rst:124 msgid "" "`Pick & Deliver Vehicles SQL`_ query containing the vehicles to be used." msgstr "" "La consulta `SQL de Vehículos de Recogida y Entrega`_ contiene los vehículos" " que se van a utilizar." -#: ../../build/doc/pgr_pickDeliver.rst:124 +#: ../../build/doc/pgr_pickDeliver.rst:125 msgid "**matrix_sql**" msgstr "**matrix_sql**" -#: ../../build/doc/pgr_pickDeliver.rst:124 +#: ../../build/doc/pgr_pickDeliver.rst:125 msgid "" "`Pick & Deliver Matrix SQL`_ query containing the distance or travel times." msgstr "" "La consulta `Matriz SQL de Recogida y Entrega`_ contiene la distancia o " "tiempos de viaje." -#: ../../build/doc/pgr_pickDeliver.rst:125 +#: ../../build/doc/pgr_pickDeliver.rst:126 msgid "**factor**" msgstr "**factor**" -#: ../../build/doc/pgr_pickDeliver.rst:125 +#: ../../build/doc/pgr_pickDeliver.rst:126 msgid "``NUMERIC``" msgstr "``NUMERIC``" -#: ../../build/doc/pgr_pickDeliver.rst:125 +#: ../../build/doc/pgr_pickDeliver.rst:126 msgid "1" msgstr "1" -#: ../../build/doc/pgr_pickDeliver.rst:125 +#: ../../build/doc/pgr_pickDeliver.rst:126 msgid "Travel time multiplier. See :ref:`pd_factor`" msgstr "Multiplicador de tiempo de viaje. Ver :ref:`pd_factor`" -#: ../../build/doc/pgr_pickDeliver.rst:126 +#: ../../build/doc/pgr_pickDeliver.rst:127 msgid "**max_cycles**" msgstr "**max_cycles**" -#: ../../build/doc/pgr_pickDeliver.rst:126 #: ../../build/doc/pgr_pickDeliver.rst:127 +#: ../../build/doc/pgr_pickDeliver.rst:128 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/pgr_pickDeliver.rst:126 +#: ../../build/doc/pgr_pickDeliver.rst:127 msgid "10" msgstr "10" -#: ../../build/doc/pgr_pickDeliver.rst:126 +#: ../../build/doc/pgr_pickDeliver.rst:127 msgid "Maximum number of cycles to perform on the optimization." msgstr "Número máximo de ciclos a realizar en la optimización." -#: ../../build/doc/pgr_pickDeliver.rst:127 +#: ../../build/doc/pgr_pickDeliver.rst:128 msgid "**initial_sol**" msgstr "**initial_sol**" -#: ../../build/doc/pgr_pickDeliver.rst:127 +#: ../../build/doc/pgr_pickDeliver.rst:128 msgid "4" msgstr "4" -#: ../../build/doc/pgr_pickDeliver.rst:127 +#: ../../build/doc/pgr_pickDeliver.rst:128 msgid "Initial solution to be used." msgstr "Solución inicial a utilizar." -#: ../../build/doc/pgr_pickDeliver.rst:129 +#: ../../build/doc/pgr_pickDeliver.rst:130 msgid "``1`` One order per truck" msgstr "``1`` Un orden por camión" -#: ../../build/doc/pgr_pickDeliver.rst:130 +#: ../../build/doc/pgr_pickDeliver.rst:131 msgid "``2`` Push front order." msgstr "``2`` Empuje la orden delantera." -#: ../../build/doc/pgr_pickDeliver.rst:131 +#: ../../build/doc/pgr_pickDeliver.rst:132 msgid "``3`` Push back order." msgstr "``3`` Empuje la orden trasera." -#: ../../build/doc/pgr_pickDeliver.rst:132 +#: ../../build/doc/pgr_pickDeliver.rst:133 msgid "``4`` Optimize insert." msgstr "``4`` Optimizar inserción." -#: ../../build/doc/pgr_pickDeliver.rst:133 +#: ../../build/doc/pgr_pickDeliver.rst:134 msgid "" "``5`` Push back order that allows more orders to be inserted at the back" msgstr "" "``5`` Orden de retroceso que permite insertar más órdenes en la parte " "posterior" -#: ../../build/doc/pgr_pickDeliver.rst:134 +#: ../../build/doc/pgr_pickDeliver.rst:135 msgid "" "``6`` Push front order that allows more orders to be inserted at the front" msgstr "" "``6`` Orden de avance que permite insertar más órdenes en la parte frontal" -#: ../../build/doc/pgr_pickDeliver.rst:140 +#: ../../build/doc/pgr_pickDeliver.rst:141 msgid "Pick & Deliver Orders SQL" msgstr "Pick & Deliver Orders SQL (Recoger y Entregar Pedidos)" -#: ../../build/doc/pgr_pickDeliver.rst:142 -#: ../../build/doc/pgr_pickDeliver.rst:164 -#: ../../build/doc/pgr_pickDeliver.rst:188 +#: ../../build/doc/pgr_pickDeliver.rst:143 +#: ../../build/doc/pgr_pickDeliver.rst:165 +#: ../../build/doc/pgr_pickDeliver.rst:189 msgid "A `SELECT` statement that returns the following columns:" msgstr "Una instrucción `SELECT` que devuelve las siguientes columnas:" -#: ../../build/doc/pgr_pickDeliver.rst:150 -#: ../../build/doc/pgr_pickDeliver.rst:172 +#: ../../build/doc/pgr_pickDeliver.rst:151 +#: ../../build/doc/pgr_pickDeliver.rst:173 msgid "where:" msgstr "Donde:" @@ -513,7 +515,7 @@ msgstr "" "El identificador de nodo de la entrega debe coincidir con un identificador " "de nodo en la tabla de matriz." -#: ../../build/doc/pgr_pickDeliver.rst:162 +#: ../../build/doc/pgr_pickDeliver.rst:163 msgid "Pick & Deliver Vehicles SQL" msgstr "SQL de Vehículos de Recogida y Entrega" @@ -625,11 +627,11 @@ msgstr "" "El identificador de nodo de la ubicación final debe coincidir con un " "identificador de nodo en la tabla de matriz." -#: ../../build/doc/pgr_pickDeliver.rst:186 +#: ../../build/doc/pgr_pickDeliver.rst:187 msgid "Pick & Deliver Matrix SQL" msgstr "Pick & Deliver Matrix SQL" -#: ../../build/doc/pgr_pickDeliver.rst:192 +#: ../../build/doc/pgr_pickDeliver.rst:193 msgid "TODO" msgstr "TODO" @@ -653,41 +655,34 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_pickDeliver.rst:203 +#: ../../build/doc/pgr_pickDeliver.rst:204 msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_pickDeliver.rst:207 +#: ../../build/doc/pgr_pickDeliver.rst:208 msgid "This example use the following data: TODO put link" msgstr "En este ejemplo se utilizan los siguientes datos: TODO put link" -#: ../../build/doc/pgr_pickDeliver.rst:215 +#: ../../build/doc/pgr_pickDeliver.rst:216 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_pickDeliver.rst:217 +#: ../../build/doc/pgr_pickDeliver.rst:218 msgid ":doc:`VRP-category`" msgstr ":doc:`VRP-category`" -#: ../../build/doc/pgr_pickDeliver.rst:218 +#: ../../build/doc/pgr_pickDeliver.rst:219 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_pickDeliver.rst:221 +#: ../../build/doc/pgr_pickDeliver.rst:222 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_pickDeliver.rst:222 +#: ../../build/doc/pgr_pickDeliver.rst:223 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_pickDeliver.rst:223 +#: ../../build/doc/pgr_pickDeliver.rst:224 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones Soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po b/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po index 57585e5745e..edb0dcd5010 100644 --- a/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po +++ b/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2020 +# Vicky Vergara , 2019 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -126,13 +126,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:28 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:31 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:32 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -150,11 +152,11 @@ msgstr "" " `2.2 `__ `2.1" " `__" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:41 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:42 msgid "Synopsis" msgstr "Sinopsis" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:43 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:44 msgid "" "Problem: Distribute and optimize the pickup-delivery pairs into a fleet of " "vehicles." @@ -162,116 +164,116 @@ msgstr "" "Problema: Distribuya y optimice los pares de recogida-entrega en una flota " "de vehículos." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:45 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:46 msgid "Optimization problem is NP-hard." msgstr "El problema de optimización es NP-hard." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:46 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:47 msgid "Pickup and Delivery:" msgstr "Recogida y Entrega:" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:48 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:49 msgid "capacitated" msgstr "capacitado" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:49 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:50 msgid "with time windows." msgstr "con ventanas de tiempo." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:51 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:52 msgid "The vehicles" msgstr "Los vehículos" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:53 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:54 msgid "have (x, y) start and ending locations." msgstr "tienen (x, y) ubicaciones de inicio y finalización." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:54 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:55 msgid "have a start and ending service times." msgstr "tener un inicio y un final de los tiempos de servicio." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:55 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:56 msgid "have opening and closing times for the start and ending locations." msgstr "" "tienen horarios de apertura y cierre para las ubicaciones de inicio y " "finalización." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:57 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:58 msgid "An order is for doing a pickup and a a deliver." msgstr "Un pedido es para hacer una recogida y una entrega." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:59 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:60 msgid "has (x, y) pickup and delivery locations." msgstr "tiene (x, y) ubicaciones de recogida y entrega." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:60 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:61 msgid "has opening and closing times for the pickup and delivery locations." msgstr "" "tiene horarios de apertura y cierre para los lugares de recogida y entrega." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:61 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:62 msgid "has a pickup and deliver service times." msgstr "tiene una recogida y entrega de tiempos de servicio." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:63 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:64 msgid "There is a customer where to deliver a pickup." msgstr "Hay un cliente donde entregar una recogida." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:65 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:66 msgid "travel time between customers is distance / speed" msgstr "tiempo de viaje entre los clientes es distancia / velocidad" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:66 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:67 msgid "pickup and delivery pair is done with the same vehicle." msgstr "La recogida y entrega se realizan con el mismo vehículo." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:67 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:68 msgid "A pickup is done before the delivery." msgstr "La recogida se realiza antes de la entrega." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:72 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:73 msgid "Characteristics" msgstr "Características" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:74 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:75 msgid "No multiple time windows for a location." msgstr "No hay varias ventanas de tiempo para una ubicación." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:75 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:76 msgid "Less vehicle used is considered better." msgstr "Menos vehículo utilizado se considera mejor." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:76 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:77 msgid "Less total duration is better." msgstr "Menos duración total es mejor." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:77 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:78 msgid "Less wait time is better." msgstr "Menos tiempo de espera es mejor." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:78 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:79 msgid "Six different optional different initial solutions" msgstr "Seis diferentes soluciones iniciales opcionales" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:80 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:81 msgid "the best solution found will be result" msgstr "la mejor solución encontrada será el resultado" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:88 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:89 msgid "Signature" msgstr "Firma" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:121 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:122 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:123 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:124 msgid "The parameters are:" msgstr "Los parámetros son:" #: ../../build/doc/pgRouting-concepts.rst:3 -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:129 -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:147 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:130 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:148 msgid "Where:" msgstr "Donde:" @@ -393,12 +395,12 @@ msgid "" msgstr "" "``6`` Orden de avance que permite insertar más órdenes en la parte frontal" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:137 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:138 msgid "Pick & Deliver Orders SQL" msgstr "Pick & Deliver Orders SQL (Recoger y Entregar Pedidos)" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:139 -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:163 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:140 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:164 msgid "A `SELECT` statement that returns the following columns:" msgstr "Una instrucción `SELECT` que devuelve las siguientes columnas:" @@ -519,11 +521,11 @@ msgstr "**d_y**" msgid ":math:`y` value of the delivery location" msgstr "valor :math:`y` del lugar de entrega" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:161 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:162 msgid "Pick & Deliver Vehicles SQL" msgstr "SQL de Vehículos de Recogida y Entrega" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:171 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:172 msgid "where:" msgstr "Donde:" @@ -883,47 +885,34 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:194 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:195 msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:198 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:199 msgid "This example use the following data: TODO put link" msgstr "En este ejemplo se utilizan los siguientes datos: TODO put link" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:206 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:207 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:208 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:209 msgid ":doc:`VRP-category`" msgstr ":doc:`VRP-category`" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:209 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:210 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:212 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:213 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:213 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:214 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_pickDeliverEuclidean.rst:214 +#: ../../build/doc/pgr_pickDeliverEuclidean.rst:215 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "Todo" -#~ msgstr "Por hacer" - -#~ msgid "fix when everything below is fixed" -#~ msgstr "Arreglar cuando todo abajo esté arreglado" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones Soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_prim.po b/locale/es/LC_MESSAGES/pgr_prim.po index dfc43bf0dad..be9e8bd425f 100644 --- a/locale/es/LC_MESSAGES/pgr_prim.po +++ b/locale/es/LC_MESSAGES/pgr_prim.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: +# Vicky Vergara , 2019 # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -56,18 +56,20 @@ msgstr "Soporte" #: ../../build/doc/pgr_prim.rst:28 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_kruskal.rst:7 -#: ../../build/doc/pgr_kruskal.rst:26 ../../build/doc/pgr_prim.rst:32 +#: ../../build/doc/pgr_kruskal.rst:26 ../../build/doc/pgr_prim.rst:33 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_prim.rst:34 +#: ../../build/doc/pgr_prim.rst:35 msgid "" "This algorithm finds the minimum spanning forest in a possibly disconnected " "graph using Prim's algorithm." @@ -75,7 +77,7 @@ msgstr "" "Este algoritmo encuentra el bosque de expansión mínimo en un grafo " "posiblemente desconectado usando el algoritmo de Prim." -#: ../../build/doc/pgr_prim.rst:37 +#: ../../build/doc/pgr_prim.rst:38 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -112,15 +114,15 @@ msgstr "Las aristas resultantes conforman un bosque." msgid "Prim's running time: :math:`O(E*log V)`" msgstr "Tiempo de ejecución de Prim: :math:`O(E*log V)`" -#: ../../build/doc/pgr_prim.rst:43 +#: ../../build/doc/pgr_prim.rst:44 msgid "EMPTY SET is returned when there are no edges in the graph." msgstr "EMPTY SET es regresado cuando no hay aristas en el grafo" -#: ../../build/doc/pgr_prim.rst:47 +#: ../../build/doc/pgr_prim.rst:48 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_prim.rst:53 +#: ../../build/doc/pgr_prim.rst:54 msgid "Summary" msgstr "Resumen" @@ -128,7 +130,7 @@ msgstr "Resumen" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_prim.rst:62 +#: ../../build/doc/pgr_prim.rst:63 msgid "Minimum Spanning Forest of a subgraph" msgstr "Bosque de Expansión Mínimo de un subgrafo" @@ -284,23 +286,23 @@ msgstr "``FLOAT``" msgid "Cost to traverse the edge." msgstr "Coste para atravezar el borde." -#: ../../build/doc/pgr_prim.rst:78 +#: ../../build/doc/pgr_prim.rst:79 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_prim.rst:80 +#: ../../build/doc/pgr_prim.rst:81 msgid ":doc:`spanningTree-family`" msgstr ":doc:`spanningTree-family`" -#: ../../build/doc/pgr_prim.rst:81 +#: ../../build/doc/pgr_prim.rst:82 msgid ":doc:`prim-family`" msgstr ":doc:`prim-family`" -#: ../../build/doc/pgr_prim.rst:82 +#: ../../build/doc/pgr_prim.rst:83 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_prim.rst:83 +#: ../../build/doc/pgr_prim.rst:84 msgid "" "`Boost: Prim's algorithm documentation " "`__" @@ -308,7 +310,7 @@ msgstr "" "`Boost: Prim's algorithm documentation " "`__" -#: ../../build/doc/pgr_prim.rst:84 +#: ../../build/doc/pgr_prim.rst:85 #, python-format msgid "" "`Wikipedia: Prim's algorithm " @@ -317,28 +319,14 @@ msgstr "" "`Wikipedia: algoritmo de Prim " "`__" -#: ../../build/doc/pgr_prim.rst:87 +#: ../../build/doc/pgr_prim.rst:88 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_prim.rst:88 +#: ../../build/doc/pgr_prim.rst:89 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_prim.rst:89 +#: ../../build/doc/pgr_prim.rst:90 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "`Wikipedia: Prim's algorithm " -#~ "`__" -#~ msgstr "" -#~ "Wikipedia: `Algoritmo de Prim " -#~ "`__" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_primBFS.po b/locale/es/LC_MESSAGES/pgr_primBFS.po index 1410dea1172..1fe75918ef8 100644 --- a/locale/es/LC_MESSAGES/pgr_primBFS.po +++ b/locale/es/LC_MESSAGES/pgr_primBFS.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -58,19 +58,21 @@ msgstr "Soporte" #: ../../build/doc/pgr_primBFS.rst:29 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/pgr_kruskalDFS.rst:7 -#: ../../build/doc/pgr_kruskalDFS.rst:28 ../../build/doc/pgr_primBFS.rst:33 +#: ../../build/doc/pgr_kruskalDFS.rst:28 ../../build/doc/pgr_primBFS.rst:34 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_primBFS.rst:35 +#: ../../build/doc/pgr_primBFS.rst:36 msgid "" "Visits and extracts the nodes information in Breath First Search ordering of" " the Minimum Spanning Tree created with Prims's algorithm." @@ -79,7 +81,7 @@ msgstr "" "Primera Búsqueda de Respiración del Árbol de Expansión Mínimo creado con el " "algoritmo de Prim." -#: ../../build/doc/pgr_primBFS.rst:38 +#: ../../build/doc/pgr_primBFS.rst:39 msgid "**The main Characteristics are:**" msgstr "**Las características principales son:**" @@ -116,23 +118,23 @@ msgstr "Las aristas resultantes conforman un bosque." msgid "Prim's running time: :math:`O(E*log V)`" msgstr "Tiempo de ejecución de Prim: :math:`O(E*log V)`" -#: ../../build/doc/pgr_primBFS.rst:44 +#: ../../build/doc/pgr_primBFS.rst:45 msgid "" "Returned tree nodes from a root vertex are on Breath First Search order" msgstr "" "Los nodos de árbol devueltos desde un vértice raíz están en orden de la " "Primera Búsqueda de Anchura" -#: ../../build/doc/pgr_primBFS.rst:45 +#: ../../build/doc/pgr_primBFS.rst:46 msgid "Breath First Search Running time: :math:`O(E + V)`" msgstr "" "Tiempo de ejecución de la Primera Búsqueda de Anchura: :math:`O(E + V)`" -#: ../../build/doc/pgr_primBFS.rst:48 +#: ../../build/doc/pgr_primBFS.rst:49 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_primBFS.rst:61 +#: ../../build/doc/pgr_primBFS.rst:62 msgid "Single vertex" msgstr "Un solo vértice" @@ -140,15 +142,15 @@ msgstr "Un solo vértice" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_primBFS.rst:69 +#: ../../build/doc/pgr_primBFS.rst:70 msgid "The Minimum Spanning Tree having as root vertex :math:`2`" msgstr "El Árbol de Expansión Mínimo que tiene como vértice raíz :math:`2`" -#: ../../build/doc/pgr_primBFS.rst:79 +#: ../../build/doc/pgr_primBFS.rst:80 msgid "Multiple vertices" msgstr "Múltiples Vértices" -#: ../../build/doc/pgr_primBFS.rst:87 +#: ../../build/doc/pgr_primBFS.rst:88 msgid "" "The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " ":math:`depth <= 3`" @@ -437,23 +439,23 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_vid`` to ``node``." msgstr "Costo agregado de ``start_vid`` a ``node``." -#: ../../build/doc/pgr_primBFS.rst:102 +#: ../../build/doc/pgr_primBFS.rst:103 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_primBFS.rst:104 +#: ../../build/doc/pgr_primBFS.rst:105 msgid ":doc:`spanningTree-family`" msgstr ":doc:`spanningTree-family`" -#: ../../build/doc/pgr_primBFS.rst:105 +#: ../../build/doc/pgr_primBFS.rst:106 msgid ":doc:`prim-family`" msgstr ":doc:`prim-family`" -#: ../../build/doc/pgr_primBFS.rst:106 +#: ../../build/doc/pgr_primBFS.rst:107 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_primBFS.rst:107 +#: ../../build/doc/pgr_primBFS.rst:108 msgid "" "`Boost: Prim's algorithm documentation " "`__" @@ -461,7 +463,7 @@ msgstr "" "`Boost: Prim's algorithm documentation " "`__" -#: ../../build/doc/pgr_primBFS.rst:108 +#: ../../build/doc/pgr_primBFS.rst:109 #, python-format msgid "" "`Wikipedia: Prim's algorithm " @@ -470,28 +472,14 @@ msgstr "" "`Wikipedia: algoritmo de Prim " "`__" -#: ../../build/doc/pgr_primBFS.rst:111 +#: ../../build/doc/pgr_primBFS.rst:112 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_primBFS.rst:112 +#: ../../build/doc/pgr_primBFS.rst:113 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_primBFS.rst:113 +#: ../../build/doc/pgr_primBFS.rst:114 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "`Wikipedia: Prim's algorithm " -#~ "`__" -#~ msgstr "" -#~ "Wikipedia: `Algoritmo de Prim " -#~ "`__" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_primDD.po b/locale/es/LC_MESSAGES/pgr_primDD.po index a4fe61cd15b..94854f13ad2 100644 --- a/locale/es/LC_MESSAGES/pgr_primDD.po +++ b/locale/es/LC_MESSAGES/pgr_primDD.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -54,19 +54,21 @@ msgstr "Soporte" #: ../../build/doc/pgr_primDD.rst:28 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual​(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_kruskalDD.rst:7 ../../build/doc/pgr_kruskalDD.rst:49 -#: ../../build/doc/pgr_primDD.rst:32 +#: ../../build/doc/pgr_primDD.rst:33 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_primDD.rst:34 +#: ../../build/doc/pgr_primDD.rst:35 msgid "" "Using Prim algorithm, extracts the nodes that have aggregate costs less than" " or equal to the value ``Distance`` within the calculated minimum spanning " @@ -76,7 +78,7 @@ msgstr "" " menores o iguales que el valor ``Distancia`` dentro del árbol de expansión " "mínimo calculado." -#: ../../build/doc/pgr_primDD.rst:37 +#: ../../build/doc/pgr_primDD.rst:38 msgid "**The main Characteristics are:**" msgstr "**Las características principales son:**" @@ -113,27 +115,27 @@ msgstr "Las aristas resultantes conforman un bosque." msgid "Prim's running time: :math:`O(E*log V)`" msgstr "Tiempo de ejecución de Prim: :math:`O(E*log V)`" -#: ../../build/doc/pgr_primDD.rst:43 +#: ../../build/doc/pgr_primDD.rst:44 msgid "" "Returned tree nodes from a root vertex are on Depth First Search order." msgstr "" "Los nodos de árbol devueltos de un vértice raíz están en el orden de Primera" " Búsqueda de Profundidad." -#: ../../build/doc/pgr_primDD.rst:44 +#: ../../build/doc/pgr_primDD.rst:45 msgid "Depth First Search running time: :math:`O(E + V)`" msgstr "" " Primera Búsqueda de Profundidad, tiempo de ejecución: :math:`O(E + V)`" -#: ../../build/doc/pgr_primDD.rst:47 +#: ../../build/doc/pgr_primDD.rst:48 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_primDD.rst:50 +#: ../../build/doc/pgr_primDD.rst:51 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_primDD.rst:62 +#: ../../build/doc/pgr_primDD.rst:63 msgid "Single vertex" msgstr "Un solo vértice" @@ -141,7 +143,7 @@ msgstr "Un solo vértice" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_primDD.rst:70 +#: ../../build/doc/pgr_primDD.rst:71 msgid "" "The Minimum Spanning Tree starting on vertex :math:`2` with " ":math:`agg\\_cost <= 3.5`" @@ -149,11 +151,11 @@ msgstr "" "El árbol de expansión mínimo que comienza en el vértice:math:`2` con " ":math:`agg\\_cost <= 3.5`" -#: ../../build/doc/pgr_primDD.rst:80 +#: ../../build/doc/pgr_primDD.rst:81 msgid "Multiple vertices" msgstr "Múltiples Vértices" -#: ../../build/doc/pgr_primDD.rst:88 +#: ../../build/doc/pgr_primDD.rst:89 msgid "" "The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " ":math:`agg\\_cost <= 3.5`;" @@ -445,23 +447,23 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_vid`` to ``node``." msgstr "Costo agregado de ``start_vid`` a ``node``." -#: ../../build/doc/pgr_primDD.rst:103 +#: ../../build/doc/pgr_primDD.rst:104 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_primDD.rst:105 +#: ../../build/doc/pgr_primDD.rst:106 msgid ":doc:`spanningTree-family`" msgstr ":doc:`spanningTree-family`" -#: ../../build/doc/pgr_primDD.rst:106 +#: ../../build/doc/pgr_primDD.rst:107 msgid ":doc:`prim-family`" msgstr ":doc:`prim-family`" -#: ../../build/doc/pgr_primDD.rst:107 +#: ../../build/doc/pgr_primDD.rst:108 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_primDD.rst:108 +#: ../../build/doc/pgr_primDD.rst:109 msgid "" "`Boost: Prim's algorithm documentation " "`__" @@ -469,7 +471,7 @@ msgstr "" "`Boost: Prim's algorithm documentation " "`__" -#: ../../build/doc/pgr_primDD.rst:109 +#: ../../build/doc/pgr_primDD.rst:110 #, python-format msgid "" "`Wikipedia: Prim's algorithm " @@ -478,28 +480,14 @@ msgstr "" "`Wikipedia: algoritmo de Prim " "`__" -#: ../../build/doc/pgr_primDD.rst:112 +#: ../../build/doc/pgr_primDD.rst:113 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_primDD.rst:113 +#: ../../build/doc/pgr_primDD.rst:114 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_primDD.rst:114 +#: ../../build/doc/pgr_primDD.rst:115 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "`Wikipedia: Prim's algorithm " -#~ "`__" -#~ msgstr "" -#~ "Wikipedia: `Algoritmo de Prim " -#~ "`__" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_primDFS.po b/locale/es/LC_MESSAGES/pgr_primDFS.po index 882035cb3b0..c545559ff40 100644 --- a/locale/es/LC_MESSAGES/pgr_primDFS.po +++ b/locale/es/LC_MESSAGES/pgr_primDFS.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -58,19 +58,21 @@ msgstr "Soporte" #: ../../build/doc/pgr_primDFS.rst:29 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual​(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/pgr_kruskalDFS.rst:7 -#: ../../build/doc/pgr_kruskalDFS.rst:28 ../../build/doc/pgr_primDFS.rst:33 +#: ../../build/doc/pgr_kruskalDFS.rst:28 ../../build/doc/pgr_primDFS.rst:34 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_primDFS.rst:35 +#: ../../build/doc/pgr_primDFS.rst:36 msgid "" "Visits and extracts the nodes information in Depth First Search ordering of " "the Minimum Spanning Tree created using Prims's algorithm." @@ -79,7 +81,7 @@ msgstr "" "Primera Profundidad del Árbol de Expansión Mínimo creado mediante el " "algoritmo de Prim." -#: ../../build/doc/pgr_primDFS.rst:38 +#: ../../build/doc/pgr_primDFS.rst:39 msgid "**The main Characteristics are:**" msgstr "**Las características principales son:**" @@ -116,22 +118,22 @@ msgstr "Las aristas resultantes conforman un bosque." msgid "Prim's running time: :math:`O(E*log V)`" msgstr "Tiempo de ejecución de Prim: :math:`O(E*log V)`" -#: ../../build/doc/pgr_primDFS.rst:44 +#: ../../build/doc/pgr_primDFS.rst:45 msgid "Returned tree nodes from a root vertex are on Depth First Search order" msgstr "" "Los nodos de árbol devueltos desde un vértice raíz están en el orden de " "Búsqueda en Primera Profundidad " -#: ../../build/doc/pgr_primDFS.rst:45 +#: ../../build/doc/pgr_primDFS.rst:46 msgid "Depth First Search Running time: :math:`O(E + V)`" msgstr "" "Tiempo de ejecución de la Búsqueda en Primera Profundidad: :math:`O(E + V)`" -#: ../../build/doc/pgr_primDFS.rst:48 +#: ../../build/doc/pgr_primDFS.rst:49 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_primDFS.rst:61 +#: ../../build/doc/pgr_primDFS.rst:62 msgid "Single vertex" msgstr "Un solo vértice" @@ -139,15 +141,15 @@ msgstr "Un solo vértice" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_primDFS.rst:69 +#: ../../build/doc/pgr_primDFS.rst:70 msgid "The Minimum Spanning Tree having as root vertex :math:`2`" msgstr "El Árbol de Expansión Mínimo que tiene como vértice raíz :math:`2`" -#: ../../build/doc/pgr_primDFS.rst:79 +#: ../../build/doc/pgr_primDFS.rst:80 msgid "Multiple vertices" msgstr "Múltiples Vértices" -#: ../../build/doc/pgr_primDFS.rst:87 +#: ../../build/doc/pgr_primDFS.rst:88 msgid "" "The Minimum Spanning Tree starting on vertices :math:`\\{13, 2\\}` with " ":math:`depth <= 3`" @@ -436,23 +438,23 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_vid`` to ``node``." msgstr "Costo agregado de ``start_vid`` a ``node``." -#: ../../build/doc/pgr_primDFS.rst:101 +#: ../../build/doc/pgr_primDFS.rst:102 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_primDFS.rst:103 +#: ../../build/doc/pgr_primDFS.rst:104 msgid ":doc:`spanningTree-family`" msgstr ":doc:`spanningTree-family`" -#: ../../build/doc/pgr_primDFS.rst:104 +#: ../../build/doc/pgr_primDFS.rst:105 msgid ":doc:`prim-family`" msgstr ":doc:`prim-family`" -#: ../../build/doc/pgr_primDFS.rst:105 +#: ../../build/doc/pgr_primDFS.rst:106 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_primDFS.rst:106 +#: ../../build/doc/pgr_primDFS.rst:107 msgid "" "`Boost: Prim's algorithm documentation " "`__" @@ -460,7 +462,7 @@ msgstr "" "`Boost: Prim's algorithm documentation " "`__" -#: ../../build/doc/pgr_primDFS.rst:107 +#: ../../build/doc/pgr_primDFS.rst:108 #, python-format msgid "" "`Wikipedia: Prim's algorithm " @@ -469,28 +471,14 @@ msgstr "" "`Wikipedia: algoritmo de Prim " "`__" -#: ../../build/doc/pgr_primDFS.rst:110 +#: ../../build/doc/pgr_primDFS.rst:111 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_primDFS.rst:111 +#: ../../build/doc/pgr_primDFS.rst:112 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_primDFS.rst:112 +#: ../../build/doc/pgr_primDFS.rst:113 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "`Wikipedia: Prim's algorithm " -#~ "`__" -#~ msgstr "" -#~ "Wikipedia: `Algoritmo de Prim " -#~ "`__" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_pushRelabel.po b/locale/es/LC_MESSAGES/pgr_pushRelabel.po index f96a90780f2..f5930db75c6 100644 --- a/locale/es/LC_MESSAGES/pgr_pushRelabel.po +++ b/locale/es/LC_MESSAGES/pgr_pushRelabel.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -78,13 +78,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_pushRelabel.rst:37 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actua(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_pushRelabel.rst:40 +#: ../../build/doc/pgr_pushRelabel.rst:41 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -92,14 +94,14 @@ msgid "" "`__ `2.3 " "`__" msgstr "" -"**Versiones no soportadas:** `2.6 " +"**Versiones no sustentadas:** `2.6 " "`__ `2.5 " "`__ `2.4 " "`__ `2.3 " "`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_pushRelabel.rst:47 +#: ../../build/doc/pgr_pushRelabel.rst:48 msgid "Description" msgstr "Descripción" @@ -168,19 +170,19 @@ msgstr "Mediante la agregación del flujo saliente de los orígenes" msgid "By aggregation of the incoming flow to the targets" msgstr "Mediante la agregación del flujo entrante a los destinos" -#: ../../build/doc/pgr_pushRelabel.rst:53 +#: ../../build/doc/pgr_pushRelabel.rst:54 msgid "Running time: :math:`O( V ^ 3)`" msgstr "Tiempo de ejecución: :math:`O( V ^ 3)`" -#: ../../build/doc/pgr_pushRelabel.rst:56 +#: ../../build/doc/pgr_pushRelabel.rst:57 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_pushRelabel.rst:59 +#: ../../build/doc/pgr_pushRelabel.rst:60 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_pushRelabel.rst:73 +#: ../../build/doc/pgr_pushRelabel.rst:74 msgid "One to One" msgstr "Uno a Uno" @@ -188,15 +190,15 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_pushRelabel.rst:81 +#: ../../build/doc/pgr_pushRelabel.rst:82 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "Del vértice :math:`6` al vértice :math:`11`" -#: ../../build/doc/pgr_pushRelabel.rst:91 +#: ../../build/doc/pgr_pushRelabel.rst:92 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_pushRelabel.rst:93 +#: ../../build/doc/pgr_pushRelabel.rst:94 msgid "" "Calculates the flow on the graph edges that maximizes the flow from the " "`source` to all of the `targets`." @@ -204,27 +206,27 @@ msgstr "" "Calcula el flujo en los bordes del gráfico que maximiza el flujo desde el " "`origen` a todos los `objetivos`." -#: ../../build/doc/pgr_pushRelabel.rst:101 +#: ../../build/doc/pgr_pushRelabel.rst:102 msgid "From vertex :math:`6` to vertices :math:`\\{11, 1, 13\\}`" msgstr "Del vértice :math:`6` a los vértices :math:`\\{11, 1, 13\\}`" -#: ../../build/doc/pgr_pushRelabel.rst:111 +#: ../../build/doc/pgr_pushRelabel.rst:112 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_pushRelabel.rst:119 +#: ../../build/doc/pgr_pushRelabel.rst:120 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "De los vértices vertices :math:`\\{6, 8, 12\\}` al vértice :math:`11`" -#: ../../build/doc/pgr_pushRelabel.rst:129 +#: ../../build/doc/pgr_pushRelabel.rst:130 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_pushRelabel.rst:137 +#: ../../build/doc/pgr_pushRelabel.rst:138 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "De los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_pushRelabel.rst:144 +#: ../../build/doc/pgr_pushRelabel.rst:145 msgid "Parameters" msgstr "Parámetros" @@ -294,7 +296,7 @@ msgstr "**destinos**" msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_pushRelabel.rst:151 +#: ../../build/doc/pgr_pushRelabel.rst:152 msgid "Inner query" msgstr "Consulta interna" @@ -380,7 +382,7 @@ msgstr "ANY-INTEGER" msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" -#: ../../build/doc/pgr_pushRelabel.rst:158 +#: ../../build/doc/pgr_pushRelabel.rst:159 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -431,42 +433,35 @@ msgid "" msgstr "" "Capacidad residual del arista en la dirección (``start_vid``, ``end_vid``)." -#: ../../build/doc/pgr_pushRelabel.rst:165 +#: ../../build/doc/pgr_pushRelabel.rst:166 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_pushRelabel.rst:167 +#: ../../build/doc/pgr_pushRelabel.rst:168 msgid "" ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_edmondsKarp`" msgstr "" ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_edmondsKarp`" -#: ../../build/doc/pgr_pushRelabel.rst:168 +#: ../../build/doc/pgr_pushRelabel.rst:169 msgid "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" msgstr "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" -#: ../../build/doc/pgr_pushRelabel.rst:169 +#: ../../build/doc/pgr_pushRelabel.rst:170 #, python-format msgid "" "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" msgstr "" "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" -#: ../../build/doc/pgr_pushRelabel.rst:172 +#: ../../build/doc/pgr_pushRelabel.rst:173 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_pushRelabel.rst:173 +#: ../../build/doc/pgr_pushRelabel.rst:174 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_pushRelabel.rst:174 +#: ../../build/doc/pgr_pushRelabel.rst:175 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_stoerWagner.po b/locale/es/LC_MESSAGES/pgr_stoerWagner.po index 890bce1a64c..c54a2165ba6 100644 --- a/locale/es/LC_MESSAGES/pgr_stoerWagner.po +++ b/locale/es/LC_MESSAGES/pgr_stoerWagner.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -130,20 +130,22 @@ msgstr "Soporte" #: ../../build/doc/pgr_stoerWagner.rst:33 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" - -#: ../../build/doc/pgr_stoerWagner.rst:37 -#: ../../build/doc/pgr_stoerWagner.rst:100 -#: ../../build/doc/pgr_stoerWagner.rst:111 -#: ../../build/doc/pgr_stoerWagner.rst:137 +"**Versiones soportadas:** actua(`3.1 " +"`__) `3.0 " +"`__" + +#: ../../build/doc/pgr_stoerWagner.rst:38 +#: ../../build/doc/pgr_stoerWagner.rst:101 +#: ../../build/doc/pgr_stoerWagner.rst:112 +#: ../../build/doc/pgr_stoerWagner.rst:138 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_stoerWagner.rst:39 +#: ../../build/doc/pgr_stoerWagner.rst:40 msgid "" "In graph theory, the Stoer–Wagner algorithm is a recursive algorithm to " "solve the minimum cut problem in undirected weighted graphs with non-" @@ -164,7 +166,7 @@ msgstr "" "s y t para buscar cortes no s-t. El corte mínimo encontrado en todas las " "fases será el corte ponderado mínimo del grafo." -#: ../../build/doc/pgr_stoerWagner.rst:48 +#: ../../build/doc/pgr_stoerWagner.rst:49 msgid "" "A cut is a partition of the vertices of a graph into two disjoint subsets. A" " minimum cut is a cut for which the size or weight of the cut is not larger " @@ -179,42 +181,42 @@ msgstr "" "Para un grafo ponderado, la suma del peso de todas las aristas en el corte " "determina si se trata de un corte mínimo." -#: ../../build/doc/pgr_stoerWagner.rst:54 +#: ../../build/doc/pgr_stoerWagner.rst:55 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_stoerWagner.rst:56 +#: ../../build/doc/pgr_stoerWagner.rst:57 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/pgr_stoerWagner.rst:57 +#: ../../build/doc/pgr_stoerWagner.rst:58 msgid "It's implementation is only on **undirected** graph." msgstr "Su implementación solo está en el grafo **no direccionado**." -#: ../../build/doc/pgr_stoerWagner.rst:58 +#: ../../build/doc/pgr_stoerWagner.rst:59 msgid "Sum of the weights of all edges between the two sets is mincut." msgstr "" "La suma de los pesos de todas las aristas entre los dos conjuntos es mincut." -#: ../../build/doc/pgr_stoerWagner.rst:60 +#: ../../build/doc/pgr_stoerWagner.rst:61 msgid "A **mincut** is a cut having the least weight." msgstr "Un **mincut** es un corte que tiene el menor peso." -#: ../../build/doc/pgr_stoerWagner.rst:62 +#: ../../build/doc/pgr_stoerWagner.rst:63 msgid "Values are returned when graph is connected." msgstr "Los valores se devuelven cuando se conecta el grafo." -#: ../../build/doc/pgr_stoerWagner.rst:64 +#: ../../build/doc/pgr_stoerWagner.rst:65 msgid "When there is no edge in graph then EMPTY SET is return." msgstr "Cuando no hay arista en el grafo se devuelve EMPTY SET." -#: ../../build/doc/pgr_stoerWagner.rst:65 +#: ../../build/doc/pgr_stoerWagner.rst:66 msgid "When the graph is unconnected then EMPTY SET is return." msgstr "" "Cuando el gráfico está desconectado, se devuelve un conjunto vacío o EMPTY " "SET." -#: ../../build/doc/pgr_stoerWagner.rst:67 +#: ../../build/doc/pgr_stoerWagner.rst:68 msgid "" "Sometimes a graph has multiple min-cuts, but all have the same weight. The " "this function determines exactly one of the min-cuts as well as its weight." @@ -223,11 +225,11 @@ msgstr "" "peso. Esta función determina exactamente uno de los cortes mínimos, así como" " su peso." -#: ../../build/doc/pgr_stoerWagner.rst:69 +#: ../../build/doc/pgr_stoerWagner.rst:70 msgid "Running time: :math:`O(V*E + V^2*log V)`." msgstr "Tiempo de ejecución: :math:`O(V*E + V^2*log V)`." -#: ../../build/doc/pgr_stoerWagner.rst:72 +#: ../../build/doc/pgr_stoerWagner.rst:73 msgid "Signatures" msgstr "Firmas" @@ -235,42 +237,42 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_stoerWagner.rst:84 +#: ../../build/doc/pgr_stoerWagner.rst:85 msgid "**TBD**" msgstr "**TBD**" -#: ../../build/doc/pgr_stoerWagner.rst:97 +#: ../../build/doc/pgr_stoerWagner.rst:98 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_stoerWagner.rst:100 +#: ../../build/doc/pgr_stoerWagner.rst:101 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/pgr_stoerWagner.rst:100 -#: ../../build/doc/pgr_stoerWagner.rst:111 -#: ../../build/doc/pgr_stoerWagner.rst:137 +#: ../../build/doc/pgr_stoerWagner.rst:101 +#: ../../build/doc/pgr_stoerWagner.rst:112 +#: ../../build/doc/pgr_stoerWagner.rst:138 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_stoerWagner.rst:100 -#: ../../build/doc/pgr_stoerWagner.rst:111 +#: ../../build/doc/pgr_stoerWagner.rst:101 +#: ../../build/doc/pgr_stoerWagner.rst:112 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_stoerWagner.rst:102 +#: ../../build/doc/pgr_stoerWagner.rst:103 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_stoerWagner.rst:102 +#: ../../build/doc/pgr_stoerWagner.rst:103 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_stoerWagner.rst:102 +#: ../../build/doc/pgr_stoerWagner.rst:103 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." -#: ../../build/doc/pgr_stoerWagner.rst:106 +#: ../../build/doc/pgr_stoerWagner.rst:107 msgid "Inner query" msgstr "Consulta interna" @@ -278,63 +280,63 @@ msgstr "Consulta interna" msgid "edges_sql" msgstr "edges_sql" -#: ../../build/doc/pgr_stoerWagner.rst:108 +#: ../../build/doc/pgr_stoerWagner.rst:109 msgid "" "an SQL query, which should return a set of rows with the following columns:" msgstr "" "Una consulta SQL, que debe regresar un conjunto de filas con las siguientes " "columnas:" -#: ../../build/doc/pgr_stoerWagner.rst:111 -#: ../../build/doc/pgr_stoerWagner.rst:137 +#: ../../build/doc/pgr_stoerWagner.rst:112 +#: ../../build/doc/pgr_stoerWagner.rst:138 msgid "Column" msgstr "Columna" -#: ../../build/doc/pgr_stoerWagner.rst:113 +#: ../../build/doc/pgr_stoerWagner.rst:114 msgid "**id**" msgstr "**id**" -#: ../../build/doc/pgr_stoerWagner.rst:113 #: ../../build/doc/pgr_stoerWagner.rst:114 #: ../../build/doc/pgr_stoerWagner.rst:115 +#: ../../build/doc/pgr_stoerWagner.rst:116 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_stoerWagner.rst:113 +#: ../../build/doc/pgr_stoerWagner.rst:114 msgid "Identifier of the edge." msgstr "Identificador de la arista." -#: ../../build/doc/pgr_stoerWagner.rst:114 +#: ../../build/doc/pgr_stoerWagner.rst:115 msgid "**source**" msgstr "**origen**" -#: ../../build/doc/pgr_stoerWagner.rst:114 +#: ../../build/doc/pgr_stoerWagner.rst:115 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." -#: ../../build/doc/pgr_stoerWagner.rst:115 +#: ../../build/doc/pgr_stoerWagner.rst:116 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/pgr_stoerWagner.rst:115 +#: ../../build/doc/pgr_stoerWagner.rst:116 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." -#: ../../build/doc/pgr_stoerWagner.rst:116 -#: ../../build/doc/pgr_stoerWagner.rst:141 +#: ../../build/doc/pgr_stoerWagner.rst:117 +#: ../../build/doc/pgr_stoerWagner.rst:142 msgid "**cost**" msgstr "**cost**" -#: ../../build/doc/pgr_stoerWagner.rst:116 -#: ../../build/doc/pgr_stoerWagner.rst:120 +#: ../../build/doc/pgr_stoerWagner.rst:117 +#: ../../build/doc/pgr_stoerWagner.rst:121 msgid "``ANY-NUMERICAL``" msgstr "``ANY-NUMERICAL``" -#: ../../build/doc/pgr_stoerWagner.rst:116 +#: ../../build/doc/pgr_stoerWagner.rst:117 msgid "Weight of the edge `(source, target)`" msgstr "Peso de la arista `(source, target)`" -#: ../../build/doc/pgr_stoerWagner.rst:118 +#: ../../build/doc/pgr_stoerWagner.rst:119 msgid "" "When negative: edge `(source, target)` does not exist, therefore it's not " "part of the graph." @@ -342,19 +344,19 @@ msgstr "" "Cuando es negativo: la arista `(source, target)` no existe, por lo tanto no " "es parte del grafo." -#: ../../build/doc/pgr_stoerWagner.rst:120 +#: ../../build/doc/pgr_stoerWagner.rst:121 msgid "**reverse_cost**" msgstr "**reverse_cost**" -#: ../../build/doc/pgr_stoerWagner.rst:120 +#: ../../build/doc/pgr_stoerWagner.rst:121 msgid "-1" msgstr "-1" -#: ../../build/doc/pgr_stoerWagner.rst:120 +#: ../../build/doc/pgr_stoerWagner.rst:121 msgid "Weight of the edge `(target, source)`," msgstr "Peso de la arista `(target, source)`," -#: ../../build/doc/pgr_stoerWagner.rst:122 +#: ../../build/doc/pgr_stoerWagner.rst:123 msgid "" "When negative: edge `(target, source)` does not exist, therefore it's not " "part of the graph." @@ -362,7 +364,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." -#: ../../build/doc/pgr_stoerWagner.rst:126 +#: ../../build/doc/pgr_stoerWagner.rst:127 msgid "Where:" msgstr "Donde:" @@ -370,7 +372,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" -#: ../../build/doc/pgr_stoerWagner.rst:128 +#: ../../build/doc/pgr_stoerWagner.rst:129 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -378,95 +380,88 @@ msgstr "SMALLINT, INTEGER, BIGINT" msgid "ANY-NUMERICAL" msgstr "ANY-NUMERICAL" -#: ../../build/doc/pgr_stoerWagner.rst:129 +#: ../../build/doc/pgr_stoerWagner.rst:130 msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_stoerWagner.rst:132 +#: ../../build/doc/pgr_stoerWagner.rst:133 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_stoerWagner.rst:134 +#: ../../build/doc/pgr_stoerWagner.rst:135 msgid "Returns set of ``(seq, edge, cost, mincut)``" msgstr "Devuelve conjunto de ``(seq, edge, cost, mincut)``" -#: ../../build/doc/pgr_stoerWagner.rst:139 +#: ../../build/doc/pgr_stoerWagner.rst:140 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_stoerWagner.rst:139 +#: ../../build/doc/pgr_stoerWagner.rst:140 msgid "``INT``" msgstr "``INT``" -#: ../../build/doc/pgr_stoerWagner.rst:139 +#: ../../build/doc/pgr_stoerWagner.rst:140 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/pgr_stoerWagner.rst:140 +#: ../../build/doc/pgr_stoerWagner.rst:141 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/pgr_stoerWagner.rst:140 +#: ../../build/doc/pgr_stoerWagner.rst:141 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_stoerWagner.rst:140 +#: ../../build/doc/pgr_stoerWagner.rst:141 msgid "Edges which divides the set of vertices into two." msgstr "Aristas que dividen el conjunto de vértices en dos." -#: ../../build/doc/pgr_stoerWagner.rst:141 #: ../../build/doc/pgr_stoerWagner.rst:142 +#: ../../build/doc/pgr_stoerWagner.rst:143 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_stoerWagner.rst:141 +#: ../../build/doc/pgr_stoerWagner.rst:142 msgid "Cost to traverse of edge." msgstr "Costo para atravesar la arista." -#: ../../build/doc/pgr_stoerWagner.rst:142 +#: ../../build/doc/pgr_stoerWagner.rst:143 msgid "**mincut**" msgstr "**mincut**" -#: ../../build/doc/pgr_stoerWagner.rst:142 +#: ../../build/doc/pgr_stoerWagner.rst:143 msgid "Min-cut weight of a undirected graph." msgstr "Peso de corte mínimo de un grafo no dirigido." -#: ../../build/doc/pgr_stoerWagner.rst:146 +#: ../../build/doc/pgr_stoerWagner.rst:147 msgid "Additional Example:" msgstr "Ejemplo Adicional:" -#: ../../build/doc/pgr_stoerWagner.rst:152 +#: ../../build/doc/pgr_stoerWagner.rst:153 msgid "Use pgr_connectedComponents( ) function in query:" msgstr "Utilice la función pgr_connectedComponents( ) en la consulta:" -#: ../../build/doc/pgr_stoerWagner.rst:159 +#: ../../build/doc/pgr_stoerWagner.rst:160 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_stoerWagner.rst:161 +#: ../../build/doc/pgr_stoerWagner.rst:162 #, python-format msgid "https://en.wikipedia.org/wiki/Stoer%E2%80%93Wagner_algorithm" msgstr "https://en.wikipedia.org/wiki/Stoer%E2%80%93Wagner_algorithm" -#: ../../build/doc/pgr_stoerWagner.rst:162 +#: ../../build/doc/pgr_stoerWagner.rst:163 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_stoerWagner.rst:165 +#: ../../build/doc/pgr_stoerWagner.rst:166 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_stoerWagner.rst:166 +#: ../../build/doc/pgr_stoerWagner.rst:167 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_stoerWagner.rst:167 +#: ../../build/doc/pgr_stoerWagner.rst:168 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_strongComponents.po b/locale/es/LC_MESSAGES/pgr_strongComponents.po index 3eb468fc7ce..177fb13bd75 100644 --- a/locale/es/LC_MESSAGES/pgr_strongComponents.po +++ b/locale/es/LC_MESSAGES/pgr_strongComponents.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -78,13 +78,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_strongComponents.rst:37 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_strongComponents.rst:40 +#: ../../build/doc/pgr_strongComponents.rst:41 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -97,11 +99,11 @@ msgstr "" #: ../../build/doc/components-family.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_connectedComponents.rst:6 -#: ../../build/doc/pgr_strongComponents.rst:45 +#: ../../build/doc/pgr_strongComponents.rst:46 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_strongComponents.rst:47 +#: ../../build/doc/pgr_strongComponents.rst:48 msgid "" "A strongly connected component of a directed graph is a set of vertices that" " are all reachable from each other." @@ -109,35 +111,35 @@ msgstr "" "Un componente fuertemente conectado de un gráfico dirigido es un conjunto de" " vértices que son todos accesibles entre sí." -#: ../../build/doc/pgr_strongComponents.rst:50 +#: ../../build/doc/pgr_strongComponents.rst:51 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_strongComponents.rst:52 +#: ../../build/doc/pgr_strongComponents.rst:53 msgid "The signature is for a **directed** graph." msgstr "La firma es para un grafo **dirigido**." -#: ../../build/doc/pgr_strongComponents.rst:53 +#: ../../build/doc/pgr_strongComponents.rst:54 msgid "Components are described by vertices" msgstr "Los componentes se describen mediante vértices" -#: ../../build/doc/pgr_strongComponents.rst:54 +#: ../../build/doc/pgr_strongComponents.rst:55 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_strongComponents.rst:56 +#: ../../build/doc/pgr_strongComponents.rst:57 msgid "`component` ascending" msgstr "`component` ascendente." -#: ../../build/doc/pgr_strongComponents.rst:57 +#: ../../build/doc/pgr_strongComponents.rst:58 msgid "`node` ascending" msgstr "`node` ascendente." -#: ../../build/doc/pgr_strongComponents.rst:59 +#: ../../build/doc/pgr_strongComponents.rst:60 msgid "Running time: :math:`O(V + E)`" msgstr "Tiempo de ejecución: :math:`O(V + E)`" -#: ../../build/doc/pgr_strongComponents.rst:62 +#: ../../build/doc/pgr_strongComponents.rst:63 msgid "Signatures" msgstr "Firmas" @@ -145,11 +147,11 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_strongComponents.rst:74 +#: ../../build/doc/pgr_strongComponents.rst:75 msgid "The strong components of the graph" msgstr "Los componentes fuertes del grafo" -#: ../../build/doc/pgr_strongComponents.rst:81 +#: ../../build/doc/pgr_strongComponents.rst:82 msgid "Parameters" msgstr "Parámetros" @@ -180,7 +182,7 @@ msgstr "``TEXT``" msgid "Inner query as described below." msgstr "Consulta interna como se describe a continuación." -#: ../../build/doc/pgr_strongComponents.rst:89 +#: ../../build/doc/pgr_strongComponents.rst:90 msgid "Inner query" msgstr "Consulta interna" @@ -188,7 +190,7 @@ msgstr "Consulta interna" msgid "edges SQL" msgstr "bordes SQL" -#: ../../build/doc/pgr_strongComponents.rst:91 +#: ../../build/doc/pgr_strongComponents.rst:92 msgid "" "an SQL query of a **directed** graph, which should return a set of rows with" " the following columns:" @@ -292,7 +294,7 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_strongComponents.rst:99 +#: ../../build/doc/pgr_strongComponents.rst:100 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -334,19 +336,19 @@ msgstr "**node**" msgid "Identifier of the vertex that belongs to **component**." msgstr "Identificador del vértice que pertenece a **componente**." -#: ../../build/doc/pgr_strongComponents.rst:106 +#: ../../build/doc/pgr_strongComponents.rst:107 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_strongComponents.rst:108 +#: ../../build/doc/pgr_strongComponents.rst:109 msgid ":doc:`components-family`" msgstr ":doc:`components-family`" -#: ../../build/doc/pgr_strongComponents.rst:109 +#: ../../build/doc/pgr_strongComponents.rst:110 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_strongComponents.rst:110 +#: ../../build/doc/pgr_strongComponents.rst:111 msgid "" "Boost: `Strong components " "`__" @@ -354,7 +356,7 @@ msgstr "" "Boost: `Components fuertemente conectados " "`__" -#: ../../build/doc/pgr_strongComponents.rst:111 +#: ../../build/doc/pgr_strongComponents.rst:112 msgid "" "wikipedia: `Strongly connected component " "`__" @@ -362,24 +364,14 @@ msgstr "" "Wikipedia: `Componentes fuertemente conectados " "`__" -#: ../../build/doc/pgr_strongComponents.rst:114 +#: ../../build/doc/pgr_strongComponents.rst:115 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_strongComponents.rst:115 +#: ../../build/doc/pgr_strongComponents.rst:116 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_strongComponents.rst:116 +#: ../../build/doc/pgr_strongComponents.rst:117 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "Inner query as described bellow." -#~ msgstr "Consulta interna como se describe a continuación." - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_topologicalSort.po b/locale/es/LC_MESSAGES/pgr_topologicalSort.po index 37eb8968654..3b6818769ba 100644 --- a/locale/es/LC_MESSAGES/pgr_topologicalSort.po +++ b/locale/es/LC_MESSAGES/pgr_topologicalSort.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -129,24 +129,26 @@ msgstr "Soporte" #: ../../build/doc/pgr_topologicalSort.rst:33 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_topologicalSort.rst:36 +#: ../../build/doc/pgr_topologicalSort.rst:37 msgid "**TBD**" msgstr "**TBD**" -#: ../../build/doc/pgr_topologicalSort.rst:39 -#: ../../build/doc/pgr_topologicalSort.rst:78 -#: ../../build/doc/pgr_topologicalSort.rst:89 -#: ../../build/doc/pgr_topologicalSort.rst:115 +#: ../../build/doc/pgr_topologicalSort.rst:40 +#: ../../build/doc/pgr_topologicalSort.rst:79 +#: ../../build/doc/pgr_topologicalSort.rst:90 +#: ../../build/doc/pgr_topologicalSort.rst:116 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_topologicalSort.rst:41 +#: ../../build/doc/pgr_topologicalSort.rst:42 msgid "" "The topological sort algorithm creates a linear ordering of the vertices " "such that if edge (u,v) appears in the graph, then v comes before u in the " @@ -156,7 +158,7 @@ msgstr "" "de tal manera que si la arista (u,v) aparece en el grafo, entonces v viene " "antes de u en el orden." -#: ../../build/doc/pgr_topologicalSort.rst:44 +#: ../../build/doc/pgr_topologicalSort.rst:45 msgid "" "This implementation can only be used with a **directed** graph with no " "cycles i.e. directed acyclic graph." @@ -164,11 +166,11 @@ msgstr "" "Esta implementación solo se puede utilizar con un grafo **dirigido** sin " "ciclos i.e., es decir, un grafo acíclico dirigido." -#: ../../build/doc/pgr_topologicalSort.rst:54 +#: ../../build/doc/pgr_topologicalSort.rst:55 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_topologicalSort.rst:47 +#: ../../build/doc/pgr_topologicalSort.rst:48 msgid "" "Process is valid for directed acyclic graphs only. otherwise it will throw " "warnings." @@ -176,7 +178,7 @@ msgstr "" "El proceso solo es válido para grafos acíclicos dirigidos. de lo contrario " "lanzará advertencias." -#: ../../build/doc/pgr_topologicalSort.rst:49 +#: ../../build/doc/pgr_topologicalSort.rst:50 msgid "" "For optimization purposes, if there are more than one answer, the function " "will return one of them." @@ -184,19 +186,19 @@ msgstr "" "Para fines de optimización, si hay más de una respuesta, la función " "devolverá una de ellas." -#: ../../build/doc/pgr_topologicalSort.rst:51 +#: ../../build/doc/pgr_topologicalSort.rst:52 msgid "The returned values are ordered in topological order:" msgstr "Los valores devueltos se ordenan en orden topológico:" -#: ../../build/doc/pgr_topologicalSort.rst:53 +#: ../../build/doc/pgr_topologicalSort.rst:54 msgid "Running time: :math:`O( (V + E))`" msgstr "Tiempo de ejecución: :math:`O( (V + E))`" -#: ../../build/doc/pgr_topologicalSort.rst:57 +#: ../../build/doc/pgr_topologicalSort.rst:58 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_topologicalSort.rst:60 +#: ../../build/doc/pgr_topologicalSort.rst:61 msgid "Summary" msgstr "Resumen" @@ -204,42 +206,42 @@ msgstr "Resumen" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_topologicalSort.rst:68 +#: ../../build/doc/pgr_topologicalSort.rst:69 msgid "For a **directed** graph" msgstr "Para un grafo **dirigido**" -#: ../../build/doc/pgr_topologicalSort.rst:75 +#: ../../build/doc/pgr_topologicalSort.rst:76 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_topologicalSort.rst:78 +#: ../../build/doc/pgr_topologicalSort.rst:79 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/pgr_topologicalSort.rst:78 -#: ../../build/doc/pgr_topologicalSort.rst:89 -#: ../../build/doc/pgr_topologicalSort.rst:115 +#: ../../build/doc/pgr_topologicalSort.rst:79 +#: ../../build/doc/pgr_topologicalSort.rst:90 +#: ../../build/doc/pgr_topologicalSort.rst:116 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_topologicalSort.rst:78 -#: ../../build/doc/pgr_topologicalSort.rst:89 +#: ../../build/doc/pgr_topologicalSort.rst:79 +#: ../../build/doc/pgr_topologicalSort.rst:90 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_topologicalSort.rst:80 +#: ../../build/doc/pgr_topologicalSort.rst:81 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_topologicalSort.rst:80 +#: ../../build/doc/pgr_topologicalSort.rst:81 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_topologicalSort.rst:80 +#: ../../build/doc/pgr_topologicalSort.rst:81 msgid "SQL query as described above." msgstr "Consulta SQL como se describió anteriormente." -#: ../../build/doc/pgr_topologicalSort.rst:84 +#: ../../build/doc/pgr_topologicalSort.rst:85 msgid "Inner query" msgstr "Consulta interna" @@ -247,62 +249,62 @@ msgstr "Consulta interna" msgid "edges_sql" msgstr "edges_sql" -#: ../../build/doc/pgr_topologicalSort.rst:86 +#: ../../build/doc/pgr_topologicalSort.rst:87 msgid "" "an SQL query, which should return a set of rows with the following columns:" msgstr "" "Una consulta SQL, que debe regresar un conjunto de filas con las siguientes " "columnas:" -#: ../../build/doc/pgr_topologicalSort.rst:89 -#: ../../build/doc/pgr_topologicalSort.rst:115 +#: ../../build/doc/pgr_topologicalSort.rst:90 +#: ../../build/doc/pgr_topologicalSort.rst:116 msgid "Column" msgstr "Columna" -#: ../../build/doc/pgr_topologicalSort.rst:91 +#: ../../build/doc/pgr_topologicalSort.rst:92 msgid "**id**" msgstr "**id**" -#: ../../build/doc/pgr_topologicalSort.rst:91 #: ../../build/doc/pgr_topologicalSort.rst:92 #: ../../build/doc/pgr_topologicalSort.rst:93 +#: ../../build/doc/pgr_topologicalSort.rst:94 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_topologicalSort.rst:91 +#: ../../build/doc/pgr_topologicalSort.rst:92 msgid "Identifier of the edge." msgstr "Identificador de la arista." -#: ../../build/doc/pgr_topologicalSort.rst:92 +#: ../../build/doc/pgr_topologicalSort.rst:93 msgid "**source**" msgstr "**origen**" -#: ../../build/doc/pgr_topologicalSort.rst:92 +#: ../../build/doc/pgr_topologicalSort.rst:93 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." -#: ../../build/doc/pgr_topologicalSort.rst:93 +#: ../../build/doc/pgr_topologicalSort.rst:94 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/pgr_topologicalSort.rst:93 +#: ../../build/doc/pgr_topologicalSort.rst:94 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." -#: ../../build/doc/pgr_topologicalSort.rst:94 +#: ../../build/doc/pgr_topologicalSort.rst:95 msgid "**cost**" msgstr "**cost**" -#: ../../build/doc/pgr_topologicalSort.rst:94 -#: ../../build/doc/pgr_topologicalSort.rst:98 +#: ../../build/doc/pgr_topologicalSort.rst:95 +#: ../../build/doc/pgr_topologicalSort.rst:99 msgid "``ANY-NUMERICAL``" msgstr "``ANY-NUMERICAL``" -#: ../../build/doc/pgr_topologicalSort.rst:94 +#: ../../build/doc/pgr_topologicalSort.rst:95 msgid "Weight of the edge `(source, target)`" msgstr "Peso de la arista `(source, target)`" -#: ../../build/doc/pgr_topologicalSort.rst:96 +#: ../../build/doc/pgr_topologicalSort.rst:97 msgid "" "When negative: edge `(source, target)` does not exist, therefore it's not " "part of the graph." @@ -310,19 +312,19 @@ msgstr "" "Cuando es negativo: la arista `(source, target)` no existe, por lo tanto no " "es parte del grafo." -#: ../../build/doc/pgr_topologicalSort.rst:98 +#: ../../build/doc/pgr_topologicalSort.rst:99 msgid "**reverse_cost**" msgstr "**reverse_cost**" -#: ../../build/doc/pgr_topologicalSort.rst:98 +#: ../../build/doc/pgr_topologicalSort.rst:99 msgid "-1" msgstr "-1" -#: ../../build/doc/pgr_topologicalSort.rst:98 +#: ../../build/doc/pgr_topologicalSort.rst:99 msgid "Weight of the edge `(target, source)`," msgstr "Peso de la arista `(target, source)`," -#: ../../build/doc/pgr_topologicalSort.rst:100 +#: ../../build/doc/pgr_topologicalSort.rst:101 msgid "" "When negative: edge `(target, source)` does not exist, therefore it's not " "part of the graph." @@ -330,7 +332,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." -#: ../../build/doc/pgr_topologicalSort.rst:104 +#: ../../build/doc/pgr_topologicalSort.rst:105 msgid "Where:" msgstr "Donde:" @@ -338,7 +340,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" -#: ../../build/doc/pgr_topologicalSort.rst:106 +#: ../../build/doc/pgr_topologicalSort.rst:107 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -346,69 +348,62 @@ msgstr "SMALLINT, INTEGER, BIGINT" msgid "ANY-NUMERICAL" msgstr "ANY-NUMERICAL" -#: ../../build/doc/pgr_topologicalSort.rst:107 +#: ../../build/doc/pgr_topologicalSort.rst:108 msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_topologicalSort.rst:110 +#: ../../build/doc/pgr_topologicalSort.rst:111 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_topologicalSort.rst:112 +#: ../../build/doc/pgr_topologicalSort.rst:113 msgid "Returns set of ``(seq, sorted_v)``" msgstr "Devuelve conjunto de ``(seq, sorted_v)``" -#: ../../build/doc/pgr_topologicalSort.rst:117 +#: ../../build/doc/pgr_topologicalSort.rst:118 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_topologicalSort.rst:117 +#: ../../build/doc/pgr_topologicalSort.rst:118 msgid "``INT``" msgstr "``INT``" -#: ../../build/doc/pgr_topologicalSort.rst:117 +#: ../../build/doc/pgr_topologicalSort.rst:118 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/pgr_topologicalSort.rst:118 +#: ../../build/doc/pgr_topologicalSort.rst:119 msgid "**sorted_v**" msgstr "**sorted_v**" -#: ../../build/doc/pgr_topologicalSort.rst:118 +#: ../../build/doc/pgr_topologicalSort.rst:119 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_topologicalSort.rst:118 +#: ../../build/doc/pgr_topologicalSort.rst:119 msgid "Linear ordering of the vertices(ordered in topological order)" msgstr "Orden lineal de los vértices (ordenados en orden topológico)" -#: ../../build/doc/pgr_topologicalSort.rst:122 +#: ../../build/doc/pgr_topologicalSort.rst:123 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_topologicalSort.rst:124 +#: ../../build/doc/pgr_topologicalSort.rst:125 msgid "https://en.wikipedia.org/wiki/Topological_sorting" msgstr "https://en.wikipedia.org/wiki/Topological_sorting" -#: ../../build/doc/pgr_topologicalSort.rst:125 +#: ../../build/doc/pgr_topologicalSort.rst:126 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_topologicalSort.rst:128 +#: ../../build/doc/pgr_topologicalSort.rst:129 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_topologicalSort.rst:129 +#: ../../build/doc/pgr_topologicalSort.rst:130 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_topologicalSort.rst:130 +#: ../../build/doc/pgr_topologicalSort.rst:131 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_transitiveClosure.po b/locale/es/LC_MESSAGES/pgr_transitiveClosure.po index 662b4c3444e..2a97f85913d 100644 --- a/locale/es/LC_MESSAGES/pgr_transitiveClosure.po +++ b/locale/es/LC_MESSAGES/pgr_transitiveClosure.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -129,20 +129,22 @@ msgstr "Soporte" #: ../../build/doc/pgr_transitiveClosure.rst:33 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_transitiveClosure.rst:37 -#: ../../build/doc/pgr_transitiveClosure.rst:76 -#: ../../build/doc/pgr_transitiveClosure.rst:96 +#: ../../build/doc/pgr_transitiveClosure.rst:38 +#: ../../build/doc/pgr_transitiveClosure.rst:77 +#: ../../build/doc/pgr_transitiveClosure.rst:97 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_transitiveClosure.rst:39 +#: ../../build/doc/pgr_transitiveClosure.rst:40 msgid "" "The transitive_closure() function transforms the input graph g into the " "transitive closure graph tc." @@ -150,7 +152,7 @@ msgstr "" "La función transitive_closure() transforma el grafo de entrada g en el grafo" " de cierre transitivo tc." -#: ../../build/doc/pgr_transitiveClosure.rst:41 +#: ../../build/doc/pgr_transitiveClosure.rst:42 msgid "" "This implementation can only be used with a **directed** graph with no " "cycles i.e. directed acyclic graph." @@ -158,11 +160,11 @@ msgstr "" "Esta implementación solo se puede utilizar con un grafo **dirigido** sin " "ciclos i.e., es decir, un grafo acíclico dirigido." -#: ../../build/doc/pgr_transitiveClosure.rst:49 +#: ../../build/doc/pgr_transitiveClosure.rst:50 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_transitiveClosure.rst:44 +#: ../../build/doc/pgr_transitiveClosure.rst:45 msgid "" "Process is valid for directed acyclic graphs only. otherwise it will throw " "warnings." @@ -170,23 +172,23 @@ msgstr "" "El proceso solo es válido para grafos acíclicos dirigidos. de lo contrario " "lanzará advertencias." -#: ../../build/doc/pgr_transitiveClosure.rst:46 +#: ../../build/doc/pgr_transitiveClosure.rst:47 msgid "The returned values are not ordered:" msgstr "Los valores devueltos no se ordenan:" -#: ../../build/doc/pgr_transitiveClosure.rst:48 +#: ../../build/doc/pgr_transitiveClosure.rst:49 msgid "Running time: :math:`O(|V||E|)`" msgstr "Tiempo de ejecución: :math:`O(|V||E|)`" -#: ../../build/doc/pgr_transitiveClosure.rst:52 +#: ../../build/doc/pgr_transitiveClosure.rst:53 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_transitiveClosure.rst:55 +#: ../../build/doc/pgr_transitiveClosure.rst:56 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_transitiveClosure.rst:56 +#: ../../build/doc/pgr_transitiveClosure.rst:57 msgid "The pgr_transitiveClosure function has the following signature:" msgstr "La función pgr_transitiveClosure tiene la siguiente firma:" @@ -194,39 +196,39 @@ msgstr "La función pgr_transitiveClosure tiene la siguiente firma:" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_transitiveClosure.rst:66 +#: ../../build/doc/pgr_transitiveClosure.rst:67 msgid "Complete Graph of 3 vertexs" msgstr "Grafo Completo de 3 vértices" -#: ../../build/doc/pgr_transitiveClosure.rst:73 +#: ../../build/doc/pgr_transitiveClosure.rst:74 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_transitiveClosure.rst:76 -#: ../../build/doc/pgr_transitiveClosure.rst:96 +#: ../../build/doc/pgr_transitiveClosure.rst:77 +#: ../../build/doc/pgr_transitiveClosure.rst:97 msgid "Column" msgstr "Columna" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_transitiveClosure.rst:76 -#: ../../build/doc/pgr_transitiveClosure.rst:96 +#: ../../build/doc/pgr_transitiveClosure.rst:77 +#: ../../build/doc/pgr_transitiveClosure.rst:97 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_transitiveClosure.rst:78 +#: ../../build/doc/pgr_transitiveClosure.rst:79 msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/pgr_transitiveClosure.rst:78 +#: ../../build/doc/pgr_transitiveClosure.rst:79 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_transitiveClosure.rst:78 +#: ../../build/doc/pgr_transitiveClosure.rst:79 msgid "SQL query as described in `Inner query`_" msgstr "Consulta SQL como se describe en `Inner query`_" -#: ../../build/doc/pgr_transitiveClosure.rst:82 +#: ../../build/doc/pgr_transitiveClosure.rst:83 msgid "Inner query" msgstr "Consulta interna" @@ -325,91 +327,84 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_transitiveClosure.rst:89 +#: ../../build/doc/pgr_transitiveClosure.rst:90 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_transitiveClosure.rst:91 +#: ../../build/doc/pgr_transitiveClosure.rst:92 msgid "RETURNS SETOF (seq, vid, target_array)" msgstr "DEVUELVE UN CONJUNTO DE (seq, vid, target_array)" -#: ../../build/doc/pgr_transitiveClosure.rst:93 +#: ../../build/doc/pgr_transitiveClosure.rst:94 msgid "The function returns a single row. The columns of the row are:" msgstr "La función devuelve una sola fila. Las columnas de la fila son:" -#: ../../build/doc/pgr_transitiveClosure.rst:98 +#: ../../build/doc/pgr_transitiveClosure.rst:99 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_transitiveClosure.rst:98 +#: ../../build/doc/pgr_transitiveClosure.rst:99 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/pgr_transitiveClosure.rst:98 +#: ../../build/doc/pgr_transitiveClosure.rst:99 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/pgr_transitiveClosure.rst:99 +#: ../../build/doc/pgr_transitiveClosure.rst:100 msgid "**vid**" msgstr "**vid**" -#: ../../build/doc/pgr_transitiveClosure.rst:99 +#: ../../build/doc/pgr_transitiveClosure.rst:100 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_transitiveClosure.rst:99 +#: ../../build/doc/pgr_transitiveClosure.rst:100 msgid "Identifier of the vertex." msgstr "Identificador del vértice." -#: ../../build/doc/pgr_transitiveClosure.rst:100 +#: ../../build/doc/pgr_transitiveClosure.rst:101 msgid "**target_array**" msgstr "**target_array**" -#: ../../build/doc/pgr_transitiveClosure.rst:100 +#: ../../build/doc/pgr_transitiveClosure.rst:101 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_transitiveClosure.rst:100 +#: ../../build/doc/pgr_transitiveClosure.rst:101 msgid "Array of identifiers of the vertices that are reachable from vertex v." msgstr "" "Arreglo de identificadores de los vértices a los que se puede acceder desde " "el vértice v." -#: ../../build/doc/pgr_transitiveClosure.rst:104 +#: ../../build/doc/pgr_transitiveClosure.rst:105 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_transitiveClosure.rst:106 +#: ../../build/doc/pgr_transitiveClosure.rst:107 msgid "Some sub graphs of the sample data" msgstr "Algunos subgrafos de los datos de muestra" -#: ../../build/doc/pgr_transitiveClosure.rst:114 +#: ../../build/doc/pgr_transitiveClosure.rst:115 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_transitiveClosure.rst:116 +#: ../../build/doc/pgr_transitiveClosure.rst:117 msgid "https://en.wikipedia.org/wiki/Transitive_closure" msgstr "https://en.wikipedia.org/wiki/Transitive_closure" -#: ../../build/doc/pgr_transitiveClosure.rst:117 +#: ../../build/doc/pgr_transitiveClosure.rst:118 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_transitiveClosure.rst:120 +#: ../../build/doc/pgr_transitiveClosure.rst:121 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_transitiveClosure.rst:121 +#: ../../build/doc/pgr_transitiveClosure.rst:122 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_transitiveClosure.rst:122 +#: ../../build/doc/pgr_transitiveClosure.rst:123 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones Soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_trsp.po b/locale/es/LC_MESSAGES/pgr_trsp.po index 794cbb2bdf9..ff1a8019a96 100644 --- a/locale/es/LC_MESSAGES/pgr_trsp.po +++ b/locale/es/LC_MESSAGES/pgr_trsp.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Minerva Durán Martínez , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -69,13 +69,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_trsp.rst:36 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_trsp.rst:39 +#: ../../build/doc/pgr_trsp.rst:40 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -95,11 +97,11 @@ msgstr "" "`__ `2.0 " "`__" -#: ../../build/doc/pgr_trsp.rst:50 +#: ../../build/doc/pgr_trsp.rst:51 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_trsp.rst:52 +#: ../../build/doc/pgr_trsp.rst:53 msgid "" "The turn restricted shorthest path (TRSP) is a shortest path algorithm that " "can optionally take into account complicated turn restrictions like those " @@ -116,11 +118,11 @@ msgstr "" " de los nodos de la red. Devuelve un conjunto de filas (seq, id1, id2, cost)" " o (seq, id1, id2, id3, cost) que forman una ruta." -#: ../../build/doc/pgr_trsp.rst:82 +#: ../../build/doc/pgr_trsp.rst:83 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_trsp.rst:84 +#: ../../build/doc/pgr_trsp.rst:85 msgid "" "The Turn Restricted Shortest Path algorithm (TRSP) is similar to the " "shooting star in that you can specify turn restrictions." @@ -128,7 +130,7 @@ msgstr "" "El algoritmo de la ruta más corta restringida por giro (TRSP) es similar a " "la estrella fugaz en que puede especificar restricciones de giro." -#: ../../build/doc/pgr_trsp.rst:86 +#: ../../build/doc/pgr_trsp.rst:87 msgid "" "The TRSP setup is mostly the same as :doc:`Dijkstra shortest path " "` with the addition of an optional turn restriction table. " @@ -144,7 +146,7 @@ msgstr "" msgid "sql" msgstr "sql" -#: ../../build/doc/pgr_trsp.rst:89 ../../build/doc/pgr_trsp.rst:139 +#: ../../build/doc/pgr_trsp.rst:90 ../../build/doc/pgr_trsp.rst:140 msgid "" "a SQL query, which should return a set of rows with the following columns:" msgstr "" @@ -155,7 +157,7 @@ msgstr "" msgid "id" msgstr "id" -#: ../../build/doc/pgr_trsp.rst:96 ../../build/doc/pgr_trsp.rst:146 +#: ../../build/doc/pgr_trsp.rst:97 ../../build/doc/pgr_trsp.rst:147 msgid "``int4`` identifier of the edge" msgstr "``int4`` Identificador del borde" @@ -163,7 +165,7 @@ msgstr "``int4`` Identificador del borde" msgid "source" msgstr "source" -#: ../../build/doc/pgr_trsp.rst:97 ../../build/doc/pgr_trsp.rst:147 +#: ../../build/doc/pgr_trsp.rst:98 ../../build/doc/pgr_trsp.rst:148 msgid "``int4`` identifier of the source vertex" msgstr "``int4`` Identificador del vértice inicial del borde" @@ -171,7 +173,7 @@ msgstr "``int4`` Identificador del vértice inicial del borde" msgid "target" msgstr "target" -#: ../../build/doc/pgr_trsp.rst:98 ../../build/doc/pgr_trsp.rst:148 +#: ../../build/doc/pgr_trsp.rst:99 ../../build/doc/pgr_trsp.rst:149 msgid "``int4`` identifier of the target vertex" msgstr "``int4`` Identificador del vértice final del borde" @@ -179,7 +181,7 @@ msgstr "``int4`` Identificador del vértice final del borde" msgid "cost" msgstr "Costo" -#: ../../build/doc/pgr_trsp.rst:99 ../../build/doc/pgr_trsp.rst:149 +#: ../../build/doc/pgr_trsp.rst:100 ../../build/doc/pgr_trsp.rst:150 msgid "" "``float8`` value, of the edge traversal cost. A negative cost will prevent " "the edge from being inserted in the graph." @@ -191,7 +193,7 @@ msgstr "" msgid "reverse_cost" msgstr "reverse_cost" -#: ../../build/doc/pgr_trsp.rst:100 ../../build/doc/pgr_trsp.rst:150 +#: ../../build/doc/pgr_trsp.rst:101 ../../build/doc/pgr_trsp.rst:151 msgid "" "(optional) the cost for the reverse traversal of the edge. This is only used" " when the ``directed`` and ``has_rcost`` parameters are ``true`` (see the " @@ -201,11 +203,11 @@ msgstr "" "utiliza cuando los parámetros ``directed`` y ``has_rcost`` son ``True`` " "(ver el comentario anterior sobre los costos negativos)." -#: ../../build/doc/pgr_trsp.rst:102 +#: ../../build/doc/pgr_trsp.rst:103 msgid "``int4`` **NODE id** of the start point" msgstr "``int4`` **identificador** del nodo de partida" -#: ../../build/doc/pgr_trsp.rst:103 +#: ../../build/doc/pgr_trsp.rst:104 msgid "``int4`` **NODE id** of the end point" msgstr "``int4`` **identificador** del nodo de llegada" @@ -213,7 +215,7 @@ msgstr "``int4`` **identificador** del nodo de llegada" msgid "directed" msgstr "dirigido" -#: ../../build/doc/pgr_trsp.rst:104 ../../build/doc/pgr_trsp.rst:153 +#: ../../build/doc/pgr_trsp.rst:105 ../../build/doc/pgr_trsp.rst:154 msgid "``true`` if the graph is directed" msgstr "``true`` Si la gráfica es direccionada" @@ -221,7 +223,7 @@ msgstr "``true`` Si la gráfica es direccionada" msgid "has_rcost" msgstr "has_rcost" -#: ../../build/doc/pgr_trsp.rst:105 ../../build/doc/pgr_trsp.rst:154 +#: ../../build/doc/pgr_trsp.rst:106 ../../build/doc/pgr_trsp.rst:155 msgid "" "if ``true``, the ``reverse_cost`` column of the SQL generated set of rows " "will be used for the cost of the traversal of the edge in the opposite " @@ -235,7 +237,7 @@ msgstr "" msgid "restrict_sql" msgstr "restrict_sql" -#: ../../build/doc/pgr_trsp.rst:107 ../../build/doc/pgr_trsp.rst:156 +#: ../../build/doc/pgr_trsp.rst:108 ../../build/doc/pgr_trsp.rst:157 msgid "" "(optional) a SQL query, which should return a set of rows with the following" " columns:" @@ -247,7 +249,7 @@ msgstr "" msgid "to_cost" msgstr "to_cost" -#: ../../build/doc/pgr_trsp.rst:113 ../../build/doc/pgr_trsp.rst:162 +#: ../../build/doc/pgr_trsp.rst:114 ../../build/doc/pgr_trsp.rst:163 msgid "``float8`` turn restriction cost" msgstr "``float8`` restricción del costo de giro" @@ -255,7 +257,7 @@ msgstr "``float8`` restricción del costo de giro" msgid "target_id" msgstr "target_id" -#: ../../build/doc/pgr_trsp.rst:114 ../../build/doc/pgr_trsp.rst:163 +#: ../../build/doc/pgr_trsp.rst:115 ../../build/doc/pgr_trsp.rst:164 msgid "``int4`` target id" msgstr "``int4`` identificador del borde donde se aplica la restricción" @@ -263,14 +265,14 @@ msgstr "``int4`` identificador del borde donde se aplica la restricción" msgid "via_path" msgstr "via_path" -#: ../../build/doc/pgr_trsp.rst:115 +#: ../../build/doc/pgr_trsp.rst:116 msgid "" "``text`` comma separated list of edges in the reverse order of ``rule``" msgstr "" "Lista de aristas ``text`` separadas por comas en el orden inverso de " "``rule``" -#: ../../build/doc/pgr_trsp.rst:117 +#: ../../build/doc/pgr_trsp.rst:118 msgid "" "Another variant of TRSP allows to specify **EDGE id** of source and target " "together with a fraction to interpolate the position:" @@ -282,7 +284,7 @@ msgstr "" msgid "source_edge" msgstr "source_edge" -#: ../../build/doc/pgr_trsp.rst:119 +#: ../../build/doc/pgr_trsp.rst:120 msgid "``int4`` **EDGE id** of the start edge" msgstr "``int4`` **identificador del borde** de partida" @@ -290,7 +292,7 @@ msgstr "``int4`` **identificador del borde** de partida" msgid "source_pos" msgstr "source_pos" -#: ../../build/doc/pgr_trsp.rst:120 +#: ../../build/doc/pgr_trsp.rst:121 msgid "``float8`` fraction of 1 defines the position on the start edge" msgstr "" "``float8`` fracción de 1 que define la posición del sobre el borde de " @@ -300,7 +302,7 @@ msgstr "" msgid "target_edge" msgstr "target_edge" -#: ../../build/doc/pgr_trsp.rst:121 +#: ../../build/doc/pgr_trsp.rst:122 msgid "``int4`` **EDGE id** of the end edge" msgstr "``int4`` **Identificador del borde** de llegada" @@ -308,13 +310,13 @@ msgstr "``int4`` **Identificador del borde** de llegada" msgid "target_pos" msgstr "target_pos" -#: ../../build/doc/pgr_trsp.rst:122 +#: ../../build/doc/pgr_trsp.rst:123 msgid "``float8`` fraction of 1 defines the position on the end edge" msgstr "" "``float8`` fracción de 1 que define la posición del sobre el borde de " "llegada." -#: ../../build/doc/pgr_trsp.rst:124 ../../build/doc/pgr_trsp.rst:171 +#: ../../build/doc/pgr_trsp.rst:125 ../../build/doc/pgr_trsp.rst:172 msgid "Returns set of:" msgstr "Devuelve el conjunto de:" @@ -322,7 +324,7 @@ msgstr "Devuelve el conjunto de:" msgid "seq" msgstr "seq" -#: ../../build/doc/pgr_trsp.rst:126 ../../build/doc/pgr_trsp.rst:173 +#: ../../build/doc/pgr_trsp.rst:127 ../../build/doc/pgr_trsp.rst:174 msgid "row sequence" msgstr "Secuencia de registros" @@ -330,7 +332,7 @@ msgstr "Secuencia de registros" msgid "id1" msgstr "id1" -#: ../../build/doc/pgr_trsp.rst:127 ../../build/doc/pgr_trsp.rst:175 +#: ../../build/doc/pgr_trsp.rst:128 ../../build/doc/pgr_trsp.rst:176 msgid "node ID" msgstr "Identificador del nodo visitado" @@ -338,21 +340,21 @@ msgstr "Identificador del nodo visitado" msgid "id2" msgstr "id2" -#: ../../build/doc/pgr_trsp.rst:128 ../../build/doc/pgr_trsp.rst:176 +#: ../../build/doc/pgr_trsp.rst:129 ../../build/doc/pgr_trsp.rst:177 msgid "edge ID (``-1`` for the last row)" msgstr "Identificador del borde (``-1`` para el ultimo registro)" -#: ../../build/doc/pgr_trsp.rst:129 +#: ../../build/doc/pgr_trsp.rst:130 msgid "cost to traverse from ``id1`` using ``id2``" msgstr "" "costo para atravesar desde el nodo ``id1`` usando el borde``id2`` hasta su " "otro extremo" -#: ../../build/doc/pgr_trsp.rst:132 +#: ../../build/doc/pgr_trsp.rst:133 msgid "Support for Vias" msgstr "Soporte para Vias" -#: ../../build/doc/pgr_trsp.rst:134 +#: ../../build/doc/pgr_trsp.rst:135 msgid "" "The Support for Vias functions are prototypes. Not all corner cases are " "being considered." @@ -360,7 +362,7 @@ msgstr "" "Las funciones de Soporte para Vias son prototipos. No se están considerando " "todos los casos de esquina." -#: ../../build/doc/pgr_trsp.rst:137 +#: ../../build/doc/pgr_trsp.rst:138 msgid "" "We also have support for vias where you can say generate a from A to B to C," " etc. We support both methods above only you pass an array of vertices or " @@ -375,7 +377,7 @@ msgstr "" msgid "vids" msgstr "vids" -#: ../../build/doc/pgr_trsp.rst:152 +#: ../../build/doc/pgr_trsp.rst:153 msgid "" "``int4[]`` An ordered array of **NODE id** the path will go through from " "start to end." @@ -383,14 +385,14 @@ msgstr "" "``int4[]`` Un arreglo ordenado de **NODE id** la ruta irá de principio a " "fin." -#: ../../build/doc/pgr_trsp.rst:164 +#: ../../build/doc/pgr_trsp.rst:165 msgid "" "``text`` commar separated list of edges in the reverse order of ``rule``" msgstr "" "Lista de aristas `` text`` separadas por comas en el orden inverso de " "``rule``" -#: ../../build/doc/pgr_trsp.rst:166 +#: ../../build/doc/pgr_trsp.rst:167 msgid "" "Another variant of TRSP allows to specify **EDGE id** together with a " "fraction to interpolate the position:" @@ -402,7 +404,7 @@ msgstr "" msgid "eids" msgstr "eids" -#: ../../build/doc/pgr_trsp.rst:168 +#: ../../build/doc/pgr_trsp.rst:169 msgid "``int4`` An ordered array of **EDGE id** that the path has to traverse" msgstr "" "``int4`` Un arreglo ordenado de **EDGE id** que la ruta tiene que atravesar" @@ -411,7 +413,7 @@ msgstr "" msgid "pcts" msgstr "Pct" -#: ../../build/doc/pgr_trsp.rst:169 +#: ../../build/doc/pgr_trsp.rst:170 msgid "" "``float8`` An array of fractional positions along the respective edges in " "``eids``, where 0.0 is the start of the edge and 1.0 is the end of the " @@ -421,7 +423,7 @@ msgstr "" "respectivas aristasen ``eids``, donde 0.0 es el comienzo de la arista y 1.0" " es el final." -#: ../../build/doc/pgr_trsp.rst:174 +#: ../../build/doc/pgr_trsp.rst:175 msgid "route ID" msgstr "Identificador de la ruta" @@ -429,13 +431,13 @@ msgstr "Identificador de la ruta" msgid "id3" msgstr "id3" -#: ../../build/doc/pgr_trsp.rst:177 +#: ../../build/doc/pgr_trsp.rst:178 msgid "cost to traverse from ``id2`` using ``id3``" msgstr "" "costo para atravesar desde el nodo ``id2`` usando el borde ``id3`` hasta su" " otro extremo" -#: ../../build/doc/pgr_trsp.rst:180 +#: ../../build/doc/pgr_trsp.rst:181 msgid "Additional Examples" msgstr "Ejemplos Adicionales" @@ -443,43 +445,43 @@ msgstr "Ejemplos Adicionales" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_trsp.rst:182 +#: ../../build/doc/pgr_trsp.rst:183 msgid "Without turn restrictions" msgstr "Sin restricción de giros" -#: ../../build/doc/pgr_trsp.rst:188 +#: ../../build/doc/pgr_trsp.rst:189 msgid "With turn restrictions" msgstr "Con restricción de giros" -#: ../../build/doc/pgr_trsp.rst:190 +#: ../../build/doc/pgr_trsp.rst:191 msgid "Then a query with turn restrictions is created as:" msgstr "" "Entonces una consulta con restricciones de giro es creada de la siguiente " "forma:" -#: ../../build/doc/pgr_trsp.rst:196 +#: ../../build/doc/pgr_trsp.rst:197 msgid "An example query using vertex ids and via points:" msgstr "" "Una consulta de ejemplo mediante identificadores de vértices y puntos de " "vía:" -#: ../../build/doc/pgr_trsp.rst:202 +#: ../../build/doc/pgr_trsp.rst:203 msgid "An example query using edge ids and vias:" msgstr "Una consulta de ejemplo mediante identificadores de borde y vias:" -#: ../../build/doc/pgr_trsp.rst:208 +#: ../../build/doc/pgr_trsp.rst:209 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_trsp.rst:211 +#: ../../build/doc/pgr_trsp.rst:212 msgid "Known Issues" msgstr "Problemas conocidos" -#: ../../build/doc/pgr_trsp.rst:213 +#: ../../build/doc/pgr_trsp.rst:214 msgid "Introduction" msgstr "Introducción" -#: ../../build/doc/pgr_trsp.rst:214 +#: ../../build/doc/pgr_trsp.rst:215 msgid "" "pgr_trsp code has issues that are not being fixed yet, but as time passes " "and new functionality is added to pgRouting with wrappers to **hide** the " @@ -489,20 +491,20 @@ msgstr "" "medida que pasa el tiempo y se agrega nueva funcionalidad a pgRouting, hay " "contenedores para **ocultar** los problemas, no para solucionarlos." -#: ../../build/doc/pgr_trsp.rst:216 +#: ../../build/doc/pgr_trsp.rst:217 msgid "For clarity on the queries:" msgstr "Para mayor claridad en las consultas:" -#: ../../build/doc/pgr_trsp.rst:218 +#: ../../build/doc/pgr_trsp.rst:219 msgid "_pgr_trsp (internal_function) is the original code" msgstr "_pgr_trsp (internal_function) es el código original" -#: ../../build/doc/pgr_trsp.rst:219 +#: ../../build/doc/pgr_trsp.rst:220 msgid "pgr_trsp (lower case) represents the wrapper calling the original code" msgstr "" "pgr_trsp (minúscula) representa el contenedor que convoca al código original" -#: ../../build/doc/pgr_trsp.rst:220 +#: ../../build/doc/pgr_trsp.rst:221 msgid "" "pgr_TRSP (upper case) represents the wrapper calling the replacement " "function, depending on the function, it can be:" @@ -510,50 +512,50 @@ msgstr "" "pgr_TRSP (mayúsculas) representa el contenedor que convoca a la función de " "reemplazo. Dependiendo de esa función, puede ser:" -#: ../../build/doc/pgr_trsp.rst:222 +#: ../../build/doc/pgr_trsp.rst:223 msgid "pgr_dijkstra" msgstr "pgr_dijkstra" -#: ../../build/doc/pgr_trsp.rst:223 +#: ../../build/doc/pgr_trsp.rst:224 msgid "pgr_dijkstraVia" msgstr "pgr_dijkstraVia" -#: ../../build/doc/pgr_trsp.rst:224 +#: ../../build/doc/pgr_trsp.rst:225 msgid "pgr_withPoints" msgstr "pgr_withPoints" -#: ../../build/doc/pgr_trsp.rst:225 +#: ../../build/doc/pgr_trsp.rst:226 msgid "_pgr_withPointsVia (internal function)" msgstr "_pgr_withPointsVia (función interna)" -#: ../../build/doc/pgr_trsp.rst:228 +#: ../../build/doc/pgr_trsp.rst:229 msgid "The restrictions" msgstr "Las restricciones" -#: ../../build/doc/pgr_trsp.rst:230 +#: ../../build/doc/pgr_trsp.rst:231 msgid "" "The restriction used in the examples does not have to do anything with the " "graph:" msgstr "" "La restricción utilizada en los ejemplos no tiene que ver nada con el grafo:" -#: ../../build/doc/pgr_trsp.rst:232 +#: ../../build/doc/pgr_trsp.rst:233 msgid "No vertex has id: 25, 32 or 33" msgstr "Ningún vértice tiene id: 25, 32 o 33" -#: ../../build/doc/pgr_trsp.rst:233 +#: ../../build/doc/pgr_trsp.rst:234 msgid "No edge has id: 25, 32 or 33" msgstr "Ninguna arista tiene id: 25, 32 o 33" -#: ../../build/doc/pgr_trsp.rst:235 +#: ../../build/doc/pgr_trsp.rst:236 msgid "A restriction is assigned as:" msgstr "Se asigna una restricción como:" -#: ../../build/doc/pgr_trsp.rst:241 +#: ../../build/doc/pgr_trsp.rst:242 msgid "The back end code has that same restriction as follows" msgstr "El código back-end tiene la misma restricción que la siguiente" -#: ../../build/doc/pgr_trsp.rst:247 +#: ../../build/doc/pgr_trsp.rst:248 msgid "" "therefore the shortest path expected are as if there was no restriction " "involved" @@ -561,27 +563,27 @@ msgstr "" "por lo tanto, la ruta más corta esperado es como si no hubiera ninguna " "restricción involucrada" -#: ../../build/doc/pgr_trsp.rst:250 +#: ../../build/doc/pgr_trsp.rst:251 msgid "The \"Vertices\" signature version" msgstr "La versión de la firma \"Vértices\"" -#: ../../build/doc/pgr_trsp.rst:258 ../../build/doc/pgr_trsp.rst:360 +#: ../../build/doc/pgr_trsp.rst:259 ../../build/doc/pgr_trsp.rst:361 msgid "Different ways to represent 'no path found`" msgstr "Diferentes formas de representar 'ninguna ruta encontrada'" -#: ../../build/doc/pgr_trsp.rst:260 ../../build/doc/pgr_trsp.rst:362 +#: ../../build/doc/pgr_trsp.rst:261 ../../build/doc/pgr_trsp.rst:363 msgid "Sometimes represents with EMPTY SET a no path found" msgstr "A veces se representa con EMPTY SET ninguna ruta encontrada" -#: ../../build/doc/pgr_trsp.rst:261 +#: ../../build/doc/pgr_trsp.rst:262 msgid "Sometimes represents with Error a no path found" msgstr "A veces representa con ERROR ninguna ruta encontrada" -#: ../../build/doc/pgr_trsp.rst:264 ../../build/doc/pgr_trsp.rst:366 +#: ../../build/doc/pgr_trsp.rst:265 ../../build/doc/pgr_trsp.rst:367 msgid "Returning EMPTY SET to represent no path found" msgstr "Se devuelve EMPTY SET para representar ninguna ruta encontrada" -#: ../../build/doc/pgr_trsp.rst:269 +#: ../../build/doc/pgr_trsp.rst:270 msgid "" "pgr_trsp calls :doc:`pgr_dijkstra` when there are no restrictions which " "returns `EMPTY SET` when a path is not found" @@ -589,11 +591,11 @@ msgstr "" "pgr_trsp invoca :doc:`pgr_dijkstra` cuando no hay restricciones que " "devuelvan `EMPTY SET` cuando no se encuentra una ruta" -#: ../../build/doc/pgr_trsp.rst:277 ../../build/doc/pgr_trsp.rst:375 +#: ../../build/doc/pgr_trsp.rst:278 ../../build/doc/pgr_trsp.rst:376 msgid "Throwing EXCEPTION to represent no path found" msgstr "Se producirá una EXCEPCIÓN para representar ninguna ruta encontrada" -#: ../../build/doc/pgr_trsp.rst:282 ../../build/doc/pgr_trsp.rst:380 +#: ../../build/doc/pgr_trsp.rst:283 ../../build/doc/pgr_trsp.rst:381 msgid "" "pgr_trsp use the original code when there are restrictions, even if they " "have nothing to do with the graph, which will throw an EXCEPTION to " @@ -603,11 +605,11 @@ msgstr "" "tienen nada que ver con el grafo, lo que producirá una EXCEPCIÓN para " "representar ninguna ruta encontrada." -#: ../../build/doc/pgr_trsp.rst:286 ../../build/doc/pgr_trsp.rst:412 +#: ../../build/doc/pgr_trsp.rst:287 ../../build/doc/pgr_trsp.rst:413 msgid "Routing from/to same location" msgstr "Ruteo desde/hacia la misma ubicación" -#: ../../build/doc/pgr_trsp.rst:288 +#: ../../build/doc/pgr_trsp.rst:289 msgid "" "When routing from location :math:`1` to the same location :math:`1`, no path" " is needed to reach the destination, its already there. Therefore is " @@ -619,25 +621,25 @@ msgstr "" "tanto, se espera que devuelva un `EMPTY SET` o un `EXCEPTION` dependiendo de" " los parámetros" -#: ../../build/doc/pgr_trsp.rst:292 +#: ../../build/doc/pgr_trsp.rst:293 msgid "Sometimes represents with EMPTY SET no path found (expected)" msgstr "" "A veces se representa con EMPTY SET ninguna ruta encontrada (esperada)" -#: ../../build/doc/pgr_trsp.rst:293 +#: ../../build/doc/pgr_trsp.rst:294 msgid "Sometimes represents with EXCEPTION no path found (expected)" msgstr "A veces se representa con EXCEPCIÓNninguna ruta encontrada (esperada)" -#: ../../build/doc/pgr_trsp.rst:294 +#: ../../build/doc/pgr_trsp.rst:295 msgid "Sometimes finds a path (not expected)" msgstr "A veces se encuentra una ruta (no esperada)" -#: ../../build/doc/pgr_trsp.rst:297 +#: ../../build/doc/pgr_trsp.rst:298 msgid "Returning expected EMPTY SET to represent no path found" msgstr "" "Se devuelve el SET EMPTY esperado para representar ninguna ruta encontrada" -#: ../../build/doc/pgr_trsp.rst:302 +#: ../../build/doc/pgr_trsp.rst:303 msgid "" "``pgr_trsp`` calls :doc:`pgr_dijkstra` when there are no restrictions which " "returns the expected to return `EMPTY SET` to represent no path found." @@ -645,11 +647,11 @@ msgstr "" "``pgr_trsp`` convoca a :doc:`pgr_dijkstra` cuando no hay resctricciones que " "devuelvan el `EMPTY SET` esperado para representar ninguna ruta encontrada." -#: ../../build/doc/pgr_trsp.rst:306 +#: ../../build/doc/pgr_trsp.rst:307 msgid "Returning expected EXCEPTION to represent no path found" msgstr "Devolver EXCEPTION esperada para representar ninguna ruta encontrada" -#: ../../build/doc/pgr_trsp.rst:311 +#: ../../build/doc/pgr_trsp.rst:312 msgid "" "In this case ``pgr_trsp`` calls the original code when there are " "restrictions, even if they have nothing to do with the graph, in this case " @@ -659,11 +661,11 @@ msgstr "" " incluso si no tienen nada que ver con el grafo, en este caso ese código " "lanza la EXCEPCIÓN esperada" -#: ../../build/doc/pgr_trsp.rst:315 +#: ../../build/doc/pgr_trsp.rst:316 msgid "Returning unexpected path" msgstr "Devolver una ruta inesperado" -#: ../../build/doc/pgr_trsp.rst:320 +#: ../../build/doc/pgr_trsp.rst:321 msgid "" "In this case ``pgr_trsp`` calls the original code when there are " "restrictions, even if they have nothing to do with the graph, in this case " @@ -673,11 +675,11 @@ msgstr "" " incluso si no tienen nada que ver con el grafo, en este caso ese código " "encuentra una ruta inesperada." -#: ../../build/doc/pgr_trsp.rst:325 ../../build/doc/pgr_trsp.rst:440 +#: ../../build/doc/pgr_trsp.rst:326 ../../build/doc/pgr_trsp.rst:441 msgid "User contradictions" msgstr "Contradicciones de usuarios" -#: ../../build/doc/pgr_trsp.rst:327 ../../build/doc/pgr_trsp.rst:442 +#: ../../build/doc/pgr_trsp.rst:328 ../../build/doc/pgr_trsp.rst:443 msgid "" "``pgr_trsp`` unlike other pgRouting functions does not autodectect the " "existence of ``reverse_cost`` column. Therefor it has ``has_rcost`` " @@ -689,32 +691,32 @@ msgstr "" "tiene el parámetro ``has_rcost`` para verificar la existencia de la columna " "``reverse_cost``. Las contradicciones suceden:" -#: ../../build/doc/pgr_trsp.rst:331 ../../build/doc/pgr_trsp.rst:446 +#: ../../build/doc/pgr_trsp.rst:332 ../../build/doc/pgr_trsp.rst:447 msgid "" "When the reverse_cost is missing, and the flag `has_rcost` is set to true" msgstr "" "Cuando falta reverse_cost, y la marca `has_rcost` se establece como " "verdadera" -#: ../../build/doc/pgr_trsp.rst:332 ../../build/doc/pgr_trsp.rst:343 -#: ../../build/doc/pgr_trsp.rst:447 ../../build/doc/pgr_trsp.rst:458 +#: ../../build/doc/pgr_trsp.rst:333 ../../build/doc/pgr_trsp.rst:344 +#: ../../build/doc/pgr_trsp.rst:448 ../../build/doc/pgr_trsp.rst:459 msgid "When the reverse_cost exists, and the flag `has_rcost` is set to false" msgstr "" "Cuando el reverse_cost existe, y el indicador `has_rcost` se establece en " "false" -#: ../../build/doc/pgr_trsp.rst:335 ../../build/doc/pgr_trsp.rst:450 +#: ../../build/doc/pgr_trsp.rst:336 ../../build/doc/pgr_trsp.rst:451 msgid "" "When the reverse_cost is missing, and the flag `has_rcost` is set to true." msgstr "" "Cuando falta reverse_cost y el indicador `has_rcost` se configura como " "verdadero." -#: ../../build/doc/pgr_trsp.rst:340 ../../build/doc/pgr_trsp.rst:455 +#: ../../build/doc/pgr_trsp.rst:341 ../../build/doc/pgr_trsp.rst:456 msgid "An EXCEPTION is thrown." msgstr "Se produce una EXCEPCIÓN." -#: ../../build/doc/pgr_trsp.rst:348 ../../build/doc/pgr_trsp.rst:463 +#: ../../build/doc/pgr_trsp.rst:349 ../../build/doc/pgr_trsp.rst:464 msgid "" "The ``reverse_cost`` column will be effectively removed and will cost " "execution time" @@ -722,15 +724,15 @@ msgstr "" "La columna de ``reverse_cost`` será eliminada efectivamente y costará tiempo" " de ejecución" -#: ../../build/doc/pgr_trsp.rst:351 +#: ../../build/doc/pgr_trsp.rst:352 msgid "The \"Edges\" signature version" msgstr "La versión de firma \"Edges\"" -#: ../../build/doc/pgr_trsp.rst:363 +#: ../../build/doc/pgr_trsp.rst:364 msgid "Sometimes represents with EXCEPTION a no path found" msgstr "A veces se representa con EXCEPCIÓN ninguna ruta encontrada" -#: ../../build/doc/pgr_trsp.rst:371 +#: ../../build/doc/pgr_trsp.rst:372 msgid "" "pgr_trsp calls :doc:`pgr_withPoints` when there are no restrictions which " "returns `EMPTY SET` when a path is not found" @@ -738,27 +740,27 @@ msgstr "" "pgr_trsp invoca :doc:`pgr_withPoints` cuando no hay restricciones que " "devuelvan `EMPTY SET` cuando no se encuentra una ruta" -#: ../../build/doc/pgr_trsp.rst:384 +#: ../../build/doc/pgr_trsp.rst:385 msgid "Paths with equal number of vertices and edges" msgstr "Rutas con igual número de vértices y aristas" -#: ../../build/doc/pgr_trsp.rst:386 +#: ../../build/doc/pgr_trsp.rst:387 msgid "A path is made of `N` vertices and `N - 1` edges." msgstr "Una ruta se conforma por `N` vértices y `N - 1` aristas." -#: ../../build/doc/pgr_trsp.rst:388 +#: ../../build/doc/pgr_trsp.rst:389 msgid "Sometimes returns `N` vertices and `N - 1` edges." msgstr "A veces devuelve `N` vértices y `N - 1` aristas." -#: ../../build/doc/pgr_trsp.rst:389 +#: ../../build/doc/pgr_trsp.rst:390 msgid "Sometimes returns `N - 1` vertices and `N - 1` edges." msgstr "A veces se devuelven `N - 1` vértices y `N - 1` aristas." -#: ../../build/doc/pgr_trsp.rst:392 +#: ../../build/doc/pgr_trsp.rst:393 msgid "Returning `N` vertices and `N - 1` edges." msgstr "Retorno de `N` vértices y `N - 1` aristas." -#: ../../build/doc/pgr_trsp.rst:397 +#: ../../build/doc/pgr_trsp.rst:398 msgid "" "pgr_trsp calls :doc:`pgr_withPoints` when there are no restrictions which " "returns the correct number of rows that will include all the vertices. The " @@ -770,11 +772,11 @@ msgstr "" "última fila tendrá un ``-1`` en la columna de aristas para indicar que el " "número de arista es inválido para esa fila." -#: ../../build/doc/pgr_trsp.rst:403 +#: ../../build/doc/pgr_trsp.rst:404 msgid "Returning `N - 1` vertices and `N - 1` edges." msgstr "Retorno de `N - 1` vrtices'y `N - 1` aristas." -#: ../../build/doc/pgr_trsp.rst:408 +#: ../../build/doc/pgr_trsp.rst:409 msgid "" "pgr_trsp use the original code when there are restrictions, even if they " "have nothing to do with the graph, and will not return the last vertex of " @@ -784,7 +786,7 @@ msgstr "" "tienen nada que ver con el grafo, y no devolverán el último vértice de la " "ruta." -#: ../../build/doc/pgr_trsp.rst:414 +#: ../../build/doc/pgr_trsp.rst:415 msgid "" "When routing from the same edge and position to the same edge and position, " "no path is needed to reach the destination, its already there. Therefore is " @@ -796,11 +798,11 @@ msgstr "" "tanto, se espera que devuelva un `EMPTY SET` o una `EXCEPTION` dependiendo " "de los parámetros, ninguno de los cuales está sucediendo." -#: ../../build/doc/pgr_trsp.rst:420 +#: ../../build/doc/pgr_trsp.rst:421 msgid "A path with 2 vertices and edge cost 0" msgstr "Una ruta con 2 vértices y coste de arista 0" -#: ../../build/doc/pgr_trsp.rst:425 +#: ../../build/doc/pgr_trsp.rst:426 msgid "" "pgr_trsp calls :doc:`pgr_withPoints` setting the first :math:`(edge, " "position)` with a differenct point id from the second :math:`(edge, " @@ -812,11 +814,11 @@ msgstr "" ":math:`(arista, posición)` haciendo de ellas diferentes puntos. Pero el " "costo usando la arista es de :math:`0`." -#: ../../build/doc/pgr_trsp.rst:430 +#: ../../build/doc/pgr_trsp.rst:431 msgid "A path with 1 vertices and edge cost 0" msgstr "Una ruta con 1 vértice y coste de arista 0" -#: ../../build/doc/pgr_trsp.rst:435 +#: ../../build/doc/pgr_trsp.rst:436 msgid "" "pgr_trsp use the original code when there are restrictions, even if they " "have nothing to do with the graph, and will not have the row for the vertex " @@ -826,65 +828,65 @@ msgstr "" "tienen nada que ver con el grafo, y no tendrán la fila para el vértice " ":math:`-2`." -#: ../../build/doc/pgr_trsp.rst:466 +#: ../../build/doc/pgr_trsp.rst:467 msgid "Using a points of interest table" msgstr "Uso de una tabla de puntos de interés" -#: ../../build/doc/pgr_trsp.rst:468 +#: ../../build/doc/pgr_trsp.rst:469 msgid "Given a set of points of interest:" msgstr "Dado un conjunto de puntos de interés:" -#: ../../build/doc/pgr_trsp.rst:475 ../../build/doc/pgr_trsp.rst:507 +#: ../../build/doc/pgr_trsp.rst:476 ../../build/doc/pgr_trsp.rst:508 msgid "Using pgr_trsp" msgstr "Uso de pgr_trsp" -#: ../../build/doc/pgr_trsp.rst:480 +#: ../../build/doc/pgr_trsp.rst:481 msgid "On *pgr_trsp*, to be able to use the table information:" msgstr "En *pgr_trsp*, para poder utilizar la información de la tabla:" -#: ../../build/doc/pgr_trsp.rst:482 +#: ../../build/doc/pgr_trsp.rst:483 msgid "Each parameter has to be extracted explicitly from the table" msgstr "Cada parámetro debe extraerse explícitamente de la tabla" -#: ../../build/doc/pgr_trsp.rst:483 +#: ../../build/doc/pgr_trsp.rst:484 msgid "Regardles of the point pid original value" msgstr "Independientemente del punto pid valor original" -#: ../../build/doc/pgr_trsp.rst:485 +#: ../../build/doc/pgr_trsp.rst:486 msgid "will always be -1 for the first point" msgstr "siempre será -1 para el primer punto" -#: ../../build/doc/pgr_trsp.rst:486 +#: ../../build/doc/pgr_trsp.rst:487 msgid "will always be -2 for the second point" msgstr "siempre será -2 para el segundo punto" -#: ../../build/doc/pgr_trsp.rst:488 +#: ../../build/doc/pgr_trsp.rst:489 msgid "the row reaching point -2 will not be shown" msgstr "la fila que alcanza el punto -2 no se mostrará" -#: ../../build/doc/pgr_trsp.rst:491 ../../build/doc/pgr_trsp.rst:522 +#: ../../build/doc/pgr_trsp.rst:492 ../../build/doc/pgr_trsp.rst:523 msgid "Using :doc:`pgr_withPoints`" msgstr "Uso de :doc:`pgr_withPoints`" -#: ../../build/doc/pgr_trsp.rst:496 ../../build/doc/pgr_trsp.rst:527 +#: ../../build/doc/pgr_trsp.rst:497 ../../build/doc/pgr_trsp.rst:528 msgid "" "Suggestion: use :doc:`pgr_withPoints` when there are no turn restrictions:" msgstr "" "Sugerencia: use :doc:`pgr_withPoints` cuando no hay restricciones de giro:" -#: ../../build/doc/pgr_trsp.rst:498 ../../build/doc/pgr_trsp.rst:530 +#: ../../build/doc/pgr_trsp.rst:499 ../../build/doc/pgr_trsp.rst:531 msgid "Results are more complete" msgstr "Los resultados son más completos" -#: ../../build/doc/pgr_trsp.rst:499 ../../build/doc/pgr_trsp.rst:531 +#: ../../build/doc/pgr_trsp.rst:500 ../../build/doc/pgr_trsp.rst:532 msgid "Column names are meaningful" msgstr "Los nombres de columna son significativos" -#: ../../build/doc/pgr_trsp.rst:502 +#: ../../build/doc/pgr_trsp.rst:503 msgid "Routing from a vertex to a point" msgstr "Ruteo desde un vértice a un punto" -#: ../../build/doc/pgr_trsp.rst:504 +#: ../../build/doc/pgr_trsp.rst:505 msgid "" "Solving a shortest path from vertex :math:`6` to pid 1 using a points of " "interest table" @@ -892,23 +894,23 @@ msgstr "" "Resolver una ruta más corta desde el vértice :math:`6` a pid 1 usando una " "tabla de puntos de interés" -#: ../../build/doc/pgr_trsp.rst:512 +#: ../../build/doc/pgr_trsp.rst:513 msgid "Vertex 6 is on edge 8 at 1 fraction" msgstr "El vértice 6 está en el borde 8 en 1 fracción" -#: ../../build/doc/pgr_trsp.rst:519 +#: ../../build/doc/pgr_trsp.rst:520 msgid "Vertex 6 is also edge 11 at 0 fraction" msgstr "El vértice 6 es también borde 11 en 0 fracción" -#: ../../build/doc/pgr_trsp.rst:529 +#: ../../build/doc/pgr_trsp.rst:530 msgid "No need to choose where the vertex is located." msgstr "No es necesario elegir dónde se encuentra el vértice." -#: ../../build/doc/pgr_trsp.rst:535 +#: ../../build/doc/pgr_trsp.rst:536 msgid "prototypes" msgstr "Prototipos" -#: ../../build/doc/pgr_trsp.rst:537 +#: ../../build/doc/pgr_trsp.rst:538 msgid "" "``pgr_trspViaVertices`` and ``pgr_trspViaEdges`` were added to pgRouting as " "prototypes" @@ -916,7 +918,7 @@ msgstr "" "``pgr_trspViaVertices`` y ``pgr_trspViaEdges`` fueron añadidas como " "prototipos" -#: ../../build/doc/pgr_trsp.rst:539 +#: ../../build/doc/pgr_trsp.rst:540 msgid "" "These functions use the pgr_trsp functions inheriting all the problems " "mentioned above. When there are no restrictions and have a routing \"via\" " @@ -926,29 +928,22 @@ msgstr "" "problemas mencionados anteriormente. Cuando no hay restricciones y tienen un" " problema de ruteo \"vía\" con vértices:" -#: ../../build/doc/pgr_trsp.rst:542 +#: ../../build/doc/pgr_trsp.rst:543 msgid ":doc:`pgr_dijkstraVia`" msgstr ":doc:`pgr_dijkstraVia`" -#: ../../build/doc/pgr_trsp.rst:547 +#: ../../build/doc/pgr_trsp.rst:548 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_trsp.rst:550 +#: ../../build/doc/pgr_trsp.rst:551 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_trsp.rst:551 +#: ../../build/doc/pgr_trsp.rst:552 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_trsp.rst:552 +#: ../../build/doc/pgr_trsp.rst:553 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po b/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po index 33b241c8747..750910a7ae3 100644 --- a/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po +++ b/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -119,41 +119,43 @@ msgstr "Soporte" #: ../../build/doc/pgr_turnRestrictedPath.rst:27 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_turnRestrictedPath.rst:32 +#: ../../build/doc/pgr_turnRestrictedPath.rst:33 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_turnRestrictedPath.rst:34 -#: ../../build/doc/pgr_turnRestrictedPath.rst:39 -#: ../../build/doc/pgr_turnRestrictedPath.rst:44 -#: ../../build/doc/pgr_turnRestrictedPath.rst:49 -#: ../../build/doc/pgr_turnRestrictedPath.rst:54 +#: ../../build/doc/pgr_turnRestrictedPath.rst:35 +#: ../../build/doc/pgr_turnRestrictedPath.rst:40 +#: ../../build/doc/pgr_turnRestrictedPath.rst:45 +#: ../../build/doc/pgr_turnRestrictedPath.rst:50 +#: ../../build/doc/pgr_turnRestrictedPath.rst:55 msgid "TBD" msgstr "Por Definirse" -#: ../../build/doc/pgr_turnRestrictedPath.rst:37 +#: ../../build/doc/pgr_turnRestrictedPath.rst:38 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_turnRestrictedPath.rst:42 +#: ../../build/doc/pgr_turnRestrictedPath.rst:43 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_turnRestrictedPath.rst:47 +#: ../../build/doc/pgr_turnRestrictedPath.rst:48 msgid "Inner query" msgstr "Consulta interna" -#: ../../build/doc/pgr_turnRestrictedPath.rst:52 +#: ../../build/doc/pgr_turnRestrictedPath.rst:53 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_turnRestrictedPath.rst:57 +#: ../../build/doc/pgr_turnRestrictedPath.rst:58 msgid "Additional Examples" msgstr "Ejemplos Adicionales" @@ -161,25 +163,18 @@ msgstr "Ejemplos Adicionales" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_turnRestrictedPath.rst:62 +#: ../../build/doc/pgr_turnRestrictedPath.rst:63 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_turnRestrictedPath.rst:65 +#: ../../build/doc/pgr_turnRestrictedPath.rst:66 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_turnRestrictedPath.rst:66 +#: ../../build/doc/pgr_turnRestrictedPath.rst:67 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_turnRestrictedPath.rst:67 +#: ../../build/doc/pgr_turnRestrictedPath.rst:68 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_version.po b/locale/es/LC_MESSAGES/pgr_version.po index 27658d1b668..b098ede5e82 100644 --- a/locale/es/LC_MESSAGES/pgr_version.po +++ b/locale/es/LC_MESSAGES/pgr_version.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -10,9 +10,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -62,13 +62,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_version.rst:28 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_version.rst:31 +#: ../../build/doc/pgr_version.rst:32 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -90,15 +92,15 @@ msgstr "" " `2.0 " "`__" -#: ../../build/doc/pgr_version.rst:41 ../../build/doc/pgr_version.rst:65 +#: ../../build/doc/pgr_version.rst:42 ../../build/doc/pgr_version.rst:66 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_version.rst:43 +#: ../../build/doc/pgr_version.rst:44 msgid "Returns pgRouting version information." msgstr "Devuelve la información de la versión de pgRouting." -#: ../../build/doc/pgr_version.rst:49 +#: ../../build/doc/pgr_version.rst:50 msgid "Signature" msgstr "Firma" @@ -106,49 +108,42 @@ msgstr "Firma" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_version.rst:55 +#: ../../build/doc/pgr_version.rst:56 msgid "pgRouting Version for this documentatoin" msgstr "pgRouting Versión para esta documentación" -#: ../../build/doc/pgr_version.rst:62 +#: ../../build/doc/pgr_version.rst:63 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_version.rst:65 +#: ../../build/doc/pgr_version.rst:66 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_version.rst:67 +#: ../../build/doc/pgr_version.rst:68 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_version.rst:67 +#: ../../build/doc/pgr_version.rst:68 msgid "pgRouting version" msgstr "Versión de pgRouting" -#: ../../build/doc/pgr_version.rst:71 +#: ../../build/doc/pgr_version.rst:72 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_version.rst:73 +#: ../../build/doc/pgr_version.rst:74 msgid ":doc:`pgr_full_version`" msgstr ":doc:`pgr_full_version`" -#: ../../build/doc/pgr_version.rst:76 +#: ../../build/doc/pgr_version.rst:77 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_version.rst:77 +#: ../../build/doc/pgr_version.rst:78 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_version.rst:78 +#: ../../build/doc/pgr_version.rst:79 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po b/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po index e01a11b0b48..cea89ddbe53 100644 --- a/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po +++ b/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2019 # Vicky Vergara , 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -119,13 +119,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_vrpOneDepot.rst:27 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_vrpOneDepot.rst:30 +#: ../../build/doc/pgr_vrpOneDepot.rst:31 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -145,86 +147,62 @@ msgstr "" "`__" " `2.1 `__" -#: ../../build/doc/pgr_vrpOneDepot.rst:40 +#: ../../build/doc/pgr_vrpOneDepot.rst:41 msgid "**TBD**" msgstr "**TBD**" -#: ../../build/doc/pgr_vrpOneDepot.rst:43 +#: ../../build/doc/pgr_vrpOneDepot.rst:44 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_vrpOneDepot.rst:45 -#: ../../build/doc/pgr_vrpOneDepot.rst:50 -#: ../../build/doc/pgr_vrpOneDepot.rst:55 -#: ../../build/doc/pgr_vrpOneDepot.rst:60 -#: ../../build/doc/pgr_vrpOneDepot.rst:65 +#: ../../build/doc/pgr_vrpOneDepot.rst:46 +#: ../../build/doc/pgr_vrpOneDepot.rst:51 +#: ../../build/doc/pgr_vrpOneDepot.rst:56 +#: ../../build/doc/pgr_vrpOneDepot.rst:61 +#: ../../build/doc/pgr_vrpOneDepot.rst:66 msgid "TBD" msgstr "Por Definirse" -#: ../../build/doc/pgr_vrpOneDepot.rst:48 +#: ../../build/doc/pgr_vrpOneDepot.rst:49 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_vrpOneDepot.rst:53 +#: ../../build/doc/pgr_vrpOneDepot.rst:54 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_vrpOneDepot.rst:58 +#: ../../build/doc/pgr_vrpOneDepot.rst:59 msgid "Inner query" msgstr "Consulta interna" -#: ../../build/doc/pgr_vrpOneDepot.rst:63 +#: ../../build/doc/pgr_vrpOneDepot.rst:64 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_vrpOneDepot.rst:68 +#: ../../build/doc/pgr_vrpOneDepot.rst:69 msgid "Additional Example:" msgstr "Ejemplo Adicional:" -#: ../../build/doc/pgr_vrpOneDepot.rst:72 +#: ../../build/doc/pgr_vrpOneDepot.rst:73 msgid "Data" msgstr "Datos" -#: ../../build/doc/pgr_vrpOneDepot.rst:76 +#: ../../build/doc/pgr_vrpOneDepot.rst:77 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_vrpOneDepot.rst:78 +#: ../../build/doc/pgr_vrpOneDepot.rst:79 msgid "https://en.wikipedia.org/wiki/Vehicle_routing_problem" msgstr "https://en.wikipedia.org/wiki/Vehicle_routing_problem" -#: ../../build/doc/pgr_vrpOneDepot.rst:81 +#: ../../build/doc/pgr_vrpOneDepot.rst:82 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_vrpOneDepot.rst:82 +#: ../../build/doc/pgr_vrpOneDepot.rst:83 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_vrpOneDepot.rst:83 +#: ../../build/doc/pgr_vrpOneDepot.rst:84 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Unsupported versions:** `2.6 " -#~ "`__ `2.5 " -#~ "`__ `2.4 " -#~ "`__ `2.3 " -#~ "`__" -#~ " `2.2 `__ " -#~ "`2.1 `__" -#~ msgstr "" -#~ "**Versiones no soportadas:** `2.6 " -#~ "`__ `2.5 " -#~ "`__ `2.4 " -#~ "`__ `2.3 " -#~ "`__" -#~ " `2.2 `__ " -#~ "`2.1 `__" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_withPoints.po b/locale/es/LC_MESSAGES/pgr_withPoints.po index ad2d05470fe..9d29fbb948d 100644 --- a/locale/es/LC_MESSAGES/pgr_withPoints.po +++ b/locale/es/LC_MESSAGES/pgr_withPoints.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -94,13 +94,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_withPoints.rst:32 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_withPoints.rst:35 +#: ../../build/doc/pgr_withPoints.rst:36 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -120,13 +122,13 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:43 -#: ../../build/doc/pgr_withPoints.rst:173 -#: ../../build/doc/pgr_withPoints.rst:209 +#: ../../build/doc/pgr_withPoints.rst:44 +#: ../../build/doc/pgr_withPoints.rst:174 +#: ../../build/doc/pgr_withPoints.rst:210 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_withPoints.rst:45 +#: ../../build/doc/pgr_withPoints.rst:46 msgid "" "Modify the graph to include points defined by points_sql. Using Dijkstra " "algorithm, find the shortest path(s)" @@ -134,31 +136,31 @@ msgstr "" "Modifique el grafo para incluir puntos definidos por points_sql. Usando el " "algoritmo Dijkstra, busque la o las rutas más cortas" -#: ../../build/doc/pgr_withPoints.rst:48 +#: ../../build/doc/pgr_withPoints.rst:49 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_withPoints.rst:50 +#: ../../build/doc/pgr_withPoints.rst:51 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/pgr_withPoints.rst:51 +#: ../../build/doc/pgr_withPoints.rst:52 msgid "Vertices of the graph are:" msgstr "Los vértices del grafo son:" -#: ../../build/doc/pgr_withPoints.rst:53 +#: ../../build/doc/pgr_withPoints.rst:54 msgid "**positive** when it belongs to the edges_sql" msgstr "**positivo** cuando pertenece a edges_sql" -#: ../../build/doc/pgr_withPoints.rst:54 +#: ../../build/doc/pgr_withPoints.rst:55 msgid "**negative** when it belongs to the points_sql" msgstr "**negativo** cuando pertenece a points_sql" -#: ../../build/doc/pgr_withPoints.rst:56 +#: ../../build/doc/pgr_withPoints.rst:57 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/pgr_withPoints.rst:58 +#: ../../build/doc/pgr_withPoints.rst:59 msgid "" "When the starting vertex and ending vertex are the same, there is no path. -" " The agg_cost the non included values (v, v) is 0" @@ -166,7 +168,7 @@ msgstr "" "Cuando el vértice inicial y el vértice final son los mismos, no hay ninguna " "ruta. - El agg_cost los valores no incluidos (v, v) es 0" -#: ../../build/doc/pgr_withPoints.rst:61 +#: ../../build/doc/pgr_withPoints.rst:62 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path: - The agg_cost the non included values (u, v) is ∞" @@ -174,7 +176,7 @@ msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay ninguna" " ruta: - En ell agg_cost los valores no incluidos (u, v) es ∞" -#: ../../build/doc/pgr_withPoints.rst:64 +#: ../../build/doc/pgr_withPoints.rst:65 msgid "" "For optimization purposes, any duplicated value in the start_vids or " "end_vids are ignored." @@ -182,26 +184,26 @@ msgstr "" "Para fines de optimización, se omite cualquier valor duplicado en start_vids" " o end_vids." -#: ../../build/doc/pgr_withPoints.rst:65 +#: ../../build/doc/pgr_withPoints.rst:66 msgid "" "The returned values are ordered: - start_vid ascending - end_vid ascending" msgstr "" "Los valores devueltos se ordenan: - start_vid ascendente - end_vid " "ascendente" -#: ../../build/doc/pgr_withPoints.rst:69 +#: ../../build/doc/pgr_withPoints.rst:70 msgid "Running time: :math:`O(|start\\_vids|\\times(V \\log V + E))`" msgstr "Tiempo de ejecución: :math:`O(|start\\_vids|\\times(V \\log V + E))`" -#: ../../build/doc/pgr_withPoints.rst:72 +#: ../../build/doc/pgr_withPoints.rst:73 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_withPoints.rst:75 +#: ../../build/doc/pgr_withPoints.rst:76 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_withPoints.rst:85 +#: ../../build/doc/pgr_withPoints.rst:86 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -209,15 +211,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_withPoints.rst:91 +#: ../../build/doc/pgr_withPoints.rst:92 msgid "From point :math:`1` to point :math:`3`" msgstr "Del punto :math:`1` al punto :math:`3`" -#: ../../build/doc/pgr_withPoints.rst:93 +#: ../../build/doc/pgr_withPoints.rst:94 msgid "For a **directed** graph." msgstr "Para un grafo **dirigido**." -#: ../../build/doc/pgr_withPoints.rst:94 +#: ../../build/doc/pgr_withPoints.rst:95 msgid "" "The driving side is set as **b** both. So arriving/departing to/from the " "point(s) can be in any direction." @@ -225,44 +227,44 @@ msgstr "" "Ambos lados de conducción se establecen como **b**. Así que llegar/partir " "hacia/desde el o los puntos, puede ser en cualquier dirección." -#: ../../build/doc/pgr_withPoints.rst:95 +#: ../../build/doc/pgr_withPoints.rst:96 msgid "" "No **details** are given about distance of other points of points_sql query." msgstr "" "No se proporcionan **detalles** sobre la distancia de otros puntos de la " "consulta points_sql." -#: ../../build/doc/pgr_withPoints.rst:105 +#: ../../build/doc/pgr_withPoints.rst:106 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_withPoints.rst:112 +#: ../../build/doc/pgr_withPoints.rst:113 msgid "" "From point :math:`1` to vertex :math:`3` with details of passing points" msgstr "" "Del punto :math:`1` al vértice :math:`3` con detalles de puntos de paso" -#: ../../build/doc/pgr_withPoints.rst:122 +#: ../../build/doc/pgr_withPoints.rst:123 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_withPoints.rst:129 +#: ../../build/doc/pgr_withPoints.rst:130 msgid "From point :math:`1` to point :math:`3` and vertex :math:`5`" msgstr "Del punto :math:`1` al punto :math:`3` y al vértice :math:`5`" -#: ../../build/doc/pgr_withPoints.rst:139 +#: ../../build/doc/pgr_withPoints.rst:140 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_withPoints.rst:146 +#: ../../build/doc/pgr_withPoints.rst:147 msgid "From point :math:`1` and vertex :math:`2` to point :math:`3`" msgstr "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3`" -#: ../../build/doc/pgr_withPoints.rst:156 +#: ../../build/doc/pgr_withPoints.rst:157 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_withPoints.rst:163 +#: ../../build/doc/pgr_withPoints.rst:164 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`" @@ -270,44 +272,44 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` y al " "vértice :math:`7`" -#: ../../build/doc/pgr_withPoints.rst:170 +#: ../../build/doc/pgr_withPoints.rst:171 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_withPoints.rst:173 +#: ../../build/doc/pgr_withPoints.rst:174 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:173 -#: ../../build/doc/pgr_withPoints.rst:209 +#: ../../build/doc/pgr_withPoints.rst:174 +#: ../../build/doc/pgr_withPoints.rst:210 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_withPoints.rst:175 +#: ../../build/doc/pgr_withPoints.rst:176 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_withPoints.rst:175 #: ../../build/doc/pgr_withPoints.rst:176 +#: ../../build/doc/pgr_withPoints.rst:177 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_withPoints.rst:175 +#: ../../build/doc/pgr_withPoints.rst:176 msgid "Edges SQL query as described above." msgstr "Consulta de aristas SQL como se describió anteriormente." -#: ../../build/doc/pgr_withPoints.rst:176 +#: ../../build/doc/pgr_withPoints.rst:177 msgid "**points_sql**" msgstr "**points_sql**" -#: ../../build/doc/pgr_withPoints.rst:176 +#: ../../build/doc/pgr_withPoints.rst:177 msgid "Points SQL query as described above." msgstr "Consulta SQL de puntos como se describe arriba." -#: ../../build/doc/pgr_withPoints.rst:177 -#: ../../build/doc/pgr_withPoints.rst:213 +#: ../../build/doc/pgr_withPoints.rst:178 +#: ../../build/doc/pgr_withPoints.rst:214 msgid "**start_vid**" msgstr "**start_vid**" @@ -316,63 +318,63 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:15 -#: ../../build/doc/pgr_withPoints.rst:177 #: ../../build/doc/pgr_withPoints.rst:178 +#: ../../build/doc/pgr_withPoints.rst:179 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_withPoints.rst:177 +#: ../../build/doc/pgr_withPoints.rst:178 msgid "Starting vertex identifier. When negative: is a point's pid." msgstr "" "Identificador de vértice inicial. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPoints.rst:178 -#: ../../build/doc/pgr_withPoints.rst:214 +#: ../../build/doc/pgr_withPoints.rst:179 +#: ../../build/doc/pgr_withPoints.rst:215 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_withPoints.rst:178 +#: ../../build/doc/pgr_withPoints.rst:179 msgid "Ending vertex identifier. When negative: is a point's pid." msgstr "" "Identificador de vértice final. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPoints.rst:179 +#: ../../build/doc/pgr_withPoints.rst:180 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_withPoints.rst:179 #: ../../build/doc/pgr_withPoints.rst:180 +#: ../../build/doc/pgr_withPoints.rst:181 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_withPoints.rst:179 +#: ../../build/doc/pgr_withPoints.rst:180 msgid "" "Array of identifiers of starting vertices. When negative: is a point's pid." msgstr "" "Arreglo de identificadores de vértices iniciales. Cuando es negativo: es el " "pid de un punto." -#: ../../build/doc/pgr_withPoints.rst:180 +#: ../../build/doc/pgr_withPoints.rst:181 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_withPoints.rst:180 +#: ../../build/doc/pgr_withPoints.rst:181 msgid "" "Array of identifiers of ending vertices. When negative: is a point's pid." msgstr "" "Arreglo de identificadores de vértices finales. Cuando es negativo: es el " "pid de un punto." -#: ../../build/doc/pgr_withPoints.rst:181 +#: ../../build/doc/pgr_withPoints.rst:182 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_withPoints.rst:181 -#: ../../build/doc/pgr_withPoints.rst:187 +#: ../../build/doc/pgr_withPoints.rst:182 +#: ../../build/doc/pgr_withPoints.rst:188 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_withPoints.rst:181 +#: ../../build/doc/pgr_withPoints.rst:182 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default is" " ``true`` which considers the graph as Directed." @@ -380,41 +382,41 @@ msgstr "" "(opcional). En caso de ``false`` el grafo se considera como No Dirigido. El " "valor predeterminado es ``true`` que considera el grafo como Dirigido." -#: ../../build/doc/pgr_withPoints.rst:182 +#: ../../build/doc/pgr_withPoints.rst:183 msgid "**driving_side**" msgstr "**driving_side**" #: ../../build/doc/pgRouting-concepts.rst:17 -#: ../../build/doc/pgr_withPoints.rst:182 +#: ../../build/doc/pgr_withPoints.rst:183 msgid "``CHAR``" msgstr "``CHAR``" -#: ../../build/doc/pgr_withPoints.rst:185 +#: ../../build/doc/pgr_withPoints.rst:186 msgid "" "(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" msgstr "" "(opcional) Valor en ['b', 'r', 'l', NULL] que indica si el lado de " "conducción es:" -#: ../../build/doc/pgr_withPoints.rst:183 +#: ../../build/doc/pgr_withPoints.rst:184 msgid "In the right or left or" msgstr "A la derecha o a la izquierda o" #: ../../build/doc/pgRouting-concepts.rst:20 -#: ../../build/doc/pgr_withPoints.rst:184 +#: ../../build/doc/pgr_withPoints.rst:185 msgid "If it doesn't matter with 'b' or NULL." msgstr "Si no importa con 'b' o NULL." #: ../../build/doc/pgRouting-concepts.rst:21 -#: ../../build/doc/pgr_withPoints.rst:185 +#: ../../build/doc/pgr_withPoints.rst:186 msgid "If column not present 'b' is considered." msgstr "Si la columna no presente 'b' es considerada" -#: ../../build/doc/pgr_withPoints.rst:187 +#: ../../build/doc/pgr_withPoints.rst:188 msgid "**details**" msgstr "**detalles**" -#: ../../build/doc/pgr_withPoints.rst:187 +#: ../../build/doc/pgr_withPoints.rst:188 msgid "" "(optional). When ``true`` the results will include the points in points_sql " "that are in the path. Default is ``false`` which ignores other points of the" @@ -424,13 +426,13 @@ msgstr "" "points_sql que están en la ruta de acceso. El valor predeterminado " "es``false`` que omite otros puntos de points_sql." -#: ../../build/doc/pgr_withPoints.rst:192 +#: ../../build/doc/pgr_withPoints.rst:193 msgid "Inner query" msgstr "Consulta interna" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:209 +#: ../../build/doc/pgr_withPoints.rst:210 msgid "Column" msgstr "Columna" @@ -463,7 +465,7 @@ msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_withPoints.rst:222 +#: ../../build/doc/pgr_withPoints.rst:223 msgid "**cost**" msgstr "**cost**" @@ -600,72 +602,72 @@ msgstr "smallint, int, bigint" msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgr_withPoints.rst:206 +#: ../../build/doc/pgr_withPoints.rst:207 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_withPoints.rst:211 +#: ../../build/doc/pgr_withPoints.rst:212 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_withPoints.rst:211 #: ../../build/doc/pgr_withPoints.rst:212 +#: ../../build/doc/pgr_withPoints.rst:213 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/pgr_withPoints.rst:211 +#: ../../build/doc/pgr_withPoints.rst:212 msgid "Row sequence." msgstr "Secuencia de filas." -#: ../../build/doc/pgr_withPoints.rst:212 +#: ../../build/doc/pgr_withPoints.rst:213 msgid "**path_seq**" msgstr "**path_seq**" -#: ../../build/doc/pgr_withPoints.rst:212 +#: ../../build/doc/pgr_withPoints.rst:213 msgid "Path sequence that indicates the relative position on the path." msgstr "" "Secuencia de ruta de acceso que indica la posición relativa en la ruta de " "acceso." -#: ../../build/doc/pgr_withPoints.rst:213 #: ../../build/doc/pgr_withPoints.rst:214 #: ../../build/doc/pgr_withPoints.rst:215 -#: ../../build/doc/pgr_withPoints.rst:219 +#: ../../build/doc/pgr_withPoints.rst:216 +#: ../../build/doc/pgr_withPoints.rst:220 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_withPoints.rst:213 +#: ../../build/doc/pgr_withPoints.rst:214 msgid "Identifier of the starting vertex. When negative: is a point's pid." msgstr "" "Identificador del vértice inicial. Cuando es negativo: es el pid de un " "punto." -#: ../../build/doc/pgr_withPoints.rst:214 +#: ../../build/doc/pgr_withPoints.rst:215 msgid "Identifier of the ending vertex. When negative: is a point's pid." msgstr "" "Identificador del vértice final. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPoints.rst:215 +#: ../../build/doc/pgr_withPoints.rst:216 msgid "**node**" msgstr "**node**" -#: ../../build/doc/pgr_withPoints.rst:217 +#: ../../build/doc/pgr_withPoints.rst:218 msgid "Identifier of the node:" msgstr "Identificador del nodo:" -#: ../../build/doc/pgr_withPoints.rst:216 +#: ../../build/doc/pgr_withPoints.rst:217 msgid "A positive value indicates the node is a vertex of edges_sql." msgstr "Un valor positivo indica que el nodo es un vértice de edges_sql." -#: ../../build/doc/pgr_withPoints.rst:217 +#: ../../build/doc/pgr_withPoints.rst:218 msgid "A negative value indicates the node is a point of points_sql." msgstr "Un valor negativo indica que el nodo es un punto de points_sql." -#: ../../build/doc/pgr_withPoints.rst:219 +#: ../../build/doc/pgr_withPoints.rst:220 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/pgr_withPoints.rst:220 +#: ../../build/doc/pgr_withPoints.rst:221 msgid "" "Identifier of the edge used to go from ``node`` to the next node in the path" " sequence." @@ -673,16 +675,16 @@ msgstr "" "Identificador del borde utilizado para ir de ``node`` al siguiente nodo de " "la secuencia de ruta." -#: ../../build/doc/pgr_withPoints.rst:220 +#: ../../build/doc/pgr_withPoints.rst:221 msgid "``-1`` for the last row in the path sequence." msgstr "``-1`` para la última fila de la secuencia de ruta." -#: ../../build/doc/pgr_withPoints.rst:222 -#: ../../build/doc/pgr_withPoints.rst:225 +#: ../../build/doc/pgr_withPoints.rst:223 +#: ../../build/doc/pgr_withPoints.rst:226 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_withPoints.rst:223 +#: ../../build/doc/pgr_withPoints.rst:224 msgid "" "Cost to traverse from ``node`` using ``edge`` to the next ``node`` in the " "path sequence." @@ -690,27 +692,27 @@ msgstr "" "Coste para atravesar desde ``node`` usando ``edge`` para el siguiente " "``node`` en la secuncia de ruta." -#: ../../build/doc/pgr_withPoints.rst:223 +#: ../../build/doc/pgr_withPoints.rst:224 msgid "``0`` for the last row in the path sequence." msgstr "``0`` para la última fila de la secuencia de ruta." -#: ../../build/doc/pgr_withPoints.rst:225 +#: ../../build/doc/pgr_withPoints.rst:226 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_withPoints.rst:226 +#: ../../build/doc/pgr_withPoints.rst:227 msgid "Aggregate cost from ``start_pid`` to ``node``." msgstr "Coste agregado de ``start_pid`` a ``node``." -#: ../../build/doc/pgr_withPoints.rst:226 +#: ../../build/doc/pgr_withPoints.rst:227 msgid "``0`` for the first row in the path sequence." msgstr "``0`` para la primera fila de la secuencia de ruta." -#: ../../build/doc/pgr_withPoints.rst:231 +#: ../../build/doc/pgr_withPoints.rst:232 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_withPoints.rst:233 +#: ../../build/doc/pgr_withPoints.rst:234 msgid "" "Which path (if any) passes in front of point :math:`6` or vertex :math:`6` " "with **right** side driving topology." @@ -718,7 +720,7 @@ msgstr "" "Qué ruta (si existe) pasa delante del punto :math:`6` o vértice :math:`6` " "con la topología de conducción lateral **derecha**." -#: ../../build/doc/pgr_withPoints.rst:239 +#: ../../build/doc/pgr_withPoints.rst:240 msgid "" "Which path (if any) passes in front of point :math:`6` or vertex :math:`6` " "with **left** side driving topology." @@ -726,7 +728,7 @@ msgstr "" "Qué ruta (si existe) pasa delante del punto :math:`6` o vértice :math:`6` " "con la topología de conducción lateral **izquierda**." -#: ../../build/doc/pgr_withPoints.rst:245 +#: ../../build/doc/pgr_withPoints.rst:246 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` to vertex " ":math:`7` on an **undirected** graph, with details." @@ -734,33 +736,26 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` al " "vértice :math:`7` en un grafo **no dirigido** con detalles." -#: ../../build/doc/pgr_withPoints.rst:251 +#: ../../build/doc/pgr_withPoints.rst:252 msgid "The queries use the :doc:`sampledata` network" msgstr "Las consultas usan la red :doc:`sampledata`" -#: ../../build/doc/pgr_withPoints.rst:254 +#: ../../build/doc/pgr_withPoints.rst:255 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_withPoints.rst:256 +#: ../../build/doc/pgr_withPoints.rst:257 msgid ":doc:`withPoints-family`" msgstr ":doc:`withPoints-family`" -#: ../../build/doc/pgr_withPoints.rst:259 +#: ../../build/doc/pgr_withPoints.rst:260 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_withPoints.rst:260 +#: ../../build/doc/pgr_withPoints.rst:261 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_withPoints.rst:261 +#: ../../build/doc/pgr_withPoints.rst:262 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_withPointsCost.po b/locale/es/LC_MESSAGES/pgr_withPointsCost.po index 7fff3107129..4d6eca5954c 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsCost.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsCost.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -96,13 +96,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_withPointsCost.rst:32 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_withPointsCost.rst:35 +#: ../../build/doc/pgr_withPointsCost.rst:36 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -122,13 +124,13 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:43 -#: ../../build/doc/pgr_withPointsCost.rst:192 -#: ../../build/doc/pgr_withPointsCost.rst:225 +#: ../../build/doc/pgr_withPointsCost.rst:44 +#: ../../build/doc/pgr_withPointsCost.rst:193 +#: ../../build/doc/pgr_withPointsCost.rst:226 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_withPointsCost.rst:45 +#: ../../build/doc/pgr_withPointsCost.rst:46 msgid "" "Modify the graph to include points defined by points_sql. Using Dijkstra " "algorithm, return only the aggregate cost of the shortest path(s) found." @@ -137,15 +139,15 @@ msgstr "" "algoritmo Dijkstra, devuelva solo el costo agregado de la(s) rutas más " "cortas encontradas." -#: ../../build/doc/pgr_withPointsCost.rst:83 +#: ../../build/doc/pgr_withPointsCost.rst:84 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_withPointsCost.rst:49 +#: ../../build/doc/pgr_withPointsCost.rst:50 msgid "It does not return a path." msgstr "No devuelve una ruta." -#: ../../build/doc/pgr_withPointsCost.rst:50 +#: ../../build/doc/pgr_withPointsCost.rst:51 msgid "" "Returns the sum of the costs of the shortest path for pair combination of " "vertices in the modified graph." @@ -153,27 +155,27 @@ msgstr "" "Devuelve la suma de los costes de la ruta más corta para la combinación de " "pares de vértices en el grafo modificado." -#: ../../build/doc/pgr_withPointsCost.rst:51 +#: ../../build/doc/pgr_withPointsCost.rst:52 msgid "Vertices of the graph are:" msgstr "Los vértices del grafo son:" -#: ../../build/doc/pgr_withPointsCost.rst:53 +#: ../../build/doc/pgr_withPointsCost.rst:54 msgid "**positive** when it belongs to the edges_sql" msgstr "**positivo** cuando pertenece a edges_sql" -#: ../../build/doc/pgr_withPointsCost.rst:54 +#: ../../build/doc/pgr_withPointsCost.rst:55 msgid "**negative** when it belongs to the points_sql" msgstr "**negativo** cuando pertenece a points_sql" -#: ../../build/doc/pgr_withPointsCost.rst:56 +#: ../../build/doc/pgr_withPointsCost.rst:57 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/pgr_withPointsCost.rst:57 +#: ../../build/doc/pgr_withPointsCost.rst:58 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/pgr_withPointsCost.rst:59 +#: ../../build/doc/pgr_withPointsCost.rst:60 msgid "" "The returned values are in the form of a set of `(start_vid, end_vid, " "agg_cost)`." @@ -181,17 +183,17 @@ msgstr "" "Los valores devueltos tienen la forma de un conjunto de `(start_vid, " "end_vid, agg_cost)`." -#: ../../build/doc/pgr_withPointsCost.rst:61 +#: ../../build/doc/pgr_withPointsCost.rst:62 msgid "" "When the starting vertex and ending vertex are the same, there is no path." msgstr "" "Cuando el vértice inicial y el vértice final son iguales, no hay camino." -#: ../../build/doc/pgr_withPointsCost.rst:63 +#: ../../build/doc/pgr_withPointsCost.rst:64 msgid "The `agg_cost` in the non included values `(v, v)` is `0`" msgstr "El `agg_cost` en los valores no incluidos `(v, v)` es `0`" -#: ../../build/doc/pgr_withPointsCost.rst:65 +#: ../../build/doc/pgr_withPointsCost.rst:66 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path." @@ -199,11 +201,11 @@ msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay ninguna" " ruta." -#: ../../build/doc/pgr_withPointsCost.rst:67 +#: ../../build/doc/pgr_withPointsCost.rst:68 msgid "The `agg_cost` in the non included values `(u, v)` is :math:`\\infty`" msgstr "El `agg_cost` en los valores no incluidos `(u, v)` es :math:`\\infty`" -#: ../../build/doc/pgr_withPointsCost.rst:69 +#: ../../build/doc/pgr_withPointsCost.rst:70 msgid "" "If the values returned are stored in a table, the unique index would be the " "pair: `(start_vid, end_vid)`." @@ -211,15 +213,15 @@ msgstr "" "Si los valores devueltos se almacenan en una tabla, el índice único sería el" " par: `(start_vid, end_vid)`." -#: ../../build/doc/pgr_withPointsCost.rst:72 +#: ../../build/doc/pgr_withPointsCost.rst:73 msgid "For **undirected** graphs, the results are **symmetric**." msgstr "Para los grafos **no dirigidos**, los resultados son **simétricos**." -#: ../../build/doc/pgr_withPointsCost.rst:74 +#: ../../build/doc/pgr_withPointsCost.rst:75 msgid "The `agg_cost` of `(u, v)` is the same as for `(v, u)`." msgstr "El `agg_cost` de `(u, v)` es el mismo que para `(v, u)`." -#: ../../build/doc/pgr_withPointsCost.rst:76 +#: ../../build/doc/pgr_withPointsCost.rst:77 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` is ignored." @@ -227,31 +229,31 @@ msgstr "" "Para fines de optimización, se omite cualquier valor duplicado en " "`start_vids` o `end_vids` ." -#: ../../build/doc/pgr_withPointsCost.rst:78 +#: ../../build/doc/pgr_withPointsCost.rst:79 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_withPointsCost.rst:80 +#: ../../build/doc/pgr_withPointsCost.rst:81 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/pgr_withPointsCost.rst:81 +#: ../../build/doc/pgr_withPointsCost.rst:82 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/pgr_withPointsCost.rst:83 +#: ../../build/doc/pgr_withPointsCost.rst:84 msgid "Running time: :math:`O(| start\\_vids | * (V \\log V + E))`" msgstr "Tiempo de ejecución: :math:`O(| start\\_vids | * (V \\log V + E))`" -#: ../../build/doc/pgr_withPointsCost.rst:86 +#: ../../build/doc/pgr_withPointsCost.rst:87 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_withPointsCost.rst:89 +#: ../../build/doc/pgr_withPointsCost.rst:90 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_withPointsCost.rst:98 +#: ../../build/doc/pgr_withPointsCost.rst:99 msgid "" "There is no **details** flag, unlike the other members of the withPoints " "family of functions." @@ -259,7 +261,7 @@ msgstr "" "No hay identificador de **details**, a diferencia de los otros miembros de " "la familia de funciones withPoints." -#: ../../build/doc/pgr_withPointsCost.rst:104 +#: ../../build/doc/pgr_withPointsCost.rst:105 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -267,15 +269,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_withPointsCost.rst:110 +#: ../../build/doc/pgr_withPointsCost.rst:111 msgid "From point :math:`1` to point :math:`3`" msgstr "Del punto :math:`1` al punto :math:`3`" -#: ../../build/doc/pgr_withPointsCost.rst:112 +#: ../../build/doc/pgr_withPointsCost.rst:113 msgid "For a **directed** graph." msgstr "Para un grafo **dirigido**." -#: ../../build/doc/pgr_withPointsCost.rst:113 +#: ../../build/doc/pgr_withPointsCost.rst:114 msgid "" "The driving side is set as **b** both. So arriving/departing to/from the " "point(s) can be in any direction." @@ -283,20 +285,20 @@ msgstr "" "Ambos lados de conducción se establecen como **b**. Así que llegar/partir " "hacia/desde el o los puntos, puede ser en cualquier dirección." -#: ../../build/doc/pgr_withPointsCost.rst:124 +#: ../../build/doc/pgr_withPointsCost.rst:125 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_withPointsCost.rst:131 +#: ../../build/doc/pgr_withPointsCost.rst:132 msgid "From point :math:`1` to vertex :math:`3` on an **undirected** graph." msgstr "" "Desde el punto :math:`1` al vértice :math:`3` en un grafo **no dirigido**." -#: ../../build/doc/pgr_withPointsCost.rst:141 +#: ../../build/doc/pgr_withPointsCost.rst:142 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_withPointsCost.rst:148 +#: ../../build/doc/pgr_withPointsCost.rst:149 msgid "" "From point :math:`1` to point :math:`3` and vertex :math:`5` on a " "**directed** graph." @@ -304,11 +306,11 @@ msgstr "" "Desde el punto :math:`1` al punto :math:`3` y al vértice :math:`5` en un " "grafo **dirigido**." -#: ../../build/doc/pgr_withPointsCost.rst:158 +#: ../../build/doc/pgr_withPointsCost.rst:159 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_withPointsCost.rst:165 +#: ../../build/doc/pgr_withPointsCost.rst:166 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` on a " "**directed** graph." @@ -316,11 +318,11 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` en un " "grafo **dirigido**." -#: ../../build/doc/pgr_withPointsCost.rst:175 +#: ../../build/doc/pgr_withPointsCost.rst:176 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_withPointsCost.rst:182 +#: ../../build/doc/pgr_withPointsCost.rst:183 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7` on a **directed** graph." @@ -328,44 +330,44 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` y al " "vértice :math:`7` en un grafo **dirigido**." -#: ../../build/doc/pgr_withPointsCost.rst:189 +#: ../../build/doc/pgr_withPointsCost.rst:190 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_withPointsCost.rst:192 +#: ../../build/doc/pgr_withPointsCost.rst:193 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:192 -#: ../../build/doc/pgr_withPointsCost.rst:225 +#: ../../build/doc/pgr_withPointsCost.rst:193 +#: ../../build/doc/pgr_withPointsCost.rst:226 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_withPointsCost.rst:194 +#: ../../build/doc/pgr_withPointsCost.rst:195 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_withPointsCost.rst:194 #: ../../build/doc/pgr_withPointsCost.rst:195 +#: ../../build/doc/pgr_withPointsCost.rst:196 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_withPointsCost.rst:194 +#: ../../build/doc/pgr_withPointsCost.rst:195 msgid "Edges SQL query as described above." msgstr "Consulta de aristas SQL como se describió anteriormente." -#: ../../build/doc/pgr_withPointsCost.rst:195 +#: ../../build/doc/pgr_withPointsCost.rst:196 msgid "**points_sql**" msgstr "**points_sql**" -#: ../../build/doc/pgr_withPointsCost.rst:195 +#: ../../build/doc/pgr_withPointsCost.rst:196 msgid "Points SQL query as described above." msgstr "Consulta SQL de puntos como se describe arriba." -#: ../../build/doc/pgr_withPointsCost.rst:196 -#: ../../build/doc/pgr_withPointsCost.rst:227 +#: ../../build/doc/pgr_withPointsCost.rst:197 +#: ../../build/doc/pgr_withPointsCost.rst:228 msgid "**start_vid**" msgstr "**start_vid**" @@ -374,62 +376,62 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:15 -#: ../../build/doc/pgr_withPointsCost.rst:196 #: ../../build/doc/pgr_withPointsCost.rst:197 +#: ../../build/doc/pgr_withPointsCost.rst:198 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_withPointsCost.rst:196 +#: ../../build/doc/pgr_withPointsCost.rst:197 msgid "Starting vertex identifier. When negative: is a point's pid." msgstr "" "Identificador de vértice inicial. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPointsCost.rst:197 -#: ../../build/doc/pgr_withPointsCost.rst:228 +#: ../../build/doc/pgr_withPointsCost.rst:198 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_withPointsCost.rst:197 +#: ../../build/doc/pgr_withPointsCost.rst:198 msgid "Ending vertex identifier. When negative: is a point's pid." msgstr "" "Identificador de vértice final. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPointsCost.rst:198 +#: ../../build/doc/pgr_withPointsCost.rst:199 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_withPointsCost.rst:198 #: ../../build/doc/pgr_withPointsCost.rst:199 +#: ../../build/doc/pgr_withPointsCost.rst:200 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_withPointsCost.rst:198 +#: ../../build/doc/pgr_withPointsCost.rst:199 msgid "" "Array of identifiers of starting vertices. When negative: is a point's pid." msgstr "" "Arreglo de identificadores de vértices iniciales. Cuando es negativo: es el " "pid de un punto." -#: ../../build/doc/pgr_withPointsCost.rst:199 +#: ../../build/doc/pgr_withPointsCost.rst:200 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_withPointsCost.rst:199 +#: ../../build/doc/pgr_withPointsCost.rst:200 msgid "" "Array of identifiers of ending vertices. When negative: is a point's pid." msgstr "" "Arreglo de identificadores de vértices finales. Cuando es negativo: es el " "pid de un punto." -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:201 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:201 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:201 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default is" " ``true`` which considers the graph as Directed." @@ -437,43 +439,43 @@ msgstr "" "(opcional). En caso de ``false`` el grafo se considera como No Dirigido. El " "valor predeterminado es ``true`` que considera el grafo como Dirigido." -#: ../../build/doc/pgr_withPointsCost.rst:201 +#: ../../build/doc/pgr_withPointsCost.rst:202 msgid "**driving_side**" msgstr "**driving_side**" #: ../../build/doc/pgRouting-concepts.rst:17 -#: ../../build/doc/pgr_withPointsCost.rst:201 +#: ../../build/doc/pgr_withPointsCost.rst:202 msgid "``CHAR``" msgstr "``CHAR``" -#: ../../build/doc/pgr_withPointsCost.rst:204 +#: ../../build/doc/pgr_withPointsCost.rst:205 msgid "" "(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" msgstr "" "(opcional) Valor en ['b', 'r', 'l', NULL] que indica si el lado de " "conducción es:" -#: ../../build/doc/pgr_withPointsCost.rst:202 +#: ../../build/doc/pgr_withPointsCost.rst:203 msgid "In the right or left or" msgstr "A la derecha o a la izquierda o" #: ../../build/doc/pgRouting-concepts.rst:20 -#: ../../build/doc/pgr_withPointsCost.rst:203 +#: ../../build/doc/pgr_withPointsCost.rst:204 msgid "If it doesn't matter with 'b' or NULL." msgstr "Si no importa con 'b' o NULL." #: ../../build/doc/pgRouting-concepts.rst:21 -#: ../../build/doc/pgr_withPointsCost.rst:204 +#: ../../build/doc/pgr_withPointsCost.rst:205 msgid "If column not present 'b' is considered." msgstr "Si la columna no presente 'b' es considerada" -#: ../../build/doc/pgr_withPointsCost.rst:209 +#: ../../build/doc/pgr_withPointsCost.rst:210 msgid "Inner query" msgstr "Consulta interna" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:225 +#: ../../build/doc/pgr_withPointsCost.rst:226 msgid "Column" msgstr "Columna" @@ -642,43 +644,43 @@ msgstr "smallint, int, bigint" msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgr_withPointsCost.rst:222 +#: ../../build/doc/pgr_withPointsCost.rst:223 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_withPointsCost.rst:227 #: ../../build/doc/pgr_withPointsCost.rst:228 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_withPointsCost.rst:227 +#: ../../build/doc/pgr_withPointsCost.rst:228 msgid "Identifier of the starting vertex. When negative: is a point's pid." msgstr "" "Identificador del vértice inicial. Cuando es negativo: es el pid de un " "punto." -#: ../../build/doc/pgr_withPointsCost.rst:228 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "Identifier of the ending point. When negative: is a point's pid." msgstr "" "Identificador del punto final. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:230 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:230 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:230 msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_withPointsCost.rst:233 +#: ../../build/doc/pgr_withPointsCost.rst:234 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_withPointsCost.rst:235 +#: ../../build/doc/pgr_withPointsCost.rst:236 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`, with **right** side driving topology" @@ -686,7 +688,7 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` y al " "vértice :math:`7`, con topología de conducción de lado **derecho**" -#: ../../build/doc/pgr_withPointsCost.rst:241 +#: ../../build/doc/pgr_withPointsCost.rst:242 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`, with **left** side driving topology" @@ -694,7 +696,7 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` y al " "vértice :math:`7`, con topología de conducción de lado **izquierdo**." -#: ../../build/doc/pgr_withPointsCost.rst:247 +#: ../../build/doc/pgr_withPointsCost.rst:248 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`, does not matter driving side." @@ -702,33 +704,26 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` y al " "vértice :math:`7`, sin importar el lado de conducción." -#: ../../build/doc/pgr_withPointsCost.rst:253 +#: ../../build/doc/pgr_withPointsCost.rst:254 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_withPointsCost.rst:256 +#: ../../build/doc/pgr_withPointsCost.rst:257 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_withPointsCost.rst:258 +#: ../../build/doc/pgr_withPointsCost.rst:259 msgid ":doc:`withPoints-family`" msgstr ":doc:`withPoints-family`" -#: ../../build/doc/pgr_withPointsCost.rst:261 +#: ../../build/doc/pgr_withPointsCost.rst:262 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_withPointsCost.rst:262 +#: ../../build/doc/pgr_withPointsCost.rst:263 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_withPointsCost.rst:263 +#: ../../build/doc/pgr_withPointsCost.rst:264 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po b/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po index 70906faf293..db84ee6fb6a 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -92,13 +92,15 @@ msgstr "Nueva función **propuesta**" #: ../../build/doc/pgr_withPointsCostMatrix.rst:31 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:34 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:35 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -115,24 +117,24 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCostMatrix.rst:41 -#: ../../build/doc/pgr_withPointsCostMatrix.rst:101 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:42 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:102 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:43 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:44 msgid "**TBD**" msgstr "**TBD**" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:46 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:47 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:49 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:50 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:55 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:56 msgid "" "There is no **details** flag, unlike the other members of the withPoints " "family of functions." @@ -140,19 +142,19 @@ msgstr "" "No hay identificador de **details**, a diferencia de los otros miembros de " "la familia de funciones withPoints." -#: ../../build/doc/pgr_withPointsCostMatrix.rst:58 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:59 msgid "Using default" msgstr "Uso de valores predeterminados" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:61 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:62 msgid "The minimal signature:" msgstr "La firma mínima:" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:60 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:61 msgid "Is for a **directed** graph." msgstr "Es para un grafo **dirigido**." -#: ../../build/doc/pgr_withPointsCostMatrix.rst:61 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:62 msgid "" "The driving side is set as **b** both. So arriving/departing to/from the " "point(s) can be in any direction." @@ -164,7 +166,7 @@ msgstr "" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:68 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:69 msgid "" "Cost matrix for points :math:`\\{1, 6\\}` and vertices :math:`\\{3, 6\\}` on" " a **directed** graph" @@ -172,11 +174,11 @@ msgstr "" "Matriz de costos para puntos :math:`\\{1, 6\\}` y vértices :math:`\\{3, " "6\\}` en un grafo **dirigido**" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:79 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:80 msgid "Complete Signature" msgstr "Firma completa" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:87 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:88 msgid "" "Cost matrix for points :math:`\\{1, 6\\}` and vertices :math:`\\{3, 6\\}` on" " an **undirected** graph" @@ -184,78 +186,78 @@ msgstr "" "Matriz de costos para puntos :math:`\\{1, 6\\}` y vértices :math:`\\{3, " "6\\}` en un grafo **no dirigido**" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:89 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:90 msgid "Returning a **symmetrical** cost matrix" msgstr "Devolver una matriz de costes **simétrica**" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:90 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:91 msgid "Using the default **side** value on the **points_sql** query" msgstr "Uso del valor predeterminado **side** en la consulta **points_sql**" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:91 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:92 msgid "Using the default **driving_side** value" msgstr "Usando el valor predeterminado **driving_side**" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:98 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:99 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:101 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:102 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCostMatrix.rst:101 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:102 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:103 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:104 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:103 #: ../../build/doc/pgr_withPointsCostMatrix.rst:104 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:105 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:103 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:104 msgid "Edges SQL query as described above." msgstr "Consulta de aristas SQL como se describió anteriormente." -#: ../../build/doc/pgr_withPointsCostMatrix.rst:104 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:105 msgid "**points_sql**" msgstr "**points_sql**" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:104 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:105 msgid "Points SQL query as described above." msgstr "Consulta SQL de puntos como se describe arriba." -#: ../../build/doc/pgr_withPointsCostMatrix.rst:105 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:106 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:105 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:106 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:105 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:106 msgid "" "Array of identifiers of starting vertices. When negative: is a point's pid." msgstr "" "Arreglo de identificadores de vértices iniciales. Cuando es negativo: es el " "pid de un punto." -#: ../../build/doc/pgr_withPointsCostMatrix.rst:106 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:107 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:106 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:107 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:106 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:107 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default is" " ``true`` which considers the graph as Directed." @@ -263,33 +265,33 @@ msgstr "" "(opcional). En caso de ``false`` el grafo se considera como No Dirigido. El " "valor predeterminado es ``true`` que considera el grafo como Dirigido." -#: ../../build/doc/pgr_withPointsCostMatrix.rst:107 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:108 msgid "**driving_side**" msgstr "**driving_side**" #: ../../build/doc/pgRouting-concepts.rst:17 -#: ../../build/doc/pgr_withPointsCostMatrix.rst:107 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:108 msgid "``CHAR``" msgstr "``CHAR``" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:110 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:111 msgid "" "(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" msgstr "" "(opcional) Valor en ['b', 'r', 'l', NULL] que indica si el lado de " "conducción es:" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:108 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:109 msgid "In the right or left or" msgstr "A la derecha o a la izquierda o" #: ../../build/doc/pgRouting-concepts.rst:20 -#: ../../build/doc/pgr_withPointsCostMatrix.rst:109 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:110 msgid "If it doesn't matter with 'b' or NULL." msgstr "Si no importa con 'b' o NULL." #: ../../build/doc/pgRouting-concepts.rst:21 -#: ../../build/doc/pgr_withPointsCostMatrix.rst:110 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:111 msgid "If column not present 'b' is considered." msgstr "Si la columna no presente 'b' es considerada" @@ -344,7 +346,7 @@ msgstr "``FLOAT``" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_withPointsCostMatrix.rst:119 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:120 msgid "Inner query" msgstr "Consulta interna" @@ -521,11 +523,11 @@ msgstr "smallint, int, bigint" msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:133 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:134 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:135 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:136 msgid "" ":doc:`pgr_TSP` using ``pgr_withPointsCostMatrix`` for points :math:`\\{1, " "6\\}` and vertices :math:`\\{3, 6\\}` on an **undirected** graph" @@ -533,41 +535,34 @@ msgstr "" ":doc:`pgr_TSP` usando ``pgr_withPointsCostMatrix`` para puntos :math:`\\{1, " "6\\}` y vértices :math:`\\{3, 6\\}` en un grafo **no dirigido**" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:142 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:143 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:144 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:145 msgid ":doc:`pgr_withPoints`" msgstr ":doc:`pgr_withPoints`" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:145 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:146 msgid ":doc:`costMatrix-category`" msgstr ":doc:`costMatrix-category`" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:146 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:147 msgid ":doc:`pgr_TSP`" msgstr ":doc:`pgr_TSP`" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:147 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:148 msgid "`sampledata` network." msgstr "Red de `sampledata`." -#: ../../build/doc/pgr_withPointsCostMatrix.rst:150 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:151 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:151 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:152 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_withPointsCostMatrix.rst:152 +#: ../../build/doc/pgr_withPointsCostMatrix.rst:153 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_withPointsDD.po b/locale/es/LC_MESSAGES/pgr_withPointsDD.po index 1aa45c568c4..dff59caac82 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsDD.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsDD.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:55+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -93,13 +93,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_withPointsDD.rst:32 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_withPointsDD.rst:35 +#: ../../build/doc/pgr_withPointsDD.rst:36 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -119,13 +121,13 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsDD.rst:43 -#: ../../build/doc/pgr_withPointsDD.rst:118 -#: ../../build/doc/pgr_withPointsDD.rst:153 +#: ../../build/doc/pgr_withPointsDD.rst:44 +#: ../../build/doc/pgr_withPointsDD.rst:119 +#: ../../build/doc/pgr_withPointsDD.rst:154 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_withPointsDD.rst:45 +#: ../../build/doc/pgr_withPointsDD.rst:46 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 " @@ -137,25 +139,25 @@ msgstr "" "valor de ``distance`` desde el punto inicial. Las aristas extraídas " "conformarán el árbol de expansión correspondiente." -#: ../../build/doc/pgr_withPointsDD.rst:51 +#: ../../build/doc/pgr_withPointsDD.rst:52 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_withPointsDD.rst:54 +#: ../../build/doc/pgr_withPointsDD.rst:55 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_withPointsDD.rst:61 +#: ../../build/doc/pgr_withPointsDD.rst:62 msgid "Using defaults" msgstr "Uso de valores predeterminados" -#: ../../build/doc/pgr_withPointsDD.rst:62 -#: ../../build/doc/pgr_withPointsDD.rst:73 +#: ../../build/doc/pgr_withPointsDD.rst:63 +#: ../../build/doc/pgr_withPointsDD.rst:74 msgid "For a **directed** graph." msgstr "Para un grafo **dirigido**." -#: ../../build/doc/pgr_withPointsDD.rst:63 -#: ../../build/doc/pgr_withPointsDD.rst:74 +#: ../../build/doc/pgr_withPointsDD.rst:64 +#: ../../build/doc/pgr_withPointsDD.rst:75 msgid "" "The driving side is set as **b** both. So arriving/departing to/from the " "point(s) can be in any direction." @@ -163,8 +165,8 @@ msgstr "" "Ambos lados de conducción se establecen como **b**. Así que llegar/partir " "hacia/desde el o los puntos, puede ser en cualquier dirección." -#: ../../build/doc/pgr_withPointsDD.rst:64 -#: ../../build/doc/pgr_withPointsDD.rst:75 +#: ../../build/doc/pgr_withPointsDD.rst:65 +#: ../../build/doc/pgr_withPointsDD.rst:76 msgid "No **details** are given about distance of other points of the query." msgstr "" "No se proporcionan **detalles** sobre la distancia de otros puntos de la " @@ -174,22 +176,22 @@ msgstr "" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_withPointsDD.rst:71 +#: ../../build/doc/pgr_withPointsDD.rst:72 msgid "From point :math:`1` with :math:`agg\\_cost <= 3.8`" msgstr "Desde el punto :math:`1` with :math:`agg\\_cost <= 3.8`" -#: ../../build/doc/pgr_withPointsDD.rst:86 +#: ../../build/doc/pgr_withPointsDD.rst:87 msgid "Single vertex" msgstr "Un solo vértice" -#: ../../build/doc/pgr_withPointsDD.rst:88 -#: ../../build/doc/pgr_withPointsDD.rst:107 +#: ../../build/doc/pgr_withPointsDD.rst:89 +#: ../../build/doc/pgr_withPointsDD.rst:108 msgid "Finds the driving distance depending on the optional parameters setup." msgstr "" "Encuentra la distancia de conducción en función de la configuración de los " "parámetros opcionales." -#: ../../build/doc/pgr_withPointsDD.rst:95 +#: ../../build/doc/pgr_withPointsDD.rst:96 msgid "" "Right side driving topology, from point :math:`1` with :math:`agg\\_cost <= " "3.8`" @@ -197,47 +199,47 @@ msgstr "" "Topología de conducción del lado derecho, desde el punto :math:`1` con " ":math:`agg\\_cost <= 3.8`" -#: ../../build/doc/pgr_withPointsDD.rst:105 +#: ../../build/doc/pgr_withPointsDD.rst:106 msgid "Multiple vertices" msgstr "Múltiples vértices" -#: ../../build/doc/pgr_withPointsDD.rst:115 +#: ../../build/doc/pgr_withPointsDD.rst:116 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_withPointsDD.rst:118 +#: ../../build/doc/pgr_withPointsDD.rst:119 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsDD.rst:118 -#: ../../build/doc/pgr_withPointsDD.rst:153 +#: ../../build/doc/pgr_withPointsDD.rst:119 +#: ../../build/doc/pgr_withPointsDD.rst:154 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_withPointsDD.rst:120 +#: ../../build/doc/pgr_withPointsDD.rst:121 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_withPointsDD.rst:120 #: ../../build/doc/pgr_withPointsDD.rst:121 +#: ../../build/doc/pgr_withPointsDD.rst:122 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_withPointsDD.rst:120 +#: ../../build/doc/pgr_withPointsDD.rst:121 msgid "Edges SQL query as described above." msgstr "Consulta de aristas SQL como se describió anteriormente." -#: ../../build/doc/pgr_withPointsDD.rst:121 +#: ../../build/doc/pgr_withPointsDD.rst:122 msgid "**points_sql**" msgstr "**points_sql**" -#: ../../build/doc/pgr_withPointsDD.rst:121 +#: ../../build/doc/pgr_withPointsDD.rst:122 msgid "Points SQL query as described above." msgstr "Consulta SQL de puntos como se describe arriba." -#: ../../build/doc/pgr_withPointsDD.rst:122 +#: ../../build/doc/pgr_withPointsDD.rst:123 msgid "**start_vid**" msgstr "**start_vid**" @@ -246,40 +248,40 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:15 -#: ../../build/doc/pgr_withPointsDD.rst:122 +#: ../../build/doc/pgr_withPointsDD.rst:123 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_withPointsDD.rst:122 +#: ../../build/doc/pgr_withPointsDD.rst:123 msgid "Starting point id" msgstr "Id de punto de partida" -#: ../../build/doc/pgr_withPointsDD.rst:123 +#: ../../build/doc/pgr_withPointsDD.rst:124 msgid "**distance**" msgstr "**distancia**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:16 -#: ../../build/doc/pgr_withPointsDD.rst:123 +#: ../../build/doc/pgr_withPointsDD.rst:124 msgid "``ANY-NUMERICAL``" msgstr "``ANY-NUMERICAL``" -#: ../../build/doc/pgr_withPointsDD.rst:123 +#: ../../build/doc/pgr_withPointsDD.rst:124 msgid "Distance from the start_pid" msgstr "Distancia desde el start_pid" -#: ../../build/doc/pgr_withPointsDD.rst:124 +#: ../../build/doc/pgr_withPointsDD.rst:125 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_withPointsDD.rst:124 -#: ../../build/doc/pgr_withPointsDD.rst:130 -#: ../../build/doc/pgr_withPointsDD.rst:132 +#: ../../build/doc/pgr_withPointsDD.rst:125 +#: ../../build/doc/pgr_withPointsDD.rst:131 +#: ../../build/doc/pgr_withPointsDD.rst:133 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_withPointsDD.rst:124 +#: ../../build/doc/pgr_withPointsDD.rst:125 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default is" " ``true`` which considers the graph as Directed." @@ -287,16 +289,16 @@ msgstr "" "(opcional). En caso de ``false`` el grafo se considera como No Dirigido. El " "valor predeterminado es ``true`` que considera el grafo como Dirigido." -#: ../../build/doc/pgr_withPointsDD.rst:125 +#: ../../build/doc/pgr_withPointsDD.rst:126 msgid "**driving_side**" msgstr "**driving_side**" #: ../../build/doc/pgRouting-concepts.rst:17 -#: ../../build/doc/pgr_withPointsDD.rst:125 +#: ../../build/doc/pgr_withPointsDD.rst:126 msgid "``CHAR``" msgstr "``CHAR``" -#: ../../build/doc/pgr_withPointsDD.rst:128 +#: ../../build/doc/pgr_withPointsDD.rst:129 msgid "" "(optional). Value in ['b', 'r', 'l', NULL] indicating if the driving side " "is:" @@ -304,25 +306,25 @@ msgstr "" "(opcional). Valor en ['b', 'r', 'l', NULL] que indica si el lado de " "conducción es:" -#: ../../build/doc/pgr_withPointsDD.rst:126 +#: ../../build/doc/pgr_withPointsDD.rst:127 msgid "In the right or left or" msgstr "A la derecha o a la izquierda o" #: ../../build/doc/pgRouting-concepts.rst:20 -#: ../../build/doc/pgr_withPointsDD.rst:127 +#: ../../build/doc/pgr_withPointsDD.rst:128 msgid "If it doesn't matter with 'b' or NULL." msgstr "Si no importa con 'b' o NULL." #: ../../build/doc/pgRouting-concepts.rst:21 -#: ../../build/doc/pgr_withPointsDD.rst:128 +#: ../../build/doc/pgr_withPointsDD.rst:129 msgid "If column not present 'b' is considered." msgstr "Si la columna no presente 'b' es considerada" -#: ../../build/doc/pgr_withPointsDD.rst:130 +#: ../../build/doc/pgr_withPointsDD.rst:131 msgid "**details**" msgstr "**detalles**" -#: ../../build/doc/pgr_withPointsDD.rst:130 +#: ../../build/doc/pgr_withPointsDD.rst:131 msgid "" "(optional). When ``true`` the results will include the driving distance to " "the points with in the ``distance``. Default is ``false`` which ignores " @@ -332,11 +334,11 @@ msgstr "" "conducción a los puntos con la ``distancia``. El valor predeterminado es " "``false`` que omite otros puntos de points_sql." -#: ../../build/doc/pgr_withPointsDD.rst:132 +#: ../../build/doc/pgr_withPointsDD.rst:133 msgid "**equicost**" msgstr "**equicost**" -#: ../../build/doc/pgr_withPointsDD.rst:132 +#: ../../build/doc/pgr_withPointsDD.rst:133 msgid "" "(optional). When ``true`` the nodes will only appear in the closest start_v " "list. Default is ``false`` which resembles several calls using the single " @@ -347,13 +349,13 @@ msgstr "" "varias llamadas que utilizan las firmas de punto de inicio único. Los frenos" " de unión son arbitrarios." -#: ../../build/doc/pgr_withPointsDD.rst:136 +#: ../../build/doc/pgr_withPointsDD.rst:137 msgid "Inner query" msgstr "Consulta interna" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsDD.rst:153 +#: ../../build/doc/pgr_withPointsDD.rst:154 msgid "Column" msgstr "Columna" @@ -386,7 +388,7 @@ msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_withPointsDD.rst:160 +#: ../../build/doc/pgr_withPointsDD.rst:161 msgid "**cost**" msgstr "**cost**" @@ -517,32 +519,32 @@ msgstr "smallint, int, bigint" msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgr_withPointsDD.rst:150 +#: ../../build/doc/pgr_withPointsDD.rst:151 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_withPointsDD.rst:155 +#: ../../build/doc/pgr_withPointsDD.rst:156 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_withPointsDD.rst:155 +#: ../../build/doc/pgr_withPointsDD.rst:156 msgid "``INT``" msgstr "``INT``" -#: ../../build/doc/pgr_withPointsDD.rst:155 +#: ../../build/doc/pgr_withPointsDD.rst:156 msgid "row sequence." msgstr "secuencia de filas." -#: ../../build/doc/pgr_withPointsDD.rst:156 +#: ../../build/doc/pgr_withPointsDD.rst:157 msgid "**node**" msgstr "**node**" -#: ../../build/doc/pgr_withPointsDD.rst:156 #: ../../build/doc/pgr_withPointsDD.rst:157 +#: ../../build/doc/pgr_withPointsDD.rst:158 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_withPointsDD.rst:156 +#: ../../build/doc/pgr_withPointsDD.rst:157 msgid "" "Identifier of the node within the Distance from ``start_pid``. If ``details " "=: true`` a negative value is the identifier of a point." @@ -550,11 +552,11 @@ msgstr "" "Identificador del nodo dentro de la distancia de ``start_pid``. Si ``details" " =: true`` un valor negativo es el identificador de un punto." -#: ../../build/doc/pgr_withPointsDD.rst:157 +#: ../../build/doc/pgr_withPointsDD.rst:158 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/pgr_withPointsDD.rst:158 +#: ../../build/doc/pgr_withPointsDD.rst:159 msgid "" "Identifier of the edge used to go from ``node`` to the next node in the path" " sequence." @@ -562,37 +564,37 @@ msgstr "" "Identificador del borde utilizado para ir de ``node`` al siguiente nodo de " "la secuencia de ruta." -#: ../../build/doc/pgr_withPointsDD.rst:158 +#: ../../build/doc/pgr_withPointsDD.rst:159 msgid "``-1`` when ``start_vid`` = ``node``." msgstr "``-1`` cuando ``start_vid`` = ``node``." -#: ../../build/doc/pgr_withPointsDD.rst:160 -#: ../../build/doc/pgr_withPointsDD.rst:163 +#: ../../build/doc/pgr_withPointsDD.rst:161 +#: ../../build/doc/pgr_withPointsDD.rst:164 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_withPointsDD.rst:161 +#: ../../build/doc/pgr_withPointsDD.rst:162 msgid "Cost to traverse ``edge``." msgstr "Costo para atravesar ``edge``." -#: ../../build/doc/pgr_withPointsDD.rst:161 -#: ../../build/doc/pgr_withPointsDD.rst:164 +#: ../../build/doc/pgr_withPointsDD.rst:162 +#: ../../build/doc/pgr_withPointsDD.rst:165 msgid "``0`` when ``start_vid`` = ``node``." msgstr "``0`` cuando ``start_vid`` = ``node``." -#: ../../build/doc/pgr_withPointsDD.rst:163 +#: ../../build/doc/pgr_withPointsDD.rst:164 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_withPointsDD.rst:164 +#: ../../build/doc/pgr_withPointsDD.rst:165 msgid "Aggregate cost from ``start_vid`` to ``node``." msgstr "Costo agregado de ``start_vid`` a ``node``." -#: ../../build/doc/pgr_withPointsDD.rst:169 +#: ../../build/doc/pgr_withPointsDD.rst:170 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_withPointsDD.rst:172 +#: ../../build/doc/pgr_withPointsDD.rst:173 msgid "" "Examples for queries marked as ``directed`` with ``cost`` and " "``reverse_cost`` columns." @@ -600,11 +602,11 @@ msgstr "" "Ejemplos para consultas marcadas como ``directed`` con columnas ``cost`` and" " ``reverse_cost``." -#: ../../build/doc/pgr_withPointsDD.rst:173 +#: ../../build/doc/pgr_withPointsDD.rst:174 msgid "The examples in this section use the following :ref:`fig1`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig1`" -#: ../../build/doc/pgr_withPointsDD.rst:175 +#: ../../build/doc/pgr_withPointsDD.rst:176 msgid "" "Left side driving topology from point :math:`1` with :math:`agg\\_cost <= " "3.8`, with details" @@ -612,7 +614,7 @@ msgstr "" "Topología de conducción del lado izquierdo desde el punto :math:`1` con " ":math:`agg\\_cost <= 3.8`, detallada" -#: ../../build/doc/pgr_withPointsDD.rst:181 +#: ../../build/doc/pgr_withPointsDD.rst:182 msgid "" "From point :math:`1` with :math:`agg\\_cost <= 3.8`, does not matter driving" " side, with details" @@ -620,37 +622,30 @@ msgstr "" "Desde el punto :math:`1` with :math:`agg\\_cost <= 3.8`, no importa el lado" " de conducción" -#: ../../build/doc/pgr_withPointsDD.rst:187 +#: ../../build/doc/pgr_withPointsDD.rst:188 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_withPointsDD.rst:190 +#: ../../build/doc/pgr_withPointsDD.rst:191 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_withPointsDD.rst:192 +#: ../../build/doc/pgr_withPointsDD.rst:193 msgid ":doc:`pgr_drivingDistance` - Driving distance using dijkstra." msgstr ":doc:`pgr_drivingDistance` - Distancia de conducción usando dijkstra." -#: ../../build/doc/pgr_withPointsDD.rst:193 +#: ../../build/doc/pgr_withPointsDD.rst:194 msgid ":doc:`pgr_alphaShape` - Alpha shape computation." msgstr ":doc:`pgr_alphaShape` - Cálculo de la forma alfa." -#: ../../build/doc/pgr_withPointsDD.rst:196 +#: ../../build/doc/pgr_withPointsDD.rst:197 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_withPointsDD.rst:197 +#: ../../build/doc/pgr_withPointsDD.rst:198 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_withPointsDD.rst:198 +#: ../../build/doc/pgr_withPointsDD.rst:199 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/pgr_withPointsKSP.po b/locale/es/LC_MESSAGES/pgr_withPointsKSP.po index c2b0ab9b6a3..85fe52d4577 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsKSP.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsKSP.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -93,13 +93,15 @@ msgstr "Soporte" #: ../../build/doc/pgr_withPointsKSP.rst:32 msgid "" -"**Supported versions:** current(`3.0 " -"`__)" +"**Supported versions:** current(`3.1 " +"`__) `3.0 " +"`__" msgstr "" -"**Versiones soportadas:** actual(`3.0 " -"`__)" +"**Versiones soportadas:** actual(`3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_withPointsKSP.rst:35 +#: ../../build/doc/pgr_withPointsKSP.rst:36 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -119,13 +121,13 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsKSP.rst:43 -#: ../../build/doc/pgr_withPointsKSP.rst:96 -#: ../../build/doc/pgr_withPointsKSP.rst:131 +#: ../../build/doc/pgr_withPointsKSP.rst:44 +#: ../../build/doc/pgr_withPointsKSP.rst:97 +#: ../../build/doc/pgr_withPointsKSP.rst:132 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_withPointsKSP.rst:45 +#: ../../build/doc/pgr_withPointsKSP.rst:46 msgid "" "Modifies the graph to include the points defined in the ``points_sql`` and " "using Yen algorithm, finds the :math:`K` shortest paths." @@ -133,15 +135,15 @@ msgstr "" "Modifica el grafo para incluir los puntos definidos en`points_sql`` y " "utilizando el algoritmo Yen, encuentra las rutas más cortas :math:`K`." -#: ../../build/doc/pgr_withPointsKSP.rst:49 +#: ../../build/doc/pgr_withPointsKSP.rst:50 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_withPointsKSP.rst:52 +#: ../../build/doc/pgr_withPointsKSP.rst:53 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_withPointsKSP.rst:59 +#: ../../build/doc/pgr_withPointsKSP.rst:60 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -149,15 +151,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_withPointsKSP.rst:65 +#: ../../build/doc/pgr_withPointsKSP.rst:66 msgid "From point :math:`1` to point :math:`2` in :math:`2` cycles" msgstr "Del punto :math:`1` al punto :math:`2` in :math:`2` ciclos" -#: ../../build/doc/pgr_withPointsKSP.rst:67 +#: ../../build/doc/pgr_withPointsKSP.rst:68 msgid "For a **directed** graph." msgstr "Para un grafo **dirigido**." -#: ../../build/doc/pgr_withPointsKSP.rst:68 +#: ../../build/doc/pgr_withPointsKSP.rst:69 msgid "" "The driving side is set as **b** both. So arriving/departing to/from the " "point(s) can be in any direction." @@ -165,21 +167,21 @@ msgstr "" "Ambos lados de conducción se establecen como **b**. Así que llegar/partir " "hacia/desde el o los puntos, puede ser en cualquier dirección." -#: ../../build/doc/pgr_withPointsKSP.rst:69 +#: ../../build/doc/pgr_withPointsKSP.rst:70 msgid "No **details** are given about distance of other points of the query." msgstr "" "No se proporcionan **detalles** sobre la distancia de otros puntos de la " "consulta." -#: ../../build/doc/pgr_withPointsKSP.rst:70 +#: ../../build/doc/pgr_withPointsKSP.rst:71 msgid "No **heap paths** are returned." msgstr "No se devuelven **montones de rutas**." -#: ../../build/doc/pgr_withPointsKSP.rst:77 +#: ../../build/doc/pgr_withPointsKSP.rst:78 msgid "Complete Signature" msgstr "Firma completa" -#: ../../build/doc/pgr_withPointsKSP.rst:79 +#: ../../build/doc/pgr_withPointsKSP.rst:80 msgid "" "Finds the :math:`K` shortest paths depending on the optional parameters " "setup." @@ -187,49 +189,49 @@ msgstr "" "Encuentra las rutas más cortas :math:`K` dependiendo de la configuración de " "parámetros opcionales." -#: ../../build/doc/pgr_withPointsKSP.rst:86 +#: ../../build/doc/pgr_withPointsKSP.rst:87 msgid "" "From point :math:`1` to vertex :math:`6` in :math:`2` cycles with details." msgstr "" "Del punto :math:`1` al vértice :math:`6` en :math:`2` ciclos con detalles." -#: ../../build/doc/pgr_withPointsKSP.rst:93 +#: ../../build/doc/pgr_withPointsKSP.rst:94 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_withPointsKSP.rst:96 +#: ../../build/doc/pgr_withPointsKSP.rst:97 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsKSP.rst:96 -#: ../../build/doc/pgr_withPointsKSP.rst:131 +#: ../../build/doc/pgr_withPointsKSP.rst:97 +#: ../../build/doc/pgr_withPointsKSP.rst:132 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_withPointsKSP.rst:98 +#: ../../build/doc/pgr_withPointsKSP.rst:99 msgid "**edges_sql**" msgstr "**edges_sql**" -#: ../../build/doc/pgr_withPointsKSP.rst:98 #: ../../build/doc/pgr_withPointsKSP.rst:99 +#: ../../build/doc/pgr_withPointsKSP.rst:100 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_withPointsKSP.rst:98 +#: ../../build/doc/pgr_withPointsKSP.rst:99 msgid "Edges SQL query as described above." msgstr "Consulta de aristas SQL como se describió anteriormente." -#: ../../build/doc/pgr_withPointsKSP.rst:99 +#: ../../build/doc/pgr_withPointsKSP.rst:100 msgid "**points_sql**" msgstr "**points_sql**" -#: ../../build/doc/pgr_withPointsKSP.rst:99 +#: ../../build/doc/pgr_withPointsKSP.rst:100 msgid "Points SQL query as described above." msgstr "Consulta SQL de puntos como se describe arriba." -#: ../../build/doc/pgr_withPointsKSP.rst:100 +#: ../../build/doc/pgr_withPointsKSP.rst:101 msgid "**start_pid**" msgstr "**start_pid**" @@ -238,49 +240,49 @@ msgstr "**start_pid**" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:15 -#: ../../build/doc/pgr_withPointsKSP.rst:100 #: ../../build/doc/pgr_withPointsKSP.rst:101 +#: ../../build/doc/pgr_withPointsKSP.rst:102 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_withPointsKSP.rst:100 +#: ../../build/doc/pgr_withPointsKSP.rst:101 msgid "Starting point id." msgstr "Identificador de punto de partida." -#: ../../build/doc/pgr_withPointsKSP.rst:101 +#: ../../build/doc/pgr_withPointsKSP.rst:102 msgid "**end_pid**" msgstr "**end_pid**" -#: ../../build/doc/pgr_withPointsKSP.rst:101 +#: ../../build/doc/pgr_withPointsKSP.rst:102 msgid "Ending point id." msgstr "Identificador de punto final." -#: ../../build/doc/pgr_withPointsKSP.rst:102 +#: ../../build/doc/pgr_withPointsKSP.rst:103 msgid "**K**" msgstr "**K**" -#: ../../build/doc/pgr_withPointsKSP.rst:102 -#: ../../build/doc/pgr_withPointsKSP.rst:133 +#: ../../build/doc/pgr_withPointsKSP.rst:103 #: ../../build/doc/pgr_withPointsKSP.rst:134 #: ../../build/doc/pgr_withPointsKSP.rst:135 +#: ../../build/doc/pgr_withPointsKSP.rst:136 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/pgr_withPointsKSP.rst:102 +#: ../../build/doc/pgr_withPointsKSP.rst:103 msgid "Number of shortest paths." msgstr "Número de rutas más cortas." -#: ../../build/doc/pgr_withPointsKSP.rst:103 +#: ../../build/doc/pgr_withPointsKSP.rst:104 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_withPointsKSP.rst:103 #: ../../build/doc/pgr_withPointsKSP.rst:104 -#: ../../build/doc/pgr_withPointsKSP.rst:110 +#: ../../build/doc/pgr_withPointsKSP.rst:105 +#: ../../build/doc/pgr_withPointsKSP.rst:111 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_withPointsKSP.rst:103 +#: ../../build/doc/pgr_withPointsKSP.rst:104 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default is" " ``true`` which considers the graph as Directed." @@ -288,11 +290,11 @@ msgstr "" "(opcional). En caso de ``false`` el grafo se considera como No Dirigido. El " "valor predeterminado es ``true`` que considera el grafo como Dirigido." -#: ../../build/doc/pgr_withPointsKSP.rst:104 +#: ../../build/doc/pgr_withPointsKSP.rst:105 msgid "**heap_paths**" msgstr "**heap_paths**" -#: ../../build/doc/pgr_withPointsKSP.rst:104 +#: ../../build/doc/pgr_withPointsKSP.rst:105 msgid "" "(optional). When ``true`` the paths calculated to get the shortests paths " "will be returned also. Default is ``false`` only the K shortest paths are " @@ -302,41 +304,41 @@ msgstr "" "para obtener las rutas más cortas. El valor predeterminado es ``false``, " "solo se devuelven las rutas más cortas K." -#: ../../build/doc/pgr_withPointsKSP.rst:105 +#: ../../build/doc/pgr_withPointsKSP.rst:106 msgid "**driving_side**" msgstr "**driving_side**" #: ../../build/doc/pgRouting-concepts.rst:17 -#: ../../build/doc/pgr_withPointsKSP.rst:105 +#: ../../build/doc/pgr_withPointsKSP.rst:106 msgid "``CHAR``" msgstr "``CHAR``" -#: ../../build/doc/pgr_withPointsKSP.rst:108 +#: ../../build/doc/pgr_withPointsKSP.rst:109 msgid "" "(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" msgstr "" "(opcional) Valor en ['b', 'r', 'l', NULL] que indica si el lado de " "conducción es:" -#: ../../build/doc/pgr_withPointsKSP.rst:106 +#: ../../build/doc/pgr_withPointsKSP.rst:107 msgid "In the right or left or" msgstr "A la derecha o a la izquierda o" #: ../../build/doc/pgRouting-concepts.rst:20 -#: ../../build/doc/pgr_withPointsKSP.rst:107 +#: ../../build/doc/pgr_withPointsKSP.rst:108 msgid "If it doesn't matter with 'b' or NULL." msgstr "Si no importa con 'b' o NULL." #: ../../build/doc/pgRouting-concepts.rst:21 -#: ../../build/doc/pgr_withPointsKSP.rst:108 +#: ../../build/doc/pgr_withPointsKSP.rst:109 msgid "If column not present 'b' is considered." msgstr "Si la columna no presente 'b' es considerada" -#: ../../build/doc/pgr_withPointsKSP.rst:110 +#: ../../build/doc/pgr_withPointsKSP.rst:111 msgid "**details**" msgstr "**detalles**" -#: ../../build/doc/pgr_withPointsKSP.rst:110 +#: ../../build/doc/pgr_withPointsKSP.rst:111 msgid "" "(optional). When ``true`` the results will include the driving distance to " "the points with in the ``distance``. Default is ``false`` which ignores " @@ -346,13 +348,13 @@ msgstr "" "conducción a los puntos con la ``distancia``. El valor predeterminado es " "``false`` que omite otros puntos de points_sql." -#: ../../build/doc/pgr_withPointsKSP.rst:115 +#: ../../build/doc/pgr_withPointsKSP.rst:116 msgid "Inner query" msgstr "Consulta interna" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsKSP.rst:131 +#: ../../build/doc/pgr_withPointsKSP.rst:132 msgid "Column" msgstr "Columna" @@ -385,7 +387,7 @@ msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_withPointsKSP.rst:140 +#: ../../build/doc/pgr_withPointsKSP.rst:141 msgid "**cost**" msgstr "**cost**" @@ -522,23 +524,23 @@ msgstr "smallint, int, bigint" msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgr_withPointsKSP.rst:128 +#: ../../build/doc/pgr_withPointsKSP.rst:129 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_withPointsKSP.rst:133 +#: ../../build/doc/pgr_withPointsKSP.rst:134 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_withPointsKSP.rst:133 +#: ../../build/doc/pgr_withPointsKSP.rst:134 msgid "Row sequence." msgstr "Secuencia de filas." -#: ../../build/doc/pgr_withPointsKSP.rst:134 +#: ../../build/doc/pgr_withPointsKSP.rst:135 msgid "**path_seq**" msgstr "**path_seq**" -#: ../../build/doc/pgr_withPointsKSP.rst:134 +#: ../../build/doc/pgr_withPointsKSP.rst:135 msgid "" "Relative position in the path of node and edge. Has value 1 for the " "beginning of a path." @@ -546,11 +548,11 @@ msgstr "" "Posición relativa en la ruta de acceso de nodo y arista. Tiene el valor 1 " "para el principio de una ruta." -#: ../../build/doc/pgr_withPointsKSP.rst:135 +#: ../../build/doc/pgr_withPointsKSP.rst:136 msgid "**path_id**" msgstr "**path_id**" -#: ../../build/doc/pgr_withPointsKSP.rst:135 +#: ../../build/doc/pgr_withPointsKSP.rst:136 msgid "" "Path identifier. The ordering of the paths: For two paths i, j if i < j then" " agg_cost(i) <= agg_cost(j)." @@ -558,16 +560,16 @@ msgstr "" "Identificador de ruta. El orden de los caminos: Para dos caminos i, j if i <" " j entonces agg_cost(i) <= agg_cost(j)." -#: ../../build/doc/pgr_withPointsKSP.rst:136 +#: ../../build/doc/pgr_withPointsKSP.rst:137 msgid "**node**" msgstr "**node**" -#: ../../build/doc/pgr_withPointsKSP.rst:136 #: ../../build/doc/pgr_withPointsKSP.rst:137 +#: ../../build/doc/pgr_withPointsKSP.rst:138 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_withPointsKSP.rst:136 +#: ../../build/doc/pgr_withPointsKSP.rst:137 msgid "" "Identifier of the node in the path. Negative values are the identifiers of a" " point." @@ -575,11 +577,11 @@ msgstr "" "Identificador del nodo en la ruta. Los valores negativos son los " "identificadores de un punto." -#: ../../build/doc/pgr_withPointsKSP.rst:137 +#: ../../build/doc/pgr_withPointsKSP.rst:138 msgid "**edge**" msgstr "**edge**" -#: ../../build/doc/pgr_withPointsKSP.rst:138 +#: ../../build/doc/pgr_withPointsKSP.rst:139 msgid "" "Identifier of the edge used to go from ``node`` to the next node in the path" " sequence." @@ -587,16 +589,16 @@ msgstr "" "Identificador del borde utilizado para ir de ``node`` al siguiente nodo de " "la secuencia de ruta." -#: ../../build/doc/pgr_withPointsKSP.rst:138 +#: ../../build/doc/pgr_withPointsKSP.rst:139 msgid "``-1`` for the last row in the path sequence." msgstr "``-1`` para la última fila de la secuencia de ruta." -#: ../../build/doc/pgr_withPointsKSP.rst:140 -#: ../../build/doc/pgr_withPointsKSP.rst:143 +#: ../../build/doc/pgr_withPointsKSP.rst:141 +#: ../../build/doc/pgr_withPointsKSP.rst:144 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_withPointsKSP.rst:141 +#: ../../build/doc/pgr_withPointsKSP.rst:142 msgid "" "Cost to traverse from ``node`` using ``edge`` to the next ``node`` in the " "path sequence." @@ -604,27 +606,27 @@ msgstr "" "Coste para atravesar desde ``node`` usando ``edge`` para el siguiente " "``node`` en la secuncia de ruta." -#: ../../build/doc/pgr_withPointsKSP.rst:141 +#: ../../build/doc/pgr_withPointsKSP.rst:142 msgid "``0`` for the last row in the path sequence." msgstr "``0`` para la última fila de la secuencia de ruta." -#: ../../build/doc/pgr_withPointsKSP.rst:143 +#: ../../build/doc/pgr_withPointsKSP.rst:144 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_withPointsKSP.rst:144 +#: ../../build/doc/pgr_withPointsKSP.rst:145 msgid "Aggregate cost from ``start_pid`` to ``node``." msgstr "Coste agregado de ``start_pid`` a ``node``." -#: ../../build/doc/pgr_withPointsKSP.rst:144 +#: ../../build/doc/pgr_withPointsKSP.rst:145 msgid "``0`` for the first row in the path sequence." msgstr "``0`` para la primera fila de la secuencia de ruta." -#: ../../build/doc/pgr_withPointsKSP.rst:149 +#: ../../build/doc/pgr_withPointsKSP.rst:150 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_withPointsKSP.rst:151 +#: ../../build/doc/pgr_withPointsKSP.rst:152 msgid "" "Left side driving topology from point :math:`1` to point :math:`2` in " ":math:`2` cycles, with details" @@ -632,7 +634,7 @@ msgstr "" "Topología de conducción del lado izquierdo desde el punto :math:`1` a punto " ":math:`2` en :math:`2` ciclos, con detalles" -#: ../../build/doc/pgr_withPointsKSP.rst:157 +#: ../../build/doc/pgr_withPointsKSP.rst:158 msgid "" "Right side driving topology from point :math:`1` to point :math:`2` in " ":math:`2` cycles, with heap paths and details" @@ -640,33 +642,26 @@ msgstr "" "Topología de conducción del lado derecho desde el punto :math:`1` al punto " ":math:`2` en :math:`2` ciclos, con montones de rutas y detalles" -#: ../../build/doc/pgr_withPointsKSP.rst:163 +#: ../../build/doc/pgr_withPointsKSP.rst:164 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_withPointsKSP.rst:166 +#: ../../build/doc/pgr_withPointsKSP.rst:167 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_withPointsKSP.rst:168 +#: ../../build/doc/pgr_withPointsKSP.rst:169 msgid ":doc:`withPoints-family`" msgstr ":doc:`withPoints-family`" -#: ../../build/doc/pgr_withPointsKSP.rst:171 +#: ../../build/doc/pgr_withPointsKSP.rst:172 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_withPointsKSP.rst:172 +#: ../../build/doc/pgr_withPointsKSP.rst:173 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_withPointsKSP.rst:173 +#: ../../build/doc/pgr_withPointsKSP.rst:174 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 " -#~ "`__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 " -#~ "`__)" diff --git a/locale/es/LC_MESSAGES/prim-family.po b/locale/es/LC_MESSAGES/prim-family.po index e1ca2ab3c80..6e63f51917f 100644 --- a/locale/es/LC_MESSAGES/prim-family.po +++ b/locale/es/LC_MESSAGES/prim-family.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: +# Vicky Vergara , 2019 # 0a3886ca72a6d508a04563bd8c050dff, 2019 # MarPetra , 2020 -# Vicky Vergara , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -50,17 +50,19 @@ msgstr "Adentro: Boost Graph" #: ../../build/doc/prim-family.rst:35 msgid "" -"**Supported versions:** current(`3.0 `__)" +"**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__)" +"**Versiones soportadas:** actual(`3.1 `__) `3.0 `__" -#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/prim-family.rst:39 +#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/prim-family.rst:40 msgid "Description" msgstr "Descripción" -#: ../../build/doc/prim-family.rst:41 +#: ../../build/doc/prim-family.rst:42 msgid "" "The prim algorithm was developed in 1930 by Czech mathematician Vojtěch " "Jarník. It is a greedy algorithm that finds a minimum spanning tree for a " @@ -79,7 +81,7 @@ msgstr "" "arbitrario, paso a paso agregando la conexión más barata posible desde el " "árbol a otro vértice." -#: ../../build/doc/prim-family.rst:49 +#: ../../build/doc/prim-family.rst:50 msgid "" "This algorithms find the minimum spanning forest in a possibly disconnected " "graph; in contrast, the most basic form of Prim's algorithm only finds " @@ -93,44 +95,44 @@ msgstr "" "Sin embargo, al ejecutar el algoritmo de Prim por separado para cada " "componente conectado del grafo, se denomina bosque de expansión mínimo." -#: ../../build/doc/prim-family.rst:55 +#: ../../build/doc/prim-family.rst:56 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/prim-family.rst:59 +#: ../../build/doc/prim-family.rst:60 msgid "It's implementation is only on **undirected graph**." msgstr "Su implementación solo está en **grafo no dirigido**." -#: ../../build/doc/prim-family.rst:60 +#: ../../build/doc/prim-family.rst:61 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/prim-family.rst:61 +#: ../../build/doc/prim-family.rst:62 msgid "When the graph is connected" msgstr "Cuando el grafo está conectado" -#: ../../build/doc/prim-family.rst:63 +#: ../../build/doc/prim-family.rst:64 msgid "The resulting edges make up a tree" msgstr "Las aristas resultantes componen un árbol" -#: ../../build/doc/prim-family.rst:65 +#: ../../build/doc/prim-family.rst:66 msgid "When the graph is not connected," msgstr "Cuando el grafo no está conectado," -#: ../../build/doc/prim-family.rst:67 +#: ../../build/doc/prim-family.rst:68 msgid "Finds a minimum spanning tree for each connected component." msgstr "" "Encuentra un árbol de expansión mínimo para cada componente conectado." -#: ../../build/doc/prim-family.rst:68 +#: ../../build/doc/prim-family.rst:69 msgid "The resulting edges make up a forest." msgstr "Las aristas resultantes conforman un bosque." -#: ../../build/doc/prim-family.rst:70 +#: ../../build/doc/prim-family.rst:71 msgid "Prim's running time: :math:`O(E*log V)`" msgstr "Tiempo de ejecución de Prim: :math:`O(E*log V)`" -#: ../../build/doc/prim-family.rst:75 +#: ../../build/doc/prim-family.rst:76 msgid "" "From boost Graph: \"The algorithm as implemented in Boost.Graph does not " "produce correct results on graphs with parallel edges.\"" @@ -138,7 +140,7 @@ msgstr "" "De boost Graph: \"El algoritmo tal como se aplica en el Boost.Graph no " "produce resultados correctos en grafos con bordes paralelos \"." -#: ../../build/doc/prim-family.rst:79 +#: ../../build/doc/prim-family.rst:80 msgid "Inner query" msgstr "Consulta interna" @@ -245,15 +247,15 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/prim-family.rst:86 +#: ../../build/doc/prim-family.rst:87 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/prim-family.rst:88 +#: ../../build/doc/prim-family.rst:89 msgid ":doc:`spanningTree-family`" msgstr ":doc:`spanningTree-family`" -#: ../../build/doc/prim-family.rst:89 +#: ../../build/doc/prim-family.rst:90 msgid "" "`Boost: Prim's algorithm documentation " "`__" @@ -261,7 +263,7 @@ msgstr "" "`Boost: Prim's algorithm documentation " "`__" -#: ../../build/doc/prim-family.rst:90 +#: ../../build/doc/prim-family.rst:91 #, python-format msgid "" "`Wikipedia: Prim's algorithm " @@ -270,28 +272,14 @@ msgstr "" "`Wikipedia: algoritmo de Prim " "`__" -#: ../../build/doc/prim-family.rst:93 +#: ../../build/doc/prim-family.rst:94 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/prim-family.rst:94 +#: ../../build/doc/prim-family.rst:95 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/prim-family.rst:95 +#: ../../build/doc/prim-family.rst:96 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "`Wikipedia: Prim's algorithm " -#~ "`__" -#~ msgstr "" -#~ "Wikipedia: `Algoritmo de Prim " -#~ "`__" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__)" diff --git a/locale/es/LC_MESSAGES/release_notes.po b/locale/es/LC_MESSAGES/release_notes.po index 8cfae13b978..f5a45715acc 100644 --- a/locale/es/LC_MESSAGES/release_notes.po +++ b/locale/es/LC_MESSAGES/release_notes.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 @@ -11,9 +11,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -41,122 +41,150 @@ msgid "Table of contents" msgstr "Tabla de contenidos" #: ../../build/doc/release_notes.rst:21 +msgid ":ref:`changelog_3_1_0`" +msgstr ":ref:`changelog_3_1_0`" + +#: ../../build/doc/release_notes.rst:22 msgid ":ref:`changelog_3_0_2`" msgstr ":ref:`changelog_3_0_2`" -#: ../../build/doc/release_notes.rst:22 +#: ../../build/doc/release_notes.rst:23 msgid ":ref:`changelog_3_0_1`" msgstr ":ref:`changelog_3_0_1`" -#: ../../build/doc/release_notes.rst:23 +#: ../../build/doc/release_notes.rst:24 msgid ":ref:`changelog_3_0_0`" msgstr ":ref:`changelog_3_0_0`" -#: ../../build/doc/release_notes.rst:24 +#: ../../build/doc/release_notes.rst:25 msgid ":ref:`changelog_2_6_3`" msgstr ":ref:`changelog_2_6_3`" -#: ../../build/doc/release_notes.rst:25 +#: ../../build/doc/release_notes.rst:26 msgid ":ref:`changelog_2_6_2`" msgstr ":ref:`changelog_2_6_2`" -#: ../../build/doc/release_notes.rst:26 +#: ../../build/doc/release_notes.rst:27 msgid ":ref:`changelog_2_6_1`" msgstr ":ref:`changelog_2_6_1`" -#: ../../build/doc/release_notes.rst:27 +#: ../../build/doc/release_notes.rst:28 msgid ":ref:`changelog_2_6_0`" msgstr ":ref:`changelog_2_6_0`" -#: ../../build/doc/release_notes.rst:28 +#: ../../build/doc/release_notes.rst:29 msgid ":ref:`changelog_2_5_5`" msgstr ":ref:`changelog_2_5_5`" -#: ../../build/doc/release_notes.rst:29 +#: ../../build/doc/release_notes.rst:30 msgid ":ref:`changelog_2_5_4`" msgstr ":ref:`changelog_2_5_4`" -#: ../../build/doc/release_notes.rst:30 +#: ../../build/doc/release_notes.rst:31 msgid ":ref:`changelog_2_5_3`" msgstr ":ref:`changelog_2_5_3`" -#: ../../build/doc/release_notes.rst:31 +#: ../../build/doc/release_notes.rst:32 msgid ":ref:`changelog_2_5_2`" msgstr ":ref:`changelog_2_5_2`" -#: ../../build/doc/release_notes.rst:32 +#: ../../build/doc/release_notes.rst:33 msgid ":ref:`changelog_2_5_1`" msgstr ":ref:`changelog_2_5_1`" -#: ../../build/doc/release_notes.rst:33 +#: ../../build/doc/release_notes.rst:34 msgid ":ref:`changelog_2_5_0`" msgstr ":ref:`changelog_2_5_0`" -#: ../../build/doc/release_notes.rst:34 +#: ../../build/doc/release_notes.rst:35 msgid ":ref:`changelog_2_4_2`" msgstr ":ref:`changelog_2_4_2`" -#: ../../build/doc/release_notes.rst:35 +#: ../../build/doc/release_notes.rst:36 msgid ":ref:`changelog_2_4_1`" msgstr ":ref:`changelog_2_4_1`" -#: ../../build/doc/release_notes.rst:36 +#: ../../build/doc/release_notes.rst:37 msgid ":ref:`changelog_2_4_0`" msgstr ":ref:`changelog_2_4_0`" -#: ../../build/doc/release_notes.rst:37 +#: ../../build/doc/release_notes.rst:38 msgid ":ref:`changelog_2_3_2`" msgstr ":ref:`changelog_2_3_2`" -#: ../../build/doc/release_notes.rst:38 +#: ../../build/doc/release_notes.rst:39 msgid ":ref:`changelog_2_3_1`" msgstr ":ref:`changelog_2_3_1`" -#: ../../build/doc/release_notes.rst:39 +#: ../../build/doc/release_notes.rst:40 msgid ":ref:`changelog_2_3_0`" msgstr ":ref:`changelog_2_3_0`" -#: ../../build/doc/release_notes.rst:40 +#: ../../build/doc/release_notes.rst:41 msgid ":ref:`changelog_2_2_4`" msgstr ":ref:`changelog_2_2_4`" -#: ../../build/doc/release_notes.rst:41 +#: ../../build/doc/release_notes.rst:42 msgid ":ref:`changelog_2_2_3`" msgstr ":ref:`changelog_2_2_3`" -#: ../../build/doc/release_notes.rst:42 +#: ../../build/doc/release_notes.rst:43 msgid ":ref:`changelog_2_2_2`" msgstr ":ref:`changelog_2_2_2`" -#: ../../build/doc/release_notes.rst:43 +#: ../../build/doc/release_notes.rst:44 msgid ":ref:`changelog_2_2_1`" msgstr ":ref:`changelog_2_2_1`" -#: ../../build/doc/release_notes.rst:44 +#: ../../build/doc/release_notes.rst:45 msgid ":ref:`changelog_2_2_0`" msgstr ":ref:`changelog_2_2_0`" -#: ../../build/doc/release_notes.rst:45 +#: ../../build/doc/release_notes.rst:46 msgid ":ref:`changelog_2_1_0`" msgstr ":ref:`changelog_2_1_0`" -#: ../../build/doc/release_notes.rst:46 +#: ../../build/doc/release_notes.rst:47 msgid ":ref:`changelog_2_0_1`" msgstr ":ref:`changelog_2_0_1`" -#: ../../build/doc/release_notes.rst:47 +#: ../../build/doc/release_notes.rst:48 msgid ":ref:`changelog_2_0_0`" msgstr ":ref:`changelog_2_0_0`" -#: ../../build/doc/release_notes.rst:48 +#: ../../build/doc/release_notes.rst:49 msgid ":ref:`changelog_1_x`" msgstr ":ref:`changelog_1_x`" -#: ../../build/doc/release_notes.rst:55 +#: ../../build/doc/release_notes.rst:56 +msgid "pgRouting 3.1.0 Release Notes" +msgstr "Notas de la Versión pgRouting 3.1.0" + +#: ../../build/doc/release_notes.rst:59 +msgid "New proposed functions" +msgstr "Nuevas funciones propuestas" + +#: ../../build/doc/release_notes.rst:60 +msgid "pgr_dijkstra(combinations)" +msgstr "pgr_dijkstra(combinaciones)" + +#: ../../build/doc/release_notes.rst:61 +msgid "pgr_dijkstraCost(combinations)" +msgstr "pgr_dijkstraCost(combinaciones)" + +#: ../../build/doc/release_notes.rst:64 +msgid "Build changes" +msgstr "Crear cambios" + +#: ../../build/doc/release_notes.rst:65 +msgid "Minimal requirement for Sphinx: version 1.8" +msgstr "Requerimientos mínimos para Sphinx: versión 1.8" + +#: ../../build/doc/release_notes.rst:70 msgid "pgRouting 3.0.2 Release Notes" msgstr "Notas de la Versión pgRouting 3.0.2" -#: ../../build/doc/release_notes.rst:57 +#: ../../build/doc/release_notes.rst:72 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git closed" @@ -169,11 +197,11 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:61 ../../build/doc/release_notes.rst:73 +#: ../../build/doc/release_notes.rst:76 ../../build/doc/release_notes.rst:88 msgid "Issues fixes" msgstr "Corrección de problemas" -#: ../../build/doc/release_notes.rst:62 +#: ../../build/doc/release_notes.rst:77 msgid "" "`#1378 `__: Visual " "Studio build failing" @@ -181,11 +209,11 @@ msgstr "" "`#1378 `__: Error de " "compilación de Visual Studio" -#: ../../build/doc/release_notes.rst:67 +#: ../../build/doc/release_notes.rst:82 msgid "pgRouting 3.0.1 Release Notes" msgstr "Notas de la versión 3.0.1 de pgRouting" -#: ../../build/doc/release_notes.rst:69 +#: ../../build/doc/release_notes.rst:84 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git closed" @@ -198,7 +226,7 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:74 +#: ../../build/doc/release_notes.rst:89 msgid "" "`#232 `__: Honor client " "cancel requests in C /C++ code" @@ -206,11 +234,11 @@ msgstr "" "`#232 `__: Cliente " "honorable cliente cancela las solicitudes de código C /C++" -#: ../../build/doc/release_notes.rst:79 +#: ../../build/doc/release_notes.rst:94 msgid "pgRouting 3.0.0 Release Notes" msgstr "Notas de la versión de pgRouting 3.0.0" -#: ../../build/doc/release_notes.rst:81 +#: ../../build/doc/release_notes.rst:96 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git closed" @@ -223,11 +251,11 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:85 +#: ../../build/doc/release_notes.rst:100 msgid "Fixed Issues" msgstr "Problemas solucionados" -#: ../../build/doc/release_notes.rst:86 +#: ../../build/doc/release_notes.rst:101 msgid "" "`#1153 `__: Renamed " "pgr_eucledianTSP to pgr_TSPeuclidean" @@ -235,7 +263,7 @@ msgstr "" "`#1153 `__: Renombrado " "de pgr_eucledianTSP a pgr_TSPeuclidean" -#: ../../build/doc/release_notes.rst:87 +#: ../../build/doc/release_notes.rst:102 msgid "" "`#1188 `__: Removed CGAL" " dependency" @@ -243,7 +271,7 @@ msgstr "" "`#1188 `__: Se suprimió " "la dependencia CGAL " -#: ../../build/doc/release_notes.rst:88 +#: ../../build/doc/release_notes.rst:103 msgid "" "`#1002 `__: Fixed " "contraction issues:" @@ -251,7 +279,7 @@ msgstr "" "`#1002 `__: Problemas de" " contracción solucionados:" -#: ../../build/doc/release_notes.rst:90 +#: ../../build/doc/release_notes.rst:105 msgid "" "`#1004 `__: Contracts " "when forbidden vertices do not belong to graph" @@ -259,7 +287,7 @@ msgstr "" "`#1004 `__: Se contrae " "cuando los vértices prohibidos no pertenecen al grafo" -#: ../../build/doc/release_notes.rst:91 +#: ../../build/doc/release_notes.rst:106 msgid "" "`#1005 `__: Intermideate" " results eliminated" @@ -267,7 +295,7 @@ msgstr "" "`#1005 `__: Resultados " "intermedios eliminados" -#: ../../build/doc/release_notes.rst:92 +#: ../../build/doc/release_notes.rst:107 msgid "" "`#1006 `__: No loss of " "information" @@ -275,456 +303,456 @@ msgstr "" "`#1006 `__: No hay " "pérdida de información2" -#: ../../build/doc/release_notes.rst:95 +#: ../../build/doc/release_notes.rst:110 msgid "New functions" msgstr "Nuevas funciones" -#: ../../build/doc/release_notes.rst:96 +#: ../../build/doc/release_notes.rst:111 msgid "Kruskal family" msgstr "Familia Kruskal" -#: ../../build/doc/release_notes.rst:98 +#: ../../build/doc/release_notes.rst:113 msgid "pgr_kruskal" msgstr "pgr_kruskal" -#: ../../build/doc/release_notes.rst:99 +#: ../../build/doc/release_notes.rst:114 msgid "pgr_kruskalBFS" msgstr "pgr_kruskalBFS" -#: ../../build/doc/release_notes.rst:100 +#: ../../build/doc/release_notes.rst:115 msgid "pgr_kruskalDD" msgstr "pgr_kruskalDD" -#: ../../build/doc/release_notes.rst:101 +#: ../../build/doc/release_notes.rst:116 msgid "pgr_kruskalDFS" msgstr "pgr_kruskalDFS" -#: ../../build/doc/release_notes.rst:103 +#: ../../build/doc/release_notes.rst:118 msgid "Prim family" msgstr "Prim family" -#: ../../build/doc/release_notes.rst:105 +#: ../../build/doc/release_notes.rst:120 msgid "pgr_prim" msgstr "pgr_prim" -#: ../../build/doc/release_notes.rst:106 +#: ../../build/doc/release_notes.rst:121 msgid "pgr_primDD" msgstr "pgr_primDD" -#: ../../build/doc/release_notes.rst:107 +#: ../../build/doc/release_notes.rst:122 msgid "pgr_primDFS" msgstr "pgr_primDFS" -#: ../../build/doc/release_notes.rst:108 +#: ../../build/doc/release_notes.rst:123 msgid "pgr_primBFS" msgstr "pgr_primBFS" -#: ../../build/doc/release_notes.rst:112 +#: ../../build/doc/release_notes.rst:127 msgid "Proposed moved to official on pgRouting" msgstr "Propuesta cambió a oficial en pgRouting" -#: ../../build/doc/release_notes.rst:113 +#: ../../build/doc/release_notes.rst:128 msgid "aStar Family" msgstr " Familia aStar" -#: ../../build/doc/release_notes.rst:115 +#: ../../build/doc/release_notes.rst:130 msgid "pgr_aStar(one to many)" msgstr "pgr_aStar(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:116 +#: ../../build/doc/release_notes.rst:131 msgid "pgr_aStar(many to one)" msgstr "pgr_aStar(many to one)" -#: ../../build/doc/release_notes.rst:117 +#: ../../build/doc/release_notes.rst:132 msgid "pgr_aStar(many to many)" msgstr "pgr_aStar(many to many)" -#: ../../build/doc/release_notes.rst:118 +#: ../../build/doc/release_notes.rst:133 msgid "pgr_aStarCost(one to one)" msgstr "pgr_aStarCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:119 +#: ../../build/doc/release_notes.rst:134 msgid "pgr_aStarCost(one to many)" msgstr "pgr_aStarCost(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:120 +#: ../../build/doc/release_notes.rst:135 msgid "pgr_aStarCost(many to one)" msgstr "pgr_aStarCost(many to one)" -#: ../../build/doc/release_notes.rst:121 +#: ../../build/doc/release_notes.rst:136 msgid "pgr_aStarCost(many to many)" msgstr "pgr_aStarCost(many to many)" -#: ../../build/doc/release_notes.rst:122 +#: ../../build/doc/release_notes.rst:137 msgid "pgr_aStarCostMatrix(one to one)" msgstr "pgr_aStarCostMatrix(Uno a Uno)" -#: ../../build/doc/release_notes.rst:123 +#: ../../build/doc/release_notes.rst:138 msgid "pgr_aStarCostMatrix(one to many)" msgstr "pgr_aStarCostMatrix(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:124 +#: ../../build/doc/release_notes.rst:139 msgid "pgr_aStarCostMatrix(many to one)" msgstr "pgr_aStarCostMatrix(many to one)" -#: ../../build/doc/release_notes.rst:125 +#: ../../build/doc/release_notes.rst:140 msgid "pgr_aStarCostMatrix(many to many)" msgstr "pgr_aStarCostMatrix(many to many)" -#: ../../build/doc/release_notes.rst:127 +#: ../../build/doc/release_notes.rst:142 msgid "bdAstar Family" msgstr "Familia bdAstar" -#: ../../build/doc/release_notes.rst:129 ../../build/doc/release_notes.rst:456 +#: ../../build/doc/release_notes.rst:144 ../../build/doc/release_notes.rst:471 msgid "pgr_bdAstar(one to many)" msgstr "pgr_bdAstar(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:130 ../../build/doc/release_notes.rst:457 +#: ../../build/doc/release_notes.rst:145 ../../build/doc/release_notes.rst:472 msgid "pgr_bdAstar(many to one)" msgstr "pgr_bdAstar(many to one)" -#: ../../build/doc/release_notes.rst:131 ../../build/doc/release_notes.rst:458 +#: ../../build/doc/release_notes.rst:146 ../../build/doc/release_notes.rst:473 msgid "pgr_bdAstar(many to many)" msgstr "pgr_bdAstar(many to many)" -#: ../../build/doc/release_notes.rst:132 ../../build/doc/release_notes.rst:459 +#: ../../build/doc/release_notes.rst:147 ../../build/doc/release_notes.rst:474 msgid "pgr_bdAstarCost(one to one)" msgstr "pgr_bdAstarCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:133 ../../build/doc/release_notes.rst:460 +#: ../../build/doc/release_notes.rst:148 ../../build/doc/release_notes.rst:475 msgid "pgr_bdAstarCost(one to many)" msgstr "pgr_bdAstarCost(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:134 ../../build/doc/release_notes.rst:461 +#: ../../build/doc/release_notes.rst:149 ../../build/doc/release_notes.rst:476 msgid "pgr_bdAstarCost(many to one)" msgstr "pgr_bdAstarCost(many to one)" -#: ../../build/doc/release_notes.rst:135 ../../build/doc/release_notes.rst:462 +#: ../../build/doc/release_notes.rst:150 ../../build/doc/release_notes.rst:477 msgid "pgr_bdAstarCost(many to many)" msgstr "pgr_bdAstarCost(many to many)" -#: ../../build/doc/release_notes.rst:136 +#: ../../build/doc/release_notes.rst:151 msgid "pgr_bdAstarCostMatrix(one to one)" msgstr "pgr_bdAstarCostMatrix(Uno a Uno)" -#: ../../build/doc/release_notes.rst:137 +#: ../../build/doc/release_notes.rst:152 msgid "pgr_bdAstarCostMatrix(one to many)" msgstr "pgr_bdAstarCostMatrix(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:138 +#: ../../build/doc/release_notes.rst:153 msgid "pgr_bdAstarCostMatrix(many to one)" msgstr "pgr_bdAstarCostMatrix(many to one)" -#: ../../build/doc/release_notes.rst:139 +#: ../../build/doc/release_notes.rst:154 msgid "pgr_bdAstarCostMatrix(many to many)" msgstr "pgr_bdAstarCostMatrix(many to many)" -#: ../../build/doc/release_notes.rst:141 +#: ../../build/doc/release_notes.rst:156 msgid "bdDijkstra Family" msgstr "bdDijkstra Familia" -#: ../../build/doc/release_notes.rst:143 ../../build/doc/release_notes.rst:464 +#: ../../build/doc/release_notes.rst:158 ../../build/doc/release_notes.rst:479 msgid "pgr_bdDijkstra(one to many)" msgstr "pgr_bdDijkstra(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:144 ../../build/doc/release_notes.rst:465 +#: ../../build/doc/release_notes.rst:159 ../../build/doc/release_notes.rst:480 msgid "pgr_bdDijkstra(many to one)" msgstr "pgr_bdDijkstra(many to one)" -#: ../../build/doc/release_notes.rst:145 ../../build/doc/release_notes.rst:466 +#: ../../build/doc/release_notes.rst:160 ../../build/doc/release_notes.rst:481 msgid "pgr_bdDijkstra(many to many)" msgstr "pgr_bdDijkstra(many to many)" -#: ../../build/doc/release_notes.rst:146 ../../build/doc/release_notes.rst:467 +#: ../../build/doc/release_notes.rst:161 ../../build/doc/release_notes.rst:482 msgid "pgr_bdDijkstraCost(one to one)" msgstr "pgr_bdDijkstraCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:147 ../../build/doc/release_notes.rst:468 +#: ../../build/doc/release_notes.rst:162 ../../build/doc/release_notes.rst:483 msgid "pgr_bdDijkstraCost(one to many)" msgstr "pgr_bdDijkstraCost(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:148 ../../build/doc/release_notes.rst:469 +#: ../../build/doc/release_notes.rst:163 ../../build/doc/release_notes.rst:484 msgid "pgr_bdDijkstraCost(many to one)" msgstr "pgr_bdDijkstraCost(many to one)" -#: ../../build/doc/release_notes.rst:149 ../../build/doc/release_notes.rst:470 +#: ../../build/doc/release_notes.rst:164 ../../build/doc/release_notes.rst:485 msgid "pgr_bdDijkstraCost(many to many)" msgstr "pgr_bdDijkstraCost(many to many)" -#: ../../build/doc/release_notes.rst:150 +#: ../../build/doc/release_notes.rst:165 msgid "pgr_bdDijkstraCostMatrix(one to one)" msgstr "pgr_bdDijkstraCostMatrix(Uno a Uno)" -#: ../../build/doc/release_notes.rst:151 +#: ../../build/doc/release_notes.rst:166 msgid "pgr_bdDijkstraCostMatrix(one to many)" msgstr "pgr_bdDijkstraCostMatrix(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:152 +#: ../../build/doc/release_notes.rst:167 msgid "pgr_bdDijkstraCostMatrix(many to one)" msgstr "pgr_bdDijkstraCostMatrix(many to one)" -#: ../../build/doc/release_notes.rst:153 +#: ../../build/doc/release_notes.rst:168 msgid "pgr_bdDijkstraCostMatrix(many to many)" msgstr "pgr_bdDijkstraCostMatrix(many to many)" -#: ../../build/doc/release_notes.rst:155 +#: ../../build/doc/release_notes.rst:170 msgid "Flow Family" msgstr "Familia Flow" -#: ../../build/doc/release_notes.rst:157 +#: ../../build/doc/release_notes.rst:172 msgid "pgr_pushRelabel(one to one)" msgstr "pgr_pushRelabel(Uno a Uno)" -#: ../../build/doc/release_notes.rst:158 +#: ../../build/doc/release_notes.rst:173 msgid "pgr_pushRelabel(one to many)" msgstr "pgr_pushRelabel(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:159 +#: ../../build/doc/release_notes.rst:174 msgid "pgr_pushRelabel(many to one)" msgstr "pgr_pushRelabel(many to one)" -#: ../../build/doc/release_notes.rst:160 +#: ../../build/doc/release_notes.rst:175 msgid "pgr_pushRelabel(many to many)" msgstr "pgr_pushRelabel(many to many)" -#: ../../build/doc/release_notes.rst:161 +#: ../../build/doc/release_notes.rst:176 msgid "pgr_edmondsKarp(one to one)" msgstr "pgr_edmondsKarp(Uno a Uno)" -#: ../../build/doc/release_notes.rst:162 +#: ../../build/doc/release_notes.rst:177 msgid "pgr_edmondsKarp(one to many)" msgstr "pgr_edmondsKarp(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:163 +#: ../../build/doc/release_notes.rst:178 msgid "pgr_edmondsKarp(many to one)" msgstr "pgr_edmondsKarp(many to one)" -#: ../../build/doc/release_notes.rst:164 +#: ../../build/doc/release_notes.rst:179 msgid "pgr_edmondsKarp(many to many)" msgstr "pgr_edmondsKarp(many to many)" -#: ../../build/doc/release_notes.rst:165 +#: ../../build/doc/release_notes.rst:180 msgid "pgr_boykovKolmogorov (one to one)" msgstr "pgr_boykovKolmogorov(Uno a Uno)" -#: ../../build/doc/release_notes.rst:166 +#: ../../build/doc/release_notes.rst:181 msgid "pgr_boykovKolmogorov (one to many)" msgstr "pgr_boykovKolmogorov(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:167 +#: ../../build/doc/release_notes.rst:182 msgid "pgr_boykovKolmogorov (many to one)" msgstr "pgr_boykovKolmogorov (many to one)" -#: ../../build/doc/release_notes.rst:168 +#: ../../build/doc/release_notes.rst:183 msgid "pgr_boykovKolmogorov (many to many)" msgstr "pgr_boykovKolmogorov (many to many)" -#: ../../build/doc/release_notes.rst:169 +#: ../../build/doc/release_notes.rst:184 msgid "pgr_maxCardinalityMatching" msgstr "pgr_maxCardinalityMatching" -#: ../../build/doc/release_notes.rst:170 ../../build/doc/release_notes.rst:540 +#: ../../build/doc/release_notes.rst:185 ../../build/doc/release_notes.rst:555 msgid "pgr_maxFlow" msgstr "pgr_maxFlow" -#: ../../build/doc/release_notes.rst:171 ../../build/doc/release_notes.rst:630 +#: ../../build/doc/release_notes.rst:186 ../../build/doc/release_notes.rst:645 msgid "pgr_edgeDisjointPaths(one to one)" msgstr "pgr_edgeDisjointPaths(Uno a Uno)" -#: ../../build/doc/release_notes.rst:172 ../../build/doc/release_notes.rst:631 +#: ../../build/doc/release_notes.rst:187 ../../build/doc/release_notes.rst:646 msgid "pgr_edgeDisjointPaths(one to many)" msgstr "pgr_edgeDisjointPaths(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:173 ../../build/doc/release_notes.rst:632 +#: ../../build/doc/release_notes.rst:188 ../../build/doc/release_notes.rst:647 msgid "pgr_edgeDisjointPaths(many to one)" msgstr "pgr_edgeDisjointPaths(many to one)" -#: ../../build/doc/release_notes.rst:174 ../../build/doc/release_notes.rst:633 +#: ../../build/doc/release_notes.rst:189 ../../build/doc/release_notes.rst:648 msgid "pgr_edgeDisjointPaths(many to many)" msgstr "pgr_edgeDisjointPaths(many to many)" -#: ../../build/doc/release_notes.rst:176 +#: ../../build/doc/release_notes.rst:191 msgid "Components family" msgstr "Familia de Componentes" -#: ../../build/doc/release_notes.rst:178 ../../build/doc/release_notes.rst:474 +#: ../../build/doc/release_notes.rst:193 ../../build/doc/release_notes.rst:489 msgid "pgr_connectedComponents" msgstr "pgr_connectedComponents" -#: ../../build/doc/release_notes.rst:179 ../../build/doc/release_notes.rst:475 +#: ../../build/doc/release_notes.rst:194 ../../build/doc/release_notes.rst:490 msgid "pgr_strongComponents" msgstr "pgr_strongComponents" -#: ../../build/doc/release_notes.rst:180 ../../build/doc/release_notes.rst:476 +#: ../../build/doc/release_notes.rst:195 ../../build/doc/release_notes.rst:491 msgid "pgr_biconnectedComponents" msgstr "pgr_biconnectedComponents" -#: ../../build/doc/release_notes.rst:181 ../../build/doc/release_notes.rst:477 +#: ../../build/doc/release_notes.rst:196 ../../build/doc/release_notes.rst:492 msgid "pgr_articulationPoints" msgstr "pgr_articulationPoints" -#: ../../build/doc/release_notes.rst:182 ../../build/doc/release_notes.rst:478 +#: ../../build/doc/release_notes.rst:197 ../../build/doc/release_notes.rst:493 msgid "pgr_bridges" msgstr "pgr_bridges" -#: ../../build/doc/release_notes.rst:184 +#: ../../build/doc/release_notes.rst:199 msgid "Contraction:" msgstr "Contracción:" -#: ../../build/doc/release_notes.rst:186 +#: ../../build/doc/release_notes.rst:201 msgid "Removed unnecessary column seq" msgstr "Se ha eliminado la innecesaria columna seq" -#: ../../build/doc/release_notes.rst:187 ../../build/doc/release_notes.rst:574 -#: ../../build/doc/release_notes.rst:590 ../../build/doc/release_notes.rst:660 -#: ../../build/doc/release_notes.rst:673 ../../build/doc/release_notes.rst:684 -#: ../../build/doc/release_notes.rst:696 ../../build/doc/release_notes.rst:815 -#: ../../build/doc/release_notes.rst:846 +#: ../../build/doc/release_notes.rst:202 ../../build/doc/release_notes.rst:589 +#: ../../build/doc/release_notes.rst:605 ../../build/doc/release_notes.rst:675 +#: ../../build/doc/release_notes.rst:688 ../../build/doc/release_notes.rst:699 +#: ../../build/doc/release_notes.rst:711 ../../build/doc/release_notes.rst:830 +#: ../../build/doc/release_notes.rst:861 msgid "Bug Fixes" msgstr "Corrección de errores" -#: ../../build/doc/release_notes.rst:191 +#: ../../build/doc/release_notes.rst:206 msgid "New Experimental functions" msgstr "Nuevas funciones experimentales" -#: ../../build/doc/release_notes.rst:192 +#: ../../build/doc/release_notes.rst:207 msgid "pgr_maxFlowMinCost" msgstr "pgr_maxFlowMinCost" -#: ../../build/doc/release_notes.rst:193 +#: ../../build/doc/release_notes.rst:208 msgid "pgr_maxFlowMinCost_Cost" msgstr "pgr_maxFlowMinCost_Cost" -#: ../../build/doc/release_notes.rst:194 +#: ../../build/doc/release_notes.rst:209 msgid "pgr_extractVertices" msgstr "pgr_extractVertices" -#: ../../build/doc/release_notes.rst:195 +#: ../../build/doc/release_notes.rst:210 msgid "pgr_turnRestrictedPath" msgstr "pgr_turnRestrictedPath" -#: ../../build/doc/release_notes.rst:196 +#: ../../build/doc/release_notes.rst:211 msgid "pgr_stoerWagner" msgstr "pgr_stoerWagner" -#: ../../build/doc/release_notes.rst:197 +#: ../../build/doc/release_notes.rst:212 msgid "pgr_dagShortestpath" msgstr "pgr_dagShortestpath" -#: ../../build/doc/release_notes.rst:198 +#: ../../build/doc/release_notes.rst:213 msgid "pgr_topologicalSort" msgstr "pgr_topologicalSort" -#: ../../build/doc/release_notes.rst:199 +#: ../../build/doc/release_notes.rst:214 msgid "pgr_transitiveClosure" msgstr "pgr_transitiveClosure" -#: ../../build/doc/release_notes.rst:200 +#: ../../build/doc/release_notes.rst:215 msgid "VRP category" msgstr "Categoría VRP" -#: ../../build/doc/release_notes.rst:202 +#: ../../build/doc/release_notes.rst:217 msgid "pgr_pickDeliverEuclidean" msgstr "pgr_pickDeliverEuclidean" -#: ../../build/doc/release_notes.rst:203 +#: ../../build/doc/release_notes.rst:218 msgid "pgr_pickDeliver" msgstr "pgr_pickDeliver" -#: ../../build/doc/release_notes.rst:205 +#: ../../build/doc/release_notes.rst:220 msgid "Chinese Postman family" msgstr "Familia Chinese Postman" -#: ../../build/doc/release_notes.rst:207 +#: ../../build/doc/release_notes.rst:222 msgid "pgr_chinesePostman" msgstr "pgr_chinesePostman" -#: ../../build/doc/release_notes.rst:208 +#: ../../build/doc/release_notes.rst:223 msgid "pgr_chinesePostmanCost" msgstr "pgr_chinesePostmanCost" -#: ../../build/doc/release_notes.rst:210 +#: ../../build/doc/release_notes.rst:225 msgid "Breadth First Search family" msgstr "Familia Breadth First Search" -#: ../../build/doc/release_notes.rst:212 +#: ../../build/doc/release_notes.rst:227 msgid "pgr_breadthFirstSearch" msgstr "pgr_breadthFirstSearch" -#: ../../build/doc/release_notes.rst:213 +#: ../../build/doc/release_notes.rst:228 msgid "pgr_binaryBreadthFirstSearch" msgstr "pgr_binaryBreadthFirstSearch" -#: ../../build/doc/release_notes.rst:215 +#: ../../build/doc/release_notes.rst:230 msgid "Bellman Ford family" msgstr "Familia Bellman Ford" -#: ../../build/doc/release_notes.rst:217 +#: ../../build/doc/release_notes.rst:232 msgid "pgr_bellmanFord" msgstr "pgr_bellmanFord" -#: ../../build/doc/release_notes.rst:218 +#: ../../build/doc/release_notes.rst:233 msgid "pgr_edwardMoore" msgstr "pgr_edwardMoore" -#: ../../build/doc/release_notes.rst:221 +#: ../../build/doc/release_notes.rst:236 msgid "Moved to legacy" msgstr "Se trasladó al legado" -#: ../../build/doc/release_notes.rst:222 +#: ../../build/doc/release_notes.rst:237 msgid "Experimental functions" msgstr "Funciones experimentales" -#: ../../build/doc/release_notes.rst:224 +#: ../../build/doc/release_notes.rst:239 msgid "pgr_labelGraph - Use the components family of functions instead." msgstr "" "pgr_labelGraph - Utilice la familia de componentes de funciones en su lugar." -#: ../../build/doc/release_notes.rst:225 +#: ../../build/doc/release_notes.rst:240 msgid "Max flow - functions were renamed on v2.5.0" msgstr "Max flow - las funciones fueron renombradas en v2.5.0" -#: ../../build/doc/release_notes.rst:227 +#: ../../build/doc/release_notes.rst:242 msgid "pgr_maxFlowPushRelabel" msgstr "pgr_maxFlowPushRelabel" -#: ../../build/doc/release_notes.rst:228 +#: ../../build/doc/release_notes.rst:243 msgid "pgr_maxFlowBoykovKolmogorov" msgstr "pgr_maxFlowBoykovKolmogorov" -#: ../../build/doc/release_notes.rst:229 +#: ../../build/doc/release_notes.rst:244 msgid "pgr_maxFlowEdmondsKarp" msgstr "pgr_maxFlowEdmondsKarp" -#: ../../build/doc/release_notes.rst:230 +#: ../../build/doc/release_notes.rst:245 msgid "pgr_maximumcardinalitymatching" msgstr "pgr_maximumcardinalitymatching" -#: ../../build/doc/release_notes.rst:232 +#: ../../build/doc/release_notes.rst:247 msgid "VRP" msgstr "VRP" -#: ../../build/doc/release_notes.rst:234 +#: ../../build/doc/release_notes.rst:249 msgid "pgr_gsoc_vrppdtw" msgstr "pgr_gsoc_vrppdtw" -#: ../../build/doc/release_notes.rst:236 +#: ../../build/doc/release_notes.rst:251 msgid "TSP old signatures" msgstr "Firmas antiguas de TSP" -#: ../../build/doc/release_notes.rst:237 +#: ../../build/doc/release_notes.rst:252 msgid "pgr_pointsAsPolygon" msgstr "pgr_pointsAsPolygon" -#: ../../build/doc/release_notes.rst:238 +#: ../../build/doc/release_notes.rst:253 msgid "pgr_alphaShape old signature" msgstr "pgr_alphaShape firma antigua" -#: ../../build/doc/release_notes.rst:244 +#: ../../build/doc/release_notes.rst:259 msgid "pgRouting 2.6.3 Release Notes" msgstr "pgRouting 2.6.3 Notas de la Versión" -#: ../../build/doc/release_notes.rst:246 +#: ../../build/doc/release_notes.rst:261 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -737,17 +765,17 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:249 ../../build/doc/release_notes.rst:263 -#: ../../build/doc/release_notes.rst:321 ../../build/doc/release_notes.rst:350 -#: ../../build/doc/release_notes.rst:403 ../../build/doc/release_notes.rst:414 -#: ../../build/doc/release_notes.rst:426 ../../build/doc/release_notes.rst:508 -#: ../../build/doc/release_notes.rst:522 ../../build/doc/release_notes.rst:559 -#: ../../build/doc/release_notes.rst:913 ../../build/doc/release_notes.rst:920 -#: ../../build/doc/release_notes.rst:941 ../../build/doc/release_notes.rst:948 +#: ../../build/doc/release_notes.rst:264 ../../build/doc/release_notes.rst:278 +#: ../../build/doc/release_notes.rst:336 ../../build/doc/release_notes.rst:365 +#: ../../build/doc/release_notes.rst:418 ../../build/doc/release_notes.rst:429 +#: ../../build/doc/release_notes.rst:441 ../../build/doc/release_notes.rst:523 +#: ../../build/doc/release_notes.rst:537 ../../build/doc/release_notes.rst:574 +#: ../../build/doc/release_notes.rst:928 ../../build/doc/release_notes.rst:935 +#: ../../build/doc/release_notes.rst:956 ../../build/doc/release_notes.rst:963 msgid "Bug fixes" msgstr "Correcciones" -#: ../../build/doc/release_notes.rst:250 +#: ../../build/doc/release_notes.rst:265 msgid "" "`#1219 `__ Implicit cast " "for via_path integer to text" @@ -755,7 +783,7 @@ msgstr "" "`#1219 `__ Implicit cast " "for via_path integer to text" -#: ../../build/doc/release_notes.rst:251 +#: ../../build/doc/release_notes.rst:266 msgid "" "`#1193 `__ Fixed " "pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" @@ -763,7 +791,7 @@ msgstr "" "`#1193 `__ Fixed " "pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" -#: ../../build/doc/release_notes.rst:252 +#: ../../build/doc/release_notes.rst:267 msgid "" "`#1185 `__ Improve " "FindPostgreSQL.cmake" @@ -771,11 +799,11 @@ msgstr "" "`#1185 `__ Improve " "FindPostgreSQL.cmake" -#: ../../build/doc/release_notes.rst:258 +#: ../../build/doc/release_notes.rst:273 msgid "pgRouting 2.6.2 Release Notes" msgstr "pgRouting 2.6.2 Notas de la versión" -#: ../../build/doc/release_notes.rst:260 +#: ../../build/doc/release_notes.rst:275 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -787,7 +815,7 @@ msgstr "" "`Git closed milestone for 2.6.2 " "`_." -#: ../../build/doc/release_notes.rst:264 +#: ../../build/doc/release_notes.rst:279 msgid "" "`#1152 `__ Fixes driving" " distance when vertex is not part of the graph" @@ -795,7 +823,7 @@ msgstr "" "`#1152 `__ Corrige la " "distancia de conducción cuando el vértice no forma parte del grafo" -#: ../../build/doc/release_notes.rst:265 +#: ../../build/doc/release_notes.rst:280 msgid "" "`#1098 `__ Fixes windows" " test" @@ -803,7 +831,7 @@ msgstr "" "`#1098 `__ Correcciones " "de pruebas de ventanas." -#: ../../build/doc/release_notes.rst:266 +#: ../../build/doc/release_notes.rst:281 msgid "" "`#1165 `__ Fixes build " "for python3 and perl5" @@ -811,11 +839,11 @@ msgstr "" "`#1165 `__ Correcciones " "de la compilación de python3 y perl5" -#: ../../build/doc/release_notes.rst:271 +#: ../../build/doc/release_notes.rst:286 msgid "pgRouting 2.6.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.6.1" -#: ../../build/doc/release_notes.rst:273 +#: ../../build/doc/release_notes.rst:288 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -828,135 +856,135 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:275 ../../build/doc/release_notes.rst:362 +#: ../../build/doc/release_notes.rst:290 ../../build/doc/release_notes.rst:377 msgid "Fixes server crash on several functions." msgstr "Corrige el bloqueo del servidor en varias funciones." -#: ../../build/doc/release_notes.rst:277 ../../build/doc/release_notes.rst:364 -#: ../../build/doc/release_notes.rst:722 +#: ../../build/doc/release_notes.rst:292 ../../build/doc/release_notes.rst:379 +#: ../../build/doc/release_notes.rst:737 msgid "pgr_floydWarshall" msgstr "pgr_floydWarshall" -#: ../../build/doc/release_notes.rst:278 ../../build/doc/release_notes.rst:365 +#: ../../build/doc/release_notes.rst:293 ../../build/doc/release_notes.rst:380 msgid "pgr_johnson" msgstr "pgr_johnson" -#: ../../build/doc/release_notes.rst:279 ../../build/doc/release_notes.rst:366 +#: ../../build/doc/release_notes.rst:294 ../../build/doc/release_notes.rst:381 msgid "pgr_astar" msgstr "pgr_astar" -#: ../../build/doc/release_notes.rst:280 ../../build/doc/release_notes.rst:367 +#: ../../build/doc/release_notes.rst:295 ../../build/doc/release_notes.rst:382 msgid "pgr_bdAstar" msgstr "pgr_bdAstar" -#: ../../build/doc/release_notes.rst:281 ../../build/doc/release_notes.rst:368 +#: ../../build/doc/release_notes.rst:296 ../../build/doc/release_notes.rst:383 msgid "pgr_bdDijstra" msgstr "pgr_bdDijstra" -#: ../../build/doc/release_notes.rst:282 ../../build/doc/release_notes.rst:369 +#: ../../build/doc/release_notes.rst:297 ../../build/doc/release_notes.rst:384 msgid "pgr_alphashape" msgstr "pgr_alphashape" -#: ../../build/doc/release_notes.rst:283 ../../build/doc/release_notes.rst:370 -#: ../../build/doc/release_notes.rst:615 +#: ../../build/doc/release_notes.rst:298 ../../build/doc/release_notes.rst:385 +#: ../../build/doc/release_notes.rst:630 msgid "pgr_dijkstraCostMatrix" msgstr "pgr_dijkstraCostMatrix" -#: ../../build/doc/release_notes.rst:284 ../../build/doc/release_notes.rst:371 +#: ../../build/doc/release_notes.rst:299 ../../build/doc/release_notes.rst:386 msgid "pgr_dijkstra" msgstr "pgr_dijkstra" -#: ../../build/doc/release_notes.rst:285 ../../build/doc/release_notes.rst:372 +#: ../../build/doc/release_notes.rst:300 ../../build/doc/release_notes.rst:387 msgid "pgr_dijkstraCost" msgstr "pgr_dijkstraCost" -#: ../../build/doc/release_notes.rst:286 ../../build/doc/release_notes.rst:373 +#: ../../build/doc/release_notes.rst:301 ../../build/doc/release_notes.rst:388 msgid "pgr_drivingDistance" msgstr "pgr_drivingDistance" -#: ../../build/doc/release_notes.rst:287 ../../build/doc/release_notes.rst:374 +#: ../../build/doc/release_notes.rst:302 ../../build/doc/release_notes.rst:389 msgid "pgr_KSP" msgstr "pgr_KSP" -#: ../../build/doc/release_notes.rst:288 ../../build/doc/release_notes.rst:375 +#: ../../build/doc/release_notes.rst:303 ../../build/doc/release_notes.rst:390 msgid "pgr_dijkstraVia (proposed)" msgstr "pgr_dijkstraVia (proposed)" -#: ../../build/doc/release_notes.rst:289 ../../build/doc/release_notes.rst:376 +#: ../../build/doc/release_notes.rst:304 ../../build/doc/release_notes.rst:391 msgid "pgr_boykovKolmogorov (proposed)" msgstr "pgr_boykovKolmogorov (proposed)" -#: ../../build/doc/release_notes.rst:290 ../../build/doc/release_notes.rst:377 +#: ../../build/doc/release_notes.rst:305 ../../build/doc/release_notes.rst:392 msgid "pgr_edgeDisjointPaths (proposed)" msgstr "pgr_edgeDisjointPaths (proposed)" -#: ../../build/doc/release_notes.rst:291 ../../build/doc/release_notes.rst:378 +#: ../../build/doc/release_notes.rst:306 ../../build/doc/release_notes.rst:393 msgid "pgr_edmondsKarp (proposed)" msgstr "pgr_edmondsKarp (proposed)" -#: ../../build/doc/release_notes.rst:292 ../../build/doc/release_notes.rst:379 +#: ../../build/doc/release_notes.rst:307 ../../build/doc/release_notes.rst:394 msgid "pgr_maxCardinalityMatch (proposed)" msgstr "pgr_maxCardinalityMatch (proposed)" -#: ../../build/doc/release_notes.rst:293 ../../build/doc/release_notes.rst:380 +#: ../../build/doc/release_notes.rst:308 ../../build/doc/release_notes.rst:395 msgid "pgr_maxFlow (proposed)" msgstr "pgr_maxFlow (proposed)" -#: ../../build/doc/release_notes.rst:294 ../../build/doc/release_notes.rst:381 +#: ../../build/doc/release_notes.rst:309 ../../build/doc/release_notes.rst:396 msgid "pgr_withPoints (proposed)" msgstr "pgr_withPoints (proposed)" -#: ../../build/doc/release_notes.rst:295 ../../build/doc/release_notes.rst:382 +#: ../../build/doc/release_notes.rst:310 ../../build/doc/release_notes.rst:397 msgid "pgr_withPointsCost (proposed)" msgstr "pgr_withPointsCost (proposed)" -#: ../../build/doc/release_notes.rst:296 ../../build/doc/release_notes.rst:383 +#: ../../build/doc/release_notes.rst:311 ../../build/doc/release_notes.rst:398 msgid "pgr_withPointsKSP (proposed)" msgstr "pgr_withPointsKSP (proposed)" -#: ../../build/doc/release_notes.rst:297 ../../build/doc/release_notes.rst:384 +#: ../../build/doc/release_notes.rst:312 ../../build/doc/release_notes.rst:399 msgid "pgr_withPointsDD (proposed)" msgstr "pgr_withPointsDD (proposed)" -#: ../../build/doc/release_notes.rst:298 ../../build/doc/release_notes.rst:385 +#: ../../build/doc/release_notes.rst:313 ../../build/doc/release_notes.rst:400 msgid "pgr_withPointsCostMatrix (proposed)" msgstr "pgr_withPointsCostMatrix (propuesto)" -#: ../../build/doc/release_notes.rst:299 ../../build/doc/release_notes.rst:386 +#: ../../build/doc/release_notes.rst:314 ../../build/doc/release_notes.rst:401 msgid "pgr_contractGraph (experimental)" msgstr "pgr_contractGraph (experimental)" -#: ../../build/doc/release_notes.rst:300 ../../build/doc/release_notes.rst:387 +#: ../../build/doc/release_notes.rst:315 ../../build/doc/release_notes.rst:402 msgid "pgr_pushRelabel (experimental)" msgstr "pgr_pushRelabel (experimental)" -#: ../../build/doc/release_notes.rst:301 ../../build/doc/release_notes.rst:388 +#: ../../build/doc/release_notes.rst:316 ../../build/doc/release_notes.rst:403 msgid "pgr_vrpOneDepot (experimental)" msgstr "pgr_vrpOneDepot (experimental)" -#: ../../build/doc/release_notes.rst:302 ../../build/doc/release_notes.rst:389 +#: ../../build/doc/release_notes.rst:317 ../../build/doc/release_notes.rst:404 msgid "pgr_gsoc_vrppdtw (experimental)" msgstr "pgr_gsoc_vrppdtw (experimental)" -#: ../../build/doc/release_notes.rst:303 ../../build/doc/release_notes.rst:390 +#: ../../build/doc/release_notes.rst:318 ../../build/doc/release_notes.rst:405 msgid "Fixes for deprecated functions where also applied but not tested" msgstr "" "Correcciones para funciones en desuso en las que también se aplican pero no " "se prueban" -#: ../../build/doc/release_notes.rst:305 ../../build/doc/release_notes.rst:392 +#: ../../build/doc/release_notes.rst:320 ../../build/doc/release_notes.rst:407 msgid "Removed compilation warning for g++8" msgstr "Se ha eliminado la advertencia de compilación para g++8" -#: ../../build/doc/release_notes.rst:306 ../../build/doc/release_notes.rst:393 +#: ../../build/doc/release_notes.rst:321 ../../build/doc/release_notes.rst:408 msgid "Fixed a fallthrugh on Astar and bdAstar." msgstr "Se ha arreglado un fallthrugh en Astar y bdAstar." -#: ../../build/doc/release_notes.rst:311 +#: ../../build/doc/release_notes.rst:326 msgid "pgRouting 2.6.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.6.0" -#: ../../build/doc/release_notes.rst:313 +#: ../../build/doc/release_notes.rst:328 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -969,15 +997,15 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:317 +#: ../../build/doc/release_notes.rst:332 msgid "New fexperimental functions" msgstr "Nuevas funciones fexperimentales" -#: ../../build/doc/release_notes.rst:318 ../../build/doc/release_notes.rst:473 +#: ../../build/doc/release_notes.rst:333 ../../build/doc/release_notes.rst:488 msgid "pgr_lineGraphFull" msgstr "pgr_lineGraphFull" -#: ../../build/doc/release_notes.rst:322 +#: ../../build/doc/release_notes.rst:337 msgid "" "Fix pgr_trsp(text,integer,double precision,integer,double " "precision,boolean,boolean[,text])" @@ -985,33 +1013,33 @@ msgstr "" "Correción pgr_trsp(text,integer,double precision,integer,double " "precision,boolean,boolean[,text])" -#: ../../build/doc/release_notes.rst:324 +#: ../../build/doc/release_notes.rst:339 msgid "without restrictions" msgstr "sin restricciones" -#: ../../build/doc/release_notes.rst:326 +#: ../../build/doc/release_notes.rst:341 msgid "calls pgr_dijkstra when both end points have a fraction IN (0,1)" msgstr "" "llama a pgr_dijkstra cuando ambos puntos finales tienen una fracción IN " "(0,1)" -#: ../../build/doc/release_notes.rst:327 +#: ../../build/doc/release_notes.rst:342 msgid "calls pgr_withPoints when at least one fraction NOT IN (0,1)" msgstr "llama a pgr_withPoints cuando al menos una fracción NO ESTÁ EN (0,1)" -#: ../../build/doc/release_notes.rst:329 +#: ../../build/doc/release_notes.rst:344 msgid "with restrictions" msgstr "con restricciones" -#: ../../build/doc/release_notes.rst:331 +#: ../../build/doc/release_notes.rst:346 msgid "calls original trsp code" msgstr "llama al código original trsp" -#: ../../build/doc/release_notes.rst:334 +#: ../../build/doc/release_notes.rst:349 msgid "Internal code" msgstr "Código interno" -#: ../../build/doc/release_notes.rst:335 +#: ../../build/doc/release_notes.rst:350 msgid "" "Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [, " "text])" @@ -1019,23 +1047,23 @@ msgstr "" "Se ha limpiado el código interno de " "trsp(text,integer,integer,boolean,boolean [, text])" -#: ../../build/doc/release_notes.rst:337 +#: ../../build/doc/release_notes.rst:352 msgid "Removed the use of pointers" msgstr "Se eliminó el uso de punteros" -#: ../../build/doc/release_notes.rst:338 +#: ../../build/doc/release_notes.rst:353 msgid "Internal code can accept BIGINT" msgstr "El código interno puede aceptar BIGINT" -#: ../../build/doc/release_notes.rst:340 +#: ../../build/doc/release_notes.rst:355 msgid "Cleaned the internal code of withPoints" msgstr "Limpiado el código interno de withPoints" -#: ../../build/doc/release_notes.rst:345 +#: ../../build/doc/release_notes.rst:360 msgid "pgRouting 2.5.5 Release Notes" msgstr "Notas de la versión de PgRouting 2.5.5 " -#: ../../build/doc/release_notes.rst:347 +#: ../../build/doc/release_notes.rst:362 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1048,25 +1076,25 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:351 +#: ../../build/doc/release_notes.rst:366 msgid "Fixes driving distance when vertex is not part of the graph" msgstr "" "Corrige la distancia de conducción cuando el vértice no forma parte del " "grafo" -#: ../../build/doc/release_notes.rst:352 +#: ../../build/doc/release_notes.rst:367 msgid "Fixes windows test" msgstr "Corrección de la prueba de ventanas" -#: ../../build/doc/release_notes.rst:353 +#: ../../build/doc/release_notes.rst:368 msgid "Fixes build for python3 and perl5" msgstr "Arreglos de compilación para python3 y perl5" -#: ../../build/doc/release_notes.rst:358 +#: ../../build/doc/release_notes.rst:373 msgid "pgRouting 2.5.4 Release Notes" msgstr "Notas de la versión de pgRouting 2.5.4 " -#: ../../build/doc/release_notes.rst:360 +#: ../../build/doc/release_notes.rst:375 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1079,11 +1107,11 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:398 +#: ../../build/doc/release_notes.rst:413 msgid "pgRouting 2.5.3 Release Notes" msgstr "Notas de la versión de pgRouting 2.5.3 " -#: ../../build/doc/release_notes.rst:400 +#: ../../build/doc/release_notes.rst:415 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1096,7 +1124,7 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:404 +#: ../../build/doc/release_notes.rst:419 msgid "" "Fix for postgresql 11: Removed a compilation error when compiling with " "postgreSQL" @@ -1104,11 +1132,11 @@ msgstr "" "Arreglo para postgresql 11: Se ha eliminado un error que ocurría al compilar" " con postgreSQL" -#: ../../build/doc/release_notes.rst:409 +#: ../../build/doc/release_notes.rst:424 msgid "pgRouting 2.5.2 Release Notes" msgstr "Notas de la versión de pgRouting 2.5.2" -#: ../../build/doc/release_notes.rst:411 +#: ../../build/doc/release_notes.rst:426 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1121,16 +1149,16 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:415 +#: ../../build/doc/release_notes.rst:430 msgid "Fix for postgresql 10.1: Removed a compiler condition" msgstr "" "Arreglo para postgresql 10.1: Se ha eliminado una condición del compilador" -#: ../../build/doc/release_notes.rst:421 +#: ../../build/doc/release_notes.rst:436 msgid "pgRouting 2.5.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.5.1" -#: ../../build/doc/release_notes.rst:423 +#: ../../build/doc/release_notes.rst:438 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1143,15 +1171,15 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:427 +#: ../../build/doc/release_notes.rst:442 msgid "Fixed prerequisite minimum version of: cmake" msgstr "Prerrequisito fijo versión mínima de: cmake" -#: ../../build/doc/release_notes.rst:433 +#: ../../build/doc/release_notes.rst:448 msgid "pgRouting 2.5.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.5.0" -#: ../../build/doc/release_notes.rst:435 +#: ../../build/doc/release_notes.rst:450 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.5.0 " @@ -1163,103 +1191,103 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:439 +#: ../../build/doc/release_notes.rst:454 msgid "enhancement:" msgstr "mejora:" -#: ../../build/doc/release_notes.rst:440 +#: ../../build/doc/release_notes.rst:455 msgid "pgr_version is now on SQL language" msgstr "pgr_version está ahora en lenguaje SQL" -#: ../../build/doc/release_notes.rst:443 +#: ../../build/doc/release_notes.rst:458 msgid "Breaking change on:" msgstr "Cambio de ruptura en:" -#: ../../build/doc/release_notes.rst:444 +#: ../../build/doc/release_notes.rst:459 msgid "pgr_edgeDisjointPaths:" msgstr "pgr_edgeDisjointPaths:" -#: ../../build/doc/release_notes.rst:446 +#: ../../build/doc/release_notes.rst:461 msgid "Added path_id, cost and agg_cost columns on the result" msgstr "Columnas path_id, cost y agg_cost añadidas en el resultado." -#: ../../build/doc/release_notes.rst:447 +#: ../../build/doc/release_notes.rst:462 msgid "Parameter names changed" msgstr "Nombres de parámetros cambiados" -#: ../../build/doc/release_notes.rst:448 +#: ../../build/doc/release_notes.rst:463 msgid "The many version results are the union of the one to one version" msgstr "" "Los muchos resultados de la versión son la unión de la versión Uno a Uno" -#: ../../build/doc/release_notes.rst:451 +#: ../../build/doc/release_notes.rst:466 msgid "New Signatures:" msgstr "Nuevas Firmas:" -#: ../../build/doc/release_notes.rst:452 +#: ../../build/doc/release_notes.rst:467 msgid "pgr_bdAstar(one to one)" msgstr "pgr_bdAstar(Uno a Uno)" -#: ../../build/doc/release_notes.rst:455 ../../build/doc/release_notes.rst:614 +#: ../../build/doc/release_notes.rst:470 ../../build/doc/release_notes.rst:629 msgid "New Proposed functions" msgstr "Nuevas Funciones Propuestas" -#: ../../build/doc/release_notes.rst:463 +#: ../../build/doc/release_notes.rst:478 msgid "pgr_bdAstarCostMatrix" msgstr "pgr_bdAstarCostMatrix" -#: ../../build/doc/release_notes.rst:471 +#: ../../build/doc/release_notes.rst:486 msgid "pgr_bdDijkstraCostMatrix" msgstr "pgr_bdDijkstraCostMatrix" -#: ../../build/doc/release_notes.rst:472 +#: ../../build/doc/release_notes.rst:487 msgid "pgr_lineGraph" msgstr "pgr_lineGraph" -#: ../../build/doc/release_notes.rst:481 ../../build/doc/release_notes.rst:551 -#: ../../build/doc/release_notes.rst:638 +#: ../../build/doc/release_notes.rst:496 ../../build/doc/release_notes.rst:566 +#: ../../build/doc/release_notes.rst:653 msgid "Deprecated Signatures" msgstr "Firmas Obsoletas" -#: ../../build/doc/release_notes.rst:482 +#: ../../build/doc/release_notes.rst:497 msgid "pgr_bdastar - use pgr_bdAstar instead" msgstr "pgr_bdastar - utilice pgr_bdAstar en su lugar" -#: ../../build/doc/release_notes.rst:485 +#: ../../build/doc/release_notes.rst:500 msgid "Renamed Functions" msgstr "Funciones Renombradas" -#: ../../build/doc/release_notes.rst:486 +#: ../../build/doc/release_notes.rst:501 msgid "pgr_maxFlowPushRelabel - use pgr_pushRelabel instead" msgstr "pgr_maxFlowPushRelabel - utilice pgr_pushRelabel en su lugar" -#: ../../build/doc/release_notes.rst:487 +#: ../../build/doc/release_notes.rst:502 msgid "pgr_maxFlowEdmondsKarp -use pgr_edmondsKarp instead" msgstr "pgr_maxFlowEdmondsKarp -utilice pgr_edmondsKarp en su lugar" -#: ../../build/doc/release_notes.rst:488 +#: ../../build/doc/release_notes.rst:503 msgid "pgr_maxFlowBoykovKolmogorov - use pgr_boykovKolmogorov instead" msgstr "" "pgr_maxFlowBoykovKolmogorov - utilice pgr_boykovKolmogorov en su lugar" -#: ../../build/doc/release_notes.rst:489 +#: ../../build/doc/release_notes.rst:504 msgid "pgr_maximumCardinalityMatching - use pgr_maxCardinalityMatch instead" msgstr "" "pgr_maximumCardinalityMatching - utilice pgr_maxCardinalityMatch en su lugar" -#: ../../build/doc/release_notes.rst:492 +#: ../../build/doc/release_notes.rst:507 msgid "Deprecated function" msgstr "Función Obsoleta" -#: ../../build/doc/release_notes.rst:493 +#: ../../build/doc/release_notes.rst:508 msgid "pgr_pointToEdgeNode" msgstr "pgr_pointToEdgeNode" -#: ../../build/doc/release_notes.rst:499 +#: ../../build/doc/release_notes.rst:514 msgid "pgRouting 2.4.2 Release Notes" msgstr "Notas de la versión de pgRouting 2.4.2 " -#: ../../build/doc/release_notes.rst:501 +#: ../../build/doc/release_notes.rst:516 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1272,30 +1300,30 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:504 +#: ../../build/doc/release_notes.rst:519 msgid "Improvement" msgstr "Mejora" -#: ../../build/doc/release_notes.rst:505 +#: ../../build/doc/release_notes.rst:520 msgid "Works for postgreSQL 10" msgstr "Funciona para postgreSQL 10" -#: ../../build/doc/release_notes.rst:509 +#: ../../build/doc/release_notes.rst:524 msgid "Fixed: Unexpected error column \"cname\"" msgstr "Corregido: Columna de error inesperado \"cname\"" -#: ../../build/doc/release_notes.rst:510 +#: ../../build/doc/release_notes.rst:525 msgid "" "Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" msgstr "" "Reemplace __linux__ por __GLIBC__ para cabeceras y funciones específicas de " "glibc" -#: ../../build/doc/release_notes.rst:517 +#: ../../build/doc/release_notes.rst:532 msgid "pgRouting 2.4.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.4.1" -#: ../../build/doc/release_notes.rst:519 +#: ../../build/doc/release_notes.rst:534 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1308,19 +1336,19 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:523 +#: ../../build/doc/release_notes.rst:538 msgid "Fixed compiling error on macOS" msgstr "Corregido error de compilación en macOS" -#: ../../build/doc/release_notes.rst:524 +#: ../../build/doc/release_notes.rst:539 msgid "Condition error on pgr_withPoints" msgstr "Error de condición en pgr_withPoints" -#: ../../build/doc/release_notes.rst:529 +#: ../../build/doc/release_notes.rst:544 msgid "pgRouting 2.4.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.4.0" -#: ../../build/doc/release_notes.rst:531 +#: ../../build/doc/release_notes.rst:546 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.4.0 " @@ -1332,82 +1360,82 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:534 ../../build/doc/release_notes.rst:604 -#: ../../build/doc/release_notes.rst:765 +#: ../../build/doc/release_notes.rst:549 ../../build/doc/release_notes.rst:619 +#: ../../build/doc/release_notes.rst:780 msgid "New Signatures" msgstr "Nuevas Firmas" -#: ../../build/doc/release_notes.rst:535 +#: ../../build/doc/release_notes.rst:550 msgid "pgr_bdDijkstra" msgstr "pgr_bdDijkstra" -#: ../../build/doc/release_notes.rst:539 +#: ../../build/doc/release_notes.rst:554 msgid "New Proposed Signatures" msgstr "Nuevas Firmas Propuestas" -#: ../../build/doc/release_notes.rst:541 +#: ../../build/doc/release_notes.rst:556 msgid "pgr_astar(one to many)" msgstr "pgr_astar(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:542 +#: ../../build/doc/release_notes.rst:557 msgid "pgr_astar(many to one)" msgstr "pgr_astar(muchos a uno)" -#: ../../build/doc/release_notes.rst:543 +#: ../../build/doc/release_notes.rst:558 msgid "pgr_astar(many to many)" msgstr "pgr_astar(muchos a muchos)" -#: ../../build/doc/release_notes.rst:544 +#: ../../build/doc/release_notes.rst:559 msgid "pgr_astarCost(one to one)" msgstr "pgr_astarCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:545 +#: ../../build/doc/release_notes.rst:560 msgid "pgr_astarCost(one to many)" msgstr "pgr_astarCost(uno a muchos)" -#: ../../build/doc/release_notes.rst:546 +#: ../../build/doc/release_notes.rst:561 msgid "pgr_astarCost(many to one)" msgstr "pgr_astarCost(muchos a uno)" -#: ../../build/doc/release_notes.rst:547 +#: ../../build/doc/release_notes.rst:562 msgid "pgr_astarCost(many to many)" msgstr "pgr_astarCost(muchos a muchos)" -#: ../../build/doc/release_notes.rst:548 +#: ../../build/doc/release_notes.rst:563 msgid "pgr_astarCostMatrix" msgstr "pgr_astarCostMatrix" -#: ../../build/doc/release_notes.rst:552 +#: ../../build/doc/release_notes.rst:567 msgid "pgr_bddijkstra - use pgr_bdDijkstra instead" msgstr "pgr_bddijkstra - utilice pgr_bdDijkstra en su lugar" -#: ../../build/doc/release_notes.rst:555 ../../build/doc/release_notes.rst:644 +#: ../../build/doc/release_notes.rst:570 ../../build/doc/release_notes.rst:659 msgid "Deprecated Functions" msgstr "Funciones Obsoletas" -#: ../../build/doc/release_notes.rst:556 +#: ../../build/doc/release_notes.rst:571 msgid "pgr_pointsToVids" msgstr "pgr_pointsToVids" -#: ../../build/doc/release_notes.rst:560 +#: ../../build/doc/release_notes.rst:575 msgid "Bug fixes on proposed functions" msgstr "Corrección de errores en las funciones propuestas" -#: ../../build/doc/release_notes.rst:562 +#: ../../build/doc/release_notes.rst:577 msgid "pgr_withPointsKSP: fixed ordering" msgstr "pgr_withPointsKSP: ordenamiento arreglado" -#: ../../build/doc/release_notes.rst:564 +#: ../../build/doc/release_notes.rst:579 msgid "TRSP original code is used with no changes on the compilation warnings" msgstr "" "El código original de TRSP se utiliza sin cambios en las advertencias de " "compilación" -#: ../../build/doc/release_notes.rst:569 +#: ../../build/doc/release_notes.rst:584 msgid "pgRouting 2.3.2 Release Notes" msgstr "Notas de la versión de pgRouting 2.3.2 " -#: ../../build/doc/release_notes.rst:571 +#: ../../build/doc/release_notes.rst:586 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.2 " @@ -1419,31 +1447,31 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:575 +#: ../../build/doc/release_notes.rst:590 msgid "Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck." msgstr "" "Se ha corregido el bloqueo pgr_gsoc_vrppdtw cuando todos los pedidos caben " "en un camión." -#: ../../build/doc/release_notes.rst:576 +#: ../../build/doc/release_notes.rst:591 msgid "Fixed pgr_trsp:" msgstr "Corregido pgr_trsp:" -#: ../../build/doc/release_notes.rst:578 +#: ../../build/doc/release_notes.rst:593 msgid "Alternate code is not executed when the point is in reality a vertex" msgstr "" "El código alternativo no se ejecuta cuando el punto es en realidad un " "vértice" -#: ../../build/doc/release_notes.rst:579 +#: ../../build/doc/release_notes.rst:594 msgid "Fixed ambiguity on seq" msgstr "Corregida la ambiguedad en el seq" -#: ../../build/doc/release_notes.rst:585 +#: ../../build/doc/release_notes.rst:600 msgid "pgRouting 2.3.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.3.1" -#: ../../build/doc/release_notes.rst:587 +#: ../../build/doc/release_notes.rst:602 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.1 " @@ -1455,23 +1483,23 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:591 +#: ../../build/doc/release_notes.rst:606 msgid "Leaks on proposed max_flow functions" msgstr "Fugas en las funciones max_flow propuestas" -#: ../../build/doc/release_notes.rst:592 +#: ../../build/doc/release_notes.rst:607 msgid "Regression error on pgr_trsp" msgstr "Error de regresión en pgr_trsp" -#: ../../build/doc/release_notes.rst:593 +#: ../../build/doc/release_notes.rst:608 msgid "Types discrepancy on pgr_createVerticesTable" msgstr "Discrepancia de tipos en pgr_createVerticesTable" -#: ../../build/doc/release_notes.rst:599 +#: ../../build/doc/release_notes.rst:614 msgid "pgRouting 2.3.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.3.0" -#: ../../build/doc/release_notes.rst:601 +#: ../../build/doc/release_notes.rst:616 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.0 " @@ -1483,111 +1511,111 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:605 +#: ../../build/doc/release_notes.rst:620 msgid "pgr_TSP" msgstr "pgr_TSP" -#: ../../build/doc/release_notes.rst:606 +#: ../../build/doc/release_notes.rst:621 msgid "pgr_aStar" msgstr "pgr_aStar" -#: ../../build/doc/release_notes.rst:609 ../../build/doc/release_notes.rst:721 +#: ../../build/doc/release_notes.rst:624 ../../build/doc/release_notes.rst:736 msgid "New Functions" msgstr "Nuevas Funciones" -#: ../../build/doc/release_notes.rst:610 +#: ../../build/doc/release_notes.rst:625 msgid "pgr_eucledianTSP" msgstr "pgr_eucledianTSP" -#: ../../build/doc/release_notes.rst:616 +#: ../../build/doc/release_notes.rst:631 msgid "pgr_withPointsCostMatrix" msgstr "pgr_withPointsCostMatrix" -#: ../../build/doc/release_notes.rst:617 +#: ../../build/doc/release_notes.rst:632 msgid "pgr_maxFlowPushRelabel(one to one)" msgstr "pgr_maxFlowPushRelabel(Uno a Uno)" -#: ../../build/doc/release_notes.rst:618 +#: ../../build/doc/release_notes.rst:633 msgid "pgr_maxFlowPushRelabel(one to many)" msgstr "pgr_maxFlowPushRelabel(uno a muchos)" -#: ../../build/doc/release_notes.rst:619 +#: ../../build/doc/release_notes.rst:634 msgid "pgr_maxFlowPushRelabel(many to one)" msgstr "pgr_maxFlowPushRelabel(muchos a uno)" -#: ../../build/doc/release_notes.rst:620 +#: ../../build/doc/release_notes.rst:635 msgid "pgr_maxFlowPushRelabel(many to many)" msgstr "pgr_maxFlowPushRelabel(muchos a muchos)" -#: ../../build/doc/release_notes.rst:621 +#: ../../build/doc/release_notes.rst:636 msgid "pgr_maxFlowEdmondsKarp(one to one)" msgstr "pgr_maxFlowEdmondsKarp(Uno a Uno)" -#: ../../build/doc/release_notes.rst:622 +#: ../../build/doc/release_notes.rst:637 msgid "pgr_maxFlowEdmondsKarp(one to many)" msgstr "pgr_maxFlowEdmondsKarp(uno a muchos)" -#: ../../build/doc/release_notes.rst:623 +#: ../../build/doc/release_notes.rst:638 msgid "pgr_maxFlowEdmondsKarp(many to one)" msgstr "pgr_maxFlowEdmondsKarp(muchos a uno)" -#: ../../build/doc/release_notes.rst:624 +#: ../../build/doc/release_notes.rst:639 msgid "pgr_maxFlowEdmondsKarp(many to many)" msgstr "pgr_maxFlowEdmondsKarp(muchos a muchos)" -#: ../../build/doc/release_notes.rst:625 +#: ../../build/doc/release_notes.rst:640 msgid "pgr_maxFlowBoykovKolmogorov (one to one)" msgstr "pgr_maxFlowBoykovKolmogorov(Uno a Uno)" -#: ../../build/doc/release_notes.rst:626 +#: ../../build/doc/release_notes.rst:641 msgid "pgr_maxFlowBoykovKolmogorov (one to many)" msgstr "pgr_maxFlowBoykovKolmogorov (uno a muchos)" -#: ../../build/doc/release_notes.rst:627 +#: ../../build/doc/release_notes.rst:642 msgid "pgr_maxFlowBoykovKolmogorov (many to one)" msgstr "pgr_maxFlowBoykovKolmogorov (muchos a uno)" -#: ../../build/doc/release_notes.rst:628 +#: ../../build/doc/release_notes.rst:643 msgid "pgr_maxFlowBoykovKolmogorov (many to many)" msgstr "pgr_maxFlowBoykovKolmogorov (muchos a muchos)" -#: ../../build/doc/release_notes.rst:629 +#: ../../build/doc/release_notes.rst:644 msgid "pgr_maximumCardinalityMatching" msgstr "pgr_maximumCardinalityMatching" -#: ../../build/doc/release_notes.rst:634 +#: ../../build/doc/release_notes.rst:649 msgid "pgr_contractGraph" msgstr "pgr_contractGraph" -#: ../../build/doc/release_notes.rst:639 +#: ../../build/doc/release_notes.rst:654 msgid "pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead" msgstr "pgr_tsp - utilice pgr_TSP o pgr_eucledianTSP en su lugar" -#: ../../build/doc/release_notes.rst:640 +#: ../../build/doc/release_notes.rst:655 msgid "pgr_astar - use pgr_aStar instead" msgstr "pgr_astar - utilice pgr_aStar en su lugar" -#: ../../build/doc/release_notes.rst:645 +#: ../../build/doc/release_notes.rst:660 msgid "pgr_flip_edges" msgstr "pgr_flip_edges" -#: ../../build/doc/release_notes.rst:646 +#: ../../build/doc/release_notes.rst:661 msgid "pgr_vidsToDmatrix" msgstr "pgr_vidsToDmatrix" -#: ../../build/doc/release_notes.rst:647 +#: ../../build/doc/release_notes.rst:662 msgid "pgr_pointsToDMatrix" msgstr "pgr_pointsToDMatrix" -#: ../../build/doc/release_notes.rst:648 +#: ../../build/doc/release_notes.rst:663 msgid "pgr_textToPoints" msgstr "pgr_textToPoints" -#: ../../build/doc/release_notes.rst:655 +#: ../../build/doc/release_notes.rst:670 msgid "pgRouting 2.2.4 Release Notes" msgstr "Notas de la versión de pgRouting 2.2.4 " -#: ../../build/doc/release_notes.rst:657 +#: ../../build/doc/release_notes.rst:672 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.4 " @@ -1599,23 +1627,23 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:661 +#: ../../build/doc/release_notes.rst:676 msgid "Bogus uses of extern \"C\"" msgstr "Bogus usos de extern \"C\"" -#: ../../build/doc/release_notes.rst:662 +#: ../../build/doc/release_notes.rst:677 msgid "Build error on Fedora 24 + GCC 6.0" msgstr "Error de compilación en Fedora 24 + GCC 6.0" -#: ../../build/doc/release_notes.rst:663 +#: ../../build/doc/release_notes.rst:678 msgid "Regression error pgr_nodeNetwork" msgstr "Error de regresión pgr_nodeNetwork" -#: ../../build/doc/release_notes.rst:668 +#: ../../build/doc/release_notes.rst:683 msgid "pgRouting 2.2.3 Release Notes" msgstr "Notas de la versión de pgRouting 2.2.3 " -#: ../../build/doc/release_notes.rst:670 +#: ../../build/doc/release_notes.rst:685 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.3 " @@ -1627,15 +1655,15 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:674 +#: ../../build/doc/release_notes.rst:689 msgid "Fixed compatibility issues with PostgreSQL 9.6." msgstr "Problemas de compatibilidad con PostgreSQL 9.6 corregidos." -#: ../../build/doc/release_notes.rst:679 +#: ../../build/doc/release_notes.rst:694 msgid "pgRouting 2.2.2 Release Notes" msgstr "Notas de la versión de pgRouting 2.2.2 " -#: ../../build/doc/release_notes.rst:681 +#: ../../build/doc/release_notes.rst:696 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.2 " @@ -1647,15 +1675,15 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:685 +#: ../../build/doc/release_notes.rst:700 msgid "Fixed regression error on pgr_drivingDistance" msgstr "Corregido error de regresión en pgr_drivingDistance" -#: ../../build/doc/release_notes.rst:691 +#: ../../build/doc/release_notes.rst:706 msgid "pgRouting 2.2.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.2.1" -#: ../../build/doc/release_notes.rst:693 +#: ../../build/doc/release_notes.rst:708 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.1 " @@ -1667,19 +1695,19 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:697 +#: ../../build/doc/release_notes.rst:712 msgid "Server crash fix on pgr_alphaShape" msgstr "Corrección de bloqueo del servidor en pgr_alphaShape" -#: ../../build/doc/release_notes.rst:698 +#: ../../build/doc/release_notes.rst:713 msgid "Bug fix on With Points family of functions" msgstr "Corrección de errores en la familia de funciones With Points" -#: ../../build/doc/release_notes.rst:704 +#: ../../build/doc/release_notes.rst:719 msgid "pgRouting 2.2.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.2.0" -#: ../../build/doc/release_notes.rst:706 +#: ../../build/doc/release_notes.rst:721 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.0 " @@ -1691,131 +1719,131 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:710 ../../build/doc/release_notes.rst:778 +#: ../../build/doc/release_notes.rst:725 ../../build/doc/release_notes.rst:793 msgid "Improvements" msgstr "Mejoras" -#: ../../build/doc/release_notes.rst:711 +#: ../../build/doc/release_notes.rst:726 msgid "pgr_nodeNetwork" msgstr "pgr_nodeNetwork" -#: ../../build/doc/release_notes.rst:713 +#: ../../build/doc/release_notes.rst:728 msgid "Adding a row_where and outall optional parameters" msgstr "Adición de un row_where y todos los parámetros opcionales" -#: ../../build/doc/release_notes.rst:715 +#: ../../build/doc/release_notes.rst:730 msgid "Signature fix" msgstr "Corrección de firma" -#: ../../build/doc/release_notes.rst:717 +#: ../../build/doc/release_notes.rst:732 msgid "pgr_dijkstra -- to match what is documented" msgstr "pgr_dijkstra - para que coincida con lo que está documentado" -#: ../../build/doc/release_notes.rst:723 +#: ../../build/doc/release_notes.rst:738 msgid "pgr_Johnson" msgstr "pgr_Johnson" -#: ../../build/doc/release_notes.rst:724 +#: ../../build/doc/release_notes.rst:739 msgid "pgr_dijkstraCost(one to one)" msgstr "pgr_dijkstraCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:725 +#: ../../build/doc/release_notes.rst:740 msgid "pgr_dijkstraCost(one to many)" msgstr "pgr_dijkstraCost(uno a muchos)" -#: ../../build/doc/release_notes.rst:726 +#: ../../build/doc/release_notes.rst:741 msgid "pgr_dijkstraCost(many to one)" msgstr "pgr_dijkstraCost(muchos a uno)" -#: ../../build/doc/release_notes.rst:727 +#: ../../build/doc/release_notes.rst:742 msgid "pgr_dijkstraCost(many to many)" msgstr "pgr_dijkstraCost(muchos a muchos)" -#: ../../build/doc/release_notes.rst:730 ../../build/doc/release_notes.rst:782 +#: ../../build/doc/release_notes.rst:745 ../../build/doc/release_notes.rst:797 msgid "Proposed functionality" msgstr "Funcionalidad propuesta" -#: ../../build/doc/release_notes.rst:731 +#: ../../build/doc/release_notes.rst:746 msgid "pgr_withPoints(one to one)" msgstr "pgr_withPoints(Uno a Uno)" -#: ../../build/doc/release_notes.rst:732 +#: ../../build/doc/release_notes.rst:747 msgid "pgr_withPoints(one to many)" msgstr "pgr_withPoints(uno a muchos)" -#: ../../build/doc/release_notes.rst:733 +#: ../../build/doc/release_notes.rst:748 msgid "pgr_withPoints(many to one)" msgstr "pgr_withPoints(muchos a uno)" -#: ../../build/doc/release_notes.rst:734 +#: ../../build/doc/release_notes.rst:749 msgid "pgr_withPoints(many to many)" msgstr "pgr_withPoints(muchos a muchos)" -#: ../../build/doc/release_notes.rst:735 +#: ../../build/doc/release_notes.rst:750 msgid "pgr_withPointsCost(one to one)" msgstr "pgr_withPointsCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:736 +#: ../../build/doc/release_notes.rst:751 msgid "pgr_withPointsCost(one to many)" msgstr "pgr_withPointsCost(uno a muchos)" -#: ../../build/doc/release_notes.rst:737 +#: ../../build/doc/release_notes.rst:752 msgid "pgr_withPointsCost(many to one)" msgstr "pgr_withPointsCost(muchos a uno)" -#: ../../build/doc/release_notes.rst:738 +#: ../../build/doc/release_notes.rst:753 msgid "pgr_withPointsCost(many to many)" msgstr "pgr_withPointsCost(muchos a muchos)" -#: ../../build/doc/release_notes.rst:739 +#: ../../build/doc/release_notes.rst:754 msgid "pgr_withPointsDD(single vertex)" msgstr "pgr_withPointsDD(vértice único)" -#: ../../build/doc/release_notes.rst:740 +#: ../../build/doc/release_notes.rst:755 msgid "pgr_withPointsDD(multiple vertices)" msgstr "pgr_withPointsDD(múltiples vértices)" -#: ../../build/doc/release_notes.rst:741 +#: ../../build/doc/release_notes.rst:756 msgid "pgr_withPointsKSP" msgstr "pgr_withPointsKSP" -#: ../../build/doc/release_notes.rst:742 +#: ../../build/doc/release_notes.rst:757 msgid "pgr_dijkstraVia" msgstr "pgr_dijkstraVia" -#: ../../build/doc/release_notes.rst:746 +#: ../../build/doc/release_notes.rst:761 msgid "Deprecated functions:" msgstr "Funciones obsoletas:" -#: ../../build/doc/release_notes.rst:747 +#: ../../build/doc/release_notes.rst:762 msgid "pgr_apspWarshall use pgr_floydWarshall instead" msgstr "pgr_apspWarshall utilice pgr_floydWarshall en su lugar" -#: ../../build/doc/release_notes.rst:748 +#: ../../build/doc/release_notes.rst:763 msgid "pgr_apspJohnson use pgr_Johnson instead" msgstr "pgr_apspJohnson utilice pgr_Johnson en su lugar" -#: ../../build/doc/release_notes.rst:749 +#: ../../build/doc/release_notes.rst:764 msgid "pgr_kDijkstraCost use pgr_dijkstraCost instead" msgstr "pgr_kDijkstraCost utilice pgr_dijkstraCost en su lugar" -#: ../../build/doc/release_notes.rst:750 +#: ../../build/doc/release_notes.rst:765 msgid "pgr_kDijkstraPath use pgr_dijkstra instead" msgstr "pgr_kDijkstraPath utilice pgr_dijkstra en su lugar" -#: ../../build/doc/release_notes.rst:753 +#: ../../build/doc/release_notes.rst:768 msgid "Renamed and deprecated function" msgstr "Función renombrada y obsoleta" -#: ../../build/doc/release_notes.rst:754 +#: ../../build/doc/release_notes.rst:769 msgid "pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix" msgstr "pgr_makeDistanceMatrix renombrado a _pgr_makeDistanceMatrix" -#: ../../build/doc/release_notes.rst:760 +#: ../../build/doc/release_notes.rst:775 msgid "pgRouting 2.1.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.1.0" -#: ../../build/doc/release_notes.rst:762 +#: ../../build/doc/release_notes.rst:777 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.1.0 " @@ -1827,39 +1855,39 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:766 +#: ../../build/doc/release_notes.rst:781 msgid "pgr_dijkstra(one to many)" msgstr "pgr_dijkstra(uno a muchos)" -#: ../../build/doc/release_notes.rst:767 +#: ../../build/doc/release_notes.rst:782 msgid "pgr_dijkstra(many to one)" msgstr "pgr_dijkstra(muchos a uno)" -#: ../../build/doc/release_notes.rst:768 +#: ../../build/doc/release_notes.rst:783 msgid "pgr_dijkstra(many to many)" msgstr "pgr_dijkstra(muchos a muchos)" -#: ../../build/doc/release_notes.rst:769 +#: ../../build/doc/release_notes.rst:784 msgid "pgr_drivingDistance(multiple vertices)" msgstr "pgr_drivingDistance(multiple vertices)" -#: ../../build/doc/release_notes.rst:772 +#: ../../build/doc/release_notes.rst:787 msgid "Refactored" msgstr "Refactorizado" -#: ../../build/doc/release_notes.rst:773 +#: ../../build/doc/release_notes.rst:788 msgid "pgr_dijkstra(one to one)" msgstr "pgr_dijkstra(Uno a Uno)" -#: ../../build/doc/release_notes.rst:774 +#: ../../build/doc/release_notes.rst:789 msgid "pgr_ksp" msgstr "pgr_ksp" -#: ../../build/doc/release_notes.rst:775 +#: ../../build/doc/release_notes.rst:790 msgid "pgr_drivingDistance(single vertex)" msgstr "pgr_drivingDistance(single vertex)" -#: ../../build/doc/release_notes.rst:779 +#: ../../build/doc/release_notes.rst:794 msgid "" "pgr_alphaShape function now can generate better (multi)polygon with holes " "and alpha parameter." @@ -1867,7 +1895,7 @@ msgstr "" "La función pgr_alphaShape ahora puede generar mejores (multi)polígonos con " "agujeros y parámetro alfa." -#: ../../build/doc/release_notes.rst:783 +#: ../../build/doc/release_notes.rst:798 msgid "" "Proposed functions from Steve Woodbridge, (Classified as Convenience by the " "author.)" @@ -1875,7 +1903,7 @@ msgstr "" "Funciones propuestas de Steve Woodbridge, (Clasificado como Conveniencia por" " el autor.)" -#: ../../build/doc/release_notes.rst:785 +#: ../../build/doc/release_notes.rst:800 msgid "" "pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on " "closest edge." @@ -1883,7 +1911,7 @@ msgstr "" "pgr_pointToEdgeNode - convierta una geometría de punto en un vertex_id " "basado en la arista más cercana." -#: ../../build/doc/release_notes.rst:786 +#: ../../build/doc/release_notes.rst:801 msgid "" "pgr_flipEdges - flip the edges in an array of geometries so the connect end " "to end." @@ -1891,7 +1919,7 @@ msgstr "" "pgr_flipEdges - voltear los bordes en un arreglo de geometrías para la " "conexión de extremo a extremo." -#: ../../build/doc/release_notes.rst:787 +#: ../../build/doc/release_notes.rst:802 msgid "" "pgr_textToPoints - convert a string of x,y;x,y;... locations into point " "geometries." @@ -1899,126 +1927,126 @@ msgstr "" "pgr_textToPoints - convertir una cadena de x,y;x,y;... ubicaciones en " "geometrías de puntos." -#: ../../build/doc/release_notes.rst:788 +#: ../../build/doc/release_notes.rst:803 msgid "" "pgr_pointsToVids - convert an array of point geometries into vertex ids." msgstr "" "pgr_pointsToVids - convertir un arreglo de geometrías de puntos en " "identificadores de vértices." -#: ../../build/doc/release_notes.rst:789 +#: ../../build/doc/release_notes.rst:804 msgid "" "pgr_pointsToDMatrix - Create a distance matrix from an array of points." msgstr "" "pgr_pointsToDMatrix - Crear una matriz de distancia a partir de un arreglo " "de puntos." -#: ../../build/doc/release_notes.rst:790 ../../build/doc/release_notes.rst:791 +#: ../../build/doc/release_notes.rst:805 ../../build/doc/release_notes.rst:806 msgid "" "pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." msgstr "" "pgr_vidsToDMatrix - Crear una matriz de distancia a partir de un arreglo de " "vertex_id." -#: ../../build/doc/release_notes.rst:793 +#: ../../build/doc/release_notes.rst:808 msgid "Added proposed functions from GSoc Projects:" msgstr "Funciones propuestas de GSoc Projects añadidas:" -#: ../../build/doc/release_notes.rst:795 +#: ../../build/doc/release_notes.rst:810 msgid "pgr_vrppdtw" msgstr "pgr_vrppdtw" -#: ../../build/doc/release_notes.rst:796 +#: ../../build/doc/release_notes.rst:811 msgid "pgr_vrponedepot" msgstr "pgr_vrponedepot" -#: ../../build/doc/release_notes.rst:799 +#: ../../build/doc/release_notes.rst:814 msgid "Deprecated functions" msgstr "Funciones Obsoletas" -#: ../../build/doc/release_notes.rst:800 +#: ../../build/doc/release_notes.rst:815 msgid "pgr_getColumnName" msgstr "pgr_getColumnName" -#: ../../build/doc/release_notes.rst:801 +#: ../../build/doc/release_notes.rst:816 msgid "pgr_getTableName" msgstr "pgr_getTableName" -#: ../../build/doc/release_notes.rst:802 +#: ../../build/doc/release_notes.rst:817 msgid "pgr_isColumnCndexed" msgstr "pgr_isColumnCndexed" -#: ../../build/doc/release_notes.rst:803 +#: ../../build/doc/release_notes.rst:818 msgid "pgr_isColumnInTable" msgstr "pgr_isColumnInTable" -#: ../../build/doc/release_notes.rst:804 +#: ../../build/doc/release_notes.rst:819 msgid "pgr_quote_ident" msgstr "pgr_quote_ident" -#: ../../build/doc/release_notes.rst:805 +#: ../../build/doc/release_notes.rst:820 msgid "pgr_versionless" msgstr "pgr_versionless" -#: ../../build/doc/release_notes.rst:806 +#: ../../build/doc/release_notes.rst:821 msgid "pgr_startPoint" msgstr "pgr_startPoint" -#: ../../build/doc/release_notes.rst:807 +#: ../../build/doc/release_notes.rst:822 msgid "pgr_endPoint" msgstr "pgr_endPoint" -#: ../../build/doc/release_notes.rst:808 +#: ../../build/doc/release_notes.rst:823 msgid "pgr_pointToId" msgstr "pgr_pointToId" -#: ../../build/doc/release_notes.rst:811 +#: ../../build/doc/release_notes.rst:826 msgid "No longer supported" msgstr "Ya no es soportada" -#: ../../build/doc/release_notes.rst:812 +#: ../../build/doc/release_notes.rst:827 msgid "Removed the 1.x legacy functions" msgstr "Se han eliminado las funciones heredadas 1.x" -#: ../../build/doc/release_notes.rst:816 +#: ../../build/doc/release_notes.rst:831 msgid "Some bug fixes in other functions" msgstr "Algunas correcciones de errores en otras funciones" -#: ../../build/doc/release_notes.rst:820 +#: ../../build/doc/release_notes.rst:835 msgid "Refactoring Internal Code" msgstr "Refactorización del código interno" -#: ../../build/doc/release_notes.rst:821 +#: ../../build/doc/release_notes.rst:836 msgid "A C and C++ library for developer was created" msgstr "Se creó una biblioteca de C y C++ para desarrolladores" -#: ../../build/doc/release_notes.rst:823 +#: ../../build/doc/release_notes.rst:838 msgid "encapsulates postgreSQL related functions" msgstr "encapsula las funciones relacionadas con postgreSQL" -#: ../../build/doc/release_notes.rst:824 +#: ../../build/doc/release_notes.rst:839 msgid "encapsulates Boost.Graph graphs" msgstr "encapsula los gráficos Boost.Graph" -#: ../../build/doc/release_notes.rst:826 +#: ../../build/doc/release_notes.rst:841 msgid "Directed Boost.Graph" msgstr "Directed Boost.Graph" -#: ../../build/doc/release_notes.rst:827 +#: ../../build/doc/release_notes.rst:842 msgid "Undirected Boost.graph." msgstr "Boost.graph no dirigido." -#: ../../build/doc/release_notes.rst:829 +#: ../../build/doc/release_notes.rst:844 msgid "allow any-integer in the id's" msgstr "permitir any-integer (cualquier entero) en el id" -#: ../../build/doc/release_notes.rst:830 +#: ../../build/doc/release_notes.rst:845 msgid "allow any-numerical on the cost/reverse_cost columns" msgstr "" "permitir any-numerical (cualquier numérico) en las columnas " "cost/reverse_cost" -#: ../../build/doc/release_notes.rst:832 +#: ../../build/doc/release_notes.rst:847 msgid "" "Instead of generating many libraries: - All functions are encapsulated in " "one library - The library has the prefix 2-1-0" @@ -2026,23 +2054,23 @@ msgstr "" "En lugar de generar muchas bibliotecas: - Todas las funciones están " "encapsuladas en una biblioteca - La biblioteca tiene el prefijo 2-1-0" -#: ../../build/doc/release_notes.rst:841 +#: ../../build/doc/release_notes.rst:856 msgid "pgRouting 2.0.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.0.1" -#: ../../build/doc/release_notes.rst:843 +#: ../../build/doc/release_notes.rst:858 msgid "Minor bug fixes." msgstr "Corrección de errores menores." -#: ../../build/doc/release_notes.rst:847 +#: ../../build/doc/release_notes.rst:862 msgid "No track of the bug fixes were kept." msgstr "No se ha guardado ningún rastro de las correcciones de errores." -#: ../../build/doc/release_notes.rst:853 +#: ../../build/doc/release_notes.rst:868 msgid "pgRouting 2.0.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.0.0" -#: ../../build/doc/release_notes.rst:855 +#: ../../build/doc/release_notes.rst:870 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.0.0 " @@ -2054,7 +2082,7 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:857 +#: ../../build/doc/release_notes.rst:872 msgid "" "With the release of pgRouting 2.0.0 the library has abandoned backwards " "compatibility to :ref:`pgRouting 1.x ` releases. The main " @@ -2064,47 +2092,47 @@ msgstr "" "compatibilidad con versiones anteriores a :ref:`pgRouting 1.x " "` . Los objetivos principales de esta versión son:" -#: ../../build/doc/release_notes.rst:860 +#: ../../build/doc/release_notes.rst:875 msgid "Major restructuring of pgRouting." msgstr "Mayor reestructuración de pgRouting." -#: ../../build/doc/release_notes.rst:861 +#: ../../build/doc/release_notes.rst:876 msgid "Standardization of the function naming" msgstr "Estandarización de la nomenclatura de funciones" -#: ../../build/doc/release_notes.rst:862 +#: ../../build/doc/release_notes.rst:877 msgid "Preparation of the project for future development." msgstr "Elaboración del proyecto para el desarrollo futuro." -#: ../../build/doc/release_notes.rst:864 +#: ../../build/doc/release_notes.rst:879 msgid "As a result of this effort:" msgstr "Como resultado de este esfuerzo:" -#: ../../build/doc/release_notes.rst:866 +#: ../../build/doc/release_notes.rst:881 msgid "pgRouting has a simplified structure" msgstr "pgRouting tiene una estructura simplificada" -#: ../../build/doc/release_notes.rst:867 +#: ../../build/doc/release_notes.rst:882 msgid "Significant new functionality has being added" msgstr "Se ha añadido una nueva funcionalidad significativa" -#: ../../build/doc/release_notes.rst:868 +#: ../../build/doc/release_notes.rst:883 msgid "Documentation has being integrated" msgstr "La documentación se ha integrado" -#: ../../build/doc/release_notes.rst:869 +#: ../../build/doc/release_notes.rst:884 msgid "Testing has being integrated" msgstr "Las pruebas se han integrado" -#: ../../build/doc/release_notes.rst:870 +#: ../../build/doc/release_notes.rst:885 msgid "And made it easier for multiple developers to make contributions." msgstr "Y facilitó que varios desarrolladores hicieran contribuciones." -#: ../../build/doc/release_notes.rst:874 +#: ../../build/doc/release_notes.rst:889 msgid "Important Changes" msgstr "Cambios Importantes" -#: ../../build/doc/release_notes.rst:875 +#: ../../build/doc/release_notes.rst:890 msgid "" "Graph Analytics - tools for detecting and fixing connection some problems in" " a graph" @@ -2112,18 +2140,18 @@ msgstr "" "Análisis gráfico - herramientas para detectar y arreglar algunos problemas " "de conexión en un gráfico de red" -#: ../../build/doc/release_notes.rst:876 +#: ../../build/doc/release_notes.rst:891 msgid "A collection of useful utility functions" msgstr "Una colección de funciones útiles" -#: ../../build/doc/release_notes.rst:877 +#: ../../build/doc/release_notes.rst:892 msgid "" "Two new All Pairs Short Path algorithms (pgr_apspJohnson, pgr_apspWarshall)" msgstr "" "Dos nuevos algoritmos para el camino más corto de todos pares " "(pgr_apspJohnson, pgr_apspWarshall)" -#: ../../build/doc/release_notes.rst:878 +#: ../../build/doc/release_notes.rst:893 msgid "" "Bi-directional Dijkstra and A-star search algorithms (pgr_bdAstar, " "pgr_bdDijkstra)" @@ -2131,15 +2159,15 @@ msgstr "" "Algoritmos para el Dijkstra bidireccional y la búsqueda A*(pgr_bdAstar, " "pgr_bdDijkstra)" -#: ../../build/doc/release_notes.rst:879 +#: ../../build/doc/release_notes.rst:894 msgid "One to many nodes search (pgr_kDijkstra)" msgstr "Búsqueda de uno a varios nodos (pgr_kDijkstra)" -#: ../../build/doc/release_notes.rst:880 +#: ../../build/doc/release_notes.rst:895 msgid "K alternate paths shortest path (pgr_ksp)" msgstr " K rutas más cortas alternas de (pgr_ksp)" -#: ../../build/doc/release_notes.rst:881 +#: ../../build/doc/release_notes.rst:896 msgid "" "New TSP solver that simplifies the code and the build process (pgr_tsp), " "dropped \"Gaul Library\" dependency" @@ -2147,17 +2175,17 @@ msgstr "" "Nuevo solucionador TSP que simplifica el código donde el proceso de " "compilación (pgr_tsp), ya no dependene de la biblioteca \"Gaul Library\" " -#: ../../build/doc/release_notes.rst:882 +#: ../../build/doc/release_notes.rst:897 msgid "Turn Restricted shortest path (pgr_trsp) that replaces Shooting Star" msgstr "" "Ruta más corta con giros restringidos (pgr_trsp) que reemplaza a la estrella" " fugaz \"Shooting Star\"" -#: ../../build/doc/release_notes.rst:883 +#: ../../build/doc/release_notes.rst:898 msgid "Dropped support for Shooting Star" msgstr "Se deja de soportar a la Estrella fugaz \"Shooting Star\"" -#: ../../build/doc/release_notes.rst:884 +#: ../../build/doc/release_notes.rst:899 msgid "" "Built a test infrastructure that is run before major code changes are " "checked in" @@ -2165,7 +2193,7 @@ msgstr "" "Se construye una infraestructura de pruebas que se ejecuta antes de que se " "incorporen grandes cambios al código principal." -#: ../../build/doc/release_notes.rst:885 +#: ../../build/doc/release_notes.rst:900 msgid "" "Tested and fixed most all of the outstanding bugs reported against 1.x that " "existing in the 2.0-dev code base." @@ -2173,62 +2201,62 @@ msgstr "" "Se probó y se arreglaron todos los errores excepcionales registrados en la " "versión 1.x existente en la base del código 2.0-dev." -#: ../../build/doc/release_notes.rst:886 +#: ../../build/doc/release_notes.rst:901 msgid "Improved build process for Windows" msgstr "Proceso de compilación mejorados para Windows" -#: ../../build/doc/release_notes.rst:887 +#: ../../build/doc/release_notes.rst:902 msgid "" "Automated testing on Linux and Windows platforms trigger by every commit" msgstr "" "Automatizado de pruebas en plataformas Linux y Windows por cada cambio " "permanente" -#: ../../build/doc/release_notes.rst:888 +#: ../../build/doc/release_notes.rst:903 msgid "Modular library design" msgstr "Diseño modular de bibliotecas" -#: ../../build/doc/release_notes.rst:889 +#: ../../build/doc/release_notes.rst:904 msgid "Compatibility with PostgreSQL 9.1 or newer" msgstr "Compatibilidad con PostgreSQL 9.1 o posterior" -#: ../../build/doc/release_notes.rst:890 +#: ../../build/doc/release_notes.rst:905 msgid "Compatibility with PostGIS 2.0 or newer" msgstr "Compatibilidad con PostGIS 2.0 o posterior" -#: ../../build/doc/release_notes.rst:891 +#: ../../build/doc/release_notes.rst:906 msgid "Installs as PostgreSQL EXTENSION" msgstr "Se instala como EXTENSION de PostgreSQL" -#: ../../build/doc/release_notes.rst:892 +#: ../../build/doc/release_notes.rst:907 msgid "Return types re factored and unified" msgstr "Tipos de retorno refactorizados y unificados" -#: ../../build/doc/release_notes.rst:893 +#: ../../build/doc/release_notes.rst:908 msgid "Support for table SCHEMA in function parameters" msgstr "Soporte para esquema en los parámetros de las funciones" -#: ../../build/doc/release_notes.rst:894 +#: ../../build/doc/release_notes.rst:909 msgid "Support for ``st_`` PostGIS function prefix" msgstr "Soporte para el prefijo ``st_`` de las funciones de PostGIS " -#: ../../build/doc/release_notes.rst:895 +#: ../../build/doc/release_notes.rst:910 msgid "Added ``pgr_`` prefix to functions and types" msgstr "Prefijo ``pgr_`` agregado a las funciones y tipos" -#: ../../build/doc/release_notes.rst:896 +#: ../../build/doc/release_notes.rst:911 msgid "Better documentation: https://docs.pgrouting.org" msgstr "Mejor documentación: https://docs.pgrouting.org" -#: ../../build/doc/release_notes.rst:897 +#: ../../build/doc/release_notes.rst:912 msgid "shooting_star is discontinued" msgstr "shooting_star está descontinuado" -#: ../../build/doc/release_notes.rst:904 +#: ../../build/doc/release_notes.rst:919 msgid "pgRouting 1.x Release Notes" msgstr "Notas de versión de pgRouting 1.x " -#: ../../build/doc/release_notes.rst:906 +#: ../../build/doc/release_notes.rst:921 msgid "" "To see the issues closed by this release see the `Git closed issues for 1.x " "`_" @@ -2241,104 +2269,97 @@ msgstr "" " on Github. The following release notes have been copied from the previous " "``RELEASE_NOTES`` file and are kept as a reference." -#: ../../build/doc/release_notes.rst:911 +#: ../../build/doc/release_notes.rst:926 msgid "Changes for release 1.05" msgstr "Cambios para la versión 1.05" -#: ../../build/doc/release_notes.rst:917 +#: ../../build/doc/release_notes.rst:932 msgid "Changes for release 1.03" msgstr "Cambios para la versión 1.03" -#: ../../build/doc/release_notes.rst:919 +#: ../../build/doc/release_notes.rst:934 msgid "Much faster topology creation" msgstr "Creación de topología mucho más rápida" -#: ../../build/doc/release_notes.rst:924 +#: ../../build/doc/release_notes.rst:939 msgid "Changes for release 1.02" msgstr "Cambios para la versión 1.02" -#: ../../build/doc/release_notes.rst:926 ../../build/doc/release_notes.rst:933 +#: ../../build/doc/release_notes.rst:941 ../../build/doc/release_notes.rst:948 msgid "Shooting* bug fixes" msgstr "Corrección de errores de Disparo*" -#: ../../build/doc/release_notes.rst:927 +#: ../../build/doc/release_notes.rst:942 msgid "Compilation problems solved" msgstr "Se resolvieron problemas de compilación" -#: ../../build/doc/release_notes.rst:931 +#: ../../build/doc/release_notes.rst:946 msgid "Changes for release 1.01" msgstr "Cambios para la versión 1.01" -#: ../../build/doc/release_notes.rst:937 +#: ../../build/doc/release_notes.rst:952 msgid "Changes for release 1.0" msgstr "Cambios para la versión 1.0" -#: ../../build/doc/release_notes.rst:939 +#: ../../build/doc/release_notes.rst:954 msgid "Core and extra functions are separated" msgstr "Núcleo y funciones adicionales están separadas" -#: ../../build/doc/release_notes.rst:940 +#: ../../build/doc/release_notes.rst:955 msgid "Cmake build process" msgstr "Proceso de compilación con CMake " -#: ../../build/doc/release_notes.rst:945 +#: ../../build/doc/release_notes.rst:960 msgid "Changes for release 1.0.0b" msgstr "Cambios para la versión 1.0.0b" -#: ../../build/doc/release_notes.rst:947 +#: ../../build/doc/release_notes.rst:962 msgid "Additional SQL file with more simple names for wrapper functions" msgstr "" "Archivos SQL adicionales con nombres más simples para las funciones de la " "envolturas" -#: ../../build/doc/release_notes.rst:952 +#: ../../build/doc/release_notes.rst:967 msgid "Changes for release 1.0.0a" msgstr "Cambios para la versión 1.0.0a" -#: ../../build/doc/release_notes.rst:954 +#: ../../build/doc/release_notes.rst:969 msgid "Shooting* shortest path algorithm for real road networks" msgstr "Algoritmo de ruta más corta Shooting\\* para redes de camino reales" -#: ../../build/doc/release_notes.rst:955 +#: ../../build/doc/release_notes.rst:970 msgid "Several SQL bugs were fixed" msgstr "Se arreglaron varios errores de SQL" -#: ../../build/doc/release_notes.rst:959 +#: ../../build/doc/release_notes.rst:974 msgid "Changes for release 0.9.9" msgstr "Cambios para la versión 0.9.9" -#: ../../build/doc/release_notes.rst:961 +#: ../../build/doc/release_notes.rst:976 msgid "PostgreSQL 8.2 support" msgstr "Soporte PostgreSQL 8.2" -#: ../../build/doc/release_notes.rst:962 +#: ../../build/doc/release_notes.rst:977 msgid "" "Shortest path functions return empty result if they could not find any path" msgstr "" "Las funciones de ruta más cortas devuelven un resultado vacío si no " "encuentran ninguna ruta de acceso" -#: ../../build/doc/release_notes.rst:966 +#: ../../build/doc/release_notes.rst:981 msgid "Changes for release 0.9.8" msgstr "Cambios para versión 0.9.8" -#: ../../build/doc/release_notes.rst:968 +#: ../../build/doc/release_notes.rst:983 msgid "Renumbering scheme was added to shortest path functions" msgstr "" "Esquema de numeración ha sido añadido a las funciones de ruta más cortos" -#: ../../build/doc/release_notes.rst:969 +#: ../../build/doc/release_notes.rst:984 msgid "Directed shortest path functions were added" msgstr "Se agregaron funciones de ruta más cortos dirigidas" -#: ../../build/doc/release_notes.rst:970 +#: ../../build/doc/release_notes.rst:985 msgid "routing_postgis.sql was modified to use dijkstra in TSP search" msgstr "" "routing_postgis.SQL fue modificado para utilizar dijkstra en la búsqueda TSP" - -#~ msgid "" -#~ "`#1361 `__: Add code to " -#~ "interrupt the execution" -#~ msgstr "" -#~ "`#1361 `__: Permitir que " -#~ "la ejecución pueda ser interrumpida." diff --git a/locale/es/LC_MESSAGES/sampledata.po b/locale/es/LC_MESSAGES/sampledata.po index 1376c5f7b8a..ea5fa1e7e08 100644 --- a/locale/es/LC_MESSAGES/sampledata.po +++ b/locale/es/LC_MESSAGES/sampledata.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# Celia Virginia Vergara Castillo , 2019 -# MarPetra , 2019 +# Vicky Vergara , 2019 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:54+0000\n" -"Last-Translator: MarPetra , 2019\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -63,49 +63,60 @@ msgstr "" "topología (rellena las columnas ``source`` y ``target``)." #: ../../build/doc/sampledata.rst:47 +msgid "Combinations of start and end vertices" +msgstr "Combinaciones de vértices de inicio y fin" + +#: ../../build/doc/sampledata.rst:48 +msgid "" +"Used to test the combinations_sql signature in dijkstra-like functions." +msgstr "" +"Se utiliza para probar la firma combinations_sql en funciones similares a " +"dijkstra." + +#: ../../build/doc/sampledata.rst:55 msgid "Points of interest" msgstr "Puntos de interés" -#: ../../build/doc/sampledata.rst:48 +#: ../../build/doc/sampledata.rst:56 msgid "When points outside of the graph." msgstr "Cuando hay puntos fuera del grafo." -#: ../../build/doc/sampledata.rst:49 +#: ../../build/doc/sampledata.rst:57 msgid "Used with the :doc:`withPoints-family` functions." msgstr "Se utiliza con las funciones de :doc:`withPoints-family`" -#: ../../build/doc/sampledata.rst:56 +#: ../../build/doc/sampledata.rst:64 msgid "Restrictions" msgstr "Restricciones" -#: ../../build/doc/sampledata.rst:57 +#: ../../build/doc/sampledata.rst:65 msgid "Used with the :doc:`pgr_trsp` functions." msgstr "Se utiliza con las funciones :doc:`pgr_trsp`" -#: ../../build/doc/sampledata.rst:64 +#: ../../build/doc/sampledata.rst:72 msgid "Images" msgstr "Imágenes" -#: ../../build/doc/sampledata.rst:66 +#: ../../build/doc/sampledata.rst:74 msgid "Red arrows correspond when ``cost`` > 0 in the edge table." msgstr "" "Las flechas rojas corresponden cuando ``cost`` > 0 en la tabla de aristas." -#: ../../build/doc/sampledata.rst:67 +#: ../../build/doc/sampledata.rst:75 msgid "Blue arrows correspond when ``reverse_cost`` > 0 in the edge table." msgstr "" "Las flechas azules corresponden cuando ``reverse_cost`` > 0 en la tabla de " "aristas." -#: ../../build/doc/sampledata.rst:68 +#: ../../build/doc/sampledata.rst:76 msgid "Points are outside the graph." msgstr "Los puntos están fuera del grafo." -#: ../../build/doc/sampledata.rst:69 +#: ../../build/doc/sampledata.rst:77 msgid "Click on the graph to enlarge." msgstr "Haga clic en el grafo para ampliarlo." -#: ../../build/doc/sampledata.rst:74 +#: ../../build/doc/sampledata.rst:82 msgid "" "Network for queries marked as ``directed`` and ``cost`` and ``reverse_cost``" " columns are used" @@ -113,7 +124,7 @@ msgstr "" "Se utilizan redes para consultas marcadas como ``directed`` , ``cost`` y " "``reverse_cost``" -#: ../../build/doc/sampledata.rst:76 +#: ../../build/doc/sampledata.rst:84 msgid "" "When working with city networks, this is recommended for point of view of " "vehicles." @@ -121,11 +132,11 @@ msgstr "" "Cuando se trabaja con redes de ciudades, esto se recomienda para el punto de" " vista de los vehículos." -#: ../../build/doc/sampledata.rst:81 +#: ../../build/doc/sampledata.rst:89 msgid "**Graph 1: Directed, with cost and reverse cost**" msgstr "**Grafo 1: Dirigido, con costo y costo inverso**" -#: ../../build/doc/sampledata.rst:86 +#: ../../build/doc/sampledata.rst:94 msgid "" "Network for queries marked as ``undirected`` and ``cost`` and " "``reverse_cost`` columns are used" @@ -133,7 +144,7 @@ msgstr "" "Se utiliza la red para consultas marcadas como ``undirected`` , ``cost`` y " "``reverse_cost`` " -#: ../../build/doc/sampledata.rst:88 +#: ../../build/doc/sampledata.rst:96 msgid "" "When working with city networks, this is recommended for point of view of " "pedestrians." @@ -141,22 +152,22 @@ msgstr "" "Cuando se trabaja con redes de ciudades, esto se recomienda para el punto de" " vista de los peatones." -#: ../../build/doc/sampledata.rst:94 +#: ../../build/doc/sampledata.rst:102 msgid "**Graph 2: Undirected, with cost and reverse cost**" msgstr "**Grafo 2: No dirigido, con costo y costo inverso**" -#: ../../build/doc/sampledata.rst:99 +#: ../../build/doc/sampledata.rst:107 msgid "" "Network for queries marked as ``directed`` and only ``cost`` column is used" msgstr "" "Red para consultas marcadas como ``directed`` y sólo se utiliza la columna " "``cost``" -#: ../../build/doc/sampledata.rst:106 +#: ../../build/doc/sampledata.rst:114 msgid "**Graph 3: Directed, with cost**" msgstr "**Grafo 3: Dirigido, con costo**" -#: ../../build/doc/sampledata.rst:111 +#: ../../build/doc/sampledata.rst:119 msgid "" "Network for queries marked as ``undirected`` and only ``cost`` column is " "used" @@ -164,10 +175,10 @@ msgstr "" "Red para consultas marcadas como ``undirected`` y solo se utiliza la columna" " ``cost``" -#: ../../build/doc/sampledata.rst:117 +#: ../../build/doc/sampledata.rst:125 msgid "**Graph 4: Undirected, with cost**" msgstr "**Grafo 4: No dirigido, con costo**" -#: ../../build/doc/sampledata.rst:124 +#: ../../build/doc/sampledata.rst:132 msgid "Pick & Deliver Data" msgstr "Datos de Recogida y Entrega" diff --git a/locale/es/LC_MESSAGES/spanningTree-family.po b/locale/es/LC_MESSAGES/spanningTree-family.po index fd77b36018a..bcbf7c1c583 100644 --- a/locale/es/LC_MESSAGES/spanningTree-family.po +++ b/locale/es/LC_MESSAGES/spanningTree-family.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # Vicky Vergara , 2019 @@ -10,9 +10,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:56+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -53,17 +53,19 @@ msgstr "" #: ../../build/doc/spanningTree-family.rst:33 msgid "" -"**Supported versions:** current(`3.0 `__)" +"**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__)" +"**Versiones soportadas:** actual(`3.1 `__) `3.0 `__" -#: ../../build/doc/spanningTree-family.rst:37 +#: ../../build/doc/spanningTree-family.rst:38 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/spanningTree-family.rst:39 +#: ../../build/doc/spanningTree-family.rst:40 msgid "" "`Boost: Prim's algorithm documentation " "`__" @@ -71,7 +73,7 @@ msgstr "" "`Boost: Prim's algorithm documentation " "`__" -#: ../../build/doc/spanningTree-family.rst:40 +#: ../../build/doc/spanningTree-family.rst:41 #, python-format msgid "" "`Wikipedia: Prim's algorithm " @@ -80,28 +82,14 @@ msgstr "" "`Wikipedia: algoritmo de Prim " "`__" -#: ../../build/doc/spanningTree-family.rst:43 +#: ../../build/doc/spanningTree-family.rst:44 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/spanningTree-family.rst:44 +#: ../../build/doc/spanningTree-family.rst:45 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/spanningTree-family.rst:45 +#: ../../build/doc/spanningTree-family.rst:46 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "`Wikipedia: Prim's algorithm " -#~ "`__" -#~ msgstr "" -#~ "`Wikipedia: Prim's algorithm " -#~ "`__" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__)" diff --git a/locale/es/LC_MESSAGES/transformation-family.po b/locale/es/LC_MESSAGES/transformation-family.po index fdb27552618..4e21607f7b7 100644 --- a/locale/es/LC_MESSAGES/transformation-family.po +++ b/locale/es/LC_MESSAGES/transformation-family.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2019 -# Vicky Vergara , 2020 +# Vicky Vergara , 2019 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -118,13 +118,15 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/transformation-family.rst:33 msgid "" -"**Supported versions:** current(`3.0 `__)" +"**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__)" +"**Versiones soportadas:** actual(`3.1 `__) `3.0 `__" -#: ../../build/doc/transformation-family.rst:36 +#: ../../build/doc/transformation-family.rst:37 msgid "" "**Unsupported versions:** `2.6 `__" @@ -132,11 +134,11 @@ msgstr "" "**Versiones No Soportadas:** `2.6 `__" -#: ../../build/doc/transformation-family.rst:40 +#: ../../build/doc/transformation-family.rst:41 msgid "Introduction" msgstr "Introducción" -#: ../../build/doc/transformation-family.rst:42 +#: ../../build/doc/transformation-family.rst:43 msgid "" "This family of functions is used for transforming a given input graph " ":math:`G(V,E)` into a new graph :math:`G'(V',E')`." @@ -144,25 +146,18 @@ msgstr "" "Esta familia de funciones se utiliza para transformar un gráfico de entrada " "determinado :math:`G(V,E)` en un nuevo grafo :math:`G'(V',E')`." -#: ../../build/doc/transformation-family.rst:45 +#: ../../build/doc/transformation-family.rst:46 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/transformation-family.rst:48 +#: ../../build/doc/transformation-family.rst:49 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/transformation-family.rst:49 +#: ../../build/doc/transformation-family.rst:50 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/transformation-family.rst:50 +#: ../../build/doc/transformation-family.rst:51 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__)" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__)" diff --git a/locale/es/LC_MESSAGES/withPoints-family.po b/locale/es/LC_MESSAGES/withPoints-family.po index c6656b2fa47..4673dfb60f4 100644 --- a/locale/es/LC_MESSAGES/withPoints-family.po +++ b/locale/es/LC_MESSAGES/withPoints-family.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# MarPetra , 2019 -# Vicky Vergara , 2020 +# Vicky Vergara , 2019 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-09 09:02-0500\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -95,15 +95,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/withPoints-family.rst:42 msgid "" -"**Supported versions:** current(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.0 `__) `2.6 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/withPoints-family.rst:46 +#: ../../build/doc/withPoints-family.rst:47 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__" -#: ../../build/doc/withPoints-family.rst:56 +#: ../../build/doc/withPoints-family.rst:57 msgid "Images" msgstr "Imágenes" -#: ../../build/doc/withPoints-family.rst:58 +#: ../../build/doc/withPoints-family.rst:59 msgid "" "The squared vertices are the temporary vertices, The temporary vertices are " "added according to the driving side, The following images visually show the " @@ -134,23 +136,23 @@ msgstr "" "imágenes muestran visualmente las diferencias sobre cómo dependiendo del " "lado de conducción se interpretan los datos." -#: ../../build/doc/withPoints-family.rst:62 +#: ../../build/doc/withPoints-family.rst:63 msgid "Right driving side" msgstr "Lado de conducción derecho" -#: ../../build/doc/withPoints-family.rst:67 +#: ../../build/doc/withPoints-family.rst:68 msgid "Left driving side" msgstr "Lado de conducción izquierdo" -#: ../../build/doc/withPoints-family.rst:72 +#: ../../build/doc/withPoints-family.rst:73 msgid "doesn't matter the driving side" msgstr "no importa el lado de conducción" -#: ../../build/doc/withPoints-family.rst:77 +#: ../../build/doc/withPoints-family.rst:78 msgid "Introduction" msgstr "Introducción" -#: ../../build/doc/withPoints-family.rst:79 +#: ../../build/doc/withPoints-family.rst:80 msgid "" "This family of functions was thought for routing vehicles, but might as well" " work for some other application that we can not think of." @@ -159,7 +161,7 @@ msgstr "" "podría funcionar para alguna otra aplicación que no se nos haya ocurrido " "aún." -#: ../../build/doc/withPoints-family.rst:82 +#: ../../build/doc/withPoints-family.rst:83 msgid "" "The with points family of function give you the ability to route between " "arbitrary points located outside the original graph." @@ -167,7 +169,7 @@ msgstr "" "La familia de funciones con puntos le da la capacidad de enrutar entre " "puntos arbitrarios situados fuera del grafo original." -#: ../../build/doc/withPoints-family.rst:85 +#: ../../build/doc/withPoints-family.rst:86 msgid "" "When given a point identified with a `pid` that its being mapped to and edge" " with an identifier `edge_id`, with a `fraction` along that edge (from the " @@ -182,79 +184,79 @@ msgstr "" "continuación, el ruteo desde puntos arbitrarios refleja con mayor precisión " "los vehículos de enrutamiento en las redes de carreteras," -#: ../../build/doc/withPoints-family.rst:96 +#: ../../build/doc/withPoints-family.rst:97 msgid "" "I talk about a family of functions because it includes different " "functionalities." msgstr "" "Hablo de una familia de funciones porque incluye diferentes funcionalidades." -#: ../../build/doc/withPoints-family.rst:93 +#: ../../build/doc/withPoints-family.rst:94 msgid "pgr_withPoints is pgr_dijkstra based" msgstr "pgr_withPoints se basa en pgr_dijkstra" -#: ../../build/doc/withPoints-family.rst:94 +#: ../../build/doc/withPoints-family.rst:95 msgid "pgr_withPointsCost is pgr_dijkstraCost based" msgstr "pgr_withPointsCost se basa en pgr_dijkstraCost" -#: ../../build/doc/withPoints-family.rst:95 +#: ../../build/doc/withPoints-family.rst:96 msgid "pgr_withPointsKSP is pgr_ksp based" msgstr "pgr_withPointsKSP se basa en pgr_ksp" -#: ../../build/doc/withPoints-family.rst:96 +#: ../../build/doc/withPoints-family.rst:97 msgid "pgr_withPointsDD is pgr_drivingDistance based" msgstr "pgr_withPointsDD se basa en pgr_drivingDistance" -#: ../../build/doc/withPoints-family.rst:98 +#: ../../build/doc/withPoints-family.rst:99 msgid "" "In all this functions we have to take care of as many aspects as possible:" msgstr "" "En todas estas funciones tenemos que ocuparnos de tantos aspectos como sea " "posible:" -#: ../../build/doc/withPoints-family.rst:100 +#: ../../build/doc/withPoints-family.rst:101 msgid "Must work for routing:" msgstr "Debe funcionar para el ruteo:" -#: ../../build/doc/withPoints-family.rst:102 +#: ../../build/doc/withPoints-family.rst:103 msgid "Cars (directed graph)" msgstr "Coches (grafo dirigido)" -#: ../../build/doc/withPoints-family.rst:103 +#: ../../build/doc/withPoints-family.rst:104 msgid "Pedestrians (undirected graph)" msgstr "Peatones (grafo no dirigido)" -#: ../../build/doc/withPoints-family.rst:105 +#: ../../build/doc/withPoints-family.rst:106 msgid "Arriving at the point:" msgstr "Al llegar al punto:" -#: ../../build/doc/withPoints-family.rst:107 +#: ../../build/doc/withPoints-family.rst:108 msgid "In either side of the street." msgstr "A ambos lados de la calle." -#: ../../build/doc/withPoints-family.rst:108 +#: ../../build/doc/withPoints-family.rst:109 msgid "" "Compulsory arrival on the side of the street where the point is located." msgstr "" "Llegada obligatoria en el lado de la calle donde se encuentra el punto." -#: ../../build/doc/withPoints-family.rst:110 +#: ../../build/doc/withPoints-family.rst:111 msgid "Countries with:" msgstr "Países con:" -#: ../../build/doc/withPoints-family.rst:112 +#: ../../build/doc/withPoints-family.rst:113 msgid "Right side driving" msgstr "Conducción de lado derecho" -#: ../../build/doc/withPoints-family.rst:113 +#: ../../build/doc/withPoints-family.rst:114 msgid "Left side driving" msgstr "Conducción de lado izquierdo" -#: ../../build/doc/withPoints-family.rst:115 +#: ../../build/doc/withPoints-family.rst:116 msgid "Some points are:" msgstr "Algunos puntos son:" -#: ../../build/doc/withPoints-family.rst:117 +#: ../../build/doc/withPoints-family.rst:118 msgid "" "Permanent, for example the set of points of clients stored in a table in the" " data base" @@ -262,36 +264,36 @@ msgstr "" "Permanente, por ejemplo, el conjunto de puntos de los clientes almacenados " "en una tabla en la base de datos" -#: ../../build/doc/withPoints-family.rst:118 +#: ../../build/doc/withPoints-family.rst:119 msgid "Temporal, for example points given through a web application" msgstr "Temporal, por ejemplo, puntos dados a través de una aplicación web" -#: ../../build/doc/withPoints-family.rst:120 +#: ../../build/doc/withPoints-family.rst:121 msgid "The numbering of the points are handled with negative sign." msgstr "La numeración de los puntos se maneja con signo negativo." -#: ../../build/doc/withPoints-family.rst:122 +#: ../../build/doc/withPoints-family.rst:123 msgid "Original point identifiers are to be positive." msgstr "Los identificadores de punto originales deben ser positivos." -#: ../../build/doc/withPoints-family.rst:123 +#: ../../build/doc/withPoints-family.rst:124 msgid "Transformation to negative is done internally." msgstr "La transformación a negativa se realiza internamente." -#: ../../build/doc/withPoints-family.rst:124 +#: ../../build/doc/withPoints-family.rst:125 msgid "For results for involving vertices identifiers" msgstr "" "Para obtener resultados para la participación de identificadores de vértices" -#: ../../build/doc/withPoints-family.rst:126 +#: ../../build/doc/withPoints-family.rst:127 msgid "positive sign is a vertex of the original graph" msgstr "signo positivo es un vértice del grafo original" -#: ../../build/doc/withPoints-family.rst:127 +#: ../../build/doc/withPoints-family.rst:128 msgid "negative sign is a point of the temporary points" msgstr "signo negativo es un punto de los puntos temporales" -#: ../../build/doc/withPoints-family.rst:129 +#: ../../build/doc/withPoints-family.rst:130 msgid "" "The reason for doing this is to avoid confusion when there is a vertex with " "the same number as identifier as the points identifier." @@ -299,11 +301,11 @@ msgstr "" "La razón para hacer esto es para evitar confusiones cuando hay un vértice " "con el mismo número identificador que el identificador de puntos." -#: ../../build/doc/withPoints-family.rst:132 +#: ../../build/doc/withPoints-family.rst:133 msgid "Graph & edges" msgstr "Grafo & aristas" -#: ../../build/doc/withPoints-family.rst:134 +#: ../../build/doc/withPoints-family.rst:135 msgid "" "Let :math:`G_d(V,E)` where :math:`V` is the set of vertices and :math:`E` is" " the set of edges be the original directed graph." @@ -311,7 +313,7 @@ msgstr "" "Permitir :math:`G_d(V,E)` donde :math:`V` es el conjunto de vértices y " ":math:`E` es el conjunto de aristas sea el gráfico dirigido original." -#: ../../build/doc/withPoints-family.rst:136 +#: ../../build/doc/withPoints-family.rst:137 msgid "" "An edge of the original `edges_sql` is :math:`(id, source, target, cost, " "reverse\\_cost)` will generate internally" @@ -319,118 +321,118 @@ msgstr "" "Un borde del `edges_sql` original es :math:`(id, source, target, cost, " "reverse\\_cost)` y se generará internamente" -#: ../../build/doc/withPoints-family.rst:138 +#: ../../build/doc/withPoints-family.rst:139 msgid ":math:`(id, source, target, cost)`" msgstr ":math:`(id, source, target, cost)`" -#: ../../build/doc/withPoints-family.rst:139 +#: ../../build/doc/withPoints-family.rst:140 msgid ":math:`(id, target, source, reverse\\_cost)`" msgstr ":math:`(id, target, source, reverse\\_cost)`" -#: ../../build/doc/withPoints-family.rst:142 +#: ../../build/doc/withPoints-family.rst:143 msgid "Point Definition" msgstr "Definición de Punto" -#: ../../build/doc/withPoints-family.rst:144 +#: ../../build/doc/withPoints-family.rst:145 msgid "" "A point is defined by the quadruplet: :math:`(pid, eid, fraction, side)`" msgstr "" "Un punto se define por el cuadruplicado: :math:`(pid, eid, fraction, side)`" -#: ../../build/doc/withPoints-family.rst:146 +#: ../../build/doc/withPoints-family.rst:147 msgid "**pid** is the point identifier" msgstr "**pid** es el identificador de punto" -#: ../../build/doc/withPoints-family.rst:147 +#: ../../build/doc/withPoints-family.rst:148 msgid "**eid** is an edge id of the `edges_sql`" msgstr "**eid** es un identificador de aristas de `edges_sql`" -#: ../../build/doc/withPoints-family.rst:148 +#: ../../build/doc/withPoints-family.rst:149 msgid "**fraction** represents where the edge `eid` will be cut." msgstr "**fracción** representa dónde se cortará el borde `eid`." -#: ../../build/doc/withPoints-family.rst:149 +#: ../../build/doc/withPoints-family.rst:150 msgid "**side** Indicates the side of the edge where the point is located." msgstr "**lado** Indica el lado de la arista donde se encuentra el punto." -#: ../../build/doc/withPoints-family.rst:153 +#: ../../build/doc/withPoints-family.rst:154 msgid "Creating Temporary Vertices in the Graph" msgstr "Creación de Vértices Temporales en el grafo" -#: ../../build/doc/withPoints-family.rst:155 +#: ../../build/doc/withPoints-family.rst:156 msgid "For edge (15, 9,12 10, 20), & lets insert point (2, 12, 0.3, r)" msgstr "" "Para la arista (15, 9,12 10, 20), y permite instertar el punto (2, 12, " "0.3, r)" -#: ../../build/doc/withPoints-family.rst:158 +#: ../../build/doc/withPoints-family.rst:159 msgid "On a right hand side driving network" msgstr "En una red de conducción del lado derecho" -#: ../../build/doc/withPoints-family.rst:159 +#: ../../build/doc/withPoints-family.rst:160 msgid "From first image above:" msgstr "Desde la primera imagen de arriba:" -#: ../../build/doc/withPoints-family.rst:161 +#: ../../build/doc/withPoints-family.rst:162 msgid "We can arrive to the point only via vertex 9." msgstr "Podemos llegar al punto sólo a través del vértice 9." -#: ../../build/doc/withPoints-family.rst:162 +#: ../../build/doc/withPoints-family.rst:163 msgid "It only affects the edge (15, 9,12, 10) so that edge is removed." msgstr "" "Sólo afecta a la arista (15, 9,12, 10) por lo que esa arista se elimina." -#: ../../build/doc/withPoints-family.rst:163 +#: ../../build/doc/withPoints-family.rst:164 msgid "Edge (15, 12,9, 20) is kept." msgstr "Se mantiene la arista (15, 12, 9, 20)." -#: ../../build/doc/withPoints-family.rst:164 -#: ../../build/doc/withPoints-family.rst:176 -#: ../../build/doc/withPoints-family.rst:191 +#: ../../build/doc/withPoints-family.rst:165 +#: ../../build/doc/withPoints-family.rst:177 +#: ../../build/doc/withPoints-family.rst:192 msgid "Create new edges:" msgstr "Crear nuevas aristas:" -#: ../../build/doc/withPoints-family.rst:166 -#: ../../build/doc/withPoints-family.rst:195 +#: ../../build/doc/withPoints-family.rst:167 +#: ../../build/doc/withPoints-family.rst:196 msgid "(15, 9,-1, 3) edge from vertex 9 to point 1 has cost 3" msgstr "" "(15, 9, -1, 3) arista desde el vértice 9 hasta el punto 1 cuyo costo es de 3" -#: ../../build/doc/withPoints-family.rst:167 -#: ../../build/doc/withPoints-family.rst:196 +#: ../../build/doc/withPoints-family.rst:168 +#: ../../build/doc/withPoints-family.rst:197 msgid "(15, -1,12, 7) edge from point 1 to vertex 12 has cost 7" msgstr "" "(15, -1,12, 7) arista desde el punto 1 hasta el vértice 12 cuyo costo es de " "7" -#: ../../build/doc/withPoints-family.rst:170 +#: ../../build/doc/withPoints-family.rst:171 msgid "On a left hand side driving network" msgstr "En una red de conducción del lado izquierdo" -#: ../../build/doc/withPoints-family.rst:171 +#: ../../build/doc/withPoints-family.rst:172 msgid "From second image above:" msgstr "Desde la segunda imagen de arriba:" -#: ../../build/doc/withPoints-family.rst:173 +#: ../../build/doc/withPoints-family.rst:174 msgid "We can arrive to the point only via vertex 12." msgstr "Podemos llegar al punto sólo a través del vértice 12." -#: ../../build/doc/withPoints-family.rst:174 +#: ../../build/doc/withPoints-family.rst:175 msgid "It only affects the edge (15, 12,9 20) so that edge is removed." msgstr "" "Sólo afecta a la arista (15, 12,9 20) por lo que esa arista se elimina." -#: ../../build/doc/withPoints-family.rst:175 +#: ../../build/doc/withPoints-family.rst:176 msgid "Edge (15, 9,12, 10) is kept." msgstr "Se mantiene la arista (15, 9,12, 10)." -#: ../../build/doc/withPoints-family.rst:178 -#: ../../build/doc/withPoints-family.rst:193 +#: ../../build/doc/withPoints-family.rst:179 +#: ../../build/doc/withPoints-family.rst:194 msgid "(15, 12,-1, 14) edge from vertex 12 to point 1 has cost 14" msgstr "(15, 12,-1, 14) arista del vértice 12 al punto 1 ha costado 14" -#: ../../build/doc/withPoints-family.rst:179 -#: ../../build/doc/withPoints-family.rst:194 +#: ../../build/doc/withPoints-family.rst:180 +#: ../../build/doc/withPoints-family.rst:195 msgid "(15, -1,9, 6) edge from point 1 to vertex 9 has cost 6" msgstr "(15, -1, 9, 6) arista el punto 1 hasta el vértice 9 ha costado 6" @@ -438,53 +440,44 @@ msgstr "(15, -1, 9, 6) arista el punto 1 hasta el vértice 9 ha costado 6" msgid "Remember" msgstr "Recordar" -#: ../../build/doc/withPoints-family.rst:181 +#: ../../build/doc/withPoints-family.rst:182 msgid "that fraction is from vertex 9 to vertex 12" msgstr "esa fracción es del vértice 9 al vértice 12" -#: ../../build/doc/withPoints-family.rst:185 +#: ../../build/doc/withPoints-family.rst:186 msgid "When driving side does not matter" msgstr "Cuando el lado de conducción no importa" -#: ../../build/doc/withPoints-family.rst:186 +#: ../../build/doc/withPoints-family.rst:187 msgid "From third image above:" msgstr "De la tercera imagen anterior:" -#: ../../build/doc/withPoints-family.rst:188 +#: ../../build/doc/withPoints-family.rst:189 msgid "We can arrive to the point either via vertex 12 or via vertex 9" msgstr "" "Podemos llegar al punto ya sea a través del vértice 12 o a través del " "vértice 9" -#: ../../build/doc/withPoints-family.rst:189 +#: ../../build/doc/withPoints-family.rst:190 msgid "Edge (15, 12,9 20) is removed." msgstr "Se elimina la arista (15, 12, 9, 20)." -#: ../../build/doc/withPoints-family.rst:190 +#: ../../build/doc/withPoints-family.rst:191 msgid "Edge (15, 9,12, 10) is removed." msgstr "Se elimina la arista (15, 9, 12, 10)." -#: ../../build/doc/withPoints-family.rst:199 +#: ../../build/doc/withPoints-family.rst:200 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/withPoints-family.rst:202 +#: ../../build/doc/withPoints-family.rst:203 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/withPoints-family.rst:203 +#: ../../build/doc/withPoints-family.rst:204 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/withPoints-family.rst:204 +#: ../../build/doc/withPoints-family.rst:205 msgid ":ref:`search`" msgstr ":ref:`search`" - -#~ msgid "" -#~ "**Supported versions:** current(`3.0 `__) `2.6 `__" -#~ msgstr "" -#~ "**Versiones soportadas:** actual(`3.0 `__) `2.6 `__" From 60d5d703314687b01581403af60f1506489ad0d3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 17 May 2020 08:57:53 +0530 Subject: [PATCH 0008/1360] [depthFirstSearch] Added SQL files and depthFirstSearch.c --- configuration.conf | 1 + sql/depthFirstSearch/CMakeLists.txt | 14 ++ sql/depthFirstSearch/_depthFirstSearch.sql | 60 +++++++ sql/depthFirstSearch/depthFirstSearch.sql | 117 +++++++++++++ sql/sigs/pgrouting--3.0.0.sig | 3 + src/depthFirstSearch/CMakeLists.txt | 3 + src/depthFirstSearch/depthFirstSearch.c | 195 +++++++++++++++++++++ 7 files changed, 393 insertions(+) create mode 100644 sql/depthFirstSearch/CMakeLists.txt create mode 100644 sql/depthFirstSearch/_depthFirstSearch.sql create mode 100644 sql/depthFirstSearch/depthFirstSearch.sql create mode 100644 src/depthFirstSearch/CMakeLists.txt create mode 100644 src/depthFirstSearch/depthFirstSearch.c diff --git a/configuration.conf b/configuration.conf index 833b14aee4f..35e2d8e54d1 100644 --- a/configuration.conf +++ b/configuration.conf @@ -40,6 +40,7 @@ version | Y | Y | Y topologicalSort | Y | Y | Y transitiveClosure | Y | Y | Y breadthFirstSearch | Y | Y | Y +depthFirstSearch | Y | Y | N #---------------------- # SQL only directories #---------------------- diff --git a/sql/depthFirstSearch/CMakeLists.txt b/sql/depthFirstSearch/CMakeLists.txt new file mode 100644 index 00000000000..c1ae037cf27 --- /dev/null +++ b/sql/depthFirstSearch/CMakeLists.txt @@ -0,0 +1,14 @@ + +SET(LOCAL_FILES + _depthFirstSearch.sql + depthFirstSearch.sql + ) + +# Do not modify below this line + +foreach (f ${LOCAL_FILES}) + configure_file(${f} ${f}) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) +endforeach() + +set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/depthFirstSearch/_depthFirstSearch.sql b/sql/depthFirstSearch/_depthFirstSearch.sql new file mode 100644 index 00000000000..0fbfff64803 --- /dev/null +++ b/sql/depthFirstSearch/_depthFirstSearch.sql @@ -0,0 +1,60 @@ +/*PGR-GNU***************************************************************** +File: _depthFirstSearch.sql + +Generated with Template by: +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + + +--------------------------- +-- _pgr_depthFirstSearch +--------------------------- + + +CREATE OR REPLACE FUNCTION _pgr_depthFirstSearch( + TEXT, -- Edge sql + ANYARRAY, -- tree root for traversal + order_by TEXT, + max_depth BIGINT, + distance FLOAT, + + OUT seq BIGINT, + OUT depth BIGINT, + OUT start_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +'MODULE_PATHNAME' +LANGUAGE C VOLATILE STRICT; + + +-- COMMENTS + + +COMMENT ON FUNCTION _pgr_depthFirstSearch(TEXT, ANYARRAY, TEXT, BIGINT, FLOAT) +IS 'pgRouting internal function'; + diff --git a/sql/depthFirstSearch/depthFirstSearch.sql b/sql/depthFirstSearch/depthFirstSearch.sql new file mode 100644 index 00000000000..8ade388fb21 --- /dev/null +++ b/sql/depthFirstSearch/depthFirstSearch.sql @@ -0,0 +1,117 @@ +/*PGR-GNU***************************************************************** +File: depthFirstSearch.sql + +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +-------------------------- +-- pgr_depthFirstSearch +-------------------------- + + +-- SINGLE VERTEX +CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( + TEXT, -- Edge sql + BIGINT, -- root vertex + + max_depth BIGINT DEFAULT 9223372036854775807, + + OUT seq BIGINT, + OUT depth BIGINT, + OUT start_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ +BEGIN + IF $3 < 0 THEN + RAISE EXCEPTION 'Negative value found on ''max_depth''' + USING HINT = format('Value found: %s', $3); + END IF; + + + RETURN QUERY + SELECT * + FROM _pgr_depthFirstSearch(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], 'DFS', $3, -1); +END; +$BODY$ +LANGUAGE plpgsql VOLATILE STRICT; + + +-- MULTIPLE VERTICES +CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( + TEXT, -- Edge sql + ANYARRAY, -- root vertices + + max_depth BIGINT DEFAULT 9223372036854775807, + + OUT seq BIGINT, + OUT depth BIGINT, + OUT start_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ +BEGIN + IF $3 < 0 THEN + RAISE EXCEPTION 'Negative value found on ''max_depth''' + USING HINT = format('Value found: %s', $3); + END IF; + + + RETURN QUERY + SELECT * + FROM _pgr_depthFirstSearch(_pgr_get_statement($1), $2, 'DFS', $3, -1); +END; +$BODY$ +LANGUAGE plpgsql VOLATILE STRICT; + + +-- COMMENTS + + +COMMENT ON FUNCTION pgr_depthFirstSearch(TEXT, BIGINT, BIGINT) +IS 'pgr_depthFirstSearch(Single Vertex) +- Undirected graph +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From root vertex identifier +- Optional parameters + - max_depth := 9223372036854775807 +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_depthFirstSearch.html +'; + +COMMENT ON FUNCTION pgr_depthFirstSearch(TEXT, ANYARRAY, BIGINT) +IS 'pgr_depthFirstSearch(Multiple Vertices) +- Undirected graph +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From ARRAY[root vertices identifiers] +- Optional parameters + - max_depth := 9223372036854775807 +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_depthFirstSearch.html +'; diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 2e0fce72901..a2b93fdcc86 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -80,6 +80,9 @@ _pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) pgr_dagshortestpath(text,anyarray,bigint) pgr_dagshortestpath(text,bigint,anyarray) pgr_dagshortestpath(text,bigint,bigint) +pgr_depthfirstsearch(text,anyarray,bigint) +_pgr_depthfirstsearch(text,anyarray,text,bigint,double precision) +pgr_depthfirstsearch(text,bigint,bigint) pgr_dijkstracostmatrix(text,anyarray,boolean) pgr_dijkstracost(text,anyarray,anyarray,boolean) pgr_dijkstracost(text,anyarray,bigint,boolean) diff --git a/src/depthFirstSearch/CMakeLists.txt b/src/depthFirstSearch/CMakeLists.txt new file mode 100644 index 00000000000..3ad52d03649 --- /dev/null +++ b/src/depthFirstSearch/CMakeLists.txt @@ -0,0 +1,3 @@ +ADD_LIBRARY(depthFirstSearch OBJECT + depthFirstSearch.c + ) diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c new file mode 100644 index 00000000000..52a4b6e8f63 --- /dev/null +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -0,0 +1,195 @@ +/*PGR-GNU***************************************************************** +File: depthFirstSearch.c +Generated with Template by: + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438@gmail.com +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +#include +#include "c_common/postgres_connection.h" +#include "utils/array.h" + +#include "c_common/debug_macro.h" +#include "c_common/e_report.h" +#include "c_common/time_msg.h" +#include "c_common/edges_input.h" +#include "c_common/arrays_input.h" +#include "c_types/pgr_mst_rt.h" + +#include "drivers/spanningTree/mst_common.h" +#include "drivers/spanningTree/prim_driver.h" + +PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_depthfirstsearch); + + +static +void +process( + char* edges_sql, + ArrayType *roots, + char * fn_suffix, + int64_t max_depth, + double distance, + + pgr_mst_rt **result_tuples, + size_t *result_count) { + pgr_SPI_connect(); + + char *log_msg = NULL; + char *notice_msg = NULL; + char *err_msg = NULL; + + char * fn_name = get_name(1, fn_suffix, &err_msg); + if (err_msg) { + pgr_global_report(log_msg, notice_msg, err_msg); + return; + } + + size_t size_rootsArr = 0; + int64_t* rootsArr = (int64_t*) pgr_get_bigIntArray(&size_rootsArr, roots); + + (*result_tuples) = NULL; + (*result_count) = 0; + + pgr_edge_t *edges = NULL; + size_t total_edges = 0; + + pgr_get_edges(edges_sql, &edges, &total_edges); + + + clock_t start_t = clock(); +#if 0 + do_pgr_prim( + edges, total_edges, + rootsArr, size_rootsArr, + + fn_suffix, + + max_depth, + distance, + + result_tuples, + result_count, + &log_msg, + ¬ice_msg, + &err_msg); +#endif + + + time_msg(fn_name, start_t, clock()); + + if (err_msg) { + if (*result_tuples) pfree(*result_tuples); + } + pgr_global_report(log_msg, notice_msg, err_msg); + + if (edges) pfree(edges); + if (log_msg) pfree(log_msg); + if (notice_msg) pfree(notice_msg); + if (err_msg) pfree(err_msg); + + pgr_SPI_finish(); +} +/* */ +/******************************************************************************/ + +PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; + + pgr_mst_rt *result_tuples = NULL; + size_t result_count = 0; + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + + /* Edge sql, tree roots, fn_suffix, max_depth, distance */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + PG_GETARG_ARRAYTYPE_P(1), + text_to_cstring(PG_GETARG_TEXT_P(2)), + PG_GETARG_INT64(3), + PG_GETARG_FLOAT8(4), + &result_tuples, + &result_count); + + +#if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; +#else + funcctx->max_calls = (uint32_t)result_count; +#endif + funcctx->user_fctx = result_tuples; + if (get_call_result_type(fcinfo, NULL, &tuple_desc) + != TYPEFUNC_COMPOSITE) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + } + + funcctx->tuple_desc = tuple_desc; + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (pgr_mst_rt*) funcctx->user_fctx; + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; + Datum result; + Datum *values; + bool* nulls; + + size_t num = 7; + values = palloc(num * sizeof(Datum)); + nulls = palloc(num * sizeof(bool)); + + + size_t i; + for (i = 0; i < num; ++i) { + nulls[i] = false; + } + + values[0] = Int64GetDatum(funcctx->call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].depth); + values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].from_v); + values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); + values[4] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); + values[5] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); + values[6] = Float8GetDatum(result_tuples[funcctx->call_cntr].agg_cost); + + /**********************************************************************/ + + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + SRF_RETURN_NEXT(funcctx, result); + } else { + SRF_RETURN_DONE(funcctx); + } +} From f842f6635a32b0a7bed4338757e2dacc016444d1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 17 May 2020 12:33:07 +0530 Subject: [PATCH 0009/1360] [depthFirstSearch] Added depthFirstSearch driver and header file --- .../depthFirstSearch_driver.h | 71 +++++++++ src/depthFirstSearch/CMakeLists.txt | 1 + src/depthFirstSearch/depthFirstSearch.c | 6 +- .../depthFirstSearch_driver.cpp | 139 ++++++++++++++++++ 4 files changed, 213 insertions(+), 4 deletions(-) create mode 100644 include/drivers/depthFirstSearch/depthFirstSearch_driver.h create mode 100644 src/depthFirstSearch/depthFirstSearch_driver.cpp diff --git a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h new file mode 100644 index 00000000000..9c5979b729b --- /dev/null +++ b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h @@ -0,0 +1,71 @@ +/*PGR-GNU***************************************************************** +File: depthFirstSearch_driver.h + +Generated with Template by: +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_DRIVERS_DEPTHFIRSTSEARCH_DEPTHFIRSTSEARCH_DRIVER_H_ +#define INCLUDE_DRIVERS_DEPTHFIRSTSEARCH_DEPTHFIRSTSEARCH_DRIVER_H_ +#pragma once + +/* for size-t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +#include "c_types/pgr_edge_t.h" +#include "c_types/pgr_mst_rt.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void do_pgr_depthFirstSearch( + pgr_edge_t *data_edges, + size_t total_edges, + + int64_t *rootsArr, + size_t size_rootsArr, + + char* fn_suffix, + + int64_t max_depth, + double distance, + + pgr_mst_rt **return_tuples, + size_t *return_count, + + char ** log_msg, + char ** notice_msg, + char ** err_msg); + +#ifdef __cplusplus +} +#endif + +#endif // INCLUDE_DRIVERS_DEPTHFIRSTSEARCH_DEPTHFIRSTSEARCH_DRIVER_H_ diff --git a/src/depthFirstSearch/CMakeLists.txt b/src/depthFirstSearch/CMakeLists.txt index 3ad52d03649..1468489d1ad 100644 --- a/src/depthFirstSearch/CMakeLists.txt +++ b/src/depthFirstSearch/CMakeLists.txt @@ -1,3 +1,4 @@ ADD_LIBRARY(depthFirstSearch OBJECT depthFirstSearch.c + depthFirstSearch_driver.cpp ) diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 52a4b6e8f63..52212f51a55 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -38,7 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pgr_mst_rt.h" #include "drivers/spanningTree/mst_common.h" -#include "drivers/spanningTree/prim_driver.h" +#include "drivers/depthFirstSearch/depthFirstSearch_driver.h" PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_depthfirstsearch); @@ -80,8 +80,7 @@ process( clock_t start_t = clock(); -#if 0 - do_pgr_prim( + do_pgr_depthFirstSearch( edges, total_edges, rootsArr, size_rootsArr, @@ -95,7 +94,6 @@ process( &log_msg, ¬ice_msg, &err_msg); -#endif time_msg(fn_name, start_t, clock()); diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp new file mode 100644 index 00000000000..edc014a8339 --- /dev/null +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -0,0 +1,139 @@ +/*PGR-GNU***************************************************************** +File: prim_driver.cpp + +Generated with Template by: +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438@gmail.com +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +#include "drivers/depthFirstSearch/depthFirstSearch_driver.h" + +#include +#include +#include +#include + +#include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/pgr_assert.h" + +#include "spanningTree/pgr_prim.hpp" +#include "spanningTree/details.hpp" + + +void +do_pgr_depthFirstSearch( + pgr_edge_t *data_edges, + size_t total_edges, + + int64_t *rootsArr, + size_t size_rootsArr, + + char* fn_suffix, + + int64_t max_depth, + double distance, + + pgr_mst_rt **return_tuples, + size_t *return_count, + + char ** log_msg, + char ** notice_msg, + char ** err_msg) { + std::ostringstream log; + std::ostringstream err; + std::ostringstream notice; + try { + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + + std::vector roots(rootsArr, rootsArr + size_rootsArr); + std::string suffix(fn_suffix); + + std::vector results; + + if (total_edges == 0) { + results = pgrouting::details::get_no_edge_graph_result(roots); + } else { + pgrouting::UndirectedGraph undigraph(UNDIRECTED); + undigraph.insert_min_edges_no_parallel(data_edges, total_edges); + pgrouting::functions::Pgr_prim prim; + if (suffix == "") { + results = prim.prim(undigraph); + } else if (suffix == "BFS") { + results = prim.primBFS(undigraph, roots, max_depth); + } else if (suffix == "DFS") { + results = prim.primDFS(undigraph, roots, max_depth); + } else if (suffix == "DD") { + results = prim.primDD(undigraph, roots, distance); + } else { + err << "Unknown Prim function"; + *err_msg = pgr_msg(err.str().c_str()); + return; + } + } + + auto count = results.size(); + + if (count == 0) { + (*return_tuples) = NULL; + (*return_count) = 0; + notice << "No spanning tree found"; + return; + } + + (*return_tuples) = pgr_alloc(count, (*return_tuples)); + for (size_t i = 0; i < count; i++) { + *((*return_tuples) + i) = results[i]; + } + (*return_count) = count; + + pgassert(*err_msg == NULL); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } +} From 462b48665f1741e5fbe17cb979da0340312e49c4 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 17 May 2020 12:57:43 +0530 Subject: [PATCH 0010/1360] [depthFirstSearch] Added SQL files for pgTAP tests --- .../depthFirstSearch-edge-cases.sql | 201 ++++++++++++++++++ .../depthFirstSearch-innerQuery.sql | 8 + .../depthFirstSearch-types-check.sql | 37 ++++ .../no_crash_test-depthFirstSearch.sql | 106 +++++++++ 4 files changed, 352 insertions(+) create mode 100644 pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql create mode 100644 pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql create mode 100644 pgtap/depthFirstSearch/depthFirstSearch-types-check.sql create mode 100644 pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql new file mode 100644 index 00000000000..11cb1161c85 --- /dev/null +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -0,0 +1,201 @@ +\i setup.sql + +SELECT plan(10); + +UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; + +-- +PREPARE prim1 AS +SELECT * FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id > 18', + 21, 3 +); + +SELECT set_eq('prim1', + $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, + '1: Empty Graph -> Only root vertex is returned'); + + +PREPARE prim2 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost + FROM edge_table WHERE id > 18', + ARRAY[21, 45], + 3 +); + +SELECT set_eq('prim2', + $$VALUES + (1, 0, 21, 21, -1, 0, 0), + (2, 0, 45, 45, -1, 0, 0) + $$, + '2: Empty graph -> Only root vertices are returned'); + + +-- +PREPARE prim3 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 21, 3 +); + +SELECT set_eq('prim3', + $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, + '3: Root not in Graph -> Only root vertex is returned'); + +-- +PREPARE prim4 AS +SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 +FROM pgr_primDFS( + 'SELECT id, source, target, cost + FROM edge_table', + ARRAY[21, 4], + 3 +); + +SELECT set_eq('prim4', + $$VALUES + (1, 4, 0, 4, -1, true), + (2, 4, 1, 9, 16, true), + (3, 4, 2, 6, 9, true), + (4, 4, 3, 3, 5, true), + (5, 4, 3, 5, 8, true), + (6, 4, 3, 11, 11, true), + (7, 21, 0, 21, -1, true) + $$, + '4: Root not in Graph -> Only root vertex is returned, Root in graph -> spanning tree is returned'); + + +-- +PREPARE prim5 AS +SELECT seq, start_vid, depth, node, edge, depth <= 3 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 0, 3 +); + +SELECT set_eq('prim5', + $$VALUES + (1, 1, 0, 1, -1, true), + (2, 1, 1, 2, 1, true), + (3, 1, 2, 3, 2, true), + (4, 1, 3, 4, 3, true), + (5, 1, 3, 6, 5, true), + (6, 1, 2, 5, 4, true), + (7, 1, 3, 8, 7, true), + (8, 1, 3, 10, 10, true), + (9, 14, 0, 14, -1, true), + (10, 14, 1, 15, 17, true), + (11, 16, 0, 16, -1, true), + (12, 16, 1, 17, 18, true) + $$, + '5: root = 0 -> forest (with random root vertices)'); + +-- +PREPARE prim6 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4, -3 +); + + +SELECT throws_ok('prim6', + 'P0001', + 'Negative value found on ''max_depth''', + '6: Negative max_depth throws'); + + + +PREPARE prim7 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[4, 10], -3 +); + +SELECT throws_ok('prim7', + 'P0001', + 'Negative value found on ''max_depth''', + '7: Negative max_depth throws'); + +-- +PREPARE prim8 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4, 0 +); + +SELECT set_eq('prim8', + $$VALUES (1, 0, 4, 4, -1, 0, 0) $$, + '8: 0 max_depth -> Only root vertex is returned'); + +-- +PREPARE prim9 AS +SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4 +); + +SELECT set_eq('prim9', + $$VALUES + (1, 0, 4, 4, -1, true), + (2, 1, 4, 3, 3, true), + (3, 2, 4, 2, 2, true), + (4, 3, 4, 1, 1, true), + (5, 3, 4, 5, 4, true), + (6, 4, 4, 8, 7, true), + (7, 5, 4, 7, 6, true), + (8, 4, 4, 10, 10, true), + (9, 5, 4, 13, 14, true), + (10, 2, 4, 6, 5, true), + (11, 3, 4, 9, 9, true), + (12, 3, 4, 11, 11, true), + (13, 4, 4, 12, 13, true) + $$, + '9: default max_depth -> complete tree from root'); + +-- +PREPARE prim10 AS +SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 0 +); + +SELECT set_eq('prim10', + $$VALUES + (1, 1, 0, 1,-1, true), + (2, 1, 1, 2, 1, true), + (3, 1, 2, 3, 2, true), + (4, 1, 3, 4, 3, true), + (5, 1, 3, 6, 5, true), + (6, 1, 4, 9, 9, true), + (7, 1, 4,11,11, true), + (8, 1, 5,12,13, true), + (9, 1, 2, 5, 4, true), + (10, 1, 3, 8, 7, true), + (11, 1, 4, 7, 6, true), + (12, 1, 3,10,10, true), + (13, 1, 4,13,14, true), + (14, 14, 0,14,-1, true), + (15, 14, 1,15,17, true), + (16, 16, 0,16,-1, true), + (17, 16, 1,17,18, true) + $$, + '10: root = 0 -> forest (with random root vertices)'); + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql new file mode 100644 index 00000000000..98aedb21240 --- /dev/null +++ b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql @@ -0,0 +1,8 @@ +\i setup.sql + +SELECT plan(54); + +SELECT style_dijkstra('pgr_primDFS', ', 5)'); + +SELECT finish(); +ROLLBACK; diff --git a/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql b/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql new file mode 100644 index 00000000000..1c0bb60679d --- /dev/null +++ b/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql @@ -0,0 +1,37 @@ +\i setup.sql + +SELECT plan(7); + +---------------------------------- +-- tests for all +-- prefix: pgr_prim +---------------------------------- + +SELECT has_function('pgr_primdfs'); + +SELECT has_function('pgr_primdfs', ARRAY['text','bigint','bigint']); +SELECT has_function('pgr_primdfs', ARRAY['text','anyarray','bigint']); +SELECT function_returns('pgr_primdfs', ARRAY['text','bigint','bigint'], 'setof record'); +SELECT function_returns('pgr_primdfs', ARRAY['text','anyarray','bigint'], 'setof record'); + + +-- pgr_primdfs +-- parameter names +SELECT set_eq( + $$SELECT proargnames from pg_proc where proname = 'pgr_primdfs'$$, + $$VALUES + ('{"","","max_depth","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[]) + $$ +); + +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_primdfs'$$, + $$VALUES + ('{25,20,20,20,20,20,20,20,701,701}'::OID[]), + ('{25,2277,20,20,20,20,20,20,701,701}'::OID[]) + $$ +); + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql new file mode 100644 index 00000000000..1ad0d9b4d8f --- /dev/null +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -0,0 +1,106 @@ +\i setup.sql + +SELECT plan(86); + +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; + +PREPARE null_vertex AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); + + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT is_empty('null_vertex', 'Should be empty to tests be meaningful'); + + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + -- primDFS + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '5' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::INTEGER'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS with depth + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '5', + '3' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + 'NULL::INTEGER' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS Multiple vertices + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + 'ARRAY[5,3]' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS with depth Multiple vertices + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + 'ARRAY[5,3]', + '3' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + 'NULL::INTEGER' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT[]'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + +ROLLBACK; From e6e729eb2a2de364d0c1937ab975e6857010d32c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 17 May 2020 13:25:56 +0530 Subject: [PATCH 0011/1360] [depthFirstSearch] [doc] Added basic skeleton --- doc/depthFirstSearch/CMakeLists.txt | 12 +++ doc/depthFirstSearch/pgr_depthFirstSearch.rst | 99 +++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 doc/depthFirstSearch/CMakeLists.txt create mode 100644 doc/depthFirstSearch/pgr_depthFirstSearch.rst diff --git a/doc/depthFirstSearch/CMakeLists.txt b/doc/depthFirstSearch/CMakeLists.txt new file mode 100644 index 00000000000..9dbec02987e --- /dev/null +++ b/doc/depthFirstSearch/CMakeLists.txt @@ -0,0 +1,12 @@ + +SET(LOCAL_FILES + pgr_depthFirstSearch.rst + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") + list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) + diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst new file mode 100644 index 00000000000..62db3eb3816 --- /dev/null +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -0,0 +1,99 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: https://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +pgr_depthFirstSearch +=============================================================================== + +``pgr_depthFirstSearch`` — Returns the traversal order(s) using Depth +First Search algorithm. + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/libs/graph/doc/depth_first_search.html + + Boost Graph Inside + +.. rubric:: Availability + +Description +------------------------------------------------------------------------------- + +Visits the nodes in Depth First Search ordering from a root vertex to +a particular depth. + +**The main Characteristics are:** + +- Works on both Undirected and Directed Graphs. +- Provides the Depth First Search traversal order from a source node to +a particular max depth level. +- Depth First Search Running time: :math:`O(E + V)` + +Signatures +------------------------------------------------------------------------------- + +.. code-block:: none + + pgr_depthFirstSearch(Edges SQL, Root vid [, max_depth] [, directed]) + pgr_depthFirstSearch(Edges SQL, Root vids [, max_depth] [, directed]) + + RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + +.. index:: + single: depthFirstSearch(Single vertex) + +Single vertex +............................................................................... + +.. code-block:: none + + pgr_depthFirstSearch(Edges SQL, Root vid [, max_depth] [, directed]) + + RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + +:Example: The Minimum Spanning Tree having as root vertex :math:`2` + +.. literalinclude:: doc-pgr_depthFirstSearch.queries + :start-after: --q1 + :end-before: --q2 + +.. index:: + single: depthFirstSearch(Multiple vertices) + +Multiple vertices +............................................................................... + +.. code-block:: none + + pgr_depthFirstSearch(Edges SQL, Root vids [, max_depth] [, directed]) + + RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + +:Example: + +.. literalinclude:: doc-pgr_depthFirstSearch.queries + :start-after: --q2 + :end-before: --q3 + +.. Parameters, Inner query & result columns + +.. depthFirstSearch-information-start + + + +See Also +------------------------------------------------------------------------------- + +* The queries use the :doc:`sampledata` network. +* `Boost: Depth First Search algorithm documentation `__ +* `Boost: Undirected DFS algorithm documentation `__ +* `Wikipedia: Depth First Search algorithm `__ + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` From 2e63410441725afb29861a6db28ead35d37c4c2c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 17 May 2020 13:32:48 +0530 Subject: [PATCH 0012/1360] [depthFirstSearch] [docqueries] Added basic files --- docqueries/depthFirstSearch/CMakeLists.txt | 11 +++ .../doc-pgr_depthFirstSearch.result | 80 +++++++++++++++++++ .../doc-pgr_depthFirstSearch.test.sql | 15 ++++ docqueries/depthFirstSearch/test.conf | 17 ++++ 4 files changed, 123 insertions(+) create mode 100644 docqueries/depthFirstSearch/CMakeLists.txt create mode 100644 docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result create mode 100644 docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql create mode 100644 docqueries/depthFirstSearch/test.conf diff --git a/docqueries/depthFirstSearch/CMakeLists.txt b/docqueries/depthFirstSearch/CMakeLists.txt new file mode 100644 index 00000000000..89ec7852fa6 --- /dev/null +++ b/docqueries/depthFirstSearch/CMakeLists.txt @@ -0,0 +1,11 @@ +# Do not use extensions +SET(LOCAL_FILES + doc-pgr_depthFirstSearch + ) + +foreach (f ${LOCAL_FILES}) + configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") + list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result new file mode 100644 index 00000000000..168b27e1865 --- /dev/null +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -0,0 +1,80 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +--q1 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 2 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 2 | 2 | -1 | 0 | 0 + 2 | 1 | 2 | 1 | 1 | 1 | 1 + 3 | 1 | 2 | 3 | 2 | 1 | 1 + 4 | 2 | 2 | 4 | 3 | 1 | 2 + 5 | 2 | 2 | 6 | 5 | 1 | 2 + 6 | 3 | 2 | 9 | 9 | 1 | 3 + 7 | 3 | 2 | 11 | 11 | 1 | 3 + 8 | 4 | 2 | 12 | 13 | 1 | 4 + 9 | 1 | 2 | 5 | 4 | 1 | 1 + 10 | 2 | 2 | 8 | 7 | 1 | 2 + 11 | 3 | 2 | 7 | 6 | 1 | 3 + 12 | 2 | 2 | 10 | 10 | 1 | 2 + 13 | 3 | 2 | 13 | 14 | 1 | 3 +(13 rows) + +--q2 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[13,2], max_depth := 3 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 2 | 2 | -1 | 0 | 0 + 2 | 1 | 2 | 1 | 1 | 1 | 1 + 3 | 1 | 2 | 3 | 2 | 1 | 1 + 4 | 2 | 2 | 4 | 3 | 1 | 2 + 5 | 2 | 2 | 6 | 5 | 1 | 2 + 6 | 3 | 2 | 9 | 9 | 1 | 3 + 7 | 3 | 2 | 11 | 11 | 1 | 3 + 8 | 1 | 2 | 5 | 4 | 1 | 1 + 9 | 2 | 2 | 8 | 7 | 1 | 2 + 10 | 3 | 2 | 7 | 6 | 1 | 3 + 11 | 2 | 2 | 10 | 10 | 1 | 2 + 12 | 3 | 2 | 13 | 14 | 1 | 3 + 13 | 0 | 13 | 13 | -1 | 0 | 0 + 14 | 1 | 13 | 10 | 14 | 1 | 1 + 15 | 2 | 13 | 5 | 10 | 1 | 2 + 16 | 3 | 13 | 2 | 4 | 1 | 3 + 17 | 3 | 13 | 8 | 7 | 1 | 3 +(17 rows) + +--q3 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 0 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 1 | 1 | -1 | 0 | 0 + 2 | 1 | 1 | 2 | 1 | 1 | 1 + 3 | 2 | 1 | 3 | 2 | 1 | 2 + 4 | 3 | 1 | 4 | 3 | 1 | 3 + 5 | 3 | 1 | 6 | 5 | 1 | 3 + 6 | 4 | 1 | 9 | 9 | 1 | 4 + 7 | 4 | 1 | 11 | 11 | 1 | 4 + 8 | 5 | 1 | 12 | 13 | 1 | 5 + 9 | 2 | 1 | 5 | 4 | 1 | 2 + 10 | 3 | 1 | 8 | 7 | 1 | 3 + 11 | 4 | 1 | 7 | 6 | 1 | 4 + 12 | 3 | 1 | 10 | 10 | 1 | 3 + 13 | 4 | 1 | 13 | 14 | 1 | 4 + 14 | 0 | 14 | 14 | -1 | 0 | 0 + 15 | 1 | 14 | 15 | 17 | 1 | 1 + 16 | 0 | 16 | 16 | -1 | 0 | 0 + 17 | 1 | 16 | 17 | 18 | 1 | 1 +(17 rows) + +ROLLBACK; +ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql new file mode 100644 index 00000000000..3d78c2796a3 --- /dev/null +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -0,0 +1,15 @@ +\echo --q1 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 2 +); +\echo --q2 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[13,2], max_depth := 3 +); +\echo --q3 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 0 +); diff --git a/docqueries/depthFirstSearch/test.conf b/docqueries/depthFirstSearch/test.conf new file mode 100644 index 00000000000..22d6d906fee --- /dev/null +++ b/docqueries/depthFirstSearch/test.conf @@ -0,0 +1,17 @@ +#!/usr/bin/perl -w + +%main::tests = ( + 'any' => { + 'comment' => 'Depth First Search algorithm tests.', + 'data' => [ ], + 'tests' => [qw( + doc-pgr_depthFirstSearch + )], + 'documentation' => [qw( + doc-pgr_depthFirstSearch + )] + }, + +); + +1; From 33596910037d89ebf6ddccea2dcc0f62771eba48 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 18 May 2020 11:16:59 +0530 Subject: [PATCH 0013/1360] [depthFirstSearch] Removed unnecessary parameters in internal function --- .../depthFirstSearch/depthFirstSearch_driver.h | 3 --- sql/depthFirstSearch/CMakeLists.txt | 2 -- sql/depthFirstSearch/_depthFirstSearch.sql | 8 +++----- sql/depthFirstSearch/depthFirstSearch.sql | 12 ++++++------ sql/sigs/pgrouting--3.0.0.sig | 2 +- src/depthFirstSearch/depthFirstSearch.c | 14 +++----------- .../depthFirstSearch_driver.cpp | 18 +----------------- 7 files changed, 14 insertions(+), 45 deletions(-) diff --git a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h index 9c5979b729b..307ef6f4376 100644 --- a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h +++ b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h @@ -52,10 +52,7 @@ void do_pgr_depthFirstSearch( int64_t *rootsArr, size_t size_rootsArr, - char* fn_suffix, - int64_t max_depth, - double distance, pgr_mst_rt **return_tuples, size_t *return_count, diff --git a/sql/depthFirstSearch/CMakeLists.txt b/sql/depthFirstSearch/CMakeLists.txt index c1ae037cf27..0d34dcfec66 100644 --- a/sql/depthFirstSearch/CMakeLists.txt +++ b/sql/depthFirstSearch/CMakeLists.txt @@ -4,8 +4,6 @@ SET(LOCAL_FILES depthFirstSearch.sql ) -# Do not modify below this line - foreach (f ${LOCAL_FILES}) configure_file(${f} ${f}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) diff --git a/sql/depthFirstSearch/_depthFirstSearch.sql b/sql/depthFirstSearch/_depthFirstSearch.sql index 0fbfff64803..55a8c981e4a 100644 --- a/sql/depthFirstSearch/_depthFirstSearch.sql +++ b/sql/depthFirstSearch/_depthFirstSearch.sql @@ -34,11 +34,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION _pgr_depthFirstSearch( - TEXT, -- Edge sql - ANYARRAY, -- tree root for traversal - order_by TEXT, + edges_sql TEXT, + root_vids ANYARRAY, max_depth BIGINT, - distance FLOAT, OUT seq BIGINT, OUT depth BIGINT, @@ -55,6 +53,6 @@ LANGUAGE C VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_depthFirstSearch(TEXT, ANYARRAY, TEXT, BIGINT, FLOAT) +COMMENT ON FUNCTION _pgr_depthFirstSearch(TEXT, ANYARRAY, BIGINT) IS 'pgRouting internal function'; diff --git a/sql/depthFirstSearch/depthFirstSearch.sql b/sql/depthFirstSearch/depthFirstSearch.sql index 8ade388fb21..0029e212644 100644 --- a/sql/depthFirstSearch/depthFirstSearch.sql +++ b/sql/depthFirstSearch/depthFirstSearch.sql @@ -29,8 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- SINGLE VERTEX CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( - TEXT, -- Edge sql - BIGINT, -- root vertex + TEXT, -- edges_sql (required) + BIGINT, -- root_vid (required) max_depth BIGINT DEFAULT 9223372036854775807, @@ -52,7 +52,7 @@ BEGIN RETURN QUERY SELECT * - FROM _pgr_depthFirstSearch(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], 'DFS', $3, -1); + FROM _pgr_depthFirstSearch(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], $3); END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; @@ -60,8 +60,8 @@ LANGUAGE plpgsql VOLATILE STRICT; -- MULTIPLE VERTICES CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( - TEXT, -- Edge sql - ANYARRAY, -- root vertices + TEXT, -- edges_sql (required) + ANYARRAY, -- root_vids (required) max_depth BIGINT DEFAULT 9223372036854775807, @@ -83,7 +83,7 @@ BEGIN RETURN QUERY SELECT * - FROM _pgr_depthFirstSearch(_pgr_get_statement($1), $2, 'DFS', $3, -1); + FROM _pgr_depthFirstSearch(_pgr_get_statement($1), $2, $3); END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index a2b93fdcc86..d3f46737a35 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -80,8 +80,8 @@ _pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) pgr_dagshortestpath(text,anyarray,bigint) pgr_dagshortestpath(text,bigint,anyarray) pgr_dagshortestpath(text,bigint,bigint) +_pgr_depthfirstsearch(text,anyarray,bigint) pgr_depthfirstsearch(text,anyarray,bigint) -_pgr_depthfirstsearch(text,anyarray,text,bigint,double precision) pgr_depthfirstsearch(text,bigint,bigint) pgr_dijkstracostmatrix(text,anyarray,boolean) pgr_dijkstracost(text,anyarray,anyarray,boolean) diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 52212f51a55..3592c784dea 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -49,9 +49,7 @@ void process( char* edges_sql, ArrayType *roots, - char * fn_suffix, int64_t max_depth, - double distance, pgr_mst_rt **result_tuples, size_t *result_count) { @@ -61,7 +59,6 @@ process( char *notice_msg = NULL; char *err_msg = NULL; - char * fn_name = get_name(1, fn_suffix, &err_msg); if (err_msg) { pgr_global_report(log_msg, notice_msg, err_msg); return; @@ -84,10 +81,7 @@ process( edges, total_edges, rootsArr, size_rootsArr, - fn_suffix, - max_depth, - distance, result_tuples, result_count, @@ -96,7 +90,7 @@ process( &err_msg); - time_msg(fn_name, start_t, clock()); + time_msg("processing pgr_depthFirstSearch", start_t, clock()); if (err_msg) { if (*result_tuples) pfree(*result_tuples); @@ -125,13 +119,11 @@ PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { funcctx = SRF_FIRSTCALL_INIT(); oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /* Edge sql, tree roots, fn_suffix, max_depth, distance */ + /* Edge sql, tree roots, max_depth */ process( text_to_cstring(PG_GETARG_TEXT_P(0)), PG_GETARG_ARRAYTYPE_P(1), - text_to_cstring(PG_GETARG_TEXT_P(2)), - PG_GETARG_INT64(3), - PG_GETARG_FLOAT8(4), + PG_GETARG_INT64(2), &result_tuples, &result_count); diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index edc014a8339..285a6b4b8c8 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -48,10 +48,7 @@ do_pgr_depthFirstSearch( int64_t *rootsArr, size_t size_rootsArr, - char* fn_suffix, - int64_t max_depth, - double distance, pgr_mst_rt **return_tuples, size_t *return_count, @@ -70,7 +67,6 @@ do_pgr_depthFirstSearch( pgassert(*return_count == 0); std::vector roots(rootsArr, rootsArr + size_rootsArr); - std::string suffix(fn_suffix); std::vector results; @@ -80,19 +76,7 @@ do_pgr_depthFirstSearch( pgrouting::UndirectedGraph undigraph(UNDIRECTED); undigraph.insert_min_edges_no_parallel(data_edges, total_edges); pgrouting::functions::Pgr_prim prim; - if (suffix == "") { - results = prim.prim(undigraph); - } else if (suffix == "BFS") { - results = prim.primBFS(undigraph, roots, max_depth); - } else if (suffix == "DFS") { - results = prim.primDFS(undigraph, roots, max_depth); - } else if (suffix == "DD") { - results = prim.primDD(undigraph, roots, distance); - } else { - err << "Unknown Prim function"; - *err_msg = pgr_msg(err.str().c_str()); - return; - } + results = prim.primDFS(undigraph, roots, max_depth); } auto count = results.size(); From fc552f9ea9d54867b8ae5e40ed01d57cf55459bc Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 18 May 2020 11:44:03 +0530 Subject: [PATCH 0014/1360] [depthFirstSearch] Added directed boolean parameter --- .../depthFirstSearch_driver.h | 1 + sql/depthFirstSearch/_depthFirstSearch.sql | 3 +- sql/depthFirstSearch/depthFirstSearch.sql | 14 ++++---- sql/sigs/pgrouting--3.0.0.sig | 6 ++-- src/depthFirstSearch/depthFirstSearch.c | 36 +++++++++++++++++-- .../depthFirstSearch_driver.cpp | 2 ++ 6 files changed, 49 insertions(+), 13 deletions(-) diff --git a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h index 307ef6f4376..ab4e3d59ef2 100644 --- a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h +++ b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h @@ -53,6 +53,7 @@ void do_pgr_depthFirstSearch( size_t size_rootsArr, int64_t max_depth, + bool directed, pgr_mst_rt **return_tuples, size_t *return_count, diff --git a/sql/depthFirstSearch/_depthFirstSearch.sql b/sql/depthFirstSearch/_depthFirstSearch.sql index 55a8c981e4a..18a416d8c51 100644 --- a/sql/depthFirstSearch/_depthFirstSearch.sql +++ b/sql/depthFirstSearch/_depthFirstSearch.sql @@ -37,6 +37,7 @@ CREATE OR REPLACE FUNCTION _pgr_depthFirstSearch( edges_sql TEXT, root_vids ANYARRAY, max_depth BIGINT, + directed BOOLEAN, OUT seq BIGINT, OUT depth BIGINT, @@ -53,6 +54,6 @@ LANGUAGE C VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_depthFirstSearch(TEXT, ANYARRAY, BIGINT) +COMMENT ON FUNCTION _pgr_depthFirstSearch(TEXT, ANYARRAY, BIGINT, BOOLEAN) IS 'pgRouting internal function'; diff --git a/sql/depthFirstSearch/depthFirstSearch.sql b/sql/depthFirstSearch/depthFirstSearch.sql index 0029e212644..055f1ea985d 100644 --- a/sql/depthFirstSearch/depthFirstSearch.sql +++ b/sql/depthFirstSearch/depthFirstSearch.sql @@ -33,6 +33,7 @@ CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( BIGINT, -- root_vid (required) max_depth BIGINT DEFAULT 9223372036854775807, + directed BOOLEAN DEFAULT true, OUT seq BIGINT, OUT depth BIGINT, @@ -52,7 +53,7 @@ BEGIN RETURN QUERY SELECT * - FROM _pgr_depthFirstSearch(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], $3); + FROM _pgr_depthFirstSearch(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], max_depth, directed); END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; @@ -64,6 +65,7 @@ CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( ANYARRAY, -- root_vids (required) max_depth BIGINT DEFAULT 9223372036854775807, + directed BOOLEAN DEFAULT true, OUT seq BIGINT, OUT depth BIGINT, @@ -83,7 +85,7 @@ BEGIN RETURN QUERY SELECT * - FROM _pgr_depthFirstSearch(_pgr_get_statement($1), $2, $3); + FROM _pgr_depthFirstSearch(_pgr_get_statement($1), $2, max_depth, directed); END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; @@ -92,26 +94,26 @@ LANGUAGE plpgsql VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION pgr_depthFirstSearch(TEXT, BIGINT, BIGINT) +COMMENT ON FUNCTION pgr_depthFirstSearch(TEXT, BIGINT, BIGINT, BOOLEAN) IS 'pgr_depthFirstSearch(Single Vertex) -- Undirected graph - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - From root vertex identifier - Optional parameters - max_depth := 9223372036854775807 + - directed := true - Documentation: - ${PGROUTING_DOC_LINK}/pgr_depthFirstSearch.html '; -COMMENT ON FUNCTION pgr_depthFirstSearch(TEXT, ANYARRAY, BIGINT) +COMMENT ON FUNCTION pgr_depthFirstSearch(TEXT, ANYARRAY, BIGINT, BOOLEAN) IS 'pgr_depthFirstSearch(Multiple Vertices) -- Undirected graph - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - From ARRAY[root vertices identifiers] - Optional parameters - max_depth := 9223372036854775807 + - directed := true - Documentation: - ${PGROUTING_DOC_LINK}/pgr_depthFirstSearch.html '; diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index d3f46737a35..8a31d17b2fb 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -80,9 +80,9 @@ _pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) pgr_dagshortestpath(text,anyarray,bigint) pgr_dagshortestpath(text,bigint,anyarray) pgr_dagshortestpath(text,bigint,bigint) -_pgr_depthfirstsearch(text,anyarray,bigint) -pgr_depthfirstsearch(text,anyarray,bigint) -pgr_depthfirstsearch(text,bigint,bigint) +_pgr_depthfirstsearch(text,anyarray,bigint,boolean) +pgr_depthfirstsearch(text,anyarray,bigint,boolean) +pgr_depthfirstsearch(text,bigint,bigint,boolean) pgr_dijkstracostmatrix(text,anyarray,boolean) pgr_dijkstracost(text,anyarray,anyarray,boolean) pgr_dijkstracost(text,anyarray,bigint,boolean) diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 3592c784dea..3d9cb78431d 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -50,6 +50,7 @@ process( char* edges_sql, ArrayType *roots, int64_t max_depth, + bool directed, pgr_mst_rt **result_tuples, size_t *result_count) { @@ -75,13 +76,14 @@ process( pgr_get_edges(edges_sql, &edges, &total_edges); - + PGR_DBG("Starting processing"); clock_t start_t = clock(); do_pgr_depthFirstSearch( edges, total_edges, rootsArr, size_rootsArr, max_depth, + directed, result_tuples, result_count, @@ -89,8 +91,8 @@ process( ¬ice_msg, &err_msg); - time_msg("processing pgr_depthFirstSearch", start_t, clock()); + PGR_DBG("Returning %ld tuples", *result_count); if (err_msg) { if (*result_tuples) pfree(*result_tuples); @@ -111,22 +113,38 @@ PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; + /**********************************************************************/ pgr_mst_rt *result_tuples = NULL; size_t result_count = 0; + /**********************************************************************/ if (SRF_IS_FIRSTCALL()) { MemoryContext oldcontext; funcctx = SRF_FIRSTCALL_INIT(); oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /* Edge sql, tree roots, max_depth */ + /**********************************************************************/ + /* + pgr_depthFirstSearch( + edges_sql TEXT, + root_vids ANYARRAY, + max_depth BIGINT DEFAULT 9223372036854775807, + directed BOOLEAN DEFAULT true + ); + */ + /**********************************************************************/ + + PGR_DBG("Calling process"); process( text_to_cstring(PG_GETARG_TEXT_P(0)), PG_GETARG_ARRAYTYPE_P(1), PG_GETARG_INT64(2), + PG_GETARG_BOOL(3), &result_tuples, &result_count); + /**********************************************************************/ + #if PGSQL_VERSION > 95 funcctx->max_calls = result_count; @@ -156,6 +174,18 @@ PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { Datum *values; bool* nulls; + /**********************************************************************/ + /* + OUT seq BIGINT, + OUT depth BIGINT, + OUT start_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT + */ + /**********************************************************************/ + size_t num = 7; values = palloc(num * sizeof(Datum)); nulls = palloc(num * sizeof(bool)); diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 285a6b4b8c8..645dbb03f9f 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -40,6 +40,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "spanningTree/details.hpp" +// TODO(krashish8): Use the directed parameter below. void do_pgr_depthFirstSearch( pgr_edge_t *data_edges, @@ -49,6 +50,7 @@ do_pgr_depthFirstSearch( size_t size_rootsArr, int64_t max_depth, + bool directed, pgr_mst_rt **return_tuples, size_t *return_count, From ee1653912962a3feefc5c5b507552f88964b8bd6 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 20 May 2020 12:01:01 +0530 Subject: [PATCH 0015/1360] [depthFirstSearch] Small file changes, adding comments and debugging --- .../depthFirstSearch_driver.h | 42 ++++++++++++------- sql/depthFirstSearch/_depthFirstSearch.sql | 1 - sql/depthFirstSearch/depthFirstSearch.sql | 5 +++ src/depthFirstSearch/depthFirstSearch.c | 24 +++++------ .../depthFirstSearch_driver.cpp | 2 +- 5 files changed, 44 insertions(+), 30 deletions(-) diff --git a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h index ab4e3d59ef2..a103031d4b9 100644 --- a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h +++ b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h @@ -45,22 +45,32 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. extern "C" { #endif -void do_pgr_depthFirstSearch( - pgr_edge_t *data_edges, - size_t total_edges, - - int64_t *rootsArr, - size_t size_rootsArr, - - int64_t max_depth, - bool directed, - - pgr_mst_rt **return_tuples, - size_t *return_count, - - char ** log_msg, - char ** notice_msg, - char ** err_msg); + /*************************************************/ + /* + pgr_depthFirstSearch( + edges_sql TEXT, + root_vids ANYARRAY, + max_depth BIGINT DEFAULT 9223372036854775807, + directed BOOLEAN DEFAULT true + ); + */ + /*************************************************/ + void do_pgr_depthFirstSearch( + pgr_edge_t *data_edges, + size_t total_edges, + + int64_t *rootsArr, + size_t size_rootsArr, + + int64_t max_depth, + bool directed, + + pgr_mst_rt **return_tuples, + size_t *return_count, + + char ** log_msg, + char ** notice_msg, + char ** err_msg); #ifdef __cplusplus } diff --git a/sql/depthFirstSearch/_depthFirstSearch.sql b/sql/depthFirstSearch/_depthFirstSearch.sql index 18a416d8c51..51659437283 100644 --- a/sql/depthFirstSearch/_depthFirstSearch.sql +++ b/sql/depthFirstSearch/_depthFirstSearch.sql @@ -27,7 +27,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ - --------------------------- -- _pgr_depthFirstSearch --------------------------- diff --git a/sql/depthFirstSearch/depthFirstSearch.sql b/sql/depthFirstSearch/depthFirstSearch.sql index 055f1ea985d..57466849f13 100644 --- a/sql/depthFirstSearch/depthFirstSearch.sql +++ b/sql/depthFirstSearch/depthFirstSearch.sql @@ -1,6 +1,11 @@ /*PGR-GNU***************************************************************** File: depthFirstSearch.sql +Generated with Template by: +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: Copyright (c) 2020 Ashish Kumar Mail: ashishkr23438@gmail.com diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 3d9cb78431d..289c4838a5d 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -33,11 +33,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/debug_macro.h" #include "c_common/e_report.h" #include "c_common/time_msg.h" + #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "c_types/pgr_mst_rt.h" -#include "drivers/spanningTree/mst_common.h" #include "drivers/depthFirstSearch/depthFirstSearch_driver.h" PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS); @@ -56,28 +55,27 @@ process( size_t *result_count) { pgr_SPI_connect(); - char *log_msg = NULL; - char *notice_msg = NULL; - char *err_msg = NULL; - - if (err_msg) { - pgr_global_report(log_msg, notice_msg, err_msg); - return; - } - + PGR_DBG("Initializing arrays"); size_t size_rootsArr = 0; - int64_t* rootsArr = (int64_t*) pgr_get_bigIntArray(&size_rootsArr, roots); + int64_t* rootsArr = (int64_t*) + pgr_get_bigIntArray(&size_rootsArr, roots); + PGR_DBG("rootsArr size %ld", size_rootsArr); (*result_tuples) = NULL; (*result_count) = 0; + PGR_DBG("Loading the edges"); pgr_edge_t *edges = NULL; size_t total_edges = 0; pgr_get_edges(edges_sql, &edges, &total_edges); + PGR_DBG("Total edges in query %ld", total_edges); PGR_DBG("Starting processing"); clock_t start_t = clock(); + char *log_msg = NULL; + char *notice_msg = NULL; + char *err_msg = NULL; do_pgr_depthFirstSearch( edges, total_edges, rootsArr, size_rootsArr, @@ -97,6 +95,7 @@ process( if (err_msg) { if (*result_tuples) pfree(*result_tuples); } + pgr_global_report(log_msg, notice_msg, err_msg); if (edges) pfree(edges); @@ -210,6 +209,7 @@ PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); } else { + PGR_DBG("Returning done"); SRF_RETURN_DONE(funcctx); } } diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 645dbb03f9f..fa781a9a907 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: prim_driver.cpp +File: depthFirstSearch_driver.cpp Generated with Template by: Copyright (c) 2020 pgRouting developers From 72995d0f9ad7dcefeb20896a8eacd73d52a633ee Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 20 May 2020 14:11:04 +0530 Subject: [PATCH 0016/1360] [depthFirstSearch] Returning empty rows in case of empty edges_sql query --- src/depthFirstSearch/depthFirstSearch.c | 6 ++++++ src/depthFirstSearch/depthFirstSearch_driver.cpp | 1 + 2 files changed, 7 insertions(+) diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 289c4838a5d..84e362333f3 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -71,6 +71,12 @@ process( pgr_get_edges(edges_sql, &edges, &total_edges); PGR_DBG("Total edges in query %ld", total_edges); + if (total_edges == 0) { + if (rootsArr) pfree(rootsArr); + pgr_SPI_finish(); + return; + } + PGR_DBG("Starting processing"); clock_t start_t = clock(); char *log_msg = NULL; diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index fa781a9a907..db2afdefbbf 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -67,6 +67,7 @@ do_pgr_depthFirstSearch( pgassert(!(*err_msg)); pgassert(!(*return_tuples)); pgassert(*return_count == 0); + pgassert(total_edges != 0); std::vector roots(rootsArr, rootsArr + size_rootsArr); From e62246551203c3f15afc757f8f8a1af9e23b6be3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 21 May 2020 22:22:36 +0530 Subject: [PATCH 0017/1360] [depthFirstSearch] Completed basic skeleton, currently algorithm returns empty rows --- .../depthFirstSearch_driver.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index db2afdefbbf..87605d6816e 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -73,21 +73,20 @@ do_pgr_depthFirstSearch( std::vector results; - if (total_edges == 0) { - results = pgrouting::details::get_no_edge_graph_result(roots); - } else { - pgrouting::UndirectedGraph undigraph(UNDIRECTED); - undigraph.insert_min_edges_no_parallel(data_edges, total_edges); - pgrouting::functions::Pgr_prim prim; - results = prim.primDFS(undigraph, roots, max_depth); - } +#if 0 + pgrouting::UndirectedGraph undigraph(UNDIRECTED); + undigraph.insert_min_edges_no_parallel(data_edges, total_edges); + pgrouting::functions::Pgr_prim prim; + results = prim.primDFS(undigraph, roots, max_depth); +#endif auto count = results.size(); if (count == 0) { (*return_tuples) = NULL; (*return_count) = 0; - notice << "No spanning tree found"; + notice << "No traversal found"; + *log_msg = pgr_msg(notice.str().c_str()); return; } From ebad589abd8fdaf453c4adac5c5021523071d666 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 21 May 2020 22:26:47 +0530 Subject: [PATCH 0018/1360] [depthFirstSearch] Adjusting docqueries test according to current implementation --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 4 +- .../doc-pgr_depthFirstSearch.result | 53 ++----------------- 2 files changed, 5 insertions(+), 52 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 62db3eb3816..17227199a7b 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -30,7 +30,7 @@ a particular depth. - Works on both Undirected and Directed Graphs. - Provides the Depth First Search traversal order from a source node to -a particular max depth level. + a particular max depth level. - Depth First Search Running time: :math:`O(E + V)` Signatures @@ -73,7 +73,7 @@ Multiple vertices RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) -:Example: +:Example: .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: --q2 diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 168b27e1865..e5c33ddf757 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -9,20 +9,7 @@ SELECT * FROM pgr_depthFirstSearch( ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- - 1 | 0 | 2 | 2 | -1 | 0 | 0 - 2 | 1 | 2 | 1 | 1 | 1 | 1 - 3 | 1 | 2 | 3 | 2 | 1 | 1 - 4 | 2 | 2 | 4 | 3 | 1 | 2 - 5 | 2 | 2 | 6 | 5 | 1 | 2 - 6 | 3 | 2 | 9 | 9 | 1 | 3 - 7 | 3 | 2 | 11 | 11 | 1 | 3 - 8 | 4 | 2 | 12 | 13 | 1 | 4 - 9 | 1 | 2 | 5 | 4 | 1 | 1 - 10 | 2 | 2 | 8 | 7 | 1 | 2 - 11 | 3 | 2 | 7 | 6 | 1 | 3 - 12 | 2 | 2 | 10 | 10 | 1 | 2 - 13 | 3 | 2 | 13 | 14 | 1 | 3 -(13 rows) +(0 rows) --q2 SELECT * FROM pgr_depthFirstSearch( @@ -31,24 +18,7 @@ SELECT * FROM pgr_depthFirstSearch( ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- - 1 | 0 | 2 | 2 | -1 | 0 | 0 - 2 | 1 | 2 | 1 | 1 | 1 | 1 - 3 | 1 | 2 | 3 | 2 | 1 | 1 - 4 | 2 | 2 | 4 | 3 | 1 | 2 - 5 | 2 | 2 | 6 | 5 | 1 | 2 - 6 | 3 | 2 | 9 | 9 | 1 | 3 - 7 | 3 | 2 | 11 | 11 | 1 | 3 - 8 | 1 | 2 | 5 | 4 | 1 | 1 - 9 | 2 | 2 | 8 | 7 | 1 | 2 - 10 | 3 | 2 | 7 | 6 | 1 | 3 - 11 | 2 | 2 | 10 | 10 | 1 | 2 - 12 | 3 | 2 | 13 | 14 | 1 | 3 - 13 | 0 | 13 | 13 | -1 | 0 | 0 - 14 | 1 | 13 | 10 | 14 | 1 | 1 - 15 | 2 | 13 | 5 | 10 | 1 | 2 - 16 | 3 | 13 | 2 | 4 | 1 | 3 - 17 | 3 | 13 | 8 | 7 | 1 | 3 -(17 rows) +(0 rows) --q3 SELECT * FROM pgr_depthFirstSearch( @@ -57,24 +27,7 @@ SELECT * FROM pgr_depthFirstSearch( ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- - 1 | 0 | 1 | 1 | -1 | 0 | 0 - 2 | 1 | 1 | 2 | 1 | 1 | 1 - 3 | 2 | 1 | 3 | 2 | 1 | 2 - 4 | 3 | 1 | 4 | 3 | 1 | 3 - 5 | 3 | 1 | 6 | 5 | 1 | 3 - 6 | 4 | 1 | 9 | 9 | 1 | 4 - 7 | 4 | 1 | 11 | 11 | 1 | 4 - 8 | 5 | 1 | 12 | 13 | 1 | 5 - 9 | 2 | 1 | 5 | 4 | 1 | 2 - 10 | 3 | 1 | 8 | 7 | 1 | 3 - 11 | 4 | 1 | 7 | 6 | 1 | 4 - 12 | 3 | 1 | 10 | 10 | 1 | 3 - 13 | 4 | 1 | 13 | 14 | 1 | 4 - 14 | 0 | 14 | 14 | -1 | 0 | 0 - 15 | 1 | 14 | 15 | 17 | 1 | 1 - 16 | 0 | 16 | 16 | -1 | 0 | 0 - 17 | 1 | 16 | 17 | 18 | 1 | 1 -(17 rows) +(0 rows) ROLLBACK; ROLLBACK From d708d6ded509a445f7d68eef6d01382d39ea7f20 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 21 May 2020 23:05:35 +0530 Subject: [PATCH 0019/1360] [depthFirstSearch] Modified pgTAP tests according to current implementation --- .../depthFirstSearch-edge-cases.sql | 197 +----------------- .../depthFirstSearch-innerQuery.sql | 2 +- .../depthFirstSearch-types-check.sql | 27 +-- .../no_crash_test-depthFirstSearch.sql | 35 ++-- .../depthFirstSearch_driver.cpp | 2 +- 5 files changed, 35 insertions(+), 228 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 11cb1161c85..ba2f4730468 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,201 +1,12 @@ \i setup.sql -SELECT plan(10); +SELECT plan(1); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +SELECT todo_start('Must add all edge cases'); --- -PREPARE prim1 AS -SELECT * FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18', - 21, 3 -); +SELECT is_empty(' SELECT id, source, target, cost > 0, reverse_cost > 0 from edge_table where id>18 ','1'); -SELECT set_eq('prim1', - $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, - '1: Empty Graph -> Only root vertex is returned'); - - -PREPARE prim2 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost - FROM edge_table WHERE id > 18', - ARRAY[21, 45], - 3 -); - -SELECT set_eq('prim2', - $$VALUES - (1, 0, 21, 21, -1, 0, 0), - (2, 0, 45, 45, -1, 0, 0) - $$, - '2: Empty graph -> Only root vertices are returned'); - - --- -PREPARE prim3 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 21, 3 -); - -SELECT set_eq('prim3', - $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, - '3: Root not in Graph -> Only root vertex is returned'); - --- -PREPARE prim4 AS -SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 -FROM pgr_primDFS( - 'SELECT id, source, target, cost - FROM edge_table', - ARRAY[21, 4], - 3 -); - -SELECT set_eq('prim4', - $$VALUES - (1, 4, 0, 4, -1, true), - (2, 4, 1, 9, 16, true), - (3, 4, 2, 6, 9, true), - (4, 4, 3, 3, 5, true), - (5, 4, 3, 5, 8, true), - (6, 4, 3, 11, 11, true), - (7, 21, 0, 21, -1, true) - $$, - '4: Root not in Graph -> Only root vertex is returned, Root in graph -> spanning tree is returned'); - - --- -PREPARE prim5 AS -SELECT seq, start_vid, depth, node, edge, depth <= 3 -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 0, 3 -); - -SELECT set_eq('prim5', - $$VALUES - (1, 1, 0, 1, -1, true), - (2, 1, 1, 2, 1, true), - (3, 1, 2, 3, 2, true), - (4, 1, 3, 4, 3, true), - (5, 1, 3, 6, 5, true), - (6, 1, 2, 5, 4, true), - (7, 1, 3, 8, 7, true), - (8, 1, 3, 10, 10, true), - (9, 14, 0, 14, -1, true), - (10, 14, 1, 15, 17, true), - (11, 16, 0, 16, -1, true), - (12, 16, 1, 17, 18, true) - $$, - '5: root = 0 -> forest (with random root vertices)'); - --- -PREPARE prim6 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4, -3 -); - - -SELECT throws_ok('prim6', - 'P0001', - 'Negative value found on ''max_depth''', - '6: Negative max_depth throws'); - - - -PREPARE prim7 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - ARRAY[4, 10], -3 -); - -SELECT throws_ok('prim7', - 'P0001', - 'Negative value found on ''max_depth''', - '7: Negative max_depth throws'); - --- -PREPARE prim8 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4, 0 -); - -SELECT set_eq('prim8', - $$VALUES (1, 0, 4, 4, -1, 0, 0) $$, - '8: 0 max_depth -> Only root vertex is returned'); - --- -PREPARE prim9 AS -SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4 -); - -SELECT set_eq('prim9', - $$VALUES - (1, 0, 4, 4, -1, true), - (2, 1, 4, 3, 3, true), - (3, 2, 4, 2, 2, true), - (4, 3, 4, 1, 1, true), - (5, 3, 4, 5, 4, true), - (6, 4, 4, 8, 7, true), - (7, 5, 4, 7, 6, true), - (8, 4, 4, 10, 10, true), - (9, 5, 4, 13, 14, true), - (10, 2, 4, 6, 5, true), - (11, 3, 4, 9, 9, true), - (12, 3, 4, 11, 11, true), - (13, 4, 4, 12, 13, true) - $$, - '9: default max_depth -> complete tree from root'); - --- -PREPARE prim10 AS -SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 0 -); - -SELECT set_eq('prim10', - $$VALUES - (1, 1, 0, 1,-1, true), - (2, 1, 1, 2, 1, true), - (3, 1, 2, 3, 2, true), - (4, 1, 3, 4, 3, true), - (5, 1, 3, 6, 5, true), - (6, 1, 4, 9, 9, true), - (7, 1, 4,11,11, true), - (8, 1, 5,12,13, true), - (9, 1, 2, 5, 4, true), - (10, 1, 3, 8, 7, true), - (11, 1, 4, 7, 6, true), - (12, 1, 3,10,10, true), - (13, 1, 4,13,14, true), - (14, 14, 0,14,-1, true), - (15, 14, 1,15,17, true), - (16, 16, 0,16,-1, true), - (17, 16, 1,17,18, true) - $$, - '10: root = 0 -> forest (with random root vertices)'); +SELECT todo_end(); SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql index 98aedb21240..e1f1a5cb6d3 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql @@ -2,7 +2,7 @@ SELECT plan(54); -SELECT style_dijkstra('pgr_primDFS', ', 5)'); +SELECT style_dijkstra('pgr_depthFirstSearch', ', 5)'); SELECT finish(); ROLLBACK; diff --git a/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql b/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql index 1c0bb60679d..081bc7fd0d8 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql @@ -2,34 +2,29 @@ SELECT plan(7); ----------------------------------- --- tests for all --- prefix: pgr_prim ----------------------------------- -SELECT has_function('pgr_primdfs'); +SELECT has_function('pgr_depthfirstsearch'); -SELECT has_function('pgr_primdfs', ARRAY['text','bigint','bigint']); -SELECT has_function('pgr_primdfs', ARRAY['text','anyarray','bigint']); -SELECT function_returns('pgr_primdfs', ARRAY['text','bigint','bigint'], 'setof record'); -SELECT function_returns('pgr_primdfs', ARRAY['text','anyarray','bigint'], 'setof record'); +SELECT has_function('pgr_depthfirstsearch', ARRAY['text','bigint','bigint','boolean']); +SELECT has_function('pgr_depthfirstsearch', ARRAY['text','anyarray','bigint','boolean']); +SELECT function_returns('pgr_depthfirstsearch', ARRAY['text','bigint','bigint','boolean'], 'setof record'); +SELECT function_returns('pgr_depthfirstsearch', ARRAY['text','anyarray','bigint','boolean'], 'setof record'); - --- pgr_primdfs +-- pgr_depthfirstsearch -- parameter names SELECT set_eq( - $$SELECT proargnames from pg_proc where proname = 'pgr_primdfs'$$, + $$SELECT proargnames from pg_proc where proname = 'pgr_depthfirstsearch'$$, $$VALUES - ('{"","","max_depth","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[]) + ('{"","","max_depth","directed","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[]) $$ ); -- parameter types SELECT set_eq( - $$SELECT proallargtypes from pg_proc where proname = 'pgr_primdfs'$$, + $$SELECT proallargtypes from pg_proc where proname = 'pgr_depthfirstsearch'$$, $$VALUES - ('{25,20,20,20,20,20,20,20,701,701}'::OID[]), - ('{25,2277,20,20,20,20,20,20,701,701}'::OID[]) + ('{25,20,20,16,20,20,20,20,20,701,701}'::OID[]), + ('{25,2277,20,16,20,20,20,20,20,701,701}'::OID[]) $$ ); diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index 1ad0d9b4d8f..b038e88ea24 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -20,7 +20,8 @@ DECLARE params TEXT[]; subs TEXT[]; BEGIN - -- primDFS + PERFORM todo_start('Modify the no crash test'); + -- depthFirstSearch params = ARRAY[ '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', '5' @@ -30,15 +31,15 @@ BEGIN '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); subs[2] := 'NULL::INTEGER'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - -- primDFS with depth + -- depthFirstSearch with depth params = ARRAY[ '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', '5', @@ -50,15 +51,15 @@ BEGIN 'NULL::INTEGER' ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); subs[2] := 'NULL::BIGINT'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - -- primDFS Multiple vertices + -- depthFirstSearch Multiple vertices params = ARRAY[ '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', 'ARRAY[5,3]' @@ -68,15 +69,15 @@ BEGIN '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); subs[2] := 'NULL::BIGINT'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - -- primDFS with depth Multiple vertices + -- depthFirstSearch with depth Multiple vertices params = ARRAY[ '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', 'ARRAY[5,3]', @@ -88,14 +89,14 @@ BEGIN 'NULL::INTEGER' ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); subs[2] := 'NULL::BIGINT[]'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + PERFORM todo_end(); END $BODY$ LANGUAGE plpgsql VOLATILE; diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 87605d6816e..886cc880ccd 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -40,7 +40,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "spanningTree/details.hpp" -// TODO(krashish8): Use the directed parameter below. +// TODO(krashish8): Use the data_edges, max_depth and directed parameter below. void do_pgr_depthFirstSearch( pgr_edge_t *data_edges, From f0f71883b3ac250990c11b21114739c474f99407 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 26 May 2020 17:52:03 +0530 Subject: [PATCH 0020/1360] [depthFirstSearch] Added base pgr_depthFirstSearch.hpp file --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 39 +++++++++++++++++++ .../depthFirstSearch_driver.cpp | 2 + 2 files changed, 41 insertions(+) create mode 100644 include/depthFirstSearch/pgr_depthFirstSearch.hpp diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp new file mode 100644 index 00000000000..08ff9bcbe97 --- /dev/null +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -0,0 +1,39 @@ +/*PGR-GNU***************************************************************** +File: pgr_depthFirstSearch.hpp + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438@gmail.com + +------ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_DEPTHFIRSTSEARCH_PGR_DEPTHFIRSTSEARCH_HPP_ +#define INCLUDE_DEPTHFIRSTSEARCH_PGR_DEPTHFIRSTSEARCH_HPP_ +#pragma once + + +namespace pgrouting { +namespace functions { + +template +class Pgr_depthFirstSearch { + +}; +} // namespace functions +} // namespace pgrouting + +#endif // INCLUDE_DEPTHFIRSTSEARCH_PGR_DEPTHFIRSTSEARCH_HPP_ diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 886cc880ccd..bc001f70ff3 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -39,6 +39,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "spanningTree/pgr_prim.hpp" #include "spanningTree/details.hpp" +#include "depthFirstSearch/pgr_depthFirstSearch.hpp" + // TODO(krashish8): Use the data_edges, max_depth and directed parameter below. void From 659e40ded628be465d99d44ec63b9e9290b68953 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 28 May 2020 00:32:19 +0530 Subject: [PATCH 0021/1360] [depthFirstSearch] Implemented boost functionality for directed graphs --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 08ff9bcbe97..3ff833dc7ce 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -26,12 +26,80 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #pragma once +#include +#include + +#include + +#include "cpp_common/pgr_base_graph.hpp" + namespace pgrouting { namespace functions { template class Pgr_depthFirstSearch { + public: + typedef typename G::V V; + typedef typename G::E E; + + // TODO(ashish): Use both boost::depth_first_search and boost::undirected_dfs below, + // for directed and undirected graphs. + + std::vector depthFirstSearch( + G &graph, + std::vector root_vertex, + int64_t depth) { + + std::vector results; + + for (auto root : root_vertex) { + std::vector visited_order; + using dfs_visitor = visitors::Dfs_visitor_with_root; + + if (graph.has_vertex(root)) { + boost::depth_first_search(graph.graph, + visitor(dfs_visitor(graph.get_V(root), visited_order)) + .root_vertex(graph.get_V(root))); + auto result = get_results(visited_order, root, graph); + results.insert(results.end(), result.begin(), result.end()); + } + } + + return results; + } + + private: + template + std::vector get_results( + T order, + int64_t source, + int64_t max_depth, + const G &graph) { + std::vector results; + + std::vector agg_cost(graph.num_vertices(), 0); + std::vector depth(graph.num_vertices(), 0); + + for (const auto edge : order) { + auto u = graph.source(edge); + auto v = graph.target(edge); + + agg_cost[v] = agg_cost[u] + graph[edge].cost; + depth[v] = depth[u] + 1; + if (max_depth >= depth[v]) { + results.push_back({ + source, + depth[v], + graph[v].id, + graph[edge].id, + graph[edge].cost, + agg_cost[v] + }); + } + } + return results; + } }; } // namespace functions } // namespace pgrouting From adca531be5113b4794f447f153b7a27d20a114c8 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 28 May 2020 09:35:11 +0530 Subject: [PATCH 0022/1360] [depthFirstSearch] DFS Implementation for directed graphs --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 6 +++--- src/depthFirstSearch/depthFirstSearch_driver.cpp | 12 ++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 3ff833dc7ce..30a2f56fbbd 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -47,12 +47,12 @@ class Pgr_depthFirstSearch { std::vector depthFirstSearch( G &graph, - std::vector root_vertex, + std::vector roots, int64_t depth) { std::vector results; - for (auto root : root_vertex) { + for (auto root : roots) { std::vector visited_order; using dfs_visitor = visitors::Dfs_visitor_with_root; @@ -60,7 +60,7 @@ class Pgr_depthFirstSearch { boost::depth_first_search(graph.graph, visitor(dfs_visitor(graph.get_V(root), visited_order)) .root_vertex(graph.get_V(root))); - auto result = get_results(visited_order, root, graph); + auto result = get_results(visited_order, root, depth, graph); results.insert(results.end(), result.begin(), result.end()); } } diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index bc001f70ff3..766f44933b8 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -75,6 +75,18 @@ do_pgr_depthFirstSearch( std::vector results; + graphType gType = directed ? DIRECTED : UNDIRECTED; + + if (directed) { + log << "Graph is directed"; + typedef typename pgrouting::DirectedGraph G; + G digraph(gType); + digraph.insert_edges(data_edges, total_edges); + pgrouting::functions::Pgr_depthFirstSearch< G > fn_depthFirstSearch; + results = fn_depthFirstSearch.depthFirstSearch( + digraph, roots, max_depth); + } + #if 0 pgrouting::UndirectedGraph undigraph(UNDIRECTED); undigraph.insert_min_edges_no_parallel(data_edges, total_edges); From ff91a6a29dba7d293adaefaf81a89d25b57a3c0d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 28 May 2020 10:27:34 +0530 Subject: [PATCH 0023/1360] [depthFirstSearch] Added row for 0 depth --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 30a2f56fbbd..cf6d869d107 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -57,6 +57,7 @@ class Pgr_depthFirstSearch { using dfs_visitor = visitors::Dfs_visitor_with_root; if (graph.has_vertex(root)) { + results.push_back({root, 0, root, -1, 0.0, 0.0}); boost::depth_first_search(graph.graph, visitor(dfs_visitor(graph.get_V(root), visited_order)) .root_vertex(graph.get_V(root))); From 69d163928e87adf9936483bcf76cff74ffe0db64 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 28 May 2020 10:28:11 +0530 Subject: [PATCH 0024/1360] [depthFirstSearch] Removed docqueries test for current implementation --- .../doc-pgr_depthFirstSearch.result | 27 ------------------- .../doc-pgr_depthFirstSearch.test.sql | 15 ----------- 2 files changed, 42 deletions(-) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index e5c33ddf757..cddd2cd5164 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -2,32 +2,5 @@ BEGIN; BEGIN SET client_min_messages TO NOTICE; SET ---q1 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 2 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- -(0 rows) - ---q2 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[13,2], max_depth := 3 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- -(0 rows) - ---q3 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 0 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- -(0 rows) - ROLLBACK; ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 3d78c2796a3..e69de29bb2d 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -1,15 +0,0 @@ -\echo --q1 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 2 -); -\echo --q2 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[13,2], max_depth := 3 -); -\echo --q3 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 0 -); From dcd085a77948684456377c6578dd6b3e709fd336 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 28 May 2020 10:30:24 +0530 Subject: [PATCH 0025/1360] [depthFirstSearch] Modified pgTAP tests for current implementation --- .../depthFirstSearch-innerQuery.sql | 8 +- .../no_crash_test-depthFirstSearch.sql | 78 +------------------ 2 files changed, 8 insertions(+), 78 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql index e1f1a5cb6d3..6a949ccfcb7 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql @@ -1,8 +1,12 @@ \i setup.sql -SELECT plan(54); +SELECT plan(1); -SELECT style_dijkstra('pgr_depthFirstSearch', ', 5)'); +SELECT todo_start('Complete the inner query tests'); + +SELECT pass('Sample Test'); + +SELECT todo_end(); SELECT finish(); ROLLBACK; diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index b038e88ea24..a73214f30d1 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(86); +SELECT plan(2); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; @@ -20,82 +20,8 @@ DECLARE params TEXT[]; subs TEXT[]; BEGIN - PERFORM todo_start('Modify the no crash test'); - -- depthFirstSearch - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - '5' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' - ]::TEXT[]; + PERFORM todo_start('Complete the no crash test'); - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - subs[2] := 'NULL::INTEGER'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - -- depthFirstSearch with depth - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - '5', - '3' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', - 'NULL::INTEGER' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - subs[2] := 'NULL::BIGINT'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - -- depthFirstSearch Multiple vertices - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - 'ARRAY[5,3]' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - subs[2] := 'NULL::BIGINT'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - -- depthFirstSearch with depth Multiple vertices - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - 'ARRAY[5,3]', - '3' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', - 'NULL::INTEGER' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - subs[2] := 'NULL::BIGINT[]'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); PERFORM todo_end(); END $BODY$ From b06ea79deba0d3878477e49277fb3375458f9e98 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 28 May 2020 10:48:35 +0530 Subject: [PATCH 0026/1360] [lint] Removed redundant blank line at the start of code block --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index cf6d869d107..149c7d9008f 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -49,7 +49,6 @@ class Pgr_depthFirstSearch { G &graph, std::vector roots, int64_t depth) { - std::vector results; for (auto root : roots) { From be55e8776f0dd56d2c1e5100531187b280eafbcb Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 28 May 2020 11:11:12 +0530 Subject: [PATCH 0027/1360] [depthFirstSearch] [fix] Fixed errors, added separate function for calling pgr_depthFirstSearch.hpp file --- .../depthFirstSearch_driver.cpp | 42 ++++++++++++++++--- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 766f44933b8..d8356877ee3 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -42,6 +42,36 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "depthFirstSearch/pgr_depthFirstSearch.hpp" +/**********************************************************************/ +/* +pgr_depthFirstSearch( + edges_sql TEXT, + root_vids ANYARRAY, + max_depth BIGINT DEFAULT 9223372036854775807, + directed BOOLEAN DEFAULT true +); +*/ +/**********************************************************************/ + +template < class G > +std::vector +pgr_depthFirstSearch( + G &graph, + std::vector < int64_t > roots, + int64_t max_depth) { + std::sort(roots.begin(), roots.end()); + roots.erase( + std::unique(roots.begin(), roots.end()), + roots.end()); + + + pgrouting::functions::Pgr_depthFirstSearch< G > fn_depthFirstSearch; + auto results = fn_depthFirstSearch.depthFirstSearch( + graph, roots, max_depth); + return results; +} + + // TODO(krashish8): Use the data_edges, max_depth and directed parameter below. void do_pgr_depthFirstSearch( @@ -78,13 +108,13 @@ do_pgr_depthFirstSearch( graphType gType = directed ? DIRECTED : UNDIRECTED; if (directed) { - log << "Graph is directed"; - typedef typename pgrouting::DirectedGraph G; - G digraph(gType); + log << "Working with directed Graph\n"; + pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); - pgrouting::functions::Pgr_depthFirstSearch< G > fn_depthFirstSearch; - results = fn_depthFirstSearch.depthFirstSearch( - digraph, roots, max_depth); + results = pgr_depthFirstSearch( + digraph, + roots, + max_depth); } #if 0 From 8d32687be8ad599589851122eb606c4524512311 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 28 May 2020 11:12:10 +0530 Subject: [PATCH 0028/1360] [depthFirstSearch] Removed todo --- src/depthFirstSearch/depthFirstSearch_driver.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index d8356877ee3..f3561990b53 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -71,8 +71,6 @@ pgr_depthFirstSearch( return results; } - -// TODO(krashish8): Use the data_edges, max_depth and directed parameter below. void do_pgr_depthFirstSearch( pgr_edge_t *data_edges, From a04b25f7af06e595828caedde9afecb5f3ef52fe Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 28 May 2020 11:29:58 +0530 Subject: [PATCH 0029/1360] [depthFirstSearch] Removed unnecessary includes, added essential one --- src/depthFirstSearch/depthFirstSearch_driver.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index f3561990b53..873525af073 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -28,16 +28,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "drivers/depthFirstSearch/depthFirstSearch_driver.h" -#include -#include #include -#include +#include #include "cpp_common/pgr_alloc.hpp" -#include "cpp_common/pgr_assert.h" - -#include "spanningTree/pgr_prim.hpp" -#include "spanningTree/details.hpp" #include "depthFirstSearch/pgr_depthFirstSearch.hpp" From 64569d84a183231cb05166bdca80fd4ba14d8023 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 29 May 2020 17:04:03 +0530 Subject: [PATCH 0030/1360] [depthFirstSearch] Added Pgr_messages for basic debugging and try-catch on calling boost function --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 149c7d9008f..cd5ca390ceb 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -32,12 +32,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "cpp_common/pgr_base_graph.hpp" +#include "cpp_common/pgr_messages.h" namespace pgrouting { namespace functions { template -class Pgr_depthFirstSearch { +class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { public: typedef typename G::V V; typedef typename G::E E; @@ -50,16 +51,29 @@ class Pgr_depthFirstSearch { std::vector roots, int64_t depth) { std::vector results; + using dfs_visitor = visitors::Dfs_visitor_with_root; for (auto root : roots) { std::vector visited_order; - using dfs_visitor = visitors::Dfs_visitor_with_root; if (graph.has_vertex(root)) { results.push_back({root, 0, root, -1, 0.0, 0.0}); - boost::depth_first_search(graph.graph, - visitor(dfs_visitor(graph.get_V(root), visited_order)) - .root_vertex(graph.get_V(root))); + try { + boost::depth_first_search( + graph.graph, + visitor(dfs_visitor(graph.get_V(root), visited_order)) + .root_vertex(graph.get_V(root))); + } catch(found_goals &) { + {} + } catch (boost::exception const& ex) { + (void)ex; + throw; + } catch (std::exception &e) { + (void)e; + throw; + } catch (...) { + throw; + } auto result = get_results(visited_order, root, depth, graph); results.insert(results.end(), result.begin(), result.end()); } @@ -90,11 +104,11 @@ class Pgr_depthFirstSearch { if (max_depth >= depth[v]) { results.push_back({ source, - depth[v], - graph[v].id, - graph[edge].id, - graph[edge].cost, - agg_cost[v] + depth[v], + graph[v].id, + graph[edge].id, + graph[edge].cost, + agg_cost[v] }); } } From 0c77ef30f20c9d8fb064c1f684c4b967a8d3136a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 29 May 2020 17:17:49 +0530 Subject: [PATCH 0031/1360] [depthFirstSearch] Implemented the algorithm for undirected graph --- .../depthFirstSearch_driver.cpp | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 873525af073..61cc5610a7d 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -30,8 +30,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include +#include #include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/pgr_assert.h" #include "depthFirstSearch/pgr_depthFirstSearch.hpp" @@ -52,16 +54,17 @@ std::vector pgr_depthFirstSearch( G &graph, std::vector < int64_t > roots, - int64_t max_depth) { + int64_t max_depth, + std::string &log) { std::sort(roots.begin(), roots.end()); roots.erase( std::unique(roots.begin(), roots.end()), roots.end()); - pgrouting::functions::Pgr_depthFirstSearch< G > fn_depthFirstSearch; auto results = fn_depthFirstSearch.depthFirstSearch( graph, roots, max_depth); + log += fn_depthFirstSearch.get_log(); return results; } @@ -99,6 +102,7 @@ do_pgr_depthFirstSearch( graphType gType = directed ? DIRECTED : UNDIRECTED; + std::string logstr; if (directed) { log << "Working with directed Graph\n"; pgrouting::DirectedGraph digraph(gType); @@ -106,8 +110,20 @@ do_pgr_depthFirstSearch( results = pgr_depthFirstSearch( digraph, roots, - max_depth); + max_depth, + logstr); + } else { + log << "Working with Undirected Graph\n"; + pgrouting::UndirectedGraph undigraph(gType); + undigraph.insert_edges(data_edges, total_edges); + + results = pgr_depthFirstSearch( + undigraph, + roots, + max_depth, + logstr); } + log << logstr; #if 0 pgrouting::UndirectedGraph undigraph(UNDIRECTED); From 79fbe75f4521151d76e8177987c8301a5977a6fe Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 1 Jun 2020 15:18:11 +0530 Subject: [PATCH 0032/1360] [depthFirstSearch] Added boost functionality for undirected graphs --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 15 +++++++++++++-- src/depthFirstSearch/depthFirstSearch_driver.cpp | 5 ++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index cd5ca390ceb..a3b011f0b09 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -28,6 +28,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include +#include #include @@ -49,7 +50,8 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { std::vector depthFirstSearch( G &graph, std::vector roots, - int64_t depth) { + int64_t depth, + bool directed) { std::vector results; using dfs_visitor = visitors::Dfs_visitor_with_root; @@ -59,10 +61,19 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { if (graph.has_vertex(root)) { results.push_back({root, 0, root, -1, 0.0, 0.0}); try { - boost::depth_first_search( + if (directed) { + boost::depth_first_search( graph.graph, visitor(dfs_visitor(graph.get_V(root), visited_order)) .root_vertex(graph.get_V(root))); + } else { + std::map edge_color; + boost::undirected_dfs( + graph.graph, + visitor(dfs_visitor(graph.get_V(root), visited_order)) + .edge_color_map(boost::make_assoc_property_map(edge_color)) + .root_vertex(graph.get_V(root))); + } } catch(found_goals &) { {} } catch (boost::exception const& ex) { diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 61cc5610a7d..a1f80ff0743 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -55,6 +55,7 @@ pgr_depthFirstSearch( G &graph, std::vector < int64_t > roots, int64_t max_depth, + bool directed, std::string &log) { std::sort(roots.begin(), roots.end()); roots.erase( @@ -63,7 +64,7 @@ pgr_depthFirstSearch( pgrouting::functions::Pgr_depthFirstSearch< G > fn_depthFirstSearch; auto results = fn_depthFirstSearch.depthFirstSearch( - graph, roots, max_depth); + graph, roots, max_depth, directed); log += fn_depthFirstSearch.get_log(); return results; } @@ -111,6 +112,7 @@ do_pgr_depthFirstSearch( digraph, roots, max_depth, + directed, logstr); } else { log << "Working with Undirected Graph\n"; @@ -121,6 +123,7 @@ do_pgr_depthFirstSearch( undigraph, roots, max_depth, + directed, logstr); } log << logstr; From 7d667832558379dee3ceda1fa9660d3dc1e9356e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 1 Jun 2020 15:33:27 +0530 Subject: [PATCH 0033/1360] [depthFirstSearch] Included map header file, used in undirected graphs --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index a3b011f0b09..956ea7abf37 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -31,6 +31,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include +#include #include "cpp_common/pgr_base_graph.hpp" #include "cpp_common/pgr_messages.h" From e4479313aee0b08d0b125e863c33b3f01c671334 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 1 Jun 2020 15:34:06 +0530 Subject: [PATCH 0034/1360] [depthFirstSearch] Removed Todo --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 956ea7abf37..f69d43fd4f6 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -45,9 +45,6 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { typedef typename G::V V; typedef typename G::E E; - // TODO(ashish): Use both boost::depth_first_search and boost::undirected_dfs below, - // for directed and undirected graphs. - std::vector depthFirstSearch( G &graph, std::vector roots, From 33e6e87a8de270c27b0acdb47d7b5d76bf4b8f02 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 1 Jun 2020 16:00:19 +0530 Subject: [PATCH 0035/1360] [depthFirstSearch] Removed commented code --- src/depthFirstSearch/depthFirstSearch_driver.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index a1f80ff0743..aa6ed23afd5 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -128,13 +128,6 @@ do_pgr_depthFirstSearch( } log << logstr; -#if 0 - pgrouting::UndirectedGraph undigraph(UNDIRECTED); - undigraph.insert_min_edges_no_parallel(data_edges, total_edges); - pgrouting::functions::Pgr_prim prim; - results = prim.primDFS(undigraph, roots, max_depth); -#endif - auto count = results.size(); if (count == 0) { From 528b181d1f7f0b8765be5816680ec3764edabd9c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 2 Jun 2020 16:43:43 +0530 Subject: [PATCH 0036/1360] [depthFirstSearch] [doc] Edited the doc file --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 17227199a7b..ddd4c8b6f7f 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -7,11 +7,12 @@ Alike 3.0 License: https://creativecommons.org/licenses/by-sa/3.0/ **************************************************************************** -pgr_depthFirstSearch +pgr_depthFirstSearch - Experimental =============================================================================== ``pgr_depthFirstSearch`` — Returns the traversal order(s) using Depth -First Search algorithm. + First Search algorithm. In particular, the Depth First Search algorithm + and the Undirected DFS algorithm implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/libs/graph/doc/depth_first_search.html @@ -28,7 +29,7 @@ a particular depth. **The main Characteristics are:** -- Works on both Undirected and Directed Graphs. +- The implementation works for both undirected and directed graphs. - Provides the Depth First Search traversal order from a source node to a particular max depth level. - Depth First Search Running time: :math:`O(E + V)` From 3ab4b14f7a49cf117812f644ae60a4f6d0485cde Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 2 Jun 2020 17:52:46 +0530 Subject: [PATCH 0037/1360] [depthFirstSearch] [doc] Added the description, characteristics and signature --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index ddd4c8b6f7f..9739e007dd9 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -24,14 +24,21 @@ pgr_depthFirstSearch - Experimental Description ------------------------------------------------------------------------------- -Visits the nodes in Depth First Search ordering from a root vertex to -a particular depth. +Depth First Search algorithm is a well known traversal algorithm which starts +from a root vertex (``start_vid``) and visits all the nodes in a graph in the +depth-first search traversal order. An optional non-negative maximum depth +parameter (``max_depth``) can be specified to get the results upto a particular +depth. **The main Characteristics are:** - The implementation works for both undirected and directed graphs. - Provides the Depth First Search traversal order from a source node to - a particular max depth level. + a particular maximum depth level. +- For optimization purposes, any duplicated values in the `start_vids` are + ignored. +- The returned values are ordered in ascending order of `start_vid`. +- If the starting vertex does not exist, empty row is returned. - Depth First Search Running time: :math:`O(E + V)` Signatures @@ -56,8 +63,9 @@ Single vertex RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) -:Example: The Minimum Spanning Tree having as root vertex :math:`2` +:Example: From start vertex :math:`2` on a **directed** graph +.. TODO: .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: --q1 :end-before: --q2 @@ -74,8 +82,10 @@ Multiple vertices RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) -:Example: +:Example: From start vertices :math:`\{11, 12\}` with :math:`depth <= 2` + on a **directed** graph +.. TODO: .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: --q2 :end-before: --q3 @@ -86,6 +96,7 @@ Multiple vertices + See Also ------------------------------------------------------------------------------- From 8948d87ba2818cbe113e247d7f1ffc3f65e52e56 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 2 Jun 2020 17:57:02 +0530 Subject: [PATCH 0038/1360] [depthFirstSearch] [doc] Added the parameters, inner query, and result columns --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 9739e007dd9..453e67df532 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -94,6 +94,76 @@ Multiple vertices .. depthFirstSearch-information-start +Parameters +------------------------------------------------------------------------------- + +=================== ====================== ================================================= +Parameter Type Description +=================== ====================== ================================================= +**Edges SQL** ``TEXT`` SQL query described in `Inner query`_. +**Root vid** ``BIGINT`` Identifier of the root vertex of the tree. + + - Used on `Single Vertex`_. + +**Root vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of the root vertices. + + - Used on `Multiple Vertices`_. + - For optimization purposes, any duplicated value is ignored. +=================== ====================== ================================================= + +Optional Parameters +............................................................................... + +=================== =========== =========================== ================================================= +Parameter Type Default Description +=================== =========== =========================== ================================================= +**max_depth** ``BIGINT`` :math:`9223372036854775807` Upper limit for depth of node in the tree + + - When value is ``Negative`` then **throws error** + +**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` + - When ``false`` the graph is considered as `Undirected`. +=================== =========== =========================== ================================================= + +Inner query +------------------------------------------------------------------------------- + +.. rubric::Edges SQL + +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end + +Result Columns +------------------------------------------------------------------------------- + +.. result columns start + +Returns SET OF ``(seq, depth, start_vid, node, edge, cost, agg_cost)`` + +=============== =========== ==================================================== +Column Type Description +=============== =========== ==================================================== +**seq** ``BIGINT`` Sequential value starting from :math:`1`. +**depth** ``BIGINT`` Depth of the ``node``. + + - :math:`0` when ``node`` = ``start_vid``. + +**start_vid** ``BIGINT`` Identifier of the root vertex. + + - In `Multiple Vertices`_ results are in ascending order. + +**node** ``BIGINT`` Identifier of ``node`` reached using ``edge``. +**edge** ``BIGINT`` Identifier of the ``edge`` used to arrive to ``node``. + + - :math:`-1` when ``node`` = ``start_vid``. + +**cost** ``FLOAT`` Cost to traverse ``edge``. +**agg_cost** ``FLOAT`` Aggregate cost from ``start_vid`` to ``node``. +=============== =========== ==================================================== + +.. result columns end + From 63782d5576093b0b55093c2c34e80c53afa7ab9c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 2 Jun 2020 19:21:23 +0530 Subject: [PATCH 0039/1360] [depthFirstSearch] [doc] Added additional examples --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 453e67df532..3a51c1aaf2a 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -165,6 +165,73 @@ Column Type Description .. result columns end +Additional Examples +------------------------------------------------------------------------------- + +The examples of this section are based on the :doc:`sampledata` network. + +.. TODO: CHANGE THIS + The examples include combinations ... in a directed and undirected graph. + +**Directed Graph** + +:Examples: For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns + +The examples in this section use the following: + +* :ref:`fig1` + +.. TODO +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q3 + :end-before: -- q4 + +**Undirected Graph** + +:Examples: For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns + +The examples in this section use the following: + +* :ref:`fig2` + +.. TODO +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q4 + :end-before: -- q5 + +**Vertex Out Of Graph** + +:Example: For queries in which starting vertex is not present in the graph + +.. TODO: +.. literalinclude:: doc-pgr_depthFirstSearch.queries + :start-after: --q5 + :end-before: --q6 + +Equivalences between signatures +............................................................................... + +:Examples: For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns + +The examples in this section use the following: + +* :ref:`fig1` + +.. TODO +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q6 + :end-before: -- q7 + +:Examples: For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns + +The examples in this section use the following: + +* :ref:`fig2` + +.. TODO +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q7 + :end-before: -- q8 See Also From f33a68672fb2bb2c755e4a8ec6cd123d49d5d70d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 3 Jun 2020 16:41:46 +0530 Subject: [PATCH 0040/1360] [depthFirstSearch] [doc] Added docqueries for single and multiple vertices --- .../doc-pgr_depthFirstSearch.result | 39 +++++++++++++++++++ .../doc-pgr_depthFirstSearch.test.sql | 11 ++++++ 2 files changed, 50 insertions(+) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index cddd2cd5164..52da335d49b 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -2,5 +2,44 @@ BEGIN; BEGIN SET client_min_messages TO NOTICE; SET +--q1 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 2 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 2 | 2 | -1 | 0 | 0 + 2 | 1 | 2 | 1 | 1 | 1 | 1 + 3 | 1 | 2 | 5 | 4 | 1 | 1 + 4 | 2 | 2 | 8 | 7 | 1 | 2 + 5 | 3 | 2 | 7 | 6 | 1 | 3 + 6 | 2 | 2 | 6 | 8 | 1 | 2 + 7 | 3 | 2 | 9 | 9 | 1 | 3 + 8 | 4 | 2 | 12 | 15 | 1 | 4 + 9 | 4 | 2 | 4 | 16 | 1 | 4 + 10 | 5 | 2 | 3 | 3 | 1 | 5 + 11 | 3 | 2 | 11 | 11 | 1 | 3 + 12 | 2 | 2 | 10 | 10 | 1 | 2 + 13 | 3 | 2 | 13 | 14 | 1 | 3 +(13 rows) + +--q2 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[11,12], max_depth := 2 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 11 | 11 | -1 | 0 | 0 + 2 | 1 | 11 | 12 | 13 | 1 | 1 + 3 | 2 | 11 | 9 | 15 | 1 | 2 + 4 | 0 | 12 | 12 | -1 | 0 | 0 + 5 | 1 | 12 | 9 | 15 | 1 | 1 + 6 | 2 | 12 | 6 | 9 | 1 | 2 + 7 | 2 | 12 | 4 | 16 | 1 | 2 +(7 rows) + +--q3 ROLLBACK; ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index e69de29bb2d..5c5e373f1dc 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -0,0 +1,11 @@ +\echo --q1 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 2 +); +\echo --q2 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[11,12], max_depth := 2 +); +\echo --q3 From 696d484dd3068d76b38bcb09610f118c5841f2f4 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 3 Jun 2020 17:17:47 +0530 Subject: [PATCH 0041/1360] [depthFirstSearch] [doc] Added docqueries for directed graphs --- .../doc-pgr_depthFirstSearch.result | 63 +++++++++++++++++++ .../doc-pgr_depthFirstSearch.test.sql | 15 +++++ 2 files changed, 78 insertions(+) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 52da335d49b..5b7c63de2b7 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -41,5 +41,68 @@ SELECT * FROM pgr_depthFirstSearch( (7 rows) --q3 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 6 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 6 | 6 | -1 | 0 | 0 + 2 | 1 | 6 | 5 | 8 | 1 | 1 + 3 | 2 | 6 | 2 | 4 | 1 | 2 + 4 | 3 | 6 | 1 | 1 | 1 | 3 + 5 | 2 | 6 | 8 | 7 | 1 | 2 + 6 | 3 | 6 | 7 | 6 | 1 | 3 + 7 | 2 | 6 | 10 | 10 | 1 | 2 + 8 | 3 | 6 | 11 | 12 | 1 | 3 + 9 | 4 | 6 | 12 | 13 | 1 | 4 + 10 | 5 | 6 | 9 | 15 | 1 | 5 + 11 | 6 | 6 | 4 | 16 | 1 | 6 + 12 | 7 | 6 | 3 | 3 | 1 | 7 + 13 | 3 | 6 | 13 | 14 | 1 | 3 +(13 rows) + +--q4 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[8,15] +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 8 | 8 | -1 | 0 | 0 + 2 | 1 | 8 | 7 | 6 | 1 | 1 + 3 | 1 | 8 | 5 | 7 | 1 | 1 + 4 | 2 | 8 | 2 | 4 | 1 | 2 + 5 | 3 | 8 | 1 | 1 | 1 | 3 + 6 | 2 | 8 | 6 | 8 | 1 | 2 + 7 | 3 | 8 | 9 | 9 | 1 | 3 + 8 | 4 | 8 | 12 | 15 | 1 | 4 + 9 | 4 | 8 | 4 | 16 | 1 | 4 + 10 | 5 | 8 | 3 | 3 | 1 | 5 + 11 | 3 | 8 | 11 | 11 | 1 | 3 + 12 | 2 | 8 | 10 | 10 | 1 | 2 + 13 | 3 | 8 | 13 | 14 | 1 | 3 + 14 | 0 | 15 | 15 | -1 | 0 | 0 + 15 | 1 | 15 | 14 | 17 | 1 | 1 +(15 rows) + +--q5 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[8,15], max_depth := 2 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 8 | 8 | -1 | 0 | 0 + 2 | 1 | 8 | 7 | 6 | 1 | 1 + 3 | 1 | 8 | 5 | 7 | 1 | 1 + 4 | 2 | 8 | 2 | 4 | 1 | 2 + 5 | 2 | 8 | 6 | 8 | 1 | 2 + 6 | 2 | 8 | 10 | 10 | 1 | 2 + 7 | 0 | 15 | 15 | -1 | 0 | 0 + 8 | 1 | 15 | 14 | 17 | 1 | 1 +(8 rows) + +--q6 ROLLBACK; ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 5c5e373f1dc..6259688cce4 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -9,3 +9,18 @@ SELECT * FROM pgr_depthFirstSearch( ARRAY[11,12], max_depth := 2 ); \echo --q3 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 6 +); +\echo --q4 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[8,15] +); +\echo --q5 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[8,15], max_depth := 2 +); +\echo --q6 From e646e0173ea653faf393a58aee49cb6c0afde798 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 3 Jun 2020 17:47:07 +0530 Subject: [PATCH 0042/1360] [depthFirstSearch] [doc] Added docqueries for undirected graphs --- .../doc-pgr_depthFirstSearch.result | 61 +++++++++++++++++++ .../doc-pgr_depthFirstSearch.test.sql | 15 +++++ 2 files changed, 76 insertions(+) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 5b7c63de2b7..50285558a9a 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -104,5 +104,66 @@ SELECT * FROM pgr_depthFirstSearch( (8 rows) --q6 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 6, directed := false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 6 | 6 | -1 | 0 | 0 + 2 | 1 | 6 | 3 | 5 | 1 | 1 + 3 | 2 | 6 | 2 | 2 | 1 | 2 + 4 | 3 | 6 | 1 | 1 | 1 | 3 + 5 | 3 | 6 | 5 | 4 | 1 | 3 + 6 | 4 | 6 | 8 | 7 | 1 | 4 + 7 | 5 | 6 | 7 | 6 | 1 | 5 + 8 | 4 | 6 | 10 | 10 | 1 | 4 + 9 | 5 | 6 | 11 | 12 | 1 | 5 + 10 | 6 | 6 | 12 | 13 | 1 | 6 + 11 | 7 | 6 | 9 | 15 | 1 | 7 + 12 | 8 | 6 | 4 | 16 | 1 | 8 + 13 | 5 | 6 | 13 | 14 | 1 | 5 +(13 rows) + +--q7 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[8,15], directed := false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 8 | 8 | -1 | 0 | 0 + 2 | 1 | 8 | 7 | 6 | 1 | 1 + 3 | 1 | 8 | 5 | 7 | 1 | 1 + 4 | 2 | 8 | 2 | 4 | 1 | 2 + 5 | 3 | 8 | 1 | 1 | 1 | 3 + 6 | 3 | 8 | 3 | 2 | 1 | 3 + 7 | 4 | 8 | 4 | 3 | 1 | 4 + 8 | 5 | 8 | 9 | 16 | 1 | 5 + 9 | 6 | 8 | 6 | 9 | 1 | 6 + 10 | 7 | 8 | 11 | 11 | 1 | 7 + 11 | 8 | 8 | 10 | 12 | 1 | 8 + 12 | 9 | 8 | 13 | 14 | 1 | 9 + 13 | 8 | 8 | 12 | 13 | 1 | 8 + 14 | 0 | 15 | 15 | -1 | 0 | 0 + 15 | 1 | 15 | 14 | 17 | 1 | 1 +(15 rows) + +--q8 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[8,15], max_depth := 2, directed := false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 8 | 8 | -1 | 0 | 0 + 2 | 1 | 8 | 7 | 6 | 1 | 1 + 3 | 1 | 8 | 5 | 7 | 1 | 1 + 4 | 2 | 8 | 2 | 4 | 1 | 2 + 5 | 0 | 15 | 15 | -1 | 0 | 0 + 6 | 1 | 15 | 14 | 17 | 1 | 1 +(6 rows) + +--q9 ROLLBACK; ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 6259688cce4..064bb5fb588 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -24,3 +24,18 @@ SELECT * FROM pgr_depthFirstSearch( ARRAY[8,15], max_depth := 2 ); \echo --q6 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 6, directed := false +); +\echo --q7 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[8,15], directed := false +); +\echo --q8 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[8,15], max_depth := 2, directed := false +); +\echo --q9 From fb9d53bf33284740a4f2be00161e0791cdf8f970 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 3 Jun 2020 17:49:36 +0530 Subject: [PATCH 0043/1360] [depthFirstSearch] [doc] Edited query number --- .../depthFirstSearch/doc-pgr_depthFirstSearch.result | 8 ++------ .../depthFirstSearch/doc-pgr_depthFirstSearch.test.sql | 8 ++------ 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 50285558a9a..ab2a91f2432 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -62,7 +62,6 @@ SELECT * FROM pgr_depthFirstSearch( 13 | 3 | 6 | 13 | 14 | 1 | 3 (13 rows) ---q4 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15] @@ -86,7 +85,6 @@ SELECT * FROM pgr_depthFirstSearch( 15 | 1 | 15 | 14 | 17 | 1 | 1 (15 rows) ---q5 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15], max_depth := 2 @@ -103,7 +101,7 @@ SELECT * FROM pgr_depthFirstSearch( 8 | 1 | 15 | 14 | 17 | 1 | 1 (8 rows) ---q6 +--q4 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 6, directed := false @@ -125,7 +123,6 @@ SELECT * FROM pgr_depthFirstSearch( 13 | 5 | 6 | 13 | 14 | 1 | 5 (13 rows) ---q7 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15], directed := false @@ -149,7 +146,6 @@ SELECT * FROM pgr_depthFirstSearch( 15 | 1 | 15 | 14 | 17 | 1 | 1 (15 rows) ---q8 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15], max_depth := 2, directed := false @@ -164,6 +160,6 @@ SELECT * FROM pgr_depthFirstSearch( 6 | 1 | 15 | 14 | 17 | 1 | 1 (6 rows) ---q9 +--q5 ROLLBACK; ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 064bb5fb588..984f1145dff 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -13,29 +13,25 @@ SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 6 ); -\echo --q4 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15] ); -\echo --q5 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15], max_depth := 2 ); -\echo --q6 +\echo --q4 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 6, directed := false ); -\echo --q7 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15], directed := false ); -\echo --q8 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15], max_depth := 2, directed := false ); -\echo --q9 +\echo --q5 From d7d022367be9fbd0f713cda28fd44270edafb8b4 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 3 Jun 2020 17:51:55 +0530 Subject: [PATCH 0044/1360] [depthFirstSearch] [doc] Added docqueries when vertex is not present in graph --- .../depthFirstSearch/doc-pgr_depthFirstSearch.result | 11 ++++++++++- .../doc-pgr_depthFirstSearch.test.sql | 5 +++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index ab2a91f2432..67e27fa8a25 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -160,6 +160,15 @@ SELECT * FROM pgr_depthFirstSearch( 6 | 1 | 15 | 14 | 17 | 1 | 1 (6 rows) ---q5 +-- q5 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[-10,20] +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- +(0 rows) + +--q6 ROLLBACK; ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 984f1145dff..572065583f0 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -35,3 +35,8 @@ SELECT * FROM pgr_depthFirstSearch( ARRAY[8,15], max_depth := 2, directed := false ); \echo --q5 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[-10,20] +); +\echo --q6 From 5979655e26656f5bb5b4c1766e3343c185357026 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 3 Jun 2020 17:56:01 +0530 Subject: [PATCH 0045/1360] [depthFirstSearch] [doc] Added docqueries - equivalences between signature (directed) --- .../doc-pgr_depthFirstSearch.result | 51 +++++++++++++++++++ .../doc-pgr_depthFirstSearch.test.sql | 21 ++++++++ 2 files changed, 72 insertions(+) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 67e27fa8a25..5430eed724d 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -170,5 +170,56 @@ SELECT * FROM pgr_depthFirstSearch( (0 rows) --q6 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 16 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 16 | 16 | -1 | 0 | 0 + 2 | 1 | 16 | 17 | 18 | 1 | 1 +(2 rows) + +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 16, directed := true +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 16 | 16 | -1 | 0 | 0 + 2 | 1 | 16 | 17 | 18 | 1 | 1 +(2 rows) + +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[16] +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 16 | 16 | -1 | 0 | 0 + 2 | 1 | 16 | 17 | 18 | 1 | 1 +(2 rows) + +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 16, max_depth := 1 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 16 | 16 | -1 | 0 | 0 + 2 | 1 | 16 | 17 | 18 | 1 | 1 +(2 rows) + +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[16], max_depth := 5 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 16 | 16 | -1 | 0 | 0 + 2 | 1 | 16 | 17 | 18 | 1 | 1 +(2 rows) + +-- q7 ROLLBACK; ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 572065583f0..e2716db73cd 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -40,3 +40,24 @@ SELECT * FROM pgr_depthFirstSearch( ARRAY[-10,20] ); \echo --q6 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 16 +); +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 16, directed := true +); +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[16] +); +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 16, max_depth := 1 +); +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[16], max_depth := 5 +); +\echo --q7 From 6a055174a5b9b66bed144a07860f801f7c9cbd69 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 3 Jun 2020 18:14:51 +0530 Subject: [PATCH 0046/1360] [depthFirstSearch] [doc] Added docqueries - equivalences between signature (undirected) --- .../doc-pgr_depthFirstSearch.result | 41 +++++++++++++++++++ .../doc-pgr_depthFirstSearch.test.sql | 17 ++++++++ 2 files changed, 58 insertions(+) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 5430eed724d..4639a75e851 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -221,5 +221,46 @@ SELECT * FROM pgr_depthFirstSearch( (2 rows) -- q7 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 16, directed := false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 16 | 16 | -1 | 0 | 0 + 2 | 1 | 16 | 17 | 18 | 1 | 1 +(2 rows) + +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[16], directed := false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 16 | 16 | -1 | 0 | 0 + 2 | 1 | 16 | 17 | 18 | 1 | 1 +(2 rows) + +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 16, max_depth := 1, directed := false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 16 | 16 | -1 | 0 | 0 + 2 | 1 | 16 | 17 | 18 | 1 | 1 +(2 rows) + +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[16], max_depth := 5, directed := false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 16 | 16 | -1 | 0 | 0 + 2 | 1 | 16 | 17 | 18 | 1 | 1 +(2 rows) + +-- q8 ROLLBACK; ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index e2716db73cd..c80b4fe29b7 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -61,3 +61,20 @@ SELECT * FROM pgr_depthFirstSearch( ARRAY[16], max_depth := 5 ); \echo --q7 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 16, directed := false +); +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[16], directed := false +); +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 16, max_depth := 1, directed := false +); +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[16], max_depth := 5, directed := false +); +\echo --q8 From d58c5b3688c914a69f673d17f2b286d7aa5b5c14 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 14:03:10 +0530 Subject: [PATCH 0047/1360] [depthFirstSearch] [doc] Added the docqueries in doc --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 3a51c1aaf2a..98e918529f0 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -65,7 +65,6 @@ Single vertex :Example: From start vertex :math:`2` on a **directed** graph -.. TODO: .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: --q1 :end-before: --q2 @@ -85,7 +84,6 @@ Multiple vertices :Example: From start vertices :math:`\{11, 12\}` with :math:`depth <= 2` on a **directed** graph -.. TODO: .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: --q2 :end-before: --q3 @@ -170,8 +168,8 @@ Additional Examples The examples of this section are based on the :doc:`sampledata` network. -.. TODO: CHANGE THIS - The examples include combinations ... in a directed and undirected graph. +The examples include the traversal with starting vertices as 6, 8 and 15 in a +directed and undirected graph, for both single vertex and multiple vertices. **Directed Graph** @@ -181,7 +179,6 @@ The examples in this section use the following: * :ref:`fig1` -.. TODO .. literalinclude:: doc-pgr_dijkstra.queries :start-after: -- q3 :end-before: -- q4 @@ -194,7 +191,6 @@ The examples in this section use the following: * :ref:`fig2` -.. TODO .. literalinclude:: doc-pgr_dijkstra.queries :start-after: -- q4 :end-before: -- q5 @@ -203,7 +199,6 @@ The examples in this section use the following: :Example: For queries in which starting vertex is not present in the graph -.. TODO: .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: --q5 :end-before: --q6 @@ -217,7 +212,6 @@ The examples in this section use the following: * :ref:`fig1` -.. TODO .. literalinclude:: doc-pgr_dijkstra.queries :start-after: -- q6 :end-before: -- q7 @@ -228,7 +222,6 @@ The examples in this section use the following: * :ref:`fig2` -.. TODO .. literalinclude:: doc-pgr_dijkstra.queries :start-after: -- q7 :end-before: -- q8 From 03b9407351cfccd23d6eee02d1f7bd62ba76eb23 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 14:13:01 +0530 Subject: [PATCH 0048/1360] [doc] Added name in contributors list --- doc/src/pgRouting-introduction.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/pgRouting-introduction.rst b/doc/src/pgRouting-introduction.rst index 6c677f8e9c9..5034ff6828f 100644 --- a/doc/src/pgRouting-introduction.rst +++ b/doc/src/pgRouting-introduction.rst @@ -55,6 +55,7 @@ This Release Contributors Individuals (in alphabetical order) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Ashish Kumar, Cayetano Benavent, Daniel Kastl, Martha Vergara, @@ -83,6 +84,7 @@ Individuals (in alphabetical order) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Akio Takubo, Andrea Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, +Ashish Kumar, Cayetano Benavent, Christian Gonzalez, Daniel Kastl, Dave Potts, David Techer, Denis Rykov, Ema Miyawaki, From 2aff19a791e1891ece0f977978ad1834aba99284 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 14:13:54 +0530 Subject: [PATCH 0049/1360] [depthFirstSearch] [doc] Enabled documentation in the configuration file --- configuration.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configuration.conf b/configuration.conf index 35e2d8e54d1..bfceb2044fe 100644 --- a/configuration.conf +++ b/configuration.conf @@ -37,10 +37,10 @@ chinese | Y | Y | Y spanningTree | Y | Y | Y mincut | Y | Y | Y version | Y | Y | Y -topologicalSort | Y | Y | Y +topologicalSort | Y | Y | Y transitiveClosure | Y | Y | Y breadthFirstSearch | Y | Y | Y -depthFirstSearch | Y | Y | N +depthFirstSearch | Y | Y | Y #---------------------- # SQL only directories #---------------------- From 96ac5cfc839a4ff5fb4d06ff94e391b88965af68 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 14:46:18 +0530 Subject: [PATCH 0050/1360] [depthFirstSearch] [doc] Added experimental warnings --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 98e918529f0..10df7ba37bb 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -19,6 +19,10 @@ pgr_depthFirstSearch - Experimental Boost Graph Inside +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-exp + .. rubric:: Availability Description From 07a30ae121fb05b54a439f1e3dc341c8b60d2d9b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 14:52:35 +0530 Subject: [PATCH 0051/1360] [depthFirstSearch] [doc] Edited the heading portion --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 10df7ba37bb..993fb32e4e7 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -10,9 +10,9 @@ pgr_depthFirstSearch - Experimental =============================================================================== -``pgr_depthFirstSearch`` — Returns the traversal order(s) using Depth - First Search algorithm. In particular, the Depth First Search algorithm - and the Undirected DFS algorithm implemented by Boost.Graph. +``pgr_depthFirstSearch`` — Returns the traversal order(s) using Depth First +Search algorithm. In particular, the Depth First Search algorithm and the +Undirected DFS algorithm implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/libs/graph/doc/depth_first_search.html From c58e6c72dea570d8a173baa3793c49657c346200 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 14:56:47 +0530 Subject: [PATCH 0052/1360] [depthFirstSearch] [doc] Fixed the query in "Vertex Out Of Graph" section --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 993fb32e4e7..5bb16fb9855 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -204,8 +204,8 @@ The examples in this section use the following: :Example: For queries in which starting vertex is not present in the graph .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: --q5 - :end-before: --q6 + :start-after: -- q5 + :end-before: -- q6 Equivalences between signatures ............................................................................... From cc336fe60ff7bfd664454edc2900fe29be79279c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 15:07:32 +0530 Subject: [PATCH 0053/1360] [depthFirstSearch] [doc] Added space before query number --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 5bb16fb9855..40003c41a04 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -70,8 +70,8 @@ Single vertex :Example: From start vertex :math:`2` on a **directed** graph .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: --q1 - :end-before: --q2 + :start-after: -- q1 + :end-before: -- q2 .. index:: single: depthFirstSearch(Multiple vertices) @@ -89,8 +89,8 @@ Multiple vertices on a **directed** graph .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: --q2 - :end-before: --q3 + :start-after: -- q2 + :end-before: -- q3 .. Parameters, Inner query & result columns From f8b192517c5513d66d95ae4ff0d1dcc9383823f9 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 15:10:06 +0530 Subject: [PATCH 0054/1360] [depthFirstSearch] [doc] Added comments in docqueries, changed query number --- .../doc-pgr_depthFirstSearch.test.sql | 46 +++++++++++++++---- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index c80b4fe29b7..1501f2dd3d9 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -1,14 +1,20 @@ -\echo --q1 +\echo -- q1 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 2 ); -\echo --q2 +\echo -- q2 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[11,12], max_depth := 2 ); -\echo --q3 +\echo -- q3 + + +-- Examples for :ref:`fig1-direct-Cost-Reverse` +------------------------------------------------------------------------------- + +\echo -- q4 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 6 @@ -21,7 +27,13 @@ SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15], max_depth := 2 ); -\echo --q4 +\echo -- q5 + + +-- Examples for :ref:`fig2-undirect-Cost-Reverse` +------------------------------------------------------------------------------- + +\echo -- q6 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 6, directed := false @@ -34,12 +46,24 @@ SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15], max_depth := 2, directed := false ); -\echo --q5 +\echo -- q7 + + +-- Example for Vertex Out of Graph +------------------------------------------------------------------------------- + +\echo -- q8 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[-10,20] ); -\echo --q6 +\echo -- q9 + + +-- Equivalences for :ref:`fig1-direct-Cost-Reverse` +------------------------------------------------------------------------------- + +\echo -- q10 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16 @@ -60,7 +84,13 @@ SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[16], max_depth := 5 ); -\echo --q7 +\echo -- q11 + + +-- Equivalences for :ref:`fig2-undirect-Cost-Reverse` +------------------------------------------------------------------------------- + +\echo -- q12 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16, directed := false @@ -77,4 +107,4 @@ SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[16], max_depth := 5, directed := false ); -\echo --q8 +\echo -- q13 From 84f3cd8fd43ec689bcbf5d9f6522083dd4ba39d2 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 15:10:30 +0530 Subject: [PATCH 0055/1360] [depthFirstSearch] [doc] Changed results file according to docqueries --- .../doc-pgr_depthFirstSearch.result | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 4639a75e851..9e9b2d3d927 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -2,7 +2,7 @@ BEGIN; BEGIN SET client_min_messages TO NOTICE; SET ---q1 +-- q1 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 2 @@ -24,7 +24,7 @@ SELECT * FROM pgr_depthFirstSearch( 13 | 3 | 2 | 13 | 14 | 1 | 3 (13 rows) ---q2 +-- q2 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[11,12], max_depth := 2 @@ -40,7 +40,8 @@ SELECT * FROM pgr_depthFirstSearch( 7 | 2 | 12 | 4 | 16 | 1 | 2 (7 rows) ---q3 +-- q3 +-- q4 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 6 @@ -101,7 +102,8 @@ SELECT * FROM pgr_depthFirstSearch( 8 | 1 | 15 | 14 | 17 | 1 | 1 (8 rows) ---q4 +-- q5 +-- q6 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 6, directed := false @@ -160,7 +162,8 @@ SELECT * FROM pgr_depthFirstSearch( 6 | 1 | 15 | 14 | 17 | 1 | 1 (6 rows) --- q5 +-- q7 +-- q8 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[-10,20] @@ -169,7 +172,8 @@ SELECT * FROM pgr_depthFirstSearch( -----+-------+-----------+------+------+------+---------- (0 rows) ---q6 +-- q9 +-- q10 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16 @@ -220,7 +224,8 @@ SELECT * FROM pgr_depthFirstSearch( 2 | 1 | 16 | 17 | 18 | 1 | 1 (2 rows) --- q7 +-- q11 +-- q12 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16, directed := false @@ -261,6 +266,6 @@ SELECT * FROM pgr_depthFirstSearch( 2 | 1 | 16 | 17 | 18 | 1 | 1 (2 rows) --- q8 +-- q13 ROLLBACK; ROLLBACK From b60ff65f8da5a926017410f498fc0465ca33d882 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 16:52:54 +0530 Subject: [PATCH 0056/1360] [depthFirstSearch] [doc] Fixed error in documentation --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 40003c41a04..a8a2de85fa6 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -183,7 +183,7 @@ The examples in this section use the following: * :ref:`fig1` -.. literalinclude:: doc-pgr_dijkstra.queries +.. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: -- q3 :end-before: -- q4 @@ -195,7 +195,7 @@ The examples in this section use the following: * :ref:`fig2` -.. literalinclude:: doc-pgr_dijkstra.queries +.. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: -- q4 :end-before: -- q5 @@ -216,7 +216,7 @@ The examples in this section use the following: * :ref:`fig1` -.. literalinclude:: doc-pgr_dijkstra.queries +.. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: -- q6 :end-before: -- q7 @@ -226,7 +226,7 @@ The examples in this section use the following: * :ref:`fig2` -.. literalinclude:: doc-pgr_dijkstra.queries +.. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: -- q7 :end-before: -- q8 From a1605142d22d4075adb09722e3af79b383a4e779 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 17:04:35 +0530 Subject: [PATCH 0057/1360] [depthFirstSearch] [doc] Edited the documentation --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index a8a2de85fa6..bea13399a0b 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -29,7 +29,7 @@ Description ------------------------------------------------------------------------------- Depth First Search algorithm is a well known traversal algorithm which starts -from a root vertex (``start_vid``) and visits all the nodes in a graph in the +from a start vertex (``start_vid``) and visits all the nodes in a graph in the depth-first search traversal order. An optional non-negative maximum depth parameter (``max_depth``) can be specified to get the results upto a particular depth. @@ -48,12 +48,24 @@ depth. Signatures ------------------------------------------------------------------------------- +.. rubric:: Summary + +.. code-block:: none + + pgr_depthFirstSearch(edges_sql, start_vid [, max_depth] [, directed]) + pgr_depthFirstSearch(edges_sql, start_vids [, max_depth] [, directed]) + + RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +.. rubric:: Using defaults + .. code-block:: none - pgr_depthFirstSearch(Edges SQL, Root vid [, max_depth] [, directed]) - pgr_depthFirstSearch(Edges SQL, Root vids [, max_depth] [, directed]) + pgr_depthFirstSearch(TEXT edges_sql, BIGINT start_vid) RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + OR EMPTY SET .. index:: single: depthFirstSearch(Single vertex) @@ -63,9 +75,11 @@ Single vertex .. code-block:: none - pgr_depthFirstSearch(Edges SQL, Root vid [, max_depth] [, directed]) + pgr_depthFirstSearch(TEXT edges_sql, BIGINT start_vid, + BIGINT max_depth := 9223372036854775807, BOOLEAN directed := true) RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + OR EMPTY SET :Example: From start vertex :math:`2` on a **directed** graph @@ -81,9 +95,11 @@ Multiple vertices .. code-block:: none - pgr_depthFirstSearch(Edges SQL, Root vids [, max_depth] [, directed]) + pgr_depthFirstSearch(TEXT edges_sql, ARRAY[ANY_INTEGER] start_vids, + BIGINT max_depth := 9223372036854775807, BOOLEAN directed := true) RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + OR EMPTY SET :Example: From start vertices :math:`\{11, 12\}` with :math:`depth <= 2` on a **directed** graph @@ -102,12 +118,12 @@ Parameters =================== ====================== ================================================= Parameter Type Description =================== ====================== ================================================= -**Edges SQL** ``TEXT`` SQL query described in `Inner query`_. -**Root vid** ``BIGINT`` Identifier of the root vertex of the tree. +**edges_sql** ``TEXT`` SQL query described in `Inner query`_. +**start_vid** ``BIGINT`` Identifier of the start vertex of the tree. - Used on `Single Vertex`_. -**Root vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of the root vertices. +**start_vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of the start vertices. - Used on `Multiple Vertices`_. - For optimization purposes, any duplicated value is ignored. @@ -130,7 +146,7 @@ Parameter Type Default Description Inner query ------------------------------------------------------------------------------- -.. rubric::Edges SQL +.. rubric:: edges_sql .. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start @@ -151,7 +167,7 @@ Column Type Description - :math:`0` when ``node`` = ``start_vid``. -**start_vid** ``BIGINT`` Identifier of the root vertex. +**start_vid** ``BIGINT`` Identifier of the start vertex. - In `Multiple Vertices`_ results are in ascending order. From e6f8fa177f59dce1a5885f68905d09fdfe82c4c1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 17:06:34 +0530 Subject: [PATCH 0058/1360] [depthFirstSearch] [doc] Added one extra docquery --- .../doc-pgr_depthFirstSearch.test.sql | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 1501f2dd3d9..799c4ff0dd7 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -6,15 +6,20 @@ SELECT * FROM pgr_depthFirstSearch( \echo -- q2 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[11,12], max_depth := 2 + 2, directed := false ); \echo -- q3 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[11,12], max_depth := 2 +); +\echo -- q4 -- Examples for :ref:`fig1-direct-Cost-Reverse` ------------------------------------------------------------------------------- -\echo -- q4 +\echo -- q5 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 6 @@ -27,13 +32,13 @@ SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15], max_depth := 2 ); -\echo -- q5 +\echo -- q6 -- Examples for :ref:`fig2-undirect-Cost-Reverse` ------------------------------------------------------------------------------- -\echo -- q6 +\echo -- q7 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 6, directed := false @@ -46,24 +51,24 @@ SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[8,15], max_depth := 2, directed := false ); -\echo -- q7 +\echo -- q8 -- Example for Vertex Out of Graph ------------------------------------------------------------------------------- -\echo -- q8 +\echo -- q9 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[-10,20] ); -\echo -- q9 +\echo -- q10 -- Equivalences for :ref:`fig1-direct-Cost-Reverse` ------------------------------------------------------------------------------- -\echo -- q10 +\echo -- q11 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16 @@ -84,13 +89,13 @@ SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[16], max_depth := 5 ); -\echo -- q11 +\echo -- q12 -- Equivalences for :ref:`fig2-undirect-Cost-Reverse` ------------------------------------------------------------------------------- -\echo -- q12 +\echo -- q13 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16, directed := false @@ -107,4 +112,4 @@ SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[16], max_depth := 5, directed := false ); -\echo -- q13 +\echo -- q14 From 033ef72d7bcb1a9b6e92734e511d55c1b5461aff Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 17:30:53 +0530 Subject: [PATCH 0059/1360] [depthFirstSearch] [doc] Updated results of the queries --- .../doc-pgr_depthFirstSearch.result | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 9e9b2d3d927..b0cf5792be6 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -25,6 +25,28 @@ SELECT * FROM pgr_depthFirstSearch( (13 rows) -- q2 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 2, directed := false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 2 | 2 | -1 | 0 | 0 + 2 | 1 | 2 | 1 | 1 | 1 | 1 + 3 | 1 | 2 | 3 | 2 | 1 | 1 + 4 | 2 | 2 | 4 | 3 | 1 | 2 + 5 | 3 | 2 | 9 | 16 | 1 | 3 + 6 | 4 | 2 | 6 | 9 | 1 | 4 + 7 | 5 | 2 | 5 | 8 | 1 | 5 + 8 | 6 | 2 | 8 | 7 | 1 | 6 + 9 | 7 | 2 | 7 | 6 | 1 | 7 + 10 | 6 | 2 | 10 | 10 | 1 | 6 + 11 | 7 | 2 | 11 | 12 | 1 | 7 + 12 | 8 | 2 | 12 | 13 | 1 | 8 + 13 | 7 | 2 | 13 | 14 | 1 | 7 +(13 rows) + +-- q3 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[11,12], max_depth := 2 @@ -40,8 +62,8 @@ SELECT * FROM pgr_depthFirstSearch( 7 | 2 | 12 | 4 | 16 | 1 | 2 (7 rows) --- q3 -- q4 +-- q5 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 6 @@ -102,8 +124,8 @@ SELECT * FROM pgr_depthFirstSearch( 8 | 1 | 15 | 14 | 17 | 1 | 1 (8 rows) --- q5 -- q6 +-- q7 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 6, directed := false @@ -162,8 +184,8 @@ SELECT * FROM pgr_depthFirstSearch( 6 | 1 | 15 | 14 | 17 | 1 | 1 (6 rows) --- q7 -- q8 +-- q9 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[-10,20] @@ -172,8 +194,8 @@ SELECT * FROM pgr_depthFirstSearch( -----+-------+-----------+------+------+------+---------- (0 rows) --- q9 -- q10 +-- q11 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16 @@ -224,8 +246,8 @@ SELECT * FROM pgr_depthFirstSearch( 2 | 1 | 16 | 17 | 18 | 1 | 1 (2 rows) --- q11 -- q12 +-- q13 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16, directed := false @@ -266,6 +288,6 @@ SELECT * FROM pgr_depthFirstSearch( 2 | 1 | 16 | 17 | 18 | 1 | 1 (2 rows) --- q13 +-- q14 ROLLBACK; ROLLBACK From 7b60aca01dabb2093bf8babe1e976d66f8244d19 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 4 Jun 2020 17:31:23 +0530 Subject: [PATCH 0060/1360] [depthFirstSearch] [doc] Updated the query number and added one query --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index bea13399a0b..cc550475190 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -67,6 +67,12 @@ Signatures RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET +:Example: From start vertex :math:`2` on a **directed** graph + +.. literalinclude:: doc-pgr_depthFirstSearch.queries + :start-after: -- q1 + :end-before: -- q2 + .. index:: single: depthFirstSearch(Single vertex) @@ -81,11 +87,11 @@ Single vertex RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET -:Example: From start vertex :math:`2` on a **directed** graph +:Example: From start vertex :math:`2` on an **undirected** graph .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q1 - :end-before: -- q2 + :start-after: -- q2 + :end-before: -- q3 .. index:: single: depthFirstSearch(Multiple vertices) @@ -105,8 +111,8 @@ Multiple vertices on a **directed** graph .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q2 - :end-before: -- q3 + :start-after: -- q3 + :end-before: -- q4 .. Parameters, Inner query & result columns @@ -200,8 +206,8 @@ The examples in this section use the following: * :ref:`fig1` .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q3 - :end-before: -- q4 + :start-after: -- q5 + :end-before: -- q6 **Undirected Graph** @@ -212,16 +218,16 @@ The examples in this section use the following: * :ref:`fig2` .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q4 - :end-before: -- q5 + :start-after: -- q7 + :end-before: -- q8 **Vertex Out Of Graph** :Example: For queries in which starting vertex is not present in the graph .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q5 - :end-before: -- q6 + :start-after: -- q9 + :end-before: -- q10 Equivalences between signatures ............................................................................... @@ -233,8 +239,8 @@ The examples in this section use the following: * :ref:`fig1` .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q6 - :end-before: -- q7 + :start-after: -- q11 + :end-before: -- q12 :Examples: For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns @@ -243,8 +249,8 @@ The examples in this section use the following: * :ref:`fig2` .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q7 - :end-before: -- q8 + :start-after: -- q13 + :end-before: -- q14 See Also From 6d7707946f0d14e0397c216e3c7255fd7c7092c2 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 5 Jun 2020 13:54:36 +0530 Subject: [PATCH 0061/1360] [depthFirstSearch] Added another sample table in queries --- .../depthFirstSearch-issue1348-usage.result | 0 .../depthFirstSearch-issue1348-usage.test.sql | 16 ++++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result create mode 100644 docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result new file mode 100644 index 00000000000..e69de29bb2d diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql new file mode 100644 index 00000000000..f733e8a4e4f --- /dev/null +++ b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql @@ -0,0 +1,16 @@ +\echo -- SAMPLE TABLE CREATE start +CREATE TABLE sample_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); +\echo -- SAMPLE TABLE CREATE end + +\echo -- SAMPLE TABLE ADD DATA start +INSERT INTO sample_table (source, target, cost, reverse_cost) VALUES + (3, 6, 20, 15), + (3, 8, 10, -10), + (6, 8, -1, 12); +\echo -- SAMPLE TABLE ADD DATA end From 49219408caea2c5066464c7151d18e900c860e25 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 5 Jun 2020 14:08:47 +0530 Subject: [PATCH 0062/1360] [depthFirstSearch] Added all the queries for sample_table --- .../depthFirstSearch-issue1348-usage.test.sql | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql index f733e8a4e4f..d601188dae9 100644 --- a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql +++ b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql @@ -14,3 +14,64 @@ INSERT INTO sample_table (source, target, cost, reverse_cost) VALUES (3, 8, 10, -10), (6, 8, -1, 12); \echo -- SAMPLE TABLE ADD DATA end + +-- SELECT query on SAMPLE TABLE +\echo -- q0 +SELECT * FROM sample_table ORDER BY id; + +-- Directed Graph with start_vid 3 +\echo -- q1 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 3 +); + +-- Directed Graph with start_vid 6 +\echo -- q2 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 6 +); + +-- Directed Graph with start_vid 6 and max_depth 1 +\echo -- q3 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 6, max_depth := 1 +); + +-- start_vid does not exist in the Graph +\echo -- q4 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 2 +); + +-- Undirected Graph with start_vid 3 +\echo -- q5 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 3, directed := false +); + +-- Undirected Graph with start_vid 6 +\echo -- q6 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 6, directed := false +); + +-- Undirected Graph with start_vid 6 and max_depth 1 +\echo -- q7 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 6, max_depth := 1, directed := false +); + +-- Directed Graph with multiple start_vids +\echo -- q8 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + ARRAY[6, 3, 6] +); +\echo -- q9 From 28b198774f225261192a7819bd21681922feccac Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 5 Jun 2020 14:09:11 +0530 Subject: [PATCH 0063/1360] [depthFirstSearch] Added the results for the queries --- .../depthFirstSearch-issue1348-usage.result | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result index e69de29bb2d..09ae74f2575 100644 --- a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result +++ b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result @@ -0,0 +1,127 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +-- SAMPLE TABLE CREATE start +CREATE TABLE sample_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); +CREATE TABLE +-- SAMPLE TABLE CREATE end +-- SAMPLE TABLE ADD DATA start +INSERT INTO sample_table (source, target, cost, reverse_cost) VALUES + (3, 6, 20, 15), + (3, 8, 10, -10), + (6, 8, -1, 12); +INSERT 0 3 +-- SAMPLE TABLE ADD DATA end +-- q0 +SELECT * FROM sample_table ORDER BY id; + id | source | target | cost | reverse_cost +----+--------+--------+------+-------------- + 1 | 3 | 6 | 20 | 15 + 2 | 3 | 8 | 10 | -10 + 3 | 6 | 8 | -1 | 12 +(3 rows) + +-- q1 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 3 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 3 | 3 | -1 | 0 | 0 + 2 | 1 | 3 | 6 | 1 | 20 | 20 + 3 | 1 | 3 | 8 | 2 | 10 | 10 +(3 rows) + +-- q2 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 6 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 6 | 6 | -1 | 0 | 0 + 2 | 1 | 6 | 3 | 1 | 15 | 15 + 3 | 2 | 6 | 8 | 2 | 10 | 25 +(3 rows) + +-- q3 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 6, max_depth := 1 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 6 | 6 | -1 | 0 | 0 + 2 | 1 | 6 | 3 | 1 | 15 | 15 +(2 rows) + +-- q4 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 2 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- +(0 rows) + +-- q5 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 3, directed := false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 3 | 3 | -1 | 0 | 0 + 2 | 1 | 3 | 6 | 1 | 20 | 20 + 3 | 2 | 3 | 8 | 3 | 12 | 32 +(3 rows) + +-- q6 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 6, directed := false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 6 | 6 | -1 | 0 | 0 + 2 | 1 | 6 | 3 | 1 | 20 | 20 + 3 | 2 | 6 | 8 | 2 | 10 | 30 +(3 rows) + +-- q7 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 6, max_depth := 1, directed := false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 6 | 6 | -1 | 0 | 0 + 2 | 1 | 6 | 3 | 1 | 20 | 20 +(2 rows) + +-- q8 +SELECT * FROM pgr_depthFirstSearch ( + 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + ARRAY[6, 3, 6] +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 3 | 3 | -1 | 0 | 0 + 2 | 1 | 3 | 6 | 1 | 20 | 20 + 3 | 1 | 3 | 8 | 2 | 10 | 10 + 4 | 0 | 6 | 6 | -1 | 0 | 0 + 5 | 1 | 6 | 3 | 1 | 15 | 15 + 6 | 2 | 6 | 8 | 2 | 10 | 25 +(6 rows) + +-- q9 +ROLLBACK; +ROLLBACK From fbd1ffa99052949fd200daabb150738bacc15169 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 5 Jun 2020 14:12:02 +0530 Subject: [PATCH 0064/1360] [depthFirstSearch] Added blank line in the query --- .../depthFirstSearch/depthFirstSearch-issue1348-usage.result | 2 ++ .../depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result index 09ae74f2575..735a1efc0dc 100644 --- a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result +++ b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result @@ -12,6 +12,7 @@ CREATE TABLE sample_table ( ); CREATE TABLE -- SAMPLE TABLE CREATE end + -- SAMPLE TABLE ADD DATA start INSERT INTO sample_table (source, target, cost, reverse_cost) VALUES (3, 6, 20, 15), @@ -19,6 +20,7 @@ INSERT INTO sample_table (source, target, cost, reverse_cost) VALUES (6, 8, -1, 12); INSERT 0 3 -- SAMPLE TABLE ADD DATA end + -- q0 SELECT * FROM sample_table ORDER BY id; id | source | target | cost | reverse_cost diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql index d601188dae9..6d3ae99c2e2 100644 --- a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql +++ b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql @@ -7,6 +7,7 @@ CREATE TABLE sample_table ( reverse_cost FLOAT ); \echo -- SAMPLE TABLE CREATE end +\echo \echo -- SAMPLE TABLE ADD DATA start INSERT INTO sample_table (source, target, cost, reverse_cost) VALUES @@ -14,6 +15,7 @@ INSERT INTO sample_table (source, target, cost, reverse_cost) VALUES (3, 8, 10, -10), (6, 8, -1, 12); \echo -- SAMPLE TABLE ADD DATA end +\echo -- SELECT query on SAMPLE TABLE \echo -- q0 From 00801ee013df5b0dab442c1b0f34923911a2c4ce Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 5 Jun 2020 14:12:36 +0530 Subject: [PATCH 0065/1360] [depthFirstSearch] Added the new tests in test.conf file --- docqueries/depthFirstSearch/test.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/docqueries/depthFirstSearch/test.conf b/docqueries/depthFirstSearch/test.conf index 22d6d906fee..4871ca35bc9 100644 --- a/docqueries/depthFirstSearch/test.conf +++ b/docqueries/depthFirstSearch/test.conf @@ -6,6 +6,7 @@ 'data' => [ ], 'tests' => [qw( doc-pgr_depthFirstSearch + depthFirstSearch-issue1348-usage )], 'documentation' => [qw( doc-pgr_depthFirstSearch From f66b45d19d5a9fc3c053b8151aac37e723676401 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 8 Jun 2020 15:38:44 +0530 Subject: [PATCH 0066/1360] [depthFirstSearch] Added basic pgTAP no crash tests --- .../no_crash_test-depthFirstSearch.sql | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index a73214f30d1..9afdf070fa5 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(2); +SELECT plan(32); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; @@ -21,7 +21,23 @@ params TEXT[]; subs TEXT[]; BEGIN PERFORM todo_start('Complete the no crash test'); - + -- depthFirstSearch + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '5' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + + subs[2] := 'NULL::INTEGER'; + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); PERFORM todo_end(); END $BODY$ From 0c24707057c134f3506a5acd1ac2717771a312ef Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 8 Jun 2020 15:54:58 +0530 Subject: [PATCH 0067/1360] [depthFirstSearch] Changed pgTAP no-crash-test plan to 20 tests --- pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index 9afdf070fa5..b4ca7f528e7 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(32); +SELECT plan(20); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; From 5a96a11a5185841f02d9fad277bd3b6cd6e37553 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 8 Jun 2020 17:30:29 +0530 Subject: [PATCH 0068/1360] [depthFirstSearch] Added pgTAP no crash test for single vertex with depth parameter --- .../no_crash_test-depthFirstSearch.sql | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index b4ca7f528e7..da5970ca4a1 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(20); +SELECT plan(44); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; @@ -21,10 +21,10 @@ params TEXT[]; subs TEXT[]; BEGIN PERFORM todo_start('Complete the no crash test'); - -- depthFirstSearch + -- depthFirstSearch Single Vertex params = ARRAY[ '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - '5' + '5::BIGINT' ]::TEXT[]; subs = ARRAY[ 'NULL', @@ -36,7 +36,28 @@ BEGIN params[1] := '$$edges$$'; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - subs[2] := 'NULL::INTEGER'; + subs[2] := 'NULL::BIGINT'; + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + + -- depthFirstSearch Single Vertex with depth + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '5::BIGINT', + '3::BIGINT' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + 'NULL::BIGINT' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + + subs[2] := 'NULL::BIGINT'; + subs[3] := '$$null_vertex$$'; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); PERFORM todo_end(); END From 2aa11cc9c881cbe0294c240da8eedb971aa651cd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 8 Jun 2020 17:35:30 +0530 Subject: [PATCH 0069/1360] [depthFirstSearch] Fixed errors in pgTAP test --- pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql | 1 - 1 file changed, 1 deletion(-) diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index da5970ca4a1..693de9e746a 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -57,7 +57,6 @@ BEGIN RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); subs[2] := 'NULL::BIGINT'; - subs[3] := '$$null_vertex$$'; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); PERFORM todo_end(); END From a71e124431334740071ebb07088a6295354d78ad Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 8 Jun 2020 17:36:24 +0530 Subject: [PATCH 0070/1360] [depthFirstSearch] Added pgTAP test for multiple vertices --- .../no_crash_test-depthFirstSearch.sql | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index 693de9e746a..cdcb58bc18b 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(44); +SELECT plan(62); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; @@ -21,7 +21,7 @@ params TEXT[]; subs TEXT[]; BEGIN PERFORM todo_start('Complete the no crash test'); - -- depthFirstSearch Single Vertex + -- depthFirstSearch Single vertex params = ARRAY[ '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', '5::BIGINT' @@ -39,7 +39,7 @@ BEGIN subs[2] := 'NULL::BIGINT'; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - -- depthFirstSearch Single Vertex with depth + -- depthFirstSearch Single vertex with depth params = ARRAY[ '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', '5::BIGINT', @@ -58,6 +58,24 @@ BEGIN subs[2] := 'NULL::BIGINT'; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + + -- depthFirstSearch Multiple vertices + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + 'ARRAY[5,3]' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + + subs[2] := 'NULL::BIGINT[]'; + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); PERFORM todo_end(); END $BODY$ From d8fe3a7afaf4d5ae559a315570551d2edef1653d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 8 Jun 2020 17:45:56 +0530 Subject: [PATCH 0071/1360] [depthFirstSearch] Added pgTAP test for multiple vertices with depth parameter --- .../no_crash_test-depthFirstSearch.sql | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index cdcb58bc18b..fb3091d477d 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -74,6 +74,26 @@ BEGIN params[1] := '$$edges$$'; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + subs[2] := 'NULL::BIGINT[]'; + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + + -- depthFirstSearch Multiple vertices with depth + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + 'ARRAY[5,3]', + '3' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + 'NULL::BIGINT' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); + subs[2] := 'NULL::BIGINT[]'; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); PERFORM todo_end(); From 38db68e77d9441fbc7ca84d14190c236ce5a77c8 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 8 Jun 2020 18:09:09 +0530 Subject: [PATCH 0072/1360] [depthFirstSearch] Fixed plan of tests for server no crash --- pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index fb3091d477d..5b53e45d518 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(62); +SELECT plan(86); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; From 0fabe1102ef564d14e4db328a1a85d2163c06800 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 8 Jun 2020 18:09:50 +0530 Subject: [PATCH 0073/1360] [depthFirstSearch] Removed todo in no-crash-test --- pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index 5b53e45d518..7535e343f6a 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -20,7 +20,6 @@ DECLARE params TEXT[]; subs TEXT[]; BEGIN - PERFORM todo_start('Complete the no crash test'); -- depthFirstSearch Single vertex params = ARRAY[ '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', @@ -96,7 +95,7 @@ BEGIN subs[2] := 'NULL::BIGINT[]'; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - PERFORM todo_end(); + END $BODY$ LANGUAGE plpgsql VOLATILE; From 96a2569c98e25664824f892b7f977747448a46c0 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 9 Jun 2020 16:53:42 +0530 Subject: [PATCH 0074/1360] [depthFirstSearch] Modified no crash pgTAP test --- .../no_crash_test-depthFirstSearch.sql | 49 ++++++++++--------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index 7535e343f6a..4f63cf64d5d 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -5,12 +5,15 @@ SELECT plan(86); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; -PREPARE null_vertex AS +PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_ret_arr AS +SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); -SELECT is_empty('null_vertex', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); CREATE OR REPLACE FUNCTION test_function() @@ -32,35 +35,36 @@ BEGIN RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - subs[2] := 'NULL::BIGINT'; + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT' + ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); -- depthFirstSearch Single vertex with depth params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '$$edges$$', '5::BIGINT', '3::BIGINT' ]::TEXT[]; subs = ARRAY[ 'NULL', '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', - 'NULL::BIGINT' + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - subs[2] := 'NULL::BIGINT'; + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT' + ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); -- depthFirstSearch Multiple vertices params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '$$edges$$', 'ARRAY[5,3]' ]::TEXT[]; subs = ARRAY[ @@ -70,15 +74,15 @@ BEGIN RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - subs[2] := 'NULL::BIGINT[]'; + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT' + ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); -- depthFirstSearch Multiple vertices with depth params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '$$edges$$', 'ARRAY[5,3]', '3' ]::TEXT[]; @@ -90,10 +94,11 @@ BEGIN RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - - subs[2] := 'NULL::BIGINT[]'; + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT' + ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); END From 90cfea19a766113a704c3c11ab8f51d21b4d64a7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 9 Jun 2020 17:19:32 +0530 Subject: [PATCH 0075/1360] [depthFirstSearch] Modified no crash test pgTAP tests --- .../no_crash_test-depthFirstSearch.sql | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index 4f63cf64d5d..6af2aff8feb 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(86); +SELECT plan(59); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; @@ -65,7 +65,7 @@ BEGIN -- depthFirstSearch Multiple vertices params = ARRAY[ '$$edges$$', - 'ARRAY[5,3]' + 'ARRAY[5,3]::BIGINT[]' ]::TEXT[]; subs = ARRAY[ 'NULL', @@ -76,27 +76,27 @@ BEGIN subs = ARRAY[ 'NULL', - 'NULL::BIGINT' + 'NULL::BIGINT[]' ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); -- depthFirstSearch Multiple vertices with depth params = ARRAY[ '$$edges$$', - 'ARRAY[5,3]', - '3' + 'ARRAY[5,3]::BIGINT[]', + '3::BIGINT' ]::TEXT[]; subs = ARRAY[ 'NULL', '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', - 'NULL::BIGINT' + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); subs = ARRAY[ 'NULL', - 'NULL::BIGINT', + 'NULL::BIGINT[]', 'NULL::BIGINT' ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); From cd6a992b5f4429ba66851817dc2d430a3d42e2d0 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 9 Jun 2020 17:29:12 +0530 Subject: [PATCH 0076/1360] [depthFirstSearch] Modified parameter types check --- pgtap/depthFirstSearch/depthFirstSearch-types-check.sql | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql b/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql index 081bc7fd0d8..2d87144b8e2 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql @@ -12,11 +12,9 @@ SELECT function_returns('pgr_depthfirstsearch', ARRAY['text','anyarray','bigint' -- pgr_depthfirstsearch -- parameter names -SELECT set_eq( +SELECT bag_has( $$SELECT proargnames from pg_proc where proname = 'pgr_depthfirstsearch'$$, - $$VALUES - ('{"","","max_depth","directed","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[]) - $$ + $$SELECT '{"","","max_depth","directed","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ ); -- parameter types From c5d3c381165066e607bd4a0f16fd95543a8c3f21 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 10 Jun 2020 13:02:58 +0530 Subject: [PATCH 0077/1360] [depthFirstSearch] Added inner query pgTAP tests --- .../depthFirstSearch-innerQuery.sql | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql index 6a949ccfcb7..e87b30f83ac 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql @@ -1,10 +1,26 @@ \i setup.sql -SELECT plan(1); +SELECT plan(432); SELECT todo_start('Complete the inner query tests'); -SELECT pass('Sample Test'); +-- SINGLE VERTEX +SELECT style_dijkstra('pgr_depthFirstSearch', ', 5)'); +-- Single vertex with depth +SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, 2)'); +-- Single vertex with directed parameter +SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, directed := true)'); +-- Single vertex with depth and directed parameter +SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, 2, directed := true)'); + +-- MULTIPLE VERTICES +SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5])'); +-- Multiple vertices with depth +SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], 2)'); +-- Multiple vertices with directed parameter +SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], directed := true)'); +-- Multiple vertices with depth and directed parameter +SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], 2, directed := true)'); SELECT todo_end(); From 7f32cd53b24ef1cddcc7c5dcce3544dc8137f2bd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 10 Jun 2020 13:03:22 +0530 Subject: [PATCH 0078/1360] [depthFirstSearch] Removed todo in inner query tests --- pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql index e87b30f83ac..b17c358fce4 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql @@ -2,8 +2,6 @@ SELECT plan(432); -SELECT todo_start('Complete the inner query tests'); - -- SINGLE VERTEX SELECT style_dijkstra('pgr_depthFirstSearch', ', 5)'); -- Single vertex with depth @@ -22,7 +20,5 @@ SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], directed := true)') -- Multiple vertices with depth and directed parameter SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], 2, directed := true)'); -SELECT todo_end(); - SELECT finish(); ROLLBACK; From 8326d7a8aaefb43ff55435d4136fc5ce4ad1d946 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 10 Jun 2020 15:24:47 +0530 Subject: [PATCH 0079/1360] [depthFirstSearch] Refactor C code --- src/depthFirstSearch/depthFirstSearch.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 84e362333f3..2fa976ca626 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -98,16 +98,19 @@ process( time_msg("processing pgr_depthFirstSearch", start_t, clock()); PGR_DBG("Returning %ld tuples", *result_count); - if (err_msg) { - if (*result_tuples) pfree(*result_tuples); + if (err_msg && (*result_tuples)) { + pfree(*result_tuples); + (*result_tuples) = NULL; + (*result_count) = 0; } pgr_global_report(log_msg, notice_msg, err_msg); - if (edges) pfree(edges); if (log_msg) pfree(log_msg); if (notice_msg) pfree(notice_msg); if (err_msg) pfree(err_msg); + if (edges) pfree(edges); + if (rootsArr) pfree(rootsArr); pgr_SPI_finish(); } From 360a4337fc9daa2a4ef8b3e3da309ef5b4a23011 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 10 Jun 2020 15:49:55 +0530 Subject: [PATCH 0080/1360] [depthFirstSearch] Modified hpp file --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 74 ++++++++++++------- 1 file changed, 48 insertions(+), 26 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index f69d43fd4f6..e5b39d759bd 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -44,45 +44,29 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { public: typedef typename G::V V; typedef typename G::E E; + //@} + //! @name DepthFirstSearch + //@{ + //! DepthFirstSearch std::vector depthFirstSearch( G &graph, std::vector roots, int64_t depth, bool directed) { std::vector results; - using dfs_visitor = visitors::Dfs_visitor_with_root; for (auto root : roots) { std::vector visited_order; if (graph.has_vertex(root)) { results.push_back({root, 0, root, -1, 0.0, 0.0}); - try { - if (directed) { - boost::depth_first_search( - graph.graph, - visitor(dfs_visitor(graph.get_V(root), visited_order)) - .root_vertex(graph.get_V(root))); - } else { - std::map edge_color; - boost::undirected_dfs( - graph.graph, - visitor(dfs_visitor(graph.get_V(root), visited_order)) - .edge_color_map(boost::make_assoc_property_map(edge_color)) - .root_vertex(graph.get_V(root))); - } - } catch(found_goals &) { - {} - } catch (boost::exception const& ex) { - (void)ex; - throw; - } catch (std::exception &e) { - (void)e; - throw; - } catch (...) { - throw; - } + + auto v_root(graph.get_V(root)); + + // perform the algorithm + depthFirstSearch_single_vertex(graph, v_root, visited_order, directed); + auto result = get_results(visited_order, root, depth, graph); results.insert(results.end(), result.begin(), result.end()); } @@ -92,6 +76,44 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { } private: + //! Call to DepthFirstSearch + bool depthFirstSearch_single_vertex( + G &graph, + V root, + std::vector &visited_order, + bool directed) { + + using dfs_visitor = visitors::Dfs_visitor_with_root; + + try { + if (directed) { + boost::depth_first_search( + graph.graph, + visitor(dfs_visitor(root, visited_order)) + .root_vertex(root)); + } else { + std::map edge_color; + boost::undirected_dfs( + graph.graph, + visitor(dfs_visitor(root, visited_order)) + .edge_color_map(boost::make_assoc_property_map(edge_color)) + .root_vertex(root)); + } + } catch(found_goals &) { + {} + } catch (boost::exception const& ex) { + (void)ex; + throw; + } catch (std::exception &e) { + (void)e; + throw; + } catch (...) { + throw; + } + return true; + } + + // to get the results template std::vector get_results( T order, From fc8cd4f24b8bcac8f947ca5f29c300d12404fe7d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 10 Jun 2020 16:14:27 +0530 Subject: [PATCH 0081/1360] [depthFirstSearch] Added some comments --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index e5b39d759bd..88421f3d138 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -39,12 +39,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. namespace pgrouting { namespace functions { +//************************************************************* + template class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { public: typedef typename G::V V; typedef typename G::E E; - //@} //! @name DepthFirstSearch //@{ @@ -62,11 +63,13 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { if (graph.has_vertex(root)) { results.push_back({root, 0, root, -1, 0.0, 0.0}); + // get the graph root vertex auto v_root(graph.get_V(root)); // perform the algorithm depthFirstSearch_single_vertex(graph, v_root, visited_order, directed); + // get the results auto result = get_results(visited_order, root, depth, graph); results.insert(results.end(), result.begin(), result.end()); } @@ -75,6 +78,8 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { return results; } + //@} + private: //! Call to DepthFirstSearch bool depthFirstSearch_single_vertex( From 2bf7046b568bc4c832d1114e585a46b264c9296f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 10 Jun 2020 16:15:43 +0530 Subject: [PATCH 0082/1360] [depthFirstSearch] Fixed indentation --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 192 +++++++++--------- 1 file changed, 96 insertions(+), 96 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 88421f3d138..c1cac472ba3 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -44,112 +44,112 @@ namespace functions { template class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { public: - typedef typename G::V V; - typedef typename G::E E; + typedef typename G::V V; + typedef typename G::E E; - //! @name DepthFirstSearch - //@{ - //! DepthFirstSearch - std::vector depthFirstSearch( - G &graph, - std::vector roots, - int64_t depth, - bool directed) { - std::vector results; + //! @name DepthFirstSearch + //@{ + //! DepthFirstSearch + std::vector depthFirstSearch( + G &graph, + std::vector roots, + int64_t depth, + bool directed) { + std::vector results; - for (auto root : roots) { - std::vector visited_order; + for (auto root : roots) { + std::vector visited_order; - if (graph.has_vertex(root)) { - results.push_back({root, 0, root, -1, 0.0, 0.0}); + if (graph.has_vertex(root)) { + results.push_back({root, 0, root, -1, 0.0, 0.0}); - // get the graph root vertex - auto v_root(graph.get_V(root)); + // get the graph root vertex + auto v_root(graph.get_V(root)); - // perform the algorithm - depthFirstSearch_single_vertex(graph, v_root, visited_order, directed); + // perform the algorithm + depthFirstSearch_single_vertex(graph, v_root, visited_order, directed); - // get the results - auto result = get_results(visited_order, root, depth, graph); - results.insert(results.end(), result.begin(), result.end()); - } - } + // get the results + auto result = get_results(visited_order, root, depth, graph); + results.insert(results.end(), result.begin(), result.end()); + } + } - return results; - } + return results; + } - //@} + //@} private: - //! Call to DepthFirstSearch - bool depthFirstSearch_single_vertex( - G &graph, - V root, - std::vector &visited_order, - bool directed) { - - using dfs_visitor = visitors::Dfs_visitor_with_root; - - try { - if (directed) { - boost::depth_first_search( - graph.graph, - visitor(dfs_visitor(root, visited_order)) - .root_vertex(root)); - } else { - std::map edge_color; - boost::undirected_dfs( - graph.graph, - visitor(dfs_visitor(root, visited_order)) - .edge_color_map(boost::make_assoc_property_map(edge_color)) - .root_vertex(root)); - } - } catch(found_goals &) { - {} - } catch (boost::exception const& ex) { - (void)ex; - throw; - } catch (std::exception &e) { - (void)e; - throw; - } catch (...) { - throw; - } - return true; - } - - // to get the results - template - std::vector get_results( - T order, - int64_t source, - int64_t max_depth, - const G &graph) { - std::vector results; - - std::vector agg_cost(graph.num_vertices(), 0); - std::vector depth(graph.num_vertices(), 0); - - for (const auto edge : order) { - auto u = graph.source(edge); - auto v = graph.target(edge); - - agg_cost[v] = agg_cost[u] + graph[edge].cost; - depth[v] = depth[u] + 1; - - if (max_depth >= depth[v]) { - results.push_back({ - source, - depth[v], - graph[v].id, - graph[edge].id, - graph[edge].cost, - agg_cost[v] - }); - } - } - return results; - } + //! Call to DepthFirstSearch + bool depthFirstSearch_single_vertex( + G &graph, + V root, + std::vector &visited_order, + bool directed) { + + using dfs_visitor = visitors::Dfs_visitor_with_root; + + try { + if (directed) { + boost::depth_first_search( + graph.graph, + visitor(dfs_visitor(root, visited_order)) + .root_vertex(root)); + } else { + std::map edge_color; + boost::undirected_dfs( + graph.graph, + visitor(dfs_visitor(root, visited_order)) + .edge_color_map(boost::make_assoc_property_map(edge_color)) + .root_vertex(root)); + } + } catch(found_goals &) { + {} + } catch (boost::exception const& ex) { + (void)ex; + throw; + } catch (std::exception &e) { + (void)e; + throw; + } catch (...) { + throw; + } + return true; + } + + // to get the results + template + std::vector get_results( + T order, + int64_t source, + int64_t max_depth, + const G &graph) { + std::vector results; + + std::vector agg_cost(graph.num_vertices(), 0); + std::vector depth(graph.num_vertices(), 0); + + for (const auto edge : order) { + auto u = graph.source(edge); + auto v = graph.target(edge); + + agg_cost[v] = agg_cost[u] + graph[edge].cost; + depth[v] = depth[u] + 1; + + if (max_depth >= depth[v]) { + results.push_back({ + source, + depth[v], + graph[v].id, + graph[edge].id, + graph[edge].cost, + agg_cost[v] + }); + } + } + return results; + } }; } // namespace functions } // namespace pgrouting From 6fec172ff26f82f5ad95ab462d509829fe6a525a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 10 Jun 2020 23:39:19 +0530 Subject: [PATCH 0083/1360] [depthFirstSearch] Replaced all := by => in the named notation --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 4 +-- .../depthFirstSearch-issue1348-usage.result | 8 +++--- .../depthFirstSearch-issue1348-usage.test.sql | 8 +++--- .../doc-pgr_depthFirstSearch.result | 26 +++++++++---------- .../doc-pgr_depthFirstSearch.test.sql | 26 +++++++++---------- .../depthFirstSearch-innerQuery.sql | 8 +++--- 6 files changed, 40 insertions(+), 40 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index cc550475190..6e890dab81c 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -82,7 +82,7 @@ Single vertex .. code-block:: none pgr_depthFirstSearch(TEXT edges_sql, BIGINT start_vid, - BIGINT max_depth := 9223372036854775807, BOOLEAN directed := true) + BIGINT max_depth => 9223372036854775807, BOOLEAN directed => true) RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -102,7 +102,7 @@ Multiple vertices .. code-block:: none pgr_depthFirstSearch(TEXT edges_sql, ARRAY[ANY_INTEGER] start_vids, - BIGINT max_depth := 9223372036854775807, BOOLEAN directed := true) + BIGINT max_depth => 9223372036854775807, BOOLEAN directed => true) RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result index 735a1efc0dc..6f7c01e16a9 100644 --- a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result +++ b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result @@ -57,7 +57,7 @@ SELECT * FROM pgr_depthFirstSearch ( -- q3 SELECT * FROM pgr_depthFirstSearch ( 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', - 6, max_depth := 1 + 6, max_depth => 1 ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -77,7 +77,7 @@ SELECT * FROM pgr_depthFirstSearch ( -- q5 SELECT * FROM pgr_depthFirstSearch ( 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', - 3, directed := false + 3, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -89,7 +89,7 @@ SELECT * FROM pgr_depthFirstSearch ( -- q6 SELECT * FROM pgr_depthFirstSearch ( 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', - 6, directed := false + 6, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -101,7 +101,7 @@ SELECT * FROM pgr_depthFirstSearch ( -- q7 SELECT * FROM pgr_depthFirstSearch ( 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', - 6, max_depth := 1, directed := false + 6, max_depth => 1, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql index 6d3ae99c2e2..f62f5b6f7c1 100644 --- a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql +++ b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql @@ -39,7 +39,7 @@ SELECT * FROM pgr_depthFirstSearch ( \echo -- q3 SELECT * FROM pgr_depthFirstSearch ( 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', - 6, max_depth := 1 + 6, max_depth => 1 ); -- start_vid does not exist in the Graph @@ -53,21 +53,21 @@ SELECT * FROM pgr_depthFirstSearch ( \echo -- q5 SELECT * FROM pgr_depthFirstSearch ( 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', - 3, directed := false + 3, directed => false ); -- Undirected Graph with start_vid 6 \echo -- q6 SELECT * FROM pgr_depthFirstSearch ( 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', - 6, directed := false + 6, directed => false ); -- Undirected Graph with start_vid 6 and max_depth 1 \echo -- q7 SELECT * FROM pgr_depthFirstSearch ( 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', - 6, max_depth := 1, directed := false + 6, max_depth => 1, directed => false ); -- Directed Graph with multiple start_vids diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index b0cf5792be6..e880211a220 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -27,7 +27,7 @@ SELECT * FROM pgr_depthFirstSearch( -- q2 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 2, directed := false + 2, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -49,7 +49,7 @@ SELECT * FROM pgr_depthFirstSearch( -- q3 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[11,12], max_depth := 2 + ARRAY[11,12], max_depth => 2 ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -110,7 +110,7 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], max_depth := 2 + ARRAY[8,15], max_depth => 2 ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -128,7 +128,7 @@ SELECT * FROM pgr_depthFirstSearch( -- q7 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 6, directed := false + 6, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -149,7 +149,7 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], directed := false + ARRAY[8,15], directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -172,7 +172,7 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], max_depth := 2, directed := false + ARRAY[8,15], max_depth => 2, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -208,7 +208,7 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, directed := true + 16, directed => true ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -228,7 +228,7 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, max_depth := 1 + 16, max_depth => 1 ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -238,7 +238,7 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], max_depth := 5 + ARRAY[16], max_depth => 5 ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -250,7 +250,7 @@ SELECT * FROM pgr_depthFirstSearch( -- q13 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, directed := false + 16, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -260,7 +260,7 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], directed := false + ARRAY[16], directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -270,7 +270,7 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, max_depth := 1, directed := false + 16, max_depth => 1, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -280,7 +280,7 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], max_depth := 5, directed := false + ARRAY[16], max_depth => 5, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 799c4ff0dd7..ee797e273ed 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -6,12 +6,12 @@ SELECT * FROM pgr_depthFirstSearch( \echo -- q2 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 2, directed := false + 2, directed => false ); \echo -- q3 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[11,12], max_depth := 2 + ARRAY[11,12], max_depth => 2 ); \echo -- q4 @@ -30,7 +30,7 @@ SELECT * FROM pgr_depthFirstSearch( ); SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], max_depth := 2 + ARRAY[8,15], max_depth => 2 ); \echo -- q6 @@ -41,15 +41,15 @@ SELECT * FROM pgr_depthFirstSearch( \echo -- q7 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 6, directed := false + 6, directed => false ); SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], directed := false + ARRAY[8,15], directed => false ); SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], max_depth := 2, directed := false + ARRAY[8,15], max_depth => 2, directed => false ); \echo -- q8 @@ -75,7 +75,7 @@ SELECT * FROM pgr_depthFirstSearch( ); SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, directed := true + 16, directed => true ); SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', @@ -83,11 +83,11 @@ SELECT * FROM pgr_depthFirstSearch( ); SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, max_depth := 1 + 16, max_depth => 1 ); SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], max_depth := 5 + ARRAY[16], max_depth => 5 ); \echo -- q12 @@ -98,18 +98,18 @@ SELECT * FROM pgr_depthFirstSearch( \echo -- q13 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, directed := false + 16, directed => false ); SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], directed := false + ARRAY[16], directed => false ); SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, max_depth := 1, directed := false + 16, max_depth => 1, directed => false ); SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], max_depth := 5, directed := false + ARRAY[16], max_depth => 5, directed => false ); \echo -- q14 diff --git a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql index b17c358fce4..fa997a63e5e 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql @@ -7,18 +7,18 @@ SELECT style_dijkstra('pgr_depthFirstSearch', ', 5)'); -- Single vertex with depth SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, 2)'); -- Single vertex with directed parameter -SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, directed := true)'); +SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, directed => true)'); -- Single vertex with depth and directed parameter -SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, 2, directed := true)'); +SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, 2, directed => true)'); -- MULTIPLE VERTICES SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5])'); -- Multiple vertices with depth SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], 2)'); -- Multiple vertices with directed parameter -SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], directed := true)'); +SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], directed => true)'); -- Multiple vertices with depth and directed parameter -SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], 2, directed := true)'); +SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], 2, directed => true)'); SELECT finish(); ROLLBACK; From 92759a6f21e3d60ac367073e77919261336d32d6 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 11 Jun 2020 16:56:45 +0530 Subject: [PATCH 0084/1360] [depthFirstSearch] Added pgTAP unit tests for 0 edge, 0 vertex directed graph --- .../depthFirstSearch-edge-cases.sql | 65 ++++++++++++++++++- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index ba2f4730468..504f24b3157 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,10 +1,71 @@ \i setup.sql -SELECT plan(1); +SELECT plan(6); SELECT todo_start('Must add all edge cases'); -SELECT is_empty(' SELECT id, source, target, cost > 0, reverse_cost > 0 from edge_table where id>18 ','1'); +-- 0 edge, 0 vertex (directed) + +PREPARE depthFirstSearch1 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + 5 +); + +PREPARE depthFirstSearch2 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + ARRAY[5] +); + +PREPARE depthFirstSearch3 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + ARRAY[2, 5] +); + +PREPARE depthFirstSearch4 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + 5, max_depth => 2 +); + +PREPARE depthFirstSearch5 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + ARRAY[5], max_depth => 2 +); + +PREPARE depthFirstSearch6 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + ARRAY[2, 5], max_depth => 2 +); + +SELECT is_empty('depthFirstSearch1', '1: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch3', '3: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch4', '4: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch5', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch6', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT todo_end(); From 8437c49204e08a83ba237dcdf371cadf3eda63cf Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 11 Jun 2020 17:02:14 +0530 Subject: [PATCH 0085/1360] [depthFirstSearch] Added pgTAP unit tests for 0 edge, 0 vertex undirected graph --- .../depthFirstSearch-edge-cases.sql | 66 ++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 504f24b3157..0db803e757c 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(6); +SELECT plan(12); SELECT todo_start('Must add all edge cases'); @@ -67,6 +67,70 @@ SELECT is_empty('depthFirstSearch4', '4: Graph with 0 edge and 0 vertex -> Empty SELECT is_empty('depthFirstSearch5', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch6', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); +-- 0 edge, 0 vertex (undirected) + +PREPARE depthFirstSearch7 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + 5, directed => false +); + +PREPARE depthFirstSearch8 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + ARRAY[5], directed => false +); + +PREPARE depthFirstSearch9 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + ARRAY[2, 5], directed => false +); + +PREPARE depthFirstSearch10 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + 5, directed => false, max_depth => 2 +); + +PREPARE depthFirstSearch11 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + ARRAY[5], directed => false, max_depth => 2 +); + +PREPARE depthFirstSearch12 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18', + ARRAY[2, 5], directed => false, max_depth => 2 +); + +SELECT is_empty('depthFirstSearch7', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch8', '8: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch9', '9: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch10', '10: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch11', '11: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch12', '12: Graph with 0 edge and 0 vertex -> Empty row is returned'); + + SELECT todo_end(); SELECT * FROM finish(); From 56084b728f0297a7cb94c5bd7d0778bc9b4e0372 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 11 Jun 2020 17:08:38 +0530 Subject: [PATCH 0086/1360] [depthFirstSearch] Added pgTAP unit tests - vertex not present in directed graph --- .../depthFirstSearch-edge-cases.sql | 59 ++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 0db803e757c..1831fd963b8 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(12); +SELECT plan(18); SELECT todo_start('Must add all edge cases'); @@ -130,6 +130,63 @@ SELECT is_empty('depthFirstSearch10', '10: Graph with 0 edge and 0 vertex -> Emp SELECT is_empty('depthFirstSearch11', '11: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch12', '12: Graph with 0 edge and 0 vertex -> Empty row is returned'); +-- vertex not present in graph (directed) + +PREPARE depthFirstSearch13 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + -10 +); + +PREPARE depthFirstSearch14 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[-10] +); + +PREPARE depthFirstSearch15 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[20, -10] +); + +PREPARE depthFirstSearch16 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + -10, max_depth => 2 +); + +PREPARE depthFirstSearch17 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[-10], max_depth => 2 +); + +PREPARE depthFirstSearch18 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[20, -10], max_depth => 2 +); + +SELECT is_empty('depthFirstSearch13', '13: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch14', '14: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch15', '15: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch16', '16: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch17', '17: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch18', '18: Vertex not present in graph -> Empty row is returned'); + SELECT todo_end(); From 017ea2bb730e956f8a7543283a127cfc36824798 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 11 Jun 2020 17:11:11 +0530 Subject: [PATCH 0087/1360] [depthFirstSearch] Added pgTAP unit tests - vertex not present in undirected graph --- .../depthFirstSearch-edge-cases.sql | 65 +++++++++++++++++-- 1 file changed, 61 insertions(+), 4 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 1831fd963b8..6b2db0e0cba 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(18); +SELECT plan(24); SELECT todo_start('Must add all edge cases'); @@ -102,7 +102,7 @@ FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18', - 5, directed => false, max_depth => 2 + 5, max_depth => 2, directed => false ); PREPARE depthFirstSearch11 AS @@ -111,7 +111,7 @@ FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18', - ARRAY[5], directed => false, max_depth => 2 + ARRAY[5], max_depth => 2, directed => false ); PREPARE depthFirstSearch12 AS @@ -120,7 +120,7 @@ FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18', - ARRAY[2, 5], directed => false, max_depth => 2 + ARRAY[2, 5], max_depth => 2, directed => false ); SELECT is_empty('depthFirstSearch7', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); @@ -187,6 +187,63 @@ SELECT is_empty('depthFirstSearch16', '16: Vertex not present in graph -> Empty SELECT is_empty('depthFirstSearch17', '17: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch18', '18: Vertex not present in graph -> Empty row is returned'); +-- vertex not present in graph (undirected) + +PREPARE depthFirstSearch19 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + -10, directed => false +); + +PREPARE depthFirstSearch20 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[-10], directed => false +); + +PREPARE depthFirstSearch21 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[20, -10], directed => false +); + +PREPARE depthFirstSearch22 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + -10, max_depth => 2, directed => false +); + +PREPARE depthFirstSearch23 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[-10], max_depth => 2, directed => false +); + +PREPARE depthFirstSearch24 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[20, -10], max_depth => 2, directed => false +); + +SELECT is_empty('depthFirstSearch19', '19: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch20', '20: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch21', '21: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch22', '22: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch23', '23: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch24', '24: Vertex not present in graph -> Empty row is returned'); + SELECT todo_end(); From 781f3a900176ca050efcf811fb474a7b708ef4c1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 11 Jun 2020 17:24:57 +0530 Subject: [PATCH 0088/1360] [depthFirstSearch] Added pgTAP unit test - negative depth tests --- .../depthFirstSearch-edge-cases.sql | 66 +++++++++++++++++-- 1 file changed, 61 insertions(+), 5 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 6b2db0e0cba..089d1cf04de 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,10 +1,10 @@ \i setup.sql -SELECT plan(24); +SELECT plan(30); SELECT todo_start('Must add all edge cases'); --- 0 edge, 0 vertex (directed) +-- 0 edge, 0 vertex tests (directed) PREPARE depthFirstSearch1 AS SELECT * @@ -67,7 +67,7 @@ SELECT is_empty('depthFirstSearch4', '4: Graph with 0 edge and 0 vertex -> Empty SELECT is_empty('depthFirstSearch5', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch6', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); --- 0 edge, 0 vertex (undirected) +-- 0 edge, 0 vertex tests (undirected) PREPARE depthFirstSearch7 AS SELECT * @@ -130,7 +130,7 @@ SELECT is_empty('depthFirstSearch10', '10: Graph with 0 edge and 0 vertex -> Emp SELECT is_empty('depthFirstSearch11', '11: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch12', '12: Graph with 0 edge and 0 vertex -> Empty row is returned'); --- vertex not present in graph (directed) +-- vertex not present in graph tests (directed) PREPARE depthFirstSearch13 AS SELECT * @@ -187,7 +187,7 @@ SELECT is_empty('depthFirstSearch16', '16: Vertex not present in graph -> Empty SELECT is_empty('depthFirstSearch17', '17: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch18', '18: Vertex not present in graph -> Empty row is returned'); --- vertex not present in graph (undirected) +-- vertex not present in graph tests (undirected) PREPARE depthFirstSearch19 AS SELECT * @@ -244,6 +244,62 @@ SELECT is_empty('depthFirstSearch22', '22: Vertex not present in graph -> Empty SELECT is_empty('depthFirstSearch23', '23: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch24', '24: Vertex not present in graph -> Empty row is returned'); +-- negative depth tests + +PREPARE depthFirstSearch25 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4, max_depth => -3 +); + +PREPARE depthFirstSearch26 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[4], max_depth => -3 +); + +PREPARE depthFirstSearch27 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[4, 20], max_depth => -3 +); + +PREPARE depthFirstSearch28 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4, max_depth => -3, directed => false +); + +PREPARE depthFirstSearch29 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[4], max_depth => -3, directed => false +); + +PREPARE depthFirstSearch30 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[4, 20], max_depth => -3, directed => false +); + +SELECT throws_ok('depthFirstSearch25', 'P0001', 'Negative value found on ''max_depth''', '25: Negative max_depth throws'); +SELECT throws_ok('depthFirstSearch26', 'P0001', 'Negative value found on ''max_depth''', '26: Negative max_depth throws'); +SELECT throws_ok('depthFirstSearch27', 'P0001', 'Negative value found on ''max_depth''', '27: Negative max_depth throws'); +SELECT throws_ok('depthFirstSearch28', 'P0001', 'Negative value found on ''max_depth''', '28: Negative max_depth throws'); +SELECT throws_ok('depthFirstSearch29', 'P0001', 'Negative value found on ''max_depth''', '29: Negative max_depth throws'); +SELECT throws_ok('depthFirstSearch30', 'P0001', 'Negative value found on ''max_depth''', '30: Negative max_depth throws'); SELECT todo_end(); From 5f04aad6263d358fcce66d23ed1a22e11cf90923 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 13:39:03 +0530 Subject: [PATCH 0089/1360] [depthFirstSearch] Added pgtap test for single vertex directed graph --- .../depthFirstSearch-edge-cases.sql | 64 ++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 089d1cf04de..0044b768c91 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,9 +1,18 @@ \i setup.sql -SELECT plan(30); +SELECT plan(36); SELECT todo_start('Must add all edge cases'); +-- 0 edge, 0 vertex tests + +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18; + +SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); + -- 0 edge, 0 vertex tests (directed) PREPARE depthFirstSearch1 AS @@ -301,6 +310,59 @@ SELECT throws_ok('depthFirstSearch28', 'P0001', 'Negative value found on ''max_d SELECT throws_ok('depthFirstSearch29', 'P0001', 'Negative value found on ''max_depth''', '29: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch30', 'P0001', 'Negative value found on ''max_depth''', '30: Negative max_depth throws'); +-- 1 vertex tests + +PREPARE q2 AS +SELECT id, source, 2 AS target, cost, reverse_cost +FROM edge_table +WHERE id = 2; + +SELECT set_eq('q2', $$VALUES (2, 2, 2, -1, 1)$$, 'q2: Graph with only vertex 2'); + +-- 1 vertex tests (directed) + +PREPARE depthFirstSearch31 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, 2 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 2', + 2 +); + +PREPARE depthFirstSearch32 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, 2 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 2', + ARRAY[2] +); + +PREPARE depthFirstSearch33 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, 2 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 2', + 2, max_depth => 2 +); + +PREPARE depthFirstSearch34 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, 2 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 2', + ARRAY[2], max_depth => 2 +); + +SELECT set_eq('depthFirstSearch31', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '31: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch32', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '32: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch33', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '33: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch34', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '34: One row with node 2 is returned'); + + SELECT todo_end(); SELECT * FROM finish(); From dab2453075fc98f0cbca62a236c98f008b3724b7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 13:40:21 +0530 Subject: [PATCH 0090/1360] [depthFirstSearch] Added pgtap test for single vertex undirected graph --- .../depthFirstSearch-edge-cases.sql | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 0044b768c91..58d51333e9d 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(36); +SELECT plan(40); SELECT todo_start('Must add all edge cases'); @@ -362,6 +362,49 @@ SELECT set_eq('depthFirstSearch32', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '32: One SELECT set_eq('depthFirstSearch33', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '33: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch34', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '34: One row with node 2 is returned'); +-- 1 vertex tests (undirected) + +PREPARE depthFirstSearch35 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, 2 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 2', + 2, directed => false +); + +PREPARE depthFirstSearch36 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, 2 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 2', + ARRAY[2], directed => false +); + +PREPARE depthFirstSearch37 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, 2 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 2', + 2, max_depth => 2, directed => false +); + +PREPARE depthFirstSearch38 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, 2 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 2', + ARRAY[2], max_depth => 2, directed => false +); + +SELECT set_eq('depthFirstSearch35', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '35: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch36', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '36: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch37', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '37: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch38', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '38: One row with node 2 is returned'); + SELECT todo_end(); From 8fb17c633962c65e13be51f47b2db27d957028ae Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 15:00:21 +0530 Subject: [PATCH 0091/1360] [depthFirstSearch] Added pgTAP test for 2 vertices (directed) --- .../depthFirstSearch-edge-cases.sql | 76 ++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 58d51333e9d..de3b03be5e2 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(40); +SELECT plan(47); SELECT todo_start('Must add all edge cases'); @@ -11,6 +11,7 @@ SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18; +-- Graph is empty - it has 0 edge and 0 vertex SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); -- 0 edge, 0 vertex tests (directed) @@ -317,6 +318,7 @@ SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table WHERE id = 2; +-- Graph with only vertex 2 SELECT set_eq('q2', $$VALUES (2, 2, 2, -1, 1)$$, 'q2: Graph with only vertex 2'); -- 1 vertex tests (directed) @@ -405,6 +407,78 @@ SELECT set_eq('depthFirstSearch36', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '36: One SELECT set_eq('depthFirstSearch37', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '37: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch38', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '38: One row with node 2 is returned'); +-- 2 vertices tests + +PREPARE q3 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id = 5; + +-- Graph with vertices 3 and 6 and edge from 3 to 6 +SELECT set_eq('q3', $$VALUES (5, 3, 6, 1, -1)$$, 'q3: Graph with two vertices 3 and 6 and edge from 3 to 6'); + +-- 2 vertices tests (directed) + +PREPARE depthFirstSearch39 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + 3 +); + +PREPARE depthFirstSearch40 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + ARRAY[3] +); + +PREPARE depthFirstSearch41 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + 6 +); + +PREPARE depthFirstSearch42 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + ARRAY[6] +); + +PREPARE depthFirstSearch43 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + 3, max_depth => 1 +); + +PREPARE depthFirstSearch44 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + 3, max_depth => 0 +); + +SELECT set_eq('depthFirstSearch39', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '39: Two rows are returned'); +SELECT set_eq('depthFirstSearch40', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '40: Two rows are returned'); +SELECT set_eq('depthFirstSearch41', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '41: One row is returned'); +SELECT set_eq('depthFirstSearch42', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '42: One row is returned'); +SELECT set_eq('depthFirstSearch43', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '43: Two rows are returned'); +SELECT set_eq('depthFirstSearch44', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '44: One row is returned'); SELECT todo_end(); From e372b0bf1a480cae1fd13900db88d15140dc78ef Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 15:04:05 +0530 Subject: [PATCH 0092/1360] [depthFirstSearch] Added pgTAP test for 2 vertices (undirected) --- .../depthFirstSearch-edge-cases.sql | 66 ++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index de3b03be5e2..47600e2b511 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(47); +SELECT plan(53); SELECT todo_start('Must add all edge cases'); @@ -480,6 +480,70 @@ SELECT set_eq('depthFirstSearch42', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '42: One SELECT set_eq('depthFirstSearch43', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '43: Two rows are returned'); SELECT set_eq('depthFirstSearch44', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '44: One row is returned'); +-- 2 vertices tests (undirected) + +PREPARE depthFirstSearch45 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + 3, directed => false +); + +PREPARE depthFirstSearch46 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + ARRAY[3], directed => false +); + +PREPARE depthFirstSearch47 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + 6, directed => false +); + +PREPARE depthFirstSearch48 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + ARRAY[6], directed => false +); + +PREPARE depthFirstSearch49 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + 3, max_depth => 1, directed => false +); + +PREPARE depthFirstSearch50 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 5', + 3, max_depth => 0, directed => false +); + +SELECT set_eq('depthFirstSearch45', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '45: Two rows are returned'); +SELECT set_eq('depthFirstSearch46', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '46: Two rows are returned'); +SELECT set_eq('depthFirstSearch47', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 5, 1, 1)$$, '47: Two rows are returned'); +SELECT set_eq('depthFirstSearch48', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 5, 1, 1)$$, '48: Two rows are returned'); +SELECT set_eq('depthFirstSearch49', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '49: Two rows are returned'); +SELECT set_eq('depthFirstSearch50', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '50: One row is returned'); + + SELECT todo_end(); SELECT * FROM finish(); From 3e2375d207cde0bc3924918bfdc7f6f8795ba158 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 15:27:44 +0530 Subject: [PATCH 0093/1360] [depthFirstSearch] Added 3 vertices table for pgtap test --- .../depthFirstSearch-edge-cases.sql | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 47600e2b511..5d24f883f09 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(53); +SELECT plan(54); SELECT todo_start('Must add all edge cases'); @@ -543,6 +543,35 @@ SELECT set_eq('depthFirstSearch48', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3 SELECT set_eq('depthFirstSearch49', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '49: Two rows are returned'); SELECT set_eq('depthFirstSearch50', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '50: One row is returned'); +-- 3 vertices tests + +CREATE TABLE three_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); + +INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES + (3, 6, 20, 15), + (3, 8, 10, -10), + (6, 8, -1, 12); + +PREPARE q4 AS +SELECT id, source, target, cost, reverse_cost +FROM three_vertices_table; + +-- Cyclic Graph with three vertices 3, 6 and 8 +SELECT set_eq('q4', + $$VALUES + (1, 3, 6, 20, 15), + (2, 3, 8, 10, -10), + (3, 6, 8, -1, 12) + $$, + 'q4: Cyclic Graph with three vertices 3, 6 and 8' +); + SELECT todo_end(); From 42adbd42fe261816f33990f372dadafc80b4fa6c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 17:10:31 +0530 Subject: [PATCH 0094/1360] [depthFirstSearch] Added pgTAP test for 3 vertices directed graph --- .../depthFirstSearch-edge-cases.sql | 66 ++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 5d24f883f09..ebe0b6d26eb 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(54); +SELECT plan(58); SELECT todo_start('Must add all edge cases'); @@ -572,6 +572,70 @@ SELECT set_eq('q4', 'q4: Cyclic Graph with three vertices 3, 6 and 8' ); +-- 3 vertices tests (directed) + +PREPARE depthFirstSearch51 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table', + 3 +); + +PREPARE depthFirstSearch52 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table', + 6 +); + +PREPARE depthFirstSearch53 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table', + 6, max_depth => 1 +); + +PREPARE depthFirstSearch54 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table', + 2 +); + +SELECT set_eq('depthFirstSearch51', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 1, 20, 20), + (3, 1, 3, 8, 2, 10, 10) + $$, + '51' +); + +SELECT set_eq('depthFirstSearch52', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 3, 1, 15, 15), + (3, 2, 6, 8, 2, 10, 25) + $$, + '52' +); + +SELECT set_eq('depthFirstSearch53', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 3, 1, 15, 15) + $$, + '53' +); + +SELECT is_empty('depthFirstSearch54', + '54: Vertex not present in graph -> Empty row is returned' +); + SELECT todo_end(); From 202d56f6e063932b90be9b3c07bd6efbc218c19f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 17:15:44 +0530 Subject: [PATCH 0095/1360] [depthFirstSearch] Added pgTAP test for 3 vertices undirected graph --- .../depthFirstSearch-edge-cases.sql | 74 ++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index ebe0b6d26eb..13cc8008579 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(58); +SELECT plan(62); SELECT todo_start('Must add all edge cases'); @@ -606,6 +606,14 @@ FROM pgr_depthFirstSearch( 2 ); +PREPARE depthFirstSearch55 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table', + ARRAY[6, 3, 6] +); + SELECT set_eq('depthFirstSearch51', $$VALUES (1, 0, 3, 3, -1, 0, 0), @@ -636,6 +644,70 @@ SELECT is_empty('depthFirstSearch54', '54: Vertex not present in graph -> Empty row is returned' ); +SELECT set_eq('depthFirstSearch55', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 1, 20, 20), + (3, 1, 3, 8, 2, 10, 10), + (4, 0, 6, 6, -1, 0, 0), + (5, 1, 6, 3, 1, 15, 15), + (6, 2, 6, 8, 2, 10, 25) + $$, + '55' +); + +-- 3 vertices tests (undirected) + +PREPARE depthFirstSearch56 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table', + 3, directed => false +); + +PREPARE depthFirstSearch57 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table', + 6, directed => false +); + +PREPARE depthFirstSearch58 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table', + 6, max_depth => 1, directed => false +); + +SELECT set_eq('depthFirstSearch56', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 1, 20, 20), + (3, 2, 3, 8, 3, 12, 32) + $$, + '56' +); + +SELECT set_eq('depthFirstSearch57', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 3, 1, 20, 20), + (3, 2, 6, 8, 2, 10, 30) + $$, + '57' +); + +SELECT set_eq('depthFirstSearch58', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 3, 1, 20, 20) + $$, + '58' +); + SELECT todo_end(); From 19fc55bfd1958590848dd1fa1db981ba8c2ae85a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 17:24:26 +0530 Subject: [PATCH 0096/1360] [depthFirstSearch] Changed pgTAP test numbers --- .../depthFirstSearch-edge-cases.sql | 200 +++++++++--------- 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 13cc8008579..7f74faa84e2 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -16,7 +16,7 @@ SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); -- 0 edge, 0 vertex tests (directed) -PREPARE depthFirstSearch1 AS +PREPARE depthFirstSearch2 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -25,7 +25,7 @@ FROM pgr_depthFirstSearch( 5 ); -PREPARE depthFirstSearch2 AS +PREPARE depthFirstSearch3 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -34,7 +34,7 @@ FROM pgr_depthFirstSearch( ARRAY[5] ); -PREPARE depthFirstSearch3 AS +PREPARE depthFirstSearch4 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -43,7 +43,7 @@ FROM pgr_depthFirstSearch( ARRAY[2, 5] ); -PREPARE depthFirstSearch4 AS +PREPARE depthFirstSearch5 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -52,7 +52,7 @@ FROM pgr_depthFirstSearch( 5, max_depth => 2 ); -PREPARE depthFirstSearch5 AS +PREPARE depthFirstSearch6 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -61,7 +61,7 @@ FROM pgr_depthFirstSearch( ARRAY[5], max_depth => 2 ); -PREPARE depthFirstSearch6 AS +PREPARE depthFirstSearch7 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -70,16 +70,16 @@ FROM pgr_depthFirstSearch( ARRAY[2, 5], max_depth => 2 ); -SELECT is_empty('depthFirstSearch1', '1: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch3', '3: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch4', '4: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch5', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch6', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch7', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); -- 0 edge, 0 vertex tests (undirected) -PREPARE depthFirstSearch7 AS +PREPARE depthFirstSearch8 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -88,7 +88,7 @@ FROM pgr_depthFirstSearch( 5, directed => false ); -PREPARE depthFirstSearch8 AS +PREPARE depthFirstSearch9 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -97,7 +97,7 @@ FROM pgr_depthFirstSearch( ARRAY[5], directed => false ); -PREPARE depthFirstSearch9 AS +PREPARE depthFirstSearch10 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -106,7 +106,7 @@ FROM pgr_depthFirstSearch( ARRAY[2, 5], directed => false ); -PREPARE depthFirstSearch10 AS +PREPARE depthFirstSearch11 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -115,7 +115,7 @@ FROM pgr_depthFirstSearch( 5, max_depth => 2, directed => false ); -PREPARE depthFirstSearch11 AS +PREPARE depthFirstSearch12 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -124,7 +124,7 @@ FROM pgr_depthFirstSearch( ARRAY[5], max_depth => 2, directed => false ); -PREPARE depthFirstSearch12 AS +PREPARE depthFirstSearch13 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -133,16 +133,16 @@ FROM pgr_depthFirstSearch( ARRAY[2, 5], max_depth => 2, directed => false ); -SELECT is_empty('depthFirstSearch7', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch8', '8: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch9', '9: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch10', '10: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch11', '11: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch12', '12: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('depthFirstSearch13', '13: Graph with 0 edge and 0 vertex -> Empty row is returned'); -- vertex not present in graph tests (directed) -PREPARE depthFirstSearch13 AS +PREPARE depthFirstSearch14 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -150,7 +150,7 @@ FROM pgr_depthFirstSearch( -10 ); -PREPARE depthFirstSearch14 AS +PREPARE depthFirstSearch15 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -158,7 +158,7 @@ FROM pgr_depthFirstSearch( ARRAY[-10] ); -PREPARE depthFirstSearch15 AS +PREPARE depthFirstSearch16 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -166,7 +166,7 @@ FROM pgr_depthFirstSearch( ARRAY[20, -10] ); -PREPARE depthFirstSearch16 AS +PREPARE depthFirstSearch17 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -174,7 +174,7 @@ FROM pgr_depthFirstSearch( -10, max_depth => 2 ); -PREPARE depthFirstSearch17 AS +PREPARE depthFirstSearch18 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -182,7 +182,7 @@ FROM pgr_depthFirstSearch( ARRAY[-10], max_depth => 2 ); -PREPARE depthFirstSearch18 AS +PREPARE depthFirstSearch19 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -190,16 +190,16 @@ FROM pgr_depthFirstSearch( ARRAY[20, -10], max_depth => 2 ); -SELECT is_empty('depthFirstSearch13', '13: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch14', '14: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch15', '15: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch16', '16: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch17', '17: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch18', '18: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch19', '19: Vertex not present in graph -> Empty row is returned'); -- vertex not present in graph tests (undirected) -PREPARE depthFirstSearch19 AS +PREPARE depthFirstSearch20 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -207,7 +207,7 @@ FROM pgr_depthFirstSearch( -10, directed => false ); -PREPARE depthFirstSearch20 AS +PREPARE depthFirstSearch21 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -215,7 +215,7 @@ FROM pgr_depthFirstSearch( ARRAY[-10], directed => false ); -PREPARE depthFirstSearch21 AS +PREPARE depthFirstSearch22 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -223,7 +223,7 @@ FROM pgr_depthFirstSearch( ARRAY[20, -10], directed => false ); -PREPARE depthFirstSearch22 AS +PREPARE depthFirstSearch23 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -231,7 +231,7 @@ FROM pgr_depthFirstSearch( -10, max_depth => 2, directed => false ); -PREPARE depthFirstSearch23 AS +PREPARE depthFirstSearch24 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -239,7 +239,7 @@ FROM pgr_depthFirstSearch( ARRAY[-10], max_depth => 2, directed => false ); -PREPARE depthFirstSearch24 AS +PREPARE depthFirstSearch25 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -247,16 +247,16 @@ FROM pgr_depthFirstSearch( ARRAY[20, -10], max_depth => 2, directed => false ); -SELECT is_empty('depthFirstSearch19', '19: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch20', '20: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch21', '21: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch22', '22: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch23', '23: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch24', '24: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch25', '25: Vertex not present in graph -> Empty row is returned'); -- negative depth tests -PREPARE depthFirstSearch25 AS +PREPARE depthFirstSearch26 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -264,7 +264,7 @@ FROM pgr_depthFirstSearch( 4, max_depth => -3 ); -PREPARE depthFirstSearch26 AS +PREPARE depthFirstSearch27 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -272,7 +272,7 @@ FROM pgr_depthFirstSearch( ARRAY[4], max_depth => -3 ); -PREPARE depthFirstSearch27 AS +PREPARE depthFirstSearch28 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -280,7 +280,7 @@ FROM pgr_depthFirstSearch( ARRAY[4, 20], max_depth => -3 ); -PREPARE depthFirstSearch28 AS +PREPARE depthFirstSearch29 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -288,7 +288,7 @@ FROM pgr_depthFirstSearch( 4, max_depth => -3, directed => false ); -PREPARE depthFirstSearch29 AS +PREPARE depthFirstSearch30 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -296,7 +296,7 @@ FROM pgr_depthFirstSearch( ARRAY[4], max_depth => -3, directed => false ); -PREPARE depthFirstSearch30 AS +PREPARE depthFirstSearch31 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -304,26 +304,26 @@ FROM pgr_depthFirstSearch( ARRAY[4, 20], max_depth => -3, directed => false ); -SELECT throws_ok('depthFirstSearch25', 'P0001', 'Negative value found on ''max_depth''', '25: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch26', 'P0001', 'Negative value found on ''max_depth''', '26: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch27', 'P0001', 'Negative value found on ''max_depth''', '27: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch28', 'P0001', 'Negative value found on ''max_depth''', '28: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch29', 'P0001', 'Negative value found on ''max_depth''', '29: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch30', 'P0001', 'Negative value found on ''max_depth''', '30: Negative max_depth throws'); +SELECT throws_ok('depthFirstSearch31', 'P0001', 'Negative value found on ''max_depth''', '31: Negative max_depth throws'); -- 1 vertex tests -PREPARE q2 AS +PREPARE q32 AS SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table WHERE id = 2; -- Graph with only vertex 2 -SELECT set_eq('q2', $$VALUES (2, 2, 2, -1, 1)$$, 'q2: Graph with only vertex 2'); +SELECT set_eq('q32', $$VALUES (2, 2, 2, -1, 1)$$, 'q32: Graph with only vertex 2'); -- 1 vertex tests (directed) -PREPARE depthFirstSearch31 AS +PREPARE depthFirstSearch33 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, 2 AS target, cost, reverse_cost @@ -332,7 +332,7 @@ FROM pgr_depthFirstSearch( 2 ); -PREPARE depthFirstSearch32 AS +PREPARE depthFirstSearch34 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, 2 AS target, cost, reverse_cost @@ -341,7 +341,7 @@ FROM pgr_depthFirstSearch( ARRAY[2] ); -PREPARE depthFirstSearch33 AS +PREPARE depthFirstSearch35 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, 2 AS target, cost, reverse_cost @@ -350,7 +350,7 @@ FROM pgr_depthFirstSearch( 2, max_depth => 2 ); -PREPARE depthFirstSearch34 AS +PREPARE depthFirstSearch36 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, 2 AS target, cost, reverse_cost @@ -359,14 +359,14 @@ FROM pgr_depthFirstSearch( ARRAY[2], max_depth => 2 ); -SELECT set_eq('depthFirstSearch31', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '31: One row with node 2 is returned'); -SELECT set_eq('depthFirstSearch32', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '32: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch33', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '33: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch34', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '34: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch35', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '35: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch36', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '36: One row with node 2 is returned'); -- 1 vertex tests (undirected) -PREPARE depthFirstSearch35 AS +PREPARE depthFirstSearch37 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, 2 AS target, cost, reverse_cost @@ -375,7 +375,7 @@ FROM pgr_depthFirstSearch( 2, directed => false ); -PREPARE depthFirstSearch36 AS +PREPARE depthFirstSearch38 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, 2 AS target, cost, reverse_cost @@ -384,7 +384,7 @@ FROM pgr_depthFirstSearch( ARRAY[2], directed => false ); -PREPARE depthFirstSearch37 AS +PREPARE depthFirstSearch39 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, 2 AS target, cost, reverse_cost @@ -393,7 +393,7 @@ FROM pgr_depthFirstSearch( 2, max_depth => 2, directed => false ); -PREPARE depthFirstSearch38 AS +PREPARE depthFirstSearch40 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, 2 AS target, cost, reverse_cost @@ -402,24 +402,24 @@ FROM pgr_depthFirstSearch( ARRAY[2], max_depth => 2, directed => false ); -SELECT set_eq('depthFirstSearch35', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '35: One row with node 2 is returned'); -SELECT set_eq('depthFirstSearch36', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '36: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch37', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '37: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch38', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '38: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch39', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '39: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch40', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '40: One row with node 2 is returned'); -- 2 vertices tests -PREPARE q3 AS +PREPARE q41 AS SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 5; -- Graph with vertices 3 and 6 and edge from 3 to 6 -SELECT set_eq('q3', $$VALUES (5, 3, 6, 1, -1)$$, 'q3: Graph with two vertices 3 and 6 and edge from 3 to 6'); +SELECT set_eq('q41', $$VALUES (5, 3, 6, 1, -1)$$, 'q41: Graph with two vertices 3 and 6 and edge from 3 to 6'); -- 2 vertices tests (directed) -PREPARE depthFirstSearch39 AS +PREPARE depthFirstSearch42 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -428,7 +428,7 @@ FROM pgr_depthFirstSearch( 3 ); -PREPARE depthFirstSearch40 AS +PREPARE depthFirstSearch43 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -437,7 +437,7 @@ FROM pgr_depthFirstSearch( ARRAY[3] ); -PREPARE depthFirstSearch41 AS +PREPARE depthFirstSearch44 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -446,7 +446,7 @@ FROM pgr_depthFirstSearch( 6 ); -PREPARE depthFirstSearch42 AS +PREPARE depthFirstSearch45 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -455,7 +455,7 @@ FROM pgr_depthFirstSearch( ARRAY[6] ); -PREPARE depthFirstSearch43 AS +PREPARE depthFirstSearch46 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -464,7 +464,7 @@ FROM pgr_depthFirstSearch( 3, max_depth => 1 ); -PREPARE depthFirstSearch44 AS +PREPARE depthFirstSearch47 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -473,16 +473,16 @@ FROM pgr_depthFirstSearch( 3, max_depth => 0 ); -SELECT set_eq('depthFirstSearch39', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '39: Two rows are returned'); -SELECT set_eq('depthFirstSearch40', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '40: Two rows are returned'); -SELECT set_eq('depthFirstSearch41', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '41: One row is returned'); -SELECT set_eq('depthFirstSearch42', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '42: One row is returned'); +SELECT set_eq('depthFirstSearch42', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '42: Two rows are returned'); SELECT set_eq('depthFirstSearch43', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '43: Two rows are returned'); -SELECT set_eq('depthFirstSearch44', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '44: One row is returned'); +SELECT set_eq('depthFirstSearch44', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '44: One row is returned'); +SELECT set_eq('depthFirstSearch45', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '45: One row is returned'); +SELECT set_eq('depthFirstSearch46', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '46: Two rows are returned'); +SELECT set_eq('depthFirstSearch47', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '47: One row is returned'); -- 2 vertices tests (undirected) -PREPARE depthFirstSearch45 AS +PREPARE depthFirstSearch48 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -491,7 +491,7 @@ FROM pgr_depthFirstSearch( 3, directed => false ); -PREPARE depthFirstSearch46 AS +PREPARE depthFirstSearch49 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -500,7 +500,7 @@ FROM pgr_depthFirstSearch( ARRAY[3], directed => false ); -PREPARE depthFirstSearch47 AS +PREPARE depthFirstSearch50 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -509,7 +509,7 @@ FROM pgr_depthFirstSearch( 6, directed => false ); -PREPARE depthFirstSearch48 AS +PREPARE depthFirstSearch51 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -518,7 +518,7 @@ FROM pgr_depthFirstSearch( ARRAY[6], directed => false ); -PREPARE depthFirstSearch49 AS +PREPARE depthFirstSearch52 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -527,7 +527,7 @@ FROM pgr_depthFirstSearch( 3, max_depth => 1, directed => false ); -PREPARE depthFirstSearch50 AS +PREPARE depthFirstSearch53 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -536,12 +536,12 @@ FROM pgr_depthFirstSearch( 3, max_depth => 0, directed => false ); -SELECT set_eq('depthFirstSearch45', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '45: Two rows are returned'); -SELECT set_eq('depthFirstSearch46', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '46: Two rows are returned'); -SELECT set_eq('depthFirstSearch47', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 5, 1, 1)$$, '47: Two rows are returned'); -SELECT set_eq('depthFirstSearch48', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 5, 1, 1)$$, '48: Two rows are returned'); +SELECT set_eq('depthFirstSearch48', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '48: Two rows are returned'); SELECT set_eq('depthFirstSearch49', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '49: Two rows are returned'); -SELECT set_eq('depthFirstSearch50', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '50: One row is returned'); +SELECT set_eq('depthFirstSearch50', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 5, 1, 1)$$, '50: Two rows are returned'); +SELECT set_eq('depthFirstSearch51', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 5, 1, 1)$$, '51: Two rows are returned'); +SELECT set_eq('depthFirstSearch52', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '52: Two rows are returned'); +SELECT set_eq('depthFirstSearch53', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '53: One row is returned'); -- 3 vertices tests @@ -558,23 +558,23 @@ INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES (3, 8, 10, -10), (6, 8, -1, 12); -PREPARE q4 AS +PREPARE q54 AS SELECT id, source, target, cost, reverse_cost FROM three_vertices_table; -- Cyclic Graph with three vertices 3, 6 and 8 -SELECT set_eq('q4', +SELECT set_eq('q54', $$VALUES (1, 3, 6, 20, 15), (2, 3, 8, 10, -10), (3, 6, 8, -1, 12) $$, - 'q4: Cyclic Graph with three vertices 3, 6 and 8' + 'q54: Cyclic Graph with three vertices 3, 6 and 8' ); -- 3 vertices tests (directed) -PREPARE depthFirstSearch51 AS +PREPARE depthFirstSearch55 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -582,7 +582,7 @@ FROM pgr_depthFirstSearch( 3 ); -PREPARE depthFirstSearch52 AS +PREPARE depthFirstSearch56 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -590,7 +590,7 @@ FROM pgr_depthFirstSearch( 6 ); -PREPARE depthFirstSearch53 AS +PREPARE depthFirstSearch57 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -598,7 +598,7 @@ FROM pgr_depthFirstSearch( 6, max_depth => 1 ); -PREPARE depthFirstSearch54 AS +PREPARE depthFirstSearch58 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -606,7 +606,7 @@ FROM pgr_depthFirstSearch( 2 ); -PREPARE depthFirstSearch55 AS +PREPARE depthFirstSearch59 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -614,37 +614,37 @@ FROM pgr_depthFirstSearch( ARRAY[6, 3, 6] ); -SELECT set_eq('depthFirstSearch51', +SELECT set_eq('depthFirstSearch55', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 1, 20, 20), (3, 1, 3, 8, 2, 10, 10) $$, - '51' + '55' ); -SELECT set_eq('depthFirstSearch52', +SELECT set_eq('depthFirstSearch56', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 1, 15, 15), (3, 2, 6, 8, 2, 10, 25) $$, - '52' + '56' ); -SELECT set_eq('depthFirstSearch53', +SELECT set_eq('depthFirstSearch57', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 1, 15, 15) $$, - '53' + '57' ); -SELECT is_empty('depthFirstSearch54', - '54: Vertex not present in graph -> Empty row is returned' +SELECT is_empty('depthFirstSearch58', + '58: Vertex not present in graph -> Empty row is returned' ); -SELECT set_eq('depthFirstSearch55', +SELECT set_eq('depthFirstSearch59', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 1, 20, 20), @@ -653,12 +653,12 @@ SELECT set_eq('depthFirstSearch55', (5, 1, 6, 3, 1, 15, 15), (6, 2, 6, 8, 2, 10, 25) $$, - '55' + '59' ); -- 3 vertices tests (undirected) -PREPARE depthFirstSearch56 AS +PREPARE depthFirstSearch60 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -666,7 +666,7 @@ FROM pgr_depthFirstSearch( 3, directed => false ); -PREPARE depthFirstSearch57 AS +PREPARE depthFirstSearch61 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -674,7 +674,7 @@ FROM pgr_depthFirstSearch( 6, directed => false ); -PREPARE depthFirstSearch58 AS +PREPARE depthFirstSearch62 AS SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost @@ -682,30 +682,30 @@ FROM pgr_depthFirstSearch( 6, max_depth => 1, directed => false ); -SELECT set_eq('depthFirstSearch56', +SELECT set_eq('depthFirstSearch60', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 1, 20, 20), (3, 2, 3, 8, 3, 12, 32) $$, - '56' + '60' ); -SELECT set_eq('depthFirstSearch57', +SELECT set_eq('depthFirstSearch61', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 1, 20, 20), (3, 2, 6, 8, 2, 10, 30) $$, - '57' + '61' ); -SELECT set_eq('depthFirstSearch58', +SELECT set_eq('depthFirstSearch62', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 1, 20, 20) $$, - '58' + '62' ); From 979be922c461c1710ac7a5cdbabf26aa2905d4bd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 17:32:47 +0530 Subject: [PATCH 0097/1360] [depthFirstSearch] Added prepared statement for 4 vertices graph --- .../depthFirstSearch-edge-cases.sql | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 7f74faa84e2..fdb1ac001b1 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(62); +SELECT plan(63); SELECT todo_start('Must add all edge cases'); @@ -708,6 +708,27 @@ SELECT set_eq('depthFirstSearch62', '62' ); +-- 4 vertices tests + +PREPARE q63 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE (id >= 10 AND id <= 12) +OR id = 8; + +-- Graph with vertices 5, 6, 10, 11 +SELECT set_eq('q63', + $$VALUES + (8, 5, 6, 1, 1), + (10, 5, 10, 1, 1), + (11, 6, 11, 1, -1), + (12, 10, 11, 1, -1) + $$, + '63: Graph with vertices 5, 6, 10 and 11' +); + + + SELECT todo_end(); From 0a05f4da169773554cb82404ce78627af2027ace Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 17:44:47 +0530 Subject: [PATCH 0098/1360] [depthFirstSearch] Added pgTAP test for 4 vertices directed graph --- .../depthFirstSearch-edge-cases.sql | 94 +++++++++++++++++-- 1 file changed, 85 insertions(+), 9 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index fdb1ac001b1..7b7c4970cc5 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(63); +SELECT plan(67); SELECT todo_start('Must add all edge cases'); @@ -620,7 +620,7 @@ SELECT set_eq('depthFirstSearch55', (2, 1, 3, 6, 1, 20, 20), (3, 1, 3, 8, 2, 10, 10) $$, - '55' + '55: 3 vertices tests (directed)' ); SELECT set_eq('depthFirstSearch56', @@ -629,7 +629,7 @@ SELECT set_eq('depthFirstSearch56', (2, 1, 6, 3, 1, 15, 15), (3, 2, 6, 8, 2, 10, 25) $$, - '56' + '56: 3 vertices tests (directed)' ); SELECT set_eq('depthFirstSearch57', @@ -637,7 +637,7 @@ SELECT set_eq('depthFirstSearch57', (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 1, 15, 15) $$, - '57' + '57: 3 vertices tests (directed)' ); SELECT is_empty('depthFirstSearch58', @@ -653,7 +653,7 @@ SELECT set_eq('depthFirstSearch59', (5, 1, 6, 3, 1, 15, 15), (6, 2, 6, 8, 2, 10, 25) $$, - '59' + '59: 3 vertices tests (directed)' ); -- 3 vertices tests (undirected) @@ -688,7 +688,7 @@ SELECT set_eq('depthFirstSearch60', (2, 1, 3, 6, 1, 20, 20), (3, 2, 3, 8, 3, 12, 32) $$, - '60' + '60: 3 vertices tests (undirected)' ); SELECT set_eq('depthFirstSearch61', @@ -697,7 +697,7 @@ SELECT set_eq('depthFirstSearch61', (2, 1, 6, 3, 1, 20, 20), (3, 2, 6, 8, 2, 10, 30) $$, - '61' + '61: 3 vertices tests (undirected)' ); SELECT set_eq('depthFirstSearch62', @@ -705,7 +705,7 @@ SELECT set_eq('depthFirstSearch62', (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 1, 20, 20) $$, - '62' + '62: 3 vertices tests (undirected)' ); -- 4 vertices tests @@ -714,7 +714,7 @@ PREPARE q63 AS SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE (id >= 10 AND id <= 12) -OR id = 8; + OR id = 8; -- Graph with vertices 5, 6, 10, 11 SELECT set_eq('q63', @@ -727,8 +727,84 @@ SELECT set_eq('q63', '63: Graph with vertices 5, 6, 10 and 11' ); +-- 4 vertices tests (directed) +PREPARE depthFirstSearch64 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 10 AND id <= 12) + OR id = 8', + 5 +); +PREPARE depthFirstSearch65 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 10 AND id <= 12) + OR id = 8', + 6 +); + +PREPARE depthFirstSearch66 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 10 AND id <= 12) + OR id = 8', + 10 +); + +PREPARE depthFirstSearch67 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 10 AND id <= 12) + OR id = 8', + 11 +); + +SELECT set_eq('depthFirstSearch64', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 2, 5, 11, 11, 1, 2), + (4, 1, 5, 10, 10, 1, 1) + $$, + '64: 4 vertices tests (directed)' +); + +SELECT set_eq('depthFirstSearch65', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 5, 8, 1, 1), + (3, 2, 6, 10, 10, 1, 2), + (4, 3, 6, 11, 12, 1, 3) + $$, + '65: 4 vertices tests (directed)' +); + +SELECT set_eq('depthFirstSearch66', + $$VALUES + (1, 0, 10, 10, -1, 0, 0), + (2, 1, 10, 5, 10, 1, 1), + (3, 2, 10, 6, 8, 1, 2), + (4, 3, 10, 11, 11, 1, 3) + $$, + '66: 4 vertices tests (directed)' +); + +SELECT set_eq('depthFirstSearch67', + $$VALUES + (1, 0, 11, 11, -1, 0, 0) + $$, + '67: 4 vertices tests (directed)' +); SELECT todo_end(); From 10a0b269b0761b093ef80d303a8ca4ccf4ef2f58 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 17:47:48 +0530 Subject: [PATCH 0099/1360] [depthFirstSearch] Added pgTAP test for 4 vertices undirected graph --- .../depthFirstSearch-edge-cases.sql | 84 ++++++++++++++++++- 1 file changed, 83 insertions(+), 1 deletion(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 7b7c4970cc5..8e93e49f177 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(67); +SELECT plan(71); SELECT todo_start('Must add all edge cases'); @@ -806,6 +806,88 @@ SELECT set_eq('depthFirstSearch67', '67: 4 vertices tests (directed)' ); +-- 4 vertices tests (undirected) + +PREPARE depthFirstSearch68 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 10 AND id <= 12) + OR id = 8', + 5, directed => false +); + +PREPARE depthFirstSearch69 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 10 AND id <= 12) + OR id = 8', + 6, directed => false +); + +PREPARE depthFirstSearch70 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 10 AND id <= 12) + OR id = 8', + 10, directed => false +); + +PREPARE depthFirstSearch71 AS +SELECT * +FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 10 AND id <= 12) + OR id = 8', + 11, directed => false +); + +SELECT set_eq('depthFirstSearch68', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 2, 5, 11, 11, 1, 2), + (4, 3, 5, 10, 12, 1, 3) + $$, + '68: 4 vertices tests (undirected)' +); + +SELECT set_eq('depthFirstSearch69', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 5, 8, 1, 1), + (3, 2, 6, 10, 10, 1, 2), + (4, 3, 6, 11, 12, 1, 3) + $$, + '69: 4 vertices tests (undirected)' +); + +SELECT set_eq('depthFirstSearch70', + $$VALUES + (1, 0, 10, 10, -1, 0, 0), + (2, 1, 10, 5, 10, 1, 1), + (3, 2, 10, 6, 8, 1, 2), + (4, 3, 10, 11, 11, 1, 3) + $$, + '70: 4 vertices tests (undirected)' +); + +SELECT set_eq('depthFirstSearch71', + $$VALUES + (1, 0, 11, 11, -1, 0, 0), + (2, 1, 11, 6, 11, 1, 1), + (3, 2, 11, 5, 8, 1, 2), + (4, 3, 11, 10, 10, 1, 3) + $$, + '71: 4 vertices tests (undirected)' +); + SELECT todo_end(); SELECT * FROM finish(); From 9c7466409d9120ff32524ba0ba3e9e417be09f79 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 17:49:50 +0530 Subject: [PATCH 0100/1360] [depthFirstSearch] Removed todo from pgTAP tests --- .../depthFirstSearch-edge-cases.sql | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 8e93e49f177..3af31d8627e 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -2,7 +2,7 @@ SELECT plan(71); -SELECT todo_start('Must add all edge cases'); + -- 0 edge, 0 vertex tests @@ -140,6 +140,10 @@ SELECT is_empty('depthFirstSearch11', '11: Graph with 0 edge and 0 vertex -> Emp SELECT is_empty('depthFirstSearch12', '12: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('depthFirstSearch13', '13: Graph with 0 edge and 0 vertex -> Empty row is returned'); + + + + -- vertex not present in graph tests (directed) PREPARE depthFirstSearch14 AS @@ -254,6 +258,11 @@ SELECT is_empty('depthFirstSearch23', '23: Vertex not present in graph -> Empty SELECT is_empty('depthFirstSearch24', '24: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch25', '25: Vertex not present in graph -> Empty row is returned'); + + + + + -- negative depth tests PREPARE depthFirstSearch26 AS @@ -311,6 +320,10 @@ SELECT throws_ok('depthFirstSearch29', 'P0001', 'Negative value found on ''max_d SELECT throws_ok('depthFirstSearch30', 'P0001', 'Negative value found on ''max_depth''', '30: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch31', 'P0001', 'Negative value found on ''max_depth''', '31: Negative max_depth throws'); + + + + -- 1 vertex tests PREPARE q32 AS @@ -407,6 +420,10 @@ SELECT set_eq('depthFirstSearch38', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '38: One SELECT set_eq('depthFirstSearch39', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '39: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch40', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '40: One row with node 2 is returned'); + + + + -- 2 vertices tests PREPARE q41 AS @@ -543,6 +560,10 @@ SELECT set_eq('depthFirstSearch51', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3 SELECT set_eq('depthFirstSearch52', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '52: Two rows are returned'); SELECT set_eq('depthFirstSearch53', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '53: One row is returned'); + + + + -- 3 vertices tests CREATE TABLE three_vertices_table ( @@ -708,6 +729,10 @@ SELECT set_eq('depthFirstSearch62', '62: 3 vertices tests (undirected)' ); + + + + -- 4 vertices tests PREPARE q63 AS @@ -888,7 +913,6 @@ SELECT set_eq('depthFirstSearch71', '71: 4 vertices tests (undirected)' ); -SELECT todo_end(); SELECT * FROM finish(); ROLLBACK; From fe5c1d15003136eb873519c1ea037707bbdb3333 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 18:00:09 +0530 Subject: [PATCH 0101/1360] [depthFirstSearch] [lint] Removed redundant blank line at the start of code block --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index c1cac472ba3..cbd19e6d446 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -87,7 +87,6 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { V root, std::vector &visited_order, bool directed) { - using dfs_visitor = visitors::Dfs_visitor_with_root; try { From 6534c791f40e597d5f86a43a7e776af7eb661c70 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 18:04:28 +0530 Subject: [PATCH 0102/1360] [depthFirstSearch] Fixed typos --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 2 +- tools/scripts/fix_typos.sh | 0 2 files changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 tools/scripts/fix_typos.sh diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 6e890dab81c..c01edd3d7ae 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -31,7 +31,7 @@ Description Depth First Search algorithm is a well known traversal algorithm which starts from a start vertex (``start_vid``) and visits all the nodes in a graph in the depth-first search traversal order. An optional non-negative maximum depth -parameter (``max_depth``) can be specified to get the results upto a particular +parameter (``max_depth``) can be specified to get the results up to a particular depth. **The main Characteristics are:** diff --git a/tools/scripts/fix_typos.sh b/tools/scripts/fix_typos.sh old mode 100644 new mode 100755 From e58ed057324bb9cf09c1d75194bbba1613cf5ad7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 18:08:09 +0530 Subject: [PATCH 0103/1360] [depthFirstSearch] [doc] Included depthFirstSearch in the experimental functions --- doc/src/experimental.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index 481a23edfc0..5d5f9307b43 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -85,6 +85,7 @@ Experimental Functions - :doc:`pgr_binaryBreadthFirstSearch` - :doc:`pgr_breadthFirstSearch` - :doc:`pgr_dagShortestPath` +- :doc:`pgr_depthFirstSearch` - :doc:`pgr_edwardMoore` - :doc:`pgr_stoerWagner` - :doc:`pgr_topologicalSort` @@ -98,6 +99,7 @@ Experimental Functions pgr_binaryBreadthFirstSearch pgr_breadthFirstSearch pgr_dagShortestPath + pgr_depthFirstSearch pgr_edwardMoore pgr_stoerWagner pgr_topologicalSort From 8c977e2a728d64adadaf496d3bb55e9c31b90d74 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 21:22:32 +0530 Subject: [PATCH 0104/1360] [depthFirstSearch] [doxy] Added comments in hpp file for developer's documentation --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 61 ++++++++++++++++--- 1 file changed, 54 insertions(+), 7 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index cbd19e6d446..83aabba1c77 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -47,9 +47,25 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { typedef typename G::V V; typedef typename G::E E; - //! @name DepthFirstSearch - //@{ - //! DepthFirstSearch + /** @name DepthFirstSearch + * @{ + * + */ + + /** @brief depthFirstSearch function + * + * It does all the processing and returns the results. + * + * @param graph the graph containing the edges + * @param roots the starting vertices + * @param depth the maximum depth of traversal + * @param directed tells whether the graph is directed or undirected + * + * @returns results, when results are found + * + * @see depthFirstSearch_single_vertex + * @see get_results + */ std::vector depthFirstSearch( G &graph, std::vector roots, @@ -81,7 +97,23 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { //@} private: - //! Call to DepthFirstSearch + /** @brief Calls the Boost function + * + * + * Calls [boost::depth_first_search](https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/depth_first_search.html) + * and [boost::undirected_dfs](https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/undirected_dfs.html) + * for directed graphs and undirected graphs, respectively. + * + * @param graph the graph containing the edges + * @param root the starting vertex + * @param visited_order vector which will contain the edges of the resulting traversal + * @param directed tells whether the graph is directed or undirected + * + * @returns bool @b true, when results are found + * + * @see depthFirstSearch + * @see get_results + */ bool depthFirstSearch_single_vertex( G &graph, V root, @@ -117,10 +149,25 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { return true; } - // to get the results + /** @brief to get the results + * + * Uses the visited_order of vertices to get the results. + * Also makes sure to consider only those nodes whose + * depth is less than the max_depth. + * + * @param visited_order vector which contains the edges of the resulting traversal + * @param source the starting vertex + * @param max_depth the maximum depth of traversal + * @param graph the graph containing the edges + * + * @returns bool @b True, when results are found + * + * @see depthFirstSearch + * @see depthFirstSearch_single_vertex + */ template std::vector get_results( - T order, + T visited_order, int64_t source, int64_t max_depth, const G &graph) { @@ -129,7 +176,7 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { std::vector agg_cost(graph.num_vertices(), 0); std::vector depth(graph.num_vertices(), 0); - for (const auto edge : order) { + for (const auto edge : visited_order) { auto u = graph.source(edge); auto v = graph.target(edge); From 0b79f9903e48dde5f707e918887766789b086871 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 21:28:00 +0530 Subject: [PATCH 0105/1360] [depthFirstSearch] [doxy] Updated comments in hpp file --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 83aabba1c77..a333f251104 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -63,8 +63,8 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { * * @returns results, when results are found * - * @see depthFirstSearch_single_vertex - * @see get_results + * @see [boost::depth_first_search](https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/depth_first_search.html) + * @see [boost::undirected_dfs](https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/undirected_dfs.html) */ std::vector depthFirstSearch( G &graph, @@ -110,9 +110,6 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { * @param directed tells whether the graph is directed or undirected * * @returns bool @b true, when results are found - * - * @see depthFirstSearch - * @see get_results */ bool depthFirstSearch_single_vertex( G &graph, @@ -161,9 +158,6 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { * @param graph the graph containing the edges * * @returns bool @b True, when results are found - * - * @see depthFirstSearch - * @see depthFirstSearch_single_vertex */ template std::vector get_results( From 7fedc30f380993565e68de12547667af09fb3340 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 22:09:39 +0530 Subject: [PATCH 0106/1360] [depthFirstSearch] [doxy] Updated comments in the driver file --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 21 +++--- .../depthFirstSearch_driver.cpp | 68 ++++++++++++++++--- 2 files changed, 67 insertions(+), 22 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index a333f251104..7b610c75cf3 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -56,10 +56,10 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { * * It does all the processing and returns the results. * - * @param graph the graph containing the edges - * @param roots the starting vertices - * @param depth the maximum depth of traversal - * @param directed tells whether the graph is directed or undirected + * @param graph the graph containing the edges + * @param roots the starting vertices + * @param max_depth the maximum depth of traversal + * @param directed whether the graph is directed or undirected * * @returns results, when results are found * @@ -69,7 +69,7 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { std::vector depthFirstSearch( G &graph, std::vector roots, - int64_t depth, + int64_t max_depth, bool directed) { std::vector results; @@ -86,7 +86,7 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { depthFirstSearch_single_vertex(graph, v_root, visited_order, directed); // get the results - auto result = get_results(visited_order, root, depth, graph); + auto result = get_results(visited_order, root, max_depth, graph); results.insert(results.end(), result.begin(), result.end()); } } @@ -98,7 +98,6 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { private: /** @brief Calls the Boost function - * * * Calls [boost::depth_first_search](https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/depth_first_search.html) * and [boost::undirected_dfs](https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/undirected_dfs.html) @@ -107,7 +106,7 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { * @param graph the graph containing the edges * @param root the starting vertex * @param visited_order vector which will contain the edges of the resulting traversal - * @param directed tells whether the graph is directed or undirected + * @param directed whether the graph is directed or undirected * * @returns bool @b true, when results are found */ @@ -148,9 +147,9 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { /** @brief to get the results * - * Uses the visited_order of vertices to get the results. - * Also makes sure to consider only those nodes whose - * depth is less than the max_depth. + * Uses the `visited_order` of vertices to get the results. + * Selects only those nodes in the final result whose + * depth is less than the `max_depth`. * * @param visited_order vector which contains the edges of the resulting traversal * @param source the starting vertex diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index aa6ed23afd5..222c38a2240 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -38,22 +38,37 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "depthFirstSearch/pgr_depthFirstSearch.hpp" -/**********************************************************************/ -/* -pgr_depthFirstSearch( - edges_sql TEXT, - root_vids ANYARRAY, - max_depth BIGINT DEFAULT 9223372036854775807, - directed BOOLEAN DEFAULT true -); -*/ -/**********************************************************************/ +/*********************************************************************** + * + * pgr_depthFirstSearch( + * edges_sql TEXT, + * root_vids ANYARRAY, + * max_depth BIGINT DEFAULT 9223372036854775807, + * directed BOOLEAN DEFAULT true + * ); + * + ***********************************************************************/ + +/** @brief Calls the main function defined in the C++ Header file. + * + * Also sorts the starting vertices in an increasing order, + * and removes the duplicated vertices. Then calls the function + * defined in the C++ Header file - `pgr_depthFirstSearch.hpp` + * + * @param graph the graph containing the edges + * @param roots the starting vertices + * @param max_depth the maximum depth of traversal + * @param directed whether the graph is directed or undirected + * @param log stores the log message + * + * @returns results, when results are found + */ template < class G > std::vector pgr_depthFirstSearch( G &graph, - std::vector < int64_t > roots, + std::vector< int64_t > roots, int64_t max_depth, bool directed, std::string &log) { @@ -69,6 +84,29 @@ pgr_depthFirstSearch( return results; } +/** @brief Performs exception handling and converts the results to postgres. + * + * It first asserts the variables, then builds the graph using the `data_edges`, + * depending on whether the graph is directed or undirected. It also converts + * the C types to the C++ types, such as the `rootsArr` to `roots` + * vector and passes these variables to the template function `pgr_depthFirstSearch` + * which calls the main function defined in the C++ Header file. It also does + * exception handling. + * + * @param data_edges the set of edges from the SQL query + * @param total_edges the total number of edges in the SQL query + * @param rootsArr the array containing the starting vertices + * @param size_rootsArr the size of the array containing the starting vertices + * @param max_depth the maximum depth of traversal + * @param directed whether the graph is directed or undirected + * @param return_tuples the rows in the result + * @param return_count the count of rows in the result + * @param log_msg stores the log message + * @param notice_msg stores the notice message + * @param err_msg stores the error message + * + * @returns void + */ void do_pgr_depthFirstSearch( pgr_edge_t *data_edges, @@ -104,10 +142,14 @@ do_pgr_depthFirstSearch( graphType gType = directed ? DIRECTED : UNDIRECTED; std::string logstr; + if (directed) { + // If the graph is directed log << "Working with directed Graph\n"; pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); + + // calls the template function results = pgr_depthFirstSearch( digraph, roots, @@ -115,10 +157,12 @@ do_pgr_depthFirstSearch( directed, logstr); } else { + // If the graph is undirected log << "Working with Undirected Graph\n"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); + // calls the template function results = pgr_depthFirstSearch( undigraph, roots, @@ -126,8 +170,10 @@ do_pgr_depthFirstSearch( directed, logstr); } + log << logstr; + // the count of rows in the result auto count = results.size(); if (count == 0) { From 2708b5a9317a7ce30cdf4302d64fbf9d7e0ae5f6 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 22:11:12 +0530 Subject: [PATCH 0107/1360] [depthFirstSearch] [doxy] Updated comments in the driver file --- src/depthFirstSearch/depthFirstSearch_driver.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 222c38a2240..987e8bde16e 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -139,8 +139,10 @@ do_pgr_depthFirstSearch( std::vector results; + // the type of the graph (whether directed or undirected) graphType gType = directed ? DIRECTED : UNDIRECTED; + // string variable to store the log messages std::string logstr; if (directed) { @@ -176,6 +178,7 @@ do_pgr_depthFirstSearch( // the count of rows in the result auto count = results.size(); + // returns directly in case of empty rows in the results if (count == 0) { (*return_tuples) = NULL; (*return_count) = 0; From d059d671c0b6c7d0e0d094f611db43cc98406ea0 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 22:46:38 +0530 Subject: [PATCH 0108/1360] [depthFirstSearch] [doxy] Completed the comments for developer's documentation --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 9 +++ src/depthFirstSearch/depthFirstSearch.c | 78 +++++++++++++------ .../depthFirstSearch_driver.cpp | 4 + 3 files changed, 69 insertions(+), 22 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 7b610c75cf3..3f970d7aa91 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -36,6 +36,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_base_graph.hpp" #include "cpp_common/pgr_messages.h" + +/** @file pgr_depthFirstSearch.hpp + * @brief The main file which calls the respective boost function. + * + * Contains actual implementation of the function and the calling + * of the respective boost function. + */ + + namespace pgrouting { namespace functions { diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 2fa976ca626..99c58be4a37 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -26,15 +26,25 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ +/** @file depthFirstSearch.c + * @brief Connecting code with postgres. + * + */ + #include #include "c_common/postgres_connection.h" #include "utils/array.h" +/* for macro PGR_DBG */ #include "c_common/debug_macro.h" +/* for pgr_global_report */ #include "c_common/e_report.h" +/* for time_msg & clock */ #include "c_common/time_msg.h" +/* for functions to get edges informtion */ #include "c_common/edges_input.h" +/* for handling array related stuffs */ #include "c_common/arrays_input.h" #include "drivers/depthFirstSearch/depthFirstSearch_driver.h" @@ -42,7 +52,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_depthfirstsearch); - +/** @brief Static function, loads the data from postgres to C types for further processing. + * + * It first connects the C function to the SPI manager. Then converts + * the postgres array to C array and loads the edges belonging to the graph + * in C types. Then it calls the function `do_pgr_depthFirstSearch` defined + * in the `depthFirstSearch_driver.h` file for further processing. + * Finally, it frees the memory and disconnects the C function to the SPI manager. + * + * @param edges_sql the edges of the SQL query + * @param roots the starting vertices + * @param max_depth the maximum depth of traversal + * @param directed whether the graph is directed or undirected + * @param result_tuples the rows in the result + * @param result_count the count of rows in the result + * + * @returns void + */ static void process( @@ -53,10 +79,13 @@ process( pgr_mst_rt **result_tuples, size_t *result_count) { + // https://www.postgresql.org/docs/current/static/spi-spi-connect.html pgr_SPI_connect(); PGR_DBG("Initializing arrays"); size_t size_rootsArr = 0; + + // converting the postgres array to C array int64_t* rootsArr = (int64_t*) pgr_get_bigIntArray(&size_rootsArr, roots); PGR_DBG("rootsArr size %ld", size_rootsArr); @@ -68,6 +97,7 @@ process( pgr_edge_t *edges = NULL; size_t total_edges = 0; + // load the edges belonging to the graph pgr_get_edges(edges_sql, &edges, &total_edges); PGR_DBG("Total edges in query %ld", total_edges); @@ -117,6 +147,10 @@ process( /* */ /******************************************************************************/ +/** @brief Helps in converting postgres variables to C variables, and returns the result. + * + */ + PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; @@ -131,16 +165,16 @@ PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { funcctx = SRF_FIRSTCALL_INIT(); oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - /* - pgr_depthFirstSearch( - edges_sql TEXT, - root_vids ANYARRAY, - max_depth BIGINT DEFAULT 9223372036854775807, - directed BOOLEAN DEFAULT true - ); - */ - /**********************************************************************/ + /*********************************************************************** + * + * pgr_depthFirstSearch( + * edges_sql TEXT, + * root_vids ANYARRAY, + * max_depth BIGINT DEFAULT 9223372036854775807, + * directed BOOLEAN DEFAULT true + * ); + * + **********************************************************************/ PGR_DBG("Calling process"); process( @@ -182,17 +216,17 @@ PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { Datum *values; bool* nulls; - /**********************************************************************/ - /* - OUT seq BIGINT, - OUT depth BIGINT, - OUT start_vid BIGINT, - OUT node BIGINT, - OUT edge BIGINT, - OUT cost FLOAT, - OUT agg_cost FLOAT - */ - /**********************************************************************/ + /*********************************************************************** + * + * OUT seq BIGINT, + * OUT depth BIGINT, + * OUT start_vid BIGINT, + * OUT node BIGINT, + * OUT edge BIGINT, + * OUT cost FLOAT, + * OUT agg_cost FLOAT + * + **********************************************************************/ size_t num = 7; values = palloc(num * sizeof(Datum)); diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 987e8bde16e..052e3d92fc9 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -37,6 +37,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "depthFirstSearch/pgr_depthFirstSearch.hpp" +/** @file depthFirstSearch_driver.cpp + * @brief Handles actual calling of function in the `pgr_depthFirstSearch.hpp` file. + * + */ /*********************************************************************** * From be0514b6d7d2f3bb57427b6c8286026f3f159b36 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 12 Jun 2020 22:48:03 +0530 Subject: [PATCH 0109/1360] [depthFirstSearch] [fix] Fixed typo --- src/depthFirstSearch/depthFirstSearch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 99c58be4a37..515f6c2848f 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -42,7 +42,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /* for time_msg & clock */ #include "c_common/time_msg.h" -/* for functions to get edges informtion */ +/* for functions to get edges information */ #include "c_common/edges_input.h" /* for handling array related stuffs */ #include "c_common/arrays_input.h" From 93b1371d2dcd29b48fa951fbdbe5ff8fe8710a91 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 13 Jun 2020 09:26:33 +0530 Subject: [PATCH 0110/1360] [depthFirstSearch] Fixed spaces --- src/depthFirstSearch/depthFirstSearch_driver.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 052e3d92fc9..00a81b646a2 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -68,11 +68,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * @returns results, when results are found */ -template < class G > +template std::vector pgr_depthFirstSearch( G &graph, - std::vector< int64_t > roots, + std::vector roots, int64_t max_depth, bool directed, std::string &log) { @@ -81,7 +81,7 @@ pgr_depthFirstSearch( std::unique(roots.begin(), roots.end()), roots.end()); - pgrouting::functions::Pgr_depthFirstSearch< G > fn_depthFirstSearch; + pgrouting::functions::Pgr_depthFirstSearch fn_depthFirstSearch; auto results = fn_depthFirstSearch.depthFirstSearch( graph, roots, max_depth, directed); log += fn_depthFirstSearch.get_log(); From cd6c8d4d3dfc135439bf999853f695c36d75d542 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 16 Jun 2020 18:13:20 +0530 Subject: [PATCH 0111/1360] [sequentialVertexColoring] Added all the files using the template --- .../doc-pgr_sequentialVertexColoring.queries | 32 ++ .../pgr_sequentialVertexColoring.rst | 138 ++++++++ .../sequentialVertexColoring_driver.h | 65 ++++ ...uentialVertexColoring-compare-dijkstra.sql | 73 +++++ .../sequentialVertexColoring-innerQuery.sql | 21 ++ .../sequentialVertexColoring-typesCheck.sql | 15 + sql/graphColoring/CMakeLists.txt | 13 + .../sequentialVertexColoring.sql | 39 +++ src/graphColoring/src/CMakeLists.txt | 4 + .../src/sequentialVertexColoring.c | 299 ++++++++++++++++++ .../src/sequentialVertexColoring_driver.cpp | 151 +++++++++ 11 files changed, 850 insertions(+) create mode 100644 doc/graphColoring/doc-pgr_sequentialVertexColoring.queries create mode 100644 doc/graphColoring/pgr_sequentialVertexColoring.rst create mode 100644 include/drivers/graphColoring/sequentialVertexColoring_driver.h create mode 100644 pgtap/graphColoring/sequentialVertexColoring-compare-dijkstra.sql create mode 100644 pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql create mode 100644 pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql create mode 100644 sql/graphColoring/CMakeLists.txt create mode 100644 sql/graphColoring/sequentialVertexColoring.sql create mode 100644 src/graphColoring/src/CMakeLists.txt create mode 100644 src/graphColoring/src/sequentialVertexColoring.c create mode 100644 src/graphColoring/src/sequentialVertexColoring_driver.cpp diff --git a/doc/graphColoring/doc-pgr_sequentialVertexColoring.queries b/doc/graphColoring/doc-pgr_sequentialVertexColoring.queries new file mode 100644 index 00000000000..53b915d6b2c --- /dev/null +++ b/doc/graphColoring/doc-pgr_sequentialVertexColoring.queries @@ -0,0 +1,32 @@ +BEGIN; +BEGIN +-- q1 +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 2, 3 +); + seq | path_seq | node | edge | cost | agg_cost +-----+----------+------+------+------+---------- + 1 | 1 | 2 | 4 | 1 | 0 + 2 | 2 | 5 | 8 | 1 | 1 + 3 | 3 | 6 | 9 | 1 | 2 + 4 | 4 | 9 | 16 | 1 | 3 + 5 | 5 | 4 | 3 | 1 | 4 + 6 | 6 | 3 | -1 | 0 | 5 +(6 rows) + +-- q2 +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 2, 3, + FALSE +); + seq | path_seq | node | edge | cost | agg_cost +-----+----------+------+------+------+---------- + 1 | 1 | 2 | 2 | 1 | 0 + 2 | 2 | 3 | -1 | 0 | 1 +(2 rows) + +-- q3 +ROLLBACK; +ROLLBACK diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst new file mode 100644 index 00000000000..dcda981c190 --- /dev/null +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -0,0 +1,138 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +pgr_sequentialVertexColoring +=============================================================================== + +``pgr_sequentialVertexColoring`` — Returns the shortest path(s) using Dijkstra algorithm. +In particular, the Dijkstra algorithm implemented by Boost.Graph. + +.. figure:: images/boost-inside.jpeg + :target: http://www.boost.org/libs/graph/doc/dijkstra_shortest_paths.html + + Boost Graph Inside + +Description +------------------------------------------------------------------------------- + +Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra in 1956. +It is a graph search algorithm that solves the shortest path problem for +a graph with non-negative edge path costs, producing a shortest path from +a starting vertex (``start_vid``) to an ending vertex (``end_vid``). +This implementation can be used with a directed graph and an undirected graph. + +The main Characteristics are: + - Process is done only on edges with positive costs. + - Values are returned when there is a path. + + - When the starting vertex and ending vertex are the same, there is no path. + + - The `agg_cost` the non included values `(v, v)` is `0` + + - When the starting vertex and ending vertex are the different and there is no path: + + - The `agg_cost` the non included values `(u, v)` is :math:`\infty` + + - For optimization purposes, any duplicated value in the `start_vids` or `end_vids` are ignored. + + - The returned values are ordered: + + - `start_vid` ascending + - `end_vid` ascending + + - Running time: :math:`O(| start\_vids | * (V \log V + E))` + +Signatures +------------------------------------------------------------------------------ + +..rubric:: Summary + +.. code-block:: none + + pgr_dijkstra(edges_sql, start_vid, end_vid) + + RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) + OR EMPTY SET + +..rubric:: Minimal signature + +.. code-block:: none + + pgr_sequentialVertexColoring(edges_sql, start_vid, end_vid) + RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) or EMPTY SET + +The minimal signature is for a **directed** graph from one ``start_vid`` to one ``end_vid``: + +:Example: + +.. literalinclude:: doc-pgr_sequentialVertexColoring.queries + :start-after: -- q1 + :end-before: -- q2 + +.. index:: + single: sequentialVertexColoring(Complete signature) + +..rubric:: Complete Signature + +.. code-block:: none + + pgr_sequentialVertexColoring(edges_sql, start_vid, end_vid, directed); + RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) or EMPTY SET + +This signature finds the shortest path from one ``start_vid`` to one ``end_vid``: + - on a **directed** graph when ``directed`` flag is missing or is set to ``true``. + - on an **undirected** graph when ``directed`` flag is set to ``false``. + +:Example: + +.. literalinclude:: doc-pgr_sequentialVertexColoring.queries + :start-after: -- q2 + :end-before: -- q3 + +Parameters +------------------------------------------------------------------------------- + +.. include:: pgr_dijkstra.rst + :start-after: pgr_dijkstra_parameters_start + :end-before: pgr_dijkstra_parameters_end + +Inner query +------------------------------------------------------------------------------- + +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end + +Result Columns +------------------------------------------------------------------------------- + +.. include:: pgRouting-concepts.rst + :start-after: return_path_start + :end-before: return_path_end + +Aditional Examples +------------------------------------------------------------------------------- + +:Example: + +.. literalinclude:: doc-pgr_sequentialVertexColoring.queries + :start-after: -- q2 + :end-before: -- q3 + +See Also +------------------------------------------------------------------------------- + +* http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm +* The queries use the :ref:`sampledata` network. + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` + diff --git a/include/drivers/graphColoring/sequentialVertexColoring_driver.h b/include/drivers/graphColoring/sequentialVertexColoring_driver.h new file mode 100644 index 00000000000..8f2a85841da --- /dev/null +++ b/include/drivers/graphColoring/sequentialVertexColoring_driver.h @@ -0,0 +1,65 @@ +/*PGR-GNU***************************************************************** +File: sequentialVertexColoring_driver.h + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2015 Celia Virginia Vergara Castillo +Mail: vicky_vergara@hotmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_DRIVERS_sequentialvertexcoloring_sequentialvertexcoloring_DRIVER_H_ +#define INCLUDE_DRIVERS_sequentialvertexcoloring_sequentialvertexcoloring_DRIVER_H_ +#pragma once + +#include "c_types/pgr_edge_t.h" +#include "c_types/general_path_element_t.h" + +#ifdef __cplusplus +extern "C" { +#endif + + /********************************************************* + TEXT, + ********************************************************/ + + + void + do_pgr_sequentialVertexColoring( + pgr_edge_t *data_edges, + size_t total_edges, + int64_t start_vid, + int64_t end_vid, + bool directed, + bool only_cost, + General_path_element_t **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg); + + +#ifdef __cplusplus +} +#endif + +#endif // INCLUDE_DRIVERS_sequentialvertexcoloring_sequentialvertexcoloring_DRIVER_H_ diff --git a/pgtap/graphColoring/sequentialVertexColoring-compare-dijkstra.sql b/pgtap/graphColoring/sequentialVertexColoring-compare-dijkstra.sql new file mode 100644 index 00000000000..60a60870f4a --- /dev/null +++ b/pgtap/graphColoring/sequentialVertexColoring-compare-dijkstra.sql @@ -0,0 +1,73 @@ +\i setup.sql + +SELECT plan(1156); + +SET client_min_messages TO ERROR; + +UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; + +CREATE or REPLACE FUNCTION sequentialvertexcoloring_compare_dijkstra(cant INTEGER default 17) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +inner_sql TEXT; +dijkstra_sql TEXT; +sequentialvertexcoloring_sql TEXT; +BEGIN + + FOR i IN 1.. cant LOOP + FOR j IN 1.. cant LOOP + + -- DIRECTED + inner_sql := 'SELECT id, source, target, cost, reverse_cost FROM edge_table'; + dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j + || ', true)'; + + sequentialvertexcoloring_sql := 'SELECT * FROM pgr_sequentialvertexcoloring($$' || inner_sql || '$$, ' || i || ', ' || j + || ', true)'; + RETURN query SELECT set_eq(sequentialvertexcoloring_sql, dijkstra_sql, sequentialvertexcoloring_sql); + + + inner_sql := 'SELECT id, source, target, cost FROM edge_table'; + dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j + || ', true)'; + + sequentialvertexcoloring_sql := 'SELECT * FROM pgr_sequentialvertexcoloring($$' || inner_sql || '$$, ' || i || ', ' || j + || ', true)'; + RETURN query SELECT set_eq(sequentialvertexcoloring_sql, dijkstra_sql, sequentialvertexcoloring_sql); + + + + -- UNDIRECTED + inner_sql := 'SELECT id, source, target, cost, reverse_cost FROM edge_table'; + dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j + || ', false)'; + + sequentialvertexcoloring_sql := 'SELECT * FROM pgr_sequentialvertexcoloring($$' || inner_sql || '$$, ' || i || ', ' || j + || ', false)'; + RETURN query SELECT set_eq(sequentialvertexcoloring_sql, dijkstra_sql, sequentialvertexcoloring_sql); + + + inner_sql := 'SELECT id, source, target, cost FROM edge_table'; + dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j + || ', false)'; + + sequentialvertexcoloring_sql := 'SELECT * FROM pgr_sequentialvertexcoloring($$' || inner_sql || '$$, ' || i || ', ' || j + || ', false)'; + RETURN query SELECT set_eq(sequentialvertexcoloring_sql, dijkstra_sql, sequentialvertexcoloring_sql); + + + END LOOP; + END LOOP; + + RETURN; +END +$BODY$ +language plpgsql; + +SELECT * from sequentialvertexcoloring_compare_dijkstra(); + + +SELECT * FROM finish(); +ROLLBACK; + diff --git a/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql b/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql new file mode 100644 index 00000000000..216d5b51c0e --- /dev/null +++ b/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql @@ -0,0 +1,21 @@ +\i setup.sql + +SELECT plan(137); +SET client_min_messages TO ERROR; + + +SELECT has_function('pgr_sequentialvertexcoloring', + ARRAY['text', 'bigint', 'bigint', 'boolean','boolean']); + +SELECT function_returns('pgr_sequentialvertexcoloring', + ARRAY['text', 'bigint', 'bigint', 'boolean','boolean'], + 'setof record'); + +SELECT style_dijkstra('pgr_sequentialvertexcoloring', ', 2, 3)'); +SELECT style_dijkstra('pgr_sequentialvertexcoloring', ', 2, 3, true)'); +SELECT style_dijkstra('pgr_sequentialvertexcoloring', ', 2, 3, false)'); + + + +SELECT finish(); +ROLLBACK; diff --git a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql new file mode 100644 index 00000000000..023dde8753f --- /dev/null +++ b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql @@ -0,0 +1,15 @@ + +SELECT plan(4); + +SELECT has_function('pgr_sequentialvertexcoloring'); + +SELECT has_function('pgr_sequentialvertexcoloring', ARRAY[ 'text', 'bigint', 'bigint', 'boolean', 'boolean' ]); + +SELECT function_returns('pgr_sequentialvertexcoloring', ARRAY[ 'text', 'bigint', 'bigint', 'boolean', 'boolean' ], 'setof record'); + +-- testing column names +SELECT bag_has( + $$SELECT proargnames from pg_proc where proname = 'pgr_sequentialvertexcoloring'$$, + $$SELECT '{"","","","directed","only_cost","seq","path_seq","node","edge","cost","agg_cost"}'::TEXT[] $$ +); + diff --git a/sql/graphColoring/CMakeLists.txt b/sql/graphColoring/CMakeLists.txt new file mode 100644 index 00000000000..33a4125c676 --- /dev/null +++ b/sql/graphColoring/CMakeLists.txt @@ -0,0 +1,13 @@ + +SET(LOCAL_FILES + sequentialVertexColoring.sql + ) + +# Do not modify bellow this line + +foreach (f ${LOCAL_FILES}) + configure_file(${f} ${f}) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) +endforeach() + +set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/graphColoring/sequentialVertexColoring.sql b/sql/graphColoring/sequentialVertexColoring.sql new file mode 100644 index 00000000000..65e89e57b4e --- /dev/null +++ b/sql/graphColoring/sequentialVertexColoring.sql @@ -0,0 +1,39 @@ +/*PGR-GNU***************************************************************** +File: sequentialVertexColoring.sql + +Generated with Template by: +Copyright (c) 2016 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +CREATE OR REPLACE FUNCTION pgr_sequentialVertexColoring( + TEXT, + OUT seq BIGINT, + OUT node BIGINT, + OUT color BIGINT) + +RETURNS SETOF RECORD AS +'MODULE_PATHNAME', 'sequentialVertexColoring' +LANGUAGE c IMMUTABLE STRICT; + diff --git a/src/graphColoring/src/CMakeLists.txt b/src/graphColoring/src/CMakeLists.txt new file mode 100644 index 00000000000..d4b41485207 --- /dev/null +++ b/src/graphColoring/src/CMakeLists.txt @@ -0,0 +1,4 @@ +ADD_LIBRARY(sequentialVertexColoring OBJECT + sequentialVertexColoring.c + sequentialVertexColoring_driver.cpp + ) diff --git a/src/graphColoring/src/sequentialVertexColoring.c b/src/graphColoring/src/sequentialVertexColoring.c new file mode 100644 index 00000000000..bec55ba3dde --- /dev/null +++ b/src/graphColoring/src/sequentialVertexColoring.c @@ -0,0 +1,299 @@ +/*PGR-GNU***************************************************************** +File: sequentialVertexColoring.c + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438.com + + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +/** @file sequentialVertexColoring.c + * @brief Conecting code with postgres. + * + * This file is fully documented for understanding + * how the postgres connectinon works + * + * TODO Remove unnecessary comments before submiting the function. + * some comments are in form of PGR_DBG message + */ + +/** + * postgres_connection.h + * + * - should allways be first in the C code + */ +#include "c_common/postgres_connection.h" + + +/* for macro PGR_DBG */ +#include "c_common/debug_macro.h" +/* for pgr_global_report */ +#include "c_common/e_report.h" +/* for time_msg & clock */ +#include "c_common/time_msg.h" +/* for functions to get edges informtion */ +#include "c_common/edges_input.h" + +#include "drivers/sequentialVertexColoring/sequentialVertexColoring_driver.h" // the link to the C++ code of the function + +PGDLLEXPORT Datum sequentialVertexColoring(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(sequentialVertexColoring); + + +/******************************************************************************/ +/* MODIFY AS NEEDED */ +static +void +process( + char* edges_sql, + int64_t start_vid, + int64_t end_vid, +#if 0 + /* + * handling arrays example + */ + ArrayType *starts, + ArrayType *ends, +#endif + bool directed, + bool only_cost, + General_path_element_t **result_tuples, + size_t *result_count) { + /* + * https://www.postgresql.org/docs/current/static/spi-spi-connect.html + */ + pgr_SPI_connect(); + + +#if 0 + /* + * handling arrays example + */ + + PGR_DBG("Initializing arrays"); + int64_t* start_vidsArr = NULL; + size_t size_start_vidsArr = 0; + start_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_start_vidsArr, starts); + PGR_DBG("start_vidsArr size %ld ", size_start_vidsArr); + + int64_t* end_vidsArr = NULL; + size_t size_end_vidsArr = 0; + end_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_end_vidsArr, ends); + PGR_DBG("end_vidsArr size %ld ", size_end_vidsArr); +#endif + + (*result_tuples) = NULL; + (*result_count) = 0; + + PGR_DBG("Load data"); + pgr_edge_t *edges = NULL; + size_t total_edges = 0; + + if (start_vid == end_vid) { + /* + * https://www.postgresql.org/docs/current/static/spi-spi-finish.html + */ + pgr_SPI_finish(); + return; + } + + pgr_get_edges(edges_sql, &edges, &total_edges); + PGR_DBG("Total %ld edges in query:", total_edges); + + if (total_edges == 0) { + PGR_DBG("No edges found"); + pgr_SPI_finish(); + return; + } + + PGR_DBG("Starting processing"); + clock_t start_t = clock(); + char *log_msg = NULL; + char *notice_msg = NULL; + char *err_msg = NULL; + do_pgr_sequentialVertexColoring( + edges, + total_edges, + start_vid, + end_vid, +#if 0 + /* + * handling arrays example + */ + + start_vidsArr, size_start_vidsArr, + end_vidsArr, size_end_vidsArr, +#endif + + directed, + only_cost, + result_tuples, + result_count, + &log_msg, + ¬ice_msg, + &err_msg); + + time_msg(" processing pgr_sequentialVertexColoring", start_t, clock()); + PGR_DBG("Returning %ld tuples", *result_count); + + if (err_msg) { + if (*result_tuples) pfree(*result_tuples); + } + pgr_global_report(log_msg, notice_msg, err_msg); + + if (edges) pfree(edges); + if (log_msg) pfree(log_msg); + if (notice_msg) pfree(notice_msg); + if (err_msg) pfree(err_msg); +#if 0 + /* + * handling arrays example + */ + + if (end_vidsArr) pfree(end_vidsArr); + if (start_vidsArr) pfree(start_vidsArr); +#endif + + pgr_SPI_finish(); +} +/* */ +/******************************************************************************/ + +PGDLLEXPORT Datum sequentialVertexColoring(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; + + /**************************************************************************/ + /* MODIFY AS NEEDED */ + /* */ + General_path_element_t *result_tuples = NULL; + size_t result_count = 0; + /* */ + /**************************************************************************/ + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + + + /**********************************************************************/ + /* MODIFY AS NEEDED */ + /* + TEXT, + **********************************************************************/ + + + PGR_DBG("Calling process"); + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + PG_GETARG_INT64(1), + PG_GETARG_INT64(2), +#if 0 + /* + * handling arrays example + */ + + PG_GETARG_ARRAYTYPE_P(1), + PG_GETARG_ARRAYTYPE_P(2), +#endif + PG_GETARG_BOOL(3), + PG_GETARG_BOOL(4), + &result_tuples, + &result_count); + + + /* */ + /**********************************************************************/ + +#if PGSQL_VERSION > 94 + funcctx->max_calls = result_count; +#else + funcctx->max_calls = (uint32_t)result_count; +#endif + funcctx->user_fctx = result_tuples; + if (get_call_result_type(fcinfo, NULL, &tuple_desc) + != TYPEFUNC_COMPOSITE) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + } + + funcctx->tuple_desc = tuple_desc; + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (General_path_element_t*) funcctx->user_fctx; + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; + Datum result; + Datum *values; + bool* nulls; + + /**********************************************************************/ + /* MODIFY AS NEEDED */ + /* + OUT seq BIGINT, + OUT node BIGINT, + OUT color BIGINT + ***********************************************************************/ + + values = palloc(6 * sizeof(Datum)); + nulls = palloc(6 * sizeof(bool)); + + + size_t i; + for (i = 0; i < 6; ++i) { + nulls[i] = false; + } + + // postgres starts counting from 1 + values[0] = Int32GetDatum(funcctx->call_cntr + 1); + values[1] = Int32GetDatum(result_tuples[funcctx->call_cntr].seq); + values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); + values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); + values[4] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); + values[5] = Float8GetDatum(result_tuples[funcctx->call_cntr].agg_cost); + /**********************************************************************/ + + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + SRF_RETURN_NEXT(funcctx, result); + } else { + /**********************************************************************/ + /* MODIFY AS NEEDED */ + + PGR_DBG("Clean up code"); + + /**********************************************************************/ + + SRF_RETURN_DONE(funcctx); + } +} diff --git a/src/graphColoring/src/sequentialVertexColoring_driver.cpp b/src/graphColoring/src/sequentialVertexColoring_driver.cpp new file mode 100644 index 00000000000..5a5b2948726 --- /dev/null +++ b/src/graphColoring/src/sequentialVertexColoring_driver.cpp @@ -0,0 +1,151 @@ +/*PGR-GNU***************************************************************** +File: sequentialVertexColoring_driver.cpp + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#include "drivers/sequentialVertexColoring/sequentialVertexColoring_driver.h" + +#include +#include +#include + +#include "dijkstra/pgr_dijkstra.hpp" + +#include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/pgr_assert.h" + + + + + +/************************************************************ + TEXT, + ***********************************************************/ + +template < class G > +static +Path +pgr_sequentialVertexColoring( + G &graph, + int64_t source, + int64_t target, + bool only_cost = false) { + Path path; + Pgr_dijkstra< G > fn_dijkstra; + return fn_dijkstra.dijkstra(graph, source, target, only_cost); +} + + +void +do_pgr_sequentialVertexColoring( + pgr_edge_t *data_edges, + size_t total_edges, + int64_t start_vid, + int64_t end_vid, + bool directed, + bool only_cost, + General_path_element_t **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg) { + std::ostringstream log; + std::ostringstream err; + std::ostringstream notice; + try { + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + pgassert(total_edges != 0); + + graphType gType = directed? DIRECTED: UNDIRECTED; + + Path path; + + if (directed) { + log << "Working with directed Graph\n"; + pgrouting::DirectedGraph digraph(gType); + digraph.insert_edges(data_edges, total_edges); + path = pgr_sequentialVertexColoring(digraph, + start_vid, + end_vid, + only_cost); + } else { + log << "Working with Undirected Graph\n"; + pgrouting::UndirectedGraph undigraph(gType); + undigraph.insert_edges(data_edges, total_edges); + path = pgr_sequentialVertexColoring( + undigraph, + start_vid, + end_vid, + only_cost); + } + + auto count = path.size(); + + if (count == 0) { + (*return_tuples) = NULL; + (*return_count) = 0; + notice << + "No paths found between start_vid and end_vid vertices"; + return; + } + + (*return_tuples) = pgr_alloc(count, (*return_tuples)); + size_t sequence = 0; + path.generate_postgres_data(return_tuples, sequence); + (*return_count) = sequence; + + pgassert(*err_msg == NULL); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } +} From 4be17af53e2b734135ec3fe3abfcc55e93b68391 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 16 Jun 2020 18:17:59 +0530 Subject: [PATCH 0112/1360] [sequentialVertexColoring] Moved the files in src --- src/graphColoring/{src => }/CMakeLists.txt | 0 src/graphColoring/{src => }/sequentialVertexColoring.c | 0 src/graphColoring/{src => }/sequentialVertexColoring_driver.cpp | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename src/graphColoring/{src => }/CMakeLists.txt (100%) rename src/graphColoring/{src => }/sequentialVertexColoring.c (100%) rename src/graphColoring/{src => }/sequentialVertexColoring_driver.cpp (100%) diff --git a/src/graphColoring/src/CMakeLists.txt b/src/graphColoring/CMakeLists.txt similarity index 100% rename from src/graphColoring/src/CMakeLists.txt rename to src/graphColoring/CMakeLists.txt diff --git a/src/graphColoring/src/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c similarity index 100% rename from src/graphColoring/src/sequentialVertexColoring.c rename to src/graphColoring/sequentialVertexColoring.c diff --git a/src/graphColoring/src/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp similarity index 100% rename from src/graphColoring/src/sequentialVertexColoring_driver.cpp rename to src/graphColoring/sequentialVertexColoring_driver.cpp From c42ea4e951287570f849fa31fc9808904fcc589a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 16 Jun 2020 18:19:29 +0530 Subject: [PATCH 0113/1360] [sequentialVertexColoring] Changed developer name in template comments --- .../drivers/graphColoring/sequentialVertexColoring_driver.h | 6 +++--- sql/graphColoring/CMakeLists.txt | 2 +- sql/graphColoring/sequentialVertexColoring.sql | 2 +- src/graphColoring/sequentialVertexColoring.c | 2 +- src/graphColoring/sequentialVertexColoring_driver.cpp | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/drivers/graphColoring/sequentialVertexColoring_driver.h b/include/drivers/graphColoring/sequentialVertexColoring_driver.h index 8f2a85841da..cf2d4ea1239 100644 --- a/include/drivers/graphColoring/sequentialVertexColoring_driver.h +++ b/include/drivers/graphColoring/sequentialVertexColoring_driver.h @@ -2,12 +2,12 @@ File: sequentialVertexColoring_driver.h Generated with Template by: -Copyright (c) 2015 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2015 Celia Virginia Vergara Castillo -Mail: vicky_vergara@hotmail.com +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438@gmail.com ------ diff --git a/sql/graphColoring/CMakeLists.txt b/sql/graphColoring/CMakeLists.txt index 33a4125c676..cf4b2076056 100644 --- a/sql/graphColoring/CMakeLists.txt +++ b/sql/graphColoring/CMakeLists.txt @@ -3,7 +3,7 @@ SET(LOCAL_FILES sequentialVertexColoring.sql ) -# Do not modify bellow this line +# Do not modify below this line foreach (f ${LOCAL_FILES}) configure_file(${f} ${f}) diff --git a/sql/graphColoring/sequentialVertexColoring.sql b/sql/graphColoring/sequentialVertexColoring.sql index 65e89e57b4e..750cd183537 100644 --- a/sql/graphColoring/sequentialVertexColoring.sql +++ b/sql/graphColoring/sequentialVertexColoring.sql @@ -2,7 +2,7 @@ File: sequentialVertexColoring.sql Generated with Template by: -Copyright (c) 2016 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index bec55ba3dde..0e5bc28afbf 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -2,7 +2,7 @@ File: sequentialVertexColoring.c Generated with Template by: -Copyright (c) 2015 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index 5a5b2948726..e92738eb55a 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -2,7 +2,7 @@ File: sequentialVertexColoring_driver.cpp Generated with Template by: -Copyright (c) 2015 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: From cc66b008dbbecf1dd761e79bb4f5adc4c84ac9bf Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 16 Jun 2020 18:21:28 +0530 Subject: [PATCH 0114/1360] [sequentialVertexColoring] Minor changes in these files --- src/graphColoring/sequentialVertexColoring.c | 2 +- src/graphColoring/sequentialVertexColoring_driver.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index 0e5bc28afbf..a180b2a33fe 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -41,7 +41,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /** * postgres_connection.h * - * - should allways be first in the C code + * - should always be first in the C code */ #include "c_common/postgres_connection.h" diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index e92738eb55a..bede6bfda6a 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -27,7 +27,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "drivers/sequentialVertexColoring/sequentialVertexColoring_driver.h" +#include "drivers/graphColoring/sequentialVertexColoring_driver.h" #include #include From 116c9b8a1b7574347b50b8ec921a31d073151c94 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 16 Jun 2020 18:22:06 +0530 Subject: [PATCH 0115/1360] [sequentialVertexColoring] Deleted pgtap dijkstra-compare file --- ...uentialVertexColoring-compare-dijkstra.sql | 73 ------------------- 1 file changed, 73 deletions(-) delete mode 100644 pgtap/graphColoring/sequentialVertexColoring-compare-dijkstra.sql diff --git a/pgtap/graphColoring/sequentialVertexColoring-compare-dijkstra.sql b/pgtap/graphColoring/sequentialVertexColoring-compare-dijkstra.sql deleted file mode 100644 index 60a60870f4a..00000000000 --- a/pgtap/graphColoring/sequentialVertexColoring-compare-dijkstra.sql +++ /dev/null @@ -1,73 +0,0 @@ -\i setup.sql - -SELECT plan(1156); - -SET client_min_messages TO ERROR; - -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; - -CREATE or REPLACE FUNCTION sequentialvertexcoloring_compare_dijkstra(cant INTEGER default 17) -RETURNS SETOF TEXT AS -$BODY$ -DECLARE -inner_sql TEXT; -dijkstra_sql TEXT; -sequentialvertexcoloring_sql TEXT; -BEGIN - - FOR i IN 1.. cant LOOP - FOR j IN 1.. cant LOOP - - -- DIRECTED - inner_sql := 'SELECT id, source, target, cost, reverse_cost FROM edge_table'; - dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j - || ', true)'; - - sequentialvertexcoloring_sql := 'SELECT * FROM pgr_sequentialvertexcoloring($$' || inner_sql || '$$, ' || i || ', ' || j - || ', true)'; - RETURN query SELECT set_eq(sequentialvertexcoloring_sql, dijkstra_sql, sequentialvertexcoloring_sql); - - - inner_sql := 'SELECT id, source, target, cost FROM edge_table'; - dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j - || ', true)'; - - sequentialvertexcoloring_sql := 'SELECT * FROM pgr_sequentialvertexcoloring($$' || inner_sql || '$$, ' || i || ', ' || j - || ', true)'; - RETURN query SELECT set_eq(sequentialvertexcoloring_sql, dijkstra_sql, sequentialvertexcoloring_sql); - - - - -- UNDIRECTED - inner_sql := 'SELECT id, source, target, cost, reverse_cost FROM edge_table'; - dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j - || ', false)'; - - sequentialvertexcoloring_sql := 'SELECT * FROM pgr_sequentialvertexcoloring($$' || inner_sql || '$$, ' || i || ', ' || j - || ', false)'; - RETURN query SELECT set_eq(sequentialvertexcoloring_sql, dijkstra_sql, sequentialvertexcoloring_sql); - - - inner_sql := 'SELECT id, source, target, cost FROM edge_table'; - dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j - || ', false)'; - - sequentialvertexcoloring_sql := 'SELECT * FROM pgr_sequentialvertexcoloring($$' || inner_sql || '$$, ' || i || ', ' || j - || ', false)'; - RETURN query SELECT set_eq(sequentialvertexcoloring_sql, dijkstra_sql, sequentialvertexcoloring_sql); - - - END LOOP; - END LOOP; - - RETURN; -END -$BODY$ -language plpgsql; - -SELECT * from sequentialvertexcoloring_compare_dijkstra(); - - -SELECT * FROM finish(); -ROLLBACK; - From 31bb6490d4b1a7db9a6643d38d8ce5afbe556d48 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 00:32:08 +0530 Subject: [PATCH 0116/1360] [sequentialVertexColoring] Added graphColoring in configuration file --- configuration.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/configuration.conf b/configuration.conf index bfceb2044fe..4c95f04a240 100644 --- a/configuration.conf +++ b/configuration.conf @@ -41,6 +41,7 @@ topologicalSort | Y | Y | Y transitiveClosure | Y | Y | Y breadthFirstSearch | Y | Y | Y depthFirstSearch | Y | Y | Y +graphColoring | Y | Y | N #---------------------- # SQL only directories #---------------------- From e9feec1f62696b589b0f53f155f875a5f4a90c66 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 00:32:40 +0530 Subject: [PATCH 0117/1360] [sequentialVertexColoring] Modified sql files --- sql/graphColoring/CMakeLists.txt | 1 + .../_sequentialVertexColoring.sql | 49 +++++++++++++++++++ .../sequentialVertexColoring.sql | 10 +++- 3 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 sql/graphColoring/_sequentialVertexColoring.sql diff --git a/sql/graphColoring/CMakeLists.txt b/sql/graphColoring/CMakeLists.txt index cf4b2076056..01fc864dbeb 100644 --- a/sql/graphColoring/CMakeLists.txt +++ b/sql/graphColoring/CMakeLists.txt @@ -1,5 +1,6 @@ SET(LOCAL_FILES + _sequentialVertexColoring.sql sequentialVertexColoring.sql ) diff --git a/sql/graphColoring/_sequentialVertexColoring.sql b/sql/graphColoring/_sequentialVertexColoring.sql new file mode 100644 index 00000000000..e734654a849 --- /dev/null +++ b/sql/graphColoring/_sequentialVertexColoring.sql @@ -0,0 +1,49 @@ +/*PGR-GNU***************************************************************** +File: sequentialVertexColoring.sql + +Generated with Template by: +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +---------------------------------- +-- _pgr_sequentialVertexColoring +---------------------------------- + + +CREATE OR REPLACE FUNCTION _pgr_sequentialVertexColoring( + edges_sql TEXT, + + OUT seq BIGINT, + OUT node BIGINT, + OUT color BIGINT) + +RETURNS SETOF RECORD AS +'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + +-- COMMENTS + +COMMENT ON FUNCTION _pgr_sequentialVertexColoring(TEXT) +IS 'pgRouting internal function'; diff --git a/sql/graphColoring/sequentialVertexColoring.sql b/sql/graphColoring/sequentialVertexColoring.sql index 750cd183537..0018d40be65 100644 --- a/sql/graphColoring/sequentialVertexColoring.sql +++ b/sql/graphColoring/sequentialVertexColoring.sql @@ -7,7 +7,7 @@ Mail: project@pgrouting.org Function's developer: Copyright (c) 2020 Ashish Kumar -Mail: ashishkr23438.com +Mail: ashishkr23438@gmail.com ------ @@ -27,9 +27,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ +--------------------------- +-- _pgr_depthFirstSearch +--------------------------- + + CREATE OR REPLACE FUNCTION pgr_sequentialVertexColoring( TEXT, - OUT seq BIGINT, + + OUT seq BIGINT, OUT node BIGINT, OUT color BIGINT) From 73561c3e637192f04d8c4ea999e2c88c5c5aa9c3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 00:36:41 +0530 Subject: [PATCH 0118/1360] [sequentialVertexColoring] Updated the sql file --- .../sequentialVertexColoring.sql | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/sql/graphColoring/sequentialVertexColoring.sql b/sql/graphColoring/sequentialVertexColoring.sql index 0018d40be65..eaae6b1f7f2 100644 --- a/sql/graphColoring/sequentialVertexColoring.sql +++ b/sql/graphColoring/sequentialVertexColoring.sql @@ -27,19 +27,33 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ ---------------------------- --- _pgr_depthFirstSearch ---------------------------- +---------------------------------- +-- pgr_sequentialVertexColoring +---------------------------------- CREATE OR REPLACE FUNCTION pgr_sequentialVertexColoring( - TEXT, + TEXT, -- edges_sql (required) OUT seq BIGINT, OUT node BIGINT, OUT color BIGINT) - RETURNS SETOF RECORD AS -'MODULE_PATHNAME', 'sequentialVertexColoring' -LANGUAGE c IMMUTABLE STRICT; - +$BODY$ +BEGIN + RETURN QUERY + SELECT * + FROM _pgr_sequentialVertexColoring(_pgr_get_statement($1)); +END; +$BODY$ +LANGUAGE plpgsql VOLATILE STRICT; + +-- COMMENTS + +COMMENT ON FUNCTION pgr_sequentialVertexColoring(TEXT) +IS 'pgr_sequentialVertexColoring +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_sequentialVertexColoring.html +'; \ No newline at end of file From 971e0214fb55179e355bfdbc1efbc26a20e61558 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 01:01:23 +0530 Subject: [PATCH 0119/1360] [sequentialVertexColoring] Edited the C file --- src/graphColoring/sequentialVertexColoring.c | 229 +++++++------------ 1 file changed, 82 insertions(+), 147 deletions(-) diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index a180b2a33fe..873efab4a0b 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -1,15 +1,13 @@ /*PGR-GNU***************************************************************** File: sequentialVertexColoring.c - Generated with Template by: + Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: Copyright (c) 2020 Ashish Kumar -Mail: ashishkr23438.com - - +Mail: ashishkr23438@gmail.com ------ This program is free software; you can redistribute it and/or modify @@ -26,25 +24,16 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -********************************************************************PGR-GNU*/ + ********************************************************************PGR-GNU*/ /** @file sequentialVertexColoring.c - * @brief Conecting code with postgres. - * - * This file is fully documented for understanding - * how the postgres connectinon works + * @brief Connecting code with postgres. * - * TODO Remove unnecessary comments before submiting the function. - * some comments are in form of PGR_DBG message */ -/** - * postgres_connection.h - * - * - should always be first in the C code - */ +#include #include "c_common/postgres_connection.h" - +#include "utils/array.h" /* for macro PGR_DBG */ #include "c_common/debug_macro.h" @@ -52,79 +41,62 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/e_report.h" /* for time_msg & clock */ #include "c_common/time_msg.h" -/* for functions to get edges informtion */ -#include "c_common/edges_input.h" -#include "drivers/sequentialVertexColoring/sequentialVertexColoring_driver.h" // the link to the C++ code of the function +/* for functions to get edges information */ +#include "c_common/edges_input.h" +/* for handling array related stuffs */ +#include "c_common/arrays_input.h" -PGDLLEXPORT Datum sequentialVertexColoring(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(sequentialVertexColoring); +#include "drivers/graphColoring/sequentialVertexColoring_driver.h" +PGDLLEXPORT Datum _pgr_sequentialVertexColoring(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_sequentialVertexColoring); -/******************************************************************************/ -/* MODIFY AS NEEDED */ +/** @brief Static function, loads the data from postgres to C types for further processing. + * + * It first connects the C function to the SPI manager. Then converts + * the postgres array to C array and loads the edges belonging to the graph + * in C types. Then it calls the function `do_pgr_sequentialVertexColoring` defined + * in the `sequentialVertexColoring_driver.h` file for further processing. + * Finally, it frees the memory and disconnects the C function to the SPI manager. + * + * @param edges_sql the edges of the SQL query + * @param result_tuples the rows in the result + * @param result_count the count of rows in the result + * + * @returns void + */ static void process( char* edges_sql, - int64_t start_vid, - int64_t end_vid, -#if 0 - /* - * handling arrays example - */ - ArrayType *starts, - ArrayType *ends, -#endif - bool directed, - bool only_cost, - General_path_element_t **result_tuples, + + pgr_mst_rt **result_tuples, size_t *result_count) { - /* - * https://www.postgresql.org/docs/current/static/spi-spi-connect.html - */ + // https://www.postgresql.org/docs/current/static/spi-spi-connect.html pgr_SPI_connect(); - -#if 0 - /* - * handling arrays example - */ - PGR_DBG("Initializing arrays"); - int64_t* start_vidsArr = NULL; - size_t size_start_vidsArr = 0; - start_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_start_vidsArr, starts); - PGR_DBG("start_vidsArr size %ld ", size_start_vidsArr); - - int64_t* end_vidsArr = NULL; - size_t size_end_vidsArr = 0; - end_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_end_vidsArr, ends); - PGR_DBG("end_vidsArr size %ld ", size_end_vidsArr); -#endif + size_t size_rootsArr = 0; + + // converting the postgres array to C array + int64_t* rootsArr = (int64_t*) + pgr_get_bigIntArray(&size_rootsArr, roots); + PGR_DBG("rootsArr size %ld", size_rootsArr); (*result_tuples) = NULL; (*result_count) = 0; - PGR_DBG("Load data"); + PGR_DBG("Loading the edges"); pgr_edge_t *edges = NULL; size_t total_edges = 0; - if (start_vid == end_vid) { - /* - * https://www.postgresql.org/docs/current/static/spi-spi-finish.html - */ - pgr_SPI_finish(); - return; - } - + // load the edges belonging to the graph pgr_get_edges(edges_sql, &edges, &total_edges); - PGR_DBG("Total %ld edges in query:", total_edges); + PGR_DBG("Total edges in query %ld", total_edges); if (total_edges == 0) { - PGR_DBG("No edges found"); + if (rootsArr) pfree(rootsArr); pgr_SPI_finish(); return; } @@ -135,101 +107,72 @@ process( char *notice_msg = NULL; char *err_msg = NULL; do_pgr_sequentialVertexColoring( - edges, - total_edges, - start_vid, - end_vid, -#if 0 - /* - * handling arrays example - */ - - start_vidsArr, size_start_vidsArr, - end_vidsArr, size_end_vidsArr, -#endif + edges, total_edges, - directed, - only_cost, result_tuples, result_count, &log_msg, ¬ice_msg, &err_msg); - time_msg(" processing pgr_sequentialVertexColoring", start_t, clock()); + time_msg("processing pgr_sequentialVertexColoring", start_t, clock()); PGR_DBG("Returning %ld tuples", *result_count); - if (err_msg) { - if (*result_tuples) pfree(*result_tuples); + if (err_msg && (*result_tuples)) { + pfree(*result_tuples); + (*result_tuples) = NULL; + (*result_count) = 0; } + pgr_global_report(log_msg, notice_msg, err_msg); - if (edges) pfree(edges); if (log_msg) pfree(log_msg); if (notice_msg) pfree(notice_msg); if (err_msg) pfree(err_msg); -#if 0 - /* - * handling arrays example - */ - - if (end_vidsArr) pfree(end_vidsArr); - if (start_vidsArr) pfree(start_vidsArr); -#endif + if (edges) pfree(edges); + if (rootsArr) pfree(rootsArr); pgr_SPI_finish(); } /* */ /******************************************************************************/ -PGDLLEXPORT Datum sequentialVertexColoring(PG_FUNCTION_ARGS) { +/** @brief Helps in converting postgres variables to C variables, and returns the result. + * + */ + +PGDLLEXPORT Datum _pgr_sequentialVertexColoring(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; - /**************************************************************************/ - /* MODIFY AS NEEDED */ - /* */ - General_path_element_t *result_tuples = NULL; + /**********************************************************************/ + pgr_mst_rt *result_tuples = NULL; size_t result_count = 0; - /* */ - /**************************************************************************/ + /**********************************************************************/ if (SRF_IS_FIRSTCALL()) { MemoryContext oldcontext; funcctx = SRF_FIRSTCALL_INIT(); oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - - /**********************************************************************/ - /* MODIFY AS NEEDED */ - /* - TEXT, + /*********************************************************************** + * + * pgr_sequentialVertexColoring( + * edges_sql TEXT, + * ); + * **********************************************************************/ - PGR_DBG("Calling process"); process( text_to_cstring(PG_GETARG_TEXT_P(0)), - PG_GETARG_INT64(1), - PG_GETARG_INT64(2), -#if 0 - /* - * handling arrays example - */ - - PG_GETARG_ARRAYTYPE_P(1), - PG_GETARG_ARRAYTYPE_P(2), -#endif - PG_GETARG_BOOL(3), - PG_GETARG_BOOL(4), &result_tuples, &result_count); - - /* */ /**********************************************************************/ -#if PGSQL_VERSION > 94 + +#if PGSQL_VERSION > 95 funcctx->max_calls = result_count; #else funcctx->max_calls = (uint32_t)result_count; @@ -249,7 +192,7 @@ PGDLLEXPORT Datum sequentialVertexColoring(PG_FUNCTION_ARGS) { funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (General_path_element_t*) funcctx->user_fctx; + result_tuples = (pgr_mst_rt*) funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { HeapTuple tuple; @@ -257,43 +200,35 @@ PGDLLEXPORT Datum sequentialVertexColoring(PG_FUNCTION_ARGS) { Datum *values; bool* nulls; - /**********************************************************************/ - /* MODIFY AS NEEDED */ - /* - OUT seq BIGINT, - OUT node BIGINT, - OUT color BIGINT - ***********************************************************************/ + /*********************************************************************** + * + * OUT seq BIGINT, + * OUT node BIGINT, + * OUT color BIGINT, + * + **********************************************************************/ - values = palloc(6 * sizeof(Datum)); - nulls = palloc(6 * sizeof(bool)); + size_t num = 3; + values = palloc(num * sizeof(Datum)); + nulls = palloc(num * sizeof(bool)); size_t i; - for (i = 0; i < 6; ++i) { + for (i = 0; i < num; ++i) { nulls[i] = false; } - // postgres starts counting from 1 - values[0] = Int32GetDatum(funcctx->call_cntr + 1); - values[1] = Int32GetDatum(result_tuples[funcctx->call_cntr].seq); - values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); - values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); - values[4] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); - values[5] = Float8GetDatum(result_tuples[funcctx->call_cntr].agg_cost); + values[0] = Int64GetDatum(funcctx->call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); + values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].color); + /**********************************************************************/ tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); } else { - /**********************************************************************/ - /* MODIFY AS NEEDED */ - - PGR_DBG("Clean up code"); - - /**********************************************************************/ - + PGR_DBG("Returning done"); SRF_RETURN_DONE(funcctx); } } From 5217d2b43dae461665227057dfd07126bd0a2cde Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 01:03:13 +0530 Subject: [PATCH 0120/1360] [sequentialVertexColoring] Edited the C file --- src/graphColoring/sequentialVertexColoring.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index 873efab4a0b..db490b0e39c 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -76,14 +76,6 @@ process( // https://www.postgresql.org/docs/current/static/spi-spi-connect.html pgr_SPI_connect(); - PGR_DBG("Initializing arrays"); - size_t size_rootsArr = 0; - - // converting the postgres array to C array - int64_t* rootsArr = (int64_t*) - pgr_get_bigIntArray(&size_rootsArr, roots); - PGR_DBG("rootsArr size %ld", size_rootsArr); - (*result_tuples) = NULL; (*result_count) = 0; @@ -95,12 +87,6 @@ process( pgr_get_edges(edges_sql, &edges, &total_edges); PGR_DBG("Total edges in query %ld", total_edges); - if (total_edges == 0) { - if (rootsArr) pfree(rootsArr); - pgr_SPI_finish(); - return; - } - PGR_DBG("Starting processing"); clock_t start_t = clock(); char *log_msg = NULL; From d33f8359e34db01e4a2b8f651d0dc62ce3036c85 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 01:22:36 +0530 Subject: [PATCH 0121/1360] [depthFirstSearch] Modified header file --- .../depthFirstSearch_driver.h | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h index a103031d4b9..d5e33310979 100644 --- a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h +++ b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h @@ -45,16 +45,16 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. extern "C" { #endif - /*************************************************/ - /* - pgr_depthFirstSearch( - edges_sql TEXT, - root_vids ANYARRAY, - max_depth BIGINT DEFAULT 9223372036854775807, - directed BOOLEAN DEFAULT true - ); - */ - /*************************************************/ + /************************************************** + * + * pgr_depthFirstSearch( + * edges_sql TEXT, + * root_vids ANYARRAY, + * max_depth BIGINT DEFAULT 9223372036854775807, + * directed BOOLEAN DEFAULT true + * ); + * + *************************************************/ void do_pgr_depthFirstSearch( pgr_edge_t *data_edges, size_t total_edges, From 1f6ed8311431328d549a53ac2999807c0416e85b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 01:23:24 +0530 Subject: [PATCH 0122/1360] [sequentialVertexColoring] Modified header file --- .../sequentialVertexColoring_driver.h | 53 +++++++++++-------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/include/drivers/graphColoring/sequentialVertexColoring_driver.h b/include/drivers/graphColoring/sequentialVertexColoring_driver.h index cf2d4ea1239..1e5258c1fbc 100644 --- a/include/drivers/graphColoring/sequentialVertexColoring_driver.h +++ b/include/drivers/graphColoring/sequentialVertexColoring_driver.h @@ -25,41 +25,52 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -********************************************************************PGR-GNU*/ + ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_DRIVERS_sequentialvertexcoloring_sequentialvertexcoloring_DRIVER_H_ -#define INCLUDE_DRIVERS_sequentialvertexcoloring_sequentialvertexcoloring_DRIVER_H_ +#ifndef INCLUDE_DRIVERS_GRAPHCOLORING_SEQUENTIALVERTEXCOLORING_DRIVER_H_ +#define INCLUDE_DRIVERS_GRAPHCOLORING_SEQUENTIALVERTEXCOLORING_DRIVER_H_ #pragma once +/* for size-t */ +#ifdef __cplusplus +# include +#else +# include +#endif + #include "c_types/pgr_edge_t.h" -#include "c_types/general_path_element_t.h" +#include "c_types/pgr_mst_rt.h" #ifdef __cplusplus extern "C" { #endif - /********************************************************* - TEXT, - ********************************************************/ + /************************************************** + * + * pgr_sequentialVertexColoring( + * edges_sql TEXT, + * ); + * + *************************************************/ + void do_pgr_sequentialVertexColoring( + pgr_edge_t *data_edges, + size_t total_edges, + + int64_t *rootsArr, + size_t size_rootsArr, + int64_t max_depth, + bool directed, - void - do_pgr_sequentialVertexColoring( - pgr_edge_t *data_edges, - size_t total_edges, - int64_t start_vid, - int64_t end_vid, - bool directed, - bool only_cost, - General_path_element_t **return_tuples, - size_t *return_count, - char ** log_msg, - char ** notice_msg, - char ** err_msg); + pgr_mst_rt **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg); #ifdef __cplusplus } #endif -#endif // INCLUDE_DRIVERS_sequentialvertexcoloring_sequentialvertexcoloring_DRIVER_H_ +#endif // INCLUDE_DRIVERS_sequentialVertexColoring_sequentialVertexColoring_DRIVER_H_ From 48416352a2b374084382a27633a487f856de202a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 01:25:17 +0530 Subject: [PATCH 0123/1360] [sequentialVertexColoring] Small changes --- include/drivers/graphColoring/sequentialVertexColoring_driver.h | 2 +- src/graphColoring/sequentialVertexColoring.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/drivers/graphColoring/sequentialVertexColoring_driver.h b/include/drivers/graphColoring/sequentialVertexColoring_driver.h index 1e5258c1fbc..2e2242e594a 100644 --- a/include/drivers/graphColoring/sequentialVertexColoring_driver.h +++ b/include/drivers/graphColoring/sequentialVertexColoring_driver.h @@ -48,7 +48,7 @@ extern "C" { /************************************************** * * pgr_sequentialVertexColoring( - * edges_sql TEXT, + * edges_sql TEXT * ); * *************************************************/ diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index db490b0e39c..71ecd1cc723 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -144,7 +144,7 @@ PGDLLEXPORT Datum _pgr_sequentialVertexColoring(PG_FUNCTION_ARGS) { /*********************************************************************** * * pgr_sequentialVertexColoring( - * edges_sql TEXT, + * edges_sql TEXT * ); * **********************************************************************/ From 45f1204eafc0898c5ef67c1509851897323ba278 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 08:47:24 +0530 Subject: [PATCH 0124/1360] [sequentialVertexColoring] Added pgr_vertex_color_rt header file --- include/c_types/pgr_vertex_color_rt.h | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 include/c_types/pgr_vertex_color_rt.h diff --git a/include/c_types/pgr_vertex_color_rt.h b/include/c_types/pgr_vertex_color_rt.h new file mode 100644 index 00000000000..e7578646b29 --- /dev/null +++ b/include/c_types/pgr_vertex_color_rt.h @@ -0,0 +1,41 @@ +/*PGR-GNU***************************************************************** +File: pgr_vertex_color_rt.h + +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438@gmail.com +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +/*! @file */ + +#ifndef INCLUDE_C_TYPES_PGR_VERTEX_COLOR_RT_H_ +#define INCLUDE_C_TYPES_PGR_VERTEX_COLOR_RT_H_ +#pragma once + +/* for int64_t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +typedef struct { + int64_t node; + int64_t color; +} pgr_vertex_color_rt; + +#endif // INCLUDE_C_TYPES_PGR_VERTEX_COLOR_RT_H_ From ac50c3fc61377ebb2f72f34cd4cdb11bc964df2b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 08:48:46 +0530 Subject: [PATCH 0125/1360] [sequentialVertexColoring] Added pgr_vertex_color_rt in the C file --- src/graphColoring/sequentialVertexColoring.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index 71ecd1cc723..57b31bceb78 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -71,7 +71,7 @@ void process( char* edges_sql, - pgr_mst_rt **result_tuples, + pgr_vertex_color_rt **result_tuples, size_t *result_count) { // https://www.postgresql.org/docs/current/static/spi-spi-connect.html pgr_SPI_connect(); @@ -132,7 +132,7 @@ PGDLLEXPORT Datum _pgr_sequentialVertexColoring(PG_FUNCTION_ARGS) { TupleDesc tuple_desc; /**********************************************************************/ - pgr_mst_rt *result_tuples = NULL; + pgr_vertex_color_rt *result_tuples = NULL; size_t result_count = 0; /**********************************************************************/ @@ -178,7 +178,7 @@ PGDLLEXPORT Datum _pgr_sequentialVertexColoring(PG_FUNCTION_ARGS) { funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_mst_rt*) funcctx->user_fctx; + result_tuples = (pgr_vertex_color_rt*) funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { HeapTuple tuple; From 03290339da82b553a2c4d9aee95dedf82166bd08 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 08:50:45 +0530 Subject: [PATCH 0126/1360] [sequentialVertexColoring] Added pgr_vertex_color_rt in the driver header file --- .../graphColoring/sequentialVertexColoring_driver.h | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/include/drivers/graphColoring/sequentialVertexColoring_driver.h b/include/drivers/graphColoring/sequentialVertexColoring_driver.h index 2e2242e594a..4887c4f4c31 100644 --- a/include/drivers/graphColoring/sequentialVertexColoring_driver.h +++ b/include/drivers/graphColoring/sequentialVertexColoring_driver.h @@ -39,7 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" -#include "c_types/pgr_mst_rt.h" +#include "c_types/pgr_vertex_color_rt.h" #ifdef __cplusplus extern "C" { @@ -56,13 +56,7 @@ extern "C" { pgr_edge_t *data_edges, size_t total_edges, - int64_t *rootsArr, - size_t size_rootsArr, - - int64_t max_depth, - bool directed, - - pgr_mst_rt **return_tuples, + pgr_vertex_color_rt **return_tuples, size_t *return_count, char ** log_msg, @@ -73,4 +67,4 @@ extern "C" { } #endif -#endif // INCLUDE_DRIVERS_sequentialVertexColoring_sequentialVertexColoring_DRIVER_H_ +#endif // INCLUDE_DRIVERS_GRAPHCOLORING_SEQUENTIALVERTEXCOLORING_DRIVER_H_ From c96351a8f7150ff8bda7daac0b08ee115b75fec8 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 08:52:28 +0530 Subject: [PATCH 0127/1360] [sequentialVertexColoring] Modified mail in function's developer --- src/graphColoring/sequentialVertexColoring_driver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index bede6bfda6a..05cc3622400 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -7,7 +7,7 @@ Mail: project@pgrouting.org Function's developer: Copyright (c) 2020 Ashish Kumar -Mail: ashishkr23438.com +Mail: ashishkr23438@gmail.com ------ From 8353e02f27dbc2d9e97465d28402d81bd005f0f8 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:00:14 +0530 Subject: [PATCH 0128/1360] [sequentialVertexColoring] Modified the driver file --- .../sequentialVertexColoring_driver.cpp | 132 ++++++++++-------- 1 file changed, 73 insertions(+), 59 deletions(-) diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index 05cc3622400..fc401693981 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -8,7 +8,6 @@ Mail: project@pgrouting.org Function's developer: Copyright (c) 2020 Ashish Kumar Mail: ashishkr23438@gmail.com - ------ This program is free software; you can redistribute it and/or modify @@ -25,51 +24,80 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -********************************************************************PGR-GNU*/ + ********************************************************************PGR-GNU*/ #include "drivers/graphColoring/sequentialVertexColoring_driver.h" -#include -#include #include - -#include "dijkstra/pgr_dijkstra.hpp" +#include +#include #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" - - - - -/************************************************************ - TEXT, - ***********************************************************/ - -template < class G > -static -Path +#include "graphColoring/pgr_sequentialVertexColoring.hpp" + +/** @file sequentialVertexColoring_driver.cpp + * @brief Handles actual calling of function in the `pgr_sequentialVertexColoring.hpp` file. + * + */ + +/*********************************************************************** + * + * pgr_sequentialVertexColoring( + * edges_sql TEXT + * ); + * + ***********************************************************************/ + +/** @brief Calls the main function defined in the C++ Header file. + * + * @param graph the graph containing the edges + * @param log stores the log message + * + * @returns results, when results are found + */ + +template +std::vector pgr_sequentialVertexColoring( G &graph, - int64_t source, - int64_t target, - bool only_cost = false) { - Path path; - Pgr_dijkstra< G > fn_dijkstra; - return fn_dijkstra.dijkstra(graph, source, target, only_cost); -} + std::string &log) { + pgrouting::functions::Pgr_sequentialVertexColoring fn_sequentialVertexColoring; + auto results = fn_sequentialVertexColoring.sequentialVertexColoring( + graph); + log += fn_sequentialVertexColoring.get_log(); + return results; +} +/** @brief Performs exception handling and converts the results to postgres. + * + * It first asserts the variables, then builds the graph using the `data_edges`, + * depending on whether the graph is directed or undirected. It also converts + * the C types to the C++ types, such as the `rootsArr` to `roots` + * vector and passes these variables to the template function `pgr_sequentialVertexColoring` + * which calls the main function defined in the C++ Header file. It also does + * exception handling. + * + * @param data_edges the set of edges from the SQL query + * @param total_edges the total number of edges in the SQL query + * @param return_tuples the rows in the result + * @param return_count the count of rows in the result + * @param log_msg stores the log message + * @param notice_msg stores the notice message + * @param err_msg stores the error message + * + * @returns void + */ void do_pgr_sequentialVertexColoring( pgr_edge_t *data_edges, size_t total_edges, - int64_t start_vid, - int64_t end_vid, - bool directed, - bool only_cost, - General_path_element_t **return_tuples, + + pgr_vertex_color_rt **return_tuples, size_t *return_count, + char ** log_msg, char ** notice_msg, char ** err_msg) { @@ -82,45 +110,31 @@ do_pgr_sequentialVertexColoring( pgassert(!(*err_msg)); pgassert(!(*return_tuples)); pgassert(*return_count == 0); - pgassert(total_edges != 0); - - graphType gType = directed? DIRECTED: UNDIRECTED; - - Path path; - - if (directed) { - log << "Working with directed Graph\n"; - pgrouting::DirectedGraph digraph(gType); - digraph.insert_edges(data_edges, total_edges); - path = pgr_sequentialVertexColoring(digraph, - start_vid, - end_vid, - only_cost); - } else { - log << "Working with Undirected Graph\n"; - pgrouting::UndirectedGraph undigraph(gType); - undigraph.insert_edges(data_edges, total_edges); - path = pgr_sequentialVertexColoring( - undigraph, - start_vid, - end_vid, - only_cost); - } - auto count = path.size(); + std::vector results; + // string variable to store the log messages + std::string logstr; + + log << logstr; + + // the count of rows in the result + auto count = results.size(); + + // returns directly in case of empty rows in the results if (count == 0) { (*return_tuples) = NULL; (*return_count) = 0; - notice << - "No paths found between start_vid and end_vid vertices"; + notice << "No traversal found"; + *log_msg = pgr_msg(notice.str().c_str()); return; } (*return_tuples) = pgr_alloc(count, (*return_tuples)); - size_t sequence = 0; - path.generate_postgres_data(return_tuples, sequence); - (*return_count) = sequence; + for (size_t i = 0; i < count; i++) { + *((*return_tuples) + i) = results[i]; + } + (*return_count) = count; pgassert(*err_msg == NULL); *log_msg = log.str().empty()? From b71297de8a79208740df37118a295cc48e05861c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:04:38 +0530 Subject: [PATCH 0129/1360] [sequentialVertexColoring] Modified the C++ driver file --- src/graphColoring/sequentialVertexColoring_driver.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index fc401693981..182b8288799 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -35,7 +35,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" +#if 0 #include "graphColoring/pgr_sequentialVertexColoring.hpp" +#endif /** @file sequentialVertexColoring_driver.cpp * @brief Handles actual calling of function in the `pgr_sequentialVertexColoring.hpp` file. @@ -58,6 +60,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * @returns results, when results are found */ +#if 0 template std::vector pgr_sequentialVertexColoring( @@ -70,6 +73,7 @@ pgr_sequentialVertexColoring( log += fn_sequentialVertexColoring.get_log(); return results; } +#endif /** @brief Performs exception handling and converts the results to postgres. * From 0485295c10d3ae4301735587e8a9e2b21958f206 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:12:10 +0530 Subject: [PATCH 0130/1360] [sequentialVertexColoring] Modified CMakeLists file --- src/graphColoring/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/graphColoring/CMakeLists.txt b/src/graphColoring/CMakeLists.txt index d4b41485207..2f6cc0de226 100644 --- a/src/graphColoring/CMakeLists.txt +++ b/src/graphColoring/CMakeLists.txt @@ -1,4 +1,4 @@ -ADD_LIBRARY(sequentialVertexColoring OBJECT +ADD_LIBRARY(graphColoring OBJECT sequentialVertexColoring.c sequentialVertexColoring_driver.cpp ) From c0061e7404f554503ac7bf2a11b0d2cbdec9111b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:12:54 +0530 Subject: [PATCH 0131/1360] [sequentialVertexColoring] Removed rootsArr in C file --- src/graphColoring/sequentialVertexColoring.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index 57b31bceb78..6295a070090 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -116,7 +116,6 @@ process( if (notice_msg) pfree(notice_msg); if (err_msg) pfree(err_msg); if (edges) pfree(edges); - if (rootsArr) pfree(rootsArr); pgr_SPI_finish(); } From 6b8fe09be67ff3f1fa846b1aa32e9be6fb36f68a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:14:59 +0530 Subject: [PATCH 0132/1360] [sequentialVertexColoring] Removed redundant blank line at the start of code block --- src/graphColoring/sequentialVertexColoring_driver.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index 182b8288799..20b6d2e8668 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -66,7 +66,6 @@ std::vector pgr_sequentialVertexColoring( G &graph, std::string &log) { - pgrouting::functions::Pgr_sequentialVertexColoring fn_sequentialVertexColoring; auto results = fn_sequentialVertexColoring.sequentialVertexColoring( graph); From 037d5470c7d9482426bf49e5c33415594fee5990 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:18:18 +0530 Subject: [PATCH 0133/1360] [sequentialVertexColoring] Added sstream header --- src/graphColoring/sequentialVertexColoring_driver.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index 20b6d2e8668..d8d5b27e346 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -28,6 +28,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "drivers/graphColoring/sequentialVertexColoring_driver.h" +#include #include #include #include From 63f4b0904cc5d1b476f85f710fff7c3528b1a1fb Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:45:42 +0530 Subject: [PATCH 0134/1360] [sequentialVertexColoring] Changed name to lowercase --- src/graphColoring/sequentialVertexColoring.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index 6295a070090..3d1e22c99ba 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -49,8 +49,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "drivers/graphColoring/sequentialVertexColoring_driver.h" -PGDLLEXPORT Datum _pgr_sequentialVertexColoring(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_sequentialVertexColoring); +PGDLLEXPORT Datum _pgr_sequentialvertexcoloring(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_sequentialvertexcoloring); /** @brief Static function, loads the data from postgres to C types for further processing. * @@ -126,7 +126,7 @@ process( * */ -PGDLLEXPORT Datum _pgr_sequentialVertexColoring(PG_FUNCTION_ARGS) { +PGDLLEXPORT Datum _pgr_sequentialvertexcoloring(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; From 806ea82294be78b99349b178e28e001cc9a314ec Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:49:50 +0530 Subject: [PATCH 0135/1360] [sequentialVertexColoring] Updated the signatures --- sql/sigs/pgrouting--3.0.0.sig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 8a31d17b2fb..8d694b457d7 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -191,6 +191,8 @@ pgr_pushrelabel(text,anyarray,bigint) pgr_pushrelabel(text,bigint,anyarray) pgr_pushrelabel(text,bigint,bigint) _pgr_quote_ident(text) +_pgr_sequentialvertexcoloring(text) +pgr_sequentialvertexcoloring(text) _pgr_startpoint(geometry) _pgr_stoerwagner(text) pgr_stoerwagner(text) From a5077c50da60608c565e72a62984b19c2534bd5d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:51:13 +0530 Subject: [PATCH 0136/1360] [sequentialVertexColoring] Removed queries file from wrong directory --- .../doc-pgr_sequentialVertexColoring.queries | 32 ------------------- 1 file changed, 32 deletions(-) delete mode 100644 doc/graphColoring/doc-pgr_sequentialVertexColoring.queries diff --git a/doc/graphColoring/doc-pgr_sequentialVertexColoring.queries b/doc/graphColoring/doc-pgr_sequentialVertexColoring.queries deleted file mode 100644 index 53b915d6b2c..00000000000 --- a/doc/graphColoring/doc-pgr_sequentialVertexColoring.queries +++ /dev/null @@ -1,32 +0,0 @@ -BEGIN; -BEGIN --- q1 -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', - 2, 3 -); - seq | path_seq | node | edge | cost | agg_cost ------+----------+------+------+------+---------- - 1 | 1 | 2 | 4 | 1 | 0 - 2 | 2 | 5 | 8 | 1 | 1 - 3 | 3 | 6 | 9 | 1 | 2 - 4 | 4 | 9 | 16 | 1 | 3 - 5 | 5 | 4 | 3 | 1 | 4 - 6 | 6 | 3 | -1 | 0 | 5 -(6 rows) - --- q2 -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', - 2, 3, - FALSE -); - seq | path_seq | node | edge | cost | agg_cost ------+----------+------+------+------+---------- - 1 | 1 | 2 | 2 | 1 | 0 - 2 | 2 | 3 | -1 | 0 | 1 -(2 rows) - --- q3 -ROLLBACK; -ROLLBACK From dbca3e6fb44acb6fea49fbeb2f71d19f1c5446d7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:52:13 +0530 Subject: [PATCH 0137/1360] [sequentialVertexColoring] Added CMakeLists.txt file for doc --- doc/graphColoring/CMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/graphColoring/CMakeLists.txt diff --git a/doc/graphColoring/CMakeLists.txt b/doc/graphColoring/CMakeLists.txt new file mode 100644 index 00000000000..30836e4326d --- /dev/null +++ b/doc/graphColoring/CMakeLists.txt @@ -0,0 +1,12 @@ + +SET(LOCAL_FILES + pgr_sequentialVertexColoring.rst + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") + list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) + From f715a6cf4ff1812390edd1e17bd44cfe9e7713d3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:54:40 +0530 Subject: [PATCH 0138/1360] [sequentialVertexColoring] Modified documentation file .rst --- .../pgr_sequentialVertexColoring.rst | 93 +------------------ 1 file changed, 1 insertion(+), 92 deletions(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index dcda981c190..f7a7cf7529d 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -7,128 +7,37 @@ Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ **************************************************************************** -pgr_sequentialVertexColoring +pgr_sequentialVertexColoring - Experimental =============================================================================== -``pgr_sequentialVertexColoring`` — Returns the shortest path(s) using Dijkstra algorithm. -In particular, the Dijkstra algorithm implemented by Boost.Graph. - -.. figure:: images/boost-inside.jpeg - :target: http://www.boost.org/libs/graph/doc/dijkstra_shortest_paths.html - - Boost Graph Inside Description ------------------------------------------------------------------------------- -Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra in 1956. -It is a graph search algorithm that solves the shortest path problem for -a graph with non-negative edge path costs, producing a shortest path from -a starting vertex (``start_vid``) to an ending vertex (``end_vid``). -This implementation can be used with a directed graph and an undirected graph. - -The main Characteristics are: - - Process is done only on edges with positive costs. - - Values are returned when there is a path. - - - When the starting vertex and ending vertex are the same, there is no path. - - - The `agg_cost` the non included values `(v, v)` is `0` - - - When the starting vertex and ending vertex are the different and there is no path: - - - The `agg_cost` the non included values `(u, v)` is :math:`\infty` - - - For optimization purposes, any duplicated value in the `start_vids` or `end_vids` are ignored. - - - The returned values are ordered: - - - `start_vid` ascending - - `end_vid` ascending - - - Running time: :math:`O(| start\_vids | * (V \log V + E))` Signatures ------------------------------------------------------------------------------ -..rubric:: Summary - -.. code-block:: none - - pgr_dijkstra(edges_sql, start_vid, end_vid) - - RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) - OR EMPTY SET - -..rubric:: Minimal signature - -.. code-block:: none - - pgr_sequentialVertexColoring(edges_sql, start_vid, end_vid) - RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) or EMPTY SET - -The minimal signature is for a **directed** graph from one ``start_vid`` to one ``end_vid``: - -:Example: - -.. literalinclude:: doc-pgr_sequentialVertexColoring.queries - :start-after: -- q1 - :end-before: -- q2 - -.. index:: - single: sequentialVertexColoring(Complete signature) - -..rubric:: Complete Signature - -.. code-block:: none - - pgr_sequentialVertexColoring(edges_sql, start_vid, end_vid, directed); - RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) or EMPTY SET - -This signature finds the shortest path from one ``start_vid`` to one ``end_vid``: - - on a **directed** graph when ``directed`` flag is missing or is set to ``true``. - - on an **undirected** graph when ``directed`` flag is set to ``false``. - -:Example: - -.. literalinclude:: doc-pgr_sequentialVertexColoring.queries - :start-after: -- q2 - :end-before: -- q3 Parameters ------------------------------------------------------------------------------- -.. include:: pgr_dijkstra.rst - :start-after: pgr_dijkstra_parameters_start - :end-before: pgr_dijkstra_parameters_end Inner query ------------------------------------------------------------------------------- -.. include:: pgRouting-concepts.rst - :start-after: basic_edges_sql_start - :end-before: basic_edges_sql_end Result Columns ------------------------------------------------------------------------------- -.. include:: pgRouting-concepts.rst - :start-after: return_path_start - :end-before: return_path_end Aditional Examples ------------------------------------------------------------------------------- -:Example: - -.. literalinclude:: doc-pgr_sequentialVertexColoring.queries - :start-after: -- q2 - :end-before: -- q3 See Also ------------------------------------------------------------------------------- -* http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm * The queries use the :ref:`sampledata` network. .. rubric:: Indices and tables From 509cb0f739199ac9489425e6e4ce281312e762fb Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:56:40 +0530 Subject: [PATCH 0139/1360] [sequentialVertexColoring] Added the directory and files for docqueries --- docqueries/graphColoring/CMakeLists.txt | 0 docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result | 0 .../graphColoring/doc-pgr_sequentialVertexColoring.test.sql | 0 docqueries/graphColoring/test.conf | 0 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docqueries/graphColoring/CMakeLists.txt create mode 100644 docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result create mode 100644 docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql create mode 100644 docqueries/graphColoring/test.conf diff --git a/docqueries/graphColoring/CMakeLists.txt b/docqueries/graphColoring/CMakeLists.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result new file mode 100644 index 00000000000..e69de29bb2d diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/docqueries/graphColoring/test.conf b/docqueries/graphColoring/test.conf new file mode 100644 index 00000000000..e69de29bb2d From e2f072d5c7f866a00349d31873ae2f5566f7535d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 09:58:12 +0530 Subject: [PATCH 0140/1360] [sequentialVertexColoring] Modified CMakeLists file of docqueries --- docqueries/graphColoring/CMakeLists.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docqueries/graphColoring/CMakeLists.txt b/docqueries/graphColoring/CMakeLists.txt index e69de29bb2d..15e5465e520 100644 --- a/docqueries/graphColoring/CMakeLists.txt +++ b/docqueries/graphColoring/CMakeLists.txt @@ -0,0 +1,11 @@ +# Do not use extensions +SET(LOCAL_FILES + doc-pgr_sequentialVertexColoring + ) + +foreach (f ${LOCAL_FILES}) + configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") + list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) From edc22e9079b83fe3f02ac36f5880bb9ac1a6c4df Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 10:07:59 +0530 Subject: [PATCH 0141/1360] [sequentialVertexColoring] Modified the test.conf file --- docqueries/graphColoring/test.conf | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docqueries/graphColoring/test.conf b/docqueries/graphColoring/test.conf index e69de29bb2d..1eec0b6060c 100644 --- a/docqueries/graphColoring/test.conf +++ b/docqueries/graphColoring/test.conf @@ -0,0 +1,17 @@ +#!/usr/bin/perl -w + +%main::tests = ( + 'any' => { + 'comment' => 'Sequential Vertex Coloring algorithm tests.', + 'data' => [ ], + 'tests' => [qw( + doc-pgr_sequentialVertexColoring + )], + 'documentation' => [qw( + doc-pgr_sequentialVertexColoring + )] + }, + +); + +1; From 2841efb5f3458a8b53c52cec2d416e5e126c42df Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 10:10:22 +0530 Subject: [PATCH 0142/1360] [sequentialVertexColoring] Added a sample docquery --- .../graphColoring/doc-pgr_sequentialVertexColoring.test.sql | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql index e69de29bb2d..001dfb51048 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql @@ -0,0 +1,5 @@ +\echo -- q1 +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id' +); +\echo -- q2 From 22e85ef70a2a53d5f3a09581e63059b14b7bd791 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 10:10:45 +0530 Subject: [PATCH 0143/1360] [sequentialVertexColoring] Added the results for current implementation of function --- .../doc-pgr_sequentialVertexColoring.result | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result index e69de29bb2d..ab9a480ca9c 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result @@ -0,0 +1,15 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +-- q1 +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id' +); + seq | node | color +-----+------+------- +(0 rows) + +-- q2 +ROLLBACK; +ROLLBACK \ No newline at end of file From 6cdef73d4d3ce7b5198b0c62c043c2a6de8a49ba Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 10:17:48 +0530 Subject: [PATCH 0144/1360] [sequentialVertexColoring] Added sample test --- .../sequentialVertexColoring-innerQuery.sql | 19 +++---------------- .../sequentialVertexColoring-typesCheck.sql | 17 +++++------------ 2 files changed, 8 insertions(+), 28 deletions(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql b/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql index 216d5b51c0e..59206df2865 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql @@ -1,21 +1,8 @@ \i setup.sql -SELECT plan(137); -SET client_min_messages TO ERROR; +SELECT plan(1); +SELECT pass( 'A sample test' ); -SELECT has_function('pgr_sequentialvertexcoloring', - ARRAY['text', 'bigint', 'bigint', 'boolean','boolean']); - -SELECT function_returns('pgr_sequentialvertexcoloring', - ARRAY['text', 'bigint', 'bigint', 'boolean','boolean'], - 'setof record'); - -SELECT style_dijkstra('pgr_sequentialvertexcoloring', ', 2, 3)'); -SELECT style_dijkstra('pgr_sequentialvertexcoloring', ', 2, 3, true)'); -SELECT style_dijkstra('pgr_sequentialvertexcoloring', ', 2, 3, false)'); - - - -SELECT finish(); +SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql index 023dde8753f..59206df2865 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql @@ -1,15 +1,8 @@ +\i setup.sql -SELECT plan(4); +SELECT plan(1); -SELECT has_function('pgr_sequentialvertexcoloring'); - -SELECT has_function('pgr_sequentialvertexcoloring', ARRAY[ 'text', 'bigint', 'bigint', 'boolean', 'boolean' ]); - -SELECT function_returns('pgr_sequentialvertexcoloring', ARRAY[ 'text', 'bigint', 'bigint', 'boolean', 'boolean' ], 'setof record'); - --- testing column names -SELECT bag_has( - $$SELECT proargnames from pg_proc where proname = 'pgr_sequentialvertexcoloring'$$, - $$SELECT '{"","","","directed","only_cost","seq","path_seq","node","edge","cost","agg_cost"}'::TEXT[] $$ -); +SELECT pass( 'A sample test' ); +SELECT * FROM finish(); +ROLLBACK; From 643cfe832ce2aefb62b30dad431ed5a7479e2efb Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 10:19:18 +0530 Subject: [PATCH 0145/1360] [sequentialVertexColoring] Added todo in pgTAP tests --- pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql | 4 ++++ pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql b/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql index 59206df2865..6d0ed6539e8 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql @@ -2,7 +2,11 @@ SELECT plan(1); +SELECT todo_start('Complete the inner query tests'); + SELECT pass( 'A sample test' ); +SELECT todo_end(); + SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql index 59206df2865..3a216594eef 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql @@ -2,7 +2,11 @@ SELECT plan(1); +SELECT todo_start('Complete the types check'); + SELECT pass( 'A sample test' ); +SELECT todo_end(); + SELECT * FROM finish(); ROLLBACK; From 8e1352246c5f18b8e3018ca0c014065cfd0a8752 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 18 Jun 2020 10:21:30 +0530 Subject: [PATCH 0146/1360] [sequentialVertexColoring] Added todo in CPP driver file --- src/graphColoring/sequentialVertexColoring_driver.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index d8d5b27e346..b377d385f8d 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -94,6 +94,10 @@ pgr_sequentialVertexColoring( * * @returns void */ + +// TODO (ashish): Use the data_edges and total_edges parameter below. +// Call the function in HPP file which calls the boost function. + void do_pgr_sequentialVertexColoring( pgr_edge_t *data_edges, From 0c7920965e179970e0876bf0efb43a17f0c3f495 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 19 Jun 2020 16:27:57 +0530 Subject: [PATCH 0147/1360] [sequentialVertexColoring] Added end of line in SQL file --- sql/graphColoring/sequentialVertexColoring.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/graphColoring/sequentialVertexColoring.sql b/sql/graphColoring/sequentialVertexColoring.sql index eaae6b1f7f2..e972db58ad7 100644 --- a/sql/graphColoring/sequentialVertexColoring.sql +++ b/sql/graphColoring/sequentialVertexColoring.sql @@ -56,4 +56,4 @@ IS 'pgr_sequentialVertexColoring - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - ${PGROUTING_DOC_LINK}/pgr_sequentialVertexColoring.html -'; \ No newline at end of file +'; From 630c81ec7e5e85e3ef04c999d46a7aef29752c65 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 19 Jun 2020 16:28:44 +0530 Subject: [PATCH 0148/1360] [sequentialVertexColoring] Added end of line in docqueries result file --- .../graphColoring/doc-pgr_sequentialVertexColoring.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result index ab9a480ca9c..68b78e3c81e 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result @@ -12,4 +12,4 @@ SELECT * FROM pgr_sequentialVertexColoring( -- q2 ROLLBACK; -ROLLBACK \ No newline at end of file +ROLLBACK From ffd121fb18d8edc854f3e97b70cd204f2ee563f4 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 22 Jun 2020 13:25:58 +0530 Subject: [PATCH 0149/1360] [sequentialVertexColoring] Added pgr_sequentialVertexColoring.hpp file --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 include/graphColoring/pgr_sequentialVertexColoring.hpp diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp new file mode 100644 index 00000000000..e69de29bb2d From ea85e9c71687f666e259e7dfc8422e5118886e2e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 22 Jun 2020 23:21:39 +0530 Subject: [PATCH 0150/1360] [sequentialVertexColoring] Added basic code in hpp file --- .../pgr_sequentialVertexColoring.hpp | 87 +++++++++++++++++++ .../sequentialVertexColoring_driver.cpp | 13 ++- 2 files changed, 96 insertions(+), 4 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index e69de29bb2d..8d1876126f0 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -0,0 +1,87 @@ +/*PGR-GNU***************************************************************** +File: pgr_sequentialVertexColoring.hpp + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438@gmail.com + +------ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_GRAPHCOLORING_PGR_SEQUENTIALVERTEXCOLORING_HPP_ +#define INCLUDE_GRAPHCOLORING_PGR_SEQUENTIALVERTEXCOLORING_HPP_ +#pragma once + + + +#include +#include + +#include "cpp_common/pgr_base_graph.hpp" +#include "cpp_common/pgr_messages.h" + + +/** @file pgr_sequentialVertexColoring.hpp + * @brief The main file which calls the respective boost function. + * + * Contains actual implementation of the function and the calling + * of the respective boost function. + */ + + +namespace pgrouting { +namespace functions { + +//************************************************************* + +template +class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { +public: + typedef typename G::V V; + typedef typename G::E E; + + /** @name SequentialVertexColoring + * @{ + * + */ + + /** @brief sequentialVertexColoring function + * + * It does all the processing and returns the results. + * + * @param graph the graph containing the edges + * + * @returns results, when results are found + * + * @see [boost::sequential_vertex_coloring] + * (https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/sequential_vertex_coloring.html) + */ + std::vector sequentialVertexColoring( + G &graph) { + std::vector results; + + + + return results; + } + + //@} + +}; +} // namespace functions +} // namespace pgrouting + +#endif // INCLUDE_GRAPHCOLORING_PGR_SEQUENTIALVERTEXCOLORING_HPP_ diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index b377d385f8d..efce3cd32fa 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -36,9 +36,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" -#if 0 #include "graphColoring/pgr_sequentialVertexColoring.hpp" -#endif /** @file sequentialVertexColoring_driver.cpp * @brief Handles actual calling of function in the `pgr_sequentialVertexColoring.hpp` file. @@ -61,7 +59,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * @returns results, when results are found */ -#if 0 template std::vector pgr_sequentialVertexColoring( @@ -73,7 +70,6 @@ pgr_sequentialVertexColoring( log += fn_sequentialVertexColoring.get_log(); return results; } -#endif /** @brief Performs exception handling and converts the results to postgres. * @@ -124,6 +120,15 @@ do_pgr_sequentialVertexColoring( // string variable to store the log messages std::string logstr; + graphType gType = UNDIRECTED; + pgrouting::UndirectedGraph undigraph(gType); + undigraph.insert_edges(data_edges, total_edges); + + // calls the template function + results = pgr_sequentialVertexColoring( + undigraph, + logstr); + log << logstr; // the count of rows in the result From 36eb62b9c7aa80e3763d8c0245def0fad52e51de Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 24 Jun 2020 00:21:38 +0530 Subject: [PATCH 0151/1360] [sequentialVertexColoring] Trying to apply the boost algorithm --- .../pgr_sequentialVertexColoring.hpp | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 8d1876126f0..ba2e140c857 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -26,6 +26,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #pragma once +#include +#include +#include +#include +#include +#include #include #include @@ -40,7 +46,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * Contains actual implementation of the function and the calling * of the respective boost function. */ - +using namespace boost; namespace pgrouting { namespace functions { @@ -52,6 +58,10 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { public: typedef typename G::V V; typedef typename G::E E; + typedef adjacency_list Graph; + typedef graph_traits::vertex_descriptor vertex_descriptor; + typedef graph_traits::vertices_size_type vertices_size_type; + typedef property_map::const_type vertex_index_map; /** @name SequentialVertexColoring * @{ @@ -73,7 +83,19 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { G &graph) { std::vector results; - + typedef std::pair Edge; + enum nodes {A, B, C, D, E, n}; + Edge edge_array[] = { Edge(A, C), Edge(B, B), Edge(B, D), Edge(B, E), + Edge(C, B), Edge(C, D), Edge(D, E), Edge(E, A), + Edge(E, B) }; + int m = sizeof(edge_array) / sizeof(Edge); + Graph g(edge_array, edge_array + m, n); + + // Test with the normal order + std::vector color_vec(num_vertices(g)); + iterator_property_map + color(&color_vec.front(), get(vertex_index, g)); + vertices_size_type num_colors = sequential_vertex_coloring(g, color); return results; } From 4718f3b300d8fce1e5316dee6f90667ada3a8941 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 24 Jun 2020 11:08:05 +0530 Subject: [PATCH 0152/1360] [sequentialVertexColoring] Trying to use color map with boost --- .../pgr_sequentialVertexColoring.hpp | 27 +++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index ba2e140c857..b679227e441 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -58,10 +58,6 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { public: typedef typename G::V V; typedef typename G::E E; - typedef adjacency_list Graph; - typedef graph_traits::vertex_descriptor vertex_descriptor; - typedef graph_traits::vertices_size_type vertices_size_type; - typedef property_map::const_type vertex_index_map; /** @name SequentialVertexColoring * @{ @@ -83,19 +79,16 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { G &graph) { std::vector results; - typedef std::pair Edge; - enum nodes {A, B, C, D, E, n}; - Edge edge_array[] = { Edge(A, C), Edge(B, B), Edge(B, D), Edge(B, E), - Edge(C, B), Edge(C, D), Edge(D, E), Edge(E, A), - Edge(E, B) }; - int m = sizeof(edge_array) / sizeof(Edge); - Graph g(edge_array, edge_array + m, n); - - // Test with the normal order - std::vector color_vec(num_vertices(g)); - iterator_property_map - color(&color_vec.front(), get(vertex_index, g)); - vertices_size_type num_colors = sequential_vertex_coloring(g, color); + // std::vector color_vec(num_vertices(graph.graph)); + // std::vector color_map(graph.num_vertices()); + + std::vector colors(boost::num_vertices(graph.graph)); + + // create a ColorMap object (cpp_version < 17) + auto color_map = boost::make_iterator_property_map(colors.begin(), + boost::get(boost::vertex_index, graph.graph)); + + sequential_vertex_coloring(graph.graph, color_map); return results; } From 5e6c2ba8aa42f0d6444732546398caeb37206caa Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 24 Jun 2020 11:18:51 +0530 Subject: [PATCH 0153/1360] [sequentialVertexColoring] Boost algorithm is working --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index b679227e441..78541774d7c 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -58,6 +58,10 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { public: typedef typename G::V V; typedef typename G::E E; + typedef adjacency_list Graph; + typedef graph_traits::vertex_descriptor vertex_descriptor; + typedef graph_traits::vertices_size_type vertices_size_type; + typedef property_map::const_type vertex_index_map; /** @name SequentialVertexColoring * @{ @@ -82,7 +86,7 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { // std::vector color_vec(num_vertices(graph.graph)); // std::vector color_map(graph.num_vertices()); - std::vector colors(boost::num_vertices(graph.graph)); + std::vector colors(boost::num_vertices(graph.graph)); // create a ColorMap object (cpp_version < 17) auto color_map = boost::make_iterator_property_map(colors.begin(), From a3513e9237ff6b920862e4974735a3a2677db283 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 24 Jun 2020 11:31:37 +0530 Subject: [PATCH 0154/1360] [depthFirstSearch] Modified log_msg and notice_msg in case of empty rows --- src/depthFirstSearch/depthFirstSearch_driver.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 00a81b646a2..48d19456b05 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -187,7 +187,12 @@ do_pgr_depthFirstSearch( (*return_tuples) = NULL; (*return_count) = 0; notice << "No traversal found"; - *log_msg = pgr_msg(notice.str().c_str()); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); return; } From e63df0eaca610f1fda03459205cdcd503fefae66 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 24 Jun 2020 11:35:16 +0530 Subject: [PATCH 0155/1360] [sequentialVertexColoring] Removed unnecessary code --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 78541774d7c..9ff23610d0a 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -59,9 +59,7 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { typedef typename G::V V; typedef typename G::E E; typedef adjacency_list Graph; - typedef graph_traits::vertex_descriptor vertex_descriptor; typedef graph_traits::vertices_size_type vertices_size_type; - typedef property_map::const_type vertex_index_map; /** @name SequentialVertexColoring * @{ @@ -83,12 +81,8 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { G &graph) { std::vector results; - // std::vector color_vec(num_vertices(graph.graph)); - // std::vector color_map(graph.num_vertices()); - std::vector colors(boost::num_vertices(graph.graph)); - // create a ColorMap object (cpp_version < 17) auto color_map = boost::make_iterator_property_map(colors.begin(), boost::get(boost::vertex_index, graph.graph)); From 893f0ae41f8a077f0ae9b8867267eeb4ec20dbdf Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 24 Jun 2020 11:38:33 +0530 Subject: [PATCH 0156/1360] [sequentialVertexColoring] Removed boost namespace --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 9ff23610d0a..0f7065d6265 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -46,7 +46,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * Contains actual implementation of the function and the calling * of the respective boost function. */ -using namespace boost; + namespace pgrouting { namespace functions { @@ -58,8 +58,8 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { public: typedef typename G::V V; typedef typename G::E E; - typedef adjacency_list Graph; - typedef graph_traits::vertices_size_type vertices_size_type; + typedef boost::adjacency_list Graph; + typedef boost::graph_traits::vertices_size_type vertices_size_type; /** @name SequentialVertexColoring * @{ @@ -86,7 +86,7 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { auto color_map = boost::make_iterator_property_map(colors.begin(), boost::get(boost::vertex_index, graph.graph)); - sequential_vertex_coloring(graph.graph, color_map); + boost::sequential_vertex_coloring(graph.graph, color_map); return results; } From 9c4e4a698f1573dfce6472649b065be6b27ef1a1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 24 Jun 2020 11:39:05 +0530 Subject: [PATCH 0157/1360] [sequentialVertexColoring] Changed log_msg and notice_msg in case of empty rows --- src/graphColoring/sequentialVertexColoring_driver.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index efce3cd32fa..caa1120313b 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -139,7 +139,12 @@ do_pgr_sequentialVertexColoring( (*return_tuples) = NULL; (*return_count) = 0; notice << "No traversal found"; - *log_msg = pgr_msg(notice.str().c_str()); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); return; } From b200432e31eaf2e4d76581e95d236903bee835b1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 24 Jun 2020 12:06:48 +0530 Subject: [PATCH 0158/1360] [depthFirstSearch] Changed log_msg in case of empty rows --- src/depthFirstSearch/depthFirstSearch_driver.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 48d19456b05..00a81b646a2 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -187,12 +187,7 @@ do_pgr_depthFirstSearch( (*return_tuples) = NULL; (*return_count) = 0; notice << "No traversal found"; - *log_msg = log.str().empty()? - *log_msg : - pgr_msg(log.str().c_str()); - *notice_msg = notice.str().empty()? - *notice_msg : - pgr_msg(notice.str().c_str()); + *log_msg = pgr_msg(notice.str().c_str()); return; } From 02bf803e2718eb5c88946886a8af152a563b390f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 24 Jun 2020 12:07:37 +0530 Subject: [PATCH 0159/1360] [sequentialVertexColoring] Changed log_msg in case of empty rows --- src/graphColoring/sequentialVertexColoring_driver.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index caa1120313b..efce3cd32fa 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -139,12 +139,7 @@ do_pgr_sequentialVertexColoring( (*return_tuples) = NULL; (*return_count) = 0; notice << "No traversal found"; - *log_msg = log.str().empty()? - *log_msg : - pgr_msg(log.str().c_str()); - *notice_msg = notice.str().empty()? - *notice_msg : - pgr_msg(notice.str().c_str()); + *log_msg = pgr_msg(notice.str().c_str()); return; } From bce1967f882e019c22a3069d1de2d4b03186fec4 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 25 Jun 2020 09:25:18 +0530 Subject: [PATCH 0160/1360] [sequentialVertexColoring] Calling the boost function in try-catch block --- .../pgr_sequentialVertexColoring.hpp | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 0f7065d6265..e11196a4642 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -81,12 +81,23 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { G &graph) { std::vector results; - std::vector colors(boost::num_vertices(graph.graph)); - - auto color_map = boost::make_iterator_property_map(colors.begin(), - boost::get(boost::vertex_index, graph.graph)); - - boost::sequential_vertex_coloring(graph.graph, color_map); + std::vector colors(boost::num_vertices(graph.graph)); + + auto color_map = boost::make_iterator_property_map(colors.begin(), + boost::get(boost::vertex_index, graph.graph)); + + try { + boost::sequential_vertex_coloring( + graph.graph, color_map); + } catch (boost::exception const& ex) { + (void)ex; + throw; + } catch (std::exception &e) { + (void)e; + throw; + } catch (...) { + throw; + } return results; } From 951f389c0096903a43218c6f46cb15be178a25fc Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 25 Jun 2020 09:29:12 +0530 Subject: [PATCH 0161/1360] [sequentialVertexColoring] Added comments --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index e11196a4642..0bf60c26eb6 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -81,12 +81,15 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { G &graph) { std::vector results; + // vector which will store the color of all the vertices in the graph std::vector colors(boost::num_vertices(graph.graph)); + // An iterator property map which records the colors of each vertex auto color_map = boost::make_iterator_property_map(colors.begin(), boost::get(boost::vertex_index, graph.graph)); try { + // calling the boost function boost::sequential_vertex_coloring( graph.graph, color_map); } catch (boost::exception const& ex) { From 62c380253257f53060f22aaa6ddea2408998f428 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 25 Jun 2020 10:51:22 +0530 Subject: [PATCH 0162/1360] [sequentialVertexColoring] Completed boost implementation --- .../pgr_sequentialVertexColoring.hpp | 72 ++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 0bf60c26eb6..ba5066f4e9d 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -46,7 +46,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * Contains actual implementation of the function and the calling * of the respective boost function. */ - +using namespace boost; namespace pgrouting { namespace functions { @@ -61,6 +61,11 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { typedef boost::adjacency_list Graph; typedef boost::graph_traits::vertices_size_type vertices_size_type; + typedef typename graph_traits::vertex_descriptor + vertex_descriptor; + typedef typename graph_traits::vertex_iterator + vertex_iterator; + /** @name SequentialVertexColoring * @{ * @@ -102,11 +107,76 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { throw; } + results = get_results(colors, graph); + return results; } //@} +private: + + + + /** @brief to get the results + * + * Uses the `colors` vector to get the results i.e. the color of every vertex. + * + * @param visited_order vector which contains the edges of the resulting traversal + * @param source the starting vertex + * @param max_depth the maximum depth of traversal + * @param graph the graph containing the edges + * + * @returns bool @b True, when results are found + */ + // template + std::vector get_results( + std::vector &colors, + const G &graph) { + std::vector results; + + // auto v = vertices(graph.graph); + // std::vector order; + // order.reserve(std::distance(v.first, v.second)); + // while (v.first != v.second) + // order.push_back(*v.first++); + + // const size_t V = num_vertices(graph.graph); + + // for ( size_t i = 0; i < V; i++) { + // auto current = order[i]; + // log << current << " "; + // } + + + typename graph_traits::vertex_iterator v, vend; + for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { + int64_t node = graph[*v].id; + int64_t color = colors[*v]; + results.push_back({ + node, + color + }); + } + + // std::vector agg_cost(graph.num_vertices(), 0); + // std::vector depth(graph.num_vertices(), 0); + + // for (const auto edge : visited_order) { + // auto u = graph.source(edge); + // auto v = graph.target(edge); + + // agg_cost[v] = agg_cost[u] + graph[edge].cost; + // depth[v] = depth[u] + 1; + + // results.push_back({ + // node, + // color + // }); + // } + return results; + } + }; } // namespace functions } // namespace pgrouting From 45d3544e1d1c47320857e89096e799114354af56 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 25 Jun 2020 10:53:03 +0530 Subject: [PATCH 0163/1360] [sequentialVertexColoring] Removed unnecessary code --- .../pgr_sequentialVertexColoring.hpp | 39 +-- sql/sigs/pgrouting--3.0.0.sig | 238 ------------------ 2 files changed, 1 insertion(+), 276 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index ba5066f4e9d..15044ab47fb 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -61,11 +61,6 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { typedef boost::adjacency_list Graph; typedef boost::graph_traits::vertices_size_type vertices_size_type; - typedef typename graph_traits::vertex_descriptor - vertex_descriptor; - typedef typename graph_traits::vertex_iterator - vertex_iterator; - /** @name SequentialVertexColoring * @{ * @@ -115,9 +110,6 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { //@} private: - - - /** @brief to get the results * * Uses the `colors` vector to get the results i.e. the color of every vertex. @@ -129,27 +121,13 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { * * @returns bool @b True, when results are found */ - // template std::vector get_results( std::vector &colors, const G &graph) { std::vector results; - // auto v = vertices(graph.graph); - // std::vector order; - // order.reserve(std::distance(v.first, v.second)); - // while (v.first != v.second) - // order.push_back(*v.first++); - - // const size_t V = num_vertices(graph.graph); - - // for ( size_t i = 0; i < V; i++) { - // auto current = order[i]; - // log << current << " "; - // } - - typename graph_traits::vertex_iterator v, vend; + for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t node = graph[*v].id; int64_t color = colors[*v]; @@ -159,21 +137,6 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { }); } - // std::vector agg_cost(graph.num_vertices(), 0); - // std::vector depth(graph.num_vertices(), 0); - - // for (const auto edge : visited_order) { - // auto u = graph.source(edge); - // auto v = graph.target(edge); - - // agg_cost[v] = agg_cost[u] + graph[edge].cost; - // depth[v] = depth[u] + 1; - - // results.push_back({ - // node, - // color - // }); - // } return results; } diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 8d694b457d7..1704ab142d2 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -1,241 +1,3 @@ #VERSION pgrouting 3.0.0 #TYPES #FUNCTIONS -pgr_alphashape(geometry,double precision) -_pgr_alphashape(text,double precision) -pgr_analyzegraph(text,double precision,text,text,text,text,text) -pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) -_pgr_array_reverse(anyarray) -_pgr_articulationpoints(text) -pgr_articulationpoints(text) -pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) -_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) -pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) -_pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) -pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) -pgr_bddijkstracostmatrix(text,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,bigint,boolean) -pgr_bddijkstracost(text,bigint,anyarray,boolean) -pgr_bddijkstracost(text,bigint,bigint,boolean) -pgr_bddijkstra(text,anyarray,anyarray,boolean) -_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) -pgr_bddijkstra(text,anyarray,bigint,boolean) -pgr_bddijkstra(text,bigint,anyarray,boolean) -pgr_bddijkstra(text,bigint,bigint,boolean) -pgr_bellmanford(text,anyarray,anyarray,boolean) -_pgr_bellmanford(text,anyarray,anyarray,boolean,boolean) -pgr_bellmanford(text,anyarray,bigint,boolean) -pgr_bellmanford(text,bigint,anyarray,boolean) -pgr_bellmanford(text,bigint,bigint,boolean) -_pgr_biconnectedcomponents(text) -pgr_biconnectedcomponents(text) -_pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) -pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) -_pgr_boost_version() -pgr_boykovkolmogorov(text,anyarray,anyarray) -pgr_boykovkolmogorov(text,anyarray,bigint) -pgr_boykovkolmogorov(text,bigint,anyarray) -pgr_boykovkolmogorov(text,bigint,bigint) -_pgr_breadthfirstsearch(text,anyarray,bigint,boolean) -pgr_breadthfirstsearch(text,anyarray,bigint,boolean) -pgr_breadthfirstsearch(text,bigint,bigint,boolean) -_pgr_bridges(text) -pgr_bridges(text) -_pgr_build_type() -_pgr_checkverttab(text,text[],integer,text) -pgr_chinesepostmancost(text) -pgr_chinesepostman(text) -_pgr_chinesepostman(text,boolean) -_pgr_compilation_date() -_pgr_compiler_version() -_pgr_connectedcomponents(text) -pgr_connectedcomponents(text) -_pgr_contraction(text,bigint[],integer,bigint[],boolean) -pgr_contraction(text,bigint[],integer,bigint[],boolean) -_pgr_createindex(text,text,text,integer,text) -_pgr_createindex(text,text,text,text,integer,text) -pgr_createtopology(text,double precision,text,text,text,text,text,boolean) -pgr_createverticestable(text,text,text,text,text) -pgr_dagshortestpath(text,anyarray,anyarray) -_pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) -pgr_dagshortestpath(text,anyarray,bigint) -pgr_dagshortestpath(text,bigint,anyarray) -pgr_dagshortestpath(text,bigint,bigint) -_pgr_depthfirstsearch(text,anyarray,bigint,boolean) -pgr_depthfirstsearch(text,anyarray,bigint,boolean) -pgr_depthfirstsearch(text,bigint,bigint,boolean) -pgr_dijkstracostmatrix(text,anyarray,boolean) -pgr_dijkstracost(text,anyarray,anyarray,boolean) -pgr_dijkstracost(text,anyarray,bigint,boolean) -pgr_dijkstracost(text,bigint,anyarray,boolean) -pgr_dijkstracost(text,bigint,bigint,boolean) -_pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean) -_pgr_dijkstranear(text,anyarray,bigint,bigint,boolean) -_pgr_dijkstranear(text,bigint,anyarray,bigint,boolean) -pgr_dijkstra(text,anyarray,anyarray,boolean) -_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint) -pgr_dijkstra(text,anyarray,bigint,boolean) -pgr_dijkstra(text,bigint,anyarray,boolean) -pgr_dijkstra(text,bigint,bigint,boolean) -_pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -_pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,bigint,double precision,boolean) -_pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,bigint,boolean) -pgr_edgedisjointpaths(text,bigint,anyarray,boolean) -pgr_edgedisjointpaths(text,bigint,bigint,boolean) -pgr_edmondskarp(text,anyarray,anyarray) -pgr_edmondskarp(text,anyarray,bigint) -pgr_edmondskarp(text,bigint,anyarray) -pgr_edmondskarp(text,bigint,bigint) -_pgr_edwardmoore(text,anyarray,anyarray,boolean) -pgr_edwardmoore(text,anyarray,anyarray,boolean) -pgr_edwardmoore(text,anyarray,bigint,boolean) -pgr_edwardmoore(text,bigint,anyarray,boolean) -pgr_edwardmoore(text,bigint,bigint,boolean) -_pgr_endpoint(geometry) -pgr_extractvertices(text,boolean) -_pgr_floydwarshall(text,boolean) -pgr_floydwarshall(text,boolean) -pgr_full_version() -_pgr_getcolumnname(text,text,integer,text) -_pgr_getcolumnname(text,text,text,integer,text) -_pgr_getcolumntype(text,text,integer,text) -_pgr_getcolumntype(text,text,text,integer,text) -_pgr_get_statement(text) -_pgr_gettablename(text,integer,text) -_pgr_git_hash() -_pgr_iscolumnindexed(text,text,integer,text) -_pgr_iscolumnindexed(text,text,text,integer,text) -_pgr_iscolumnintable(text,text) -_pgr_johnson(text,boolean) -pgr_johnson(text,boolean) -pgr_kruskalbfs(text,anyarray,bigint) -pgr_kruskalbfs(text,bigint,bigint) -pgr_kruskaldd(text,anyarray,double precision) -pgr_kruskaldd(text,anyarray,numeric) -pgr_kruskaldd(text,bigint,double precision) -pgr_kruskaldd(text,bigint,numeric) -pgr_kruskaldfs(text,anyarray,bigint) -pgr_kruskaldfs(text,bigint,bigint) -pgr_kruskal(text) -_pgr_kruskal(text,anyarray,text,bigint,double precision) -_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -_pgr_lib_version() -_pgr_linegraphfull(text) -pgr_linegraphfull(text) -_pgr_linegraph(text,boolean) -pgr_linegraph(text,boolean) -_pgr_maxcardinalitymatch(text,boolean) -pgr_maxcardinalitymatch(text,boolean) -pgr_maxflowmincost_cost(text,anyarray,anyarray) -pgr_maxflowmincost_cost(text,anyarray,bigint) -pgr_maxflowmincost_cost(text,bigint,anyarray) -pgr_maxflowmincost_cost(text,bigint,bigint) -pgr_maxflowmincost(text,anyarray,anyarray) -_pgr_maxflowmincost(text,anyarray,anyarray,boolean) -pgr_maxflowmincost(text,anyarray,bigint) -pgr_maxflowmincost(text,bigint,anyarray) -pgr_maxflowmincost(text,bigint,bigint) -pgr_maxflow(text,anyarray,anyarray) -_pgr_maxflow(text,anyarray,anyarray,integer,boolean) -pgr_maxflow(text,anyarray,bigint) -pgr_maxflow(text,bigint,anyarray) -pgr_maxflow(text,bigint,bigint) -_pgr_msg(integer,text,text) -pgr_nodenetwork(text,double precision,text,text,text,text,boolean) -_pgr_onerror(boolean,integer,text,text,text,text) -_pgr_operating_system() -_pgr_parameter_check(text,text,boolean) -_pgr_pgsql_version() -_pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -_pgr_pickdeliver(text,text,text,double precision,integer,integer) -pgr_pickdeliver(text,text,text,double precision,integer,integer) -_pgr_pointtoid(geometry,double precision,text,integer) -pgr_primbfs(text,anyarray,bigint) -pgr_primbfs(text,bigint,bigint) -pgr_primdd(text,anyarray,double precision) -pgr_primdd(text,anyarray,numeric) -pgr_primdd(text,bigint,double precision) -pgr_primdd(text,bigint,numeric) -pgr_primdfs(text,anyarray,bigint) -pgr_primdfs(text,bigint,bigint) -pgr_prim(text) -_pgr_prim(text,anyarray,text,bigint,double precision) -pgr_pushrelabel(text,anyarray,anyarray) -pgr_pushrelabel(text,anyarray,bigint) -pgr_pushrelabel(text,bigint,anyarray) -pgr_pushrelabel(text,bigint,bigint) -_pgr_quote_ident(text) -_pgr_sequentialvertexcoloring(text) -pgr_sequentialvertexcoloring(text) -_pgr_startpoint(geometry) -_pgr_stoerwagner(text) -pgr_stoerwagner(text) -_pgr_strongcomponents(text) -pgr_strongcomponents(text) -_pgr_topologicalsort(text) -pgr_topologicalsort(text) -_pgr_transitiveclosure(text) -pgr_transitiveclosure(text) -_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,integer,boolean,boolean,text) -_pgr_trsp(text,text,anyarray,anyarray,boolean) -_pgr_trsp(text,text,anyarray,bigint,boolean) -_pgr_trsp(text,text,bigint,anyarray,boolean) -_pgr_trsp(text,text,bigint,bigint,boolean) -pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) -pgr_trspviavertices(text,anyarray,boolean,boolean,text) -_pgr_trspviavertices(text,integer[],boolean,boolean,text) -_pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -_pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -_pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) -pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) -pgr_version() -_pgr_versionless(text,text) -_pgr_vrponedepot(text,text,text,integer) -pgr_vrponedepot(text,text,text,integer) -pgr_withpointscostmatrix(text,text,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,bigint,boolean,character) -pgr_withpointscost(text,text,bigint,anyarray,boolean,character) -pgr_withpointscost(text,text,bigint,bigint,boolean,character) -_pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) -_pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) -_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,boolean) -pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) -pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) -pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) -_pgr_withpointsvia(text,bigint[],double precision[],boolean) -_trsp(text,text,anyarray,anyarray,boolean) From 9df98e84a47d64bbc8eb1c030c0d2796172a5994 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 25 Jun 2020 10:54:15 +0530 Subject: [PATCH 0164/1360] [sequentialVertexColoring] Added comments --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 15044ab47fb..7b7bc006cfd 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -128,9 +128,12 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { typename graph_traits::vertex_iterator v, vend; + // iterate through every vertex in the graph for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t node = graph[*v].id; int64_t color = colors[*v]; + + // push the vertex id and the color of the vertex in `results` vector results.push_back({ node, color From 99b3683782a8480997cb611a3d8b8ace25325c68 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 25 Jun 2020 10:56:21 +0530 Subject: [PATCH 0165/1360] [depthFirstSearch] Fixed error in the docstring --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 3f970d7aa91..ef14a5be28a 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -165,7 +165,7 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { * @param max_depth the maximum depth of traversal * @param graph the graph containing the edges * - * @returns bool @b True, when results are found + * @returns `results` vector */ template std::vector get_results( From 2f52f904eb116fb142d51d9a4359258c6587e932 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 25 Jun 2020 10:57:45 +0530 Subject: [PATCH 0166/1360] [sequentialVertexColoring] Modified docstring --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 7b7bc006cfd..63134d7e383 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -114,12 +114,10 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { * * Uses the `colors` vector to get the results i.e. the color of every vertex. * - * @param visited_order vector which contains the edges of the resulting traversal - * @param source the starting vertex - * @param max_depth the maximum depth of traversal - * @param graph the graph containing the edges + * @param colors vector which contains the color of every vertex + * @param graph the graph containing the edges * - * @returns bool @b True, when results are found + * @returns `results` vector */ std::vector get_results( std::vector &colors, @@ -133,7 +131,7 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { int64_t node = graph[*v].id; int64_t color = colors[*v]; - // push the vertex id and the color of the vertex in `results` vector + // push the vertex id and the color of the vertex in the `results` vector results.push_back({ node, color From 6eb334663c723d15d88bc84de82c9de426bec9c3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 25 Jun 2020 11:01:01 +0530 Subject: [PATCH 0167/1360] [sequentialVertexColoring] Removed boost namespace --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 63134d7e383..c8c3b014277 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -46,7 +46,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * Contains actual implementation of the function and the calling * of the respective boost function. */ -using namespace boost; + namespace pgrouting { namespace functions { @@ -124,7 +124,7 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { const G &graph) { std::vector results; - typename graph_traits::vertex_iterator v, vend; + typename boost::graph_traits::vertex_iterator v, vend; // iterate through every vertex in the graph for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { From 47ca9d5d57eab3919bc2c18f887b4d35b01ab959 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 25 Jun 2020 11:01:12 +0530 Subject: [PATCH 0168/1360] [sequentialVertexColoring] Restored all the signatures of the functions --- sql/sigs/pgrouting--3.0.0.sig | 238 ++++++++++++++++++++++++++++++++++ 1 file changed, 238 insertions(+) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 1704ab142d2..8d694b457d7 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -1,3 +1,241 @@ #VERSION pgrouting 3.0.0 #TYPES #FUNCTIONS +pgr_alphashape(geometry,double precision) +_pgr_alphashape(text,double precision) +pgr_analyzegraph(text,double precision,text,text,text,text,text) +pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) +_pgr_array_reverse(anyarray) +_pgr_articulationpoints(text) +pgr_articulationpoints(text) +pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) +pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) +pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) +_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) +pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) +pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) +pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) +pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) +_pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) +pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) +pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) +pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) +pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) +pgr_bddijkstracostmatrix(text,anyarray,boolean) +pgr_bddijkstracost(text,anyarray,anyarray,boolean) +pgr_bddijkstracost(text,anyarray,bigint,boolean) +pgr_bddijkstracost(text,bigint,anyarray,boolean) +pgr_bddijkstracost(text,bigint,bigint,boolean) +pgr_bddijkstra(text,anyarray,anyarray,boolean) +_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) +pgr_bddijkstra(text,anyarray,bigint,boolean) +pgr_bddijkstra(text,bigint,anyarray,boolean) +pgr_bddijkstra(text,bigint,bigint,boolean) +pgr_bellmanford(text,anyarray,anyarray,boolean) +_pgr_bellmanford(text,anyarray,anyarray,boolean,boolean) +pgr_bellmanford(text,anyarray,bigint,boolean) +pgr_bellmanford(text,bigint,anyarray,boolean) +pgr_bellmanford(text,bigint,bigint,boolean) +_pgr_biconnectedcomponents(text) +pgr_biconnectedcomponents(text) +_pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) +pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) +pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) +pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) +pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) +_pgr_boost_version() +pgr_boykovkolmogorov(text,anyarray,anyarray) +pgr_boykovkolmogorov(text,anyarray,bigint) +pgr_boykovkolmogorov(text,bigint,anyarray) +pgr_boykovkolmogorov(text,bigint,bigint) +_pgr_breadthfirstsearch(text,anyarray,bigint,boolean) +pgr_breadthfirstsearch(text,anyarray,bigint,boolean) +pgr_breadthfirstsearch(text,bigint,bigint,boolean) +_pgr_bridges(text) +pgr_bridges(text) +_pgr_build_type() +_pgr_checkverttab(text,text[],integer,text) +pgr_chinesepostmancost(text) +pgr_chinesepostman(text) +_pgr_chinesepostman(text,boolean) +_pgr_compilation_date() +_pgr_compiler_version() +_pgr_connectedcomponents(text) +pgr_connectedcomponents(text) +_pgr_contraction(text,bigint[],integer,bigint[],boolean) +pgr_contraction(text,bigint[],integer,bigint[],boolean) +_pgr_createindex(text,text,text,integer,text) +_pgr_createindex(text,text,text,text,integer,text) +pgr_createtopology(text,double precision,text,text,text,text,text,boolean) +pgr_createverticestable(text,text,text,text,text) +pgr_dagshortestpath(text,anyarray,anyarray) +_pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) +pgr_dagshortestpath(text,anyarray,bigint) +pgr_dagshortestpath(text,bigint,anyarray) +pgr_dagshortestpath(text,bigint,bigint) +_pgr_depthfirstsearch(text,anyarray,bigint,boolean) +pgr_depthfirstsearch(text,anyarray,bigint,boolean) +pgr_depthfirstsearch(text,bigint,bigint,boolean) +pgr_dijkstracostmatrix(text,anyarray,boolean) +pgr_dijkstracost(text,anyarray,anyarray,boolean) +pgr_dijkstracost(text,anyarray,bigint,boolean) +pgr_dijkstracost(text,bigint,anyarray,boolean) +pgr_dijkstracost(text,bigint,bigint,boolean) +_pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean) +_pgr_dijkstranear(text,anyarray,bigint,bigint,boolean) +_pgr_dijkstranear(text,bigint,anyarray,bigint,boolean) +pgr_dijkstra(text,anyarray,anyarray,boolean) +_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint) +pgr_dijkstra(text,anyarray,bigint,boolean) +pgr_dijkstra(text,bigint,anyarray,boolean) +pgr_dijkstra(text,bigint,bigint,boolean) +_pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) +pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) +_pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) +pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) +pgr_drivingdistance(text,bigint,double precision,boolean) +_pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) +pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) +pgr_edgedisjointpaths(text,anyarray,bigint,boolean) +pgr_edgedisjointpaths(text,bigint,anyarray,boolean) +pgr_edgedisjointpaths(text,bigint,bigint,boolean) +pgr_edmondskarp(text,anyarray,anyarray) +pgr_edmondskarp(text,anyarray,bigint) +pgr_edmondskarp(text,bigint,anyarray) +pgr_edmondskarp(text,bigint,bigint) +_pgr_edwardmoore(text,anyarray,anyarray,boolean) +pgr_edwardmoore(text,anyarray,anyarray,boolean) +pgr_edwardmoore(text,anyarray,bigint,boolean) +pgr_edwardmoore(text,bigint,anyarray,boolean) +pgr_edwardmoore(text,bigint,bigint,boolean) +_pgr_endpoint(geometry) +pgr_extractvertices(text,boolean) +_pgr_floydwarshall(text,boolean) +pgr_floydwarshall(text,boolean) +pgr_full_version() +_pgr_getcolumnname(text,text,integer,text) +_pgr_getcolumnname(text,text,text,integer,text) +_pgr_getcolumntype(text,text,integer,text) +_pgr_getcolumntype(text,text,text,integer,text) +_pgr_get_statement(text) +_pgr_gettablename(text,integer,text) +_pgr_git_hash() +_pgr_iscolumnindexed(text,text,integer,text) +_pgr_iscolumnindexed(text,text,text,integer,text) +_pgr_iscolumnintable(text,text) +_pgr_johnson(text,boolean) +pgr_johnson(text,boolean) +pgr_kruskalbfs(text,anyarray,bigint) +pgr_kruskalbfs(text,bigint,bigint) +pgr_kruskaldd(text,anyarray,double precision) +pgr_kruskaldd(text,anyarray,numeric) +pgr_kruskaldd(text,bigint,double precision) +pgr_kruskaldd(text,bigint,numeric) +pgr_kruskaldfs(text,anyarray,bigint) +pgr_kruskaldfs(text,bigint,bigint) +pgr_kruskal(text) +_pgr_kruskal(text,anyarray,text,bigint,double precision) +_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) +pgr_ksp(text,bigint,bigint,integer,boolean,boolean) +_pgr_lib_version() +_pgr_linegraphfull(text) +pgr_linegraphfull(text) +_pgr_linegraph(text,boolean) +pgr_linegraph(text,boolean) +_pgr_maxcardinalitymatch(text,boolean) +pgr_maxcardinalitymatch(text,boolean) +pgr_maxflowmincost_cost(text,anyarray,anyarray) +pgr_maxflowmincost_cost(text,anyarray,bigint) +pgr_maxflowmincost_cost(text,bigint,anyarray) +pgr_maxflowmincost_cost(text,bigint,bigint) +pgr_maxflowmincost(text,anyarray,anyarray) +_pgr_maxflowmincost(text,anyarray,anyarray,boolean) +pgr_maxflowmincost(text,anyarray,bigint) +pgr_maxflowmincost(text,bigint,anyarray) +pgr_maxflowmincost(text,bigint,bigint) +pgr_maxflow(text,anyarray,anyarray) +_pgr_maxflow(text,anyarray,anyarray,integer,boolean) +pgr_maxflow(text,anyarray,bigint) +pgr_maxflow(text,bigint,anyarray) +pgr_maxflow(text,bigint,bigint) +_pgr_msg(integer,text,text) +pgr_nodenetwork(text,double precision,text,text,text,text,boolean) +_pgr_onerror(boolean,integer,text,text,text,text) +_pgr_operating_system() +_pgr_parameter_check(text,text,boolean) +_pgr_pgsql_version() +_pgr_pickdelivereuclidean(text,text,double precision,integer,integer) +pgr_pickdelivereuclidean(text,text,double precision,integer,integer) +_pgr_pickdeliver(text,text,text,double precision,integer,integer) +pgr_pickdeliver(text,text,text,double precision,integer,integer) +_pgr_pointtoid(geometry,double precision,text,integer) +pgr_primbfs(text,anyarray,bigint) +pgr_primbfs(text,bigint,bigint) +pgr_primdd(text,anyarray,double precision) +pgr_primdd(text,anyarray,numeric) +pgr_primdd(text,bigint,double precision) +pgr_primdd(text,bigint,numeric) +pgr_primdfs(text,anyarray,bigint) +pgr_primdfs(text,bigint,bigint) +pgr_prim(text) +_pgr_prim(text,anyarray,text,bigint,double precision) +pgr_pushrelabel(text,anyarray,anyarray) +pgr_pushrelabel(text,anyarray,bigint) +pgr_pushrelabel(text,bigint,anyarray) +pgr_pushrelabel(text,bigint,bigint) +_pgr_quote_ident(text) +_pgr_sequentialvertexcoloring(text) +pgr_sequentialvertexcoloring(text) +_pgr_startpoint(geometry) +_pgr_stoerwagner(text) +pgr_stoerwagner(text) +_pgr_strongcomponents(text) +pgr_strongcomponents(text) +_pgr_topologicalsort(text) +pgr_topologicalsort(text) +_pgr_transitiveclosure(text) +pgr_transitiveclosure(text) +_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) +pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) +pgr_trsp(text,integer,integer,boolean,boolean,text) +_pgr_trsp(text,text,anyarray,anyarray,boolean) +_pgr_trsp(text,text,anyarray,bigint,boolean) +_pgr_trsp(text,text,bigint,anyarray,boolean) +_pgr_trsp(text,text,bigint,bigint,boolean) +pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) +pgr_trspviavertices(text,anyarray,boolean,boolean,text) +_pgr_trspviavertices(text,integer[],boolean,boolean,text) +_pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +_pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +_pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) +pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) +pgr_version() +_pgr_versionless(text,text) +_pgr_vrponedepot(text,text,text,integer) +pgr_vrponedepot(text,text,text,integer) +pgr_withpointscostmatrix(text,text,anyarray,boolean,character) +pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) +pgr_withpointscost(text,text,anyarray,bigint,boolean,character) +pgr_withpointscost(text,text,bigint,anyarray,boolean,character) +pgr_withpointscost(text,text,bigint,bigint,boolean,character) +_pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) +pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) +pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) +_pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) +pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) +pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) +_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,boolean) +pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) +pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) +pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) +_pgr_withpointsvia(text,bigint[],double precision[],boolean) +_trsp(text,text,anyarray,anyarray,boolean) From 2526292800742a3d03f67f7296152a5e15d57154 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 25 Jun 2020 11:04:35 +0530 Subject: [PATCH 0169/1360] [sequentialVertexColoring] Modified the docqueries --- .../doc-pgr_sequentialVertexColoring.result | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result index 68b78e3c81e..51c4f729ba3 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result @@ -8,7 +8,24 @@ SELECT * FROM pgr_sequentialVertexColoring( ); seq | node | color -----+------+------- -(0 rows) + 1 | 1 | 0 + 2 | 2 | 1 + 3 | 3 | 0 + 4 | 4 | 1 + 5 | 5 | 0 + 6 | 6 | 1 + 7 | 7 | 0 + 8 | 8 | 1 + 9 | 9 | 0 + 10 | 10 | 1 + 11 | 11 | 0 + 12 | 12 | 1 + 13 | 13 | 0 + 14 | 14 | 0 + 15 | 15 | 1 + 16 | 16 | 0 + 17 | 17 | 1 +(17 rows) -- q2 ROLLBACK; From 7800f869412c7dfe57ab9a630bc3c042734af455 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 25 Jun 2020 11:05:58 +0530 Subject: [PATCH 0170/1360] [sequentialVertexColoring] Fixed indentation --- .../pgr_sequentialVertexColoring.hpp | 171 +++++++++--------- 1 file changed, 85 insertions(+), 86 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index c8c3b014277..4e98c8ced51 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -55,92 +55,91 @@ namespace functions { template class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { -public: - typedef typename G::V V; - typedef typename G::E E; - typedef boost::adjacency_list Graph; - typedef boost::graph_traits::vertices_size_type vertices_size_type; - - /** @name SequentialVertexColoring - * @{ - * - */ - - /** @brief sequentialVertexColoring function - * - * It does all the processing and returns the results. - * - * @param graph the graph containing the edges - * - * @returns results, when results are found - * - * @see [boost::sequential_vertex_coloring] - * (https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/sequential_vertex_coloring.html) - */ - std::vector sequentialVertexColoring( - G &graph) { - std::vector results; - - // vector which will store the color of all the vertices in the graph - std::vector colors(boost::num_vertices(graph.graph)); - - // An iterator property map which records the colors of each vertex - auto color_map = boost::make_iterator_property_map(colors.begin(), - boost::get(boost::vertex_index, graph.graph)); - - try { - // calling the boost function - boost::sequential_vertex_coloring( - graph.graph, color_map); - } catch (boost::exception const& ex) { - (void)ex; - throw; - } catch (std::exception &e) { - (void)e; - throw; - } catch (...) { - throw; - } - - results = get_results(colors, graph); - - return results; - } - - //@} - -private: - /** @brief to get the results - * - * Uses the `colors` vector to get the results i.e. the color of every vertex. - * - * @param colors vector which contains the color of every vertex - * @param graph the graph containing the edges - * - * @returns `results` vector - */ - std::vector get_results( - std::vector &colors, - const G &graph) { - std::vector results; - - typename boost::graph_traits::vertex_iterator v, vend; - - // iterate through every vertex in the graph - for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { - int64_t node = graph[*v].id; - int64_t color = colors[*v]; - - // push the vertex id and the color of the vertex in the `results` vector - results.push_back({ - node, - color - }); - } - - return results; - } - + public: + typedef typename G::V V; + typedef typename G::E E; + typedef boost::adjacency_list Graph; + typedef boost::graph_traits::vertices_size_type vertices_size_type; + + /** @name SequentialVertexColoring + * @{ + * + */ + + /** @brief sequentialVertexColoring function + * + * It does all the processing and returns the results. + * + * @param graph the graph containing the edges + * + * @returns results, when results are found + * + * @see [boost::sequential_vertex_coloring] + * (https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/sequential_vertex_coloring.html) + */ + std::vector sequentialVertexColoring( + G &graph) { + std::vector results; + + // vector which will store the color of all the vertices in the graph + std::vector colors(boost::num_vertices(graph.graph)); + + // An iterator property map which records the colors of each vertex + auto color_map = boost::make_iterator_property_map(colors.begin(), + boost::get(boost::vertex_index, graph.graph)); + + try { + // calling the boost function + boost::sequential_vertex_coloring( + graph.graph, color_map); + } catch (boost::exception const& ex) { + (void)ex; + throw; + } catch (std::exception &e) { + (void)e; + throw; + } catch (...) { + throw; + } + + results = get_results(colors, graph); + + return results; + } + + //@} + + private: + /** @brief to get the results + * + * Uses the `colors` vector to get the results i.e. the color of every vertex. + * + * @param colors vector which contains the color of every vertex + * @param graph the graph containing the edges + * + * @returns `results` vector + */ + std::vector get_results( + std::vector &colors, + const G &graph) { + std::vector results; + + typename boost::graph_traits::vertex_iterator v, vend; + + // iterate through every vertex in the graph + for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { + int64_t node = graph[*v].id; + int64_t color = colors[*v]; + + // push the vertex id and the color of the vertex in the `results` vector + results.push_back({ + node, + color + }); + } + + return results; + } }; } // namespace functions } // namespace pgrouting From e2d9874c0906668d9a924b8cf125576e04e2e60f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 29 Jun 2020 14:42:11 +0530 Subject: [PATCH 0171/1360] [sequentialVertexColoring] [doc] Added basic description --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index f7a7cf7529d..cd803c518f6 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -10,6 +10,9 @@ pgr_sequentialVertexColoring - Experimental =============================================================================== +``pgr_sequentialVertexColoring`` — Assigns labels to the vertices of graph +such that no edge connects two identically labeled vertices. In particular, +the Sequential Vertex Coloring algorithm implemented by Boost.Graph. Description ------------------------------------------------------------------------------- From 53955293ed8e049110a7d9a847d03e2b674ccbf4 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 29 Jun 2020 17:56:22 +0530 Subject: [PATCH 0172/1360] [sequentialVertexColoring] [doc] Added basic header informations --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index cd803c518f6..8c7ad398146 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -14,6 +14,17 @@ pgr_sequentialVertexColoring - Experimental such that no edge connects two identically labeled vertices. In particular, the Sequential Vertex Coloring algorithm implemented by Boost.Graph. +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/libs/graph/doc/sequential_vertex_coloring.html + + Boost Graph Inside + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-exp + +.. rubric:: Availability + Description ------------------------------------------------------------------------------- From 0b0767eea169a92fc8ff9d935c1b30c8cd60c427 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 29 Jun 2020 18:37:46 +0530 Subject: [PATCH 0173/1360] [sequentialVertexColoring] [doc] Completed the description --- .../pgr_sequentialVertexColoring.rst | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index 8c7ad398146..314e5e0ec64 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -28,6 +28,30 @@ the Sequential Vertex Coloring algorithm implemented by Boost.Graph. Description ------------------------------------------------------------------------------- +Sequential Vertex Coloring algorithm is a graph coloring or labeling algorithm +in which colors or labels are assigned to the vertices of a graph sequentially, +such that no edge connects two identically labeled or colored vertices. The +returned rows are ordered sequentially, starting from the node having the smallest +value to the node having the greatest value. + +Efficient graph coloring is an NP-Hard problem, and therefore, the Sequential +Vertex Coloring algorithm does not always produce optimal coloring. This algorithm +follows a greedy strategy by iterating through all the vertices sequentially, +and assigning the smallest possible color that is not used by its neighbors to +each vertex. + +**The main Characteristics are:** + +- The implementation is applicable only for undirected graphs, because + the direction of the edge has no significance to this algorithm. +- Provides the color to be assigned to all the nodes present in the graph. +- The returned rows are ordered in ascending order of the node value. +- The range of color lies from `0` to `(total number of nodes - 1)`. Higher + color values are used only if required, i.e. the algorithm tries to assign + the least possible color to every vertex. +- Sequential Vertex Coloring Running Time: :math:`O(|V|*(|d| + |k|))`, where + :math:`|V|` is the number of vertices, :math:`|d|` is the maximum degree of + the vertices in the graph, and :math:`|k|` is the number of colors used. Signatures ------------------------------------------------------------------------------ From f3c255b8ad97db8bf73b9b9a3d35be5aaca6db7b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 29 Jun 2020 18:57:57 +0530 Subject: [PATCH 0174/1360] [depthFirstSearch] [doc] Added experimental in index --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index c01edd3d7ae..432e23596d6 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -74,7 +74,7 @@ Signatures :end-before: -- q2 .. index:: - single: depthFirstSearch(Single vertex) + single: depthFirstSearch(Single vertex) - Experimental Single vertex ............................................................................... @@ -94,7 +94,7 @@ Single vertex :end-before: -- q3 .. index:: - single: depthFirstSearch(Multiple vertices) + single: depthFirstSearch(Multiple vertices) - Experimental Multiple vertices ............................................................................... From ca878fc416c9ebcf61108b686e11d48daa948e40 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 29 Jun 2020 18:59:29 +0530 Subject: [PATCH 0175/1360] [sequentialVertexColoring] [doc] Added signatures --- .../pgr_sequentialVertexColoring.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index 314e5e0ec64..ad53e9387d7 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -56,6 +56,25 @@ each vertex. Signatures ------------------------------------------------------------------------------ +.. code-block:: none + + pgr_sequentialVertexColoring(TEXT edges_sql) + + RETURNS SET OF (seq, node, color) + OR EMPTY SET + +:Example: Graph coloring of pgRouting :doc:`sampledata` + +.. literalinclude:: doc-pgr_sequentialVertexColoring.queries + :start-after: -- q1 + :end-before: -- q2 + +.. index:: + single: sequentialVertexColoring - Experimental + +.. Parameters, Inner query & result columns + +.. sequentialVertexColoring-information-start Parameters ------------------------------------------------------------------------------- From 0616880b36662f36916c414800434f240e8e788c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 30 Jun 2020 13:32:25 +0530 Subject: [PATCH 0176/1360] [sequentialVertexColoring] [doc] Added the parameters --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index ad53e9387d7..cb0b6370cc7 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -79,6 +79,11 @@ Signatures Parameters ------------------------------------------------------------------------------- +=================== ====================== ================================================= +Parameter Type Description +=================== ====================== ================================================= +**edges_sql** ``TEXT`` SQL query described in `Inner query`_. +=================== ====================== ================================================= Inner query ------------------------------------------------------------------------------- From e65dea8b5ed1e27bbf83e9f9b60aa52d1f2db37f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 30 Jun 2020 13:32:56 +0530 Subject: [PATCH 0177/1360] [sequentialVertexColoring] [doc] Added the inner query --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index cb0b6370cc7..abff51113cb 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -88,6 +88,11 @@ Parameter Type Description Inner query ------------------------------------------------------------------------------- +.. rubric:: edges_sql + +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end Result Columns ------------------------------------------------------------------------------- From d645462e6c350888b0731784928acee25567b09c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 30 Jun 2020 13:37:01 +0530 Subject: [PATCH 0178/1360] [sequentialVertexColoring] [doc] Added the result columns --- .../pgr_sequentialVertexColoring.rst | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index abff51113cb..de78487db64 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -46,7 +46,7 @@ each vertex. the direction of the edge has no significance to this algorithm. - Provides the color to be assigned to all the nodes present in the graph. - The returned rows are ordered in ascending order of the node value. -- The range of color lies from `0` to `(total number of nodes - 1)`. Higher +- The range of color lies from :math:`0` to :math:`(total number of nodes - 1)`. Higher color values are used only if required, i.e. the algorithm tries to assign the least possible color to every vertex. - Sequential Vertex Coloring Running Time: :math:`O(|V|*(|d| + |k|))`, where @@ -97,6 +97,23 @@ Inner query Result Columns ------------------------------------------------------------------------------- +.. result columns start + +Returns SET OF ``(seq, node, color)`` + +=============== =========== ==================================================== +Column Type Description +=============== =========== ==================================================== +**seq** ``BIGINT`` Sequential value starting from :math:`1`. +**node** ``BIGINT`` Identifier of all the ``nodes`` in the graph. +**color** ``BIGINT`` Identifier of the ``color`` of the ``node``. + + - Ranges from :math:`0` to :math:`(total number of nodes - 1)`. + +=============== =========== ==================================================== + +.. result columns end + Aditional Examples ------------------------------------------------------------------------------- From 330943317235fa6511ad083f598b4517e388fa96 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 30 Jun 2020 13:40:35 +0530 Subject: [PATCH 0179/1360] [depthFirstSearch] [doc] Edited See Also section --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 432e23596d6..bae9eef7c76 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -257,8 +257,10 @@ See Also ------------------------------------------------------------------------------- * The queries use the :doc:`sampledata` network. -* `Boost: Depth First Search algorithm documentation `__ -* `Boost: Undirected DFS algorithm documentation `__ +* `Boost: Depth First Search algorithm documentation `__ +* `Boost: Undirected DFS algorithm documentation `__ * `Wikipedia: Depth First Search algorithm `__ .. rubric:: Indices and tables From 7b6b397170fcfc6933ed8036c61251c083a65b4a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 30 Jun 2020 13:42:26 +0530 Subject: [PATCH 0180/1360] [depthFirstSearch] [doc] Edited See Also section --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index bae9eef7c76..750306ba106 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -257,10 +257,8 @@ See Also ------------------------------------------------------------------------------- * The queries use the :doc:`sampledata` network. -* `Boost: Depth First Search algorithm documentation `__ -* `Boost: Undirected DFS algorithm documentation `__ +* `Boost: Depth First Search algorithm documentation `__ +* `Boost: Undirected DFS algorithm documentation `__ * `Wikipedia: Depth First Search algorithm `__ .. rubric:: Indices and tables From 921e9084aec17846435ddc6735b7ec2c50d4dbdd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 30 Jun 2020 13:43:55 +0530 Subject: [PATCH 0181/1360] [sequentialVertexColoring] [doc] Added See Also section --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index de78487db64..7b10573e371 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -122,7 +122,9 @@ Aditional Examples See Also ------------------------------------------------------------------------------- -* The queries use the :ref:`sampledata` network. +* The queries use the :doc:`sampledata` network. +* `Boost: Sequential Vertex Coloring algorithm documentation `__ +* `Wikipedia: Graph coloring `__ .. rubric:: Indices and tables From e5a6d5efcbde09ce2cbd6b56c3dbce0a7d71ec8d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 2 Jul 2020 13:27:34 +0530 Subject: [PATCH 0182/1360] [sequentialVertexColoring] [fix] Sorted the edges in an ascending order of their id, before creating the graph --- src/graphColoring/sequentialVertexColoring_driver.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index efce3cd32fa..314108b6257 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -122,6 +122,14 @@ do_pgr_sequentialVertexColoring( graphType gType = UNDIRECTED; pgrouting::UndirectedGraph undigraph(gType); + + // sorting the edges in an ascending order of their id, before creating the graph + std::sort(data_edges, data_edges + total_edges, + [](const pgr_edge_t &edge1, const pgr_edge_t &edge2) -> bool + { + return edge1.id < edge2.id; + }); + undigraph.insert_edges(data_edges, total_edges); // calls the template function From 0b8467aca6d8c280d18aa7a80fbf4388e14fb02e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 2 Jul 2020 13:31:28 +0530 Subject: [PATCH 0183/1360] [depthFirstSearch] [fix] Sorted the edges in an ascending order of their id, before creating the graph --- src/depthFirstSearch/depthFirstSearch_driver.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 00a81b646a2..482a470b9b6 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -149,6 +149,13 @@ do_pgr_depthFirstSearch( // string variable to store the log messages std::string logstr; + // sorting the edges in an ascending order of their id, before creating the graph + std::sort(data_edges, data_edges + total_edges, + [](const pgr_edge_t &edge1, const pgr_edge_t &edge2) -> bool + { + return edge1.id < edge2.id; + }); + if (directed) { // If the graph is directed log << "Working with directed Graph\n"; From 8b8232d960d83bd710d4175cc7a24e538ff13493 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 2 Jul 2020 13:39:36 +0530 Subject: [PATCH 0184/1360] [sequentialVertexColoring] Removed seq from SQL files --- sql/graphColoring/_sequentialVertexColoring.sql | 1 - sql/graphColoring/sequentialVertexColoring.sql | 1 - 2 files changed, 2 deletions(-) diff --git a/sql/graphColoring/_sequentialVertexColoring.sql b/sql/graphColoring/_sequentialVertexColoring.sql index e734654a849..041bdc6710d 100644 --- a/sql/graphColoring/_sequentialVertexColoring.sql +++ b/sql/graphColoring/_sequentialVertexColoring.sql @@ -35,7 +35,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION _pgr_sequentialVertexColoring( edges_sql TEXT, - OUT seq BIGINT, OUT node BIGINT, OUT color BIGINT) diff --git a/sql/graphColoring/sequentialVertexColoring.sql b/sql/graphColoring/sequentialVertexColoring.sql index e972db58ad7..971d538402a 100644 --- a/sql/graphColoring/sequentialVertexColoring.sql +++ b/sql/graphColoring/sequentialVertexColoring.sql @@ -35,7 +35,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION pgr_sequentialVertexColoring( TEXT, -- edges_sql (required) - OUT seq BIGINT, OUT node BIGINT, OUT color BIGINT) RETURNS SETOF RECORD AS From 64f782144277061e659e4ed9e45b313fea22af35 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 2 Jul 2020 13:41:55 +0530 Subject: [PATCH 0185/1360] [sequentialVertexColoring] Removed seq from C file --- src/graphColoring/sequentialVertexColoring.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index 3d1e22c99ba..ad4913033e4 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -187,7 +187,6 @@ PGDLLEXPORT Datum _pgr_sequentialvertexcoloring(PG_FUNCTION_ARGS) { /*********************************************************************** * - * OUT seq BIGINT, * OUT node BIGINT, * OUT color BIGINT, * @@ -203,9 +202,8 @@ PGDLLEXPORT Datum _pgr_sequentialvertexcoloring(PG_FUNCTION_ARGS) { nulls[i] = false; } - values[0] = Int64GetDatum(funcctx->call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); - values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].color); + values[0] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].color); /**********************************************************************/ From e599f26492237f0da4bf7dc38dda4b37c08692cf Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 2 Jul 2020 13:44:37 +0530 Subject: [PATCH 0186/1360] [sequentialVertexColoring] Updated docqueries after removing seq --- .../doc-pgr_sequentialVertexColoring.result | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result index 51c4f729ba3..e519c552964 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result @@ -6,25 +6,25 @@ SET SELECT * FROM pgr_sequentialVertexColoring( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id' ); - seq | node | color ------+------+------- - 1 | 1 | 0 - 2 | 2 | 1 - 3 | 3 | 0 - 4 | 4 | 1 - 5 | 5 | 0 - 6 | 6 | 1 - 7 | 7 | 0 - 8 | 8 | 1 - 9 | 9 | 0 - 10 | 10 | 1 - 11 | 11 | 0 - 12 | 12 | 1 - 13 | 13 | 0 - 14 | 14 | 0 - 15 | 15 | 1 - 16 | 16 | 0 - 17 | 17 | 1 + node | color +------+------- + 1 | 0 + 2 | 1 + 3 | 0 + 4 | 1 + 5 | 0 + 6 | 1 + 7 | 0 + 8 | 1 + 9 | 0 + 10 | 1 + 11 | 0 + 12 | 1 + 13 | 0 + 14 | 0 + 15 | 1 + 16 | 0 + 17 | 1 (17 rows) -- q2 From 7e305dc5da1e923c565bf04dab95dc1cb60fa91b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 2 Jul 2020 13:53:11 +0530 Subject: [PATCH 0187/1360] [sequentialVertexColoring] [doc] Removed seq from the result columns --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index 7b10573e371..e375706e0c4 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -60,7 +60,7 @@ Signatures pgr_sequentialVertexColoring(TEXT edges_sql) - RETURNS SET OF (seq, node, color) + RETURNS SET OF (node, color) OR EMPTY SET :Example: Graph coloring of pgRouting :doc:`sampledata` @@ -99,12 +99,11 @@ Result Columns .. result columns start -Returns SET OF ``(seq, node, color)`` +Returns SET OF ``(node, color)`` =============== =========== ==================================================== Column Type Description =============== =========== ==================================================== -**seq** ``BIGINT`` Sequential value starting from :math:`1`. **node** ``BIGINT`` Identifier of all the ``nodes`` in the graph. **color** ``BIGINT`` Identifier of the ``color`` of the ``node``. From 50ab1503e615db081c43b1811f2976161b71fd8d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 2 Jul 2020 13:56:00 +0530 Subject: [PATCH 0188/1360] [depthFirstSearch] [doc] Removed vertex out of graph section --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 8 -------- 1 file changed, 8 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 750306ba106..e3927fc67c8 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -221,14 +221,6 @@ The examples in this section use the following: :start-after: -- q7 :end-before: -- q8 -**Vertex Out Of Graph** - -:Example: For queries in which starting vertex is not present in the graph - -.. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q9 - :end-before: -- q10 - Equivalences between signatures ............................................................................... From 631234c8d0b7e45fb497cf7ceded73a669168d0a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 2 Jul 2020 13:58:03 +0530 Subject: [PATCH 0189/1360] [depthFirstSearch] [doc] Removed vertex out of graph from docqueries --- .../depthFirstSearch/doc-pgr_depthFirstSearch.result | 10 ---------- .../doc-pgr_depthFirstSearch.test.sql | 11 ----------- 2 files changed, 21 deletions(-) diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index e880211a220..316a688b96d 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -185,16 +185,6 @@ SELECT * FROM pgr_depthFirstSearch( (6 rows) -- q8 --- q9 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[-10,20] -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- -(0 rows) - --- q10 -- q11 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index ee797e273ed..8de0a509445 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -54,17 +54,6 @@ SELECT * FROM pgr_depthFirstSearch( \echo -- q8 --- Example for Vertex Out of Graph -------------------------------------------------------------------------------- - -\echo -- q9 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[-10,20] -); -\echo -- q10 - - -- Equivalences for :ref:`fig1-direct-Cost-Reverse` ------------------------------------------------------------------------------- From e7914c83eaf90fad02175f12e958bf7a2e40532d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 2 Jul 2020 13:58:45 +0530 Subject: [PATCH 0190/1360] [depthFirstSearch] [doc] Renamed query number --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 8 ++++---- .../depthFirstSearch/doc-pgr_depthFirstSearch.result | 8 ++++---- .../depthFirstSearch/doc-pgr_depthFirstSearch.test.sql | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index e3927fc67c8..3db1342396a 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -231,8 +231,8 @@ The examples in this section use the following: * :ref:`fig1` .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q11 - :end-before: -- q12 + :start-after: -- q9 + :end-before: -- q10 :Examples: For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns @@ -241,8 +241,8 @@ The examples in this section use the following: * :ref:`fig2` .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q13 - :end-before: -- q14 + :start-after: -- q11 + :end-before: -- q12 See Also diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 316a688b96d..1e9cadd40af 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -185,7 +185,7 @@ SELECT * FROM pgr_depthFirstSearch( (6 rows) -- q8 --- q11 +-- q9 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16 @@ -236,8 +236,8 @@ SELECT * FROM pgr_depthFirstSearch( 2 | 1 | 16 | 17 | 18 | 1 | 1 (2 rows) --- q12 --- q13 +-- q10 +-- q11 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16, directed => false @@ -278,6 +278,6 @@ SELECT * FROM pgr_depthFirstSearch( 2 | 1 | 16 | 17 | 18 | 1 | 1 (2 rows) --- q14 +-- q12 ROLLBACK; ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 8de0a509445..c0f7ea882bf 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -57,7 +57,7 @@ SELECT * FROM pgr_depthFirstSearch( -- Equivalences for :ref:`fig1-direct-Cost-Reverse` ------------------------------------------------------------------------------- -\echo -- q11 +\echo -- q9 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16 @@ -78,13 +78,13 @@ SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[16], max_depth => 5 ); -\echo -- q12 +\echo -- q10 -- Equivalences for :ref:`fig2-undirect-Cost-Reverse` ------------------------------------------------------------------------------- -\echo -- q13 +\echo -- q11 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 16, directed => false @@ -101,4 +101,4 @@ SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[16], max_depth => 5, directed => false ); -\echo -- q14 +\echo -- q12 From 6f60ecfba1b7f3a8ff72d8d1621fb776ac7cb27e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 13:28:21 +0530 Subject: [PATCH 0191/1360] [depthFirstSearch] [doc] Added points in description section --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 3db1342396a..333da4dd382 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -34,6 +34,10 @@ depth-first search traversal order. An optional non-negative maximum depth parameter (``max_depth``) can be specified to get the results up to a particular depth. +**Note**: If two or more vertices are at the same depth from the current vertex, +then to resolve the clash, out of all the edges joining the current vertex and +the next vertex, the edge having the smallest id will be traversed first. + **The main Characteristics are:** - The implementation works for both undirected and directed graphs. @@ -43,6 +47,9 @@ depth. ignored. - The returned values are ordered in ascending order of `start_vid`. - If the starting vertex does not exist, empty row is returned. +- The depth first search traversal does not always produce the shortest + path from a source vertex to a given target vertex. So, the aggregate cost + of traversal may not always be minimal. - Depth First Search Running time: :math:`O(E + V)` Signatures From 1d37f6128d69b282af034a5f2b37fd294b2fc2af Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 15:34:11 +0530 Subject: [PATCH 0192/1360] [sequentialVertexColoring] Sorted results in increasing order of node id --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 4e98c8ced51..de813229cdf 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -138,6 +138,12 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { }); } + // ordering the results in an increasing order of the node id + std::sort(results.begin(), results.end(), + [](const pgr_vertex_color_rt row1, const pgr_vertex_color_rt row2) { + return row1.node < row2.node; + }); + return results; } }; From cbed0c2f580794409465a842f5e2a19ccb62383f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 15:34:28 +0530 Subject: [PATCH 0193/1360] [sequentialVertexColoring] [doc] Minor changes --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index e375706e0c4..f56294f420a 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -46,9 +46,9 @@ each vertex. the direction of the edge has no significance to this algorithm. - Provides the color to be assigned to all the nodes present in the graph. - The returned rows are ordered in ascending order of the node value. -- The range of color lies from :math:`0` to :math:`(total number of nodes - 1)`. Higher - color values are used only if required, i.e. the algorithm tries to assign - the least possible color to every vertex. +- The range of color lies from :math:`0` to :math:`(total number of nodes - 1)`. + Higher color values are used only if required, i.e. the algorithm tries to + assign the least possible color to every vertex. - Sequential Vertex Coloring Running Time: :math:`O(|V|*(|d| + |k|))`, where :math:`|V|` is the number of vertices, :math:`|d|` is the maximum degree of the vertices in the graph, and :math:`|k|` is the number of colors used. @@ -114,7 +114,7 @@ Column Type Description .. result columns end -Aditional Examples +Additional Examples ------------------------------------------------------------------------------- From 2fec79256024f15866b67ae6d98359a7e57abb01 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 16:27:31 +0530 Subject: [PATCH 0194/1360] [sequentialVertexColoring] [doc] Added docqueries --- .../doc-pgr_sequentialVertexColoring.test.sql | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql index 001dfb51048..d7e72f37248 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql @@ -1,5 +1,37 @@ \echo -- q1 SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id' + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + ORDER BY id' ); \echo -- q2 + +-- Examples for :ref:`fig2-undirect-Cost-Reverse` +------------------------------------------------------------------------------- + +\echo -- q3 +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id = 1 + ORDER BY id' +); +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id < 5 + ORDER BY id' +); +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id >= 4 AND id <= 6 + ORDER BY id' +); +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id in (8, 10, 11, 12) + ORDER BY id' +); +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id in (5, 8, 9, 11) + ORDER BY id' +); +\echo -- q4 From b7241da45aa535d8432cf77c6985e174504af97b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 16:30:18 +0530 Subject: [PATCH 0195/1360] [sequentialVertexColoring] [doc] Updated docqueries --- .../graphColoring/doc-pgr_sequentialVertexColoring.test.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql index d7e72f37248..ea3b5915a4a 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql @@ -26,12 +26,12 @@ SELECT * FROM pgr_sequentialVertexColoring( ); SELECT * FROM pgr_sequentialVertexColoring( 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id in (8, 10, 11, 12) + WHERE id IN (8, 10, 11, 12) ORDER BY id' ); SELECT * FROM pgr_sequentialVertexColoring( 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id in (5, 8, 9, 11) + WHERE id IN (5, 8, 9, 11) ORDER BY id' ); \echo -- q4 From 87de615feb2690d7080826c8df96fcce131e7c88 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 16:41:42 +0530 Subject: [PATCH 0196/1360] [sequentialVertexColoring] [doc} Updated the results of the docqueries --- .../doc-pgr_sequentialVertexColoring.result | 72 ++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result index e519c552964..14e7c7ce242 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result @@ -4,7 +4,8 @@ SET client_min_messages TO NOTICE; SET -- q1 SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id' + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + ORDER BY id' ); node | color ------+------- @@ -28,5 +29,74 @@ SELECT * FROM pgr_sequentialVertexColoring( (17 rows) -- q2 +-- q3 +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id = 1 + ORDER BY id' +); + node | color +------+------- + 1 | 0 + 2 | 1 +(2 rows) + +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id < 5 + ORDER BY id' +); + node | color +------+------- + 1 | 0 + 2 | 1 + 3 | 0 + 4 | 1 + 5 | 0 +(5 rows) + +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id >= 4 AND id <= 6 + ORDER BY id' +); + node | color +------+------- + 2 | 0 + 3 | 0 + 5 | 1 + 6 | 1 + 7 | 0 + 8 | 1 +(6 rows) + +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id IN (8, 10, 11, 12) + ORDER BY id' +); + node | color +------+------- + 5 | 0 + 6 | 1 + 10 | 1 + 11 | 0 +(4 rows) + +SELECT * FROM pgr_sequentialVertexColoring( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id IN (5, 8, 9, 11) + ORDER BY id' +); + node | color +------+------- + 3 | 0 + 5 | 0 + 6 | 1 + 9 | 0 + 11 | 0 +(5 rows) + +-- q4 ROLLBACK; ROLLBACK From f2b63c20c1e12e55b8becf29831561fa9edce4b0 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 16:48:00 +0530 Subject: [PATCH 0197/1360] [sequentialVertexColoring] [doc] Included docqueries in the documentation --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index f56294f420a..4187a9b7041 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -117,6 +117,16 @@ Column Type Description Additional Examples ------------------------------------------------------------------------------- +The examples of this section are based on the :doc:`sampledata` network. + +The examples include a subgraph extracted from the original undirected graph, +containing the vertices in a linear, cyclic or cross-like arrangement. + +* :ref:`fig2` + +.. literalinclude:: doc-pgr_sequentialVertexColoring.queries + :start-after: -- q3 + :end-before: -- q4 See Also ------------------------------------------------------------------------------- From de8906b986cdfdcc3f38847f893b2a5d919f0c0e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 17:28:29 +0530 Subject: [PATCH 0198/1360] [sequentialVertexColoring] Included doc build in configuration file --- configuration.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration.conf b/configuration.conf index 4c95f04a240..f14de916ee5 100644 --- a/configuration.conf +++ b/configuration.conf @@ -41,7 +41,7 @@ topologicalSort | Y | Y | Y transitiveClosure | Y | Y | Y breadthFirstSearch | Y | Y | Y depthFirstSearch | Y | Y | Y -graphColoring | Y | Y | N +graphColoring | Y | Y | Y #---------------------- # SQL only directories #---------------------- From bb27a109746dc6220ddc92e28873b1ac9d5e8310 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 17:40:37 +0530 Subject: [PATCH 0199/1360] [sequentialVertexColoring] [doc] Minor changes --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index 4187a9b7041..ce2fe90a35c 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -46,7 +46,7 @@ each vertex. the direction of the edge has no significance to this algorithm. - Provides the color to be assigned to all the nodes present in the graph. - The returned rows are ordered in ascending order of the node value. -- The range of color lies from :math:`0` to :math:`(total number of nodes - 1)`. +- The range of color lies from `0` to `(total number of nodes - 1)`. Higher color values are used only if required, i.e. the algorithm tries to assign the least possible color to every vertex. - Sequential Vertex Coloring Running Time: :math:`O(|V|*(|d| + |k|))`, where From ddd279eb43b3ed76dfb75bf38dfc1c69e790cc6f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 17:40:56 +0530 Subject: [PATCH 0200/1360] [sequentialVertexColoring] Added the function in experimental.rst --- doc/src/experimental.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index 5d5f9307b43..609f3c48194 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -87,6 +87,7 @@ Experimental Functions - :doc:`pgr_dagShortestPath` - :doc:`pgr_depthFirstSearch` - :doc:`pgr_edwardMoore` +- :doc:`pgr_sequentialVertexColoring` - :doc:`pgr_stoerWagner` - :doc:`pgr_topologicalSort` - :doc:`pgr_transitiveClosure` @@ -101,6 +102,7 @@ Experimental Functions pgr_dagShortestPath pgr_depthFirstSearch pgr_edwardMoore + pgr_sequentialVertexColoring pgr_stoerWagner pgr_topologicalSort pgr_transitiveClosure From 909b7317755152def304cb59d8a5a45a78b8701d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 17:53:48 +0530 Subject: [PATCH 0201/1360] [sequentialVertexColoring] [doc] Minor changes --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index ce2fe90a35c..3f3a95027cf 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -107,7 +107,7 @@ Column Type Description **node** ``BIGINT`` Identifier of all the ``nodes`` in the graph. **color** ``BIGINT`` Identifier of the ``color`` of the ``node``. - - Ranges from :math:`0` to :math:`(total number of nodes - 1)`. + - Ranges from `0` to `(total number of nodes - 1)`. =============== =========== ==================================================== From 3377f49daf8ae8dbd2cc19453ad642bdd13f6114 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 18:13:36 +0530 Subject: [PATCH 0202/1360] [depthFirstSearch] Updated docstring --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index ef14a5be28a..e7c2af2add1 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -72,8 +72,10 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { * * @returns results, when results are found * - * @see [boost::depth_first_search](https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/depth_first_search.html) - * @see [boost::undirected_dfs](https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/undirected_dfs.html) + * @see [boost::depth_first_search] + * (https://www.boost.org/libs/graph/doc/depth_first_search.html) + * @see [boost::undirected_dfs] + * (https://www.boost.org/libs/graph/doc/undirected_dfs.html) */ std::vector depthFirstSearch( G &graph, @@ -108,8 +110,10 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { private: /** @brief Calls the Boost function * - * Calls [boost::depth_first_search](https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/depth_first_search.html) - * and [boost::undirected_dfs](https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/undirected_dfs.html) + * Calls [boost::depth_first_search] + * (https://www.boost.org/libs/graph/doc/depth_first_search.html) + * and [boost::undirected_dfs] + * (https://www.boost.org/libs/graph/doc/undirected_dfs.html) * for directed graphs and undirected graphs, respectively. * * @param graph the graph containing the edges From ea23722a724adbb9dd97df09ce3ff0c14c359194 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 18:13:52 +0530 Subject: [PATCH 0203/1360] [sequentialVertexColoring] Updated docstring --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index de813229cdf..2e5cb38f38a 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -75,7 +75,7 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { * @returns results, when results are found * * @see [boost::sequential_vertex_coloring] - * (https://www.boost.org/doc/libs/1_73_0/libs/graph/doc/sequential_vertex_coloring.html) + * (https://www.boost.org/libs/graph/doc/sequential_vertex_coloring.html) */ std::vector sequentialVertexColoring( G &graph) { From 7ddbb67ab86bf87f91f265d3c5ef6bffbf2367eb Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 18:17:54 +0530 Subject: [PATCH 0204/1360] Fixed code checker errors --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 3 ++- src/depthFirstSearch/depthFirstSearch_driver.cpp | 3 +-- src/graphColoring/sequentialVertexColoring_driver.cpp | 6 +----- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 2e5cb38f38a..acb23e09aba 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -33,6 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include +#include #include #include @@ -141,7 +142,7 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { // ordering the results in an increasing order of the node id std::sort(results.begin(), results.end(), [](const pgr_vertex_color_rt row1, const pgr_vertex_color_rt row2) { - return row1.node < row2.node; + return row1.node < row2.node; }); return results; diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 482a470b9b6..c247b09a8e8 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -151,8 +151,7 @@ do_pgr_depthFirstSearch( // sorting the edges in an ascending order of their id, before creating the graph std::sort(data_edges, data_edges + total_edges, - [](const pgr_edge_t &edge1, const pgr_edge_t &edge2) -> bool - { + [](const pgr_edge_t &edge1, const pgr_edge_t &edge2) -> bool { return edge1.id < edge2.id; }); diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index 314108b6257..96374d33021 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -91,9 +91,6 @@ pgr_sequentialVertexColoring( * @returns void */ -// TODO (ashish): Use the data_edges and total_edges parameter below. -// Call the function in HPP file which calls the boost function. - void do_pgr_sequentialVertexColoring( pgr_edge_t *data_edges, @@ -125,8 +122,7 @@ do_pgr_sequentialVertexColoring( // sorting the edges in an ascending order of their id, before creating the graph std::sort(data_edges, data_edges + total_edges, - [](const pgr_edge_t &edge1, const pgr_edge_t &edge2) -> bool - { + [](const pgr_edge_t &edge1, const pgr_edge_t &edge2) -> bool { return edge1.id < edge2.id; }); From c99a28cf9b35438c5296ebfacb5ab9b1f37bdfdd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 3 Jul 2020 18:29:39 +0530 Subject: [PATCH 0205/1360] [sequentialVertexColoring] Updated the docstring --- src/graphColoring/sequentialVertexColoring_driver.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index 96374d33021..9896738ca35 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -73,12 +73,10 @@ pgr_sequentialVertexColoring( /** @brief Performs exception handling and converts the results to postgres. * - * It first asserts the variables, then builds the graph using the `data_edges`, - * depending on whether the graph is directed or undirected. It also converts - * the C types to the C++ types, such as the `rootsArr` to `roots` - * vector and passes these variables to the template function `pgr_sequentialVertexColoring` - * which calls the main function defined in the C++ Header file. It also does - * exception handling. + * It first asserts the variables, then builds the undirected graph using the + * `data_edges` variable. Then, it passes the required variables to the + * template function `pgr_sequentialVertexColoring` which calls the main function + * defined in the C++ Header file. It also does exception handling. * * @param data_edges the set of edges from the SQL query * @param total_edges the total number of edges in the SQL query From b95b679edbd84664f9bf22cb69d6a4a0319c652f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 6 Jul 2020 11:31:50 +0530 Subject: [PATCH 0206/1360] [sequentialVertexColoring] Added todo for all pgTAP tests --- .../no_crash_test-sequentialVertexColoring.sql | 12 ++++++++++++ .../sequentialVertexColoring-edge-cases.sql | 12 ++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql create mode 100644 pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql diff --git a/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql b/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql new file mode 100644 index 00000000000..6fa84806d61 --- /dev/null +++ b/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql @@ -0,0 +1,12 @@ +\i setup.sql + +SELECT plan(1); + +SELECT todo_start('Complete the no crash tests'); + +SELECT pass( 'A sample test' ); + +SELECT todo_end(); + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql new file mode 100644 index 00000000000..48aaa92c2d0 --- /dev/null +++ b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql @@ -0,0 +1,12 @@ +\i setup.sql + +SELECT plan(1); + +SELECT todo_start('Complete the edge cases (unit tests)'); + +SELECT pass( 'A sample test' ); + +SELECT todo_end(); + +SELECT * FROM finish(); +ROLLBACK; From 088e8d43d331c3daa84ffe3c75738325b3ff67b2 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 7 Jul 2020 10:29:18 +0530 Subject: [PATCH 0207/1360] [sequentialVertexColoring] [pgtap] Adding no crash test --- .../no_crash_test-sequentialVertexColoring.sql | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql b/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql index 6fa84806d61..5141fed1137 100644 --- a/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql +++ b/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql @@ -1,10 +1,21 @@ \i setup.sql -SELECT plan(1); +SELECT plan(3); SELECT todo_start('Complete the no crash tests'); -SELECT pass( 'A sample test' ); +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; + +PREPARE null_ret AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); + +PREPARE null_ret_arr AS +SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); SELECT todo_end(); From e9062c9640807b5f872d9372ac92bbb209101cde Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 7 Jul 2020 10:35:18 +0530 Subject: [PATCH 0208/1360] [sequentialVertexColoring] [pgtap] Completed no crash test --- ...no_crash_test-sequentialVertexColoring.sql | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql b/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql index 5141fed1137..d71ca39bd7d 100644 --- a/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql +++ b/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(3); +SELECT plan(7); SELECT todo_start('Complete the no crash tests'); @@ -17,7 +17,31 @@ SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + -- sequentialVertexColoring + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$' + ]::TEXT[]; + subs = ARRAY[ + 'NULL' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_sequentialVertexColoring', params, subs); + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + SELECT todo_end(); -SELECT * FROM finish(); ROLLBACK; From 47fe6ee25851d09b931a264777bc9229ea5bea48 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 7 Jul 2020 10:35:40 +0530 Subject: [PATCH 0209/1360] [sequentialVertexColoring] [pgtap] Removed todo in no crash test --- .../graphColoring/no_crash_test-sequentialVertexColoring.sql | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql b/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql index d71ca39bd7d..42258c6aec1 100644 --- a/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql +++ b/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql @@ -2,8 +2,6 @@ SELECT plan(7); -SELECT todo_start('Complete the no crash tests'); - PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; @@ -42,6 +40,4 @@ LANGUAGE plpgsql VOLATILE; SELECT * FROM test_function(); -SELECT todo_end(); - ROLLBACK; From 918e4c3891ef717fa143bac4aebc113e6a563534 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 7 Jul 2020 10:44:05 +0530 Subject: [PATCH 0210/1360] [sequentialVertexColoring] [pgtap] Added inner query tests --- pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql b/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql index 6d0ed6539e8..fb38f3c266b 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql @@ -1,10 +1,10 @@ \i setup.sql -SELECT plan(1); +SELECT plan(54); SELECT todo_start('Complete the inner query tests'); -SELECT pass( 'A sample test' ); +SELECT style_dijkstra('pgr_sequentialVertexColoring', ')'); SELECT todo_end(); From b8267ddd8c5ab437778f494475517aa5a5f79634 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 7 Jul 2020 11:17:03 +0530 Subject: [PATCH 0211/1360] [sequentialVertexColoring] [pgtap] Adding types check --- .../graphColoring/sequentialVertexColoring-typesCheck.sql | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql index 3a216594eef..7f5348956b3 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql @@ -1,10 +1,13 @@ \i setup.sql -SELECT plan(1); +SELECT plan(3); SELECT todo_start('Complete the types check'); -SELECT pass( 'A sample test' ); +SELECT has_function('pgr_sequentialvertexcoloring'); + +SELECT has_function('pgr_sequentialvertexcoloring', ARRAY['text']); +SELECT function_returns('pgr_sequentialvertexcoloring', ARRAY['text'], 'setof record'); SELECT todo_end(); From f54374cff026f19fb4395a3deb352922e7445ce4 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 7 Jul 2020 11:18:33 +0530 Subject: [PATCH 0212/1360] [sequentialVertexColoring] [pgtap] Adding parameter names check --- .../sequentialVertexColoring-typesCheck.sql | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql index 7f5348956b3..96d44f995f7 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(3); +SELECT plan(4); SELECT todo_start('Complete the types check'); @@ -9,6 +9,14 @@ SELECT has_function('pgr_sequentialvertexcoloring'); SELECT has_function('pgr_sequentialvertexcoloring', ARRAY['text']); SELECT function_returns('pgr_sequentialvertexcoloring', ARRAY['text'], 'setof record'); +-- pgr_sequentialvertexcoloring +-- parameter names +SELECT bag_has( + $$SELECT proargnames from pg_proc where proname = 'pgr_sequentialvertexcoloring'$$, + $$SELECT '{"","node","color"}'::TEXT[] $$ +); + + SELECT todo_end(); SELECT * FROM finish(); From 13858de73fc26f9af1bd2f8ec079427bf9415578 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 7 Jul 2020 11:19:58 +0530 Subject: [PATCH 0213/1360] [sequentialVertexColoring] [pgtap] Adding parameter types check --- .../sequentialVertexColoring-typesCheck.sql | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql index 96d44f995f7..86687be9ceb 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(4); +SELECT plan(5); SELECT todo_start('Complete the types check'); @@ -16,6 +16,13 @@ SELECT bag_has( $$SELECT '{"","node","color"}'::TEXT[] $$ ); +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_sequentialvertexcoloring'$$, + $$VALUES + ('{25,20,20}'::OID[]) + $$ +); SELECT todo_end(); From 2c1297b28490722dd2d57e289541e97d627b9f8a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 7 Jul 2020 11:20:18 +0530 Subject: [PATCH 0214/1360] [sequentialVertexColoring] [pgtap] Removed todo --- pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql | 4 ---- pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql | 4 ---- 2 files changed, 8 deletions(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql b/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql index fb38f3c266b..3e7bdb75062 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql @@ -2,11 +2,7 @@ SELECT plan(54); -SELECT todo_start('Complete the inner query tests'); - SELECT style_dijkstra('pgr_sequentialVertexColoring', ')'); -SELECT todo_end(); - SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql index 86687be9ceb..74593a25341 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql @@ -2,8 +2,6 @@ SELECT plan(5); -SELECT todo_start('Complete the types check'); - SELECT has_function('pgr_sequentialvertexcoloring'); SELECT has_function('pgr_sequentialvertexcoloring', ARRAY['text']); @@ -24,7 +22,5 @@ SELECT set_eq( $$ ); -SELECT todo_end(); - SELECT * FROM finish(); ROLLBACK; From 80fb926364bcbcb1a1a8bd80e4afbba7aa9709e0 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 8 Jul 2020 16:20:33 +0530 Subject: [PATCH 0215/1360] [depthFirstSearch] [pgtap] Added prepared statements in the queries --- .../depthFirstSearch-edge-cases.sql | 257 ++++++------------ 1 file changed, 76 insertions(+), 181 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 3af31d8627e..af6191b49f6 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(71); +SELECT plan(72); @@ -19,54 +19,42 @@ SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); PREPARE depthFirstSearch2 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', 5 ); PREPARE depthFirstSearch3 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', ARRAY[5] ); PREPARE depthFirstSearch4 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', ARRAY[2, 5] ); PREPARE depthFirstSearch5 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', 5, max_depth => 2 ); PREPARE depthFirstSearch6 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', ARRAY[5], max_depth => 2 ); PREPARE depthFirstSearch7 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', ARRAY[2, 5], max_depth => 2 ); @@ -82,54 +70,42 @@ SELECT is_empty('depthFirstSearch7', '7: Graph with 0 edge and 0 vertex -> Empty PREPARE depthFirstSearch8 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', 5, directed => false ); PREPARE depthFirstSearch9 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', ARRAY[5], directed => false ); PREPARE depthFirstSearch10 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', ARRAY[2, 5], directed => false ); PREPARE depthFirstSearch11 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', 5, max_depth => 2, directed => false ); PREPARE depthFirstSearch12 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', ARRAY[5], max_depth => 2, directed => false ); PREPARE depthFirstSearch13 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18', + 'q1', ARRAY[2, 5], max_depth => 2, directed => false ); @@ -144,53 +120,56 @@ SELECT is_empty('depthFirstSearch13', '13: Graph with 0 edge and 0 vertex -> Emp +-- vertex not present in graph tests + +PREPARE q14 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table; + +-- pgRouting Sample Data +SELECT isnt_empty('q14', 'q14: pgRouting Sample Data'); + -- vertex not present in graph tests (directed) PREPARE depthFirstSearch14 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', -10 ); PREPARE depthFirstSearch15 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[-10] ); PREPARE depthFirstSearch16 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[20, -10] ); PREPARE depthFirstSearch17 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', -10, max_depth => 2 ); PREPARE depthFirstSearch18 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[-10], max_depth => 2 ); PREPARE depthFirstSearch19 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[20, -10], max_depth => 2 ); @@ -206,48 +185,42 @@ SELECT is_empty('depthFirstSearch19', '19: Vertex not present in graph -> Empty PREPARE depthFirstSearch20 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', -10, directed => false ); PREPARE depthFirstSearch21 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[-10], directed => false ); PREPARE depthFirstSearch22 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[20, -10], directed => false ); PREPARE depthFirstSearch23 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', -10, max_depth => 2, directed => false ); PREPARE depthFirstSearch24 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[-10], max_depth => 2, directed => false ); PREPARE depthFirstSearch25 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[20, -10], max_depth => 2, directed => false ); @@ -268,48 +241,42 @@ SELECT is_empty('depthFirstSearch25', '25: Vertex not present in graph -> Empty PREPARE depthFirstSearch26 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', 4, max_depth => -3 ); PREPARE depthFirstSearch27 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[4], max_depth => -3 ); PREPARE depthFirstSearch28 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[4, 20], max_depth => -3 ); PREPARE depthFirstSearch29 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', 4, max_depth => -3, directed => false ); PREPARE depthFirstSearch30 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[4], max_depth => -3, directed => false ); PREPARE depthFirstSearch31 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + 'q14', ARRAY[4, 20], max_depth => -3, directed => false ); @@ -339,36 +306,28 @@ SELECT set_eq('q32', $$VALUES (2, 2, 2, -1, 1)$$, 'q32: Graph with only vertex 2 PREPARE depthFirstSearch33 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 2', + 'q32', 2 ); PREPARE depthFirstSearch34 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 2', + 'q32', ARRAY[2] ); PREPARE depthFirstSearch35 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 2', + 'q32', 2, max_depth => 2 ); PREPARE depthFirstSearch36 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 2', + 'q32', ARRAY[2], max_depth => 2 ); @@ -382,36 +341,28 @@ SELECT set_eq('depthFirstSearch36', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '36: One PREPARE depthFirstSearch37 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 2', + 'q32', 2, directed => false ); PREPARE depthFirstSearch38 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 2', + 'q32', ARRAY[2], directed => false ); PREPARE depthFirstSearch39 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 2', + 'q32', 2, max_depth => 2, directed => false ); PREPARE depthFirstSearch40 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 2', + 'q32', ARRAY[2], max_depth => 2, directed => false ); @@ -439,54 +390,42 @@ SELECT set_eq('q41', $$VALUES (5, 3, 6, 1, -1)$$, 'q41: Graph with two vertices PREPARE depthFirstSearch42 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', 3 ); PREPARE depthFirstSearch43 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', ARRAY[3] ); PREPARE depthFirstSearch44 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', 6 ); PREPARE depthFirstSearch45 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', ARRAY[6] ); PREPARE depthFirstSearch46 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', 3, max_depth => 1 ); PREPARE depthFirstSearch47 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', 3, max_depth => 0 ); @@ -502,54 +441,42 @@ SELECT set_eq('depthFirstSearch47', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '47: One PREPARE depthFirstSearch48 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', 3, directed => false ); PREPARE depthFirstSearch49 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', ARRAY[3], directed => false ); PREPARE depthFirstSearch50 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', 6, directed => false ); PREPARE depthFirstSearch51 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', ARRAY[6], directed => false ); PREPARE depthFirstSearch52 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', 3, max_depth => 1, directed => false ); PREPARE depthFirstSearch53 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 5', + 'q41', 3, max_depth => 0, directed => false ); @@ -598,40 +525,35 @@ SELECT set_eq('q54', PREPARE depthFirstSearch55 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table', + 'q54', 3 ); PREPARE depthFirstSearch56 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table', + 'q54', 6 ); PREPARE depthFirstSearch57 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table', + 'q54', 6, max_depth => 1 ); PREPARE depthFirstSearch58 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table', + 'q54', 2 ); PREPARE depthFirstSearch59 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table', + 'q54', ARRAY[6, 3, 6] ); @@ -682,24 +604,21 @@ SELECT set_eq('depthFirstSearch59', PREPARE depthFirstSearch60 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table', + 'q54', 3, directed => false ); PREPARE depthFirstSearch61 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table', + 'q54', 6, directed => false ); PREPARE depthFirstSearch62 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table', + 'q54', 6, max_depth => 1, directed => false ); @@ -757,40 +676,28 @@ SELECT set_eq('q63', PREPARE depthFirstSearch64 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 10 AND id <= 12) - OR id = 8', + 'q63', 5 ); PREPARE depthFirstSearch65 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 10 AND id <= 12) - OR id = 8', + 'q63', 6 ); PREPARE depthFirstSearch66 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 10 AND id <= 12) - OR id = 8', + 'q63', 10 ); PREPARE depthFirstSearch67 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 10 AND id <= 12) - OR id = 8', + 'q63', 11 ); @@ -836,40 +743,28 @@ SELECT set_eq('depthFirstSearch67', PREPARE depthFirstSearch68 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 10 AND id <= 12) - OR id = 8', + 'q63', 5, directed => false ); PREPARE depthFirstSearch69 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 10 AND id <= 12) - OR id = 8', + 'q63', 6, directed => false ); PREPARE depthFirstSearch70 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 10 AND id <= 12) - OR id = 8', + 'q63', 10, directed => false ); PREPARE depthFirstSearch71 AS SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 10 AND id <= 12) - OR id = 8', + 'q63', 11, directed => false ); From 470861445a2fc008e88d5aa1a56ce3c79ce66a13 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 8 Jul 2020 16:46:23 +0530 Subject: [PATCH 0216/1360] [depthFirstSearch] [pgtap] Changed query number --- .../depthFirstSearch-edge-cases.sql | 292 +++++++++--------- 1 file changed, 146 insertions(+), 146 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index af6191b49f6..bbaeb104e02 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -127,109 +127,109 @@ SELECT id, source, target, cost, reverse_cost FROM edge_table; -- pgRouting Sample Data -SELECT isnt_empty('q14', 'q14: pgRouting Sample Data'); +SELECT isnt_empty('q14', 'q15: pgRouting Sample Data'); -- vertex not present in graph tests (directed) -PREPARE depthFirstSearch14 AS +PREPARE depthFirstSearch15 AS SELECT * FROM pgr_depthFirstSearch( 'q14', -10 ); -PREPARE depthFirstSearch15 AS +PREPARE depthFirstSearch16 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[-10] ); -PREPARE depthFirstSearch16 AS +PREPARE depthFirstSearch17 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[20, -10] ); -PREPARE depthFirstSearch17 AS +PREPARE depthFirstSearch18 AS SELECT * FROM pgr_depthFirstSearch( 'q14', -10, max_depth => 2 ); -PREPARE depthFirstSearch18 AS +PREPARE depthFirstSearch19 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[-10], max_depth => 2 ); -PREPARE depthFirstSearch19 AS +PREPARE depthFirstSearch20 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[20, -10], max_depth => 2 ); -SELECT is_empty('depthFirstSearch14', '14: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch15', '15: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch16', '16: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch17', '17: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch18', '18: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch19', '19: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch20', '20: Vertex not present in graph -> Empty row is returned'); -- vertex not present in graph tests (undirected) -PREPARE depthFirstSearch20 AS +PREPARE depthFirstSearch21 AS SELECT * FROM pgr_depthFirstSearch( 'q14', -10, directed => false ); -PREPARE depthFirstSearch21 AS +PREPARE depthFirstSearch22 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[-10], directed => false ); -PREPARE depthFirstSearch22 AS +PREPARE depthFirstSearch23 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[20, -10], directed => false ); -PREPARE depthFirstSearch23 AS +PREPARE depthFirstSearch24 AS SELECT * FROM pgr_depthFirstSearch( 'q14', -10, max_depth => 2, directed => false ); -PREPARE depthFirstSearch24 AS +PREPARE depthFirstSearch25 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[-10], max_depth => 2, directed => false ); -PREPARE depthFirstSearch25 AS +PREPARE depthFirstSearch26 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[20, -10], max_depth => 2, directed => false ); -SELECT is_empty('depthFirstSearch20', '20: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch21', '21: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch22', '22: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch23', '23: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch24', '24: Vertex not present in graph -> Empty row is returned'); SELECT is_empty('depthFirstSearch25', '25: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('depthFirstSearch26', '26: Vertex not present in graph -> Empty row is returned'); @@ -238,54 +238,54 @@ SELECT is_empty('depthFirstSearch25', '25: Vertex not present in graph -> Empty -- negative depth tests -PREPARE depthFirstSearch26 AS +PREPARE depthFirstSearch27 AS SELECT * FROM pgr_depthFirstSearch( 'q14', 4, max_depth => -3 ); -PREPARE depthFirstSearch27 AS +PREPARE depthFirstSearch28 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[4], max_depth => -3 ); -PREPARE depthFirstSearch28 AS +PREPARE depthFirstSearch29 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[4, 20], max_depth => -3 ); -PREPARE depthFirstSearch29 AS +PREPARE depthFirstSearch30 AS SELECT * FROM pgr_depthFirstSearch( 'q14', 4, max_depth => -3, directed => false ); -PREPARE depthFirstSearch30 AS +PREPARE depthFirstSearch31 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[4], max_depth => -3, directed => false ); -PREPARE depthFirstSearch31 AS +PREPARE depthFirstSearch32 AS SELECT * FROM pgr_depthFirstSearch( 'q14', ARRAY[4, 20], max_depth => -3, directed => false ); -SELECT throws_ok('depthFirstSearch26', 'P0001', 'Negative value found on ''max_depth''', '26: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch27', 'P0001', 'Negative value found on ''max_depth''', '27: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch28', 'P0001', 'Negative value found on ''max_depth''', '28: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch29', 'P0001', 'Negative value found on ''max_depth''', '29: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch30', 'P0001', 'Negative value found on ''max_depth''', '30: Negative max_depth throws'); SELECT throws_ok('depthFirstSearch31', 'P0001', 'Negative value found on ''max_depth''', '31: Negative max_depth throws'); +SELECT throws_ok('depthFirstSearch32', 'P0001', 'Negative value found on ''max_depth''', '32: Negative max_depth throws'); @@ -293,83 +293,83 @@ SELECT throws_ok('depthFirstSearch31', 'P0001', 'Negative value found on ''max_d -- 1 vertex tests -PREPARE q32 AS +PREPARE q33 AS SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table WHERE id = 2; -- Graph with only vertex 2 -SELECT set_eq('q32', $$VALUES (2, 2, 2, -1, 1)$$, 'q32: Graph with only vertex 2'); +SELECT set_eq('q33', $$VALUES (2, 2, 2, -1, 1)$$, 'q33: Graph with only vertex 2'); -- 1 vertex tests (directed) -PREPARE depthFirstSearch33 AS +PREPARE depthFirstSearch34 AS SELECT * FROM pgr_depthFirstSearch( - 'q32', + 'q33', 2 ); -PREPARE depthFirstSearch34 AS +PREPARE depthFirstSearch35 AS SELECT * FROM pgr_depthFirstSearch( - 'q32', + 'q33', ARRAY[2] ); -PREPARE depthFirstSearch35 AS +PREPARE depthFirstSearch36 AS SELECT * FROM pgr_depthFirstSearch( - 'q32', + 'q33', 2, max_depth => 2 ); -PREPARE depthFirstSearch36 AS +PREPARE depthFirstSearch37 AS SELECT * FROM pgr_depthFirstSearch( - 'q32', + 'q33', ARRAY[2], max_depth => 2 ); -SELECT set_eq('depthFirstSearch33', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '33: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch34', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '34: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch35', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '35: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch36', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '36: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch37', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '37: One row with node 2 is returned'); -- 1 vertex tests (undirected) -PREPARE depthFirstSearch37 AS +PREPARE depthFirstSearch38 AS SELECT * FROM pgr_depthFirstSearch( - 'q32', + 'q33', 2, directed => false ); -PREPARE depthFirstSearch38 AS +PREPARE depthFirstSearch39 AS SELECT * FROM pgr_depthFirstSearch( - 'q32', + 'q33', ARRAY[2], directed => false ); -PREPARE depthFirstSearch39 AS +PREPARE depthFirstSearch40 AS SELECT * FROM pgr_depthFirstSearch( - 'q32', + 'q33', 2, max_depth => 2, directed => false ); -PREPARE depthFirstSearch40 AS +PREPARE depthFirstSearch41 AS SELECT * FROM pgr_depthFirstSearch( - 'q32', + 'q33', ARRAY[2], max_depth => 2, directed => false ); -SELECT set_eq('depthFirstSearch37', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '37: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch38', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '38: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch39', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '39: One row with node 2 is returned'); SELECT set_eq('depthFirstSearch40', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '40: One row with node 2 is returned'); +SELECT set_eq('depthFirstSearch41', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '41: One row with node 2 is returned'); @@ -377,115 +377,115 @@ SELECT set_eq('depthFirstSearch40', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '40: One -- 2 vertices tests -PREPARE q41 AS +PREPARE q42 AS SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 5; -- Graph with vertices 3 and 6 and edge from 3 to 6 -SELECT set_eq('q41', $$VALUES (5, 3, 6, 1, -1)$$, 'q41: Graph with two vertices 3 and 6 and edge from 3 to 6'); +SELECT set_eq('q42', $$VALUES (5, 3, 6, 1, -1)$$, 'q42: Graph with two vertices 3 and 6 and edge from 3 to 6'); -- 2 vertices tests (directed) -PREPARE depthFirstSearch42 AS +PREPARE depthFirstSearch43 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', 3 ); -PREPARE depthFirstSearch43 AS +PREPARE depthFirstSearch44 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', ARRAY[3] ); -PREPARE depthFirstSearch44 AS +PREPARE depthFirstSearch45 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', 6 ); -PREPARE depthFirstSearch45 AS +PREPARE depthFirstSearch46 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', ARRAY[6] ); -PREPARE depthFirstSearch46 AS +PREPARE depthFirstSearch47 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', 3, max_depth => 1 ); -PREPARE depthFirstSearch47 AS +PREPARE depthFirstSearch48 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', 3, max_depth => 0 ); -SELECT set_eq('depthFirstSearch42', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '42: Two rows are returned'); SELECT set_eq('depthFirstSearch43', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '43: Two rows are returned'); -SELECT set_eq('depthFirstSearch44', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '44: One row is returned'); +SELECT set_eq('depthFirstSearch44', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '44: Two rows are returned'); SELECT set_eq('depthFirstSearch45', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '45: One row is returned'); -SELECT set_eq('depthFirstSearch46', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '46: Two rows are returned'); -SELECT set_eq('depthFirstSearch47', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '47: One row is returned'); +SELECT set_eq('depthFirstSearch46', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '46: One row is returned'); +SELECT set_eq('depthFirstSearch47', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '47: Two rows are returned'); +SELECT set_eq('depthFirstSearch48', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '48: One row is returned'); -- 2 vertices tests (undirected) -PREPARE depthFirstSearch48 AS +PREPARE depthFirstSearch49 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', 3, directed => false ); -PREPARE depthFirstSearch49 AS +PREPARE depthFirstSearch50 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', ARRAY[3], directed => false ); -PREPARE depthFirstSearch50 AS +PREPARE depthFirstSearch51 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', 6, directed => false ); -PREPARE depthFirstSearch51 AS +PREPARE depthFirstSearch52 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', ARRAY[6], directed => false ); -PREPARE depthFirstSearch52 AS +PREPARE depthFirstSearch53 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', 3, max_depth => 1, directed => false ); -PREPARE depthFirstSearch53 AS +PREPARE depthFirstSearch54 AS SELECT * FROM pgr_depthFirstSearch( - 'q41', + 'q42', 3, max_depth => 0, directed => false ); -SELECT set_eq('depthFirstSearch48', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '48: Two rows are returned'); SELECT set_eq('depthFirstSearch49', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '49: Two rows are returned'); -SELECT set_eq('depthFirstSearch50', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 5, 1, 1)$$, '50: Two rows are returned'); +SELECT set_eq('depthFirstSearch50', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '50: Two rows are returned'); SELECT set_eq('depthFirstSearch51', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 5, 1, 1)$$, '51: Two rows are returned'); -SELECT set_eq('depthFirstSearch52', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '52: Two rows are returned'); -SELECT set_eq('depthFirstSearch53', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '53: One row is returned'); +SELECT set_eq('depthFirstSearch52', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 5, 1, 1)$$, '52: Two rows are returned'); +SELECT set_eq('depthFirstSearch53', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '53: Two rows are returned'); +SELECT set_eq('depthFirstSearch54', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '54: One row is returned'); @@ -506,88 +506,88 @@ INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES (3, 8, 10, -10), (6, 8, -1, 12); -PREPARE q54 AS +PREPARE q55 AS SELECT id, source, target, cost, reverse_cost FROM three_vertices_table; -- Cyclic Graph with three vertices 3, 6 and 8 -SELECT set_eq('q54', +SELECT set_eq('q55', $$VALUES (1, 3, 6, 20, 15), (2, 3, 8, 10, -10), (3, 6, 8, -1, 12) $$, - 'q54: Cyclic Graph with three vertices 3, 6 and 8' + 'q55: Cyclic Graph with three vertices 3, 6 and 8' ); -- 3 vertices tests (directed) -PREPARE depthFirstSearch55 AS +PREPARE depthFirstSearch56 AS SELECT * FROM pgr_depthFirstSearch( - 'q54', + 'q55', 3 ); -PREPARE depthFirstSearch56 AS +PREPARE depthFirstSearch57 AS SELECT * FROM pgr_depthFirstSearch( - 'q54', + 'q55', 6 ); -PREPARE depthFirstSearch57 AS +PREPARE depthFirstSearch58 AS SELECT * FROM pgr_depthFirstSearch( - 'q54', + 'q55', 6, max_depth => 1 ); -PREPARE depthFirstSearch58 AS +PREPARE depthFirstSearch59 AS SELECT * FROM pgr_depthFirstSearch( - 'q54', + 'q55', 2 ); -PREPARE depthFirstSearch59 AS +PREPARE depthFirstSearch60 AS SELECT * FROM pgr_depthFirstSearch( - 'q54', + 'q55', ARRAY[6, 3, 6] ); -SELECT set_eq('depthFirstSearch55', +SELECT set_eq('depthFirstSearch56', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 1, 20, 20), (3, 1, 3, 8, 2, 10, 10) $$, - '55: 3 vertices tests (directed)' + '56: 3 vertices tests (directed)' ); -SELECT set_eq('depthFirstSearch56', +SELECT set_eq('depthFirstSearch57', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 1, 15, 15), (3, 2, 6, 8, 2, 10, 25) $$, - '56: 3 vertices tests (directed)' + '57: 3 vertices tests (directed)' ); -SELECT set_eq('depthFirstSearch57', +SELECT set_eq('depthFirstSearch58', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 1, 15, 15) $$, - '57: 3 vertices tests (directed)' + '58: 3 vertices tests (directed)' ); -SELECT is_empty('depthFirstSearch58', - '58: Vertex not present in graph -> Empty row is returned' +SELECT is_empty('depthFirstSearch59', + '59: Vertex not present in graph -> Empty row is returned' ); -SELECT set_eq('depthFirstSearch59', +SELECT set_eq('depthFirstSearch60', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 1, 20, 20), @@ -596,56 +596,56 @@ SELECT set_eq('depthFirstSearch59', (5, 1, 6, 3, 1, 15, 15), (6, 2, 6, 8, 2, 10, 25) $$, - '59: 3 vertices tests (directed)' + '60: 3 vertices tests (directed)' ); -- 3 vertices tests (undirected) -PREPARE depthFirstSearch60 AS +PREPARE depthFirstSearch61 AS SELECT * FROM pgr_depthFirstSearch( - 'q54', + 'q55', 3, directed => false ); -PREPARE depthFirstSearch61 AS +PREPARE depthFirstSearch62 AS SELECT * FROM pgr_depthFirstSearch( - 'q54', + 'q55', 6, directed => false ); -PREPARE depthFirstSearch62 AS +PREPARE depthFirstSearch63 AS SELECT * FROM pgr_depthFirstSearch( - 'q54', + 'q55', 6, max_depth => 1, directed => false ); -SELECT set_eq('depthFirstSearch60', +SELECT set_eq('depthFirstSearch61', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 1, 20, 20), (3, 2, 3, 8, 3, 12, 32) $$, - '60: 3 vertices tests (undirected)' + '61: 3 vertices tests (undirected)' ); -SELECT set_eq('depthFirstSearch61', +SELECT set_eq('depthFirstSearch62', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 1, 20, 20), (3, 2, 6, 8, 2, 10, 30) $$, - '61: 3 vertices tests (undirected)' + '62: 3 vertices tests (undirected)' ); -SELECT set_eq('depthFirstSearch62', +SELECT set_eq('depthFirstSearch63', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 1, 20, 20) $$, - '62: 3 vertices tests (undirected)' + '63: 3 vertices tests (undirected)' ); @@ -654,158 +654,158 @@ SELECT set_eq('depthFirstSearch62', -- 4 vertices tests -PREPARE q63 AS +PREPARE q64 AS SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE (id >= 10 AND id <= 12) OR id = 8; -- Graph with vertices 5, 6, 10, 11 -SELECT set_eq('q63', +SELECT set_eq('q64', $$VALUES (8, 5, 6, 1, 1), (10, 5, 10, 1, 1), (11, 6, 11, 1, -1), (12, 10, 11, 1, -1) $$, - '63: Graph with vertices 5, 6, 10 and 11' + '64: Graph with vertices 5, 6, 10 and 11' ); -- 4 vertices tests (directed) -PREPARE depthFirstSearch64 AS +PREPARE depthFirstSearch65 AS SELECT * FROM pgr_depthFirstSearch( - 'q63', + 'q64', 5 ); -PREPARE depthFirstSearch65 AS +PREPARE depthFirstSearch66 AS SELECT * FROM pgr_depthFirstSearch( - 'q63', + 'q64', 6 ); -PREPARE depthFirstSearch66 AS +PREPARE depthFirstSearch67 AS SELECT * FROM pgr_depthFirstSearch( - 'q63', + 'q64', 10 ); -PREPARE depthFirstSearch67 AS +PREPARE depthFirstSearch68 AS SELECT * FROM pgr_depthFirstSearch( - 'q63', + 'q64', 11 ); -SELECT set_eq('depthFirstSearch64', +SELECT set_eq('depthFirstSearch65', $$VALUES (1, 0, 5, 5, -1, 0, 0), (2, 1, 5, 6, 8, 1, 1), (3, 2, 5, 11, 11, 1, 2), (4, 1, 5, 10, 10, 1, 1) $$, - '64: 4 vertices tests (directed)' + '65: 4 vertices tests (directed)' ); -SELECT set_eq('depthFirstSearch65', +SELECT set_eq('depthFirstSearch66', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 5, 8, 1, 1), (3, 2, 6, 10, 10, 1, 2), (4, 3, 6, 11, 12, 1, 3) $$, - '65: 4 vertices tests (directed)' + '66: 4 vertices tests (directed)' ); -SELECT set_eq('depthFirstSearch66', +SELECT set_eq('depthFirstSearch67', $$VALUES (1, 0, 10, 10, -1, 0, 0), (2, 1, 10, 5, 10, 1, 1), (3, 2, 10, 6, 8, 1, 2), (4, 3, 10, 11, 11, 1, 3) $$, - '66: 4 vertices tests (directed)' + '67: 4 vertices tests (directed)' ); -SELECT set_eq('depthFirstSearch67', +SELECT set_eq('depthFirstSearch68', $$VALUES (1, 0, 11, 11, -1, 0, 0) $$, - '67: 4 vertices tests (directed)' + '68: 4 vertices tests (directed)' ); -- 4 vertices tests (undirected) -PREPARE depthFirstSearch68 AS +PREPARE depthFirstSearch69 AS SELECT * FROM pgr_depthFirstSearch( - 'q63', + 'q64', 5, directed => false ); -PREPARE depthFirstSearch69 AS +PREPARE depthFirstSearch70 AS SELECT * FROM pgr_depthFirstSearch( - 'q63', + 'q64', 6, directed => false ); -PREPARE depthFirstSearch70 AS +PREPARE depthFirstSearch71 AS SELECT * FROM pgr_depthFirstSearch( - 'q63', + 'q64', 10, directed => false ); -PREPARE depthFirstSearch71 AS +PREPARE depthFirstSearch72 AS SELECT * FROM pgr_depthFirstSearch( - 'q63', + 'q64', 11, directed => false ); -SELECT set_eq('depthFirstSearch68', +SELECT set_eq('depthFirstSearch69', $$VALUES (1, 0, 5, 5, -1, 0, 0), (2, 1, 5, 6, 8, 1, 1), (3, 2, 5, 11, 11, 1, 2), (4, 3, 5, 10, 12, 1, 3) $$, - '68: 4 vertices tests (undirected)' + '69: 4 vertices tests (undirected)' ); -SELECT set_eq('depthFirstSearch69', +SELECT set_eq('depthFirstSearch70', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 5, 8, 1, 1), (3, 2, 6, 10, 10, 1, 2), (4, 3, 6, 11, 12, 1, 3) $$, - '69: 4 vertices tests (undirected)' + '70: 4 vertices tests (undirected)' ); -SELECT set_eq('depthFirstSearch70', +SELECT set_eq('depthFirstSearch71', $$VALUES (1, 0, 10, 10, -1, 0, 0), (2, 1, 10, 5, 10, 1, 1), (3, 2, 10, 6, 8, 1, 2), (4, 3, 10, 11, 11, 1, 3) $$, - '70: 4 vertices tests (undirected)' + '71: 4 vertices tests (undirected)' ); -SELECT set_eq('depthFirstSearch71', +SELECT set_eq('depthFirstSearch72', $$VALUES (1, 0, 11, 11, -1, 0, 0), (2, 1, 11, 6, 11, 1, 1), (3, 2, 11, 5, 8, 1, 2), (4, 3, 11, 10, 10, 1, 3) $$, - '71: 4 vertices tests (undirected)' + '72: 4 vertices tests (undirected)' ); From 73cce3c5267a0016b7f48ed15f9fc5b963cd1b84 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 8 Jul 2020 17:10:22 +0530 Subject: [PATCH 0217/1360] [depthFirstSearch] [pgtap] Added test to check the rows --- .../depthFirstSearch-rows-check.sql | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql diff --git a/pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql b/pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql new file mode 100644 index 00000000000..ac0723390fe --- /dev/null +++ b/pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql @@ -0,0 +1,48 @@ +\i setup.sql + +SELECT plan(5); + + +-- Check whether the same set of rows are returned always + +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +ORDER BY id; + +PREPARE q2 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +ORDER BY id DESC; + +SELECT SETSEED(1); + +PREPARE q3 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +ORDER BY RANDOM(); + +PREPARE q4 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +ORDER BY RANDOM(); + +PREPARE q5 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +ORDER BY RANDOM(); + +PREPARE q6 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +ORDER BY RANDOM(); + +SELECT set_eq('q1', 'q2', '1: Should return same set of rows'); +SELECT set_eq('q1', 'q3', '2: Should return same set of rows'); +SELECT set_eq('q1', 'q4', '3: Should return same set of rows'); +SELECT set_eq('q1', 'q5', '4: Should return same set of rows'); +SELECT set_eq('q1', 'q6', '5: Should return same set of rows'); + + +SELECT * FROM finish(); +ROLLBACK; From 7a4c2befddfd3f1849b6183acd5f6937aa52248d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 9 Jul 2020 21:16:57 +0530 Subject: [PATCH 0218/1360] [sequentialVertexColoring] [pgtap] Added 0 edge, 0 vertex test --- .../sequentialVertexColoring-edge-cases.sql | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql index 48aaa92c2d0..070f562e0a6 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql @@ -1,12 +1,27 @@ \i setup.sql -SELECT plan(1); +SELECT plan(2); -SELECT todo_start('Complete the edge cases (unit tests)'); +-- 0 edge, 0 vertex tests -SELECT pass( 'A sample test' ); +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18; + +-- Graph is empty - it has 0 edge and 0 vertex +SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); + +-- 0 edge, 0 vertex tests (directed) + +PREPARE sequentialVertexColoring2 AS +SELECT * +FROM pgr_sequentialVertexColoring( + 'q1' +); + +SELECT is_empty('sequentialVertexColoring2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT todo_end(); SELECT * FROM finish(); ROLLBACK; From 5b603ba81e6b8c3a6308fbb2a65d8c7c66d0ae8c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 9 Jul 2020 21:20:34 +0530 Subject: [PATCH 0219/1360] [sequentialVertexColoring] [pgtap] Added 1 vertex test --- .../sequentialVertexColoring-edge-cases.sql | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql index 070f562e0a6..2b8f57cf1f8 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(2); +SELECT plan(4); -- 0 edge, 0 vertex tests @@ -9,11 +9,8 @@ SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18; --- Graph is empty - it has 0 edge and 0 vertex SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); --- 0 edge, 0 vertex tests (directed) - PREPARE sequentialVertexColoring2 AS SELECT * FROM pgr_sequentialVertexColoring( @@ -23,5 +20,23 @@ FROM pgr_sequentialVertexColoring( SELECT is_empty('sequentialVertexColoring2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); +-- 1 vertex tests + +PREPARE q3 AS +SELECT id, source, 2 AS target, cost, reverse_cost +FROM edge_table +WHERE id = 2; + +SELECT set_eq('q3', $$VALUES (2, 2, 2, -1, 1)$$, 'q3: Graph with only vertex 2'); + +PREPARE sequentialVertexColoring4 AS +SELECT * +FROM pgr_sequentialVertexColoring( + 'q3' +); + +SELECT set_eq('sequentialVertexColoring4', $$VALUES (2, 0)$$, '4: Node 2 with color 0 is returned'); + + SELECT * FROM finish(); ROLLBACK; From 763d5d30b7ef03b9b399117959533725cba1574c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 9 Jul 2020 21:23:27 +0530 Subject: [PATCH 0220/1360] [sequentialVertexColoring] [pgtap] Added 2 vertices test --- .../sequentialVertexColoring-edge-cases.sql | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql index 2b8f57cf1f8..50caf6db7d8 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql @@ -1,8 +1,8 @@ \i setup.sql -SELECT plan(4); +SELECT plan(6); --- 0 edge, 0 vertex tests +-- 0 edge, 0 vertex test PREPARE q1 AS SELECT id, source, target, cost, reverse_cost @@ -20,7 +20,7 @@ FROM pgr_sequentialVertexColoring( SELECT is_empty('sequentialVertexColoring2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); --- 1 vertex tests +-- 1 vertex test PREPARE q3 AS SELECT id, source, 2 AS target, cost, reverse_cost @@ -38,5 +38,23 @@ FROM pgr_sequentialVertexColoring( SELECT set_eq('sequentialVertexColoring4', $$VALUES (2, 0)$$, '4: Node 2 with color 0 is returned'); +-- 2 vertices test + +PREPARE q5 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id = 5; + +SELECT set_eq('q5', $$VALUES (5, 3, 6, 1, -1)$$, 'q5: Graph with two vertices 3 and 6 and edge from 3 to 6'); + +PREPARE sequentialVertexColoring6 AS +SELECT * +FROM pgr_sequentialVertexColoring( + 'q5' +); + +SELECT set_eq('sequentialVertexColoring6', $$VALUES (3, 0), (6, 1)$$, '6: Both vertices have different color'); + + SELECT * FROM finish(); ROLLBACK; From f2dd021fb2e2d60f5c7ea7f93553d5912574ad78 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 9 Jul 2020 21:34:32 +0530 Subject: [PATCH 0221/1360] [sequentialVertexColoring] [pgtap] Added 2 vertices test (isolated) --- .../sequentialVertexColoring-edge-cases.sql | 39 ++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql index 50caf6db7d8..5434c72ea93 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(6); +SELECT plan(8); -- 0 edge, 0 vertex test @@ -38,14 +38,14 @@ FROM pgr_sequentialVertexColoring( SELECT set_eq('sequentialVertexColoring4', $$VALUES (2, 0)$$, '4: Node 2 with color 0 is returned'); --- 2 vertices test +-- 2 vertices test (connected) PREPARE q5 AS SELECT id, source, target, cost, reverse_cost FROM edge_table -WHERE id = 5; +WHERE id = 7; -SELECT set_eq('q5', $$VALUES (5, 3, 6, 1, -1)$$, 'q5: Graph with two vertices 3 and 6 and edge from 3 to 6'); +SELECT set_eq('q5', $$VALUES (7, 8, 5, 1, 1)$$, 'q5: Graph with two connected vertices 8 and 5'); PREPARE sequentialVertexColoring6 AS SELECT * @@ -53,7 +53,36 @@ FROM pgr_sequentialVertexColoring( 'q5' ); -SELECT set_eq('sequentialVertexColoring6', $$VALUES (3, 0), (6, 1)$$, '6: Both vertices have different color'); +SELECT set_eq('sequentialVertexColoring6', $$VALUES (5, 1), (8, 0)$$, '6: Both vertices have different color'); + + +-- 2 vertices test (isolated) + +CREATE TABLE two_isolated_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); + +INSERT INTO two_isolated_vertices_table (source, target, cost, reverse_cost) VALUES + (2, 2, -1, 1), + (1, 1, 1, -1); + +PREPARE q7 AS +SELECT id, source, target, cost, reverse_cost +FROM two_isolated_vertices_table; + +SELECT set_eq('q7', $$VALUES (1, 2, 2, -1, 1), (2, 1, 1, 1, -1)$$, 'q7: Graph with two isolated vertices 1 and 2'); + +PREPARE sequentialVertexColoring8 AS +SELECT * +FROM pgr_sequentialVertexColoring( + 'q7' +); + +SELECT set_eq('sequentialVertexColoring8', $$VALUES (1, 0), (2, 0)$$, '8: Both vertices have same color'); SELECT * FROM finish(); From 05772c71ddd300f3e0302372da839e50c59644af Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 9 Jul 2020 21:37:47 +0530 Subject: [PATCH 0222/1360] [sequentialVertexColoring] [pgtap] Added 3 vertices test --- .../sequentialVertexColoring-edge-cases.sql | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql index 5434c72ea93..b6c175337ca 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(8); +SELECT plan(10); -- 0 edge, 0 vertex test @@ -85,5 +85,23 @@ FROM pgr_sequentialVertexColoring( SELECT set_eq('sequentialVertexColoring8', $$VALUES (1, 0), (2, 0)$$, '8: Both vertices have same color'); +-- 3 vertices test + +PREPARE q9 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id <= 2; + +SELECT set_eq('q9', $$VALUES (1, 1, 2, 1, 1), (2, 2, 3, -1, 1)$$, 'q9: Graph with three vertices 1, 2 and 3'); + +PREPARE sequentialVertexColoring10 AS +SELECT * +FROM pgr_sequentialVertexColoring( + 'q9' +); + +SELECT set_eq('sequentialVertexColoring10', $$VALUES (1, 0), (2, 1), (3, 0)$$, '10: 2 colors are required'); + + SELECT * FROM finish(); ROLLBACK; From 18306a0747371ef8c6a07bcf4c260b9cd0323084 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 9 Jul 2020 21:39:44 +0530 Subject: [PATCH 0223/1360] [sequentialVertexColoring] [pgtap] Added 3 vertices test (cyclic) --- .../sequentialVertexColoring-edge-cases.sql | 40 ++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql index b6c175337ca..ce501ad8e4a 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(10); +SELECT plan(12); -- 0 edge, 0 vertex test @@ -100,8 +100,44 @@ FROM pgr_sequentialVertexColoring( 'q9' ); -SELECT set_eq('sequentialVertexColoring10', $$VALUES (1, 0), (2, 1), (3, 0)$$, '10: 2 colors are required'); +SELECT set_eq('sequentialVertexColoring10', $$VALUES (1, 0), (2, 1), (3, 0)$$, '10: Two colors are required'); +-- 3 vertices tests (cyclic) + +CREATE TABLE three_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); + +INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES + (3, 6, 20, 15), + (3, 8, 10, -10), + (6, 8, -1, 12); + +PREPARE q11 AS +SELECT id, source, target, cost, reverse_cost +FROM three_vertices_table; + +SELECT set_eq('q11', + $$VALUES + (1, 3, 6, 20, 15), + (2, 3, 8, 10, -10), + (3, 6, 8, -1, 12) + $$, + 'q11: Cyclic Graph with three vertices 3, 6 and 8' +); + +PREPARE sequentialVertexColoring12 AS +SELECT * +FROM pgr_sequentialVertexColoring( + 'q11' +); + +SELECT set_eq('sequentialVertexColoring12', $$VALUES (3, 0), (6, 1), (8, 2)$$, '12: Three colors are required'); + SELECT * FROM finish(); ROLLBACK; From e1258deffee9bd841895d4c1b1c5899e91fb6b87 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 9 Jul 2020 21:52:58 +0530 Subject: [PATCH 0224/1360] [sequentialVertexColoring] [pgtap] Added all 4 vertices tests --- .../sequentialVertexColoring-edge-cases.sql | 101 +++++++++++++++++- 1 file changed, 98 insertions(+), 3 deletions(-) diff --git a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql index ce501ad8e4a..7f7978c22ca 100644 --- a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql +++ b/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(12); +SELECT plan(18); -- 0 edge, 0 vertex test @@ -85,7 +85,7 @@ FROM pgr_sequentialVertexColoring( SELECT set_eq('sequentialVertexColoring8', $$VALUES (1, 0), (2, 0)$$, '8: Both vertices have same color'); --- 3 vertices test +-- 3 vertices test (linear) PREPARE q9 AS SELECT id, source, target, cost, reverse_cost @@ -103,7 +103,7 @@ FROM pgr_sequentialVertexColoring( SELECT set_eq('sequentialVertexColoring10', $$VALUES (1, 0), (2, 1), (3, 0)$$, '10: Two colors are required'); --- 3 vertices tests (cyclic) +-- 3 vertices test (cyclic) CREATE TABLE three_vertices_table ( id BIGSERIAL, @@ -139,5 +139,100 @@ FROM pgr_sequentialVertexColoring( SELECT set_eq('sequentialVertexColoring12', $$VALUES (3, 0), (6, 1), (8, 2)$$, '12: Three colors are required'); + +-- 4 vertices test (linear) + +PREPARE q13 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id <= 3; + +SELECT set_eq('q13', + $$VALUES + (1, 1, 2, 1, 1), + (2, 2, 3, -1, 1), + (3, 3, 4, -1, 1) + $$, + 'q13: Graph with four vertices 1, 2, 3 and 4' +); + +PREPARE sequentialVertexColoring14 AS +SELECT * +FROM pgr_sequentialVertexColoring( + 'q13' +); + +SELECT set_eq('sequentialVertexColoring14', $$VALUES (1, 0), (2, 1), (3, 0), (4, 1)$$, '14: Two colors are required'); + + +-- 4 vertices test (cyclic) + +PREPARE q15 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id IN (8, 10, 11, 12); + +SELECT set_eq('q15', + $$VALUES + (8, 5, 6, 1, 1), + (10, 5, 10, 1, 1), + (11, 6, 11, 1, -1), + (12, 10, 11, 1, -1) + $$, + 'q15: Graph with four vertices 5, 6, 10 and 11 (cyclic)' +); + +PREPARE sequentialVertexColoring16 AS +SELECT * +FROM pgr_sequentialVertexColoring( + 'q15' +); + +SELECT set_eq('sequentialVertexColoring16', $$VALUES (5, 0), (6, 1), (10, 1), (11, 0)$$, '16: Two colors are required'); + + +-- 4 vertices test (all connected) + +CREATE TABLE four_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); + +INSERT INTO four_vertices_table (source, target, cost, reverse_cost) VALUES + (1, 2, 1, 1), + (2, 3, 1, -1), + (3, 4, -1, 1), + (4, 1, 1, 1), + (1, 3, 1, -1), + (2, 4, -1, 1); + +PREPARE q17 AS +SELECT id, source, target, cost, reverse_cost +FROM four_vertices_table; + +SELECT set_eq('q17', + $$VALUES + (1, 1, 2, 1, 1), + (2, 2, 3, 1, -1), + (3, 3, 4, -1, 1), + (4, 4, 1, 1, 1), + (5, 1, 3, 1, -1), + (6, 2, 4, -1, 1) + $$, + 'q17: Graph with four vertices 1, 2, 3 and 4 (all connected)' +); + +PREPARE sequentialVertexColoring18 AS +SELECT * +FROM pgr_sequentialVertexColoring( + 'q17' +); + +SELECT set_eq('sequentialVertexColoring18', $$VALUES (1, 0), (2, 1), (3, 2), (4, 3)$$, '18: Four colors are required'); + + SELECT * FROM finish(); ROLLBACK; From 2514b550c70783f9f56bc3a2394640dfccbb2d16 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 10 Jul 2020 19:02:00 +0530 Subject: [PATCH 0225/1360] [depthFirstSearch] [pgtap] Test to check whether same set of rows are returned --- .../depthFirstSearch-rows-check.sql | 39 +++++++------------ 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql b/pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql index ac0723390fe..66e0b126ffc 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(5); +SELECT plan(1); -- Check whether the same set of rows are returned always @@ -15,33 +15,22 @@ SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id DESC; -SELECT SETSEED(1); -PREPARE q3 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -ORDER BY RANDOM(); - -PREPARE q4 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -ORDER BY RANDOM(); +PREPARE depthFirstSearch1 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q1', + 1 +); -PREPARE q5 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -ORDER BY RANDOM(); - -PREPARE q6 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -ORDER BY RANDOM(); +PREPARE depthFirstSearch2 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q2', + 1 +); -SELECT set_eq('q1', 'q2', '1: Should return same set of rows'); -SELECT set_eq('q1', 'q3', '2: Should return same set of rows'); -SELECT set_eq('q1', 'q4', '3: Should return same set of rows'); -SELECT set_eq('q1', 'q5', '4: Should return same set of rows'); -SELECT set_eq('q1', 'q6', '5: Should return same set of rows'); +SELECT set_eq('depthFirstSearch1', 'depthFirstSearch2', '1: Should return same set of rows'); SELECT * FROM finish(); From db921def26b5c69a30cdc002cd2b6ea8c5c4b827 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 10 Jul 2020 19:03:29 +0530 Subject: [PATCH 0226/1360] [sequentialVertexColoring] [pgtap] Test to check whether same set of rows are returned --- .../sequentialVertexColoring-rows-check.sql | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 pgtap/graphColoring/sequentialVertexColoring-rows-check.sql diff --git a/pgtap/graphColoring/sequentialVertexColoring-rows-check.sql b/pgtap/graphColoring/sequentialVertexColoring-rows-check.sql new file mode 100644 index 00000000000..2f792271904 --- /dev/null +++ b/pgtap/graphColoring/sequentialVertexColoring-rows-check.sql @@ -0,0 +1,35 @@ +\i setup.sql + +SELECT plan(1); + + +-- Check whether the same set of rows are returned always + +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +ORDER BY id; + +PREPARE q2 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +ORDER BY id DESC; + + +PREPARE sequentialVertexColoring1 AS +SELECT * +FROM pgr_sequentialVertexColoring( + 'q1' +); + +PREPARE sequentialVertexColoring2 AS +SELECT * +FROM pgr_sequentialVertexColoring( + 'q2' +); + +SELECT set_eq('sequentialVertexColoring1', 'sequentialVertexColoring2', '1: Should return same set of rows'); + + +SELECT * FROM finish(); +ROLLBACK; From 3c0330b472f02d29d69803d0a153f9bad7683ea7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 25 Jul 2020 07:43:30 +0530 Subject: [PATCH 0227/1360] Updated all the files --- .../pgr_sequentialVertexColoring.rst | 2 +- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 2 +- .../pgr_sequentialVertexColoring.hpp | 2 +- .../depthFirstSearch-rows-check.sql | 37 ------------------- .../sequentialVertexColoring-rows-check.sql | 35 ------------------ .../_sequentialVertexColoring.sql | 2 +- .../sequentialVertexColoring.sql | 2 +- sql/sigs/pgrouting--3.0.0.sig | 5 --- sql/sigs/pgrouting--3.2.0.sig | 5 +++ .../depthFirstSearch_driver.cpp | 8 +--- .../sequentialVertexColoring_driver.cpp | 8 +--- tools/scripts/fix_typos.sh | 0 12 files changed, 12 insertions(+), 96 deletions(-) delete mode 100644 pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql delete mode 100644 pgtap/graphColoring/sequentialVertexColoring-rows-check.sql mode change 100755 => 100644 tools/scripts/fix_typos.sh diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index 3f3a95027cf..031f0be42cd 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -114,7 +114,7 @@ Column Type Description .. result columns end -Additional Examples +Additional Examples ------------------------------------------------------------------------------- The examples of this section are based on the :doc:`sampledata` network. diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index e7c2af2add1..2233af40bd3 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -58,7 +58,7 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { /** @name DepthFirstSearch * @{ - * + * */ /** @brief depthFirstSearch function diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index acb23e09aba..47ec5a712c8 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -64,7 +64,7 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { /** @name SequentialVertexColoring * @{ - * + * */ /** @brief sequentialVertexColoring function diff --git a/pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql b/pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql deleted file mode 100644 index 66e0b126ffc..00000000000 --- a/pgtap/depthFirstSearch/depthFirstSearch-rows-check.sql +++ /dev/null @@ -1,37 +0,0 @@ -\i setup.sql - -SELECT plan(1); - - --- Check whether the same set of rows are returned always - -PREPARE q1 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -ORDER BY id; - -PREPARE q2 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -ORDER BY id DESC; - - -PREPARE depthFirstSearch1 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - 1 -); - -PREPARE depthFirstSearch2 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q2', - 1 -); - -SELECT set_eq('depthFirstSearch1', 'depthFirstSearch2', '1: Should return same set of rows'); - - -SELECT * FROM finish(); -ROLLBACK; diff --git a/pgtap/graphColoring/sequentialVertexColoring-rows-check.sql b/pgtap/graphColoring/sequentialVertexColoring-rows-check.sql deleted file mode 100644 index 2f792271904..00000000000 --- a/pgtap/graphColoring/sequentialVertexColoring-rows-check.sql +++ /dev/null @@ -1,35 +0,0 @@ -\i setup.sql - -SELECT plan(1); - - --- Check whether the same set of rows are returned always - -PREPARE q1 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -ORDER BY id; - -PREPARE q2 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -ORDER BY id DESC; - - -PREPARE sequentialVertexColoring1 AS -SELECT * -FROM pgr_sequentialVertexColoring( - 'q1' -); - -PREPARE sequentialVertexColoring2 AS -SELECT * -FROM pgr_sequentialVertexColoring( - 'q2' -); - -SELECT set_eq('sequentialVertexColoring1', 'sequentialVertexColoring2', '1: Should return same set of rows'); - - -SELECT * FROM finish(); -ROLLBACK; diff --git a/sql/graphColoring/_sequentialVertexColoring.sql b/sql/graphColoring/_sequentialVertexColoring.sql index 041bdc6710d..7df3889751b 100644 --- a/sql/graphColoring/_sequentialVertexColoring.sql +++ b/sql/graphColoring/_sequentialVertexColoring.sql @@ -34,7 +34,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION _pgr_sequentialVertexColoring( edges_sql TEXT, - + OUT node BIGINT, OUT color BIGINT) diff --git a/sql/graphColoring/sequentialVertexColoring.sql b/sql/graphColoring/sequentialVertexColoring.sql index 971d538402a..135fd9c5c89 100644 --- a/sql/graphColoring/sequentialVertexColoring.sql +++ b/sql/graphColoring/sequentialVertexColoring.sql @@ -34,7 +34,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION pgr_sequentialVertexColoring( TEXT, -- edges_sql (required) - + OUT node BIGINT, OUT color BIGINT) RETURNS SETOF RECORD AS diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 8d694b457d7..2e0fce72901 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -80,9 +80,6 @@ _pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) pgr_dagshortestpath(text,anyarray,bigint) pgr_dagshortestpath(text,bigint,anyarray) pgr_dagshortestpath(text,bigint,bigint) -_pgr_depthfirstsearch(text,anyarray,bigint,boolean) -pgr_depthfirstsearch(text,anyarray,bigint,boolean) -pgr_depthfirstsearch(text,bigint,bigint,boolean) pgr_dijkstracostmatrix(text,anyarray,boolean) pgr_dijkstracost(text,anyarray,anyarray,boolean) pgr_dijkstracost(text,anyarray,bigint,boolean) @@ -191,8 +188,6 @@ pgr_pushrelabel(text,anyarray,bigint) pgr_pushrelabel(text,bigint,anyarray) pgr_pushrelabel(text,bigint,bigint) _pgr_quote_ident(text) -_pgr_sequentialvertexcoloring(text) -pgr_sequentialvertexcoloring(text) _pgr_startpoint(geometry) _pgr_stoerwagner(text) pgr_stoerwagner(text) diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index a351735f90e..ec5c550b866 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -80,6 +80,9 @@ _pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) pgr_dagshortestpath(text,anyarray,bigint) pgr_dagshortestpath(text,bigint,anyarray) pgr_dagshortestpath(text,bigint,bigint) +_pgr_depthfirstsearch(text,anyarray,bigint,boolean) +pgr_depthfirstsearch(text,anyarray,bigint,boolean) +pgr_depthfirstsearch(text,bigint,bigint,boolean) pgr_dijkstracostmatrix(text,anyarray,boolean) pgr_dijkstracost(text,anyarray,anyarray,boolean) pgr_dijkstracost(text,anyarray,bigint,boolean) @@ -191,6 +194,8 @@ pgr_pushrelabel(text,anyarray,bigint) pgr_pushrelabel(text,bigint,anyarray) pgr_pushrelabel(text,bigint,bigint) _pgr_quote_ident(text) +_pgr_sequentialvertexcoloring(text) +pgr_sequentialvertexcoloring(text) _pgr_startpoint(geometry) _pgr_stoerwagner(text) pgr_stoerwagner(text) diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index c247b09a8e8..93dedddc3b8 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -96,7 +96,7 @@ pgr_depthFirstSearch( * vector and passes these variables to the template function `pgr_depthFirstSearch` * which calls the main function defined in the C++ Header file. It also does * exception handling. - * + * * @param data_edges the set of edges from the SQL query * @param total_edges the total number of edges in the SQL query * @param rootsArr the array containing the starting vertices @@ -149,12 +149,6 @@ do_pgr_depthFirstSearch( // string variable to store the log messages std::string logstr; - // sorting the edges in an ascending order of their id, before creating the graph - std::sort(data_edges, data_edges + total_edges, - [](const pgr_edge_t &edge1, const pgr_edge_t &edge2) -> bool { - return edge1.id < edge2.id; - }); - if (directed) { // If the graph is directed log << "Working with directed Graph\n"; diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index 9896738ca35..35ae199773b 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -77,7 +77,7 @@ pgr_sequentialVertexColoring( * `data_edges` variable. Then, it passes the required variables to the * template function `pgr_sequentialVertexColoring` which calls the main function * defined in the C++ Header file. It also does exception handling. - * + * * @param data_edges the set of edges from the SQL query * @param total_edges the total number of edges in the SQL query * @param return_tuples the rows in the result @@ -118,12 +118,6 @@ do_pgr_sequentialVertexColoring( graphType gType = UNDIRECTED; pgrouting::UndirectedGraph undigraph(gType); - // sorting the edges in an ascending order of their id, before creating the graph - std::sort(data_edges, data_edges + total_edges, - [](const pgr_edge_t &edge1, const pgr_edge_t &edge2) -> bool { - return edge1.id < edge2.id; - }); - undigraph.insert_edges(data_edges, total_edges); // calls the template function diff --git a/tools/scripts/fix_typos.sh b/tools/scripts/fix_typos.sh old mode 100755 new mode 100644 From 9f4552c65d4dbdcd528db623fa1749b5577db32f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 27 Jul 2020 01:43:00 +0530 Subject: [PATCH 0228/1360] [depthFirstSearch] Added debugging in dfs visitor --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 8 +- include/visitors/dfs_visitor.hpp | 99 +++++++++++++++++++ 2 files changed, 103 insertions(+), 4 deletions(-) create mode 100644 include/visitors/dfs_visitor.hpp diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 2233af40bd3..793fd41b71f 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -26,7 +26,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #pragma once -#include +#include #include #include @@ -128,19 +128,19 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { V root, std::vector &visited_order, bool directed) { - using dfs_visitor = visitors::Dfs_visitor_with_root; + using dfs_visitor = visitors::Dfs_visitor; try { if (directed) { boost::depth_first_search( graph.graph, - visitor(dfs_visitor(root, visited_order)) + visitor(dfs_visitor(log, root, visited_order)) .root_vertex(root)); } else { std::map edge_color; boost::undirected_dfs( graph.graph, - visitor(dfs_visitor(root, visited_order)) + visitor(dfs_visitor(log, root, visited_order)) .edge_color_map(boost::make_assoc_property_map(edge_color)) .root_vertex(root)); } diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp new file mode 100644 index 00000000000..2ccbb030fd0 --- /dev/null +++ b/include/visitors/dfs_visitor.hpp @@ -0,0 +1,99 @@ +/*PGR-GNU***************************************************************** +File: Dfs_visitor_with_root.hpp + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Ashish Kumar +Mail: ashishkr23438@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_VISITORS_DFS_VISITOR_HPP_ +#define INCLUDE_VISITORS_DFS_VISITOR_HPP_ +#pragma once + +#include + +#include + +#include "visitors/found_goals.hpp" +#include "cpp_common/pgr_messages.h" + +namespace pgrouting { +namespace visitors { + +template +class Dfs_visitor : public boost::default_dfs_visitor { + public: + Dfs_visitor( + std::ostringstream &p_log, + V root, + std::vector &data) : + log(p_log), + m_data(data), + m_roots(root) {} + template + void initialize_vertex(V v, const B_G&) { + log << "initialize vertex " << v << "\n"; + } + template + void start_vertex(V v, const B_G&) { + log << "start vertex " << v << "\n"; + } + template + void discover_vertex(V v, const B_G&) { + log << "discover vertex " << v << "\n"; + } + template + void examine_edge(E e, const B_G&) { + log << "examine edge " << e << "\n"; + } + template + void tree_edge(E e, const B_G&) { + log << "tree edge " << e << "\n"; + } + template + void back_edge(E e, const B_G&) { + log << "back edge " << e << "\n"; + } + template + void forward_or_cross_edge(E e, const B_G&) { + log << "forward or cross edge " << e << "\n"; + } + template + void finish_edge(E e, const B_G&) { + log << "finish edge " << e << "\n"; + } + template + void finish_vertex(V v, const B_G&) { + log << "finish vertex " << v << "\n"; + } + + private: + std::ostringstream &log; + std::vector &m_data; + V m_roots; +}; + + +} // namespace visitors +} // namespace pgrouting + +#endif // INCLUDE_VISITORS_DFS_VISITOR_HPP_ From 7fbbbe3f3966a34b78cbfe5962b3ce08dab4afd3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 27 Jul 2020 02:38:13 +0530 Subject: [PATCH 0229/1360] [depthFirstSearch] Added edge id & time in debugging output --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 6 ++--- include/visitors/dfs_visitor.hpp | 22 ++++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 793fd41b71f..bab267bbf85 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -128,19 +128,19 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { V root, std::vector &visited_order, bool directed) { - using dfs_visitor = visitors::Dfs_visitor; + using dfs_visitor = visitors::Dfs_visitor; try { if (directed) { boost::depth_first_search( graph.graph, - visitor(dfs_visitor(log, root, visited_order)) + visitor(dfs_visitor(log, root, visited_order, graph)) .root_vertex(root)); } else { std::map edge_color; boost::undirected_dfs( graph.graph, - visitor(dfs_visitor(log, root, visited_order)) + visitor(dfs_visitor(log, root, visited_order, graph)) .edge_color_map(boost::make_assoc_property_map(edge_color)) .root_vertex(root)); } diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 2ccbb030fd0..543bb79e383 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -39,16 +39,19 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. namespace pgrouting { namespace visitors { -template +template class Dfs_visitor : public boost::default_dfs_visitor { public: Dfs_visitor( std::ostringstream &p_log, V root, - std::vector &data) : + std::vector &data, + G &graph) : log(p_log), m_data(data), - m_roots(root) {} + m_roots(root), + m_graph(graph), + time(0) {} template void initialize_vertex(V v, const B_G&) { log << "initialize vertex " << v << "\n"; @@ -60,26 +63,27 @@ class Dfs_visitor : public boost::default_dfs_visitor { template void discover_vertex(V v, const B_G&) { log << "discover vertex " << v << "\n"; + log << "time " << time++ << "\n"; } template void examine_edge(E e, const B_G&) { - log << "examine edge " << e << "\n"; + log << "examine edge " << e << " : ID " << m_graph[e].id << "\n"; } template void tree_edge(E e, const B_G&) { - log << "tree edge " << e << "\n"; + log << "tree edge " << e << " : ID " << m_graph[e].id << "\n"; } template void back_edge(E e, const B_G&) { - log << "back edge " << e << "\n"; + log << "back edge " << e << " : ID " << m_graph[e].id << "\n"; } template void forward_or_cross_edge(E e, const B_G&) { - log << "forward or cross edge " << e << "\n"; + log << "forward or cross edge " << e << " : ID " << m_graph[e].id << "\n"; } template void finish_edge(E e, const B_G&) { - log << "finish edge " << e << "\n"; + log << "finish edge " << e << " : ID " << m_graph[e].id << "\n"; } template void finish_vertex(V v, const B_G&) { @@ -90,6 +94,8 @@ class Dfs_visitor : public boost::default_dfs_visitor { std::ostringstream &log; std::vector &m_data; V m_roots; + int64_t time; + G &m_graph; }; From c6abe829cca80c18973dd090fb07d6be09e9b59a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 27 Jul 2020 08:30:21 +0530 Subject: [PATCH 0230/1360] [depthFirstSearch] Added vertex id in debugging --- include/visitors/dfs_visitor.hpp | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 543bb79e383..e62f918c0ed 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -54,48 +54,53 @@ class Dfs_visitor : public boost::default_dfs_visitor { time(0) {} template void initialize_vertex(V v, const B_G&) { - log << "initialize vertex " << v << "\n"; + log << "initialize vertex " << v << "\t : id " << m_graph[v].id << "\n"; } template void start_vertex(V v, const B_G&) { - log << "start vertex " << v << "\n"; + log << "start vertex " << v << "\t : id " << m_graph[v].id << "\n"; } template void discover_vertex(V v, const B_G&) { - log << "discover vertex " << v << "\n"; - log << "time " << time++ << "\n"; + log << "\ntime " << time++ << "\n"; + log << "discover vertex " << v << "\t : id " << m_graph[v].id << "\n"; } template void examine_edge(E e, const B_G&) { - log << "examine edge " << e << " : ID " << m_graph[e].id << "\n"; + log << "examine edge " << e << "\t : id " << m_graph[e].id << " (" + << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; } template void tree_edge(E e, const B_G&) { - log << "tree edge " << e << " : ID " << m_graph[e].id << "\n"; + log << "tree edge " << e << "\t\t : id " << m_graph[e].id << " (" + << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; } template void back_edge(E e, const B_G&) { - log << "back edge " << e << " : ID " << m_graph[e].id << "\n"; + log << "back edge " << e << "\t\t : id " << m_graph[e].id << " (" + << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; } template void forward_or_cross_edge(E e, const B_G&) { - log << "forward or cross edge " << e << " : ID " << m_graph[e].id << "\n"; + log << "forward or cross edge " << e << "\t : id " << m_graph[e].id << " (" + << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; } template void finish_edge(E e, const B_G&) { - log << "finish edge " << e << " : ID " << m_graph[e].id << "\n"; + log << "finish edge " << e << "\t : id " << m_graph[e].id << " (" + << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; } template void finish_vertex(V v, const B_G&) { - log << "finish vertex " << v << "\n"; + log << "finish vertex " << v << "\t : id " << m_graph[v].id << "\n"; } private: std::ostringstream &log; std::vector &m_data; V m_roots; - int64_t time; G &m_graph; + int64_t time; }; From 4044394f0636bb1acdfc928446347e9ee1610bcd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 27 Jul 2020 10:29:05 +0530 Subject: [PATCH 0231/1360] [depthFirstSearch] logging the depth --- include/visitors/dfs_visitor.hpp | 36 +++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index e62f918c0ed..068c839017a 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -32,6 +32,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include +#include #include "visitors/found_goals.hpp" #include "cpp_common/pgr_messages.h" @@ -51,48 +52,57 @@ class Dfs_visitor : public boost::default_dfs_visitor { m_data(data), m_roots(root), m_graph(graph), - time(0) {} + time(0), + depth(0) {} template void initialize_vertex(V v, const B_G&) { - log << "initialize vertex " << v << "\t : id " << m_graph[v].id << "\n"; + log << "initialize vertex id " << m_graph[v].id << "\n"; } template void start_vertex(V v, const B_G&) { - log << "start vertex " << v << "\t : id " << m_graph[v].id << "\n"; + log << "start vertex id " << m_graph[v].id << "\n"; } template void discover_vertex(V v, const B_G&) { log << "\ntime " << time++ << "\n"; - log << "discover vertex " << v << "\t : id " << m_graph[v].id << "\n"; + // log << "depth " << depth << "\n"; + log << "discover vertex id " << m_graph[v].id << "\n"; } template void examine_edge(E e, const B_G&) { - log << "examine edge " << e << "\t : id " << m_graph[e].id << " (" + log << "examine edge id " << m_graph[e].id << " (" << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; } template void tree_edge(E e, const B_G&) { - log << "tree edge " << e << "\t\t : id " << m_graph[e].id << " (" + log << "tree edge id " << m_graph[e].id << " (" << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; + depth++; + edge_set.insert(e); + log << "depth " << depth << "\n"; } template void back_edge(E e, const B_G&) { - log << "back edge " << e << "\t\t : id " << m_graph[e].id << " (" - << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; + // log << "back edge " << e << "\t\t : id " << m_graph[e].id << " (" + // << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; } template void forward_or_cross_edge(E e, const B_G&) { - log << "forward or cross edge " << e << "\t : id " << m_graph[e].id << " (" - << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; + // log << "forward or cross edge " << e << "\t : id " << m_graph[e].id << " (" + // << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; } template void finish_edge(E e, const B_G&) { - log << "finish edge " << e << "\t : id " << m_graph[e].id << " (" + log << "finish edge id " << m_graph[e].id << " (" << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; + if (edge_set.find(e) != edge_set.end()) { + depth--; + log << "depth " << depth << "\n"; + } } template void finish_vertex(V v, const B_G&) { - log << "finish vertex " << v << "\t : id " << m_graph[v].id << "\n"; + log << "finish vertex id " << m_graph[v].id << "\n"; } private: @@ -101,6 +111,8 @@ class Dfs_visitor : public boost::default_dfs_visitor { V m_roots; G &m_graph; int64_t time; + int64_t depth; + std::set edge_set; }; From 22c5ea84917fc674ad0ba64654ef8ee7f2e1d780 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 27 Jul 2020 10:35:26 +0530 Subject: [PATCH 0232/1360] [depthFirstSearch] Commented out the code --- include/visitors/dfs_visitor.hpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 068c839017a..eabb70e3abe 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -83,13 +83,17 @@ class Dfs_visitor : public boost::default_dfs_visitor { } template void back_edge(E e, const B_G&) { - // log << "back edge " << e << "\t\t : id " << m_graph[e].id << " (" - // << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; +#if 0 + log << "back edge " << e << "\t\t : id " << m_graph[e].id << " (" + << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; +#endif } template void forward_or_cross_edge(E e, const B_G&) { - // log << "forward or cross edge " << e << "\t : id " << m_graph[e].id << " (" - // << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; +#if 0 + log << "forward or cross edge " << e << "\t : id " << m_graph[e].id << " (" + << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; +#endif } template void finish_edge(E e, const B_G&) { From de19474dd0eb3f2496160af49b20427462c17898 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 27 Jul 2020 11:35:34 +0530 Subject: [PATCH 0233/1360] [depthFirstSearch] Small change in the c++ header file --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index bab267bbf85..76078915cde 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -129,7 +129,8 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { std::vector &visited_order, bool directed) { using dfs_visitor = visitors::Dfs_visitor; - + std::map edge_color; + auto colors(boost::make_assoc_property_map(edge_color)); try { if (directed) { boost::depth_first_search( @@ -137,11 +138,10 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { visitor(dfs_visitor(log, root, visited_order, graph)) .root_vertex(root)); } else { - std::map edge_color; boost::undirected_dfs( graph.graph, visitor(dfs_visitor(log, root, visited_order, graph)) - .edge_color_map(boost::make_assoc_property_map(edge_color)) + .edge_color_map(colors) .root_vertex(root)); } } catch(found_goals &) { From cc32617f50e9ad5f8677bb18bae1a8a95f78deec Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 27 Jul 2020 12:56:52 +0530 Subject: [PATCH 0234/1360] [depthFirstSearch] Logging the colors in the visitor --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 7 ++++--- include/visitors/dfs_visitor.hpp | 14 ++++++++++---- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 76078915cde..b6130430907 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -130,17 +130,18 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { bool directed) { using dfs_visitor = visitors::Dfs_visitor; std::map edge_color; - auto colors(boost::make_assoc_property_map(edge_color)); + boost::associative_property_map> colors(boost::make_assoc_property_map(edge_color)); try { if (directed) { boost::depth_first_search( graph.graph, - visitor(dfs_visitor(log, root, visited_order, graph)) + visitor(dfs_visitor(log, root, visited_order, colors, graph)) + .edge_color_map(colors) .root_vertex(root)); } else { boost::undirected_dfs( graph.graph, - visitor(dfs_visitor(log, root, visited_order, graph)) + visitor(dfs_visitor(log, root, visited_order, colors, graph)) .edge_color_map(colors) .root_vertex(root)); } diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index eabb70e3abe..bebde9a7430 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -33,6 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include +#include #include "visitors/found_goals.hpp" #include "cpp_common/pgr_messages.h" @@ -47,10 +48,12 @@ class Dfs_visitor : public boost::default_dfs_visitor { std::ostringstream &p_log, V root, std::vector &data, + boost::associative_property_map> &colors, G &graph) : log(p_log), m_data(data), m_roots(root), + m_colors(colors), m_graph(graph), time(0), depth(0) {} @@ -77,28 +80,30 @@ class Dfs_visitor : public boost::default_dfs_visitor { void tree_edge(E e, const B_G&) { log << "tree edge id " << m_graph[e].id << " (" << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; + log << "color " << m_colors[e] << "\n"; depth++; edge_set.insert(e); log << "depth " << depth << "\n"; } +#if 0 template void back_edge(E e, const B_G&) { -#if 0 log << "back edge " << e << "\t\t : id " << m_graph[e].id << " (" << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; -#endif } +#endif +#if 0 template void forward_or_cross_edge(E e, const B_G&) { -#if 0 log << "forward or cross edge " << e << "\t : id " << m_graph[e].id << " (" << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; -#endif } +#endif template void finish_edge(E e, const B_G&) { log << "finish edge id " << m_graph[e].id << " (" << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; + log << "color " << m_colors[e] << "\n"; if (edge_set.find(e) != edge_set.end()) { depth--; log << "depth " << depth << "\n"; @@ -113,6 +118,7 @@ class Dfs_visitor : public boost::default_dfs_visitor { std::ostringstream &log; std::vector &m_data; V m_roots; + boost::associative_property_map> m_colors; G &m_graph; int64_t time; int64_t depth; From 9504ede9b30040132ab650e0295845f63151249e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 27 Jul 2020 21:20:04 +0530 Subject: [PATCH 0235/1360] [depthFirstSearch] Removed comment --- include/visitors/dfs_visitor.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index bebde9a7430..34e47bd152b 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -68,7 +68,6 @@ class Dfs_visitor : public boost::default_dfs_visitor { template void discover_vertex(V v, const B_G&) { log << "\ntime " << time++ << "\n"; - // log << "depth " << depth << "\n"; log << "discover vertex id " << m_graph[v].id << "\n"; } template From 990160643b79932848243a1da0faf5fe0bb41e8a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 27 Jul 2020 21:26:31 +0530 Subject: [PATCH 0236/1360] [depthFirstSearch] Logging the color in examine edge --- include/visitors/dfs_visitor.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 34e47bd152b..1d2e5975730 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -72,6 +72,7 @@ class Dfs_visitor : public boost::default_dfs_visitor { } template void examine_edge(E e, const B_G&) { + log << "color " << m_colors[e] << "\n"; log << "examine edge id " << m_graph[e].id << " (" << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; } From b6549b20d26c4aa1c89ad09528e676df48e2487b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 27 Jul 2020 21:30:57 +0530 Subject: [PATCH 0237/1360] [depthFirstSearch] Passed color by reference --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index b6130430907..8bb043bb04e 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -136,7 +136,7 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { boost::depth_first_search( graph.graph, visitor(dfs_visitor(log, root, visited_order, colors, graph)) - .edge_color_map(colors) + .edge_color_map(&colors) .root_vertex(root)); } else { boost::undirected_dfs( From 0fbe06886af079dad83e8a315513837f0ccd2f74 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 28 Jul 2020 19:09:27 +0530 Subject: [PATCH 0238/1360] [depthFirstSearch] Updated the dfs visitor file --- include/visitors/dfs_visitor.hpp | 52 +++++++++++--------------------- 1 file changed, 17 insertions(+), 35 deletions(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 1d2e5975730..970ba20434f 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -35,9 +35,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include -#include "visitors/found_goals.hpp" -#include "cpp_common/pgr_messages.h" - namespace pgrouting { namespace visitors { @@ -45,13 +42,9 @@ template class Dfs_visitor : public boost::default_dfs_visitor { public: Dfs_visitor( - std::ostringstream &p_log, V root, - std::vector &data, - boost::associative_property_map> &colors, + std::vector &colors, G &graph) : - log(p_log), - m_data(data), m_roots(root), m_colors(colors), m_graph(graph), @@ -59,66 +52,55 @@ class Dfs_visitor : public boost::default_dfs_visitor { depth(0) {} template void initialize_vertex(V v, const B_G&) { - log << "initialize vertex id " << m_graph[v].id << "\n"; + std::cout << "initialize vertex " << v << "\n"; } template void start_vertex(V v, const B_G&) { - log << "start vertex id " << m_graph[v].id << "\n"; + std::cout << "color " << m_colors[v] << "\n"; + std::cout << "start vertex " << v << "\n"; } template void discover_vertex(V v, const B_G&) { - log << "\ntime " << time++ << "\n"; - log << "discover vertex id " << m_graph[v].id << "\n"; + std::cout << "color " << m_colors[v] << "\n"; + std::cout << "\ntime " << time++ << "\n"; + std::cout << "discover vertex " << v << "\n"; } template void examine_edge(E e, const B_G&) { - log << "color " << m_colors[e] << "\n"; - log << "examine edge id " << m_graph[e].id << " (" - << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; + std::cout << "examine edge " << e << "\n"; } template void tree_edge(E e, const B_G&) { - log << "tree edge id " << m_graph[e].id << " (" - << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; - log << "color " << m_colors[e] << "\n"; + std::cout << "tree edge " << e << "\n"; depth++; edge_set.insert(e); - log << "depth " << depth << "\n"; + std::cout << "depth " << depth << "\n"; } -#if 0 template void back_edge(E e, const B_G&) { - log << "back edge " << e << "\t\t : id " << m_graph[e].id << " (" - << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; + std::cout << "back edge " << e << "\n"; } -#endif -#if 0 template void forward_or_cross_edge(E e, const B_G&) { - log << "forward or cross edge " << e << "\t : id " << m_graph[e].id << " (" - << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; + std::cout << "forward or cross edge " << e << "\n"; } -#endif template void finish_edge(E e, const B_G&) { - log << "finish edge id " << m_graph[e].id << " (" - << m_graph[m_graph.source(e)].id << ", " << m_graph[m_graph.target(e)].id << ")" << "\n"; - log << "color " << m_colors[e] << "\n"; + std::cout << "finish edge " << e << "\n"; if (edge_set.find(e) != edge_set.end()) { depth--; - log << "depth " << depth << "\n"; + std::cout << "depth " << depth << "\n"; } } template void finish_vertex(V v, const B_G&) { - log << "finish vertex id " << m_graph[v].id << "\n"; + std::cout << "color " << m_colors[v] << "\n"; + std::cout << "finish vertex " << v << "\n"; } private: - std::ostringstream &log; - std::vector &m_data; V m_roots; - boost::associative_property_map> m_colors; + std::vector &m_colors; G &m_graph; int64_t time; int64_t depth; From 1cbf1637670fe62b704eca288be740e835ac4b83 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 28 Jul 2020 19:09:45 +0530 Subject: [PATCH 0239/1360] [depthFirstSearch] Added the dfs toy example --- .../depthFirstSearch_testing.cpp | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 include/depthFirstSearch/depthFirstSearch_testing.cpp diff --git a/include/depthFirstSearch/depthFirstSearch_testing.cpp b/include/depthFirstSearch/depthFirstSearch_testing.cpp new file mode 100644 index 00000000000..fc31f95dc4a --- /dev/null +++ b/include/depthFirstSearch/depthFirstSearch_testing.cpp @@ -0,0 +1,53 @@ +#include +#include +#include +#include + +#include + +#include "../visitors/dfs_visitor.hpp" + + +int main() { + typedef boost::adjacency_list G; + typedef typename boost::graph_traits ::vertex_descriptor V; + typedef typename boost::graph_traits ::edge_descriptor E; + + enum { v1, v2, v3, v4, v5, v6, v7, v8, v9, N }; + + + typedef std::pair < V, V > Edge; + Edge edge_array[] = { Edge(v1, v2), Edge(v2, v1), Edge(v3, v2), Edge(v4, v3), + Edge(v2, v5), Edge(v5, v2), Edge(v3, v6), Edge(v7, v8), + Edge(v8, v7), Edge(v5, v8), Edge(v8, v5), Edge(v5, v6), + Edge(v6, v5), Edge(v6, v9), Edge(v9, v6), Edge(v9, v4), + Edge(v4, v9) + }; + + G graph(N); + for (std::size_t j = 0; j < sizeof(edge_array) / sizeof(Edge); ++j) + add_edge(edge_array[j].first, edge_array[j].second, graph); + + using dfs_visitor = pgrouting::visitors::Dfs_visitor; + + V root = v1; + + // Here we use std::vector as exterior property storage. + std::vector colors(boost::num_vertices(graph)); + + auto vis = dfs_visitor(root, colors, graph); + auto i_map = get(boost::vertex_index, graph); + auto color_map = boost::make_iterator_property_map(colors.begin(), i_map); + + boost::depth_first_search(graph, vis, color_map, root); + +#if 0 + boost::depth_first_search(graph, + boost::root_vertex(v1) + .visitor(vis) + .color_map(color_map) + ); +#endif + + return 0; +} From e410af09f3bbf1ce6541c64cccca328bcb9096b2 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 28 Jul 2020 19:47:52 +0530 Subject: [PATCH 0240/1360] [depthFirstSearch] Updated the visitor file & cpp testing file --- .../depthFirstSearch_testing.cpp | 6 +-- include/visitors/dfs_visitor.hpp | 40 ++++++++++++------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/include/depthFirstSearch/depthFirstSearch_testing.cpp b/include/depthFirstSearch/depthFirstSearch_testing.cpp index fc31f95dc4a..af046822fb3 100644 --- a/include/depthFirstSearch/depthFirstSearch_testing.cpp +++ b/include/depthFirstSearch/depthFirstSearch_testing.cpp @@ -21,7 +21,7 @@ int main() { Edge(v2, v5), Edge(v5, v2), Edge(v3, v6), Edge(v7, v8), Edge(v8, v7), Edge(v5, v8), Edge(v8, v5), Edge(v5, v6), Edge(v6, v5), Edge(v6, v9), Edge(v9, v6), Edge(v9, v4), - Edge(v4, v9) + Edge(v4, v9), Edge(v6, v8) }; G graph(N); @@ -30,12 +30,12 @@ int main() { using dfs_visitor = pgrouting::visitors::Dfs_visitor; - V root = v1; + V root = v2; // Here we use std::vector as exterior property storage. std::vector colors(boost::num_vertices(graph)); - auto vis = dfs_visitor(root, colors, graph); + auto vis = dfs_visitor(root, 2, colors, graph); auto i_map = get(boost::vertex_index, graph); auto color_map = boost::make_iterator_property_map(colors.begin(), i_map); diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 970ba20434f..6c6f0c983d7 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -43,12 +43,13 @@ class Dfs_visitor : public boost::default_dfs_visitor { public: Dfs_visitor( V root, + int64_t max_depth, std::vector &colors, G &graph) : m_roots(root), + m_max_depth(max_depth), m_colors(colors), m_graph(graph), - time(0), depth(0) {} template void initialize_vertex(V v, const B_G&) { @@ -56,37 +57,49 @@ class Dfs_visitor : public boost::default_dfs_visitor { } template void start_vertex(V v, const B_G&) { - std::cout << "color " << m_colors[v] << "\n"; - std::cout << "start vertex " << v << "\n"; + std::cout << "start vertex " << v << "\t\t" << "color " << m_colors[v] << "\n"; } template void discover_vertex(V v, const B_G&) { - std::cout << "color " << m_colors[v] << "\n"; - std::cout << "\ntime " << time++ << "\n"; - std::cout << "discover vertex " << v << "\n"; + std::cout << "\n"; + std::cout << "discover vertex " << v << "\t" << "color " << m_colors[v] << "\n"; } template void examine_edge(E e, const B_G&) { - std::cout << "examine edge " << e << "\n"; + int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); + std::cout << "examine edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] + << " vertex " << target << " color " << m_colors[target] << "\n"; } template void tree_edge(E e, const B_G&) { - std::cout << "tree edge " << e << "\n"; + int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); + std::cout << "tree edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] + << " vertex " << target << " color " << m_colors[target] << "\n"; depth++; edge_set.insert(e); std::cout << "depth " << depth << "\n"; } +#if 1 template void back_edge(E e, const B_G&) { - std::cout << "back edge " << e << "\n"; + int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); + std::cout << "back edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] + << " vertex " << target << " color " << m_colors[target] << "\n"; + // std::cout << "back edge " << e << "\n"; } template void forward_or_cross_edge(E e, const B_G&) { - std::cout << "forward or cross edge " << e << "\n"; + int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); + std::cout << "forward or cross edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] + << " vertex " << target << " color " << m_colors[target] << "\n"; + // std::cout << "forward or cross edge " << e << "\n"; } +#endif template void finish_edge(E e, const B_G&) { - std::cout << "finish edge " << e << "\n"; + int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); + std::cout << "finish edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] + << " vertex " << target << " color " << m_colors[target] << "\n"; if (edge_set.find(e) != edge_set.end()) { depth--; std::cout << "depth " << depth << "\n"; @@ -94,15 +107,14 @@ class Dfs_visitor : public boost::default_dfs_visitor { } template void finish_vertex(V v, const B_G&) { - std::cout << "color " << m_colors[v] << "\n"; - std::cout << "finish vertex " << v << "\n"; + std::cout << "finish vertex " << v << "\t\t" << "color " << m_colors[v] << "\n"; } private: V m_roots; + int64_t m_max_depth; std::vector &m_colors; G &m_graph; - int64_t time; int64_t depth; std::set edge_set; }; From f1034a6ade7821fb4284be9288f058069074a346 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 28 Jul 2020 19:50:01 +0530 Subject: [PATCH 0241/1360] [depthFirstSearch] Updated the dfs visitor file --- include/visitors/dfs_visitor.hpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 6c6f0c983d7..42cbdce5d24 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -85,14 +85,12 @@ class Dfs_visitor : public boost::default_dfs_visitor { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); std::cout << "back edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " vertex " << target << " color " << m_colors[target] << "\n"; - // std::cout << "back edge " << e << "\n"; } template void forward_or_cross_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); std::cout << "forward or cross edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " vertex " << target << " color " << m_colors[target] << "\n"; - // std::cout << "forward or cross edge " << e << "\n"; } #endif template From d3f7c04e53d2d53ab9d2210648df54c8d325c00b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 28 Jul 2020 19:52:04 +0530 Subject: [PATCH 0242/1360] [depthFirstSearch] Added depth at the end of all functions --- include/visitors/dfs_visitor.hpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 42cbdce5d24..fc18741d941 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -58,17 +58,20 @@ class Dfs_visitor : public boost::default_dfs_visitor { template void start_vertex(V v, const B_G&) { std::cout << "start vertex " << v << "\t\t" << "color " << m_colors[v] << "\n"; + std::cout << "depth " << depth << "\n"; } template void discover_vertex(V v, const B_G&) { std::cout << "\n"; std::cout << "discover vertex " << v << "\t" << "color " << m_colors[v] << "\n"; + std::cout << "depth " << depth << "\n"; } template void examine_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); std::cout << "examine edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " vertex " << target << " color " << m_colors[target] << "\n"; + std::cout << "depth " << depth << "\n"; } template void tree_edge(E e, const B_G&) { @@ -85,12 +88,14 @@ class Dfs_visitor : public boost::default_dfs_visitor { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); std::cout << "back edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " vertex " << target << " color " << m_colors[target] << "\n"; + std::cout << "depth " << depth << "\n"; } template void forward_or_cross_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); std::cout << "forward or cross edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " vertex " << target << " color " << m_colors[target] << "\n"; + std::cout << "depth " << depth << "\n"; } #endif template @@ -100,12 +105,13 @@ class Dfs_visitor : public boost::default_dfs_visitor { << " vertex " << target << " color " << m_colors[target] << "\n"; if (edge_set.find(e) != edge_set.end()) { depth--; - std::cout << "depth " << depth << "\n"; } + std::cout << "depth " << depth << "\n"; } template void finish_vertex(V v, const B_G&) { std::cout << "finish vertex " << v << "\t\t" << "color " << m_colors[v] << "\n"; + std::cout << "depth " << depth << "\n"; } private: From 4085bd9c038a32388b5b799d7fba988925d16fbd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 28 Jul 2020 19:54:58 +0530 Subject: [PATCH 0243/1360] [depthFirstSearch] Added depth at the end --- include/visitors/dfs_visitor.hpp | 36 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index fc18741d941..c7f676def6c 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -57,61 +57,61 @@ class Dfs_visitor : public boost::default_dfs_visitor { } template void start_vertex(V v, const B_G&) { - std::cout << "start vertex " << v << "\t\t" << "color " << m_colors[v] << "\n"; - std::cout << "depth " << depth << "\n"; + std::cout << "start vertex " << v << "\t\t" << "color " << m_colors[v]; + std::cout << "\tdepth " << depth << "\n"; } template void discover_vertex(V v, const B_G&) { std::cout << "\n"; - std::cout << "discover vertex " << v << "\t" << "color " << m_colors[v] << "\n"; - std::cout << "depth " << depth << "\n"; + std::cout << "discover vertex " << v << "\t" << "color " << m_colors[v]; + std::cout << "\tdepth " << depth << "\n"; } template void examine_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); std::cout << "examine edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] - << " vertex " << target << " color " << m_colors[target] << "\n"; - std::cout << "depth " << depth << "\n"; + << " vertex " << target << " color " << m_colors[target]; + std::cout << "\tdepth " << depth << "\n"; } template void tree_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "tree edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] - << " vertex " << target << " color " << m_colors[target] << "\n"; + std::cout << "tree edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] + << " vertex " << target << " color " << m_colors[target]; depth++; edge_set.insert(e); - std::cout << "depth " << depth << "\n"; + std::cout << "\tdepth " << depth << "\n"; } #if 1 template void back_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "back edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] - << " vertex " << target << " color " << m_colors[target] << "\n"; - std::cout << "depth " << depth << "\n"; + std::cout << "back edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] + << " vertex " << target << " color " << m_colors[target]; + std::cout << "\tdepth " << depth << "\n"; } template void forward_or_cross_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); std::cout << "forward or cross edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] - << " vertex " << target << " color " << m_colors[target] << "\n"; - std::cout << "depth " << depth << "\n"; + << " vertex " << target << " color " << m_colors[target]; + std::cout << "\tdepth " << depth << "\n"; } #endif template void finish_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); std::cout << "finish edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] - << " vertex " << target << " color " << m_colors[target] << "\n"; + << " vertex " << target << " color " << m_colors[target]; if (edge_set.find(e) != edge_set.end()) { depth--; } - std::cout << "depth " << depth << "\n"; + std::cout << "\tdepth " << depth << "\n"; } template void finish_vertex(V v, const B_G&) { - std::cout << "finish vertex " << v << "\t\t" << "color " << m_colors[v] << "\n"; - std::cout << "depth " << depth << "\n"; + std::cout << "finish vertex " << v << "\t\t" << "color " << m_colors[v]; + std::cout << "\tdepth " << depth << "\n"; } private: From efe04abb65decbd100ffdf34e07229f67c0aa04d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 28 Jul 2020 20:26:29 +0530 Subject: [PATCH 0244/1360] [depthFirstSearch] Added the depth of the vertices --- include/visitors/dfs_visitor.hpp | 40 ++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index c7f676def6c..f25089256a0 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -57,61 +57,64 @@ class Dfs_visitor : public boost::default_dfs_visitor { } template void start_vertex(V v, const B_G&) { + m_depth.resize(boost::num_vertices(m_graph)); + m_depth[v] = 0; std::cout << "start vertex " << v << "\t\t" << "color " << m_colors[v]; - std::cout << "\tdepth " << depth << "\n"; + std::cout << "\tVertex depth " << m_depth[v] << "\n"; } template void discover_vertex(V v, const B_G&) { std::cout << "\n"; std::cout << "discover vertex " << v << "\t" << "color " << m_colors[v]; - std::cout << "\tdepth " << depth << "\n"; + std::cout << "\tVertex depth " << m_depth[v] << "\n"; } template void examine_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "examine edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] - << " vertex " << target << " color " << m_colors[target]; - std::cout << "\tdepth " << depth << "\n"; + std::cout << "examine edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " + << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; + std::cout << "\tEdge depth " << depth << "\n"; } template void tree_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "tree edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] - << " vertex " << target << " color " << m_colors[target]; + m_depth[target] = m_depth[source] + 1; + std::cout << "tree edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " + << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; depth++; edge_set.insert(e); - std::cout << "\tdepth " << depth << "\n"; + std::cout << "\tEdge depth " << depth << "\n"; } #if 1 template void back_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "back edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] - << " vertex " << target << " color " << m_colors[target]; - std::cout << "\tdepth " << depth << "\n"; + std::cout << "back edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " + << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; + std::cout << "\tEdge depth " << depth << "\n"; } template void forward_or_cross_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "forward or cross edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] - << " vertex " << target << " color " << m_colors[target]; - std::cout << "\tdepth " << depth << "\n"; + std::cout << "forward/cross edge " << e << " " << "vertex " << source << " color " << m_colors[source] << " depth " + << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; + std::cout << "\tEdge depth " << depth << "\n"; } #endif template void finish_edge(E e, const B_G&) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "finish edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] - << " vertex " << target << " color " << m_colors[target]; + std::cout << "finish edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " + << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; if (edge_set.find(e) != edge_set.end()) { depth--; } - std::cout << "\tdepth " << depth << "\n"; + std::cout << "\tEdge depth " << depth << "\n"; } template void finish_vertex(V v, const B_G&) { std::cout << "finish vertex " << v << "\t\t" << "color " << m_colors[v]; - std::cout << "\tdepth " << depth << "\n"; + std::cout << "\tVertex depth " << m_depth[v] << "\n"; } private: @@ -120,6 +123,7 @@ class Dfs_visitor : public boost::default_dfs_visitor { std::vector &m_colors; G &m_graph; int64_t depth; + std::vector m_depth; std::set edge_set; }; From 8950785233ce8295e27c5eab3a84f477fe72c8ea Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 28 Jul 2020 20:28:46 +0530 Subject: [PATCH 0245/1360] [depthFirstSearch] Minor change --- include/visitors/dfs_visitor.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index f25089256a0..970f0a04e79 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -57,7 +57,7 @@ class Dfs_visitor : public boost::default_dfs_visitor { } template void start_vertex(V v, const B_G&) { - m_depth.resize(boost::num_vertices(m_graph)); + m_depth.resize(boost::num_vertices(m_graph), 0); m_depth[v] = 0; std::cout << "start vertex " << v << "\t\t" << "color " << m_colors[v]; std::cout << "\tVertex depth " << m_depth[v] << "\n"; From 6cd04ca2f91b8b6ee357635b377a02799cb1534b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 28 Jul 2020 21:50:28 +0530 Subject: [PATCH 0246/1360] [depthFirstSearch] Changed the graph & visitor --- include/depthFirstSearch/depthFirstSearch_testing.cpp | 10 +++------- include/visitors/dfs_visitor.hpp | 6 +++++- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/depthFirstSearch/depthFirstSearch_testing.cpp b/include/depthFirstSearch/depthFirstSearch_testing.cpp index af046822fb3..b8e370090a9 100644 --- a/include/depthFirstSearch/depthFirstSearch_testing.cpp +++ b/include/depthFirstSearch/depthFirstSearch_testing.cpp @@ -13,15 +13,11 @@ int main() { typedef typename boost::graph_traits ::vertex_descriptor V; typedef typename boost::graph_traits ::edge_descriptor E; - enum { v1, v2, v3, v4, v5, v6, v7, v8, v9, N }; + enum { v1, v2, v3, v4, N }; typedef std::pair < V, V > Edge; - Edge edge_array[] = { Edge(v1, v2), Edge(v2, v1), Edge(v3, v2), Edge(v4, v3), - Edge(v2, v5), Edge(v5, v2), Edge(v3, v6), Edge(v7, v8), - Edge(v8, v7), Edge(v5, v8), Edge(v8, v5), Edge(v5, v6), - Edge(v6, v5), Edge(v6, v9), Edge(v9, v6), Edge(v9, v4), - Edge(v4, v9), Edge(v6, v8) + Edge edge_array[] = { Edge(v1, v2), Edge(v2, v3), Edge(v3, v4), Edge(v1, v4) }; G graph(N); @@ -30,7 +26,7 @@ int main() { using dfs_visitor = pgrouting::visitors::Dfs_visitor; - V root = v2; + V root = v1; // Here we use std::vector as exterior property storage. std::vector colors(boost::num_vertices(graph)); diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 970f0a04e79..688e30541c0 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -76,7 +76,7 @@ class Dfs_visitor : public boost::default_dfs_visitor { std::cout << "\tEdge depth " << depth << "\n"; } template - void tree_edge(E e, const B_G&) { + void tree_edge(E e, const B_G& g) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); m_depth[target] = m_depth[source] + 1; std::cout << "tree edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " @@ -84,6 +84,10 @@ class Dfs_visitor : public boost::default_dfs_visitor { depth++; edge_set.insert(e); std::cout << "\tEdge depth " << depth << "\n"; + if (m_depth[target] == m_max_depth) { + m_colors[target] = boost::black_color; + std::cout << "\ntarget " << target << " color " << m_colors[target] << "\n"; + } } #if 1 template From 7d608b40bd0e4ceb52b5cb95ab4234c9bed8a5c7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 28 Jul 2020 22:10:44 +0530 Subject: [PATCH 0247/1360] [depthFirstSearch] Updated the dfs visitor --- include/visitors/dfs_visitor.hpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 688e30541c0..793d865c253 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -74,20 +74,21 @@ class Dfs_visitor : public boost::default_dfs_visitor { std::cout << "examine edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; std::cout << "\tEdge depth " << depth << "\n"; + if (m_depth[target] == 0) + m_depth[target] = m_depth[source] + 1; + if (m_depth[target] == m_max_depth) { + m_colors[target] = boost::black_color; + std::cout << "\n target " << target << " color " << m_colors[target] << " depth " << m_depth[target] << "\n\n"; + } } template void tree_edge(E e, const B_G& g) { int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - m_depth[target] = m_depth[source] + 1; std::cout << "tree edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; depth++; edge_set.insert(e); std::cout << "\tEdge depth " << depth << "\n"; - if (m_depth[target] == m_max_depth) { - m_colors[target] = boost::black_color; - std::cout << "\ntarget " << target << " color " << m_colors[target] << "\n"; - } } #if 1 template From c9d81153dd5ac9173ca761fce328e7eccc83d47e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 28 Jul 2020 23:09:58 +0530 Subject: [PATCH 0248/1360] [depthFirstSearch] Changed the dfs (directed) implementation --- .../depthFirstSearch_testing.cpp | 2 +- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 20 +++--- include/visitors/dfs_visitor.hpp | 68 +++++++++++-------- 3 files changed, 52 insertions(+), 38 deletions(-) diff --git a/include/depthFirstSearch/depthFirstSearch_testing.cpp b/include/depthFirstSearch/depthFirstSearch_testing.cpp index b8e370090a9..5bf9240b399 100644 --- a/include/depthFirstSearch/depthFirstSearch_testing.cpp +++ b/include/depthFirstSearch/depthFirstSearch_testing.cpp @@ -17,7 +17,7 @@ int main() { typedef std::pair < V, V > Edge; - Edge edge_array[] = { Edge(v1, v2), Edge(v2, v3), Edge(v3, v4), Edge(v1, v4) + Edge edge_array[] = { Edge(v1, v2), Edge(v2, v3), Edge(v3, v4), Edge(v1, v3) }; G graph(N); diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 8bb043bb04e..697778b2a77 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -94,7 +94,7 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { auto v_root(graph.get_V(root)); // perform the algorithm - depthFirstSearch_single_vertex(graph, v_root, visited_order, directed); + depthFirstSearch_single_vertex(graph, v_root, visited_order, max_depth, directed); // get the results auto result = get_results(visited_order, root, max_depth, graph); @@ -127,23 +127,25 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { G &graph, V root, std::vector &visited_order, + int64_t max_depth, bool directed) { using dfs_visitor = visitors::Dfs_visitor; - std::map edge_color; - boost::associative_property_map> colors(boost::make_assoc_property_map(edge_color)); + + std::vector colors(boost::num_vertices(graph.graph)); + auto vis = dfs_visitor(log, root, visited_order, max_depth, colors, graph); + auto i_map = get(boost::vertex_index, graph.graph); + auto color_map = boost::make_iterator_property_map(colors.begin(), i_map); try { if (directed) { - boost::depth_first_search( - graph.graph, - visitor(dfs_visitor(log, root, visited_order, colors, graph)) - .edge_color_map(&colors) - .root_vertex(root)); + boost::depth_first_search(graph.graph, vis, color_map, root); } else { +#if 0 boost::undirected_dfs( graph.graph, - visitor(dfs_visitor(log, root, visited_order, colors, graph)) + visitor(dfs_visitor(root, visited_order, max_depth, colors, graph)) .edge_color_map(colors) .root_vertex(root)); +#endif } } catch(found_goals &) { {} diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 793d865c253..3399f900a8b 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -34,6 +34,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include + +#include "visitors/found_goals.hpp" namespace pgrouting { namespace visitors { @@ -42,88 +45,97 @@ template class Dfs_visitor : public boost::default_dfs_visitor { public: Dfs_visitor( + std::ostringstream &p_log, V root, + std::vector &data, int64_t max_depth, std::vector &colors, G &graph) : + log(p_log), m_roots(root), + m_data(data), m_max_depth(max_depth), m_colors(colors), m_graph(graph), depth(0) {} template void initialize_vertex(V v, const B_G&) { - std::cout << "initialize vertex " << v << "\n"; + log << "initialize vertex " << v << "\n"; } template void start_vertex(V v, const B_G&) { - m_depth.resize(boost::num_vertices(m_graph), 0); + if (v != m_roots) throw found_goals(); + m_depth.resize(m_graph.num_vertices(), 0); m_depth[v] = 0; - std::cout << "start vertex " << v << "\t\t" << "color " << m_colors[v]; - std::cout << "\tVertex depth " << m_depth[v] << "\n"; + log << "start vertex " << v << "\t\t" << "color " << m_colors[v]; + log << "\tVertex depth " << m_depth[v] << "\n"; } template void discover_vertex(V v, const B_G&) { - std::cout << "\n"; - std::cout << "discover vertex " << v << "\t" << "color " << m_colors[v]; - std::cout << "\tVertex depth " << m_depth[v] << "\n"; + log << "\n"; + log << "discover vertex " << v << "\t" << "color " << m_colors[v]; + log << "\tVertex depth " << m_depth[v] << "\n"; } template void examine_edge(E e, const B_G&) { - int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "examine edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " + auto source = m_graph.source(e), target = m_graph.target(e); + log << "examine edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - std::cout << "\tEdge depth " << depth << "\n"; - if (m_depth[target] == 0) + log << "\tEdge depth " << depth << "\n"; + if (m_depth[target] == 0 && target != m_roots) m_depth[target] = m_depth[source] + 1; - if (m_depth[target] == m_max_depth) { + if (m_depth[target] == m_max_depth && m_colors[target] != 4) { m_colors[target] = boost::black_color; - std::cout << "\n target " << target << " color " << m_colors[target] << " depth " << m_depth[target] << "\n\n"; + m_data.push_back(e); + log << "\n target " << target << " color " << m_colors[target] << " depth " << m_depth[target] << "\n\n"; } } template - void tree_edge(E e, const B_G& g) { - int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "tree edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " + void tree_edge(E e, const B_G&) { + m_data.push_back(e); + auto source = m_graph.source(e), target = m_graph.target(e); + log << "tree edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; depth++; edge_set.insert(e); - std::cout << "\tEdge depth " << depth << "\n"; + log << "\tEdge depth " << depth << "\n"; } #if 1 template void back_edge(E e, const B_G&) { - int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "back edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " + auto source = m_graph.source(e), target = m_graph.target(e); + log << "back edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - std::cout << "\tEdge depth " << depth << "\n"; + log << "\tEdge depth " << depth << "\n"; } template void forward_or_cross_edge(E e, const B_G&) { - int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "forward/cross edge " << e << " " << "vertex " << source << " color " << m_colors[source] << " depth " + auto source = m_graph.source(e), target = m_graph.target(e); + log << "forward/cross edge " << e << " " << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - std::cout << "\tEdge depth " << depth << "\n"; + log << "\tEdge depth " << depth << "\n"; } #endif template void finish_edge(E e, const B_G&) { - int64_t source = boost::source(e, m_graph), target = boost::target(e, m_graph); - std::cout << "finish edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " + auto source = m_graph.source(e), target = m_graph.target(e); + log << "finish edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; if (edge_set.find(e) != edge_set.end()) { depth--; } - std::cout << "\tEdge depth " << depth << "\n"; + log << "\tEdge depth " << depth << "\n"; } template void finish_vertex(V v, const B_G&) { - std::cout << "finish vertex " << v << "\t\t" << "color " << m_colors[v]; - std::cout << "\tVertex depth " << m_depth[v] << "\n"; + log << "finish vertex " << v << "\t\t" << "color " << m_colors[v]; + log << "\tVertex depth " << m_depth[v] << "\n"; } private: + std::ostringstream &log; V m_roots; + std::vector &m_data; int64_t m_max_depth; std::vector &m_colors; G &m_graph; From fe44f242682b5718540228a72ffbfe64e13fc60d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 09:24:49 +0530 Subject: [PATCH 0249/1360] [depthFirstSearch] Completed implementation for undirected dfs --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 14 ++++++-------- include/visitors/dfs_visitor.hpp | 9 +++++++-- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 697778b2a77..1e6c0acce7a 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -132,19 +132,17 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { using dfs_visitor = visitors::Dfs_visitor; std::vector colors(boost::num_vertices(graph.graph)); + std::map edge_color; auto vis = dfs_visitor(log, root, visited_order, max_depth, colors, graph); auto i_map = get(boost::vertex_index, graph.graph); - auto color_map = boost::make_iterator_property_map(colors.begin(), i_map); + auto vertex_color_map = boost::make_iterator_property_map(colors.begin(), i_map); + auto edge_color_map = boost::make_assoc_property_map(edge_color); try { if (directed) { - boost::depth_first_search(graph.graph, vis, color_map, root); + boost::depth_first_search(graph.graph, vis, vertex_color_map, root); } else { -#if 0 - boost::undirected_dfs( - graph.graph, - visitor(dfs_visitor(root, visited_order, max_depth, colors, graph)) - .edge_color_map(colors) - .root_vertex(root)); +#if 1 + boost::undirected_dfs(graph.graph, vis, vertex_color_map, edge_color_map, root); #endif } } catch(found_goals &) { diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 3399f900a8b..3fd85075c5c 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -57,15 +57,17 @@ class Dfs_visitor : public boost::default_dfs_visitor { m_max_depth(max_depth), m_colors(colors), m_graph(graph), - depth(0) {} + depth(0) { + m_depth.resize(m_graph.num_vertices(), 0); + } template void initialize_vertex(V v, const B_G&) { log << "initialize vertex " << v << "\n"; } template void start_vertex(V v, const B_G&) { + // exception for visitor termination if (v != m_roots) throw found_goals(); - m_depth.resize(m_graph.num_vertices(), 0); m_depth[v] = 0; log << "start vertex " << v << "\t\t" << "color " << m_colors[v]; log << "\tVertex depth " << m_depth[v] << "\n"; @@ -82,8 +84,11 @@ class Dfs_visitor : public boost::default_dfs_visitor { log << "examine edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; log << "\tEdge depth " << depth << "\n"; + // If the target has not been visited before if (m_depth[target] == 0 && target != m_roots) m_depth[target] = m_depth[source] + 1; + + // If the max_depth is reached, mark the target as visited, and push the corresponding edge if (m_depth[target] == m_max_depth && m_colors[target] != 4) { m_colors[target] = boost::black_color; m_data.push_back(e); From 133e6e80891df3c01c7c51ff3d2f4af7412f3b99 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 09:29:14 +0530 Subject: [PATCH 0250/1360] [depthFirstSearch] Removed unnecessary variables --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 2 -- include/visitors/dfs_visitor.hpp | 15 +-------------- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 1e6c0acce7a..e8c4fe4d1bc 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -141,9 +141,7 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { if (directed) { boost::depth_first_search(graph.graph, vis, vertex_color_map, root); } else { -#if 1 boost::undirected_dfs(graph.graph, vis, vertex_color_map, edge_color_map, root); -#endif } } catch(found_goals &) { {} diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 3fd85075c5c..e3b47e408a1 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -56,8 +56,7 @@ class Dfs_visitor : public boost::default_dfs_visitor { m_data(data), m_max_depth(max_depth), m_colors(colors), - m_graph(graph), - depth(0) { + m_graph(graph) { m_depth.resize(m_graph.num_vertices(), 0); } template @@ -83,7 +82,6 @@ class Dfs_visitor : public boost::default_dfs_visitor { auto source = m_graph.source(e), target = m_graph.target(e); log << "examine edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - log << "\tEdge depth " << depth << "\n"; // If the target has not been visited before if (m_depth[target] == 0 && target != m_roots) m_depth[target] = m_depth[source] + 1; @@ -101,9 +99,6 @@ class Dfs_visitor : public boost::default_dfs_visitor { auto source = m_graph.source(e), target = m_graph.target(e); log << "tree edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - depth++; - edge_set.insert(e); - log << "\tEdge depth " << depth << "\n"; } #if 1 template @@ -111,14 +106,12 @@ class Dfs_visitor : public boost::default_dfs_visitor { auto source = m_graph.source(e), target = m_graph.target(e); log << "back edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - log << "\tEdge depth " << depth << "\n"; } template void forward_or_cross_edge(E e, const B_G&) { auto source = m_graph.source(e), target = m_graph.target(e); log << "forward/cross edge " << e << " " << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - log << "\tEdge depth " << depth << "\n"; } #endif template @@ -126,10 +119,6 @@ class Dfs_visitor : public boost::default_dfs_visitor { auto source = m_graph.source(e), target = m_graph.target(e); log << "finish edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - if (edge_set.find(e) != edge_set.end()) { - depth--; - } - log << "\tEdge depth " << depth << "\n"; } template void finish_vertex(V v, const B_G&) { @@ -144,9 +133,7 @@ class Dfs_visitor : public boost::default_dfs_visitor { int64_t m_max_depth; std::vector &m_colors; G &m_graph; - int64_t depth; std::vector m_depth; - std::set edge_set; }; From 1e1a92d04450e6e8efdbd81243482c9422ecca52 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 09:30:57 +0530 Subject: [PATCH 0251/1360] [depthFirstSearch] Removed all the logs from visitor --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 2 +- include/visitors/dfs_visitor.hpp | 46 ------------------- 2 files changed, 1 insertion(+), 47 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index e8c4fe4d1bc..a70e003bd40 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -133,7 +133,7 @@ class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { std::vector colors(boost::num_vertices(graph.graph)); std::map edge_color; - auto vis = dfs_visitor(log, root, visited_order, max_depth, colors, graph); + auto vis = dfs_visitor(root, visited_order, max_depth, colors, graph); auto i_map = get(boost::vertex_index, graph.graph); auto vertex_color_map = boost::make_iterator_property_map(colors.begin(), i_map); auto edge_color_map = boost::make_assoc_property_map(edge_color); diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index e3b47e408a1..4cc02991c54 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -45,13 +45,11 @@ template class Dfs_visitor : public boost::default_dfs_visitor { public: Dfs_visitor( - std::ostringstream &p_log, V root, std::vector &data, int64_t max_depth, std::vector &colors, G &graph) : - log(p_log), m_roots(root), m_data(data), m_max_depth(max_depth), @@ -59,29 +57,15 @@ class Dfs_visitor : public boost::default_dfs_visitor { m_graph(graph) { m_depth.resize(m_graph.num_vertices(), 0); } - template - void initialize_vertex(V v, const B_G&) { - log << "initialize vertex " << v << "\n"; - } template void start_vertex(V v, const B_G&) { // exception for visitor termination if (v != m_roots) throw found_goals(); m_depth[v] = 0; - log << "start vertex " << v << "\t\t" << "color " << m_colors[v]; - log << "\tVertex depth " << m_depth[v] << "\n"; - } - template - void discover_vertex(V v, const B_G&) { - log << "\n"; - log << "discover vertex " << v << "\t" << "color " << m_colors[v]; - log << "\tVertex depth " << m_depth[v] << "\n"; } template void examine_edge(E e, const B_G&) { auto source = m_graph.source(e), target = m_graph.target(e); - log << "examine edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " - << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; // If the target has not been visited before if (m_depth[target] == 0 && target != m_roots) m_depth[target] = m_depth[source] + 1; @@ -90,44 +74,14 @@ class Dfs_visitor : public boost::default_dfs_visitor { if (m_depth[target] == m_max_depth && m_colors[target] != 4) { m_colors[target] = boost::black_color; m_data.push_back(e); - log << "\n target " << target << " color " << m_colors[target] << " depth " << m_depth[target] << "\n\n"; } } template void tree_edge(E e, const B_G&) { m_data.push_back(e); - auto source = m_graph.source(e), target = m_graph.target(e); - log << "tree edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " - << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - } -#if 1 - template - void back_edge(E e, const B_G&) { - auto source = m_graph.source(e), target = m_graph.target(e); - log << "back edge " << e << "\t\t" << "vertex " << source << " color " << m_colors[source] << " depth " - << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - } - template - void forward_or_cross_edge(E e, const B_G&) { - auto source = m_graph.source(e), target = m_graph.target(e); - log << "forward/cross edge " << e << " " << "vertex " << source << " color " << m_colors[source] << " depth " - << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - } -#endif - template - void finish_edge(E e, const B_G&) { - auto source = m_graph.source(e), target = m_graph.target(e); - log << "finish edge " << e << "\t" << "vertex " << source << " color " << m_colors[source] << " depth " - << m_depth[source] << " vertex " << target << " color " << m_colors[target] << " depth " << m_depth[target]; - } - template - void finish_vertex(V v, const B_G&) { - log << "finish vertex " << v << "\t\t" << "color " << m_colors[v]; - log << "\tVertex depth " << m_depth[v] << "\n"; } private: - std::ostringstream &log; V m_roots; std::vector &m_data; int64_t m_max_depth; From 92a8de084bfa7974123fe50080c9679a50db67b9 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 09:31:24 +0530 Subject: [PATCH 0252/1360] [depthFirstSearch] Removed the toy example --- .../depthFirstSearch_testing.cpp | 49 ------------------- 1 file changed, 49 deletions(-) delete mode 100644 include/depthFirstSearch/depthFirstSearch_testing.cpp diff --git a/include/depthFirstSearch/depthFirstSearch_testing.cpp b/include/depthFirstSearch/depthFirstSearch_testing.cpp deleted file mode 100644 index 5bf9240b399..00000000000 --- a/include/depthFirstSearch/depthFirstSearch_testing.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include -#include -#include -#include - -#include - -#include "../visitors/dfs_visitor.hpp" - - -int main() { - typedef boost::adjacency_list G; - typedef typename boost::graph_traits ::vertex_descriptor V; - typedef typename boost::graph_traits ::edge_descriptor E; - - enum { v1, v2, v3, v4, N }; - - - typedef std::pair < V, V > Edge; - Edge edge_array[] = { Edge(v1, v2), Edge(v2, v3), Edge(v3, v4), Edge(v1, v3) - }; - - G graph(N); - for (std::size_t j = 0; j < sizeof(edge_array) / sizeof(Edge); ++j) - add_edge(edge_array[j].first, edge_array[j].second, graph); - - using dfs_visitor = pgrouting::visitors::Dfs_visitor; - - V root = v1; - - // Here we use std::vector as exterior property storage. - std::vector colors(boost::num_vertices(graph)); - - auto vis = dfs_visitor(root, 2, colors, graph); - auto i_map = get(boost::vertex_index, graph); - auto color_map = boost::make_iterator_property_map(colors.begin(), i_map); - - boost::depth_first_search(graph, vis, color_map, root); - -#if 0 - boost::depth_first_search(graph, - boost::root_vertex(v1) - .visitor(vis) - .color_map(color_map) - ); -#endif - - return 0; -} From 4c12decd905b19c9a6ea5ad06b95e5381da717d1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 10:34:44 +0530 Subject: [PATCH 0253/1360] [depthFirstSearch] Added additional edge-cases pgTAP tests --- .../depthFirstSearch-edge-cases.sql | 272 +++++++++++++++++- 1 file changed, 270 insertions(+), 2 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index bbaeb104e02..86befedf641 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(72); +SELECT plan(88); @@ -643,7 +643,8 @@ SELECT set_eq('depthFirstSearch62', SELECT set_eq('depthFirstSearch63', $$VALUES (1, 0, 6, 6, -1, 0, 0), - (2, 1, 6, 3, 1, 20, 20) + (2, 1, 6, 3, 1, 20, 20), + (3, 1, 6, 8, 3, 12, 12) $$, '63: 3 vertices tests (undirected)' ); @@ -808,6 +809,273 @@ SELECT set_eq('depthFirstSearch72', '72: 4 vertices tests (undirected)' ); +-- 4 vertices tests with max_depth 1 (directed) + +PREPARE depthFirstSearch73 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 5, max_depth => 1 +); + +PREPARE depthFirstSearch74 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 6, max_depth => 1 +); + +PREPARE depthFirstSearch75 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 10, max_depth => 1 +); + +PREPARE depthFirstSearch76 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 11, max_depth => 1 +); + +SELECT set_eq('depthFirstSearch73', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 1, 5, 10, 10, 1, 1) + $$, + '73: 4 vertices tests with max_depth 1 (directed)' +); + +SELECT set_eq('depthFirstSearch74', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 5, 8, 1, 1), + (3, 1, 6, 11, 11, 1, 1) + $$, + '74: 4 vertices tests with max_depth 1 (directed)' +); + +SELECT set_eq('depthFirstSearch75', + $$VALUES + (1, 0, 10, 10, -1, 0, 0), + (2, 1, 10, 5, 10, 1, 1), + (3, 1, 10, 11, 12, 1, 1) + $$, + '75: 4 vertices tests with max_depth 1 (directed)' +); + +SELECT set_eq('depthFirstSearch76', + $$VALUES + (1, 0, 11, 11, -1, 0, 0) + $$, + '76: 4 vertices tests with max_depth 1 (directed)' +); + +-- 4 vertices tests with max_depth 1 (undirected) + +PREPARE depthFirstSearch77 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 5, directed => false, max_depth => 1 +); + +PREPARE depthFirstSearch78 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 6, directed => false, max_depth => 1 +); + +PREPARE depthFirstSearch79 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 10, directed => false, max_depth => 1 +); + +PREPARE depthFirstSearch80 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 11, directed => false, max_depth => 1 +); + +SELECT set_eq('depthFirstSearch77', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 1, 5, 10, 10, 1, 1) + $$, + '77: 4 vertices tests with max_depth 1 (undirected)' +); + +SELECT set_eq('depthFirstSearch78', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 5, 8, 1, 1), + (3, 1, 6, 11, 11, 1, 1) + $$, + '78: 4 vertices tests with max_depth 1 (undirected)' +); + +SELECT set_eq('depthFirstSearch79', + $$VALUES + (1, 0, 10, 10, -1, 0, 0), + (2, 1, 10, 5, 10, 1, 1), + (3, 1, 10, 11, 12, 1, 1) + $$, + '79: 4 vertices tests with max_depth 1 (undirected)' +); + +SELECT set_eq('depthFirstSearch80', + $$VALUES + (1, 0, 11, 11, -1, 0, 0), + (2, 1, 11, 6, 11, 1, 1), + (3, 1, 11, 10, 12, 1, 1) + $$, + '80: 4 vertices tests with max_depth 1 (undirected)' +); + +-- 4 vertices tests with max_depth 2 (directed) + +PREPARE depthFirstSearch81 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 5, max_depth => 2 +); + +PREPARE depthFirstSearch82 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 6, max_depth => 2 +); + +PREPARE depthFirstSearch83 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 10, max_depth => 2 +); + +PREPARE depthFirstSearch84 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 11, max_depth => 2 +); + +SELECT set_eq('depthFirstSearch81', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 2, 5, 11, 11, 1, 2), + (4, 1, 5, 10, 10, 1, 1) + $$, + '81: 4 vertices tests with max_depth 2 (directed)' +); + +SELECT set_eq('depthFirstSearch82', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 5, 8, 1, 1), + (3, 2, 6, 10, 10, 1, 2), + (4, 1, 6, 11, 11, 1, 1) + $$, + '82: 4 vertices tests with max_depth 2 (directed)' +); + +SELECT set_eq('depthFirstSearch83', + $$VALUES + (1, 0, 10, 10, -1, 0, 0), + (2, 1, 10, 5, 10, 1, 1), + (3, 2, 10, 6, 8, 1, 2), + (4, 1, 10, 11, 12, 1, 1) + $$, + '83: 4 vertices tests with max_depth 2 (directed)' +); + +SELECT set_eq('depthFirstSearch84', + $$VALUES + (1, 0, 11, 11, -1, 0, 0) + $$, + '84: 4 vertices tests with max_depth 2 (directed)' +); + +-- 4 vertices tests with max_depth 2 (undirected) + +PREPARE depthFirstSearch85 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 5, directed => false, max_depth => 2 +); + +PREPARE depthFirstSearch86 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 6, directed => false, max_depth => 2 +); + +PREPARE depthFirstSearch87 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 10, directed => false, max_depth => 2 +); + +PREPARE depthFirstSearch88 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q64', + 11, directed => false, max_depth => 2 +); + +SELECT set_eq('depthFirstSearch85', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 2, 5, 11, 11, 1, 2), + (4, 1, 5, 10, 10, 1, 1) + $$, + '85: 4 vertices tests with max_depth 2 (undirected)' +); + +SELECT set_eq('depthFirstSearch86', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 5, 8, 1, 1), + (3, 2, 6, 10, 10, 1, 2), + (4, 1, 6, 11, 11, 1, 1) + $$, + '86: 4 vertices tests with max_depth 2 (undirected)' +); + +SELECT set_eq('depthFirstSearch87', + $$VALUES + (1, 0, 10, 10, -1, 0, 0), + (2, 1, 10, 5, 10, 1, 1), + (3, 2, 10, 6, 8, 1, 2), + (4, 1, 10, 11, 12, 1, 1) + $$, + '87: 4 vertices tests with max_depth 2 (undirected)' +); + +SELECT set_eq('depthFirstSearch88', + $$VALUES + (1, 0, 11, 11, -1, 0, 0), + (2, 1, 11, 6, 11, 1, 1), + (3, 2, 11, 5, 8, 1, 2), + (4, 1, 11, 10, 12, 1, 1) + $$, + '88: 4 vertices tests with max_depth 2 (undirected)' +); + SELECT * FROM finish(); ROLLBACK; From e26fec1dd29055b8f8305489f00e66cfd426862a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 10:44:13 +0530 Subject: [PATCH 0254/1360] [depthFirstSearch] Updated the docqueries --- .../depthFirstSearch-issue1348-usage.result | 3 ++- .../depthFirstSearch/doc-pgr_depthFirstSearch.result | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result index 6f7c01e16a9..744bbae1212 100644 --- a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result +++ b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result @@ -107,7 +107,8 @@ SELECT * FROM pgr_depthFirstSearch ( -----+-------+-----------+------+------+------+---------- 1 | 0 | 6 | 6 | -1 | 0 | 0 2 | 1 | 6 | 3 | 1 | 20 | 20 -(2 rows) + 3 | 1 | 6 | 8 | 3 | 12 | 12 +(3 rows) -- q8 SELECT * FROM pgr_depthFirstSearch ( diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 1e9cadd40af..321dcea723e 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -180,9 +180,11 @@ SELECT * FROM pgr_depthFirstSearch( 2 | 1 | 8 | 7 | 6 | 1 | 1 3 | 1 | 8 | 5 | 7 | 1 | 1 4 | 2 | 8 | 2 | 4 | 1 | 2 - 5 | 0 | 15 | 15 | -1 | 0 | 0 - 6 | 1 | 15 | 14 | 17 | 1 | 1 -(6 rows) + 5 | 2 | 8 | 6 | 8 | 1 | 2 + 6 | 2 | 8 | 10 | 10 | 1 | 2 + 7 | 0 | 15 | 15 | -1 | 0 | 0 + 8 | 1 | 15 | 14 | 17 | 1 | 1 +(8 rows) -- q8 -- q9 From 79d30be30a620cc11487bd5cfbe891fc72f504a1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 12:35:33 +0530 Subject: [PATCH 0255/1360] [depthFirstSearch] Added pgTAP tests for equivalence with bfs --- .../depthFirstSearch-equivalenceBFS.test.sql | 272 ++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 pgtap/depthFirstSearch/depthFirstSearch-equivalenceBFS.test.sql diff --git a/pgtap/depthFirstSearch/depthFirstSearch-equivalenceBFS.test.sql b/pgtap/depthFirstSearch/depthFirstSearch-equivalenceBFS.test.sql new file mode 100644 index 00000000000..e5fd5a10a98 --- /dev/null +++ b/pgtap/depthFirstSearch/depthFirstSearch-equivalenceBFS.test.sql @@ -0,0 +1,272 @@ + +\i setup.sql + +SELECT plan(16); + + +PREPARE sample_data AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table; + +-- max_depth 1 cases (directed) + +PREPARE depthFirstSearch1 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 1, max_depth => 1 +); + +PREPARE depthFirstSearch2 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 2, max_depth => 1 +); + +PREPARE depthFirstSearch3 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 5, max_depth => 1 +); + +PREPARE breadthFirstSearch1 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 1, max_depth => 1 +); + +PREPARE breadthFirstSearch2 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 2, max_depth => 1 +); + +PREPARE breadthFirstSearch3 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 5, max_depth => 1 +); + +SELECT set_eq('depthFirstSearch1', 'breadthFirstSearch1', '1: max_depth => 1 cases (directed)'); +SELECT set_eq('depthFirstSearch2', 'breadthFirstSearch2', '2: max_depth => 1 cases (directed)'); +SELECT set_eq('depthFirstSearch3', 'breadthFirstSearch3', '3: max_depth => 1 cases (directed)'); + +-- max_depth 1 cases (undirected) + +PREPARE depthFirstSearch4 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 1, max_depth => 1, directed => false +); + +PREPARE depthFirstSearch5 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 2, max_depth => 1, directed => false +); + +PREPARE depthFirstSearch6 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 5, max_depth => 1, directed => false +); + +PREPARE breadthFirstSearch4 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 1, max_depth => 1, directed => false +); + +PREPARE breadthFirstSearch5 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 2, max_depth => 1, directed => false +); + +PREPARE breadthFirstSearch6 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 5, max_depth => 1, directed => false +); + +SELECT set_eq('depthFirstSearch4', 'breadthFirstSearch4', '4: max_depth => 1 cases (undirected)'); +SELECT set_eq('depthFirstSearch5', 'breadthFirstSearch5', '5: max_depth => 1 cases (undirected)'); +SELECT set_eq('depthFirstSearch6', 'breadthFirstSearch6', '6: max_depth => 1 cases (undirected)'); + +-- max_depth 2 cases (directed) + +PREPARE depthFirstSearch7 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 1, max_depth => 2 +); + +PREPARE depthFirstSearch8 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 2, max_depth => 2 +); + +PREPARE depthFirstSearch9 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 5, max_depth => 2 +); + +PREPARE breadthFirstSearch7 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 1, max_depth => 2 +); + +PREPARE breadthFirstSearch8 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 2, max_depth => 2 +); + +PREPARE breadthFirstSearch9 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 5, max_depth => 2 +); + +SELECT set_eq('depthFirstSearch7', 'breadthFirstSearch7', '7: max_depth => 2 cases (directed)'); +SELECT set_eq('depthFirstSearch8', 'breadthFirstSearch8', '8: max_depth => 2 cases (directed)'); +SELECT set_eq('depthFirstSearch9', 'breadthFirstSearch9', '9: max_depth => 2 cases (directed)'); + +-- max_depth 2 cases (undirected) + +PREPARE depthFirstSearch10 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 1, max_depth => 2, directed => false +); + +PREPARE depthFirstSearch11 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 2, max_depth => 2, directed => false +); + +PREPARE depthFirstSearch12 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 5, max_depth => 2, directed => false +); + +PREPARE breadthFirstSearch10 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 1, max_depth => 2, directed => false +); + +PREPARE breadthFirstSearch11 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 2, max_depth => 2, directed => false +); + +PREPARE breadthFirstSearch12 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 5, max_depth => 2, directed => false +); + +SELECT set_eq('depthFirstSearch10', 'breadthFirstSearch10', '10: max_depth => 2 cases (undirected)'); +SELECT set_eq('depthFirstSearch11', 'breadthFirstSearch11', '11: max_depth => 2 cases (undirected)'); +SELECT set_eq('depthFirstSearch12', 'breadthFirstSearch12', '12: max_depth => 2 cases (undirected)'); + +-- max_depth 3 cases (directed) + +PREPARE depthFirstSearch13 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 1, max_depth => 3 +); + +PREPARE depthFirstSearch14 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 2, max_depth => 3 +); + +PREPARE depthFirstSearch15 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 5, max_depth => 3 +); + +PREPARE breadthFirstSearch13 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 1, max_depth => 3 +); + +PREPARE breadthFirstSearch14 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 2, max_depth => 3 +); + +PREPARE breadthFirstSearch15 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 5, max_depth => 3 +); + +SELECT set_eq('depthFirstSearch13', 'breadthFirstSearch13', '13: max_depth => 3 cases (directed)'); +SELECT set_eq('depthFirstSearch14', 'breadthFirstSearch14', '14: max_depth => 3 cases (directed)'); +SELECT set_eq('depthFirstSearch15', 'breadthFirstSearch15', '15: max_depth => 3 cases (directed)'); + +-- max_depth 3 cases (undirected) + +PREPARE depthFirstSearch16 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_depthFirstSearch( + 'sample_data', + 1, max_depth => 3, directed => false +); + +PREPARE breadthFirstSearch16 AS +SELECT depth, start_vid, node, edge, cost, agg_cost +FROM pgr_breadthFirstSearch( + 'sample_data', + 1, max_depth => 3, directed => false +); + +SELECT set_eq('depthFirstSearch16', 'breadthFirstSearch16', '16: max_depth => 3 cases (undirected)'); + + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; From e78702331dbdc63e2dcf24eeb3cb9b8b70c967c1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 26 Jul 2020 23:16:24 +0530 Subject: [PATCH 0256/1360] [depthFirstSearch] Removed the comments which over-documented the code --- src/depthFirstSearch/depthFirstSearch.c | 8 -------- src/depthFirstSearch/depthFirstSearch_driver.cpp | 8 -------- 2 files changed, 16 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 515f6c2848f..3291934d132 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -35,16 +35,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/postgres_connection.h" #include "utils/array.h" -/* for macro PGR_DBG */ #include "c_common/debug_macro.h" -/* for pgr_global_report */ #include "c_common/e_report.h" -/* for time_msg & clock */ #include "c_common/time_msg.h" -/* for functions to get edges information */ #include "c_common/edges_input.h" -/* for handling array related stuffs */ #include "c_common/arrays_input.h" #include "drivers/depthFirstSearch/depthFirstSearch_driver.h" @@ -79,13 +74,11 @@ process( pgr_mst_rt **result_tuples, size_t *result_count) { - // https://www.postgresql.org/docs/current/static/spi-spi-connect.html pgr_SPI_connect(); PGR_DBG("Initializing arrays"); size_t size_rootsArr = 0; - // converting the postgres array to C array int64_t* rootsArr = (int64_t*) pgr_get_bigIntArray(&size_rootsArr, roots); PGR_DBG("rootsArr size %ld", size_rootsArr); @@ -97,7 +90,6 @@ process( pgr_edge_t *edges = NULL; size_t total_edges = 0; - // load the edges belonging to the graph pgr_get_edges(edges_sql, &edges, &total_edges); PGR_DBG("Total edges in query %ld", total_edges); diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 93dedddc3b8..ff6f5943bfa 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -143,19 +143,15 @@ do_pgr_depthFirstSearch( std::vector results; - // the type of the graph (whether directed or undirected) graphType gType = directed ? DIRECTED : UNDIRECTED; - // string variable to store the log messages std::string logstr; if (directed) { - // If the graph is directed log << "Working with directed Graph\n"; pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); - // calls the template function results = pgr_depthFirstSearch( digraph, roots, @@ -163,12 +159,10 @@ do_pgr_depthFirstSearch( directed, logstr); } else { - // If the graph is undirected log << "Working with Undirected Graph\n"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); - // calls the template function results = pgr_depthFirstSearch( undigraph, roots, @@ -179,10 +173,8 @@ do_pgr_depthFirstSearch( log << logstr; - // the count of rows in the result auto count = results.size(); - // returns directly in case of empty rows in the results if (count == 0) { (*return_tuples) = NULL; (*return_count) = 0; From b126244aa76922a687532342f345db008419db3d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 26 Jul 2020 23:18:54 +0530 Subject: [PATCH 0257/1360] [depthFirstSearch] Removed all PGR_DBG comments --- src/depthFirstSearch/depthFirstSearch.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 3291934d132..66260035277 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -76,22 +76,17 @@ process( size_t *result_count) { pgr_SPI_connect(); - PGR_DBG("Initializing arrays"); size_t size_rootsArr = 0; - int64_t* rootsArr = (int64_t*) - pgr_get_bigIntArray(&size_rootsArr, roots); - PGR_DBG("rootsArr size %ld", size_rootsArr); + int64_t* rootsArr = (int64_t*) pgr_get_bigIntArray(&size_rootsArr, roots); (*result_tuples) = NULL; (*result_count) = 0; - PGR_DBG("Loading the edges"); pgr_edge_t *edges = NULL; size_t total_edges = 0; pgr_get_edges(edges_sql, &edges, &total_edges); - PGR_DBG("Total edges in query %ld", total_edges); if (total_edges == 0) { if (rootsArr) pfree(rootsArr); @@ -99,7 +94,6 @@ process( return; } - PGR_DBG("Starting processing"); clock_t start_t = clock(); char *log_msg = NULL; char *notice_msg = NULL; @@ -118,7 +112,6 @@ process( &err_msg); time_msg("processing pgr_depthFirstSearch", start_t, clock()); - PGR_DBG("Returning %ld tuples", *result_count); if (err_msg && (*result_tuples)) { pfree(*result_tuples); @@ -168,7 +161,6 @@ PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { * **********************************************************************/ - PGR_DBG("Calling process"); process( text_to_cstring(PG_GETARG_TEXT_P(0)), PG_GETARG_ARRAYTYPE_P(1), @@ -244,7 +236,6 @@ PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); } else { - PGR_DBG("Returning done"); SRF_RETURN_DONE(funcctx); } } From 0a5f5e38942c6f2f449d1e22d596bd5bff0edd74 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 26 Jul 2020 23:30:30 +0530 Subject: [PATCH 0258/1360] [depthFirstSearch] Removed all log messages lines --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 3 +-- src/depthFirstSearch/depthFirstSearch_driver.cpp | 16 +++------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index a70e003bd40..544e16e29dc 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -34,7 +34,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "cpp_common/pgr_base_graph.hpp" -#include "cpp_common/pgr_messages.h" /** @file pgr_depthFirstSearch.hpp @@ -51,7 +50,7 @@ namespace functions { //************************************************************* template -class Pgr_depthFirstSearch : public pgrouting::Pgr_messages { +class Pgr_depthFirstSearch { public: typedef typename G::V V; typedef typename G::E E; diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index ff6f5943bfa..cff3fc1199f 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -74,8 +74,7 @@ pgr_depthFirstSearch( G &graph, std::vector roots, int64_t max_depth, - bool directed, - std::string &log) { + bool directed) { std::sort(roots.begin(), roots.end()); roots.erase( std::unique(roots.begin(), roots.end()), @@ -84,7 +83,6 @@ pgr_depthFirstSearch( pgrouting::functions::Pgr_depthFirstSearch fn_depthFirstSearch; auto results = fn_depthFirstSearch.depthFirstSearch( graph, roots, max_depth, directed); - log += fn_depthFirstSearch.get_log(); return results; } @@ -145,10 +143,7 @@ do_pgr_depthFirstSearch( graphType gType = directed ? DIRECTED : UNDIRECTED; - std::string logstr; - if (directed) { - log << "Working with directed Graph\n"; pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); @@ -156,10 +151,8 @@ do_pgr_depthFirstSearch( digraph, roots, max_depth, - directed, - logstr); + directed); } else { - log << "Working with Undirected Graph\n"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); @@ -167,12 +160,9 @@ do_pgr_depthFirstSearch( undigraph, roots, max_depth, - directed, - logstr); + directed); } - log << logstr; - auto count = results.size(); if (count == 0) { From 5402b65293b49be89c499fe2e7036dd0d41aa9c7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 26 Jul 2020 23:31:27 +0530 Subject: [PATCH 0259/1360] [depthFirstSearch] Removed some comments --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 544e16e29dc..ef5abbe5e21 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -89,13 +89,11 @@ class Pgr_depthFirstSearch { if (graph.has_vertex(root)) { results.push_back({root, 0, root, -1, 0.0, 0.0}); - // get the graph root vertex auto v_root(graph.get_V(root)); // perform the algorithm depthFirstSearch_single_vertex(graph, v_root, visited_order, max_depth, directed); - // get the results auto result = get_results(visited_order, root, max_depth, graph); results.insert(results.end(), result.begin(), result.end()); } From b4dc37213bcd84fa7d9be151d3d25a8ef4957fa6 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 26 Jul 2020 23:34:02 +0530 Subject: [PATCH 0260/1360] [sequentialVertexColoring] Removed comments that over-documented the code --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 3 --- src/graphColoring/sequentialVertexColoring.c | 7 ------- src/graphColoring/sequentialVertexColoring_driver.cpp | 4 ---- 3 files changed, 14 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 47ec5a712c8..d6e61fb5dc3 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -90,7 +90,6 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { boost::get(boost::vertex_index, graph.graph)); try { - // calling the boost function boost::sequential_vertex_coloring( graph.graph, color_map); } catch (boost::exception const& ex) { @@ -127,12 +126,10 @@ class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { typename boost::graph_traits::vertex_iterator v, vend; - // iterate through every vertex in the graph for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t node = graph[*v].id; int64_t color = colors[*v]; - // push the vertex id and the color of the vertex in the `results` vector results.push_back({ node, color diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index ad4913033e4..31a246a4fb3 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -35,16 +35,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/postgres_connection.h" #include "utils/array.h" -/* for macro PGR_DBG */ #include "c_common/debug_macro.h" -/* for pgr_global_report */ #include "c_common/e_report.h" -/* for time_msg & clock */ #include "c_common/time_msg.h" -/* for functions to get edges information */ #include "c_common/edges_input.h" -/* for handling array related stuffs */ #include "c_common/arrays_input.h" #include "drivers/graphColoring/sequentialVertexColoring_driver.h" @@ -73,7 +68,6 @@ process( pgr_vertex_color_rt **result_tuples, size_t *result_count) { - // https://www.postgresql.org/docs/current/static/spi-spi-connect.html pgr_SPI_connect(); (*result_tuples) = NULL; @@ -83,7 +77,6 @@ process( pgr_edge_t *edges = NULL; size_t total_edges = 0; - // load the edges belonging to the graph pgr_get_edges(edges_sql, &edges, &total_edges); PGR_DBG("Total edges in query %ld", total_edges); diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index 35ae199773b..72d1b45516b 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -112,7 +112,6 @@ do_pgr_sequentialVertexColoring( std::vector results; - // string variable to store the log messages std::string logstr; graphType gType = UNDIRECTED; @@ -120,17 +119,14 @@ do_pgr_sequentialVertexColoring( undigraph.insert_edges(data_edges, total_edges); - // calls the template function results = pgr_sequentialVertexColoring( undigraph, logstr); log << logstr; - // the count of rows in the result auto count = results.size(); - // returns directly in case of empty rows in the results if (count == 0) { (*return_tuples) = NULL; (*return_count) = 0; From 5679ad26952f077207727d9f6d3bf98ce2da4f18 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 26 Jul 2020 23:47:33 +0530 Subject: [PATCH 0261/1360] [sequentialVertexColoring] Removed code used for debugging --- .../graphColoring/pgr_sequentialVertexColoring.hpp | 3 +-- src/graphColoring/sequentialVertexColoring.c | 6 ------ .../sequentialVertexColoring_driver.cpp | 14 +++----------- 3 files changed, 4 insertions(+), 19 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index d6e61fb5dc3..33a4f6ed79b 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -38,7 +38,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "cpp_common/pgr_base_graph.hpp" -#include "cpp_common/pgr_messages.h" /** @file pgr_sequentialVertexColoring.hpp @@ -55,7 +54,7 @@ namespace functions { //************************************************************* template -class Pgr_sequentialVertexColoring : public pgrouting::Pgr_messages { +class Pgr_sequentialVertexColoring { public: typedef typename G::V V; typedef typename G::E E; diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index 31a246a4fb3..4d8bf948e80 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -73,14 +73,11 @@ process( (*result_tuples) = NULL; (*result_count) = 0; - PGR_DBG("Loading the edges"); pgr_edge_t *edges = NULL; size_t total_edges = 0; pgr_get_edges(edges_sql, &edges, &total_edges); - PGR_DBG("Total edges in query %ld", total_edges); - PGR_DBG("Starting processing"); clock_t start_t = clock(); char *log_msg = NULL; char *notice_msg = NULL; @@ -95,7 +92,6 @@ process( &err_msg); time_msg("processing pgr_sequentialVertexColoring", start_t, clock()); - PGR_DBG("Returning %ld tuples", *result_count); if (err_msg && (*result_tuples)) { pfree(*result_tuples); @@ -141,7 +137,6 @@ PGDLLEXPORT Datum _pgr_sequentialvertexcoloring(PG_FUNCTION_ARGS) { * **********************************************************************/ - PGR_DBG("Calling process"); process( text_to_cstring(PG_GETARG_TEXT_P(0)), &result_tuples, @@ -204,7 +199,6 @@ PGDLLEXPORT Datum _pgr_sequentialvertexcoloring(PG_FUNCTION_ARGS) { result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); } else { - PGR_DBG("Returning done"); SRF_RETURN_DONE(funcctx); } } diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index 72d1b45516b..0d7ebf1613d 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -62,12 +62,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. template std::vector pgr_sequentialVertexColoring( - G &graph, - std::string &log) { + G &graph) { pgrouting::functions::Pgr_sequentialVertexColoring fn_sequentialVertexColoring; - auto results = fn_sequentialVertexColoring.sequentialVertexColoring( - graph); - log += fn_sequentialVertexColoring.get_log(); + auto results = fn_sequentialVertexColoring.sequentialVertexColoring(graph); return results; } @@ -112,18 +109,13 @@ do_pgr_sequentialVertexColoring( std::vector results; - std::string logstr; - graphType gType = UNDIRECTED; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); results = pgr_sequentialVertexColoring( - undigraph, - logstr); - - log << logstr; + undigraph); auto count = results.size(); From b31cbb0a0a4156c2b8a22782b1d864906c5d6610 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 26 Jul 2020 23:55:29 +0530 Subject: [PATCH 0262/1360] [depthFirstSearch] Added code for checking interruption --- include/depthFirstSearch/pgr_depthFirstSearch.hpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index ef5abbe5e21..a4b0f5187de 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -34,6 +34,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "cpp_common/pgr_base_graph.hpp" +#include "cpp_common/interruption.h" /** @file pgr_depthFirstSearch.hpp @@ -134,6 +135,10 @@ class Pgr_depthFirstSearch { auto i_map = get(boost::vertex_index, graph.graph); auto vertex_color_map = boost::make_iterator_property_map(colors.begin(), i_map); auto edge_color_map = boost::make_assoc_property_map(edge_color); + + /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ + CHECK_FOR_INTERRUPTS(); + try { if (directed) { boost::depth_first_search(graph.graph, vis, vertex_color_map, root); From afaed437e77b72156bb46d6d9e2350353beae9eb Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 27 Jul 2020 00:25:40 +0530 Subject: [PATCH 0263/1360] [sequentialVertexColoring] Added code for interruption --- include/graphColoring/pgr_sequentialVertexColoring.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index 33a4f6ed79b..cb65fba843a 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -38,6 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "cpp_common/pgr_base_graph.hpp" +#include "cpp_common/interruption.h" /** @file pgr_sequentialVertexColoring.hpp @@ -88,6 +89,9 @@ class Pgr_sequentialVertexColoring { auto color_map = boost::make_iterator_property_map(colors.begin(), boost::get(boost::vertex_index, graph.graph)); + /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ + CHECK_FOR_INTERRUPTS(); + try { boost::sequential_vertex_coloring( graph.graph, color_map); From f4c96759c711c80e0dd6dac2e8f3191a2665f424 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 13:13:26 +0530 Subject: [PATCH 0264/1360] [depthFirstSearch] Fixed minor styling issues --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 38 ++++++++++--------- .../depthFirstSearch_driver.cpp | 15 ++++---- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index a4b0f5187de..8216437f18c 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -50,7 +50,7 @@ namespace functions { //************************************************************* -template +template < class G > class Pgr_depthFirstSearch { public: typedef typename G::V V; @@ -77,22 +77,21 @@ class Pgr_depthFirstSearch { * @see [boost::undirected_dfs] * (https://www.boost.org/libs/graph/doc/undirected_dfs.html) */ - std::vector depthFirstSearch( + std::vector < pgr_mst_rt > depthFirstSearch( G &graph, - std::vector roots, + std::vector < int64_t > roots, int64_t max_depth, bool directed) { - std::vector results; + std::vector < pgr_mst_rt > results; for (auto root : roots) { - std::vector visited_order; + std::vector < E > visited_order; if (graph.has_vertex(root)) { results.push_back({root, 0, root, -1, 0.0, 0.0}); auto v_root(graph.get_V(root)); - // perform the algorithm depthFirstSearch_single_vertex(graph, v_root, visited_order, max_depth, directed); auto result = get_results(visited_order, root, max_depth, graph); @@ -124,18 +123,23 @@ class Pgr_depthFirstSearch { bool depthFirstSearch_single_vertex( G &graph, V root, - std::vector &visited_order, + std::vector < E > &visited_order, int64_t max_depth, bool directed) { - using dfs_visitor = visitors::Dfs_visitor; + using dfs_visitor = visitors::Dfs_visitor < V, E, G >; - std::vector colors(boost::num_vertices(graph.graph)); - std::map edge_color; - auto vis = dfs_visitor(root, visited_order, max_depth, colors, graph); - auto i_map = get(boost::vertex_index, graph.graph); + // Exterior property storage containers + std::vector < boost::default_color_type > colors(boost::num_vertices(graph.graph)); + std::map < E, boost::default_color_type > edge_color; + + auto i_map = boost::get(boost::vertex_index, graph.graph); + + // Iterator property maps which record the color of each vertex and edge, respectively auto vertex_color_map = boost::make_iterator_property_map(colors.begin(), i_map); auto edge_color_map = boost::make_assoc_property_map(edge_color); + auto vis = dfs_visitor(root, visited_order, max_depth, colors, graph); + /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); @@ -172,16 +176,16 @@ class Pgr_depthFirstSearch { * * @returns `results` vector */ - template - std::vector get_results( + template < typename T > + std::vector < pgr_mst_rt > get_results( T visited_order, int64_t source, int64_t max_depth, const G &graph) { - std::vector results; + std::vector < pgr_mst_rt > results; - std::vector agg_cost(graph.num_vertices(), 0); - std::vector depth(graph.num_vertices(), 0); + std::vector < double > agg_cost(graph.num_vertices(), 0); + std::vector < int64_t > depth(graph.num_vertices(), 0); for (const auto edge : visited_order) { auto u = graph.source(edge); diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index cff3fc1199f..bb16309c2cd 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -68,11 +68,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * @returns results, when results are found */ -template -std::vector +template < class G > +std::vector < pgr_mst_rt > pgr_depthFirstSearch( G &graph, - std::vector roots, + std::vector < int64_t > roots, int64_t max_depth, bool directed) { std::sort(roots.begin(), roots.end()); @@ -80,9 +80,8 @@ pgr_depthFirstSearch( std::unique(roots.begin(), roots.end()), roots.end()); - pgrouting::functions::Pgr_depthFirstSearch fn_depthFirstSearch; - auto results = fn_depthFirstSearch.depthFirstSearch( - graph, roots, max_depth, directed); + pgrouting::functions::Pgr_depthFirstSearch < G > fn_depthFirstSearch; + auto results = fn_depthFirstSearch.depthFirstSearch(graph, roots, max_depth, directed); return results; } @@ -137,9 +136,9 @@ do_pgr_depthFirstSearch( pgassert(*return_count == 0); pgassert(total_edges != 0); - std::vector roots(rootsArr, rootsArr + size_rootsArr); + std::vector < int64_t > roots(rootsArr, rootsArr + size_rootsArr); - std::vector results; + std::vector < pgr_mst_rt > results; graphType gType = directed ? DIRECTED : UNDIRECTED; From bb053e4e75729af63bd6ba9e0d0ef42715108353 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 13:13:39 +0530 Subject: [PATCH 0265/1360] [sequentialVertexColoring] Fixed minor styling issues --- .../pgr_sequentialVertexColoring.hpp | 37 ++++++++----------- src/graphColoring/sequentialVertexColoring.c | 4 +- .../sequentialVertexColoring_driver.cpp | 18 ++++----- 3 files changed, 24 insertions(+), 35 deletions(-) diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index cb65fba843a..ce2836ec067 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -54,13 +54,13 @@ namespace functions { //************************************************************* -template +template < class G > class Pgr_sequentialVertexColoring { public: typedef typename G::V V; typedef typename G::E E; - typedef boost::adjacency_list Graph; - typedef boost::graph_traits::vertices_size_type vertices_size_type; + typedef boost::adjacency_list < boost::listS, boost::vecS, boost::undirectedS > Graph; + typedef boost::graph_traits < Graph > ::vertices_size_type vertices_size_type; /** @name SequentialVertexColoring * @{ @@ -78,23 +78,22 @@ class Pgr_sequentialVertexColoring { * @see [boost::sequential_vertex_coloring] * (https://www.boost.org/libs/graph/doc/sequential_vertex_coloring.html) */ - std::vector sequentialVertexColoring( - G &graph) { - std::vector results; + std::vector < pgr_vertex_color_rt > sequentialVertexColoring(G &graph) { + std::vector < pgr_vertex_color_rt > results; + + auto i_map = boost::get(boost::vertex_index, graph.graph); // vector which will store the color of all the vertices in the graph - std::vector colors(boost::num_vertices(graph.graph)); + std::vector < vertices_size_type > colors(boost::num_vertices(graph.graph)); - // An iterator property map which records the colors of each vertex - auto color_map = boost::make_iterator_property_map(colors.begin(), - boost::get(boost::vertex_index, graph.graph)); + // An iterator property map which records the color of each vertex + auto color_map = boost::make_iterator_property_map(colors.begin(), i_map); /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); try { - boost::sequential_vertex_coloring( - graph.graph, color_map); + boost::sequential_vertex_coloring(graph.graph, color_map); } catch (boost::exception const& ex) { (void)ex; throw; @@ -122,21 +121,17 @@ class Pgr_sequentialVertexColoring { * * @returns `results` vector */ - std::vector get_results( - std::vector &colors, + std::vector < pgr_vertex_color_rt > get_results( + std::vector < vertices_size_type > &colors, const G &graph) { - std::vector results; + std::vector < pgr_vertex_color_rt > results; - typename boost::graph_traits::vertex_iterator v, vend; + typename boost::graph_traits < Graph > ::vertex_iterator v, vend; for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t node = graph[*v].id; int64_t color = colors[*v]; - - results.push_back({ - node, - color - }); + results.push_back({ node, color }); } // ordering the results in an increasing order of the node id diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/graphColoring/sequentialVertexColoring.c index 4d8bf948e80..f33e827c6b3 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/graphColoring/sequentialVertexColoring.c @@ -131,9 +131,7 @@ PGDLLEXPORT Datum _pgr_sequentialvertexcoloring(PG_FUNCTION_ARGS) { /*********************************************************************** * - * pgr_sequentialVertexColoring( - * edges_sql TEXT - * ); + * pgr_sequentialVertexColoring(edges_sql TEXT); * **********************************************************************/ diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index 0d7ebf1613d..b654d25ad40 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -45,9 +45,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /*********************************************************************** * - * pgr_sequentialVertexColoring( - * edges_sql TEXT - * ); + * pgr_sequentialVertexColoring(edges_sql TEXT); * ***********************************************************************/ @@ -59,11 +57,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * @returns results, when results are found */ -template -std::vector -pgr_sequentialVertexColoring( - G &graph) { - pgrouting::functions::Pgr_sequentialVertexColoring fn_sequentialVertexColoring; +template < class G > +std::vector < pgr_vertex_color_rt > +pgr_sequentialVertexColoring(G &graph) { + pgrouting::functions::Pgr_sequentialVertexColoring < G > fn_sequentialVertexColoring; auto results = fn_sequentialVertexColoring.sequentialVertexColoring(graph); return results; } @@ -107,15 +104,14 @@ do_pgr_sequentialVertexColoring( pgassert(!(*return_tuples)); pgassert(*return_count == 0); - std::vector results; + std::vector < pgr_vertex_color_rt > results; graphType gType = UNDIRECTED; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); - results = pgr_sequentialVertexColoring( - undigraph); + results = pgr_sequentialVertexColoring(undigraph); auto count = results.size(); From 7ee4b349fac1bb0d2367961a847a43ec50056644 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 16:17:12 +0530 Subject: [PATCH 0266/1360] [depthFirstSearch] Changed order of depth & directed parameter in sql file --- sql/depthFirstSearch/_depthFirstSearch.sql | 5 +++-- sql/depthFirstSearch/depthFirstSearch.sql | 24 +++++++++++----------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/sql/depthFirstSearch/_depthFirstSearch.sql b/sql/depthFirstSearch/_depthFirstSearch.sql index 51659437283..05f07c5d9e0 100644 --- a/sql/depthFirstSearch/_depthFirstSearch.sql +++ b/sql/depthFirstSearch/_depthFirstSearch.sql @@ -35,8 +35,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION _pgr_depthFirstSearch( edges_sql TEXT, root_vids ANYARRAY, - max_depth BIGINT, + directed BOOLEAN, + max_depth BIGINT, OUT seq BIGINT, OUT depth BIGINT, @@ -53,6 +54,6 @@ LANGUAGE C VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_depthFirstSearch(TEXT, ANYARRAY, BIGINT, BOOLEAN) +COMMENT ON FUNCTION _pgr_depthFirstSearch(TEXT, ANYARRAY, BOOLEAN, BIGINT) IS 'pgRouting internal function'; diff --git a/sql/depthFirstSearch/depthFirstSearch.sql b/sql/depthFirstSearch/depthFirstSearch.sql index 57466849f13..0115c040839 100644 --- a/sql/depthFirstSearch/depthFirstSearch.sql +++ b/sql/depthFirstSearch/depthFirstSearch.sql @@ -37,8 +37,8 @@ CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( TEXT, -- edges_sql (required) BIGINT, -- root_vid (required) - max_depth BIGINT DEFAULT 9223372036854775807, directed BOOLEAN DEFAULT true, + max_depth BIGINT DEFAULT 9223372036854775807, OUT seq BIGINT, OUT depth BIGINT, @@ -50,15 +50,15 @@ CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( RETURNS SETOF RECORD AS $BODY$ BEGIN - IF $3 < 0 THEN + IF $4 < 0 THEN RAISE EXCEPTION 'Negative value found on ''max_depth''' - USING HINT = format('Value found: %s', $3); + USING HINT = format('Value found: %s', $4); END IF; RETURN QUERY SELECT * - FROM _pgr_depthFirstSearch(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], max_depth, directed); + FROM _pgr_depthFirstSearch(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], directed, max_depth); END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; @@ -69,8 +69,8 @@ CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( TEXT, -- edges_sql (required) ANYARRAY, -- root_vids (required) - max_depth BIGINT DEFAULT 9223372036854775807, directed BOOLEAN DEFAULT true, + max_depth BIGINT DEFAULT 9223372036854775807, OUT seq BIGINT, OUT depth BIGINT, @@ -82,15 +82,15 @@ CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( RETURNS SETOF RECORD AS $BODY$ BEGIN - IF $3 < 0 THEN + IF $4 < 0 THEN RAISE EXCEPTION 'Negative value found on ''max_depth''' - USING HINT = format('Value found: %s', $3); + USING HINT = format('Value found: %s', $4); END IF; RETURN QUERY SELECT * - FROM _pgr_depthFirstSearch(_pgr_get_statement($1), $2, max_depth, directed); + FROM _pgr_depthFirstSearch(_pgr_get_statement($1), $2, directed, max_depth); END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; @@ -99,26 +99,26 @@ LANGUAGE plpgsql VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION pgr_depthFirstSearch(TEXT, BIGINT, BIGINT, BOOLEAN) +COMMENT ON FUNCTION pgr_depthFirstSearch(TEXT, BIGINT, BOOLEAN, BIGINT) IS 'pgr_depthFirstSearch(Single Vertex) - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - From root vertex identifier - Optional parameters - - max_depth := 9223372036854775807 - directed := true + - max_depth := 9223372036854775807 - Documentation: - ${PGROUTING_DOC_LINK}/pgr_depthFirstSearch.html '; -COMMENT ON FUNCTION pgr_depthFirstSearch(TEXT, ANYARRAY, BIGINT, BOOLEAN) +COMMENT ON FUNCTION pgr_depthFirstSearch(TEXT, ANYARRAY, BOOLEAN, BIGINT) IS 'pgr_depthFirstSearch(Multiple Vertices) - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - From ARRAY[root vertices identifiers] - Optional parameters - - max_depth := 9223372036854775807 - directed := true + - max_depth := 9223372036854775807 - Documentation: - ${PGROUTING_DOC_LINK}/pgr_depthFirstSearch.html '; From 0ee1b8f338287ba717fbd6ce00eef083a39d2e05 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 16:19:36 +0530 Subject: [PATCH 0267/1360] [depthFirstSearch] Changed order of depth & directed in src * Renamed source/start to root everywhere * Updated the docstring using the pre command --- src/depthFirstSearch/depthFirstSearch.c | 14 +++--- .../depthFirstSearch_driver.cpp | 43 +++++++++++-------- 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 66260035277..37fc27d8929 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -56,9 +56,9 @@ PG_FUNCTION_INFO_V1(_pgr_depthfirstsearch); * Finally, it frees the memory and disconnects the C function to the SPI manager. * * @param edges_sql the edges of the SQL query - * @param roots the starting vertices - * @param max_depth the maximum depth of traversal + * @param roots the root vertices * @param directed whether the graph is directed or undirected + * @param max_depth the maximum depth of traversal * @param result_tuples the rows in the result * @param result_count the count of rows in the result * @@ -69,8 +69,8 @@ void process( char* edges_sql, ArrayType *roots, - int64_t max_depth, bool directed, + int64_t max_depth, pgr_mst_rt **result_tuples, size_t *result_count) { @@ -102,8 +102,8 @@ process( edges, total_edges, rootsArr, size_rootsArr, - max_depth, directed, + max_depth, result_tuples, result_count, @@ -155,8 +155,8 @@ PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { * pgr_depthFirstSearch( * edges_sql TEXT, * root_vids ANYARRAY, - * max_depth BIGINT DEFAULT 9223372036854775807, * directed BOOLEAN DEFAULT true + * max_depth BIGINT DEFAULT 9223372036854775807, * ); * **********************************************************************/ @@ -164,8 +164,8 @@ PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS) { process( text_to_cstring(PG_GETARG_TEXT_P(0)), PG_GETARG_ARRAYTYPE_P(1), - PG_GETARG_INT64(2), - PG_GETARG_BOOL(3), + PG_GETARG_BOOL(2), + PG_GETARG_INT64(3), &result_tuples, &result_count); diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index bb16309c2cd..1e43ab0fa33 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -55,14 +55,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /** @brief Calls the main function defined in the C++ Header file. * - * Also sorts the starting vertices in an increasing order, + * Also sorts the root vertices in an increasing order, * and removes the duplicated vertices. Then calls the function * defined in the C++ Header file - `pgr_depthFirstSearch.hpp` * * @param graph the graph containing the edges - * @param roots the starting vertices - * @param max_depth the maximum depth of traversal + * @param roots the root vertices * @param directed whether the graph is directed or undirected + * @param max_depth the maximum depth of traversal * @param log stores the log message * * @returns results, when results are found @@ -73,33 +73,40 @@ std::vector < pgr_mst_rt > pgr_depthFirstSearch( G &graph, std::vector < int64_t > roots, - int64_t max_depth, - bool directed) { + bool directed, + int64_t max_depth) { std::sort(roots.begin(), roots.end()); roots.erase( std::unique(roots.begin(), roots.end()), roots.end()); pgrouting::functions::Pgr_depthFirstSearch < G > fn_depthFirstSearch; - auto results = fn_depthFirstSearch.depthFirstSearch(graph, roots, max_depth, directed); + auto results = fn_depthFirstSearch.depthFirstSearch(graph, roots, directed, max_depth); return results; } /** @brief Performs exception handling and converts the results to postgres. * - * It first asserts the variables, then builds the graph using the `data_edges`, - * depending on whether the graph is directed or undirected. It also converts - * the C types to the C++ types, such as the `rootsArr` to `roots` - * vector and passes these variables to the template function `pgr_depthFirstSearch` + * @pre log_msg is empty + * @pre notice_msg is empty + * @pre err_msg is empty + * @pre return_tuples is empty + * @pre return_count is 0 + * @pre total_edges is not 0 + * + * It builds the graph using the `data_edges`, depending on whether + * the graph is directed or undirected. It also converts the C types + * to the C++ types, such as the `rootsArr` to `roots` vector and + * passes these variables to the template function `pgr_depthFirstSearch` * which calls the main function defined in the C++ Header file. It also does * exception handling. * * @param data_edges the set of edges from the SQL query * @param total_edges the total number of edges in the SQL query - * @param rootsArr the array containing the starting vertices - * @param size_rootsArr the size of the array containing the starting vertices - * @param max_depth the maximum depth of traversal + * @param rootsArr the array containing the root vertices + * @param size_rootsArr the size of the array containing the root vertices * @param directed whether the graph is directed or undirected + * @param max_depth the maximum depth of traversal * @param return_tuples the rows in the result * @param return_count the count of rows in the result * @param log_msg stores the log message @@ -116,8 +123,8 @@ do_pgr_depthFirstSearch( int64_t *rootsArr, size_t size_rootsArr, - int64_t max_depth, bool directed, + int64_t max_depth, pgr_mst_rt **return_tuples, size_t *return_count, @@ -149,8 +156,8 @@ do_pgr_depthFirstSearch( results = pgr_depthFirstSearch( digraph, roots, - max_depth, - directed); + directed, + max_depth); } else { pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); @@ -158,8 +165,8 @@ do_pgr_depthFirstSearch( results = pgr_depthFirstSearch( undigraph, roots, - max_depth, - directed); + directed, + max_depth); } auto count = results.size(); From 33ac701735c8c61a6be930b5c8bf850201127e8f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 16:20:41 +0530 Subject: [PATCH 0268/1360] [depthFirstSearch] Changed order of depth & directed in include * Renamed source/start to root everywhere --- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 20 +++++++++---------- .../depthFirstSearch_driver.h | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index 8216437f18c..fb84305ee6c 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -66,7 +66,7 @@ class Pgr_depthFirstSearch { * It does all the processing and returns the results. * * @param graph the graph containing the edges - * @param roots the starting vertices + * @param roots the root vertices * @param max_depth the maximum depth of traversal * @param directed whether the graph is directed or undirected * @@ -80,8 +80,8 @@ class Pgr_depthFirstSearch { std::vector < pgr_mst_rt > depthFirstSearch( G &graph, std::vector < int64_t > roots, - int64_t max_depth, - bool directed) { + bool directed, + int64_t max_depth) { std::vector < pgr_mst_rt > results; for (auto root : roots) { @@ -92,7 +92,7 @@ class Pgr_depthFirstSearch { auto v_root(graph.get_V(root)); - depthFirstSearch_single_vertex(graph, v_root, visited_order, max_depth, directed); + depthFirstSearch_single_vertex(graph, v_root, visited_order, directed, max_depth); auto result = get_results(visited_order, root, max_depth, graph); results.insert(results.end(), result.begin(), result.end()); @@ -114,7 +114,7 @@ class Pgr_depthFirstSearch { * for directed graphs and undirected graphs, respectively. * * @param graph the graph containing the edges - * @param root the starting vertex + * @param root the root vertex * @param visited_order vector which will contain the edges of the resulting traversal * @param directed whether the graph is directed or undirected * @@ -124,8 +124,8 @@ class Pgr_depthFirstSearch { G &graph, V root, std::vector < E > &visited_order, - int64_t max_depth, - bool directed) { + bool directed, + int64_t max_depth) { using dfs_visitor = visitors::Dfs_visitor < V, E, G >; // Exterior property storage containers @@ -170,7 +170,7 @@ class Pgr_depthFirstSearch { * depth is less than the `max_depth`. * * @param visited_order vector which contains the edges of the resulting traversal - * @param source the starting vertex + * @param root the root vertex * @param max_depth the maximum depth of traversal * @param graph the graph containing the edges * @@ -179,7 +179,7 @@ class Pgr_depthFirstSearch { template < typename T > std::vector < pgr_mst_rt > get_results( T visited_order, - int64_t source, + int64_t root, int64_t max_depth, const G &graph) { std::vector < pgr_mst_rt > results; @@ -196,7 +196,7 @@ class Pgr_depthFirstSearch { if (max_depth >= depth[v]) { results.push_back({ - source, + root, depth[v], graph[v].id, graph[edge].id, diff --git a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h index d5e33310979..7084e165c33 100644 --- a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h +++ b/include/drivers/depthFirstSearch/depthFirstSearch_driver.h @@ -50,8 +50,8 @@ extern "C" { * pgr_depthFirstSearch( * edges_sql TEXT, * root_vids ANYARRAY, - * max_depth BIGINT DEFAULT 9223372036854775807, * directed BOOLEAN DEFAULT true + * max_depth BIGINT DEFAULT 9223372036854775807, * ); * *************************************************/ @@ -62,8 +62,8 @@ extern "C" { int64_t *rootsArr, size_t size_rootsArr, - int64_t max_depth, bool directed, + int64_t max_depth, pgr_mst_rt **return_tuples, size_t *return_count, From ad90e92fb1b674d44d134d47d7de15a4c7cc8aab Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 16:24:55 +0530 Subject: [PATCH 0269/1360] [depthFirstSearch] Modified docqueries file * Minor styling changes * Changed order of max_depth & directed parameter * Removed all additional examples * Added an example with max_depth => 2 * Added an example to show that the cost of an edge is not used for traversal --- .../depthFirstSearch-issue1348-usage.result | 26 +- .../depthFirstSearch-issue1348-usage.test.sql | 26 +- .../doc-pgr_depthFirstSearch.result | 261 +++--------------- .../doc-pgr_depthFirstSearch.test.sql | 106 ++----- 4 files changed, 92 insertions(+), 327 deletions(-) diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result index 744bbae1212..44378940404 100644 --- a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result +++ b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result @@ -32,7 +32,8 @@ SELECT * FROM sample_table ORDER BY id; -- q1 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 3 ); seq | depth | start_vid | node | edge | cost | agg_cost @@ -44,7 +45,8 @@ SELECT * FROM pgr_depthFirstSearch ( -- q2 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 6 ); seq | depth | start_vid | node | edge | cost | agg_cost @@ -56,7 +58,8 @@ SELECT * FROM pgr_depthFirstSearch ( -- q3 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 6, max_depth => 1 ); seq | depth | start_vid | node | edge | cost | agg_cost @@ -67,7 +70,8 @@ SELECT * FROM pgr_depthFirstSearch ( -- q4 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 2 ); seq | depth | start_vid | node | edge | cost | agg_cost @@ -76,7 +80,8 @@ SELECT * FROM pgr_depthFirstSearch ( -- q5 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 3, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost @@ -88,7 +93,8 @@ SELECT * FROM pgr_depthFirstSearch ( -- q6 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 6, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost @@ -100,8 +106,9 @@ SELECT * FROM pgr_depthFirstSearch ( -- q7 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', - 6, max_depth => 1, directed => false + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', + 6, directed => false, max_depth => 1 ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -112,7 +119,8 @@ SELECT * FROM pgr_depthFirstSearch ( -- q8 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', ARRAY[6, 3, 6] ); seq | depth | start_vid | node | edge | cost | agg_cost diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql index f62f5b6f7c1..140d23a89a5 100644 --- a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql +++ b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql @@ -24,56 +24,64 @@ SELECT * FROM sample_table ORDER BY id; -- Directed Graph with start_vid 3 \echo -- q1 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 3 ); -- Directed Graph with start_vid 6 \echo -- q2 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 6 ); -- Directed Graph with start_vid 6 and max_depth 1 \echo -- q3 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 6, max_depth => 1 ); -- start_vid does not exist in the Graph \echo -- q4 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 2 ); -- Undirected Graph with start_vid 3 \echo -- q5 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 3, directed => false ); -- Undirected Graph with start_vid 6 \echo -- q6 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', 6, directed => false ); -- Undirected Graph with start_vid 6 and max_depth 1 \echo -- q7 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', - 6, max_depth => 1, directed => false + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', + 6, directed => false, max_depth => 1 ); -- Directed Graph with multiple start_vids \echo -- q8 SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM sample_table + ORDER BY id', ARRAY[6, 3, 6] ); \echo -- q9 diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 321dcea723e..da105db1915 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -4,7 +4,8 @@ SET client_min_messages TO NOTICE; SET -- q1 SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + ORDER BY id', 2 ); seq | depth | start_vid | node | edge | cost | agg_cost @@ -26,7 +27,24 @@ SELECT * FROM pgr_depthFirstSearch( -- q2 SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + ORDER BY id', + 2, max_depth => 2 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 2 | 2 | -1 | 0 | 0 + 2 | 1 | 2 | 1 | 1 | 1 | 1 + 3 | 1 | 2 | 5 | 4 | 1 | 1 + 4 | 2 | 2 | 8 | 7 | 1 | 2 + 5 | 2 | 2 | 6 | 8 | 1 | 2 + 6 | 2 | 2 | 10 | 10 | 1 | 2 +(6 rows) + +-- q3 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + ORDER BY id', 2, directed => false ); seq | depth | start_vid | node | edge | cost | agg_cost @@ -46,10 +64,11 @@ SELECT * FROM pgr_depthFirstSearch( 13 | 7 | 2 | 13 | 14 | 1 | 7 (13 rows) --- q3 +-- q4 SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[11,12], max_depth => 2 + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + ORDER BY id', + ARRAY[11, 12], max_depth => 2 ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -62,224 +81,24 @@ SELECT * FROM pgr_depthFirstSearch( 7 | 2 | 12 | 4 | 16 | 1 | 2 (7 rows) --- q4 -- q5 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 6 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 6 | 6 | -1 | 0 | 0 - 2 | 1 | 6 | 5 | 8 | 1 | 1 - 3 | 2 | 6 | 2 | 4 | 1 | 2 - 4 | 3 | 6 | 1 | 1 | 1 | 3 - 5 | 2 | 6 | 8 | 7 | 1 | 2 - 6 | 3 | 6 | 7 | 6 | 1 | 3 - 7 | 2 | 6 | 10 | 10 | 1 | 2 - 8 | 3 | 6 | 11 | 12 | 1 | 3 - 9 | 4 | 6 | 12 | 13 | 1 | 4 - 10 | 5 | 6 | 9 | 15 | 1 | 5 - 11 | 6 | 6 | 4 | 16 | 1 | 6 - 12 | 7 | 6 | 3 | 3 | 1 | 7 - 13 | 3 | 6 | 13 | 14 | 1 | 3 -(13 rows) - -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15] -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 8 | 8 | -1 | 0 | 0 - 2 | 1 | 8 | 7 | 6 | 1 | 1 - 3 | 1 | 8 | 5 | 7 | 1 | 1 - 4 | 2 | 8 | 2 | 4 | 1 | 2 - 5 | 3 | 8 | 1 | 1 | 1 | 3 - 6 | 2 | 8 | 6 | 8 | 1 | 2 - 7 | 3 | 8 | 9 | 9 | 1 | 3 - 8 | 4 | 8 | 12 | 15 | 1 | 4 - 9 | 4 | 8 | 4 | 16 | 1 | 4 - 10 | 5 | 8 | 3 | 3 | 1 | 5 - 11 | 3 | 8 | 11 | 11 | 1 | 3 - 12 | 2 | 8 | 10 | 10 | 1 | 2 - 13 | 3 | 8 | 13 | 14 | 1 | 3 - 14 | 0 | 15 | 15 | -1 | 0 | 0 - 15 | 1 | 15 | 14 | 17 | 1 | 1 -(15 rows) - -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], max_depth => 2 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 8 | 8 | -1 | 0 | 0 - 2 | 1 | 8 | 7 | 6 | 1 | 1 - 3 | 1 | 8 | 5 | 7 | 1 | 1 - 4 | 2 | 8 | 2 | 4 | 1 | 2 - 5 | 2 | 8 | 6 | 8 | 1 | 2 - 6 | 2 | 8 | 10 | 10 | 1 | 2 - 7 | 0 | 15 | 15 | -1 | 0 | 0 - 8 | 1 | 15 | 14 | 17 | 1 | 1 -(8 rows) +UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE 18 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id <= 4 + ORDER BY id DESC', + 1, directed => false +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+-------+---------- + 1 | 0 | 1 | 1 | -1 | 0 | 0 + 2 | 1 | 1 | 2 | 1 | 1.001 | 1.001 + 3 | 2 | 1 | 5 | 4 | 1.016 | 2.017 + 4 | 2 | 1 | 3 | 2 | 1.004 | 2.005 + 5 | 3 | 1 | 4 | 3 | 1.009 | 3.014 +(5 rows) -- q6 --- q7 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 6, directed => false -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 6 | 6 | -1 | 0 | 0 - 2 | 1 | 6 | 3 | 5 | 1 | 1 - 3 | 2 | 6 | 2 | 2 | 1 | 2 - 4 | 3 | 6 | 1 | 1 | 1 | 3 - 5 | 3 | 6 | 5 | 4 | 1 | 3 - 6 | 4 | 6 | 8 | 7 | 1 | 4 - 7 | 5 | 6 | 7 | 6 | 1 | 5 - 8 | 4 | 6 | 10 | 10 | 1 | 4 - 9 | 5 | 6 | 11 | 12 | 1 | 5 - 10 | 6 | 6 | 12 | 13 | 1 | 6 - 11 | 7 | 6 | 9 | 15 | 1 | 7 - 12 | 8 | 6 | 4 | 16 | 1 | 8 - 13 | 5 | 6 | 13 | 14 | 1 | 5 -(13 rows) - -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], directed => false -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 8 | 8 | -1 | 0 | 0 - 2 | 1 | 8 | 7 | 6 | 1 | 1 - 3 | 1 | 8 | 5 | 7 | 1 | 1 - 4 | 2 | 8 | 2 | 4 | 1 | 2 - 5 | 3 | 8 | 1 | 1 | 1 | 3 - 6 | 3 | 8 | 3 | 2 | 1 | 3 - 7 | 4 | 8 | 4 | 3 | 1 | 4 - 8 | 5 | 8 | 9 | 16 | 1 | 5 - 9 | 6 | 8 | 6 | 9 | 1 | 6 - 10 | 7 | 8 | 11 | 11 | 1 | 7 - 11 | 8 | 8 | 10 | 12 | 1 | 8 - 12 | 9 | 8 | 13 | 14 | 1 | 9 - 13 | 8 | 8 | 12 | 13 | 1 | 8 - 14 | 0 | 15 | 15 | -1 | 0 | 0 - 15 | 1 | 15 | 14 | 17 | 1 | 1 -(15 rows) - -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], max_depth => 2, directed => false -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 8 | 8 | -1 | 0 | 0 - 2 | 1 | 8 | 7 | 6 | 1 | 1 - 3 | 1 | 8 | 5 | 7 | 1 | 1 - 4 | 2 | 8 | 2 | 4 | 1 | 2 - 5 | 2 | 8 | 6 | 8 | 1 | 2 - 6 | 2 | 8 | 10 | 10 | 1 | 2 - 7 | 0 | 15 | 15 | -1 | 0 | 0 - 8 | 1 | 15 | 14 | 17 | 1 | 1 -(8 rows) - --- q8 --- q9 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 16 | 16 | -1 | 0 | 0 - 2 | 1 | 16 | 17 | 18 | 1 | 1 -(2 rows) - -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, directed => true -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 16 | 16 | -1 | 0 | 0 - 2 | 1 | 16 | 17 | 18 | 1 | 1 -(2 rows) - -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16] -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 16 | 16 | -1 | 0 | 0 - 2 | 1 | 16 | 17 | 18 | 1 | 1 -(2 rows) - -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, max_depth => 1 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 16 | 16 | -1 | 0 | 0 - 2 | 1 | 16 | 17 | 18 | 1 | 1 -(2 rows) - -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], max_depth => 5 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 16 | 16 | -1 | 0 | 0 - 2 | 1 | 16 | 17 | 18 | 1 | 1 -(2 rows) - --- q10 --- q11 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, directed => false -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 16 | 16 | -1 | 0 | 0 - 2 | 1 | 16 | 17 | 18 | 1 | 1 -(2 rows) - -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], directed => false -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 16 | 16 | -1 | 0 | 0 - 2 | 1 | 16 | 17 | 18 | 1 | 1 -(2 rows) - -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, max_depth => 1, directed => false -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 16 | 16 | -1 | 0 | 0 - 2 | 1 | 16 | 17 | 18 | 1 | 1 -(2 rows) - -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], max_depth => 5, directed => false -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 16 | 16 | -1 | 0 | 0 - 2 | 1 | 16 | 17 | 18 | 1 | 1 -(2 rows) - --- q12 ROLLBACK; ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index c0f7ea882bf..183c5370fdb 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -1,104 +1,34 @@ \echo -- q1 SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + ORDER BY id', 2 ); \echo -- q2 SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 2, directed => false + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + ORDER BY id', + 2, max_depth => 2 ); \echo -- q3 SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[11,12], max_depth => 2 + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + ORDER BY id', + 2, directed => false ); \echo -- q4 - - --- Examples for :ref:`fig1-direct-Cost-Reverse` -------------------------------------------------------------------------------- - -\echo -- q5 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 6 -); -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15] -); -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], max_depth => 2 -); -\echo -- q6 - - --- Examples for :ref:`fig2-undirect-Cost-Reverse` -------------------------------------------------------------------------------- - -\echo -- q7 SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 6, directed => false + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + ORDER BY id', + ARRAY[11, 12], max_depth => 2 ); -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], directed => false -); -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[8,15], max_depth => 2, directed => false -); -\echo -- q8 - - --- Equivalences for :ref:`fig1-direct-Cost-Reverse` -------------------------------------------------------------------------------- - -\echo -- q9 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16 -); -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, directed => true -); -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16] -); -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, max_depth => 1 -); -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], max_depth => 5 -); -\echo -- q10 - - --- Equivalences for :ref:`fig2-undirect-Cost-Reverse` -------------------------------------------------------------------------------- +\echo -- q5 +UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; -\echo -- q11 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, directed => false -); SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], directed => false + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + WHERE id <= 4 + ORDER BY id DESC', + 1, directed => false ); -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 16, max_depth => 1, directed => false -); -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[16], max_depth => 5, directed => false -); -\echo -- q12 +\echo -- q6 From d5dc41c94abc5a9a386dc1ef629ae1bcf13d291c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 16:28:20 +0530 Subject: [PATCH 0270/1360] [depthFirstSearch] [doc] Modified the doc file according to docqueries * Renamed start/source to root everywhere * Added/removed/modified certain statements for clarity * Changed the order of directed & max_depth * Documented the unnamed parameters in proper way * Made other changes according to the docqueries --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 142 +++++++----------- 1 file changed, 55 insertions(+), 87 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 333da4dd382..c354901c8e7 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -29,27 +29,26 @@ Description ------------------------------------------------------------------------------- Depth First Search algorithm is a well known traversal algorithm which starts -from a start vertex (``start_vid``) and visits all the nodes in a graph in the +from a root vertex (``Root vid``) and visits all the nodes in a graph in the depth-first search traversal order. An optional non-negative maximum depth parameter (``max_depth``) can be specified to get the results up to a particular depth. -**Note**: If two or more vertices are at the same depth from the current vertex, -then to resolve the clash, out of all the edges joining the current vertex and -the next vertex, the edge having the smallest id will be traversed first. +**Note**: The cost of an edge is not used for traversal. If multiple edges +are adjacent to a vertex, then this algorithm traverses that edge which +comes first in the ``Edges SQL``. **The main Characteristics are:** -- The implementation works for both undirected and directed graphs. -- Provides the Depth First Search traversal order from a source node to +- The implementation works for both directed and undirected graphs. +- Provides the Depth First Search traversal order from a root vertex to a particular maximum depth level. -- For optimization purposes, any duplicated values in the `start_vids` are +- For optimization purposes, any duplicated values in the `Root vids` are ignored. -- The returned values are ordered in ascending order of `start_vid`. -- If the starting vertex does not exist, empty row is returned. -- The depth first search traversal does not always produce the shortest - path from a source vertex to a given target vertex. So, the aggregate cost - of traversal may not always be minimal. +- The returned values are ordered in ascending order of `Root vid`. +- If the root vertex does not exist, an empty row is returned. +- It does not produce the shortest path from a root vertex to a target vertex. +- The aggregate cost of traversal is not guaranteed to be minimal. - Depth First Search Running time: :math:`O(E + V)` Signatures @@ -59,27 +58,34 @@ Signatures .. code-block:: none - pgr_depthFirstSearch(edges_sql, start_vid [, max_depth] [, directed]) - pgr_depthFirstSearch(edges_sql, start_vids [, max_depth] [, directed]) + pgr_depthFirstSearch(Edges SQL, Root vid [, directed] [, max_depth]) + pgr_depthFirstSearch(Edges SQL, Root vids [, directed] [, max_depth]) - RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + RETURNS SET OF (seq, depth, Root vid, node, edge, cost, agg_cost) OR EMPTY SET .. rubric:: Using defaults .. code-block:: none - pgr_depthFirstSearch(TEXT edges_sql, BIGINT start_vid) + pgr_depthFirstSearch(TEXT, BIGINT) - RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + RETURNS SET OF (seq, depth, Root vid, node, edge, cost, agg_cost) OR EMPTY SET -:Example: From start vertex :math:`2` on a **directed** graph +:Example: From root vertex :math:`2` on a **directed** graph .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: -- q1 :end-before: -- q2 +:Example: From root vertex :math:`2` on a **directed** graph, + with :math:`depth <= 2` + +.. literalinclude:: doc-pgr_depthFirstSearch.queries + :start-after: -- q2 + :end-before: -- q3 + .. index:: single: depthFirstSearch(Single vertex) - Experimental @@ -88,17 +94,17 @@ Single vertex .. code-block:: none - pgr_depthFirstSearch(TEXT edges_sql, BIGINT start_vid, - BIGINT max_depth => 9223372036854775807, BOOLEAN directed => true) + pgr_depthFirstSearch(TEXT, BIGINT, + BOOLEAN directed => true, BIGINT max_depth => 9223372036854775807) - RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + RETURNS SET OF (seq, depth, Root vid, node, edge, cost, agg_cost) OR EMPTY SET -:Example: From start vertex :math:`2` on an **undirected** graph +:Example: From root vertex :math:`2` on an **undirected** graph .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q2 - :end-before: -- q3 + :start-after: -- q3 + :end-before: -- q4 .. index:: single: depthFirstSearch(Multiple vertices) - Experimental @@ -108,18 +114,18 @@ Multiple vertices .. code-block:: none - pgr_depthFirstSearch(TEXT edges_sql, ARRAY[ANY_INTEGER] start_vids, - BIGINT max_depth => 9223372036854775807, BOOLEAN directed => true) + pgr_depthFirstSearch(TEXT, ARRAY[ANY_INTEGER], + BOOLEAN directed => true, BIGINT max_depth => 9223372036854775807) - RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + RETURNS SET OF (seq, depth, Root vid, node, edge, cost, agg_cost) OR EMPTY SET -:Example: From start vertices :math:`\{11, 12\}` with :math:`depth <= 2` - on a **directed** graph +:Example: From root vertices :math:`\{11, 12\}` on a **directed** graph + with :math:`depth <= 2` .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q3 - :end-before: -- q4 + :start-after: -- q4 + :end-before: -- q5 .. Parameters, Inner query & result columns @@ -131,12 +137,12 @@ Parameters =================== ====================== ================================================= Parameter Type Description =================== ====================== ================================================= -**edges_sql** ``TEXT`` SQL query described in `Inner query`_. -**start_vid** ``BIGINT`` Identifier of the start vertex of the tree. +**Edges SQL** ``TEXT`` SQL query described in `Inner query`_. +**Root vid** ``BIGINT`` Identifier of the root vertex of the tree. - Used on `Single Vertex`_. -**start_vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of the start vertices. +**Root vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of the root vertices. - Used on `Multiple Vertices`_. - For optimization purposes, any duplicated value is ignored. @@ -148,18 +154,18 @@ Optional Parameters =================== =========== =========================== ================================================= Parameter Type Default Description =================== =========== =========================== ================================================= +**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` + - When ``false`` the graph is considered as `Undirected`. + **max_depth** ``BIGINT`` :math:`9223372036854775807` Upper limit for depth of node in the tree - When value is ``Negative`` then **throws error** - -**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` - - When ``false`` the graph is considered as `Undirected`. =================== =========== =========================== ================================================= Inner query ------------------------------------------------------------------------------- -.. rubric:: edges_sql +.. rubric:: Edges SQL .. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start @@ -170,7 +176,7 @@ Result Columns .. result columns start -Returns SET OF ``(seq, depth, start_vid, node, edge, cost, agg_cost)`` +Returns SET OF ``(seq, depth, Root vid, node, edge, cost, agg_cost)`` =============== =========== ==================================================== Column Type Description @@ -178,19 +184,19 @@ Column Type Description **seq** ``BIGINT`` Sequential value starting from :math:`1`. **depth** ``BIGINT`` Depth of the ``node``. - - :math:`0` when ``node`` = ``start_vid``. + - :math:`0` when ``node`` = ``Root vid``. -**start_vid** ``BIGINT`` Identifier of the start vertex. +**Root vid** ``BIGINT`` Identifier of the root vertex. - In `Multiple Vertices`_ results are in ascending order. **node** ``BIGINT`` Identifier of ``node`` reached using ``edge``. **edge** ``BIGINT`` Identifier of the ``edge`` used to arrive to ``node``. - - :math:`-1` when ``node`` = ``start_vid``. + - :math:`-1` when ``node`` = ``Root vid``. **cost** ``FLOAT`` Cost to traverse ``edge``. -**agg_cost** ``FLOAT`` Aggregate cost from ``start_vid`` to ``node``. +**agg_cost** ``FLOAT`` Aggregate cost from ``Root vid`` to ``node``. =============== =========== ==================================================== .. result columns end @@ -201,55 +207,17 @@ Additional Examples The examples of this section are based on the :doc:`sampledata` network. -The examples include the traversal with starting vertices as 6, 8 and 15 in a -directed and undirected graph, for both single vertex and multiple vertices. - -**Directed Graph** - -:Examples: For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns - -The examples in this section use the following: - -* :ref:`fig1` +This example shows that the cost of an edge is not used for traversal. An edge +having a greater cost may be traversed first, if it comes first in the ``Edges SQL``. .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: -- q5 :end-before: -- q6 -**Undirected Graph** - -:Examples: For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns - -The examples in this section use the following: - -* :ref:`fig2` - -.. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q7 - :end-before: -- q8 - -Equivalences between signatures -............................................................................... - -:Examples: For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns - -The examples in this section use the following: - -* :ref:`fig1` - -.. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q9 - :end-before: -- q10 - -:Examples: For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns - -The examples in this section use the following: - -* :ref:`fig2` - -.. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q11 - :end-before: -- q12 +Here, the edge from :math:`2` to :math:`5` has a cost of :math:`1.016` which is +greater than the cost of edge from :math:`2` to :math:`3`, which is :math:`1.004`. +Yet, the edge with greater cost is traversed first, because it comes first in the +``Edges SQL``. See Also From 31254e8ae1b258d5eb5fdff8b6a68c0c30e95c31 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 16:29:38 +0530 Subject: [PATCH 0271/1360] [depthFirstSearch] Modified the pgTAP tests for proper order of named parameters --- .../depthFirstSearch-edge-cases.sql | 28 +++++++++---------- .../depthFirstSearch-equivalenceBFS.test.sql | 28 +++++++++---------- .../depthFirstSearch-innerQuery.sql | 20 ++++++------- .../depthFirstSearch-types-check.sql | 14 +++++----- .../no_crash_test-depthFirstSearch.sql | 16 +++++------ 5 files changed, 53 insertions(+), 53 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql index 86befedf641..f1e26cc73a4 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql @@ -92,21 +92,21 @@ PREPARE depthFirstSearch11 AS SELECT * FROM pgr_depthFirstSearch( 'q1', - 5, max_depth => 2, directed => false + 5, directed => false, max_depth => 2 ); PREPARE depthFirstSearch12 AS SELECT * FROM pgr_depthFirstSearch( 'q1', - ARRAY[5], max_depth => 2, directed => false + ARRAY[5], directed => false, max_depth => 2 ); PREPARE depthFirstSearch13 AS SELECT * FROM pgr_depthFirstSearch( 'q1', - ARRAY[2, 5], max_depth => 2, directed => false + ARRAY[2, 5], directed => false, max_depth => 2 ); SELECT is_empty('depthFirstSearch8', '8: Graph with 0 edge and 0 vertex -> Empty row is returned'); @@ -207,21 +207,21 @@ PREPARE depthFirstSearch24 AS SELECT * FROM pgr_depthFirstSearch( 'q14', - -10, max_depth => 2, directed => false + -10, directed => false, max_depth => 2 ); PREPARE depthFirstSearch25 AS SELECT * FROM pgr_depthFirstSearch( 'q14', - ARRAY[-10], max_depth => 2, directed => false + ARRAY[-10], directed => false, max_depth => 2 ); PREPARE depthFirstSearch26 AS SELECT * FROM pgr_depthFirstSearch( 'q14', - ARRAY[20, -10], max_depth => 2, directed => false + ARRAY[20, -10], directed => false, max_depth => 2 ); SELECT is_empty('depthFirstSearch21', '21: Vertex not present in graph -> Empty row is returned'); @@ -263,21 +263,21 @@ PREPARE depthFirstSearch30 AS SELECT * FROM pgr_depthFirstSearch( 'q14', - 4, max_depth => -3, directed => false + 4, directed => false, max_depth => -3 ); PREPARE depthFirstSearch31 AS SELECT * FROM pgr_depthFirstSearch( 'q14', - ARRAY[4], max_depth => -3, directed => false + ARRAY[4], directed => false, max_depth => -3 ); PREPARE depthFirstSearch32 AS SELECT * FROM pgr_depthFirstSearch( 'q14', - ARRAY[4, 20], max_depth => -3, directed => false + ARRAY[4, 20], directed => false, max_depth => -3 ); SELECT throws_ok('depthFirstSearch27', 'P0001', 'Negative value found on ''max_depth''', '27: Negative max_depth throws'); @@ -356,14 +356,14 @@ PREPARE depthFirstSearch40 AS SELECT * FROM pgr_depthFirstSearch( 'q33', - 2, max_depth => 2, directed => false + 2, directed => false, max_depth => 2 ); PREPARE depthFirstSearch41 AS SELECT * FROM pgr_depthFirstSearch( 'q33', - ARRAY[2], max_depth => 2, directed => false + ARRAY[2], directed => false, max_depth => 2 ); SELECT set_eq('depthFirstSearch38', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '38: One row with node 2 is returned'); @@ -470,14 +470,14 @@ PREPARE depthFirstSearch53 AS SELECT * FROM pgr_depthFirstSearch( 'q42', - 3, max_depth => 1, directed => false + 3, directed => false, max_depth => 1 ); PREPARE depthFirstSearch54 AS SELECT * FROM pgr_depthFirstSearch( 'q42', - 3, max_depth => 0, directed => false + 3, directed => false, max_depth => 0 ); SELECT set_eq('depthFirstSearch49', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '49: Two rows are returned'); @@ -619,7 +619,7 @@ PREPARE depthFirstSearch63 AS SELECT * FROM pgr_depthFirstSearch( 'q55', - 6, max_depth => 1, directed => false + 6, directed => false, max_depth => 1 ); SELECT set_eq('depthFirstSearch61', diff --git a/pgtap/depthFirstSearch/depthFirstSearch-equivalenceBFS.test.sql b/pgtap/depthFirstSearch/depthFirstSearch-equivalenceBFS.test.sql index e5fd5a10a98..5076abf7a7b 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-equivalenceBFS.test.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-equivalenceBFS.test.sql @@ -62,42 +62,42 @@ PREPARE depthFirstSearch4 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_depthFirstSearch( 'sample_data', - 1, max_depth => 1, directed => false + 1, directed => false, max_depth => 1 ); PREPARE depthFirstSearch5 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_depthFirstSearch( 'sample_data', - 2, max_depth => 1, directed => false + 2, directed => false, max_depth => 1 ); PREPARE depthFirstSearch6 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_depthFirstSearch( 'sample_data', - 5, max_depth => 1, directed => false + 5, directed => false, max_depth => 1 ); PREPARE breadthFirstSearch4 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_breadthFirstSearch( 'sample_data', - 1, max_depth => 1, directed => false + 1, directed => false, max_depth => 1 ); PREPARE breadthFirstSearch5 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_breadthFirstSearch( 'sample_data', - 2, max_depth => 1, directed => false + 2, directed => false, max_depth => 1 ); PREPARE breadthFirstSearch6 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_breadthFirstSearch( 'sample_data', - 5, max_depth => 1, directed => false + 5, directed => false, max_depth => 1 ); SELECT set_eq('depthFirstSearch4', 'breadthFirstSearch4', '4: max_depth => 1 cases (undirected)'); @@ -158,42 +158,42 @@ PREPARE depthFirstSearch10 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_depthFirstSearch( 'sample_data', - 1, max_depth => 2, directed => false + 1, directed => false, max_depth => 2 ); PREPARE depthFirstSearch11 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_depthFirstSearch( 'sample_data', - 2, max_depth => 2, directed => false + 2, directed => false, max_depth => 2 ); PREPARE depthFirstSearch12 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_depthFirstSearch( 'sample_data', - 5, max_depth => 2, directed => false + 5, directed => false, max_depth => 2 ); PREPARE breadthFirstSearch10 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_breadthFirstSearch( 'sample_data', - 1, max_depth => 2, directed => false + 1, directed => false, max_depth => 2 ); PREPARE breadthFirstSearch11 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_breadthFirstSearch( 'sample_data', - 2, max_depth => 2, directed => false + 2, directed => false, max_depth => 2 ); PREPARE breadthFirstSearch12 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_breadthFirstSearch( 'sample_data', - 5, max_depth => 2, directed => false + 5, directed => false, max_depth => 2 ); SELECT set_eq('depthFirstSearch10', 'breadthFirstSearch10', '10: max_depth => 2 cases (undirected)'); @@ -254,14 +254,14 @@ PREPARE depthFirstSearch16 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_depthFirstSearch( 'sample_data', - 1, max_depth => 3, directed => false + 1, directed => false, max_depth => 3 ); PREPARE breadthFirstSearch16 AS SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_breadthFirstSearch( 'sample_data', - 1, max_depth => 3, directed => false + 1, directed => false, max_depth => 3 ); SELECT set_eq('depthFirstSearch16', 'breadthFirstSearch16', '16: max_depth => 3 cases (undirected)'); diff --git a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql index fa997a63e5e..d45377f0c2c 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql @@ -4,21 +4,21 @@ SELECT plan(432); -- SINGLE VERTEX SELECT style_dijkstra('pgr_depthFirstSearch', ', 5)'); --- Single vertex with depth -SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, 2)'); -- Single vertex with directed parameter -SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, directed => true)'); --- Single vertex with depth and directed parameter -SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, 2, directed => true)'); +SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, true)'); +-- Single vertex with max_depth parameter +SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, max_depth => 2)'); +-- Single vertex with directed and max_depth parameter +SELECT style_dijkstra('pgr_depthFirstSearch', ', 5, true, max_depth => 2)'); -- MULTIPLE VERTICES SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5])'); --- Multiple vertices with depth -SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], 2)'); -- Multiple vertices with directed parameter -SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], directed => true)'); --- Multiple vertices with depth and directed parameter -SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], 2, directed => true)'); +SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], true)'); +-- Multiple vertices with max_depth parameter +SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], max_depth => 2)'); +-- Single vertex with directed and max_depth parameter +SELECT style_dijkstra('pgr_depthFirstSearch', ', ARRAY[3,5], true, max_depth => 2)'); SELECT finish(); ROLLBACK; diff --git a/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql b/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql index 2d87144b8e2..6ca83130c61 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql @@ -5,24 +5,24 @@ SELECT plan(7); SELECT has_function('pgr_depthfirstsearch'); -SELECT has_function('pgr_depthfirstsearch', ARRAY['text','bigint','bigint','boolean']); -SELECT has_function('pgr_depthfirstsearch', ARRAY['text','anyarray','bigint','boolean']); -SELECT function_returns('pgr_depthfirstsearch', ARRAY['text','bigint','bigint','boolean'], 'setof record'); -SELECT function_returns('pgr_depthfirstsearch', ARRAY['text','anyarray','bigint','boolean'], 'setof record'); +SELECT has_function('pgr_depthfirstsearch', ARRAY['text','bigint','boolean','bigint']); +SELECT has_function('pgr_depthfirstsearch', ARRAY['text','anyarray','boolean','bigint']); +SELECT function_returns('pgr_depthfirstsearch', ARRAY['text','bigint','boolean','bigint'], 'setof record'); +SELECT function_returns('pgr_depthfirstsearch', ARRAY['text','anyarray','boolean','bigint'], 'setof record'); -- pgr_depthfirstsearch -- parameter names SELECT bag_has( $$SELECT proargnames from pg_proc where proname = 'pgr_depthfirstsearch'$$, - $$SELECT '{"","","max_depth","directed","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ + $$SELECT '{"","","directed","max_depth","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ ); -- parameter types SELECT set_eq( $$SELECT proallargtypes from pg_proc where proname = 'pgr_depthfirstsearch'$$, $$VALUES - ('{25,20,20,16,20,20,20,20,20,701,701}'::OID[]), - ('{25,2277,20,16,20,20,20,20,20,701,701}'::OID[]) + ('{25,20,16,20,20,20,20,20,20,701,701}'::OID[]), + ('{25,2277,16,20,20,20,20,20,20,701,701}'::OID[]) $$ ); diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql index 6af2aff8feb..fdcc309eedc 100644 --- a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql +++ b/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql @@ -41,16 +41,16 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - -- depthFirstSearch Single vertex with depth + -- depthFirstSearch Single vertex with max_depth params = ARRAY[ '$$edges$$', '5::BIGINT', - '3::BIGINT' + 'max_depth => 3::BIGINT' ]::TEXT[]; subs = ARRAY[ 'NULL', '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + 'max_depth => (SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); @@ -58,7 +58,7 @@ BEGIN subs = ARRAY[ 'NULL', 'NULL::BIGINT', - 'NULL::BIGINT' + 'max_depth => NULL::BIGINT' ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); @@ -80,16 +80,16 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); - -- depthFirstSearch Multiple vertices with depth + -- depthFirstSearch Multiple vertices with max_depth params = ARRAY[ '$$edges$$', 'ARRAY[5,3]::BIGINT[]', - '3::BIGINT' + 'max_depth => 3::BIGINT' ]::TEXT[]; subs = ARRAY[ 'NULL', '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + 'max_depth => (SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); @@ -97,7 +97,7 @@ BEGIN subs = ARRAY[ 'NULL', 'NULL::BIGINT[]', - 'NULL::BIGINT' + 'max_depth => NULL::BIGINT' ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_depthFirstSearch', params, subs); From f59e5159d445796959ea90f7fcd5d5b8ba59290f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 16:30:22 +0530 Subject: [PATCH 0272/1360] [depthFirstSearch] Modified signature file, after changing order of named parameters --- sql/sigs/pgrouting--3.2.0.sig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index ec5c550b866..a1aa1fb7cc7 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -80,9 +80,9 @@ _pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) pgr_dagshortestpath(text,anyarray,bigint) pgr_dagshortestpath(text,bigint,anyarray) pgr_dagshortestpath(text,bigint,bigint) -_pgr_depthfirstsearch(text,anyarray,bigint,boolean) -pgr_depthfirstsearch(text,anyarray,bigint,boolean) -pgr_depthfirstsearch(text,bigint,bigint,boolean) +_pgr_depthfirstsearch(text,anyarray,boolean,bigint) +pgr_depthfirstsearch(text,anyarray,boolean,bigint) +pgr_depthfirstsearch(text,bigint,boolean,bigint) pgr_dijkstracostmatrix(text,anyarray,boolean) pgr_dijkstracost(text,anyarray,anyarray,boolean) pgr_dijkstracost(text,anyarray,bigint,boolean) From f2c3f2c1d853827cf5374cc0999def4f152680bf Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 16:31:18 +0530 Subject: [PATCH 0273/1360] [sequentialVertexColoring] Used pre command in the docstring in src file --- .../sequentialVertexColoring_driver.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/graphColoring/sequentialVertexColoring_driver.cpp index b654d25ad40..b0feeb602e7 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/graphColoring/sequentialVertexColoring_driver.cpp @@ -67,9 +67,15 @@ pgr_sequentialVertexColoring(G &graph) { /** @brief Performs exception handling and converts the results to postgres. * - * It first asserts the variables, then builds the undirected graph using the - * `data_edges` variable. Then, it passes the required variables to the - * template function `pgr_sequentialVertexColoring` which calls the main function + * @pre log_msg is empty + * @pre notice_msg is empty + * @pre err_msg is empty + * @pre return_tuples is empty + * @pre return_count is 0 + * + * It builds the undirected graph using the `data_edges` variable. + * Then, it passes the required variables to the template function + * `pgr_sequentialVertexColoring` which calls the main function * defined in the C++ Header file. It also does exception handling. * * @param data_edges the set of edges from the SQL query From 25538443fcb8476c31ea591344a1c6ddd11ea724 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 16:32:00 +0530 Subject: [PATCH 0274/1360] [sequentialVertexColoring] [doc] Used Edges SQL instead of edges_sql --- .../pgr_sequentialVertexColoring.rst | 20 +++---------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index 031f0be42cd..f98ec7f9b99 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -58,7 +58,7 @@ Signatures .. code-block:: none - pgr_sequentialVertexColoring(TEXT edges_sql) + pgr_sequentialVertexColoring(TEXT Edges SQL) RETURNS SET OF (node, color) OR EMPTY SET @@ -82,13 +82,13 @@ Parameters =================== ====================== ================================================= Parameter Type Description =================== ====================== ================================================= -**edges_sql** ``TEXT`` SQL query described in `Inner query`_. +**Edges SQL** ``TEXT`` SQL query described in `Inner query`_. =================== ====================== ================================================= Inner query ------------------------------------------------------------------------------- -.. rubric:: edges_sql +.. rubric:: Edges SQL .. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start @@ -114,20 +114,6 @@ Column Type Description .. result columns end -Additional Examples -------------------------------------------------------------------------------- - -The examples of this section are based on the :doc:`sampledata` network. - -The examples include a subgraph extracted from the original undirected graph, -containing the vertices in a linear, cyclic or cross-like arrangement. - -* :ref:`fig2` - -.. literalinclude:: doc-pgr_sequentialVertexColoring.queries - :start-after: -- q3 - :end-before: -- q4 - See Also ------------------------------------------------------------------------------- From 1c40a7579c7588bc7fe1ff46f34425bdc965a7dd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 16:32:33 +0530 Subject: [PATCH 0275/1360] [sequentialVertexColoring] Removed additional examples from docqueries --- .../doc-pgr_sequentialVertexColoring.result | 69 ------------------- .../doc-pgr_sequentialVertexColoring.test.sql | 31 --------- 2 files changed, 100 deletions(-) diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result index 14e7c7ce242..95ad37f0764 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result @@ -29,74 +29,5 @@ SELECT * FROM pgr_sequentialVertexColoring( (17 rows) -- q2 --- q3 -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id = 1 - ORDER BY id' -); - node | color -------+------- - 1 | 0 - 2 | 1 -(2 rows) - -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id < 5 - ORDER BY id' -); - node | color -------+------- - 1 | 0 - 2 | 1 - 3 | 0 - 4 | 1 - 5 | 0 -(5 rows) - -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id >= 4 AND id <= 6 - ORDER BY id' -); - node | color -------+------- - 2 | 0 - 3 | 0 - 5 | 1 - 6 | 1 - 7 | 0 - 8 | 1 -(6 rows) - -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id IN (8, 10, 11, 12) - ORDER BY id' -); - node | color -------+------- - 5 | 0 - 6 | 1 - 10 | 1 - 11 | 0 -(4 rows) - -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id IN (5, 8, 9, 11) - ORDER BY id' -); - node | color -------+------- - 3 | 0 - 5 | 0 - 6 | 1 - 9 | 0 - 11 | 0 -(5 rows) - --- q4 ROLLBACK; ROLLBACK diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql index ea3b5915a4a..7101e90912b 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql @@ -4,34 +4,3 @@ SELECT * FROM pgr_sequentialVertexColoring( ORDER BY id' ); \echo -- q2 - --- Examples for :ref:`fig2-undirect-Cost-Reverse` -------------------------------------------------------------------------------- - -\echo -- q3 -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id = 1 - ORDER BY id' -); -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id < 5 - ORDER BY id' -); -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id >= 4 AND id <= 6 - ORDER BY id' -); -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id IN (8, 10, 11, 12) - ORDER BY id' -); -SELECT * FROM pgr_sequentialVertexColoring( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id IN (5, 8, 9, 11) - ORDER BY id' -); -\echo -- q4 From 8ce67f0958de232855df0d3df30675fcc0d4ce85 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 29 Jul 2020 16:35:26 +0530 Subject: [PATCH 0276/1360] [sequentialVertexColoring] Minor change in the doc file --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index f98ec7f9b99..6de49a4b080 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -37,7 +37,7 @@ value to the node having the greatest value. Efficient graph coloring is an NP-Hard problem, and therefore, the Sequential Vertex Coloring algorithm does not always produce optimal coloring. This algorithm follows a greedy strategy by iterating through all the vertices sequentially, -and assigning the smallest possible color that is not used by its neighbors to +and assigning the smallest possible color that is not used by its neighbors, to each vertex. **The main Characteristics are:** @@ -58,7 +58,7 @@ Signatures .. code-block:: none - pgr_sequentialVertexColoring(TEXT Edges SQL) + pgr_sequentialVertexColoring(Edges SQL) RETURNS SET OF (node, color) OR EMPTY SET From fe1692c3af83b655701a474f08459d4b5ca3c885 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 30 Jul 2020 09:28:13 +0530 Subject: [PATCH 0277/1360] [depthFirstSearch] Changed dfs visitor filename in comments --- include/visitors/dfs_visitor.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/visitors/dfs_visitor.hpp b/include/visitors/dfs_visitor.hpp index 4cc02991c54..82756f5f5d1 100644 --- a/include/visitors/dfs_visitor.hpp +++ b/include/visitors/dfs_visitor.hpp @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: Dfs_visitor_with_root.hpp +File: Dfs_visitor.hpp Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org From 188a2ed4080dc8c2fddfe5c95c07c724ec5d8dc7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 17:50:37 +0530 Subject: [PATCH 0278/1360] [depthFirstSearch] Changed Root vid to start_vid in the OUT parameters --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index c354901c8e7..00ac72ff1c4 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -45,7 +45,7 @@ comes first in the ``Edges SQL``. a particular maximum depth level. - For optimization purposes, any duplicated values in the `Root vids` are ignored. -- The returned values are ordered in ascending order of `Root vid`. +- The returned values are ordered in ascending order of `start_vid`. - If the root vertex does not exist, an empty row is returned. - It does not produce the shortest path from a root vertex to a target vertex. - The aggregate cost of traversal is not guaranteed to be minimal. @@ -61,7 +61,7 @@ Signatures pgr_depthFirstSearch(Edges SQL, Root vid [, directed] [, max_depth]) pgr_depthFirstSearch(Edges SQL, Root vids [, directed] [, max_depth]) - RETURNS SET OF (seq, depth, Root vid, node, edge, cost, agg_cost) + RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET .. rubric:: Using defaults @@ -70,7 +70,7 @@ Signatures pgr_depthFirstSearch(TEXT, BIGINT) - RETURNS SET OF (seq, depth, Root vid, node, edge, cost, agg_cost) + RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET :Example: From root vertex :math:`2` on a **directed** graph @@ -97,7 +97,7 @@ Single vertex pgr_depthFirstSearch(TEXT, BIGINT, BOOLEAN directed => true, BIGINT max_depth => 9223372036854775807) - RETURNS SET OF (seq, depth, Root vid, node, edge, cost, agg_cost) + RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET :Example: From root vertex :math:`2` on an **undirected** graph @@ -117,7 +117,7 @@ Multiple vertices pgr_depthFirstSearch(TEXT, ARRAY[ANY_INTEGER], BOOLEAN directed => true, BIGINT max_depth => 9223372036854775807) - RETURNS SET OF (seq, depth, Root vid, node, edge, cost, agg_cost) + RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET :Example: From root vertices :math:`\{11, 12\}` on a **directed** graph @@ -176,7 +176,7 @@ Result Columns .. result columns start -Returns SET OF ``(seq, depth, Root vid, node, edge, cost, agg_cost)`` +Returns SET OF ``(seq, depth, start_vid, node, edge, cost, agg_cost)`` =============== =========== ==================================================== Column Type Description @@ -184,19 +184,19 @@ Column Type Description **seq** ``BIGINT`` Sequential value starting from :math:`1`. **depth** ``BIGINT`` Depth of the ``node``. - - :math:`0` when ``node`` = ``Root vid``. + - :math:`0` when ``node`` = ``start_vid``. -**Root vid** ``BIGINT`` Identifier of the root vertex. +**start_vid** ``BIGINT`` Identifier of the start vertex. - In `Multiple Vertices`_ results are in ascending order. **node** ``BIGINT`` Identifier of ``node`` reached using ``edge``. **edge** ``BIGINT`` Identifier of the ``edge`` used to arrive to ``node``. - - :math:`-1` when ``node`` = ``Root vid``. + - :math:`-1` when ``node`` = ``start_vid``. **cost** ``FLOAT`` Cost to traverse ``edge``. -**agg_cost** ``FLOAT`` Aggregate cost from ``Root vid`` to ``node``. +**agg_cost** ``FLOAT`` Aggregate cost from ``start_vid`` to ``node``. =============== =========== ==================================================== .. result columns end From 61c5c75566c0f65191be404e60b585560986bb17 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 17:53:27 +0530 Subject: [PATCH 0279/1360] [depthFirstSearch] Removed an extra space --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 00ac72ff1c4..988cb26f468 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -186,7 +186,7 @@ Column Type Description - :math:`0` when ``node`` = ``start_vid``. -**start_vid** ``BIGINT`` Identifier of the start vertex. +**start_vid** ``BIGINT`` Identifier of the start vertex. - In `Multiple Vertices`_ results are in ascending order. From 15ac6581019117c4a2421ec7fc3849e0c9e433b7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 18:12:45 +0530 Subject: [PATCH 0280/1360] [depthFirstSearch] Moved issue1348 test from docqueries to pgTAP --- .../depthFirstSearch-issue1348-usage.result | 138 ------------------ .../depthFirstSearch-issue1348-usage.sql | 0 2 files changed, 138 deletions(-) delete mode 100644 docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result rename docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql => pgtap/depthFirstSearch/depthFirstSearch-issue1348-usage.sql (100%) diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result b/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result deleted file mode 100644 index 44378940404..00000000000 --- a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.result +++ /dev/null @@ -1,138 +0,0 @@ -BEGIN; -BEGIN -SET client_min_messages TO NOTICE; -SET --- SAMPLE TABLE CREATE start -CREATE TABLE sample_table ( - id BIGSERIAL, - source BIGINT, - target BIGINT, - cost FLOAT, - reverse_cost FLOAT -); -CREATE TABLE --- SAMPLE TABLE CREATE end - --- SAMPLE TABLE ADD DATA start -INSERT INTO sample_table (source, target, cost, reverse_cost) VALUES - (3, 6, 20, 15), - (3, 8, 10, -10), - (6, 8, -1, 12); -INSERT 0 3 --- SAMPLE TABLE ADD DATA end - --- q0 -SELECT * FROM sample_table ORDER BY id; - id | source | target | cost | reverse_cost -----+--------+--------+------+-------------- - 1 | 3 | 6 | 20 | 15 - 2 | 3 | 8 | 10 | -10 - 3 | 6 | 8 | -1 | 12 -(3 rows) - --- q1 -SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', - 3 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 3 | 3 | -1 | 0 | 0 - 2 | 1 | 3 | 6 | 1 | 20 | 20 - 3 | 1 | 3 | 8 | 2 | 10 | 10 -(3 rows) - --- q2 -SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', - 6 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 6 | 6 | -1 | 0 | 0 - 2 | 1 | 6 | 3 | 1 | 15 | 15 - 3 | 2 | 6 | 8 | 2 | 10 | 25 -(3 rows) - --- q3 -SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', - 6, max_depth => 1 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 6 | 6 | -1 | 0 | 0 - 2 | 1 | 6 | 3 | 1 | 15 | 15 -(2 rows) - --- q4 -SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', - 2 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- -(0 rows) - --- q5 -SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', - 3, directed => false -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 3 | 3 | -1 | 0 | 0 - 2 | 1 | 3 | 6 | 1 | 20 | 20 - 3 | 2 | 3 | 8 | 3 | 12 | 32 -(3 rows) - --- q6 -SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', - 6, directed => false -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 6 | 6 | -1 | 0 | 0 - 2 | 1 | 6 | 3 | 1 | 20 | 20 - 3 | 2 | 6 | 8 | 2 | 10 | 30 -(3 rows) - --- q7 -SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', - 6, directed => false, max_depth => 1 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 6 | 6 | -1 | 0 | 0 - 2 | 1 | 6 | 3 | 1 | 20 | 20 - 3 | 1 | 6 | 8 | 3 | 12 | 12 -(3 rows) - --- q8 -SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', - ARRAY[6, 3, 6] -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 3 | 3 | -1 | 0 | 0 - 2 | 1 | 3 | 6 | 1 | 20 | 20 - 3 | 1 | 3 | 8 | 2 | 10 | 10 - 4 | 0 | 6 | 6 | -1 | 0 | 0 - 5 | 1 | 6 | 3 | 1 | 15 | 15 - 6 | 2 | 6 | 8 | 2 | 10 | 25 -(6 rows) - --- q9 -ROLLBACK; -ROLLBACK diff --git a/docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql b/pgtap/depthFirstSearch/depthFirstSearch-issue1348-usage.sql similarity index 100% rename from docqueries/depthFirstSearch/depthFirstSearch-issue1348-usage.test.sql rename to pgtap/depthFirstSearch/depthFirstSearch-issue1348-usage.sql From d05e12d77fdcf5bf0798258435d867eac9d1f21d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 18:26:53 +0530 Subject: [PATCH 0281/1360] [depthFirstSearch] Modified issue1348 pgtap test file --- .../depthFirstSearch-issue1348-usage.sql | 147 +++++++++++++----- 1 file changed, 105 insertions(+), 42 deletions(-) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-issue1348-usage.sql b/pgtap/depthFirstSearch/depthFirstSearch-issue1348-usage.sql index 140d23a89a5..96ede989008 100644 --- a/pgtap/depthFirstSearch/depthFirstSearch-issue1348-usage.sql +++ b/pgtap/depthFirstSearch/depthFirstSearch-issue1348-usage.sql @@ -1,4 +1,8 @@ -\echo -- SAMPLE TABLE CREATE start +\i setup.sql + +SELECT plan(8); + + CREATE TABLE sample_table ( id BIGSERIAL, source BIGINT, @@ -6,82 +10,141 @@ CREATE TABLE sample_table ( cost FLOAT, reverse_cost FLOAT ); -\echo -- SAMPLE TABLE CREATE end -\echo -\echo -- SAMPLE TABLE ADD DATA start INSERT INTO sample_table (source, target, cost, reverse_cost) VALUES (3, 6, 20, 15), (3, 8, 10, -10), (6, 8, -1, 12); -\echo -- SAMPLE TABLE ADD DATA end -\echo --- SELECT query on SAMPLE TABLE -\echo -- q0 -SELECT * FROM sample_table ORDER BY id; +PREPARE q0 AS +SELECT id, source, target, cost, reverse_cost FROM sample_table +ORDER BY id; --- Directed Graph with start_vid 3 -\echo -- q1 +-- Directed Graph with Root vid 3 +PREPARE q1 AS SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', + 'q0', 3 ); --- Directed Graph with start_vid 6 -\echo -- q2 +SELECT set_eq('q1', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 1, 20, 20), + (3, 1, 3, 8, 2, 10, 10) + $$, + 'q1: Directed Graph with Root vid 3' +); + +-- Directed Graph with Root vid 6 +PREPARE q2 AS SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', + 'q0', 6 ); --- Directed Graph with start_vid 6 and max_depth 1 -\echo -- q3 +SELECT set_eq('q2', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 3, 1, 15, 15), + (3, 2, 6, 8, 2, 10, 25) + $$, + 'q2: Directed Graph with Root vid 6' +); + +-- Directed Graph with Root vid 6 and max_depth 1 +PREPARE q3 AS SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', + 'q0', 6, max_depth => 1 ); --- start_vid does not exist in the Graph -\echo -- q4 +SELECT set_eq('q3', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 3, 1, 15, 15) + $$, + 'q3: Directed Graph with Root vid 6 and max_depth 1' +); + +-- Root vid does not exist in the Graph +PREPARE q4 AS SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', + 'q0', 2 ); --- Undirected Graph with start_vid 3 -\echo -- q5 +SELECT is_empty('q4', + 'q4: Vertex not present in graph -> Empty row is returned' +); + +-- Undirected Graph with Root vid 3 +PREPARE q5 AS SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', + 'q0', 3, directed => false ); --- Undirected Graph with start_vid 6 -\echo -- q6 +SELECT set_eq('q5', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 1, 20, 20), + (3, 2, 3, 8, 3, 12, 32) + $$, + 'q5: Undirected Graph with Root vid 3' +); + +-- Undirected Graph with Root vid 6 +PREPARE q6 AS SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', + 'q0', 6, directed => false ); --- Undirected Graph with start_vid 6 and max_depth 1 -\echo -- q7 +SELECT set_eq('q6', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 3, 1, 20, 20), + (3, 2, 6, 8, 2, 10, 30) + $$, + 'q6: Undirected Graph with Root vid 6' +); + +-- Undirected Graph with Root vid 6 and max_depth 1 +PREPARE q7 AS SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', + 'q0', 6, directed => false, max_depth => 1 ); --- Directed Graph with multiple start_vids -\echo -- q8 +SELECT set_eq('q7', + $$VALUES + (1, 0, 6, 6, -1, 0, 0), + (2, 1, 6, 3, 1, 20, 20), + (3, 1, 6, 8, 3, 12, 12) + $$, + 'q7: Undirected Graph with Root vid 6 and max_depth 1' +); + +-- Directed Graph with multiple Root vids +PREPARE q8 AS SELECT * FROM pgr_depthFirstSearch ( - 'SELECT id, source, target, cost, reverse_cost FROM sample_table - ORDER BY id', + 'q0', ARRAY[6, 3, 6] ); -\echo -- q9 + +SELECT set_eq('q8', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 1, 20, 20), + (3, 1, 3, 8, 2, 10, 10), + (4, 0, 6, 6, -1, 0, 0), + (5, 1, 6, 3, 1, 15, 15), + (6, 2, 6, 8, 2, 10, 25) + $$, + 'q8: Directed Graph with multiple Root vids' +); + + +SELECT * FROM finish(); +ROLLBACK; From e962aef86e9d824adabdd28d6126286678c7bb8e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 18:27:54 +0530 Subject: [PATCH 0282/1360] [depthFirstSearch] Removed issue1348 from test.conf --- docqueries/depthFirstSearch/test.conf | 1 - 1 file changed, 1 deletion(-) diff --git a/docqueries/depthFirstSearch/test.conf b/docqueries/depthFirstSearch/test.conf index 4871ca35bc9..22d6d906fee 100644 --- a/docqueries/depthFirstSearch/test.conf +++ b/docqueries/depthFirstSearch/test.conf @@ -6,7 +6,6 @@ 'data' => [ ], 'tests' => [qw( doc-pgr_depthFirstSearch - depthFirstSearch-issue1348-usage )], 'documentation' => [qw( doc-pgr_depthFirstSearch From 4436d4bbe794016fbfaa7b645db1363e20731aaa Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 22:11:20 +0530 Subject: [PATCH 0283/1360] [depthFirstSearch] Renamed pgTAP test files --- .../{depthFirstSearch-edge-cases.sql => edge_cases.sql} | 0 ...rstSearch-equivalenceBFS.test.sql => equivalence_BFS.test.sql} | 0 .../{depthFirstSearch-innerQuery.sql => inner_query.sql} | 0 .../{depthFirstSearch-issue1348-usage.sql => issue1348.sql} | 0 .../{no_crash_test-depthFirstSearch.sql => no_crash_test.sql} | 0 .../{depthFirstSearch-types-check.sql => types_check.sql} | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename pgtap/depthFirstSearch/{depthFirstSearch-edge-cases.sql => edge_cases.sql} (100%) rename pgtap/depthFirstSearch/{depthFirstSearch-equivalenceBFS.test.sql => equivalence_BFS.test.sql} (100%) rename pgtap/depthFirstSearch/{depthFirstSearch-innerQuery.sql => inner_query.sql} (100%) rename pgtap/depthFirstSearch/{depthFirstSearch-issue1348-usage.sql => issue1348.sql} (100%) rename pgtap/depthFirstSearch/{no_crash_test-depthFirstSearch.sql => no_crash_test.sql} (100%) rename pgtap/depthFirstSearch/{depthFirstSearch-types-check.sql => types_check.sql} (100%) diff --git a/pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql b/pgtap/depthFirstSearch/edge_cases.sql similarity index 100% rename from pgtap/depthFirstSearch/depthFirstSearch-edge-cases.sql rename to pgtap/depthFirstSearch/edge_cases.sql diff --git a/pgtap/depthFirstSearch/depthFirstSearch-equivalenceBFS.test.sql b/pgtap/depthFirstSearch/equivalence_BFS.test.sql similarity index 100% rename from pgtap/depthFirstSearch/depthFirstSearch-equivalenceBFS.test.sql rename to pgtap/depthFirstSearch/equivalence_BFS.test.sql diff --git a/pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql b/pgtap/depthFirstSearch/inner_query.sql similarity index 100% rename from pgtap/depthFirstSearch/depthFirstSearch-innerQuery.sql rename to pgtap/depthFirstSearch/inner_query.sql diff --git a/pgtap/depthFirstSearch/depthFirstSearch-issue1348-usage.sql b/pgtap/depthFirstSearch/issue1348.sql similarity index 100% rename from pgtap/depthFirstSearch/depthFirstSearch-issue1348-usage.sql rename to pgtap/depthFirstSearch/issue1348.sql diff --git a/pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql b/pgtap/depthFirstSearch/no_crash_test.sql similarity index 100% rename from pgtap/depthFirstSearch/no_crash_test-depthFirstSearch.sql rename to pgtap/depthFirstSearch/no_crash_test.sql diff --git a/pgtap/depthFirstSearch/depthFirstSearch-types-check.sql b/pgtap/depthFirstSearch/types_check.sql similarity index 100% rename from pgtap/depthFirstSearch/depthFirstSearch-types-check.sql rename to pgtap/depthFirstSearch/types_check.sql From 2f835dd772df339194c3a2f4180d24ebdaffadf5 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 22:11:44 +0530 Subject: [PATCH 0284/1360] [sequentialVertexColoring] Renamed pgTAP test files --- .../edge_cases.sql} | 0 .../inner_query.sql} | 0 .../no_crash_test.sql} | 0 .../types_check.sql} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename pgtap/graphColoring/{sequentialVertexColoring-edge-cases.sql => sequentialVertexColoring/edge_cases.sql} (100%) rename pgtap/graphColoring/{sequentialVertexColoring-innerQuery.sql => sequentialVertexColoring/inner_query.sql} (100%) rename pgtap/graphColoring/{no_crash_test-sequentialVertexColoring.sql => sequentialVertexColoring/no_crash_test.sql} (100%) rename pgtap/graphColoring/{sequentialVertexColoring-typesCheck.sql => sequentialVertexColoring/types_check.sql} (100%) diff --git a/pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql b/pgtap/graphColoring/sequentialVertexColoring/edge_cases.sql similarity index 100% rename from pgtap/graphColoring/sequentialVertexColoring-edge-cases.sql rename to pgtap/graphColoring/sequentialVertexColoring/edge_cases.sql diff --git a/pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql b/pgtap/graphColoring/sequentialVertexColoring/inner_query.sql similarity index 100% rename from pgtap/graphColoring/sequentialVertexColoring-innerQuery.sql rename to pgtap/graphColoring/sequentialVertexColoring/inner_query.sql diff --git a/pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql b/pgtap/graphColoring/sequentialVertexColoring/no_crash_test.sql similarity index 100% rename from pgtap/graphColoring/no_crash_test-sequentialVertexColoring.sql rename to pgtap/graphColoring/sequentialVertexColoring/no_crash_test.sql diff --git a/pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql b/pgtap/graphColoring/sequentialVertexColoring/types_check.sql similarity index 100% rename from pgtap/graphColoring/sequentialVertexColoring-typesCheck.sql rename to pgtap/graphColoring/sequentialVertexColoring/types_check.sql From c2a005d2137470a09a19186c8dd74509b0f46b59 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 22:19:37 +0530 Subject: [PATCH 0285/1360] [sequentialVertexColoring] Changed color to color_id and edited doc --- .../pgr_sequentialVertexColoring.rst | 27 ++++++++----- .../doc-pgr_sequentialVertexColoring.result | 38 +++++++++---------- .../pgr_sequentialVertexColoring.hpp | 2 +- .../sequentialVertexColoring/edge_cases.sql | 16 ++++---- .../sequentialVertexColoring/types_check.sql | 2 +- .../_sequentialVertexColoring.sql | 2 +- .../sequentialVertexColoring.sql | 2 +- 7 files changed, 49 insertions(+), 40 deletions(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index 6de49a4b080..3cd5d975711 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -25,14 +25,21 @@ the Sequential Vertex Coloring algorithm implemented by Boost.Graph. .. rubric:: Availability +* Version 3.2.0 + + * New **experimental** function + +.. rubric:: Support + +* **Supported versions:** + current(`3.2 `__) + Description ------------------------------------------------------------------------------- Sequential Vertex Coloring algorithm is a graph coloring or labeling algorithm in which colors or labels are assigned to the vertices of a graph sequentially, -such that no edge connects two identically labeled or colored vertices. The -returned rows are ordered sequentially, starting from the node having the smallest -value to the node having the greatest value. +such that no edge connects two identically labeled or colored vertices. Efficient graph coloring is an NP-Hard problem, and therefore, the Sequential Vertex Coloring algorithm does not always produce optimal coloring. This algorithm @@ -42,13 +49,13 @@ each vertex. **The main Characteristics are:** -- The implementation is applicable only for undirected graphs, because - the direction of the edge has no significance to this algorithm. +- The implementation is applicable only for undirected graphs. - Provides the color to be assigned to all the nodes present in the graph. -- The returned rows are ordered in ascending order of the node value. -- The range of color lies from `0` to `(total number of nodes - 1)`. - Higher color values are used only if required, i.e. the algorithm tries to +- The maximum value of color will not be greater than the number of vertices + in the graph. +- Higher color values are used only if required, i.e. the algorithm tries to assign the least possible color to every vertex. +- The returned rows are ordered in ascending order of the node value. - Sequential Vertex Coloring Running Time: :math:`O(|V|*(|d| + |k|))`, where :math:`|V|` is the number of vertices, :math:`|d|` is the maximum degree of the vertices in the graph, and :math:`|k|` is the number of colors used. @@ -107,7 +114,9 @@ Column Type Description **node** ``BIGINT`` Identifier of all the ``nodes`` in the graph. **color** ``BIGINT`` Identifier of the ``color`` of the ``node``. - - Ranges from `0` to `(total number of nodes - 1)`. + - The maximum value will not be greater than the + number of vertices in the graph + =============== =========== ==================================================== diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result index 95ad37f0764..431e6202924 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result @@ -7,25 +7,25 @@ SELECT * FROM pgr_sequentialVertexColoring( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id' ); - node | color -------+------- - 1 | 0 - 2 | 1 - 3 | 0 - 4 | 1 - 5 | 0 - 6 | 1 - 7 | 0 - 8 | 1 - 9 | 0 - 10 | 1 - 11 | 0 - 12 | 1 - 13 | 0 - 14 | 0 - 15 | 1 - 16 | 0 - 17 | 1 + node | color_id +------+---------- + 1 | 1 + 2 | 2 + 3 | 1 + 4 | 2 + 5 | 1 + 6 | 2 + 7 | 1 + 8 | 2 + 9 | 1 + 10 | 2 + 11 | 1 + 12 | 2 + 13 | 1 + 14 | 1 + 15 | 2 + 16 | 1 + 17 | 2 (17 rows) -- q2 diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/graphColoring/pgr_sequentialVertexColoring.hpp index ce2836ec067..0aa36dbcc90 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/graphColoring/pgr_sequentialVertexColoring.hpp @@ -131,7 +131,7 @@ class Pgr_sequentialVertexColoring { for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t node = graph[*v].id; int64_t color = colors[*v]; - results.push_back({ node, color }); + results.push_back({ node, color + 1 }); } // ordering the results in an increasing order of the node id diff --git a/pgtap/graphColoring/sequentialVertexColoring/edge_cases.sql b/pgtap/graphColoring/sequentialVertexColoring/edge_cases.sql index 7f7978c22ca..03e38dda1ca 100644 --- a/pgtap/graphColoring/sequentialVertexColoring/edge_cases.sql +++ b/pgtap/graphColoring/sequentialVertexColoring/edge_cases.sql @@ -35,7 +35,7 @@ FROM pgr_sequentialVertexColoring( 'q3' ); -SELECT set_eq('sequentialVertexColoring4', $$VALUES (2, 0)$$, '4: Node 2 with color 0 is returned'); +SELECT set_eq('sequentialVertexColoring4', $$VALUES (2, 1)$$, '4: Node 2 with color 1 is returned'); -- 2 vertices test (connected) @@ -53,7 +53,7 @@ FROM pgr_sequentialVertexColoring( 'q5' ); -SELECT set_eq('sequentialVertexColoring6', $$VALUES (5, 1), (8, 0)$$, '6: Both vertices have different color'); +SELECT set_eq('sequentialVertexColoring6', $$VALUES (5, 2), (8, 1)$$, '6: Both vertices have different color'); -- 2 vertices test (isolated) @@ -82,7 +82,7 @@ FROM pgr_sequentialVertexColoring( 'q7' ); -SELECT set_eq('sequentialVertexColoring8', $$VALUES (1, 0), (2, 0)$$, '8: Both vertices have same color'); +SELECT set_eq('sequentialVertexColoring8', $$VALUES (1, 1), (2, 1)$$, '8: Both vertices have same color'); -- 3 vertices test (linear) @@ -100,7 +100,7 @@ FROM pgr_sequentialVertexColoring( 'q9' ); -SELECT set_eq('sequentialVertexColoring10', $$VALUES (1, 0), (2, 1), (3, 0)$$, '10: Two colors are required'); +SELECT set_eq('sequentialVertexColoring10', $$VALUES (1, 1), (2, 2), (3, 1)$$, '10: Two colors are required'); -- 3 vertices test (cyclic) @@ -137,7 +137,7 @@ FROM pgr_sequentialVertexColoring( 'q11' ); -SELECT set_eq('sequentialVertexColoring12', $$VALUES (3, 0), (6, 1), (8, 2)$$, '12: Three colors are required'); +SELECT set_eq('sequentialVertexColoring12', $$VALUES (3, 1), (6, 2), (8, 3)$$, '12: Three colors are required'); -- 4 vertices test (linear) @@ -162,7 +162,7 @@ FROM pgr_sequentialVertexColoring( 'q13' ); -SELECT set_eq('sequentialVertexColoring14', $$VALUES (1, 0), (2, 1), (3, 0), (4, 1)$$, '14: Two colors are required'); +SELECT set_eq('sequentialVertexColoring14', $$VALUES (1, 1), (2, 2), (3, 1), (4, 2)$$, '14: Two colors are required'); -- 4 vertices test (cyclic) @@ -188,7 +188,7 @@ FROM pgr_sequentialVertexColoring( 'q15' ); -SELECT set_eq('sequentialVertexColoring16', $$VALUES (5, 0), (6, 1), (10, 1), (11, 0)$$, '16: Two colors are required'); +SELECT set_eq('sequentialVertexColoring16', $$VALUES (5, 1), (6, 2), (10, 2), (11, 1)$$, '16: Two colors are required'); -- 4 vertices test (all connected) @@ -231,7 +231,7 @@ FROM pgr_sequentialVertexColoring( 'q17' ); -SELECT set_eq('sequentialVertexColoring18', $$VALUES (1, 0), (2, 1), (3, 2), (4, 3)$$, '18: Four colors are required'); +SELECT set_eq('sequentialVertexColoring18', $$VALUES (1, 1), (2, 2), (3, 3), (4, 4)$$, '18: Four colors are required'); SELECT * FROM finish(); diff --git a/pgtap/graphColoring/sequentialVertexColoring/types_check.sql b/pgtap/graphColoring/sequentialVertexColoring/types_check.sql index 74593a25341..ea0c9c9a253 100644 --- a/pgtap/graphColoring/sequentialVertexColoring/types_check.sql +++ b/pgtap/graphColoring/sequentialVertexColoring/types_check.sql @@ -11,7 +11,7 @@ SELECT function_returns('pgr_sequentialvertexcoloring', ARRAY['text'], 'setof r -- parameter names SELECT bag_has( $$SELECT proargnames from pg_proc where proname = 'pgr_sequentialvertexcoloring'$$, - $$SELECT '{"","node","color"}'::TEXT[] $$ + $$SELECT '{"","node","color_id"}'::TEXT[] $$ ); -- parameter types diff --git a/sql/graphColoring/_sequentialVertexColoring.sql b/sql/graphColoring/_sequentialVertexColoring.sql index 7df3889751b..a2180aba727 100644 --- a/sql/graphColoring/_sequentialVertexColoring.sql +++ b/sql/graphColoring/_sequentialVertexColoring.sql @@ -36,7 +36,7 @@ CREATE OR REPLACE FUNCTION _pgr_sequentialVertexColoring( edges_sql TEXT, OUT node BIGINT, - OUT color BIGINT) + OUT color_id BIGINT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' diff --git a/sql/graphColoring/sequentialVertexColoring.sql b/sql/graphColoring/sequentialVertexColoring.sql index 135fd9c5c89..288ae934cba 100644 --- a/sql/graphColoring/sequentialVertexColoring.sql +++ b/sql/graphColoring/sequentialVertexColoring.sql @@ -36,7 +36,7 @@ CREATE OR REPLACE FUNCTION pgr_sequentialVertexColoring( TEXT, -- edges_sql (required) OUT node BIGINT, - OUT color BIGINT) + OUT color_id BIGINT) RETURNS SETOF RECORD AS $BODY$ BEGIN From 7a95deec3bc16f53fc5effc3d836dc9f419fed8f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 23:05:32 +0530 Subject: [PATCH 0286/1360] [sequentialVertexColoring] Updated the doc --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index 3cd5d975711..70fed63e779 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -49,7 +49,7 @@ each vertex. **The main Characteristics are:** -- The implementation is applicable only for undirected graphs. +- The implementation is applicable only for **undirected** graphs. - Provides the color to be assigned to all the nodes present in the graph. - The maximum value of color will not be greater than the number of vertices in the graph. From 6ed655470a6948bc72ca41ab6f6478b2abe3c927 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 23:05:56 +0530 Subject: [PATCH 0287/1360] [depthFirstSearch] Updated the doc --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 44 ++++++------- .../doc-pgr_depthFirstSearch.result | 62 +++++++++++-------- .../doc-pgr_depthFirstSearch.test.sql | 9 +-- 3 files changed, 63 insertions(+), 52 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 988cb26f468..e313893fce0 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -25,6 +25,15 @@ Undirected DFS algorithm implemented by Boost.Graph. .. rubric:: Availability +* Version 3.2.0 + + * New **experimental** function + +.. rubric:: Support + +* **Supported versions:** + current(`3.2 `__) + Description ------------------------------------------------------------------------------- @@ -34,10 +43,6 @@ depth-first search traversal order. An optional non-negative maximum depth parameter (``max_depth``) can be specified to get the results up to a particular depth. -**Note**: The cost of an edge is not used for traversal. If multiple edges -are adjacent to a vertex, then this algorithm traverses that edge which -comes first in the ``Edges SQL``. - **The main Characteristics are:** - The implementation works for both directed and undirected graphs. @@ -51,6 +56,10 @@ comes first in the ``Edges SQL``. - The aggregate cost of traversal is not guaranteed to be minimal. - Depth First Search Running time: :math:`O(E + V)` +**Note**: The cost of an edge is not used for traversal. If multiple edges +are adjacent to a vertex, then this algorithm traverses that edge which +comes first in the ``Edges SQL``. + Signatures ------------------------------------------------------------------------------- @@ -66,26 +75,12 @@ Signatures .. rubric:: Using defaults -.. code-block:: none - - pgr_depthFirstSearch(TEXT, BIGINT) - - RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) - OR EMPTY SET - :Example: From root vertex :math:`2` on a **directed** graph .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: -- q1 :end-before: -- q2 -:Example: From root vertex :math:`2` on a **directed** graph, - with :math:`depth <= 2` - -.. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q2 - :end-before: -- q3 - .. index:: single: depthFirstSearch(Single vertex) - Experimental @@ -94,14 +89,20 @@ Single vertex .. code-block:: none - pgr_depthFirstSearch(TEXT, BIGINT, - BOOLEAN directed => true, BIGINT max_depth => 9223372036854775807) + pgr_depthFirstSearch(Edges SQL, Root vid [, directed] [, max_depth]) RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET :Example: From root vertex :math:`2` on an **undirected** graph +.. literalinclude:: doc-pgr_depthFirstSearch.queries + :start-after: -- q2 + :end-before: -- q3 + +:Example: From root vertex :math:`2` on a **directed** graph, + with :math:`depth <= 2` + .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: -- q3 :end-before: -- q4 @@ -114,8 +115,7 @@ Multiple vertices .. code-block:: none - pgr_depthFirstSearch(TEXT, ARRAY[ANY_INTEGER], - BOOLEAN directed => true, BIGINT max_depth => 9223372036854775807) + pgr_depthFirstSearch(Edges SQL, Root vids [, directed] [, max_depth]) RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index da105db1915..6c04329413a 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -26,22 +26,6 @@ SELECT * FROM pgr_depthFirstSearch( (13 rows) -- q2 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - ORDER BY id', - 2, max_depth => 2 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 2 | 2 | -1 | 0 | 0 - 2 | 1 | 2 | 1 | 1 | 1 | 1 - 3 | 1 | 2 | 5 | 4 | 1 | 1 - 4 | 2 | 2 | 8 | 7 | 1 | 2 - 5 | 2 | 2 | 6 | 8 | 1 | 2 - 6 | 2 | 2 | 10 | 10 | 1 | 2 -(6 rows) - --- q3 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', @@ -64,28 +48,54 @@ SELECT * FROM pgr_depthFirstSearch( 13 | 7 | 2 | 13 | 14 | 1 | 7 (13 rows) +-- q3 +SELECT * FROM pgr_depthFirstSearch( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table + ORDER BY id', + 2, max_depth => 2 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 2 | 2 | -1 | 0 | 0 + 2 | 1 | 2 | 1 | 1 | 1 | 1 + 3 | 1 | 2 | 5 | 4 | 1 | 1 + 4 | 2 | 2 | 8 | 7 | 1 | 2 + 5 | 2 | 2 | 6 | 8 | 1 | 2 + 6 | 2 | 2 | 10 | 10 | 1 | 2 +(6 rows) + -- q4 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[11, 12], max_depth => 2 + ARRAY[11, 2], directed => false, max_depth => 2 ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- - 1 | 0 | 11 | 11 | -1 | 0 | 0 - 2 | 1 | 11 | 12 | 13 | 1 | 1 - 3 | 2 | 11 | 9 | 15 | 1 | 2 - 4 | 0 | 12 | 12 | -1 | 0 | 0 - 5 | 1 | 12 | 9 | 15 | 1 | 1 - 6 | 2 | 12 | 6 | 9 | 1 | 2 - 7 | 2 | 12 | 4 | 16 | 1 | 2 -(7 rows) + 1 | 0 | 2 | 2 | -1 | 0 | 0 + 2 | 1 | 2 | 1 | 1 | 1 | 1 + 3 | 1 | 2 | 3 | 2 | 1 | 1 + 4 | 2 | 2 | 4 | 3 | 1 | 2 + 5 | 2 | 2 | 6 | 5 | 1 | 2 + 6 | 1 | 2 | 5 | 4 | 1 | 1 + 7 | 2 | 2 | 8 | 7 | 1 | 2 + 8 | 2 | 2 | 10 | 10 | 1 | 2 + 9 | 0 | 11 | 11 | -1 | 0 | 0 + 10 | 1 | 11 | 6 | 11 | 1 | 1 + 11 | 2 | 11 | 3 | 5 | 1 | 2 + 12 | 2 | 11 | 5 | 8 | 1 | 2 + 13 | 2 | 11 | 9 | 9 | 1 | 2 + 14 | 1 | 11 | 10 | 12 | 1 | 1 + 15 | 2 | 11 | 13 | 14 | 1 | 2 + 16 | 1 | 11 | 12 | 13 | 1 | 1 +(16 rows) -- q5 UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; UPDATE 18 SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id <= 4 ORDER BY id DESC', 1, directed => false diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 183c5370fdb..06486210b0e 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -8,25 +8,26 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 2, max_depth => 2 + 2, directed => false ); \echo -- q3 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 2, directed => false + 2, max_depth => 2 ); \echo -- q4 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[11, 12], max_depth => 2 + ARRAY[11, 2], directed => false, max_depth => 2 ); \echo -- q5 UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id <= 4 ORDER BY id DESC', 1, directed => false From 50ad43108c0020be4053f11c58804cd77800ceec Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 23:13:38 +0530 Subject: [PATCH 0288/1360] [sequentialVertexColoring] Updated the link in the doc --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index 70fed63e779..fde3176a2d8 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -32,7 +32,7 @@ the Sequential Vertex Coloring algorithm implemented by Boost.Graph. .. rubric:: Support * **Supported versions:** - current(`3.2 `__) + current(`3.2 `__) Description ------------------------------------------------------------------------------- From 169afc13897891deb618ca0e9fb0e850385ec02c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 31 Jul 2020 23:15:15 +0530 Subject: [PATCH 0289/1360] Added the non-existing links to linkcheck_ignore --- doc/conf.py.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/conf.py.in b/doc/conf.py.in index 876046a23ad..7ca301ff8e2 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -296,6 +296,8 @@ pdf_style_path = ['.', '_styles'] # cases to ignore during link checking linkcheck_ignore = [ + "https://docs.pgrouting.org/3.2/en/pgr_depthFirstSearch.html", + "https://docs.pgrouting.org/3.2/en/pgr_sequentialVertexColoring.html", # might not exist yet (we are generating it!) # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected From 52a920603ec3a91fb8f42e94ed76e9224a840652 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 1 Aug 2020 21:19:48 +0530 Subject: [PATCH 0290/1360] [depthFirstSearch] Added single vertex equiv multiple vertices pgtap test --- ...ngleVertex_equiv_multipleVertices.test.sql | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 pgtap/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql diff --git a/pgtap/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql b/pgtap/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql new file mode 100644 index 00000000000..01340f3548d --- /dev/null +++ b/pgtap/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql @@ -0,0 +1,63 @@ + +\i setup.sql + +SELECT plan(22); + +UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; + +CREATE OR REPLACE FUNCTION foo(cant INTEGER default 18, flag boolean default true) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +sql_SingleVertex TEXT; +sql_MultipleVertices TEXT; +BEGIN + + FOR depth IN 1..11 LOOP + sql_SingleVertex := ''; + sql_MultipleVertices := ''; + FOR i IN 1..cant LOOP + + IF i > 1 THEN + sql_SingleVertex := sql_SingleVertex + ||' UNION ALL'; + sql_MultipleVertices := sql_MultipleVertices ||', '; + END IF; + sql_SingleVertex := sql_SingleVertex || + '( SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_depthFirstSearch( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', ' + || i || ', directed => ' || flag; + IF depth < 11 THEN + sql_SingleVertex := sql_SingleVertex || ', max_depth => ' || depth || ') )'; + ELSE + sql_SingleVertex := sql_SingleVertex || ') )'; + END IF; + sql_MultipleVertices := sql_MultipleVertices || i ; + END LOOP; + sql_MultipleVertices := + '( SELECT depth, start_vid, node, edge, cost, agg_cost FROM pgr_depthFirstSearch( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', ' + || 'ARRAY[' || sql_MultipleVertices || '], directed => ' || flag; + IF depth < 11 THEN + sql_MultipleVertices := sql_MultipleVertices || ', max_depth => ' || depth || ') )'; + ELSE + sql_MultipleVertices := sql_MultipleVertices || ') )'; + END IF; + + sql_SingleVertex := 'SELECT * FROM ( ' || sql_SingleVertex ||') AS a'; + + RETURN query SELECT set_eq(sql_SingleVertex, sql_MultipleVertices); + END LOOP; + RETURN; +END +$BODY$ +language plpgsql; + +SELECT * FROM foo(18, true); +SELECT * FROM foo(18, false); + + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; + From a58806432a749d9f503686c728e4c1c2530562cc Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 2 Aug 2020 00:07:24 +0530 Subject: [PATCH 0291/1360] [depthFirstSearch] Added pgtap tests for directed & undirected graphs separately --- .../depthFirstSearch/directed/edge_cases.sql | 323 +++++ pgtap/depthFirstSearch/edge_cases.sql | 1081 ----------------- .../undirected/edge_cases.sql | 335 +++++ 3 files changed, 658 insertions(+), 1081 deletions(-) create mode 100644 pgtap/depthFirstSearch/directed/edge_cases.sql delete mode 100644 pgtap/depthFirstSearch/edge_cases.sql create mode 100644 pgtap/depthFirstSearch/undirected/edge_cases.sql diff --git a/pgtap/depthFirstSearch/directed/edge_cases.sql b/pgtap/depthFirstSearch/directed/edge_cases.sql new file mode 100644 index 00000000000..39d34db944d --- /dev/null +++ b/pgtap/depthFirstSearch/directed/edge_cases.sql @@ -0,0 +1,323 @@ +\i setup.sql + +SELECT plan(18); + + + +-- 0 edge, 0 vertex test + +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18; + +SELECT is_empty('q1', '1: Graph with 0 edge and 0 vertex'); + +PREPARE depthFirstSearch2 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q1', + 5 +); + +SELECT is_empty('depthFirstSearch2', '2: 0 edge 0 vertex test'); + + + +-- vertex not present in graph test + +PREPARE q3 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table; + +SELECT is_empty( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE source = 100 OR target = 100', + '3: Vertex 100 does not exist in sample data' +); + +PREPARE depthFirstSearch4 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q3', + 100 +); + +SELECT is_empty('depthFirstSearch4', '4: Vertex not present in graph'); + + + +-- negative depth test + +PREPARE depthFirstSearch5 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q3', + 4, max_depth => -3 +); + +SELECT throws_ok('depthFirstSearch5', + 'P0001', 'Negative value found on ''max_depth''', + '5: Negative max_depth throws' +); + + + +-- 1 vertex test + +PREPARE q6 AS +SELECT id, source, 2 AS target, cost, reverse_cost +FROM edge_table +WHERE id = 2; + +SELECT set_eq('q6', + $$VALUES (2, 2, 2, -1, 1)$$, + '6: Graph with only vertex 2' +); + +PREPARE depthFirstSearch7 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q6', + 2 +); + +SELECT set_eq('depthFirstSearch7', + $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, + '7: 1 vertex test' +); + + + +-- 2 vertices tests + +PREPARE q8 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id = 5; + +SELECT set_eq('q8', + $$VALUES (5, 3, 6, 1, -1)$$, + '8: Graph with two vertices 3 and 6 and edge from 3 to 6' +); + +PREPARE depthFirstSearch9 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q8', + ARRAY[3, 6] +); + +PREPARE depthFirstSearch10 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q8', + ARRAY[3, 6], max_depth => 0 +); + +PREPARE depthFirstSearch11 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q8', + ARRAY[3, 6], max_depth => 1 +); + +SELECT set_eq('depthFirstSearch9', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 5, 1, 1), + (3, 0, 6, 6, -1, 0, 0) + $$, + '9: Two vertices tests' +); + +SELECT set_eq('depthFirstSearch10', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 0, 6, 6, -1, 0, 0) + $$, + '10: Two vertices tests' +); + +SELECT set_eq('depthFirstSearch11', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 5, 1, 1), + (3, 0, 6, 6, -1, 0, 0) + $$, + '11: Two vertices tests' +); + + + +-- 3 vertices tests + +CREATE TABLE three_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); + +INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES + (3, 6, 20, 15), + (3, 8, 10, -10), + (6, 8, -1, 12); + +PREPARE q12 AS +SELECT id, source, target, cost, reverse_cost +FROM three_vertices_table; + +-- Cyclic Graph with three vertices 3, 6 and 8 +SELECT set_eq('q12', + $$VALUES + (1, 3, 6, 20, 15), + (2, 3, 8, 10, -10), + (3, 6, 8, -1, 12) + $$, + '12: Cyclic Graph with three vertices 3, 6 and 8' +); + +PREPARE depthFirstSearch13 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q12', + ARRAY[3, 6, 8] +); + +PREPARE depthFirstSearch14 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q12', + ARRAY[3, 6, 8], max_depth => 1 +); + + +SELECT set_eq('depthFirstSearch13', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 1, 20, 20), + (3, 1, 3, 8, 2, 10, 10), + (4, 0, 6, 6, -1, 0, 0), + (5, 1, 6, 3, 1, 15, 15), + (6, 2, 6, 8, 2, 10, 25), + (7, 0, 8, 8, -1, 0, 0), + (8, 1, 8, 6, 3, 12, 12), + (9, 2, 8, 3, 1, 15, 27) + $$, + '13: 3 vertices tests' +); + +SELECT set_eq('depthFirstSearch14', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 1, 20, 20), + (3, 1, 3, 8, 2, 10, 10), + (4, 0, 6, 6, -1, 0, 0), + (5, 1, 6, 3, 1, 15, 15), + (6, 0, 8, 8, -1, 0, 0), + (7, 1, 8, 6, 3, 12, 12) + $$, + '14: 3 vertices tests' +); + + + +-- 4 vertices tests + +PREPARE q15 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE (id >= 10 AND id <= 12) + OR id = 8; + +SELECT set_eq('q15', + $$VALUES + (8, 5, 6, 1, 1), + (10, 5, 10, 1, 1), + (11, 6, 11, 1, -1), + (12, 10, 11, 1, -1) + $$, + '15: Graph with vertices 5, 6, 10 and 11' +); + +PREPARE depthFirstSearch16 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q15', + ARRAY[5, 6, 10, 11] +); + +PREPARE depthFirstSearch17 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q15', + ARRAY[5, 6, 10, 11], max_depth => 1 +); + +PREPARE depthFirstSearch18 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q15', + ARRAY[5, 6, 10, 11], max_depth => 2 +); + +SELECT set_eq('depthFirstSearch16', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 2, 5, 11, 11, 1, 2), + (4, 1, 5, 10, 10, 1, 1), + (5, 0, 6, 6, -1, 0, 0), + (6, 1, 6, 5, 8, 1, 1), + (7, 2, 6, 10, 10, 1, 2), + (8, 3, 6, 11, 12, 1, 3), + (9, 0, 10, 10, -1, 0, 0), + (10, 1, 10, 5, 10, 1, 1), + (11, 2, 10, 6, 8, 1, 2), + (12, 3, 10, 11, 11, 1, 3), + (13, 0, 11, 11, -1, 0, 0) + $$, + '16: 4 vertices tests' +); + +SELECT set_eq('depthFirstSearch17', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 1, 5, 10, 10, 1, 1), + (4, 0, 6, 6, -1, 0, 0), + (5, 1, 6, 5, 8, 1, 1), + (6, 1, 6, 11, 11, 1, 1), + (7, 0, 10, 10, -1, 0, 0), + (8, 1, 10, 5, 10, 1, 1), + (9, 1, 10, 11, 12, 1, 1), + (10, 0, 11, 11, -1, 0, 0) + $$, + '17: 4 vertices tests' +); + +SELECT set_eq('depthFirstSearch18', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 2, 5, 11, 11, 1, 2), + (4, 1, 5, 10, 10, 1, 1), + (5, 0, 6, 6, -1, 0, 0), + (6, 1, 6, 5, 8, 1, 1), + (7, 2, 6, 10, 10, 1, 2), + (8, 1, 6, 11, 11, 1, 1), + (9, 0, 10, 10, -1, 0, 0), + (10, 1, 10, 5, 10, 1, 1), + (11, 2, 10, 6, 8, 1, 2), + (12, 1, 10, 11, 12, 1, 1), + (13, 0, 11, 11, -1, 0, 0) + $$, + '18: 4 vertices tests' +); + + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/depthFirstSearch/edge_cases.sql b/pgtap/depthFirstSearch/edge_cases.sql deleted file mode 100644 index f1e26cc73a4..00000000000 --- a/pgtap/depthFirstSearch/edge_cases.sql +++ /dev/null @@ -1,1081 +0,0 @@ -\i setup.sql - -SELECT plan(88); - - - --- 0 edge, 0 vertex tests - -PREPARE q1 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id > 18; - --- Graph is empty - it has 0 edge and 0 vertex -SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); - --- 0 edge, 0 vertex tests (directed) - -PREPARE depthFirstSearch2 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - 5 -); - -PREPARE depthFirstSearch3 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - ARRAY[5] -); - -PREPARE depthFirstSearch4 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - ARRAY[2, 5] -); - -PREPARE depthFirstSearch5 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - 5, max_depth => 2 -); - -PREPARE depthFirstSearch6 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - ARRAY[5], max_depth => 2 -); - -PREPARE depthFirstSearch7 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - ARRAY[2, 5], max_depth => 2 -); - -SELECT is_empty('depthFirstSearch2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('depthFirstSearch3', '3: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('depthFirstSearch4', '4: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('depthFirstSearch5', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('depthFirstSearch6', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('depthFirstSearch7', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); - --- 0 edge, 0 vertex tests (undirected) - -PREPARE depthFirstSearch8 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - 5, directed => false -); - -PREPARE depthFirstSearch9 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - ARRAY[5], directed => false -); - -PREPARE depthFirstSearch10 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - ARRAY[2, 5], directed => false -); - -PREPARE depthFirstSearch11 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - 5, directed => false, max_depth => 2 -); - -PREPARE depthFirstSearch12 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - ARRAY[5], directed => false, max_depth => 2 -); - -PREPARE depthFirstSearch13 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q1', - ARRAY[2, 5], directed => false, max_depth => 2 -); - -SELECT is_empty('depthFirstSearch8', '8: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('depthFirstSearch9', '9: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('depthFirstSearch10', '10: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('depthFirstSearch11', '11: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('depthFirstSearch12', '12: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('depthFirstSearch13', '13: Graph with 0 edge and 0 vertex -> Empty row is returned'); - - - - - --- vertex not present in graph tests - -PREPARE q14 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table; - --- pgRouting Sample Data -SELECT isnt_empty('q14', 'q15: pgRouting Sample Data'); - --- vertex not present in graph tests (directed) - -PREPARE depthFirstSearch15 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - -10 -); - -PREPARE depthFirstSearch16 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[-10] -); - -PREPARE depthFirstSearch17 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[20, -10] -); - -PREPARE depthFirstSearch18 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - -10, max_depth => 2 -); - -PREPARE depthFirstSearch19 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[-10], max_depth => 2 -); - -PREPARE depthFirstSearch20 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[20, -10], max_depth => 2 -); - -SELECT is_empty('depthFirstSearch15', '15: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('depthFirstSearch16', '16: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('depthFirstSearch17', '17: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('depthFirstSearch18', '18: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('depthFirstSearch19', '19: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('depthFirstSearch20', '20: Vertex not present in graph -> Empty row is returned'); - --- vertex not present in graph tests (undirected) - -PREPARE depthFirstSearch21 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - -10, directed => false -); - -PREPARE depthFirstSearch22 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[-10], directed => false -); - -PREPARE depthFirstSearch23 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[20, -10], directed => false -); - -PREPARE depthFirstSearch24 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - -10, directed => false, max_depth => 2 -); - -PREPARE depthFirstSearch25 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[-10], directed => false, max_depth => 2 -); - -PREPARE depthFirstSearch26 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[20, -10], directed => false, max_depth => 2 -); - -SELECT is_empty('depthFirstSearch21', '21: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('depthFirstSearch22', '22: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('depthFirstSearch23', '23: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('depthFirstSearch24', '24: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('depthFirstSearch25', '25: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('depthFirstSearch26', '26: Vertex not present in graph -> Empty row is returned'); - - - - - - --- negative depth tests - -PREPARE depthFirstSearch27 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - 4, max_depth => -3 -); - -PREPARE depthFirstSearch28 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[4], max_depth => -3 -); - -PREPARE depthFirstSearch29 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[4, 20], max_depth => -3 -); - -PREPARE depthFirstSearch30 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - 4, directed => false, max_depth => -3 -); - -PREPARE depthFirstSearch31 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[4], directed => false, max_depth => -3 -); - -PREPARE depthFirstSearch32 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q14', - ARRAY[4, 20], directed => false, max_depth => -3 -); - -SELECT throws_ok('depthFirstSearch27', 'P0001', 'Negative value found on ''max_depth''', '27: Negative max_depth throws'); -SELECT throws_ok('depthFirstSearch28', 'P0001', 'Negative value found on ''max_depth''', '28: Negative max_depth throws'); -SELECT throws_ok('depthFirstSearch29', 'P0001', 'Negative value found on ''max_depth''', '29: Negative max_depth throws'); -SELECT throws_ok('depthFirstSearch30', 'P0001', 'Negative value found on ''max_depth''', '30: Negative max_depth throws'); -SELECT throws_ok('depthFirstSearch31', 'P0001', 'Negative value found on ''max_depth''', '31: Negative max_depth throws'); -SELECT throws_ok('depthFirstSearch32', 'P0001', 'Negative value found on ''max_depth''', '32: Negative max_depth throws'); - - - - - --- 1 vertex tests - -PREPARE q33 AS -SELECT id, source, 2 AS target, cost, reverse_cost -FROM edge_table -WHERE id = 2; - --- Graph with only vertex 2 -SELECT set_eq('q33', $$VALUES (2, 2, 2, -1, 1)$$, 'q33: Graph with only vertex 2'); - --- 1 vertex tests (directed) - -PREPARE depthFirstSearch34 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q33', - 2 -); - -PREPARE depthFirstSearch35 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q33', - ARRAY[2] -); - -PREPARE depthFirstSearch36 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q33', - 2, max_depth => 2 -); - -PREPARE depthFirstSearch37 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q33', - ARRAY[2], max_depth => 2 -); - -SELECT set_eq('depthFirstSearch34', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '34: One row with node 2 is returned'); -SELECT set_eq('depthFirstSearch35', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '35: One row with node 2 is returned'); -SELECT set_eq('depthFirstSearch36', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '36: One row with node 2 is returned'); -SELECT set_eq('depthFirstSearch37', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '37: One row with node 2 is returned'); - --- 1 vertex tests (undirected) - -PREPARE depthFirstSearch38 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q33', - 2, directed => false -); - -PREPARE depthFirstSearch39 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q33', - ARRAY[2], directed => false -); - -PREPARE depthFirstSearch40 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q33', - 2, directed => false, max_depth => 2 -); - -PREPARE depthFirstSearch41 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q33', - ARRAY[2], directed => false, max_depth => 2 -); - -SELECT set_eq('depthFirstSearch38', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '38: One row with node 2 is returned'); -SELECT set_eq('depthFirstSearch39', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '39: One row with node 2 is returned'); -SELECT set_eq('depthFirstSearch40', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '40: One row with node 2 is returned'); -SELECT set_eq('depthFirstSearch41', $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, '41: One row with node 2 is returned'); - - - - - --- 2 vertices tests - -PREPARE q42 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id = 5; - --- Graph with vertices 3 and 6 and edge from 3 to 6 -SELECT set_eq('q42', $$VALUES (5, 3, 6, 1, -1)$$, 'q42: Graph with two vertices 3 and 6 and edge from 3 to 6'); - --- 2 vertices tests (directed) - -PREPARE depthFirstSearch43 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - 3 -); - -PREPARE depthFirstSearch44 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - ARRAY[3] -); - -PREPARE depthFirstSearch45 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - 6 -); - -PREPARE depthFirstSearch46 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - ARRAY[6] -); - -PREPARE depthFirstSearch47 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - 3, max_depth => 1 -); - -PREPARE depthFirstSearch48 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - 3, max_depth => 0 -); - -SELECT set_eq('depthFirstSearch43', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '43: Two rows are returned'); -SELECT set_eq('depthFirstSearch44', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '44: Two rows are returned'); -SELECT set_eq('depthFirstSearch45', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '45: One row is returned'); -SELECT set_eq('depthFirstSearch46', $$VALUES (1, 0, 6, 6, -1, 0, 0)$$, '46: One row is returned'); -SELECT set_eq('depthFirstSearch47', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '47: Two rows are returned'); -SELECT set_eq('depthFirstSearch48', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '48: One row is returned'); - --- 2 vertices tests (undirected) - -PREPARE depthFirstSearch49 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - 3, directed => false -); - -PREPARE depthFirstSearch50 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - ARRAY[3], directed => false -); - -PREPARE depthFirstSearch51 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - 6, directed => false -); - -PREPARE depthFirstSearch52 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - ARRAY[6], directed => false -); - -PREPARE depthFirstSearch53 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - 3, directed => false, max_depth => 1 -); - -PREPARE depthFirstSearch54 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q42', - 3, directed => false, max_depth => 0 -); - -SELECT set_eq('depthFirstSearch49', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '49: Two rows are returned'); -SELECT set_eq('depthFirstSearch50', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '50: Two rows are returned'); -SELECT set_eq('depthFirstSearch51', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 5, 1, 1)$$, '51: Two rows are returned'); -SELECT set_eq('depthFirstSearch52', $$VALUES (1, 0, 6, 6, -1, 0, 0), (2, 1, 6, 3, 5, 1, 1)$$, '52: Two rows are returned'); -SELECT set_eq('depthFirstSearch53', $$VALUES (1, 0, 3, 3, -1, 0, 0), (2, 1, 3, 6, 5, 1, 1)$$, '53: Two rows are returned'); -SELECT set_eq('depthFirstSearch54', $$VALUES (1, 0, 3, 3, -1, 0, 0)$$, '54: One row is returned'); - - - - - --- 3 vertices tests - -CREATE TABLE three_vertices_table ( - id BIGSERIAL, - source BIGINT, - target BIGINT, - cost FLOAT, - reverse_cost FLOAT -); - -INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES - (3, 6, 20, 15), - (3, 8, 10, -10), - (6, 8, -1, 12); - -PREPARE q55 AS -SELECT id, source, target, cost, reverse_cost -FROM three_vertices_table; - --- Cyclic Graph with three vertices 3, 6 and 8 -SELECT set_eq('q55', - $$VALUES - (1, 3, 6, 20, 15), - (2, 3, 8, 10, -10), - (3, 6, 8, -1, 12) - $$, - 'q55: Cyclic Graph with three vertices 3, 6 and 8' -); - --- 3 vertices tests (directed) - -PREPARE depthFirstSearch56 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q55', - 3 -); - -PREPARE depthFirstSearch57 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q55', - 6 -); - -PREPARE depthFirstSearch58 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q55', - 6, max_depth => 1 -); - -PREPARE depthFirstSearch59 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q55', - 2 -); - -PREPARE depthFirstSearch60 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q55', - ARRAY[6, 3, 6] -); - -SELECT set_eq('depthFirstSearch56', - $$VALUES - (1, 0, 3, 3, -1, 0, 0), - (2, 1, 3, 6, 1, 20, 20), - (3, 1, 3, 8, 2, 10, 10) - $$, - '56: 3 vertices tests (directed)' -); - -SELECT set_eq('depthFirstSearch57', - $$VALUES - (1, 0, 6, 6, -1, 0, 0), - (2, 1, 6, 3, 1, 15, 15), - (3, 2, 6, 8, 2, 10, 25) - $$, - '57: 3 vertices tests (directed)' -); - -SELECT set_eq('depthFirstSearch58', - $$VALUES - (1, 0, 6, 6, -1, 0, 0), - (2, 1, 6, 3, 1, 15, 15) - $$, - '58: 3 vertices tests (directed)' -); - -SELECT is_empty('depthFirstSearch59', - '59: Vertex not present in graph -> Empty row is returned' -); - -SELECT set_eq('depthFirstSearch60', - $$VALUES - (1, 0, 3, 3, -1, 0, 0), - (2, 1, 3, 6, 1, 20, 20), - (3, 1, 3, 8, 2, 10, 10), - (4, 0, 6, 6, -1, 0, 0), - (5, 1, 6, 3, 1, 15, 15), - (6, 2, 6, 8, 2, 10, 25) - $$, - '60: 3 vertices tests (directed)' -); - --- 3 vertices tests (undirected) - -PREPARE depthFirstSearch61 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q55', - 3, directed => false -); - -PREPARE depthFirstSearch62 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q55', - 6, directed => false -); - -PREPARE depthFirstSearch63 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q55', - 6, directed => false, max_depth => 1 -); - -SELECT set_eq('depthFirstSearch61', - $$VALUES - (1, 0, 3, 3, -1, 0, 0), - (2, 1, 3, 6, 1, 20, 20), - (3, 2, 3, 8, 3, 12, 32) - $$, - '61: 3 vertices tests (undirected)' -); - -SELECT set_eq('depthFirstSearch62', - $$VALUES - (1, 0, 6, 6, -1, 0, 0), - (2, 1, 6, 3, 1, 20, 20), - (3, 2, 6, 8, 2, 10, 30) - $$, - '62: 3 vertices tests (undirected)' -); - -SELECT set_eq('depthFirstSearch63', - $$VALUES - (1, 0, 6, 6, -1, 0, 0), - (2, 1, 6, 3, 1, 20, 20), - (3, 1, 6, 8, 3, 12, 12) - $$, - '63: 3 vertices tests (undirected)' -); - - - - - --- 4 vertices tests - -PREPARE q64 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE (id >= 10 AND id <= 12) - OR id = 8; - --- Graph with vertices 5, 6, 10, 11 -SELECT set_eq('q64', - $$VALUES - (8, 5, 6, 1, 1), - (10, 5, 10, 1, 1), - (11, 6, 11, 1, -1), - (12, 10, 11, 1, -1) - $$, - '64: Graph with vertices 5, 6, 10 and 11' -); - --- 4 vertices tests (directed) - -PREPARE depthFirstSearch65 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 5 -); - -PREPARE depthFirstSearch66 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 6 -); - -PREPARE depthFirstSearch67 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 10 -); - -PREPARE depthFirstSearch68 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 11 -); - -SELECT set_eq('depthFirstSearch65', - $$VALUES - (1, 0, 5, 5, -1, 0, 0), - (2, 1, 5, 6, 8, 1, 1), - (3, 2, 5, 11, 11, 1, 2), - (4, 1, 5, 10, 10, 1, 1) - $$, - '65: 4 vertices tests (directed)' -); - -SELECT set_eq('depthFirstSearch66', - $$VALUES - (1, 0, 6, 6, -1, 0, 0), - (2, 1, 6, 5, 8, 1, 1), - (3, 2, 6, 10, 10, 1, 2), - (4, 3, 6, 11, 12, 1, 3) - $$, - '66: 4 vertices tests (directed)' -); - -SELECT set_eq('depthFirstSearch67', - $$VALUES - (1, 0, 10, 10, -1, 0, 0), - (2, 1, 10, 5, 10, 1, 1), - (3, 2, 10, 6, 8, 1, 2), - (4, 3, 10, 11, 11, 1, 3) - $$, - '67: 4 vertices tests (directed)' -); - -SELECT set_eq('depthFirstSearch68', - $$VALUES - (1, 0, 11, 11, -1, 0, 0) - $$, - '68: 4 vertices tests (directed)' -); - --- 4 vertices tests (undirected) - -PREPARE depthFirstSearch69 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 5, directed => false -); - -PREPARE depthFirstSearch70 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 6, directed => false -); - -PREPARE depthFirstSearch71 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 10, directed => false -); - -PREPARE depthFirstSearch72 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 11, directed => false -); - -SELECT set_eq('depthFirstSearch69', - $$VALUES - (1, 0, 5, 5, -1, 0, 0), - (2, 1, 5, 6, 8, 1, 1), - (3, 2, 5, 11, 11, 1, 2), - (4, 3, 5, 10, 12, 1, 3) - $$, - '69: 4 vertices tests (undirected)' -); - -SELECT set_eq('depthFirstSearch70', - $$VALUES - (1, 0, 6, 6, -1, 0, 0), - (2, 1, 6, 5, 8, 1, 1), - (3, 2, 6, 10, 10, 1, 2), - (4, 3, 6, 11, 12, 1, 3) - $$, - '70: 4 vertices tests (undirected)' -); - -SELECT set_eq('depthFirstSearch71', - $$VALUES - (1, 0, 10, 10, -1, 0, 0), - (2, 1, 10, 5, 10, 1, 1), - (3, 2, 10, 6, 8, 1, 2), - (4, 3, 10, 11, 11, 1, 3) - $$, - '71: 4 vertices tests (undirected)' -); - -SELECT set_eq('depthFirstSearch72', - $$VALUES - (1, 0, 11, 11, -1, 0, 0), - (2, 1, 11, 6, 11, 1, 1), - (3, 2, 11, 5, 8, 1, 2), - (4, 3, 11, 10, 10, 1, 3) - $$, - '72: 4 vertices tests (undirected)' -); - --- 4 vertices tests with max_depth 1 (directed) - -PREPARE depthFirstSearch73 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 5, max_depth => 1 -); - -PREPARE depthFirstSearch74 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 6, max_depth => 1 -); - -PREPARE depthFirstSearch75 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 10, max_depth => 1 -); - -PREPARE depthFirstSearch76 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 11, max_depth => 1 -); - -SELECT set_eq('depthFirstSearch73', - $$VALUES - (1, 0, 5, 5, -1, 0, 0), - (2, 1, 5, 6, 8, 1, 1), - (3, 1, 5, 10, 10, 1, 1) - $$, - '73: 4 vertices tests with max_depth 1 (directed)' -); - -SELECT set_eq('depthFirstSearch74', - $$VALUES - (1, 0, 6, 6, -1, 0, 0), - (2, 1, 6, 5, 8, 1, 1), - (3, 1, 6, 11, 11, 1, 1) - $$, - '74: 4 vertices tests with max_depth 1 (directed)' -); - -SELECT set_eq('depthFirstSearch75', - $$VALUES - (1, 0, 10, 10, -1, 0, 0), - (2, 1, 10, 5, 10, 1, 1), - (3, 1, 10, 11, 12, 1, 1) - $$, - '75: 4 vertices tests with max_depth 1 (directed)' -); - -SELECT set_eq('depthFirstSearch76', - $$VALUES - (1, 0, 11, 11, -1, 0, 0) - $$, - '76: 4 vertices tests with max_depth 1 (directed)' -); - --- 4 vertices tests with max_depth 1 (undirected) - -PREPARE depthFirstSearch77 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 5, directed => false, max_depth => 1 -); - -PREPARE depthFirstSearch78 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 6, directed => false, max_depth => 1 -); - -PREPARE depthFirstSearch79 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 10, directed => false, max_depth => 1 -); - -PREPARE depthFirstSearch80 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 11, directed => false, max_depth => 1 -); - -SELECT set_eq('depthFirstSearch77', - $$VALUES - (1, 0, 5, 5, -1, 0, 0), - (2, 1, 5, 6, 8, 1, 1), - (3, 1, 5, 10, 10, 1, 1) - $$, - '77: 4 vertices tests with max_depth 1 (undirected)' -); - -SELECT set_eq('depthFirstSearch78', - $$VALUES - (1, 0, 6, 6, -1, 0, 0), - (2, 1, 6, 5, 8, 1, 1), - (3, 1, 6, 11, 11, 1, 1) - $$, - '78: 4 vertices tests with max_depth 1 (undirected)' -); - -SELECT set_eq('depthFirstSearch79', - $$VALUES - (1, 0, 10, 10, -1, 0, 0), - (2, 1, 10, 5, 10, 1, 1), - (3, 1, 10, 11, 12, 1, 1) - $$, - '79: 4 vertices tests with max_depth 1 (undirected)' -); - -SELECT set_eq('depthFirstSearch80', - $$VALUES - (1, 0, 11, 11, -1, 0, 0), - (2, 1, 11, 6, 11, 1, 1), - (3, 1, 11, 10, 12, 1, 1) - $$, - '80: 4 vertices tests with max_depth 1 (undirected)' -); - --- 4 vertices tests with max_depth 2 (directed) - -PREPARE depthFirstSearch81 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 5, max_depth => 2 -); - -PREPARE depthFirstSearch82 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 6, max_depth => 2 -); - -PREPARE depthFirstSearch83 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 10, max_depth => 2 -); - -PREPARE depthFirstSearch84 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 11, max_depth => 2 -); - -SELECT set_eq('depthFirstSearch81', - $$VALUES - (1, 0, 5, 5, -1, 0, 0), - (2, 1, 5, 6, 8, 1, 1), - (3, 2, 5, 11, 11, 1, 2), - (4, 1, 5, 10, 10, 1, 1) - $$, - '81: 4 vertices tests with max_depth 2 (directed)' -); - -SELECT set_eq('depthFirstSearch82', - $$VALUES - (1, 0, 6, 6, -1, 0, 0), - (2, 1, 6, 5, 8, 1, 1), - (3, 2, 6, 10, 10, 1, 2), - (4, 1, 6, 11, 11, 1, 1) - $$, - '82: 4 vertices tests with max_depth 2 (directed)' -); - -SELECT set_eq('depthFirstSearch83', - $$VALUES - (1, 0, 10, 10, -1, 0, 0), - (2, 1, 10, 5, 10, 1, 1), - (3, 2, 10, 6, 8, 1, 2), - (4, 1, 10, 11, 12, 1, 1) - $$, - '83: 4 vertices tests with max_depth 2 (directed)' -); - -SELECT set_eq('depthFirstSearch84', - $$VALUES - (1, 0, 11, 11, -1, 0, 0) - $$, - '84: 4 vertices tests with max_depth 2 (directed)' -); - --- 4 vertices tests with max_depth 2 (undirected) - -PREPARE depthFirstSearch85 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 5, directed => false, max_depth => 2 -); - -PREPARE depthFirstSearch86 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 6, directed => false, max_depth => 2 -); - -PREPARE depthFirstSearch87 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 10, directed => false, max_depth => 2 -); - -PREPARE depthFirstSearch88 AS -SELECT * -FROM pgr_depthFirstSearch( - 'q64', - 11, directed => false, max_depth => 2 -); - -SELECT set_eq('depthFirstSearch85', - $$VALUES - (1, 0, 5, 5, -1, 0, 0), - (2, 1, 5, 6, 8, 1, 1), - (3, 2, 5, 11, 11, 1, 2), - (4, 1, 5, 10, 10, 1, 1) - $$, - '85: 4 vertices tests with max_depth 2 (undirected)' -); - -SELECT set_eq('depthFirstSearch86', - $$VALUES - (1, 0, 6, 6, -1, 0, 0), - (2, 1, 6, 5, 8, 1, 1), - (3, 2, 6, 10, 10, 1, 2), - (4, 1, 6, 11, 11, 1, 1) - $$, - '86: 4 vertices tests with max_depth 2 (undirected)' -); - -SELECT set_eq('depthFirstSearch87', - $$VALUES - (1, 0, 10, 10, -1, 0, 0), - (2, 1, 10, 5, 10, 1, 1), - (3, 2, 10, 6, 8, 1, 2), - (4, 1, 10, 11, 12, 1, 1) - $$, - '87: 4 vertices tests with max_depth 2 (undirected)' -); - -SELECT set_eq('depthFirstSearch88', - $$VALUES - (1, 0, 11, 11, -1, 0, 0), - (2, 1, 11, 6, 11, 1, 1), - (3, 2, 11, 5, 8, 1, 2), - (4, 1, 11, 10, 12, 1, 1) - $$, - '88: 4 vertices tests with max_depth 2 (undirected)' -); - - -SELECT * FROM finish(); -ROLLBACK; diff --git a/pgtap/depthFirstSearch/undirected/edge_cases.sql b/pgtap/depthFirstSearch/undirected/edge_cases.sql new file mode 100644 index 00000000000..b5a97e7e20d --- /dev/null +++ b/pgtap/depthFirstSearch/undirected/edge_cases.sql @@ -0,0 +1,335 @@ +\i setup.sql + +SELECT plan(18); + + + +-- 0 edge, 0 vertex test + +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18; + +SELECT is_empty('q1', '1: Graph with 0 edge and 0 vertex'); + +PREPARE depthFirstSearch2 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q1', + 5, directed => false +); + +SELECT is_empty('depthFirstSearch2', '2: 0 edge 0 vertex test'); + + + +-- vertex not present in graph test + +PREPARE q3 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table; + +SELECT is_empty( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE source = 100 OR target = 100', + '3: Vertex 100 does not exist in sample data' +); + +PREPARE depthFirstSearch4 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q3', + 100, directed => false +); + +SELECT is_empty('depthFirstSearch4', '4: Vertex not present in graph'); + + + +-- negative depth test + +PREPARE depthFirstSearch5 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q3', + 4, directed => false, max_depth => -3 +); + +SELECT throws_ok('depthFirstSearch5', + 'P0001', 'Negative value found on ''max_depth''', + '5: Negative max_depth throws' +); + + + +-- 1 vertex test + +PREPARE q6 AS +SELECT id, source, 2 AS target, cost, reverse_cost +FROM edge_table +WHERE id = 2; + +SELECT set_eq('q6', + $$VALUES (2, 2, 2, -1, 1)$$, + '6: Graph with only vertex 2' +); + +PREPARE depthFirstSearch7 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q6', + 2, directed => false +); + +SELECT set_eq('depthFirstSearch7', + $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, + '7: 1 vertex test' +); + + + +-- 2 vertices tests + +PREPARE q8 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id = 5; + +SELECT set_eq('q8', + $$VALUES (5, 3, 6, 1, -1)$$, + '8: Graph with two vertices 3 and 6 and edge from 3 to 6' +); + +PREPARE depthFirstSearch9 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q8', + ARRAY[3, 6], directed => false +); + +PREPARE depthFirstSearch10 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q8', + ARRAY[3, 6], directed => false, max_depth => 0 +); + +PREPARE depthFirstSearch11 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q8', + ARRAY[3, 6], directed => false, max_depth => 1 +); + +SELECT set_eq('depthFirstSearch9', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 5, 1, 1), + (3, 0, 6, 6, -1, 0, 0), + (4, 1, 6, 3, 5, 1, 1) + $$, + '9: Two vertices tests' +); + +SELECT set_eq('depthFirstSearch10', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 0, 6, 6, -1, 0, 0) + $$, + '10: Two vertices tests' +); + +SELECT set_eq('depthFirstSearch11', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 5, 1, 1), + (3, 0, 6, 6, -1, 0, 0), + (4, 1, 6, 3, 5, 1, 1) + $$, + '11: Two vertices tests' +); + + + +-- 3 vertices tests + +CREATE TABLE three_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); + +INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES + (3, 6, 20, 15), + (3, 8, 10, -10), + (6, 8, -1, 12); + +PREPARE q12 AS +SELECT id, source, target, cost, reverse_cost +FROM three_vertices_table; + +-- Cyclic Graph with three vertices 3, 6 and 8 +SELECT set_eq('q12', + $$VALUES + (1, 3, 6, 20, 15), + (2, 3, 8, 10, -10), + (3, 6, 8, -1, 12) + $$, + '12: Cyclic Graph with three vertices 3, 6 and 8' +); + +PREPARE depthFirstSearch13 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q12', + ARRAY[3, 6, 8], directed => false +); + +PREPARE depthFirstSearch14 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q12', + ARRAY[3, 6, 8], directed => false, max_depth => 1 +); + + +SELECT set_eq('depthFirstSearch13', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 1, 20, 20), + (3, 2, 3, 8, 3, 12, 32), + (4, 0, 6, 6, -1, 0, 0), + (5, 1, 6, 3, 1, 20, 20), + (6, 2, 6, 8, 2, 10, 30), + (7, 0, 8, 8, -1, 0, 0), + (8, 1, 8, 3, 2, 10, 10), + (9, 2, 8, 6, 1, 20, 30) + $$, + '13: 3 vertices tests' +); + +SELECT set_eq('depthFirstSearch14', + $$VALUES + (1, 0, 3, 3, -1, 0, 0), + (2, 1, 3, 6, 1, 20, 20), + (3, 1, 3, 8, 2, 10, 10), + (4, 0, 6, 6, -1, 0, 0), + (5, 1, 6, 3, 1, 20, 20), + (6, 1, 6, 8, 3, 12, 12), + (7, 0, 8, 8, -1, 0, 0), + (8, 1, 8, 3, 2, 10, 10), + (9, 1, 8, 6, 3, 12, 12) + $$, + '14: 3 vertices tests' +); + + + +-- 4 vertices tests + +PREPARE q15 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE (id >= 10 AND id <= 12) + OR id = 8; + +SELECT set_eq('q15', + $$VALUES + (8, 5, 6, 1, 1), + (10, 5, 10, 1, 1), + (11, 6, 11, 1, -1), + (12, 10, 11, 1, -1) + $$, + '15: Graph with vertices 5, 6, 10 and 11' +); + +PREPARE depthFirstSearch16 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q15', + ARRAY[5, 6, 10, 11], directed => false +); + +PREPARE depthFirstSearch17 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q15', + ARRAY[5, 6, 10, 11], directed => false, max_depth => 1 +); + +PREPARE depthFirstSearch18 AS +SELECT * +FROM pgr_depthFirstSearch( + 'q15', + ARRAY[5, 6, 10, 11], directed => false, max_depth => 2 +); + +SELECT set_eq('depthFirstSearch16', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 2, 5, 11, 11, 1, 2), + (4, 3, 5, 10, 12, 1, 3), + (5, 0, 6, 6, -1, 0, 0), + (6, 1, 6, 5, 8, 1, 1), + (7, 2, 6, 10, 10, 1, 2), + (8, 3, 6, 11, 12, 1, 3), + (9, 0, 10, 10, -1, 0, 0), + (10, 1, 10, 5, 10, 1, 1), + (11, 2, 10, 6, 8, 1, 2), + (12, 3, 10, 11, 11, 1, 3), + (13, 0, 11, 11, -1, 0, 0), + (14, 1, 11, 6, 11, 1, 1), + (15, 2, 11, 5, 8, 1, 2), + (16, 3, 11, 10, 10, 1, 3) + $$, + '16: 4 vertices tests' +); + +SELECT set_eq('depthFirstSearch17', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 1, 5, 10, 10, 1, 1), + (4, 0, 6, 6, -1, 0, 0), + (5, 1, 6, 5, 8, 1, 1), + (6, 1, 6, 11, 11, 1, 1), + (7, 0, 10, 10, -1, 0, 0), + (8, 1, 10, 5, 10, 1, 1), + (9, 1, 10, 11, 12, 1, 1), + (10, 0, 11, 11, -1, 0, 0), + (11, 1, 11, 6, 11, 1, 1), + (12, 1, 11, 10, 12, 1, 1) + $$, + '17: 4 vertices tests' +); + +SELECT set_eq('depthFirstSearch18', + $$VALUES + (1, 0, 5, 5, -1, 0, 0), + (2, 1, 5, 6, 8, 1, 1), + (3, 2, 5, 11, 11, 1, 2), + (4, 1, 5, 10, 10, 1, 1), + (5, 0, 6, 6, -1, 0, 0), + (6, 1, 6, 5, 8, 1, 1), + (7, 2, 6, 10, 10, 1, 2), + (8, 1, 6, 11, 11, 1, 1), + (9, 0, 10, 10, -1, 0, 0), + (10, 1, 10, 5, 10, 1, 1), + (11, 2, 10, 6, 8, 1, 2), + (12, 1, 10, 11, 12, 1, 1), + (13, 0, 11, 11, -1, 0, 0), + (14, 1, 11, 6, 11, 1, 1), + (15, 2, 11, 5, 8, 1, 2), + (16, 1, 11, 10, 12, 1, 1) + $$, + '18: 4 vertices tests' +); + + +SELECT * FROM finish(); +ROLLBACK; From 87d4ba42ce5094d7e03593efb0b3fd15dff6965e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 2 Aug 2020 09:53:15 +0530 Subject: [PATCH 0292/1360] [depthFirstSearch] [doc] Made required changes --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index e313893fce0..9e95b0e63ea 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -45,21 +45,17 @@ depth. **The main Characteristics are:** -- The implementation works for both directed and undirected graphs. +- The implementation works for both **directed** and **undirected** graphs. - Provides the Depth First Search traversal order from a root vertex to a particular maximum depth level. - For optimization purposes, any duplicated values in the `Root vids` are ignored. -- The returned values are ordered in ascending order of `start_vid`. -- If the root vertex does not exist, an empty row is returned. - It does not produce the shortest path from a root vertex to a target vertex. - The aggregate cost of traversal is not guaranteed to be minimal. +- If the root vertex does not exist, an empty row is returned. +- The returned values are ordered in ascending order of `start_vid`. - Depth First Search Running time: :math:`O(E + V)` -**Note**: The cost of an edge is not used for traversal. If multiple edges -are adjacent to a vertex, then this algorithm traverses that edge which -comes first in the ``Edges SQL``. - Signatures ------------------------------------------------------------------------------- @@ -120,7 +116,7 @@ Multiple vertices RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET -:Example: From root vertices :math:`\{11, 12\}` on a **directed** graph +:Example: From root vertices :math:`\{11, 2\}` on an **undirected** graph with :math:`depth <= 2` .. literalinclude:: doc-pgr_depthFirstSearch.queries From 3f33c2c2ac93bd25f349a557d05c8d324bec08e3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 2 Aug 2020 09:53:28 +0530 Subject: [PATCH 0293/1360] [sequentialVertexColoring] [doc] Made required changes --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index fde3176a2d8..25e6cce1650 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -51,6 +51,7 @@ each vertex. - The implementation is applicable only for **undirected** graphs. - Provides the color to be assigned to all the nodes present in the graph. +- The minimum value of color is 1. - The maximum value of color will not be greater than the number of vertices in the graph. - Higher color values are used only if required, i.e. the algorithm tries to @@ -67,7 +68,7 @@ Signatures pgr_sequentialVertexColoring(Edges SQL) - RETURNS SET OF (node, color) + RETURNS SET OF (node, color_id) OR EMPTY SET :Example: Graph coloring of pgRouting :doc:`sampledata` @@ -106,16 +107,17 @@ Result Columns .. result columns start -Returns SET OF ``(node, color)`` +Returns SET OF ``(node, color_id)`` =============== =========== ==================================================== Column Type Description =============== =========== ==================================================== **node** ``BIGINT`` Identifier of all the ``nodes`` in the graph. -**color** ``BIGINT`` Identifier of the ``color`` of the ``node``. +**color_id** ``BIGINT`` Identifier of the color of the ``node``. + - The minimum value of color is 1. - The maximum value will not be greater than the - number of vertices in the graph + number of vertices in the graph. =============== =========== ==================================================== From d292820d2ddea5703cbaee996970f547ddc7e1c0 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 2 Aug 2020 09:59:22 +0530 Subject: [PATCH 0294/1360] [depthFirstSearch] Moved pgtap test files --- .../{directed/edge_cases.sql => edge_cases_directed.sql} | 0 .../{undirected/edge_cases.sql => edge_cases_undirected.sql} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename pgtap/depthFirstSearch/{directed/edge_cases.sql => edge_cases_directed.sql} (100%) rename pgtap/depthFirstSearch/{undirected/edge_cases.sql => edge_cases_undirected.sql} (100%) diff --git a/pgtap/depthFirstSearch/directed/edge_cases.sql b/pgtap/depthFirstSearch/edge_cases_directed.sql similarity index 100% rename from pgtap/depthFirstSearch/directed/edge_cases.sql rename to pgtap/depthFirstSearch/edge_cases_directed.sql diff --git a/pgtap/depthFirstSearch/undirected/edge_cases.sql b/pgtap/depthFirstSearch/edge_cases_undirected.sql similarity index 100% rename from pgtap/depthFirstSearch/undirected/edge_cases.sql rename to pgtap/depthFirstSearch/edge_cases_undirected.sql From d3fa8816df21222525ad8fd388d8cda57eaa9776 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 4 Aug 2020 08:38:12 +0530 Subject: [PATCH 0295/1360] [depthFirstSearch] Updated doc and docqueries --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 74 +++++-------------- .../doc-pgr_depthFirstSearch.result | 37 ++-------- .../doc-pgr_depthFirstSearch.test.sql | 12 +-- 3 files changed, 31 insertions(+), 92 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 9e95b0e63ea..083d7e15c8e 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -37,17 +37,16 @@ Undirected DFS algorithm implemented by Boost.Graph. Description ------------------------------------------------------------------------------- -Depth First Search algorithm is a well known traversal algorithm which starts -from a root vertex (``Root vid``) and visits all the nodes in a graph in the -depth-first search traversal order. An optional non-negative maximum depth -parameter (``max_depth``) can be specified to get the results up to a particular -depth. +Depth First Search algorithm is a traversal algorithm which starts from a root vertex +and visits all the vertices in a graph, in the depth-first search traversal order. **The main Characteristics are:** - The implementation works for both **directed** and **undirected** graphs. - Provides the Depth First Search traversal order from a root vertex to a particular maximum depth level. +- An optional non-negative maximum depth parameter (``max_depth``) can be + specified to get the results up to a particular depth. - For optimization purposes, any duplicated values in the `Root vids` are ignored. - It does not produce the shortest path from a root vertex to a target vertex. @@ -63,8 +62,8 @@ Signatures .. code-block:: none - pgr_depthFirstSearch(Edges SQL, Root vid [, directed] [, max_depth]) - pgr_depthFirstSearch(Edges SQL, Root vids [, directed] [, max_depth]) + pgr_depthFirstSearch(Edges SQL, Root vid [, directed] [, max_depth]) -- Experimental on v3.2 + pgr_depthFirstSearch(Edges SQL, Root vids [, directed] [, max_depth]) -- Experimental on v3.2 RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -78,7 +77,7 @@ Signatures :end-before: -- q2 .. index:: - single: depthFirstSearch(Single vertex) - Experimental + single: depthFirstSearch(Single vertex) -- Experimental on v3.2 Single vertex ............................................................................... @@ -90,21 +89,15 @@ Single vertex RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) OR EMPTY SET -:Example: From root vertex :math:`2` on an **undirected** graph +:Example: From root vertex :math:`2` on an **undirected** graph, + with :math:`depth <= 2` .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: -- q2 :end-before: -- q3 -:Example: From root vertex :math:`2` on a **directed** graph, - with :math:`depth <= 2` - -.. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q3 - :end-before: -- q4 - .. index:: - single: depthFirstSearch(Multiple vertices) - Experimental + single: depthFirstSearch(Multiple vertices) -- Experimental on v3.2 Multiple vertices ............................................................................... @@ -120,13 +113,11 @@ Multiple vertices with :math:`depth <= 2` .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q4 - :end-before: -- q5 + :start-after: -- q3 + :end-before: -- q4 .. Parameters, Inner query & result columns -.. depthFirstSearch-information-start - Parameters ------------------------------------------------------------------------------- @@ -150,8 +141,8 @@ Optional Parameters =================== =========== =========================== ================================================= Parameter Type Default Description =================== =========== =========================== ================================================= -**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` - - When ``false`` the graph is considered as `Undirected`. +**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is `Directed` + - When ``false`` the graph is `Undirected`. **max_depth** ``BIGINT`` :math:`9223372036854775807` Upper limit for depth of node in the tree @@ -170,45 +161,20 @@ Inner query Result Columns ------------------------------------------------------------------------------- -.. result columns start - -Returns SET OF ``(seq, depth, start_vid, node, edge, cost, agg_cost)`` - -=============== =========== ==================================================== -Column Type Description -=============== =========== ==================================================== -**seq** ``BIGINT`` Sequential value starting from :math:`1`. -**depth** ``BIGINT`` Depth of the ``node``. - - - :math:`0` when ``node`` = ``start_vid``. - -**start_vid** ``BIGINT`` Identifier of the start vertex. - - - In `Multiple Vertices`_ results are in ascending order. - -**node** ``BIGINT`` Identifier of ``node`` reached using ``edge``. -**edge** ``BIGINT`` Identifier of the ``edge`` used to arrive to ``node``. - - - :math:`-1` when ``node`` = ``start_vid``. - -**cost** ``FLOAT`` Cost to traverse ``edge``. -**agg_cost** ``FLOAT`` Aggregate cost from ``start_vid`` to ``node``. -=============== =========== ==================================================== - -.. result columns end - +.. include:: pgr_kruskalDD.rst + :start-after: result columns start + :end-before: result columns end Additional Examples ------------------------------------------------------------------------------- The examples of this section are based on the :doc:`sampledata` network. -This example shows that the cost of an edge is not used for traversal. An edge -having a greater cost may be traversed first, if it comes first in the ``Edges SQL``. +Example: No internal ordering on traversal .. literalinclude:: doc-pgr_depthFirstSearch.queries - :start-after: -- q5 - :end-before: -- q6 + :start-after: -- q4 + :end-before: -- q5 Here, the edge from :math:`2` to :math:`5` has a cost of :math:`1.016` which is greater than the cost of edge from :math:`2` to :math:`3`, which is :math:`1.004`. diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index 6c04329413a..bb94e2ac1dc 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -29,7 +29,7 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 2, directed => false + 2, directed => false, max_depth => 2 ); seq | depth | start_vid | node | edge | cost | agg_cost -----+-------+-----------+------+------+------+---------- @@ -37,34 +37,13 @@ SELECT * FROM pgr_depthFirstSearch( 2 | 1 | 2 | 1 | 1 | 1 | 1 3 | 1 | 2 | 3 | 2 | 1 | 1 4 | 2 | 2 | 4 | 3 | 1 | 2 - 5 | 3 | 2 | 9 | 16 | 1 | 3 - 6 | 4 | 2 | 6 | 9 | 1 | 4 - 7 | 5 | 2 | 5 | 8 | 1 | 5 - 8 | 6 | 2 | 8 | 7 | 1 | 6 - 9 | 7 | 2 | 7 | 6 | 1 | 7 - 10 | 6 | 2 | 10 | 10 | 1 | 6 - 11 | 7 | 2 | 11 | 12 | 1 | 7 - 12 | 8 | 2 | 12 | 13 | 1 | 8 - 13 | 7 | 2 | 13 | 14 | 1 | 7 -(13 rows) + 5 | 2 | 2 | 6 | 5 | 1 | 2 + 6 | 1 | 2 | 5 | 4 | 1 | 1 + 7 | 2 | 2 | 8 | 7 | 1 | 2 + 8 | 2 | 2 | 10 | 10 | 1 | 2 +(8 rows) -- q3 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - ORDER BY id', - 2, max_depth => 2 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 2 | 2 | -1 | 0 | 0 - 2 | 1 | 2 | 1 | 1 | 1 | 1 - 3 | 1 | 2 | 5 | 4 | 1 | 1 - 4 | 2 | 2 | 8 | 7 | 1 | 2 - 5 | 2 | 2 | 6 | 8 | 1 | 2 - 6 | 2 | 2 | 10 | 10 | 1 | 2 -(6 rows) - --- q4 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', @@ -90,7 +69,7 @@ SELECT * FROM pgr_depthFirstSearch( 16 | 1 | 11 | 12 | 13 | 1 | 1 (16 rows) --- q5 +-- q4 UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; UPDATE 18 SELECT * FROM pgr_depthFirstSearch( @@ -109,6 +88,6 @@ SELECT * FROM pgr_depthFirstSearch( 5 | 3 | 1 | 4 | 3 | 1.009 | 3.014 (5 rows) --- q6 +-- q5 ROLLBACK; ROLLBACK diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 06486210b0e..7ebcaf19238 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -8,21 +8,15 @@ SELECT * FROM pgr_depthFirstSearch( SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 2, directed => false + 2, directed => false, max_depth => 2 ); \echo -- q3 -SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table - ORDER BY id', - 2, max_depth => 2 -); -\echo -- q4 SELECT * FROM pgr_depthFirstSearch( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[11, 2], directed => false, max_depth => 2 ); -\echo -- q5 +\echo -- q4 UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; SELECT * FROM pgr_depthFirstSearch( @@ -32,4 +26,4 @@ SELECT * FROM pgr_depthFirstSearch( ORDER BY id DESC', 1, directed => false ); -\echo -- q6 +\echo -- q5 From 231bf162421dc8c52bc467b55862c34372853313 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 4 Aug 2020 09:24:46 +0530 Subject: [PATCH 0296/1360] [depthFirstSearch] Fixed code, empty row is never returned --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 4 ---- .../depthFirstSearch/pgr_depthFirstSearch.hpp | 3 +-- .../depthFirstSearch/edge_cases_directed.sql | 10 +++++++-- .../edge_cases_undirected.sql | 10 +++++++-- pgtap/depthFirstSearch/issue1348.sql | 21 ++++++++++--------- src/depthFirstSearch/depthFirstSearch.c | 6 ------ .../depthFirstSearch_driver.cpp | 2 -- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 083d7e15c8e..f038af5b75a 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -51,7 +51,6 @@ and visits all the vertices in a graph, in the depth-first search traversal orde ignored. - It does not produce the shortest path from a root vertex to a target vertex. - The aggregate cost of traversal is not guaranteed to be minimal. -- If the root vertex does not exist, an empty row is returned. - The returned values are ordered in ascending order of `start_vid`. - Depth First Search Running time: :math:`O(E + V)` @@ -66,7 +65,6 @@ Signatures pgr_depthFirstSearch(Edges SQL, Root vids [, directed] [, max_depth]) -- Experimental on v3.2 RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) - OR EMPTY SET .. rubric:: Using defaults @@ -87,7 +85,6 @@ Single vertex pgr_depthFirstSearch(Edges SQL, Root vid [, directed] [, max_depth]) RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) - OR EMPTY SET :Example: From root vertex :math:`2` on an **undirected** graph, with :math:`depth <= 2` @@ -107,7 +104,6 @@ Multiple vertices pgr_depthFirstSearch(Edges SQL, Root vids [, directed] [, max_depth]) RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) - OR EMPTY SET :Example: From root vertices :math:`\{11, 2\}` on an **undirected** graph with :math:`depth <= 2` diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/depthFirstSearch/pgr_depthFirstSearch.hpp index fb84305ee6c..83d1b79b0ec 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/depthFirstSearch/pgr_depthFirstSearch.hpp @@ -86,10 +86,9 @@ class Pgr_depthFirstSearch { for (auto root : roots) { std::vector < E > visited_order; + results.push_back({root, 0, root, -1, 0.0, 0.0}); if (graph.has_vertex(root)) { - results.push_back({root, 0, root, -1, 0.0, 0.0}); - auto v_root(graph.get_V(root)); depthFirstSearch_single_vertex(graph, v_root, visited_order, directed, max_depth); diff --git a/pgtap/depthFirstSearch/edge_cases_directed.sql b/pgtap/depthFirstSearch/edge_cases_directed.sql index 39d34db944d..f8c9415e229 100644 --- a/pgtap/depthFirstSearch/edge_cases_directed.sql +++ b/pgtap/depthFirstSearch/edge_cases_directed.sql @@ -20,7 +20,10 @@ FROM pgr_depthFirstSearch( 5 ); -SELECT is_empty('depthFirstSearch2', '2: 0 edge 0 vertex test'); +SELECT set_eq('depthFirstSearch2', + $$VALUES (1, 0, 5, 5, -1, 0, 0)$$, + '2: 0 edge 0 vertex test' +); @@ -44,7 +47,10 @@ FROM pgr_depthFirstSearch( 100 ); -SELECT is_empty('depthFirstSearch4', '4: Vertex not present in graph'); +SELECT set_eq('depthFirstSearch4', + $$VALUES (1, 0, 100, 100, -1, 0, 0)$$, + '4: Vertex not present in graph' +); diff --git a/pgtap/depthFirstSearch/edge_cases_undirected.sql b/pgtap/depthFirstSearch/edge_cases_undirected.sql index b5a97e7e20d..4816c193ce2 100644 --- a/pgtap/depthFirstSearch/edge_cases_undirected.sql +++ b/pgtap/depthFirstSearch/edge_cases_undirected.sql @@ -20,7 +20,10 @@ FROM pgr_depthFirstSearch( 5, directed => false ); -SELECT is_empty('depthFirstSearch2', '2: 0 edge 0 vertex test'); +SELECT set_eq('depthFirstSearch2', + $$VALUES (1, 0, 5, 5, -1, 0, 0)$$, + '2: 0 edge 0 vertex test' +); @@ -44,7 +47,10 @@ FROM pgr_depthFirstSearch( 100, directed => false ); -SELECT is_empty('depthFirstSearch4', '4: Vertex not present in graph'); +SELECT set_eq('depthFirstSearch4', + $$VALUES (1, 0, 100, 100, -1, 0, 0)$$, + '4: Vertex not present in graph' +); diff --git a/pgtap/depthFirstSearch/issue1348.sql b/pgtap/depthFirstSearch/issue1348.sql index 96ede989008..2711cb34029 100644 --- a/pgtap/depthFirstSearch/issue1348.sql +++ b/pgtap/depthFirstSearch/issue1348.sql @@ -20,7 +20,7 @@ PREPARE q0 AS SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id; --- Directed Graph with Root vid 3 + PREPARE q1 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -36,7 +36,7 @@ SELECT set_eq('q1', 'q1: Directed Graph with Root vid 3' ); --- Directed Graph with Root vid 6 + PREPARE q2 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -52,7 +52,7 @@ SELECT set_eq('q2', 'q2: Directed Graph with Root vid 6' ); --- Directed Graph with Root vid 6 and max_depth 1 + PREPARE q3 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -67,18 +67,19 @@ SELECT set_eq('q3', 'q3: Directed Graph with Root vid 6 and max_depth 1' ); --- Root vid does not exist in the Graph + PREPARE q4 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', 2 ); -SELECT is_empty('q4', - 'q4: Vertex not present in graph -> Empty row is returned' +SELECT set_eq('q4', + $$VALUES (1, 0, 2, 2, -1, 0, 0)$$, + '4: Vertex not present in graph' ); --- Undirected Graph with Root vid 3 + PREPARE q5 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -94,7 +95,7 @@ SELECT set_eq('q5', 'q5: Undirected Graph with Root vid 3' ); --- Undirected Graph with Root vid 6 + PREPARE q6 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -110,7 +111,7 @@ SELECT set_eq('q6', 'q6: Undirected Graph with Root vid 6' ); --- Undirected Graph with Root vid 6 and max_depth 1 + PREPARE q7 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -126,7 +127,7 @@ SELECT set_eq('q7', 'q7: Undirected Graph with Root vid 6 and max_depth 1' ); --- Directed Graph with multiple Root vids + PREPARE q8 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/depthFirstSearch/depthFirstSearch.c index 37fc27d8929..6000b506a89 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/depthFirstSearch/depthFirstSearch.c @@ -88,12 +88,6 @@ process( pgr_get_edges(edges_sql, &edges, &total_edges); - if (total_edges == 0) { - if (rootsArr) pfree(rootsArr); - pgr_SPI_finish(); - return; - } - clock_t start_t = clock(); char *log_msg = NULL; char *notice_msg = NULL; diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/depthFirstSearch/depthFirstSearch_driver.cpp index 1e43ab0fa33..28602c78640 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/depthFirstSearch/depthFirstSearch_driver.cpp @@ -92,7 +92,6 @@ pgr_depthFirstSearch( * @pre err_msg is empty * @pre return_tuples is empty * @pre return_count is 0 - * @pre total_edges is not 0 * * It builds the graph using the `data_edges`, depending on whether * the graph is directed or undirected. It also converts the C types @@ -141,7 +140,6 @@ do_pgr_depthFirstSearch( pgassert(!(*err_msg)); pgassert(!(*return_tuples)); pgassert(*return_count == 0); - pgassert(total_edges != 0); std::vector < int64_t > roots(rootsArr, rootsArr + size_rootsArr); From a8faa4b4a4804f99fd0641fa4423805c50cbd17d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 4 Aug 2020 09:56:55 +0530 Subject: [PATCH 0297/1360] [sequentialVertexColoring] Updated the doc, renamed node to vertex_id --- .../pgr_sequentialVertexColoring.rst | 49 ++++++++----------- .../doc-pgr_sequentialVertexColoring.result | 38 +++++++------- .../sequentialVertexColoring/types_check.sql | 2 +- .../_sequentialVertexColoring.sql | 2 +- .../sequentialVertexColoring.sql | 2 +- 5 files changed, 43 insertions(+), 50 deletions(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index 25e6cce1650..e10c04fec4f 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -37,38 +37,34 @@ the Sequential Vertex Coloring algorithm implemented by Boost.Graph. Description ------------------------------------------------------------------------------- -Sequential Vertex Coloring algorithm is a graph coloring or labeling algorithm -in which colors or labels are assigned to the vertices of a graph sequentially, -such that no edge connects two identically labeled or colored vertices. - -Efficient graph coloring is an NP-Hard problem, and therefore, the Sequential -Vertex Coloring algorithm does not always produce optimal coloring. This algorithm -follows a greedy strategy by iterating through all the vertices sequentially, -and assigning the smallest possible color that is not used by its neighbors, to -each vertex. +Sequential Vertex Coloring algorithm is a graph coloring algorithm in which color +identifiers are assigned to the vertices of a graph in a sequential manner, +such that no edge connects two identically colored vertices. **The main Characteristics are:** - The implementation is applicable only for **undirected** graphs. -- Provides the color to be assigned to all the nodes present in the graph. -- The minimum value of color is 1. -- The maximum value of color will not be greater than the number of vertices - in the graph. -- Higher color values are used only if required, i.e. the algorithm tries to - assign the least possible color to every vertex. -- The returned rows are ordered in ascending order of the node value. -- Sequential Vertex Coloring Running Time: :math:`O(|V|*(|d| + |k|))`, where - :math:`|V|` is the number of vertices, :math:`|d|` is the maximum degree of - the vertices in the graph, and :math:`|k|` is the number of colors used. +- Provides the color to be assigned to all the vertices present in the graph. +- Color identifiers values are in the Range :math:`[1, |V|]` +- The algorithm tries to assign the least possible color to every vertex. +- Efficient graph coloring is an NP-Hard problem, and therefore, this algorithm + does not always produce optimal coloring. It follows a greedy strategy by + iterating through all the vertices sequentially, and assigning the smallest + possible color that is not used by its neighbors, to each vertex. +- The returned rows are ordered in ascending order of the vertex value. +- Sequential Vertex Coloring Running Time: :math:`O(|V|*(|d| + |k|))` + - where :math:`|V|` is the number of vertices, + - :math:`|d|` is the maximum degree of the vertices in the graph, + - :math:`|k|` is the number of colors used. Signatures ------------------------------------------------------------------------------ .. code-block:: none - pgr_sequentialVertexColoring(Edges SQL) + pgr_sequentialVertexColoring(Edges SQL) -- Experimental on v3.2 - RETURNS SET OF (node, color_id) + RETURNS SET OF (vertex_id, color_id) OR EMPTY SET :Example: Graph coloring of pgRouting :doc:`sampledata` @@ -78,12 +74,10 @@ Signatures :end-before: -- q2 .. index:: - single: sequentialVertexColoring - Experimental + single: sequentialVertexColoring - Experimental on v3.2 .. Parameters, Inner query & result columns -.. sequentialVertexColoring-information-start - Parameters ------------------------------------------------------------------------------- @@ -107,19 +101,18 @@ Result Columns .. result columns start -Returns SET OF ``(node, color_id)`` +Returns SET OF ``(vertex_id, color_id)`` =============== =========== ==================================================== Column Type Description =============== =========== ==================================================== -**node** ``BIGINT`` Identifier of all the ``nodes`` in the graph. -**color_id** ``BIGINT`` Identifier of the color of the ``node``. +**vertex_id** ``BIGINT`` Identifier of the vertex. +**color_id** ``BIGINT`` Identifier of the color of the vertex. - The minimum value of color is 1. - The maximum value will not be greater than the number of vertices in the graph. - =============== =========== ==================================================== .. result columns end diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result index 431e6202924..9f69c5c62e1 100644 --- a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result +++ b/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result @@ -7,25 +7,25 @@ SELECT * FROM pgr_sequentialVertexColoring( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id' ); - node | color_id -------+---------- - 1 | 1 - 2 | 2 - 3 | 1 - 4 | 2 - 5 | 1 - 6 | 2 - 7 | 1 - 8 | 2 - 9 | 1 - 10 | 2 - 11 | 1 - 12 | 2 - 13 | 1 - 14 | 1 - 15 | 2 - 16 | 1 - 17 | 2 + vertex_id | color_id +-----------+---------- + 1 | 1 + 2 | 2 + 3 | 1 + 4 | 2 + 5 | 1 + 6 | 2 + 7 | 1 + 8 | 2 + 9 | 1 + 10 | 2 + 11 | 1 + 12 | 2 + 13 | 1 + 14 | 1 + 15 | 2 + 16 | 1 + 17 | 2 (17 rows) -- q2 diff --git a/pgtap/graphColoring/sequentialVertexColoring/types_check.sql b/pgtap/graphColoring/sequentialVertexColoring/types_check.sql index ea0c9c9a253..8f3d9675fbf 100644 --- a/pgtap/graphColoring/sequentialVertexColoring/types_check.sql +++ b/pgtap/graphColoring/sequentialVertexColoring/types_check.sql @@ -11,7 +11,7 @@ SELECT function_returns('pgr_sequentialvertexcoloring', ARRAY['text'], 'setof r -- parameter names SELECT bag_has( $$SELECT proargnames from pg_proc where proname = 'pgr_sequentialvertexcoloring'$$, - $$SELECT '{"","node","color_id"}'::TEXT[] $$ + $$SELECT '{"","vertex_id","color_id"}'::TEXT[] $$ ); -- parameter types diff --git a/sql/graphColoring/_sequentialVertexColoring.sql b/sql/graphColoring/_sequentialVertexColoring.sql index a2180aba727..2e39f917f0c 100644 --- a/sql/graphColoring/_sequentialVertexColoring.sql +++ b/sql/graphColoring/_sequentialVertexColoring.sql @@ -35,7 +35,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION _pgr_sequentialVertexColoring( edges_sql TEXT, - OUT node BIGINT, + OUT vertex_id BIGINT, OUT color_id BIGINT) RETURNS SETOF RECORD AS diff --git a/sql/graphColoring/sequentialVertexColoring.sql b/sql/graphColoring/sequentialVertexColoring.sql index 288ae934cba..5dfb23899c4 100644 --- a/sql/graphColoring/sequentialVertexColoring.sql +++ b/sql/graphColoring/sequentialVertexColoring.sql @@ -35,7 +35,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION pgr_sequentialVertexColoring( TEXT, -- edges_sql (required) - OUT node BIGINT, + OUT vertex_id BIGINT, OUT color_id BIGINT) RETURNS SETOF RECORD AS $BODY$ From b7eb3ff2356ad539f1c8f9860ff4d0b9693c8931 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 4 Aug 2020 10:52:11 +0530 Subject: [PATCH 0298/1360] [sequentialVertexColoring] Updated the documentation --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index e10c04fec4f..9b022dc744d 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -10,9 +10,8 @@ pgr_sequentialVertexColoring - Experimental =============================================================================== -``pgr_sequentialVertexColoring`` — Assigns labels to the vertices of graph -such that no edge connects two identically labeled vertices. In particular, -the Sequential Vertex Coloring algorithm implemented by Boost.Graph. +``pgr_sequentialVertexColoring`` — The Sequential Vertex Coloring algorithm +implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/libs/graph/doc/sequential_vertex_coloring.html @@ -53,6 +52,7 @@ such that no edge connects two identically colored vertices. possible color that is not used by its neighbors, to each vertex. - The returned rows are ordered in ascending order of the vertex value. - Sequential Vertex Coloring Running Time: :math:`O(|V|*(|d| + |k|))` + - where :math:`|V|` is the number of vertices, - :math:`|d|` is the maximum degree of the vertices in the graph, - :math:`|k|` is the number of colors used. @@ -74,7 +74,7 @@ Signatures :end-before: -- q2 .. index:: - single: sequentialVertexColoring - Experimental on v3.2 + single: sequentialVertexColoring -- Experimental on v3.2 .. Parameters, Inner query & result columns @@ -84,13 +84,14 @@ Parameters =================== ====================== ================================================= Parameter Type Description =================== ====================== ================================================= -**Edges SQL** ``TEXT`` SQL query described in `Inner query`_. +**Edges SQL** ``TEXT`` Inner query as described below. =================== ====================== ================================================= Inner query ------------------------------------------------------------------------------- -.. rubric:: Edges SQL +:Edges SQL: an SQL query of an **undirected** graph, which should return + a set of rows with the following columns: .. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start From 0fedf9c10777b20e6b3502a048a5b2a24a17d74a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 4 Aug 2020 10:52:29 +0530 Subject: [PATCH 0299/1360] [depthFirstSearch] Updated the documentation --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index f038af5b75a..fe11b16fb4a 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -10,9 +10,8 @@ pgr_depthFirstSearch - Experimental =============================================================================== -``pgr_depthFirstSearch`` — Returns the traversal order(s) using Depth First -Search algorithm. In particular, the Depth First Search algorithm and the -Undirected DFS algorithm implemented by Boost.Graph. +``pgr_depthFirstSearch`` — The Depth First Search and the Undirected DFS algorithm +implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/libs/graph/doc/depth_first_search.html @@ -166,7 +165,7 @@ Additional Examples The examples of this section are based on the :doc:`sampledata` network. -Example: No internal ordering on traversal +**Example: No internal ordering on traversal** .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: -- q4 From bb4b4b56ea1489409436cd241a55caeacfa5d0bd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 4 Aug 2020 18:06:34 +0530 Subject: [PATCH 0300/1360] [depthFirstSearch] Updated documentation & docqueries --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 11 ++++--- .../doc-pgr_depthFirstSearch.result | 32 +++++++++++-------- .../doc-pgr_depthFirstSearch.test.sql | 8 ++--- 3 files changed, 27 insertions(+), 24 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index fe11b16fb4a..ce28d6a8ff5 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -167,14 +167,17 @@ The examples of this section are based on the :doc:`sampledata` network. **Example: No internal ordering on traversal** +In the following query, the inner query of the example: "Using defaults" is modified +so that the data is entered into the algorithm is given in the reverse ordering of the id. + .. literalinclude:: doc-pgr_depthFirstSearch.queries :start-after: -- q4 :end-before: -- q5 -Here, the edge from :math:`2` to :math:`5` has a cost of :math:`1.016` which is -greater than the cost of edge from :math:`2` to :math:`3`, which is :math:`1.004`. -Yet, the edge with greater cost is traversed first, because it comes first in the -``Edges SQL``. +The resulting traversal is different. + +The left image shows the result with asending order of ids and the right image shows +with descending order of ids: See Also diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result index bb94e2ac1dc..5f4a505c9af 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result @@ -70,23 +70,27 @@ SELECT * FROM pgr_depthFirstSearch( (16 rows) -- q4 -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; -UPDATE 18 SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id <= 4 + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id DESC', - 1, directed => false + 2 ); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+-------+---------- - 1 | 0 | 1 | 1 | -1 | 0 | 0 - 2 | 1 | 1 | 2 | 1 | 1.001 | 1.001 - 3 | 2 | 1 | 5 | 4 | 1.016 | 2.017 - 4 | 2 | 1 | 3 | 2 | 1.004 | 2.005 - 5 | 3 | 1 | 4 | 3 | 1.009 | 3.014 -(5 rows) + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 2 | 2 | -1 | 0 | 0 + 2 | 1 | 2 | 5 | 4 | 1 | 1 + 3 | 2 | 2 | 10 | 10 | 1 | 2 + 4 | 3 | 2 | 13 | 14 | 1 | 3 + 5 | 3 | 2 | 11 | 12 | 1 | 3 + 6 | 4 | 2 | 12 | 13 | 1 | 4 + 7 | 5 | 2 | 9 | 15 | 1 | 5 + 8 | 6 | 2 | 4 | 16 | 1 | 6 + 9 | 7 | 2 | 3 | 3 | 1 | 7 + 10 | 8 | 2 | 6 | 5 | 1 | 8 + 11 | 2 | 2 | 8 | 7 | 1 | 2 + 12 | 3 | 2 | 7 | 6 | 1 | 3 + 13 | 1 | 2 | 1 | 1 | 1 | 1 +(13 rows) -- q5 ROLLBACK; diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql index 7ebcaf19238..6153c0a7c2f 100644 --- a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql +++ b/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql @@ -17,13 +17,9 @@ SELECT * FROM pgr_depthFirstSearch( ARRAY[11, 2], directed => false, max_depth => 2 ); \echo -- q4 -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; - SELECT * FROM pgr_depthFirstSearch( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id <= 4 + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id DESC', - 1, directed => false + 2 ); \echo -- q5 From 174bb405b2b4caf6787b7d338a9a1eb1c11ed8c2 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 4 Aug 2020 20:23:44 +0530 Subject: [PATCH 0301/1360] [depthFirstSearch] Updated the doc --- doc/depthFirstSearch/pgr_depthFirstSearch.rst | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index ce28d6a8ff5..5d91b0f2559 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -10,8 +10,8 @@ pgr_depthFirstSearch - Experimental =============================================================================== -``pgr_depthFirstSearch`` — The Depth First Search and the Undirected DFS algorithm -implemented by Boost.Graph. +``pgr_depthFirstSearch`` — Returns a depth first search traversal of the graph. +The graph can be directed or undirected. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/libs/graph/doc/depth_first_search.html @@ -36,16 +36,18 @@ implemented by Boost.Graph. Description ------------------------------------------------------------------------------- -Depth First Search algorithm is a traversal algorithm which starts from a root vertex -and visits all the vertices in a graph, in the depth-first search traversal order. +Depth First Search algorithm is a traversal algorithm which starts from a root vertex, +goes as deep as possible, and backtracks once a vertex is reached with no adjacent vertices +or with all visited adjacent vertices. The traversal continues until all the vertices +reachable from the root vertex are visited. **The main Characteristics are:** - The implementation works for both **directed** and **undirected** graphs. -- Provides the Depth First Search traversal order from a root vertex to - a particular maximum depth level. -- An optional non-negative maximum depth parameter (``max_depth``) can be - specified to get the results up to a particular depth. +- Provides the Depth First Search traversal order from a root vertex or from a + set of root vertices. +- An optional non-negative maximum depth parameter to limit the results up to + a particular depth. - For optimization purposes, any duplicated values in the `Root vids` are ignored. - It does not produce the shortest path from a root vertex to a target vertex. @@ -139,7 +141,7 @@ Parameter Type Default Description **directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is `Directed` - When ``false`` the graph is `Undirected`. -**max_depth** ``BIGINT`` :math:`9223372036854775807` Upper limit for depth of node in the tree +**max_depth** ``BIGINT`` :math:`9223372036854775807` Upper limit for the depth of traversal - When value is ``Negative`` then **throws error** =================== =========== =========================== ================================================= @@ -179,6 +181,7 @@ The resulting traversal is different. The left image shows the result with asending order of ids and the right image shows with descending order of ids: +TODO here comes the images See Also ------------------------------------------------------------------------------- From 578f61fc146f273f071eff219d94eb14bae81cdc Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 4 Aug 2020 20:23:54 +0530 Subject: [PATCH 0302/1360] [sequentialVertexColoring] Updated the doc --- doc/graphColoring/pgr_sequentialVertexColoring.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/graphColoring/pgr_sequentialVertexColoring.rst index 9b022dc744d..f35c18beaca 100644 --- a/doc/graphColoring/pgr_sequentialVertexColoring.rst +++ b/doc/graphColoring/pgr_sequentialVertexColoring.rst @@ -10,8 +10,8 @@ pgr_sequentialVertexColoring - Experimental =============================================================================== -``pgr_sequentialVertexColoring`` — The Sequential Vertex Coloring algorithm -implemented by Boost.Graph. +``pgr_sequentialVertexColoring`` — Returns the vertex coloring of an undirected graph, +using greedy approach. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/libs/graph/doc/sequential_vertex_coloring.html @@ -54,8 +54,8 @@ such that no edge connects two identically colored vertices. - Sequential Vertex Coloring Running Time: :math:`O(|V|*(|d| + |k|))` - where :math:`|V|` is the number of vertices, - - :math:`|d|` is the maximum degree of the vertices in the graph, - - :math:`|k|` is the number of colors used. + - :math:`d` is the maximum degree of the vertices in the graph, + - :math:`k` is the number of colors used. Signatures ------------------------------------------------------------------------------ From 53dc10feb84ccb36b68d0c586d814c763023d085 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 4 Aug 2020 20:24:14 +0530 Subject: [PATCH 0303/1360] [depthFirstSearch] Added comments in pgtap test - issue1348 --- pgtap/depthFirstSearch/issue1348.sql | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pgtap/depthFirstSearch/issue1348.sql b/pgtap/depthFirstSearch/issue1348.sql index 2711cb34029..9df806f94ac 100644 --- a/pgtap/depthFirstSearch/issue1348.sql +++ b/pgtap/depthFirstSearch/issue1348.sql @@ -21,6 +21,8 @@ SELECT id, source, target, cost, reverse_cost FROM sample_table ORDER BY id; +-- Query 1 (Directed) + PREPARE q1 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -37,6 +39,8 @@ SELECT set_eq('q1', ); +-- Query 2 (Directed) + PREPARE q2 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -53,6 +57,8 @@ SELECT set_eq('q2', ); +-- Query 3 (Directed with max_depth) + PREPARE q3 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -68,6 +74,8 @@ SELECT set_eq('q3', ); +-- Query 4 (Vertex does not exist) + PREPARE q4 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -80,6 +88,8 @@ SELECT set_eq('q4', ); +-- Query 5 (Undirected) + PREPARE q5 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -96,6 +106,8 @@ SELECT set_eq('q5', ); +-- Query 6 (Undirected) + PREPARE q6 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -112,6 +124,8 @@ SELECT set_eq('q6', ); +-- Query 7 (Undirected with max_depth) + PREPARE q7 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', @@ -128,6 +142,8 @@ SELECT set_eq('q7', ); +-- Query 8 (Multiple Vertices) + PREPARE q8 AS SELECT * FROM pgr_depthFirstSearch ( 'q0', From 22623cdac7f780195d4acf035b7508a77bdf04cf Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 4 Aug 2020 20:49:07 +0530 Subject: [PATCH 0304/1360] [sequentialVertexColoring] Renamed directory from graphColoring to coloring --- configuration.conf | 2 +- doc/{graphColoring => coloring}/CMakeLists.txt | 0 .../pgr_sequentialVertexColoring.rst | 0 docqueries/{graphColoring => coloring}/CMakeLists.txt | 0 .../doc-pgr_sequentialVertexColoring.result | 0 .../doc-pgr_sequentialVertexColoring.test.sql | 0 docqueries/{graphColoring => coloring}/test.conf | 0 .../pgr_sequentialVertexColoring.hpp | 6 +++--- .../sequentialVertexColoring_driver.h | 6 +++--- .../sequentialVertexColoring/edge_cases.sql | 0 .../sequentialVertexColoring/inner_query.sql | 0 .../sequentialVertexColoring/no_crash_test.sql | 0 .../sequentialVertexColoring/types_check.sql | 0 sql/{graphColoring => coloring}/CMakeLists.txt | 0 .../_sequentialVertexColoring.sql | 0 .../sequentialVertexColoring.sql | 0 src/{graphColoring => coloring}/CMakeLists.txt | 2 +- src/{graphColoring => coloring}/sequentialVertexColoring.c | 2 +- .../sequentialVertexColoring_driver.cpp | 4 ++-- 19 files changed, 11 insertions(+), 11 deletions(-) rename doc/{graphColoring => coloring}/CMakeLists.txt (100%) rename doc/{graphColoring => coloring}/pgr_sequentialVertexColoring.rst (100%) rename docqueries/{graphColoring => coloring}/CMakeLists.txt (100%) rename docqueries/{graphColoring => coloring}/doc-pgr_sequentialVertexColoring.result (100%) rename docqueries/{graphColoring => coloring}/doc-pgr_sequentialVertexColoring.test.sql (100%) rename docqueries/{graphColoring => coloring}/test.conf (100%) rename include/{graphColoring => coloring}/pgr_sequentialVertexColoring.hpp (96%) rename include/drivers/{graphColoring => coloring}/sequentialVertexColoring_driver.h (89%) rename pgtap/{graphColoring => coloring}/sequentialVertexColoring/edge_cases.sql (100%) rename pgtap/{graphColoring => coloring}/sequentialVertexColoring/inner_query.sql (100%) rename pgtap/{graphColoring => coloring}/sequentialVertexColoring/no_crash_test.sql (100%) rename pgtap/{graphColoring => coloring}/sequentialVertexColoring/types_check.sql (100%) rename sql/{graphColoring => coloring}/CMakeLists.txt (100%) rename sql/{graphColoring => coloring}/_sequentialVertexColoring.sql (100%) rename sql/{graphColoring => coloring}/sequentialVertexColoring.sql (100%) rename src/{graphColoring => coloring}/CMakeLists.txt (70%) rename src/{graphColoring => coloring}/sequentialVertexColoring.c (98%) rename src/{graphColoring => coloring}/sequentialVertexColoring_driver.cpp (97%) diff --git a/configuration.conf b/configuration.conf index f14de916ee5..86a8a17ac52 100644 --- a/configuration.conf +++ b/configuration.conf @@ -41,7 +41,7 @@ topologicalSort | Y | Y | Y transitiveClosure | Y | Y | Y breadthFirstSearch | Y | Y | Y depthFirstSearch | Y | Y | Y -graphColoring | Y | Y | Y +coloring | Y | Y | Y #---------------------- # SQL only directories #---------------------- diff --git a/doc/graphColoring/CMakeLists.txt b/doc/coloring/CMakeLists.txt similarity index 100% rename from doc/graphColoring/CMakeLists.txt rename to doc/coloring/CMakeLists.txt diff --git a/doc/graphColoring/pgr_sequentialVertexColoring.rst b/doc/coloring/pgr_sequentialVertexColoring.rst similarity index 100% rename from doc/graphColoring/pgr_sequentialVertexColoring.rst rename to doc/coloring/pgr_sequentialVertexColoring.rst diff --git a/docqueries/graphColoring/CMakeLists.txt b/docqueries/coloring/CMakeLists.txt similarity index 100% rename from docqueries/graphColoring/CMakeLists.txt rename to docqueries/coloring/CMakeLists.txt diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result b/docqueries/coloring/doc-pgr_sequentialVertexColoring.result similarity index 100% rename from docqueries/graphColoring/doc-pgr_sequentialVertexColoring.result rename to docqueries/coloring/doc-pgr_sequentialVertexColoring.result diff --git a/docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql b/docqueries/coloring/doc-pgr_sequentialVertexColoring.test.sql similarity index 100% rename from docqueries/graphColoring/doc-pgr_sequentialVertexColoring.test.sql rename to docqueries/coloring/doc-pgr_sequentialVertexColoring.test.sql diff --git a/docqueries/graphColoring/test.conf b/docqueries/coloring/test.conf similarity index 100% rename from docqueries/graphColoring/test.conf rename to docqueries/coloring/test.conf diff --git a/include/graphColoring/pgr_sequentialVertexColoring.hpp b/include/coloring/pgr_sequentialVertexColoring.hpp similarity index 96% rename from include/graphColoring/pgr_sequentialVertexColoring.hpp rename to include/coloring/pgr_sequentialVertexColoring.hpp index 0aa36dbcc90..35f2170bd1b 100644 --- a/include/graphColoring/pgr_sequentialVertexColoring.hpp +++ b/include/coloring/pgr_sequentialVertexColoring.hpp @@ -21,8 +21,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_GRAPHCOLORING_PGR_SEQUENTIALVERTEXCOLORING_HPP_ -#define INCLUDE_GRAPHCOLORING_PGR_SEQUENTIALVERTEXCOLORING_HPP_ +#ifndef INCLUDE_COLORING_PGR_SEQUENTIALVERTEXCOLORING_HPP_ +#define INCLUDE_COLORING_PGR_SEQUENTIALVERTEXCOLORING_HPP_ #pragma once @@ -146,4 +146,4 @@ class Pgr_sequentialVertexColoring { } // namespace functions } // namespace pgrouting -#endif // INCLUDE_GRAPHCOLORING_PGR_SEQUENTIALVERTEXCOLORING_HPP_ +#endif // INCLUDE_COLORING_PGR_SEQUENTIALVERTEXCOLORING_HPP_ diff --git a/include/drivers/graphColoring/sequentialVertexColoring_driver.h b/include/drivers/coloring/sequentialVertexColoring_driver.h similarity index 89% rename from include/drivers/graphColoring/sequentialVertexColoring_driver.h rename to include/drivers/coloring/sequentialVertexColoring_driver.h index 4887c4f4c31..5e96006e4a7 100644 --- a/include/drivers/graphColoring/sequentialVertexColoring_driver.h +++ b/include/drivers/coloring/sequentialVertexColoring_driver.h @@ -27,8 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_DRIVERS_GRAPHCOLORING_SEQUENTIALVERTEXCOLORING_DRIVER_H_ -#define INCLUDE_DRIVERS_GRAPHCOLORING_SEQUENTIALVERTEXCOLORING_DRIVER_H_ +#ifndef INCLUDE_DRIVERS_COLORING_SEQUENTIALVERTEXCOLORING_DRIVER_H_ +#define INCLUDE_DRIVERS_COLORING_SEQUENTIALVERTEXCOLORING_DRIVER_H_ #pragma once /* for size-t */ @@ -67,4 +67,4 @@ extern "C" { } #endif -#endif // INCLUDE_DRIVERS_GRAPHCOLORING_SEQUENTIALVERTEXCOLORING_DRIVER_H_ +#endif // INCLUDE_DRIVERS_COLORING_SEQUENTIALVERTEXCOLORING_DRIVER_H_ diff --git a/pgtap/graphColoring/sequentialVertexColoring/edge_cases.sql b/pgtap/coloring/sequentialVertexColoring/edge_cases.sql similarity index 100% rename from pgtap/graphColoring/sequentialVertexColoring/edge_cases.sql rename to pgtap/coloring/sequentialVertexColoring/edge_cases.sql diff --git a/pgtap/graphColoring/sequentialVertexColoring/inner_query.sql b/pgtap/coloring/sequentialVertexColoring/inner_query.sql similarity index 100% rename from pgtap/graphColoring/sequentialVertexColoring/inner_query.sql rename to pgtap/coloring/sequentialVertexColoring/inner_query.sql diff --git a/pgtap/graphColoring/sequentialVertexColoring/no_crash_test.sql b/pgtap/coloring/sequentialVertexColoring/no_crash_test.sql similarity index 100% rename from pgtap/graphColoring/sequentialVertexColoring/no_crash_test.sql rename to pgtap/coloring/sequentialVertexColoring/no_crash_test.sql diff --git a/pgtap/graphColoring/sequentialVertexColoring/types_check.sql b/pgtap/coloring/sequentialVertexColoring/types_check.sql similarity index 100% rename from pgtap/graphColoring/sequentialVertexColoring/types_check.sql rename to pgtap/coloring/sequentialVertexColoring/types_check.sql diff --git a/sql/graphColoring/CMakeLists.txt b/sql/coloring/CMakeLists.txt similarity index 100% rename from sql/graphColoring/CMakeLists.txt rename to sql/coloring/CMakeLists.txt diff --git a/sql/graphColoring/_sequentialVertexColoring.sql b/sql/coloring/_sequentialVertexColoring.sql similarity index 100% rename from sql/graphColoring/_sequentialVertexColoring.sql rename to sql/coloring/_sequentialVertexColoring.sql diff --git a/sql/graphColoring/sequentialVertexColoring.sql b/sql/coloring/sequentialVertexColoring.sql similarity index 100% rename from sql/graphColoring/sequentialVertexColoring.sql rename to sql/coloring/sequentialVertexColoring.sql diff --git a/src/graphColoring/CMakeLists.txt b/src/coloring/CMakeLists.txt similarity index 70% rename from src/graphColoring/CMakeLists.txt rename to src/coloring/CMakeLists.txt index 2f6cc0de226..072df65b08e 100644 --- a/src/graphColoring/CMakeLists.txt +++ b/src/coloring/CMakeLists.txt @@ -1,4 +1,4 @@ -ADD_LIBRARY(graphColoring OBJECT +ADD_LIBRARY(coloring OBJECT sequentialVertexColoring.c sequentialVertexColoring_driver.cpp ) diff --git a/src/graphColoring/sequentialVertexColoring.c b/src/coloring/sequentialVertexColoring.c similarity index 98% rename from src/graphColoring/sequentialVertexColoring.c rename to src/coloring/sequentialVertexColoring.c index f33e827c6b3..e22a4fe6f9b 100644 --- a/src/graphColoring/sequentialVertexColoring.c +++ b/src/coloring/sequentialVertexColoring.c @@ -42,7 +42,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "drivers/graphColoring/sequentialVertexColoring_driver.h" +#include "drivers/coloring/sequentialVertexColoring_driver.h" PGDLLEXPORT Datum _pgr_sequentialvertexcoloring(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_sequentialvertexcoloring); diff --git a/src/graphColoring/sequentialVertexColoring_driver.cpp b/src/coloring/sequentialVertexColoring_driver.cpp similarity index 97% rename from src/graphColoring/sequentialVertexColoring_driver.cpp rename to src/coloring/sequentialVertexColoring_driver.cpp index b0feeb602e7..de1ec386eaa 100644 --- a/src/graphColoring/sequentialVertexColoring_driver.cpp +++ b/src/coloring/sequentialVertexColoring_driver.cpp @@ -26,7 +26,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "drivers/graphColoring/sequentialVertexColoring_driver.h" +#include "drivers/coloring/sequentialVertexColoring_driver.h" #include #include @@ -36,7 +36,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" -#include "graphColoring/pgr_sequentialVertexColoring.hpp" +#include "coloring/pgr_sequentialVertexColoring.hpp" /** @file sequentialVertexColoring_driver.cpp * @brief Handles actual calling of function in the `pgr_sequentialVertexColoring.hpp` file. From 580848d4352878f2e5aba410ab1a2c45cfbb7e94 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 5 Aug 2020 00:39:19 +0530 Subject: [PATCH 0305/1360] [depthFirstSearch] Added the graph images in the doc --- doc/depthFirstSearch/CMakeLists.txt | 3 ++- doc/depthFirstSearch/images/CMakeLists.txt | 11 +++++++++++ .../images/Fig1-AscendingOrder.png | Bin 0 -> 19025 bytes .../images/Fig2-DescendingOrder.png | Bin 0 -> 18907 bytes doc/depthFirstSearch/pgr_depthFirstSearch.rst | 10 ++++++++-- 5 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 doc/depthFirstSearch/images/CMakeLists.txt create mode 100644 doc/depthFirstSearch/images/Fig1-AscendingOrder.png create mode 100644 doc/depthFirstSearch/images/Fig2-DescendingOrder.png diff --git a/doc/depthFirstSearch/CMakeLists.txt b/doc/depthFirstSearch/CMakeLists.txt index 9dbec02987e..def5f96684c 100644 --- a/doc/depthFirstSearch/CMakeLists.txt +++ b/doc/depthFirstSearch/CMakeLists.txt @@ -8,5 +8,6 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() +add_subdirectory("images") set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) - +set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} PARENT_SCOPE) diff --git a/doc/depthFirstSearch/images/CMakeLists.txt b/doc/depthFirstSearch/images/CMakeLists.txt new file mode 100644 index 00000000000..cf301b7ace2 --- /dev/null +++ b/doc/depthFirstSearch/images/CMakeLists.txt @@ -0,0 +1,11 @@ +SET(LOCAL_FILES + Fig1-AscendingOrder.png + Fig2-DescendingOrder.png + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}" COPYONLY) + list(APPEND LOCAL_IMG_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}") +endforeach() + +set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/doc/depthFirstSearch/images/Fig1-AscendingOrder.png b/doc/depthFirstSearch/images/Fig1-AscendingOrder.png new file mode 100644 index 0000000000000000000000000000000000000000..d0d7c93bb378f8cb404facda9542c77fff0283c1 GIT binary patch literal 19025 zcmd3tbx>7dxbEqc?hZjZq(fS|yFrxh?vhke>F!SHk`Pq7OS-$e;ePwvd;YyMXXea3 zcXSW3*?aB9THp7+&+~g;zp5xnqoEL^KtVyF$;!M}gMxzYhCGlEz%#yt{gO~nxC-7H zI<9Ia9+ZyG4(3+2W|Xd8j%Ji*o>t~iP@eOZX}aztfk(d zWT#QfXz%a?i8uPY@SW(1Y>Qd`EPub%BVv1BVf+09GGk-d_GM2J_T7Ojf`bhj{^RTo z)(!;g2e0q?EEL58k2Va|I42rLoh~c6l|F_FFT4~Ozr_=@)+<(@&`CQ24mg8PAKm>A zp3?b7mtPCxx?r@kd=2!~TVAMZpn$z(=yRwZn%(W}yvO!kG4Ab2*4fsM@;o~tVfCYU zBw5EGKtJI;&t7pHFI-8wxEHdRcDb%=CFjH%u8yePW)Zl5MTagM2a9hwkqrqBi}fwVJ)qGm<_1_4-n4jbJgUt1?rf zP))nc3E~Dv@J}LLe%Hk1j12jG@&5*$9A~UB(TiEj`$xOl<|1|dxJCHx(2dZR8jE35 zrB4wx)AUbDNj5eU_msNK+rk8O+3A8LZ*>0c1Q%9a%2|2(nu0iahKBkHo06KMG@H_f z#`$yy=vN9XO%v8Ol^zZP1p86b{GBeQw^&l7R-39)WOkRbcSC%WLv=#}3x|W%KLWod zYU{c+OgC|o6#R24&h(gbYg)o+aPR&~m+3oDTAcZu)u62v;PV(+(V{)`IGixTbfUXa z!mwqBM8_vPKtyzL$x5V-KyO){F}MHmav;OmJiVA9&LU2>tm`{+- zaAvCA+nTdCBs5|4aJTWTKk7M=bMTgDyWPC+Mma-#BbQ#>oXBKQ&uvanw`_57y*_zy z>K8tx)0=0Yb#a!lYnN@)mH*JJqe;Qp8*kCLaBR!vSp_%0WuR?cX^PU{$i>Uo?)!UyC-R|75>i)8oWGA}W`!{|IHPC)M`a) zPe!=ia6wY}NR0o4Z59PBM0T}|?)sn>{z-VL?Aep6@wdn^SY#88$O^|R38zvd_f(81w2w?4&A+{p!SCT~A-6!B_}CiXQzkejRGubjtmW}h zmusO`_9E|qK1ftS>I1jk4!?VmH1%Th_QyBu8EoxGPGx3EPz%izm2@-C_yno#ZT={B zgQIdCzlEe3%~Wifx_~p+i_3@5gG#3v7 zf(f-@t>BS@Nc3A&-FF6QAD2v8#KiT#ShYx9_`d6TbVsRqz98((?plmL!}>Xxq*pdK z15ZP%O(#T1S5Q`%c63b%~NX z4c|)Ak8#x2eWjHn_Z{htOeqJohbJB-=&RA?Yg@O;FdBR~*xCYpu68Me3D3Bg6_H6h zH!6~AN)2v`Krb~ctKE-Gp98Dzmu9%;U{(nx&atODxAg;h+IYT*Wjo^U1>dneS{X!Kl5Xr?%?O63p<~e!+r0WJVAl>arxWP`of-Y?D}7W~eJCfDoJV zq(mttcaEMBH^H5KIyZSg&qO<@!Q`WV#?-l%xd$BO>f2hY)$|`XmrjX6{&}U+GMN8x zVYS{!=L_;tu;)gvA`>3v{7@#bP-USLF|^(c@;A+#Cy*pcDkjw3I3vTqhKW*k{9dBO zDf63#(rNKsp+onh_UQHvuRC(xrVa*8EoUY7`L97kDP|YR?XMk82VGlOU9z8W-ncv} zHSqhNp)M#TKy!7KprhCn1ckZQq3dfF|!gm4K5M2Z_HhEq{8G>G2eFl6mBNmE-ZVSw zPOx7Gaj}TLPWZ6>1C=XCyUs2@PwSD`M>cIMg!Fw1b(%I|y2uqS9I|L!eI+dZxv_jB z7E@6ok)S0Tl~Qh0jEDaRo~LLPp8%fhkh$mg=E(yUesrAXc=MGU(hI+wFFEEpZZrtL zToa-+a4atWuxiH0sppLEfc+pVH++h0%@o1vLSC?*B}$gbc4C8`q53A|u-hd>VGCy1 z>X?Y}iR^r6H04Hc)6S6PM!z7#vxWV27Ui^+3Qc`y+f_gJx4aaj`VxtMiG@!g(zGLF z&z49-7&`60JVq77s?tgcWL}YM!5Yd{3w%Q^MgK0Ho6;$W)iU-YrNq%>#zxWCoc2=l z8u3n(Y`tbv{*=-l+%ddz(W&fZz-7u$GnIFd+p?<4j zZcb59Z2fN6o()UsDz^|xj4U{IOjvrej&oged)bWU;1I$wHXul-6`694xDsqZm$phB z6I5dwd`Vy?VS#qE!Enf8wL-mZJ+`!F4i8`AT};6H=qd2|P7g_%VuCvDYp}DO|>R;!hgeeDCW%OICw3Z_8&s;uXsB zy+;;&h6}x_AJ~>otvw$UkNoo_`Ut(yzLHN!ebMAqB6ZDw-{qZ=oonPnrNbkAH1jR} zTh~7+H#LOlzT$M*_vF8!X9S4R=c`$LQ$}UCxwDaIT!^lAk;b?&yk6bA!-XfGq)I6$ zzCDo9T^(}Rr(JQ`Q3^k9@>^%awEjm4_2+d}!TdgMW^IPq3Y(9K_N?Swh6zqY158TF zZi_C9L7Qs$wgMpndRzPia6GL7~4mkd?-a zPq9I|^1+_e4Q^tC0p$ZGX05CTIR`$}LX|#xt5fc)>%yuYQA%mld$K`! zJt|q>g3eoF4CCL;+Li85%${7+aTC=T|E!w=F-#=icDP%no7nwM;7NhT+#P_HmidDq zLlsF)bf-o(PfYWAo{_of0b}IEvKap8)rARNQ>`oZ+bxX0L9sJ1hfSnYAvs2{esBAc zWu$)m6+X(L{LWs_%lA3pbL3K7mz(GvLm?;MKixVFY-jI0kQX zQF#qhoU4#Nv;}z(mBEma%=^05i=4*1X=F4=Xu7uT;0f|N2r0j=&QOz+L(nYv-KolW zfq5nNx%jm_JaZ)V4_yPezkQU%*};bI45E_}Dv{OO^uM7hu3$_fN=xa!4%J-fXpc%h ze2dro?KGzaf#ws*`44->mXRNMyVU)5W9c}kBx>fu2F!L7gEZ8&@hPk}>|{+gU0$7{ zGe)il7B_sR2JFT-<#{BD3x=U%cE9OK2{%6m?w3lD6rIgZyw|VJS#Z2rV$|OXYB0jF z3|r3}RQ=5Nj^gQ2_TnJF6|SSSHpcK*@B%sF^+Xl2Nzvk2?jCjsqo0kwvrDBSG}$NV z?*TVaVG12}C|K$Z4ks1IoPP*RJ{gn>`bWg(n&>6ppK;V$iNTIvYJ7jauD*&}-hAQ8 z36F;t^jp;o^&&{9Ze9ni{w33d^xQdu;^Pp){+Bo2+t()6AL8F2;*7_$x~pItiebgQ zig9Eyu*+Zgh`fb|dExi|*~*dH%_YaDUKxKV9wF!{=?fj2GJ4jle{B4oRX6<4!#~4U zy8pq!lQR9IRp`-S!W62YnXnmpwSd50gdn%v^Iay|&|O+q;eEq+Me*@Z6Z^bVia+BC zS+(_?G#U@%Y@x8Nv!#`k0lb)FCpY0*FoQDDNDLwiog(ie_Wjvz^bcnzm%X#0>f%0o z9`Rb6Ctnj|H~-Vm z)4?7|5`n&TAG6(<02PF!6#ED*bQ87Hajp$E!Y=O1@t-yj5^RTSDajz_Cwx zAT_F_5aP{bk{c+`@Zp$*WbtXyLwMIW!pLR*-?1M>s-<2=&O5;d{^v*`xQn&GE>eu@5PgphA5y;N>z*a30CFxqdE{(PS;d ze{SBIjrfB&^>7Xg^(FIH*@SjDcwt4_ukj@uioGA!Jr$Nr&1ioh9#{N}wlIpbTK@bA zCl{ag8@r^+4)@VkWIP8&#T3QOVSu;)!YhuI6NExGeOcq#S(|qi@(d_PoAFfr%l{r1H77IHtoKwhf)c*8Ubs6&(>93 zwqY$53+UHK^i@$2sI7{fH3-XiM}+W+gNc2xoF2~OTCw_lL!lAOSCs$4u4@E8zmcA& zM!{KHjp7N5Z~RF%<7rv#XA&&Yd-n;hj;z(@(IfCma+^pMP6SjTsp(LMIEU2Ay_w<_#HK{|QH}H#lG+kKW?VmM0;V+IsE-GtP-m4O=>iRTc z!kP2Ve`*o-5jt_4^$G3kD;fhDhRe}*)PL-T!kJ9AHu8LP`@Y`&7D3^Z!)C4V``I}W zA>uop?_l6AJp_vh=FBD-O? zLLp(@@xuI-=V^)H6+A+r$~~^#M@oyYE~w)1d!N>Nu&GkJ-WRcQ<}8i+*3gh%Yh!-6 z_qh2pVAf55A$R;M1Or1n*p9q7b3iS$LW_6WYvuO>_dM^|4W+Q!a#PgJM%~@R0&IXU z`Ww_HXS)

2DG>DHe8>{N-#GfBe2DI|_`5tJx_vxbolcsT|$cN`$x;iwSru{H@pV z!OcJJm0g|ibjZCo;=*JeSVc0dN@N%Apl9@X$aY?EQGXP9^GD@O(rS<7OUe4qn}iN4 zwbtn@&vI_`%1N7pF#*3jl@%WNwDJ-wE&~BHxUW4WCFE&X8S_Q*NtHEcy@PF^bvETv z@Cu+R|Ag=8@KlGeu-)3`nCykMbx6ao?#Bq0C6mKZk;tJ;hhQ>OJ`+7G%TB!c&W7&y zZ>8hveD)^hS$Q-YLA>-g!Y?$xmGUFm*SinW0o*Bf#nt4{k;9K{3e{uc?)aQ~05XPH zNl2*3N=W=CR|GUM!|%J0Ophq(A7haMNyZ>|OspZ5Oy(~UeAajoDpXS_l>#XS_wb6u zakvE1zZzCodp}P9`lG9js4a&12<7DLs^o3AXA9Owz3DZR|c*a!w+}?T`^Q)Zd9nqWC# zDm&;2?D(zIGs&Wy@t>uL5zzQ=wjQ37?BwYZ@;OND8&P#hzCl##51&_adE8Xl|63}$vS0N zQw_}6otbk`@ZvTQUxHVb(n9-@c^TrMT8(TUKEWX!!3?+B1yC%wU%(-~gVoksFt&r@ z%r2N+&^tuhT|!{3T1fkeXmAV#tK4cT6N8(x$A%kt!+BpsIu?NHTHVs#aP4#tWm-}` zh34pp6ot>=v$V0aHnRLIG`W9*7^C7`>!@_b4{$HSM|tV@P%n@_Iqk*q;2C5`8C@4B zDD)o41G?9t#1uS<=qjryiMWXbhs_V`{x0Mv6cia=)98f{LmxBlBf_eZAiE>|=K~e?&wC*M}}B zp{pr%v!02G30w+_fRWMN@qFYcYB^q;_!3QYx_xBI<^^N`Xx)>2$`V5OW)$H`i%*?D*ufZA)5ga$& zp+ncO)pb0L+XfdKJI`veDAQxU?W9AWPAOx|BHQmx4?EHcObr(FX=ggOO%l!1IzxFy z1v5AmnRq(onQv4Q^kR>$TptPbeth^$W3|-k*2%Z@{k1fg%?z{MTx}@!&n`Z06azR^ zd}ftwVZVCYIS#k|sjs4^;fkpolI`ACYLi8Z$idWb??%61y>?yyjqLY)w?oWho1#^z zCrN+1M2a51J)B-F7L0&}Ac^G3+QUB8;$qQYH7UiURY8gQXkV^foz%0Ya&x={ISga+ z-b+1n8 zD*m+_aBBZ7no?(|)vK`9Yil9jKilP>1owhbKtRvQ$qC%|$>XKA=_Uu`tCN*%%yP!b zsid3j{WgM^(u|E>v$_SmmE3l3h1AE$fVhN&g5SU2*OpVh6NY{itJ8kbuhSYzF#b|) zE9TzMrRhCSM85Z3E*hsrY2%Xg zcl>lY)BPU{rE2Axv!emp+-z0_U%q^C4sdzAb%KY3qks1<1ByX>wc3r+uk$#CU*q1+Q-Tkl_O$Kv)vvzLT3x=mAQ#$zCM}n$PT9(*$LZhClU7Q_R@PRsxsN2g zQ>Tf>vhT>9RGp$RZ((PSUX6AYDJ^*x*F`rR(CjALp93&W(%L zgV-CQUedGL9^B#Y5wOwy)#n?@^aS0))H;j{S4#-FcPA9d$bTyHkf#(QK`T2CvZ$q) z+Z<$Vx8AJHtbd|BlQug{ts2`MIY(^|VSg4kcnt@o5(4!<@Cd+49xPPNmnsc-dG6#J zR#z4(Y;NZ3KL1GJf1A5MRq8Tw+Tr)W$ivfkXtB^Jjf9$m)ZQD0Mlw|>PoS7BY^bZN zyOX&+%)2s0;_x$fYDxpEIBGbcHNht;!2WL7* z43^t+Ow`|>8yO997N~4LbH?+f2WMw*GMto()q@c+W-j+8@o;b?bd1W3JN?t%ehSOW z%NrrGNGqzXt*!Te^0r(4sas@)O(=?`MFwh+dQTYIbe)BAcS&A`Qt|!OL9s)}ofMg% zyT-vxrKXBw!Uw2`v4^dl9h->)+19HW{RW#^RNxu^r>JBrG%+;QSfnfc;=aL)4i-K-@aYMIE?3ox*yGJUOzP2Eld?DraSkn zKAoSR_$) z{|r*b?8T@^^{jD#At-Eeii(My(?!A~?9&Ek6|DnfUz7Fd+qWVktdnGP0>j@9F?v2M zgz+vEaC(*s>j&C04&DT6Qf_SSQToJ~_r zEw8@5-nqJF;b)}Cca^~7l}53SU%x8I_@u#Z z^S($swzj{~R5yOfj+jX3U|>*@eebr^dF7*f=-v$@xl2{HSUN7TQuS?cO`|R+=iCP_ zF75u-dT)=E%&<-Ts>;51{iBAd&265v3>KOZ`iiNdS29uL~S=ET7%mm@G2pR z>LWE9wYtpb+)*xn;fXD>-|*i*`JhBC{snI?I58@PiliEBDUXF=v6#(1+%$zOY^LhI z-*22-mj+zga6i^0k$CL)?!cs9`YODwWHmeL;@>wSDtwafE&t~_I7G_ zjD&JZsd@bQUTUe8k)B$dL@rYEzHTr-v`Ak+voOLsEywbD`wSJ^q1nj)m)N|D8cngk zUcmX1{gGoLV~2!b=xih%eOItXf16Zn)q|1C14dkgJT8@lJ<$M{;W-+{?6*G@rBeA} z6-2j^56S+OvG#59VLg>H<(rQ3bW5zEGchyYMnzODnX{!MSHjcH=({^L{PkKpd;kE~ ze`&Yv@Q*kcQ_>c8?R*rM0F5TS7K6^_W40BFK)b=+h~ppQCBvJaZqkmkuDg4g<5TpsX?eq6E+0NxvcRuTV|Ng!8dftZH8rQfFRV5^l0BoZ%-WA_` zh^DF3YhWbF0_`84MXv;?8aWvmO8P)*xS#61F=P#<{n$(X4@dhmmFWoRr1U-P_2$FG zS9_Dve)pGDG+n5W7MRLv*lG!Ov-i{0>~x!l1CTslRDhx^(Ss;F?2hTF9Hh@>f21yNb97Y*?`>IyAgQDUr z?=o8*S=q10Z70H-)kcPAXJ=)q`C;25netdL%a*+{h1Ls=mBP=rpFqJ)Cb=2n9Nj%# z>k)8T4@qJ(u5#M=YXz=+h^_)fPdIVEFxTBf;E=7yYeh=4>21YF8U9XfWAgM!; zVwIN0>yR~HZyZLBCR4m$$#w1fIl4d}yc zsVG9Hk>f=7v(Ks%W(*H%9H zd4Vpb`HijPRvaRZuV#%wEm^XkO<+(5+Mg}*PabHXW#A)0s|5Gj4gvi!8GQ1a@@YML zPjIn;N0=(pEUz^gPUoEky#e_M#(N{0m&=sKr>!-`!ZCtRQgfwMvyX1HSGKk?BRdjSx zARW!)WVzPF=jK=wXnkZv&2F%cK`*9ke|dfY`$@krLplQUw(gZW`U4Tsb+>WWZ+3_Y zY6m+N^hnTbrt>5tA-~c214SxF;`j8bpg5TB+sJd}QCW3WtF>ySn}45Tt-wCopDb1` zG{jemh6(rxd-^9yQqG1?!hX2@=0}SCFdUt)3?lWU+l`> z?)0y0Ia^)rPwTb0S1$Wr4A-uWzPpH$iXqkgdTpgRxmgJB-^rV#Jo#X=^4&Nk+gJRM z!>~xMR(^}#-Etj`twi?-9~eMEi{Kw1<_QfAWe^t5!hAujX7*Cee*7WoKkd7PbNISx zQe$sVtwny(`?yHkRkrdk3L2Ww&WW6yTta+&eqUdoTpcr!PZ1MWYu%$b+gZwE_T44} z%Sw%c|60d6a_!)jYdOsVRga0aTxV$+!JH@+6_tetvEs!~-Y|GXL?(9jZ@@{7FXPA( zKX2QiRN&=w^#x{=(aNEL}>7-wk>xL!huK~@tDc^O5YRNNvR z(necBY7bbEt|iQJn(m#9aD4jQ;C&dZic*Th{NmV|z3!1d!2hjyp32Gl;rK?#zI}a) z{#2R=?qPP|2O&zyp0R(dT3mplh#A?)RL3V0S6L0%?lP#Aqh~d(bj4>Z|Ca`Nhd#D$ z?b80<#Ee$ShVowT-{;Ml@XkpYaryL166eN@ZLyUG$Z~Ne{OK>bpAZvLvrE6MB7tqG zMbxraJ72Nmhd!|Ha!qggvh0O28u_LI#gXd@QP(am*LWmAd7|yS{C%-VfTHTL5r3p| z|31z>)`btVUAd{?3umC#!yHCDUuwD%C@~dc8WJpXjXJF1<%iKP6frQxGB76 zH6fbNX*(kmMVg#ut&1ELNf+BIjZ5k%7-h#qf?DM6*7dsETu0B(eyR5AVTHa_0w`o0 zrX}`@qYock$g`oI1C_oS;%*WYa5BIHlVWJ(f#0T)U{t|##j5SvKp0d;Ior5PWt?8^ ztUi)3+Syl{7xmF_x*)zcA%|{%ysYUJ(SUsa?5G2q6E2^oYpu>~<6$mTHfTGi=4)cp zR~jo81=JF{ZO#cU^xAU|E(z_t(%iwXuWqlDGjHn2Sfl#J=%bG=>KE_q&5lM?N7f9? zPDZCo{rJnsjHL5@qNxf{G}^q$guIvd_+1PwW?y^C5_;-bgkC9QuWn_vnUWn{<`nJVG45_bQd1(Ev{MeC)c?o0WhPywUT$-FdGsW7 zY;UOS>nk1?lku*AN_j;6!|=2~rmA#%^#OLD9P@=Iw~W`|_O_~u`PABxhec4t+z zFoeNXQ-u;ulmc>r9(2?HpB}7)Bv?>efUAJ|zyJFyjx!%=L`;m9t7|~IW$$ipcVh&PDJxLE0T98W z-}t!C1tAORJa$OsFt#flhHrwh3`T{pJ9Bi566K$sRRv)jL%UtQ_zEzgn)#kT(exuYs*Nw#jsTaT(~%Zm^3sJ zj$3xf(TKTZOiWDRG(QIg2Pc9n{N)Q$cXMCZE22CqiLivHWB0bfC5ELUMG|h?f1n=! z%&e}iMtDV-0}YFS`PVoEyMpxj!6_GFquEN|(iV!Zlr{`MLy!!}cHha4M%X5NoAU(Zp`c zR{s73`AtqO2HuZny?{p*hLd~mW}HFpg3n2NF}VEJ_m_KRhHcmIPcJ8(FaCbFYvKFz z4dutJ2UQnJ>UHLdkedt*4V@+u&;blOx7h&hpTB>x2P7d-@$O>hpmvaT5@I@uxve!) z%~l$0lF9upRsHU^l3Q<4==Pfx}T3QBHR;5wl2j(>( z$yc8qpPtN`7829becXfXYD$2Doo{lW_>Z66Dcn@ABz&yVnQFAthgcx99v=Heoi*NJ z4Q^0O10xT|nwYMZ5&{_A2JzuTMm2hD+V;}uC`3-`M}=-Oysr;SH#bfBNzs8^malHV zCZx-=Vc>P3fjamV1YYwvUK$na_%^rpe2drnKEc=erNvTPGK|XQ-jg4bze$Sa6 z&;tf~j=2AQ#J83DrIXFQ2^xA8W|9{54FxhJ5vW&^PM>i}D}*_pC1r4_pgfzr=y5e_J3Tja6*t#dM#nOEusGMe6tbp_3QXnvT+rFZZ->zcH|9kFBjqVyw+1P zAiXf_q@$xN2g|P&6q|R}4o6@!&n$VYR3hWN@tk3_Oe5y9{PqT%GB8K`pn?OV56J@D zrZu&_eshEX;{&WW0P+b1shk$p7u&esDzs_224crWd=`zh($dHTp8-V&{ zJyr6ZhJlJo3@G@4;bBdX=SVw*86I;I3$;dL@oSh-8~+5iF0 zjZP|yR0LlqT&V~T-~PYCP-oAcw<3tP`9?Wo;v|nDy{(Z5KrG{_|Su? zyg!leK07Q-%p9Y3Z!3_L$teM%N5r{#a8M4y6rV*BMp{})2wx`mIeZ(N<`B-Q zPp3>i1LCTLxHvVd+4!9-A0>zOt0cf&E`K3XSPmpGkauFaw;2u$q!vp>SB*uob(CNT z--@=hv?SUKhhtDw8Me7Y2mk~#L(H|Tne>;eA!{^EEiLQ0>j@nB=OFww2rvenbZNtA zF(CmL6gfGU?V<6yQQ>mH2=>8Grf*gPPOvTjZW*-!`owyvwE=Q1!MaY)w7#T)#906u zC#IzAs$P(hju|xA@J`xPw-+Ix5%2yXFs^XDXm(f;Uh>+>)a&qV;o#ulvYw(h^t+lS z4~S-`6HzbPo5+>WPe@KK28f|tG7^7aWTZ;tf{1{i7%=DEvhu39g(Hv!{e*#m0lRN>~HqRdxH+^deVMl4WKvqjesv``>l7|=|c7$Jv{<8r>j;# zN@~tw9gS9}YbRw!fh^0=Yby~21!clzREUm(f}&EVraPav+X6*-kiCMKa~lV;!oY4w z?Ck7Z2KkyCZ#4iB#BV=_WO?s1fR1O?_l=6&1?_0|Uj>%;#V{EJy@50pd|?7uq`A4d zOgkhy;JL*boIX=kbN7Z(AGneGKz*8#ghIFtpeD(N?z)B9Hvqgto`>iLv${Dhz#iOA zmJPH0?@OiI5zxaWL>^CrrA?o0yl;+K+Lo$74b&>Ti-?Za1O!VdTbO0<(6C@`ZVu@3 z>)oHQPZDNntXn(TOI8g!%n`A%+UDlwh3VSGlckXR0J^`bnp#|z*EW$?+4%4h1IIq6q6}XHZ|FM^>njRu9(h4-V%-j^eWhMija&m5}(C&$!&Ho zns>S6GW^dqvwZnb-f!($`l|?C@d^YJdf!#Hf`2Cbdf_}@J|)+ z@!JFoGk)Qy%9ZzF5yZtHZ^(prfzCi)d)G-TTUuJG z*JPjheBIOuM!OW1m9;@Ruy5JI|MTaM6)2F2=S5i}GvrEm|C9&Uvzd|yOTqR~hqY5Y+0ngJMP=j;2 zy1L{9vx^j1<}be*84GK|)4~gM@F+5rPfX>gN|+T|>;Vn9wWFzkFpvkZC2JxzIVWwP7vPE+R5ky_&q8%cL7FwoQ6X8E*~IW@Y+d zuy}xNNV&trJ+(*!81h03IqvN+y6HMihurm_cSm5EwKZ)S4=W4j3db#IhrC$&d+uitIS%&|Vp3-L4HK>bIK<-4X|7nPcf zNORRb21#i++B(bKaJVeK}HxzYD3G(Fm-648GrK z)yE?QWT*uAFz47!d3depcI%o)TQNXB;#?YS{)P$Sk>V5tBE2}1eEHdPSBw8(v#6Op zXnsajf$~GdCiuDCt3Z4oZct>gda-#D@qF_H*u+kjxL?K6T3-x_m@Y>edvS>=s5{wL zvMXQIjz7PXyqDfz@*(K^W?@ME(9^poLb^6;HusD-eX>hDzLliK2bfy$CGJ}s@U;I16IbW1jL$2N z^FQ^*?3vn!QA-FN)O-^$2+{STGb0RRo^iQpW^SzOVeRw{{g_@@3oaY1n0}%;AqVr$ zv6HUv2)fOzf2uX!5goW3Y^LQ(^UMM(=+%GRuRl#!JumD;(3dI#!sfB7l=&R0yj=I( z{Is{Y#~GSDLk-^WnpyU)Gokaz_F4BXb=f#1IxoGCOOYRitQIjr`M2&WpU>^jPa*E6 zO{U;V%>1K0x8pV%`Iv0$za=s{;k13&+ikaUAK19<{9cX9A?5b&+=@rCN-eoUcLSG`USMD7u_xh%{7?KdQ*#^tWIikXqXT6~p%Z^T(PgiC+3UyK(^#bF*7ERDP$3 ztd&roaR6Rmuth$oZJD`R%fUSCQ9@s*)6Ui|=IL`wSdmNZ0WGoROvVTdZ$kYNAEf$ps%4Cq8utal2>Tj65H_D!VWo$ zxf~DQr9K-oiSUXarMu4*_}C{5e|()0N%@-B5S4di_8N8&kDNH4iFL1HIeD2f@>gj| zB-PcW)6#h#Oz3<6{Goc!rKy&3^47xS-tCv-NX(Lb`xZ%*Nn5+6NrM~VMZI8z@BM$= zomUj#XKm?TtQC2H<|Y$N=UcqM}|I zy3d)#(e$vp0$6bXm;kVTU4oMD-|x;@WNU&nk=tck0fJb7Eap&D*Ke|)mS<}(07%bk ztJbCN6_jY4>#U(iDF`#YS3e`VZuVi(zIijS<|q>fNu2~we#V1q>e&R8g%U(70F@FK z7iU^G2N~4@>6+IOhk6K9p!2I96@U@*^7G4opF2lmLa7uwy+?u?11hN=L^8&iZ-8q7 z{0_|EOfv&^2mT4%m#|5f4TOk+>`}wiv;a&z0ah1`Aq*hbG5~>odY%4H{5{5i1G?>w ziB;-1X+g#yI{bXPgJxTR_J-u5V8qB0SRPI5IWS}-Z8KXn{llaO!c**HZ$T&rY!W0T zas@G|ddR69exxKYYnnhabAv_-%#T`#s3s?v{{YiqlIgq-Gtv}(1%Ug>s)2DZF4tWZ z5W9wdTb-t+riT0;j4n-By)1`_Q$VD<9Ig}gmCogbyam_>#X9hgGG3zg)T6W~)&7IG_vfF7XP z_cmfh-lRm*@K&oR>KT=Txr;JzzaVJY|8@;ARxb=Zv)}a@7T7Q?XXjc7w1P*)_uM?F zv6_4XaD*a=26I7@-Q7zkx|Ta@`8P^|3>f2{aEw_XGLg2akcm64RUd? z@4@h786)6)V8U?8b0eDLRj?>)9)#yY)FH_JOM58-7B{vbx#~2V zCi3!#1_Y}WShZO#5`+3kxACu<3}&eNi&g9=D*^Kak+du*4zK47Ou-1x3}ludFOM4J z%6~VuJHh_F2apnseNL5Yvq7S5NUSV9)Haw{36PDHev|)6jbI=y)hVK#NUP?>OlS3! z)B$Y|RW`!JZ9ulhNERu}gLx_l%8~b|A4Z3X96FyGA#+B+fP%9h-bm`PZz=~{08BZQ z^$uN>W~4@x&%W1hv>i`k(N6%}1n@;0pxosY6fVD*t%B%Hkl&!t+kgChbcT=tN&GBR zPLbiS8nFSPwCX9AQtNjmRezbiW#k)K-c)qTK<(R7?X+ z2|>Ag5E075Z=$8oa|=OHL*=siC8DuU55%H9O*4wdI`eqZ>wc6Wl$pdM>`nI;?oWST zg@%NHr6fgON6OZI8D|vm%n&F`aE z4*>oCSZ*)^2KnLJ>dz+5J|w5Zb&CV6sdxj*8{v)zgj&K{OG0ImKWH{r>R@eKylg!8U1X-tkHq$Aeh00P)-QA z1%o6dmx7d>ovFF-2RpKV=k80k2`Xh_-;`J#ZSOC&H32?b-AnERR^m^q9-kh0Aq{Ib zEz9#Fh!k^t+GK(T= zrPfyxAWgn#dwwHw6_ruEq<8+0_q^r~a~;0c{)IR?_2HZNhQubpw!S@VrVqXG^}49g z*fy%}D<%`oz$IPdy^SYj`U;~GUx|V0S$;$pJp1ZgubTjBi7dAp`dOsUD~`9Db0loG z(AO(Zyw_0aD4Z8=TxOZp;nFzkp^V)HY`}L9B<9c%acmm*X!A?gUiINHZ4PWFxJn{f zHz_14=k!84*;|M$ymMTf0pp~P07;i(L#3HY3pXcC;b$KGJT4PA1vErzp=muoUs+DeQ&jj!dr4p5 zVG~df#!815-W4(q(a&7j-S4jzGyIB(OI^_pE*e!o9_K{)ikkGto989&ry8DFQi<_` z{+7+fRrA*RXYW2Xv4`P zQZ1y5qJHBakI?yZFr!;CBm00c7;6})if@)PU>sspQ#G&Imz*pyn6NSgbTTGHuWxQ^E;ndj09wT1H{Hd2;^BuAHXkWHx8ssApJ&kI87@ss zz@p8%G_!22(&0rV&t6FGtP5*Xtz4?*qaW5Ec3o4+qGYUj(%H;+;; zHct7z^>oSXBC9!B!S9P~i$520ec@G70cEA=z|4iy^8P#R?tdS&Ab*11+S_j7W;=iF sxy}cS1qOzYC}0AkOS|{a)qnDjdJa$ZoRMw-+!Vy%>FVdQ&MBb@03lp700000 literal 0 HcmV?d00001 diff --git a/doc/depthFirstSearch/images/Fig2-DescendingOrder.png b/doc/depthFirstSearch/images/Fig2-DescendingOrder.png new file mode 100644 index 0000000000000000000000000000000000000000..ffa21cac4212b3a38f203aeca68df85f64508e64 GIT binary patch literal 18907 zcmc$_WmHws+b;?z(j7`mNr!ZIcXvp4NOwyq(%s!4Ee!&KgmiZ|NH?6h|M$Hg&ZqZ` zGtNDCIMxT(UaY;=oKO7X*%3+#k|>Dyh)_^aDAH15Do{|+zaR(v8*s+w-5+r%D9iyb zH7yqvBlq`?P7dZ)wr1~LJRQy6n|WB7LqT~gw5M4)5tqk>zSKn;z&QVM3J3{b>DKoX zl=h9Ilx-aS?4n0gaIZ$b^$#^+>3Q^p_(sqtaVvdDT<5sKtHWuOA60F+VK&F2#PKwpy>i-c&g1=v-tCx_m_T zTX@pv8eQf87-14Wxu}OQP`ux6*Z%S@M^V`CVaxCP^FwiV5J|s{|2<986%M(8kN5k8 z(_nwm$Mx=gU$L``K#f(hYxaR%OI{1XI)Y}*@%u9B)0I4vS;q~Et$hQHJ6u1+>}@~y zj&u^gSf{HY#SYCq((}Dd5mbB$E~C|BL^aFd&yq$2o00n`Hqyq?UkPF3dfd5`RTO33 znCN_NO_(EE?Z-TEe(+sEjH0qxn|k+Cdo9k;uXUB^k#qGV!;BQMqrE@!vv|2)s8MR& zYKFMTFVF4DC8$o{&WTgOspv%O9X2Fqlc1i_UEI15l7>Y4EUaCeMnxo8s{0mb(vA5q z-63Lc_{@|aO% z!|MnEnZDg^zw$;v!X+3E<%FHf|A)ozRP!ve8JfBgf&M%n4Fj`j%JRyNPziZNIZO5N zBK>|;`(SL|)7rzNWw+H$B^#UD`Hx=!*_uCJKrVMShxDG`}e4eBD-kAf7 z3_;z}H5surDX;L}4ne^ZF<5kb$;dbR>$KxtKqF%s)919wruAFOXoWNhYsLA7-1&vt zp{m|Lq3O1Gm|J%FMRJF*^dYUup|0lJV9_SohPH(PQAN zyAo$*lqDxcYsf@UnvriOtX&pm($z`mI2gm$L1=zAeLmFg>#;ghPbFL$!etQ|Hy6cY zBU2{eHV{k2w5D&~Wc+%{!<4s5$uNE$E~3D17=fa``)8^hLLI^%Qj%tOl7^@y%1JTZ zE3vLQI3e%pA4M159&eBl9K5#-`<5F|h5|DYF+a(0SDsD;(I1%Fo4x&38=+_G^cd$d zIA^0|{{FK|&Jv&Z$7W|aiPtifq9RsV*i%{EKu2>9J%J}onj zL-Fy8meU8RhzU6h7Z@4a_z~Wdw8{52S9Xd#6Q!@s!s~6M&#!M%4>NQYZ4;Qdy&fK@ z(V0~lk-7!;QYVZH54)$adG=-lS~T2b%1N?nu8(>Z5FLkvbW~A2y4=j={RS86v8_#& z3zSsfFe(k?nS7_QtJH|$fRf57zz~gUHZ443VpANu2qCuFklcsT3K5V;@h!sAn{&2v zm-gQN2sSk*jKG-S zjc2}TS+i}A5b_s9WBKZKws-eWb8)`J4QIfmMXvDgPgIO!N6n&1s;QaUif%sJZ=a=^ zwbX?wE$5L?jIN?wDVf@Ff3`PE`Ox$Rp9UwcCcJy@tEbUsu3{C}T?)NNFfy^ln%$=}1&GVIH6PK5ml z40!XrNc?tS5kZ#DF`Szi3hNtchV~QLVhOse*eta!(i*d*dP)7X{&J|kBc;t-7lkCm zA%cSO+A9|x*M>~G5{`Ekq*04HetS9OpWICG1DVvmmOD;z#1t&i;>VWKOBE7j%aM$A znBv*bA5LrkhHARds93r^F}XzTWIIB84NV||`kLQ3+r&2V#m z(63?h(YDJ^IZas1ItNQc+g#RE5iLPeS)?%nds;l>L?JY$TDg?@>1LCjz2@^_wsRB) z-JkegZ$`kz8yVY)HpY}1F5gYK*jx+`wL}rqAx`7zr2a}Ek7O|p47A@gvb4SyqL>xLIXTkQwG`$#H z{Xn=AJXO4eNQAL2V#Gvq37gnIj6?D-moexC!&n}r0^^zJRFdE5N)hS5Xlwtq_Ree6 zf1`%vN3j2TLymGU?$dY&Mda3PSAmq?5Sm;y!naUF!qWB>H1w=;Q?092LDvPzaduJ0+{FR@F)CUVfpb9*zO@PvPb*nE-*RVp(7-dxMDQ~Q~T51)_lRW5JkE12hCk=&1t!g4xi z#Kl=qxK{~MgV5DpXN{;4+gnQPQ8vbCGbJA;zp4chLwR})y5C}cHh`YpL3>q6JjQ9| z=yZ8ZZ;@D=&*1y1W*`Rrn!5nHvzbMVPymyel<1#P4u#4vm-Dr6FrR#mY z8cufnoEs#KmEJw;C68D+dN8~<%u$G(#)Kb66eWJRDpmIT$ORD4wK%%b&@fVb8vKX! zV`hajgZw=d&83O!=&A70JLHjM2tiEUO=f<4IB@;y*h(Igh#;gI`T=#f06 zqt$Dv^^f2WH_9@LkHd2#Rqw@1xyE<5Lla<$**C@TErqZf#eNeGUj<>4zZ&C1*hEos zd1)}zR4#!kUKqlz;=vyT+p>O?!%t0E^_M3(U8ps z18Z8{?VV|#5quxe_rvUkh=W-n@F?@J+qV-}v# zoXqum^mBAYaY9~sRP^0)UswIe!SJdXhg`FMbP*aP632ftrcyDT2-zltPy%_FA;=2mL`Ng4U_1H%*-QEv?G`o^lX% z-&jxWb0rj)FH#VdF5UG~x|M|Pp7R`@O6Bh|on{?d{t$!tb|?$4RI-$Xjp85uQB%fg4zv0`H4j)5>k@=#B zx`J)F+`aSlwz~ip^^{nKO6n&w8!SE)^Rmk4`Fc!BYg8mo#ReAmG0R1#bcV3o@r%76 zba@LWxUrguhy`I8=+L2C)@F~p{Hu2uUrK_4q~MnaHaUlq;SrIzW+k`G0;OA#96dXe zeGmKn3+3Ei_ER2;Yqx#b5Te#NiOQVwV2DvBrC;oXOucK={q}xFRJu~|?qha&W@40S zi)Be9#Avb!4ITIAg?SrNk);pKBpg4zHh$I2eZD!aBJ2nK*YYshINrjrs41*slejN} zkY(hKs_!nn^5LXwQRS~99d{4m_huJm-8CsD2u-dG0QuKyRubB^G3!`1V!S|EjFYylS&Q5qZKl*r!WWO!ozb2 z-9@bkAF`B~cyp>XiBjar3Q=9`rm!8nt?QtV^7v_2Qz&{a-Ww#;wl4XyN=U~K{|iSf zsOP!Zo_r9^N8w$x?HC3MA*ISiFQH+15Xm4SJ*h4ACu#<1j-z?rY7=(Y^sH9LH?Pv?JT)4{;=t2qFwWq9)gI76ME9{r`FTFYZo(q#|4pi= zc)M3yke;SMnWtFq`={uSDY|Dc)T)#<^6Mq(R&Lzg zoz7hI1%~k=$K`a%Ka-cU{ZQXTu!M23YNpq+L>S8O@AUSonY+ZG3t? z%19)rc1)5A6EeAvt-B!Sj~`YEMJoC`$D9=r6VqwYmHcq1wI9eCQ0&|^o_mzL_SI-5A5zw7sfXvY3s+Zd zUkEsB-@aQ|eu1WQo85!Mx}0VONLHkYm!`fQE@pN~ewkDjWF#03ZXD1gGmsre~ zWNe*Y567iw_ZwpOQz-xZUuvves3mD;1@Q=^>AE-~)$ruu0>huQjEe-QB56FnS9{;y zdcED%UfF#nF85)u=XFNh~jXQ$TH;)!Nb~Lo?q*9N^55L?~uqn?aWdS*}`Ia$&%iS z1bo9EEa?)-(1^muvRY8|xP>F?lwwTPGh=q5&q2hA+k|@wUR_T6@&|#FCJw5_!1lr9 zHT*HmNQ<36$)elEYk0m_nmUVyc2KO@1+$AfNAP>gZy2i<)7s$lPM}^XwwOwN$IjVj z!Vb7$y)Pmh^G9;2Zf z4QZbUh9WG6lGPjZf*V};5H=AJ#M1QTyQgmbwnzA^m70&~ZHA-qyMd{HE{1*F+yovn zYd^|OvcW?KtYMa|L-1a{%bBgiRtOG=-?)5`lw-|H_PtXzoQ5=&F^o|HgPa9 z^Kx?D_x1K#?oSkkd_ls-#2$b6@N3h^KWlG+8@t{TAr>KX@nnnj6WhX7_@1{)qmdn z{gu)E@%Hmb7QgOdlSA?A7bt}&n8ebtex_1alKOU;5H$>!UMok}p*@kATBOSvFEke{QmJSd zs!p9bO5mEiZl_;6xTvc2ga_OvaFDWzS+kF_(-&^9Q&2D^C8Z=74y_D4RtOx9X;xz0 z+!;yo!+vr0RHL2l-R&*<0!i-(OF(+X{7vwRA*-r1UPP@%jSo40XADyrmE7X|P11lyk*YZWr%M(j0ho2m{tueQHF4?aIV zOy`Ls)jlx&yM4X(#(BoSWZq^aSuv)`7TWC(o4U^osb-CAe3iepJXty|3rnrbU44E1 z1n*NChh5p+oR&z%ZwzWgki%7%g8tSDsgI)4eP_clr&uOV9V$s`ua)js9kc9r=ZTr$@bB zjFRTvgWhm+rq23MUCb>jr%D%jzP(sqbE4lWvvC$K8)_5MMcH`vPce?76aJ+(n};FJ zfx)oQyl_uzK{-gI8I{qH)FEA7{@ASgY93j1q>`iXWWM;Qz%(ciYyjPzZJezE2i|sD zYlXos)d#aIGU|jw+h5Xm1fhcjr*|*T#e;lq895*U&aK~#OMNE`)1!QA;OdB-AQgu% z&Ou6@K$j=Zy3M6eJO1TiRC|&}I@0!!{6}n3r3hDt71<60zd`xo#QpoLPZ}ymYDU(v z3%&KKnLk=ye{pIccB_*s&oxB6xN>NXuGLdGX82s9{c^ZPFgSavFSA7d>Sy=;D;qYe zKa(sdqSr#@!xD+jsai1>Tle^yUXHq>=ezQ#D@8JKd+drY!xrswAJ-0V| zmWG){C(7$ay(x?&CJJtcMx-nL@v2%Se8;jsaHi#@=6b{C{h4GTQA*WXiNQHS$2aDs z5StJvs7TP}{;wZDFr9fay|!W{U4|H%^juOcvVAo^e*74s{)IvBr_$BIbnB=4weDc` zVuj3!>`dMl2`wmbEmzx>Htlxro0-e~N!Oj>RHx*-wP3W%74K6T8k&f%vK)}-R>LVD zA*CWQCB>ur5!4R(EIw_U*{bP<2Ak=68gY1~5cL6II89X>3i3Z)PHz8QZTD_6@Y<&Y zWhDJaSqTaO#{e_3?^)m5?Z2aggDPKf8Kz2<$=R)^qyz*S;8Akm%fHVWc*{o%KL2cM zZ)Zx;R8h%Wv~QK4ELPNXabYu3SMCW#nf!*wij9Zo+08e}1|Aj9ZlPX!vC%HxD(&?f zrI6|V*3*u1P|M5xU!FshsczRO7zX9LXv9zSuemNnF z|Is+)`eeC0Uov`-P5yYfRa2ojKA;Stb-8N3&cX)t02z6Cbw|e^Zbu#=p8{n5O1yq) zHR=COLq;ZoMWv8HfrE`buX|S(fD}`k3j-4m!aG!B!%5%}+g_5Ols=t(0VY!KNvXNq5>z?C^j z{kded!m7+!J=y7$Fri>$!x&U?Iu4Gc_vIydd1RpLC3r^ZGbX#8u2dEjP!v|&D^u+< zDSca(ZK&knmRCJfD0bSOurp*(kxQmS!041+2;4{fen6SMHUu9`R>76pkI9yQF>P(C zHQoI%d+1$MaP`G=5c%I^FfZp2FLTTf$H0Wl)+^!B!>NUn%A}Q!PTWG8C#{6yynoF6 zKQ}G3kKBI2h-)D@TGtbvmCp|BQ!AGT1k`5ZQ#4$j&qUT~^VAqc;Xf848Lh*>bw25^ zAhX|`Gq5fjOO4nW=%i=l)%(J!wc6SIf}#F3NOQPFGf$7}N$?x?;xXz%F(c#l4(m?x zh=N}4z3ZyZoi?&I5Rf3A;`NqAn8~u-jKx9pGb|S@&v$yC>Yf#; zTb8#0M40NNRSDCSQ_0&Wkya_fZ`t2TpYhlYm#$Iw?H7)4O2{qDQ@?W6 zoLTt#4OOZb#r`rIpcLINQeDZ-ZSmcITQ*t>MT4o6gDZ;e;olYzX7IduwUj0g5pEx9D?%iYFhOx2LMK&*%zRs z`{##K91M(Ho9cFrXue-0Td<&|AcB543Cci8u4q`9eydyIBo-FdG{~6-+j*6dbWSSj z0J7I*MJLOxHh1USEfAE{HaDNMkz$-%D6#?9RL|30UxbV!I!o) zb{h%m0Jsf&(tm=8sHihPKX1ard=diylw2f7X0gU3OruKgE`6xpepv_HgPb1nbXgS@ z^!!&-sx3#gL)b+6&#Tz=i^tfcLKraWsy8RgkgSCiM-r!GVF8$^EH|Q9(t^WRH5_tVAE|q&sLhIXR_b z{sb!pLDBnj*PO18YhI9NVzu~txpzGB_pb(kZC6Kiqe%*Mw6qhi(D-tG{9x|;{kzP3 zB<=q3Vw6S%3WxmTM`dYgX|SbFuopaTMH(tdt^ z#LYyZMwZWycX0)jvPq9SwO`*dX@Drh#=+?eM;F@WLXUp;QKbJn(WIuKZyyOo)hCX0 zc|jj;;fQ_?8hZNSe94f`{yg!oY_11tBdM&Cp+=wpKKp=9H&vzIdf9^}NX^EUAoNVp zAt2DQ`JEU0?OUozw(>2G=S`BAF(UV++`g}G%Ry@6JOl>oBMW&dWN_tjuKK9zHrcC# zK7~*aWM*ng&Bdh^r>3&;pM`4kyg($PQBNS^b=#ZKb(k*B_Pa0E3oC+$c4v{}w%s+I zyWqE<=Cqy50ewl|bz0r5sK37-Eb}mVV|PO7R-?c1 ztfw|~8f;gKFB?jaz~5&(Jc?!i9vN@`7@yk0IMtB&IecBTftDkN|?Vo1WHtmma>mklO*e0mezIGU__5?;>FHpkTeKh5eHyi@$dZdz?}Q5jEJC8So zW_OaKe9JYGHuC6C%`q-s{qs}G$syKAM~8zq^3mR6!dEcc1P2#3kBq9?l1^%z)Dk4C zH&%r@7F8H9$#X?L1g2WZchlz#-a_$PxlTG(F?pB!{JAM&i zfEzQU6RM5i;|&fXT!&vRtwO$4{Am57aM@Yz-2Ci*+U`P|8M zE<+(L_{b&vcZmnw6Pm$-F6ZijC6f_PL$>*@TI;St?@QL_-9zd{m#6yn(?bF`y z3cXpM1>J>X5(}Dnsm7;}thV)eC&fi+6?^+CLR2`?XEd@P@~f$w-K{~_{i8s7Gom4l znOIvh;z5<=F)uHluGbT$<>oi8L0yU+dYwYw`eq0Wk@QjF@15h{SkDlV9Oga{&j1}n-~0|#P!wW5t=!yP&i!{IyX9hL-0OBdZ0MD38 zQKvwQdxu`cliARv=1T0&!Qz_o2>#RO!bjs*KpU~g#M9FywTh+_V{h0LveEWcJY>>* z5{E-2{JBQJX5g_73yPZ@kYjkfE=yY6Ppjyv+f)Fup&WQIGCkLNLE!PFRts!sv7Em5 za6O!mKRY`EyhJS342_7VU^mNK!O;Jy0gxhuQ_K>>^4xF1iseyw1=apX<#eI!NeywR z?e8#Pa7=GbPA|J&p;-c|_I5a()#5v`_tD2MVPWOYyMOVy9COS^v*az4$IiEh*o}UL zIK2e*6v?Mg_+>00vEqN=bzW1qZwSTkD>%fm2-L}CwV>4fi*}_3 zM0^WaqUXBZFkIL_KCTQ8hZiX`=VC{M0@Bw1XNUS1t2Ca^8zFIVai(b>fUH^4V&Hwu z-hRDcQ~08&sHizxrH?~EP|o9eum{0P($WZ!i_!pQN{EkFy?^-=Pc^jeXbBL`LaTc< z1qQ{sFARh!A zxgJcFx?}<7`ZtST76S&VtVqE39#D2O3yZ_8Kk)~X#nF(B-926HGz6VIA3pG)i%mXL zz*h$Zwi6d&WMrg@npy%qZWTw)K?~3|U9YA!4PBneqxtf{21GA1t~7L!)Z5OpKzMj; zY^?QaM|;)J4aDh6T}>2xwlP5M;o+w>E_OzMUI(zGy0)HPMkpFd6{%>bC0GUkAC)vT zl2AcT0F0m$Po+2m2)2|`0NnZ%^*=az{T4MyJgO@4tDAcP#-7GzMOHoydGmb`A!PJw z++k=WGc_jte$J^9QTV0G`4T{oQlGBU*Og78SN8Mkczk>u9CmKjTd22+&&$t8KvbUq z$#OM79!*V6E#=nQzGU`0nxy({vtKntNF7KQ)Fat~hEW8Z8mBAmI7CDY;OjtWR_eEE zXlrZV1C0_M+yW4Wdh-!{0IMZ|mQl^J*vBrih6WGH5l||wfIvI6?PPU0QwfAhRX4ZB z-`|PKU%{bzELoAR-PGz-0{)S-Gm>6hP*6Zyrw>?x;K1UdZciB6?7#IMgjdrF#|sS& zCjF?MvG+qMeMN2^;2AD$ITG%f9I;!{0$@JB%VfCz`fBRC{ z!m7`OyzA+TzCy98`>Jmf2t0%+4AM1X2ocHPcK(SPj%borbkcrfaCJ1V8WY z$AP4m0oV0pNqg1r!R|k7$#HU+q>Ehysw8AXvwB)lbyZ{H`uH5l*D$L3xIAl=Py3{{ zy5qj={^qnA*d+klL)0fw^(e%^6Z1`mb}G)Ijdm8KakQps+0qUUjAtnd&UTy8xxB!g zQg6NRmjj+?aXeoq31TNcIy&0xaxWJoT2KKzbk_yN>0BX+p@;ZLo6pqBVv~y(!Q@nA zhV8MxbDI5&`5)NMw?srEhGKV2pTWD+#`?b8N^tb#H5zo76+PgG>S!O!gfA92TUosZ zi6}JfvNNCztAngP=xNJ5#^pbtAm|bT)L&4Ce&MsLRSl_ma(>-OW0Y38HH$)sBzqlD zR@xUeTi&}pRkabsGKnOYe9c7^x$jg6Lq-PwpU-Jpe0i@t?h%fe7^en~0^zncH=Vl`eSG+MDc49LY&Ru^8jv1CjFZKt>ZRbh&1k_BWu^@fU(;=# z5PJin9G)yS6W5*C%v311dtFTxE0O>!M;7aY+`p0|L!gR+FGzS^@;+?`rcmO+bouVb z#eYvXr%CfK10Jr58>>$xAfZXnXyBY%LH zH$ycBI&5N}@i@q|(~nH~L)#O+H_OEk2WYZLUKP9-HahwmUTcok0fb-4GPM_g>R|&Y zHLxnufJw9a@eU3Sj*f)|lInxQ!&48Zoz>0GyMy*k-oqSQ+h*2#W4RC+)Y`fXl|*3p ztOlmAsHhBr2%NUUSG*1xd|#e!LR6F={Dd=-7&A+kTixlnxwS<@k;hAv^Jzy0euzYl z**7H<_mYv5UoAP0LJIN(`>fvPN2aaomarhkakKyeE?4607hyxy&+wp=Gh$*k_M9q4) zV;vx1=m@?%)=5^pB+#hVTTOm|bXD+BlK_t$#gfNCc(~b65~!J9`YXLJcKETeu<|)q zJVdV!XJ!~H6r&gr0`pzwXgbC<~VXigcJh#{)bL9ZNCyzXfrr8bSv zvlak88tKF$INEyny4u=$pF5|hcOQRk8Vmq*n0$v#f{R-O)N8=))$U!HfJPGl{pxb# zE7Jk66w){yvQ9c*{OnfR<~I$(m^vR-01Lhv2<}$bjG6#l{}L!dho}B8t&r9Smiv1g z&U+eec_4G>)LX_H_}!U7-ZnKg_5OT_385Hfu44UuEqM6=WM76t@xg30)7QQ{;1eEb zh5*Q;3i_dIAC9KS64E?KyG%Y$6_ACo6p*40UhM$5vW12>V7vDKs%d$7elV+>cR8$V zI%qkpf~X?f%GH5A>to7;p=SU!zSTJk&LcsK_677)kyBgf2ITv#?k;{Ik$05P!wfENI%qP;N= zr%LlvSuL!)0-&uYi=rTETKmn4cj7a4^^l8nM-g~2R1$9gWMcqJPzkx#J{K1Qo4E`~ zAPv^jgU%WYj->;PygcXfvC-hvp#G}W z!XRg&ZVb6J&p+w5`>T`cX4W0gqr?ppVU)u+T3@NP>F7Hhj%ai+PHiu)XxI(SJ#>pI=jjA7OKH`r# z1bk4;(knetcGSi2Yc%RGe`1ywAQd=Atr=n~44V8xE1+3{z$uXbeEg=i>E}3HxrOz! zBFRuwXmndpJ4JG7+Z2ph=D>JJuA+@)bSGvU!P8S~>AlmC@m+}L5bu~QBe-M>a>-0c zI@Q7N&LuS~1tfLxY9D@WIyYasY-SQq*g3NnIUF8QKP6lIKd2eBAzD2o}THT=Q#&06=l!Vlh*vYWL;-V&)yut5j zP6|6^6uMsL2i4eXID-b8Z)ln&udaV%oJU{A`xh9ddd~Md7xI;7wV0Rs*g^xP0YST! z&E#Sk@f&K4;ZKLuS7Lu_^gMZe8@ATX&TExJPX5V0n)6@(;ewq;N^mGqO!d^3bjCJC znb`>Ii0xY=_^@pB6v&?Ta}NQw|IHt&-iOs|f0_s21^bY*y*&4^sCoW9m|LnPCtf5g z9-`?CM^bFP6ThV)XH`X0)GG`M`Fq4}k3Qzr9K@S;Uaqe2+~AYwxm9uUvWSoKq2U8P zCwz;~7nnu-^Kxwtf6-8%9$yy@0ojM>YR$TZD1;%Djcb3Z^bt2<1erL+pG_0d*)y?N z1lYQD#751OFNw9@i$e)(cTa}rs23A}BDwPL%42lLs<*g;7|Yo_t)$oKI^1jZ)#7G}O9Gk%-M>c0toB$@4e!MdznJFY&~8TL}t# zPt`ugIL-1>CtO~$E82Ab&we!&r5A~c)GQ&dYIy7aAWkxsTMVji&_1o{r}?kkJ#{)K z7vpU7YgROi9!~l#)EQ;TC3|*zcpbr&CA*Y>Pp0KC+MThUI0StE;MLE?^PXQCb z!qTy-p3<<^xXU7}8uf9Bs+ab$hL3NTdGeE-FzayC1alxN(wdr|OyEMFK~+U2dCR5N zWd3ah|E}s+ur)>;!Lig_Q8Dhb{GIrh+B-ZJS!C|7gx2WuQV!pJG}#}y(OV~X^3yMm zHmKCMsN+UPX*DBCt;jS{s;Sl4XtvF0>GFBqL#dsu zH_8c{m>Zotokqy8Gamlk6ijNzDjg@Up1$t&gsh1}+=wxG24YN7W*G(+?jO1>xJ-Vm z$_~xz30C)&f#p0Liv1&+rz?lAIM`?T6RO7S1)3!M_p{K6EdEU$A}A%%gAP zUq5`=t0Fdm-%!NFM=x5te83^|Kjs?KVQ6hkjxurl5&{1`L2)D4T5m1CA-%Ok{v}Bd zwM1x~{a}FWJX}Y|_TEe1uz_Iw=fuwFA|{klrSkt@a}DTF0f@%rFi>6oHh?Tbn6jy9 z0c3~=bo7r9u>&$DF#DCML+kzpVmCZJ+{^;vdHd> zm>Wh6ft!%ABEa^fC-%nkUBU2~Y6w(7*)h-oW&vnQh>Obu4?kpHR|;HGfNU=Zjsg9I z@=q~(_g@N2zXKA)Wt|4p8>;KH*8S9gh|l96XR_5wTQk5~3P4;NfjCfri?G|y#V|j= zW=xiiGp%uq8_Jxi(ub&Kkm&{BXKgcH{Odu3Xc=yMW29h~Vn1mAwC&ODOIG>0lc>1}`scMkw3 zHc(-t@!2e601zq^4t|570;}`mQ(%!?YM!orvv{1#?LVVRorXv*8 zcMXC8K6D5WH1_}?9|O>JZwR*vnjd;!6O4NQKBoey#m;Pq@t`~FT~9hMgq0Hv}lK5v79|3(iE zl6$`Qmk`1X5zK;0V~#Ew1fO;IFXY^>_9rDFA|V8pD=&_LX&xeOCou#B1Q{u*F~DIP z0LhB>;cv8GE(1{35<~~k_A<3916y{|#$|wx3WV%8$nSEfvOI!5(FQanXXA@0PA)a? zgQ*#nYJ>L6Vb)QPDUJ}JmIKSJ@a21W_`iW!GQeWN@Sz6KJL#sqz|_H)JcrMzXuxnZ_ zD$eqf0U=nXcdEETCe#O{(==Z9s!(J+k#{&?KGBuO&!<)3cI_1yoLbzR5#;35tg{%M z0c8j>X9+BK8fNA(lNtZ{+8e;@bAW`P30RK_5b_8@WfgP-w-T9DA@t#-<&Y5!Cs|Gu zNN=eI0uogUQ4t}IGOzpJ&6!R>DDO{NPZNNc0c1-MfO94@%lpGqk9SOaneHnfwG-{1 zfUjWx$Pd)#!Ua8)z$1A+OZO4Rd&mmOE79> z14ga@5mt-BXXmr$J#uS>%mRSS^&IB0Fm10+c{5V)``~7`+My3*xP>N%Y*1>70TpHj zp@11yr={BAsl2(fRL+2qzNI--)x`si`0aW&;`nT#&b6A%z9QF-Mi>52k;UWRC&+3D z2&|aQ+<{s;I69h40f@F$cMyc-<@Z-~_HED^t_nenZ0DU}Wn<&KM!Ur#K)ylCD8o$N zpD3Wj!g2qU`AGhRjlNFxbit-1ovYff@u6%})NYH&cvkjnw&qGRAIb@zm_~Wxzop)K zY#LPr+B4LIA=|1r%w)j+bHV-s=fBsaaTBEGScP^S5FskShymc)iVkgO65EEKZ33Oz z6zTF-7`*(PG_MXkpP!gNbwNQ21sDU+E!2|l*`h-Xklh$!_rN$0+~Q?B z{(du6W}hz8@E4oZ5y6(fQ9JrCNijZ3@HWogRjVHr=YEFF-4nyuMt_NVoQMu$EtLuSXzSq0^t{)IPY*jN5)$u(9qA zeu>E)biSdU1s3(%-2Mfp!QA6f=Y#u^AIEm_?t$2b#5772_y+ZmhtBvB^Z&TN12GQr z4rWB7Q>!1UVp$<%LRcs{@w|Q54?;BDQ<_v1DCijI)WMi3jYtkH4Lu{D|Bol~Q7P@e zOx_>N+Jg{95za8VGe2vERzA*l|H$lA?ij+c!Pe7C|FN_tG-5K?I-xGtY!{tnqx%PX^TG9Lfkjr|Vd|Kx54XjnnP*sx4 zp`W?9d%KNY{=QwRhbKCwX{1%9k`-<0RkDzW5`(LaR|Db%;`ZaN)M*oT7K7SZvoV0Y z3?c3jUv8(zkVFj<+k18K9#|7yxpXbi%nxmS8W(=oPtL8NVaD;UA_cCexlDeo#hp*6 zVFC_+ZKCIUS?&H>SMhv0SIwIT+GQT+S!%}!ifs9by&H)^BX?>pj(she_LkanDhy7++cIG> z(RSBG7w|ss*&u^mN%448AV;fhY##4Uu^P1Koti2BPy%SuO%%3wLTs{ixGf20YQZlH z5cd1o?I%8H9}Chx$=SJ{PDn>DuSBJr1jvN8N;F8T^Zlh2 zq-ftPIineY2}h-NpO>drh=32KoP^&&c3qG$SrwRx;{&ne2(Q3O9qcaHkf=1-FT=z9 z&n|Kx?XcO1dX|6QH+%%A(iEWpnE{E{U4@!@DivrNqiQnwqZB;}?I$WDvMEJ-{8+$( zAP2&;2n;R4e|{YjAbWU6iPd2Kf_7fHO@1oGl**_IYZ0lIqF)lhDNrp?Sxrs>Mn|VW z`q+UID|n(`7|`;J7=D?&yvkTD!~{EwmY|42(%$^Y{y!#a#l^`5iqy>88{<pAXcqVtPACe3o)t^iq~d2j8yP#2FS=jK|dKi@w!G0<=0r(o`@>+gQ$;^$EZt!!Nv zc!0NWiQJ{h+;Z1nzA?GE_bqTiib|wZ^y}{zte*9E>7DF$aI5#92yme%18}9gTe~ HDWM4ftK1Ga literal 0 HcmV?d00001 diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 5d91b0f2559..3bb1dd234ea 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -178,10 +178,16 @@ so that the data is entered into the algorithm is given in the reverse ordering The resulting traversal is different. -The left image shows the result with asending order of ids and the right image shows +The left image shows the result with ascending order of ids and the right image shows with descending order of ids: -TODO here comes the images +|ascending| |descending| + +.. |ascending| image:: images/Fig1-AscendingOrder.png + :width: 45% + +.. |descending| image:: images/Fig2-DescendingOrder.png + :width: 45% See Also ------------------------------------------------------------------------------- From 94c5a66b978248243d7b82f93b2a394104a4872d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 5 Aug 2020 08:27:26 +0530 Subject: [PATCH 0306/1360] [sequentialVertexColoring] Updated the doc --- doc/coloring/pgr_sequentialVertexColoring.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/coloring/pgr_sequentialVertexColoring.rst b/doc/coloring/pgr_sequentialVertexColoring.rst index f35c18beaca..b521bb558d3 100644 --- a/doc/coloring/pgr_sequentialVertexColoring.rst +++ b/doc/coloring/pgr_sequentialVertexColoring.rst @@ -51,7 +51,7 @@ such that no edge connects two identically colored vertices. iterating through all the vertices sequentially, and assigning the smallest possible color that is not used by its neighbors, to each vertex. - The returned rows are ordered in ascending order of the vertex value. -- Sequential Vertex Coloring Running Time: :math:`O(|V|*(|d| + |k|))` +- Sequential Vertex Coloring Running Time: :math:`O(|V|*(d + k))` - where :math:`|V|` is the number of vertices, - :math:`d` is the maximum degree of the vertices in the graph, From 1ecc8d3fc96f7d3ba4c1de7bc3b6c8687ee3172c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 5 Aug 2020 21:53:15 +0530 Subject: [PATCH 0307/1360] Added coloring family documentation --- doc/coloring/CMakeLists.txt | 1 + doc/coloring/coloring-family.rst | 78 +++++++++++++++++++ doc/coloring/pgr_sequentialVertexColoring.rst | 5 ++ doc/depthFirstSearch/pgr_depthFirstSearch.rst | 4 +- doc/src/experimental.rst | 8 +- 5 files changed, 92 insertions(+), 4 deletions(-) create mode 100644 doc/coloring/coloring-family.rst diff --git a/doc/coloring/CMakeLists.txt b/doc/coloring/CMakeLists.txt index 30836e4326d..358f7ef04df 100644 --- a/doc/coloring/CMakeLists.txt +++ b/doc/coloring/CMakeLists.txt @@ -1,5 +1,6 @@ SET(LOCAL_FILES + coloring-family.rst pgr_sequentialVertexColoring.rst ) diff --git a/doc/coloring/coloring-family.rst b/doc/coloring/coloring-family.rst new file mode 100644 index 00000000000..08a48284aaa --- /dev/null +++ b/doc/coloring/coloring-family.rst @@ -0,0 +1,78 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: https://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +Coloring - Family of functions (Experimental) +=============================================================================== + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. index from here + +* :doc:`pgr_sequentialVertexColoring` - Vertex coloring algorithm using greedy approach. + +.. index to here + + +.. toctree:: + :hidden: + + pgr_sequentialVertexColoring + +.. rubric:: Versions of this page + +* **Supported versions:** + current(`3.2 `__) + + +Parameters +------------------------------------------------------------------------------- + +=================== ====================== ================================================= +Parameter Type Description +=================== ====================== ================================================= +**Edges SQL** ``TEXT`` Inner query as described below. +=================== ====================== ================================================= + + +Inner query +------------------------------------------------------------------------------- + +:Edges SQL: an SQL query of an **undirected** graph, which should return + a set of rows with the following columns: + +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end + + +Result Columns +------------------------------------------------------------------------------- + +pgr_sequentialVertexColoring +............................................................................... + +.. include:: pgr_sequentialVertexColoring.rst + :start-after: result columns start + :end-before: result columns end + + +See Also +------------------------------------------------------------------------------- + +.. include:: pgr_sequentialVertexColoring.rst + :start-after: see also start + :end-before: see also end + + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` diff --git a/doc/coloring/pgr_sequentialVertexColoring.rst b/doc/coloring/pgr_sequentialVertexColoring.rst index b521bb558d3..3201c10804e 100644 --- a/doc/coloring/pgr_sequentialVertexColoring.rst +++ b/doc/coloring/pgr_sequentialVertexColoring.rst @@ -123,9 +123,14 @@ See Also ------------------------------------------------------------------------------- * The queries use the :doc:`sampledata` network. + +.. see also start + * `Boost: Sequential Vertex Coloring algorithm documentation `__ * `Wikipedia: Graph coloring `__ +.. see also end + .. rubric:: Indices and tables * :ref:`genindex` diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/depthFirstSearch/pgr_depthFirstSearch.rst index 3bb1dd234ea..5c2ada69770 100644 --- a/doc/depthFirstSearch/pgr_depthFirstSearch.rst +++ b/doc/depthFirstSearch/pgr_depthFirstSearch.rst @@ -184,10 +184,10 @@ with descending order of ids: |ascending| |descending| .. |ascending| image:: images/Fig1-AscendingOrder.png - :width: 45% + :scale: 50% .. |descending| image:: images/Fig2-DescendingOrder.png - :width: 45% + :scale: 50% See Also ------------------------------------------------------------------------------- diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index 609f3c48194..3f8e4516aaa 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -49,6 +49,12 @@ Experimental Functions :start-after: index from here :end-before: index to here +:doc:`coloring-family` + +.. include:: coloring-family.rst + :start-after: index from here + :end-before: index to here + :doc:`topology-functions` .. include:: topology-functions.rst @@ -87,7 +93,6 @@ Experimental Functions - :doc:`pgr_dagShortestPath` - :doc:`pgr_depthFirstSearch` - :doc:`pgr_edwardMoore` -- :doc:`pgr_sequentialVertexColoring` - :doc:`pgr_stoerWagner` - :doc:`pgr_topologicalSort` - :doc:`pgr_transitiveClosure` @@ -102,7 +107,6 @@ Experimental Functions pgr_dagShortestPath pgr_depthFirstSearch pgr_edwardMoore - pgr_sequentialVertexColoring pgr_stoerWagner pgr_topologicalSort pgr_transitiveClosure From 1bc84f4c0394f4d96920104d219416a12e60f61c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 5 Aug 2020 21:56:55 +0530 Subject: [PATCH 0308/1360] Added non-existing link in linkcheck ignore --- doc/conf.py.in | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/conf.py.in b/doc/conf.py.in index 7ca301ff8e2..c66cb0ebb19 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -298,6 +298,7 @@ pdf_style_path = ['.', '_styles'] linkcheck_ignore = [ "https://docs.pgrouting.org/3.2/en/pgr_depthFirstSearch.html", "https://docs.pgrouting.org/3.2/en/pgr_sequentialVertexColoring.html", + "https://docs.pgrouting.org/3.2/en/coloring-family.html", # might not exist yet (we are generating it!) # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected From f42dc62afc8b369a8293bba9494890bf4a394b74 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 6 Aug 2020 10:59:01 +0530 Subject: [PATCH 0309/1360] Modified linkcheck_ignore --- doc/conf.py.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.py.in b/doc/conf.py.in index c66cb0ebb19..98a2e659775 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -296,10 +296,10 @@ pdf_style_path = ['.', '_styles'] # cases to ignore during link checking linkcheck_ignore = [ + # might not exist yet (we are generating it!) "https://docs.pgrouting.org/3.2/en/pgr_depthFirstSearch.html", "https://docs.pgrouting.org/3.2/en/pgr_sequentialVertexColoring.html", "https://docs.pgrouting.org/3.2/en/coloring-family.html", - # might not exist yet (we are generating it!) # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected # (see: https://github.com/sphinx-doc/sphinx/issues/7388) From c0acb9c70e10cf2f62fec5f38cf5b9af0ce806d6 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 6 Aug 2020 19:10:49 +0530 Subject: [PATCH 0310/1360] [depthFirstSearch] Created traversal directory & moved files in it --- configuration.conf | 2 +- doc/{depthFirstSearch => traversal}/CMakeLists.txt | 0 .../images/CMakeLists.txt | 0 .../images/Fig1-AscendingOrder.png | Bin .../images/Fig2-DescendingOrder.png | Bin .../pgr_depthFirstSearch.rst | 0 .../{depthFirstSearch => traversal}/CMakeLists.txt | 0 .../doc-pgr_depthFirstSearch.result | 0 .../doc-pgr_depthFirstSearch.test.sql | 0 .../{depthFirstSearch => traversal}/test.conf | 0 .../depthFirstSearch_driver.h | 6 +++--- .../pgr_depthFirstSearch.hpp | 6 +++--- .../edge_cases_directed.sql | 0 .../edge_cases_undirected.sql | 0 .../equivalence_BFS.test.sql | 0 .../{depthFirstSearch => traversal}/inner_query.sql | 0 pgtap/{depthFirstSearch => traversal}/issue1348.sql | 0 .../no_crash_test.sql | 0 .../singleVertex_equiv_multipleVertices.test.sql | 0 .../{depthFirstSearch => traversal}/types_check.sql | 0 sql/{depthFirstSearch => traversal}/CMakeLists.txt | 0 .../_depthFirstSearch.sql | 0 .../depthFirstSearch.sql | 0 src/{depthFirstSearch => traversal}/CMakeLists.txt | 2 +- .../depthFirstSearch.c | 2 +- .../depthFirstSearch_driver.cpp | 4 ++-- 26 files changed, 11 insertions(+), 11 deletions(-) rename doc/{depthFirstSearch => traversal}/CMakeLists.txt (100%) rename doc/{depthFirstSearch => traversal}/images/CMakeLists.txt (100%) rename doc/{depthFirstSearch => traversal}/images/Fig1-AscendingOrder.png (100%) rename doc/{depthFirstSearch => traversal}/images/Fig2-DescendingOrder.png (100%) rename doc/{depthFirstSearch => traversal}/pgr_depthFirstSearch.rst (100%) rename docqueries/{depthFirstSearch => traversal}/CMakeLists.txt (100%) rename docqueries/{depthFirstSearch => traversal}/doc-pgr_depthFirstSearch.result (100%) rename docqueries/{depthFirstSearch => traversal}/doc-pgr_depthFirstSearch.test.sql (100%) rename docqueries/{depthFirstSearch => traversal}/test.conf (100%) rename include/drivers/{depthFirstSearch => traversal}/depthFirstSearch_driver.h (90%) rename include/{depthFirstSearch => traversal}/pgr_depthFirstSearch.hpp (97%) rename pgtap/{depthFirstSearch => traversal}/edge_cases_directed.sql (100%) rename pgtap/{depthFirstSearch => traversal}/edge_cases_undirected.sql (100%) rename pgtap/{depthFirstSearch => traversal}/equivalence_BFS.test.sql (100%) rename pgtap/{depthFirstSearch => traversal}/inner_query.sql (100%) rename pgtap/{depthFirstSearch => traversal}/issue1348.sql (100%) rename pgtap/{depthFirstSearch => traversal}/no_crash_test.sql (100%) rename pgtap/{depthFirstSearch => traversal}/singleVertex_equiv_multipleVertices.test.sql (100%) rename pgtap/{depthFirstSearch => traversal}/types_check.sql (100%) rename sql/{depthFirstSearch => traversal}/CMakeLists.txt (100%) rename sql/{depthFirstSearch => traversal}/_depthFirstSearch.sql (100%) rename sql/{depthFirstSearch => traversal}/depthFirstSearch.sql (100%) rename src/{depthFirstSearch => traversal}/CMakeLists.txt (62%) rename src/{depthFirstSearch => traversal}/depthFirstSearch.c (99%) rename src/{depthFirstSearch => traversal}/depthFirstSearch_driver.cpp (98%) diff --git a/configuration.conf b/configuration.conf index 86a8a17ac52..a147f6743b4 100644 --- a/configuration.conf +++ b/configuration.conf @@ -40,7 +40,7 @@ version | Y | Y | Y topologicalSort | Y | Y | Y transitiveClosure | Y | Y | Y breadthFirstSearch | Y | Y | Y -depthFirstSearch | Y | Y | Y +traversal | Y | Y | Y coloring | Y | Y | Y #---------------------- # SQL only directories diff --git a/doc/depthFirstSearch/CMakeLists.txt b/doc/traversal/CMakeLists.txt similarity index 100% rename from doc/depthFirstSearch/CMakeLists.txt rename to doc/traversal/CMakeLists.txt diff --git a/doc/depthFirstSearch/images/CMakeLists.txt b/doc/traversal/images/CMakeLists.txt similarity index 100% rename from doc/depthFirstSearch/images/CMakeLists.txt rename to doc/traversal/images/CMakeLists.txt diff --git a/doc/depthFirstSearch/images/Fig1-AscendingOrder.png b/doc/traversal/images/Fig1-AscendingOrder.png similarity index 100% rename from doc/depthFirstSearch/images/Fig1-AscendingOrder.png rename to doc/traversal/images/Fig1-AscendingOrder.png diff --git a/doc/depthFirstSearch/images/Fig2-DescendingOrder.png b/doc/traversal/images/Fig2-DescendingOrder.png similarity index 100% rename from doc/depthFirstSearch/images/Fig2-DescendingOrder.png rename to doc/traversal/images/Fig2-DescendingOrder.png diff --git a/doc/depthFirstSearch/pgr_depthFirstSearch.rst b/doc/traversal/pgr_depthFirstSearch.rst similarity index 100% rename from doc/depthFirstSearch/pgr_depthFirstSearch.rst rename to doc/traversal/pgr_depthFirstSearch.rst diff --git a/docqueries/depthFirstSearch/CMakeLists.txt b/docqueries/traversal/CMakeLists.txt similarity index 100% rename from docqueries/depthFirstSearch/CMakeLists.txt rename to docqueries/traversal/CMakeLists.txt diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result b/docqueries/traversal/doc-pgr_depthFirstSearch.result similarity index 100% rename from docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.result rename to docqueries/traversal/doc-pgr_depthFirstSearch.result diff --git a/docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql b/docqueries/traversal/doc-pgr_depthFirstSearch.test.sql similarity index 100% rename from docqueries/depthFirstSearch/doc-pgr_depthFirstSearch.test.sql rename to docqueries/traversal/doc-pgr_depthFirstSearch.test.sql diff --git a/docqueries/depthFirstSearch/test.conf b/docqueries/traversal/test.conf similarity index 100% rename from docqueries/depthFirstSearch/test.conf rename to docqueries/traversal/test.conf diff --git a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h b/include/drivers/traversal/depthFirstSearch_driver.h similarity index 90% rename from include/drivers/depthFirstSearch/depthFirstSearch_driver.h rename to include/drivers/traversal/depthFirstSearch_driver.h index 7084e165c33..7106df5f8c9 100644 --- a/include/drivers/depthFirstSearch/depthFirstSearch_driver.h +++ b/include/drivers/traversal/depthFirstSearch_driver.h @@ -27,8 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_DRIVERS_DEPTHFIRSTSEARCH_DEPTHFIRSTSEARCH_DRIVER_H_ -#define INCLUDE_DRIVERS_DEPTHFIRSTSEARCH_DEPTHFIRSTSEARCH_DRIVER_H_ +#ifndef INCLUDE_DRIVERS_TRAVERSAL_DEPTHFIRSTSEARCH_DRIVER_H_ +#define INCLUDE_DRIVERS_TRAVERSAL_DEPTHFIRSTSEARCH_DRIVER_H_ #pragma once /* for size-t */ @@ -76,4 +76,4 @@ extern "C" { } #endif -#endif // INCLUDE_DRIVERS_DEPTHFIRSTSEARCH_DEPTHFIRSTSEARCH_DRIVER_H_ +#endif // INCLUDE_DRIVERS_TRAVERSAL_DEPTHFIRSTSEARCH_DRIVER_H_ diff --git a/include/depthFirstSearch/pgr_depthFirstSearch.hpp b/include/traversal/pgr_depthFirstSearch.hpp similarity index 97% rename from include/depthFirstSearch/pgr_depthFirstSearch.hpp rename to include/traversal/pgr_depthFirstSearch.hpp index 83d1b79b0ec..96d3a963f26 100644 --- a/include/depthFirstSearch/pgr_depthFirstSearch.hpp +++ b/include/traversal/pgr_depthFirstSearch.hpp @@ -21,8 +21,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_DEPTHFIRSTSEARCH_PGR_DEPTHFIRSTSEARCH_HPP_ -#define INCLUDE_DEPTHFIRSTSEARCH_PGR_DEPTHFIRSTSEARCH_HPP_ +#ifndef INCLUDE_TRAVERSAL_PGR_DEPTHFIRSTSEARCH_HPP_ +#define INCLUDE_TRAVERSAL_PGR_DEPTHFIRSTSEARCH_HPP_ #pragma once @@ -210,4 +210,4 @@ class Pgr_depthFirstSearch { } // namespace functions } // namespace pgrouting -#endif // INCLUDE_DEPTHFIRSTSEARCH_PGR_DEPTHFIRSTSEARCH_HPP_ +#endif // INCLUDE_TRAVERSAL_PGR_DEPTHFIRSTSEARCH_HPP_ diff --git a/pgtap/depthFirstSearch/edge_cases_directed.sql b/pgtap/traversal/edge_cases_directed.sql similarity index 100% rename from pgtap/depthFirstSearch/edge_cases_directed.sql rename to pgtap/traversal/edge_cases_directed.sql diff --git a/pgtap/depthFirstSearch/edge_cases_undirected.sql b/pgtap/traversal/edge_cases_undirected.sql similarity index 100% rename from pgtap/depthFirstSearch/edge_cases_undirected.sql rename to pgtap/traversal/edge_cases_undirected.sql diff --git a/pgtap/depthFirstSearch/equivalence_BFS.test.sql b/pgtap/traversal/equivalence_BFS.test.sql similarity index 100% rename from pgtap/depthFirstSearch/equivalence_BFS.test.sql rename to pgtap/traversal/equivalence_BFS.test.sql diff --git a/pgtap/depthFirstSearch/inner_query.sql b/pgtap/traversal/inner_query.sql similarity index 100% rename from pgtap/depthFirstSearch/inner_query.sql rename to pgtap/traversal/inner_query.sql diff --git a/pgtap/depthFirstSearch/issue1348.sql b/pgtap/traversal/issue1348.sql similarity index 100% rename from pgtap/depthFirstSearch/issue1348.sql rename to pgtap/traversal/issue1348.sql diff --git a/pgtap/depthFirstSearch/no_crash_test.sql b/pgtap/traversal/no_crash_test.sql similarity index 100% rename from pgtap/depthFirstSearch/no_crash_test.sql rename to pgtap/traversal/no_crash_test.sql diff --git a/pgtap/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql b/pgtap/traversal/singleVertex_equiv_multipleVertices.test.sql similarity index 100% rename from pgtap/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql rename to pgtap/traversal/singleVertex_equiv_multipleVertices.test.sql diff --git a/pgtap/depthFirstSearch/types_check.sql b/pgtap/traversal/types_check.sql similarity index 100% rename from pgtap/depthFirstSearch/types_check.sql rename to pgtap/traversal/types_check.sql diff --git a/sql/depthFirstSearch/CMakeLists.txt b/sql/traversal/CMakeLists.txt similarity index 100% rename from sql/depthFirstSearch/CMakeLists.txt rename to sql/traversal/CMakeLists.txt diff --git a/sql/depthFirstSearch/_depthFirstSearch.sql b/sql/traversal/_depthFirstSearch.sql similarity index 100% rename from sql/depthFirstSearch/_depthFirstSearch.sql rename to sql/traversal/_depthFirstSearch.sql diff --git a/sql/depthFirstSearch/depthFirstSearch.sql b/sql/traversal/depthFirstSearch.sql similarity index 100% rename from sql/depthFirstSearch/depthFirstSearch.sql rename to sql/traversal/depthFirstSearch.sql diff --git a/src/depthFirstSearch/CMakeLists.txt b/src/traversal/CMakeLists.txt similarity index 62% rename from src/depthFirstSearch/CMakeLists.txt rename to src/traversal/CMakeLists.txt index 1468489d1ad..66ee4e43cba 100644 --- a/src/depthFirstSearch/CMakeLists.txt +++ b/src/traversal/CMakeLists.txt @@ -1,4 +1,4 @@ -ADD_LIBRARY(depthFirstSearch OBJECT +ADD_LIBRARY(traversal OBJECT depthFirstSearch.c depthFirstSearch_driver.cpp ) diff --git a/src/depthFirstSearch/depthFirstSearch.c b/src/traversal/depthFirstSearch.c similarity index 99% rename from src/depthFirstSearch/depthFirstSearch.c rename to src/traversal/depthFirstSearch.c index 6000b506a89..f651e82bb89 100644 --- a/src/depthFirstSearch/depthFirstSearch.c +++ b/src/traversal/depthFirstSearch.c @@ -42,7 +42,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "drivers/depthFirstSearch/depthFirstSearch_driver.h" +#include "drivers/traversal/depthFirstSearch_driver.h" PGDLLEXPORT Datum _pgr_depthfirstsearch(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_depthfirstsearch); diff --git a/src/depthFirstSearch/depthFirstSearch_driver.cpp b/src/traversal/depthFirstSearch_driver.cpp similarity index 98% rename from src/depthFirstSearch/depthFirstSearch_driver.cpp rename to src/traversal/depthFirstSearch_driver.cpp index 28602c78640..e6f09dda2f7 100644 --- a/src/depthFirstSearch/depthFirstSearch_driver.cpp +++ b/src/traversal/depthFirstSearch_driver.cpp @@ -26,7 +26,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "drivers/depthFirstSearch/depthFirstSearch_driver.h" +#include "drivers/traversal/depthFirstSearch_driver.h" #include #include @@ -35,7 +35,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" -#include "depthFirstSearch/pgr_depthFirstSearch.hpp" +#include "traversal/pgr_depthFirstSearch.hpp" /** @file depthFirstSearch_driver.cpp * @brief Handles actual calling of function in the `pgr_depthFirstSearch.hpp` file. From 0ba367056282eb8380169cfb2d0d1fe09abb93e0 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 6 Aug 2020 19:34:46 +0530 Subject: [PATCH 0311/1360] Created traversal family of functions --- doc/coloring/coloring-family.rst | 6 +- doc/coloring/pgr_sequentialVertexColoring.rst | 6 +- doc/src/experimental.rst | 8 +- doc/traversal/CMakeLists.txt | 1 + doc/traversal/pgr_depthFirstSearch.rst | 11 ++- doc/traversal/traversal-family.rst | 75 +++++++++++++++++++ 6 files changed, 96 insertions(+), 11 deletions(-) create mode 100644 doc/traversal/traversal-family.rst diff --git a/doc/coloring/coloring-family.rst b/doc/coloring/coloring-family.rst index 08a48284aaa..50386d3a372 100644 --- a/doc/coloring/coloring-family.rst +++ b/doc/coloring/coloring-family.rst @@ -48,9 +48,9 @@ Inner query :Edges SQL: an SQL query of an **undirected** graph, which should return a set of rows with the following columns: -.. include:: pgRouting-concepts.rst - :start-after: basic_edges_sql_start - :end-before: basic_edges_sql_end +.. include:: traversal-family.rst + :start-after: edges_sql_start + :end-before: edges_sql_end Result Columns diff --git a/doc/coloring/pgr_sequentialVertexColoring.rst b/doc/coloring/pgr_sequentialVertexColoring.rst index 3201c10804e..4b15bf5c245 100644 --- a/doc/coloring/pgr_sequentialVertexColoring.rst +++ b/doc/coloring/pgr_sequentialVertexColoring.rst @@ -93,9 +93,9 @@ Inner query :Edges SQL: an SQL query of an **undirected** graph, which should return a set of rows with the following columns: -.. include:: pgRouting-concepts.rst - :start-after: basic_edges_sql_start - :end-before: basic_edges_sql_end +.. include:: traversal-family.rst + :start-after: edges_sql_start + :end-before: edges_sql_end Result Columns ------------------------------------------------------------------------------- diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index 3f8e4516aaa..47aeefcce24 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -67,6 +67,12 @@ Experimental Functions :start-after: index from here :end-before: index to here +:doc:`traversal-family` + +.. include:: traversal-family.rst + :start-after: index from here + :end-before: index to here + .. toctree:: :hidden: @@ -91,7 +97,6 @@ Experimental Functions - :doc:`pgr_binaryBreadthFirstSearch` - :doc:`pgr_breadthFirstSearch` - :doc:`pgr_dagShortestPath` -- :doc:`pgr_depthFirstSearch` - :doc:`pgr_edwardMoore` - :doc:`pgr_stoerWagner` - :doc:`pgr_topologicalSort` @@ -105,7 +110,6 @@ Experimental Functions pgr_binaryBreadthFirstSearch pgr_breadthFirstSearch pgr_dagShortestPath - pgr_depthFirstSearch pgr_edwardMoore pgr_stoerWagner pgr_topologicalSort diff --git a/doc/traversal/CMakeLists.txt b/doc/traversal/CMakeLists.txt index def5f96684c..75cfa800dba 100644 --- a/doc/traversal/CMakeLists.txt +++ b/doc/traversal/CMakeLists.txt @@ -1,5 +1,6 @@ SET(LOCAL_FILES + traversal-family.rst pgr_depthFirstSearch.rst ) diff --git a/doc/traversal/pgr_depthFirstSearch.rst b/doc/traversal/pgr_depthFirstSearch.rst index 5c2ada69770..691cfe5869e 100644 --- a/doc/traversal/pgr_depthFirstSearch.rst +++ b/doc/traversal/pgr_depthFirstSearch.rst @@ -151,9 +151,9 @@ Inner query .. rubric:: Edges SQL -.. include:: pgRouting-concepts.rst - :start-after: basic_edges_sql_start - :end-before: basic_edges_sql_end +.. include:: traversal-family.rst + :start-after: edges_sql_start + :end-before: edges_sql_end Result Columns ------------------------------------------------------------------------------- @@ -193,10 +193,15 @@ See Also ------------------------------------------------------------------------------- * The queries use the :doc:`sampledata` network. + +.. see also start + * `Boost: Depth First Search algorithm documentation `__ * `Boost: Undirected DFS algorithm documentation `__ * `Wikipedia: Depth First Search algorithm `__ +.. see also end + .. rubric:: Indices and tables * :ref:`genindex` diff --git a/doc/traversal/traversal-family.rst b/doc/traversal/traversal-family.rst new file mode 100644 index 00000000000..556d11ce493 --- /dev/null +++ b/doc/traversal/traversal-family.rst @@ -0,0 +1,75 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: https://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +Traversal - Family of functions (Experimental) +=============================================================================== + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. index from here + +* :doc:`pgr_depthFirstSearch` - Depth first search traversal of the graph. + +.. index to here + + +.. toctree:: + :hidden: + + pgr_depthFirstSearch + +.. rubric:: Versions of this page + +* **Supported versions:** + current(`3.2 `__) + + +Inner query +------------------------------------------------------------------------------- + +.. rubric:: Edges SQL + +.. edges_sql_start + +================= =================== ======== ================================================= +Column Type Default Description +================= =================== ======== ================================================= +**id** ``ANY-INTEGER`` Identifier of the edge. +**source** ``ANY-INTEGER`` Identifier of the first end point vertex of the edge. +**target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. +**cost** ``ANY-NUMERICAL`` - When positive: edge `(source, target)` exist on the graph. + - When negative: edge `(source, target)` does not exist on the graph. + +**reverse_cost** ``ANY-NUMERICAL`` -1 - When positive: edge `(target, source)` exist on the graph. + - When negative: edge `(target, source)` does not exist on the graph. + +================= =================== ======== ================================================= + +Where: + +:ANY-INTEGER: SMALLINT, INTEGER, BIGINT +:ANY-NUMERICAL: SMALLINT, INTEGER, BIGINT, REAL, FLOAT + +.. edges_sql_end + + +See Also +------------------------------------------------------------------------------- + +.. include:: pgr_depthFirstSearch.rst + :start-after: see also start + :end-before: see also end + + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` From 5c1dea0c3c8adeee750555eb154c548374837399 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 6 Aug 2020 19:37:01 +0530 Subject: [PATCH 0312/1360] Added traversal family link to linkcheck_ignore --- doc/conf.py.in | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/conf.py.in b/doc/conf.py.in index 98a2e659775..fa412f507a1 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -300,6 +300,7 @@ linkcheck_ignore = [ "https://docs.pgrouting.org/3.2/en/pgr_depthFirstSearch.html", "https://docs.pgrouting.org/3.2/en/pgr_sequentialVertexColoring.html", "https://docs.pgrouting.org/3.2/en/coloring-family.html", + "https://docs.pgrouting.org/3.2/en/traversal-family.html", # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected # (see: https://github.com/sphinx-doc/sphinx/issues/7388) From d37397512f9d70fa15de970656849f5e43ebc1f4 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 6 Aug 2020 19:49:05 +0530 Subject: [PATCH 0313/1360] Created subdirectory in pgtap test & moved the files in it --- pgtap/traversal/{ => depthFirstSearch}/edge_cases_directed.sql | 0 pgtap/traversal/{ => depthFirstSearch}/edge_cases_undirected.sql | 0 pgtap/traversal/{ => depthFirstSearch}/equivalence_BFS.test.sql | 0 pgtap/traversal/{ => depthFirstSearch}/inner_query.sql | 0 pgtap/traversal/{ => depthFirstSearch}/issue1348.sql | 0 pgtap/traversal/{ => depthFirstSearch}/no_crash_test.sql | 0 .../singleVertex_equiv_multipleVertices.test.sql | 0 pgtap/traversal/{ => depthFirstSearch}/types_check.sql | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename pgtap/traversal/{ => depthFirstSearch}/edge_cases_directed.sql (100%) rename pgtap/traversal/{ => depthFirstSearch}/edge_cases_undirected.sql (100%) rename pgtap/traversal/{ => depthFirstSearch}/equivalence_BFS.test.sql (100%) rename pgtap/traversal/{ => depthFirstSearch}/inner_query.sql (100%) rename pgtap/traversal/{ => depthFirstSearch}/issue1348.sql (100%) rename pgtap/traversal/{ => depthFirstSearch}/no_crash_test.sql (100%) rename pgtap/traversal/{ => depthFirstSearch}/singleVertex_equiv_multipleVertices.test.sql (100%) rename pgtap/traversal/{ => depthFirstSearch}/types_check.sql (100%) diff --git a/pgtap/traversal/edge_cases_directed.sql b/pgtap/traversal/depthFirstSearch/edge_cases_directed.sql similarity index 100% rename from pgtap/traversal/edge_cases_directed.sql rename to pgtap/traversal/depthFirstSearch/edge_cases_directed.sql diff --git a/pgtap/traversal/edge_cases_undirected.sql b/pgtap/traversal/depthFirstSearch/edge_cases_undirected.sql similarity index 100% rename from pgtap/traversal/edge_cases_undirected.sql rename to pgtap/traversal/depthFirstSearch/edge_cases_undirected.sql diff --git a/pgtap/traversal/equivalence_BFS.test.sql b/pgtap/traversal/depthFirstSearch/equivalence_BFS.test.sql similarity index 100% rename from pgtap/traversal/equivalence_BFS.test.sql rename to pgtap/traversal/depthFirstSearch/equivalence_BFS.test.sql diff --git a/pgtap/traversal/inner_query.sql b/pgtap/traversal/depthFirstSearch/inner_query.sql similarity index 100% rename from pgtap/traversal/inner_query.sql rename to pgtap/traversal/depthFirstSearch/inner_query.sql diff --git a/pgtap/traversal/issue1348.sql b/pgtap/traversal/depthFirstSearch/issue1348.sql similarity index 100% rename from pgtap/traversal/issue1348.sql rename to pgtap/traversal/depthFirstSearch/issue1348.sql diff --git a/pgtap/traversal/no_crash_test.sql b/pgtap/traversal/depthFirstSearch/no_crash_test.sql similarity index 100% rename from pgtap/traversal/no_crash_test.sql rename to pgtap/traversal/depthFirstSearch/no_crash_test.sql diff --git a/pgtap/traversal/singleVertex_equiv_multipleVertices.test.sql b/pgtap/traversal/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql similarity index 100% rename from pgtap/traversal/singleVertex_equiv_multipleVertices.test.sql rename to pgtap/traversal/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql diff --git a/pgtap/traversal/types_check.sql b/pgtap/traversal/depthFirstSearch/types_check.sql similarity index 100% rename from pgtap/traversal/types_check.sql rename to pgtap/traversal/depthFirstSearch/types_check.sql From 0d97669dbfb6b4de7c3e737afc0053b82aa04f56 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 6 Aug 2020 20:01:06 +0530 Subject: [PATCH 0314/1360] Fixed toctree --- doc/src/experimental.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index 47aeefcce24..2f6e3735fdf 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -77,6 +77,10 @@ Experimental Functions :hidden: chinesePostmanProblem-family + coloring-family + transformation-family + transformation-family + traversal-family .. rubric:: categories From bc86df2925a13f6f620ff1b1a562d44d19bf2c70 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 6 Aug 2020 20:01:56 +0530 Subject: [PATCH 0315/1360] Fixed toctree --- doc/src/experimental.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index 2f6e3735fdf..f5310720fff 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -79,7 +79,6 @@ Experimental Functions chinesePostmanProblem-family coloring-family transformation-family - transformation-family traversal-family .. rubric:: categories From 91ccb787227e1646d2ec67d4ae0d2fa8a5f3c510 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 10 Aug 2020 18:45:25 +0530 Subject: [PATCH 0316/1360] Removed the links from linkcheck_ignore --- doc/conf.py.in | 4 ---- 1 file changed, 4 deletions(-) diff --git a/doc/conf.py.in b/doc/conf.py.in index fa412f507a1..876046a23ad 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -297,10 +297,6 @@ pdf_style_path = ['.', '_styles'] # cases to ignore during link checking linkcheck_ignore = [ # might not exist yet (we are generating it!) - "https://docs.pgrouting.org/3.2/en/pgr_depthFirstSearch.html", - "https://docs.pgrouting.org/3.2/en/pgr_sequentialVertexColoring.html", - "https://docs.pgrouting.org/3.2/en/coloring-family.html", - "https://docs.pgrouting.org/3.2/en/traversal-family.html", # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected # (see: https://github.com/sphinx-doc/sphinx/issues/7388) From 71137a4f53b132b12cb9efa96ef4f26cc051a3b3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 13 Aug 2020 22:39:51 +0530 Subject: [PATCH 0317/1360] Modified documentation of coloring-family and sequentialVertexColoring --- doc/coloring/coloring-family.rst | 22 +++++++++++---- doc/coloring/pgr_sequentialVertexColoring.rst | 28 ++++--------------- 2 files changed, 23 insertions(+), 27 deletions(-) diff --git a/doc/coloring/coloring-family.rst b/doc/coloring/coloring-family.rst index 50386d3a372..2fbb7909987 100644 --- a/doc/coloring/coloring-family.rst +++ b/doc/coloring/coloring-family.rst @@ -35,12 +35,15 @@ Coloring - Family of functions (Experimental) Parameters ------------------------------------------------------------------------------- +.. parameters start + =================== ====================== ================================================= Parameter Type Description =================== ====================== ================================================= **Edges SQL** ``TEXT`` Inner query as described below. =================== ====================== ================================================= +.. parameters end Inner query ------------------------------------------------------------------------------- @@ -56,12 +59,21 @@ Inner query Result Columns ------------------------------------------------------------------------------- -pgr_sequentialVertexColoring -............................................................................... +.. result columns start -.. include:: pgr_sequentialVertexColoring.rst - :start-after: result columns start - :end-before: result columns end +Returns SET OF ``(vertex_id, color_id)`` + +=============== =========== ==================================================== +Column Type Description +=============== =========== ==================================================== +**vertex_id** ``BIGINT`` Identifier of the vertex. +**color_id** ``BIGINT`` Identifier of the color of the vertex. + + - The minimum value of color is 1. + +=============== =========== ==================================================== + +.. result columns end See Also diff --git a/doc/coloring/pgr_sequentialVertexColoring.rst b/doc/coloring/pgr_sequentialVertexColoring.rst index 4b15bf5c245..a4f1e9bd479 100644 --- a/doc/coloring/pgr_sequentialVertexColoring.rst +++ b/doc/coloring/pgr_sequentialVertexColoring.rst @@ -81,11 +81,9 @@ Signatures Parameters ------------------------------------------------------------------------------- -=================== ====================== ================================================= -Parameter Type Description -=================== ====================== ================================================= -**Edges SQL** ``TEXT`` Inner query as described below. -=================== ====================== ================================================= +.. include:: coloring-family.rst + :start-after: parameters start + :end-before: parameters end Inner query ------------------------------------------------------------------------------- @@ -100,23 +98,9 @@ Inner query Result Columns ------------------------------------------------------------------------------- -.. result columns start - -Returns SET OF ``(vertex_id, color_id)`` - -=============== =========== ==================================================== -Column Type Description -=============== =========== ==================================================== -**vertex_id** ``BIGINT`` Identifier of the vertex. -**color_id** ``BIGINT`` Identifier of the color of the vertex. - - - The minimum value of color is 1. - - The maximum value will not be greater than the - number of vertices in the graph. - -=============== =========== ==================================================== - -.. result columns end +.. include:: coloring-family.rst + :start-after: result columns start + :end-before: result columns end See Also From 37db0760798f0f101a9c0b3c2c0d45ff8fe31400 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 15 May 2020 16:39:38 +0530 Subject: [PATCH 0318/1360] made a dummy function pgr_funnyDijkstra.sql --- run.sh | 4 +++ sql/dijkstra/CMakeLists.txt | 1 + sql/dijkstra/funnyDijkstra.sql | 65 ++++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 run.sh create mode 100644 sql/dijkstra/funnyDijkstra.sql diff --git a/run.sh b/run.sh new file mode 100644 index 00000000000..787c700fa19 --- /dev/null +++ b/run.sh @@ -0,0 +1,4 @@ +cd build +cmake .. +make -j 4 +sudo make install diff --git a/sql/dijkstra/CMakeLists.txt b/sql/dijkstra/CMakeLists.txt index da9bc230e04..13ac8914eda 100644 --- a/sql/dijkstra/CMakeLists.txt +++ b/sql/dijkstra/CMakeLists.txt @@ -7,6 +7,7 @@ SET(LOCAL_FILES _dijkstraVia.sql dijkstraVia.sql _dijkstraNear.sql + funnyDijkstra.sql ) foreach (f ${LOCAL_FILES}) diff --git a/sql/dijkstra/funnyDijkstra.sql b/sql/dijkstra/funnyDijkstra.sql new file mode 100644 index 00000000000..0bcd90b229f --- /dev/null +++ b/sql/dijkstra/funnyDijkstra.sql @@ -0,0 +1,65 @@ +/*PGR-GNU***************************************************************** + +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2015 Celia Virginia Vergara Castillo +mail: vicky_vergara@hotmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +--------------- +-- pgr_dijkstra +--------------- + +-- ONE to ONE +CREATE OR REPLACE FUNCTION pgr_funnyDijkstra( + TEXT, -- edges_sql (required) + BIGINT, -- to_vid (required) + + directed BOOLEAN DEFAULT true, + + OUT seq INTEGER, + OUT path_seq INTEGER, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT a.seq, a.path_seq, a.node, a.edge, a.cost, a.agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), ARRAY[1]::BIGINT[], ARRAY[$2]::BIGINT[],true, false, true) AS a; +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + +-- COMMENTS + +COMMENT ON FUNCTION pgr_funnyDijkstra(TEXT, BIGINT, BOOLEAN) +IS 'pgr_funnyDijkstra(One to One) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From vertex identifier + - To vertex identifier +- Optional Parameters + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_funnyDijkstra.html +'; From d28530012cd42f699499fe7ee425c95e5a886a43 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 15 May 2020 19:11:10 +0530 Subject: [PATCH 0319/1360] dummy function for Contraction included --- sql/contraction/CMakeLists.txt | 1 + sql/contraction/funnyContraction.sql | 75 ++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 sql/contraction/funnyContraction.sql diff --git a/sql/contraction/CMakeLists.txt b/sql/contraction/CMakeLists.txt index 902e3842947..e8441575ef9 100644 --- a/sql/contraction/CMakeLists.txt +++ b/sql/contraction/CMakeLists.txt @@ -2,6 +2,7 @@ SET(LOCAL_FILES _contraction.sql contraction.sql + funnyContraction.sql ) foreach (f ${LOCAL_FILES}) diff --git a/sql/contraction/funnyContraction.sql b/sql/contraction/funnyContraction.sql new file mode 100644 index 00000000000..48cf2482d84 --- /dev/null +++ b/sql/contraction/funnyContraction.sql @@ -0,0 +1,75 @@ +/*PGR-GNU***************************************************************** +File: contraction.sql + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2016 Rohith Reddy +Mail: + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +-------------------- +-------------------- +-- contraction +-------------------- +-------------------- + +-------------------- +-- pgr_contraction +-------------------- + + +CREATE OR REPLACE FUNCTION pgr_funnyContraction( + TEXT, -- edges_sql (required) + BIGINT[], -- contraction_order (required) + + max_cycles INTEGER DEFAULT 1, + forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], + directed BOOLEAN DEFAULT true, + + OUT type TEXT, + OUT id BIGINT, + OUT contracted_vertices BIGINT[], + OUT source BIGINT, + OUT target BIGINT, + OUT cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT * + FROM _pgr_contraction(_pgr_get_statement($1), $2::BIGINT[], $3, $4, $5); +$BODY$ +LANGUAGE SQL VOLATILE STRICT; + +-- COMMENTS + +COMMENT ON FUNCTION pgr_funnyContraction(TEXT, BIGINT[], INTEGER, BIGINT[], BOOLEAN) +IS 'pgr_contraction +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - ARRAY [Contraction order] +- Optional Parameters + - max_cycles := 1 + - forbidden_vertices := ARRAY[]::BIGINT[] + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_contraction.html +'; From 0fb45bd41d18bb2a27288f15a25c1663f91ee1d1 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 20 May 2020 13:58:28 +0530 Subject: [PATCH 0320/1360] Removed funnyContraction.sql from cmakelists.txt --- sql/contraction/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/sql/contraction/CMakeLists.txt b/sql/contraction/CMakeLists.txt index e8441575ef9..902e3842947 100644 --- a/sql/contraction/CMakeLists.txt +++ b/sql/contraction/CMakeLists.txt @@ -2,7 +2,6 @@ SET(LOCAL_FILES _contraction.sql contraction.sql - funnyContraction.sql ) foreach (f ${LOCAL_FILES}) From fe50e2fe41ef2e4e7af993b70f5e86779cf167c7 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 20 May 2020 15:38:29 +0530 Subject: [PATCH 0321/1360] funnyContraction.sql file deleted --- sql/contraction/funnyContraction.sql | 75 ---------------------------- 1 file changed, 75 deletions(-) delete mode 100644 sql/contraction/funnyContraction.sql diff --git a/sql/contraction/funnyContraction.sql b/sql/contraction/funnyContraction.sql deleted file mode 100644 index 48cf2482d84..00000000000 --- a/sql/contraction/funnyContraction.sql +++ /dev/null @@ -1,75 +0,0 @@ -/*PGR-GNU***************************************************************** -File: contraction.sql - -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2016 Rohith Reddy -Mail: - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - --------------------- --------------------- --- contraction --------------------- --------------------- - --------------------- --- pgr_contraction --------------------- - - -CREATE OR REPLACE FUNCTION pgr_funnyContraction( - TEXT, -- edges_sql (required) - BIGINT[], -- contraction_order (required) - - max_cycles INTEGER DEFAULT 1, - forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], - directed BOOLEAN DEFAULT true, - - OUT type TEXT, - OUT id BIGINT, - OUT contracted_vertices BIGINT[], - OUT source BIGINT, - OUT target BIGINT, - OUT cost FLOAT) -RETURNS SETOF RECORD AS -$BODY$ - SELECT * - FROM _pgr_contraction(_pgr_get_statement($1), $2::BIGINT[], $3, $4, $5); -$BODY$ -LANGUAGE SQL VOLATILE STRICT; - --- COMMENTS - -COMMENT ON FUNCTION pgr_funnyContraction(TEXT, BIGINT[], INTEGER, BIGINT[], BOOLEAN) -IS 'pgr_contraction -- Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - ARRAY [Contraction order] -- Optional Parameters - - max_cycles := 1 - - forbidden_vertices := ARRAY[]::BIGINT[] - - directed := true -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_contraction.html -'; From 925ca8ccc941a83ab06c5166224e42334dbd0d84 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 20 May 2020 16:56:59 +0530 Subject: [PATCH 0322/1360] Build folder and run.sh fixed --- .gitignore | 1 + run.sh | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5f58b8b2cd1..bb304992871 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ src/version/_version.h .directory notUsed *.swp +run.sh diff --git a/run.sh b/run.sh index 787c700fa19..41bb530f995 100644 --- a/run.sh +++ b/run.sh @@ -1,4 +1,5 @@ cd build +rm -rf build/* cmake .. -make -j 4 +make sudo make install From b3b27162633c9098a55d1d9a60770091bd4a474a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 20 May 2020 20:02:34 +0530 Subject: [PATCH 0323/1360] modified .gitignore file --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index bb304992871..a57e7095d6a 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,5 @@ src/version/_version.h .vagrant .directory notUsed -*.swp +*.swp run.sh From f61dae46f6676c361924aedd7eeb2aa789737e47 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 23 May 2020 21:13:30 +0530 Subject: [PATCH 0324/1360] Added the SQL,_SQL functions and CMakeLists.txt for kargersContraction --- sql/kargersContraction/CMakeLists.txt | 12 +++ .../_kargersContraction.sql | 56 ++++++++++++++ sql/kargersContraction/kargersContraction.sql | 75 +++++++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 sql/kargersContraction/CMakeLists.txt create mode 100644 sql/kargersContraction/_kargersContraction.sql create mode 100644 sql/kargersContraction/kargersContraction.sql diff --git a/sql/kargersContraction/CMakeLists.txt b/sql/kargersContraction/CMakeLists.txt new file mode 100644 index 00000000000..ac83e1bdcad --- /dev/null +++ b/sql/kargersContraction/CMakeLists.txt @@ -0,0 +1,12 @@ + +SET(LOCAL_FILES + _kargersContraction.sql + kargersContraction.sql + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} ${f}) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) +endforeach() + +set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/kargersContraction/_kargersContraction.sql b/sql/kargersContraction/_kargersContraction.sql new file mode 100644 index 00000000000..f567ba80c0e --- /dev/null +++ b/sql/kargersContraction/_kargersContraction.sql @@ -0,0 +1,56 @@ +/*PGR-GNU***************************************************************** +File: _contraction.sql + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +-------------------- +-------------------- +-- contraction +-------------------- +-------------------- + +CREATE OR REPLACE FUNCTION _pgr_contraction( + edges_sql TEXT, + contraction_order BIGINT[], + max_cycles INTEGER DEFAULT 1, + forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], + directed BOOLEAN DEFAULT true, + + OUT type TEXT, + OUT id BIGINT, + OUT contracted_vertices BIGINT[], + OUT source BIGINT, + OUT target BIGINT, + OUT cost FLOAT) +RETURNS SETOF RECORD AS +'MODULE_PATHNAME' +LANGUAGE C VOLATILE STRICT; + +-- COMMENTS + +COMMENT ON FUNCTION _pgr_contraction(TEXT, BIGINT[], INTEGER, BIGINT[], BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/kargersContraction/kargersContraction.sql b/sql/kargersContraction/kargersContraction.sql new file mode 100644 index 00000000000..0adb216b773 --- /dev/null +++ b/sql/kargersContraction/kargersContraction.sql @@ -0,0 +1,75 @@ +/*PGR-GNU***************************************************************** +File: contraction.sql + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +-------------------- +-------------------- +-- kargersContraction +-------------------- +-------------------- + +-------------------- +-- pgr_kargersContraction +-------------------- + + +CREATE OR REPLACE FUNCTION pgr_kargersContraction( + TEXT, -- edges_sql (required) + BIGINT[], -- contraction_order (required) + + max_cycles INTEGER DEFAULT 1, + forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], + directed BOOLEAN DEFAULT true, + + OUT type TEXT, + OUT id BIGINT, + OUT contracted_vertices BIGINT[], + OUT source BIGINT, + OUT target BIGINT, + OUT cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT * + FROM _pgr_kargersContraction(_pgr_get_statement($1), $2::BIGINT[], $3, $4, $5); +$BODY$ +LANGUAGE SQL VOLATILE STRICT; + +-- COMMENTS + +COMMENT ON FUNCTION pgr_kargersContraction(TEXT, BIGINT[], INTEGER, BIGINT[], BOOLEAN) +IS 'pgr_kargersContraction +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - ARRAY [Contraction order] +- Optional Parameters + - max_cycles := 1 + - forbidden_vertices := ARRAY[]::BIGINT[] + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_kargersContraction.html +'; From d92e197743eae5a102e9708fb4b04a4b36517834 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 24 May 2020 13:32:58 +0530 Subject: [PATCH 0325/1360] Added kargersContraction_driver.h --- .../kargersContraction_driver.h | 75 +++++++++++++++++++ sql/dijkstra/CMakeLists.txt | 1 - sql/dijkstra/funnyDijkstra.sql | 65 ---------------- 3 files changed, 75 insertions(+), 66 deletions(-) create mode 100644 include/drivers/kargersContraction/kargersContraction_driver.h delete mode 100644 sql/dijkstra/funnyDijkstra.sql diff --git a/include/drivers/kargersContraction/kargersContraction_driver.h b/include/drivers/kargersContraction/kargersContraction_driver.h new file mode 100644 index 00000000000..e57fa6a53b2 --- /dev/null +++ b/include/drivers/kargersContraction/kargersContraction_driver.h @@ -0,0 +1,75 @@ +/*PGR-GNU***************************************************************** +File: kargersContraction_driver.h + +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_DRIVERS_KARGERSCONTRACTION_KARGERSCONTRACTION_DRIVER_H_ +#define INCLUDE_DRIVERS_KARGERSCONTRACTION_KARGERSCONTRACTION_DRIVER_H_ +#pragma once + +/* for size-t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +#include "c_types/contracted_rt.h" +#include "c_types/pgr_edge_t.h" + +#ifdef __cplusplus +extern "C" { +#endif + + /********************************************************* + edges_sql TEXT, + contraction_order BIGINT[], + forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], + max_cycles integer DEFAULT 1, + directed BOOLEAN DEFAULT true + ********************************************************/ + void + do_pgr_kargersContraction( + pgr_edge_t *data_edges, + size_t total_tuples, + int64_t *forbidden_vertices, + size_t size_forbidden_vertices, + int64_t *contraction_order, + size_t size_contraction_order, + int64_t max_cycles, + bool directed, + contracted_rt **return_tuples, + size_t *return_count, + char **log_msg, + char **notice_msg, + char **err_msg); + + +#ifdef __cplusplus +} +#endif + +#endif // INCLUDE_DRIVERS_KARGERSCONTRACTION_KARGERSCONTRACTION_DRIVER_H_ diff --git a/sql/dijkstra/CMakeLists.txt b/sql/dijkstra/CMakeLists.txt index 13ac8914eda..da9bc230e04 100644 --- a/sql/dijkstra/CMakeLists.txt +++ b/sql/dijkstra/CMakeLists.txt @@ -7,7 +7,6 @@ SET(LOCAL_FILES _dijkstraVia.sql dijkstraVia.sql _dijkstraNear.sql - funnyDijkstra.sql ) foreach (f ${LOCAL_FILES}) diff --git a/sql/dijkstra/funnyDijkstra.sql b/sql/dijkstra/funnyDijkstra.sql deleted file mode 100644 index 0bcd90b229f..00000000000 --- a/sql/dijkstra/funnyDijkstra.sql +++ /dev/null @@ -1,65 +0,0 @@ -/*PGR-GNU***************************************************************** - -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Copyright (c) 2015 Celia Virginia Vergara Castillo -mail: vicky_vergara@hotmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - ---------------- --- pgr_dijkstra ---------------- - --- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_funnyDijkstra( - TEXT, -- edges_sql (required) - BIGINT, -- to_vid (required) - - directed BOOLEAN DEFAULT true, - - OUT seq INTEGER, - OUT path_seq INTEGER, - OUT node BIGINT, - OUT edge BIGINT, - OUT cost FLOAT, - OUT agg_cost FLOAT) -RETURNS SETOF RECORD AS -$BODY$ - SELECT a.seq, a.path_seq, a.node, a.edge, a.cost, a.agg_cost - FROM _pgr_dijkstra(_pgr_get_statement($1), ARRAY[1]::BIGINT[], ARRAY[$2]::BIGINT[],true, false, true) AS a; -$BODY$ -LANGUAGE sql VOLATILE STRICT -COST 100 -ROWS 1000; - --- COMMENTS - -COMMENT ON FUNCTION pgr_funnyDijkstra(TEXT, BIGINT, BOOLEAN) -IS 'pgr_funnyDijkstra(One to One) -- Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - From vertex identifier - - To vertex identifier -- Optional Parameters - - directed := true -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_funnyDijkstra.html -'; From 059e0ec7b3af17088bb5a4a307b2020d3fb02351 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 24 May 2020 14:11:52 +0530 Subject: [PATCH 0326/1360] Added kargersContraction.c --- src/kargersContraction/kargersContraction.c | 268 ++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 src/kargersContraction/kargersContraction.c diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c new file mode 100644 index 00000000000..c5e5977b058 --- /dev/null +++ b/src/kargersContraction/kargersContraction.c @@ -0,0 +1,268 @@ +/*PGR-GNU***************************************************************** +File: kargersContraction.c + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +#include + +#include "c_common/postgres_connection.h" +#include "utils/array.h" +#include "catalog/pg_type.h" +#include "utils/lsyscache.h" + +#ifndef INT8ARRAYOID +#define INT8ARRAYOID 1016 +#endif + +#include "c_common/debug_macro.h" +#include "c_common/e_report.h" +#include "c_common/time_msg.h" +#include "c_types/contracted_rt.h" +#include "c_common/edges_input.h" +#include "c_common/arrays_input.h" +#include "drivers/kargersContraction/kargersContraction_driver.h" + +PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_kargersContraction); + + +static +void +process(char* edges_sql, + ArrayType* order, + int num_cycles, + ArrayType* forbidden, + + bool directed, + contracted_rt **result_tuples, + size_t *result_count) { + /* + * nothing to do + */ + if (num_cycles < 1) return; + + pgr_SPI_connect(); + + size_t size_forbidden_vertices = 0; + int64_t* forbidden_vertices = + pgr_get_bigIntArray_allowEmpty( + &size_forbidden_vertices, + forbidden); + PGR_DBG("size_forbidden_vertices %ld", size_forbidden_vertices); + + size_t size_contraction_order = 0; + int64_t* contraction_order = + pgr_get_bigIntArray( + &size_contraction_order, + order); + PGR_DBG("size_contraction_order %ld ", size_contraction_order); + + + size_t total_edges = 0; + pgr_edge_t* edges = NULL; + pgr_get_edges(edges_sql, &edges, &total_edges); + if (total_edges == 0) { + if (forbidden_vertices) pfree(forbidden_vertices); + if (contraction_order) pfree(contraction_order); + pgr_SPI_finish(); + return; + } + + PGR_DBG("Starting timer"); + clock_t start_t = clock(); + char* log_msg = NULL; + char* notice_msg = NULL; + char* err_msg = NULL; + do_pgr_contractGraph( + edges, total_edges, + forbidden_vertices, size_forbidden_vertices, + contraction_order, size_contraction_order, + num_cycles, + directed, + result_tuples, result_count, + &log_msg, + ¬ice_msg, + &err_msg); + + time_msg("processing pgr_kargersContraction()", start_t, clock()); + + + if (err_msg && (*result_tuples)) { + pfree(*result_tuples); + (*result_tuples) = NULL; + (*result_count) = 0; + } + + pgr_global_report(log_msg, notice_msg, err_msg); + + if (log_msg) pfree(log_msg); + if (notice_msg) pfree(notice_msg); + if (err_msg) pfree(err_msg); + if (edges) pfree(edges); + if (forbidden_vertices) pfree(forbidden_vertices); + if (contraction_order) pfree(contraction_order); + pgr_SPI_finish(); +} + +PGDLLEXPORT Datum +_pgr_kargersContraction(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; + + /**********************************************************************/ + contracted_rt *result_tuples = NULL; + size_t result_count = 0; + /**********************************************************************/ + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + /**********************************************************************/ + /* + edges_sql TEXT, + contraction_order BIGINT[], + max_cycles integer DEFAULT 1, + forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], + directed BOOLEAN DEFAULT true, + + **********************************************************************/ + + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + PG_GETARG_ARRAYTYPE_P(1), + PG_GETARG_INT32(2), + PG_GETARG_ARRAYTYPE_P(3), + PG_GETARG_BOOL(4), + &result_tuples, + &result_count); + + + /**********************************************************************/ +#if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; +#else + funcctx->max_calls = (uint32_t)result_count; +#endif + funcctx->user_fctx = result_tuples; + if (get_call_result_type(fcinfo, NULL, &tuple_desc) + != TYPEFUNC_COMPOSITE) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + funcctx->tuple_desc = tuple_desc; + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (contracted_rt*) funcctx->user_fctx; + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; + Datum result; + Datum *values; + bool *nulls; + int16 typlen; + size_t call_cntr = funcctx->call_cntr; + + /**********************************************************************/ + size_t numb = 6; + values =(Datum *)palloc(numb * sizeof(Datum)); + nulls = palloc(numb * sizeof(bool)); + size_t i; + for (i = 0; i < numb; ++i) { + nulls[i] = false; + } + + size_t contracted_vertices_size = + (size_t)result_tuples[call_cntr].contracted_vertices_size; + + Datum* contracted_vertices_array; + contracted_vertices_array = (Datum*) palloc(sizeof(Datum) * + (size_t)contracted_vertices_size); + + for (i = 0; i < contracted_vertices_size; ++i) { + PGR_DBG("Storing contracted vertex %ld", + result_tuples[call_cntr].contracted_vertices[i]); + contracted_vertices_array[i] = + Int64GetDatum(result_tuples[call_cntr].contracted_vertices[i]); + } + + bool typbyval; + char typalign; + get_typlenbyvalalign(INT8OID, &typlen, &typbyval, &typalign); + ArrayType* arrayType; + /* + * https://doxygen.postgresql.org/arrayfuncs_8c.html + + ArrayType* construct_array( + Datum* elems, + int nelems, + Oid elmtype, int elmlen, bool elmbyval, char elmalign + ) + */ + arrayType = construct_array( + contracted_vertices_array, + (int)contracted_vertices_size, + INT8OID, typlen, typbyval, typalign); + /* + void TupleDescInitEntry( + TupleDesc desc, + AttrNumber attributeNumber, + const char * attributeName, + Oid oidtypeid, + int32 typmod, + int attdim + ) + */ + TupleDescInitEntry(tuple_desc, (AttrNumber) 3, "contracted_vertices", + INT8ARRAYOID, -1, 0); + + values[0] = CStringGetTextDatum(result_tuples[call_cntr].type); + values[1] = Int64GetDatum(result_tuples[call_cntr].id); + values[2] = PointerGetDatum(arrayType); + values[3] = Int64GetDatum(result_tuples[call_cntr].source); + values[4] = Int64GetDatum(result_tuples[call_cntr].target); + values[5] = Float8GetDatum(result_tuples[call_cntr].cost); + + /*********************************************************************/ + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + + /* + * cleaning up the contracted vertices array + */ + if (result_tuples[funcctx->call_cntr].contracted_vertices) { + pfree(result_tuples[funcctx->call_cntr].contracted_vertices); + } + SRF_RETURN_NEXT(funcctx, result); + } else { + SRF_RETURN_DONE(funcctx); + } +} From ddf4b82fda38962355ffae77c7878bf026624678 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 24 May 2020 15:25:50 +0530 Subject: [PATCH 0327/1360] Added kargersContraction_driver.cpp and CMakeLists.txt --- src/kargersContraction/CMakeLists.txt | 4 + .../kargersContraction_driver.cpp | 275 ++++++++++++++++++ 2 files changed, 279 insertions(+) create mode 100644 src/kargersContraction/CMakeLists.txt create mode 100644 src/kargersContraction/kargersContraction_driver.cpp diff --git a/src/kargersContraction/CMakeLists.txt b/src/kargersContraction/CMakeLists.txt new file mode 100644 index 00000000000..d12ec19077a --- /dev/null +++ b/src/kargersContraction/CMakeLists.txt @@ -0,0 +1,4 @@ +ADD_LIBRARY(contraction OBJECT + kargersContraction.c + kargersContraction_driver.cpp + ) diff --git a/src/kargersContraction/kargersContraction_driver.cpp b/src/kargersContraction/kargersContraction_driver.cpp new file mode 100644 index 00000000000..fd4b5f48fd3 --- /dev/null +++ b/src/kargersContraction/kargersContraction_driver.cpp @@ -0,0 +1,275 @@ +/*PGR-GNU***************************************************************** +File: kargersContraction_driver.cpp + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +#include "drivers/kargersContraction/kargersContraction_driver.h" + +#include +#include +#include +#include +#include + +#include "kargersContraction/ch_graphs.hpp" +#include "kargersContraction/pgr_kargersContraction.hpp" + +#include "cpp_common/identifiers.hpp" +#include "cpp_common/pgr_alloc.hpp" + +namespace { + +/*! @brief vertices with at least one contracted vertex + + @result The vids Identifiers with at least one contracted vertex +*/ +template +Identifiers get_modified_vertices(const G& graph) { + Identifiers vids; + for (auto v : boost::make_iterator_range(boost::vertices(graph.graph))) { + if (graph[v].has_contracted_vertices()) { + vids += graph[v].id; + } + } + return vids; +} + +/*! @brief vertices with at least one contracted vertex + + @result The vids Identifiers with at least one contracted vertex +*/ +template +std::vector get_shortcuts(const G& graph) { + using E = typename G::E; + Identifiers eids; + for (auto e : boost::make_iterator_range(boost::edges(graph.graph))) { + if (graph[e].id < 0) { + eids += e; + pgassert(!graph[e].contracted_vertices().empty()); + } else { + pgassert(graph[e].contracted_vertices().empty()); + } + } + std::vector o_eids(eids.begin(), eids.end()); + std::sort(o_eids.begin(), o_eids.end(), + [&](E lhs, E rhs) {return -graph[lhs].id < -graph[rhs].id;}); + return o_eids; +} + + +template +void process_kargersContraction( + G &graph, + const std::vector< pgr_edge_t > &edges, + const std::vector< int64_t > &forbidden_vertices, + const std::vector< int64_t > &contraction_order, + int64_t max_cycles) { + graph.insert_edges(edges); + Identifiers forbid_vertices; + for (const auto &vertex : forbidden_vertices) { + if (graph.has_vertex(vertex)) { + forbid_vertices += graph.get_V(vertex); + } + } + + /* + * Function call to get the contracted graph. + */ + using Contract = pgrouting::contraction::Pgr_contract; + Contract result( + graph, + forbid_vertices, + contraction_order, + max_cycles); +} + +template +void get_postgres_result( + G &graph, + contracted_rt **return_tuples, + size_t *count) { + auto modified_vertices(get_modified_vertices(graph)); + auto shortcut_edges(get_shortcuts(graph)); + + (*count) = modified_vertices.size() + shortcut_edges.size(); + (*return_tuples) = pgr_alloc((*count), (*return_tuples)); + size_t sequence = 0; + + for (const auto id : modified_vertices) { + auto v = graph.get_V(id); + int64_t* contracted_vertices = NULL; + auto vids = graph[v].contracted_vertices(); + + contracted_vertices = pgr_alloc(vids.size(), contracted_vertices); + + int count = 0; + for (const auto id : vids) { + contracted_vertices[count++] = id; + } + (*return_tuples)[sequence] = { + id, + const_cast("v"), + -1, -1, -1.00, + contracted_vertices, + count}; + + ++sequence; + } + + int64_t eid = 0; + for (auto e : shortcut_edges) { + auto edge = graph[e]; + int64_t* contracted_vertices = NULL; + + const auto vids(edge.contracted_vertices()); + pgassert(!vids.empty()); + + contracted_vertices = pgr_alloc(vids.size(), contracted_vertices); + int count = 0; + for (const auto vid : vids) { + contracted_vertices[count++] = vid; + } + (*return_tuples)[sequence] = { + --eid, + const_cast("e"), + edge.source, edge.target, edge.cost, + contracted_vertices, count}; + ++sequence; + } +} + +} // namespace + + + +/************************************************************ + edges_sql TEXT, + contraction_order BIGINT[], + forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], + max_cycles integer DEFAULT 1, + directed BOOLEAN DEFAULT true + ***********************************************************/ +void +do_pgr_contractGraph( + pgr_edge_t *data_edges, + size_t total_edges, + int64_t *forbidden_vertices, + size_t size_forbidden_vertices, + int64_t *contraction_order, + size_t size_contraction_order, + int64_t max_cycles, + bool directed, + contracted_rt **return_tuples, + size_t *return_count, + char **log_msg, + char **notice_msg, + char **err_msg) { + std::ostringstream log; + std::ostringstream notice; + std::ostringstream err; + try { + pgassert(total_edges != 0); + pgassert(size_contraction_order != 0); + pgassert(max_cycles != 0); + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + + /* + * Converting to C++ structures + */ + std::vector edges(data_edges, data_edges + total_edges); + std::vector forbid( + forbidden_vertices, + forbidden_vertices + size_forbidden_vertices); + std::vector ordering( + contraction_order, + contraction_order + size_contraction_order); + + for (const auto kind : ordering) { + if (!pgrouting::contraction::is_valid_contraction(static_cast(kind))) { + *err_msg = pgr_msg("Invalid contraction type found"); + log << "Contraction type " << kind << " not valid"; + *log_msg = pgr_msg(log.str().c_str()); + return; + } + } + + + graphType gType = directed? DIRECTED: UNDIRECTED; + if (directed) { + using DirectedGraph = pgrouting::graph::CHDirectedGraph; + DirectedGraph digraph(gType); + + process_kargersContraction(digraph, edges, forbid, ordering, + max_cycles); + + get_postgres_result( + digraph, + return_tuples, + return_count); + } else { + using UndirectedGraph = pgrouting::graph::CHUndirectedGraph; + UndirectedGraph undigraph(gType); + process_kargersContraction(undigraph, edges, forbid, ordering, + max_cycles); + + get_postgres_result( + undigraph, + return_tuples, + return_count); + } + + pgassert(err.str().empty()); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } +} From cba6707345d2d81d176bc7a835dbdb4898bce048 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 24 May 2020 21:25:24 +0530 Subject: [PATCH 0328/1360] Modified headers file for kargersContraction_driver.cpp --- src/kargersContraction/kargersContraction_driver.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/kargersContraction/kargersContraction_driver.cpp b/src/kargersContraction/kargersContraction_driver.cpp index fd4b5f48fd3..2714a430a39 100644 --- a/src/kargersContraction/kargersContraction_driver.cpp +++ b/src/kargersContraction/kargersContraction_driver.cpp @@ -27,7 +27,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "drivers/kargersContraction/kargersContraction_driver.h" +// #include "drivers/kargersContraction/kargersContraction_driver.h" #include #include @@ -35,8 +35,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include -#include "kargersContraction/ch_graphs.hpp" -#include "kargersContraction/pgr_kargersContraction.hpp" +// #include "kargersContraction/ch_graphs.hpp" +// #include "kargersContraction/pgr_kargersContraction.hpp" #include "cpp_common/identifiers.hpp" #include "cpp_common/pgr_alloc.hpp" @@ -174,7 +174,7 @@ void get_postgres_result( directed BOOLEAN DEFAULT true ***********************************************************/ void -do_pgr_contractGraph( +do_pgr_kargersContraction( pgr_edge_t *data_edges, size_t total_edges, int64_t *forbidden_vertices, From d5f77128b230c00e4b8a072be62784b333fde402 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 24 May 2020 21:46:01 +0530 Subject: [PATCH 0329/1360] Fixed the kargersContraction_driver.cpp --- src/kargersContraction/CMakeLists.txt | 2 +- src/kargersContraction/kargersContraction.c | 2 +- .../kargersContraction_driver.cpp | 230 +----------------- 3 files changed, 6 insertions(+), 228 deletions(-) diff --git a/src/kargersContraction/CMakeLists.txt b/src/kargersContraction/CMakeLists.txt index d12ec19077a..3f2150b99ea 100644 --- a/src/kargersContraction/CMakeLists.txt +++ b/src/kargersContraction/CMakeLists.txt @@ -1,4 +1,4 @@ -ADD_LIBRARY(contraction OBJECT +ADD_LIBRARY(kargersContraction OBJECT kargersContraction.c kargersContraction_driver.cpp ) diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index c5e5977b058..c4cec70ad3f 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -97,7 +97,7 @@ process(char* edges_sql, char* log_msg = NULL; char* notice_msg = NULL; char* err_msg = NULL; - do_pgr_contractGraph( + do_pgr_kargersContraction( edges, total_edges, forbidden_vertices, size_forbidden_vertices, contraction_order, size_contraction_order, diff --git a/src/kargersContraction/kargersContraction_driver.cpp b/src/kargersContraction/kargersContraction_driver.cpp index 2714a430a39..60291fdc76f 100644 --- a/src/kargersContraction/kargersContraction_driver.cpp +++ b/src/kargersContraction/kargersContraction_driver.cpp @@ -27,17 +27,20 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -// #include "drivers/kargersContraction/kargersContraction_driver.h" +#include "drivers/kargersContraction/kargersContraction_driver.h" #include #include #include #include #include +//Add header files here for kargersContraction // #include "kargersContraction/ch_graphs.hpp" // #include "kargersContraction/pgr_kargersContraction.hpp" + + #include "cpp_common/identifiers.hpp" #include "cpp_common/pgr_alloc.hpp" @@ -47,229 +50,4 @@ namespace { @result The vids Identifiers with at least one contracted vertex */ -template -Identifiers get_modified_vertices(const G& graph) { - Identifiers vids; - for (auto v : boost::make_iterator_range(boost::vertices(graph.graph))) { - if (graph[v].has_contracted_vertices()) { - vids += graph[v].id; - } - } - return vids; -} - -/*! @brief vertices with at least one contracted vertex - - @result The vids Identifiers with at least one contracted vertex -*/ -template -std::vector get_shortcuts(const G& graph) { - using E = typename G::E; - Identifiers eids; - for (auto e : boost::make_iterator_range(boost::edges(graph.graph))) { - if (graph[e].id < 0) { - eids += e; - pgassert(!graph[e].contracted_vertices().empty()); - } else { - pgassert(graph[e].contracted_vertices().empty()); - } - } - std::vector o_eids(eids.begin(), eids.end()); - std::sort(o_eids.begin(), o_eids.end(), - [&](E lhs, E rhs) {return -graph[lhs].id < -graph[rhs].id;}); - return o_eids; -} - - -template -void process_kargersContraction( - G &graph, - const std::vector< pgr_edge_t > &edges, - const std::vector< int64_t > &forbidden_vertices, - const std::vector< int64_t > &contraction_order, - int64_t max_cycles) { - graph.insert_edges(edges); - Identifiers forbid_vertices; - for (const auto &vertex : forbidden_vertices) { - if (graph.has_vertex(vertex)) { - forbid_vertices += graph.get_V(vertex); - } - } - - /* - * Function call to get the contracted graph. - */ - using Contract = pgrouting::contraction::Pgr_contract; - Contract result( - graph, - forbid_vertices, - contraction_order, - max_cycles); -} - -template -void get_postgres_result( - G &graph, - contracted_rt **return_tuples, - size_t *count) { - auto modified_vertices(get_modified_vertices(graph)); - auto shortcut_edges(get_shortcuts(graph)); - - (*count) = modified_vertices.size() + shortcut_edges.size(); - (*return_tuples) = pgr_alloc((*count), (*return_tuples)); - size_t sequence = 0; - - for (const auto id : modified_vertices) { - auto v = graph.get_V(id); - int64_t* contracted_vertices = NULL; - auto vids = graph[v].contracted_vertices(); - - contracted_vertices = pgr_alloc(vids.size(), contracted_vertices); - - int count = 0; - for (const auto id : vids) { - contracted_vertices[count++] = id; - } - (*return_tuples)[sequence] = { - id, - const_cast("v"), - -1, -1, -1.00, - contracted_vertices, - count}; - - ++sequence; - } - - int64_t eid = 0; - for (auto e : shortcut_edges) { - auto edge = graph[e]; - int64_t* contracted_vertices = NULL; - - const auto vids(edge.contracted_vertices()); - pgassert(!vids.empty()); - - contracted_vertices = pgr_alloc(vids.size(), contracted_vertices); - int count = 0; - for (const auto vid : vids) { - contracted_vertices[count++] = vid; - } - (*return_tuples)[sequence] = { - --eid, - const_cast("e"), - edge.source, edge.target, edge.cost, - contracted_vertices, count}; - ++sequence; - } -} - -} // namespace - - - -/************************************************************ - edges_sql TEXT, - contraction_order BIGINT[], - forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], - max_cycles integer DEFAULT 1, - directed BOOLEAN DEFAULT true - ***********************************************************/ -void -do_pgr_kargersContraction( - pgr_edge_t *data_edges, - size_t total_edges, - int64_t *forbidden_vertices, - size_t size_forbidden_vertices, - int64_t *contraction_order, - size_t size_contraction_order, - int64_t max_cycles, - bool directed, - contracted_rt **return_tuples, - size_t *return_count, - char **log_msg, - char **notice_msg, - char **err_msg) { - std::ostringstream log; - std::ostringstream notice; - std::ostringstream err; - try { - pgassert(total_edges != 0); - pgassert(size_contraction_order != 0); - pgassert(max_cycles != 0); - pgassert(!(*log_msg)); - pgassert(!(*notice_msg)); - pgassert(!(*err_msg)); - pgassert(!(*return_tuples)); - pgassert(*return_count == 0); - - /* - * Converting to C++ structures - */ - std::vector edges(data_edges, data_edges + total_edges); - std::vector forbid( - forbidden_vertices, - forbidden_vertices + size_forbidden_vertices); - std::vector ordering( - contraction_order, - contraction_order + size_contraction_order); - - for (const auto kind : ordering) { - if (!pgrouting::contraction::is_valid_contraction(static_cast(kind))) { - *err_msg = pgr_msg("Invalid contraction type found"); - log << "Contraction type " << kind << " not valid"; - *log_msg = pgr_msg(log.str().c_str()); - return; - } - } - - - graphType gType = directed? DIRECTED: UNDIRECTED; - if (directed) { - using DirectedGraph = pgrouting::graph::CHDirectedGraph; - DirectedGraph digraph(gType); - - process_kargersContraction(digraph, edges, forbid, ordering, - max_cycles); - - get_postgres_result( - digraph, - return_tuples, - return_count); - } else { - using UndirectedGraph = pgrouting::graph::CHUndirectedGraph; - UndirectedGraph undigraph(gType); - process_kargersContraction(undigraph, edges, forbid, ordering, - max_cycles); - - get_postgres_result( - undigraph, - return_tuples, - return_count); - } - - pgassert(err.str().empty()); - *log_msg = log.str().empty()? - *log_msg : - pgr_msg(log.str().c_str()); - *notice_msg = notice.str().empty()? - *notice_msg : - pgr_msg(notice.str().c_str()); - } catch (AssertFailedException &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch (std::exception &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch(...) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << "Caught unknown exception!"; - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } } From 990e4545dcb614db2fdc7f77ac192d00dc0b1ee2 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 24 May 2020 22:22:44 +0530 Subject: [PATCH 0330/1360] Fixed the kargersContraction.c --- src/kargersContraction/kargersContraction.c | 218 -------------------- 1 file changed, 218 deletions(-) diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index c4cec70ad3f..e6a82c83b98 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -48,221 +48,3 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_kargersContraction); - - -static -void -process(char* edges_sql, - ArrayType* order, - int num_cycles, - ArrayType* forbidden, - - bool directed, - contracted_rt **result_tuples, - size_t *result_count) { - /* - * nothing to do - */ - if (num_cycles < 1) return; - - pgr_SPI_connect(); - - size_t size_forbidden_vertices = 0; - int64_t* forbidden_vertices = - pgr_get_bigIntArray_allowEmpty( - &size_forbidden_vertices, - forbidden); - PGR_DBG("size_forbidden_vertices %ld", size_forbidden_vertices); - - size_t size_contraction_order = 0; - int64_t* contraction_order = - pgr_get_bigIntArray( - &size_contraction_order, - order); - PGR_DBG("size_contraction_order %ld ", size_contraction_order); - - - size_t total_edges = 0; - pgr_edge_t* edges = NULL; - pgr_get_edges(edges_sql, &edges, &total_edges); - if (total_edges == 0) { - if (forbidden_vertices) pfree(forbidden_vertices); - if (contraction_order) pfree(contraction_order); - pgr_SPI_finish(); - return; - } - - PGR_DBG("Starting timer"); - clock_t start_t = clock(); - char* log_msg = NULL; - char* notice_msg = NULL; - char* err_msg = NULL; - do_pgr_kargersContraction( - edges, total_edges, - forbidden_vertices, size_forbidden_vertices, - contraction_order, size_contraction_order, - num_cycles, - directed, - result_tuples, result_count, - &log_msg, - ¬ice_msg, - &err_msg); - - time_msg("processing pgr_kargersContraction()", start_t, clock()); - - - if (err_msg && (*result_tuples)) { - pfree(*result_tuples); - (*result_tuples) = NULL; - (*result_count) = 0; - } - - pgr_global_report(log_msg, notice_msg, err_msg); - - if (log_msg) pfree(log_msg); - if (notice_msg) pfree(notice_msg); - if (err_msg) pfree(err_msg); - if (edges) pfree(edges); - if (forbidden_vertices) pfree(forbidden_vertices); - if (contraction_order) pfree(contraction_order); - pgr_SPI_finish(); -} - -PGDLLEXPORT Datum -_pgr_kargersContraction(PG_FUNCTION_ARGS) { - FuncCallContext *funcctx; - TupleDesc tuple_desc; - - /**********************************************************************/ - contracted_rt *result_tuples = NULL; - size_t result_count = 0; - /**********************************************************************/ - - if (SRF_IS_FIRSTCALL()) { - MemoryContext oldcontext; - funcctx = SRF_FIRSTCALL_INIT(); - oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - /* - edges_sql TEXT, - contraction_order BIGINT[], - max_cycles integer DEFAULT 1, - forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], - directed BOOLEAN DEFAULT true, - - **********************************************************************/ - - process( - text_to_cstring(PG_GETARG_TEXT_P(0)), - PG_GETARG_ARRAYTYPE_P(1), - PG_GETARG_INT32(2), - PG_GETARG_ARRAYTYPE_P(3), - PG_GETARG_BOOL(4), - &result_tuples, - &result_count); - - - /**********************************************************************/ -#if PGSQL_VERSION > 95 - funcctx->max_calls = result_count; -#else - funcctx->max_calls = (uint32_t)result_count; -#endif - funcctx->user_fctx = result_tuples; - if (get_call_result_type(fcinfo, NULL, &tuple_desc) - != TYPEFUNC_COMPOSITE) - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("function returning record called in context " - "that cannot accept type record"))); - funcctx->tuple_desc = tuple_desc; - MemoryContextSwitchTo(oldcontext); - } - - funcctx = SRF_PERCALL_SETUP(); - tuple_desc = funcctx->tuple_desc; - result_tuples = (contracted_rt*) funcctx->user_fctx; - - if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; - Datum result; - Datum *values; - bool *nulls; - int16 typlen; - size_t call_cntr = funcctx->call_cntr; - - /**********************************************************************/ - size_t numb = 6; - values =(Datum *)palloc(numb * sizeof(Datum)); - nulls = palloc(numb * sizeof(bool)); - size_t i; - for (i = 0; i < numb; ++i) { - nulls[i] = false; - } - - size_t contracted_vertices_size = - (size_t)result_tuples[call_cntr].contracted_vertices_size; - - Datum* contracted_vertices_array; - contracted_vertices_array = (Datum*) palloc(sizeof(Datum) * - (size_t)contracted_vertices_size); - - for (i = 0; i < contracted_vertices_size; ++i) { - PGR_DBG("Storing contracted vertex %ld", - result_tuples[call_cntr].contracted_vertices[i]); - contracted_vertices_array[i] = - Int64GetDatum(result_tuples[call_cntr].contracted_vertices[i]); - } - - bool typbyval; - char typalign; - get_typlenbyvalalign(INT8OID, &typlen, &typbyval, &typalign); - ArrayType* arrayType; - /* - * https://doxygen.postgresql.org/arrayfuncs_8c.html - - ArrayType* construct_array( - Datum* elems, - int nelems, - Oid elmtype, int elmlen, bool elmbyval, char elmalign - ) - */ - arrayType = construct_array( - contracted_vertices_array, - (int)contracted_vertices_size, - INT8OID, typlen, typbyval, typalign); - /* - void TupleDescInitEntry( - TupleDesc desc, - AttrNumber attributeNumber, - const char * attributeName, - Oid oidtypeid, - int32 typmod, - int attdim - ) - */ - TupleDescInitEntry(tuple_desc, (AttrNumber) 3, "contracted_vertices", - INT8ARRAYOID, -1, 0); - - values[0] = CStringGetTextDatum(result_tuples[call_cntr].type); - values[1] = Int64GetDatum(result_tuples[call_cntr].id); - values[2] = PointerGetDatum(arrayType); - values[3] = Int64GetDatum(result_tuples[call_cntr].source); - values[4] = Int64GetDatum(result_tuples[call_cntr].target); - values[5] = Float8GetDatum(result_tuples[call_cntr].cost); - - /*********************************************************************/ - tuple = heap_form_tuple(tuple_desc, values, nulls); - result = HeapTupleGetDatum(tuple); - - /* - * cleaning up the contracted vertices array - */ - if (result_tuples[funcctx->call_cntr].contracted_vertices) { - pfree(result_tuples[funcctx->call_cntr].contracted_vertices); - } - SRF_RETURN_NEXT(funcctx, result); - } else { - SRF_RETURN_DONE(funcctx); - } -} From ef4b445dc3ff7600e12388cb10ba6485deb83d7a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 24 May 2020 22:32:12 +0530 Subject: [PATCH 0331/1360] Minor debugging the kargersContraction.c --- src/kargersContraction/kargersContraction.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index e6a82c83b98..22f2fadce28 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -46,5 +46,5 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/arrays_input.h" #include "drivers/kargersContraction/kargersContraction_driver.h" -PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_kargersContraction); +// PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS); +// PG_FUNCTION_INFO_V1(_pgr_kargersContraction); From aef77eca1a9fa9dfd8163cdef348f5b61619cc92 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 25 May 2020 10:11:26 +0530 Subject: [PATCH 0332/1360] Debugging Travis-CI build --- src/kargersContraction/kargersContraction.c | 222 +++++++++++++++++++- 1 file changed, 220 insertions(+), 2 deletions(-) diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index 22f2fadce28..c4cec70ad3f 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -46,5 +46,223 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/arrays_input.h" #include "drivers/kargersContraction/kargersContraction_driver.h" -// PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS); -// PG_FUNCTION_INFO_V1(_pgr_kargersContraction); +PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_kargersContraction); + + +static +void +process(char* edges_sql, + ArrayType* order, + int num_cycles, + ArrayType* forbidden, + + bool directed, + contracted_rt **result_tuples, + size_t *result_count) { + /* + * nothing to do + */ + if (num_cycles < 1) return; + + pgr_SPI_connect(); + + size_t size_forbidden_vertices = 0; + int64_t* forbidden_vertices = + pgr_get_bigIntArray_allowEmpty( + &size_forbidden_vertices, + forbidden); + PGR_DBG("size_forbidden_vertices %ld", size_forbidden_vertices); + + size_t size_contraction_order = 0; + int64_t* contraction_order = + pgr_get_bigIntArray( + &size_contraction_order, + order); + PGR_DBG("size_contraction_order %ld ", size_contraction_order); + + + size_t total_edges = 0; + pgr_edge_t* edges = NULL; + pgr_get_edges(edges_sql, &edges, &total_edges); + if (total_edges == 0) { + if (forbidden_vertices) pfree(forbidden_vertices); + if (contraction_order) pfree(contraction_order); + pgr_SPI_finish(); + return; + } + + PGR_DBG("Starting timer"); + clock_t start_t = clock(); + char* log_msg = NULL; + char* notice_msg = NULL; + char* err_msg = NULL; + do_pgr_kargersContraction( + edges, total_edges, + forbidden_vertices, size_forbidden_vertices, + contraction_order, size_contraction_order, + num_cycles, + directed, + result_tuples, result_count, + &log_msg, + ¬ice_msg, + &err_msg); + + time_msg("processing pgr_kargersContraction()", start_t, clock()); + + + if (err_msg && (*result_tuples)) { + pfree(*result_tuples); + (*result_tuples) = NULL; + (*result_count) = 0; + } + + pgr_global_report(log_msg, notice_msg, err_msg); + + if (log_msg) pfree(log_msg); + if (notice_msg) pfree(notice_msg); + if (err_msg) pfree(err_msg); + if (edges) pfree(edges); + if (forbidden_vertices) pfree(forbidden_vertices); + if (contraction_order) pfree(contraction_order); + pgr_SPI_finish(); +} + +PGDLLEXPORT Datum +_pgr_kargersContraction(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; + + /**********************************************************************/ + contracted_rt *result_tuples = NULL; + size_t result_count = 0; + /**********************************************************************/ + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + /**********************************************************************/ + /* + edges_sql TEXT, + contraction_order BIGINT[], + max_cycles integer DEFAULT 1, + forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], + directed BOOLEAN DEFAULT true, + + **********************************************************************/ + + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + PG_GETARG_ARRAYTYPE_P(1), + PG_GETARG_INT32(2), + PG_GETARG_ARRAYTYPE_P(3), + PG_GETARG_BOOL(4), + &result_tuples, + &result_count); + + + /**********************************************************************/ +#if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; +#else + funcctx->max_calls = (uint32_t)result_count; +#endif + funcctx->user_fctx = result_tuples; + if (get_call_result_type(fcinfo, NULL, &tuple_desc) + != TYPEFUNC_COMPOSITE) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + funcctx->tuple_desc = tuple_desc; + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (contracted_rt*) funcctx->user_fctx; + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; + Datum result; + Datum *values; + bool *nulls; + int16 typlen; + size_t call_cntr = funcctx->call_cntr; + + /**********************************************************************/ + size_t numb = 6; + values =(Datum *)palloc(numb * sizeof(Datum)); + nulls = palloc(numb * sizeof(bool)); + size_t i; + for (i = 0; i < numb; ++i) { + nulls[i] = false; + } + + size_t contracted_vertices_size = + (size_t)result_tuples[call_cntr].contracted_vertices_size; + + Datum* contracted_vertices_array; + contracted_vertices_array = (Datum*) palloc(sizeof(Datum) * + (size_t)contracted_vertices_size); + + for (i = 0; i < contracted_vertices_size; ++i) { + PGR_DBG("Storing contracted vertex %ld", + result_tuples[call_cntr].contracted_vertices[i]); + contracted_vertices_array[i] = + Int64GetDatum(result_tuples[call_cntr].contracted_vertices[i]); + } + + bool typbyval; + char typalign; + get_typlenbyvalalign(INT8OID, &typlen, &typbyval, &typalign); + ArrayType* arrayType; + /* + * https://doxygen.postgresql.org/arrayfuncs_8c.html + + ArrayType* construct_array( + Datum* elems, + int nelems, + Oid elmtype, int elmlen, bool elmbyval, char elmalign + ) + */ + arrayType = construct_array( + contracted_vertices_array, + (int)contracted_vertices_size, + INT8OID, typlen, typbyval, typalign); + /* + void TupleDescInitEntry( + TupleDesc desc, + AttrNumber attributeNumber, + const char * attributeName, + Oid oidtypeid, + int32 typmod, + int attdim + ) + */ + TupleDescInitEntry(tuple_desc, (AttrNumber) 3, "contracted_vertices", + INT8ARRAYOID, -1, 0); + + values[0] = CStringGetTextDatum(result_tuples[call_cntr].type); + values[1] = Int64GetDatum(result_tuples[call_cntr].id); + values[2] = PointerGetDatum(arrayType); + values[3] = Int64GetDatum(result_tuples[call_cntr].source); + values[4] = Int64GetDatum(result_tuples[call_cntr].target); + values[5] = Float8GetDatum(result_tuples[call_cntr].cost); + + /*********************************************************************/ + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + + /* + * cleaning up the contracted vertices array + */ + if (result_tuples[funcctx->call_cntr].contracted_vertices) { + pfree(result_tuples[funcctx->call_cntr].contracted_vertices); + } + SRF_RETURN_NEXT(funcctx, result); + } else { + SRF_RETURN_DONE(funcctx); + } +} From c4e7eae0aa8bccd488e23d4077264f02dfb5cca9 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 25 May 2020 14:46:03 +0530 Subject: [PATCH 0333/1360] Commented kargersContraction.sql --- sql/kargersContraction/kargersContraction.sql | 74 +++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/sql/kargersContraction/kargersContraction.sql b/sql/kargersContraction/kargersContraction.sql index 0adb216b773..995ccd88d9a 100644 --- a/sql/kargersContraction/kargersContraction.sql +++ b/sql/kargersContraction/kargersContraction.sql @@ -36,40 +36,40 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------------- -- pgr_kargersContraction -------------------- - - -CREATE OR REPLACE FUNCTION pgr_kargersContraction( - TEXT, -- edges_sql (required) - BIGINT[], -- contraction_order (required) - - max_cycles INTEGER DEFAULT 1, - forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], - directed BOOLEAN DEFAULT true, - - OUT type TEXT, - OUT id BIGINT, - OUT contracted_vertices BIGINT[], - OUT source BIGINT, - OUT target BIGINT, - OUT cost FLOAT) -RETURNS SETOF RECORD AS -$BODY$ - SELECT * - FROM _pgr_kargersContraction(_pgr_get_statement($1), $2::BIGINT[], $3, $4, $5); -$BODY$ -LANGUAGE SQL VOLATILE STRICT; - --- COMMENTS - -COMMENT ON FUNCTION pgr_kargersContraction(TEXT, BIGINT[], INTEGER, BIGINT[], BOOLEAN) -IS 'pgr_kargersContraction -- Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - ARRAY [Contraction order] -- Optional Parameters - - max_cycles := 1 - - forbidden_vertices := ARRAY[]::BIGINT[] - - directed := true -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kargersContraction.html -'; +-- +-- +-- CREATE OR REPLACE FUNCTION pgr_kargersContraction( +-- TEXT, -- edges_sql (required) +-- BIGINT[], -- contraction_order (required) +-- +-- max_cycles INTEGER DEFAULT 1, +-- forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], +-- directed BOOLEAN DEFAULT true, +-- +-- OUT type TEXT, +-- OUT id BIGINT, +-- OUT contracted_vertices BIGINT[], +-- OUT source BIGINT, +-- OUT target BIGINT, +-- OUT cost FLOAT) +-- RETURNS SETOF RECORD AS +-- $BODY$ +-- SELECT * +-- FROM _pgr_kargersContraction(_pgr_get_statement($1), $2::BIGINT[], $3, $4, $5); +-- $BODY$ +-- LANGUAGE SQL VOLATILE STRICT; +-- +-- -- COMMENTS +-- +-- COMMENT ON FUNCTION pgr_kargersContraction(TEXT, BIGINT[], INTEGER, BIGINT[], BOOLEAN) +-- IS 'pgr_kargersContraction +-- - Parameters: +-- - Edges SQL with columns: id, source, target, cost [,reverse_cost] +-- - ARRAY [Contraction order] +-- - Optional Parameters +-- - max_cycles := 1 +-- - forbidden_vertices := ARRAY[]::BIGINT[] +-- - directed := true +-- - Documentation: +-- - ${PGROUTING_DOC_LINK}/pgr_kargersContraction.html +-- '; From 999434868aef566a0fa1d8a6322725aa0dd66ca4 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 25 May 2020 15:37:09 +0530 Subject: [PATCH 0334/1360] erased some part of kargersContraction.c --- src/kargersContraction/kargersContraction.c | 218 -------------------- 1 file changed, 218 deletions(-) diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index c4cec70ad3f..e6a82c83b98 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -48,221 +48,3 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_kargersContraction); - - -static -void -process(char* edges_sql, - ArrayType* order, - int num_cycles, - ArrayType* forbidden, - - bool directed, - contracted_rt **result_tuples, - size_t *result_count) { - /* - * nothing to do - */ - if (num_cycles < 1) return; - - pgr_SPI_connect(); - - size_t size_forbidden_vertices = 0; - int64_t* forbidden_vertices = - pgr_get_bigIntArray_allowEmpty( - &size_forbidden_vertices, - forbidden); - PGR_DBG("size_forbidden_vertices %ld", size_forbidden_vertices); - - size_t size_contraction_order = 0; - int64_t* contraction_order = - pgr_get_bigIntArray( - &size_contraction_order, - order); - PGR_DBG("size_contraction_order %ld ", size_contraction_order); - - - size_t total_edges = 0; - pgr_edge_t* edges = NULL; - pgr_get_edges(edges_sql, &edges, &total_edges); - if (total_edges == 0) { - if (forbidden_vertices) pfree(forbidden_vertices); - if (contraction_order) pfree(contraction_order); - pgr_SPI_finish(); - return; - } - - PGR_DBG("Starting timer"); - clock_t start_t = clock(); - char* log_msg = NULL; - char* notice_msg = NULL; - char* err_msg = NULL; - do_pgr_kargersContraction( - edges, total_edges, - forbidden_vertices, size_forbidden_vertices, - contraction_order, size_contraction_order, - num_cycles, - directed, - result_tuples, result_count, - &log_msg, - ¬ice_msg, - &err_msg); - - time_msg("processing pgr_kargersContraction()", start_t, clock()); - - - if (err_msg && (*result_tuples)) { - pfree(*result_tuples); - (*result_tuples) = NULL; - (*result_count) = 0; - } - - pgr_global_report(log_msg, notice_msg, err_msg); - - if (log_msg) pfree(log_msg); - if (notice_msg) pfree(notice_msg); - if (err_msg) pfree(err_msg); - if (edges) pfree(edges); - if (forbidden_vertices) pfree(forbidden_vertices); - if (contraction_order) pfree(contraction_order); - pgr_SPI_finish(); -} - -PGDLLEXPORT Datum -_pgr_kargersContraction(PG_FUNCTION_ARGS) { - FuncCallContext *funcctx; - TupleDesc tuple_desc; - - /**********************************************************************/ - contracted_rt *result_tuples = NULL; - size_t result_count = 0; - /**********************************************************************/ - - if (SRF_IS_FIRSTCALL()) { - MemoryContext oldcontext; - funcctx = SRF_FIRSTCALL_INIT(); - oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - /* - edges_sql TEXT, - contraction_order BIGINT[], - max_cycles integer DEFAULT 1, - forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], - directed BOOLEAN DEFAULT true, - - **********************************************************************/ - - process( - text_to_cstring(PG_GETARG_TEXT_P(0)), - PG_GETARG_ARRAYTYPE_P(1), - PG_GETARG_INT32(2), - PG_GETARG_ARRAYTYPE_P(3), - PG_GETARG_BOOL(4), - &result_tuples, - &result_count); - - - /**********************************************************************/ -#if PGSQL_VERSION > 95 - funcctx->max_calls = result_count; -#else - funcctx->max_calls = (uint32_t)result_count; -#endif - funcctx->user_fctx = result_tuples; - if (get_call_result_type(fcinfo, NULL, &tuple_desc) - != TYPEFUNC_COMPOSITE) - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("function returning record called in context " - "that cannot accept type record"))); - funcctx->tuple_desc = tuple_desc; - MemoryContextSwitchTo(oldcontext); - } - - funcctx = SRF_PERCALL_SETUP(); - tuple_desc = funcctx->tuple_desc; - result_tuples = (contracted_rt*) funcctx->user_fctx; - - if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; - Datum result; - Datum *values; - bool *nulls; - int16 typlen; - size_t call_cntr = funcctx->call_cntr; - - /**********************************************************************/ - size_t numb = 6; - values =(Datum *)palloc(numb * sizeof(Datum)); - nulls = palloc(numb * sizeof(bool)); - size_t i; - for (i = 0; i < numb; ++i) { - nulls[i] = false; - } - - size_t contracted_vertices_size = - (size_t)result_tuples[call_cntr].contracted_vertices_size; - - Datum* contracted_vertices_array; - contracted_vertices_array = (Datum*) palloc(sizeof(Datum) * - (size_t)contracted_vertices_size); - - for (i = 0; i < contracted_vertices_size; ++i) { - PGR_DBG("Storing contracted vertex %ld", - result_tuples[call_cntr].contracted_vertices[i]); - contracted_vertices_array[i] = - Int64GetDatum(result_tuples[call_cntr].contracted_vertices[i]); - } - - bool typbyval; - char typalign; - get_typlenbyvalalign(INT8OID, &typlen, &typbyval, &typalign); - ArrayType* arrayType; - /* - * https://doxygen.postgresql.org/arrayfuncs_8c.html - - ArrayType* construct_array( - Datum* elems, - int nelems, - Oid elmtype, int elmlen, bool elmbyval, char elmalign - ) - */ - arrayType = construct_array( - contracted_vertices_array, - (int)contracted_vertices_size, - INT8OID, typlen, typbyval, typalign); - /* - void TupleDescInitEntry( - TupleDesc desc, - AttrNumber attributeNumber, - const char * attributeName, - Oid oidtypeid, - int32 typmod, - int attdim - ) - */ - TupleDescInitEntry(tuple_desc, (AttrNumber) 3, "contracted_vertices", - INT8ARRAYOID, -1, 0); - - values[0] = CStringGetTextDatum(result_tuples[call_cntr].type); - values[1] = Int64GetDatum(result_tuples[call_cntr].id); - values[2] = PointerGetDatum(arrayType); - values[3] = Int64GetDatum(result_tuples[call_cntr].source); - values[4] = Int64GetDatum(result_tuples[call_cntr].target); - values[5] = Float8GetDatum(result_tuples[call_cntr].cost); - - /*********************************************************************/ - tuple = heap_form_tuple(tuple_desc, values, nulls); - result = HeapTupleGetDatum(tuple); - - /* - * cleaning up the contracted vertices array - */ - if (result_tuples[funcctx->call_cntr].contracted_vertices) { - pfree(result_tuples[funcctx->call_cntr].contracted_vertices); - } - SRF_RETURN_NEXT(funcctx, result); - } else { - SRF_RETURN_DONE(funcctx); - } -} From 4e13d00bf04861721c9e882559ef54c33093bdf5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 25 May 2020 17:15:35 +0530 Subject: [PATCH 0335/1360] Added pgTap tests and kargersContraction signature --- .../kargersContraction-innerQuery.sql | 15 +++++++++++++++ sql/sigs/pgrouting--3.0.0.sig | 2 ++ 2 files changed, 17 insertions(+) create mode 100644 pgtap/kargersContraction/kargersContraction-innerQuery.sql diff --git a/pgtap/kargersContraction/kargersContraction-innerQuery.sql b/pgtap/kargersContraction/kargersContraction-innerQuery.sql new file mode 100644 index 00000000000..6101f5e465b --- /dev/null +++ b/pgtap/kargersContraction/kargersContraction-innerQuery.sql @@ -0,0 +1,15 @@ +\i setup.sql + +SELECT plan(432); + +SELECT style_dijkstra('pgr_kargersContraction', ', 5)'); +SELECT style_dijkstra('pgr_kargersContraction', ', 5, 2)'); +SELECT style_dijkstra('pgr_kargersContraction', ', ARRAY[3,5])'); +SELECT style_dijkstra('pgr_kargersContraction', ', ARRAY[3,5], 2)'); +SELECT style_dijkstra('pgr_kargersContraction', ', 5, directed := true)'); +SELECT style_dijkstra('pgr_kargersContraction', ', 5, 2, directed := true)'); +SELECT style_dijkstra('pgr_kargersContraction', ', ARRAY[3,5], directed := true)'); +SELECT style_dijkstra('pgr_kargersContraction', ', ARRAY[3,5],2, directed := true)'); + +SELECT finish(); +ROLLBACK; diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 2e0fce72901..72d1ab48616 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -129,6 +129,8 @@ _pgr_iscolumnindexed(text,text,text,integer,text) _pgr_iscolumnintable(text,text) _pgr_johnson(text,boolean) pgr_johnson(text,boolean) +_pgr_kargersContraction(text,integer,bigint[],boolean) +pgr_kargersContraction(text,integer,bigint[],boolean) pgr_kruskalbfs(text,anyarray,bigint) pgr_kruskalbfs(text,bigint,bigint) pgr_kruskaldd(text,anyarray,double precision) From 96f482a139721990aa0556f49ea5316359d78f5d Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 25 May 2020 19:54:18 +0530 Subject: [PATCH 0336/1360] Added pgTap test sql files --- .../kargersContraction-edge-cases.sql | 201 ++++++++++++++++++ .../kargersContraction-innerQuery.sql | 11 +- .../kargersContraction-types-check.sql | 37 ++++ .../no_crash_test-kargersContraction.sql | 106 +++++++++ 4 files changed, 346 insertions(+), 9 deletions(-) create mode 100644 pgtap/kargersContraction/kargersContraction-edge-cases.sql create mode 100644 pgtap/kargersContraction/kargersContraction-types-check.sql create mode 100644 pgtap/kargersContraction/no_crash_test-kargersContraction.sql diff --git a/pgtap/kargersContraction/kargersContraction-edge-cases.sql b/pgtap/kargersContraction/kargersContraction-edge-cases.sql new file mode 100644 index 00000000000..11cb1161c85 --- /dev/null +++ b/pgtap/kargersContraction/kargersContraction-edge-cases.sql @@ -0,0 +1,201 @@ +\i setup.sql + +SELECT plan(10); + +UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; + +-- +PREPARE prim1 AS +SELECT * FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id > 18', + 21, 3 +); + +SELECT set_eq('prim1', + $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, + '1: Empty Graph -> Only root vertex is returned'); + + +PREPARE prim2 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost + FROM edge_table WHERE id > 18', + ARRAY[21, 45], + 3 +); + +SELECT set_eq('prim2', + $$VALUES + (1, 0, 21, 21, -1, 0, 0), + (2, 0, 45, 45, -1, 0, 0) + $$, + '2: Empty graph -> Only root vertices are returned'); + + +-- +PREPARE prim3 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 21, 3 +); + +SELECT set_eq('prim3', + $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, + '3: Root not in Graph -> Only root vertex is returned'); + +-- +PREPARE prim4 AS +SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 +FROM pgr_primDFS( + 'SELECT id, source, target, cost + FROM edge_table', + ARRAY[21, 4], + 3 +); + +SELECT set_eq('prim4', + $$VALUES + (1, 4, 0, 4, -1, true), + (2, 4, 1, 9, 16, true), + (3, 4, 2, 6, 9, true), + (4, 4, 3, 3, 5, true), + (5, 4, 3, 5, 8, true), + (6, 4, 3, 11, 11, true), + (7, 21, 0, 21, -1, true) + $$, + '4: Root not in Graph -> Only root vertex is returned, Root in graph -> spanning tree is returned'); + + +-- +PREPARE prim5 AS +SELECT seq, start_vid, depth, node, edge, depth <= 3 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 0, 3 +); + +SELECT set_eq('prim5', + $$VALUES + (1, 1, 0, 1, -1, true), + (2, 1, 1, 2, 1, true), + (3, 1, 2, 3, 2, true), + (4, 1, 3, 4, 3, true), + (5, 1, 3, 6, 5, true), + (6, 1, 2, 5, 4, true), + (7, 1, 3, 8, 7, true), + (8, 1, 3, 10, 10, true), + (9, 14, 0, 14, -1, true), + (10, 14, 1, 15, 17, true), + (11, 16, 0, 16, -1, true), + (12, 16, 1, 17, 18, true) + $$, + '5: root = 0 -> forest (with random root vertices)'); + +-- +PREPARE prim6 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4, -3 +); + + +SELECT throws_ok('prim6', + 'P0001', + 'Negative value found on ''max_depth''', + '6: Negative max_depth throws'); + + + +PREPARE prim7 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[4, 10], -3 +); + +SELECT throws_ok('prim7', + 'P0001', + 'Negative value found on ''max_depth''', + '7: Negative max_depth throws'); + +-- +PREPARE prim8 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4, 0 +); + +SELECT set_eq('prim8', + $$VALUES (1, 0, 4, 4, -1, 0, 0) $$, + '8: 0 max_depth -> Only root vertex is returned'); + +-- +PREPARE prim9 AS +SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4 +); + +SELECT set_eq('prim9', + $$VALUES + (1, 0, 4, 4, -1, true), + (2, 1, 4, 3, 3, true), + (3, 2, 4, 2, 2, true), + (4, 3, 4, 1, 1, true), + (5, 3, 4, 5, 4, true), + (6, 4, 4, 8, 7, true), + (7, 5, 4, 7, 6, true), + (8, 4, 4, 10, 10, true), + (9, 5, 4, 13, 14, true), + (10, 2, 4, 6, 5, true), + (11, 3, 4, 9, 9, true), + (12, 3, 4, 11, 11, true), + (13, 4, 4, 12, 13, true) + $$, + '9: default max_depth -> complete tree from root'); + +-- +PREPARE prim10 AS +SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 0 +); + +SELECT set_eq('prim10', + $$VALUES + (1, 1, 0, 1,-1, true), + (2, 1, 1, 2, 1, true), + (3, 1, 2, 3, 2, true), + (4, 1, 3, 4, 3, true), + (5, 1, 3, 6, 5, true), + (6, 1, 4, 9, 9, true), + (7, 1, 4,11,11, true), + (8, 1, 5,12,13, true), + (9, 1, 2, 5, 4, true), + (10, 1, 3, 8, 7, true), + (11, 1, 4, 7, 6, true), + (12, 1, 3,10,10, true), + (13, 1, 4,13,14, true), + (14, 14, 0,14,-1, true), + (15, 14, 1,15,17, true), + (16, 16, 0,16,-1, true), + (17, 16, 1,17,18, true) + $$, + '10: root = 0 -> forest (with random root vertices)'); + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/kargersContraction/kargersContraction-innerQuery.sql b/pgtap/kargersContraction/kargersContraction-innerQuery.sql index 6101f5e465b..98aedb21240 100644 --- a/pgtap/kargersContraction/kargersContraction-innerQuery.sql +++ b/pgtap/kargersContraction/kargersContraction-innerQuery.sql @@ -1,15 +1,8 @@ \i setup.sql -SELECT plan(432); +SELECT plan(54); -SELECT style_dijkstra('pgr_kargersContraction', ', 5)'); -SELECT style_dijkstra('pgr_kargersContraction', ', 5, 2)'); -SELECT style_dijkstra('pgr_kargersContraction', ', ARRAY[3,5])'); -SELECT style_dijkstra('pgr_kargersContraction', ', ARRAY[3,5], 2)'); -SELECT style_dijkstra('pgr_kargersContraction', ', 5, directed := true)'); -SELECT style_dijkstra('pgr_kargersContraction', ', 5, 2, directed := true)'); -SELECT style_dijkstra('pgr_kargersContraction', ', ARRAY[3,5], directed := true)'); -SELECT style_dijkstra('pgr_kargersContraction', ', ARRAY[3,5],2, directed := true)'); +SELECT style_dijkstra('pgr_primDFS', ', 5)'); SELECT finish(); ROLLBACK; diff --git a/pgtap/kargersContraction/kargersContraction-types-check.sql b/pgtap/kargersContraction/kargersContraction-types-check.sql new file mode 100644 index 00000000000..1c0bb60679d --- /dev/null +++ b/pgtap/kargersContraction/kargersContraction-types-check.sql @@ -0,0 +1,37 @@ +\i setup.sql + +SELECT plan(7); + +---------------------------------- +-- tests for all +-- prefix: pgr_prim +---------------------------------- + +SELECT has_function('pgr_primdfs'); + +SELECT has_function('pgr_primdfs', ARRAY['text','bigint','bigint']); +SELECT has_function('pgr_primdfs', ARRAY['text','anyarray','bigint']); +SELECT function_returns('pgr_primdfs', ARRAY['text','bigint','bigint'], 'setof record'); +SELECT function_returns('pgr_primdfs', ARRAY['text','anyarray','bigint'], 'setof record'); + + +-- pgr_primdfs +-- parameter names +SELECT set_eq( + $$SELECT proargnames from pg_proc where proname = 'pgr_primdfs'$$, + $$VALUES + ('{"","","max_depth","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[]) + $$ +); + +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_primdfs'$$, + $$VALUES + ('{25,20,20,20,20,20,20,20,701,701}'::OID[]), + ('{25,2277,20,20,20,20,20,20,701,701}'::OID[]) + $$ +); + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/kargersContraction/no_crash_test-kargersContraction.sql b/pgtap/kargersContraction/no_crash_test-kargersContraction.sql new file mode 100644 index 00000000000..1ad0d9b4d8f --- /dev/null +++ b/pgtap/kargersContraction/no_crash_test-kargersContraction.sql @@ -0,0 +1,106 @@ +\i setup.sql + +SELECT plan(86); + +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; + +PREPARE null_vertex AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); + + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT is_empty('null_vertex', 'Should be empty to tests be meaningful'); + + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + -- primDFS + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '5' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::INTEGER'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS with depth + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '5', + '3' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + 'NULL::INTEGER' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS Multiple vertices + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + 'ARRAY[5,3]' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS with depth Multiple vertices + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + 'ARRAY[5,3]', + '3' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + 'NULL::INTEGER' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT[]'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + +ROLLBACK; From 9a1d1fa6f44ddcb5eba2d8c6b45f79ebed7d4c9f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 25 May 2020 23:42:37 +0530 Subject: [PATCH 0337/1360] Trying to fix travis error --- .../kargersContraction_driver.h | 39 ++-- .../_kargersContraction.sql | 55 +++--- sql/kargersContraction/kargersContraction.sql | 148 +++++++++------ sql/sigs/pgrouting--3.0.0.sig | 5 +- src/kargersContraction/kargersContraction.c | 169 ++++++++++++++++-- .../kargersContraction_driver.cpp | 126 ++++++++++--- 6 files changed, 409 insertions(+), 133 deletions(-) diff --git a/include/drivers/kargersContraction/kargersContraction_driver.h b/include/drivers/kargersContraction/kargersContraction_driver.h index e57fa6a53b2..36b14f18828 100644 --- a/include/drivers/kargersContraction/kargersContraction_driver.h +++ b/include/drivers/kargersContraction/kargersContraction_driver.h @@ -37,36 +37,31 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # include #endif -#include "c_types/contracted_rt.h" #include "c_types/pgr_edge_t.h" +#include "c_types/pgr_mst_rt.h" #ifdef __cplusplus extern "C" { #endif - /********************************************************* - edges_sql TEXT, - contraction_order BIGINT[], - forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], - max_cycles integer DEFAULT 1, - directed BOOLEAN DEFAULT true - ********************************************************/ - void - do_pgr_kargersContraction( - pgr_edge_t *data_edges, - size_t total_tuples, - int64_t *forbidden_vertices, - size_t size_forbidden_vertices, - int64_t *contraction_order, - size_t size_contraction_order, - int64_t max_cycles, - bool directed, - contracted_rt **return_tuples, +void do_pgr_kargersContraction( + pgr_edge_t *data_edges, + size_t total_edges, + + int64_t *rootsArr, + size_t size_rootsArr, + + char* fn_suffix, + + int64_t max_depth, + double distance, + + pgr_mst_rt **return_tuples, size_t *return_count, - char **log_msg, - char **notice_msg, - char **err_msg); + char ** log_msg, + char ** notice_msg, + char ** err_msg); #ifdef __cplusplus } diff --git a/sql/kargersContraction/_kargersContraction.sql b/sql/kargersContraction/_kargersContraction.sql index f567ba80c0e..f7e48c85ba1 100644 --- a/sql/kargersContraction/_kargersContraction.sql +++ b/sql/kargersContraction/_kargersContraction.sql @@ -1,13 +1,13 @@ /*PGR-GNU***************************************************************** -File: _contraction.sql +File: _prim.sql Generated with Template by: -Copyright (c) 2015 pgRouting developers +Copyright (c) 2016 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: +Copyright (c) 2020 Himanshu raj +Mail: raj.himanshu2@gmail.com ------ @@ -27,30 +27,39 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ --------------------- --------------------- +---------- +---------- -- contraction --------------------- --------------------- - -CREATE OR REPLACE FUNCTION _pgr_contraction( - edges_sql TEXT, - contraction_order BIGINT[], - max_cycles INTEGER DEFAULT 1, - forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], - directed BOOLEAN DEFAULT true, - - OUT type TEXT, - OUT id BIGINT, - OUT contracted_vertices BIGINT[], - OUT source BIGINT, - OUT target BIGINT, - OUT cost FLOAT) +---------- +---------- + + +---------------- +-- _pgr_kargersContraction +---------------- + + +CREATE OR REPLACE FUNCTION _pgr_kargersContraction( + TEXT, -- Edge sql + ANYARRAY, -- tree root for traversal + order_by TEXT, + max_depth BIGINT, + distance FLOAT, + + OUT seq BIGINT, + OUT depth BIGINT, + OUT start_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' LANGUAGE C VOLATILE STRICT; + -- COMMENTS -COMMENT ON FUNCTION _pgr_contraction(TEXT, BIGINT[], INTEGER, BIGINT[], BOOLEAN) + +COMMENT ON FUNCTION _pgr_kargersContraction(TEXT, ANYARRAY, TEXT, BIGINT, FLOAT) IS 'pgRouting internal function'; diff --git a/sql/kargersContraction/kargersContraction.sql b/sql/kargersContraction/kargersContraction.sql index 995ccd88d9a..dc511c07a41 100644 --- a/sql/kargersContraction/kargersContraction.sql +++ b/sql/kargersContraction/kargersContraction.sql @@ -1,13 +1,8 @@ /*PGR-GNU***************************************************************** -File: contraction.sql +File: kargersContraction.sql -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: +Copyright (c) 2018 Vicky Vergara +Mail: vicky at georepublic dot de ------ @@ -27,49 +22,96 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ --------------------- --------------------- --- kargersContraction --------------------- --------------------- - --------------------- +----------------- -- pgr_kargersContraction --------------------- --- --- --- CREATE OR REPLACE FUNCTION pgr_kargersContraction( --- TEXT, -- edges_sql (required) --- BIGINT[], -- contraction_order (required) --- --- max_cycles INTEGER DEFAULT 1, --- forbidden_vertices BIGINT[] DEFAULT ARRAY[]::BIGINT[], --- directed BOOLEAN DEFAULT true, --- --- OUT type TEXT, --- OUT id BIGINT, --- OUT contracted_vertices BIGINT[], --- OUT source BIGINT, --- OUT target BIGINT, --- OUT cost FLOAT) --- RETURNS SETOF RECORD AS --- $BODY$ --- SELECT * --- FROM _pgr_kargersContraction(_pgr_get_statement($1), $2::BIGINT[], $3, $4, $5); --- $BODY$ --- LANGUAGE SQL VOLATILE STRICT; --- --- -- COMMENTS --- --- COMMENT ON FUNCTION pgr_kargersContraction(TEXT, BIGINT[], INTEGER, BIGINT[], BOOLEAN) --- IS 'pgr_kargersContraction --- - Parameters: --- - Edges SQL with columns: id, source, target, cost [,reverse_cost] --- - ARRAY [Contraction order] --- - Optional Parameters --- - max_cycles := 1 --- - forbidden_vertices := ARRAY[]::BIGINT[] --- - directed := true --- - Documentation: --- - ${PGROUTING_DOC_LINK}/pgr_kargersContraction.html --- '; +----------------- + + +-- SINGLE VERTEX +CREATE OR REPLACE FUNCTION pgr_kargersContraction( + TEXT, -- Edge sql + BIGINT, -- root vertex + + max_depth BIGINT DEFAULT 9223372036854775807, + + OUT seq BIGINT, + OUT depth BIGINT, + OUT start_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ +BEGIN + IF $3 < 0 THEN + RAISE EXCEPTION 'Negative value found on ''max_depth''' + USING HINT = format('Value found: %s', $3); + END IF; + + + RETURN QUERY + SELECT * + FROM _pgr_kargersContraction(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], 'DFS', $3, -1); +END; +$BODY$ +LANGUAGE plpgsql VOLATILE STRICT; + + +-- MULTIPLE VERTICES +CREATE OR REPLACE FUNCTION pgr_kargersContraction( + TEXT, -- Edge sql + ANYARRAY, -- root vertices + + max_depth BIGINT DEFAULT 9223372036854775807, + + OUT seq BIGINT, + OUT depth BIGINT, + OUT start_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ +BEGIN + IF $3 < 0 THEN + RAISE EXCEPTION 'Negative value found on ''max_depth''' + USING HINT = format('Value found: %s', $3); + END IF; + + + RETURN QUERY + SELECT * + FROM _pgr_kargersContraction(_pgr_get_statement($1), $2, 'DFS', $3, -1); +END; +$BODY$ +LANGUAGE plpgsql VOLATILE STRICT; + + +-- COMMENTS + + +COMMENT ON FUNCTION pgr_kargersContraction(TEXT, BIGINT, BIGINT) +IS 'pgr_kargersContraction(Single Vertex) +- Undirected graph +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From root vertex identifier +- Optional parameters + - max_depth := 9223372036854775807 +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_kargersContraction.html +'; + +COMMENT ON FUNCTION pgr_kargersContraction(TEXT, ANYARRAY, BIGINT) +IS 'pgr_kargersContraction(Multiple Vertices) +- Undirected graph +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From ARRAY[root vertices identifiers] +- Optional parameters + - max_depth := 9223372036854775807 +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_kargersContraction.html +'; diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 72d1ab48616..70413fc2515 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -129,8 +129,9 @@ _pgr_iscolumnindexed(text,text,text,integer,text) _pgr_iscolumnintable(text,text) _pgr_johnson(text,boolean) pgr_johnson(text,boolean) -_pgr_kargersContraction(text,integer,bigint[],boolean) -pgr_kargersContraction(text,integer,bigint[],boolean) +pgr_kargersContraction(text,anyarray,bigint) +_pgr_kargersContraction(text,anyarray,text,bigint,double precision) +pgr_kargersContraction(text,bigint,bigint) pgr_kruskalbfs(text,anyarray,bigint) pgr_kruskalbfs(text,bigint,bigint) pgr_kruskaldd(text,anyarray,double precision) diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index e6a82c83b98..294998e9ca8 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -1,14 +1,13 @@ /*PGR-GNU***************************************************************** -File: kargersContraction.c - +File: prim.c Generated with Template by: + Copyright (c) 2015 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: - +Copyright (c) 2018 Aditya Pratap Singh +Mail: adityapratap.singh28@gmail.com ------ This program is free software; you can redistribute it and/or modify @@ -28,23 +27,167 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ #include - #include "c_common/postgres_connection.h" #include "utils/array.h" -#include "catalog/pg_type.h" -#include "utils/lsyscache.h" - -#ifndef INT8ARRAYOID -#define INT8ARRAYOID 1016 -#endif #include "c_common/debug_macro.h" #include "c_common/e_report.h" #include "c_common/time_msg.h" -#include "c_types/contracted_rt.h" #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "c_types/pgr_mst_rt.h" + +#include "drivers/spanningTree/mst_common.h" #include "drivers/kargersContraction/kargersContraction_driver.h" PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_kargersContraction); + + +static +void +process( + char* edges_sql, + ArrayType *roots, + char * fn_suffix, + int64_t max_depth, + double distance, + + pgr_mst_rt **result_tuples, + size_t *result_count) { + pgr_SPI_connect(); + + char *log_msg = NULL; + char *notice_msg = NULL; + char *err_msg = NULL; + + char * fn_name = get_name(1, fn_suffix, &err_msg); + if (err_msg) { + pgr_global_report(log_msg, notice_msg, err_msg); + return; + } + + size_t size_rootsArr = 0; + int64_t* rootsArr = (int64_t*) pgr_get_bigIntArray(&size_rootsArr, roots); + + (*result_tuples) = NULL; + (*result_count) = 0; + + pgr_edge_t *edges = NULL; + size_t total_edges = 0; + + pgr_get_edges(edges_sql, &edges, &total_edges); + + + clock_t start_t = clock(); + do_pgr_kargersContraction( + edges, total_edges, + rootsArr, size_rootsArr, + + fn_suffix, + + max_depth, + distance, + + result_tuples, + result_count, + &log_msg, + ¬ice_msg, + &err_msg); + + + time_msg(fn_name, start_t, clock()); + + if (err_msg) { + if (*result_tuples) pfree(*result_tuples); + } + pgr_global_report(log_msg, notice_msg, err_msg); + + if (edges) pfree(edges); + if (log_msg) pfree(log_msg); + if (notice_msg) pfree(notice_msg); + if (err_msg) pfree(err_msg); + + pgr_SPI_finish(); +} +/* */ +/******************************************************************************/ + +PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; + + pgr_mst_rt *result_tuples = NULL; + size_t result_count = 0; + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + + /* Edge sql, tree roots, fn_suffix, max_depth, distance */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + PG_GETARG_ARRAYTYPE_P(1), + text_to_cstring(PG_GETARG_TEXT_P(2)), + PG_GETARG_INT64(3), + PG_GETARG_FLOAT8(4), + &result_tuples, + &result_count); + + +#if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; +#else + funcctx->max_calls = (uint32_t)result_count; +#endif + funcctx->user_fctx = result_tuples; + if (get_call_result_type(fcinfo, NULL, &tuple_desc) + != TYPEFUNC_COMPOSITE) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + } + + funcctx->tuple_desc = tuple_desc; + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (pgr_mst_rt*) funcctx->user_fctx; + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; + Datum result; + Datum *values; + bool* nulls; + + size_t num = 7; + values = palloc(num * sizeof(Datum)); + nulls = palloc(num * sizeof(bool)); + + + size_t i; + for (i = 0; i < num; ++i) { + nulls[i] = false; + } + + values[0] = Int64GetDatum(funcctx->call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].depth); + values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].from_v); + values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); + values[4] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); + values[5] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); + values[6] = Float8GetDatum(result_tuples[funcctx->call_cntr].agg_cost); + + /**********************************************************************/ + + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + SRF_RETURN_NEXT(funcctx, result); + } else { + SRF_RETURN_DONE(funcctx); + } +} diff --git a/src/kargersContraction/kargersContraction_driver.cpp b/src/kargersContraction/kargersContraction_driver.cpp index 60291fdc76f..3c07576b3d2 100644 --- a/src/kargersContraction/kargersContraction_driver.cpp +++ b/src/kargersContraction/kargersContraction_driver.cpp @@ -1,14 +1,13 @@ /*PGR-GNU***************************************************************** -File: kargersContraction_driver.cpp +File: prim_driver.cpp Generated with Template by: Copyright (c) 2015 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: - +Copyright (c) 2018 Aditya Pratap Singh +Mail: adityapratap.singh28@gmail.com ------ This program is free software; you can redistribute it and/or modify @@ -29,25 +28,112 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "drivers/kargersContraction/kargersContraction_driver.h" -#include #include #include #include -#include -//Add header files here for kargersContraction - -// #include "kargersContraction/ch_graphs.hpp" -// #include "kargersContraction/pgr_kargersContraction.hpp" - - +#include -#include "cpp_common/identifiers.hpp" #include "cpp_common/pgr_alloc.hpp" - -namespace { - -/*! @brief vertices with at least one contracted vertex - - @result The vids Identifiers with at least one contracted vertex -*/ +#include "cpp_common/pgr_assert.h" + +#include "spanningTree/pgr_prim.hpp" +#include "spanningTree/details.hpp" + + +void +do_pgr_kargersContraction( + pgr_edge_t *data_edges, + size_t total_edges, + + int64_t *rootsArr, + size_t size_rootsArr, + + char* fn_suffix, + + int64_t max_depth, + double distance, + + pgr_mst_rt **return_tuples, + size_t *return_count, + + char ** log_msg, + char ** notice_msg, + char ** err_msg) { + std::ostringstream log; + std::ostringstream err; + std::ostringstream notice; + try { + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + + std::vector roots(rootsArr, rootsArr + size_rootsArr); + std::string suffix(fn_suffix); + + std::vector results; + + if (total_edges == 0) { + results = pgrouting::details::get_no_edge_graph_result(roots); + } else { + pgrouting::UndirectedGraph undigraph(UNDIRECTED); + undigraph.insert_min_edges_no_parallel(data_edges, total_edges); + pgrouting::functions::Pgr_prim prim; + if (suffix == "") { + results = prim.prim(undigraph); + } else if (suffix == "BFS") { + results = prim.primBFS(undigraph, roots, max_depth); + } else if (suffix == "DFS") { + results = prim.primDFS(undigraph, roots, max_depth); + } else if (suffix == "DD") { + results = prim.primDD(undigraph, roots, distance); + } else { + err << "Unknown Prim function"; + *err_msg = pgr_msg(err.str().c_str()); + return; + } + } + + auto count = results.size(); + + if (count == 0) { + (*return_tuples) = NULL; + (*return_count) = 0; + notice << "No spanning tree found"; + return; + } + + (*return_tuples) = pgr_alloc(count, (*return_tuples)); + for (size_t i = 0; i < count; i++) { + *((*return_tuples) + i) = results[i]; + } + (*return_count) = count; + + pgassert(*err_msg == NULL); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } } From df7de9a3b39f87fe2b4baa4011c9601f2a538617 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 26 May 2020 11:41:05 +0530 Subject: [PATCH 0338/1360] Travis-CI error fixed --- sql/sigs/pgrouting--3.0.0.sig | 6 +++--- src/kargersContraction/kargersContraction.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 70413fc2515..49b8b9b7ebd 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -129,9 +129,9 @@ _pgr_iscolumnindexed(text,text,text,integer,text) _pgr_iscolumnintable(text,text) _pgr_johnson(text,boolean) pgr_johnson(text,boolean) -pgr_kargersContraction(text,anyarray,bigint) -_pgr_kargersContraction(text,anyarray,text,bigint,double precision) -pgr_kargersContraction(text,bigint,bigint) +pgr_kargerscontraction(text,anyarray,bigint) +_pgr_kargerscontraction(text,anyarray,text,bigint,double precision) +pgr_kargerscontraction(text,bigint,bigint) pgr_kruskalbfs(text,anyarray,bigint) pgr_kruskalbfs(text,bigint,bigint) pgr_kruskaldd(text,anyarray,double precision) diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index 294998e9ca8..5915793cf3a 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -40,8 +40,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "drivers/spanningTree/mst_common.h" #include "drivers/kargersContraction/kargersContraction_driver.h" -PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_kargersContraction); +PGDLLEXPORT Datum _pgr_kargerscontraction(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_kargerscontraction); static @@ -113,7 +113,7 @@ process( /* */ /******************************************************************************/ -PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS) { +PGDLLEXPORT Datum _pgr_kargerscontraction(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; From bfee659b95a827beed1189b89b1fb4093cfbba01 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 1 Jun 2020 18:13:05 +0530 Subject: [PATCH 0339/1360] Changed Author name in files --- sql/kargersContraction/kargersContraction.sql | 4 ++-- src/kargersContraction/kargersContraction.c | 4 ++-- src/kargersContraction/kargersContraction_driver.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sql/kargersContraction/kargersContraction.sql b/sql/kargersContraction/kargersContraction.sql index dc511c07a41..ec7a119d8cd 100644 --- a/sql/kargersContraction/kargersContraction.sql +++ b/sql/kargersContraction/kargersContraction.sql @@ -1,8 +1,8 @@ /*PGR-GNU***************************************************************** File: kargersContraction.sql -Copyright (c) 2018 Vicky Vergara -Mail: vicky at georepublic dot de +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com ------ diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index 5915793cf3a..4ca00d97eec 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -6,8 +6,8 @@ Copyright (c) 2015 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2018 Aditya Pratap Singh -Mail: adityapratap.singh28@gmail.com +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com ------ This program is free software; you can redistribute it and/or modify diff --git a/src/kargersContraction/kargersContraction_driver.cpp b/src/kargersContraction/kargersContraction_driver.cpp index 3c07576b3d2..f5b2b887928 100644 --- a/src/kargersContraction/kargersContraction_driver.cpp +++ b/src/kargersContraction/kargersContraction_driver.cpp @@ -6,8 +6,8 @@ Copyright (c) 2015 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2018 Aditya Pratap Singh -Mail: adityapratap.singh28@gmail.com +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com ------ This program is free software; you can redistribute it and/or modify From 00cafa510d36d021f444571a88f6a50ce563cdda Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 1 Jun 2020 18:34:18 +0530 Subject: [PATCH 0340/1360] Added doc files --- doc/kargersContraction/CMakeLists.txt | 11 + .../pgr_kargersContraction.rst | 299 ++++++++++++++++++ 2 files changed, 310 insertions(+) create mode 100644 doc/kargersContraction/CMakeLists.txt create mode 100644 doc/kargersContraction/pgr_kargersContraction.rst diff --git a/doc/kargersContraction/CMakeLists.txt b/doc/kargersContraction/CMakeLists.txt new file mode 100644 index 00000000000..b221ccc15ac --- /dev/null +++ b/doc/kargersContraction/CMakeLists.txt @@ -0,0 +1,11 @@ + +SET(LOCAL_FILES + pgr_kargersContraction.rst + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") + list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/kargersContraction/pgr_kargersContraction.rst b/doc/kargersContraction/pgr_kargersContraction.rst new file mode 100644 index 00000000000..0f5a89eee4a --- /dev/null +++ b/doc/kargersContraction/pgr_kargersContraction.rst @@ -0,0 +1,299 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: https://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +pgr_kargersContraction +=============================================================================== + +``pgr_kargersContraction`` — Returns the shortest path(s) using Dijkstra algorithm. +In particular, the Dijkstra algorithm implemented by Boost.Graph. + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/libs/graph/doc/dijkstra_shortest_paths.html + + Boost Graph Inside + +.. rubric:: Availability + +* Version 3.0.0 + + * **Official** functions + +* Version 2.2.0 + + * New **proposed** functions: + + * pgr_dijkstra(One to Many) + * pgr_dijkstra(Many to One) + * pgr_dijkstra(Many to Many) + +* Version 2.1.0 + + * Signature change on pgr_dijkstra(One to One) + +* Version 2.0.0 + + * **Official** pgr_dijkstra(One to One) + +.. rubric:: Support + +* **Supported versions:** + current(`3.0 `__) + `2.6 `__ + +* **Unsupported versions:** + `2.5 `__ + `2.4 `__ + `2.3 `__ + `2.2 `__ + `2.1 `__ + `2.0 `__ + + +Description +------------------------------------------------------------------------------- + +Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra in 1956. +It is a graph search algorithm that solves the shortest path problem for +a graph with non-negative edge path costs, producing a shortest path from +a starting vertex (``start_vid``) to an ending vertex (``end_vid``). +This implementation can be used with a directed graph and an undirected graph. + +The main characteristics are: + - Process is done only on edges with positive costs. + - Values are returned when there is a path. + + - When the starting vertex and ending vertex are the same, there is no path. + + - The `agg_cost` the non included values `(v, v)` is `0` + + - When the starting vertex and ending vertex are the different and there is no path: + + - The `agg_cost` the non included values `(u, v)` is :math:`\infty` + + - For optimization purposes, any duplicated value in the `start_vids` or `end_vids` are ignored. + + - The returned values are ordered: + + - `start_vid` ascending + - `end_vid` ascending + + - Running time: :math:`O(| start\_vids | * (V \log V + E))` + +Signatures +------------------------------------------------------------------------------- + +.. rubric:: Summary + +.. code-block:: none + + pgr_dijkstra(edges_sql, start_vid, end_vid [, directed]) + pgr_dijkstra(edges_sql, start_vid, end_vids [, directed]) + pgr_dijkstra(edges_sql, start_vids, end_vid [, directed]) + pgr_dijkstra(edges_sql, start_vids, end_vids [, directed]) + RETURNS SET OF (seq, path_seq [, start_vid] [, end_vid], node, edge, cost, agg_cost) + OR EMPTY SET + +.. rubric:: Using defaults + +.. code-block:: none + + pgr_dijkstra(TEXT edges_sql, BIGINT start_vid, BIGINT end_vid) + RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) or EMPTY SET + +:Example: From vertex :math:`2` to vertex :math:`3` on a **directed** graph + +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q1 + :end-before: -- q2 + +.. index:: + single: dijkstra(One to One) + +One to One +............................................................................... + +.. code-block:: none + + pgr_dijkstra(TEXT edges_sql, BIGINT start_vid, BIGINT end_vid, + BOOLEAN directed:=true); + RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: From vertex :math:`2` to vertex :math:`3` on an **undirected** graph + +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q2 + :end-before: -- q3 + +.. index:: + single: dijkstra(One to Many) + +One to many +............................................................................... + +.. code-block:: none + + pgr_dijkstra(TEXT edges_sql, BIGINT start_vid, ARRAY[ANY_INTEGER] end_vids, + BOOLEAN directed:=true); + RETURNS SET OF (seq, path_seq, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: From vertex :math:`2` to vertices :math:`\{3, 5\}` on an **undirected** graph + +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q3 + :end-before: -- q4 + +.. index:: + single: dijkstra(Many to One) + +Many to One +............................................................................... + +.. code-block:: none + + pgr_dijkstra(TEXT edges_sql, ARRAY[ANY_INTEGER] start_vids, BIGINT end_vid, + BOOLEAN directed:=true); + RETURNS SET OF (seq, path_seq, start_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: From vertices :math:`\{2, 11\}` to vertex :math:`5` on a **directed** graph + +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q4 + :end-before: -- q5 + +.. index:: + single: dijkstra(Many to Many) + +Many to Many +............................................................................... + +.. code-block:: none + + pgr_dijkstra(TEXT edges_sql, ARRAY[ANY_INTEGER] start_vids, ARRAY[ANY_INTEGER] end_vids, + BOOLEAN directed:=true); + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: From vertices :math:`\{2, 11\}` to vertices :math:`\{3, 5\}` on an **undirected** graph + +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q5 + :end-before: -- q6 + +Parameters +------------------------------------------------------------------------------- + +.. pgr_dijkstra_parameters_start + +============== ================== ======== ================================================= +Parameter Type Default Description +============== ================== ======== ================================================= +**edges_sql** ``TEXT`` Inner SQL query as described below. +**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. +**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. +**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. +**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. +**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` + - When ``false`` the graph is considered as `Undirected`. +============== ================== ======== ================================================= + +.. pgr_dijkstra_parameters_end + +Inner query +------------------------------------------------------------------------------- + +.. rubric::edges_sql + +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end + +Return Columns +------------------------------------------------------------------------------- + +.. include:: pgRouting-concepts.rst + :start-after: return_path_start + :end-before: return_path_end + + +Additional Examples +------------------------------------------------------------------------------- + +The examples of this section are based on the :doc:`sampledata` network. + +The examples include combinations from starting vertices 2 and 11 to ending vertices 3 and 5 in a directed and +undirected graph with and with out reverse_cost. + +:Examples: For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns + +The examples in this section use the following :ref:`fig1` + +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q7 + :end-before: -- q8 + +:Examples: For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns + +The examples in this section use the following :ref:`fig2` + +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q9 + :end-before: -- q10 + +:Examples: For queries marked as ``directed`` with ``cost`` column + +The examples in this section use the following :ref:`fig3` + +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q11 + :end-before: -- q12 + +:Examples: For queries marked as ``undirected`` with ``cost`` column + +The examples in this section use the following :ref:`fig4` + +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q13 + :end-before: -- q14 + +Equvalences between signatures +............................................................................... + +:Examples: For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns + +The examples in this section use the following: + +* :ref:`fig1` + +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q15 + :end-before: -- q16 + +:Examples: For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns + +The examples in this section use the following: + +* :ref:`fig2` + +.. literalinclude:: doc-pgr_dijkstra.queries + :start-after: -- q17 + :end-before: -- q18 + +See Also +------------------------------------------------------------------------------- + +* https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm +* The queries use the :doc:`sampledata` network. + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` From 0aaea24cc49215f5dfd3500c87b9a50a5476cfa8 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 2 Jun 2020 14:46:10 +0530 Subject: [PATCH 0341/1360] [docqueries] files for kargersContraction added --- docqueries/kargersContraction/CMakeLists.txt | 11 +++ .../doc-pgr_kargersContraction.result | 80 +++++++++++++++++++ .../doc-pgr_kargersContraction.test.sql | 15 ++++ docqueries/kargersContraction/test.conf | 17 ++++ 4 files changed, 123 insertions(+) create mode 100644 docqueries/kargersContraction/CMakeLists.txt create mode 100644 docqueries/kargersContraction/doc-pgr_kargersContraction.result create mode 100644 docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql create mode 100644 docqueries/kargersContraction/test.conf diff --git a/docqueries/kargersContraction/CMakeLists.txt b/docqueries/kargersContraction/CMakeLists.txt new file mode 100644 index 00000000000..d142a959227 --- /dev/null +++ b/docqueries/kargersContraction/CMakeLists.txt @@ -0,0 +1,11 @@ +# Do not use extensions +SET(LOCAL_FILES + doc-pgr_kargersContraction + ) + +foreach (f ${LOCAL_FILES}) + configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") + list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/kargersContraction/doc-pgr_kargersContraction.result b/docqueries/kargersContraction/doc-pgr_kargersContraction.result new file mode 100644 index 00000000000..ad46769fe62 --- /dev/null +++ b/docqueries/kargersContraction/doc-pgr_kargersContraction.result @@ -0,0 +1,80 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +--q1 +SELECT * FROM pgr_kargersContraction( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 2 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 2 | 2 | -1 | 0 | 0 + 2 | 1 | 2 | 1 | 1 | 1 | 1 + 3 | 1 | 2 | 3 | 2 | 1 | 1 + 4 | 2 | 2 | 4 | 3 | 1 | 2 + 5 | 2 | 2 | 6 | 5 | 1 | 2 + 6 | 3 | 2 | 9 | 9 | 1 | 3 + 7 | 3 | 2 | 11 | 11 | 1 | 3 + 8 | 4 | 2 | 12 | 13 | 1 | 4 + 9 | 1 | 2 | 5 | 4 | 1 | 1 + 10 | 2 | 2 | 8 | 7 | 1 | 2 + 11 | 3 | 2 | 7 | 6 | 1 | 3 + 12 | 2 | 2 | 10 | 10 | 1 | 2 + 13 | 3 | 2 | 13 | 14 | 1 | 3 +(13 rows) + +--q2 +SELECT * FROM pgr_kargersContraction( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[13,2], max_depth := 3 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 2 | 2 | -1 | 0 | 0 + 2 | 1 | 2 | 1 | 1 | 1 | 1 + 3 | 1 | 2 | 3 | 2 | 1 | 1 + 4 | 2 | 2 | 4 | 3 | 1 | 2 + 5 | 2 | 2 | 6 | 5 | 1 | 2 + 6 | 3 | 2 | 9 | 9 | 1 | 3 + 7 | 3 | 2 | 11 | 11 | 1 | 3 + 8 | 1 | 2 | 5 | 4 | 1 | 1 + 9 | 2 | 2 | 8 | 7 | 1 | 2 + 10 | 3 | 2 | 7 | 6 | 1 | 3 + 11 | 2 | 2 | 10 | 10 | 1 | 2 + 12 | 3 | 2 | 13 | 14 | 1 | 3 + 13 | 0 | 13 | 13 | -1 | 0 | 0 + 14 | 1 | 13 | 10 | 14 | 1 | 1 + 15 | 2 | 13 | 5 | 10 | 1 | 2 + 16 | 3 | 13 | 2 | 4 | 1 | 3 + 17 | 3 | 13 | 8 | 7 | 1 | 3 +(17 rows) + +--q3 +SELECT * FROM pgr_kargersContraction( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 0 +); + seq | depth | start_vid | node | edge | cost | agg_cost +-----+-------+-----------+------+------+------+---------- + 1 | 0 | 1 | 1 | -1 | 0 | 0 + 2 | 1 | 1 | 2 | 1 | 1 | 1 + 3 | 2 | 1 | 3 | 2 | 1 | 2 + 4 | 3 | 1 | 4 | 3 | 1 | 3 + 5 | 3 | 1 | 6 | 5 | 1 | 3 + 6 | 4 | 1 | 9 | 9 | 1 | 4 + 7 | 4 | 1 | 11 | 11 | 1 | 4 + 8 | 5 | 1 | 12 | 13 | 1 | 5 + 9 | 2 | 1 | 5 | 4 | 1 | 2 + 10 | 3 | 1 | 8 | 7 | 1 | 3 + 11 | 4 | 1 | 7 | 6 | 1 | 4 + 12 | 3 | 1 | 10 | 10 | 1 | 3 + 13 | 4 | 1 | 13 | 14 | 1 | 4 + 14 | 0 | 14 | 14 | -1 | 0 | 0 + 15 | 1 | 14 | 15 | 17 | 1 | 1 + 16 | 0 | 16 | 16 | -1 | 0 | 0 + 17 | 1 | 16 | 17 | 18 | 1 | 1 +(17 rows) + +ROLLBACK; +ROLLBACK diff --git a/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql b/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql new file mode 100644 index 00000000000..d1f9131fd22 --- /dev/null +++ b/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql @@ -0,0 +1,15 @@ +\echo --q1 +SELECT * FROM pgr_kargersContraction( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 2 +); +\echo --q2 +SELECT * FROM pgr_kargersContraction( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + ARRAY[13,2], max_depth := 3 +); +\echo --q3 +SELECT * FROM pgr_kargersContraction( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 0 +); diff --git a/docqueries/kargersContraction/test.conf b/docqueries/kargersContraction/test.conf new file mode 100644 index 00000000000..fba022601b1 --- /dev/null +++ b/docqueries/kargersContraction/test.conf @@ -0,0 +1,17 @@ +#!/usr/bin/perl -w + +%main::tests = ( + 'any' => { + 'comment' => 'kargersContraction algorithm tets.', + 'data' => [ ], + 'tests' => [qw( + doc-pgr_kargersContraction + )], + 'documentation' => [qw( + doc-pgr_kargersContraction + )] + }, + +); + +1; From e825aeb3fdb0c46fb787afb6bc746a2e869688ec Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 3 Jun 2020 16:56:27 +0530 Subject: [PATCH 0342/1360] Modified SQL files according to the required implementation --- .../_kargersContraction.sql | 21 ++--- sql/kargersContraction/kargersContraction.sql | 83 +++---------------- 2 files changed, 16 insertions(+), 88 deletions(-) diff --git a/sql/kargersContraction/_kargersContraction.sql b/sql/kargersContraction/_kargersContraction.sql index f7e48c85ba1..6514d3976be 100644 --- a/sql/kargersContraction/_kargersContraction.sql +++ b/sql/kargersContraction/_kargersContraction.sql @@ -39,27 +39,18 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------------- -CREATE OR REPLACE FUNCTION _pgr_kargersContraction( - TEXT, -- Edge sql - ANYARRAY, -- tree root for traversal - order_by TEXT, - max_depth BIGINT, - distance FLOAT, +CREATE OR REPLACE FUNCTION _pgr_kargerContraction( + edges_sql TEXT, - OUT seq BIGINT, - OUT depth BIGINT, - OUT start_vid BIGINT, - OUT node BIGINT, + OUT seq INTEGER, OUT edge BIGINT, OUT cost FLOAT, - OUT agg_cost FLOAT) + OUT mincut FLOAT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' -LANGUAGE C VOLATILE STRICT; - +LANGUAGE c VOLATILE STRICT; -- COMMENTS - -COMMENT ON FUNCTION _pgr_kargersContraction(TEXT, ANYARRAY, TEXT, BIGINT, FLOAT) +COMMENT ON FUNCTION _pgr_kargerContraction(TEXT) IS 'pgRouting internal function'; diff --git a/sql/kargersContraction/kargersContraction.sql b/sql/kargersContraction/kargersContraction.sql index ec7a119d8cd..a5a88027fe4 100644 --- a/sql/kargersContraction/kargersContraction.sql +++ b/sql/kargersContraction/kargersContraction.sql @@ -27,91 +27,28 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ----------------- --- SINGLE VERTEX CREATE OR REPLACE FUNCTION pgr_kargersContraction( - TEXT, -- Edge sql - BIGINT, -- root vertex + TEXT, -- edges_sql (required) - max_depth BIGINT DEFAULT 9223372036854775807, - - OUT seq BIGINT, - OUT depth BIGINT, - OUT start_vid BIGINT, - OUT node BIGINT, + OUT seq INTEGER, OUT edge BIGINT, OUT cost FLOAT, - OUT agg_cost FLOAT) + OUT mincut FLOAT) RETURNS SETOF RECORD AS $BODY$ -BEGIN - IF $3 < 0 THEN - RAISE EXCEPTION 'Negative value found on ''max_depth''' - USING HINT = format('Value found: %s', $3); - END IF; - - - RETURN QUERY SELECT * - FROM _pgr_kargersContraction(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], 'DFS', $3, -1); -END; -$BODY$ -LANGUAGE plpgsql VOLATILE STRICT; - - --- MULTIPLE VERTICES -CREATE OR REPLACE FUNCTION pgr_kargersContraction( - TEXT, -- Edge sql - ANYARRAY, -- root vertices - - max_depth BIGINT DEFAULT 9223372036854775807, - - OUT seq BIGINT, - OUT depth BIGINT, - OUT start_vid BIGINT, - OUT node BIGINT, - OUT edge BIGINT, - OUT cost FLOAT, - OUT agg_cost FLOAT) -RETURNS SETOF RECORD AS + FROM _pgr_kargersContraction(_pgr_get_statement($1)); $BODY$ -BEGIN - IF $3 < 0 THEN - RAISE EXCEPTION 'Negative value found on ''max_depth''' - USING HINT = format('Value found: %s', $3); - END IF; - - - RETURN QUERY - SELECT * - FROM _pgr_kargersContraction(_pgr_get_statement($1), $2, 'DFS', $3, -1); -END; -$BODY$ -LANGUAGE plpgsql VOLATILE STRICT; - +LANGUAGE SQL VOLATILE STRICT; -- COMMENTS - -COMMENT ON FUNCTION pgr_kargersContraction(TEXT, BIGINT, BIGINT) -IS 'pgr_kargersContraction(Single Vertex) -- Undirected graph -- Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - From root vertex identifier -- Optional parameters - - max_depth := 9223372036854775807 -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kargersContraction.html -'; - -COMMENT ON FUNCTION pgr_kargersContraction(TEXT, ANYARRAY, BIGINT) -IS 'pgr_kargersContraction(Multiple Vertices) +COMMENT ON FUNCTION pgr_kargersContraction(TEXT) +IS 'pgr_kargersContraction +- EXPERIMENTAL - Undirected graph - Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - From ARRAY[root vertices identifiers] -- Optional parameters - - max_depth := 9223372036854775807 + - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kargersContraction.html + - ${PGROUTING_DOC_LINK}/pgr_kargersContraction.html '; From 4167dae279319085ed04c32e11ff20053fad09f5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 3 Jun 2020 17:27:13 +0530 Subject: [PATCH 0343/1360] Modified .c file according to current implementation --- src/kargersContraction/kargersContraction.c | 107 ++++++++++---------- 1 file changed, 53 insertions(+), 54 deletions(-) diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index 4ca00d97eec..7d431bf1d47 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -37,66 +37,58 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/arrays_input.h" #include "c_types/pgr_mst_rt.h" -#include "drivers/spanningTree/mst_common.h" +#include "drivers/mincut/stoerWagner_driver.h" #include "drivers/kargersContraction/kargersContraction_driver.h" PGDLLEXPORT Datum _pgr_kargerscontraction(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_kargerscontraction); +/******************************************************************************/ +/* MODIFY AS NEEDED */ static void process( char* edges_sql, - ArrayType *roots, - char * fn_suffix, - int64_t max_depth, - double distance, - - pgr_mst_rt **result_tuples, + pgr_stoerWagner_t **result_tuples, size_t *result_count) { + /* + * https://www.postgresql.org/docs/current/static/spi-spi-connect.html + */ pgr_SPI_connect(); - char *log_msg = NULL; - char *notice_msg = NULL; - char *err_msg = NULL; - - char * fn_name = get_name(1, fn_suffix, &err_msg); - if (err_msg) { - pgr_global_report(log_msg, notice_msg, err_msg); - return; - } - - size_t size_rootsArr = 0; - int64_t* rootsArr = (int64_t*) pgr_get_bigIntArray(&size_rootsArr, roots); - (*result_tuples) = NULL; (*result_count) = 0; + PGR_DBG("Load data"); pgr_edge_t *edges = NULL; size_t total_edges = 0; pgr_get_edges(edges_sql, &edges, &total_edges); + PGR_DBG("Total %ld edges in query:", total_edges); + if (total_edges == 0) { + PGR_DBG("No edges found"); + pgr_SPI_finish(); + return; + } + PGR_DBG("Starting processing"); clock_t start_t = clock(); + char *log_msg = NULL; + char *notice_msg = NULL; + char *err_msg = NULL; do_pgr_kargersContraction( - edges, total_edges, - rootsArr, size_rootsArr, - - fn_suffix, - - max_depth, - distance, - + edges, + total_edges, result_tuples, result_count, &log_msg, ¬ice_msg, &err_msg); - - time_msg(fn_name, start_t, clock()); + time_msg(" processing pgr_stoerWagner", start_t, clock()); + PGR_DBG("Returning %ld tuples", *result_count); if (err_msg) { if (*result_tuples) pfree(*result_tuples); @@ -116,31 +108,35 @@ process( PGDLLEXPORT Datum _pgr_kargerscontraction(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; - - pgr_mst_rt *result_tuples = NULL; + /**************************************************************************/ + /* MODIFY AS NEEDED */ + /* */ + pgr_stoerWagner_t *result_tuples = NULL; size_t result_count = 0; + /* */ + /**************************************************************************/ if (SRF_IS_FIRSTCALL()) { MemoryContext oldcontext; funcctx = SRF_FIRSTCALL_INIT(); oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /* Edge sql, tree roots, fn_suffix, max_depth, distance */ + + PGR_DBG("Calling process"); process( text_to_cstring(PG_GETARG_TEXT_P(0)), - PG_GETARG_ARRAYTYPE_P(1), - text_to_cstring(PG_GETARG_TEXT_P(2)), - PG_GETARG_INT64(3), - PG_GETARG_FLOAT8(4), &result_tuples, &result_count); -#if PGSQL_VERSION > 95 - funcctx->max_calls = result_count; -#else + /* */ + /**********************************************************************/ + + #if PGSQL_VERSION > 94 funcctx->max_calls = (uint32_t)result_count; -#endif + #else + funcctx->max_calls = (uint32_t)result_count; + #endif funcctx->user_fctx = result_tuples; if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) { @@ -156,7 +152,7 @@ PGDLLEXPORT Datum _pgr_kargerscontraction(PG_FUNCTION_ARGS) { funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_mst_rt*) funcctx->user_fctx; + result_tuples = (pgr_stoerWagner_t*) funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { HeapTuple tuple; @@ -164,30 +160,33 @@ PGDLLEXPORT Datum _pgr_kargerscontraction(PG_FUNCTION_ARGS) { Datum *values; bool* nulls; - size_t num = 7; - values = palloc(num * sizeof(Datum)); - nulls = palloc(num * sizeof(bool)); + values = palloc(4 * sizeof(Datum)); + nulls = palloc(4 * sizeof(bool)); size_t i; - for (i = 0; i < num; ++i) { + for (i = 0; i < 4; ++i) { nulls[i] = false; } - values[0] = Int64GetDatum(funcctx->call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].depth); - values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].from_v); - values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); - values[4] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); - values[5] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); - values[6] = Float8GetDatum(result_tuples[funcctx->call_cntr].agg_cost); - + // postgres starts counting from 1 + values[0] = Int32GetDatum(funcctx->call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); + values[2] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); + values[3] = Float8GetDatum(result_tuples[funcctx->call_cntr].mincut); /**********************************************************************/ tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); } else { + /**********************************************************************/ + /* MODIFY AS NEEDED */ + + PGR_DBG("Clean up code"); + + /**********************************************************************/ + SRF_RETURN_DONE(funcctx); } } From cd7f0475e9ee8fbb57dea9cdca68ba607b55e1ec Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 3 Jun 2020 17:39:44 +0530 Subject: [PATCH 0344/1360] Modified driver files according to the required implementation --- .../kargersContraction_driver.h | 26 +++------ .../kargersContraction_driver.cpp | 53 ++++++------------- 2 files changed, 23 insertions(+), 56 deletions(-) diff --git a/include/drivers/kargersContraction/kargersContraction_driver.h b/include/drivers/kargersContraction/kargersContraction_driver.h index 36b14f18828..c9d94b0958b 100644 --- a/include/drivers/kargersContraction/kargersContraction_driver.h +++ b/include/drivers/kargersContraction/kargersContraction_driver.h @@ -38,30 +38,20 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" -#include "c_types/pgr_mst_rt.h" +#include "c_types/pgr_stoerWagner_t.h" #ifdef __cplusplus extern "C" { #endif void do_pgr_kargersContraction( - pgr_edge_t *data_edges, - size_t total_edges, - - int64_t *rootsArr, - size_t size_rootsArr, - - char* fn_suffix, - - int64_t max_depth, - double distance, - - pgr_mst_rt **return_tuples, - size_t *return_count, - - char ** log_msg, - char ** notice_msg, - char ** err_msg); + pgr_edge_t *data_edges, + size_t total_edges, + pgr_stoerWagner_t **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg); #ifdef __cplusplus } diff --git a/src/kargersContraction/kargersContraction_driver.cpp b/src/kargersContraction/kargersContraction_driver.cpp index f5b2b887928..da03e0c8540 100644 --- a/src/kargersContraction/kargersContraction_driver.cpp +++ b/src/kargersContraction/kargersContraction_driver.cpp @@ -41,21 +41,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. void -do_pgr_kargersContraction( +do_pgr_stoerWagner( pgr_edge_t *data_edges, size_t total_edges, - - int64_t *rootsArr, - size_t size_rootsArr, - - char* fn_suffix, - - int64_t max_depth, - double distance, - - pgr_mst_rt **return_tuples, + pgr_stoerWagner_t **return_tuples, size_t *return_count, - char ** log_msg, char ** notice_msg, char ** err_msg) { @@ -68,39 +58,26 @@ do_pgr_kargersContraction( pgassert(!(*err_msg)); pgassert(!(*return_tuples)); pgassert(*return_count == 0); + pgassert(total_edges != 0); - std::vector roots(rootsArr, rootsArr + size_rootsArr); - std::string suffix(fn_suffix); - - std::vector results; - - if (total_edges == 0) { - results = pgrouting::details::get_no_edge_graph_result(roots); - } else { - pgrouting::UndirectedGraph undigraph(UNDIRECTED); - undigraph.insert_min_edges_no_parallel(data_edges, total_edges); - pgrouting::functions::Pgr_prim prim; - if (suffix == "") { - results = prim.prim(undigraph); - } else if (suffix == "BFS") { - results = prim.primBFS(undigraph, roots, max_depth); - } else if (suffix == "DFS") { - results = prim.primDFS(undigraph, roots, max_depth); - } else if (suffix == "DD") { - results = prim.primDD(undigraph, roots, distance); - } else { - err << "Unknown Prim function"; - *err_msg = pgr_msg(err.str().c_str()); - return; - } - } + graphType gType = UNDIRECTED; + + std::vector results; + + log << "Working with Undirected Graph\n"; + + pgrouting::UndirectedGraph undigraph(gType); + undigraph.insert_edges(data_edges, total_edges); + //results = _pgr_kargersContraction( + undigraph); auto count = results.size(); if (count == 0) { (*return_tuples) = NULL; (*return_count) = 0; - notice << "No spanning tree found"; + notice << + "No paths found"; return; } From 13a0ad597ae3f940cb81d875add90c9059ce5c8f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 3 Jun 2020 17:45:23 +0530 Subject: [PATCH 0345/1360] signature updated --- sql/sigs/pgrouting--3.0.0.sig | 5 ++--- src/kargersContraction/kargersContraction_driver.cpp | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 49b8b9b7ebd..4ab76f8ea49 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -129,9 +129,8 @@ _pgr_iscolumnindexed(text,text,text,integer,text) _pgr_iscolumnintable(text,text) _pgr_johnson(text,boolean) pgr_johnson(text,boolean) -pgr_kargerscontraction(text,anyarray,bigint) -_pgr_kargerscontraction(text,anyarray,text,bigint,double precision) -pgr_kargerscontraction(text,bigint,bigint) +_pgr_kargerscontraction(text) +pgr_kargerscontraction(text) pgr_kruskalbfs(text,anyarray,bigint) pgr_kruskalbfs(text,bigint,bigint) pgr_kruskaldd(text,anyarray,double precision) diff --git a/src/kargersContraction/kargersContraction_driver.cpp b/src/kargersContraction/kargersContraction_driver.cpp index da03e0c8540..4e6aa623c43 100644 --- a/src/kargersContraction/kargersContraction_driver.cpp +++ b/src/kargersContraction/kargersContraction_driver.cpp @@ -68,8 +68,7 @@ do_pgr_stoerWagner( pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); - //results = _pgr_kargersContraction( - undigraph); + //results = _pgr_kargersContraction(undigraph); auto count = results.size(); From ee5fe2391d8b788b21fea1d16e2954e0909dbf4d Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 3 Jun 2020 19:05:58 +0530 Subject: [PATCH 0346/1360] Renamed to do_pgr_kargersContraction --- src/kargersContraction/kargersContraction_driver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kargersContraction/kargersContraction_driver.cpp b/src/kargersContraction/kargersContraction_driver.cpp index 4e6aa623c43..bb25d0ac635 100644 --- a/src/kargersContraction/kargersContraction_driver.cpp +++ b/src/kargersContraction/kargersContraction_driver.cpp @@ -35,13 +35,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" - +#include "c_types/pgr_stoerWagner_t.h" #include "spanningTree/pgr_prim.hpp" #include "spanningTree/details.hpp" void -do_pgr_stoerWagner( +do_pgr_kargersContraction( pgr_edge_t *data_edges, size_t total_edges, pgr_stoerWagner_t **return_tuples, From 13126e65015da7207e8e56983ada51461de96599 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 3 Jun 2020 19:50:18 +0530 Subject: [PATCH 0347/1360] Fixing Travis error --- sql/kargersContraction/_kargersContraction.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/kargersContraction/_kargersContraction.sql b/sql/kargersContraction/_kargersContraction.sql index 6514d3976be..3cf7e80c4a6 100644 --- a/sql/kargersContraction/_kargersContraction.sql +++ b/sql/kargersContraction/_kargersContraction.sql @@ -39,7 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------------- -CREATE OR REPLACE FUNCTION _pgr_kargerContraction( +CREATE OR REPLACE FUNCTION _pgr_kargersContraction( edges_sql TEXT, OUT seq INTEGER, @@ -52,5 +52,5 @@ LANGUAGE c VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_kargerContraction(TEXT) +COMMENT ON FUNCTION _pgr_kargersContraction(TEXT) IS 'pgRouting internal function'; From a7d54483e2b68aaadbf36bdcaf42332de07a2080 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 3 Jun 2020 20:10:33 +0530 Subject: [PATCH 0348/1360] [docqueries] Fixing according to required implementation --- .../doc-pgr_kargersContraction.result | 101 ++++++------------ .../doc-pgr_kargersContraction.test.sql | 42 +++++--- 2 files changed, 64 insertions(+), 79 deletions(-) diff --git a/docqueries/kargersContraction/doc-pgr_kargersContraction.result b/docqueries/kargersContraction/doc-pgr_kargersContraction.result index ad46769fe62..c7071b922e2 100644 --- a/docqueries/kargersContraction/doc-pgr_kargersContraction.result +++ b/docqueries/kargersContraction/doc-pgr_kargersContraction.result @@ -2,79 +2,48 @@ BEGIN; BEGIN SET client_min_messages TO NOTICE; SET ---q1 +-- q1 SELECT * FROM pgr_kargersContraction( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 2 + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id < 17' ); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 2 | 2 | -1 | 0 | 0 - 2 | 1 | 2 | 1 | 1 | 1 | 1 - 3 | 1 | 2 | 3 | 2 | 1 | 1 - 4 | 2 | 2 | 4 | 3 | 1 | 2 - 5 | 2 | 2 | 6 | 5 | 1 | 2 - 6 | 3 | 2 | 9 | 9 | 1 | 3 - 7 | 3 | 2 | 11 | 11 | 1 | 3 - 8 | 4 | 2 | 12 | 13 | 1 | 4 - 9 | 1 | 2 | 5 | 4 | 1 | 1 - 10 | 2 | 2 | 8 | 7 | 1 | 2 - 11 | 3 | 2 | 7 | 6 | 1 | 3 - 12 | 2 | 2 | 10 | 10 | 1 | 2 - 13 | 3 | 2 | 13 | 14 | 1 | 3 -(13 rows) + seq | edge | cost | mincut +-----+------+------+-------- + 1 | 1 | 1 | 1 +(1 row) ---q2 +-- q2 SELECT * FROM pgr_kargersContraction( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[13,2], max_depth := 3 + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 18' ); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 2 | 2 | -1 | 0 | 0 - 2 | 1 | 2 | 1 | 1 | 1 | 1 - 3 | 1 | 2 | 3 | 2 | 1 | 1 - 4 | 2 | 2 | 4 | 3 | 1 | 2 - 5 | 2 | 2 | 6 | 5 | 1 | 2 - 6 | 3 | 2 | 9 | 9 | 1 | 3 - 7 | 3 | 2 | 11 | 11 | 1 | 3 - 8 | 1 | 2 | 5 | 4 | 1 | 1 - 9 | 2 | 2 | 8 | 7 | 1 | 2 - 10 | 3 | 2 | 7 | 6 | 1 | 3 - 11 | 2 | 2 | 10 | 10 | 1 | 2 - 12 | 3 | 2 | 13 | 14 | 1 | 3 - 13 | 0 | 13 | 13 | -1 | 0 | 0 - 14 | 1 | 13 | 10 | 14 | 1 | 1 - 15 | 2 | 13 | 5 | 10 | 1 | 2 - 16 | 3 | 13 | 2 | 4 | 1 | 3 - 17 | 3 | 13 | 8 | 7 | 1 | 3 -(17 rows) + seq | edge | cost | mincut +-----+------+------+-------- + 1 | 18 | 1 | 1 +(1 row) ---q3 +-- q3 SELECT * FROM pgr_kargersContraction( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 0 -); - seq | depth | start_vid | node | edge | cost | agg_cost ------+-------+-----------+------+------+------+---------- - 1 | 0 | 1 | 1 | -1 | 0 | 0 - 2 | 1 | 1 | 2 | 1 | 1 | 1 - 3 | 2 | 1 | 3 | 2 | 1 | 2 - 4 | 3 | 1 | 4 | 3 | 1 | 3 - 5 | 3 | 1 | 6 | 5 | 1 | 3 - 6 | 4 | 1 | 9 | 9 | 1 | 4 - 7 | 4 | 1 | 11 | 11 | 1 | 4 - 8 | 5 | 1 | 12 | 13 | 1 | 5 - 9 | 2 | 1 | 5 | 4 | 1 | 2 - 10 | 3 | 1 | 8 | 7 | 1 | 3 - 11 | 4 | 1 | 7 | 6 | 1 | 4 - 12 | 3 | 1 | 10 | 10 | 1 | 3 - 13 | 4 | 1 | 13 | 14 | 1 | 4 - 14 | 0 | 14 | 14 | -1 | 0 | 0 - 15 | 1 | 14 | 15 | 17 | 1 | 1 - 16 | 0 | 16 | 16 | -1 | 0 | 0 - 17 | 1 | 16 | 17 | 18 | 1 | 1 -(17 rows) +$$ + SELECT id, source, target, cost, reverse_cost FROM edge_table + where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) + OR + target = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) +$$ + ); + seq | edge | cost | mincut +-----+------+------+-------- + 1 | 17 | 1 | 1 +(1 row) +-- q4 ROLLBACK; ROLLBACK diff --git a/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql b/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql index d1f9131fd22..1b5efe9d56c 100644 --- a/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql +++ b/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql @@ -1,15 +1,31 @@ -\echo --q1 -SELECT * FROM pgr_kargersContraction( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 2 +\echo -- q1 +SELECT * FROM _pgr_kargersContraction( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id < 17' ); -\echo --q2 -SELECT * FROM pgr_kargersContraction( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - ARRAY[13,2], max_depth := 3 -); -\echo --q3 -SELECT * FROM pgr_kargersContraction( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', - 0 + +\echo -- q2 +SELECT * FROM _pgr_kargersContraction( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 18' ); + +\echo -- q3 +SELECT * FROM _pgr_kargersContraction( +$$ + SELECT id, source, target, cost, reverse_cost FROM edge_table + where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) + OR + target = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) +$$ + ); + +\echo -- q4 From 6df3a799d606b92356c677a014e91af9e86acccb Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 4 Jun 2020 13:12:45 +0530 Subject: [PATCH 0349/1360] [c_types]Included new c_types for pgr_kargersContraction --- include/c_types/pgr_kargersContraction_t.h | 43 +++++++++++++++++++ .../kargersContraction_driver.h | 4 +- src/kargersContraction/kargersContraction.c | 11 +++-- .../kargersContraction_driver.cpp | 10 ++--- 4 files changed, 54 insertions(+), 14 deletions(-) create mode 100644 include/c_types/pgr_kargersContraction_t.h diff --git a/include/c_types/pgr_kargersContraction_t.h b/include/c_types/pgr_kargersContraction_t.h new file mode 100644 index 00000000000..95ae9626837 --- /dev/null +++ b/include/c_types/pgr_kargersContraction_t.h @@ -0,0 +1,43 @@ +/*PGR-GNU***************************************************************** +File: pgr_stoerWagner_t.h + +Copyright (c) 2015 Aditya Pratap Singh +Mail: adityapratap.singh28@gmail.com +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +/*! @file */ + +#ifndef INCLUDE_C_TYPES_PGR_KARGERSCONTRACTION_T_H_ +#define INCLUDE_C_TYPES_PGR_KARGERSCONTRACTION_T_H_ +#pragma once + +/* for int64_t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +typedef struct { + int seq; + int64_t edge; + double cost; + double mincut; +} pgr_kargersContraction_t; + +#endif // INCLUDE_C_TYPES_PGR_STOERWAGNER_T_H_ diff --git a/include/drivers/kargersContraction/kargersContraction_driver.h b/include/drivers/kargersContraction/kargersContraction_driver.h index c9d94b0958b..ce4ac87bbb8 100644 --- a/include/drivers/kargersContraction/kargersContraction_driver.h +++ b/include/drivers/kargersContraction/kargersContraction_driver.h @@ -38,7 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" -#include "c_types/pgr_stoerWagner_t.h" +#include "c_types/pgr_kargersContraction_t.h" #ifdef __cplusplus extern "C" { @@ -47,7 +47,7 @@ extern "C" { void do_pgr_kargersContraction( pgr_edge_t *data_edges, size_t total_edges, - pgr_stoerWagner_t **return_tuples, + pgr_kargersContraction_t **return_tuples, size_t *return_count, char ** log_msg, char ** notice_msg, diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index 7d431bf1d47..a3d81a6e18d 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -35,9 +35,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/time_msg.h" #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "c_types/pgr_mst_rt.h" +#include "c_types/pgr_kargersContraction_t.h" -#include "drivers/mincut/stoerWagner_driver.h" #include "drivers/kargersContraction/kargersContraction_driver.h" PGDLLEXPORT Datum _pgr_kargerscontraction(PG_FUNCTION_ARGS); @@ -50,7 +49,7 @@ static void process( char* edges_sql, - pgr_stoerWagner_t **result_tuples, + pgr_kargersContraction_t **result_tuples, size_t *result_count) { /* * https://www.postgresql.org/docs/current/static/spi-spi-connect.html @@ -87,7 +86,7 @@ process( ¬ice_msg, &err_msg); - time_msg(" processing pgr_stoerWagner", start_t, clock()); + time_msg(" processing pgr_kargersContraction", start_t, clock()); PGR_DBG("Returning %ld tuples", *result_count); if (err_msg) { @@ -111,7 +110,7 @@ PGDLLEXPORT Datum _pgr_kargerscontraction(PG_FUNCTION_ARGS) { /**************************************************************************/ /* MODIFY AS NEEDED */ /* */ - pgr_stoerWagner_t *result_tuples = NULL; + pgr_kargersContraction_t *result_tuples = NULL; size_t result_count = 0; /* */ /**************************************************************************/ @@ -152,7 +151,7 @@ PGDLLEXPORT Datum _pgr_kargerscontraction(PG_FUNCTION_ARGS) { funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_stoerWagner_t*) funcctx->user_fctx; + result_tuples = (pgr_kargersContraction_t*) funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { HeapTuple tuple; diff --git a/src/kargersContraction/kargersContraction_driver.cpp b/src/kargersContraction/kargersContraction_driver.cpp index bb25d0ac635..84332f9a1f5 100644 --- a/src/kargersContraction/kargersContraction_driver.cpp +++ b/src/kargersContraction/kargersContraction_driver.cpp @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: prim_driver.cpp +File: kargersContraction_driver.cpp Generated with Template by: Copyright (c) 2015 pgRouting developers @@ -35,16 +35,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" -#include "c_types/pgr_stoerWagner_t.h" -#include "spanningTree/pgr_prim.hpp" -#include "spanningTree/details.hpp" +#include "c_types/pgr_kargersContraction_t.h" void do_pgr_kargersContraction( pgr_edge_t *data_edges, size_t total_edges, - pgr_stoerWagner_t **return_tuples, + pgr_kargersContraction_t **return_tuples, size_t *return_count, char ** log_msg, char ** notice_msg, @@ -62,7 +60,7 @@ do_pgr_kargersContraction( graphType gType = UNDIRECTED; - std::vector results; + std::vector results; log << "Working with Undirected Graph\n"; From 51040ad0bcba4cbd2dbdf096bacf6480cb4c6a60 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 4 Jun 2020 13:31:48 +0530 Subject: [PATCH 0350/1360] Returning 0 rows for queries --- src/kargersContraction/kargersContraction_driver.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/kargersContraction/kargersContraction_driver.cpp b/src/kargersContraction/kargersContraction_driver.cpp index 84332f9a1f5..353e51c81ec 100644 --- a/src/kargersContraction/kargersContraction_driver.cpp +++ b/src/kargersContraction/kargersContraction_driver.cpp @@ -36,6 +36,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" #include "c_types/pgr_kargersContraction_t.h" +#include "spanningTree/pgr_prim.hpp" +#include "spanningTree/details.hpp" void From 49cdeb0de7b9424a11c28dc66bb6ed6a117baa0e Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 4 Jun 2020 14:04:33 +0530 Subject: [PATCH 0351/1360] Changed docqueries files to Fix Travis Error --- .../doc-pgr_kargersContraction.result | 16 ++++++++-------- src/kargersContraction/kargersContraction.c | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docqueries/kargersContraction/doc-pgr_kargersContraction.result b/docqueries/kargersContraction/doc-pgr_kargersContraction.result index c7071b922e2..72a188a008b 100644 --- a/docqueries/kargersContraction/doc-pgr_kargersContraction.result +++ b/docqueries/kargersContraction/doc-pgr_kargersContraction.result @@ -8,10 +8,10 @@ SELECT * FROM pgr_kargersContraction( FROM edge_table WHERE id < 17' ); - seq | edge | cost | mincut +seq | edge | cost | mincut -----+------+------+-------- - 1 | 1 | 1 | 1 -(1 row) +(0 rows) + -- q2 SELECT * FROM pgr_kargersContraction( @@ -19,10 +19,10 @@ SELECT * FROM pgr_kargersContraction( FROM edge_table WHERE id = 18' ); - seq | edge | cost | mincut +seq | edge | cost | mincut -----+------+------+-------- - 1 | 18 | 1 | 1 -(1 row) +(0 rows) + -- q3 SELECT * FROM pgr_kargersContraction( @@ -41,8 +41,8 @@ $$ ); seq | edge | cost | mincut -----+------+------+-------- - 1 | 17 | 1 | 1 -(1 row) +(0 rows) + -- q4 ROLLBACK; diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index a3d81a6e18d..235ce8830c3 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: prim.c +File: kargersContraction.c Generated with Template by: Copyright (c) 2015 pgRouting developers From 544ee8038268fda461b559621e15805f779b4066 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 4 Jun 2020 14:44:33 +0530 Subject: [PATCH 0352/1360] Fixing Travis Error --- .../kargersContraction/doc-pgr_kargersContraction.result | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/docqueries/kargersContraction/doc-pgr_kargersContraction.result b/docqueries/kargersContraction/doc-pgr_kargersContraction.result index 72a188a008b..86606af0e6e 100644 --- a/docqueries/kargersContraction/doc-pgr_kargersContraction.result +++ b/docqueries/kargersContraction/doc-pgr_kargersContraction.result @@ -8,22 +8,20 @@ SELECT * FROM pgr_kargersContraction( FROM edge_table WHERE id < 17' ); -seq | edge | cost | mincut + seq | edge | cost | mincut -----+------+------+-------- (0 rows) - -- q2 SELECT * FROM pgr_kargersContraction( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 18' ); -seq | edge | cost | mincut + seq | edge | cost | mincut -----+------+------+-------- (0 rows) - -- q3 SELECT * FROM pgr_kargersContraction( $$ @@ -43,7 +41,6 @@ $$ -----+------+------+-------- (0 rows) - -- q4 ROLLBACK; ROLLBACK From f88ca678a07bb54e0f8c6050d570898b5dc9ae24 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 4 Jun 2020 17:22:17 +0530 Subject: [PATCH 0353/1360] Calling the main function and Travis Error fixed --- .../kargersContraction/doc-pgr_kargersContraction.test.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql b/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql index 1b5efe9d56c..2bbffef73d4 100644 --- a/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql +++ b/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql @@ -1,19 +1,19 @@ \echo -- q1 -SELECT * FROM _pgr_kargersContraction( +SELECT * FROM pgr_kargersContraction( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 17' ); \echo -- q2 -SELECT * FROM _pgr_kargersContraction( +SELECT * FROM pgr_kargersContraction( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 18' ); \echo -- q3 -SELECT * FROM _pgr_kargersContraction( +SELECT * FROM pgr_kargersContraction( $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( From e49e3812438a62864fcb72f698f91d0f1e4f0949 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 5 Jun 2020 14:35:08 +0530 Subject: [PATCH 0354/1360] Added actual .hpp file for coding --- .../pgr_kargersContraction.hpp | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 include/kargersContraction/pgr_kargersContraction.hpp diff --git a/include/kargersContraction/pgr_kargersContraction.hpp b/include/kargersContraction/pgr_kargersContraction.hpp new file mode 100644 index 00000000000..dc3989df440 --- /dev/null +++ b/include/kargersContraction/pgr_kargersContraction.hpp @@ -0,0 +1,85 @@ +/*PGR-GNU***************************************************************** +File: pgr_kargersContraction.hpp + +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Himanshu Raj +raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_KARGERSCONTRACTION_PGR_KARGERSCONTRACTION_HPP_ +#define INCLUDE_KARGERSCONTRACTION_PGR_KARGERSCONTRACTION_HPP_ +#pragma once + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "cpp_common/basePath_SSEC.hpp" +#include "cpp_common/pgr_base_graph.hpp" +#include "c_types/pgr_kargersContraction_t.h" + +template < class G > class Pgr_kargersContraction; +// user's functions +// for development + +//****************************************** + +template < class G > +class Pgr_kargersContraction { + public: + typedef typename G::V V; + typedef typename G::E E; + typedef typename G::E_i E_i; + + std::vector kargersContraction( + G &graph); + + private: + std::vector< pgr_kargersContraction_t > + generateskargersContraction( + const G &graph ) { + std::vector< pgr_kargersContraction_t > results; + return results; + } +}; + +template < class G > +std::vector +Pgr_kargersContraction< G >::kargersContraction( + G &graph) { + pgassert(num_vertices(graph.graph) > 1); + return generateskargersContraction( + graph); +} + + +#endif // INCLUDE_KARGERSCONTRACTION_PGR_KARGERSCONTRACTION_HPP_ From 2d34af4ecbf45e0aff47efd6ff6882e2228225c0 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 7 Jun 2020 13:53:44 +0530 Subject: [PATCH 0355/1360] [planarGraph]Added folder for planar graph support --- sql/planarGraph/_boyerMyrvold.sql | 55 +++++++++++++ sql/planarGraph/boyerMyrvold.sql | 126 ++++++++++++++++++++++++++++++ 2 files changed, 181 insertions(+) create mode 100644 sql/planarGraph/_boyerMyrvold.sql create mode 100644 sql/planarGraph/boyerMyrvold.sql diff --git a/sql/planarGraph/_boyerMyrvold.sql b/sql/planarGraph/_boyerMyrvold.sql new file mode 100644 index 00000000000..ee77c657fc3 --- /dev/null +++ b/sql/planarGraph/_boyerMyrvold.sql @@ -0,0 +1,55 @@ +/*PGR-GNU***************************************************************** +File: _boyerMyrvold.sql + +Copyright (c) 2019 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ +------------------------- +------------------------- +-- _breadthFirstSearch +------------------------- +------------------------- + +CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( + edges_sql TEXT, + from_vids ANYARRAY, + max_depth BIGINT, + directed BOOLEAN, + + OUT seq BIGINT, + OUT depth BIGINT, + OUT start_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 + +COMMENT ON FUNCTION _pgr_boyerMyrvold(TEXT, ANYARRAY, BIGINT, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/planarGraph/boyerMyrvold.sql b/sql/planarGraph/boyerMyrvold.sql new file mode 100644 index 00000000000..3c8a92a0830 --- /dev/null +++ b/sql/planarGraph/boyerMyrvold.sql @@ -0,0 +1,126 @@ +/*PGR-GNU***************************************************************** +File: boyerMyrvold.sql + +Copyright (c) 2019 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +------------------ +-- pgr_boyerMyrvold +------------------ + + +--ONE TO DEPTH +CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( + TEXT, -- edges_sql (required) + BIGINT, -- from_vid (required) + + max_depth BIGINT DEFAULT 9223372036854775807, + directed BOOLEAN DEFAULT true, + + OUT seq BIGINT, + OUT depth BIGINT, + OUT start_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) + +RETURNS SETOF RECORD AS +$BODY$ +BEGIN + IF $3 < 0 THEN + RAISE EXCEPTION 'Negative value found on ''max_depth''' + USING HINT = format('Value found: %s', $3); + END IF; + + + RETURN QUERY + SELECT * + FROM _pgr_boyerMyrvold(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], max_depth, directed) AS a; +END; +$BODY$ +LANGUAGE plpgsql VOLATILE STRICT; + + +--MANY TO DEPTH +CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( + TEXT, -- edges_sql (required) + ANYARRAY, -- from_vids (required) + + max_depth BIGINT DEFAULT 9223372036854775807, + directed BOOLEAN DEFAULT true, + + OUT seq BIGINT, + OUT depth BIGINT, + OUT start_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) + +RETURNS SETOF RECORD AS +$BODY$ +BEGIN + IF $3 < 0 THEN + RAISE EXCEPTION 'Negative value found on ''max_depth''' + USING HINT = format('Value found: %s', $3); + END IF; + + + RETURN QUERY + SELECT * + FROM _pgr_boyerMyrvold(_pgr_get_statement($1), $2::BIGINT[], max_depth, directed) AS a; +END; +$BODY$ +LANGUAGE plpgsql VOLATILE STRICT; + + +-- COMMENTS + +COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT, BIGINT, BIGINT, BOOLEAN) +IS 'pgr_boyerMyrvold(One to Depth) +- EXPERIMENTAL +- Parameters: + - edges SQL with columns: id, source, target, cost [,reverse_cost] + - From vertex identifier +- Optional Parameters: + - Maximum Depth := 9223372036854775807 + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_boyerMyrvold.html +'; + +COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT, ANYARRAY, BIGINT, BOOLEAN) +IS 'pgr_boyerMyrvold(Many to Depth) +- EXPERIMENTAL +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From ARRAY[vertices identifiers] +- Optional Parameters + - Maximum Depth := 9223372036854775807 + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_boyerMyrvold.html +'; From 8dfe74f07baf5f31515acbd49bc4f471709e3d81 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 7 Jun 2020 16:26:23 +0530 Subject: [PATCH 0356/1360] [planarGraph] Added headers/c/c++ , pgTap --- configuration.conf | 1 + .../drivers/planarGraph/boyerMyrvold_driver.h | 74 ++++++ pgtap/planarGraph/boyerMyrvold-edge-cases.sql | 201 +++++++++++++++ pgtap/planarGraph/boyerMyrvold-innerQuery.sql | 8 + pgtap/planarGraph/boyerMyrvold.sql | 37 +++ .../no_crash_test-boyerMyrvold.sql | 106 ++++++++ sql/planarGraph/CMakeLists.txt | 12 + sql/sigs/pgrouting--3.0.0.sig | 3 + src/planarGraph/CMakeLists.txt | 4 + src/planarGraph/boyerMyrvold.c | 230 ++++++++++++++++++ src/planarGraph/boyerMyrvold_driver.cpp | 130 ++++++++++ 11 files changed, 806 insertions(+) create mode 100644 include/drivers/planarGraph/boyerMyrvold_driver.h create mode 100644 pgtap/planarGraph/boyerMyrvold-edge-cases.sql create mode 100644 pgtap/planarGraph/boyerMyrvold-innerQuery.sql create mode 100644 pgtap/planarGraph/boyerMyrvold.sql create mode 100644 pgtap/planarGraph/no_crash_test-boyerMyrvold.sql create mode 100644 sql/planarGraph/CMakeLists.txt create mode 100644 src/planarGraph/CMakeLists.txt create mode 100644 src/planarGraph/boyerMyrvold.c create mode 100644 src/planarGraph/boyerMyrvold_driver.cpp diff --git a/configuration.conf b/configuration.conf index a147f6743b4..bdddc1e5566 100644 --- a/configuration.conf +++ b/configuration.conf @@ -42,6 +42,7 @@ transitiveClosure | Y | Y | Y breadthFirstSearch | Y | Y | Y traversal | Y | Y | Y coloring | Y | Y | Y +planarGraph | Y | Y | N #---------------------- # SQL only directories #---------------------- diff --git a/include/drivers/planarGraph/boyerMyrvold_driver.h b/include/drivers/planarGraph/boyerMyrvold_driver.h new file mode 100644 index 00000000000..0a4cec86d5b --- /dev/null +++ b/include/drivers/planarGraph/boyerMyrvold_driver.h @@ -0,0 +1,74 @@ +/*PGR-GNU***************************************************************** +File: boyerMyrvold_driver.h + +Generated with Template by: +Copyright (c) 2019 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_DRIVERS_PLANARGRAPH_BOYERMYRVOLD_DRIVER_H_ +#define INCLUDE_DRIVERS_PLANARGRAPH_BOYERMYRVOLD_DRIVER_H_ +#pragma once + +/* for size-t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +#include "c_types/pgr_edge_t.h" +#include "c_types/pgr_mst_rt.h" + +#ifdef __cplusplus +extern "C" { +#endif + + /********************************************************* + TEXT, + ANYARRAY, + max_depth BIGINT DEFAULT 9223372036854775807, + directed BOOLEAN DEFAULT true + ********************************************************/ + + + void do_pgr_boyerMyrvold( + pgr_edge_t *data_edges, + size_t total_tuples, + int64_t *start_vidsArr, + size_t size_start_vidsArr, + int64_t max_depth, + bool directed, + pgr_mst_rt **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg); + + +#ifdef __cplusplus +} +#endif + +#endif // INCLUDE_DRIVERS_PLANARGRAPH_BOYERMYRVOLD_DRIVER_H_ diff --git a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql new file mode 100644 index 00000000000..11cb1161c85 --- /dev/null +++ b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql @@ -0,0 +1,201 @@ +\i setup.sql + +SELECT plan(10); + +UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; + +-- +PREPARE prim1 AS +SELECT * FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id > 18', + 21, 3 +); + +SELECT set_eq('prim1', + $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, + '1: Empty Graph -> Only root vertex is returned'); + + +PREPARE prim2 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost + FROM edge_table WHERE id > 18', + ARRAY[21, 45], + 3 +); + +SELECT set_eq('prim2', + $$VALUES + (1, 0, 21, 21, -1, 0, 0), + (2, 0, 45, 45, -1, 0, 0) + $$, + '2: Empty graph -> Only root vertices are returned'); + + +-- +PREPARE prim3 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 21, 3 +); + +SELECT set_eq('prim3', + $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, + '3: Root not in Graph -> Only root vertex is returned'); + +-- +PREPARE prim4 AS +SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 +FROM pgr_primDFS( + 'SELECT id, source, target, cost + FROM edge_table', + ARRAY[21, 4], + 3 +); + +SELECT set_eq('prim4', + $$VALUES + (1, 4, 0, 4, -1, true), + (2, 4, 1, 9, 16, true), + (3, 4, 2, 6, 9, true), + (4, 4, 3, 3, 5, true), + (5, 4, 3, 5, 8, true), + (6, 4, 3, 11, 11, true), + (7, 21, 0, 21, -1, true) + $$, + '4: Root not in Graph -> Only root vertex is returned, Root in graph -> spanning tree is returned'); + + +-- +PREPARE prim5 AS +SELECT seq, start_vid, depth, node, edge, depth <= 3 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 0, 3 +); + +SELECT set_eq('prim5', + $$VALUES + (1, 1, 0, 1, -1, true), + (2, 1, 1, 2, 1, true), + (3, 1, 2, 3, 2, true), + (4, 1, 3, 4, 3, true), + (5, 1, 3, 6, 5, true), + (6, 1, 2, 5, 4, true), + (7, 1, 3, 8, 7, true), + (8, 1, 3, 10, 10, true), + (9, 14, 0, 14, -1, true), + (10, 14, 1, 15, 17, true), + (11, 16, 0, 16, -1, true), + (12, 16, 1, 17, 18, true) + $$, + '5: root = 0 -> forest (with random root vertices)'); + +-- +PREPARE prim6 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4, -3 +); + + +SELECT throws_ok('prim6', + 'P0001', + 'Negative value found on ''max_depth''', + '6: Negative max_depth throws'); + + + +PREPARE prim7 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[4, 10], -3 +); + +SELECT throws_ok('prim7', + 'P0001', + 'Negative value found on ''max_depth''', + '7: Negative max_depth throws'); + +-- +PREPARE prim8 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4, 0 +); + +SELECT set_eq('prim8', + $$VALUES (1, 0, 4, 4, -1, 0, 0) $$, + '8: 0 max_depth -> Only root vertex is returned'); + +-- +PREPARE prim9 AS +SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4 +); + +SELECT set_eq('prim9', + $$VALUES + (1, 0, 4, 4, -1, true), + (2, 1, 4, 3, 3, true), + (3, 2, 4, 2, 2, true), + (4, 3, 4, 1, 1, true), + (5, 3, 4, 5, 4, true), + (6, 4, 4, 8, 7, true), + (7, 5, 4, 7, 6, true), + (8, 4, 4, 10, 10, true), + (9, 5, 4, 13, 14, true), + (10, 2, 4, 6, 5, true), + (11, 3, 4, 9, 9, true), + (12, 3, 4, 11, 11, true), + (13, 4, 4, 12, 13, true) + $$, + '9: default max_depth -> complete tree from root'); + +-- +PREPARE prim10 AS +SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 0 +); + +SELECT set_eq('prim10', + $$VALUES + (1, 1, 0, 1,-1, true), + (2, 1, 1, 2, 1, true), + (3, 1, 2, 3, 2, true), + (4, 1, 3, 4, 3, true), + (5, 1, 3, 6, 5, true), + (6, 1, 4, 9, 9, true), + (7, 1, 4,11,11, true), + (8, 1, 5,12,13, true), + (9, 1, 2, 5, 4, true), + (10, 1, 3, 8, 7, true), + (11, 1, 4, 7, 6, true), + (12, 1, 3,10,10, true), + (13, 1, 4,13,14, true), + (14, 14, 0,14,-1, true), + (15, 14, 1,15,17, true), + (16, 16, 0,16,-1, true), + (17, 16, 1,17,18, true) + $$, + '10: root = 0 -> forest (with random root vertices)'); + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql new file mode 100644 index 00000000000..98aedb21240 --- /dev/null +++ b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql @@ -0,0 +1,8 @@ +\i setup.sql + +SELECT plan(54); + +SELECT style_dijkstra('pgr_primDFS', ', 5)'); + +SELECT finish(); +ROLLBACK; diff --git a/pgtap/planarGraph/boyerMyrvold.sql b/pgtap/planarGraph/boyerMyrvold.sql new file mode 100644 index 00000000000..1c0bb60679d --- /dev/null +++ b/pgtap/planarGraph/boyerMyrvold.sql @@ -0,0 +1,37 @@ +\i setup.sql + +SELECT plan(7); + +---------------------------------- +-- tests for all +-- prefix: pgr_prim +---------------------------------- + +SELECT has_function('pgr_primdfs'); + +SELECT has_function('pgr_primdfs', ARRAY['text','bigint','bigint']); +SELECT has_function('pgr_primdfs', ARRAY['text','anyarray','bigint']); +SELECT function_returns('pgr_primdfs', ARRAY['text','bigint','bigint'], 'setof record'); +SELECT function_returns('pgr_primdfs', ARRAY['text','anyarray','bigint'], 'setof record'); + + +-- pgr_primdfs +-- parameter names +SELECT set_eq( + $$SELECT proargnames from pg_proc where proname = 'pgr_primdfs'$$, + $$VALUES + ('{"","","max_depth","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[]) + $$ +); + +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_primdfs'$$, + $$VALUES + ('{25,20,20,20,20,20,20,20,701,701}'::OID[]), + ('{25,2277,20,20,20,20,20,20,701,701}'::OID[]) + $$ +); + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql b/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql new file mode 100644 index 00000000000..1ad0d9b4d8f --- /dev/null +++ b/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql @@ -0,0 +1,106 @@ +\i setup.sql + +SELECT plan(86); + +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; + +PREPARE null_vertex AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); + + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT is_empty('null_vertex', 'Should be empty to tests be meaningful'); + + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + -- primDFS + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '5' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::INTEGER'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS with depth + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '5', + '3' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + 'NULL::INTEGER' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS Multiple vertices + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + 'ARRAY[5,3]' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS with depth Multiple vertices + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + 'ARRAY[5,3]', + '3' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + 'NULL::INTEGER' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT[]'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + +ROLLBACK; diff --git a/sql/planarGraph/CMakeLists.txt b/sql/planarGraph/CMakeLists.txt new file mode 100644 index 00000000000..bec19715efd --- /dev/null +++ b/sql/planarGraph/CMakeLists.txt @@ -0,0 +1,12 @@ + +SET(LOCAL_FILES + _boyerMyrvold.sql + boyerMyrvold.sql + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} ${f}) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) +endforeach() + +set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 4ab76f8ea49..b6501cea7ac 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -55,6 +55,9 @@ pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) pgr_boykovkolmogorov(text,bigint,bigint) +_pgr_boyermyrvold(text,anyarray,bigint,boolean) +pgr_boyermyrvold(text,anyarray,bigint,boolean) +pgr_boyermyrvold(text,bigint,bigint,boolean) _pgr_breadthfirstsearch(text,anyarray,bigint,boolean) pgr_breadthfirstsearch(text,anyarray,bigint,boolean) pgr_breadthfirstsearch(text,bigint,bigint,boolean) diff --git a/src/planarGraph/CMakeLists.txt b/src/planarGraph/CMakeLists.txt new file mode 100644 index 00000000000..376f8ef1dbd --- /dev/null +++ b/src/planarGraph/CMakeLists.txt @@ -0,0 +1,4 @@ +ADD_LIBRARY(planarGraph OBJECT + boyerMyrvold.c + boyerMyrvold_driver.cpp + ) diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c new file mode 100644 index 00000000000..30bd1241d77 --- /dev/null +++ b/src/planarGraph/boyerMyrvold.c @@ -0,0 +1,230 @@ +/*PGR-GNU***************************************************************** +File: breadthFirstSearch.c + +Generated with Template by: +Copyright (c) 2019 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#include +#include "c_common/postgres_connection.h" +#include "utils/array.h" + +#include "c_common/debug_macro.h" +#include "c_common/e_report.h" +#include "c_common/time_msg.h" + +#include "c_common/edges_input.h" +#include "c_common/arrays_input.h" + +#include "drivers/breadthFirstSearch/breadthFirstSearch_driver.h" + +PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_boyermyrvold); + +static void +process( + char *edges_sql, + ArrayType *starts, + int64_t max_depth, + bool directed, + + pgr_mst_rt **result_tuples, + size_t *result_count) { + pgr_SPI_connect(); + + PGR_DBG("Initializing arrays"); + + size_t size_start_vidsArr = 0; + int64_t *start_vidsArr = (int64_t *) + pgr_get_bigIntArray(&size_start_vidsArr, starts); + PGR_DBG("start_vidsArr size %ld ", size_start_vidsArr); + + + (*result_tuples) = NULL; + (*result_count) = 0; + + PGR_DBG("Load data"); + pgr_edge_t *edges = NULL; + size_t total_edges = 0; + + pgr_get_edges(edges_sql, &edges, &total_edges); + PGR_DBG("Total %ld edges in query:", total_edges); + + if (total_edges == 0) { + if (start_vidsArr) + pfree(start_vidsArr); + pgr_SPI_finish(); + return; + } + + PGR_DBG("Starting processing"); + clock_t start_t = clock(); + char *log_msg = NULL; + char *notice_msg = NULL; + char *err_msg = NULL; + do_pgr_boyerMyrvold( + edges, + total_edges, + start_vidsArr, size_start_vidsArr, + max_depth, + directed, + + result_tuples, + result_count, + + &log_msg, + ¬ice_msg, + &err_msg); + + time_msg(" processing pgr_breadthFirstSearch", start_t, clock()); + PGR_DBG("Returning %ld tuples", *result_count); + + if (err_msg) { + if (*result_tuples) + pfree(*result_tuples); + } + + pgr_global_report(log_msg, notice_msg, err_msg); + + if (edges) + pfree(edges); + if (log_msg) + pfree(log_msg); + if (notice_msg) + pfree(notice_msg); + if (err_msg) + pfree(err_msg); + + if (start_vidsArr) + pfree(start_vidsArr); + pgr_SPI_finish(); +} + +PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; + + /**************************************************************************/ + pgr_mst_rt *result_tuples = NULL; + size_t result_count = 0; + /**************************************************************************/ + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + + /**********************************************************************/ + /* + pgr_breadthFirstSearch( + edge_sql TEXT, + start_vids ANYARRAY, + max_depth BIGINT DEFAULT 9223372036854775807, + directed BOOLEAN DEFAULT true) + */ + /**********************************************************************/ + + PGR_DBG("Calling process"); + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + PG_GETARG_ARRAYTYPE_P(1), + PG_GETARG_INT64(2), + PG_GETARG_BOOL(3), + &result_tuples, + &result_count); + + /**********************************************************************/ + +#if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; +#else + funcctx->max_calls = (uint32_t)result_count; +#endif + funcctx->user_fctx = result_tuples; + if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + } + + funcctx->tuple_desc = tuple_desc; + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (pgr_mst_rt *)funcctx->user_fctx; + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; + Datum result; + Datum *values; + bool *nulls; + + /**********************************************************************/ + /* + OUT seq BIGINT, + OUT depth BIGINT, + OUT start_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT + */ + /**********************************************************************/ + size_t numb = 7; + values = palloc(numb * sizeof(Datum)); + nulls = palloc(numb * sizeof(bool)); + + size_t i; + for (i = 0; i < numb; ++i) { + nulls[i] = false; + } + + values[0] = Int32GetDatum(funcctx->call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].depth); + values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].from_v); + values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); + values[4] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); + values[5] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); + values[6] = Float8GetDatum(result_tuples[funcctx->call_cntr].agg_cost); + + /**********************************************************************/ + + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + SRF_RETURN_NEXT(funcctx, result); + } else { + /**********************************************************************/ + + PGR_DBG("Clean up code"); + + /**********************************************************************/ + + SRF_RETURN_DONE(funcctx); + } +} diff --git a/src/planarGraph/boyerMyrvold_driver.cpp b/src/planarGraph/boyerMyrvold_driver.cpp new file mode 100644 index 00000000000..02c6b68a5d0 --- /dev/null +++ b/src/planarGraph/boyerMyrvold_driver.cpp @@ -0,0 +1,130 @@ +/*PGR-GNU***************************************************************** +File: boyerMyrvold_driver.cpp + +Generated with Template by: +Copyright (c) 2019 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#include "drivers/breadthFirstSearch/breadthFirstSearch_driver.h" +#include "drivers/planarGraph/boyerMyrvold_driver.h" + +#include +#include +#include + +#include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/pgr_assert.h" + +#include "breadthFirstSearch/pgr_breadthFirstSearch.hpp" + +void +do_pgr_boyerMyrvold( + pgr_edge_t *data_edges, + size_t total_edges, + int64_t *start_vidsArr, + size_t size_start_vidsArr, + int64_t max_depth, + bool directed, + + pgr_mst_rt **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg) { + std::ostringstream log; + std::ostringstream err; + std::ostringstream notice; + try { + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + pgassert(total_edges != 0); + + graphType gType = directed? DIRECTED: UNDIRECTED; + + log << "Inserting vertices into a c++ vector structure"; + std::vector + start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); + + std::vector results; + std::string logstr; + if (directed) { + log << "Working with directed Graph\n"; + pgrouting::DirectedGraph digraph(gType); + digraph.insert_edges(data_edges, total_edges); + + } else { + log << "Working with Undirected Graph\n"; + pgrouting::UndirectedGraph undigraph(gType); + undigraph.insert_edges(data_edges, total_edges); + } + + auto count = results.size(); + + if (count == 0) { + (*return_tuples) = NULL; + (*return_count) = 0; + notice << + "No traversal found"; + *log_msg = pgr_msg(notice.str().c_str()); + return; + } + + (*return_tuples) = pgr_alloc(count, (*return_tuples)); + log << "\nConverting a set of traversals into the tuples"; + for (size_t i = 0; i < count; i++) { + *((*return_tuples) + i) = results[i]; + } + (*return_count) = count; + + pgassert(*err_msg == NULL); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } +} From e7dde482ebc52eb9a9f54b6e1b4a6131e6035cfd Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 7 Jun 2020 16:57:08 +0530 Subject: [PATCH 0357/1360] [planarGraph] Signature file updated --- sql/sigs/pgrouting--3.0.0.sig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index b6501cea7ac..39075d0d00f 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -51,13 +51,13 @@ pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) _pgr_boost_version() +_pgr_boyermyrvold(text,anyarray,bigint,boolean) +pgr_boyermyrvold(text,anyarray,bigint,boolean) +pgr_boyermyrvold(text,bigint,bigint,boolean) pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) pgr_boykovkolmogorov(text,bigint,bigint) -_pgr_boyermyrvold(text,anyarray,bigint,boolean) -pgr_boyermyrvold(text,anyarray,bigint,boolean) -pgr_boyermyrvold(text,bigint,bigint,boolean) _pgr_breadthfirstsearch(text,anyarray,bigint,boolean) pgr_breadthfirstsearch(text,anyarray,bigint,boolean) pgr_breadthfirstsearch(text,bigint,bigint,boolean) From 712c4a5eec0fab3d346eaebe30f1bd5130f834f5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 8 Jun 2020 11:01:52 +0530 Subject: [PATCH 0358/1360] [planarGraph] Added .hpp for coding the planarity test function --- include/planarGraph/pgr_boyerMyrvold.hpp | 111 +++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 include/planarGraph/pgr_boyerMyrvold.hpp diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp new file mode 100644 index 00000000000..31484344ddd --- /dev/null +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -0,0 +1,111 @@ +/*PGR-GNU***************************************************************** +File: pgr_breadthFirstSearch.hpp + +Copyright (c) 2019 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ +#define INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ +#pragma once + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "cpp_common/pgr_base_graph.hpp" +//****************************************** + +namespace pgrouting { +namespace functions { + +template +class Pgr_breadthFirstSearch { + public: + typedef typename G::V V; + typedef typename G::E E; + typedef typename G::B_G B_G; + + + std::vector breadthFirstSearch( + G &graph, + std::vector start_vertex, + int64_t depth) { + std::vector results; + using bfs_visitor = visitors::Edges_order_bfs_visitor; + + for (auto source : start_vertex) { + std::vector visited_order; + + if (graph.has_vertex(source)) { + results.push_back({source, 0, source, -1, 0.0, 0.0}); + boost::breadth_first_search(graph.graph, + graph.get_V(source), + visitor(bfs_visitor(visited_order))); + + auto single_source_results = get_results(visited_order, source, depth, graph); + results.insert(results.end(), single_source_results.begin(), single_source_results.end()); + } + } + return results; + } + + private: + template + std::vector get_results( + T order, + int64_t source, + int64_t max_depth, + const G &graph) { + std::vector results; + + std::vector agg_cost(graph.num_vertices(), 0); + std::vector depth(graph.num_vertices(), 0); + + for (const auto edge : order) { + auto u = graph.source(edge); + auto v = graph.target(edge); + + agg_cost[v] = agg_cost[u] + graph[edge].cost; + depth[v] = depth[u] + 1; + + if (max_depth >= depth[v]) { + results.push_back({ + source, + depth[v], + graph[v].id, + graph[edge].id, + graph[edge].cost, + agg_cost[v] + }); + } + } + return results; + } +}; +} // namespace functions +} // namespace pgrouting + +#endif // INCLUDE_BREADTHFIRSTSEARCH_PGR_BREADTHFIRSTSEARCH_HPP_ From 7b4e8e718fc6626e557ba04ad18215e337a840f7 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 8 Jun 2020 16:30:42 +0530 Subject: [PATCH 0359/1360] [planarGraph] Modifying all files according to boyerMyrvold implementation --- .../drivers/planarGraph/boyerMyrvold_driver.h | 5 +- sql/planarGraph/_boyerMyrvold.sql | 24 +++--- sql/planarGraph/boyerMyrvold.sql | 79 +++---------------- sql/sigs/pgrouting--3.0.0.sig | 5 +- src/planarGraph/boyerMyrvold.c | 60 ++++++-------- src/planarGraph/boyerMyrvold_driver.cpp | 13 ++- 6 files changed, 54 insertions(+), 132 deletions(-) diff --git a/include/drivers/planarGraph/boyerMyrvold_driver.h b/include/drivers/planarGraph/boyerMyrvold_driver.h index 0a4cec86d5b..6fef5c77ff2 100644 --- a/include/drivers/planarGraph/boyerMyrvold_driver.h +++ b/include/drivers/planarGraph/boyerMyrvold_driver.h @@ -56,11 +56,8 @@ extern "C" { void do_pgr_boyerMyrvold( pgr_edge_t *data_edges, size_t total_tuples, - int64_t *start_vidsArr, - size_t size_start_vidsArr, - int64_t max_depth, bool directed, - pgr_mst_rt **return_tuples, + pgr_edge_t **return_tuples, size_t *return_count, char ** log_msg, char ** notice_msg, diff --git a/sql/planarGraph/_boyerMyrvold.sql b/sql/planarGraph/_boyerMyrvold.sql index ee77c657fc3..881b368933b 100644 --- a/sql/planarGraph/_boyerMyrvold.sql +++ b/sql/planarGraph/_boyerMyrvold.sql @@ -31,18 +31,16 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------- CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( - edges_sql TEXT, - from_vids ANYARRAY, - max_depth BIGINT, - directed BOOLEAN, - - OUT seq BIGINT, - OUT depth BIGINT, - OUT start_vid BIGINT, - OUT node BIGINT, - OUT edge BIGINT, - OUT cost FLOAT, - OUT agg_cost FLOAT) + TEXT, -- edges_sql (required) + + directed BOOLEAN DEFAULT false, + + -- OUT planar BIGINT, + OUT id BIGINT, + OUT source BIGINT, + OUT target BIGINT, + OUT cost FLOAT, + OUT reverse_cost FLOAT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' @@ -51,5 +49,5 @@ LANGUAGE c IMMUTABLE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_boyerMyrvold(TEXT, ANYARRAY, BIGINT, BOOLEAN) +COMMENT ON FUNCTION _pgr_boyerMyrvold(TEXT,BOOLEAN) IS 'pgRouting internal function'; diff --git a/sql/planarGraph/boyerMyrvold.sql b/sql/planarGraph/boyerMyrvold.sql index 3c8a92a0830..3db0ff75b57 100644 --- a/sql/planarGraph/boyerMyrvold.sql +++ b/sql/planarGraph/boyerMyrvold.sql @@ -1,7 +1,7 @@ /*PGR-GNU***************************************************************** File: boyerMyrvold.sql -Copyright (c) 2019 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: @@ -34,72 +34,26 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --ONE TO DEPTH CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( TEXT, -- edges_sql (required) - BIGINT, -- from_vid (required) - max_depth BIGINT DEFAULT 9223372036854775807, - directed BOOLEAN DEFAULT true, + directed BOOLEAN DEFAULT false, - OUT seq BIGINT, - OUT depth BIGINT, - OUT start_vid BIGINT, - OUT node BIGINT, - OUT edge BIGINT, + -- OUT planar BIGINT, + OUT id BIGINT, + OUT source BIGINT, + OUT target BIGINT, OUT cost FLOAT, - OUT agg_cost FLOAT) + OUT reverse_cost FLOAT) RETURNS SETOF RECORD AS $BODY$ -BEGIN - IF $3 < 0 THEN - RAISE EXCEPTION 'Negative value found on ''max_depth''' - USING HINT = format('Value found: %s', $3); - END IF; - - - RETURN QUERY - SELECT * - FROM _pgr_boyerMyrvold(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], max_depth, directed) AS a; -END; -$BODY$ -LANGUAGE plpgsql VOLATILE STRICT; - - ---MANY TO DEPTH -CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( - TEXT, -- edges_sql (required) - ANYARRAY, -- from_vids (required) - - max_depth BIGINT DEFAULT 9223372036854775807, - directed BOOLEAN DEFAULT true, - - OUT seq BIGINT, - OUT depth BIGINT, - OUT start_vid BIGINT, - OUT node BIGINT, - OUT edge BIGINT, - OUT cost FLOAT, - OUT agg_cost FLOAT) - -RETURNS SETOF RECORD AS -$BODY$ -BEGIN - IF $3 < 0 THEN - RAISE EXCEPTION 'Negative value found on ''max_depth''' - USING HINT = format('Value found: %s', $3); - END IF; - - - RETURN QUERY SELECT * - FROM _pgr_boyerMyrvold(_pgr_get_statement($1), $2::BIGINT[], max_depth, directed) AS a; -END; + FROM _pgr_boyerMyrvold(_pgr_get_statement($1),directed) AS a; $BODY$ -LANGUAGE plpgsql VOLATILE STRICT; - +LANGUAGE sql VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT, BIGINT, BIGINT, BOOLEAN) +COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT,BOOLEAN) IS 'pgr_boyerMyrvold(One to Depth) - EXPERIMENTAL - Parameters: @@ -111,16 +65,3 @@ IS 'pgr_boyerMyrvold(One to Depth) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_boyerMyrvold.html '; - -COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT, ANYARRAY, BIGINT, BOOLEAN) -IS 'pgr_boyerMyrvold(Many to Depth) -- EXPERIMENTAL -- Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - From ARRAY[vertices identifiers] -- Optional Parameters - - Maximum Depth := 9223372036854775807 - - directed := true -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_boyerMyrvold.html -'; diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 39075d0d00f..a8d41236d42 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -51,9 +51,8 @@ pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) _pgr_boost_version() -_pgr_boyermyrvold(text,anyarray,bigint,boolean) -pgr_boyermyrvold(text,anyarray,bigint,boolean) -pgr_boyermyrvold(text,bigint,bigint,boolean) +_pgr_boyermyrvold(text,boolean) +pgr_boyermyrvold(text,boolean) pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c index 30bd1241d77..2206f3822f1 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planarGraph/boyerMyrvold.c @@ -39,29 +39,22 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "drivers/breadthFirstSearch/breadthFirstSearch_driver.h" - +// #include "drivers/breadthFirstSearch/breadthFirstSearch_driver.h" +#include "drivers/planarGraph/boyerMyrvold_driver.h" PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_boyermyrvold); static void process( char *edges_sql, - ArrayType *starts, - int64_t max_depth, bool directed, - pgr_mst_rt **result_tuples, + pgr_edge_t **result_tuples, size_t *result_count) { pgr_SPI_connect(); PGR_DBG("Initializing arrays"); - size_t size_start_vidsArr = 0; - int64_t *start_vidsArr = (int64_t *) - pgr_get_bigIntArray(&size_start_vidsArr, starts); - PGR_DBG("start_vidsArr size %ld ", size_start_vidsArr); - (*result_tuples) = NULL; (*result_count) = 0; @@ -74,8 +67,8 @@ process( PGR_DBG("Total %ld edges in query:", total_edges); if (total_edges == 0) { - if (start_vidsArr) - pfree(start_vidsArr); + // if (start_vidsArr) + // pfree(start_vidsArr); pgr_SPI_finish(); return; } @@ -88,8 +81,6 @@ process( do_pgr_boyerMyrvold( edges, total_edges, - start_vidsArr, size_start_vidsArr, - max_depth, directed, result_tuples, @@ -118,8 +109,8 @@ process( if (err_msg) pfree(err_msg); - if (start_vidsArr) - pfree(start_vidsArr); + // if (start_vidsArr) + // pfree(start_vidsArr); pgr_SPI_finish(); } @@ -128,7 +119,7 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { TupleDesc tuple_desc; /**************************************************************************/ - pgr_mst_rt *result_tuples = NULL; + pgr_edge_t *result_tuples = NULL; size_t result_count = 0; /**************************************************************************/ @@ -149,10 +140,10 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { PGR_DBG("Calling process"); process( - text_to_cstring(PG_GETARG_TEXT_P(0)), - PG_GETARG_ARRAYTYPE_P(1), - PG_GETARG_INT64(2), - PG_GETARG_BOOL(3), + text_to_cstring(PG_GETARG_TEXT_P(1)), + // PG_GETARG_ARRAYTYPE_P(1), + // PG_GETARG_INT64(3), + PG_GETARG_BOOL(1), &result_tuples, &result_count); @@ -177,7 +168,7 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_mst_rt *)funcctx->user_fctx; + result_tuples = (pgr_edge_t *)funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { HeapTuple tuple; @@ -187,16 +178,15 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { /**********************************************************************/ /* - OUT seq BIGINT, - OUT depth BIGINT, - OUT start_vid BIGINT, - OUT node BIGINT, - OUT edge BIGINT, + OUT planar BIGINT + OUT id BIGINT, + OUT source BIGINT, + OUT target_vid BIGINT, OUT cost FLOAT, - OUT agg_cost FLOAT + OUT reverse_cost FLOAT */ /**********************************************************************/ - size_t numb = 7; + size_t numb = 6; values = palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); @@ -206,12 +196,12 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { } values[0] = Int32GetDatum(funcctx->call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].depth); - values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].from_v); - values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); - values[4] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); - values[5] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); - values[6] = Float8GetDatum(result_tuples[funcctx->call_cntr].agg_cost); + // values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].planar); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].id); + values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].source); + values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].target); + values[4] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); + values[5] = Float8GetDatum(result_tuples[funcctx->call_cntr].reverse_cost); /**********************************************************************/ diff --git a/src/planarGraph/boyerMyrvold_driver.cpp b/src/planarGraph/boyerMyrvold_driver.cpp index 02c6b68a5d0..13790b3fe20 100644 --- a/src/planarGraph/boyerMyrvold_driver.cpp +++ b/src/planarGraph/boyerMyrvold_driver.cpp @@ -43,12 +43,9 @@ void do_pgr_boyerMyrvold( pgr_edge_t *data_edges, size_t total_edges, - int64_t *start_vidsArr, - size_t size_start_vidsArr, - int64_t max_depth, bool directed, - pgr_mst_rt **return_tuples, + pgr_edge_t **return_tuples, size_t *return_count, char ** log_msg, char ** notice_msg, @@ -66,11 +63,11 @@ do_pgr_boyerMyrvold( graphType gType = directed? DIRECTED: UNDIRECTED; - log << "Inserting vertices into a c++ vector structure"; - std::vector - start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); + // log << "Inserting vertices into a c++ vector structure"; + // std::vector + // start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); - std::vector results; + std::vector results; std::string logstr; if (directed) { log << "Working with directed Graph\n"; From e3558a101ce0df00188d4679448cddfdb3f6a7ea Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 8 Jun 2020 20:15:41 +0530 Subject: [PATCH 0360/1360] [planarGraph] Able to return 0 rows --- .../drivers/planarGraph/boyerMyrvold_driver.h | 1 - include/planarGraph/pgr_boyerMyrvold.hpp | 160 +++++++++++------- sql/planarGraph/_boyerMyrvold.sql | 7 +- sql/planarGraph/boyerMyrvold.sql | 10 +- sql/sigs/pgrouting--3.0.0.sig | 4 +- src/planarGraph/boyerMyrvold.c | 8 +- src/planarGraph/boyerMyrvold_driver.cpp | 30 ++-- 7 files changed, 121 insertions(+), 99 deletions(-) diff --git a/include/drivers/planarGraph/boyerMyrvold_driver.h b/include/drivers/planarGraph/boyerMyrvold_driver.h index 6fef5c77ff2..fe12cfb0dde 100644 --- a/include/drivers/planarGraph/boyerMyrvold_driver.h +++ b/include/drivers/planarGraph/boyerMyrvold_driver.h @@ -56,7 +56,6 @@ extern "C" { void do_pgr_boyerMyrvold( pgr_edge_t *data_edges, size_t total_tuples, - bool directed, pgr_edge_t **return_tuples, size_t *return_count, char ** log_msg, diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index 31484344ddd..0c08766254d 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -36,76 +36,106 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "cpp_common/pgr_base_graph.hpp" +#include "c_types/pgr_edge_t.h" //****************************************** -namespace pgrouting { -namespace functions { - -template -class Pgr_breadthFirstSearch { +template < class G > +class Pgr_stoerWagner { public: - typedef typename G::V V; - typedef typename G::E E; - typedef typename G::B_G B_G; - - - std::vector breadthFirstSearch( - G &graph, - std::vector start_vertex, - int64_t depth) { - std::vector results; - using bfs_visitor = visitors::Edges_order_bfs_visitor; - - for (auto source : start_vertex) { - std::vector visited_order; - - if (graph.has_vertex(source)) { - results.push_back({source, 0, source, -1, 0.0, 0.0}); - boost::breadth_first_search(graph.graph, - graph.get_V(source), - visitor(bfs_visitor(visited_order))); + typedef typename G::V V; + typedef typename G::E E; + typedef typename G::E_i E_i; - auto single_source_results = get_results(visited_order, source, depth, graph); - results.insert(results.end(), single_source_results.begin(), single_source_results.end()); - } - } - return results; - } + std::vector boyerMyrvold( + G &graph); private: - template - std::vector get_results( - T order, - int64_t source, - int64_t max_depth, - const G &graph) { - std::vector results; - - std::vector agg_cost(graph.num_vertices(), 0); - std::vector depth(graph.num_vertices(), 0); - - for (const auto edge : order) { - auto u = graph.source(edge); - auto v = graph.target(edge); - - agg_cost[v] = agg_cost[u] + graph[edge].cost; - depth[v] = depth[u] + 1; - - if (max_depth >= depth[v]) { - results.push_back({ - source, - depth[v], - graph[v].id, - graph[edge].id, - graph[edge].cost, - agg_cost[v] - }); - } - } - return results; - } + std::vector< pgr_edges_t > + generateboyerMyrvold( + const G &graph ) { + std::vector< pgr_edges_t > results; }; -} // namespace functions -} // namespace pgrouting -#endif // INCLUDE_BREADTHFIRSTSEARCH_PGR_BREADTHFIRSTSEARCH_HPP_ +template < class G > +std::vector +Pgr_stoerWagner< G >::boyerMyrvold( + G &graph) { + pgassert(num_vertices(graph.graph) > 1); + return generateboyerMyrvold( + graph); +} + + + + +// namespace pgrouting { +// namespace functions { +// +// template +// class Pgr_breadthFirstSearch { +// public: +// typedef typename G::V V; +// typedef typename G::E E; +// typedef typename G::B_G B_G; +// +// +// std::vector breadthFirstSearch( +// G &graph, +// std::vector start_vertex, +// int64_t depth) { +// std::vector results; +// using bfs_visitor = visitors::Edges_order_bfs_visitor; +// +// for (auto source : start_vertex) { +// std::vector visited_order; +// +// if (graph.has_vertex(source)) { +// results.push_back({source, 0, source, -1, 0.0, 0.0}); +// boost::breadth_first_search(graph.graph, +// graph.get_V(source), +// visitor(bfs_visitor(visited_order))); +// +// auto single_source_results = get_results(visited_order, source, depth, graph); +// results.insert(results.end(), single_source_results.begin(), single_source_results.end()); +// } +// } +// return results; +// } +// +// private: +// template +// std::vector get_results( +// T order, +// int64_t source, +// int64_t max_depth, +// const G &graph) { +// std::vector results; +// +// std::vector agg_cost(graph.num_vertices(), 0); +// std::vector depth(graph.num_vertices(), 0); +// +// for (const auto edge : order) { +// auto u = graph.source(edge); +// auto v = graph.target(edge); +// +// agg_cost[v] = agg_cost[u] + graph[edge].cost; +// depth[v] = depth[u] + 1; +// +// if (max_depth >= depth[v]) { +// results.push_back({ +// source, +// depth[v], +// graph[v].id, +// graph[edge].id, +// graph[edge].cost, +// agg_cost[v] +// }); +// } +// } +// return results; +// } +// }; +// } // namespace functions +// } // namespace pgrouting +// +// #endif // INCLUDE_BREADTHFIRSTSEARCH_PGR_BREADTHFIRSTSEARCH_HPP_ diff --git a/sql/planarGraph/_boyerMyrvold.sql b/sql/planarGraph/_boyerMyrvold.sql index 881b368933b..7edb0256d20 100644 --- a/sql/planarGraph/_boyerMyrvold.sql +++ b/sql/planarGraph/_boyerMyrvold.sql @@ -32,10 +32,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( TEXT, -- edges_sql (required) - - directed BOOLEAN DEFAULT false, - - -- OUT planar BIGINT, + OUT id BIGINT, OUT source BIGINT, OUT target BIGINT, @@ -49,5 +46,5 @@ LANGUAGE c IMMUTABLE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_boyerMyrvold(TEXT,BOOLEAN) +COMMENT ON FUNCTION _pgr_boyerMyrvold(TEXT) IS 'pgRouting internal function'; diff --git a/sql/planarGraph/boyerMyrvold.sql b/sql/planarGraph/boyerMyrvold.sql index 3db0ff75b57..df60334bc23 100644 --- a/sql/planarGraph/boyerMyrvold.sql +++ b/sql/planarGraph/boyerMyrvold.sql @@ -34,10 +34,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --ONE TO DEPTH CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( TEXT, -- edges_sql (required) - - directed BOOLEAN DEFAULT false, - - -- OUT planar BIGINT, OUT id BIGINT, OUT source BIGINT, OUT target BIGINT, @@ -47,13 +43,13 @@ CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( RETURNS SETOF RECORD AS $BODY$ SELECT * - FROM _pgr_boyerMyrvold(_pgr_get_statement($1),directed) AS a; + FROM _pgr_boyerMyrvold(_pgr_get_statement($1)) AS a; $BODY$ -LANGUAGE sql VOLATILE STRICT; +LANGUAGE SQL VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT,BOOLEAN) +COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT) IS 'pgr_boyerMyrvold(One to Depth) - EXPERIMENTAL - Parameters: diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index a8d41236d42..817ac128ba5 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -51,8 +51,8 @@ pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) _pgr_boost_version() -_pgr_boyermyrvold(text,boolean) -pgr_boyermyrvold(text,boolean) +_pgr_boyermyrvold(text) +pgr_boyermyrvold(text) pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c index 2206f3822f1..2cf4a6d28fb 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planarGraph/boyerMyrvold.c @@ -47,7 +47,6 @@ PG_FUNCTION_INFO_V1(_pgr_boyermyrvold); static void process( char *edges_sql, - bool directed, pgr_edge_t **result_tuples, size_t *result_count) { @@ -81,7 +80,6 @@ process( do_pgr_boyerMyrvold( edges, total_edges, - directed, result_tuples, result_count, @@ -140,10 +138,10 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { PGR_DBG("Calling process"); process( - text_to_cstring(PG_GETARG_TEXT_P(1)), + text_to_cstring(PG_GETARG_TEXT_P(0)), // PG_GETARG_ARRAYTYPE_P(1), // PG_GETARG_INT64(3), - PG_GETARG_BOOL(1), + // PG_GETARG_BOOL(1), &result_tuples, &result_count); @@ -178,7 +176,7 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { /**********************************************************************/ /* - OUT planar BIGINT + OUT id BIGINT, OUT source BIGINT, OUT target_vid BIGINT, diff --git a/src/planarGraph/boyerMyrvold_driver.cpp b/src/planarGraph/boyerMyrvold_driver.cpp index 13790b3fe20..efa03a96a3a 100644 --- a/src/planarGraph/boyerMyrvold_driver.cpp +++ b/src/planarGraph/boyerMyrvold_driver.cpp @@ -27,7 +27,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "drivers/breadthFirstSearch/breadthFirstSearch_driver.h" +// #include "drivers/breadthFirstSearch/breadthFirstSearch_driver.h" #include "drivers/planarGraph/boyerMyrvold_driver.h" #include @@ -36,14 +36,16 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" +#include "c_types/pgr_edge_t.h" -#include "breadthFirstSearch/pgr_breadthFirstSearch.hpp" +#include "cpp_common/pgr_base_graph.hpp" +// #include "breadthFirstSearch/pgr_breadthFirstSearch.hpp" void do_pgr_boyerMyrvold( pgr_edge_t *data_edges, size_t total_edges, - bool directed, + // bool directed, pgr_edge_t **return_tuples, size_t *return_count, @@ -61,7 +63,7 @@ do_pgr_boyerMyrvold( pgassert(*return_count == 0); pgassert(total_edges != 0); - graphType gType = directed? DIRECTED: UNDIRECTED; + // graphType gType = directed? DIRECTED: UNDIRECTED; // log << "Inserting vertices into a c++ vector structure"; // std::vector @@ -69,16 +71,16 @@ do_pgr_boyerMyrvold( std::vector results; std::string logstr; - if (directed) { - log << "Working with directed Graph\n"; - pgrouting::DirectedGraph digraph(gType); - digraph.insert_edges(data_edges, total_edges); - - } else { - log << "Working with Undirected Graph\n"; - pgrouting::UndirectedGraph undigraph(gType); - undigraph.insert_edges(data_edges, total_edges); - } + // if (directed) { + // log << "Working with directed Graph\n"; + // pgrouting::DirectedGraph digraph(gType); + // digraph.insert_edges(data_edges, total_edges); + // + // } else { + // log << "Working with Undirected Graph\n"; + // pgrouting::UndirectedGraph undigraph(gType); + // undigraph.insert_edges(data_edges, total_edges); + // } auto count = results.size(); From 16c183a4bd9181ac658b76ebc585446a70a037f2 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 9 Jun 2020 14:29:15 +0530 Subject: [PATCH 0361/1360] [planarGraph] Added support for Undirected Graph --- include/planarGraph/pgr_boyerMyrvold.hpp | 16 ++++++++-------- src/planarGraph/boyerMyrvold_driver.cpp | 21 +++++++++++++++++---- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index 0c08766254d..6e87bfcd390 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: pgr_breadthFirstSearch.hpp +File: pgr_boyerMyrvold.hpp Copyright (c) 2019 pgRouting developers Mail: project@pgrouting.org @@ -40,25 +40,25 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. //****************************************** template < class G > -class Pgr_stoerWagner { +class Pgr_boyerMyrvold { public: typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; - std::vector boyerMyrvold( + std::vector boyerMyrvold( G &graph); private: - std::vector< pgr_edges_t > + std::vector< pgr_edge_t > generateboyerMyrvold( const G &graph ) { - std::vector< pgr_edges_t > results; + std::vector< pgr_edge_t > results; }; template < class G > -std::vector -Pgr_stoerWagner< G >::boyerMyrvold( +std::vector +Pgr_boyerMyrvold< G >::boyerMyrvold( G &graph) { pgassert(num_vertices(graph.graph) > 1); return generateboyerMyrvold( @@ -66,7 +66,7 @@ Pgr_stoerWagner< G >::boyerMyrvold( } - +#endif INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ // namespace pgrouting { // namespace functions { diff --git a/src/planarGraph/boyerMyrvold_driver.cpp b/src/planarGraph/boyerMyrvold_driver.cpp index efa03a96a3a..ad71b8b63a8 100644 --- a/src/planarGraph/boyerMyrvold_driver.cpp +++ b/src/planarGraph/boyerMyrvold_driver.cpp @@ -2,7 +2,7 @@ File: boyerMyrvold_driver.cpp Generated with Template by: -Copyright (c) 2019 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: @@ -39,13 +39,20 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pgr_edge_t.h" #include "cpp_common/pgr_base_graph.hpp" -// #include "breadthFirstSearch/pgr_breadthFirstSearch.hpp" + +// template < class G > +// static +// std::vector +// pgr_boyerMyrvold( +// G &graph) { +// pgr_boyerMyrvold< G > fn_boyerMyrvold; +// return fn_boyerMyrvold.boyerMyrvold(graph); +// } void do_pgr_boyerMyrvold( pgr_edge_t *data_edges, size_t total_edges, - // bool directed, pgr_edge_t **return_tuples, size_t *return_count, @@ -63,6 +70,12 @@ do_pgr_boyerMyrvold( pgassert(*return_count == 0); pgassert(total_edges != 0); + graphType gType = UNDIRECTED; + log << "Working with Undirected Graph\n"; + pgrouting::UndirectedGraph undigraph(gType); + undigraph.insert_edges(data_edges, total_edges); + + // graphType gType = directed? DIRECTED: UNDIRECTED; // log << "Inserting vertices into a c++ vector structure"; @@ -88,7 +101,7 @@ do_pgr_boyerMyrvold( (*return_tuples) = NULL; (*return_count) = 0; notice << - "No traversal found"; + "No Vertices"; *log_msg = pgr_msg(notice.str().c_str()); return; } From fd1db9cc6e6cfa8f6f299933165a690877587a32 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 9 Jun 2020 16:35:47 +0530 Subject: [PATCH 0362/1360] [planarGraph] Modified .hpp file to return results --- include/planarGraph/pgr_boyerMyrvold.hpp | 101 +++++++---------------- 1 file changed, 28 insertions(+), 73 deletions(-) diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index 6e87bfcd390..bf7c56e3fcd 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -54,88 +54,43 @@ class Pgr_boyerMyrvold { generateboyerMyrvold( const G &graph ) { std::vector< pgr_edge_t > results; + + if(boost::boyer_myrvold_planarity_test(graph.graph)){ + + E_i ei, ei_end; + for (tie(ei, ei_end) = edges(graph); ei != ei_end; ++ei){ + pgr_edge_t tmp; + tmp.id = graph[*ei].id; + tmp.source = graph[index[source(*ei,graph)]]; + tmp.target = graph[index[target(*ei,graph)]]; + tmp.cost = graph[*ei].cost; + tmp.reverse_cost = graph[*ei].reverse_cost; + results.push_back(tmp); + } + // std::cout << "(" << index[source(*ei, g)] + // << "," << index[target(*ei, g)] << ") "; + // std::cout << std::endl; + + + // typename std::vector< V >::reverse_iterator ii; + // for (ii = c.rbegin(); ii != c.rend(); ++ii) { + // auto t = *ii; + // pgr_edge_t tmp; + // tmp.sorted_v = graph.graph[t].id; + // results.push_back(tmp); + // } + + return results; }; template < class G > std::vector Pgr_boyerMyrvold< G >::boyerMyrvold( G &graph) { - pgassert(num_vertices(graph.graph) > 1); + pgassert(num_vertices(graph.graph) >= 1); return generateboyerMyrvold( graph); } #endif INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ - -// namespace pgrouting { -// namespace functions { -// -// template -// class Pgr_breadthFirstSearch { -// public: -// typedef typename G::V V; -// typedef typename G::E E; -// typedef typename G::B_G B_G; -// -// -// std::vector breadthFirstSearch( -// G &graph, -// std::vector start_vertex, -// int64_t depth) { -// std::vector results; -// using bfs_visitor = visitors::Edges_order_bfs_visitor; -// -// for (auto source : start_vertex) { -// std::vector visited_order; -// -// if (graph.has_vertex(source)) { -// results.push_back({source, 0, source, -1, 0.0, 0.0}); -// boost::breadth_first_search(graph.graph, -// graph.get_V(source), -// visitor(bfs_visitor(visited_order))); -// -// auto single_source_results = get_results(visited_order, source, depth, graph); -// results.insert(results.end(), single_source_results.begin(), single_source_results.end()); -// } -// } -// return results; -// } -// -// private: -// template -// std::vector get_results( -// T order, -// int64_t source, -// int64_t max_depth, -// const G &graph) { -// std::vector results; -// -// std::vector agg_cost(graph.num_vertices(), 0); -// std::vector depth(graph.num_vertices(), 0); -// -// for (const auto edge : order) { -// auto u = graph.source(edge); -// auto v = graph.target(edge); -// -// agg_cost[v] = agg_cost[u] + graph[edge].cost; -// depth[v] = depth[u] + 1; -// -// if (max_depth >= depth[v]) { -// results.push_back({ -// source, -// depth[v], -// graph[v].id, -// graph[edge].id, -// graph[edge].cost, -// agg_cost[v] -// }); -// } -// } -// return results; -// } -// }; -// } // namespace functions -// } // namespace pgrouting -// -// #endif // INCLUDE_BREADTHFIRSTSEARCH_PGR_BREADTHFIRSTSEARCH_HPP_ From c04e491c41f0b7e183839a2720325d370b0a074a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 9 Jun 2020 21:36:58 +0530 Subject: [PATCH 0363/1360] [planarGraph] Boost Function added --- include/planarGraph/pgr_boyerMyrvold.hpp | 42 ++++++++---------------- src/planarGraph/boyerMyrvold.c | 8 +---- src/planarGraph/boyerMyrvold_driver.cpp | 42 +++++++++--------------- 3 files changed, 30 insertions(+), 62 deletions(-) diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index bf7c56e3fcd..dabc159b448 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -39,6 +39,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pgr_edge_t.h" //****************************************** +namespace pgrouting { +namespace functions { + template < class G > class Pgr_boyerMyrvold { public: @@ -47,7 +50,10 @@ class Pgr_boyerMyrvold { typedef typename G::E_i E_i; std::vector boyerMyrvold( - G &graph); + G &graph){ + return generateboyerMyrvold( + graph); + } private: std::vector< pgr_edge_t > @@ -58,39 +64,19 @@ class Pgr_boyerMyrvold { if(boost::boyer_myrvold_planarity_test(graph.graph)){ E_i ei, ei_end; - for (tie(ei, ei_end) = edges(graph); ei != ei_end; ++ei){ + for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ pgr_edge_t tmp; tmp.id = graph[*ei].id; - tmp.source = graph[index[source(*ei,graph)]]; - tmp.target = graph[index[target(*ei,graph)]]; + tmp.source = graph.source(*ei); + tmp.target = graph.target(*ei); tmp.cost = graph[*ei].cost; - tmp.reverse_cost = graph[*ei].reverse_cost; + tmp.reverse_cost = graph[*ei].cost; results.push_back(tmp); } - // std::cout << "(" << index[source(*ei, g)] - // << "," << index[target(*ei, g)] << ") "; - // std::cout << std::endl; - - - // typename std::vector< V >::reverse_iterator ii; - // for (ii = c.rbegin(); ii != c.rend(); ++ii) { - // auto t = *ii; - // pgr_edge_t tmp; - // tmp.sorted_v = graph.graph[t].id; - // results.push_back(tmp); - // } - + } return results; }; - -template < class G > -std::vector -Pgr_boyerMyrvold< G >::boyerMyrvold( - G &graph) { - pgassert(num_vertices(graph.graph) >= 1); - return generateboyerMyrvold( - graph); +} } - -#endif INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ +#endif //INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c index 2cf4a6d28fb..94c2fb3dd3d 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planarGraph/boyerMyrvold.c @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: breadthFirstSearch.c +File: boyerMyrvold.c Generated with Template by: Copyright (c) 2019 pgRouting developers @@ -39,7 +39,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -// #include "drivers/breadthFirstSearch/breadthFirstSearch_driver.h" #include "drivers/planarGraph/boyerMyrvold_driver.h" PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_boyermyrvold); @@ -66,8 +65,6 @@ process( PGR_DBG("Total %ld edges in query:", total_edges); if (total_edges == 0) { - // if (start_vidsArr) - // pfree(start_vidsArr); pgr_SPI_finish(); return; } @@ -107,8 +104,6 @@ process( if (err_msg) pfree(err_msg); - // if (start_vidsArr) - // pfree(start_vidsArr); pgr_SPI_finish(); } @@ -194,7 +189,6 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { } values[0] = Int32GetDatum(funcctx->call_cntr + 1); - // values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].planar); values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].id); values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].source); values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].target); diff --git a/src/planarGraph/boyerMyrvold_driver.cpp b/src/planarGraph/boyerMyrvold_driver.cpp index ad71b8b63a8..f52bde48b44 100644 --- a/src/planarGraph/boyerMyrvold_driver.cpp +++ b/src/planarGraph/boyerMyrvold_driver.cpp @@ -38,16 +38,19 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_assert.h" #include "c_types/pgr_edge_t.h" +#include "planarGraph/pgr_boyerMyrvold.hpp" #include "cpp_common/pgr_base_graph.hpp" -// template < class G > -// static -// std::vector -// pgr_boyerMyrvold( -// G &graph) { -// pgr_boyerMyrvold< G > fn_boyerMyrvold; -// return fn_boyerMyrvold.boyerMyrvold(graph); -// } + +template < class G > +std::vector +pgr_boyerMyrvold( + G &graph) { + pgrouting::functions::Pgr_boyerMyrvold< G > fn_boyerMyrvold; + auto results = fn_boyerMyrvold.boyerMyrvold( + graph); + return results; +} void do_pgr_boyerMyrvold( @@ -70,31 +73,16 @@ do_pgr_boyerMyrvold( pgassert(*return_count == 0); pgassert(total_edges != 0); + std::vector results; + std::string logstr; + graphType gType = UNDIRECTED; log << "Working with Undirected Graph\n"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); + results = pgr_boyerMyrvold(undigraph); - // graphType gType = directed? DIRECTED: UNDIRECTED; - - // log << "Inserting vertices into a c++ vector structure"; - // std::vector - // start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); - - std::vector results; - std::string logstr; - // if (directed) { - // log << "Working with directed Graph\n"; - // pgrouting::DirectedGraph digraph(gType); - // digraph.insert_edges(data_edges, total_edges); - // - // } else { - // log << "Working with Undirected Graph\n"; - // pgrouting::UndirectedGraph undigraph(gType); - // undigraph.insert_edges(data_edges, total_edges); - // } - auto count = results.size(); if (count == 0) { From 709d925523637ff2ccd3014caa540959cb0af168 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 10 Jun 2020 12:21:58 +0530 Subject: [PATCH 0364/1360] [planarGraph]SQL query working now --- include/planarGraph/pgr_boyerMyrvold.hpp | 3 ++- src/planarGraph/boyerMyrvold_driver.cpp | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index dabc159b448..9dcd965dfa5 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -1,7 +1,7 @@ /*PGR-GNU***************************************************************** File: pgr_boyerMyrvold.hpp -Copyright (c) 2019 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Copyright (c) 2020 Himanshu Raj @@ -75,6 +75,7 @@ class Pgr_boyerMyrvold { } } return results; + } }; } } diff --git a/src/planarGraph/boyerMyrvold_driver.cpp b/src/planarGraph/boyerMyrvold_driver.cpp index f52bde48b44..7754cbc0d61 100644 --- a/src/planarGraph/boyerMyrvold_driver.cpp +++ b/src/planarGraph/boyerMyrvold_driver.cpp @@ -27,7 +27,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -// #include "drivers/breadthFirstSearch/breadthFirstSearch_driver.h" #include "drivers/planarGraph/boyerMyrvold_driver.h" #include From 63375b5559400b190188b9b3509bfa58c33ba1fc Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 11 Jun 2020 17:22:36 +0530 Subject: [PATCH 0365/1360] [planarGraph] Modified .hpp file for source and target --- include/planarGraph/pgr_boyerMyrvold.hpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index 9dcd965dfa5..992834ebf42 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -38,7 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_edge_t.h" //****************************************** - +using namespace boost; namespace pgrouting { namespace functions { @@ -48,7 +48,6 @@ class Pgr_boyerMyrvold { typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; - std::vector boyerMyrvold( G &graph){ return generateboyerMyrvold( @@ -61,16 +60,19 @@ class Pgr_boyerMyrvold { const G &graph ) { std::vector< pgr_edge_t > results; - if(boost::boyer_myrvold_planarity_test(graph.graph)){ - + auto check = boyer_myrvold_planarity_test(graph.graph); + if(check){ E_i ei, ei_end; for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ pgr_edge_t tmp; - tmp.id = graph[*ei].id; - tmp.source = graph.source(*ei); - tmp.target = graph.target(*ei); - tmp.cost = graph[*ei].cost; - tmp.reverse_cost = graph[*ei].cost; + + tmp.id = graph.graph[*ei].id; + tmp.source = graph[graph.source(*ei)].id; + tmp.target = graph[graph.target(*ei)].id; + // tmp.source = source(*ei,graph.graph); + // tmp.target = target(*ei,graph.graph); + tmp.cost = graph.graph[*ei].cost; + tmp.reverse_cost = graph.graph[*ei].cost; results.push_back(tmp); } } From 90c26c89c1d63df237134a59882e2e9ef965c54b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 15 Jun 2020 13:33:27 +0530 Subject: [PATCH 0366/1360] [planarGraph] Modified the pgr_boyer_t.h to fix the bug --- include/c_types/pgr_boyer_t.h | 44 +++++++++++++++++ .../drivers/planarGraph/boyerMyrvold_driver.h | 3 +- include/planarGraph/pgr_boyerMyrvold.hpp | 47 +++++++++++++------ sql/planarGraph/_boyerMyrvold.sql | 2 +- src/planarGraph/boyerMyrvold.c | 18 +++---- src/planarGraph/boyerMyrvold_driver.cpp | 8 ++-- 6 files changed, 93 insertions(+), 29 deletions(-) create mode 100644 include/c_types/pgr_boyer_t.h diff --git a/include/c_types/pgr_boyer_t.h b/include/c_types/pgr_boyer_t.h new file mode 100644 index 00000000000..6c715e7591e --- /dev/null +++ b/include/c_types/pgr_boyer_t.h @@ -0,0 +1,44 @@ +/*PGR-GNU***************************************************************** +File: pgr_edge_t.h + +Copyright (c) 2017 Celia Virginia Vergara Castillo +Mail: vicky_vergara@hotmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +/*! @file */ + +#ifndef INCLUDE_C_TYPES_PGR_BOYER_T_H_ +#define INCLUDE_C_TYPES_PGR_BOYER_T_H_ +#pragma once + +/* for int64_t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +typedef struct { + int64_t source; + int64_t target; + double cost; + double reverse_cost; +} pgr_boyer_t; + +#endif // INCLUDE_C_TYPES_PGR_EDGE_T_H_ diff --git a/include/drivers/planarGraph/boyerMyrvold_driver.h b/include/drivers/planarGraph/boyerMyrvold_driver.h index fe12cfb0dde..2a4ef6e4bca 100644 --- a/include/drivers/planarGraph/boyerMyrvold_driver.h +++ b/include/drivers/planarGraph/boyerMyrvold_driver.h @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" +#include "c_types/pgr_boyer_t.h" #include "c_types/pgr_mst_rt.h" #ifdef __cplusplus @@ -56,7 +57,7 @@ extern "C" { void do_pgr_boyerMyrvold( pgr_edge_t *data_edges, size_t total_tuples, - pgr_edge_t **return_tuples, + pgr_boyer_t **return_tuples, size_t *return_count, char ** log_msg, char ** notice_msg, diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index 992834ebf42..7002f373645 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -36,7 +36,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "cpp_common/pgr_base_graph.hpp" -#include "c_types/pgr_edge_t.h" +#include "c_types/pgr_boyer_t.h" //****************************************** using namespace boost; namespace pgrouting { @@ -48,33 +48,52 @@ class Pgr_boyerMyrvold { typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; - std::vector boyerMyrvold( + std::vector boyerMyrvold( G &graph){ return generateboyerMyrvold( graph); } private: - std::vector< pgr_edge_t > + std::vector< pgr_boyer_t > generateboyerMyrvold( const G &graph ) { - std::vector< pgr_edge_t > results; - + std::vector< pgr_boyer_t > results(num_edges(graph.graph)); + // results[0].id = 0; + // results[0].source = 1; + // results[0].target = 2; + // results[0].cost = 3; + // results[0].reverse_cost = 4; auto check = boyer_myrvold_planarity_test(graph.graph); if(check){ + // pgr_boyer_t him; E_i ei, ei_end; - for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ - pgr_edge_t tmp; - - tmp.id = graph.graph[*ei].id; - tmp.source = graph[graph.source(*ei)].id; - tmp.target = graph[graph.target(*ei)].id; + int i; + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ + int64_t id = graph[*ei].id; + int64_t source = graph[graph.source(*ei)].id; + int64_t target = graph[graph.target(*ei)].id; + double cost = graph[*ei].cost; + // double reverse_cost = graph[*ei].reverse_cost; + // results[i].id = id; + results[i].source = source; + results[i].target = target; + results[i].cost = cost; + results[i].reverse_cost = cost; + // him.id = id; + // tmp.id = graph.graph[*ei].id; + // him.source = source; + // him.target = target; + // tmp.target = graph[graph.target(*ei)].id; // tmp.source = source(*ei,graph.graph); // tmp.target = target(*ei,graph.graph); - tmp.cost = graph.graph[*ei].cost; - tmp.reverse_cost = graph.graph[*ei].cost; - results.push_back(tmp); + // him.cost = cost; + // tmp.id = 1; + // tmp.cost = graph.graph[*ei].cost; + // tmp.reverse_cost = graph.graph[*ei].cost; + // results.push_back(him); } + } return results; } diff --git a/sql/planarGraph/_boyerMyrvold.sql b/sql/planarGraph/_boyerMyrvold.sql index 7edb0256d20..1845528b144 100644 --- a/sql/planarGraph/_boyerMyrvold.sql +++ b/sql/planarGraph/_boyerMyrvold.sql @@ -32,7 +32,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( TEXT, -- edges_sql (required) - + OUT id BIGINT, OUT source BIGINT, OUT target BIGINT, diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c index 94c2fb3dd3d..60965fe56b7 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planarGraph/boyerMyrvold.c @@ -47,7 +47,7 @@ static void process( char *edges_sql, - pgr_edge_t **result_tuples, + pgr_boyer_t **result_tuples, size_t *result_count) { pgr_SPI_connect(); @@ -112,7 +112,7 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { TupleDesc tuple_desc; /**************************************************************************/ - pgr_edge_t *result_tuples = NULL; + pgr_boyer_t *result_tuples = NULL; size_t result_count = 0; /**************************************************************************/ @@ -161,7 +161,7 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_edge_t *)funcctx->user_fctx; + result_tuples = (pgr_boyer_t *)funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { HeapTuple tuple; @@ -179,7 +179,7 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { OUT reverse_cost FLOAT */ /**********************************************************************/ - size_t numb = 6; + size_t numb = 5; values = palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); @@ -189,11 +189,11 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { } values[0] = Int32GetDatum(funcctx->call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].id); - values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].source); - values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].target); - values[4] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); - values[5] = Float8GetDatum(result_tuples[funcctx->call_cntr].reverse_cost); + // values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].id); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].source); + values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].target); + values[3] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); + values[4] = Float8GetDatum(result_tuples[funcctx->call_cntr].reverse_cost); /**********************************************************************/ diff --git a/src/planarGraph/boyerMyrvold_driver.cpp b/src/planarGraph/boyerMyrvold_driver.cpp index 7754cbc0d61..423a70cfc7c 100644 --- a/src/planarGraph/boyerMyrvold_driver.cpp +++ b/src/planarGraph/boyerMyrvold_driver.cpp @@ -35,14 +35,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" -#include "c_types/pgr_edge_t.h" +#include "c_types/pgr_boyer_t.h" #include "planarGraph/pgr_boyerMyrvold.hpp" #include "cpp_common/pgr_base_graph.hpp" template < class G > -std::vector +std::vector pgr_boyerMyrvold( G &graph) { pgrouting::functions::Pgr_boyerMyrvold< G > fn_boyerMyrvold; @@ -56,7 +56,7 @@ do_pgr_boyerMyrvold( pgr_edge_t *data_edges, size_t total_edges, - pgr_edge_t **return_tuples, + pgr_boyer_t **return_tuples, size_t *return_count, char ** log_msg, char ** notice_msg, @@ -72,7 +72,7 @@ do_pgr_boyerMyrvold( pgassert(*return_count == 0); pgassert(total_edges != 0); - std::vector results; + std::vector results; std::string logstr; graphType gType = UNDIRECTED; From 6e6e511247e9d768475421351a054afe20b92a80 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 15 Jun 2020 20:37:12 +0530 Subject: [PATCH 0367/1360] [planarGraph] Removed redundant code and bugfix --- include/planarGraph/pgr_boyerMyrvold.hpp | 22 ---------------------- sql/planarGraph/_boyerMyrvold.sql | 5 ++--- sql/planarGraph/boyerMyrvold.sql | 5 ++--- src/planarGraph/boyerMyrvold.c | 2 -- 4 files changed, 4 insertions(+), 30 deletions(-) diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index 7002f373645..65b28933997 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -59,39 +59,17 @@ class Pgr_boyerMyrvold { generateboyerMyrvold( const G &graph ) { std::vector< pgr_boyer_t > results(num_edges(graph.graph)); - // results[0].id = 0; - // results[0].source = 1; - // results[0].target = 2; - // results[0].cost = 3; - // results[0].reverse_cost = 4; auto check = boyer_myrvold_planarity_test(graph.graph); if(check){ - // pgr_boyer_t him; E_i ei, ei_end; int i; for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ - int64_t id = graph[*ei].id; int64_t source = graph[graph.source(*ei)].id; int64_t target = graph[graph.target(*ei)].id; double cost = graph[*ei].cost; - // double reverse_cost = graph[*ei].reverse_cost; - // results[i].id = id; results[i].source = source; results[i].target = target; results[i].cost = cost; - results[i].reverse_cost = cost; - // him.id = id; - // tmp.id = graph.graph[*ei].id; - // him.source = source; - // him.target = target; - // tmp.target = graph[graph.target(*ei)].id; - // tmp.source = source(*ei,graph.graph); - // tmp.target = target(*ei,graph.graph); - // him.cost = cost; - // tmp.id = 1; - // tmp.cost = graph.graph[*ei].cost; - // tmp.reverse_cost = graph.graph[*ei].cost; - // results.push_back(him); } } diff --git a/sql/planarGraph/_boyerMyrvold.sql b/sql/planarGraph/_boyerMyrvold.sql index 1845528b144..60d0ac43a8f 100644 --- a/sql/planarGraph/_boyerMyrvold.sql +++ b/sql/planarGraph/_boyerMyrvold.sql @@ -33,11 +33,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( TEXT, -- edges_sql (required) - OUT id BIGINT, + OUT seq BIGINT, OUT source BIGINT, OUT target BIGINT, - OUT cost FLOAT, - OUT reverse_cost FLOAT) + OUT cost FLOAT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' diff --git a/sql/planarGraph/boyerMyrvold.sql b/sql/planarGraph/boyerMyrvold.sql index df60334bc23..0399895a831 100644 --- a/sql/planarGraph/boyerMyrvold.sql +++ b/sql/planarGraph/boyerMyrvold.sql @@ -34,11 +34,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --ONE TO DEPTH CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( TEXT, -- edges_sql (required) - OUT id BIGINT, + OUT seq BIGINT, OUT source BIGINT, OUT target BIGINT, - OUT cost FLOAT, - OUT reverse_cost FLOAT) + OUT cost FLOAT) RETURNS SETOF RECORD AS $BODY$ diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c index 60965fe56b7..5086fc46d1c 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planarGraph/boyerMyrvold.c @@ -189,11 +189,9 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { } values[0] = Int32GetDatum(funcctx->call_cntr + 1); - // values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].id); values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].source); values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].target); values[3] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); - values[4] = Float8GetDatum(result_tuples[funcctx->call_cntr].reverse_cost); /**********************************************************************/ From c22e2a11fdfe17f34eb5c94a43b4d9f461f241d5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 16 Jun 2020 17:49:13 +0530 Subject: [PATCH 0368/1360] [planarGraph] Bug Finally Fixed and pgr_boyer_t c_type added --- include/c_types/pgr_boyer_t.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/c_types/pgr_boyer_t.h b/include/c_types/pgr_boyer_t.h index 6c715e7591e..b13f46173a1 100644 --- a/include/c_types/pgr_boyer_t.h +++ b/include/c_types/pgr_boyer_t.h @@ -38,7 +38,6 @@ typedef struct { int64_t source; int64_t target; double cost; - double reverse_cost; } pgr_boyer_t; #endif // INCLUDE_C_TYPES_PGR_EDGE_T_H_ From 9c9054fcd031419fb556954d241070020c0ef795 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 17 Jun 2020 22:43:02 +0530 Subject: [PATCH 0369/1360] [planarGraph] innerQuery pgTap done --- pgtap/planarGraph/boyerMyrvold-innerQuery.sql | 10 ++++++++-- .../{boyerMyrvold.sql => boyerMyrvold-types-check.sql} | 0 2 files changed, 8 insertions(+), 2 deletions(-) rename pgtap/planarGraph/{boyerMyrvold.sql => boyerMyrvold-types-check.sql} (100%) diff --git a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql index 98aedb21240..acac6a174aa 100644 --- a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql +++ b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql @@ -1,8 +1,14 @@ \i setup.sql -SELECT plan(54); +SELECT plan(2); + +SET client_min_messages TO ERROR; + +SELECT has_function('pgr_boyerMyrvold'); +SELECT style_dijkstra('pgr_boyerMyrvold', ')'); + +SELECT function_returns('pgr_boyerMyrvold',ARRAY['text'],'setof record'); -SELECT style_dijkstra('pgr_primDFS', ', 5)'); SELECT finish(); ROLLBACK; diff --git a/pgtap/planarGraph/boyerMyrvold.sql b/pgtap/planarGraph/boyerMyrvold-types-check.sql similarity index 100% rename from pgtap/planarGraph/boyerMyrvold.sql rename to pgtap/planarGraph/boyerMyrvold-types-check.sql From f051fdce4f5858c2141a1903006ca8e63bd76898 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 18 Jun 2020 00:12:26 +0530 Subject: [PATCH 0370/1360] [planarGraph] plan updated in pgTap tests --- pgtap/planarGraph/boyerMyrvold-innerQuery.sql | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql index acac6a174aa..49f429a19c9 100644 --- a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql +++ b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql @@ -1,14 +1,13 @@ \i setup.sql -SELECT plan(2); +SELECT plan(56); SET client_min_messages TO ERROR; SELECT has_function('pgr_boyerMyrvold'); -SELECT style_dijkstra('pgr_boyerMyrvold', ')'); SELECT function_returns('pgr_boyerMyrvold',ARRAY['text'],'setof record'); - +SELECT style_dijkstra('pgr_boyerMyrvold', ')'); SELECT finish(); ROLLBACK; From 7f2b5f4d43c4e6435ea5177c76bdb1afeb263afc Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 18 Jun 2020 09:54:22 +0530 Subject: [PATCH 0371/1360] [planarGraph] Fixed a bug --- pgtap/planarGraph/boyerMyrvold-innerQuery.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql index 49f429a19c9..d62f9468e3f 100644 --- a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql +++ b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql @@ -4,10 +4,10 @@ SELECT plan(56); SET client_min_messages TO ERROR; -SELECT has_function('pgr_boyerMyrvold'); +SELECT has_function('pgr_boyermyrvold'); -SELECT function_returns('pgr_boyerMyrvold',ARRAY['text'],'setof record'); -SELECT style_dijkstra('pgr_boyerMyrvold', ')'); +SELECT function_returns('pgr_boyermyrvold',ARRAY['text'],'setof record'); +SELECT style_dijkstra('pgr_boyermyrvold', ')'); SELECT finish(); ROLLBACK; From e4101ad86705635e01082bacc8a2c049ab65b28b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 18 Jun 2020 20:57:28 +0530 Subject: [PATCH 0372/1360] [planarGraph] No Crash Test Added --- .../no_crash_test-boyerMyrvold.sql | 86 +------- test.sh | 191 ++++++++++++++++++ 2 files changed, 196 insertions(+), 81 deletions(-) create mode 100644 test.sh diff --git a/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql b/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql index 1ad0d9b4d8f..9af5efc6f84 100644 --- a/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql +++ b/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql @@ -1,17 +1,11 @@ \i setup.sql -SELECT plan(86); +SELECT plan(5); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; -PREPARE null_vertex AS -SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); - - -SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); -SELECT is_empty('null_vertex', 'Should be empty to tests be meaningful'); - +SELECT isnt_empty('edges', 'Should not be empty true to tests be meaningful'); CREATE OR REPLACE FUNCTION test_function() RETURNS SETOF TEXT AS @@ -20,82 +14,12 @@ DECLARE params TEXT[]; subs TEXT[]; BEGIN - -- primDFS - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - '5' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::INTEGER'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - -- primDFS with depth - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - '5', - '3' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', - 'NULL::INTEGER' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::BIGINT'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - -- primDFS Multiple vertices - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - 'ARRAY[5,3]' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::BIGINT'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - -- primDFS with depth Multiple vertices - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - 'ARRAY[5,3]', - '3' - ]::TEXT[]; + params = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$']::TEXT[]; subs = ARRAY[ - 'NULL', - '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', - 'NULL::INTEGER' + 'NULL' ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::BIGINT[]'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - + RETURN query SELECT * FROM no_crash_test('pgr_boyerMyrvold', params, subs); END $BODY$ LANGUAGE plpgsql VOLATILE; diff --git a/test.sh b/test.sh new file mode 100644 index 00000000000..e99547ff380 --- /dev/null +++ b/test.sh @@ -0,0 +1,191 @@ +#!/bin/bash + +set -e + + +# copy this file into the root of your repository +# adjust to your needs + +# This run.sh is intended for 3.0.0 +VERSION=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) + +# set up your postgres version and port +PGVERSION="12" +PGPORT="5432" +PGBIN="/usr/lib/postgresql/${PGVERSION}/bin" + +# Compiler setup + +# When more than one compiler is installed +GCC="8" + +# Using the default compiler version +unset GCC + + +ALLDIRS=" +allpairs +alpha_shape +astar +bdAstar +bdDijkstra +bellman_ford +breadthFirstSearch +chinese +common +components +contraction +dagShortestPath +dijkstra +driving_distance +internalQueryTests +ksp +lineGraph +max_flow +mincut +pickDeliver +spanningTree +topologicalSort +topology +transitiveClosure +trsp +tsp +version +vrp_basic +withPoints" + +TESTDIRS=${ALLDIRS} +TESTDIRS="dijkstra" + + +function test_compile { + +echo ------------------------------------ +echo ------------------------------------ +echo "Compiling with G++-$1" +echo ------------------------------------ + +if [ ! -z "$1" ]; then + update-alternatives --set gcc /usr/bin/gcc-$1 +fi + + +cd build/ + +# Using all defaults +#cmake .. + +# Options Release RelWithDebInfo MinSizeRel Debug +#cmake -DCMAKE_BUILD_TYPE=Debug .. + +# Additional debug information +#cmake -DPgRouting_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug .. + +# with documentation (like the one the website) +#cmake -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON .. + +# with developers documentation +#cmake -DWITH_DOC=ON -DBUILD_DOXY=ON .. + +cmake -DPOSTGRESQL_BIN=${PGBIN} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DBUILD_LATEX=ON -DCMAKE_BUILD_TYPE=Debug .. + +make -j 4 +sudo make install +cd .. + + +echo +echo -------------------------------------------- +echo Execute documentation queries for a particular directories +echo -------------------------------------------- + + +# choose what is going to be tested while developing +for d in ${TESTDIRS} +do + #tools/testers/doc_queries_generator.pl -alg ${d} -documentation -pgport ${PGPORT} + tools/testers/doc_queries_generator.pl -alg ${d} -pgport ${PGPORT} + tools/developer/taptest.sh ${d}/* -p ${PGPORT} +done + + + + + + +echo +echo -------------------------------------------- +echo Update signatures +echo -------------------------------------------- + +sh tools/release-scripts/get_signatures.sh -p ${PGPORT} + + +if [[ $(git status | grep 'pgrouting--') ]]; then + echo "**************************************************" + echo " WARNING" + echo "the signatures changed, copyed the generated files" + echo "Plese verify the changes are minimal" + echo "**************************************************" + git diff sql/sigs +fi + + +################################ +################################ +## checks all the repository +# +# the rest of the script use PGPORT variable +################################ +################################ +echo +echo -------------------------------------------- +echo Update / Verify NEWS +echo -------------------------------------------- +tools/release-scripts/notes2news.pl +if [[ $(git status | grep 'NEWS') ]]; then + echo "**************************************************" + echo " WARNING" + echo "the signatures changed, copying generated files" + echo "Plese verify the changes are minimal" + echo "**************************************************" + git diff NEWS +fi + +######################################################## +# Execute documentation queries for the whole project +######################################################## +tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT + +tools/testers/doc_queries_generator.pl -pgport $PGPORT + +cd build +#rm -rf doc/* +make doc +#rm -rf doxygen/* +make doxy +cd .. + +######################################################## +# pgTap test all +######################################################## + +dropdb --if-exists -p $PGPORT ___pgr___test___ +createdb -p $PGPORT ___pgr___test___ +echo $PGPORT +sh ./tools/testers/pg_prove_tests.sh vicky $PGPORT +dropdb -p $PGPORT ___pgr___test___ + +#tools/testers/update-tester.sh + +} + +# Uncomment what you need +for compiler in GCC +do + if [ ! -z "$1" ]; then + echo "Fresh build" + rm -rf build/* + fi + test_compile ${GCC} +done From 2f542db6c9bbbf21a90e1498189ba86c383371e5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 19 Jun 2020 16:06:30 +0530 Subject: [PATCH 0373/1360] [planarGraph] Added 7 edge-cases pgTap Tests --- .gitignore | 3 +- pgtap/planarGraph/boyerMyrvold-edge-cases.sql | 208 ++++-------------- 2 files changed, 43 insertions(+), 168 deletions(-) diff --git a/.gitignore b/.gitignore index a57e7095d6a..fcd893e7561 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,6 @@ src/version/_version.h .vagrant .directory notUsed -*.swp +*.swp run.sh +test.sh diff --git a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql index 11cb1161c85..3821ad17786 100644 --- a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql +++ b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql @@ -1,201 +1,75 @@ \i setup.sql -SELECT plan(10); +SELECT plan(7); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; --- -PREPARE prim1 AS -SELECT * FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18', - 21, 3 -); - -SELECT set_eq('prim1', - $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, - '1: Empty Graph -> Only root vertex is returned'); +-- 0 edge, 0 vertex tests -PREPARE prim2 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost - FROM edge_table WHERE id > 18', - ARRAY[21, 45], - 3 -); +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18; -SELECT set_eq('prim2', - $$VALUES - (1, 0, 21, 21, -1, 0, 0), - (2, 0, 45, 45, -1, 0, 0) - $$, - '2: Empty graph -> Only root vertices are returned'); +-- Graph is empty - it has 0 edge and 0 vertex +SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); +-- 0 edge, 0 vertex tests --- -PREPARE prim3 AS +PREPARE boyerMyrvold2 AS SELECT * -FROM pgr_primDFS( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 21, 3 -); - -SELECT set_eq('prim3', - $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, - '3: Root not in Graph -> Only root vertex is returned'); - --- -PREPARE prim4 AS -SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 -FROM pgr_primDFS( - 'SELECT id, source, target, cost - FROM edge_table', - ARRAY[21, 4], - 3 + FROM edge_table + WHERE id > 18' ); -SELECT set_eq('prim4', - $$VALUES - (1, 4, 0, 4, -1, true), - (2, 4, 1, 9, 16, true), - (3, 4, 2, 6, 9, true), - (4, 4, 3, 3, 5, true), - (5, 4, 3, 5, 8, true), - (6, 4, 3, 11, 11, true), - (7, 21, 0, 21, -1, true) - $$, - '4: Root not in Graph -> Only root vertex is returned, Root in graph -> spanning tree is returned'); - - --- -PREPARE prim5 AS -SELECT seq, start_vid, depth, node, edge, depth <= 3 -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 0, 3 -); - -SELECT set_eq('prim5', - $$VALUES - (1, 1, 0, 1, -1, true), - (2, 1, 1, 2, 1, true), - (3, 1, 2, 3, 2, true), - (4, 1, 3, 4, 3, true), - (5, 1, 3, 6, 5, true), - (6, 1, 2, 5, 4, true), - (7, 1, 3, 8, 7, true), - (8, 1, 3, 10, 10, true), - (9, 14, 0, 14, -1, true), - (10, 14, 1, 15, 17, true), - (11, 16, 0, 16, -1, true), - (12, 16, 1, 17, 18, true) - $$, - '5: root = 0 -> forest (with random root vertices)'); - --- -PREPARE prim6 AS +PREPARE boyerMyrvold3 AS SELECT * -FROM pgr_primDFS( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4, -3 + FROM edge_table + WHERE id > 18' ); - -SELECT throws_ok('prim6', - 'P0001', - 'Negative value found on ''max_depth''', - '6: Negative max_depth throws'); - - - -PREPARE prim7 AS +PREPARE boyerMyrvold AS SELECT * -FROM pgr_primDFS( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - ARRAY[4, 10], -3 + FROM edge_table + WHERE id > 18' ); -SELECT throws_ok('prim7', - 'P0001', - 'Negative value found on ''max_depth''', - '7: Negative max_depth throws'); - --- -PREPARE prim8 AS +PREPARE boyerMyrvold5 AS SELECT * -FROM pgr_primDFS( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4, 0 + FROM edge_table + WHERE id > 18' ); -SELECT set_eq('prim8', - $$VALUES (1, 0, 4, 4, -1, 0, 0) $$, - '8: 0 max_depth -> Only root vertex is returned'); - --- -PREPARE prim9 AS -SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 -FROM pgr_primDFS( +PREPARE boyerMyrvold6 AS +SELECT * +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4 + FROM edge_table + WHERE id > 18' ); -SELECT set_eq('prim9', - $$VALUES - (1, 0, 4, 4, -1, true), - (2, 1, 4, 3, 3, true), - (3, 2, 4, 2, 2, true), - (4, 3, 4, 1, 1, true), - (5, 3, 4, 5, 4, true), - (6, 4, 4, 8, 7, true), - (7, 5, 4, 7, 6, true), - (8, 4, 4, 10, 10, true), - (9, 5, 4, 13, 14, true), - (10, 2, 4, 6, 5, true), - (11, 3, 4, 9, 9, true), - (12, 3, 4, 11, 11, true), - (13, 4, 4, 12, 13, true) - $$, - '9: default max_depth -> complete tree from root'); - --- -PREPARE prim10 AS -SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 -FROM pgr_primDFS( +PREPARE boyerMyrvold7 AS +SELECT * +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 0 + FROM edge_table + WHERE id > 18' ); -SELECT set_eq('prim10', - $$VALUES - (1, 1, 0, 1,-1, true), - (2, 1, 1, 2, 1, true), - (3, 1, 2, 3, 2, true), - (4, 1, 3, 4, 3, true), - (5, 1, 3, 6, 5, true), - (6, 1, 4, 9, 9, true), - (7, 1, 4,11,11, true), - (8, 1, 5,12,13, true), - (9, 1, 2, 5, 4, true), - (10, 1, 3, 8, 7, true), - (11, 1, 4, 7, 6, true), - (12, 1, 3,10,10, true), - (13, 1, 4,13,14, true), - (14, 14, 0,14,-1, true), - (15, 14, 1,15,17, true), - (16, 16, 0,16,-1, true), - (17, 16, 1,17,18, true) - $$, - '10: root = 0 -> forest (with random root vertices)'); +SELECT is_empty('boyerMyrvold2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold3', '3: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold', '4: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold5', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold6', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold7', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT * FROM finish(); ROLLBACK; From 5fcba5a3cf9193e7b857d666cd5a2fd69290da71 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 19 Jun 2020 16:25:15 +0530 Subject: [PATCH 0374/1360] [planarGraph] Added edge-cases for vertex not present --- pgtap/planarGraph/boyerMyrvold-edge-cases.sql | 55 ++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql index 3821ad17786..60eb053d215 100644 --- a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql +++ b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(7); +SELECT plan(13); @@ -71,5 +71,58 @@ SELECT is_empty('boyerMyrvold5', '5: Graph with 0 edge and 0 vertex -> Empty row SELECT is_empty('boyerMyrvold6', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('boyerMyrvold7', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); +-- vertex not present in graph tests + +PREPARE boyerMyrvold8 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id = -10' +); + +PREPARE boyerMyrvold9 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id IN (-10,50)', +); + +PREPARE boyerMyrvold10 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id IN (-10,-20,-30)', +); + +PREPARE boyerMyrvold11 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id IN (-10,33,39)', +); + +PREPARE boyerMyrvold12 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id = 36', +); + +PREPARE boyerMyrvold13 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id IN (36,45,34)', +); + +SELECT is_empty('boyerMyrvold8', '8: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold9', '9: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold10', '10: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold11', '11: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold12', '12: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold13', '13: Vertex not present in graph -> Empty row is returned'); + + + SELECT * FROM finish(); ROLLBACK; From 9384f42618addfdb4a0b72cab697d305424b6f3d Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 19 Jun 2020 20:11:07 +0530 Subject: [PATCH 0375/1360] [planarGraph] Added 1 Vertex Test --- pgtap/planarGraph/boyerMyrvold-edge-cases.sql | 63 +++++++++++++++++-- test.sh | 34 +++++----- 2 files changed, 74 insertions(+), 23 deletions(-) diff --git a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql index 60eb053d215..0caf2049743 100644 --- a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql +++ b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(13); +SELECT plan(18); @@ -84,35 +84,35 @@ PREPARE boyerMyrvold9 AS SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (-10,50)', + FROM edge_table WHERE id IN (-10,50)' ); PREPARE boyerMyrvold10 AS SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (-10,-20,-30)', + FROM edge_table WHERE id IN (-10,-20,-30)' ); PREPARE boyerMyrvold11 AS SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (-10,33,39)', + FROM edge_table WHERE id IN (-10,33,39)' ); PREPARE boyerMyrvold12 AS SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id = 36', + FROM edge_table WHERE id = 36' ); PREPARE boyerMyrvold13 AS SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (36,45,34)', + FROM edge_table WHERE id IN (36,45,34)' ); SELECT is_empty('boyerMyrvold8', '8: Vertex not present in graph -> Empty row is returned'); @@ -123,6 +123,57 @@ SELECT is_empty('boyerMyrvold12', '12: Vertex not present in graph -> Empty row SELECT is_empty('boyerMyrvold13', '13: Vertex not present in graph -> Empty row is returned'); +-- 1 vertex tests + +PREPARE q14 AS +SELECT id, source, 6 AS target, cost, reverse_cost +FROM edge_table +WHERE id = 9; + +-- Graph with only vertex 9 +SELECT set_eq('q14', $$VALUES (9, 6, 6, 1, 1)$$, 'q14: Graph with only vertex 6'); + +-- 1 vertex tests + +PREPARE boyerMyrvold15 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, 6 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 9' +); + +PREPARE boyerMyrvold16 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, 6 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 9' +); + +PREPARE boyerMyrvold17 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, 6 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 9' +); + +PREPARE boyerMyrvold18 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, 6 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 9' +); + +SELECT set_eq('boyerMyrvold15', $$VALUES (1, 6, 6, 1)$$, '15: One row is returned'); +SELECT set_eq('boyerMyrvold16', $$VALUES (1, 6, 6, 1)$$, '16: One row is returned'); +SELECT set_eq('boyerMyrvold17', $$VALUES (1, 6, 6, 1)$$, '17: One row is returned'); +SELECT set_eq('boyerMyrvold18', $$VALUES (1, 6, 6, 1)$$, '18: One row is returned'); + + + SELECT * FROM finish(); ROLLBACK; diff --git a/test.sh b/test.sh index e99547ff380..2cc5f250abc 100644 --- a/test.sh +++ b/test.sh @@ -101,12 +101,12 @@ echo -------------------------------------------- # choose what is going to be tested while developing -for d in ${TESTDIRS} -do - #tools/testers/doc_queries_generator.pl -alg ${d} -documentation -pgport ${PGPORT} - tools/testers/doc_queries_generator.pl -alg ${d} -pgport ${PGPORT} - tools/developer/taptest.sh ${d}/* -p ${PGPORT} -done +# for d in ${TESTDIRS} +# do +# #tools/testers/doc_queries_generator.pl -alg ${d} -documentation -pgport ${PGPORT} +# tools/testers/doc_queries_generator.pl -alg ${d} -pgport ${PGPORT} +# tools/developer/taptest.sh ${d}/* -p ${PGPORT} +# done @@ -155,16 +155,16 @@ fi ######################################################## # Execute documentation queries for the whole project ######################################################## -tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT - -tools/testers/doc_queries_generator.pl -pgport $PGPORT - -cd build -#rm -rf doc/* -make doc -#rm -rf doxygen/* -make doxy -cd .. +# tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT +# +# tools/testers/doc_queries_generator.pl -pgport $PGPORT +# +# cd build +# #rm -rf doc/* +# make doc +# #rm -rf doxygen/* +# make doxy +# cd .. ######################################################## # pgTap test all @@ -173,7 +173,7 @@ cd .. dropdb --if-exists -p $PGPORT ___pgr___test___ createdb -p $PGPORT ___pgr___test___ echo $PGPORT -sh ./tools/testers/pg_prove_tests.sh vicky $PGPORT +sh ./tools/testers/pg_prove_tests.sh himanshu $PGPORT dropdb -p $PGPORT ___pgr___test___ #tools/testers/update-tester.sh From e54864a6d06e1f725848b4fb4c89b22b341307c5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 19 Jun 2020 21:13:05 +0530 Subject: [PATCH 0376/1360] [planarGraph] Added pgTap for 2 Vertices test --- pgtap/planarGraph/boyerMyrvold-edge-cases.sql | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql index 0caf2049743..8416243518a 100644 --- a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql +++ b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql @@ -173,6 +173,63 @@ SELECT set_eq('boyerMyrvold17', $$VALUES (1, 6, 6, 1)$$, '17: One row is returne SELECT set_eq('boyerMyrvold18', $$VALUES (1, 6, 6, 1)$$, '18: One row is returned'); +-- 2 vertices tests + +PREPARE boyerMyrvold19 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 1' +); + +PREPARE boyerMyrvold20 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 4' +); + +PREPARE boyerMyrvold21 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 9' +); + +PREPARE boyerMyrvold22 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 6' +); + +PREPARE boyerMyrvold23 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 7' +); + +PREPARE boyerMyrvold24 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 8' +); + +SELECT set_eq('boyerMyrvold19', $$VALUES (1, 1, 2, 1)$$, '19: Two rows are returned'); +SELECT set_eq('boyerMyrvold20', $$VALUES (1, 2, 5, 1)$$, '20: Two rows are returned'); +SELECT set_eq('boyerMyrvold21', $$VALUES (1, 6, 9, 1)$$, '21: Two rows are returned'); +SELECT set_eq('boyerMyrvold22', $$VALUES (1, 7, 8, 1)$$, '22: Two rows are returned'); +SELECT set_eq('boyerMyrvold23', $$VALUES (1, 8, 5, 1)$$, '23: Two rows are returned'); +SELECT set_eq('boyerMyrvold24', $$VALUES (1, 5, 6, 1)$$, '24: Two rows are returned'); + SELECT * FROM finish(); From c8d99b1687ac23c6f7a71e92be58bde495560f01 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 19 Jun 2020 22:23:30 +0530 Subject: [PATCH 0377/1360] [planarGraph] Added 3 Vertices cyclic graph test --- pgtap/planarGraph/boyerMyrvold-edge-cases.sql | 60 ++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql index 8416243518a..c8560af549f 100644 --- a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql +++ b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(18); +SELECT plan(27); @@ -232,5 +232,63 @@ SELECT set_eq('boyerMyrvold24', $$VALUES (1, 5, 6, 1)$$, '24: Two rows are retur +-- 3 vertices tests + +CREATE TABLE three_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); + +INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES + (3, 6, 20, -1), + (3, 8, 10, -1), + (6, 8, -1, 12); + +PREPARE q25 AS +SELECT id, source, target, cost, reverse_cost +FROM three_vertices_table; + +-- Cyclic Graph with three vertices 3, 6 and 8 +SELECT set_eq('q25', + $$VALUES + (1, 3, 6, 20, -1), + (2, 3, 8, 10, -1), + (3, 6, 8, -1, 12) + $$, + 'q25: Cyclic Graph with three vertices 3, 6 and 8' +); + +-- 3 vertices tests + +PREPARE boyerMyrvold26 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table' +); + +PREPARE boyerMyrvold27 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table WHERE id > 4' +); + +SELECT set_eq('boyerMyrvold26', + $$VALUES + (1, 3, 6, 20), + (2, 3, 8, 10), + (3, 8, 6, 12) + $$, + '26: 3 vertices tests' +); +SELECT is_empty('boyerMyrvold27', + '27: Vertex not present in graph -> Empty row is returned' +); + + SELECT * FROM finish(); ROLLBACK; From cf315c8ad99fbcdc59f1f50c5adc1a0f52e49ab8 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 20 Jun 2020 00:30:47 +0530 Subject: [PATCH 0378/1360] [planarGraph] Added pgTap for 4 Vertices test --- pgtap/planarGraph/boyerMyrvold-edge-cases.sql | 59 ++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql index c8560af549f..9117bdb943a 100644 --- a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql +++ b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(27); +SELECT plan(30); @@ -289,6 +289,63 @@ SELECT is_empty('boyerMyrvold27', '27: Vertex not present in graph -> Empty row is returned' ); +-- 4 vertices tests + +PREPARE q28 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE (id >= 10 AND id <= 12) + OR id = 8; + +-- Graph with vertices 5, 6, 10, 11 +SELECT set_eq('q28', + $$VALUES + (8, 5, 6, 1, 1), + (10, 5, 10, 1, 1), + (11, 6, 11, 1, -1), + (12, 10, 11, 1, -1) + $$, + '28: Graph with vertices 5, 6, 10 and 11' +); + +-- 4 vertices tests + +PREPARE boyerMyrvold29 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 10 AND id <= 12) + OR id = 8' +); + +PREPARE boyerMyrvold30 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 2 AND id <= 4)' +); + +SELECT set_eq('boyerMyrvold29', + $$VALUES + (1, 5, 6, 1), + (2, 5, 10, 1), + (3, 6, 11, 1), + (4, 10, 11, 1) + $$, + '29: 4 vertices tests,4 rows returned' +); + +SELECT set_eq('boyerMyrvold30', + $$VALUES + (1, 3, 2, 1), + (2, 4, 3, 1), + (3, 2, 5, 1), + $$, + '30: 4 vertices tests,3 rows returned' +); + SELECT * FROM finish(); ROLLBACK; From 46a2d31fceb5095d4faa93f153e827589fa2c152 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 20 Jun 2020 12:53:02 +0530 Subject: [PATCH 0379/1360] [planarGraph] Added pgTap tests for edge cases --- pgtap/planarGraph/boyerMyrvold-edge-cases.sql | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql index 9117bdb943a..4c203541bbe 100644 --- a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql +++ b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql @@ -29,15 +29,15 @@ SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id > 18' + WHERE id IN (20,22)' ); -PREPARE boyerMyrvold AS +PREPARE boyerMyrvold4 AS SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id > 18' + WHERE id > 25' ); PREPARE boyerMyrvold5 AS @@ -45,7 +45,7 @@ SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id > 18' + WHERE id IN (40,60,-10)' ); PREPARE boyerMyrvold6 AS @@ -61,12 +61,12 @@ SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id > 18' + WHERE id > 22' ); SELECT is_empty('boyerMyrvold2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('boyerMyrvold3', '3: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold', '4: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold4', '4: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('boyerMyrvold5', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('boyerMyrvold6', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT is_empty('boyerMyrvold7', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); @@ -146,31 +146,31 @@ FROM pgr_boyerMyrvold( PREPARE boyerMyrvold16 AS SELECT * FROM pgr_boyerMyrvold( - 'SELECT id, source, 6 AS target, cost, reverse_cost + 'SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table - WHERE id = 9' + WHERE id = 2' ); PREPARE boyerMyrvold17 AS SELECT * FROM pgr_boyerMyrvold( - 'SELECT id, source, 6 AS target, cost, reverse_cost + 'SELECT id, source, 3 AS target, cost, reverse_cost FROM edge_table - WHERE id = 9' + WHERE id = 3' ); PREPARE boyerMyrvold18 AS SELECT * FROM pgr_boyerMyrvold( - 'SELECT id, source, 6 AS target, cost, reverse_cost + 'SELECT id, source, 7 AS target, cost, reverse_cost FROM edge_table - WHERE id = 9' + WHERE id = 6' ); SELECT set_eq('boyerMyrvold15', $$VALUES (1, 6, 6, 1)$$, '15: One row is returned'); -SELECT set_eq('boyerMyrvold16', $$VALUES (1, 6, 6, 1)$$, '16: One row is returned'); -SELECT set_eq('boyerMyrvold17', $$VALUES (1, 6, 6, 1)$$, '17: One row is returned'); -SELECT set_eq('boyerMyrvold18', $$VALUES (1, 6, 6, 1)$$, '18: One row is returned'); +SELECT set_eq('boyerMyrvold16', $$VALUES (1, 2, 2, 1)$$, '16: One row is returned'); +SELECT set_eq('boyerMyrvold17', $$VALUES (1, 3, 3, 1)$$, '17: One row is returned'); +SELECT set_eq('boyerMyrvold18', $$VALUES (1, 7, 7, 1)$$, '18: One row is returned'); -- 2 vertices tests @@ -341,7 +341,7 @@ SELECT set_eq('boyerMyrvold30', $$VALUES (1, 3, 2, 1), (2, 4, 3, 1), - (3, 2, 5, 1), + (3, 2, 5, 1) $$, '30: 4 vertices tests,3 rows returned' ); From 69992c01b668ae551b59649c25e73416997155d6 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 20 Jun 2020 15:34:15 +0530 Subject: [PATCH 0380/1360] [planarGraph] Completed pgTap Tests for pgr_boyerMyrvold --- .../planarGraph/boyerMyrvold-types-check.sql | 77 +++++++++++-------- 1 file changed, 45 insertions(+), 32 deletions(-) diff --git a/pgtap/planarGraph/boyerMyrvold-types-check.sql b/pgtap/planarGraph/boyerMyrvold-types-check.sql index 1c0bb60679d..de4a57d7e1c 100644 --- a/pgtap/planarGraph/boyerMyrvold-types-check.sql +++ b/pgtap/planarGraph/boyerMyrvold-types-check.sql @@ -1,37 +1,50 @@ \i setup.sql -SELECT plan(7); - ----------------------------------- --- tests for all --- prefix: pgr_prim ----------------------------------- - -SELECT has_function('pgr_primdfs'); - -SELECT has_function('pgr_primdfs', ARRAY['text','bigint','bigint']); -SELECT has_function('pgr_primdfs', ARRAY['text','anyarray','bigint']); -SELECT function_returns('pgr_primdfs', ARRAY['text','bigint','bigint'], 'setof record'); -SELECT function_returns('pgr_primdfs', ARRAY['text','anyarray','bigint'], 'setof record'); - - --- pgr_primdfs --- parameter names -SELECT set_eq( - $$SELECT proargnames from pg_proc where proname = 'pgr_primdfs'$$, - $$VALUES - ('{"","","max_depth","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[]) - $$ -); - --- parameter types -SELECT set_eq( - $$SELECT proallargtypes from pg_proc where proname = 'pgr_primdfs'$$, - $$VALUES - ('{25,20,20,20,20,20,20,20,701,701}'::OID[]), - ('{25,2277,20,20,20,20,20,20,701,701}'::OID[]) - $$ -); +SELECT plan(5); + +SELECT has_function('pgr_boyermyrvold'); + +SELECT function_returns('pgr_boyermyrvold', ARRAY['text'], 'setof record'); + + +-- flags +-- error + +SELECT lives_ok( + 'SELECT * FROM pgr_boyerMyrvold( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'' + )', + '3: Documentation says works with no flags'); + +SELECT throws_ok( + 'SELECT * FROM pgr_boyerMyrvold( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table id < 17'', + 3 + )','42883','function pgr_boyermyrvold(unknown, integer) does not exist', + '4: Documentation says it does not work with 1 flags'); + + +-- prepare for testing return types + +PREPARE all_return AS +SELECT + 'bigint'::text AS t1, + 'bigint'::text AS t2, + 'bigint'::text AS t3, + 'double precision'::text AS t4; + +PREPARE q5 AS +SELECT pg_typeof(seq)::text AS t1, + pg_typeof(source)::text AS t2, + pg_typeof(target)::text AS t3, + pg_typeof(cost)::text AS t4 + FROM ( + SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 17' + ) ) AS a LIMIT 1; + + +SELECT set_eq('q5', 'all_return', 'Expected returning, columns names & types'); SELECT * FROM finish(); ROLLBACK; From 5d88d0096a3c163258dd0beda09f1b9760f63f54 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 22 Jun 2020 13:01:45 +0530 Subject: [PATCH 0381/1360] [planarGraph] Added name to contributors list --- doc/src/pgRouting-introduction.rst | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/src/pgRouting-introduction.rst b/doc/src/pgRouting-introduction.rst index 5034ff6828f..e2ccb9582ae 100644 --- a/doc/src/pgRouting-introduction.rst +++ b/doc/src/pgRouting-introduction.rst @@ -60,6 +60,15 @@ Cayetano Benavent, Daniel Kastl, Martha Vergara, Regina Obe, +Gudesa Venkata Sai Akhil, +Hang Wu, +Himanshu Raj, +Imre Samu, +Maoguang Wang, Martha Vergara, +Mohamed Bakli, +Mahmoud SAKR, Esteban Zimanyi +Regina Obe, Rohith Reddy, +Sourabh Garg, Virginia Vergara @@ -126,4 +135,3 @@ More Information * PostGIS extension at the PostGIS project web site https://postgis.net. * Boost C++ source libraries at https://www.boost.org. * The Migration guide can be found at https://github.com/pgRouting/pgrouting/wiki/Migration-Guide. - From 1057961242c5910c8f70205bbde677ffccb3678c Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 22 Jun 2020 21:58:53 +0530 Subject: [PATCH 0382/1360] [planarGraph][documentation] Updated doc and docqueries files --- doc/planarGraph/CMakeLists.txt | 11 ++ doc/planarGraph/pgr_topologicalSort.rst | 130 ++++++++++++++++++ docqueries/planarGraph/CMakeLists.txt | 11 ++ .../planarGraph/doc-pgr_boyerMyrvold.result | 46 +++++++ .../planarGraph/doc-pgr_boyerMyrvold.test.sql | 31 +++++ docqueries/planarGraph/test.conf | 17 +++ 6 files changed, 246 insertions(+) create mode 100644 doc/planarGraph/CMakeLists.txt create mode 100644 doc/planarGraph/pgr_topologicalSort.rst create mode 100644 docqueries/planarGraph/CMakeLists.txt create mode 100644 docqueries/planarGraph/doc-pgr_boyerMyrvold.result create mode 100644 docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql create mode 100644 docqueries/planarGraph/test.conf diff --git a/doc/planarGraph/CMakeLists.txt b/doc/planarGraph/CMakeLists.txt new file mode 100644 index 00000000000..faf9c18171b --- /dev/null +++ b/doc/planarGraph/CMakeLists.txt @@ -0,0 +1,11 @@ + +SET(LOCAL_FILES + pgr_boyerMyrvold.rst + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") + list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/planarGraph/pgr_topologicalSort.rst b/doc/planarGraph/pgr_topologicalSort.rst new file mode 100644 index 00000000000..ea6deb0ef77 --- /dev/null +++ b/doc/planarGraph/pgr_topologicalSort.rst @@ -0,0 +1,130 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +pgr_boyerMyrvold - Experimental +=============================================================================== + +``pgr_boyerMyrvold`` — Returns the linear ordering of the vertices(s) for weighted directed acyclic graphs(DAG). +In particular, the topological sort algorithm implemented by Boost.Graph. + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/doc/libs/1_65_1/libs/graph/doc/topological_sort.html + + Boost Graph Inside + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. rubric:: Availability + +* Version 3.0.0 + + * New **experimental** function + +.. rubric:: Support + +* **Supported versions:** + current(`3.0 `__) + +* **TBD** + +Description +------------------------------------------------------------------------------- + +The topological sort algorithm creates a linear ordering of the vertices such that if edge (u,v) appears +in the graph, then v comes before u in the ordering. + +This implementation can only be used with a **directed** graph with no cycles i.e. directed acyclic graph. + +The main characteristics are: + - Process is valid for directed acyclic graphs only. otherwise it will throw warnings. + + - For optimization purposes, if there are more than one answer, the function will return one of them. + + - The returned values are ordered in topological order: + + * Running time: :math:`O( (V + E))` + + +Signatures +------------------------------------------------------------------------------- + +.. rubric:: Summary + +.. code-block:: none + + pgr_boyerMyrvold(edges_sql) + + RETURNS SET OF (seq, sorted_v) + OR EMPTY SET + +:Example: For a **directed** graph + +.. literalinclude:: doc-topologicalSort.queries + :start-after: -- q1 + :end-before: -- q2 + +Parameters +------------------------------------------------------------------------------- + +=================== ====================== ========= ================================================= +Parameter Type Default Description +=================== ====================== ========= ================================================= +**edges_sql** ``TEXT`` SQL query as described above. +=================== ====================== ========= ================================================= + +Inner query +------------------------------------------------------------------------------- + +:edges_sql: an SQL query, which should return a set of rows with the following columns: + +================= =================== ======== ================================================= +Column Type Default Description +================= =================== ======== ================================================= +**id** ``ANY-INTEGER`` Identifier of the edge. +**source** ``ANY-INTEGER`` Identifier of the first end point vertex of the edge. +**target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. +**cost** ``ANY-NUMERICAL`` Weight of the edge `(source, target)` + + - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. + +**reverse_cost** ``ANY-NUMERICAL`` -1 Weight of the edge `(target, source)`, + + - When negative: edge `(target, source)` does not exist, therefore it's not part of the graph. + +================= =================== ======== ================================================= + +Where: + +:ANY-INTEGER: SMALLINT, INTEGER, BIGINT +:ANY-NUMERICAL: SMALLINT, INTEGER, BIGINT, REAL, FLOAT + +Result Columns +------------------------------------------------------------------------------- + +Returns set of ``(seq, sorted_v)`` + +=============== =========== ============================================================ +Column Type Description +=============== =========== ============================================================ +**seq** ``INT`` Sequential value starting from **1**. +**sorted_v** ``BIGINT`` Linear ordering of the vertices(ordered in topological order) +=============== =========== ============================================================ + +See Also +------------------------------------------------------------------------------- + +* https://en.wikipedia.org/wiki/Topological_sorting +* The queries use the :doc:`sampledata` network. + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` diff --git a/docqueries/planarGraph/CMakeLists.txt b/docqueries/planarGraph/CMakeLists.txt new file mode 100644 index 00000000000..6d40826ee1c --- /dev/null +++ b/docqueries/planarGraph/CMakeLists.txt @@ -0,0 +1,11 @@ +# Do not use extensions +SET(LOCAL_FILES + doc-pgr_boyerMyrvold + ) + +foreach (f ${LOCAL_FILES}) + configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") + list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result new file mode 100644 index 00000000000..584f6306927 --- /dev/null +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -0,0 +1,46 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +-- q1 +SELECT * FROM pgr_kargersContraction( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18' +); + seq | edge | cost | mincut +-----+------+------+-------- +(0 rows) + +-- q2 +SELECT * FROM pgr_kargersContraction( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18' +); + seq | edge | cost | mincut +-----+------+------+-------- +(0 rows) + +-- q3 +SELECT * FROM pgr_kargersContraction( +$$ + SELECT id, source, target, cost, reverse_cost FROM edge_table + where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 18) + ) + OR + target = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 18) + ) +$$ + ); + seq | edge | cost | mincut +-----+------+------+-------- +(0 rows) + +-- q4 +ROLLBACK; +ROLLBACK diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql new file mode 100644 index 00000000000..507fe602446 --- /dev/null +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql @@ -0,0 +1,31 @@ +\echo -- q1 +SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18' +); + +\echo -- q2 +SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18' +); + +\echo -- q3 +SELECT * FROM pgr_boyerMyrvold( +$$ + SELECT id, source, target, cost, reverse_cost FROM edge_table + where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 18) + ) + OR + target = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 18) + ) +$$ + ); + +\echo -- q4 diff --git a/docqueries/planarGraph/test.conf b/docqueries/planarGraph/test.conf new file mode 100644 index 00000000000..09eecc3207a --- /dev/null +++ b/docqueries/planarGraph/test.conf @@ -0,0 +1,17 @@ +#!/usr/bin/perl -w + +%main::tests = ( + 'any' => { + 'comment' => 'boyerMyrvold planarity algorithm tests.', + 'data' => [ ], + 'tests' => [qw( + doc-pgr_boyerMyrvold + )], + 'documentation' => [qw( + doc-pgr_boyerMyrvold + )] + }, + +); + +1; From d56f0f98ef98034b80444c094c022d72d7af6b71 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 22 Jun 2020 22:15:01 +0530 Subject: [PATCH 0383/1360] [planarGraph][documentation] Function Name updated --- .../{pgr_topologicalSort.rst => pgr_boyerMyrvold.rst} | 0 docqueries/planarGraph/doc-pgr_boyerMyrvold.result | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) rename doc/planarGraph/{pgr_topologicalSort.rst => pgr_boyerMyrvold.rst} (100%) diff --git a/doc/planarGraph/pgr_topologicalSort.rst b/doc/planarGraph/pgr_boyerMyrvold.rst similarity index 100% rename from doc/planarGraph/pgr_topologicalSort.rst rename to doc/planarGraph/pgr_boyerMyrvold.rst diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index 584f6306927..5fdd00799e0 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -3,7 +3,7 @@ BEGIN SET client_min_messages TO NOTICE; SET -- q1 -SELECT * FROM pgr_kargersContraction( +SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18' @@ -13,7 +13,7 @@ SELECT * FROM pgr_kargersContraction( (0 rows) -- q2 -SELECT * FROM pgr_kargersContraction( +SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18' @@ -23,7 +23,7 @@ SELECT * FROM pgr_kargersContraction( (0 rows) -- q3 -SELECT * FROM pgr_kargersContraction( +SELECT * FROM pgr_boyerMyrvold( $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( From 0caebd4b115a82bdc03109641890dd4b258e344a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 22 Jun 2020 23:03:28 +0530 Subject: [PATCH 0384/1360] [planarGraph][doc] Description updated --- doc/planarGraph/pgr_boyerMyrvold.rst | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/doc/planarGraph/pgr_boyerMyrvold.rst b/doc/planarGraph/pgr_boyerMyrvold.rst index ea6deb0ef77..d9ab2e5375d 100644 --- a/doc/planarGraph/pgr_boyerMyrvold.rst +++ b/doc/planarGraph/pgr_boyerMyrvold.rst @@ -10,11 +10,11 @@ pgr_boyerMyrvold - Experimental =============================================================================== -``pgr_boyerMyrvold`` — Returns the linear ordering of the vertices(s) for weighted directed acyclic graphs(DAG). -In particular, the topological sort algorithm implemented by Boost.Graph. +``pgr_boyerMyrvold`` — Returns the set of source and target of edges with their costs if the graph is planar. +In particular, the boyer_myrvold_planarity_test algorithm is implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg - :target: https://www.boost.org/doc/libs/1_65_1/libs/graph/doc/topological_sort.html + :target: https://www.boost.org/doc/libs/1_53_0/libs/graph/doc/boyer_myrvold.html Boost Graph Inside @@ -38,19 +38,16 @@ In particular, the topological sort algorithm implemented by Boost.Graph. Description ------------------------------------------------------------------------------- -The topological sort algorithm creates a linear ordering of the vertices such that if edge (u,v) appears -in the graph, then v comes before u in the ordering. - -This implementation can only be used with a **directed** graph with no cycles i.e. directed acyclic graph. +A graph is planar if it can be drawn in two-dimensional space with no two of its edges crossing. Such a drawing of a planar graph is called a plane drawing. Every planar graph also admits a straight-line drawing, which is a plane drawing where each edge is represented by a line segment. The main characteristics are: - - Process is valid for directed acyclic graphs only. otherwise it will throw warnings. + - It works with any undirected graph. - For optimization purposes, if there are more than one answer, the function will return one of them. - - The returned values are ordered in topological order: + - The returned values are the set of source and target of edges with their costs. - * Running time: :math:`O( (V + E))` + * Running time: Assuming that both the vertex index and edge index supplied take time O(1) to return an index and there are O(n) total self-loops and parallel edges in the graph, most combinations of arguments given to boyer_myrvold_planarity_test result in an algorithm that runs in time O(n) for a graph with n vertices and m edges Signatures From a3fcd925064b464b57be4ec2d098aa0795c7c8bf Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 23 Jun 2020 16:02:41 +0530 Subject: [PATCH 0385/1360] [planarGraph][doc] Updated References and return types --- doc/planarGraph/pgr_boyerMyrvold.rst | 8 ++++++-- docqueries/planarGraph/doc-pgr_boyerMyrvold.result | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/doc/planarGraph/pgr_boyerMyrvold.rst b/doc/planarGraph/pgr_boyerMyrvold.rst index d9ab2e5375d..fdc18c914cf 100644 --- a/doc/planarGraph/pgr_boyerMyrvold.rst +++ b/doc/planarGraph/pgr_boyerMyrvold.rst @@ -112,13 +112,17 @@ Returns set of ``(seq, sorted_v)`` Column Type Description =============== =========== ============================================================ **seq** ``INT`` Sequential value starting from **1**. -**sorted_v** ``BIGINT`` Linear ordering of the vertices(ordered in topological order) +**source** ``BIGINT`` Identifier of the first end point vertex of the edge. +**target** ``BIGINT`` Identifier of the second end point vertex of the edge. +**cost** ``FLOAT`` Weight of the edge `(source, target)` + - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. =============== =========== ============================================================ See Also ------------------------------------------------------------------------------- -* https://en.wikipedia.org/wiki/Topological_sorting +* https://en.wikipedia.org/wiki/Planarity_testing +* https://www.boost.org/doc/libs/1_53_0/libs/graph/doc/boyer_myrvold.html * The queries use the :doc:`sampledata` network. .. rubric:: Indices and tables diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index 5fdd00799e0..a22488eeaee 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -8,7 +8,7 @@ SELECT * FROM pgr_boyerMyrvold( FROM edge_table WHERE id > 18' ); - seq | edge | cost | mincut + seq | source | target | cost -----+------+------+-------- (0 rows) @@ -18,7 +18,7 @@ SELECT * FROM pgr_boyerMyrvold( FROM edge_table WHERE id > 18' ); - seq | edge | cost | mincut +seq | source | target | cost -----+------+------+-------- (0 rows) @@ -37,7 +37,7 @@ $$ ) $$ ); - seq | edge | cost | mincut + seq | source | target | cost -----+------+------+-------- (0 rows) From fc4fa4f38120a0976509286f9950af7d31e57cca Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 23 Jun 2020 18:37:31 +0530 Subject: [PATCH 0386/1360] [planarGraph] configuration.conf updated for planarGraph --- configuration.conf | 4 ++-- docqueries/planarGraph/doc-pgr_boyerMyrvold.result | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/configuration.conf b/configuration.conf index bdddc1e5566..e229f42ad2a 100644 --- a/configuration.conf +++ b/configuration.conf @@ -1,4 +1,4 @@ -#---------------------- +---------------------- # Configuration file for compilation # # Once in the file, do not change the order @@ -42,7 +42,7 @@ transitiveClosure | Y | Y | Y breadthFirstSearch | Y | Y | Y traversal | Y | Y | Y coloring | Y | Y | Y -planarGraph | Y | Y | N +planarGraph | Y | Y | Y #---------------------- # SQL only directories #---------------------- diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index a22488eeaee..6f13e8f6ee7 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -9,7 +9,7 @@ SELECT * FROM pgr_boyerMyrvold( WHERE id > 18' ); seq | source | target | cost ------+------+------+-------- +-----+--------+--------+------ (0 rows) -- q2 @@ -18,8 +18,8 @@ SELECT * FROM pgr_boyerMyrvold( FROM edge_table WHERE id > 18' ); -seq | source | target | cost ------+------+------+-------- + seq | source | target | cost +-----+--------+--------+------ (0 rows) -- q3 @@ -38,7 +38,7 @@ $$ $$ ); seq | source | target | cost ------+------+------+-------- +-----+--------+--------+------ (0 rows) -- q4 From fd7e0db0d27286f5279318c0aecd8c58843537a9 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 23 Jun 2020 22:12:14 +0530 Subject: [PATCH 0387/1360] [planarGraph][doc] Modified name of function and signature --- doc/planarGraph/pgr_boyerMyrvold.rst | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/doc/planarGraph/pgr_boyerMyrvold.rst b/doc/planarGraph/pgr_boyerMyrvold.rst index fdc18c914cf..6d5ee4fb61e 100644 --- a/doc/planarGraph/pgr_boyerMyrvold.rst +++ b/doc/planarGraph/pgr_boyerMyrvold.rst @@ -43,8 +43,6 @@ A graph is planar if it can be drawn in two-dimensional space with no two of its The main characteristics are: - It works with any undirected graph. - - For optimization purposes, if there are more than one answer, the function will return one of them. - - The returned values are the set of source and target of edges with their costs. * Running time: Assuming that both the vertex index and edge index supplied take time O(1) to return an index and there are O(n) total self-loops and parallel edges in the graph, most combinations of arguments given to boyer_myrvold_planarity_test result in an algorithm that runs in time O(n) for a graph with n vertices and m edges @@ -59,12 +57,12 @@ Signatures pgr_boyerMyrvold(edges_sql) - RETURNS SET OF (seq, sorted_v) + RETURNS SET OF (seq, source, target, cost) OR EMPTY SET -:Example: For a **directed** graph +:Example: Query done on :doc:`sampledata` network gives. -.. literalinclude:: doc-topologicalSort.queries +.. literalinclude:: doc-pgr_boyerMyrvold.queries :start-after: -- q1 :end-before: -- q2 @@ -106,7 +104,7 @@ Where: Result Columns ------------------------------------------------------------------------------- -Returns set of ``(seq, sorted_v)`` +Returns set of ``(seq, source, target, cost)`` =============== =========== ============================================================ Column Type Description @@ -114,7 +112,8 @@ Column Type Description **seq** ``INT`` Sequential value starting from **1**. **source** ``BIGINT`` Identifier of the first end point vertex of the edge. **target** ``BIGINT`` Identifier of the second end point vertex of the edge. -**cost** ``FLOAT`` Weight of the edge `(source, target)` +**cost** ``FLOAT`` Weight of the edge `(source, target)` + - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. =============== =========== ============================================================ From eabc2e79fa1b820a2f42e0beeee8aff1b1f6cfcc Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 25 Jun 2020 21:05:52 +0530 Subject: [PATCH 0388/1360] [planarGraph] Added Query --q1 result --- docqueries/planarGraph/doc-pgr_boyerMyrvold.result | 8 ++++++-- docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql | 2 +- src/planarGraph/boyerMyrvold.c | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index 6f13e8f6ee7..893d22cdc58 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -6,11 +6,15 @@ SET SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id > 18' + WHERE id IN (9,16,15)' ); seq | source | target | cost -----+--------+--------+------ -(0 rows) + 1 | 6 | 9 | 1 + 2 | 9 | 12 | 1 + 3 | 4 | 9 | 1 +(3 rows) + -- q2 SELECT * FROM pgr_boyerMyrvold( diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql index 507fe602446..b0b39795d77 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql @@ -2,7 +2,7 @@ SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id > 18' + WHERE id IN (9,16,15)' ); \echo -- q2 diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c index 5086fc46d1c..5582673c262 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planarGraph/boyerMyrvold.c @@ -179,7 +179,7 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { OUT reverse_cost FLOAT */ /**********************************************************************/ - size_t numb = 5; + size_t numb = 4; values = palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); From f444a44f8e173ab6d20b08e5cc8dc4a1de156351 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 25 Jun 2020 21:20:23 +0530 Subject: [PATCH 0389/1360] [planarGraph][doc] Added Query --q3 result in doc --- docqueries/planarGraph/doc-pgr_boyerMyrvold.result | 8 +++++--- docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index 893d22cdc58..83af94dca50 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -32,18 +32,20 @@ $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 18) + WHERE component = 14) ) OR target = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 18) + WHERE component = 14) ) $$ ); seq | source | target | cost -----+--------+--------+------ -(0 rows) + 1 | 14 | 15 | 1 +(1 row) + -- q4 ROLLBACK; diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql index b0b39795d77..9da06b01136 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql @@ -18,12 +18,12 @@ $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 18) + WHERE component = 14) ) OR target = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 18) + WHERE component = 14) ) $$ ); From 5956a67969604cadc879bd778892b9a955dcf127 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 25 Jun 2020 22:27:26 +0530 Subject: [PATCH 0390/1360] [planarGraph] Aligning queries result and fixing travis error --- docqueries/planarGraph/doc-pgr_boyerMyrvold.result | 2 -- 1 file changed, 2 deletions(-) diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index 83af94dca50..3cc0a859ac9 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -15,7 +15,6 @@ SELECT * FROM pgr_boyerMyrvold( 3 | 4 | 9 | 1 (3 rows) - -- q2 SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost @@ -46,7 +45,6 @@ $$ 1 | 14 | 15 | 1 (1 row) - -- q4 ROLLBACK; ROLLBACK From b6804a1e44fa22f4728cd1c8198f473c05c98a47 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 25 Jun 2020 22:50:21 +0530 Subject: [PATCH 0391/1360] [planarGraph][doc] Additional Example added in documentation --- doc/planarGraph/pgr_boyerMyrvold.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/doc/planarGraph/pgr_boyerMyrvold.rst b/doc/planarGraph/pgr_boyerMyrvold.rst index 6d5ee4fb61e..8fc8fea464e 100644 --- a/doc/planarGraph/pgr_boyerMyrvold.rst +++ b/doc/planarGraph/pgr_boyerMyrvold.rst @@ -117,6 +117,19 @@ Column Type Description - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. =============== =========== ============================================================ +Additional Example: +------------------------------------------------------------------------------- + +.. literalinclude:: doc-pgr_boyerMyrvold.queries + :start-after: -- q2 + :end-before: -- q3 + +Use pgr_connectedComponents( ) function in query: + +.. literalinclude:: doc-pgr_boyerMyrvold.queries + :start-after: -- q3 + :end-before: -- q4 + See Also ------------------------------------------------------------------------------- From dd298ed6af22fe04ff2b7b7778f6413f498a17a9 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 26 Jun 2020 23:03:42 +0530 Subject: [PATCH 0392/1360] [planarGraph] Documentation and comment updated in .c file --- src/planarGraph/boyerMyrvold.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c index 5582673c262..f74780ff96b 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planarGraph/boyerMyrvold.c @@ -85,7 +85,7 @@ process( ¬ice_msg, &err_msg); - time_msg(" processing pgr_breadthFirstSearch", start_t, clock()); + time_msg(" processing pgr_boyerMyrvold", start_t, clock()); PGR_DBG("Returning %ld tuples", *result_count); if (err_msg) { @@ -123,20 +123,14 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { /**********************************************************************/ /* - pgr_breadthFirstSearch( - edge_sql TEXT, - start_vids ANYARRAY, - max_depth BIGINT DEFAULT 9223372036854775807, - directed BOOLEAN DEFAULT true) + pgr_boyerMyrvold( + edge_sql TEXT) */ /**********************************************************************/ PGR_DBG("Calling process"); process( text_to_cstring(PG_GETARG_TEXT_P(0)), - // PG_GETARG_ARRAYTYPE_P(1), - // PG_GETARG_INT64(3), - // PG_GETARG_BOOL(1), &result_tuples, &result_count); @@ -171,12 +165,9 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { /**********************************************************************/ /* - - OUT id BIGINT, OUT source BIGINT, OUT target_vid BIGINT, OUT cost FLOAT, - OUT reverse_cost FLOAT */ /**********************************************************************/ size_t numb = 4; From e91bdee640700e38289894385d9fa2e180b1dfa3 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 26 Jun 2020 23:34:08 +0530 Subject: [PATCH 0393/1360] [planarGraph] updated c_type for pgr_boyer_t --- include/c_types/pgr_boyer_t.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/c_types/pgr_boyer_t.h b/include/c_types/pgr_boyer_t.h index b13f46173a1..f946c0d1b47 100644 --- a/include/c_types/pgr_boyer_t.h +++ b/include/c_types/pgr_boyer_t.h @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: pgr_edge_t.h +File: pgr_boyer_t.h Copyright (c) 2017 Celia Virginia Vergara Castillo Mail: vicky_vergara@hotmail.com @@ -40,4 +40,4 @@ typedef struct { double cost; } pgr_boyer_t; -#endif // INCLUDE_C_TYPES_PGR_EDGE_T_H_ +#endif // INCLUDE_C_TYPES_PGR_BOYER_T_H_ From de48876cd2b1f71c2b59c1d6b89ae2885a2feb2f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 27 Jun 2020 14:22:43 +0530 Subject: [PATCH 0394/1360] [planarGraph] Completed pgr_boyerMyrvold planarity test function --- sql/planarGraph/_boyerMyrvold.sql | 4 ++-- sql/planarGraph/boyerMyrvold.sql | 9 ++------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/sql/planarGraph/_boyerMyrvold.sql b/sql/planarGraph/_boyerMyrvold.sql index 60d0ac43a8f..cfaf6a067c5 100644 --- a/sql/planarGraph/_boyerMyrvold.sql +++ b/sql/planarGraph/_boyerMyrvold.sql @@ -1,7 +1,7 @@ /*PGR-GNU***************************************************************** File: _boyerMyrvold.sql -Copyright (c) 2019 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Copyright (c) 2020 Himanshu Raj @@ -26,7 +26,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ ------------------------- ------------------------- --- _breadthFirstSearch +-- _boyerMyrvold ------------------------- ------------------------- diff --git a/sql/planarGraph/boyerMyrvold.sql b/sql/planarGraph/boyerMyrvold.sql index 0399895a831..1a50de1ffe2 100644 --- a/sql/planarGraph/boyerMyrvold.sql +++ b/sql/planarGraph/boyerMyrvold.sql @@ -30,8 +30,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_boyerMyrvold ------------------ - ---ONE TO DEPTH CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( TEXT, -- edges_sql (required) OUT seq BIGINT, @@ -49,14 +47,11 @@ LANGUAGE SQL VOLATILE STRICT; -- COMMENTS COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT) -IS 'pgr_boyerMyrvold(One to Depth) +IS 'pgr_boyerMyrvold - EXPERIMENTAL +- Undirected graph - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - - From vertex identifier -- Optional Parameters: - - Maximum Depth := 9223372036854775807 - - directed := true - Documentation: - ${PGROUTING_DOC_LINK}/pgr_boyerMyrvold.html '; From e187a5d2c3258c28039a9a43f56012c33fd58a63 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 27 Jun 2020 14:51:12 +0530 Subject: [PATCH 0395/1360] [makeConnected] Started designing pgr_makeConnected --- sql/makeConnected/CMakeLists.txt | 12 ++++++ sql/makeConnected/_makeConnected.sql | 45 ++++++++++++++++++++++ sql/makeConnected/makeConnected.sql | 56 ++++++++++++++++++++++++++++ 3 files changed, 113 insertions(+) create mode 100644 sql/makeConnected/CMakeLists.txt create mode 100644 sql/makeConnected/_makeConnected.sql create mode 100644 sql/makeConnected/makeConnected.sql diff --git a/sql/makeConnected/CMakeLists.txt b/sql/makeConnected/CMakeLists.txt new file mode 100644 index 00000000000..9ce4f65139e --- /dev/null +++ b/sql/makeConnected/CMakeLists.txt @@ -0,0 +1,12 @@ + +SET(LOCAL_FILES + _makeConnected.sql + makeConnected.sql + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} ${f}) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) +endforeach() + +set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/makeConnected/_makeConnected.sql b/sql/makeConnected/_makeConnected.sql new file mode 100644 index 00000000000..b8bc27e00ba --- /dev/null +++ b/sql/makeConnected/_makeConnected.sql @@ -0,0 +1,45 @@ +/*PGR-GNU***************************************************************** + +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2019 Hang Wu +mail: nike0good@gmail.com +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +--------------- +-- _pgr_makeConnected +--------------- + + +CREATE OR REPLACE FUNCTION _pgr_makeConnected( + edges_sql TEXT, + + OUT seq INTEGER, + OUT sorted_v BIGINT) +RETURNS SETOF RECORD AS +'MODULE_PATHNAME' +LANGUAGE c VOLATILE STRICT; + +-- COMMENTS + + +COMMENT ON FUNCTION _pgr_makeConnected(TEXT) +IS 'pgRouting internal function'; diff --git a/sql/makeConnected/makeConnected.sql b/sql/makeConnected/makeConnected.sql new file mode 100644 index 00000000000..cdb4f93161d --- /dev/null +++ b/sql/makeConnected/makeConnected.sql @@ -0,0 +1,56 @@ +/*PGR-GNU***************************************************************** + +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2019 Hang Wu +mail: nike0good@gmail.com +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +--------------- +-- pgr_makeConnected +--------------- + + +CREATE OR REPLACE FUNCTION pgr_makeConnected( + TEXT, -- edges_sql (required) + + OUT seq INTEGER, + OUT sorted_v BIGINT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT * + FROM _pgr_makeConnected(_pgr_get_statement($1)); +$BODY$ +LANGUAGE SQL VOLATILE STRICT; + + +-- COMMENTS + + +COMMENT ON FUNCTION pgr_makeConnected(TEXT) +IS 'pgr_makeConnected +- EXPERIMENTAL +- Directed graph +- Parameters: + - edges SQL with columns: id, source, target, cost [,reverse_cost] +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_makeConnected.html +'; From c8fa29649972c19e9fa17245094fe012607c63d1 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 27 Jun 2020 14:59:42 +0530 Subject: [PATCH 0396/1360] [makeConnected] Modified configuration.conf file --- configuration.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/configuration.conf b/configuration.conf index e229f42ad2a..6b0fa9f8b20 100644 --- a/configuration.conf +++ b/configuration.conf @@ -43,6 +43,7 @@ breadthFirstSearch | Y | Y | Y traversal | Y | Y | Y coloring | Y | Y | Y planarGraph | Y | Y | Y +makeConnected | N | Y | N #---------------------- # SQL only directories #---------------------- From 3b0619a5a3e69a2777481ceeb57a49f10ca421e1 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 29 Jun 2020 12:20:24 +0530 Subject: [PATCH 0397/1360] [makeConnected] Added .cpp and .c files --- sql/makeConnected/makeConnected.sql | 6 +- src/makeConnected/CMakeLists.txt | 4 + src/makeConnected/makeConnected.c | 172 +++++++++++++++++++++ src/makeConnected/makeConnected_driver.cpp | 131 ++++++++++++++++ 4 files changed, 310 insertions(+), 3 deletions(-) create mode 100644 src/makeConnected/CMakeLists.txt create mode 100644 src/makeConnected/makeConnected.c create mode 100644 src/makeConnected/makeConnected_driver.cpp diff --git a/sql/makeConnected/makeConnected.sql b/sql/makeConnected/makeConnected.sql index cdb4f93161d..8a9d794d839 100644 --- a/sql/makeConnected/makeConnected.sql +++ b/sql/makeConnected/makeConnected.sql @@ -1,11 +1,11 @@ /*PGR-GNU***************************************************************** -Copyright (c) 2015 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2019 Hang Wu -mail: nike0good@gmail.com +Copyright (c) 2020 Himanshu Raj +mail: raj.himanshu2@gmail.com ------ This program is free software; you can redistribute it and/or modify diff --git a/src/makeConnected/CMakeLists.txt b/src/makeConnected/CMakeLists.txt new file mode 100644 index 00000000000..02b72ab3d37 --- /dev/null +++ b/src/makeConnected/CMakeLists.txt @@ -0,0 +1,4 @@ +ADD_LIBRARY(makeConnected OBJECT + makeConnected.c + + makeConnected_driver.cpp) diff --git a/src/makeConnected/makeConnected.c b/src/makeConnected/makeConnected.c new file mode 100644 index 00000000000..ba147ab2f6f --- /dev/null +++ b/src/makeConnected/makeConnected.c @@ -0,0 +1,172 @@ +/*PGR-GNU***************************************************************** + +File: topologicalSort.c + +Generated with Template by: +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2019 Hang Wu +mail: nike0good@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#include + +#include "c_common/postgres_connection.h" +#include "utils/array.h" + + +#include "c_common/debug_macro.h" +#include "c_common/e_report.h" +#include "c_common/time_msg.h" +#include "c_common/edges_input.h" +#include "c_common/arrays_input.h" +#include "drivers/topologicalSort/topologicalSort_driver.h" +#if 0 +PG_MODULE_MAGIC; +#endif +PGDLLEXPORT Datum _pgr_makeconnected(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_makeconnected); + +static +void +process( + char* edges_sql, + pgr_topologicalSort_t **result_tuples, + size_t *result_count) { + pgr_SPI_connect(); + + pgr_edge_t *edges = NULL; + size_t total_edges = 0; + pgr_get_edges(edges_sql, &edges, &total_edges); + + PGR_DBG("Starting timer"); + clock_t start_t = clock(); + char* log_msg = NULL; + char* notice_msg = NULL; + char* err_msg = NULL; + do_pgr_topologicalSort( + edges, total_edges, + result_tuples, + result_count, + &log_msg, + ¬ice_msg, + &err_msg); + + time_msg("processing pgr_topologicalSort", start_t, clock()); + + + if (err_msg && (*result_tuples)) { + pfree(*result_tuples); + (*result_tuples) = NULL; + (*result_count) = 0; + } + + pgr_global_report(log_msg, notice_msg, err_msg); + + if (log_msg) pfree(log_msg); + if (notice_msg) pfree(notice_msg); + if (err_msg) pfree(err_msg); + if (edges) pfree(edges); + pgr_SPI_finish(); +} + +PGDLLEXPORT Datum +_pgr_makeconnected(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; + + /**********************************************************************/ + pgr_topologicalSort_t *result_tuples = NULL; + size_t result_count = 0; + /**********************************************************************/ + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + + + /**********************************************************************/ + // pgr_topologicalSort( + // sql TEXT, + + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + &result_tuples, + &result_count); + + /**********************************************************************/ + +#if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; +#else + funcctx->max_calls = (uint32_t)result_count; +#endif + + funcctx->user_fctx = result_tuples; + if (get_call_result_type(fcinfo, NULL, &tuple_desc) + != TYPEFUNC_COMPOSITE) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + } + + funcctx->tuple_desc = tuple_desc; + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (pgr_topologicalSort_t*) funcctx->user_fctx; + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; + Datum result; + Datum *values; + bool* nulls; + size_t call_cntr = funcctx->call_cntr; + + /**********************************************************************/ + // OUT seq INTEGER, + // OUT sorted_v BIGINT) + + size_t numb = 2; + values = palloc(numb * sizeof(Datum)); + nulls = palloc(numb * sizeof(bool)); + + size_t i; + for (i = 0; i < numb; ++i) { + nulls[i] = false; + } + + values[0] = Int32GetDatum(call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[call_cntr].sorted_v); + /**********************************************************************/ + + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + SRF_RETURN_NEXT(funcctx, result); + } else { + SRF_RETURN_DONE(funcctx); + } +} diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp new file mode 100644 index 00000000000..71e4636c1b7 --- /dev/null +++ b/src/makeConnected/makeConnected_driver.cpp @@ -0,0 +1,131 @@ +/*PGR-GNU***************************************************************** +File: topologicalSort_driver.cpp + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2019 Hang Wu +mail: nike0good@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#include "drivers/topologicalSort/topologicalSort_driver.h" + +#include +#include +#include +#include +#include + +#include "topologicalSort/pgr_topologicalSort.hpp" + + +#include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/pgr_assert.h" + +template < class G > +static +std::vector +pgr_topologicalSort( + G &graph) { + Pgr_topologicalSort< G > fn_topologicalSort; + return fn_topologicalSort.topologicalSort(graph); +} + + +// CREATE OR REPLACE FUNCTION pgr_topologicalSort( +// sql text, +void +do_pgr_topologicalSort( + pgr_edge_t *data_edges, + size_t total_edges, + + + pgr_topologicalSort_t **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg) { + std::ostringstream log; + std::ostringstream err; + std::ostringstream notice; + + try { + pgassert(total_edges != 0); + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + + graphType gType = DIRECTED; + + std::vector results; + + log << "Working with Directed Graph\n"; + pgrouting::DirectedGraph digraph(gType); + digraph.insert_edges(data_edges, total_edges); + results = pgr_topologicalSort( + digraph); + + auto count = results.size(); + + if (count == 0) { + (*return_tuples) = NULL; + (*return_count) = 0; + notice << + "No vertices"; + return; + } + + (*return_tuples) = pgr_alloc(count, (*return_tuples)); + for (size_t i = 0; i < count; i++) { + *((*return_tuples) + i) = results[i]; + } + (*return_count) = count; + + pgassert(*err_msg == NULL); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } +} From cb9fb671a114729f8214481b0f01f3de8ed61ced Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 29 Jun 2020 18:24:49 +0530 Subject: [PATCH 0398/1360] [makeConnected] Added drivers and c_types --- include/c_types/pgr_makeConnected_t.h | 42 ++++++++++++ .../makeConnected/makeConnected_driver.h | 66 +++++++++++++++++++ src/makeConnected/makeConnected.c | 1 + 3 files changed, 109 insertions(+) create mode 100644 include/c_types/pgr_makeConnected_t.h create mode 100644 include/drivers/makeConnected/makeConnected_driver.h diff --git a/include/c_types/pgr_makeConnected_t.h b/include/c_types/pgr_makeConnected_t.h new file mode 100644 index 00000000000..4f20e235429 --- /dev/null +++ b/include/c_types/pgr_makeConnected_t.h @@ -0,0 +1,42 @@ +/*PGR-GNU***************************************************************** +File: pgr_topologicalSortt.h + +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2019 Hang Wu +mail: nike0good@gmail.com + +------ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +********************************************************************PGR-GNU*/ +/*! @file */ + +#ifndef INCLUDE_C_TYPES_PGR_MAKECONNECTED_T_H_ +#define INCLUDE_C_TYPES_PGR_MAKECONNECTED_T_H_ +#pragma once + +/* for int64_t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +typedef struct { + int seq; + int64_t sorted_v; +} pgr_topologicalSort_t; + +#endif // INCLUDE_C_TYPES_PGR_MAKECONNECTED_T_H_ diff --git a/include/drivers/makeConnected/makeConnected_driver.h b/include/drivers/makeConnected/makeConnected_driver.h new file mode 100644 index 00000000000..600e0aa3500 --- /dev/null +++ b/include/drivers/makeConnected/makeConnected_driver.h @@ -0,0 +1,66 @@ +/*PGR-GNU***************************************************************** + +File: topologicalSort_driver.h + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2019 Hang Wu +mail: nike0good@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ +#define INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ + +/* for size-t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +#include "c_types/pgr_edge_t.h" +#include "c_types/pgr_topologicalSort_t.h" +#include "c_types/pgr_makeConnected_t.h" + +#ifdef __cplusplus +extern "C" { +#endif + + // CREATE OR REPLACE FUNCTION pgr_topologicalSort( + // sql text, + void do_pgr_makeConnected( + pgr_edge_t *data_edges, + size_t total_tuples, + + pgr_makeConnected_t **return_tuples, + size_t *return_count, + + char** log_msg, + char** notice_msg, + char** err_msg); + +#ifdef __cplusplus + } +#endif + +#endif // INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ diff --git a/src/makeConnected/makeConnected.c b/src/makeConnected/makeConnected.c index ba147ab2f6f..ac320ec61b9 100644 --- a/src/makeConnected/makeConnected.c +++ b/src/makeConnected/makeConnected.c @@ -40,6 +40,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" #include "drivers/topologicalSort/topologicalSort_driver.h" +#include "drivers/makeConnected/makeConnected_driver.h" #if 0 PG_MODULE_MAGIC; #endif From 7cd128c75e37002c0abf18664946b590c0d24538 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 29 Jun 2020 22:54:14 +0530 Subject: [PATCH 0399/1360] [makeConnected] Added pgTap files --- .../makeConnected-edge-cases.sql | 201 ++++++++++++++++++ .../makeConnected-innerQuery.sql | 8 + .../makeConnected-types-check.sql | 37 ++++ .../no_crash_test-makeConnected.sql | 106 +++++++++ 4 files changed, 352 insertions(+) create mode 100644 pgtap/makeConnected/makeConnected-edge-cases.sql create mode 100644 pgtap/makeConnected/makeConnected-innerQuery.sql create mode 100644 pgtap/makeConnected/makeConnected-types-check.sql create mode 100644 pgtap/makeConnected/no_crash_test-makeConnected.sql diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql new file mode 100644 index 00000000000..11cb1161c85 --- /dev/null +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -0,0 +1,201 @@ +\i setup.sql + +SELECT plan(10); + +UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; + +-- +PREPARE prim1 AS +SELECT * FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id > 18', + 21, 3 +); + +SELECT set_eq('prim1', + $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, + '1: Empty Graph -> Only root vertex is returned'); + + +PREPARE prim2 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost + FROM edge_table WHERE id > 18', + ARRAY[21, 45], + 3 +); + +SELECT set_eq('prim2', + $$VALUES + (1, 0, 21, 21, -1, 0, 0), + (2, 0, 45, 45, -1, 0, 0) + $$, + '2: Empty graph -> Only root vertices are returned'); + + +-- +PREPARE prim3 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 21, 3 +); + +SELECT set_eq('prim3', + $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, + '3: Root not in Graph -> Only root vertex is returned'); + +-- +PREPARE prim4 AS +SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 +FROM pgr_primDFS( + 'SELECT id, source, target, cost + FROM edge_table', + ARRAY[21, 4], + 3 +); + +SELECT set_eq('prim4', + $$VALUES + (1, 4, 0, 4, -1, true), + (2, 4, 1, 9, 16, true), + (3, 4, 2, 6, 9, true), + (4, 4, 3, 3, 5, true), + (5, 4, 3, 5, 8, true), + (6, 4, 3, 11, 11, true), + (7, 21, 0, 21, -1, true) + $$, + '4: Root not in Graph -> Only root vertex is returned, Root in graph -> spanning tree is returned'); + + +-- +PREPARE prim5 AS +SELECT seq, start_vid, depth, node, edge, depth <= 3 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 0, 3 +); + +SELECT set_eq('prim5', + $$VALUES + (1, 1, 0, 1, -1, true), + (2, 1, 1, 2, 1, true), + (3, 1, 2, 3, 2, true), + (4, 1, 3, 4, 3, true), + (5, 1, 3, 6, 5, true), + (6, 1, 2, 5, 4, true), + (7, 1, 3, 8, 7, true), + (8, 1, 3, 10, 10, true), + (9, 14, 0, 14, -1, true), + (10, 14, 1, 15, 17, true), + (11, 16, 0, 16, -1, true), + (12, 16, 1, 17, 18, true) + $$, + '5: root = 0 -> forest (with random root vertices)'); + +-- +PREPARE prim6 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4, -3 +); + + +SELECT throws_ok('prim6', + 'P0001', + 'Negative value found on ''max_depth''', + '6: Negative max_depth throws'); + + + +PREPARE prim7 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + ARRAY[4, 10], -3 +); + +SELECT throws_ok('prim7', + 'P0001', + 'Negative value found on ''max_depth''', + '7: Negative max_depth throws'); + +-- +PREPARE prim8 AS +SELECT * +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4, 0 +); + +SELECT set_eq('prim8', + $$VALUES (1, 0, 4, 4, -1, 0, 0) $$, + '8: 0 max_depth -> Only root vertex is returned'); + +-- +PREPARE prim9 AS +SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 4 +); + +SELECT set_eq('prim9', + $$VALUES + (1, 0, 4, 4, -1, true), + (2, 1, 4, 3, 3, true), + (3, 2, 4, 2, 2, true), + (4, 3, 4, 1, 1, true), + (5, 3, 4, 5, 4, true), + (6, 4, 4, 8, 7, true), + (7, 5, 4, 7, 6, true), + (8, 4, 4, 10, 10, true), + (9, 5, 4, 13, 14, true), + (10, 2, 4, 6, 5, true), + (11, 3, 4, 9, 9, true), + (12, 3, 4, 11, 11, true), + (13, 4, 4, 12, 13, true) + $$, + '9: default max_depth -> complete tree from root'); + +-- +PREPARE prim10 AS +SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 +FROM pgr_primDFS( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table', + 0 +); + +SELECT set_eq('prim10', + $$VALUES + (1, 1, 0, 1,-1, true), + (2, 1, 1, 2, 1, true), + (3, 1, 2, 3, 2, true), + (4, 1, 3, 4, 3, true), + (5, 1, 3, 6, 5, true), + (6, 1, 4, 9, 9, true), + (7, 1, 4,11,11, true), + (8, 1, 5,12,13, true), + (9, 1, 2, 5, 4, true), + (10, 1, 3, 8, 7, true), + (11, 1, 4, 7, 6, true), + (12, 1, 3,10,10, true), + (13, 1, 4,13,14, true), + (14, 14, 0,14,-1, true), + (15, 14, 1,15,17, true), + (16, 16, 0,16,-1, true), + (17, 16, 1,17,18, true) + $$, + '10: root = 0 -> forest (with random root vertices)'); + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/makeConnected/makeConnected-innerQuery.sql b/pgtap/makeConnected/makeConnected-innerQuery.sql new file mode 100644 index 00000000000..98aedb21240 --- /dev/null +++ b/pgtap/makeConnected/makeConnected-innerQuery.sql @@ -0,0 +1,8 @@ +\i setup.sql + +SELECT plan(54); + +SELECT style_dijkstra('pgr_primDFS', ', 5)'); + +SELECT finish(); +ROLLBACK; diff --git a/pgtap/makeConnected/makeConnected-types-check.sql b/pgtap/makeConnected/makeConnected-types-check.sql new file mode 100644 index 00000000000..1c0bb60679d --- /dev/null +++ b/pgtap/makeConnected/makeConnected-types-check.sql @@ -0,0 +1,37 @@ +\i setup.sql + +SELECT plan(7); + +---------------------------------- +-- tests for all +-- prefix: pgr_prim +---------------------------------- + +SELECT has_function('pgr_primdfs'); + +SELECT has_function('pgr_primdfs', ARRAY['text','bigint','bigint']); +SELECT has_function('pgr_primdfs', ARRAY['text','anyarray','bigint']); +SELECT function_returns('pgr_primdfs', ARRAY['text','bigint','bigint'], 'setof record'); +SELECT function_returns('pgr_primdfs', ARRAY['text','anyarray','bigint'], 'setof record'); + + +-- pgr_primdfs +-- parameter names +SELECT set_eq( + $$SELECT proargnames from pg_proc where proname = 'pgr_primdfs'$$, + $$VALUES + ('{"","","max_depth","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[]) + $$ +); + +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_primdfs'$$, + $$VALUES + ('{25,20,20,20,20,20,20,20,701,701}'::OID[]), + ('{25,2277,20,20,20,20,20,20,701,701}'::OID[]) + $$ +); + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/makeConnected/no_crash_test-makeConnected.sql b/pgtap/makeConnected/no_crash_test-makeConnected.sql new file mode 100644 index 00000000000..1ad0d9b4d8f --- /dev/null +++ b/pgtap/makeConnected/no_crash_test-makeConnected.sql @@ -0,0 +1,106 @@ +\i setup.sql + +SELECT plan(86); + +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; + +PREPARE null_vertex AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); + + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT is_empty('null_vertex', 'Should be empty to tests be meaningful'); + + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + -- primDFS + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '5' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::INTEGER'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS with depth + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '5', + '3' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + 'NULL::INTEGER' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS Multiple vertices + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + 'ARRAY[5,3]' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + -- primDFS with depth Multiple vertices + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + 'ARRAY[5,3]', + '3' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + 'NULL::INTEGER' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + params[1] := '$$edges$$'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + + subs[2] := 'NULL::BIGINT[]'; + RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + +ROLLBACK; From cb4eb62a28c44a2959e6c034222f38887e5c06a2 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 29 Jun 2020 23:00:40 +0530 Subject: [PATCH 0400/1360] [makeConnected][doc] Added doc files for documentation --- doc/makeConnected/CMakeLists.txt | 11 ++ doc/makeConnected/pgr_makeConnected.rst | 192 ++++++++++++++++++++++++ 2 files changed, 203 insertions(+) create mode 100644 doc/makeConnected/CMakeLists.txt create mode 100644 doc/makeConnected/pgr_makeConnected.rst diff --git a/doc/makeConnected/CMakeLists.txt b/doc/makeConnected/CMakeLists.txt new file mode 100644 index 00000000000..5efce8b14be --- /dev/null +++ b/doc/makeConnected/CMakeLists.txt @@ -0,0 +1,11 @@ + +SET(LOCAL_FILES + pgr_makeConnected.rst + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") + list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst new file mode 100644 index 00000000000..2abe2164060 --- /dev/null +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -0,0 +1,192 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +pgr_makeConnected - Experimental +=============================================================================== + +``pgr_breadthFirstSearch`` — Returns the traversal order(s) using Breadth First Search algorithm. + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/libs/graph/doc/breadth_first_search.html + + Boost Graph Inside + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. rubric:: Availability + +Description +------------------------------------------------------------------------------- + +Provides the Breadth First Search traversal order from a root vertex to a particular depth. + +**The main Characteristics are:** + +- The implementation will work on any type of graph. +- Provides the Breadth First Search traversal order from a source node to a target depth level +- Breath First Search Running time: :math:`O(E + V)` + +Signatures +------------------------------------------------------------------------------- + +.. code-block:: none + + pgr_breadthFirstSearch(Edges SQL, Root vid [, max_depth] [, directed]) + pgr_breadthFirstSearch(Edges SQL, Root vids [, max_depth] [, directed]) + + RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + +.. index:: + single: breadthFirstSearch(Single vertex) - Experimental + +Single Vertex +............................................................................... + +.. code-block:: none + + pgr_breadthFirstSearch(Edges SQL, Root vid [, max_depth] [, directed]) + + RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + +:Example: The Breadth First Search traversal with root vertex :math:`2` + +.. literalinclude:: doc-pgr_breadthFirstSearch.queries + :start-after: --q1 + :end-before: --q2 + +.. index:: + single: breadthFirstSearch(Multiple vertices) - Experimental + +Multiple Vertices +............................................................................... + +.. code-block:: none + + pgr_breadthFirstSearch(Edges SQL, Root vids [, max_depth] [, directed]) + + RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + +:Example: The Breadth First Search traverls starting on vertices :math:`\{11, 12\}` with :math:`depth <= 2` + +.. literalinclude:: doc-pgr_breadthFirstSearch.queries + :start-after: --q2 + :end-before: --q3 + + +.. Parameters, Inner query & result columns + +.. breadthFirstSearch-information-start + +Parameters +------------------------------------------------------------------------------- + +=================== ====================== ================================================= +Parameter Type Description +=================== ====================== ================================================= +**Edges SQL** ``TEXT`` SQL query described in `Inner query`_. +**Root vid** ``BIGINT`` Identifier of the root vertex of the tree. + + - Used on `Single Vertex`_. + +**Root vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of the root vertices. + + - Used on `Multiple Vertices`_. + - For optimization purposes, any duplicated value is ignored. +=================== ====================== ================================================= + +Optional Parameters +............................................................................... + + +=================== =========== =========================== ================================================= +Parameter Type Default Description +=================== =========== =========================== ================================================= +**max_depth** ``BIGINT`` :math:`9223372036854775807` Upper limit for depth of node in the tree + + - When value is ``Negative`` then **throws error** + +**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` + - When ``false`` the graph is considered as `Undirected`. +=================== =========== =========================== ================================================= + +Inner query +------------------------------------------------------------------------------- + +.. rubric::Edges SQL + +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end + +Result Columns +------------------------------------------------------------------------------- + +.. result columns start + +Returns SET OF ``(seq, depth, start_vid, node, edge, cost, agg_cost)`` + +=============== =========== ==================================================== +Column Type Description +=============== =========== ==================================================== +**seq** ``BIGINT`` Sequential value starting from :math:`1`. +**depth** ``BIGINT`` Depth of the ``node``. + + - :math:`0` when ``node`` = ``start_vid``. + +**start_vid** ``BIGINT`` Identifier of the root vertex. + + - In *Multiple Vertices* results are in ascending order. + +**node** ``BIGINT`` Identifier of ``node`` reached using ``edge``. +**edge** ``BIGINT`` Identifier of the ``edge`` used to arrive to ``node``. + + - :math:`-1` when ``node`` = ``start_vid``. + +**cost** ``FLOAT`` Cost to traverse ``edge``. +**agg_cost** ``FLOAT`` Aggregate cost from ``start_vid`` to ``node``. +=============== =========== ==================================================== + +.. result columns end + + +Additional Examples +............................................................................... + +**Undirected Graph** + +:Example: The Breadth First Search traverls starting on vertices :math:`\{11, 12\}` with :math:`depth <= 2` as well as considering the graph to be undirected. + +.. literalinclude:: doc-pgr_breadthFirstSearch.queries + :start-after: --q3 + :end-before: --q4 + + +**Vertex Out Of Graph** + +:Example: The output of the function when a vertex not present in the graph is passed as a parameter. + +.. literalinclude:: doc-pgr_breadthFirstSearch.queries + :start-after: --q4 + :end-before: --q5 + + + +See Also +------------------------------------------------------------------------------- + +* The queries use the :doc:`sampledata` network. +* `Boost: Breadth First Search algorithm documentation `__ +* `Wikipedia: Breadth First Search algorithm `__ + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` From 06e283f45e61c74aebabd60e8304e245d6757f04 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 30 Jun 2020 17:14:28 +0530 Subject: [PATCH 0401/1360] [makeConnected] Modified c_types pgr_makeConnected_t.h --- include/c_types/pgr_makeConnected_t.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/c_types/pgr_makeConnected_t.h b/include/c_types/pgr_makeConnected_t.h index 4f20e235429..42cd7d9ca15 100644 --- a/include/c_types/pgr_makeConnected_t.h +++ b/include/c_types/pgr_makeConnected_t.h @@ -5,8 +5,8 @@ Copyright (c) 2015 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2019 Hang Wu -mail: nike0good@gmail.com +Copyright (c) 2020 Himanshu Raj +mail: raj.himanshu2@gmail.com ------ This program is free software; you can redistribute it and/or modify @@ -35,8 +35,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif typedef struct { - int seq; - int64_t sorted_v; -} pgr_topologicalSort_t; + int64_t nodeA; + int64_t nodeB; +} pgr_makeConnected_t; #endif // INCLUDE_C_TYPES_PGR_MAKECONNECTED_T_H_ From 7f4df5ce663a853b0390283fa6b93d2cd7604b7a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 30 Jun 2020 17:18:32 +0530 Subject: [PATCH 0402/1360] [makeConnected] Modified sql files for correct return types --- sql/makeConnected/_makeConnected.sql | 5 +++-- sql/makeConnected/makeConnected.sql | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sql/makeConnected/_makeConnected.sql b/sql/makeConnected/_makeConnected.sql index b8bc27e00ba..90af09620f0 100644 --- a/sql/makeConnected/_makeConnected.sql +++ b/sql/makeConnected/_makeConnected.sql @@ -32,8 +32,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION _pgr_makeConnected( edges_sql TEXT, - OUT seq INTEGER, - OUT sorted_v BIGINT) + OUT seq BIGINT, + OUT nodeA BIGINT, + OUT nodeB BIGINT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' LANGUAGE c VOLATILE STRICT; diff --git a/sql/makeConnected/makeConnected.sql b/sql/makeConnected/makeConnected.sql index 8a9d794d839..bf4c18b9129 100644 --- a/sql/makeConnected/makeConnected.sql +++ b/sql/makeConnected/makeConnected.sql @@ -32,8 +32,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION pgr_makeConnected( TEXT, -- edges_sql (required) - OUT seq INTEGER, - OUT sorted_v BIGINT) + OUT seq BIGINT, + OUT nodeA BIGINT, + OUT nodeB BIGINT) RETURNS SETOF RECORD AS $BODY$ SELECT * From 0026e0aa2f7f9aeb39d0609a4fceafe0bd60f898 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 30 Jun 2020 17:35:26 +0530 Subject: [PATCH 0403/1360] [makeConnected] Modified c and cpp files according to required implementation --- configuration.conf | 2 +- src/makeConnected/makeConnected.c | 11 +++++---- src/makeConnected/makeConnected_driver.cpp | 27 +++++++--------------- 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/configuration.conf b/configuration.conf index 6b0fa9f8b20..92b1d3262a0 100644 --- a/configuration.conf +++ b/configuration.conf @@ -43,7 +43,7 @@ breadthFirstSearch | Y | Y | Y traversal | Y | Y | Y coloring | Y | Y | Y planarGraph | Y | Y | Y -makeConnected | N | Y | N +makeConnected | Y | Y | N #---------------------- # SQL only directories #---------------------- diff --git a/src/makeConnected/makeConnected.c b/src/makeConnected/makeConnected.c index ac320ec61b9..66ab0ea9551 100644 --- a/src/makeConnected/makeConnected.c +++ b/src/makeConnected/makeConnected.c @@ -51,7 +51,7 @@ static void process( char* edges_sql, - pgr_topologicalSort_t **result_tuples, + pgr_makeConnected_t **result_tuples, size_t *result_count) { pgr_SPI_connect(); @@ -64,7 +64,7 @@ process( char* log_msg = NULL; char* notice_msg = NULL; char* err_msg = NULL; - do_pgr_topologicalSort( + do_pgr_makeConnected( edges, total_edges, result_tuples, result_count, @@ -138,7 +138,7 @@ _pgr_makeconnected(PG_FUNCTION_ARGS) { funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_topologicalSort_t*) funcctx->user_fctx; + result_tuples = (pgr_makeConnected_t*) funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { HeapTuple tuple; @@ -151,7 +151,7 @@ _pgr_makeconnected(PG_FUNCTION_ARGS) { // OUT seq INTEGER, // OUT sorted_v BIGINT) - size_t numb = 2; + size_t numb = 3; values = palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); @@ -161,7 +161,8 @@ _pgr_makeconnected(PG_FUNCTION_ARGS) { } values[0] = Int32GetDatum(call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[call_cntr].sorted_v); + values[1] = Int64GetDatum(result_tuples[call_cntr].nodeA); + values[2] = Int64GetDatum(result_tuples[call_cntr].nodeB); /**********************************************************************/ tuple = heap_form_tuple(tuple_desc, values, nulls); diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp index 71e4636c1b7..7596a70ee09 100644 --- a/src/makeConnected/makeConnected_driver.cpp +++ b/src/makeConnected/makeConnected_driver.cpp @@ -27,7 +27,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "drivers/topologicalSort/topologicalSort_driver.h" +#include "drivers/makeConnected/makeConnected_driver.h" #include #include @@ -41,25 +41,16 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" -template < class G > -static -std::vector -pgr_topologicalSort( - G &graph) { - Pgr_topologicalSort< G > fn_topologicalSort; - return fn_topologicalSort.topologicalSort(graph); -} - // CREATE OR REPLACE FUNCTION pgr_topologicalSort( // sql text, void -do_pgr_topologicalSort( +do_pgr_makeConnected( pgr_edge_t *data_edges, size_t total_edges, - pgr_topologicalSort_t **return_tuples, + pgr_makeConnected_t **return_tuples, size_t *return_count, char ** log_msg, char ** notice_msg, @@ -76,15 +67,13 @@ do_pgr_topologicalSort( pgassert(!(*return_tuples)); pgassert(*return_count == 0); - graphType gType = DIRECTED; + graphType gType = UNDIRECTED; - std::vector results; + std::vector results; - log << "Working with Directed Graph\n"; - pgrouting::DirectedGraph digraph(gType); - digraph.insert_edges(data_edges, total_edges); - results = pgr_topologicalSort( - digraph); + // log << "Working with Directed Graph\n"; + // pgrouting::DirectedGraph digraph(gType); + // digraph.insert_edges(data_edges, total_edges); auto count = results.size(); From 0eef4b1f0d00b613fb6a9f660d9dbe0097c9a1cc Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 30 Jun 2020 17:54:59 +0530 Subject: [PATCH 0404/1360] [makeConnected] Modifying driver files --- .../drivers/makeConnected/makeConnected_driver.h | 15 +++++++-------- src/makeConnected/makeConnected.c | 2 +- src/makeConnected/makeConnected_driver.cpp | 3 ++- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/drivers/makeConnected/makeConnected_driver.h b/include/drivers/makeConnected/makeConnected_driver.h index 600e0aa3500..d5fa10f9e45 100644 --- a/include/drivers/makeConnected/makeConnected_driver.h +++ b/include/drivers/makeConnected/makeConnected_driver.h @@ -3,12 +3,12 @@ File: topologicalSort_driver.h Generated with Template by: -Copyright (c) 2015 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2019 Hang Wu -mail: nike0good@gmail.com +Copyright (c) 2020 Himanshu Raj +mail: raj.himanshu2@gmail.com ------ @@ -28,8 +28,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ -#define INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ +#ifndef INCLUDE_DRIVERS_MAKECONNECTED_MAKECONNECTED_DRIVER_H_ +#define INCLUDE_DRIVERS_MAKECONNECTED_MAKECONNECTED_DRIVER_H_ /* for size-t */ #ifdef __cplusplus @@ -39,14 +39,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" -#include "c_types/pgr_topologicalSort_t.h" #include "c_types/pgr_makeConnected_t.h" #ifdef __cplusplus extern "C" { #endif - // CREATE OR REPLACE FUNCTION pgr_topologicalSort( + // CREATE OR REPLACE FUNCTION pgr_makeConnected( // sql text, void do_pgr_makeConnected( pgr_edge_t *data_edges, @@ -63,4 +62,4 @@ extern "C" { } #endif -#endif // INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ +#endif // INCLUDE_DRIVERS_MAKECONNECTED_MAKECONNECTED_DRIVER_H_ diff --git a/src/makeConnected/makeConnected.c b/src/makeConnected/makeConnected.c index 66ab0ea9551..cbcb9fcbcae 100644 --- a/src/makeConnected/makeConnected.c +++ b/src/makeConnected/makeConnected.c @@ -96,7 +96,7 @@ _pgr_makeconnected(PG_FUNCTION_ARGS) { TupleDesc tuple_desc; /**********************************************************************/ - pgr_topologicalSort_t *result_tuples = NULL; + pgr_makeConnected_t *result_tuples = NULL; size_t result_count = 0; /**********************************************************************/ diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp index 7596a70ee09..eab144bab55 100644 --- a/src/makeConnected/makeConnected_driver.cpp +++ b/src/makeConnected/makeConnected_driver.cpp @@ -35,11 +35,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include -#include "topologicalSort/pgr_topologicalSort.hpp" +// #include "topologicalSort/pgr_topologicalSort.hpp" #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" +#include "cpp_common/pgr_base_graph.hpp" // CREATE OR REPLACE FUNCTION pgr_topologicalSort( From 6c50b608f320b04412d5eadffe35b0325a1020c3 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 30 Jun 2020 18:02:47 +0530 Subject: [PATCH 0405/1360] [makeConnected] Modified sigs filequery is getting returned --- sql/sigs/pgrouting--3.0.0.sig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 817ac128ba5..adf2de73115 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -150,6 +150,8 @@ _pgr_linegraphfull(text) pgr_linegraphfull(text) _pgr_linegraph(text,boolean) pgr_linegraph(text,boolean) +_pgr_makeconnected(text) +pgr_makeconnected(text) _pgr_maxcardinalitymatch(text,boolean) pgr_maxcardinalitymatch(text,boolean) pgr_maxflowmincost_cost(text,anyarray,anyarray) From 538836ae65307b161fe9a8f0dba10adf78cb1426 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 2 Jul 2020 17:11:30 +0530 Subject: [PATCH 0406/1360] [makeConnected] Modified the return types --- include/c_types/pgr_makeConnected_t.h | 4 ++-- src/makeConnected/makeConnected.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/c_types/pgr_makeConnected_t.h b/include/c_types/pgr_makeConnected_t.h index 42cd7d9ca15..29a3cd2ed32 100644 --- a/include/c_types/pgr_makeConnected_t.h +++ b/include/c_types/pgr_makeConnected_t.h @@ -35,8 +35,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif typedef struct { - int64_t nodeA; - int64_t nodeB; + int64_t node_from; + int64_t node_to; } pgr_makeConnected_t; #endif // INCLUDE_C_TYPES_PGR_MAKECONNECTED_T_H_ diff --git a/src/makeConnected/makeConnected.c b/src/makeConnected/makeConnected.c index cbcb9fcbcae..34ec576180b 100644 --- a/src/makeConnected/makeConnected.c +++ b/src/makeConnected/makeConnected.c @@ -7,8 +7,8 @@ Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2019 Hang Wu -mail: nike0good@gmail.com +Copyright (c) 2020 Himanshu Raj +mail: raj.himanshu2@gmail.com ------ @@ -161,8 +161,8 @@ _pgr_makeconnected(PG_FUNCTION_ARGS) { } values[0] = Int32GetDatum(call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[call_cntr].nodeA); - values[2] = Int64GetDatum(result_tuples[call_cntr].nodeB); + values[1] = Int64GetDatum(result_tuples[call_cntr].node_from); + values[2] = Int64GetDatum(result_tuples[call_cntr].node_to); /**********************************************************************/ tuple = heap_form_tuple(tuple_desc, values, nulls); From c75121e88cea70cbcb6b7fbca42ff76cb28e2eb9 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 2 Jul 2020 17:28:14 +0530 Subject: [PATCH 0407/1360] [makeConnected] Modified sql files according to the required implementation --- sql/makeConnected/_makeConnected.sql | 4 ++-- sql/makeConnected/makeConnected.sql | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sql/makeConnected/_makeConnected.sql b/sql/makeConnected/_makeConnected.sql index 90af09620f0..05b9d2d2e41 100644 --- a/sql/makeConnected/_makeConnected.sql +++ b/sql/makeConnected/_makeConnected.sql @@ -33,8 +33,8 @@ CREATE OR REPLACE FUNCTION _pgr_makeConnected( edges_sql TEXT, OUT seq BIGINT, - OUT nodeA BIGINT, - OUT nodeB BIGINT) + OUT node_from BIGINT, + OUT node_to BIGINT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' LANGUAGE c VOLATILE STRICT; diff --git a/sql/makeConnected/makeConnected.sql b/sql/makeConnected/makeConnected.sql index bf4c18b9129..d8686d4650f 100644 --- a/sql/makeConnected/makeConnected.sql +++ b/sql/makeConnected/makeConnected.sql @@ -33,8 +33,8 @@ CREATE OR REPLACE FUNCTION pgr_makeConnected( TEXT, -- edges_sql (required) OUT seq BIGINT, - OUT nodeA BIGINT, - OUT nodeB BIGINT) + OUT node_from BIGINT, + OUT node_to BIGINT) RETURNS SETOF RECORD AS $BODY$ SELECT * From 101acc07df4bf18e2ef6c1c36e724546ac15f651 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 2 Jul 2020 17:33:54 +0530 Subject: [PATCH 0408/1360] [makeConnected] Removed unnecessary headers and comments --- src/makeConnected/CMakeLists.txt | 1 - src/makeConnected/makeConnected.c | 1 - src/makeConnected/makeConnected_driver.cpp | 3 --- 3 files changed, 5 deletions(-) diff --git a/src/makeConnected/CMakeLists.txt b/src/makeConnected/CMakeLists.txt index 02b72ab3d37..6b3af373544 100644 --- a/src/makeConnected/CMakeLists.txt +++ b/src/makeConnected/CMakeLists.txt @@ -1,4 +1,3 @@ ADD_LIBRARY(makeConnected OBJECT makeConnected.c - makeConnected_driver.cpp) diff --git a/src/makeConnected/makeConnected.c b/src/makeConnected/makeConnected.c index 34ec576180b..30969d2c4fe 100644 --- a/src/makeConnected/makeConnected.c +++ b/src/makeConnected/makeConnected.c @@ -39,7 +39,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/time_msg.h" #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "drivers/topologicalSort/topologicalSort_driver.h" #include "drivers/makeConnected/makeConnected_driver.h" #if 0 PG_MODULE_MAGIC; diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp index eab144bab55..9387764dd88 100644 --- a/src/makeConnected/makeConnected_driver.cpp +++ b/src/makeConnected/makeConnected_driver.cpp @@ -35,9 +35,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include -// #include "topologicalSort/pgr_topologicalSort.hpp" - - #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" #include "cpp_common/pgr_base_graph.hpp" From c5b5edb88b012720b8639d5b9c6242d1a95e9873 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 3 Jul 2020 23:54:39 +0530 Subject: [PATCH 0409/1360] [makeConnected] Added the actual .hpp file --- include/makeConnected/pgr_makeConnected.hpp | 47 +++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 include/makeConnected/pgr_makeConnected.hpp diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp new file mode 100644 index 00000000000..fb8ba8fcd0b --- /dev/null +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -0,0 +1,47 @@ +/*PGR-GNU***************************************************************** +File: pgr_makeConnected.hpp + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ +#define INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ +#pragma once + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "cpp_common/pgr_base_graph.hpp" +#include "c_types/pgr_boyer_t.h" +//****************************************** +using namespace boost; +namespace pgrouting { +namespace functions { +} +} + +#endif //INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ From 483261b224386caedd4b0383327edc7202529a5a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 3 Jul 2020 23:59:17 +0530 Subject: [PATCH 0410/1360] [makeConnected] Removed unnecessary headers --- include/makeConnected/pgr_makeConnected.hpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index fb8ba8fcd0b..90d7fbe577f 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -32,9 +32,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include -#include -#include - #include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_boyer_t.h" //****************************************** From a35672515b1170e8b4a21651392c7ade9dacfe93 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 6 Jul 2020 10:29:28 +0530 Subject: [PATCH 0411/1360] [makeConnected] Added the required headers for implementation --- include/makeConnected/pgr_makeConnected.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index 90d7fbe577f..0c9b0bff7c6 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -34,6 +34,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_boyer_t.h" +#include +#include //****************************************** using namespace boost; namespace pgrouting { From 3b2b0c5048cdaa04561f99d49bf24ef0ce123783 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 6 Jul 2020 13:10:51 +0530 Subject: [PATCH 0412/1360] [makeConnected] Added class Pgr_makeConnected --- include/makeConnected/pgr_makeConnected.hpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index 0c9b0bff7c6..6ed79578431 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -32,14 +32,25 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include -#include "cpp_common/pgr_base_graph.hpp" -#include "c_types/pgr_boyer_t.h" #include #include + +#include "cpp_common/pgr_base_graph.hpp" +#include "c_types/pgr_boyer_t.h" + //****************************************** using namespace boost; namespace pgrouting { namespace functions { + + template < class G > + class Pgr_makeConnected : public pgrouting::Pgr_messages { + public: + typedef typename G::V V; + typedef typename G::E E; + typedef typename G::E_i E_i; + + private: } } From 6c6f9e3d0665c06276b4b40af737a4b5ad50c753 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 6 Jul 2020 14:35:27 +0530 Subject: [PATCH 0413/1360] [makeConnected] Added the prototype of the function --- include/makeConnected/pgr_makeConnected.hpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index 6ed79578431..202dad2e75d 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -36,7 +36,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "cpp_common/pgr_base_graph.hpp" -#include "c_types/pgr_boyer_t.h" +#include "c_types/pgr_makeConnected_t.h" //****************************************** using namespace boost; @@ -49,7 +49,11 @@ namespace functions { typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; - + std::vector makeConnected( + G &graph){ + return generatemakeConnected( + graph); + } private: } } From 800da177ba5981d9ea701523b97d375d270a8117 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 6 Jul 2020 15:27:15 +0530 Subject: [PATCH 0414/1360] [makeConnected] Hardcoded the results to be passed --- include/makeConnected/pgr_makeConnected.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index 202dad2e75d..0bdb0eb15a1 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -55,6 +55,19 @@ namespace functions { graph); } private: + std::vector< pgr_makeConnected_t > + generatemakeConnected( + const G &graph ) { + std::vector< pgr_makeConnected_t > results(1); + E_i ei, ei_end; + int i; + + results[0].node_from = 1; + results[0].node_to = 2; + + return results; + } + }; } } From 01e33248591ff3e3f90d609777405c01f7283e24 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 6 Jul 2020 20:40:12 +0530 Subject: [PATCH 0415/1360] [makeConnected] Added debugging variables --- include/makeConnected/pgr_makeConnected.hpp | 14 +++++++------ src/makeConnected/makeConnected_driver.cpp | 22 ++++++++++++++++++--- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index 0bdb0eb15a1..4b472423d63 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -36,6 +36,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "cpp_common/pgr_base_graph.hpp" +#include "cpp_common/pgr_messages.h" #include "c_types/pgr_makeConnected_t.h" //****************************************** @@ -44,7 +45,7 @@ namespace pgrouting { namespace functions { template < class G > - class Pgr_makeConnected : public pgrouting::Pgr_messages { + class Pgr_makeConnected : public pgrouting::Pgr_messages{ public: typedef typename G::V V; typedef typename G::E E; @@ -58,12 +59,13 @@ namespace functions { std::vector< pgr_makeConnected_t > generatemakeConnected( const G &graph ) { - std::vector< pgr_makeConnected_t > results(1); + std::vector< pgr_makeConnected_t > results(num_edges(graph.graph)); E_i ei, ei_end; - int i; - - results[0].node_from = 1; - results[0].node_to = 2; + int i=0; + log << "here:\n"<< i; + // std::cout << i <<" "; + results[0].node_from = results.size(); + results[0].node_to = results.size(); return results; } diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp index 9387764dd88..64863aab95f 100644 --- a/src/makeConnected/makeConnected_driver.cpp +++ b/src/makeConnected/makeConnected_driver.cpp @@ -39,7 +39,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_assert.h" #include "cpp_common/pgr_base_graph.hpp" - +#include "makeConnected/pgr_makeConnected.hpp" + +template < class G > +std::vector +pgr_makeConnected( + G &graph) { + pgrouting::functions::Pgr_makeConnected< G > fn_makeConnected; + auto results = fn_makeConnected.makeConnected( + graph); + return results; +} // CREATE OR REPLACE FUNCTION pgr_topologicalSort( // sql text, void @@ -65,14 +75,20 @@ do_pgr_makeConnected( pgassert(!(*return_tuples)); pgassert(*return_count == 0); - graphType gType = UNDIRECTED; + // graphType gType = UNDIRECTED; std::vector results; - + std::string logstr; // log << "Working with Directed Graph\n"; // pgrouting::DirectedGraph digraph(gType); // digraph.insert_edges(data_edges, total_edges); + graphType gType = UNDIRECTED; + log << "Working with Undirected Graph\n"; + pgrouting::UndirectedGraph undigraph(gType); + undigraph.insert_edges(data_edges, total_edges); + results = pgr_makeConnected(undigraph); + auto count = results.size(); if (count == 0) { From 1399e51cca932e2d45aeb365061ccdac4ac12749 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 7 Jul 2020 23:17:49 +0530 Subject: [PATCH 0416/1360] [makeConnected] Modified run.sh file --- run.sh | 195 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 191 insertions(+), 4 deletions(-) diff --git a/run.sh b/run.sh index 41bb530f995..cceae9b7126 100644 --- a/run.sh +++ b/run.sh @@ -1,5 +1,192 @@ -cd build -rm -rf build/* -cmake .. -make +#!/bin/bash + +set -e + + +# copy this file into the root of your repository +# adjust to your needs + +# This run.sh is intended for 3.0.0 +VERSION=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) + +# set up your postgres version and port +PGVERSION="12" +PGPORT="5432" +PGBIN="/usr/lib/postgresql/${PGVERSION}/bin" + +# Compiler setup + +# When more than one compiler is installed +GCC="8" + +# Using the default compiler version +unset GCC + + +ALLDIRS=" +allpairs +alpha_shape +astar +bdAstar +bdDijkstra +bellman_ford +breadthFirstSearch +chinese +common +components +contraction +dagShortestPath +dijkstra +driving_distance +internalQueryTests +ksp +lineGraph +max_flow +mincut +pickDeliver +spanningTree +topologicalSort +topology +transitiveClosure +trsp +tsp +version +vrp_basic +withPoints" + +TESTDIRS=${ALLDIRS} +TESTDIRS="dijkstra makeConnected" + + +function test_compile { + +echo ------------------------------------ +echo ------------------------------------ +echo "Compiling with G++-$1" +echo ------------------------------------ + +if [ ! -z "$1" ]; then + update-alternatives --set gcc /usr/bin/gcc-$1 +fi + + +cd build/ + +# Using all defaults +#cmake .. + +# Options Release RelWithDebInfo MinSizeRel Debug +#cmake -DCMAKE_BUILD_TYPE=Debug .. + +# Additional debug information +#cmake -DPgRouting_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug .. + +# with documentation (like the one the website) +#cmake -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON .. + +# with developers documentation +#cmake -DWITH_DOC=ON -DBUILD_DOXY=ON .. + +cmake -DPOSTGRESQL_BIN=${PGBIN} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DBUILD_LATEX=ON -DCMAKE_BUILD_TYPE=Debug .. + +make -j 4 sudo make install +exit 0 +cd .. + + +echo +echo -------------------------------------------- +echo Execute documentation queries for a particular directories +echo -------------------------------------------- + + +# choose what is going to be tested while developing +for d in ${TESTDIRS} +do + #tools/testers/doc_queries_generator.pl -alg ${d} -documentation -pgport ${PGPORT} + tools/testers/doc_queries_generator.pl -alg ${d} -pgport ${PGPORT} + tools/developer/taptest.sh ${d}/* -p ${PGPORT} +done + + + + + + +echo +echo -------------------------------------------- +echo Update signatures +echo -------------------------------------------- + +sh tools/release-scripts/get_signatures.sh -p ${PGPORT} + + +if [[ $(git status | grep 'pgrouting--') ]]; then + echo "**************************************************" + echo " WARNING" + echo "the signatures changed, copyed the generated files" + echo "Plese verify the changes are minimal" + echo "**************************************************" + git diff sql/sigs +fi + + +################################ +################################ +## checks all the repository +# +# the rest of the script use PGPORT variable +################################ +################################ +echo +echo -------------------------------------------- +echo Update / Verify NEWS +echo -------------------------------------------- +tools/release-scripts/notes2news.pl +if [[ $(git status | grep 'NEWS') ]]; then + echo "**************************************************" + echo " WARNING" + echo "the signatures changed, copying generated files" + echo "Plese verify the changes are minimal" + echo "**************************************************" + git diff NEWS +fi + +######################################################## +# Execute documentation queries for the whole project +######################################################## +tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT + +tools/testers/doc_queries_generator.pl -pgport $PGPORT + +cd build +#rm -rf doc/* +make doc +#rm -rf doxygen/* +make doxy +cd .. + +######################################################## +# pgTap test all +######################################################## + +dropdb --if-exists -p $PGPORT ___pgr___test___ +createdb -p $PGPORT ___pgr___test___ +echo $PGPORT +sh ./tools/testers/pg_prove_tests.sh vicky $PGPORT +dropdb -p $PGPORT ___pgr___test___ + +#tools/testers/update-tester.sh + +} + +# Uncomment what you need +for compiler in GCC +do + if [ ! -z "$1" ]; then + echo "Fresh build" + rm -rf build/* + fi + test_compile ${GCC} +done From 421be452a23f982cc434ad933ef015158b17ddfd Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 7 Jul 2020 23:26:16 +0530 Subject: [PATCH 0417/1360] [makeConnected] Modified sql files to check the error --- sql/makeConnected/_makeConnected.sql | 32 +++++++++++++++------------- sql/makeConnected/makeConnected.sql | 21 +++++++++--------- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/sql/makeConnected/_makeConnected.sql b/sql/makeConnected/_makeConnected.sql index 05b9d2d2e41..6a34e677f2c 100644 --- a/sql/makeConnected/_makeConnected.sql +++ b/sql/makeConnected/_makeConnected.sql @@ -1,11 +1,12 @@ /*PGR-GNU***************************************************************** +File: _makeConnected.sql -Copyright (c) 2015 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org -Function's developer: -Copyright (c) 2019 Hang Wu -mail: nike0good@gmail.com +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + ------ This program is free software; you can redistribute it and/or modify @@ -23,24 +24,25 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ - ---------------- --- _pgr_makeConnected ---------------- - +------------------------- +------------------------- +-- _makeConnected +------------------------- +------------------------- CREATE OR REPLACE FUNCTION _pgr_makeConnected( - edges_sql TEXT, + TEXT, -- edges_sql (required) + + OUT seq BIGINT, + OUT node_fro BIGINT, + OUT node_to BIGINT) - OUT seq BIGINT, - OUT node_from BIGINT, - OUT node_to BIGINT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' -LANGUAGE c VOLATILE STRICT; +LANGUAGE c IMMUTABLE STRICT; --- COMMENTS +-- COMMENTS COMMENT ON FUNCTION _pgr_makeConnected(TEXT) IS 'pgRouting internal function'; diff --git a/sql/makeConnected/makeConnected.sql b/sql/makeConnected/makeConnected.sql index d8686d4650f..5a89fbeaf03 100644 --- a/sql/makeConnected/makeConnected.sql +++ b/sql/makeConnected/makeConnected.sql @@ -1,11 +1,13 @@ /*PGR-GNU***************************************************************** +File: makeConnected.sql Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: Copyright (c) 2020 Himanshu Raj -mail: raj.himanshu2@gmail.com +Mail: raj.himanshu2@gmail.com + ------ This program is free software; you can redistribute it and/or modify @@ -24,32 +26,29 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ ---------------- +------------------ -- pgr_makeConnected ---------------- - +------------------ CREATE OR REPLACE FUNCTION pgr_makeConnected( - TEXT, -- edges_sql (required) - + TEXT, -- edges_sql (required) OUT seq BIGINT, - OUT node_from BIGINT, + OUT node_fro BIGINT, OUT node_to BIGINT) + RETURNS SETOF RECORD AS $BODY$ SELECT * - FROM _pgr_makeConnected(_pgr_get_statement($1)); + FROM _pgr_makeConnected(_pgr_get_statement($1)) AS a; $BODY$ LANGUAGE SQL VOLATILE STRICT; - -- COMMENTS - COMMENT ON FUNCTION pgr_makeConnected(TEXT) IS 'pgr_makeConnected - EXPERIMENTAL -- Directed graph +- Undirected graph - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: From baa90a8eaee4782dd8b18b6c212698c96b777e35 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 8 Jul 2020 10:58:49 +0530 Subject: [PATCH 0418/1360] [makeConnected] Minor Modifications --- include/c_types/pgr_makeConnected_t.h | 18 +++++----- .../makeConnected/makeConnected_driver.h | 36 +++++++++++-------- 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/include/c_types/pgr_makeConnected_t.h b/include/c_types/pgr_makeConnected_t.h index 29a3cd2ed32..c1e079188bc 100644 --- a/include/c_types/pgr_makeConnected_t.h +++ b/include/c_types/pgr_makeConnected_t.h @@ -1,26 +1,26 @@ /*PGR-GNU***************************************************************** -File: pgr_topologicalSortt.h +File: pgr_boyer_t.h -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Himanshu Raj -mail: raj.himanshu2@gmail.com +Copyright (c) 2017 Celia Virginia Vergara Castillo +Mail: vicky_vergara@hotmail.com ------ + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -********************************************************************PGR-GNU*/ + + ********************************************************************PGR-GNU*/ /*! @file */ #ifndef INCLUDE_C_TYPES_PGR_MAKECONNECTED_T_H_ @@ -35,7 +35,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif typedef struct { - int64_t node_from; + int64_t node_fro; int64_t node_to; } pgr_makeConnected_t; diff --git a/include/drivers/makeConnected/makeConnected_driver.h b/include/drivers/makeConnected/makeConnected_driver.h index d5fa10f9e45..166b6df705e 100644 --- a/include/drivers/makeConnected/makeConnected_driver.h +++ b/include/drivers/makeConnected/makeConnected_driver.h @@ -1,14 +1,13 @@ /*PGR-GNU***************************************************************** - -File: topologicalSort_driver.h +File: makeConnected_driver.h Generated with Template by: -Copyright (c) 2020 pgRouting developers +Copyright (c) 2019 pgRouting developers Mail: project@pgrouting.org Function's developer: Copyright (c) 2020 Himanshu Raj -mail: raj.himanshu2@gmail.com +Mail: raj.himanshu2@gmail.com ------ @@ -30,6 +29,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #ifndef INCLUDE_DRIVERS_MAKECONNECTED_MAKECONNECTED_DRIVER_H_ #define INCLUDE_DRIVERS_MAKECONNECTED_MAKECONNECTED_DRIVER_H_ +#pragma once /* for size-t */ #ifdef __cplusplus @@ -40,26 +40,32 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pgr_edge_t.h" #include "c_types/pgr_makeConnected_t.h" +#include "c_types/pgr_mst_rt.h" #ifdef __cplusplus extern "C" { #endif - // CREATE OR REPLACE FUNCTION pgr_makeConnected( - // sql text, - void do_pgr_makeConnected( - pgr_edge_t *data_edges, - size_t total_tuples, + /********************************************************* + TEXT, + ANYARRAY, + max_depth BIGINT DEFAULT 9223372036854775807, + directed BOOLEAN DEFAULT true + ********************************************************/ - pgr_makeConnected_t **return_tuples, - size_t *return_count, - char** log_msg, - char** notice_msg, - char** err_msg); + void do_pgr_makeConnected( + pgr_edge_t *data_edges, + size_t total_tuples, + pgr_makeConnected_t **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg); + #ifdef __cplusplus - } +} #endif #endif // INCLUDE_DRIVERS_MAKECONNECTED_MAKECONNECTED_DRIVER_H_ From 172300da751b0db6fc515c4af7242a79b4541b08 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 8 Jul 2020 12:02:53 +0530 Subject: [PATCH 0419/1360] [makeConnected] Fixing the errors --- src/makeConnected/CMakeLists.txt | 5 +- src/makeConnected/makeConnected.c | 152 ++++++++++++--------- src/makeConnected/makeConnected_driver.cpp | 49 +++---- 3 files changed, 115 insertions(+), 91 deletions(-) diff --git a/src/makeConnected/CMakeLists.txt b/src/makeConnected/CMakeLists.txt index 6b3af373544..a9a67793e65 100644 --- a/src/makeConnected/CMakeLists.txt +++ b/src/makeConnected/CMakeLists.txt @@ -1,3 +1,4 @@ ADD_LIBRARY(makeConnected OBJECT - makeConnected.c - makeConnected_driver.cpp) + makeConnected.c + makeConnected_driver.cpp + ) diff --git a/src/makeConnected/makeConnected.c b/src/makeConnected/makeConnected.c index 30969d2c4fe..df80be269c6 100644 --- a/src/makeConnected/makeConnected.c +++ b/src/makeConnected/makeConnected.c @@ -1,14 +1,14 @@ /*PGR-GNU***************************************************************** - -File: topologicalSort.c +File: makeConnected.c Generated with Template by: -Copyright (c) 2020 pgRouting developers +Copyright (c) 2019 pgRouting developers Mail: project@pgrouting.org Function's developer: Copyright (c) 2020 Himanshu Raj -mail: raj.himanshu2@gmail.com +Mail: raj.himanshu2@gmail.com + ------ @@ -29,90 +29,111 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ #include - #include "c_common/postgres_connection.h" #include "utils/array.h" - #include "c_common/debug_macro.h" #include "c_common/e_report.h" #include "c_common/time_msg.h" + #include "c_common/edges_input.h" #include "c_common/arrays_input.h" + #include "drivers/makeConnected/makeConnected_driver.h" -#if 0 -PG_MODULE_MAGIC; -#endif PGDLLEXPORT Datum _pgr_makeconnected(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_makeconnected); -static -void +static void process( - char* edges_sql, - pgr_makeConnected_t **result_tuples, - size_t *result_count) { + char *edges_sql, + + pgr_makeConnected_t **result_tuples, + size_t *result_count) { pgr_SPI_connect(); + PGR_DBG("Initializing arrays"); + + + (*result_tuples) = NULL; + (*result_count) = 0; + + PGR_DBG("Load data"); pgr_edge_t *edges = NULL; size_t total_edges = 0; + pgr_get_edges(edges_sql, &edges, &total_edges); + PGR_DBG("Total %ld edges in query:", total_edges); + + if (total_edges == 0) { + pgr_SPI_finish(); + return; + } - PGR_DBG("Starting timer"); + PGR_DBG("Starting processing"); clock_t start_t = clock(); - char* log_msg = NULL; - char* notice_msg = NULL; - char* err_msg = NULL; + char *log_msg = NULL; + char *notice_msg = NULL; + char *err_msg = NULL; do_pgr_makeConnected( - edges, total_edges, - result_tuples, - result_count, - &log_msg, - ¬ice_msg, - &err_msg); + edges, + total_edges, - time_msg("processing pgr_topologicalSort", start_t, clock()); + result_tuples, + result_count, + &log_msg, + ¬ice_msg, + &err_msg); - if (err_msg && (*result_tuples)) { - pfree(*result_tuples); - (*result_tuples) = NULL; - (*result_count) = 0; + time_msg(" processing pgr_makeConnected", start_t, clock()); + time_msg(" processing pgr_makeConnghftthddected", start_t, clock()); + PGR_DBG("Returning %ld tuples", *result_count); + + if (err_msg) { + if (*result_tuples) + pfree(*result_tuples); } pgr_global_report(log_msg, notice_msg, err_msg); - if (log_msg) pfree(log_msg); - if (notice_msg) pfree(notice_msg); - if (err_msg) pfree(err_msg); - if (edges) pfree(edges); + if (edges) + pfree(edges); + if (log_msg) + pfree(log_msg); + if (notice_msg) + pfree(notice_msg); + if (err_msg) + pfree(err_msg); + pgr_SPI_finish(); } -PGDLLEXPORT Datum -_pgr_makeconnected(PG_FUNCTION_ARGS) { - FuncCallContext *funcctx; - TupleDesc tuple_desc; +PGDLLEXPORT Datum _pgr_makeconnected(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; - /**********************************************************************/ + /**************************************************************************/ pgr_makeConnected_t *result_tuples = NULL; size_t result_count = 0; - /**********************************************************************/ + /**************************************************************************/ if (SRF_IS_FIRSTCALL()) { - MemoryContext oldcontext; + MemoryContext oldcontext; funcctx = SRF_FIRSTCALL_INIT(); oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - // pgr_topologicalSort( - // sql TEXT, + /* + pgr_makeConnected( + edge_sql TEXT) + */ + /**********************************************************************/ + PGR_DBG("Calling process"); process( - text_to_cstring(PG_GETARG_TEXT_P(0)), - &result_tuples, - &result_count); + text_to_cstring(PG_GETARG_TEXT_P(0)), + &result_tuples, + &result_count); /**********************************************************************/ @@ -121,14 +142,12 @@ _pgr_makeconnected(PG_FUNCTION_ARGS) { #else funcctx->max_calls = (uint32_t)result_count; #endif - funcctx->user_fctx = result_tuples; - if (get_call_result_type(fcinfo, NULL, &tuple_desc) - != TYPEFUNC_COMPOSITE) { + if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("function returning record called in context " - "that cannot accept type record"))); + "that cannot accept type record"))); } funcctx->tuple_desc = tuple_desc; @@ -137,19 +156,21 @@ _pgr_makeconnected(PG_FUNCTION_ARGS) { funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_makeConnected_t*) funcctx->user_fctx; + result_tuples = (pgr_makeConnected_t *)funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; - Datum result; - Datum *values; - bool* nulls; - size_t call_cntr = funcctx->call_cntr; + HeapTuple tuple; + Datum result; + Datum *values; + bool *nulls; /**********************************************************************/ - // OUT seq INTEGER, - // OUT sorted_v BIGINT) - + /* + OUT source BIGINT, + OUT target_vid BIGINT, + OUT cost FLOAT, + */ + /**********************************************************************/ size_t numb = 3; values = palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); @@ -159,15 +180,22 @@ _pgr_makeconnected(PG_FUNCTION_ARGS) { nulls[i] = false; } - values[0] = Int32GetDatum(call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[call_cntr].node_from); - values[2] = Int64GetDatum(result_tuples[call_cntr].node_to); + values[0] = Int32GetDatum(funcctx->call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].node_fro); + values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].node_to); + /**********************************************************************/ tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); } else { + /**********************************************************************/ + + PGR_DBG("Clean up code"); + + /**********************************************************************/ + SRF_RETURN_DONE(funcctx); } } diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp index 64863aab95f..18e2fe7b993 100644 --- a/src/makeConnected/makeConnected_driver.cpp +++ b/src/makeConnected/makeConnected_driver.cpp @@ -1,13 +1,13 @@ /*PGR-GNU***************************************************************** -File: topologicalSort_driver.cpp +File: makeConnected_driver.cpp Generated with Template by: -Copyright (c) 2015 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2019 Hang Wu -mail: nike0good@gmail.com +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com ------ @@ -29,17 +29,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "drivers/makeConnected/makeConnected_driver.h" -#include -#include #include #include -#include +#include #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" -#include "cpp_common/pgr_base_graph.hpp" +#include "c_types/pgr_makeConnected_t.h" #include "makeConnected/pgr_makeConnected.hpp" +#include "cpp_common/pgr_base_graph.hpp" + template < class G > std::vector @@ -50,38 +50,30 @@ pgr_makeConnected( graph); return results; } -// CREATE OR REPLACE FUNCTION pgr_topologicalSort( -// sql text, + void do_pgr_makeConnected( - pgr_edge_t *data_edges, - size_t total_edges, - - - pgr_makeConnected_t **return_tuples, - size_t *return_count, - char ** log_msg, - char ** notice_msg, - char ** err_msg) { + pgr_edge_t *data_edges, + size_t total_edges, + + pgr_makeConnected_t **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg) { std::ostringstream log; std::ostringstream err; std::ostringstream notice; - try { - pgassert(total_edges != 0); pgassert(!(*log_msg)); pgassert(!(*notice_msg)); pgassert(!(*err_msg)); pgassert(!(*return_tuples)); pgassert(*return_count == 0); - - // graphType gType = UNDIRECTED; + pgassert(total_edges != 0); std::vector results; std::string logstr; - // log << "Working with Directed Graph\n"; - // pgrouting::DirectedGraph digraph(gType); - // digraph.insert_edges(data_edges, total_edges); graphType gType = UNDIRECTED; log << "Working with Undirected Graph\n"; @@ -89,17 +81,20 @@ do_pgr_makeConnected( undigraph.insert_edges(data_edges, total_edges); results = pgr_makeConnected(undigraph); + auto count = results.size(); if (count == 0) { (*return_tuples) = NULL; (*return_count) = 0; notice << - "No vertices"; + "No Vertices"; + *log_msg = pgr_msg(notice.str().c_str()); return; } (*return_tuples) = pgr_alloc(count, (*return_tuples)); + log << "\nConverting a set of traversals into the tuples"; for (size_t i = 0; i < count; i++) { *((*return_tuples) + i) = results[i]; } From fae8aaba3f91c9b9f40158329e9290e9e22a14e0 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 8 Jul 2020 12:09:33 +0530 Subject: [PATCH 0420/1360] [makeConnected] Dummy values getting returned at the query result --- docqueries/makeConnected/test.conf | 22 +++++++++ include/makeConnected/pgr_makeConnected.hpp | 52 ++++++++++++--------- pg_upgrade_internal.log | 6 +++ pg_upgrade_server.log | 5 ++ pg_upgrade_utility.log | 5 ++ 5 files changed, 68 insertions(+), 22 deletions(-) create mode 100644 docqueries/makeConnected/test.conf create mode 100644 pg_upgrade_internal.log create mode 100644 pg_upgrade_server.log create mode 100644 pg_upgrade_utility.log diff --git a/docqueries/makeConnected/test.conf b/docqueries/makeConnected/test.conf new file mode 100644 index 00000000000..6c1889d8be9 --- /dev/null +++ b/docqueries/makeConnected/test.conf @@ -0,0 +1,22 @@ +#!/usr/bin/perl -w + +%main::tests = ( + 'any' => { + 'comment' => 'pgr_makeConnected test from version :3.2.', + 'data' => [ ], + 'tests' => [qw( + doc-pgr_makeConnected + )], + 'documentation' => [qw( + doc-pgr_makeConnected + )] + ,'notests' => [qw( + )] + }, + +# 'vpg-vpgis' => {}, # for version specific tests +# '8-1' => {}, # for pg 8.x and postgis 1.x +# '9.2-2.1' => {}, # for pg 9.2 and postgis 2.1 +); + +1; diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index 4b472423d63..ce621da0522 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -32,44 +32,52 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include -#include -#include +#include +#include -#include "cpp_common/pgr_base_graph.hpp" #include "cpp_common/pgr_messages.h" +#include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_makeConnected_t.h" - //****************************************** using namespace boost; namespace pgrouting { namespace functions { - template < class G > - class Pgr_makeConnected : public pgrouting::Pgr_messages{ - public: - typedef typename G::V V; - typedef typename G::E E; - typedef typename G::E_i E_i; - std::vector makeConnected( - G &graph){ - return generatemakeConnected( - graph); - } - private: +template < class G > +class Pgr_makeConnected : public pgrouting::Pgr_messages { + public: + typedef typename G::V V; + typedef typename G::E E; + typedef typename G::E_i E_i; + std::vector makeConnected( + G &graph){ + return generatemakeConnected( + graph); + } + + private: std::vector< pgr_makeConnected_t > generatemakeConnected( const G &graph ) { std::vector< pgr_makeConnected_t > results(num_edges(graph.graph)); + auto check = 1; + if(check){ E_i ei, ei_end; - int i=0; - log << "here:\n"<< i; - // std::cout << i <<" "; - results[0].node_from = results.size(); - results[0].node_to = results.size(); + int i; + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ + int64_t source = graph[graph.source(*ei)].id; + int64_t target = graph[graph.target(*ei)].id; + // double cost = graph[*ei].cost; + log <<"here: " << source<<"\n"; + results[i].node_fro = source; + results[i].node_to = target; + // results[i].cost = cost; + } + } return results; } - }; +}; } } diff --git a/pg_upgrade_internal.log b/pg_upgrade_internal.log new file mode 100644 index 00000000000..da15b4109f1 --- /dev/null +++ b/pg_upgrade_internal.log @@ -0,0 +1,6 @@ + +----------------------------------------------------------------- + pg_upgrade run on Tue Jul 7 17:27:27 2020 +----------------------------------------------------------------- + +could not open version file "/var/lib/postgresql/10/main/PG_VERSION": Permission denied diff --git a/pg_upgrade_server.log b/pg_upgrade_server.log new file mode 100644 index 00000000000..9a459e08a11 --- /dev/null +++ b/pg_upgrade_server.log @@ -0,0 +1,5 @@ + +----------------------------------------------------------------- + pg_upgrade run on Tue Jul 7 17:27:27 2020 +----------------------------------------------------------------- + diff --git a/pg_upgrade_utility.log b/pg_upgrade_utility.log new file mode 100644 index 00000000000..9a459e08a11 --- /dev/null +++ b/pg_upgrade_utility.log @@ -0,0 +1,5 @@ + +----------------------------------------------------------------- + pg_upgrade run on Tue Jul 7 17:27:27 2020 +----------------------------------------------------------------- + From 68eb732995a22a4b66be20213eddcba48ecac70a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 8 Jul 2020 23:38:17 +0530 Subject: [PATCH 0421/1360] [makeConnected] Added get_log() function for logging --- src/makeConnected/makeConnected.c | 3 +-- src/makeConnected/makeConnected_driver.cpp | 25 ++++++++++++---------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/makeConnected/makeConnected.c b/src/makeConnected/makeConnected.c index df80be269c6..8f6b713012b 100644 --- a/src/makeConnected/makeConnected.c +++ b/src/makeConnected/makeConnected.c @@ -84,9 +84,8 @@ process( &log_msg, ¬ice_msg, &err_msg); - + // log <<"here\n"; time_msg(" processing pgr_makeConnected", start_t, clock()); - time_msg(" processing pgr_makeConnghftthddected", start_t, clock()); PGR_DBG("Returning %ld tuples", *result_count); if (err_msg) { diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp index 18e2fe7b993..d55a2a545e5 100644 --- a/src/makeConnected/makeConnected_driver.cpp +++ b/src/makeConnected/makeConnected_driver.cpp @@ -41,15 +41,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_base_graph.hpp" -template < class G > -std::vector -pgr_makeConnected( - G &graph) { - pgrouting::functions::Pgr_makeConnected< G > fn_makeConnected; - auto results = fn_makeConnected.makeConnected( - graph); - return results; -} +// template < class G > +// std::vector +// pgr_makeConnected( +// G &graph) { +// pgrouting::functions::Pgr_makeConnected< G > fn_makeConnected; +// auto results = fn_makeConnected.makeConnected( +// graph); +// return results; +// } void do_pgr_makeConnected( @@ -79,8 +79,11 @@ do_pgr_makeConnected( log << "Working with Undirected Graph\n"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); - results = pgr_makeConnected(undigraph); - + pgrouting::functions::Pgr_makeConnected fn_makeConnected; + results=fn_makeConnected.makeConnected(undigraph); + logstr += fn_makeConnected.get_log(); + log << logstr; + // results = pgr_makeConnected(undigraph); auto count = results.size(); From 6adc0f096024e7b3db066acc016b02e61c269c3c Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 9 Jul 2020 00:30:00 +0530 Subject: [PATCH 0422/1360] [makeConnected] Boost function added --- include/makeConnected/pgr_makeConnected.hpp | 85 +++++++++++++++++---- 1 file changed, 69 insertions(+), 16 deletions(-) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index ce621da0522..e3cb5f570bf 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -31,15 +31,20 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include +#include #include #include +#include +#include #include "cpp_common/pgr_messages.h" #include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_makeConnected_t.h" //****************************************** using namespace boost; +using namespace std; namespace pgrouting { namespace functions { @@ -49,6 +54,8 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; + typedef adjacency_list< vecS, vecS, undirectedS, property>adj; + typedef boost::graph_traits< adj >::edge_iterator E_it; std::vector makeConnected( G &graph){ return generatemakeConnected( @@ -58,24 +65,70 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { private: std::vector< pgr_makeConnected_t > generatemakeConnected( - const G &graph ) { - std::vector< pgr_makeConnected_t > results(num_edges(graph.graph)); - auto check = 1; - if(check){ - E_i ei, ei_end; - int i; - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ - int64_t source = graph[graph.source(*ei)].id; - int64_t target = graph[graph.target(*ei)].id; - // double cost = graph[*ei].cost; - log <<"here: " << source<<"\n"; - results[i].node_fro = source; - results[i].node_to = target; - // results[i].cost = cost; + const G &graph ) { + + adj g; + // std::vector< graph_traits::vertices_size_type >component(num_vertices(graph.graph)); + int64_t i=0; + // make_connected(graph.graph); + E_i ei, ei_end; + mapmp; + for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ + int64_t src = graph[graph.source(*ei)].id; + int64_t tgt = graph[graph.target(*ei)].id; + if(mp.find(src)==mp.end()){ + mp[src] = i; + log<<"ye i hai pehla"< results(num_edges(g)); + i=0; + for (boost::tie(e, e_end) = edges(g); e != e_end; ++e){ + auto src = source(*e,g); + auto tgt = target(*e,g); + log <<"src:"<>st,st2; + // for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ + // int64_t src = source(*ei,graph.graph); + // int64_t tgt = target(*ei,graph.graph); + // st.insert({src,tgt}); + // log<<"src:"< results(st2.size()); + // if(st.size()>0){ + // for(auto it :st2) { + // // cout< Date: Thu, 9 Jul 2020 15:03:44 +0530 Subject: [PATCH 0423/1360] [makeConnected] Boost Library Working --- include/makeConnected/pgr_makeConnected.hpp | 61 ++------ .../makeConnected/pgr_makeConnectedDebug.hpp | 137 ++++++++++++++++++ 2 files changed, 152 insertions(+), 46 deletions(-) create mode 100644 include/makeConnected/pgr_makeConnectedDebug.hpp diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index e3cb5f570bf..430fbe3aff0 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -65,58 +65,27 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { private: std::vector< pgr_makeConnected_t > generatemakeConnected( - const G &graph ) { - - adj g; + G &graph ) { // std::vector< graph_traits::vertices_size_type >component(num_vertices(graph.graph)); int64_t i=0; - // make_connected(graph.graph); + make_connected(graph.graph); E_i ei, ei_end; - mapmp; - for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ - int64_t src = graph[graph.source(*ei)].id; - int64_t tgt = graph[graph.target(*ei)].id; - if(mp.find(src)==mp.end()){ - mp[src] = i; - log<<"ye i hai pehla"< results(num_edges(g)); - i=0; - for (boost::tie(e, e_end) = edges(g); e != e_end; ++e){ - auto src = source(*e,g); - auto tgt = target(*e,g); - log <<"src:"<>st,st2; + std::vector< pgr_makeConnected_t > results(num_edges(graph.graph)); + for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ + int64_t src = graph[graph.source(*ei)].id; + int64_t tgt = graph[graph.target(*ei)].id; + st.insert({src,tgt}); + log<<"src:"<>st,st2; - // for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ - // int64_t src = source(*ei,graph.graph); - // int64_t tgt = target(*ei,graph.graph); - // st.insert({src,tgt}); - // log<<"src:"< results(st2.size()); // if(st.size()>0){ // for(auto it :st2) { @@ -128,7 +97,7 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { // } else { // // } - // return results; + return results; } }; } diff --git a/include/makeConnected/pgr_makeConnectedDebug.hpp b/include/makeConnected/pgr_makeConnectedDebug.hpp new file mode 100644 index 00000000000..6fb9ca21ea7 --- /dev/null +++ b/include/makeConnected/pgr_makeConnectedDebug.hpp @@ -0,0 +1,137 @@ +/*PGR-GNU***************************************************************** +File: pgr_makeConnected.hpp + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ +#define INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include "cpp_common/pgr_messages.h" +#include "cpp_common/pgr_base_graph.hpp" +#include "c_types/pgr_makeConnected_t.h" +//****************************************** +using namespace boost; +using namespace std; +namespace pgrouting { +namespace functions { + +template < class G > +class Pgr_makeConnected : public pgrouting::Pgr_messages { + public: + typedef typename G::V V; + typedef typename G::E E; + typedef typename G::E_i E_i; + typedef adjacency_list< vecS, vecS, undirectedS, property>adj; + typedef boost::graph_traits< adj >::edge_iterator E_it; + std::vector makeConnected( + G &graph){ + return generatemakeConnected( + graph); + } + + private: + std::vector< pgr_makeConnected_t > + generatemakeConnected( + const G &graph ) { + + adj g; + // std::vector< graph_traits::vertices_size_type >component(num_vertices(graph.graph)); + int64_t i=0; + // make_connected(graph.graph); + E_i ei, ei_end; + mapmp; + for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ + int64_t src = graph[graph.source(*ei)].id; + int64_t tgt = graph[graph.target(*ei)].id; + if(mp.find(src)==mp.end()){ + mp[src] = i; + log<<"ye i hai pehla"< results(num_edges(g)); + i=0; + for (boost::tie(e, e_end) = edges(g); e != e_end; ++e){ + auto src = source(*e,g); + auto tgt = target(*e,g); + log <<"src:"<>st,st2; + // for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ + // int64_t src = source(*ei,graph.graph); + // int64_t tgt = target(*ei,graph.graph); + // st.insert({src,tgt}); + // log<<"src:"< results(st2.size()); + // if(st.size()>0){ + // for(auto it :st2) { + // // cout< Date: Thu, 9 Jul 2020 16:27:03 +0530 Subject: [PATCH 0424/1360] [makeConnected] Getting the results correctly --- include/makeConnected/pgr_makeConnected.hpp | 23 ++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index 430fbe3aff0..53be3dd10d8 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -54,8 +54,8 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; - typedef adjacency_list< vecS, vecS, undirectedS, property>adj; - typedef boost::graph_traits< adj >::edge_iterator E_it; + typedef adjacency_list< vecS, vecS, undirectedS, property>Graph; + typedef boost::graph_traits< Graph >::edge_iterator E_it; std::vector makeConnected( G &graph){ return generatemakeConnected( @@ -66,20 +66,29 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { std::vector< pgr_makeConnected_t > generatemakeConnected( G &graph ) { - // std::vector< graph_traits::vertices_size_type >component(num_vertices(graph.graph)); + std::vector< int >component(num_vertices(graph.graph)); + size_t comp = connected_components(graph.graph,&component[0]); + comp--; + int64_t edgeCount = num_edges(graph.graph); + int64_t newEdge = 0; + log <<"Number of Components before: "<< connected_components(graph.graph,&component[0])<<"\n"; int64_t i=0; make_connected(graph.graph); + log <<"Number of Components after: "<< connected_components(graph.graph,&component[0])<<"\n"; E_i ei, ei_end; set>st,st2; - std::vector< pgr_makeConnected_t > results(num_edges(graph.graph)); + std::vector< pgr_makeConnected_t > results(comp); for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ int64_t src = graph[graph.source(*ei)].id; int64_t tgt = graph[graph.target(*ei)].id; st.insert({src,tgt}); log<<"src:"<=edgeCount){ + results[i].node_fro = src; + results[i].node_to = tgt; + i++; + } + newEdge++; } for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ if(st.find({source(*ei,graph.graph),target(*ei,graph.graph)})==st.end()){ From da66c0571c74e759a4cf58737a37719f22bbc6c2 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 9 Jul 2020 18:53:39 +0530 Subject: [PATCH 0425/1360] [makeConnected] Fixed Travis Error --- docqueries/makeConnected/test.conf | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 docqueries/makeConnected/test.conf diff --git a/docqueries/makeConnected/test.conf b/docqueries/makeConnected/test.conf deleted file mode 100644 index 6c1889d8be9..00000000000 --- a/docqueries/makeConnected/test.conf +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/perl -w - -%main::tests = ( - 'any' => { - 'comment' => 'pgr_makeConnected test from version :3.2.', - 'data' => [ ], - 'tests' => [qw( - doc-pgr_makeConnected - )], - 'documentation' => [qw( - doc-pgr_makeConnected - )] - ,'notests' => [qw( - )] - }, - -# 'vpg-vpgis' => {}, # for version specific tests -# '8-1' => {}, # for pg 8.x and postgis 1.x -# '9.2-2.1' => {}, # for pg 9.2 and postgis 2.1 -); - -1; From 5e0b292e63bb87cf35714f62008d2537eec34aa3 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 10 Jul 2020 12:38:31 +0530 Subject: [PATCH 0426/1360] Ubuntu Build Error fixed --- .github/workflows/ubuntu.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 5ebcbf4c4d2..5806bf888e6 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -34,7 +34,6 @@ jobs: curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' - - name: Install dependencies run: | sudo apt-get update @@ -56,13 +55,11 @@ jobs: mkdir build cd build cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=OFF .. - - name: Build run: | cd build make -j 4 sudo make install - - name: Test run: | sudo service postgresql start From c21e5353b1c07ab7fdbb867190536e83d68e14ec Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 10 Jul 2020 18:45:18 +0530 Subject: [PATCH 0427/1360] [planarGraph] 1st Phase Evaluations Modifications --- include/planarGraph/pgr_boyerMyrvold.hpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index 65b28933997..be5cdf90931 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -58,18 +58,20 @@ class Pgr_boyerMyrvold { std::vector< pgr_boyer_t > generateboyerMyrvold( const G &graph ) { - std::vector< pgr_boyer_t > results(num_edges(graph.graph)); + std::vector< pgr_boyer_t > results; auto check = boyer_myrvold_planarity_test(graph.graph); if(check){ E_i ei, ei_end; int i; for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ - int64_t source = graph[graph.source(*ei)].id; - int64_t target = graph[graph.target(*ei)].id; + int64_t src = graph[graph.source(*ei)].id; + int64_t tgt = graph[graph.target(*ei)].id; double cost = graph[*ei].cost; - results[i].source = source; - results[i].target = target; - results[i].cost = cost; + pgr_boyer_t tmp; + tmp.source = src; + tmp.target = tgt; + tmp.cost = cost; + results.push_back(tmp); } } From 29275bb464332e3139c594106086328b0a09cdcc Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 11 Jul 2020 15:05:19 +0530 Subject: [PATCH 0428/1360] [makeConnected] Coding Implementation Done For pgr_makeConnected --- src/makeConnected/makeConnected_driver.cpp | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp index d55a2a545e5..2814473d358 100644 --- a/src/makeConnected/makeConnected_driver.cpp +++ b/src/makeConnected/makeConnected_driver.cpp @@ -40,17 +40,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "makeConnected/pgr_makeConnected.hpp" #include "cpp_common/pgr_base_graph.hpp" - -// template < class G > -// std::vector -// pgr_makeConnected( -// G &graph) { -// pgrouting::functions::Pgr_makeConnected< G > fn_makeConnected; -// auto results = fn_makeConnected.makeConnected( -// graph); -// return results; -// } - void do_pgr_makeConnected( pgr_edge_t *data_edges, @@ -83,7 +72,6 @@ do_pgr_makeConnected( results=fn_makeConnected.makeConnected(undigraph); logstr += fn_makeConnected.get_log(); log << logstr; - // results = pgr_makeConnected(undigraph); auto count = results.size(); From 043488fc9f261210b0a4329e8de84692cabe0dec Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 25 May 2020 15:37:09 +0530 Subject: [PATCH 0429/1360] erased some part of kargersContraction.c --- src/kargersContraction/kargersContraction.c | 152 +------------------- 1 file changed, 2 insertions(+), 150 deletions(-) diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c index 235ce8830c3..f9deb7983aa 100644 --- a/src/kargersContraction/kargersContraction.c +++ b/src/kargersContraction/kargersContraction.c @@ -39,153 +39,5 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "drivers/kargersContraction/kargersContraction_driver.h" -PGDLLEXPORT Datum _pgr_kargerscontraction(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_kargerscontraction); - - -/******************************************************************************/ -/* MODIFY AS NEEDED */ -static -void -process( - char* edges_sql, - pgr_kargersContraction_t **result_tuples, - size_t *result_count) { - /* - * https://www.postgresql.org/docs/current/static/spi-spi-connect.html - */ - pgr_SPI_connect(); - - (*result_tuples) = NULL; - (*result_count) = 0; - - PGR_DBG("Load data"); - pgr_edge_t *edges = NULL; - size_t total_edges = 0; - - pgr_get_edges(edges_sql, &edges, &total_edges); - PGR_DBG("Total %ld edges in query:", total_edges); - - if (total_edges == 0) { - PGR_DBG("No edges found"); - pgr_SPI_finish(); - return; - } - - PGR_DBG("Starting processing"); - clock_t start_t = clock(); - char *log_msg = NULL; - char *notice_msg = NULL; - char *err_msg = NULL; - do_pgr_kargersContraction( - edges, - total_edges, - result_tuples, - result_count, - &log_msg, - ¬ice_msg, - &err_msg); - - time_msg(" processing pgr_kargersContraction", start_t, clock()); - PGR_DBG("Returning %ld tuples", *result_count); - - if (err_msg) { - if (*result_tuples) pfree(*result_tuples); - } - pgr_global_report(log_msg, notice_msg, err_msg); - - if (edges) pfree(edges); - if (log_msg) pfree(log_msg); - if (notice_msg) pfree(notice_msg); - if (err_msg) pfree(err_msg); - - pgr_SPI_finish(); -} -/* */ -/******************************************************************************/ - -PGDLLEXPORT Datum _pgr_kargerscontraction(PG_FUNCTION_ARGS) { - FuncCallContext *funcctx; - TupleDesc tuple_desc; - /**************************************************************************/ - /* MODIFY AS NEEDED */ - /* */ - pgr_kargersContraction_t *result_tuples = NULL; - size_t result_count = 0; - /* */ - /**************************************************************************/ - - if (SRF_IS_FIRSTCALL()) { - MemoryContext oldcontext; - funcctx = SRF_FIRSTCALL_INIT(); - oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - - - PGR_DBG("Calling process"); - process( - text_to_cstring(PG_GETARG_TEXT_P(0)), - &result_tuples, - &result_count); - - - /* */ - /**********************************************************************/ - - #if PGSQL_VERSION > 94 - funcctx->max_calls = (uint32_t)result_count; - #else - funcctx->max_calls = (uint32_t)result_count; - #endif - funcctx->user_fctx = result_tuples; - if (get_call_result_type(fcinfo, NULL, &tuple_desc) - != TYPEFUNC_COMPOSITE) { - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("function returning record called in context " - "that cannot accept type record"))); - } - - funcctx->tuple_desc = tuple_desc; - MemoryContextSwitchTo(oldcontext); - } - - funcctx = SRF_PERCALL_SETUP(); - tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_kargersContraction_t*) funcctx->user_fctx; - - if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; - Datum result; - Datum *values; - bool* nulls; - - values = palloc(4 * sizeof(Datum)); - nulls = palloc(4 * sizeof(bool)); - - - size_t i; - for (i = 0; i < 4; ++i) { - nulls[i] = false; - } - - // postgres starts counting from 1 - values[0] = Int32GetDatum(funcctx->call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); - values[2] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); - values[3] = Float8GetDatum(result_tuples[funcctx->call_cntr].mincut); - /**********************************************************************/ - - tuple = heap_form_tuple(tuple_desc, values, nulls); - result = HeapTupleGetDatum(tuple); - SRF_RETURN_NEXT(funcctx, result); - } else { - /**********************************************************************/ - /* MODIFY AS NEEDED */ - - PGR_DBG("Clean up code"); - - /**********************************************************************/ - - SRF_RETURN_DONE(funcctx); - } -} +PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_kargersContraction); From 05e8b22a488ed75bf0a9928cef6eb79d5e5c0818 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 18 Jun 2020 20:57:28 +0530 Subject: [PATCH 0430/1360] [planarGraph] No Crash Test Added --- test.sh | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/test.sh b/test.sh index 2cc5f250abc..0a33b0f2b53 100644 --- a/test.sh +++ b/test.sh @@ -101,12 +101,6 @@ echo -------------------------------------------- # choose what is going to be tested while developing -# for d in ${TESTDIRS} -# do -# #tools/testers/doc_queries_generator.pl -alg ${d} -documentation -pgport ${PGPORT} -# tools/testers/doc_queries_generator.pl -alg ${d} -pgport ${PGPORT} -# tools/developer/taptest.sh ${d}/* -p ${PGPORT} -# done @@ -155,6 +149,7 @@ fi ######################################################## # Execute documentation queries for the whole project ######################################################## +<<<<<<< HEAD # tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT # # tools/testers/doc_queries_generator.pl -pgport $PGPORT @@ -165,6 +160,18 @@ fi # #rm -rf doxygen/* # make doxy # cd .. +======= +tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT + +tools/testers/doc_queries_generator.pl -pgport $PGPORT + +cd build +#rm -rf doc/* +make doc +#rm -rf doxygen/* +make doxy +cd .. +>>>>>>> [planarGraph] No Crash Test Added ######################################################## # pgTap test all @@ -173,7 +180,11 @@ fi dropdb --if-exists -p $PGPORT ___pgr___test___ createdb -p $PGPORT ___pgr___test___ echo $PGPORT +<<<<<<< HEAD sh ./tools/testers/pg_prove_tests.sh himanshu $PGPORT +======= +sh ./tools/testers/pg_prove_tests.sh vicky $PGPORT +>>>>>>> [planarGraph] No Crash Test Added dropdb -p $PGPORT ___pgr___test___ #tools/testers/update-tester.sh From d40b0240031f8ef28dc779912270c6f1b47ffdf3 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 22 Jun 2020 21:58:53 +0530 Subject: [PATCH 0431/1360] [planarGraph][documentation] Updated doc and docqueries files --- doc/planarGraph/pgr_topologicalSort.rst | 130 ++++++++++++++++++ .../planarGraph/doc-pgr_boyerMyrvold.result | 32 ++--- .../planarGraph/doc-pgr_boyerMyrvold.test.sql | 6 +- 3 files changed, 147 insertions(+), 21 deletions(-) create mode 100644 doc/planarGraph/pgr_topologicalSort.rst diff --git a/doc/planarGraph/pgr_topologicalSort.rst b/doc/planarGraph/pgr_topologicalSort.rst new file mode 100644 index 00000000000..ea6deb0ef77 --- /dev/null +++ b/doc/planarGraph/pgr_topologicalSort.rst @@ -0,0 +1,130 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +pgr_boyerMyrvold - Experimental +=============================================================================== + +``pgr_boyerMyrvold`` — Returns the linear ordering of the vertices(s) for weighted directed acyclic graphs(DAG). +In particular, the topological sort algorithm implemented by Boost.Graph. + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/doc/libs/1_65_1/libs/graph/doc/topological_sort.html + + Boost Graph Inside + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. rubric:: Availability + +* Version 3.0.0 + + * New **experimental** function + +.. rubric:: Support + +* **Supported versions:** + current(`3.0 `__) + +* **TBD** + +Description +------------------------------------------------------------------------------- + +The topological sort algorithm creates a linear ordering of the vertices such that if edge (u,v) appears +in the graph, then v comes before u in the ordering. + +This implementation can only be used with a **directed** graph with no cycles i.e. directed acyclic graph. + +The main characteristics are: + - Process is valid for directed acyclic graphs only. otherwise it will throw warnings. + + - For optimization purposes, if there are more than one answer, the function will return one of them. + + - The returned values are ordered in topological order: + + * Running time: :math:`O( (V + E))` + + +Signatures +------------------------------------------------------------------------------- + +.. rubric:: Summary + +.. code-block:: none + + pgr_boyerMyrvold(edges_sql) + + RETURNS SET OF (seq, sorted_v) + OR EMPTY SET + +:Example: For a **directed** graph + +.. literalinclude:: doc-topologicalSort.queries + :start-after: -- q1 + :end-before: -- q2 + +Parameters +------------------------------------------------------------------------------- + +=================== ====================== ========= ================================================= +Parameter Type Default Description +=================== ====================== ========= ================================================= +**edges_sql** ``TEXT`` SQL query as described above. +=================== ====================== ========= ================================================= + +Inner query +------------------------------------------------------------------------------- + +:edges_sql: an SQL query, which should return a set of rows with the following columns: + +================= =================== ======== ================================================= +Column Type Default Description +================= =================== ======== ================================================= +**id** ``ANY-INTEGER`` Identifier of the edge. +**source** ``ANY-INTEGER`` Identifier of the first end point vertex of the edge. +**target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. +**cost** ``ANY-NUMERICAL`` Weight of the edge `(source, target)` + + - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. + +**reverse_cost** ``ANY-NUMERICAL`` -1 Weight of the edge `(target, source)`, + + - When negative: edge `(target, source)` does not exist, therefore it's not part of the graph. + +================= =================== ======== ================================================= + +Where: + +:ANY-INTEGER: SMALLINT, INTEGER, BIGINT +:ANY-NUMERICAL: SMALLINT, INTEGER, BIGINT, REAL, FLOAT + +Result Columns +------------------------------------------------------------------------------- + +Returns set of ``(seq, sorted_v)`` + +=============== =========== ============================================================ +Column Type Description +=============== =========== ============================================================ +**seq** ``INT`` Sequential value starting from **1**. +**sorted_v** ``BIGINT`` Linear ordering of the vertices(ordered in topological order) +=============== =========== ============================================================ + +See Also +------------------------------------------------------------------------------- + +* https://en.wikipedia.org/wiki/Topological_sorting +* The queries use the :doc:`sampledata` network. + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index 3cc0a859ac9..584f6306927 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -3,47 +3,43 @@ BEGIN SET client_min_messages TO NOTICE; SET -- q1 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_kargersContraction( 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id IN (9,16,15)' + WHERE id > 18' ); - seq | source | target | cost ------+--------+--------+------ - 1 | 6 | 9 | 1 - 2 | 9 | 12 | 1 - 3 | 4 | 9 | 1 -(3 rows) + seq | edge | cost | mincut +-----+------+------+-------- +(0 rows) -- q2 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_kargersContraction( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18' ); - seq | source | target | cost ------+--------+--------+------ + seq | edge | cost | mincut +-----+------+------+-------- (0 rows) -- q3 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_kargersContraction( $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) + WHERE component = 18) ) OR target = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) + WHERE component = 18) ) $$ ); - seq | source | target | cost ------+--------+--------+------ - 1 | 14 | 15 | 1 -(1 row) + seq | edge | cost | mincut +-----+------+------+-------- +(0 rows) -- q4 ROLLBACK; diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql index 9da06b01136..507fe602446 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql @@ -2,7 +2,7 @@ SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table - WHERE id IN (9,16,15)' + WHERE id > 18' ); \echo -- q2 @@ -18,12 +18,12 @@ $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) + WHERE component = 18) ) OR target = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) + WHERE component = 18) ) $$ ); From e9d0eafe4d5c7b56f38b574d3fd81e784bca7f43 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 23 Jun 2020 18:37:31 +0530 Subject: [PATCH 0432/1360] [planarGraph] configuration.conf updated for planarGraph --- docqueries/planarGraph/doc-pgr_boyerMyrvold.result | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index 584f6306927..956a8f80815 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -8,8 +8,8 @@ SELECT * FROM pgr_kargersContraction( FROM edge_table WHERE id > 18' ); - seq | edge | cost | mincut ------+------+------+-------- + seq | source | target | cost +-----+--------+--------+------ (0 rows) -- q2 @@ -18,8 +18,8 @@ SELECT * FROM pgr_kargersContraction( FROM edge_table WHERE id > 18' ); - seq | edge | cost | mincut ------+------+------+-------- + seq | source | target | cost +-----+--------+--------+------ (0 rows) -- q3 @@ -37,8 +37,8 @@ $$ ) $$ ); - seq | edge | cost | mincut ------+------+------+-------- + seq | source | target | cost +-----+--------+--------+------ (0 rows) -- q4 From b31b0ffd3801de3a54e0a5350967ad7f420e6628 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 25 Jun 2020 22:27:26 +0530 Subject: [PATCH 0433/1360] [planarGraph] Aligning queries result and fixing travis error --- docqueries/planarGraph/doc-pgr_boyerMyrvold.result | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index 956a8f80815..c6600e892e1 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -10,7 +10,10 @@ SELECT * FROM pgr_kargersContraction( ); seq | source | target | cost -----+--------+--------+------ -(0 rows) + 1 | 6 | 9 | 1 + 2 | 9 | 12 | 1 + 3 | 4 | 9 | 1 +(3 rows) -- q2 SELECT * FROM pgr_kargersContraction( @@ -39,7 +42,8 @@ $$ ); seq | source | target | cost -----+--------+--------+------ -(0 rows) + 1 | 14 | 15 | 1 +(1 row) -- q4 ROLLBACK; From bd4733e48a5fc207090af630e0681145fc992301 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 13 Jul 2020 16:19:31 +0530 Subject: [PATCH 0434/1360] [makeConnected] Removed redundant code and Comments --- include/makeConnected/pgr_makeConnected.hpp | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index 53be3dd10d8..9e9585e51d1 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -90,22 +90,6 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { } newEdge++; } - for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ - if(st.find({source(*ei,graph.graph),target(*ei,graph.graph)})==st.end()){ - st2.insert({source(*ei,graph.graph),target(*ei,graph.graph)}); - } - } - // std::vector< pgr_makeConnected_t > results(st2.size()); - // if(st.size()>0){ - // for(auto it :st2) { - // // cout< Date: Tue, 14 Jul 2020 16:08:18 +0530 Subject: [PATCH 0435/1360] [makeConnected][pgTAP] 0 edge 0 Vertex tests Added --- .../makeConnected-edge-cases.sql | 199 ++---------------- 1 file changed, 13 insertions(+), 186 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index 11cb1161c85..3ec03cbcbf0 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -1,201 +1,28 @@ \i setup.sql -SELECT plan(10); +SELECT plan(2); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; - --- -PREPARE prim1 AS -SELECT * FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18', - 21, 3 -); - -SELECT set_eq('prim1', - $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, - '1: Empty Graph -> Only root vertex is returned'); - - -PREPARE prim2 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost - FROM edge_table WHERE id > 18', - ARRAY[21, 45], - 3 -); - -SELECT set_eq('prim2', - $$VALUES - (1, 0, 21, 21, -1, 0, 0), - (2, 0, 45, 45, -1, 0, 0) - $$, - '2: Empty graph -> Only root vertices are returned'); - - --- -PREPARE prim3 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 21, 3 -); - -SELECT set_eq('prim3', - $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, - '3: Root not in Graph -> Only root vertex is returned'); - --- -PREPARE prim4 AS -SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 -FROM pgr_primDFS( - 'SELECT id, source, target, cost - FROM edge_table', - ARRAY[21, 4], - 3 -); - -SELECT set_eq('prim4', - $$VALUES - (1, 4, 0, 4, -1, true), - (2, 4, 1, 9, 16, true), - (3, 4, 2, 6, 9, true), - (4, 4, 3, 3, 5, true), - (5, 4, 3, 5, 8, true), - (6, 4, 3, 11, 11, true), - (7, 21, 0, 21, -1, true) - $$, - '4: Root not in Graph -> Only root vertex is returned, Root in graph -> spanning tree is returned'); --- -PREPARE prim5 AS -SELECT seq, start_vid, depth, node, edge, depth <= 3 -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 0, 3 -); - -SELECT set_eq('prim5', - $$VALUES - (1, 1, 0, 1, -1, true), - (2, 1, 1, 2, 1, true), - (3, 1, 2, 3, 2, true), - (4, 1, 3, 4, 3, true), - (5, 1, 3, 6, 5, true), - (6, 1, 2, 5, 4, true), - (7, 1, 3, 8, 7, true), - (8, 1, 3, 10, 10, true), - (9, 14, 0, 14, -1, true), - (10, 14, 1, 15, 17, true), - (11, 16, 0, 16, -1, true), - (12, 16, 1, 17, 18, true) - $$, - '5: root = 0 -> forest (with random root vertices)'); - --- -PREPARE prim6 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4, -3 -); - - -SELECT throws_ok('prim6', - 'P0001', - 'Negative value found on ''max_depth''', - '6: Negative max_depth throws'); - +-- 0 edge, 0 vertex tests +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18; -PREPARE prim7 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - ARRAY[4, 10], -3 -); +-- Graph is empty - it has 0 edge and 0 vertex +SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); -SELECT throws_ok('prim7', - 'P0001', - 'Negative value found on ''max_depth''', - '7: Negative max_depth throws'); +-- 0 edge, 0 vertex tests --- -PREPARE prim8 AS +PREPARE makeConnected2 AS SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4, 0 -); - -SELECT set_eq('prim8', - $$VALUES (1, 0, 4, 4, -1, 0, 0) $$, - '8: 0 max_depth -> Only root vertex is returned'); - --- -PREPARE prim9 AS -SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4 -); - -SELECT set_eq('prim9', - $$VALUES - (1, 0, 4, 4, -1, true), - (2, 1, 4, 3, 3, true), - (3, 2, 4, 2, 2, true), - (4, 3, 4, 1, 1, true), - (5, 3, 4, 5, 4, true), - (6, 4, 4, 8, 7, true), - (7, 5, 4, 7, 6, true), - (8, 4, 4, 10, 10, true), - (9, 5, 4, 13, 14, true), - (10, 2, 4, 6, 5, true), - (11, 3, 4, 9, 9, true), - (12, 3, 4, 11, 11, true), - (13, 4, 4, 12, 13, true) - $$, - '9: default max_depth -> complete tree from root'); - --- -PREPARE prim10 AS -SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 0 +FROM pgr_makeConnected( + 'q1' ); -SELECT set_eq('prim10', - $$VALUES - (1, 1, 0, 1,-1, true), - (2, 1, 1, 2, 1, true), - (3, 1, 2, 3, 2, true), - (4, 1, 3, 4, 3, true), - (5, 1, 3, 6, 5, true), - (6, 1, 4, 9, 9, true), - (7, 1, 4,11,11, true), - (8, 1, 5,12,13, true), - (9, 1, 2, 5, 4, true), - (10, 1, 3, 8, 7, true), - (11, 1, 4, 7, 6, true), - (12, 1, 3,10,10, true), - (13, 1, 4,13,14, true), - (14, 14, 0,14,-1, true), - (15, 14, 1,15,17, true), - (16, 16, 0,16,-1, true), - (17, 16, 1,17,18, true) - $$, - '10: root = 0 -> forest (with random root vertices)'); +SELECT is_empty('makeConnected2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT * FROM finish(); ROLLBACK; From f6c62e466136a878a8326efc3f0edb7b0d89aeb9 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 14 Jul 2020 23:11:40 +0530 Subject: [PATCH 0436/1360] [makeConnected] Added pgTap tests makeConnected --- include/planarGraph/pgr_boyerMyrvold.hpp | 83 +++++++++++++++---- .../makeConnected-edge-cases.sql | 23 +++++ 2 files changed, 88 insertions(+), 18 deletions(-) diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index be5cdf90931..6af671567f9 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -31,23 +31,31 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include #include #include + +#include +#include + #include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_boyer_t.h" //****************************************** using namespace boost; +using namespace std; namespace pgrouting { namespace functions { template < class G > class Pgr_boyerMyrvold { public: - typedef typename G::V V; - typedef typename G::E E; - typedef typename G::E_i E_i; + typedef typename G::V V; + typedef typename G::E E; + typedef typename G::E_i E_i; + typedef adjacency_list< vecS, vecS, undirectedS, property, property>biConnected; + typedef std::vector< graph_traits::edge_descriptor > vec_t; std::vector boyerMyrvold( G &graph){ return generateboyerMyrvold( @@ -57,21 +65,60 @@ class Pgr_boyerMyrvold { private: std::vector< pgr_boyer_t > generateboyerMyrvold( - const G &graph ) { - std::vector< pgr_boyer_t > results; - auto check = boyer_myrvold_planarity_test(graph.graph); - if(check){ - E_i ei, ei_end; - int i; - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ - int64_t src = graph[graph.source(*ei)].id; - int64_t tgt = graph[graph.target(*ei)].id; - double cost = graph[*ei].cost; - pgr_boyer_t tmp; - tmp.source = src; - tmp.target = tgt; - tmp.cost = cost; - results.push_back(tmp); + G &graph ) { + + int i=0; + biConnected g; + E_i ei, ei_end; + mapmp,mp2; + for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ + int64_t src = graph[graph.source(*ei)].id; + int64_t tgt = graph[graph.target(*ei)].id; + if(mp.find(src)==mp.end()){ + mp[src] = i; + mp2[i] = src; + // log<<"ye i hai pehla"<::type e_index = get(edge_index, g); + graph_traits::edges_size_type edge_count = 0; + graph_traits::edge_iterator e, e_end; + for(boost::tie(e, e_end) = edges(g); e != e_end; ++e) { + put(e_index, *e, edge_count++); + } + + + + std::vector< pgr_boyer_t > results; + auto check = boyer_myrvold_planarity_test(g); + std::vector < vec_t > embedding (num_vertices(g)); + boyer_myrvold_planarity_test(boyer_myrvold_params::graph = g, + boyer_myrvold_params::embedding = &embedding[0]); + make_biconnected_planar(g, &embedding[0]); + if(check){ + // E_i ei, ei_end; + + for (boost::tie(e, e_end) = edges(g),i = 0; e != e_end; ++e,++i){ + int64_t u = source(*e,g); + int64_t v = target(*e,g); + // double cost = graph[*ei].cost; + pgr_boyer_t tmp; + tmp.source = mp2[u]; + tmp.target = mp2[v]; + // tmp.cost = cost; + results.push_back(tmp); } } diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index 3ec03cbcbf0..e46e1d2a6b4 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -24,5 +24,28 @@ FROM pgr_makeConnected( SELECT is_empty('makeConnected2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); +-- vertex not present in graph tests + +PREPARE q3 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id = -10; + +SELECT is_empty('q3', 'q3: Vertex Not present in the graph'); + +PREPARE makeConnected4 AS +SELECT * +FROM pgr_makeConnected( + 'q4' +); + +SELECT is_empty('makeConnected4', '4: Vertex Not present in the graph -> Empty row is returned'); + + + + + + + SELECT * FROM finish(); ROLLBACK; From a53cb549a24782728e5d7d66d3fed77fa3da02c0 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 14 Jul 2020 23:54:50 +0530 Subject: [PATCH 0437/1360] Removing unused files --- .gitignore | 2 - run.sh | 192 -------------------------------------------------- test.sh | 202 ----------------------------------------------------- 3 files changed, 396 deletions(-) delete mode 100644 run.sh delete mode 100644 test.sh diff --git a/.gitignore b/.gitignore index fcd893e7561..5f58b8b2cd1 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,3 @@ src/version/_version.h .directory notUsed *.swp -run.sh -test.sh diff --git a/run.sh b/run.sh deleted file mode 100644 index cceae9b7126..00000000000 --- a/run.sh +++ /dev/null @@ -1,192 +0,0 @@ -#!/bin/bash - -set -e - - -# copy this file into the root of your repository -# adjust to your needs - -# This run.sh is intended for 3.0.0 -VERSION=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) - -# set up your postgres version and port -PGVERSION="12" -PGPORT="5432" -PGBIN="/usr/lib/postgresql/${PGVERSION}/bin" - -# Compiler setup - -# When more than one compiler is installed -GCC="8" - -# Using the default compiler version -unset GCC - - -ALLDIRS=" -allpairs -alpha_shape -astar -bdAstar -bdDijkstra -bellman_ford -breadthFirstSearch -chinese -common -components -contraction -dagShortestPath -dijkstra -driving_distance -internalQueryTests -ksp -lineGraph -max_flow -mincut -pickDeliver -spanningTree -topologicalSort -topology -transitiveClosure -trsp -tsp -version -vrp_basic -withPoints" - -TESTDIRS=${ALLDIRS} -TESTDIRS="dijkstra makeConnected" - - -function test_compile { - -echo ------------------------------------ -echo ------------------------------------ -echo "Compiling with G++-$1" -echo ------------------------------------ - -if [ ! -z "$1" ]; then - update-alternatives --set gcc /usr/bin/gcc-$1 -fi - - -cd build/ - -# Using all defaults -#cmake .. - -# Options Release RelWithDebInfo MinSizeRel Debug -#cmake -DCMAKE_BUILD_TYPE=Debug .. - -# Additional debug information -#cmake -DPgRouting_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug .. - -# with documentation (like the one the website) -#cmake -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON .. - -# with developers documentation -#cmake -DWITH_DOC=ON -DBUILD_DOXY=ON .. - -cmake -DPOSTGRESQL_BIN=${PGBIN} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DBUILD_LATEX=ON -DCMAKE_BUILD_TYPE=Debug .. - -make -j 4 -sudo make install -exit 0 -cd .. - - -echo -echo -------------------------------------------- -echo Execute documentation queries for a particular directories -echo -------------------------------------------- - - -# choose what is going to be tested while developing -for d in ${TESTDIRS} -do - #tools/testers/doc_queries_generator.pl -alg ${d} -documentation -pgport ${PGPORT} - tools/testers/doc_queries_generator.pl -alg ${d} -pgport ${PGPORT} - tools/developer/taptest.sh ${d}/* -p ${PGPORT} -done - - - - - - -echo -echo -------------------------------------------- -echo Update signatures -echo -------------------------------------------- - -sh tools/release-scripts/get_signatures.sh -p ${PGPORT} - - -if [[ $(git status | grep 'pgrouting--') ]]; then - echo "**************************************************" - echo " WARNING" - echo "the signatures changed, copyed the generated files" - echo "Plese verify the changes are minimal" - echo "**************************************************" - git diff sql/sigs -fi - - -################################ -################################ -## checks all the repository -# -# the rest of the script use PGPORT variable -################################ -################################ -echo -echo -------------------------------------------- -echo Update / Verify NEWS -echo -------------------------------------------- -tools/release-scripts/notes2news.pl -if [[ $(git status | grep 'NEWS') ]]; then - echo "**************************************************" - echo " WARNING" - echo "the signatures changed, copying generated files" - echo "Plese verify the changes are minimal" - echo "**************************************************" - git diff NEWS -fi - -######################################################## -# Execute documentation queries for the whole project -######################################################## -tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT - -tools/testers/doc_queries_generator.pl -pgport $PGPORT - -cd build -#rm -rf doc/* -make doc -#rm -rf doxygen/* -make doxy -cd .. - -######################################################## -# pgTap test all -######################################################## - -dropdb --if-exists -p $PGPORT ___pgr___test___ -createdb -p $PGPORT ___pgr___test___ -echo $PGPORT -sh ./tools/testers/pg_prove_tests.sh vicky $PGPORT -dropdb -p $PGPORT ___pgr___test___ - -#tools/testers/update-tester.sh - -} - -# Uncomment what you need -for compiler in GCC -do - if [ ! -z "$1" ]; then - echo "Fresh build" - rm -rf build/* - fi - test_compile ${GCC} -done diff --git a/test.sh b/test.sh deleted file mode 100644 index 0a33b0f2b53..00000000000 --- a/test.sh +++ /dev/null @@ -1,202 +0,0 @@ -#!/bin/bash - -set -e - - -# copy this file into the root of your repository -# adjust to your needs - -# This run.sh is intended for 3.0.0 -VERSION=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) - -# set up your postgres version and port -PGVERSION="12" -PGPORT="5432" -PGBIN="/usr/lib/postgresql/${PGVERSION}/bin" - -# Compiler setup - -# When more than one compiler is installed -GCC="8" - -# Using the default compiler version -unset GCC - - -ALLDIRS=" -allpairs -alpha_shape -astar -bdAstar -bdDijkstra -bellman_ford -breadthFirstSearch -chinese -common -components -contraction -dagShortestPath -dijkstra -driving_distance -internalQueryTests -ksp -lineGraph -max_flow -mincut -pickDeliver -spanningTree -topologicalSort -topology -transitiveClosure -trsp -tsp -version -vrp_basic -withPoints" - -TESTDIRS=${ALLDIRS} -TESTDIRS="dijkstra" - - -function test_compile { - -echo ------------------------------------ -echo ------------------------------------ -echo "Compiling with G++-$1" -echo ------------------------------------ - -if [ ! -z "$1" ]; then - update-alternatives --set gcc /usr/bin/gcc-$1 -fi - - -cd build/ - -# Using all defaults -#cmake .. - -# Options Release RelWithDebInfo MinSizeRel Debug -#cmake -DCMAKE_BUILD_TYPE=Debug .. - -# Additional debug information -#cmake -DPgRouting_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug .. - -# with documentation (like the one the website) -#cmake -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON .. - -# with developers documentation -#cmake -DWITH_DOC=ON -DBUILD_DOXY=ON .. - -cmake -DPOSTGRESQL_BIN=${PGBIN} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DBUILD_LATEX=ON -DCMAKE_BUILD_TYPE=Debug .. - -make -j 4 -sudo make install -cd .. - - -echo -echo -------------------------------------------- -echo Execute documentation queries for a particular directories -echo -------------------------------------------- - - -# choose what is going to be tested while developing - - - - - - -echo -echo -------------------------------------------- -echo Update signatures -echo -------------------------------------------- - -sh tools/release-scripts/get_signatures.sh -p ${PGPORT} - - -if [[ $(git status | grep 'pgrouting--') ]]; then - echo "**************************************************" - echo " WARNING" - echo "the signatures changed, copyed the generated files" - echo "Plese verify the changes are minimal" - echo "**************************************************" - git diff sql/sigs -fi - - -################################ -################################ -## checks all the repository -# -# the rest of the script use PGPORT variable -################################ -################################ -echo -echo -------------------------------------------- -echo Update / Verify NEWS -echo -------------------------------------------- -tools/release-scripts/notes2news.pl -if [[ $(git status | grep 'NEWS') ]]; then - echo "**************************************************" - echo " WARNING" - echo "the signatures changed, copying generated files" - echo "Plese verify the changes are minimal" - echo "**************************************************" - git diff NEWS -fi - -######################################################## -# Execute documentation queries for the whole project -######################################################## -<<<<<<< HEAD -# tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT -# -# tools/testers/doc_queries_generator.pl -pgport $PGPORT -# -# cd build -# #rm -rf doc/* -# make doc -# #rm -rf doxygen/* -# make doxy -# cd .. -======= -tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT - -tools/testers/doc_queries_generator.pl -pgport $PGPORT - -cd build -#rm -rf doc/* -make doc -#rm -rf doxygen/* -make doxy -cd .. ->>>>>>> [planarGraph] No Crash Test Added - -######################################################## -# pgTap test all -######################################################## - -dropdb --if-exists -p $PGPORT ___pgr___test___ -createdb -p $PGPORT ___pgr___test___ -echo $PGPORT -<<<<<<< HEAD -sh ./tools/testers/pg_prove_tests.sh himanshu $PGPORT -======= -sh ./tools/testers/pg_prove_tests.sh vicky $PGPORT ->>>>>>> [planarGraph] No Crash Test Added -dropdb -p $PGPORT ___pgr___test___ - -#tools/testers/update-tester.sh - -} - -# Uncomment what you need -for compiler in GCC -do - if [ ! -z "$1" ]; then - echo "Fresh build" - rm -rf build/* - fi - test_compile ${GCC} -done From 2d4b549aa2b3f748d38e50d088ef3309a5f7312b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 15 Jul 2020 15:19:55 +0530 Subject: [PATCH 0438/1360] Added Plan number and planarGraph fixed --- include/planarGraph/pgr_boyerMyrvold.hpp | 83 ++++--------------- .../makeConnected-edge-cases.sql | 2 +- 2 files changed, 19 insertions(+), 66 deletions(-) diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index 6af671567f9..be5cdf90931 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -31,31 +31,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include -#include #include #include - -#include -#include - #include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_boyer_t.h" //****************************************** using namespace boost; -using namespace std; namespace pgrouting { namespace functions { template < class G > class Pgr_boyerMyrvold { public: - typedef typename G::V V; - typedef typename G::E E; - typedef typename G::E_i E_i; - typedef adjacency_list< vecS, vecS, undirectedS, property, property>biConnected; - typedef std::vector< graph_traits::edge_descriptor > vec_t; + typedef typename G::V V; + typedef typename G::E E; + typedef typename G::E_i E_i; std::vector boyerMyrvold( G &graph){ return generateboyerMyrvold( @@ -65,60 +57,21 @@ class Pgr_boyerMyrvold { private: std::vector< pgr_boyer_t > generateboyerMyrvold( - G &graph ) { - - int i=0; - biConnected g; - E_i ei, ei_end; - mapmp,mp2; - for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ - int64_t src = graph[graph.source(*ei)].id; - int64_t tgt = graph[graph.target(*ei)].id; - if(mp.find(src)==mp.end()){ - mp[src] = i; - mp2[i] = src; - // log<<"ye i hai pehla"<::type e_index = get(edge_index, g); - graph_traits::edges_size_type edge_count = 0; - graph_traits::edge_iterator e, e_end; - for(boost::tie(e, e_end) = edges(g); e != e_end; ++e) { - put(e_index, *e, edge_count++); - } - - - - std::vector< pgr_boyer_t > results; - auto check = boyer_myrvold_planarity_test(g); - std::vector < vec_t > embedding (num_vertices(g)); - boyer_myrvold_planarity_test(boyer_myrvold_params::graph = g, - boyer_myrvold_params::embedding = &embedding[0]); - make_biconnected_planar(g, &embedding[0]); - if(check){ - // E_i ei, ei_end; - - for (boost::tie(e, e_end) = edges(g),i = 0; e != e_end; ++e,++i){ - int64_t u = source(*e,g); - int64_t v = target(*e,g); - // double cost = graph[*ei].cost; - pgr_boyer_t tmp; - tmp.source = mp2[u]; - tmp.target = mp2[v]; - // tmp.cost = cost; - results.push_back(tmp); + const G &graph ) { + std::vector< pgr_boyer_t > results; + auto check = boyer_myrvold_planarity_test(graph.graph); + if(check){ + E_i ei, ei_end; + int i; + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ + int64_t src = graph[graph.source(*ei)].id; + int64_t tgt = graph[graph.target(*ei)].id; + double cost = graph[*ei].cost; + pgr_boyer_t tmp; + tmp.source = src; + tmp.target = tgt; + tmp.cost = cost; + results.push_back(tmp); } } diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index e46e1d2a6b4..9cc0bb917db 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(2); +SELECT plan(4); From 1d7643d04eadcf6c787fc17e3864b8277494a1c2 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 15 Jul 2020 21:48:40 +0530 Subject: [PATCH 0439/1360] [makeConnected] Added 1 Vertices Tests --- .../makeConnected-edge-cases.sql | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index 9cc0bb917db..f98f5d4c8fc 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -36,11 +36,34 @@ SELECT is_empty('q3', 'q3: Vertex Not present in the graph'); PREPARE makeConnected4 AS SELECT * FROM pgr_makeConnected( - 'q4' + 'q3' ); SELECT is_empty('makeConnected4', '4: Vertex Not present in the graph -> Empty row is returned'); +-- 1 vertex tests + +PREPARE makeConnected5 AS +SELECT * +FROM pgr_makeConnected( + 'SELECT id, source, 6 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 9' +); + +SELECT is_empty('makeConnected5', '5: Graph is already Connected -> Empty row is returned'); + +-- 2 vertices tests + +PREPARE makeConnected6 AS +SELECT * +FROM pgr_makeConnected( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 1' +); + +SELECT is_empty('makeConnected6', '6: Graph is already Connected -> Empty row is returned'); From 55f8175c69432af5713eb28c7d7530a4527fc70b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 15 Jul 2020 23:20:27 +0530 Subject: [PATCH 0440/1360] [makeConnected][pgTap] Added 2 Vertices Not Connected Tests --- pgtap/makeConnected/makeConnected-edge-cases.sql | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index f98f5d4c8fc..8bc6a65f924 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(4); +SELECT plan(7); @@ -53,7 +53,7 @@ FROM pgr_makeConnected( SELECT is_empty('makeConnected5', '5: Graph is already Connected -> Empty row is returned'); --- 2 vertices tests +-- 2 vertices tests ===> Connected PREPARE makeConnected6 AS SELECT * @@ -63,7 +63,17 @@ FROM pgr_makeConnected( WHERE id = 1' ); -SELECT is_empty('makeConnected6', '6: Graph is already Connected -> Empty row is returned'); +-- 2 vertices tests ===> Not Connected +PREPARE makeConnected7 AS +SELECT * +FROM pgr_makeConnected('SELECT id, source, 2 AS target, cost, reverse_cost + FROM edge_table WHERE id = 2 + UNION + SELECT id, source, 6 AS target, cost, reverse_cost + FROM edge_table WHERE id = 9' +); + +SELECT set_eq('makeConnected7', $$VALUES (1, 2, 6)$$, '19: One row is returned'); From a8f4343256db67166121329dff3072bdbc4c7125 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 16 Jul 2020 12:38:31 +0530 Subject: [PATCH 0441/1360] [makeConnected][pgTap] Completed 2 vertices not Connected --- pgtap/makeConnected/makeConnected-edge-cases.sql | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index 8bc6a65f924..1b986af66f9 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(7); +SELECT plan(8); @@ -63,6 +63,7 @@ FROM pgr_makeConnected( WHERE id = 1' ); +SELECT is_empty('makeConnected6', '6: Graph is already Connected -> Empty row is returned'); -- 2 vertices tests ===> Not Connected PREPARE makeConnected7 AS SELECT * @@ -73,7 +74,17 @@ FROM pgr_makeConnected('SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table WHERE id = 9' ); -SELECT set_eq('makeConnected7', $$VALUES (1, 2, 6)$$, '19: One row is returned'); +SELECT set_eq('makeConnected7', $$VALUES (1, 2, 6)$$, '7: One row is returned'); + +PREPARE makeConnected8 AS +SELECT * +SELECT * FROM pgr_makeConnected('SELECT id, source, 7 AS target, cost, reverse_cost + FROM edge_table WHERE id = 6 + UNION + SELECT id, source, 6 AS target, cost, reverse_cost + FROM edge_table WHERE id = 9' +); +SELECT set_eq('makeConnected8', $$VALUES (1, 7, 6)$$, '8: One row is returned'); From 285280b5057e5558e79ad7329571f39cce3e9c09 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 16 Jul 2020 14:18:02 +0530 Subject: [PATCH 0442/1360] [makeConnected][pgTap] Added 3 Vertices Cyclic Tests --- .../makeConnected-edge-cases.sql | 60 ++++++++++++++++++- 1 file changed, 57 insertions(+), 3 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index 1b986af66f9..fb4943715b5 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(8); +SELECT plan(11); @@ -53,7 +53,7 @@ FROM pgr_makeConnected( SELECT is_empty('makeConnected5', '5: Graph is already Connected -> Empty row is returned'); --- 2 vertices tests ===> Connected +-- 2 vertices tests ===> Already Connected PREPARE makeConnected6 AS SELECT * @@ -65,6 +65,7 @@ FROM pgr_makeConnected( SELECT is_empty('makeConnected6', '6: Graph is already Connected -> Empty row is returned'); -- 2 vertices tests ===> Not Connected + PREPARE makeConnected7 AS SELECT * FROM pgr_makeConnected('SELECT id, source, 2 AS target, cost, reverse_cost @@ -78,7 +79,7 @@ SELECT set_eq('makeConnected7', $$VALUES (1, 2, 6)$$, '7: One row is returned'); PREPARE makeConnected8 AS SELECT * -SELECT * FROM pgr_makeConnected('SELECT id, source, 7 AS target, cost, reverse_cost +FROM pgr_makeConnected('SELECT id, source, 7 AS target, cost, reverse_cost FROM edge_table WHERE id = 6 UNION SELECT id, source, 6 AS target, cost, reverse_cost @@ -87,6 +88,59 @@ SELECT * FROM pgr_makeConnected('SELECT id, source, 7 AS target, cost, reverse_ SELECT set_eq('makeConnected8', $$VALUES (1, 7, 6)$$, '8: One row is returned'); +-- 3 vertices tests ====> Already Connnected + +CREATE TABLE three_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); + +INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES + (3, 6, 20, -1), + (3, 8, 10, -1), + (6, 8, -1, 12); + +PREPARE q9 AS +SELECT id, source, target, cost, reverse_cost +FROM three_vertices_table; + +-- Cyclic Graph with three vertices 3, 6 and 8 +SELECT set_eq('q9', + $$VALUES + (1, 3, 6, 20, -1), + (2, 3, 8, 10, -1), + (3, 6, 8, -1, 12) + $$, + 'q9: Cyclic Graph with three vertices 3, 6 and 8' +); + + + + + +PREPARE makeConnected10 AS +SELECT * +FROM pgr_makeConnected( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table' +); + +PREPARE makeConnected11 AS +SELECT * +FROM pgr_makeConnected( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table WHERE id > 4' +); + +SELECT is_empty('makeConnected10', + '10: Graph Already Connected -> Empty row is returned' +); +SELECT is_empty('makeConnected11', + '11: Vertex not present in graph -> Empty row is returned' +); From bae05c5dedf0a04f0d7b32ad85d3dddb95a4f858 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 16 Jul 2020 16:15:07 +0530 Subject: [PATCH 0443/1360] [makeConnected][pgtap] Added 3 Vertices Not Connected Graph --- docqueries/kargersContraction/CMakeLists.txt | 11 ----- .../doc-pgr_kargersContraction.result | 46 ------------------- .../doc-pgr_kargersContraction.test.sql | 31 ------------- docqueries/kargersContraction/test.conf | 17 ------- .../makeConnected-edge-cases.sql | 36 +++++++++++++-- 5 files changed, 33 insertions(+), 108 deletions(-) delete mode 100644 docqueries/kargersContraction/CMakeLists.txt delete mode 100644 docqueries/kargersContraction/doc-pgr_kargersContraction.result delete mode 100644 docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql delete mode 100644 docqueries/kargersContraction/test.conf diff --git a/docqueries/kargersContraction/CMakeLists.txt b/docqueries/kargersContraction/CMakeLists.txt deleted file mode 100644 index d142a959227..00000000000 --- a/docqueries/kargersContraction/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -# Do not use extensions -SET(LOCAL_FILES - doc-pgr_kargersContraction - ) - -foreach (f ${LOCAL_FILES}) - configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") - list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") -endforeach() - -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/kargersContraction/doc-pgr_kargersContraction.result b/docqueries/kargersContraction/doc-pgr_kargersContraction.result deleted file mode 100644 index 86606af0e6e..00000000000 --- a/docqueries/kargersContraction/doc-pgr_kargersContraction.result +++ /dev/null @@ -1,46 +0,0 @@ -BEGIN; -BEGIN -SET client_min_messages TO NOTICE; -SET --- q1 -SELECT * FROM pgr_kargersContraction( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id < 17' -); - seq | edge | cost | mincut ------+------+------+-------- -(0 rows) - --- q2 -SELECT * FROM pgr_kargersContraction( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 18' -); - seq | edge | cost | mincut ------+------+------+-------- -(0 rows) - --- q3 -SELECT * FROM pgr_kargersContraction( -$$ - SELECT id, source, target, cost, reverse_cost FROM edge_table - where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) - OR - target = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) -$$ - ); - seq | edge | cost | mincut ------+------+------+-------- -(0 rows) - --- q4 -ROLLBACK; -ROLLBACK diff --git a/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql b/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql deleted file mode 100644 index 2bbffef73d4..00000000000 --- a/docqueries/kargersContraction/doc-pgr_kargersContraction.test.sql +++ /dev/null @@ -1,31 +0,0 @@ -\echo -- q1 -SELECT * FROM pgr_kargersContraction( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id < 17' -); - -\echo -- q2 -SELECT * FROM pgr_kargersContraction( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 18' -); - -\echo -- q3 -SELECT * FROM pgr_kargersContraction( -$$ - SELECT id, source, target, cost, reverse_cost FROM edge_table - where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) - OR - target = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) -$$ - ); - -\echo -- q4 diff --git a/docqueries/kargersContraction/test.conf b/docqueries/kargersContraction/test.conf deleted file mode 100644 index fba022601b1..00000000000 --- a/docqueries/kargersContraction/test.conf +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/perl -w - -%main::tests = ( - 'any' => { - 'comment' => 'kargersContraction algorithm tets.', - 'data' => [ ], - 'tests' => [qw( - doc-pgr_kargersContraction - )], - 'documentation' => [qw( - doc-pgr_kargersContraction - )] - }, - -); - -1; diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index fb4943715b5..29318c7473d 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -118,9 +118,6 @@ SELECT set_eq('q9', ); - - - PREPARE makeConnected10 AS SELECT * FROM pgr_makeConnected( @@ -142,8 +139,41 @@ SELECT is_empty('makeConnected11', '11: Vertex not present in graph -> Empty row is returned' ); +-- 3 vertices tests ====> Not Connnected +PREPARE makeConnected12 AS +SELECT * +FROM pgr_makeConnected('SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id = 2 + UNION + SELECT id, source, 6 AS target, cost, reverse_cost + FROM edge_table WHERE id = 9' +); +PREPARE makeConnected13 AS +SELECT * +FROM pgr_makeConnected('SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id = 2 + UNION + SELECT id, source, 6 AS target, cost, reverse_cost + FROM edge_table WHERE id = 9 + UNION + SELECT id, source, 7 AS target, cost, reverse_cost + FROM edge_table WHERE id = 6' +); +SELECT set_eq('makeConnected12', + $$VALUES + (1, 3, 6) + $$, + '12:Graph with three vertices 1, 2 and 6' +); +SELECT set_eq('makeConnected13', + $$VALUES + (1, 6, 2), + (2, 2, 7) + $$, + '13:Graph with three vertices 2, 6 and 7' +); SELECT * FROM finish(); ROLLBACK; From 2df8c596a63eafe0453baa69687d7b87f76cbb32 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 16 Jul 2020 20:48:10 +0530 Subject: [PATCH 0444/1360] [makeConnected][pgTap] Added 4 Vertices Connected Graph --- .../makeConnected-edge-cases.sql | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index 29318c7473d..085bd7e3a29 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(11); +SELECT plan(15); @@ -175,5 +175,34 @@ SELECT set_eq('makeConnected13', $$, '13:Graph with three vertices 2, 6 and 7' ); + +-- 4 vertex tests ===> Already Connected + +PREPARE makeConnected14 AS +SELECT * +FROM pgr_makeConnected( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id IN (1,2)' +); + +SELECT is_empty('makeConnected14', '14: Graph is already Connected -> Empty row is returned'); + +-- 4 vertex tests ===> Not Connected +PREPARE makeConnected15 AS +SELECT * +FROM pgr_makeConnected( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id IN (1,6)' +); + +SELECT set_eq('makeConnected15', + $$VALUES + (1, 2, 7) + $$, + '12:One row is returned' +); + SELECT * FROM finish(); ROLLBACK; From 2a6809c91afa49928e54a44e8ce7f164915836eb Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 16 Jul 2020 21:09:20 +0530 Subject: [PATCH 0445/1360] [makeConnected][pgTap] Added 4 Vertices Not Connected graph --- .../makeConnected-edge-cases.sql | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index 085bd7e3a29..5a3a03445a0 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(15); +SELECT plan(16); @@ -151,7 +151,7 @@ FROM pgr_makeConnected('SELECT id, source, target, cost, reverse_cost PREPARE makeConnected13 AS SELECT * -FROM pgr_makeConnected('SELECT id, source, target, cost, reverse_cost +FROM pgr_makeConnected('SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table WHERE id = 2 UNION SELECT id, source, 6 AS target, cost, reverse_cost @@ -189,6 +189,9 @@ FROM pgr_makeConnected( SELECT is_empty('makeConnected14', '14: Graph is already Connected -> Empty row is returned'); -- 4 vertex tests ===> Not Connected + + + PREPARE makeConnected15 AS SELECT * FROM pgr_makeConnected( @@ -197,11 +200,31 @@ FROM pgr_makeConnected( WHERE id IN (1,6)' ); +PREPARE makeConnected16 AS +SELECT * +FROM pgr_makeConnected('SELECT id, source, 2 AS target, cost, reverse_cost + FROM edge_table WHERE id = 2 + UNION + SELECT id, source, 6 AS target, cost, reverse_cost + FROM edge_table WHERE id = 9 + UNION + SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id = 14' +); + SELECT set_eq('makeConnected15', $$VALUES (1, 2, 7) $$, - '12:One row is returned' + '15:Two Connected Components. One row is returned' +); + +SELECT set_eq('makeConnected16', + $$VALUES + (1, 6, 10), + (2, 13, 2) + $$, + '16:Three Connected Components. Two rows are returned' ); SELECT * FROM finish(); From 66ce47ecf0c4cb613e61c177e6fe88f3a0b56210 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 17 Jul 2020 16:26:05 +0530 Subject: [PATCH 0446/1360] signature file changed upon completion of run.sh --- sql/sigs/pgrouting--3.1.0.sig | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sql/sigs/pgrouting--3.1.0.sig b/sql/sigs/pgrouting--3.1.0.sig index a4442e2cc14..3ab132fd7c5 100644 --- a/sql/sigs/pgrouting--3.1.0.sig +++ b/sql/sigs/pgrouting--3.1.0.sig @@ -51,6 +51,8 @@ pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) _pgr_boost_version() +_pgr_boyermyrvold(text) +pgr_boyermyrvold(text) pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) @@ -149,6 +151,8 @@ _pgr_linegraphfull(text) pgr_linegraphfull(text) _pgr_linegraph(text,boolean) pgr_linegraph(text,boolean) +_pgr_makeconnected(text) +pgr_makeconnected(text) _pgr_maxcardinalitymatch(text,boolean) pgr_maxcardinalitymatch(text,boolean) pgr_maxflowmincost_cost(text,anyarray,anyarray) From 66912223f0ff5ea0b0c36602ec8eb15ebba061ce Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 17 Jul 2020 16:37:47 +0530 Subject: [PATCH 0447/1360] [makeConnected] Sorted Input Rows --- src/makeConnected/makeConnected_driver.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp index 2814473d358..dba9abd6598 100644 --- a/src/makeConnected/makeConnected_driver.cpp +++ b/src/makeConnected/makeConnected_driver.cpp @@ -64,6 +64,20 @@ do_pgr_makeConnected( std::vector results; std::string logstr; + // sorting the edges in an ascending order of their id, before creating the graph + std::sort(data_edges, data_edges + total_edges, + [](const pgr_edge_t &lhs, const pgr_edge_t &rhs) -> bool { + return lhs.target < rhs.target; + }); + std::stable_sort(data_edges, data_edges + total_edges, + [](const pgr_edge_t &lhs, const pgr_edge_t &rhs) -> bool { + return lhs.source < rhs.source; + }); + std::stable_sort(data_edges, data_edges + total_edges, + [](const pgr_edge_t &lhs, const pgr_edge_t &rhs) -> bool { + return lhs.id < rhs.id; + }); + graphType gType = UNDIRECTED; log << "Working with Undirected Graph\n"; pgrouting::UndirectedGraph undigraph(gType); From 660d1b7252c4073660eb0f0eb0acffb5ca1741ee Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 17 Jul 2020 18:02:29 +0530 Subject: [PATCH 0448/1360] [makeConnected] Modified the column names --- include/c_types/pgr_makeConnected_t.h | 2 +- include/makeConnected/pgr_makeConnected.hpp | 2 +- sql/makeConnected/_makeConnected.sql | 2 +- sql/makeConnected/makeConnected.sql | 2 +- src/makeConnected/makeConnected.c | 8 +++----- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/include/c_types/pgr_makeConnected_t.h b/include/c_types/pgr_makeConnected_t.h index c1e079188bc..f68b72d8893 100644 --- a/include/c_types/pgr_makeConnected_t.h +++ b/include/c_types/pgr_makeConnected_t.h @@ -35,7 +35,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif typedef struct { - int64_t node_fro; + int64_t node_from; int64_t node_to; } pgr_makeConnected_t; diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index 9e9585e51d1..d51af6cab51 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -84,7 +84,7 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { st.insert({src,tgt}); log<<"src:"<=edgeCount){ - results[i].node_fro = src; + results[i].node_from = src; results[i].node_to = tgt; i++; } diff --git a/sql/makeConnected/_makeConnected.sql b/sql/makeConnected/_makeConnected.sql index 6a34e677f2c..279654c68e8 100644 --- a/sql/makeConnected/_makeConnected.sql +++ b/sql/makeConnected/_makeConnected.sql @@ -34,7 +34,7 @@ CREATE OR REPLACE FUNCTION _pgr_makeConnected( TEXT, -- edges_sql (required) OUT seq BIGINT, - OUT node_fro BIGINT, + OUT node_from BIGINT, OUT node_to BIGINT) RETURNS SETOF RECORD AS diff --git a/sql/makeConnected/makeConnected.sql b/sql/makeConnected/makeConnected.sql index 5a89fbeaf03..528cf63376d 100644 --- a/sql/makeConnected/makeConnected.sql +++ b/sql/makeConnected/makeConnected.sql @@ -33,7 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION pgr_makeConnected( TEXT, -- edges_sql (required) OUT seq BIGINT, - OUT node_fro BIGINT, + OUT node_from BIGINT, OUT node_to BIGINT) RETURNS SETOF RECORD AS diff --git a/src/makeConnected/makeConnected.c b/src/makeConnected/makeConnected.c index 8f6b713012b..dfd09f67b95 100644 --- a/src/makeConnected/makeConnected.c +++ b/src/makeConnected/makeConnected.c @@ -84,7 +84,6 @@ process( &log_msg, ¬ice_msg, &err_msg); - // log <<"here\n"; time_msg(" processing pgr_makeConnected", start_t, clock()); PGR_DBG("Returning %ld tuples", *result_count); @@ -165,9 +164,8 @@ PGDLLEXPORT Datum _pgr_makeconnected(PG_FUNCTION_ARGS) { /**********************************************************************/ /* - OUT source BIGINT, - OUT target_vid BIGINT, - OUT cost FLOAT, + OUT node_from BIGINT, + OUT node_to BIGINT */ /**********************************************************************/ size_t numb = 3; @@ -180,7 +178,7 @@ PGDLLEXPORT Datum _pgr_makeconnected(PG_FUNCTION_ARGS) { } values[0] = Int32GetDatum(funcctx->call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].node_fro); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].node_from); values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].node_to); /**********************************************************************/ From f42dde3e96108c41f04b706837710dda70cbaeba Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 17 Jul 2020 21:18:10 +0530 Subject: [PATCH 0449/1360] [makeConnected] Fixed Failed pgtap tests --- pgtap/makeConnected/makeConnected-edge-cases.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index 5a3a03445a0..cf55c1f7df2 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -170,8 +170,8 @@ SELECT set_eq('makeConnected12', SELECT set_eq('makeConnected13', $$VALUES - (1, 6, 2), - (2, 2, 7) + (1, 2, 7), + (2, 7, 6) $$, '13:Graph with three vertices 2, 6 and 7' ); @@ -221,8 +221,8 @@ SELECT set_eq('makeConnected15', SELECT set_eq('makeConnected16', $$VALUES - (1, 6, 10), - (2, 13, 2) + (1, 2, 6), + (2, 6, 10) $$, '16:Three Connected Components. Two rows are returned' ); From 79104f085728b258eef104f1f6f63e92ba65b3aa Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 17 Jul 2020 23:14:28 +0530 Subject: [PATCH 0450/1360] [planarGraph][docqueries] Added Non-planar Graphs Doc --- .../planarGraph/doc-pgr_boyerMyrvold.result | 45 ++++++++++++------- .../planarGraph/doc-pgr_boyerMyrvold.test.sql | 15 ++++--- 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index c6600e892e1..fff369f27db 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -3,30 +3,47 @@ BEGIN SET client_min_messages TO NOTICE; SET -- q1 -SELECT * FROM pgr_kargersContraction( +SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18' + FROM edge_table' ); seq | source | target | cost -----+--------+--------+------ - 1 | 6 | 9 | 1 - 2 | 9 | 12 | 1 - 3 | 4 | 9 | 1 -(3 rows) + 1 | 1 | 2 | 1 + 2 | 3 | 2 | 1 + 3 | 4 | 3 | 1 + 4 | 2 | 5 | 1 + 5 | 3 | 6 | 1 + 6 | 7 | 8 | 1 + 7 | 8 | 5 | 1 + 8 | 5 | 6 | 1 + 9 | 6 | 9 | 1 + 10 | 5 | 10 | 1 + 11 | 6 | 11 | 1 + 12 | 10 | 11 | 1 + 13 | 11 | 12 | 1 + 14 | 10 | 13 | 1 + 15 | 9 | 12 | 1 + 16 | 4 | 9 | 1 + 17 | 14 | 15 | 1 + 18 | 16 | 17 | 1 +(18 rows) -- q2 -SELECT * FROM pgr_kargersContraction( +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); +INSERT 0 7 +-- q3 +SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18' + FROM edge_table' ); seq | source | target | cost -----+--------+--------+------ (0 rows) --- q3 -SELECT * FROM pgr_kargersContraction( +-- q4 +SELECT * FROM pgr_boyerMyrvold( $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( @@ -42,9 +59,7 @@ $$ ); seq | source | target | cost -----+--------+--------+------ - 1 | 14 | 15 | 1 -(1 row) +(0 rows) --- q4 ROLLBACK; ROLLBACK diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql index 507fe602446..6e846d52a01 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql @@ -1,18 +1,21 @@ \echo -- q1 SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18' + FROM edge_table' ); \echo -- q2 +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); + +\echo -- q3 + SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18' + FROM edge_table' ); -\echo -- q3 +\echo -- q4 SELECT * FROM pgr_boyerMyrvold( $$ SELECT id, source, target, cost, reverse_cost FROM edge_table @@ -27,5 +30,3 @@ $$ ) $$ ); - -\echo -- q4 From cfeb49fe70ee6324db401d23ed4424a1b5e9f528 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 18 Jul 2020 11:59:46 +0530 Subject: [PATCH 0451/1360] [makeConnected][pgTap] Added innerquery Tests --- pgtap/makeConnected/makeConnected-innerQuery.sql | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-innerQuery.sql b/pgtap/makeConnected/makeConnected-innerQuery.sql index 98aedb21240..13a305e6c86 100644 --- a/pgtap/makeConnected/makeConnected-innerQuery.sql +++ b/pgtap/makeConnected/makeConnected-innerQuery.sql @@ -1,8 +1,13 @@ \i setup.sql -SELECT plan(54); +SELECT plan(56); -SELECT style_dijkstra('pgr_primDFS', ', 5)'); +SET client_min_messages TO ERROR; + +SELECT has_function('pgr_makeConnected'); + +SELECT function_returns('pgr_makeConnected',ARRAY['text'],'setof record'); +SELECT style_dijkstra('pgr_makeConnected', ')'); SELECT finish(); ROLLBACK; From f9466911de7f45e120c4d58b986f89a7a929a1aa Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 18 Jul 2020 12:06:25 +0530 Subject: [PATCH 0452/1360] [makeConnected][pgTAP] Added types Check tests --- .../makeConnected-types-check.sql | 75 +++++++++++-------- 1 file changed, 43 insertions(+), 32 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-types-check.sql b/pgtap/makeConnected/makeConnected-types-check.sql index 1c0bb60679d..5a1fba6ab12 100644 --- a/pgtap/makeConnected/makeConnected-types-check.sql +++ b/pgtap/makeConnected/makeConnected-types-check.sql @@ -1,37 +1,48 @@ \i setup.sql -SELECT plan(7); - ----------------------------------- --- tests for all --- prefix: pgr_prim ----------------------------------- - -SELECT has_function('pgr_primdfs'); - -SELECT has_function('pgr_primdfs', ARRAY['text','bigint','bigint']); -SELECT has_function('pgr_primdfs', ARRAY['text','anyarray','bigint']); -SELECT function_returns('pgr_primdfs', ARRAY['text','bigint','bigint'], 'setof record'); -SELECT function_returns('pgr_primdfs', ARRAY['text','anyarray','bigint'], 'setof record'); - - --- pgr_primdfs --- parameter names -SELECT set_eq( - $$SELECT proargnames from pg_proc where proname = 'pgr_primdfs'$$, - $$VALUES - ('{"","","max_depth","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[]) - $$ -); - --- parameter types -SELECT set_eq( - $$SELECT proallargtypes from pg_proc where proname = 'pgr_primdfs'$$, - $$VALUES - ('{25,20,20,20,20,20,20,20,701,701}'::OID[]), - ('{25,2277,20,20,20,20,20,20,701,701}'::OID[]) - $$ -); +SELECT plan(5); + +SELECT has_function('pgr_makeConnected'); + +SELECT function_returns('pgr_makeConnected', ARRAY['text'], 'setof record'); + + +-- flags +-- error + +SELECT lives_ok( + 'SELECT * FROM pgr_makeConnected( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'' + )', + '3: Documentation says works with no flags'); + +SELECT throws_ok( + 'SELECT * FROM pgr_makeConnected( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table id < 17'', + 3 + )','42883','function pgr_makeConnected(unknown, integer) does not exist', + '4: Documentation says it does not work with 1 flags'); + + +-- prepare for testing return types + +PREPARE all_return AS +SELECT + 'bigint'::text AS t1, + 'bigint'::text AS t2, + 'bigint'::text AS t3 + +PREPARE q5 AS +SELECT pg_typeof(seq)::text AS t1, + pg_typeof(node_from)::text AS t2, + pg_typeof(node_to)::text AS t3 + FROM ( + SELECT * FROM pgr_makeConnected( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 17' + ) ) AS a LIMIT 1; + + +SELECT set_eq('q5', 'all_return', 'Expected returning, columns names & types'); SELECT * FROM finish(); ROLLBACK; From 25563c2c2bb7ea590aba412f624fcfe99f04951c Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 18 Jul 2020 12:19:49 +0530 Subject: [PATCH 0453/1360] [makeConnected][pgTap] Added No Crash Tests --- .../makeConnected-edge-cases.sql | 2 + .../makeConnected-innerQuery.sql | 6 +- .../makeConnected-types-check.sql | 4 +- .../no_crash_test-makeConnected.sql | 86 ++----------------- 4 files changed, 12 insertions(+), 86 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index cf55c1f7df2..ffc3dd68a62 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -227,5 +227,7 @@ SELECT set_eq('makeConnected16', '16:Three Connected Components. Two rows are returned' ); +-- Rows Consistency Check + SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/makeConnected/makeConnected-innerQuery.sql b/pgtap/makeConnected/makeConnected-innerQuery.sql index 13a305e6c86..042dbe3fb40 100644 --- a/pgtap/makeConnected/makeConnected-innerQuery.sql +++ b/pgtap/makeConnected/makeConnected-innerQuery.sql @@ -4,10 +4,10 @@ SELECT plan(56); SET client_min_messages TO ERROR; -SELECT has_function('pgr_makeConnected'); +SELECT has_function('pgr_makeconnected'); -SELECT function_returns('pgr_makeConnected',ARRAY['text'],'setof record'); -SELECT style_dijkstra('pgr_makeConnected', ')'); +SELECT function_returns('pgr_makeconnected',ARRAY['text'],'setof record'); +SELECT style_dijkstra('pgr_makeconnected', ')'); SELECT finish(); ROLLBACK; diff --git a/pgtap/makeConnected/makeConnected-types-check.sql b/pgtap/makeConnected/makeConnected-types-check.sql index 5a1fba6ab12..0f71188f031 100644 --- a/pgtap/makeConnected/makeConnected-types-check.sql +++ b/pgtap/makeConnected/makeConnected-types-check.sql @@ -2,9 +2,9 @@ SELECT plan(5); -SELECT has_function('pgr_makeConnected'); +SELECT has_function('pgr_makeconnected'); -SELECT function_returns('pgr_makeConnected', ARRAY['text'], 'setof record'); +SELECT function_returns('pgr_makeconnected', ARRAY['text'], 'setof record'); -- flags diff --git a/pgtap/makeConnected/no_crash_test-makeConnected.sql b/pgtap/makeConnected/no_crash_test-makeConnected.sql index 1ad0d9b4d8f..d2504a16401 100644 --- a/pgtap/makeConnected/no_crash_test-makeConnected.sql +++ b/pgtap/makeConnected/no_crash_test-makeConnected.sql @@ -1,17 +1,11 @@ \i setup.sql -SELECT plan(86); +SELECT plan(5); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; -PREPARE null_vertex AS -SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); - - -SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); -SELECT is_empty('null_vertex', 'Should be empty to tests be meaningful'); - +SELECT isnt_empty('edges', 'Should not be empty true to tests be meaningful'); CREATE OR REPLACE FUNCTION test_function() RETURNS SETOF TEXT AS @@ -20,82 +14,12 @@ DECLARE params TEXT[]; subs TEXT[]; BEGIN - -- primDFS - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - '5' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::INTEGER'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - -- primDFS with depth - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - '5', - '3' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', - 'NULL::INTEGER' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::BIGINT'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - -- primDFS Multiple vertices - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - 'ARRAY[5,3]' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::BIGINT'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - -- primDFS with depth Multiple vertices - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - 'ARRAY[5,3]', - '3' - ]::TEXT[]; + params = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$']::TEXT[]; subs = ARRAY[ - 'NULL', - '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', - 'NULL::INTEGER' + 'NULL' ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::BIGINT[]'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - + RETURN query SELECT * FROM no_crash_test('pgr_makeConnected', params, subs); END $BODY$ LANGUAGE plpgsql VOLATILE; From 1f809e28e55fb81eed79a3912e7b9cb73ad258d4 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 18 Jul 2020 17:30:02 +0530 Subject: [PATCH 0454/1360] [makeConnected] Removed unnecessary files --- doc/planarGraph/pgr_topologicalSort.rst | 130 ----------------- .../makeConnected/pgr_makeConnectedDebug.hpp | 137 ------------------ .../makeConnected-types-check.sql | 2 +- 3 files changed, 1 insertion(+), 268 deletions(-) delete mode 100644 doc/planarGraph/pgr_topologicalSort.rst delete mode 100644 include/makeConnected/pgr_makeConnectedDebug.hpp diff --git a/doc/planarGraph/pgr_topologicalSort.rst b/doc/planarGraph/pgr_topologicalSort.rst deleted file mode 100644 index ea6deb0ef77..00000000000 --- a/doc/planarGraph/pgr_topologicalSort.rst +++ /dev/null @@ -1,130 +0,0 @@ -.. - **************************************************************************** - pgRouting Manual - Copyright(c) pgRouting Contributors - - This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ - **************************************************************************** - -pgr_boyerMyrvold - Experimental -=============================================================================== - -``pgr_boyerMyrvold`` — Returns the linear ordering of the vertices(s) for weighted directed acyclic graphs(DAG). -In particular, the topological sort algorithm implemented by Boost.Graph. - -.. figure:: images/boost-inside.jpeg - :target: https://www.boost.org/doc/libs/1_65_1/libs/graph/doc/topological_sort.html - - Boost Graph Inside - -.. include:: experimental.rst - :start-after: begin-warn-expr - :end-before: end-warn-expr - -.. rubric:: Availability - -* Version 3.0.0 - - * New **experimental** function - -.. rubric:: Support - -* **Supported versions:** - current(`3.0 `__) - -* **TBD** - -Description -------------------------------------------------------------------------------- - -The topological sort algorithm creates a linear ordering of the vertices such that if edge (u,v) appears -in the graph, then v comes before u in the ordering. - -This implementation can only be used with a **directed** graph with no cycles i.e. directed acyclic graph. - -The main characteristics are: - - Process is valid for directed acyclic graphs only. otherwise it will throw warnings. - - - For optimization purposes, if there are more than one answer, the function will return one of them. - - - The returned values are ordered in topological order: - - * Running time: :math:`O( (V + E))` - - -Signatures -------------------------------------------------------------------------------- - -.. rubric:: Summary - -.. code-block:: none - - pgr_boyerMyrvold(edges_sql) - - RETURNS SET OF (seq, sorted_v) - OR EMPTY SET - -:Example: For a **directed** graph - -.. literalinclude:: doc-topologicalSort.queries - :start-after: -- q1 - :end-before: -- q2 - -Parameters -------------------------------------------------------------------------------- - -=================== ====================== ========= ================================================= -Parameter Type Default Description -=================== ====================== ========= ================================================= -**edges_sql** ``TEXT`` SQL query as described above. -=================== ====================== ========= ================================================= - -Inner query -------------------------------------------------------------------------------- - -:edges_sql: an SQL query, which should return a set of rows with the following columns: - -================= =================== ======== ================================================= -Column Type Default Description -================= =================== ======== ================================================= -**id** ``ANY-INTEGER`` Identifier of the edge. -**source** ``ANY-INTEGER`` Identifier of the first end point vertex of the edge. -**target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. -**cost** ``ANY-NUMERICAL`` Weight of the edge `(source, target)` - - - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. - -**reverse_cost** ``ANY-NUMERICAL`` -1 Weight of the edge `(target, source)`, - - - When negative: edge `(target, source)` does not exist, therefore it's not part of the graph. - -================= =================== ======== ================================================= - -Where: - -:ANY-INTEGER: SMALLINT, INTEGER, BIGINT -:ANY-NUMERICAL: SMALLINT, INTEGER, BIGINT, REAL, FLOAT - -Result Columns -------------------------------------------------------------------------------- - -Returns set of ``(seq, sorted_v)`` - -=============== =========== ============================================================ -Column Type Description -=============== =========== ============================================================ -**seq** ``INT`` Sequential value starting from **1**. -**sorted_v** ``BIGINT`` Linear ordering of the vertices(ordered in topological order) -=============== =========== ============================================================ - -See Also -------------------------------------------------------------------------------- - -* https://en.wikipedia.org/wiki/Topological_sorting -* The queries use the :doc:`sampledata` network. - -.. rubric:: Indices and tables - -* :ref:`genindex` -* :ref:`search` diff --git a/include/makeConnected/pgr_makeConnectedDebug.hpp b/include/makeConnected/pgr_makeConnectedDebug.hpp deleted file mode 100644 index 6fb9ca21ea7..00000000000 --- a/include/makeConnected/pgr_makeConnectedDebug.hpp +++ /dev/null @@ -1,137 +0,0 @@ -/*PGR-GNU***************************************************************** -File: pgr_makeConnected.hpp - -Copyright (c) 2020 pgRouting developers -Mail: project@pgrouting.org - -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com - ------- -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -********************************************************************PGR-GNU*/ - -#ifndef INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ -#define INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ -#pragma once - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include "cpp_common/pgr_messages.h" -#include "cpp_common/pgr_base_graph.hpp" -#include "c_types/pgr_makeConnected_t.h" -//****************************************** -using namespace boost; -using namespace std; -namespace pgrouting { -namespace functions { - -template < class G > -class Pgr_makeConnected : public pgrouting::Pgr_messages { - public: - typedef typename G::V V; - typedef typename G::E E; - typedef typename G::E_i E_i; - typedef adjacency_list< vecS, vecS, undirectedS, property>adj; - typedef boost::graph_traits< adj >::edge_iterator E_it; - std::vector makeConnected( - G &graph){ - return generatemakeConnected( - graph); - } - - private: - std::vector< pgr_makeConnected_t > - generatemakeConnected( - const G &graph ) { - - adj g; - // std::vector< graph_traits::vertices_size_type >component(num_vertices(graph.graph)); - int64_t i=0; - // make_connected(graph.graph); - E_i ei, ei_end; - mapmp; - for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ - int64_t src = graph[graph.source(*ei)].id; - int64_t tgt = graph[graph.target(*ei)].id; - if(mp.find(src)==mp.end()){ - mp[src] = i; - log<<"ye i hai pehla"< results(num_edges(g)); - i=0; - for (boost::tie(e, e_end) = edges(g); e != e_end; ++e){ - auto src = source(*e,g); - auto tgt = target(*e,g); - log <<"src:"<>st,st2; - // for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ - // int64_t src = source(*ei,graph.graph); - // int64_t tgt = target(*ei,graph.graph); - // st.insert({src,tgt}); - // log<<"src:"< results(st2.size()); - // if(st.size()>0){ - // for(auto it :st2) { - // // cout< Date: Sun, 19 Jul 2020 12:00:50 +0530 Subject: [PATCH 0455/1360] [planarGraph][doc] Completed Bolsena Code Spirint Recommendations --- doc/planarGraph/pgr_boyerMyrvold.rst | 30 ++++++++++++++----- .../planarGraph/doc-pgr_boyerMyrvold.result | 8 +++-- .../planarGraph/doc-pgr_boyerMyrvold.test.sql | 6 ++-- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/doc/planarGraph/pgr_boyerMyrvold.rst b/doc/planarGraph/pgr_boyerMyrvold.rst index 8fc8fea464e..4ffa8cd8b2d 100644 --- a/doc/planarGraph/pgr_boyerMyrvold.rst +++ b/doc/planarGraph/pgr_boyerMyrvold.rst @@ -4,7 +4,7 @@ Copyright(c) pgRouting Contributors This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ + Alike 3.1 License: http://creativecommons.org/licenses/by-sa/3.1/ **************************************************************************** pgr_boyerMyrvold - Experimental @@ -14,7 +14,7 @@ pgr_boyerMyrvold - Experimental In particular, the boyer_myrvold_planarity_test algorithm is implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg - :target: https://www.boost.org/doc/libs/1_53_0/libs/graph/doc/boyer_myrvold.html + :target: https://www.boost.org/libs/graph/doc/boyer_myrvold.html Boost Graph Inside @@ -24,14 +24,14 @@ In particular, the boyer_myrvold_planarity_test algorithm is implemented by Boos .. rubric:: Availability -* Version 3.0.0 +* Version 3.1.0 * New **experimental** function .. rubric:: Support * **Supported versions:** - current(`3.0 `__) + current(`3.1 `__) and above * **TBD** @@ -45,7 +45,7 @@ The main characteristics are: - The returned values are the set of source and target of edges with their costs. - * Running time: Assuming that both the vertex index and edge index supplied take time O(1) to return an index and there are O(n) total self-loops and parallel edges in the graph, most combinations of arguments given to boyer_myrvold_planarity_test result in an algorithm that runs in time O(n) for a graph with n vertices and m edges + - **Running time:** Assuming that both the vertex index and edge index supplied take time O(1) to return an index and there are O(n) total self-loops and parallel edges in the graph, most combinations of arguments given to boyer_myrvold_planarity_test result in an algorithm that runs in time O(n) for a graph with n vertices and m edges Signatures @@ -120,21 +120,37 @@ Column Type Description Additional Example: ------------------------------------------------------------------------------- + +Now, let's add some edges to make the graph non-planar. We will be adding edges between every pair in this list of vertices **1**, **2**, **3**, **4**, **5**. + + .. literalinclude:: doc-pgr_boyerMyrvold.queries :start-after: -- q2 :end-before: -- q3 -Use pgr_connectedComponents( ) function in query: + +Now, let's check our graph is planar or not. If it is non-planar then it will return an empty set of rows. + .. literalinclude:: doc-pgr_boyerMyrvold.queries :start-after: -- q3 :end-before: -- q4 +There can be some cases where we only want to check whether a particular connected component of a graph is planar or not. So the below example +will illustrate the way to do it. + + - Use pgr_connectedComponents( ) function in query: + + +.. literalinclude:: doc-pgr_boyerMyrvold.queries + :start-after: -- q4 + :end-before: -- q5 + See Also ------------------------------------------------------------------------------- * https://en.wikipedia.org/wiki/Planarity_testing -* https://www.boost.org/doc/libs/1_53_0/libs/graph/doc/boyer_myrvold.html +* https://www.boost.org/libs/graph/doc/boyer_myrvold.html * The queries use the :doc:`sampledata` network. .. rubric:: Indices and tables diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index fff369f27db..07439398dc2 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -48,18 +48,20 @@ $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 18) + WHERE component = 14) ) OR target = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 18) + WHERE component = 14) ) $$ ); seq | source | target | cost -----+--------+--------+------ -(0 rows) + 1 | 14 | 15 | 1 +(1 row) +-- q5 ROLLBACK; ROLLBACK diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql index 6e846d52a01..fe8ed32065b 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql @@ -21,12 +21,14 @@ $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 18) + WHERE component = 14) ) OR target = any (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 18) + WHERE component = 14) ) $$ ); + + \echo -- q5 From d65d12e3f7b5f7d88a2d2912b58e931442153be5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 19 Jul 2020 12:26:41 +0530 Subject: [PATCH 0456/1360] [makeConnected][pgTAP] Added Rows Consistency tests --- .../makeConnected-edge-cases.sql | 35 +++++++++++++++++-- .../makeConnected-types-check.sql | 4 +-- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index ffc3dd68a62..40f0c3aa110 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -1,8 +1,8 @@ \i setup.sql -SELECT plan(16); - +SELECT plan(21); +SET extra_float_digits = -3; -- 0 edge, 0 vertex tests @@ -227,7 +227,36 @@ SELECT set_eq('makeConnected16', '16:Three Connected Components. Two rows are returned' ); --- Rows Consistency Check +-- Check whether the same set of rows are returned always + +PREPARE expectedOutput AS +SELECT * FROM pgr_makeConnected( + 'SELECT id, source, target, cost + FROM edge_table + ORDER BY id' +); + +PREPARE descendingOrder AS +SELECT * FROM pgr_makeConnected( + 'SELECT id, source, target, cost + FROM edge_table + ORDER BY id DESC' +); + +PREPARE randomOrder AS +SELECT * FROM pgr_makeConnected( + 'SELECT id, source, target, cost + FROM edge_table + ORDER BY RANDOM()' +); + + +SELECT set_eq('expectedOutput', 'descendingOrder', '16: Should return same set of rows'); +SELECT set_eq('expectedOutput', 'randomOrder', '17: Should return same set of rows'); +SELECT set_eq('expectedOutput', 'randomOrder', '18: Should return same set of rows'); +SELECT set_eq('expectedOutput', 'randomOrder', '19: Should return same set of rows'); +SELECT set_eq('expectedOutput', 'randomOrder', '20: Should return same set of rows'); + SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/makeConnected/makeConnected-types-check.sql b/pgtap/makeConnected/makeConnected-types-check.sql index 61b2c613332..c6867147c01 100644 --- a/pgtap/makeConnected/makeConnected-types-check.sql +++ b/pgtap/makeConnected/makeConnected-types-check.sql @@ -20,7 +20,7 @@ SELECT throws_ok( 'SELECT * FROM pgr_makeConnected( ''SELECT id, source, target, cost, reverse_cost FROM edge_table id < 17'', 3 - )','42883','function pgr_makeConnected(unknown, integer) does not exist', + )','42883','function pgr_makeconnected(unknown, integer) does not exist', '4: Documentation says it does not work with 1 flags'); @@ -38,7 +38,7 @@ SELECT pg_typeof(seq)::text AS t1, pg_typeof(node_to)::text AS t3 FROM ( SELECT * FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 17' + 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id <= 18' ) ) AS a LIMIT 1; From 524058a09e8b844d5f52ff1d4863613b283ad36e Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 19 Jul 2020 13:17:45 +0530 Subject: [PATCH 0457/1360] [makeConnected] Removed unnecessary code and headers --- include/makeConnected/pgr_makeConnected.hpp | 34 +++++++++------------ 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index d51af6cab51..bfcc9eb8ce2 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -34,8 +34,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include -#include -#include #include #include @@ -63,8 +61,8 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { } private: - std::vector< pgr_makeConnected_t > - generatemakeConnected( + std::vector< pgr_makeConnected_t > + generatemakeConnected( G &graph ) { std::vector< int >component(num_vertices(graph.graph)); size_t comp = connected_components(graph.graph,&component[0]); @@ -76,22 +74,20 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { make_connected(graph.graph); log <<"Number of Components after: "<< connected_components(graph.graph,&component[0])<<"\n"; E_i ei, ei_end; - set>st,st2; - std::vector< pgr_makeConnected_t > results(comp); - for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ - int64_t src = graph[graph.source(*ei)].id; - int64_t tgt = graph[graph.target(*ei)].id; - st.insert({src,tgt}); - log<<"src:"<=edgeCount){ - results[i].node_from = src; - results[i].node_to = tgt; - i++; - } - newEdge++; + std::vector< pgr_makeConnected_t > results(comp); + for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ + int64_t src = graph[graph.source(*ei)].id; + int64_t tgt = graph[graph.target(*ei)].id; + log<<"src:"<=edgeCount){ + results[i].node_from = src; + results[i].node_to = tgt; + i++; + } + newEdge++; + } + return results; } - return results; - } }; } } From 594bcbd655b370807d193a2324b2503fb709c821 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 19 Jul 2020 13:24:53 +0530 Subject: [PATCH 0458/1360] Added previous version myrun.sh file --- myrun.sh | 193 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 myrun.sh diff --git a/myrun.sh b/myrun.sh new file mode 100644 index 00000000000..448ab366a86 --- /dev/null +++ b/myrun.sh @@ -0,0 +1,193 @@ +#!/bin/bash + +set -e + + +# copy this file into the root of your repository +# adjust to your needs + +# This run.sh is intended for 3.0.0 +VERSION=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) + +# set up your postgres version and port +PGVERSION="12" +PGPORT="5432" +PGBIN="/usr/lib/postgresql/${PGVERSION}/bin" + +# Compiler setup + +# When more than one compiler is installed +GCC="8" + +# Using the default compiler version +unset GCC + + +ALLDIRS=" +allpairs +alpha_shape +astar +bdAstar +bdDijkstra +bellman_ford +breadthFirstSearch +chinese +common +components +contraction +dagShortestPath +dijkstra +driving_distance +internalQueryTests +ksp +lineGraph +max_flow +mincut +pickDeliver +spanningTree +topologicalSort +topology +transitiveClosure +trsp +tsp +version +vrp_basic +withPoints" + +TESTDIRS=${ALLDIRS} +TESTDIRS="dijkstra makeConnected" + + +function test_compile { + +echo ------------------------------------ +echo ------------------------------------ +echo "Compiling with G++-$1" +echo ------------------------------------ + +if [ ! -z "$1" ]; then + update-alternatives --set gcc /usr/bin/gcc-$1 +fi + + +cd build/ + +# Using all defaults +#cmake .. + +# Options Release RelWithDebInfo MinSizeRel Debug +#cmake -DCMAKE_BUILD_TYPE=Debug .. + +# Additional debug information +#cmake -DPgRouting_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug .. + +# with documentation (like the one the website) +#cmake -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON .. + +# with developers documentation +#cmake -DWITH_DOC=ON -DBUILD_DOXY=ON .. + +cmake -DPOSTGRESQL_BIN=${PGBIN} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DBUILD_LATEX=ON -DCMAKE_BUILD_TYPE=Debug .. + +make -j 4 +sudo make install +# exit 0 +cd .. + + +echo +echo -------------------------------------------- +echo Execute documentation queries for a particular directories +echo -------------------------------------------- + + +# choose what is going to be tested while developing +for d in ${TESTDIRS} +do + # tools/testers/doc_queries_generator.pl -alg ${d} -documentation -pgport ${PGPORT} + # tools/testers/doc_queries_generator.pl -alg ${d} -pgport ${PGPORT} + tools/developer/taptest.sh ${d} -p ${PGPORT} +done +# exit 0 + + + + + +echo +echo -------------------------------------------- +echo Update signatures +echo -------------------------------------------- + +sh tools/release-scripts/get_signatures.sh -p ${PGPORT} + + +if [[ $(git status | grep 'pgrouting--') ]]; then + echo "**************************************************" + echo " WARNING" + echo "the signatures changed, copyed the generated files" + echo "Plese verify the changes are minimal" + echo "**************************************************" + git diff sql/sigs +fi + + +################################ +################################ +## checks all the repository +# +# the rest of the script use PGPORT variable +################################ +################################ +echo +echo -------------------------------------------- +echo Update / Verify NEWS +echo -------------------------------------------- +tools/release-scripts/notes2news.pl +if [[ $(git status | grep 'NEWS') ]]; then + echo "**************************************************" + echo " WARNING" + echo "the signatures changed, copying generated files" + echo "Plese verify the changes are minimal" + echo "**************************************************" + git diff NEWS +fi + +######################################################## +# Execute documentation queries for the whole project +######################################################## +tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT + +tools/testers/doc_queries_generator.pl -pgport $PGPORT +# exit 0 +cd build +#rm -rf doc/* +make doc +#rm -rf doxygen/* +make doxy +cd .. + +exit 0 +######################################################## +# pgTap test all +######################################################## + +dropdb --if-exists -p $PGPORT ___pgr___test___ +createdb -p $PGPORT ___pgr___test___ +echo $PGPORT +sh ./tools/testers/pg_prove_tests.sh himanshu $PGPORT +dropdb -p $PGPORT ___pgr___test___ + +#tools/testers/update-tester.sh + +} + +# Uncomment what you need +for compiler in GCC +do + if [ ! -z "$1" ]; then + echo "Fresh build" + rm -rf build/* + fi + test_compile ${GCC} +done From fc3680818b666ce19e5c0ecc0c39814e6116dbaf Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 22 Jun 2020 13:01:45 +0530 Subject: [PATCH 0459/1360] [planarGraph] Added name to contributors list --- doc/src/pgRouting-introduction.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/src/pgRouting-introduction.rst b/doc/src/pgRouting-introduction.rst index e2ccb9582ae..923380efe1e 100644 --- a/doc/src/pgRouting-introduction.rst +++ b/doc/src/pgRouting-introduction.rst @@ -58,6 +58,7 @@ Individuals (in alphabetical order) Ashish Kumar, Cayetano Benavent, Daniel Kastl, +Himanshu Raj, Martha Vergara, Regina Obe, Gudesa Venkata Sai Akhil, From 2516500c767f60b360ecb396d9aa3c5ca9133282 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 20 Jul 2020 12:32:16 +0530 Subject: [PATCH 0460/1360] [makeConnected][docqueries] Added docqueries files --- docqueries/makeConnected/CMakeLists.txt | 11 +++ .../doc-pgr_makeConnected.result | 67 +++++++++++++++++++ .../doc-pgr_makeConnected.test.sql | 34 ++++++++++ docqueries/makeConnected/test.conf | 17 +++++ 4 files changed, 129 insertions(+) create mode 100644 docqueries/makeConnected/CMakeLists.txt create mode 100644 docqueries/makeConnected/doc-pgr_makeConnected.result create mode 100644 docqueries/makeConnected/doc-pgr_makeConnected.test.sql create mode 100644 docqueries/makeConnected/test.conf diff --git a/docqueries/makeConnected/CMakeLists.txt b/docqueries/makeConnected/CMakeLists.txt new file mode 100644 index 00000000000..a9360c6350f --- /dev/null +++ b/docqueries/makeConnected/CMakeLists.txt @@ -0,0 +1,11 @@ +# Do not use extensions +SET(LOCAL_FILES + doc-pgr_makeConnected + ) + +foreach (f ${LOCAL_FILES}) + configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") + list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.result b/docqueries/makeConnected/doc-pgr_makeConnected.result new file mode 100644 index 00000000000..07439398dc2 --- /dev/null +++ b/docqueries/makeConnected/doc-pgr_makeConnected.result @@ -0,0 +1,67 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +-- q1 +SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + seq | source | target | cost +-----+--------+--------+------ + 1 | 1 | 2 | 1 + 2 | 3 | 2 | 1 + 3 | 4 | 3 | 1 + 4 | 2 | 5 | 1 + 5 | 3 | 6 | 1 + 6 | 7 | 8 | 1 + 7 | 8 | 5 | 1 + 8 | 5 | 6 | 1 + 9 | 6 | 9 | 1 + 10 | 5 | 10 | 1 + 11 | 6 | 11 | 1 + 12 | 10 | 11 | 1 + 13 | 11 | 12 | 1 + 14 | 10 | 13 | 1 + 15 | 9 | 12 | 1 + 16 | 4 | 9 | 1 + 17 | 14 | 15 | 1 + 18 | 16 | 17 | 1 +(18 rows) + +-- q2 +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); +INSERT 0 7 +-- q3 +SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + seq | source | target | cost +-----+--------+--------+------ +(0 rows) + +-- q4 +SELECT * FROM pgr_boyerMyrvold( +$$ + SELECT id, source, target, cost, reverse_cost FROM edge_table + where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) + OR + target = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) +$$ + ); + seq | source | target | cost +-----+--------+--------+------ + 1 | 14 | 15 | 1 +(1 row) + +-- q5 +ROLLBACK; +ROLLBACK diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql new file mode 100644 index 00000000000..fe8ed32065b --- /dev/null +++ b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql @@ -0,0 +1,34 @@ +\echo -- q1 +SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + +\echo -- q2 +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); + +\echo -- q3 + +SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + +\echo -- q4 +SELECT * FROM pgr_boyerMyrvold( +$$ + SELECT id, source, target, cost, reverse_cost FROM edge_table + where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) + OR + target = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) +$$ + ); + + \echo -- q5 diff --git a/docqueries/makeConnected/test.conf b/docqueries/makeConnected/test.conf new file mode 100644 index 00000000000..b958ad00e53 --- /dev/null +++ b/docqueries/makeConnected/test.conf @@ -0,0 +1,17 @@ +#!/usr/bin/perl -w + +%main::tests = ( + 'any' => { + 'comment' => 'pgr_makeConnected algorithm tests.', + 'data' => [ ], + 'tests' => [qw( + doc-pgr_makeConnected + )], + 'documentation' => [qw( + doc-pgr_makeConnected + )] + }, + +); + +1; From 42cbe27eedcbc9063e74a8d6d9fd080d486a9fa4 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 21 Jul 2020 18:06:07 +0530 Subject: [PATCH 0461/1360] [makeConnected][doc] Added Experimental Warnings --- doc/makeConnected/pgr_makeConnected.rst | 185 ++++++++++-------------- 1 file changed, 76 insertions(+), 109 deletions(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index 2abe2164060..2dc50fa0842 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -4,16 +4,17 @@ Copyright(c) pgRouting Contributors This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ + Alike 3.2 License: http://creativecommons.org/licenses/by-sa/3.2/ **************************************************************************** pgr_makeConnected - Experimental =============================================================================== -``pgr_breadthFirstSearch`` — Returns the traversal order(s) using Breadth First Search algorithm. +``pgr_makeConnected`` — Returns the set of node_from and node_to of edges. This set of edges are those edges +which will make the graph connected. In particular, the boost::make_connected( ) is implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg - :target: https://www.boost.org/libs/graph/doc/breadth_first_search.html + :target: https://www.boost.org/libs/graph/doc/make_connected.html Boost Graph Inside @@ -23,168 +24,134 @@ pgr_makeConnected - Experimental .. rubric:: Availability -Description -------------------------------------------------------------------------------- - -Provides the Breadth First Search traversal order from a root vertex to a particular depth. - -**The main Characteristics are:** +* Version 3.2.0 -- The implementation will work on any type of graph. -- Provides the Breadth First Search traversal order from a source node to a target depth level -- Breath First Search Running time: :math:`O(E + V)` + * New **experimental** function -Signatures -------------------------------------------------------------------------------- - -.. code-block:: none +.. rubric:: Support - pgr_breadthFirstSearch(Edges SQL, Root vid [, max_depth] [, directed]) - pgr_breadthFirstSearch(Edges SQL, Root vids [, max_depth] [, directed]) +* **Supported versions:** + current(`3.2 `__) and above - RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) +* **TBD** -.. index:: - single: breadthFirstSearch(Single vertex) - Experimental - -Single Vertex -............................................................................... +Description +------------------------------------------------------------------------------- -.. code-block:: none +A graph is planar if it can be drawn in two-dimensional space with no two of its edges crossing. Such a drawing of a planar graph is called a plane drawing. Every planar graph also admits a straight-line drawing, which is a plane drawing where each edge is represented by a line segment. - pgr_breadthFirstSearch(Edges SQL, Root vid [, max_depth] [, directed]) +The main characteristics are: + - It works with any undirected graph. - RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + - The returned values are the set of source and target of edges with their costs. -:Example: The Breadth First Search traversal with root vertex :math:`2` + - **Running time:** Assuming that both the vertex index and edge index supplied take time O(1) to return an index and there are O(n) total self-loops and parallel edges in the graph, most combinations of arguments given to boyer_myrvold_planarity_test result in an algorithm that runs in time O(n) for a graph with n vertices and m edges -.. literalinclude:: doc-pgr_breadthFirstSearch.queries - :start-after: --q1 - :end-before: --q2 -.. index:: - single: breadthFirstSearch(Multiple vertices) - Experimental +Signatures +------------------------------------------------------------------------------- -Multiple Vertices -............................................................................... +.. rubric:: Summary .. code-block:: none - pgr_breadthFirstSearch(Edges SQL, Root vids [, max_depth] [, directed]) - - RETURNS SET OF (seq, depth, start_vid, node, edge, cost, agg_cost) + pgr_boyerMyrvold(edges_sql) -:Example: The Breadth First Search traverls starting on vertices :math:`\{11, 12\}` with :math:`depth <= 2` + RETURNS SET OF (seq, source, target, cost) + OR EMPTY SET -.. literalinclude:: doc-pgr_breadthFirstSearch.queries - :start-after: --q2 - :end-before: --q3 +:Example: Query done on :doc:`sampledata` network gives. - -.. Parameters, Inner query & result columns - -.. breadthFirstSearch-information-start +.. literalinclude:: doc-pgr_boyerMyrvold.queries + :start-after: -- q1 + :end-before: -- q2 Parameters ------------------------------------------------------------------------------- -=================== ====================== ================================================= -Parameter Type Description -=================== ====================== ================================================= -**Edges SQL** ``TEXT`` SQL query described in `Inner query`_. -**Root vid** ``BIGINT`` Identifier of the root vertex of the tree. - - - Used on `Single Vertex`_. - -**Root vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of the root vertices. +=================== ====================== ========= ================================================= +Parameter Type Default Description +=================== ====================== ========= ================================================= +**edges_sql** ``TEXT`` SQL query as described above. +=================== ====================== ========= ================================================= - - Used on `Multiple Vertices`_. - - For optimization purposes, any duplicated value is ignored. -=================== ====================== ================================================= +Inner query +------------------------------------------------------------------------------- -Optional Parameters -............................................................................... +:edges_sql: an SQL query, which should return a set of rows with the following columns: +================= =================== ======== ================================================= +Column Type Default Description +================= =================== ======== ================================================= +**id** ``ANY-INTEGER`` Identifier of the edge. +**source** ``ANY-INTEGER`` Identifier of the first end point vertex of the edge. +**target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. +**cost** ``ANY-NUMERICAL`` Weight of the edge `(source, target)` -=================== =========== =========================== ================================================= -Parameter Type Default Description -=================== =========== =========================== ================================================= -**max_depth** ``BIGINT`` :math:`9223372036854775807` Upper limit for depth of node in the tree + - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. - - When value is ``Negative`` then **throws error** +**reverse_cost** ``ANY-NUMERICAL`` -1 Weight of the edge `(target, source)`, -**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` - - When ``false`` the graph is considered as `Undirected`. -=================== =========== =========================== ================================================= + - When negative: edge `(target, source)` does not exist, therefore it's not part of the graph. -Inner query -------------------------------------------------------------------------------- +================= =================== ======== ================================================= -.. rubric::Edges SQL +Where: -.. include:: pgRouting-concepts.rst - :start-after: basic_edges_sql_start - :end-before: basic_edges_sql_end +:ANY-INTEGER: SMALLINT, INTEGER, BIGINT +:ANY-NUMERICAL: SMALLINT, INTEGER, BIGINT, REAL, FLOAT Result Columns ------------------------------------------------------------------------------- -.. result columns start - -Returns SET OF ``(seq, depth, start_vid, node, edge, cost, agg_cost)`` +Returns set of ``(seq, source, target, cost)`` -=============== =========== ==================================================== +=============== =========== ============================================================ Column Type Description -=============== =========== ==================================================== -**seq** ``BIGINT`` Sequential value starting from :math:`1`. -**depth** ``BIGINT`` Depth of the ``node``. - - - :math:`0` when ``node`` = ``start_vid``. - -**start_vid** ``BIGINT`` Identifier of the root vertex. +=============== =========== ============================================================ +**seq** ``INT`` Sequential value starting from **1**. +**source** ``BIGINT`` Identifier of the first end point vertex of the edge. +**target** ``BIGINT`` Identifier of the second end point vertex of the edge. +**cost** ``FLOAT`` Weight of the edge `(source, target)` - - In *Multiple Vertices* results are in ascending order. + - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. +=============== =========== ============================================================ -**node** ``BIGINT`` Identifier of ``node`` reached using ``edge``. -**edge** ``BIGINT`` Identifier of the ``edge`` used to arrive to ``node``. - - - :math:`-1` when ``node`` = ``start_vid``. - -**cost** ``FLOAT`` Cost to traverse ``edge``. -**agg_cost** ``FLOAT`` Aggregate cost from ``start_vid`` to ``node``. -=============== =========== ==================================================== +Additional Example: +------------------------------------------------------------------------------- -.. result columns end +Now, let's add some edges to make the graph non-planar. We will be adding edges between every pair in this list of vertices **1**, **2**, **3**, **4**, **5**. -Additional Examples -............................................................................... -**Undirected Graph** +.. literalinclude:: doc-pgr_boyerMyrvold.queries + :start-after: -- q2 + :end-before: -- q3 -:Example: The Breadth First Search traverls starting on vertices :math:`\{11, 12\}` with :math:`depth <= 2` as well as considering the graph to be undirected. -.. literalinclude:: doc-pgr_breadthFirstSearch.queries - :start-after: --q3 - :end-before: --q4 +Now, let's check our graph is planar or not. If it is non-planar then it will return an empty set of rows. -**Vertex Out Of Graph** +.. literalinclude:: doc-pgr_boyerMyrvold.queries + :start-after: -- q3 + :end-before: -- q4 -:Example: The output of the function when a vertex not present in the graph is passed as a parameter. +There can be some cases where we only want to check whether a particular connected component of a graph is planar or not. So the below example +will illustrate the way to do it. -.. literalinclude:: doc-pgr_breadthFirstSearch.queries - :start-after: --q4 - :end-before: --q5 + - Use pgr_connectedComponents( ) function in query: +.. literalinclude:: doc-pgr_boyerMyrvold.queries + :start-after: -- q4 + :end-before: -- q5 See Also ------------------------------------------------------------------------------- +* https://en.wikipedia.org/wiki/Planarity_testing +* https://www.boost.org/libs/graph/doc/boyer_myrvold.html * The queries use the :doc:`sampledata` network. -* `Boost: Breadth First Search algorithm documentation `__ -* `Wikipedia: Breadth First Search algorithm `__ .. rubric:: Indices and tables From a023163aface36618f8bd326a60fd43d1b11e549 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 21 Jul 2020 21:41:42 +0530 Subject: [PATCH 0462/1360] [planarGraph] Added Todo For the planar Graph --- include/planarGraph/pgr_boyerMyrvold.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index be5cdf90931..434c63ff425 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -63,6 +63,9 @@ class Pgr_boyerMyrvold { if(check){ E_i ei, ei_end; int i; + //TODO :: Work on changing the output to be true/false as it is pretty inefficient to + // get the input graph back as result if its plannar, we have the data in the database. + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ int64_t src = graph[graph.source(*ei)].id; int64_t tgt = graph[graph.target(*ei)].id; From a7bd332c7ddcfaea2b762edc255092c69cfd32a5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 22 Jul 2020 15:54:05 +0530 Subject: [PATCH 0463/1360] [planarGraph][sql] Added field 'planarity' --- sql/planarGraph/_boyerMyrvold.sql | 4 +++- sql/planarGraph/boyerMyrvold.sql | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sql/planarGraph/_boyerMyrvold.sql b/sql/planarGraph/_boyerMyrvold.sql index cfaf6a067c5..0dc49f0631f 100644 --- a/sql/planarGraph/_boyerMyrvold.sql +++ b/sql/planarGraph/_boyerMyrvold.sql @@ -36,7 +36,9 @@ CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( OUT seq BIGINT, OUT source BIGINT, OUT target BIGINT, - OUT cost FLOAT) + OUT cost FLOAT, + OUT planarity BOOLEAN + ) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' diff --git a/sql/planarGraph/boyerMyrvold.sql b/sql/planarGraph/boyerMyrvold.sql index 1a50de1ffe2..4ea5a727c33 100644 --- a/sql/planarGraph/boyerMyrvold.sql +++ b/sql/planarGraph/boyerMyrvold.sql @@ -35,7 +35,9 @@ CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( OUT seq BIGINT, OUT source BIGINT, OUT target BIGINT, - OUT cost FLOAT) + OUT cost FLOAT, + OUT planarity BOOLEAN + ) RETURNS SETOF RECORD AS $BODY$ From e734d7baf1eab45149cfc47ea0a6c6addb823b00 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 22 Jul 2020 16:28:44 +0530 Subject: [PATCH 0464/1360] [planarGraph][src] Modified the .c file --- src/planarGraph/boyerMyrvold.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c index f74780ff96b..cbf2422e2f8 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planarGraph/boyerMyrvold.c @@ -170,7 +170,7 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { OUT cost FLOAT, */ /**********************************************************************/ - size_t numb = 4; + size_t numb = 5; values = palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); @@ -183,6 +183,7 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].source); values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].target); values[3] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); + values[4] = (result_tuples[funcctx->call_cntr].planarity); /**********************************************************************/ From c4441090b3620fdc902864b3ac4c04748729332c Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 22 Jul 2020 16:32:11 +0530 Subject: [PATCH 0465/1360] [planarGraph][include] Modified .hpp and struct files --- include/c_types/pgr_boyer_t.h | 1 + include/planarGraph/pgr_boyerMyrvold.hpp | 1 + 2 files changed, 2 insertions(+) diff --git a/include/c_types/pgr_boyer_t.h b/include/c_types/pgr_boyer_t.h index f946c0d1b47..901371e077d 100644 --- a/include/c_types/pgr_boyer_t.h +++ b/include/c_types/pgr_boyer_t.h @@ -38,6 +38,7 @@ typedef struct { int64_t source; int64_t target; double cost; + bool planarity; } pgr_boyer_t; #endif // INCLUDE_C_TYPES_PGR_BOYER_T_H_ diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index 434c63ff425..ee2d247721a 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -74,6 +74,7 @@ class Pgr_boyerMyrvold { tmp.source = src; tmp.target = tgt; tmp.cost = cost; + tmp.planarity = true; results.push_back(tmp); } From 9bbd80bbde7d6ca2692a758a8c186b6fc51f0a10 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 22 Jul 2020 20:25:17 +0530 Subject: [PATCH 0466/1360] reverting changes due to mentors request --- include/c_types/pgr_boyer_t.h | 1 - include/planarGraph/pgr_boyerMyrvold.hpp | 4 ---- sql/planarGraph/_boyerMyrvold.sql | 4 +--- sql/planarGraph/boyerMyrvold.sql | 4 +--- src/planarGraph/boyerMyrvold.c | 3 +-- 5 files changed, 3 insertions(+), 13 deletions(-) diff --git a/include/c_types/pgr_boyer_t.h b/include/c_types/pgr_boyer_t.h index 901371e077d..f946c0d1b47 100644 --- a/include/c_types/pgr_boyer_t.h +++ b/include/c_types/pgr_boyer_t.h @@ -38,7 +38,6 @@ typedef struct { int64_t source; int64_t target; double cost; - bool planarity; } pgr_boyer_t; #endif // INCLUDE_C_TYPES_PGR_BOYER_T_H_ diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index ee2d247721a..be5cdf90931 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -63,9 +63,6 @@ class Pgr_boyerMyrvold { if(check){ E_i ei, ei_end; int i; - //TODO :: Work on changing the output to be true/false as it is pretty inefficient to - // get the input graph back as result if its plannar, we have the data in the database. - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ int64_t src = graph[graph.source(*ei)].id; int64_t tgt = graph[graph.target(*ei)].id; @@ -74,7 +71,6 @@ class Pgr_boyerMyrvold { tmp.source = src; tmp.target = tgt; tmp.cost = cost; - tmp.planarity = true; results.push_back(tmp); } diff --git a/sql/planarGraph/_boyerMyrvold.sql b/sql/planarGraph/_boyerMyrvold.sql index 0dc49f0631f..cfaf6a067c5 100644 --- a/sql/planarGraph/_boyerMyrvold.sql +++ b/sql/planarGraph/_boyerMyrvold.sql @@ -36,9 +36,7 @@ CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( OUT seq BIGINT, OUT source BIGINT, OUT target BIGINT, - OUT cost FLOAT, - OUT planarity BOOLEAN - ) + OUT cost FLOAT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' diff --git a/sql/planarGraph/boyerMyrvold.sql b/sql/planarGraph/boyerMyrvold.sql index 4ea5a727c33..1a50de1ffe2 100644 --- a/sql/planarGraph/boyerMyrvold.sql +++ b/sql/planarGraph/boyerMyrvold.sql @@ -35,9 +35,7 @@ CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( OUT seq BIGINT, OUT source BIGINT, OUT target BIGINT, - OUT cost FLOAT, - OUT planarity BOOLEAN - ) + OUT cost FLOAT) RETURNS SETOF RECORD AS $BODY$ diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c index cbf2422e2f8..f74780ff96b 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planarGraph/boyerMyrvold.c @@ -170,7 +170,7 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { OUT cost FLOAT, */ /**********************************************************************/ - size_t numb = 5; + size_t numb = 4; values = palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); @@ -183,7 +183,6 @@ PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].source); values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].target); values[3] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); - values[4] = (result_tuples[funcctx->call_cntr].planarity); /**********************************************************************/ From 426f033b9a305ef8b8a761724ef2fd0203b69ed1 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 22 Jul 2020 20:30:21 +0530 Subject: [PATCH 0467/1360] [lint] removing file that is not going to main repository --- myrun.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/myrun.sh b/myrun.sh index 448ab366a86..c92870c477e 100644 --- a/myrun.sh +++ b/myrun.sh @@ -91,7 +91,7 @@ cmake -DPOSTGRESQL_BIN=${PGBIN} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DO make -j 4 sudo make install -# exit 0 +exit 0 cd .. From cac3c19efc24ca12f7fd74fbfae34988d377f9fe Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 22 Jul 2020 20:42:57 +0530 Subject: [PATCH 0468/1360] [makeConnected][docqueries] Replaced with corrected names --- docqueries/makeConnected/doc-pgr_makeConnected.result | 6 +++--- docqueries/makeConnected/doc-pgr_makeConnected.test.sql | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.result b/docqueries/makeConnected/doc-pgr_makeConnected.result index 07439398dc2..4c2567147ef 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.result +++ b/docqueries/makeConnected/doc-pgr_makeConnected.result @@ -3,7 +3,7 @@ BEGIN SET client_min_messages TO NOTICE; SET -- q1 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); @@ -34,7 +34,7 @@ INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES (1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); INSERT 0 7 -- q3 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); @@ -43,7 +43,7 @@ SELECT * FROM pgr_boyerMyrvold( (0 rows) -- q4 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_makeConnected( $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql index fe8ed32065b..a0b356acc1b 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql +++ b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql @@ -1,5 +1,5 @@ \echo -- q1 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); @@ -10,13 +10,13 @@ INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES \echo -- q3 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); \echo -- q4 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_makeConnected( $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( From 628d46d69660aca2644aa6f898d0655598e223ed Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 22 Jul 2020 21:03:31 +0530 Subject: [PATCH 0469/1360] [makeConnected][docqueries] Modified result added --- .../doc-pgr_makeConnected.result | 41 ++++++------------- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.result b/docqueries/makeConnected/doc-pgr_makeConnected.result index 4c2567147ef..7b50a5a3b61 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.result +++ b/docqueries/makeConnected/doc-pgr_makeConnected.result @@ -7,27 +7,11 @@ SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); - seq | source | target | cost ------+--------+--------+------ - 1 | 1 | 2 | 1 - 2 | 3 | 2 | 1 - 3 | 4 | 3 | 1 - 4 | 2 | 5 | 1 - 5 | 3 | 6 | 1 - 6 | 7 | 8 | 1 - 7 | 8 | 5 | 1 - 8 | 5 | 6 | 1 - 9 | 6 | 9 | 1 - 10 | 5 | 10 | 1 - 11 | 6 | 11 | 1 - 12 | 10 | 11 | 1 - 13 | 11 | 12 | 1 - 14 | 10 | 13 | 1 - 15 | 9 | 12 | 1 - 16 | 4 | 9 | 1 - 17 | 14 | 15 | 1 - 18 | 16 | 17 | 1 -(18 rows) + seq | node_from | node_to +-----+-----------+--------- + 1 | 13 | 14 + 2 | 15 | 16 +(2 rows) -- q2 INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES @@ -38,9 +22,11 @@ SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); - seq | source | target | cost ------+--------+--------+------ -(0 rows) + seq | node_from | node_to +-----+-----------+--------- + 1 | 13 | 14 + 2 | 15 | 16 +(2 rows) -- q4 SELECT * FROM pgr_makeConnected( @@ -57,10 +43,9 @@ $$ ) $$ ); - seq | source | target | cost ------+--------+--------+------ - 1 | 14 | 15 | 1 -(1 row) + seq | node_from | node_to +-----+-----------+--------- +(0 rows) -- q5 ROLLBACK; From e3106bcaee5549ef7c8addfc44e3851c4b17d9d8 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 22 Jul 2020 21:13:39 +0530 Subject: [PATCH 0470/1360] [makeConnected][doc] Added Description and replaced correct names --- doc/makeConnected/pgr_makeConnected.rst | 29 +++++++++++++++---------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index 2dc50fa0842..bf7b3092ed7 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -4,7 +4,7 @@ Copyright(c) pgRouting Contributors This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.2 License: http://creativecommons.org/licenses/by-sa/3.2/ + Alike 3.1 License: http://creativecommons.org/licenses/by-sa/3.1/ **************************************************************************** pgr_makeConnected - Experimental @@ -24,28 +24,33 @@ which will make the graph connected. In particular, the boost::make_connected( ) .. rubric:: Availability -* Version 3.2.0 +* Version 3.1.0 * New **experimental** function .. rubric:: Support * **Supported versions:** - current(`3.2 `__) and above + current(`3.1 `__) and above * **TBD** Description ------------------------------------------------------------------------------- -A graph is planar if it can be drawn in two-dimensional space with no two of its edges crossing. Such a drawing of a planar graph is called a plane drawing. Every planar graph also admits a straight-line drawing, which is a plane drawing where each edge is represented by a line segment. +Adds the minimum number of edges needed to make the input graph connected. The algorithm first identifies +all of the connected components in the graph, then adds edges to connect those components together in a path. +For example, if a graph contains three connected components A, B, and C, make_connected will add two edges. +The two edges added might consist of one connecting a vertex in A with a vertex in B and one connecting a vertex in B with a vertex in C. The main characteristics are: - - It works with any undirected graph. + - It will give the minimum list of all edges which are needed in the graph to make the graph connected. - - The returned values are the set of source and target of edges with their costs. + - Applicable only for undirected graphs. - - **Running time:** Assuming that both the vertex index and edge index supplied take time O(1) to return an index and there are O(n) total self-loops and parallel edges in the graph, most combinations of arguments given to boyer_myrvold_planarity_test result in an algorithm that runs in time O(n) for a graph with n vertices and m edges + - The graph can be either weighted or unweighted. + + - **Running time:** On a graph with n vertices and m edges, make_connected runs in time O(n + m). Signatures @@ -55,14 +60,14 @@ Signatures .. code-block:: none - pgr_boyerMyrvold(edges_sql) + pgr_makeConnected(edges_sql) RETURNS SET OF (seq, source, target, cost) OR EMPTY SET :Example: Query done on :doc:`sampledata` network gives. -.. literalinclude:: doc-pgr_boyerMyrvold.queries +.. literalinclude:: doc-pgr_makeConnected.queries :start-after: -- q1 :end-before: -- q2 @@ -124,7 +129,7 @@ Additional Example: Now, let's add some edges to make the graph non-planar. We will be adding edges between every pair in this list of vertices **1**, **2**, **3**, **4**, **5**. -.. literalinclude:: doc-pgr_boyerMyrvold.queries +.. literalinclude:: doc-pgr_makeConnected.queries :start-after: -- q2 :end-before: -- q3 @@ -132,7 +137,7 @@ Now, let's add some edges to make the graph non-planar. We will be adding edges Now, let's check our graph is planar or not. If it is non-planar then it will return an empty set of rows. -.. literalinclude:: doc-pgr_boyerMyrvold.queries +.. literalinclude:: doc-pgr_makeConnected.queries :start-after: -- q3 :end-before: -- q4 @@ -142,7 +147,7 @@ will illustrate the way to do it. - Use pgr_connectedComponents( ) function in query: -.. literalinclude:: doc-pgr_boyerMyrvold.queries +.. literalinclude:: doc-pgr_makeConnected.queries :start-after: -- q4 :end-before: -- q5 From 29a595ae2a9c89d842703a32efd3acaad26e95e0 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 22 Jul 2020 21:40:59 +0530 Subject: [PATCH 0471/1360] Made directory copies planar from planarGraph --- doc/planar/CMakeLists.txt | 11 + doc/planar/pgr_boyerMyrvold.rst | 159 ++++++++ docqueries/planar/CMakeLists.txt | 11 + docqueries/planar/doc-pgr_boyerMyrvold.result | 67 ++++ .../planar/doc-pgr_boyerMyrvold.test.sql | 34 ++ docqueries/planar/test.conf | 17 + include/planar/pgr_boyerMyrvold.hpp | 84 +++++ pgtap/planar/boyerMyrvold-edge-cases.sql | 351 ++++++++++++++++++ pgtap/planar/boyerMyrvold-innerQuery.sql | 13 + pgtap/planar/boyerMyrvold-types-check.sql | 50 +++ pgtap/planar/no_crash_test-boyerMyrvold.sql | 30 ++ sql/planar/CMakeLists.txt | 12 + sql/planar/_boyerMyrvold.sql | 49 +++ sql/planar/boyerMyrvold.sql | 57 +++ src/planar/CMakeLists.txt | 4 + src/planar/boyerMyrvold.c | 201 ++++++++++ src/planar/boyerMyrvold_driver.cpp | 129 +++++++ 17 files changed, 1279 insertions(+) create mode 100644 doc/planar/CMakeLists.txt create mode 100644 doc/planar/pgr_boyerMyrvold.rst create mode 100644 docqueries/planar/CMakeLists.txt create mode 100644 docqueries/planar/doc-pgr_boyerMyrvold.result create mode 100644 docqueries/planar/doc-pgr_boyerMyrvold.test.sql create mode 100644 docqueries/planar/test.conf create mode 100644 include/planar/pgr_boyerMyrvold.hpp create mode 100644 pgtap/planar/boyerMyrvold-edge-cases.sql create mode 100644 pgtap/planar/boyerMyrvold-innerQuery.sql create mode 100644 pgtap/planar/boyerMyrvold-types-check.sql create mode 100644 pgtap/planar/no_crash_test-boyerMyrvold.sql create mode 100644 sql/planar/CMakeLists.txt create mode 100644 sql/planar/_boyerMyrvold.sql create mode 100644 sql/planar/boyerMyrvold.sql create mode 100644 src/planar/CMakeLists.txt create mode 100644 src/planar/boyerMyrvold.c create mode 100644 src/planar/boyerMyrvold_driver.cpp diff --git a/doc/planar/CMakeLists.txt b/doc/planar/CMakeLists.txt new file mode 100644 index 00000000000..faf9c18171b --- /dev/null +++ b/doc/planar/CMakeLists.txt @@ -0,0 +1,11 @@ + +SET(LOCAL_FILES + pgr_boyerMyrvold.rst + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") + list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/planar/pgr_boyerMyrvold.rst b/doc/planar/pgr_boyerMyrvold.rst new file mode 100644 index 00000000000..4ffa8cd8b2d --- /dev/null +++ b/doc/planar/pgr_boyerMyrvold.rst @@ -0,0 +1,159 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.1 License: http://creativecommons.org/licenses/by-sa/3.1/ + **************************************************************************** + +pgr_boyerMyrvold - Experimental +=============================================================================== + +``pgr_boyerMyrvold`` — Returns the set of source and target of edges with their costs if the graph is planar. +In particular, the boyer_myrvold_planarity_test algorithm is implemented by Boost.Graph. + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/libs/graph/doc/boyer_myrvold.html + + Boost Graph Inside + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. rubric:: Availability + +* Version 3.1.0 + + * New **experimental** function + +.. rubric:: Support + +* **Supported versions:** + current(`3.1 `__) and above + +* **TBD** + +Description +------------------------------------------------------------------------------- + +A graph is planar if it can be drawn in two-dimensional space with no two of its edges crossing. Such a drawing of a planar graph is called a plane drawing. Every planar graph also admits a straight-line drawing, which is a plane drawing where each edge is represented by a line segment. + +The main characteristics are: + - It works with any undirected graph. + + - The returned values are the set of source and target of edges with their costs. + + - **Running time:** Assuming that both the vertex index and edge index supplied take time O(1) to return an index and there are O(n) total self-loops and parallel edges in the graph, most combinations of arguments given to boyer_myrvold_planarity_test result in an algorithm that runs in time O(n) for a graph with n vertices and m edges + + +Signatures +------------------------------------------------------------------------------- + +.. rubric:: Summary + +.. code-block:: none + + pgr_boyerMyrvold(edges_sql) + + RETURNS SET OF (seq, source, target, cost) + OR EMPTY SET + +:Example: Query done on :doc:`sampledata` network gives. + +.. literalinclude:: doc-pgr_boyerMyrvold.queries + :start-after: -- q1 + :end-before: -- q2 + +Parameters +------------------------------------------------------------------------------- + +=================== ====================== ========= ================================================= +Parameter Type Default Description +=================== ====================== ========= ================================================= +**edges_sql** ``TEXT`` SQL query as described above. +=================== ====================== ========= ================================================= + +Inner query +------------------------------------------------------------------------------- + +:edges_sql: an SQL query, which should return a set of rows with the following columns: + +================= =================== ======== ================================================= +Column Type Default Description +================= =================== ======== ================================================= +**id** ``ANY-INTEGER`` Identifier of the edge. +**source** ``ANY-INTEGER`` Identifier of the first end point vertex of the edge. +**target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. +**cost** ``ANY-NUMERICAL`` Weight of the edge `(source, target)` + + - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. + +**reverse_cost** ``ANY-NUMERICAL`` -1 Weight of the edge `(target, source)`, + + - When negative: edge `(target, source)` does not exist, therefore it's not part of the graph. + +================= =================== ======== ================================================= + +Where: + +:ANY-INTEGER: SMALLINT, INTEGER, BIGINT +:ANY-NUMERICAL: SMALLINT, INTEGER, BIGINT, REAL, FLOAT + +Result Columns +------------------------------------------------------------------------------- + +Returns set of ``(seq, source, target, cost)`` + +=============== =========== ============================================================ +Column Type Description +=============== =========== ============================================================ +**seq** ``INT`` Sequential value starting from **1**. +**source** ``BIGINT`` Identifier of the first end point vertex of the edge. +**target** ``BIGINT`` Identifier of the second end point vertex of the edge. +**cost** ``FLOAT`` Weight of the edge `(source, target)` + + - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. +=============== =========== ============================================================ + +Additional Example: +------------------------------------------------------------------------------- + + +Now, let's add some edges to make the graph non-planar. We will be adding edges between every pair in this list of vertices **1**, **2**, **3**, **4**, **5**. + + +.. literalinclude:: doc-pgr_boyerMyrvold.queries + :start-after: -- q2 + :end-before: -- q3 + + +Now, let's check our graph is planar or not. If it is non-planar then it will return an empty set of rows. + + +.. literalinclude:: doc-pgr_boyerMyrvold.queries + :start-after: -- q3 + :end-before: -- q4 + +There can be some cases where we only want to check whether a particular connected component of a graph is planar or not. So the below example +will illustrate the way to do it. + + - Use pgr_connectedComponents( ) function in query: + + +.. literalinclude:: doc-pgr_boyerMyrvold.queries + :start-after: -- q4 + :end-before: -- q5 + +See Also +------------------------------------------------------------------------------- + +* https://en.wikipedia.org/wiki/Planarity_testing +* https://www.boost.org/libs/graph/doc/boyer_myrvold.html +* The queries use the :doc:`sampledata` network. + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` diff --git a/docqueries/planar/CMakeLists.txt b/docqueries/planar/CMakeLists.txt new file mode 100644 index 00000000000..6d40826ee1c --- /dev/null +++ b/docqueries/planar/CMakeLists.txt @@ -0,0 +1,11 @@ +# Do not use extensions +SET(LOCAL_FILES + doc-pgr_boyerMyrvold + ) + +foreach (f ${LOCAL_FILES}) + configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") + list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/planar/doc-pgr_boyerMyrvold.result b/docqueries/planar/doc-pgr_boyerMyrvold.result new file mode 100644 index 00000000000..07439398dc2 --- /dev/null +++ b/docqueries/planar/doc-pgr_boyerMyrvold.result @@ -0,0 +1,67 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +-- q1 +SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + seq | source | target | cost +-----+--------+--------+------ + 1 | 1 | 2 | 1 + 2 | 3 | 2 | 1 + 3 | 4 | 3 | 1 + 4 | 2 | 5 | 1 + 5 | 3 | 6 | 1 + 6 | 7 | 8 | 1 + 7 | 8 | 5 | 1 + 8 | 5 | 6 | 1 + 9 | 6 | 9 | 1 + 10 | 5 | 10 | 1 + 11 | 6 | 11 | 1 + 12 | 10 | 11 | 1 + 13 | 11 | 12 | 1 + 14 | 10 | 13 | 1 + 15 | 9 | 12 | 1 + 16 | 4 | 9 | 1 + 17 | 14 | 15 | 1 + 18 | 16 | 17 | 1 +(18 rows) + +-- q2 +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); +INSERT 0 7 +-- q3 +SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + seq | source | target | cost +-----+--------+--------+------ +(0 rows) + +-- q4 +SELECT * FROM pgr_boyerMyrvold( +$$ + SELECT id, source, target, cost, reverse_cost FROM edge_table + where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) + OR + target = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) +$$ + ); + seq | source | target | cost +-----+--------+--------+------ + 1 | 14 | 15 | 1 +(1 row) + +-- q5 +ROLLBACK; +ROLLBACK diff --git a/docqueries/planar/doc-pgr_boyerMyrvold.test.sql b/docqueries/planar/doc-pgr_boyerMyrvold.test.sql new file mode 100644 index 00000000000..fe8ed32065b --- /dev/null +++ b/docqueries/planar/doc-pgr_boyerMyrvold.test.sql @@ -0,0 +1,34 @@ +\echo -- q1 +SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + +\echo -- q2 +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); + +\echo -- q3 + +SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + +\echo -- q4 +SELECT * FROM pgr_boyerMyrvold( +$$ + SELECT id, source, target, cost, reverse_cost FROM edge_table + where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) + OR + target = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) +$$ + ); + + \echo -- q5 diff --git a/docqueries/planar/test.conf b/docqueries/planar/test.conf new file mode 100644 index 00000000000..09eecc3207a --- /dev/null +++ b/docqueries/planar/test.conf @@ -0,0 +1,17 @@ +#!/usr/bin/perl -w + +%main::tests = ( + 'any' => { + 'comment' => 'boyerMyrvold planarity algorithm tests.', + 'data' => [ ], + 'tests' => [qw( + doc-pgr_boyerMyrvold + )], + 'documentation' => [qw( + doc-pgr_boyerMyrvold + )] + }, + +); + +1; diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp new file mode 100644 index 00000000000..be5cdf90931 --- /dev/null +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -0,0 +1,84 @@ +/*PGR-GNU***************************************************************** +File: pgr_boyerMyrvold.hpp + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ +#define INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ +#pragma once + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "cpp_common/pgr_base_graph.hpp" +#include "c_types/pgr_boyer_t.h" +//****************************************** +using namespace boost; +namespace pgrouting { +namespace functions { + +template < class G > +class Pgr_boyerMyrvold { + public: + typedef typename G::V V; + typedef typename G::E E; + typedef typename G::E_i E_i; + std::vector boyerMyrvold( + G &graph){ + return generateboyerMyrvold( + graph); + } + + private: + std::vector< pgr_boyer_t > + generateboyerMyrvold( + const G &graph ) { + std::vector< pgr_boyer_t > results; + auto check = boyer_myrvold_planarity_test(graph.graph); + if(check){ + E_i ei, ei_end; + int i; + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ + int64_t src = graph[graph.source(*ei)].id; + int64_t tgt = graph[graph.target(*ei)].id; + double cost = graph[*ei].cost; + pgr_boyer_t tmp; + tmp.source = src; + tmp.target = tgt; + tmp.cost = cost; + results.push_back(tmp); + } + + } + return results; + } +}; +} +} + +#endif //INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ diff --git a/pgtap/planar/boyerMyrvold-edge-cases.sql b/pgtap/planar/boyerMyrvold-edge-cases.sql new file mode 100644 index 00000000000..4c203541bbe --- /dev/null +++ b/pgtap/planar/boyerMyrvold-edge-cases.sql @@ -0,0 +1,351 @@ +\i setup.sql + +SELECT plan(30); + + + +-- 0 edge, 0 vertex tests + +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18; + +-- Graph is empty - it has 0 edge and 0 vertex +SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); + +-- 0 edge, 0 vertex tests + +PREPARE boyerMyrvold2 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18' +); + +PREPARE boyerMyrvold3 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id IN (20,22)' +); + +PREPARE boyerMyrvold4 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 25' +); + +PREPARE boyerMyrvold5 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id IN (40,60,-10)' +); + +PREPARE boyerMyrvold6 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 18' +); + +PREPARE boyerMyrvold7 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id > 22' +); + +SELECT is_empty('boyerMyrvold2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold3', '3: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold4', '4: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold5', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold6', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold7', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); + +-- vertex not present in graph tests + +PREPARE boyerMyrvold8 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id = -10' +); + +PREPARE boyerMyrvold9 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id IN (-10,50)' +); + +PREPARE boyerMyrvold10 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id IN (-10,-20,-30)' +); + +PREPARE boyerMyrvold11 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id IN (-10,33,39)' +); + +PREPARE boyerMyrvold12 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id = 36' +); + +PREPARE boyerMyrvold13 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id IN (36,45,34)' +); + +SELECT is_empty('boyerMyrvold8', '8: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold9', '9: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold10', '10: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold11', '11: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold12', '12: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold13', '13: Vertex not present in graph -> Empty row is returned'); + + +-- 1 vertex tests + +PREPARE q14 AS +SELECT id, source, 6 AS target, cost, reverse_cost +FROM edge_table +WHERE id = 9; + +-- Graph with only vertex 9 +SELECT set_eq('q14', $$VALUES (9, 6, 6, 1, 1)$$, 'q14: Graph with only vertex 6'); + +-- 1 vertex tests + +PREPARE boyerMyrvold15 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, 6 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 9' +); + +PREPARE boyerMyrvold16 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, 2 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 2' +); + +PREPARE boyerMyrvold17 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, 3 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 3' +); + +PREPARE boyerMyrvold18 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, 7 AS target, cost, reverse_cost + FROM edge_table + WHERE id = 6' +); + +SELECT set_eq('boyerMyrvold15', $$VALUES (1, 6, 6, 1)$$, '15: One row is returned'); +SELECT set_eq('boyerMyrvold16', $$VALUES (1, 2, 2, 1)$$, '16: One row is returned'); +SELECT set_eq('boyerMyrvold17', $$VALUES (1, 3, 3, 1)$$, '17: One row is returned'); +SELECT set_eq('boyerMyrvold18', $$VALUES (1, 7, 7, 1)$$, '18: One row is returned'); + + +-- 2 vertices tests + +PREPARE boyerMyrvold19 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 1' +); + +PREPARE boyerMyrvold20 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 4' +); + +PREPARE boyerMyrvold21 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 9' +); + +PREPARE boyerMyrvold22 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 6' +); + +PREPARE boyerMyrvold23 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 7' +); + +PREPARE boyerMyrvold24 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id = 8' +); + +SELECT set_eq('boyerMyrvold19', $$VALUES (1, 1, 2, 1)$$, '19: Two rows are returned'); +SELECT set_eq('boyerMyrvold20', $$VALUES (1, 2, 5, 1)$$, '20: Two rows are returned'); +SELECT set_eq('boyerMyrvold21', $$VALUES (1, 6, 9, 1)$$, '21: Two rows are returned'); +SELECT set_eq('boyerMyrvold22', $$VALUES (1, 7, 8, 1)$$, '22: Two rows are returned'); +SELECT set_eq('boyerMyrvold23', $$VALUES (1, 8, 5, 1)$$, '23: Two rows are returned'); +SELECT set_eq('boyerMyrvold24', $$VALUES (1, 5, 6, 1)$$, '24: Two rows are returned'); + + + +-- 3 vertices tests + +CREATE TABLE three_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); + +INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES + (3, 6, 20, -1), + (3, 8, 10, -1), + (6, 8, -1, 12); + +PREPARE q25 AS +SELECT id, source, target, cost, reverse_cost +FROM three_vertices_table; + +-- Cyclic Graph with three vertices 3, 6 and 8 +SELECT set_eq('q25', + $$VALUES + (1, 3, 6, 20, -1), + (2, 3, 8, 10, -1), + (3, 6, 8, -1, 12) + $$, + 'q25: Cyclic Graph with three vertices 3, 6 and 8' +); + +-- 3 vertices tests + +PREPARE boyerMyrvold26 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table' +); + +PREPARE boyerMyrvold27 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM three_vertices_table WHERE id > 4' +); + +SELECT set_eq('boyerMyrvold26', + $$VALUES + (1, 3, 6, 20), + (2, 3, 8, 10), + (3, 8, 6, 12) + $$, + '26: 3 vertices tests' +); +SELECT is_empty('boyerMyrvold27', + '27: Vertex not present in graph -> Empty row is returned' +); + +-- 4 vertices tests + +PREPARE q28 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE (id >= 10 AND id <= 12) + OR id = 8; + +-- Graph with vertices 5, 6, 10, 11 +SELECT set_eq('q28', + $$VALUES + (8, 5, 6, 1, 1), + (10, 5, 10, 1, 1), + (11, 6, 11, 1, -1), + (12, 10, 11, 1, -1) + $$, + '28: Graph with vertices 5, 6, 10 and 11' +); + +-- 4 vertices tests + +PREPARE boyerMyrvold29 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 10 AND id <= 12) + OR id = 8' +); + +PREPARE boyerMyrvold30 AS +SELECT * +FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE (id >= 2 AND id <= 4)' +); + +SELECT set_eq('boyerMyrvold29', + $$VALUES + (1, 5, 6, 1), + (2, 5, 10, 1), + (3, 6, 11, 1), + (4, 10, 11, 1) + $$, + '29: 4 vertices tests,4 rows returned' +); + +SELECT set_eq('boyerMyrvold30', + $$VALUES + (1, 3, 2, 1), + (2, 4, 3, 1), + (3, 2, 5, 1) + $$, + '30: 4 vertices tests,3 rows returned' +); + + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/planar/boyerMyrvold-innerQuery.sql b/pgtap/planar/boyerMyrvold-innerQuery.sql new file mode 100644 index 00000000000..d62f9468e3f --- /dev/null +++ b/pgtap/planar/boyerMyrvold-innerQuery.sql @@ -0,0 +1,13 @@ +\i setup.sql + +SELECT plan(56); + +SET client_min_messages TO ERROR; + +SELECT has_function('pgr_boyermyrvold'); + +SELECT function_returns('pgr_boyermyrvold',ARRAY['text'],'setof record'); +SELECT style_dijkstra('pgr_boyermyrvold', ')'); + +SELECT finish(); +ROLLBACK; diff --git a/pgtap/planar/boyerMyrvold-types-check.sql b/pgtap/planar/boyerMyrvold-types-check.sql new file mode 100644 index 00000000000..de4a57d7e1c --- /dev/null +++ b/pgtap/planar/boyerMyrvold-types-check.sql @@ -0,0 +1,50 @@ +\i setup.sql + +SELECT plan(5); + +SELECT has_function('pgr_boyermyrvold'); + +SELECT function_returns('pgr_boyermyrvold', ARRAY['text'], 'setof record'); + + +-- flags +-- error + +SELECT lives_ok( + 'SELECT * FROM pgr_boyerMyrvold( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'' + )', + '3: Documentation says works with no flags'); + +SELECT throws_ok( + 'SELECT * FROM pgr_boyerMyrvold( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table id < 17'', + 3 + )','42883','function pgr_boyermyrvold(unknown, integer) does not exist', + '4: Documentation says it does not work with 1 flags'); + + +-- prepare for testing return types + +PREPARE all_return AS +SELECT + 'bigint'::text AS t1, + 'bigint'::text AS t2, + 'bigint'::text AS t3, + 'double precision'::text AS t4; + +PREPARE q5 AS +SELECT pg_typeof(seq)::text AS t1, + pg_typeof(source)::text AS t2, + pg_typeof(target)::text AS t3, + pg_typeof(cost)::text AS t4 + FROM ( + SELECT * FROM pgr_boyerMyrvold( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 17' + ) ) AS a LIMIT 1; + + +SELECT set_eq('q5', 'all_return', 'Expected returning, columns names & types'); + +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/planar/no_crash_test-boyerMyrvold.sql b/pgtap/planar/no_crash_test-boyerMyrvold.sql new file mode 100644 index 00000000000..9af5efc6f84 --- /dev/null +++ b/pgtap/planar/no_crash_test-boyerMyrvold.sql @@ -0,0 +1,30 @@ +\i setup.sql + +SELECT plan(5); + +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; + +SELECT isnt_empty('edges', 'Should not be empty true to tests be meaningful'); + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + params = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$']::TEXT[]; + subs = ARRAY[ + 'NULL' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_boyerMyrvold', params, subs); +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + +ROLLBACK; diff --git a/sql/planar/CMakeLists.txt b/sql/planar/CMakeLists.txt new file mode 100644 index 00000000000..bec19715efd --- /dev/null +++ b/sql/planar/CMakeLists.txt @@ -0,0 +1,12 @@ + +SET(LOCAL_FILES + _boyerMyrvold.sql + boyerMyrvold.sql + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} ${f}) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) +endforeach() + +set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/planar/_boyerMyrvold.sql b/sql/planar/_boyerMyrvold.sql new file mode 100644 index 00000000000..cfaf6a067c5 --- /dev/null +++ b/sql/planar/_boyerMyrvold.sql @@ -0,0 +1,49 @@ +/*PGR-GNU***************************************************************** +File: _boyerMyrvold.sql + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ +------------------------- +------------------------- +-- _boyerMyrvold +------------------------- +------------------------- + +CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( + TEXT, -- edges_sql (required) + + OUT seq BIGINT, + OUT source BIGINT, + OUT target BIGINT, + OUT cost FLOAT) + +RETURNS SETOF RECORD AS +'MODULE_PATHNAME' +LANGUAGE c IMMUTABLE STRICT; + + +-- COMMENTS + +COMMENT ON FUNCTION _pgr_boyerMyrvold(TEXT) +IS 'pgRouting internal function'; diff --git a/sql/planar/boyerMyrvold.sql b/sql/planar/boyerMyrvold.sql new file mode 100644 index 00000000000..1a50de1ffe2 --- /dev/null +++ b/sql/planar/boyerMyrvold.sql @@ -0,0 +1,57 @@ +/*PGR-GNU***************************************************************** +File: boyerMyrvold.sql + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +------------------ +-- pgr_boyerMyrvold +------------------ + +CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( + TEXT, -- edges_sql (required) + OUT seq BIGINT, + OUT source BIGINT, + OUT target BIGINT, + OUT cost FLOAT) + +RETURNS SETOF RECORD AS +$BODY$ + SELECT * + FROM _pgr_boyerMyrvold(_pgr_get_statement($1)) AS a; +$BODY$ +LANGUAGE SQL VOLATILE STRICT; + +-- COMMENTS + +COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT) +IS 'pgr_boyerMyrvold +- EXPERIMENTAL +- Undirected graph +- Parameters: + - edges SQL with columns: id, source, target, cost [,reverse_cost] +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_boyerMyrvold.html +'; diff --git a/src/planar/CMakeLists.txt b/src/planar/CMakeLists.txt new file mode 100644 index 00000000000..376f8ef1dbd --- /dev/null +++ b/src/planar/CMakeLists.txt @@ -0,0 +1,4 @@ +ADD_LIBRARY(planarGraph OBJECT + boyerMyrvold.c + boyerMyrvold_driver.cpp + ) diff --git a/src/planar/boyerMyrvold.c b/src/planar/boyerMyrvold.c new file mode 100644 index 00000000000..f74780ff96b --- /dev/null +++ b/src/planar/boyerMyrvold.c @@ -0,0 +1,201 @@ +/*PGR-GNU***************************************************************** +File: boyerMyrvold.c + +Generated with Template by: +Copyright (c) 2019 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#include +#include "c_common/postgres_connection.h" +#include "utils/array.h" + +#include "c_common/debug_macro.h" +#include "c_common/e_report.h" +#include "c_common/time_msg.h" + +#include "c_common/edges_input.h" +#include "c_common/arrays_input.h" + +#include "drivers/planarGraph/boyerMyrvold_driver.h" +PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_boyermyrvold); + +static void +process( + char *edges_sql, + + pgr_boyer_t **result_tuples, + size_t *result_count) { + pgr_SPI_connect(); + + PGR_DBG("Initializing arrays"); + + + (*result_tuples) = NULL; + (*result_count) = 0; + + PGR_DBG("Load data"); + pgr_edge_t *edges = NULL; + size_t total_edges = 0; + + pgr_get_edges(edges_sql, &edges, &total_edges); + PGR_DBG("Total %ld edges in query:", total_edges); + + if (total_edges == 0) { + pgr_SPI_finish(); + return; + } + + PGR_DBG("Starting processing"); + clock_t start_t = clock(); + char *log_msg = NULL; + char *notice_msg = NULL; + char *err_msg = NULL; + do_pgr_boyerMyrvold( + edges, + total_edges, + + result_tuples, + result_count, + + &log_msg, + ¬ice_msg, + &err_msg); + + time_msg(" processing pgr_boyerMyrvold", start_t, clock()); + PGR_DBG("Returning %ld tuples", *result_count); + + if (err_msg) { + if (*result_tuples) + pfree(*result_tuples); + } + + pgr_global_report(log_msg, notice_msg, err_msg); + + if (edges) + pfree(edges); + if (log_msg) + pfree(log_msg); + if (notice_msg) + pfree(notice_msg); + if (err_msg) + pfree(err_msg); + + pgr_SPI_finish(); +} + +PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; + + /**************************************************************************/ + pgr_boyer_t *result_tuples = NULL; + size_t result_count = 0; + /**************************************************************************/ + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + + /**********************************************************************/ + /* + pgr_boyerMyrvold( + edge_sql TEXT) + */ + /**********************************************************************/ + + PGR_DBG("Calling process"); + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + &result_tuples, + &result_count); + + /**********************************************************************/ + +#if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; +#else + funcctx->max_calls = (uint32_t)result_count; +#endif + funcctx->user_fctx = result_tuples; + if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + } + + funcctx->tuple_desc = tuple_desc; + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (pgr_boyer_t *)funcctx->user_fctx; + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; + Datum result; + Datum *values; + bool *nulls; + + /**********************************************************************/ + /* + OUT source BIGINT, + OUT target_vid BIGINT, + OUT cost FLOAT, + */ + /**********************************************************************/ + size_t numb = 4; + values = palloc(numb * sizeof(Datum)); + nulls = palloc(numb * sizeof(bool)); + + size_t i; + for (i = 0; i < numb; ++i) { + nulls[i] = false; + } + + values[0] = Int32GetDatum(funcctx->call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].source); + values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].target); + values[3] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); + + /**********************************************************************/ + + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + SRF_RETURN_NEXT(funcctx, result); + } else { + /**********************************************************************/ + + PGR_DBG("Clean up code"); + + /**********************************************************************/ + + SRF_RETURN_DONE(funcctx); + } +} diff --git a/src/planar/boyerMyrvold_driver.cpp b/src/planar/boyerMyrvold_driver.cpp new file mode 100644 index 00000000000..423a70cfc7c --- /dev/null +++ b/src/planar/boyerMyrvold_driver.cpp @@ -0,0 +1,129 @@ +/*PGR-GNU***************************************************************** +File: boyerMyrvold_driver.cpp + +Generated with Template by: +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#include "drivers/planarGraph/boyerMyrvold_driver.h" + +#include +#include +#include + +#include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/pgr_assert.h" +#include "c_types/pgr_boyer_t.h" + +#include "planarGraph/pgr_boyerMyrvold.hpp" +#include "cpp_common/pgr_base_graph.hpp" + + +template < class G > +std::vector +pgr_boyerMyrvold( + G &graph) { + pgrouting::functions::Pgr_boyerMyrvold< G > fn_boyerMyrvold; + auto results = fn_boyerMyrvold.boyerMyrvold( + graph); + return results; +} + +void +do_pgr_boyerMyrvold( + pgr_edge_t *data_edges, + size_t total_edges, + + pgr_boyer_t **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg) { + std::ostringstream log; + std::ostringstream err; + std::ostringstream notice; + try { + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + pgassert(total_edges != 0); + + std::vector results; + std::string logstr; + + graphType gType = UNDIRECTED; + log << "Working with Undirected Graph\n"; + pgrouting::UndirectedGraph undigraph(gType); + undigraph.insert_edges(data_edges, total_edges); + results = pgr_boyerMyrvold(undigraph); + + + auto count = results.size(); + + if (count == 0) { + (*return_tuples) = NULL; + (*return_count) = 0; + notice << + "No Vertices"; + *log_msg = pgr_msg(notice.str().c_str()); + return; + } + + (*return_tuples) = pgr_alloc(count, (*return_tuples)); + log << "\nConverting a set of traversals into the tuples"; + for (size_t i = 0; i < count; i++) { + *((*return_tuples) + i) = results[i]; + } + (*return_count) = count; + + pgassert(*err_msg == NULL); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } +} From c2f6909d2e1a456328d8c4bc85e9368be16ae17d Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 22 Jul 2020 23:53:15 +0530 Subject: [PATCH 0472/1360] [lint] removing file that is not going to main repository --- myrun.sh | 193 ------------------------------------------------------- 1 file changed, 193 deletions(-) delete mode 100644 myrun.sh diff --git a/myrun.sh b/myrun.sh deleted file mode 100644 index c92870c477e..00000000000 --- a/myrun.sh +++ /dev/null @@ -1,193 +0,0 @@ -#!/bin/bash - -set -e - - -# copy this file into the root of your repository -# adjust to your needs - -# This run.sh is intended for 3.0.0 -VERSION=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) - -# set up your postgres version and port -PGVERSION="12" -PGPORT="5432" -PGBIN="/usr/lib/postgresql/${PGVERSION}/bin" - -# Compiler setup - -# When more than one compiler is installed -GCC="8" - -# Using the default compiler version -unset GCC - - -ALLDIRS=" -allpairs -alpha_shape -astar -bdAstar -bdDijkstra -bellman_ford -breadthFirstSearch -chinese -common -components -contraction -dagShortestPath -dijkstra -driving_distance -internalQueryTests -ksp -lineGraph -max_flow -mincut -pickDeliver -spanningTree -topologicalSort -topology -transitiveClosure -trsp -tsp -version -vrp_basic -withPoints" - -TESTDIRS=${ALLDIRS} -TESTDIRS="dijkstra makeConnected" - - -function test_compile { - -echo ------------------------------------ -echo ------------------------------------ -echo "Compiling with G++-$1" -echo ------------------------------------ - -if [ ! -z "$1" ]; then - update-alternatives --set gcc /usr/bin/gcc-$1 -fi - - -cd build/ - -# Using all defaults -#cmake .. - -# Options Release RelWithDebInfo MinSizeRel Debug -#cmake -DCMAKE_BUILD_TYPE=Debug .. - -# Additional debug information -#cmake -DPgRouting_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug .. - -# with documentation (like the one the website) -#cmake -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON .. - -# with developers documentation -#cmake -DWITH_DOC=ON -DBUILD_DOXY=ON .. - -cmake -DPOSTGRESQL_BIN=${PGBIN} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DBUILD_LATEX=ON -DCMAKE_BUILD_TYPE=Debug .. - -make -j 4 -sudo make install -exit 0 -cd .. - - -echo -echo -------------------------------------------- -echo Execute documentation queries for a particular directories -echo -------------------------------------------- - - -# choose what is going to be tested while developing -for d in ${TESTDIRS} -do - # tools/testers/doc_queries_generator.pl -alg ${d} -documentation -pgport ${PGPORT} - # tools/testers/doc_queries_generator.pl -alg ${d} -pgport ${PGPORT} - tools/developer/taptest.sh ${d} -p ${PGPORT} -done -# exit 0 - - - - - -echo -echo -------------------------------------------- -echo Update signatures -echo -------------------------------------------- - -sh tools/release-scripts/get_signatures.sh -p ${PGPORT} - - -if [[ $(git status | grep 'pgrouting--') ]]; then - echo "**************************************************" - echo " WARNING" - echo "the signatures changed, copyed the generated files" - echo "Plese verify the changes are minimal" - echo "**************************************************" - git diff sql/sigs -fi - - -################################ -################################ -## checks all the repository -# -# the rest of the script use PGPORT variable -################################ -################################ -echo -echo -------------------------------------------- -echo Update / Verify NEWS -echo -------------------------------------------- -tools/release-scripts/notes2news.pl -if [[ $(git status | grep 'NEWS') ]]; then - echo "**************************************************" - echo " WARNING" - echo "the signatures changed, copying generated files" - echo "Plese verify the changes are minimal" - echo "**************************************************" - git diff NEWS -fi - -######################################################## -# Execute documentation queries for the whole project -######################################################## -tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT - -tools/testers/doc_queries_generator.pl -pgport $PGPORT -# exit 0 -cd build -#rm -rf doc/* -make doc -#rm -rf doxygen/* -make doxy -cd .. - -exit 0 -######################################################## -# pgTap test all -######################################################## - -dropdb --if-exists -p $PGPORT ___pgr___test___ -createdb -p $PGPORT ___pgr___test___ -echo $PGPORT -sh ./tools/testers/pg_prove_tests.sh himanshu $PGPORT -dropdb -p $PGPORT ___pgr___test___ - -#tools/testers/update-tester.sh - -} - -# Uncomment what you need -for compiler in GCC -do - if [ ! -z "$1" ]; then - echo "Fresh build" - rm -rf build/* - fi - test_compile ${GCC} -done From a191e286f51755aa94f1aa1376570d26d2d1d5f7 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 23 Jul 2020 00:13:38 +0530 Subject: [PATCH 0473/1360] renaming pgr_boyermyrvold to pgr_boyermyrvold_1 for safe keeping --- pgtap/planarGraph/boyerMyrvold-edge-cases.sql | 156 +++++++++--------- pgtap/planarGraph/boyerMyrvold-innerQuery.sql | 6 +- .../planarGraph/boyerMyrvold-types-check.sql | 12 +- .../no_crash_test-boyerMyrvold.sql | 2 +- sql/planarGraph/_boyerMyrvold.sql | 8 +- sql/planarGraph/boyerMyrvold.sql | 10 +- src/planarGraph/boyerMyrvold.c | 6 +- 7 files changed, 100 insertions(+), 100 deletions(-) diff --git a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql index 4c203541bbe..f62c2c14cce 100644 --- a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql +++ b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql @@ -16,111 +16,111 @@ SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); -- 0 edge, 0 vertex tests -PREPARE boyerMyrvold2 AS +PREPARE boyerMyrvold_12 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18' ); -PREPARE boyerMyrvold3 AS +PREPARE boyerMyrvold_13 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (20,22)' ); -PREPARE boyerMyrvold4 AS +PREPARE boyerMyrvold_14 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 25' ); -PREPARE boyerMyrvold5 AS +PREPARE boyerMyrvold_15 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (40,60,-10)' ); -PREPARE boyerMyrvold6 AS +PREPARE boyerMyrvold_16 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18' ); -PREPARE boyerMyrvold7 AS +PREPARE boyerMyrvold_17 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 22' ); -SELECT is_empty('boyerMyrvold2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold3', '3: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold4', '4: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold5', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold6', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold7', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_12', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_13', '3: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_14', '4: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_15', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_16', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_17', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); -- vertex not present in graph tests -PREPARE boyerMyrvold8 AS +PREPARE boyerMyrvold_18 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = -10' ); -PREPARE boyerMyrvold9 AS +PREPARE boyerMyrvold_19 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (-10,50)' ); -PREPARE boyerMyrvold10 AS +PREPARE boyerMyrvold_110 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (-10,-20,-30)' ); -PREPARE boyerMyrvold11 AS +PREPARE boyerMyrvold_111 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (-10,33,39)' ); -PREPARE boyerMyrvold12 AS +PREPARE boyerMyrvold_112 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 36' ); -PREPARE boyerMyrvold13 AS +PREPARE boyerMyrvold_113 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (36,45,34)' ); -SELECT is_empty('boyerMyrvold8', '8: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold9', '9: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold10', '10: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold11', '11: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold12', '12: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold13', '13: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_18', '8: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_19', '9: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_110', '10: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_111', '11: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_112', '12: Vertex not present in graph -> Empty row is returned'); +SELECT is_empty('boyerMyrvold_113', '13: Vertex not present in graph -> Empty row is returned'); -- 1 vertex tests @@ -135,100 +135,100 @@ SELECT set_eq('q14', $$VALUES (9, 6, 6, 1, 1)$$, 'q14: Graph with only vertex 6' -- 1 vertex tests -PREPARE boyerMyrvold15 AS +PREPARE boyerMyrvold_115 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, 6 AS target, cost, reverse_cost FROM edge_table WHERE id = 9' ); -PREPARE boyerMyrvold16 AS +PREPARE boyerMyrvold_116 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table WHERE id = 2' ); -PREPARE boyerMyrvold17 AS +PREPARE boyerMyrvold_117 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, 3 AS target, cost, reverse_cost FROM edge_table WHERE id = 3' ); -PREPARE boyerMyrvold18 AS +PREPARE boyerMyrvold_118 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, 7 AS target, cost, reverse_cost FROM edge_table WHERE id = 6' ); -SELECT set_eq('boyerMyrvold15', $$VALUES (1, 6, 6, 1)$$, '15: One row is returned'); -SELECT set_eq('boyerMyrvold16', $$VALUES (1, 2, 2, 1)$$, '16: One row is returned'); -SELECT set_eq('boyerMyrvold17', $$VALUES (1, 3, 3, 1)$$, '17: One row is returned'); -SELECT set_eq('boyerMyrvold18', $$VALUES (1, 7, 7, 1)$$, '18: One row is returned'); +SELECT set_eq('boyerMyrvold_115', $$VALUES (1, 6, 6, 1)$$, '15: One row is returned'); +SELECT set_eq('boyerMyrvold_116', $$VALUES (1, 2, 2, 1)$$, '16: One row is returned'); +SELECT set_eq('boyerMyrvold_117', $$VALUES (1, 3, 3, 1)$$, '17: One row is returned'); +SELECT set_eq('boyerMyrvold_118', $$VALUES (1, 7, 7, 1)$$, '18: One row is returned'); -- 2 vertices tests -PREPARE boyerMyrvold19 AS +PREPARE boyerMyrvold_119 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 1' ); -PREPARE boyerMyrvold20 AS +PREPARE boyerMyrvold_120 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 4' ); -PREPARE boyerMyrvold21 AS +PREPARE boyerMyrvold_121 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 9' ); -PREPARE boyerMyrvold22 AS +PREPARE boyerMyrvold_122 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 6' ); -PREPARE boyerMyrvold23 AS +PREPARE boyerMyrvold_123 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 7' ); -PREPARE boyerMyrvold24 AS +PREPARE boyerMyrvold_124 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 8' ); -SELECT set_eq('boyerMyrvold19', $$VALUES (1, 1, 2, 1)$$, '19: Two rows are returned'); -SELECT set_eq('boyerMyrvold20', $$VALUES (1, 2, 5, 1)$$, '20: Two rows are returned'); -SELECT set_eq('boyerMyrvold21', $$VALUES (1, 6, 9, 1)$$, '21: Two rows are returned'); -SELECT set_eq('boyerMyrvold22', $$VALUES (1, 7, 8, 1)$$, '22: Two rows are returned'); -SELECT set_eq('boyerMyrvold23', $$VALUES (1, 8, 5, 1)$$, '23: Two rows are returned'); -SELECT set_eq('boyerMyrvold24', $$VALUES (1, 5, 6, 1)$$, '24: Two rows are returned'); +SELECT set_eq('boyerMyrvold_119', $$VALUES (1, 1, 2, 1)$$, '19: Two rows are returned'); +SELECT set_eq('boyerMyrvold_120', $$VALUES (1, 2, 5, 1)$$, '20: Two rows are returned'); +SELECT set_eq('boyerMyrvold_121', $$VALUES (1, 6, 9, 1)$$, '21: Two rows are returned'); +SELECT set_eq('boyerMyrvold_122', $$VALUES (1, 7, 8, 1)$$, '22: Two rows are returned'); +SELECT set_eq('boyerMyrvold_123', $$VALUES (1, 8, 5, 1)$$, '23: Two rows are returned'); +SELECT set_eq('boyerMyrvold_124', $$VALUES (1, 5, 6, 1)$$, '24: Two rows are returned'); @@ -263,21 +263,21 @@ SELECT set_eq('q25', -- 3 vertices tests -PREPARE boyerMyrvold26 AS +PREPARE boyerMyrvold_126 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM three_vertices_table' ); -PREPARE boyerMyrvold27 AS +PREPARE boyerMyrvold_127 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM three_vertices_table WHERE id > 4' ); -SELECT set_eq('boyerMyrvold26', +SELECT set_eq('boyerMyrvold_126', $$VALUES (1, 3, 6, 20), (2, 3, 8, 10), @@ -285,7 +285,7 @@ SELECT set_eq('boyerMyrvold26', $$, '26: 3 vertices tests' ); -SELECT is_empty('boyerMyrvold27', +SELECT is_empty('boyerMyrvold_127', '27: Vertex not present in graph -> Empty row is returned' ); @@ -310,24 +310,24 @@ SELECT set_eq('q28', -- 4 vertices tests -PREPARE boyerMyrvold29 AS +PREPARE boyerMyrvold_129 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE (id >= 10 AND id <= 12) OR id = 8' ); -PREPARE boyerMyrvold30 AS +PREPARE boyerMyrvold_130 AS SELECT * -FROM pgr_boyerMyrvold( +FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE (id >= 2 AND id <= 4)' ); -SELECT set_eq('boyerMyrvold29', +SELECT set_eq('boyerMyrvold_129', $$VALUES (1, 5, 6, 1), (2, 5, 10, 1), @@ -337,7 +337,7 @@ SELECT set_eq('boyerMyrvold29', '29: 4 vertices tests,4 rows returned' ); -SELECT set_eq('boyerMyrvold30', +SELECT set_eq('boyerMyrvold_130', $$VALUES (1, 3, 2, 1), (2, 4, 3, 1), diff --git a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql index d62f9468e3f..22d8843e819 100644 --- a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql +++ b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql @@ -4,10 +4,10 @@ SELECT plan(56); SET client_min_messages TO ERROR; -SELECT has_function('pgr_boyermyrvold'); +SELECT has_function('pgr_boyermyrvold_1'); -SELECT function_returns('pgr_boyermyrvold',ARRAY['text'],'setof record'); -SELECT style_dijkstra('pgr_boyermyrvold', ')'); +SELECT function_returns('pgr_boyermyrvold_1',ARRAY['text'],'setof record'); +SELECT style_dijkstra('pgr_boyermyrvold_1', ')'); SELECT finish(); ROLLBACK; diff --git a/pgtap/planarGraph/boyerMyrvold-types-check.sql b/pgtap/planarGraph/boyerMyrvold-types-check.sql index de4a57d7e1c..d4681b387e5 100644 --- a/pgtap/planarGraph/boyerMyrvold-types-check.sql +++ b/pgtap/planarGraph/boyerMyrvold-types-check.sql @@ -2,25 +2,25 @@ SELECT plan(5); -SELECT has_function('pgr_boyermyrvold'); +SELECT has_function('pgr_boyermyrvold_1'); -SELECT function_returns('pgr_boyermyrvold', ARRAY['text'], 'setof record'); +SELECT function_returns('pgr_boyermyrvold_1', ARRAY['text'], 'setof record'); -- flags -- error SELECT lives_ok( - 'SELECT * FROM pgr_boyerMyrvold( + 'SELECT * FROM pgr_boyerMyrvold_1( ''SELECT id, source, target, cost, reverse_cost FROM edge_table'' )', '3: Documentation says works with no flags'); SELECT throws_ok( - 'SELECT * FROM pgr_boyerMyrvold( + 'SELECT * FROM pgr_boyerMyrvold_1( ''SELECT id, source, target, cost, reverse_cost FROM edge_table id < 17'', 3 - )','42883','function pgr_boyermyrvold(unknown, integer) does not exist', + )','42883','function pgr_boyermyrvold_1(unknown, integer) does not exist', '4: Documentation says it does not work with 1 flags'); @@ -39,7 +39,7 @@ SELECT pg_typeof(seq)::text AS t1, pg_typeof(target)::text AS t3, pg_typeof(cost)::text AS t4 FROM ( - SELECT * FROM pgr_boyerMyrvold( + SELECT * FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 17' ) ) AS a LIMIT 1; diff --git a/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql b/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql index 9af5efc6f84..6934723ef21 100644 --- a/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql +++ b/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql @@ -19,7 +19,7 @@ BEGIN 'NULL' ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_boyerMyrvold', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_boyerMyrvold_1', params, subs); END $BODY$ LANGUAGE plpgsql VOLATILE; diff --git a/sql/planarGraph/_boyerMyrvold.sql b/sql/planarGraph/_boyerMyrvold.sql index cfaf6a067c5..581bf0c1dad 100644 --- a/sql/planarGraph/_boyerMyrvold.sql +++ b/sql/planarGraph/_boyerMyrvold.sql @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: _boyerMyrvold.sql +File: _boyerMyrvold_1.sql Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org @@ -26,11 +26,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ ------------------------- ------------------------- --- _boyerMyrvold +-- _boyerMyrvold_1 ------------------------- ------------------------- -CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( +CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold_1( TEXT, -- edges_sql (required) OUT seq BIGINT, @@ -45,5 +45,5 @@ LANGUAGE c IMMUTABLE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_boyerMyrvold(TEXT) +COMMENT ON FUNCTION _pgr_boyerMyrvold_1(TEXT) IS 'pgRouting internal function'; diff --git a/sql/planarGraph/boyerMyrvold.sql b/sql/planarGraph/boyerMyrvold.sql index 1a50de1ffe2..449c179f5c8 100644 --- a/sql/planarGraph/boyerMyrvold.sql +++ b/sql/planarGraph/boyerMyrvold.sql @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: boyerMyrvold.sql +File: boyerMyrvold_1.sql Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org @@ -27,10 +27,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ ------------------ --- pgr_boyerMyrvold +-- pgr_boyerMyrvold_1 ------------------ -CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( +CREATE OR REPLACE FUNCTION pgr_boyerMyrvold_1( TEXT, -- edges_sql (required) OUT seq BIGINT, OUT source BIGINT, @@ -40,13 +40,13 @@ CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( RETURNS SETOF RECORD AS $BODY$ SELECT * - FROM _pgr_boyerMyrvold(_pgr_get_statement($1)) AS a; + FROM _pgr_boyerMyrvold_1(_pgr_get_statement($1)) AS a; $BODY$ LANGUAGE SQL VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT) +COMMENT ON FUNCTION pgr_boyerMyrvold_1(TEXT) IS 'pgr_boyerMyrvold - EXPERIMENTAL - Undirected graph diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c index f74780ff96b..7b6e665e003 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planarGraph/boyerMyrvold.c @@ -40,8 +40,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/arrays_input.h" #include "drivers/planarGraph/boyerMyrvold_driver.h" -PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_boyermyrvold); +PGDLLEXPORT Datum _pgr_boyermyrvold_1(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_boyermyrvold_1); static void process( @@ -107,7 +107,7 @@ process( pgr_SPI_finish(); } -PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { +PGDLLEXPORT Datum _pgr_boyermyrvold_1(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; From 57a167f3dae327faa0f3503976d7ad1429c65969 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 23 Jul 2020 00:20:08 +0530 Subject: [PATCH 0474/1360] [planarGraph][docqueries] Renamed pgr_boyerMyrvold to pgr_boyerMyrvold_1 --- docqueries/planarGraph/doc-pgr_boyerMyrvold.result | 6 +++--- docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index 07439398dc2..00b438a4061 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -3,7 +3,7 @@ BEGIN SET client_min_messages TO NOTICE; SET -- q1 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); @@ -34,7 +34,7 @@ INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES (1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); INSERT 0 7 -- q3 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); @@ -43,7 +43,7 @@ SELECT * FROM pgr_boyerMyrvold( (0 rows) -- q4 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_boyerMyrvold_1( $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql index fe8ed32065b..f8da510edb3 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql @@ -1,5 +1,5 @@ \echo -- q1 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); @@ -10,13 +10,13 @@ INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES \echo -- q3 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_boyerMyrvold_1( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); \echo -- q4 -SELECT * FROM pgr_boyerMyrvold( +SELECT * FROM pgr_boyerMyrvold_1( $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( From b61bfdbe91568628c553488cbf315a14932a069b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 23 Jul 2020 00:25:57 +0530 Subject: [PATCH 0475/1360] not buidling documentation of backup function --- doc/planarGraph/CMakeLists.txt | 11 -- doc/planarGraph/pgr_boyerMyrvold.rst | 159 --------------------------- 2 files changed, 170 deletions(-) delete mode 100644 doc/planarGraph/CMakeLists.txt delete mode 100644 doc/planarGraph/pgr_boyerMyrvold.rst diff --git a/doc/planarGraph/CMakeLists.txt b/doc/planarGraph/CMakeLists.txt deleted file mode 100644 index faf9c18171b..00000000000 --- a/doc/planarGraph/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ - -SET(LOCAL_FILES - pgr_boyerMyrvold.rst - ) - -foreach (f ${LOCAL_FILES}) - configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") - list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) -endforeach() - -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/planarGraph/pgr_boyerMyrvold.rst b/doc/planarGraph/pgr_boyerMyrvold.rst deleted file mode 100644 index 4ffa8cd8b2d..00000000000 --- a/doc/planarGraph/pgr_boyerMyrvold.rst +++ /dev/null @@ -1,159 +0,0 @@ -.. - **************************************************************************** - pgRouting Manual - Copyright(c) pgRouting Contributors - - This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.1 License: http://creativecommons.org/licenses/by-sa/3.1/ - **************************************************************************** - -pgr_boyerMyrvold - Experimental -=============================================================================== - -``pgr_boyerMyrvold`` — Returns the set of source and target of edges with their costs if the graph is planar. -In particular, the boyer_myrvold_planarity_test algorithm is implemented by Boost.Graph. - -.. figure:: images/boost-inside.jpeg - :target: https://www.boost.org/libs/graph/doc/boyer_myrvold.html - - Boost Graph Inside - -.. include:: experimental.rst - :start-after: begin-warn-expr - :end-before: end-warn-expr - -.. rubric:: Availability - -* Version 3.1.0 - - * New **experimental** function - -.. rubric:: Support - -* **Supported versions:** - current(`3.1 `__) and above - -* **TBD** - -Description -------------------------------------------------------------------------------- - -A graph is planar if it can be drawn in two-dimensional space with no two of its edges crossing. Such a drawing of a planar graph is called a plane drawing. Every planar graph also admits a straight-line drawing, which is a plane drawing where each edge is represented by a line segment. - -The main characteristics are: - - It works with any undirected graph. - - - The returned values are the set of source and target of edges with their costs. - - - **Running time:** Assuming that both the vertex index and edge index supplied take time O(1) to return an index and there are O(n) total self-loops and parallel edges in the graph, most combinations of arguments given to boyer_myrvold_planarity_test result in an algorithm that runs in time O(n) for a graph with n vertices and m edges - - -Signatures -------------------------------------------------------------------------------- - -.. rubric:: Summary - -.. code-block:: none - - pgr_boyerMyrvold(edges_sql) - - RETURNS SET OF (seq, source, target, cost) - OR EMPTY SET - -:Example: Query done on :doc:`sampledata` network gives. - -.. literalinclude:: doc-pgr_boyerMyrvold.queries - :start-after: -- q1 - :end-before: -- q2 - -Parameters -------------------------------------------------------------------------------- - -=================== ====================== ========= ================================================= -Parameter Type Default Description -=================== ====================== ========= ================================================= -**edges_sql** ``TEXT`` SQL query as described above. -=================== ====================== ========= ================================================= - -Inner query -------------------------------------------------------------------------------- - -:edges_sql: an SQL query, which should return a set of rows with the following columns: - -================= =================== ======== ================================================= -Column Type Default Description -================= =================== ======== ================================================= -**id** ``ANY-INTEGER`` Identifier of the edge. -**source** ``ANY-INTEGER`` Identifier of the first end point vertex of the edge. -**target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. -**cost** ``ANY-NUMERICAL`` Weight of the edge `(source, target)` - - - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. - -**reverse_cost** ``ANY-NUMERICAL`` -1 Weight of the edge `(target, source)`, - - - When negative: edge `(target, source)` does not exist, therefore it's not part of the graph. - -================= =================== ======== ================================================= - -Where: - -:ANY-INTEGER: SMALLINT, INTEGER, BIGINT -:ANY-NUMERICAL: SMALLINT, INTEGER, BIGINT, REAL, FLOAT - -Result Columns -------------------------------------------------------------------------------- - -Returns set of ``(seq, source, target, cost)`` - -=============== =========== ============================================================ -Column Type Description -=============== =========== ============================================================ -**seq** ``INT`` Sequential value starting from **1**. -**source** ``BIGINT`` Identifier of the first end point vertex of the edge. -**target** ``BIGINT`` Identifier of the second end point vertex of the edge. -**cost** ``FLOAT`` Weight of the edge `(source, target)` - - - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. -=============== =========== ============================================================ - -Additional Example: -------------------------------------------------------------------------------- - - -Now, let's add some edges to make the graph non-planar. We will be adding edges between every pair in this list of vertices **1**, **2**, **3**, **4**, **5**. - - -.. literalinclude:: doc-pgr_boyerMyrvold.queries - :start-after: -- q2 - :end-before: -- q3 - - -Now, let's check our graph is planar or not. If it is non-planar then it will return an empty set of rows. - - -.. literalinclude:: doc-pgr_boyerMyrvold.queries - :start-after: -- q3 - :end-before: -- q4 - -There can be some cases where we only want to check whether a particular connected component of a graph is planar or not. So the below example -will illustrate the way to do it. - - - Use pgr_connectedComponents( ) function in query: - - -.. literalinclude:: doc-pgr_boyerMyrvold.queries - :start-after: -- q4 - :end-before: -- q5 - -See Also -------------------------------------------------------------------------------- - -* https://en.wikipedia.org/wiki/Planarity_testing -* https://www.boost.org/libs/graph/doc/boyer_myrvold.html -* The queries use the :doc:`sampledata` network. - -.. rubric:: Indices and tables - -* :ref:`genindex` -* :ref:`search` From 4e28d3b7ca15f53552a1fbed8288cc1a7d17b716 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 23 Jul 2020 00:54:22 +0530 Subject: [PATCH 0476/1360] Modified signature for backup function and docqueries result --- docqueries/planar/doc-pgr_boyerMyrvold.result | 39 ++++--------------- sql/sigs/pgrouting--3.1.0.sig | 4 +- 2 files changed, 9 insertions(+), 34 deletions(-) diff --git a/docqueries/planar/doc-pgr_boyerMyrvold.result b/docqueries/planar/doc-pgr_boyerMyrvold.result index 07439398dc2..6ec5ed070f8 100644 --- a/docqueries/planar/doc-pgr_boyerMyrvold.result +++ b/docqueries/planar/doc-pgr_boyerMyrvold.result @@ -7,41 +7,20 @@ SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); - seq | source | target | cost ------+--------+--------+------ - 1 | 1 | 2 | 1 - 2 | 3 | 2 | 1 - 3 | 4 | 3 | 1 - 4 | 2 | 5 | 1 - 5 | 3 | 6 | 1 - 6 | 7 | 8 | 1 - 7 | 8 | 5 | 1 - 8 | 5 | 6 | 1 - 9 | 6 | 9 | 1 - 10 | 5 | 10 | 1 - 11 | 6 | 11 | 1 - 12 | 10 | 11 | 1 - 13 | 11 | 12 | 1 - 14 | 10 | 13 | 1 - 15 | 9 | 12 | 1 - 16 | 4 | 9 | 1 - 17 | 14 | 15 | 1 - 18 | 16 | 17 | 1 -(18 rows) - +ERROR: function pgr_boyermyrvold(unknown) does not exist +LINE 1: SELECT * FROM pgr_boyerMyrvold( + ^ +HINT: No function matches the given name and argument types. You might need to add explicit type casts. -- q2 INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES (1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); -INSERT 0 7 +ERROR: current transaction is aborted, commands ignored until end of transaction block -- q3 SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); - seq | source | target | cost ------+--------+--------+------ -(0 rows) - +ERROR: current transaction is aborted, commands ignored until end of transaction block -- q4 SELECT * FROM pgr_boyerMyrvold( $$ @@ -57,11 +36,7 @@ $$ ) $$ ); - seq | source | target | cost ------+--------+--------+------ - 1 | 14 | 15 | 1 -(1 row) - +ERROR: current transaction is aborted, commands ignored until end of transaction block -- q5 ROLLBACK; ROLLBACK diff --git a/sql/sigs/pgrouting--3.1.0.sig b/sql/sigs/pgrouting--3.1.0.sig index 3ab132fd7c5..12e88ab7c4a 100644 --- a/sql/sigs/pgrouting--3.1.0.sig +++ b/sql/sigs/pgrouting--3.1.0.sig @@ -51,8 +51,8 @@ pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) _pgr_boost_version() -_pgr_boyermyrvold(text) -pgr_boyermyrvold(text) +_pgr_boyermyrvold_1(text) +pgr_boyermyrvold_1(text) pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) From 5f41d077c055068a7e217c62446d19a3e66f9258 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 23 Jul 2020 19:00:29 +0530 Subject: [PATCH 0477/1360] [lint] Removed files that are not going to main repository --- configuration.conf | 2 +- doc/kargersContraction/CMakeLists.txt | 11 - .../pgr_kargersContraction.rst | 299 ------------------ include/c_types/pgr_kargersContraction_t.h | 43 --- .../kargersContraction_driver.h | 60 ---- .../pgr_kargersContraction.hpp | 85 ----- .../kargersContraction-edge-cases.sql | 201 ------------ .../kargersContraction-innerQuery.sql | 8 - .../kargersContraction-types-check.sql | 37 --- .../no_crash_test-kargersContraction.sql | 106 ------- sql/kargersContraction/CMakeLists.txt | 12 - .../_kargersContraction.sql | 56 ---- sql/kargersContraction/kargersContraction.sql | 54 ---- src/kargersContraction/CMakeLists.txt | 4 - src/kargersContraction/kargersContraction.c | 43 --- .../kargersContraction_driver.cpp | 115 ------- 16 files changed, 1 insertion(+), 1135 deletions(-) delete mode 100644 doc/kargersContraction/CMakeLists.txt delete mode 100644 doc/kargersContraction/pgr_kargersContraction.rst delete mode 100644 include/c_types/pgr_kargersContraction_t.h delete mode 100644 include/drivers/kargersContraction/kargersContraction_driver.h delete mode 100644 include/kargersContraction/pgr_kargersContraction.hpp delete mode 100644 pgtap/kargersContraction/kargersContraction-edge-cases.sql delete mode 100644 pgtap/kargersContraction/kargersContraction-innerQuery.sql delete mode 100644 pgtap/kargersContraction/kargersContraction-types-check.sql delete mode 100644 pgtap/kargersContraction/no_crash_test-kargersContraction.sql delete mode 100644 sql/kargersContraction/CMakeLists.txt delete mode 100644 sql/kargersContraction/_kargersContraction.sql delete mode 100644 sql/kargersContraction/kargersContraction.sql delete mode 100644 src/kargersContraction/CMakeLists.txt delete mode 100644 src/kargersContraction/kargersContraction.c delete mode 100644 src/kargersContraction/kargersContraction_driver.cpp diff --git a/configuration.conf b/configuration.conf index 92b1d3262a0..6ead3be7317 100644 --- a/configuration.conf +++ b/configuration.conf @@ -42,7 +42,7 @@ transitiveClosure | Y | Y | Y breadthFirstSearch | Y | Y | Y traversal | Y | Y | Y coloring | Y | Y | Y -planarGraph | Y | Y | Y +planarGraph | Y | Y | N makeConnected | Y | Y | N #---------------------- # SQL only directories diff --git a/doc/kargersContraction/CMakeLists.txt b/doc/kargersContraction/CMakeLists.txt deleted file mode 100644 index b221ccc15ac..00000000000 --- a/doc/kargersContraction/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ - -SET(LOCAL_FILES - pgr_kargersContraction.rst - ) - -foreach (f ${LOCAL_FILES}) - configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") - list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) -endforeach() - -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/kargersContraction/pgr_kargersContraction.rst b/doc/kargersContraction/pgr_kargersContraction.rst deleted file mode 100644 index 0f5a89eee4a..00000000000 --- a/doc/kargersContraction/pgr_kargersContraction.rst +++ /dev/null @@ -1,299 +0,0 @@ -.. - **************************************************************************** - pgRouting Manual - Copyright(c) pgRouting Contributors - - This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.0 License: https://creativecommons.org/licenses/by-sa/3.0/ - **************************************************************************** - -pgr_kargersContraction -=============================================================================== - -``pgr_kargersContraction`` — Returns the shortest path(s) using Dijkstra algorithm. -In particular, the Dijkstra algorithm implemented by Boost.Graph. - -.. figure:: images/boost-inside.jpeg - :target: https://www.boost.org/libs/graph/doc/dijkstra_shortest_paths.html - - Boost Graph Inside - -.. rubric:: Availability - -* Version 3.0.0 - - * **Official** functions - -* Version 2.2.0 - - * New **proposed** functions: - - * pgr_dijkstra(One to Many) - * pgr_dijkstra(Many to One) - * pgr_dijkstra(Many to Many) - -* Version 2.1.0 - - * Signature change on pgr_dijkstra(One to One) - -* Version 2.0.0 - - * **Official** pgr_dijkstra(One to One) - -.. rubric:: Support - -* **Supported versions:** - current(`3.0 `__) - `2.6 `__ - -* **Unsupported versions:** - `2.5 `__ - `2.4 `__ - `2.3 `__ - `2.2 `__ - `2.1 `__ - `2.0 `__ - - -Description -------------------------------------------------------------------------------- - -Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra in 1956. -It is a graph search algorithm that solves the shortest path problem for -a graph with non-negative edge path costs, producing a shortest path from -a starting vertex (``start_vid``) to an ending vertex (``end_vid``). -This implementation can be used with a directed graph and an undirected graph. - -The main characteristics are: - - Process is done only on edges with positive costs. - - Values are returned when there is a path. - - - When the starting vertex and ending vertex are the same, there is no path. - - - The `agg_cost` the non included values `(v, v)` is `0` - - - When the starting vertex and ending vertex are the different and there is no path: - - - The `agg_cost` the non included values `(u, v)` is :math:`\infty` - - - For optimization purposes, any duplicated value in the `start_vids` or `end_vids` are ignored. - - - The returned values are ordered: - - - `start_vid` ascending - - `end_vid` ascending - - - Running time: :math:`O(| start\_vids | * (V \log V + E))` - -Signatures -------------------------------------------------------------------------------- - -.. rubric:: Summary - -.. code-block:: none - - pgr_dijkstra(edges_sql, start_vid, end_vid [, directed]) - pgr_dijkstra(edges_sql, start_vid, end_vids [, directed]) - pgr_dijkstra(edges_sql, start_vids, end_vid [, directed]) - pgr_dijkstra(edges_sql, start_vids, end_vids [, directed]) - RETURNS SET OF (seq, path_seq [, start_vid] [, end_vid], node, edge, cost, agg_cost) - OR EMPTY SET - -.. rubric:: Using defaults - -.. code-block:: none - - pgr_dijkstra(TEXT edges_sql, BIGINT start_vid, BIGINT end_vid) - RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) or EMPTY SET - -:Example: From vertex :math:`2` to vertex :math:`3` on a **directed** graph - -.. literalinclude:: doc-pgr_dijkstra.queries - :start-after: -- q1 - :end-before: -- q2 - -.. index:: - single: dijkstra(One to One) - -One to One -............................................................................... - -.. code-block:: none - - pgr_dijkstra(TEXT edges_sql, BIGINT start_vid, BIGINT end_vid, - BOOLEAN directed:=true); - RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) - OR EMPTY SET - -:Example: From vertex :math:`2` to vertex :math:`3` on an **undirected** graph - -.. literalinclude:: doc-pgr_dijkstra.queries - :start-after: -- q2 - :end-before: -- q3 - -.. index:: - single: dijkstra(One to Many) - -One to many -............................................................................... - -.. code-block:: none - - pgr_dijkstra(TEXT edges_sql, BIGINT start_vid, ARRAY[ANY_INTEGER] end_vids, - BOOLEAN directed:=true); - RETURNS SET OF (seq, path_seq, end_vid, node, edge, cost, agg_cost) - OR EMPTY SET - -:Example: From vertex :math:`2` to vertices :math:`\{3, 5\}` on an **undirected** graph - -.. literalinclude:: doc-pgr_dijkstra.queries - :start-after: -- q3 - :end-before: -- q4 - -.. index:: - single: dijkstra(Many to One) - -Many to One -............................................................................... - -.. code-block:: none - - pgr_dijkstra(TEXT edges_sql, ARRAY[ANY_INTEGER] start_vids, BIGINT end_vid, - BOOLEAN directed:=true); - RETURNS SET OF (seq, path_seq, start_vid, node, edge, cost, agg_cost) - OR EMPTY SET - -:Example: From vertices :math:`\{2, 11\}` to vertex :math:`5` on a **directed** graph - -.. literalinclude:: doc-pgr_dijkstra.queries - :start-after: -- q4 - :end-before: -- q5 - -.. index:: - single: dijkstra(Many to Many) - -Many to Many -............................................................................... - -.. code-block:: none - - pgr_dijkstra(TEXT edges_sql, ARRAY[ANY_INTEGER] start_vids, ARRAY[ANY_INTEGER] end_vids, - BOOLEAN directed:=true); - RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) - OR EMPTY SET - -:Example: From vertices :math:`\{2, 11\}` to vertices :math:`\{3, 5\}` on an **undirected** graph - -.. literalinclude:: doc-pgr_dijkstra.queries - :start-after: -- q5 - :end-before: -- q6 - -Parameters -------------------------------------------------------------------------------- - -.. pgr_dijkstra_parameters_start - -============== ================== ======== ================================================= -Parameter Type Default Description -============== ================== ======== ================================================= -**edges_sql** ``TEXT`` Inner SQL query as described below. -**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. -**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. -**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. -**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. -**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` - - When ``false`` the graph is considered as `Undirected`. -============== ================== ======== ================================================= - -.. pgr_dijkstra_parameters_end - -Inner query -------------------------------------------------------------------------------- - -.. rubric::edges_sql - -.. include:: pgRouting-concepts.rst - :start-after: basic_edges_sql_start - :end-before: basic_edges_sql_end - -Return Columns -------------------------------------------------------------------------------- - -.. include:: pgRouting-concepts.rst - :start-after: return_path_start - :end-before: return_path_end - - -Additional Examples -------------------------------------------------------------------------------- - -The examples of this section are based on the :doc:`sampledata` network. - -The examples include combinations from starting vertices 2 and 11 to ending vertices 3 and 5 in a directed and -undirected graph with and with out reverse_cost. - -:Examples: For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns - -The examples in this section use the following :ref:`fig1` - -.. literalinclude:: doc-pgr_dijkstra.queries - :start-after: -- q7 - :end-before: -- q8 - -:Examples: For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns - -The examples in this section use the following :ref:`fig2` - -.. literalinclude:: doc-pgr_dijkstra.queries - :start-after: -- q9 - :end-before: -- q10 - -:Examples: For queries marked as ``directed`` with ``cost`` column - -The examples in this section use the following :ref:`fig3` - -.. literalinclude:: doc-pgr_dijkstra.queries - :start-after: -- q11 - :end-before: -- q12 - -:Examples: For queries marked as ``undirected`` with ``cost`` column - -The examples in this section use the following :ref:`fig4` - -.. literalinclude:: doc-pgr_dijkstra.queries - :start-after: -- q13 - :end-before: -- q14 - -Equvalences between signatures -............................................................................... - -:Examples: For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns - -The examples in this section use the following: - -* :ref:`fig1` - -.. literalinclude:: doc-pgr_dijkstra.queries - :start-after: -- q15 - :end-before: -- q16 - -:Examples: For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns - -The examples in this section use the following: - -* :ref:`fig2` - -.. literalinclude:: doc-pgr_dijkstra.queries - :start-after: -- q17 - :end-before: -- q18 - -See Also -------------------------------------------------------------------------------- - -* https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm -* The queries use the :doc:`sampledata` network. - -.. rubric:: Indices and tables - -* :ref:`genindex` -* :ref:`search` diff --git a/include/c_types/pgr_kargersContraction_t.h b/include/c_types/pgr_kargersContraction_t.h deleted file mode 100644 index 95ae9626837..00000000000 --- a/include/c_types/pgr_kargersContraction_t.h +++ /dev/null @@ -1,43 +0,0 @@ -/*PGR-GNU***************************************************************** -File: pgr_stoerWagner_t.h - -Copyright (c) 2015 Aditya Pratap Singh -Mail: adityapratap.singh28@gmail.com ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ -/*! @file */ - -#ifndef INCLUDE_C_TYPES_PGR_KARGERSCONTRACTION_T_H_ -#define INCLUDE_C_TYPES_PGR_KARGERSCONTRACTION_T_H_ -#pragma once - -/* for int64_t */ -#ifdef __cplusplus -# include -#else -# include -#endif - -typedef struct { - int seq; - int64_t edge; - double cost; - double mincut; -} pgr_kargersContraction_t; - -#endif // INCLUDE_C_TYPES_PGR_STOERWAGNER_T_H_ diff --git a/include/drivers/kargersContraction/kargersContraction_driver.h b/include/drivers/kargersContraction/kargersContraction_driver.h deleted file mode 100644 index ce4ac87bbb8..00000000000 --- a/include/drivers/kargersContraction/kargersContraction_driver.h +++ /dev/null @@ -1,60 +0,0 @@ -/*PGR-GNU***************************************************************** -File: kargersContraction_driver.h - -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - -#ifndef INCLUDE_DRIVERS_KARGERSCONTRACTION_KARGERSCONTRACTION_DRIVER_H_ -#define INCLUDE_DRIVERS_KARGERSCONTRACTION_KARGERSCONTRACTION_DRIVER_H_ -#pragma once - -/* for size-t */ -#ifdef __cplusplus -# include -#else -# include -#endif - -#include "c_types/pgr_edge_t.h" -#include "c_types/pgr_kargersContraction_t.h" - -#ifdef __cplusplus -extern "C" { -#endif - -void do_pgr_kargersContraction( - pgr_edge_t *data_edges, - size_t total_edges, - pgr_kargersContraction_t **return_tuples, - size_t *return_count, - char ** log_msg, - char ** notice_msg, - char ** err_msg); - -#ifdef __cplusplus -} -#endif - -#endif // INCLUDE_DRIVERS_KARGERSCONTRACTION_KARGERSCONTRACTION_DRIVER_H_ diff --git a/include/kargersContraction/pgr_kargersContraction.hpp b/include/kargersContraction/pgr_kargersContraction.hpp deleted file mode 100644 index dc3989df440..00000000000 --- a/include/kargersContraction/pgr_kargersContraction.hpp +++ /dev/null @@ -1,85 +0,0 @@ -/*PGR-GNU***************************************************************** -File: pgr_kargersContraction.hpp - -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Copyright (c) 2020 Himanshu Raj -raj.himanshu2@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - -#ifndef INCLUDE_KARGERSCONTRACTION_PGR_KARGERSCONTRACTION_HPP_ -#define INCLUDE_KARGERSCONTRACTION_PGR_KARGERSCONTRACTION_HPP_ -#pragma once - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include "cpp_common/basePath_SSEC.hpp" -#include "cpp_common/pgr_base_graph.hpp" -#include "c_types/pgr_kargersContraction_t.h" - -template < class G > class Pgr_kargersContraction; -// user's functions -// for development - -//****************************************** - -template < class G > -class Pgr_kargersContraction { - public: - typedef typename G::V V; - typedef typename G::E E; - typedef typename G::E_i E_i; - - std::vector kargersContraction( - G &graph); - - private: - std::vector< pgr_kargersContraction_t > - generateskargersContraction( - const G &graph ) { - std::vector< pgr_kargersContraction_t > results; - return results; - } -}; - -template < class G > -std::vector -Pgr_kargersContraction< G >::kargersContraction( - G &graph) { - pgassert(num_vertices(graph.graph) > 1); - return generateskargersContraction( - graph); -} - - -#endif // INCLUDE_KARGERSCONTRACTION_PGR_KARGERSCONTRACTION_HPP_ diff --git a/pgtap/kargersContraction/kargersContraction-edge-cases.sql b/pgtap/kargersContraction/kargersContraction-edge-cases.sql deleted file mode 100644 index 11cb1161c85..00000000000 --- a/pgtap/kargersContraction/kargersContraction-edge-cases.sql +++ /dev/null @@ -1,201 +0,0 @@ -\i setup.sql - -SELECT plan(10); - -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; - --- -PREPARE prim1 AS -SELECT * FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18', - 21, 3 -); - -SELECT set_eq('prim1', - $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, - '1: Empty Graph -> Only root vertex is returned'); - - -PREPARE prim2 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost - FROM edge_table WHERE id > 18', - ARRAY[21, 45], - 3 -); - -SELECT set_eq('prim2', - $$VALUES - (1, 0, 21, 21, -1, 0, 0), - (2, 0, 45, 45, -1, 0, 0) - $$, - '2: Empty graph -> Only root vertices are returned'); - - --- -PREPARE prim3 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 21, 3 -); - -SELECT set_eq('prim3', - $$VALUES (1, 0, 21, 21, -1, 0, 0) $$, - '3: Root not in Graph -> Only root vertex is returned'); - --- -PREPARE prim4 AS -SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 -FROM pgr_primDFS( - 'SELECT id, source, target, cost - FROM edge_table', - ARRAY[21, 4], - 3 -); - -SELECT set_eq('prim4', - $$VALUES - (1, 4, 0, 4, -1, true), - (2, 4, 1, 9, 16, true), - (3, 4, 2, 6, 9, true), - (4, 4, 3, 3, 5, true), - (5, 4, 3, 5, 8, true), - (6, 4, 3, 11, 11, true), - (7, 21, 0, 21, -1, true) - $$, - '4: Root not in Graph -> Only root vertex is returned, Root in graph -> spanning tree is returned'); - - --- -PREPARE prim5 AS -SELECT seq, start_vid, depth, node, edge, depth <= 3 -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 0, 3 -); - -SELECT set_eq('prim5', - $$VALUES - (1, 1, 0, 1, -1, true), - (2, 1, 1, 2, 1, true), - (3, 1, 2, 3, 2, true), - (4, 1, 3, 4, 3, true), - (5, 1, 3, 6, 5, true), - (6, 1, 2, 5, 4, true), - (7, 1, 3, 8, 7, true), - (8, 1, 3, 10, 10, true), - (9, 14, 0, 14, -1, true), - (10, 14, 1, 15, 17, true), - (11, 16, 0, 16, -1, true), - (12, 16, 1, 17, 18, true) - $$, - '5: root = 0 -> forest (with random root vertices)'); - --- -PREPARE prim6 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4, -3 -); - - -SELECT throws_ok('prim6', - 'P0001', - 'Negative value found on ''max_depth''', - '6: Negative max_depth throws'); - - - -PREPARE prim7 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - ARRAY[4, 10], -3 -); - -SELECT throws_ok('prim7', - 'P0001', - 'Negative value found on ''max_depth''', - '7: Negative max_depth throws'); - --- -PREPARE prim8 AS -SELECT * -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4, 0 -); - -SELECT set_eq('prim8', - $$VALUES (1, 0, 4, 4, -1, 0, 0) $$, - '8: 0 max_depth -> Only root vertex is returned'); - --- -PREPARE prim9 AS -SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 4 -); - -SELECT set_eq('prim9', - $$VALUES - (1, 0, 4, 4, -1, true), - (2, 1, 4, 3, 3, true), - (3, 2, 4, 2, 2, true), - (4, 3, 4, 1, 1, true), - (5, 3, 4, 5, 4, true), - (6, 4, 4, 8, 7, true), - (7, 5, 4, 7, 6, true), - (8, 4, 4, 10, 10, true), - (9, 5, 4, 13, 14, true), - (10, 2, 4, 6, 5, true), - (11, 3, 4, 9, 9, true), - (12, 3, 4, 11, 11, true), - (13, 4, 4, 12, 13, true) - $$, - '9: default max_depth -> complete tree from root'); - --- -PREPARE prim10 AS -SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 -FROM pgr_primDFS( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', - 0 -); - -SELECT set_eq('prim10', - $$VALUES - (1, 1, 0, 1,-1, true), - (2, 1, 1, 2, 1, true), - (3, 1, 2, 3, 2, true), - (4, 1, 3, 4, 3, true), - (5, 1, 3, 6, 5, true), - (6, 1, 4, 9, 9, true), - (7, 1, 4,11,11, true), - (8, 1, 5,12,13, true), - (9, 1, 2, 5, 4, true), - (10, 1, 3, 8, 7, true), - (11, 1, 4, 7, 6, true), - (12, 1, 3,10,10, true), - (13, 1, 4,13,14, true), - (14, 14, 0,14,-1, true), - (15, 14, 1,15,17, true), - (16, 16, 0,16,-1, true), - (17, 16, 1,17,18, true) - $$, - '10: root = 0 -> forest (with random root vertices)'); - -SELECT * FROM finish(); -ROLLBACK; diff --git a/pgtap/kargersContraction/kargersContraction-innerQuery.sql b/pgtap/kargersContraction/kargersContraction-innerQuery.sql deleted file mode 100644 index 98aedb21240..00000000000 --- a/pgtap/kargersContraction/kargersContraction-innerQuery.sql +++ /dev/null @@ -1,8 +0,0 @@ -\i setup.sql - -SELECT plan(54); - -SELECT style_dijkstra('pgr_primDFS', ', 5)'); - -SELECT finish(); -ROLLBACK; diff --git a/pgtap/kargersContraction/kargersContraction-types-check.sql b/pgtap/kargersContraction/kargersContraction-types-check.sql deleted file mode 100644 index 1c0bb60679d..00000000000 --- a/pgtap/kargersContraction/kargersContraction-types-check.sql +++ /dev/null @@ -1,37 +0,0 @@ -\i setup.sql - -SELECT plan(7); - ----------------------------------- --- tests for all --- prefix: pgr_prim ----------------------------------- - -SELECT has_function('pgr_primdfs'); - -SELECT has_function('pgr_primdfs', ARRAY['text','bigint','bigint']); -SELECT has_function('pgr_primdfs', ARRAY['text','anyarray','bigint']); -SELECT function_returns('pgr_primdfs', ARRAY['text','bigint','bigint'], 'setof record'); -SELECT function_returns('pgr_primdfs', ARRAY['text','anyarray','bigint'], 'setof record'); - - --- pgr_primdfs --- parameter names -SELECT set_eq( - $$SELECT proargnames from pg_proc where proname = 'pgr_primdfs'$$, - $$VALUES - ('{"","","max_depth","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[]) - $$ -); - --- parameter types -SELECT set_eq( - $$SELECT proallargtypes from pg_proc where proname = 'pgr_primdfs'$$, - $$VALUES - ('{25,20,20,20,20,20,20,20,701,701}'::OID[]), - ('{25,2277,20,20,20,20,20,20,701,701}'::OID[]) - $$ -); - -SELECT * FROM finish(); -ROLLBACK; diff --git a/pgtap/kargersContraction/no_crash_test-kargersContraction.sql b/pgtap/kargersContraction/no_crash_test-kargersContraction.sql deleted file mode 100644 index 1ad0d9b4d8f..00000000000 --- a/pgtap/kargersContraction/no_crash_test-kargersContraction.sql +++ /dev/null @@ -1,106 +0,0 @@ -\i setup.sql - -SELECT plan(86); - -PREPARE edges AS -SELECT id, source, target, cost, reverse_cost FROM edge_table; - -PREPARE null_vertex AS -SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); - - -SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); -SELECT is_empty('null_vertex', 'Should be empty to tests be meaningful'); - - -CREATE OR REPLACE FUNCTION test_function() -RETURNS SETOF TEXT AS -$BODY$ -DECLARE -params TEXT[]; -subs TEXT[]; -BEGIN - -- primDFS - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - '5' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::INTEGER'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - -- primDFS with depth - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - '5', - '3' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', - 'NULL::INTEGER' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::BIGINT'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - -- primDFS Multiple vertices - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - 'ARRAY[5,3]' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::BIGINT'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - -- primDFS with depth Multiple vertices - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - 'ARRAY[5,3]', - '3' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', - 'NULL::INTEGER' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - params[1] := '$$edges$$'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - - subs[2] := 'NULL::BIGINT[]'; - RETURN query SELECT * FROM no_crash_test('pgr_primDFS', params, subs); - -END -$BODY$ -LANGUAGE plpgsql VOLATILE; - - -SELECT * FROM test_function(); - -ROLLBACK; diff --git a/sql/kargersContraction/CMakeLists.txt b/sql/kargersContraction/CMakeLists.txt deleted file mode 100644 index ac83e1bdcad..00000000000 --- a/sql/kargersContraction/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ - -SET(LOCAL_FILES - _kargersContraction.sql - kargersContraction.sql - ) - -foreach (f ${LOCAL_FILES}) - configure_file(${f} ${f}) - list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) -endforeach() - -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/kargersContraction/_kargersContraction.sql b/sql/kargersContraction/_kargersContraction.sql deleted file mode 100644 index 3cf7e80c4a6..00000000000 --- a/sql/kargersContraction/_kargersContraction.sql +++ /dev/null @@ -1,56 +0,0 @@ -/*PGR-GNU***************************************************************** -File: _prim.sql - -Generated with Template by: -Copyright (c) 2016 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Himanshu raj -Mail: raj.himanshu2@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - ----------- ----------- --- contraction ----------- ----------- - - ----------------- --- _pgr_kargersContraction ----------------- - - -CREATE OR REPLACE FUNCTION _pgr_kargersContraction( - edges_sql TEXT, - - OUT seq INTEGER, - OUT edge BIGINT, - OUT cost FLOAT, - OUT mincut FLOAT) -RETURNS SETOF RECORD AS -'MODULE_PATHNAME' -LANGUAGE c VOLATILE STRICT; - --- COMMENTS - -COMMENT ON FUNCTION _pgr_kargersContraction(TEXT) -IS 'pgRouting internal function'; diff --git a/sql/kargersContraction/kargersContraction.sql b/sql/kargersContraction/kargersContraction.sql deleted file mode 100644 index a5a88027fe4..00000000000 --- a/sql/kargersContraction/kargersContraction.sql +++ /dev/null @@ -1,54 +0,0 @@ -/*PGR-GNU***************************************************************** -File: kargersContraction.sql - -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - ------------------ --- pgr_kargersContraction ------------------ - - -CREATE OR REPLACE FUNCTION pgr_kargersContraction( - TEXT, -- edges_sql (required) - - OUT seq INTEGER, - OUT edge BIGINT, - OUT cost FLOAT, - OUT mincut FLOAT) -RETURNS SETOF RECORD AS -$BODY$ - SELECT * - FROM _pgr_kargersContraction(_pgr_get_statement($1)); -$BODY$ -LANGUAGE SQL VOLATILE STRICT; - --- COMMENTS - -COMMENT ON FUNCTION pgr_kargersContraction(TEXT) -IS 'pgr_kargersContraction -- EXPERIMENTAL -- Undirected graph -- Parameters: - - edges SQL with columns: id, source, target, cost [,reverse_cost] -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kargersContraction.html -'; diff --git a/src/kargersContraction/CMakeLists.txt b/src/kargersContraction/CMakeLists.txt deleted file mode 100644 index 3f2150b99ea..00000000000 --- a/src/kargersContraction/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -ADD_LIBRARY(kargersContraction OBJECT - kargersContraction.c - kargersContraction_driver.cpp - ) diff --git a/src/kargersContraction/kargersContraction.c b/src/kargersContraction/kargersContraction.c deleted file mode 100644 index f9deb7983aa..00000000000 --- a/src/kargersContraction/kargersContraction.c +++ /dev/null @@ -1,43 +0,0 @@ -/*PGR-GNU***************************************************************** -File: kargersContraction.c -Generated with Template by: - -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - -#include -#include "c_common/postgres_connection.h" -#include "utils/array.h" - -#include "c_common/debug_macro.h" -#include "c_common/e_report.h" -#include "c_common/time_msg.h" -#include "c_common/edges_input.h" -#include "c_common/arrays_input.h" -#include "c_types/pgr_kargersContraction_t.h" - -#include "drivers/kargersContraction/kargersContraction_driver.h" - -PGDLLEXPORT Datum _pgr_kargersContraction(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_kargersContraction); diff --git a/src/kargersContraction/kargersContraction_driver.cpp b/src/kargersContraction/kargersContraction_driver.cpp deleted file mode 100644 index 353e51c81ec..00000000000 --- a/src/kargersContraction/kargersContraction_driver.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/*PGR-GNU***************************************************************** -File: kargersContraction_driver.cpp - -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - -#include "drivers/kargersContraction/kargersContraction_driver.h" - -#include -#include -#include -#include - -#include "cpp_common/pgr_alloc.hpp" -#include "cpp_common/pgr_assert.h" -#include "c_types/pgr_kargersContraction_t.h" -#include "spanningTree/pgr_prim.hpp" -#include "spanningTree/details.hpp" - - -void -do_pgr_kargersContraction( - pgr_edge_t *data_edges, - size_t total_edges, - pgr_kargersContraction_t **return_tuples, - size_t *return_count, - char ** log_msg, - char ** notice_msg, - char ** err_msg) { - std::ostringstream log; - std::ostringstream err; - std::ostringstream notice; - try { - pgassert(!(*log_msg)); - pgassert(!(*notice_msg)); - pgassert(!(*err_msg)); - pgassert(!(*return_tuples)); - pgassert(*return_count == 0); - pgassert(total_edges != 0); - - graphType gType = UNDIRECTED; - - std::vector results; - - log << "Working with Undirected Graph\n"; - - pgrouting::UndirectedGraph undigraph(gType); - undigraph.insert_edges(data_edges, total_edges); - //results = _pgr_kargersContraction(undigraph); - - auto count = results.size(); - - if (count == 0) { - (*return_tuples) = NULL; - (*return_count) = 0; - notice << - "No paths found"; - return; - } - - (*return_tuples) = pgr_alloc(count, (*return_tuples)); - for (size_t i = 0; i < count; i++) { - *((*return_tuples) + i) = results[i]; - } - (*return_count) = count; - - pgassert(*err_msg == NULL); - *log_msg = log.str().empty()? - *log_msg : - pgr_msg(log.str().c_str()); - *notice_msg = notice.str().empty()? - *notice_msg : - pgr_msg(notice.str().c_str()); - } catch (AssertFailedException &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch (std::exception &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch(...) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << "Caught unknown exception!"; - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } -} From 9c21416feb443586c49bcfc0ec6075cfad416ef1 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 23 Jul 2020 20:30:14 +0530 Subject: [PATCH 0478/1360] [makeConnected][pgTAP] Removed Rows Consistency pgTAP tests --- .../makeConnected-edge-cases.sql | 31 +------------------ 1 file changed, 1 insertion(+), 30 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index 40f0c3aa110..1fa2ae5a1a5 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(21); +SELECT plan(16); SET extra_float_digits = -3; @@ -227,35 +227,6 @@ SELECT set_eq('makeConnected16', '16:Three Connected Components. Two rows are returned' ); --- Check whether the same set of rows are returned always - -PREPARE expectedOutput AS -SELECT * FROM pgr_makeConnected( - 'SELECT id, source, target, cost - FROM edge_table - ORDER BY id' -); - -PREPARE descendingOrder AS -SELECT * FROM pgr_makeConnected( - 'SELECT id, source, target, cost - FROM edge_table - ORDER BY id DESC' -); - -PREPARE randomOrder AS -SELECT * FROM pgr_makeConnected( - 'SELECT id, source, target, cost - FROM edge_table - ORDER BY RANDOM()' -); - - -SELECT set_eq('expectedOutput', 'descendingOrder', '16: Should return same set of rows'); -SELECT set_eq('expectedOutput', 'randomOrder', '17: Should return same set of rows'); -SELECT set_eq('expectedOutput', 'randomOrder', '18: Should return same set of rows'); -SELECT set_eq('expectedOutput', 'randomOrder', '19: Should return same set of rows'); -SELECT set_eq('expectedOutput', 'randomOrder', '20: Should return same set of rows'); SELECT * FROM finish(); From ff3d8965e1750f7f0b97f5a0d088022d00225716 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 23 Jul 2020 20:35:54 +0530 Subject: [PATCH 0479/1360] [makeConnected][src] Removed code snippet for ordered input rows --- src/makeConnected/makeConnected_driver.cpp | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp index dba9abd6598..77123bf8ee5 100644 --- a/src/makeConnected/makeConnected_driver.cpp +++ b/src/makeConnected/makeConnected_driver.cpp @@ -64,19 +64,6 @@ do_pgr_makeConnected( std::vector results; std::string logstr; - // sorting the edges in an ascending order of their id, before creating the graph - std::sort(data_edges, data_edges + total_edges, - [](const pgr_edge_t &lhs, const pgr_edge_t &rhs) -> bool { - return lhs.target < rhs.target; - }); - std::stable_sort(data_edges, data_edges + total_edges, - [](const pgr_edge_t &lhs, const pgr_edge_t &rhs) -> bool { - return lhs.source < rhs.source; - }); - std::stable_sort(data_edges, data_edges + total_edges, - [](const pgr_edge_t &lhs, const pgr_edge_t &rhs) -> bool { - return lhs.id < rhs.id; - }); graphType gType = UNDIRECTED; log << "Working with Undirected Graph\n"; From 8c69d28d405e8b503f595a2ea9f04a14ff4513ce Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 23 Jul 2020 20:41:03 +0530 Subject: [PATCH 0480/1360] [makeConnected][pgTAP] Modified pgTAP tests --- pgtap/makeConnected/makeConnected-edge-cases.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index 1fa2ae5a1a5..d6a8bbf3dde 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -170,8 +170,8 @@ SELECT set_eq('makeConnected12', SELECT set_eq('makeConnected13', $$VALUES - (1, 2, 7), - (2, 7, 6) + (1, 6, 2), + (2, 2, 7) $$, '13:Graph with three vertices 2, 6 and 7' ); @@ -221,8 +221,8 @@ SELECT set_eq('makeConnected15', SELECT set_eq('makeConnected16', $$VALUES - (1, 2, 6), - (2, 6, 10) + (1, 6, 10), + (2, 13, 2) $$, '16:Three Connected Components. Two rows are returned' ); From beab94148ae101b99837c922b8d00f4a133ead71 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 24 Jul 2020 18:06:20 +0530 Subject: [PATCH 0481/1360] Updated configuration.conf and signatures --- sql/sigs/pgrouting--3.2.0.sig | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index a1aa1fb7cc7..5242799ea24 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -51,6 +51,8 @@ pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) _pgr_boost_version() +_pgr_boyermyrvold_1(text) +pgr_boyermyrvold_1(text) pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) @@ -152,6 +154,8 @@ _pgr_linegraphfull(text) pgr_linegraphfull(text) _pgr_linegraph(text,boolean) pgr_linegraph(text,boolean) +_pgr_makeconnected(text) +pgr_makeconnected(text) _pgr_maxcardinalitymatch(text,boolean) pgr_maxcardinalitymatch(text,boolean) pgr_maxflowmincost_cost(text,anyarray,anyarray) From f20cb953d3670a520f0d3584edcd9a817654b13c Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 24 Jul 2020 18:24:55 +0530 Subject: [PATCH 0482/1360] [planarGraph] get_log() function added --- include/planarGraph/pgr_boyerMyrvold.hpp | 3 ++- src/planarGraph/boyerMyrvold_driver.cpp | 14 ++++---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planarGraph/pgr_boyerMyrvold.hpp index be5cdf90931..5721e931dea 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planarGraph/pgr_boyerMyrvold.hpp @@ -35,6 +35,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include +#include "cpp_common/pgr_messages.h" #include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_boyer_t.h" //****************************************** @@ -43,7 +44,7 @@ namespace pgrouting { namespace functions { template < class G > -class Pgr_boyerMyrvold { +class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { public: typedef typename G::V V; typedef typename G::E E; diff --git a/src/planarGraph/boyerMyrvold_driver.cpp b/src/planarGraph/boyerMyrvold_driver.cpp index 423a70cfc7c..e3436e58e90 100644 --- a/src/planarGraph/boyerMyrvold_driver.cpp +++ b/src/planarGraph/boyerMyrvold_driver.cpp @@ -41,15 +41,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_base_graph.hpp" -template < class G > -std::vector -pgr_boyerMyrvold( - G &graph) { - pgrouting::functions::Pgr_boyerMyrvold< G > fn_boyerMyrvold; - auto results = fn_boyerMyrvold.boyerMyrvold( - graph); - return results; -} void do_pgr_boyerMyrvold( @@ -79,7 +70,10 @@ do_pgr_boyerMyrvold( log << "Working with Undirected Graph\n"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); - results = pgr_boyerMyrvold(undigraph); + pgrouting::functions::Pgr_boyerMyrvold fn_boyerMyrvold; + results=fn_boyerMyrvold.boyerMyrvold(undigraph); + logstr += fn_boyerMyrvold.get_log(); + log << logstr; auto count = results.size(); From 1dd3f36d85532713c37a4abfd6ef53b4987fbeb4 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 25 Jul 2020 12:28:28 +0530 Subject: [PATCH 0483/1360] Modified links in doc files --- doc/makeConnected/pgr_makeConnected.rst | 48 +++---------------------- doc/planar/pgr_boyerMyrvold.rst | 12 +------ 2 files changed, 6 insertions(+), 54 deletions(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index bf7b3092ed7..b813a0e846a 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -4,7 +4,7 @@ Copyright(c) pgRouting Contributors This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.1 License: http://creativecommons.org/licenses/by-sa/3.1/ + Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ **************************************************************************** pgr_makeConnected - Experimental @@ -24,16 +24,6 @@ which will make the graph connected. In particular, the boost::make_connected( ) .. rubric:: Availability -* Version 3.1.0 - - * New **experimental** function - -.. rubric:: Support - -* **Supported versions:** - current(`3.1 `__) and above - -* **TBD** Description ------------------------------------------------------------------------------- @@ -109,53 +99,25 @@ Where: Result Columns ------------------------------------------------------------------------------- -Returns set of ``(seq, source, target, cost)`` +Returns set of ``(seq, node_from, node_to)`` =============== =========== ============================================================ Column Type Description =============== =========== ============================================================ **seq** ``INT`` Sequential value starting from **1**. -**source** ``BIGINT`` Identifier of the first end point vertex of the edge. -**target** ``BIGINT`` Identifier of the second end point vertex of the edge. -**cost** ``FLOAT`` Weight of the edge `(source, target)` - - - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. +**node_from** ``BIGINT`` Identifier of the first end point vertex of the edge. +**node_to** ``BIGINT`` Identifier of the second end point vertex of the edge. =============== =========== ============================================================ Additional Example: ------------------------------------------------------------------------------- -Now, let's add some edges to make the graph non-planar. We will be adding edges between every pair in this list of vertices **1**, **2**, **3**, **4**, **5**. - - -.. literalinclude:: doc-pgr_makeConnected.queries - :start-after: -- q2 - :end-before: -- q3 - - -Now, let's check our graph is planar or not. If it is non-planar then it will return an empty set of rows. - - -.. literalinclude:: doc-pgr_makeConnected.queries - :start-after: -- q3 - :end-before: -- q4 - -There can be some cases where we only want to check whether a particular connected component of a graph is planar or not. So the below example -will illustrate the way to do it. - - - Use pgr_connectedComponents( ) function in query: - - -.. literalinclude:: doc-pgr_makeConnected.queries - :start-after: -- q4 - :end-before: -- q5 See Also ------------------------------------------------------------------------------- -* https://en.wikipedia.org/wiki/Planarity_testing -* https://www.boost.org/libs/graph/doc/boyer_myrvold.html +* https://www.boost.org/libs/graph/doc/make_connected.html * The queries use the :doc:`sampledata` network. .. rubric:: Indices and tables diff --git a/doc/planar/pgr_boyerMyrvold.rst b/doc/planar/pgr_boyerMyrvold.rst index 4ffa8cd8b2d..6afa6ecf401 100644 --- a/doc/planar/pgr_boyerMyrvold.rst +++ b/doc/planar/pgr_boyerMyrvold.rst @@ -4,7 +4,7 @@ Copyright(c) pgRouting Contributors This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.1 License: http://creativecommons.org/licenses/by-sa/3.1/ + Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ **************************************************************************** pgr_boyerMyrvold - Experimental @@ -24,16 +24,6 @@ In particular, the boyer_myrvold_planarity_test algorithm is implemented by Boos .. rubric:: Availability -* Version 3.1.0 - - * New **experimental** function - -.. rubric:: Support - -* **Supported versions:** - current(`3.1 `__) and above - -* **TBD** Description ------------------------------------------------------------------------------- From 36e7c218229bf483fa7a6b40f7a196ed84fc4dfb Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 25 Jul 2020 12:33:42 +0530 Subject: [PATCH 0484/1360] Removed files that are not going to the main repository --- pg_upgrade_internal.log | 6 ------ pg_upgrade_server.log | 5 ----- pg_upgrade_utility.log | 5 ----- 3 files changed, 16 deletions(-) delete mode 100644 pg_upgrade_internal.log delete mode 100644 pg_upgrade_server.log delete mode 100644 pg_upgrade_utility.log diff --git a/pg_upgrade_internal.log b/pg_upgrade_internal.log deleted file mode 100644 index da15b4109f1..00000000000 --- a/pg_upgrade_internal.log +++ /dev/null @@ -1,6 +0,0 @@ - ------------------------------------------------------------------ - pg_upgrade run on Tue Jul 7 17:27:27 2020 ------------------------------------------------------------------ - -could not open version file "/var/lib/postgresql/10/main/PG_VERSION": Permission denied diff --git a/pg_upgrade_server.log b/pg_upgrade_server.log deleted file mode 100644 index 9a459e08a11..00000000000 --- a/pg_upgrade_server.log +++ /dev/null @@ -1,5 +0,0 @@ - ------------------------------------------------------------------ - pg_upgrade run on Tue Jul 7 17:27:27 2020 ------------------------------------------------------------------ - diff --git a/pg_upgrade_utility.log b/pg_upgrade_utility.log deleted file mode 100644 index 9a459e08a11..00000000000 --- a/pg_upgrade_utility.log +++ /dev/null @@ -1,5 +0,0 @@ - ------------------------------------------------------------------ - pg_upgrade run on Tue Jul 7 17:27:27 2020 ------------------------------------------------------------------ - From 750cc2c43dd8ab15700dbeeda6732b9f9a9d3fe5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 25 Jul 2020 12:46:21 +0530 Subject: [PATCH 0485/1360] signature files updated --- sql/sigs/pgrouting--3.0.0.sig | 4 ---- sql/sigs/pgrouting--3.1.0.sig | 4 ---- 2 files changed, 8 deletions(-) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index adf2de73115..4ab76f8ea49 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -51,8 +51,6 @@ pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) _pgr_boost_version() -_pgr_boyermyrvold(text) -pgr_boyermyrvold(text) pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) @@ -150,8 +148,6 @@ _pgr_linegraphfull(text) pgr_linegraphfull(text) _pgr_linegraph(text,boolean) pgr_linegraph(text,boolean) -_pgr_makeconnected(text) -pgr_makeconnected(text) _pgr_maxcardinalitymatch(text,boolean) pgr_maxcardinalitymatch(text,boolean) pgr_maxflowmincost_cost(text,anyarray,anyarray) diff --git a/sql/sigs/pgrouting--3.1.0.sig b/sql/sigs/pgrouting--3.1.0.sig index 12e88ab7c4a..a4442e2cc14 100644 --- a/sql/sigs/pgrouting--3.1.0.sig +++ b/sql/sigs/pgrouting--3.1.0.sig @@ -51,8 +51,6 @@ pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) _pgr_boost_version() -_pgr_boyermyrvold_1(text) -pgr_boyermyrvold_1(text) pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) @@ -151,8 +149,6 @@ _pgr_linegraphfull(text) pgr_linegraphfull(text) _pgr_linegraph(text,boolean) pgr_linegraph(text,boolean) -_pgr_makeconnected(text) -pgr_makeconnected(text) _pgr_maxcardinalitymatch(text,boolean) pgr_maxcardinalitymatch(text,boolean) pgr_maxflowmincost_cost(text,anyarray,anyarray) From 6f21a64f96aa1189255c3dd56974879c52efa05a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 25 Jul 2020 15:11:37 +0530 Subject: [PATCH 0486/1360] [makeConnected][pgTAP] Modified pgTAP tests --- .../makeConnected-edge-cases.sql | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected-edge-cases.sql index d6a8bbf3dde..3adce51f876 100644 --- a/pgtap/makeConnected/makeConnected-edge-cases.sql +++ b/pgtap/makeConnected/makeConnected-edge-cases.sql @@ -1,8 +1,6 @@ \i setup.sql -SELECT plan(16); - -SET extra_float_digits = -3; +SELECT plan(17); -- 0 edge, 0 vertex tests @@ -154,11 +152,8 @@ SELECT * FROM pgr_makeConnected('SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table WHERE id = 2 UNION - SELECT id, source, 6 AS target, cost, reverse_cost - FROM edge_table WHERE id = 9 - UNION - SELECT id, source, 7 AS target, cost, reverse_cost - FROM edge_table WHERE id = 6' + SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id = 17' ); SELECT set_eq('makeConnected12', @@ -170,10 +165,9 @@ SELECT set_eq('makeConnected12', SELECT set_eq('makeConnected13', $$VALUES - (1, 6, 2), - (2, 2, 7) + (1, 2, 14) $$, - '13:Graph with three vertices 2, 6 and 7' + '13:Graph with three vertices 2, 14 and 15' ); -- 4 vertex tests ===> Already Connected @@ -202,14 +196,18 @@ FROM pgr_makeConnected( PREPARE makeConnected16 AS SELECT * -FROM pgr_makeConnected('SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table WHERE id = 2 - UNION - SELECT id, source, 6 AS target, cost, reverse_cost - FROM edge_table WHERE id = 9 - UNION - SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id = 14' +FROM pgr_makeConnected( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id IN (2,9)' +); + +PREPARE makeConnected17 AS +SELECT * +FROM pgr_makeConnected( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table + WHERE id IN (17,18)' ); SELECT set_eq('makeConnected15', @@ -221,10 +219,16 @@ SELECT set_eq('makeConnected15', SELECT set_eq('makeConnected16', $$VALUES - (1, 6, 10), - (2, 13, 2) + (1, 3, 6) + $$, + '16:Two Connected Components. One row is returned' +); + +SELECT set_eq('makeConnected17', + $$VALUES + (1, 15, 16) $$, - '16:Three Connected Components. Two rows are returned' + '16:Two Connected Components. One row is returned' ); From b605fc52eea49c28eaef9625aef0baf015f631b9 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 01:47:48 +0530 Subject: [PATCH 0487/1360] Restored pgr_boyerMyrvold_1 to pgr_boyerMyrvold --- .../planarGraph/doc-pgr_boyerMyrvold.result | 6 +-- .../planarGraph/doc-pgr_boyerMyrvold.test.sql | 6 +-- pgtap/planarGraph/boyerMyrvold-edge-cases.sql | 52 +++++++++---------- pgtap/planarGraph/boyerMyrvold-innerQuery.sql | 6 +-- .../planarGraph/boyerMyrvold-types-check.sql | 12 ++--- .../no_crash_test-boyerMyrvold.sql | 2 +- sql/planarGraph/_boyerMyrvold.sql | 4 +- sql/planarGraph/boyerMyrvold.sql | 8 +-- sql/sigs/pgrouting--3.2.0.sig | 4 +- src/planarGraph/boyerMyrvold.c | 6 +-- 10 files changed, 53 insertions(+), 53 deletions(-) diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result index 00b438a4061..07439398dc2 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.result @@ -3,7 +3,7 @@ BEGIN SET client_min_messages TO NOTICE; SET -- q1 -SELECT * FROM pgr_boyerMyrvold_1( +SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); @@ -34,7 +34,7 @@ INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES (1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); INSERT 0 7 -- q3 -SELECT * FROM pgr_boyerMyrvold_1( +SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); @@ -43,7 +43,7 @@ SELECT * FROM pgr_boyerMyrvold_1( (0 rows) -- q4 -SELECT * FROM pgr_boyerMyrvold_1( +SELECT * FROM pgr_boyerMyrvold( $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql index f8da510edb3..fe8ed32065b 100644 --- a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql +++ b/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql @@ -1,5 +1,5 @@ \echo -- q1 -SELECT * FROM pgr_boyerMyrvold_1( +SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); @@ -10,13 +10,13 @@ INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES \echo -- q3 -SELECT * FROM pgr_boyerMyrvold_1( +SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); \echo -- q4 -SELECT * FROM pgr_boyerMyrvold_1( +SELECT * FROM pgr_boyerMyrvold( $$ SELECT id, source, target, cost, reverse_cost FROM edge_table where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( diff --git a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql index f62c2c14cce..3838e8a2031 100644 --- a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql +++ b/pgtap/planarGraph/boyerMyrvold-edge-cases.sql @@ -18,7 +18,7 @@ SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); PREPARE boyerMyrvold_12 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18' @@ -26,7 +26,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_13 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (20,22)' @@ -34,7 +34,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_14 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 25' @@ -42,7 +42,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_15 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (40,60,-10)' @@ -50,7 +50,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_16 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18' @@ -58,7 +58,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_17 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 22' @@ -75,42 +75,42 @@ SELECT is_empty('boyerMyrvold_17', '7: Graph with 0 edge and 0 vertex -> Empty r PREPARE boyerMyrvold_18 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = -10' ); PREPARE boyerMyrvold_19 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (-10,50)' ); PREPARE boyerMyrvold_110 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (-10,-20,-30)' ); PREPARE boyerMyrvold_111 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (-10,33,39)' ); PREPARE boyerMyrvold_112 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 36' ); PREPARE boyerMyrvold_113 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (36,45,34)' ); @@ -137,7 +137,7 @@ SELECT set_eq('q14', $$VALUES (9, 6, 6, 1, 1)$$, 'q14: Graph with only vertex 6' PREPARE boyerMyrvold_115 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, 6 AS target, cost, reverse_cost FROM edge_table WHERE id = 9' @@ -145,7 +145,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_116 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table WHERE id = 2' @@ -153,7 +153,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_117 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, 3 AS target, cost, reverse_cost FROM edge_table WHERE id = 3' @@ -161,7 +161,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_118 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, 7 AS target, cost, reverse_cost FROM edge_table WHERE id = 6' @@ -177,7 +177,7 @@ SELECT set_eq('boyerMyrvold_118', $$VALUES (1, 7, 7, 1)$$, '18: One row is retur PREPARE boyerMyrvold_119 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 1' @@ -185,7 +185,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_120 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 4' @@ -193,7 +193,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_121 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 9' @@ -201,7 +201,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_122 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 6' @@ -209,7 +209,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_123 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 7' @@ -217,7 +217,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_124 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 8' @@ -265,14 +265,14 @@ SELECT set_eq('q25', PREPARE boyerMyrvold_126 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM three_vertices_table' ); PREPARE boyerMyrvold_127 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM three_vertices_table WHERE id > 4' ); @@ -312,7 +312,7 @@ SELECT set_eq('q28', PREPARE boyerMyrvold_129 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE (id >= 10 AND id <= 12) @@ -321,7 +321,7 @@ FROM pgr_boyerMyrvold_1( PREPARE boyerMyrvold_130 AS SELECT * -FROM pgr_boyerMyrvold_1( +FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE (id >= 2 AND id <= 4)' diff --git a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql index 22d8843e819..d62f9468e3f 100644 --- a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql +++ b/pgtap/planarGraph/boyerMyrvold-innerQuery.sql @@ -4,10 +4,10 @@ SELECT plan(56); SET client_min_messages TO ERROR; -SELECT has_function('pgr_boyermyrvold_1'); +SELECT has_function('pgr_boyermyrvold'); -SELECT function_returns('pgr_boyermyrvold_1',ARRAY['text'],'setof record'); -SELECT style_dijkstra('pgr_boyermyrvold_1', ')'); +SELECT function_returns('pgr_boyermyrvold',ARRAY['text'],'setof record'); +SELECT style_dijkstra('pgr_boyermyrvold', ')'); SELECT finish(); ROLLBACK; diff --git a/pgtap/planarGraph/boyerMyrvold-types-check.sql b/pgtap/planarGraph/boyerMyrvold-types-check.sql index d4681b387e5..de4a57d7e1c 100644 --- a/pgtap/planarGraph/boyerMyrvold-types-check.sql +++ b/pgtap/planarGraph/boyerMyrvold-types-check.sql @@ -2,25 +2,25 @@ SELECT plan(5); -SELECT has_function('pgr_boyermyrvold_1'); +SELECT has_function('pgr_boyermyrvold'); -SELECT function_returns('pgr_boyermyrvold_1', ARRAY['text'], 'setof record'); +SELECT function_returns('pgr_boyermyrvold', ARRAY['text'], 'setof record'); -- flags -- error SELECT lives_ok( - 'SELECT * FROM pgr_boyerMyrvold_1( + 'SELECT * FROM pgr_boyerMyrvold( ''SELECT id, source, target, cost, reverse_cost FROM edge_table'' )', '3: Documentation says works with no flags'); SELECT throws_ok( - 'SELECT * FROM pgr_boyerMyrvold_1( + 'SELECT * FROM pgr_boyerMyrvold( ''SELECT id, source, target, cost, reverse_cost FROM edge_table id < 17'', 3 - )','42883','function pgr_boyermyrvold_1(unknown, integer) does not exist', + )','42883','function pgr_boyermyrvold(unknown, integer) does not exist', '4: Documentation says it does not work with 1 flags'); @@ -39,7 +39,7 @@ SELECT pg_typeof(seq)::text AS t1, pg_typeof(target)::text AS t3, pg_typeof(cost)::text AS t4 FROM ( - SELECT * FROM pgr_boyerMyrvold_1( + SELECT * FROM pgr_boyerMyrvold( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 17' ) ) AS a LIMIT 1; diff --git a/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql b/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql index 6934723ef21..9af5efc6f84 100644 --- a/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql +++ b/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql @@ -19,7 +19,7 @@ BEGIN 'NULL' ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_boyerMyrvold_1', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_boyerMyrvold', params, subs); END $BODY$ LANGUAGE plpgsql VOLATILE; diff --git a/sql/planarGraph/_boyerMyrvold.sql b/sql/planarGraph/_boyerMyrvold.sql index 581bf0c1dad..fd8a7d1876c 100644 --- a/sql/planarGraph/_boyerMyrvold.sql +++ b/sql/planarGraph/_boyerMyrvold.sql @@ -30,7 +30,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------- ------------------------- -CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold_1( +CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( TEXT, -- edges_sql (required) OUT seq BIGINT, @@ -45,5 +45,5 @@ LANGUAGE c IMMUTABLE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_boyerMyrvold_1(TEXT) +COMMENT ON FUNCTION _pgr_boyerMyrvold(TEXT) IS 'pgRouting internal function'; diff --git a/sql/planarGraph/boyerMyrvold.sql b/sql/planarGraph/boyerMyrvold.sql index 449c179f5c8..ca7af1628b7 100644 --- a/sql/planarGraph/boyerMyrvold.sql +++ b/sql/planarGraph/boyerMyrvold.sql @@ -27,10 +27,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ ------------------ --- pgr_boyerMyrvold_1 +-- pgr_boyerMyrvold ------------------ -CREATE OR REPLACE FUNCTION pgr_boyerMyrvold_1( +CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( TEXT, -- edges_sql (required) OUT seq BIGINT, OUT source BIGINT, @@ -40,13 +40,13 @@ CREATE OR REPLACE FUNCTION pgr_boyerMyrvold_1( RETURNS SETOF RECORD AS $BODY$ SELECT * - FROM _pgr_boyerMyrvold_1(_pgr_get_statement($1)) AS a; + FROM _pgr_boyerMyrvold(_pgr_get_statement($1)) AS a; $BODY$ LANGUAGE SQL VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION pgr_boyerMyrvold_1(TEXT) +COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT) IS 'pgr_boyerMyrvold - EXPERIMENTAL - Undirected graph diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index 5242799ea24..9a06a8f9ddc 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -51,8 +51,8 @@ pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) _pgr_boost_version() -_pgr_boyermyrvold_1(text) -pgr_boyermyrvold_1(text) +_pgr_boyermyrvold(text) +pgr_boyermyrvold(text) pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) diff --git a/src/planarGraph/boyerMyrvold.c b/src/planarGraph/boyerMyrvold.c index 7b6e665e003..f74780ff96b 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planarGraph/boyerMyrvold.c @@ -40,8 +40,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/arrays_input.h" #include "drivers/planarGraph/boyerMyrvold_driver.h" -PGDLLEXPORT Datum _pgr_boyermyrvold_1(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_boyermyrvold_1); +PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_boyermyrvold); static void process( @@ -107,7 +107,7 @@ process( pgr_SPI_finish(); } -PGDLLEXPORT Datum _pgr_boyermyrvold_1(PG_FUNCTION_ARGS) { +PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; From 5f4292853daea65f46a3fc6706bbd56d03073775 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 01:59:00 +0530 Subject: [PATCH 0488/1360] Deleted copy directory planar --- doc/planar/CMakeLists.txt | 11 - doc/planar/pgr_boyerMyrvold.rst | 149 -------- docqueries/planar/CMakeLists.txt | 11 - docqueries/planar/doc-pgr_boyerMyrvold.result | 42 --- .../planar/doc-pgr_boyerMyrvold.test.sql | 34 -- docqueries/planar/test.conf | 17 - include/planar/pgr_boyerMyrvold.hpp | 84 ----- pgtap/planar/boyerMyrvold-edge-cases.sql | 351 ------------------ pgtap/planar/boyerMyrvold-innerQuery.sql | 13 - pgtap/planar/boyerMyrvold-types-check.sql | 50 --- pgtap/planar/no_crash_test-boyerMyrvold.sql | 30 -- sql/planar/CMakeLists.txt | 12 - sql/planar/_boyerMyrvold.sql | 49 --- sql/planar/boyerMyrvold.sql | 57 --- src/planar/CMakeLists.txt | 4 - src/planar/boyerMyrvold.c | 201 ---------- src/planar/boyerMyrvold_driver.cpp | 129 ------- 17 files changed, 1244 deletions(-) delete mode 100644 doc/planar/CMakeLists.txt delete mode 100644 doc/planar/pgr_boyerMyrvold.rst delete mode 100644 docqueries/planar/CMakeLists.txt delete mode 100644 docqueries/planar/doc-pgr_boyerMyrvold.result delete mode 100644 docqueries/planar/doc-pgr_boyerMyrvold.test.sql delete mode 100644 docqueries/planar/test.conf delete mode 100644 include/planar/pgr_boyerMyrvold.hpp delete mode 100644 pgtap/planar/boyerMyrvold-edge-cases.sql delete mode 100644 pgtap/planar/boyerMyrvold-innerQuery.sql delete mode 100644 pgtap/planar/boyerMyrvold-types-check.sql delete mode 100644 pgtap/planar/no_crash_test-boyerMyrvold.sql delete mode 100644 sql/planar/CMakeLists.txt delete mode 100644 sql/planar/_boyerMyrvold.sql delete mode 100644 sql/planar/boyerMyrvold.sql delete mode 100644 src/planar/CMakeLists.txt delete mode 100644 src/planar/boyerMyrvold.c delete mode 100644 src/planar/boyerMyrvold_driver.cpp diff --git a/doc/planar/CMakeLists.txt b/doc/planar/CMakeLists.txt deleted file mode 100644 index faf9c18171b..00000000000 --- a/doc/planar/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ - -SET(LOCAL_FILES - pgr_boyerMyrvold.rst - ) - -foreach (f ${LOCAL_FILES}) - configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") - list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) -endforeach() - -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/planar/pgr_boyerMyrvold.rst b/doc/planar/pgr_boyerMyrvold.rst deleted file mode 100644 index 6afa6ecf401..00000000000 --- a/doc/planar/pgr_boyerMyrvold.rst +++ /dev/null @@ -1,149 +0,0 @@ -.. - **************************************************************************** - pgRouting Manual - Copyright(c) pgRouting Contributors - - This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ - **************************************************************************** - -pgr_boyerMyrvold - Experimental -=============================================================================== - -``pgr_boyerMyrvold`` — Returns the set of source and target of edges with their costs if the graph is planar. -In particular, the boyer_myrvold_planarity_test algorithm is implemented by Boost.Graph. - -.. figure:: images/boost-inside.jpeg - :target: https://www.boost.org/libs/graph/doc/boyer_myrvold.html - - Boost Graph Inside - -.. include:: experimental.rst - :start-after: begin-warn-expr - :end-before: end-warn-expr - -.. rubric:: Availability - - -Description -------------------------------------------------------------------------------- - -A graph is planar if it can be drawn in two-dimensional space with no two of its edges crossing. Such a drawing of a planar graph is called a plane drawing. Every planar graph also admits a straight-line drawing, which is a plane drawing where each edge is represented by a line segment. - -The main characteristics are: - - It works with any undirected graph. - - - The returned values are the set of source and target of edges with their costs. - - - **Running time:** Assuming that both the vertex index and edge index supplied take time O(1) to return an index and there are O(n) total self-loops and parallel edges in the graph, most combinations of arguments given to boyer_myrvold_planarity_test result in an algorithm that runs in time O(n) for a graph with n vertices and m edges - - -Signatures -------------------------------------------------------------------------------- - -.. rubric:: Summary - -.. code-block:: none - - pgr_boyerMyrvold(edges_sql) - - RETURNS SET OF (seq, source, target, cost) - OR EMPTY SET - -:Example: Query done on :doc:`sampledata` network gives. - -.. literalinclude:: doc-pgr_boyerMyrvold.queries - :start-after: -- q1 - :end-before: -- q2 - -Parameters -------------------------------------------------------------------------------- - -=================== ====================== ========= ================================================= -Parameter Type Default Description -=================== ====================== ========= ================================================= -**edges_sql** ``TEXT`` SQL query as described above. -=================== ====================== ========= ================================================= - -Inner query -------------------------------------------------------------------------------- - -:edges_sql: an SQL query, which should return a set of rows with the following columns: - -================= =================== ======== ================================================= -Column Type Default Description -================= =================== ======== ================================================= -**id** ``ANY-INTEGER`` Identifier of the edge. -**source** ``ANY-INTEGER`` Identifier of the first end point vertex of the edge. -**target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. -**cost** ``ANY-NUMERICAL`` Weight of the edge `(source, target)` - - - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. - -**reverse_cost** ``ANY-NUMERICAL`` -1 Weight of the edge `(target, source)`, - - - When negative: edge `(target, source)` does not exist, therefore it's not part of the graph. - -================= =================== ======== ================================================= - -Where: - -:ANY-INTEGER: SMALLINT, INTEGER, BIGINT -:ANY-NUMERICAL: SMALLINT, INTEGER, BIGINT, REAL, FLOAT - -Result Columns -------------------------------------------------------------------------------- - -Returns set of ``(seq, source, target, cost)`` - -=============== =========== ============================================================ -Column Type Description -=============== =========== ============================================================ -**seq** ``INT`` Sequential value starting from **1**. -**source** ``BIGINT`` Identifier of the first end point vertex of the edge. -**target** ``BIGINT`` Identifier of the second end point vertex of the edge. -**cost** ``FLOAT`` Weight of the edge `(source, target)` - - - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. -=============== =========== ============================================================ - -Additional Example: -------------------------------------------------------------------------------- - - -Now, let's add some edges to make the graph non-planar. We will be adding edges between every pair in this list of vertices **1**, **2**, **3**, **4**, **5**. - - -.. literalinclude:: doc-pgr_boyerMyrvold.queries - :start-after: -- q2 - :end-before: -- q3 - - -Now, let's check our graph is planar or not. If it is non-planar then it will return an empty set of rows. - - -.. literalinclude:: doc-pgr_boyerMyrvold.queries - :start-after: -- q3 - :end-before: -- q4 - -There can be some cases where we only want to check whether a particular connected component of a graph is planar or not. So the below example -will illustrate the way to do it. - - - Use pgr_connectedComponents( ) function in query: - - -.. literalinclude:: doc-pgr_boyerMyrvold.queries - :start-after: -- q4 - :end-before: -- q5 - -See Also -------------------------------------------------------------------------------- - -* https://en.wikipedia.org/wiki/Planarity_testing -* https://www.boost.org/libs/graph/doc/boyer_myrvold.html -* The queries use the :doc:`sampledata` network. - -.. rubric:: Indices and tables - -* :ref:`genindex` -* :ref:`search` diff --git a/docqueries/planar/CMakeLists.txt b/docqueries/planar/CMakeLists.txt deleted file mode 100644 index 6d40826ee1c..00000000000 --- a/docqueries/planar/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -# Do not use extensions -SET(LOCAL_FILES - doc-pgr_boyerMyrvold - ) - -foreach (f ${LOCAL_FILES}) - configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") - list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") -endforeach() - -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/planar/doc-pgr_boyerMyrvold.result b/docqueries/planar/doc-pgr_boyerMyrvold.result deleted file mode 100644 index 6ec5ed070f8..00000000000 --- a/docqueries/planar/doc-pgr_boyerMyrvold.result +++ /dev/null @@ -1,42 +0,0 @@ -BEGIN; -BEGIN -SET client_min_messages TO NOTICE; -SET --- q1 -SELECT * FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); -ERROR: function pgr_boyermyrvold(unknown) does not exist -LINE 1: SELECT * FROM pgr_boyerMyrvold( - ^ -HINT: No function matches the given name and argument types. You might need to add explicit type casts. --- q2 -INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES -(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); -ERROR: current transaction is aborted, commands ignored until end of transaction block --- q3 -SELECT * FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); -ERROR: current transaction is aborted, commands ignored until end of transaction block --- q4 -SELECT * FROM pgr_boyerMyrvold( -$$ - SELECT id, source, target, cost, reverse_cost FROM edge_table - where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) - OR - target = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) -$$ - ); -ERROR: current transaction is aborted, commands ignored until end of transaction block --- q5 -ROLLBACK; -ROLLBACK diff --git a/docqueries/planar/doc-pgr_boyerMyrvold.test.sql b/docqueries/planar/doc-pgr_boyerMyrvold.test.sql deleted file mode 100644 index fe8ed32065b..00000000000 --- a/docqueries/planar/doc-pgr_boyerMyrvold.test.sql +++ /dev/null @@ -1,34 +0,0 @@ -\echo -- q1 -SELECT * FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); - -\echo -- q2 -INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES -(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); - -\echo -- q3 - -SELECT * FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); - -\echo -- q4 -SELECT * FROM pgr_boyerMyrvold( -$$ - SELECT id, source, target, cost, reverse_cost FROM edge_table - where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) - OR - target = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) -$$ - ); - - \echo -- q5 diff --git a/docqueries/planar/test.conf b/docqueries/planar/test.conf deleted file mode 100644 index 09eecc3207a..00000000000 --- a/docqueries/planar/test.conf +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/perl -w - -%main::tests = ( - 'any' => { - 'comment' => 'boyerMyrvold planarity algorithm tests.', - 'data' => [ ], - 'tests' => [qw( - doc-pgr_boyerMyrvold - )], - 'documentation' => [qw( - doc-pgr_boyerMyrvold - )] - }, - -); - -1; diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp deleted file mode 100644 index be5cdf90931..00000000000 --- a/include/planar/pgr_boyerMyrvold.hpp +++ /dev/null @@ -1,84 +0,0 @@ -/*PGR-GNU***************************************************************** -File: pgr_boyerMyrvold.hpp - -Copyright (c) 2020 pgRouting developers -Mail: project@pgrouting.org - -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com - ------- -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -********************************************************************PGR-GNU*/ - -#ifndef INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ -#define INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ -#pragma once - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "cpp_common/pgr_base_graph.hpp" -#include "c_types/pgr_boyer_t.h" -//****************************************** -using namespace boost; -namespace pgrouting { -namespace functions { - -template < class G > -class Pgr_boyerMyrvold { - public: - typedef typename G::V V; - typedef typename G::E E; - typedef typename G::E_i E_i; - std::vector boyerMyrvold( - G &graph){ - return generateboyerMyrvold( - graph); - } - - private: - std::vector< pgr_boyer_t > - generateboyerMyrvold( - const G &graph ) { - std::vector< pgr_boyer_t > results; - auto check = boyer_myrvold_planarity_test(graph.graph); - if(check){ - E_i ei, ei_end; - int i; - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ - int64_t src = graph[graph.source(*ei)].id; - int64_t tgt = graph[graph.target(*ei)].id; - double cost = graph[*ei].cost; - pgr_boyer_t tmp; - tmp.source = src; - tmp.target = tgt; - tmp.cost = cost; - results.push_back(tmp); - } - - } - return results; - } -}; -} -} - -#endif //INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ diff --git a/pgtap/planar/boyerMyrvold-edge-cases.sql b/pgtap/planar/boyerMyrvold-edge-cases.sql deleted file mode 100644 index 4c203541bbe..00000000000 --- a/pgtap/planar/boyerMyrvold-edge-cases.sql +++ /dev/null @@ -1,351 +0,0 @@ -\i setup.sql - -SELECT plan(30); - - - --- 0 edge, 0 vertex tests - -PREPARE q1 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id > 18; - --- Graph is empty - it has 0 edge and 0 vertex -SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); - --- 0 edge, 0 vertex tests - -PREPARE boyerMyrvold2 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18' -); - -PREPARE boyerMyrvold3 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id IN (20,22)' -); - -PREPARE boyerMyrvold4 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 25' -); - -PREPARE boyerMyrvold5 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id IN (40,60,-10)' -); - -PREPARE boyerMyrvold6 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18' -); - -PREPARE boyerMyrvold7 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 22' -); - -SELECT is_empty('boyerMyrvold2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold3', '3: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold4', '4: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold5', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold6', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold7', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); - --- vertex not present in graph tests - -PREPARE boyerMyrvold8 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id = -10' -); - -PREPARE boyerMyrvold9 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (-10,50)' -); - -PREPARE boyerMyrvold10 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (-10,-20,-30)' -); - -PREPARE boyerMyrvold11 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (-10,33,39)' -); - -PREPARE boyerMyrvold12 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id = 36' -); - -PREPARE boyerMyrvold13 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (36,45,34)' -); - -SELECT is_empty('boyerMyrvold8', '8: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold9', '9: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold10', '10: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold11', '11: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold12', '12: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold13', '13: Vertex not present in graph -> Empty row is returned'); - - --- 1 vertex tests - -PREPARE q14 AS -SELECT id, source, 6 AS target, cost, reverse_cost -FROM edge_table -WHERE id = 9; - --- Graph with only vertex 9 -SELECT set_eq('q14', $$VALUES (9, 6, 6, 1, 1)$$, 'q14: Graph with only vertex 6'); - --- 1 vertex tests - -PREPARE boyerMyrvold15 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, 6 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 9' -); - -PREPARE boyerMyrvold16 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 2' -); - -PREPARE boyerMyrvold17 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, 3 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 3' -); - -PREPARE boyerMyrvold18 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, 7 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 6' -); - -SELECT set_eq('boyerMyrvold15', $$VALUES (1, 6, 6, 1)$$, '15: One row is returned'); -SELECT set_eq('boyerMyrvold16', $$VALUES (1, 2, 2, 1)$$, '16: One row is returned'); -SELECT set_eq('boyerMyrvold17', $$VALUES (1, 3, 3, 1)$$, '17: One row is returned'); -SELECT set_eq('boyerMyrvold18', $$VALUES (1, 7, 7, 1)$$, '18: One row is returned'); - - --- 2 vertices tests - -PREPARE boyerMyrvold19 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 1' -); - -PREPARE boyerMyrvold20 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 4' -); - -PREPARE boyerMyrvold21 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 9' -); - -PREPARE boyerMyrvold22 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 6' -); - -PREPARE boyerMyrvold23 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 7' -); - -PREPARE boyerMyrvold24 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 8' -); - -SELECT set_eq('boyerMyrvold19', $$VALUES (1, 1, 2, 1)$$, '19: Two rows are returned'); -SELECT set_eq('boyerMyrvold20', $$VALUES (1, 2, 5, 1)$$, '20: Two rows are returned'); -SELECT set_eq('boyerMyrvold21', $$VALUES (1, 6, 9, 1)$$, '21: Two rows are returned'); -SELECT set_eq('boyerMyrvold22', $$VALUES (1, 7, 8, 1)$$, '22: Two rows are returned'); -SELECT set_eq('boyerMyrvold23', $$VALUES (1, 8, 5, 1)$$, '23: Two rows are returned'); -SELECT set_eq('boyerMyrvold24', $$VALUES (1, 5, 6, 1)$$, '24: Two rows are returned'); - - - --- 3 vertices tests - -CREATE TABLE three_vertices_table ( - id BIGSERIAL, - source BIGINT, - target BIGINT, - cost FLOAT, - reverse_cost FLOAT -); - -INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES - (3, 6, 20, -1), - (3, 8, 10, -1), - (6, 8, -1, 12); - -PREPARE q25 AS -SELECT id, source, target, cost, reverse_cost -FROM three_vertices_table; - --- Cyclic Graph with three vertices 3, 6 and 8 -SELECT set_eq('q25', - $$VALUES - (1, 3, 6, 20, -1), - (2, 3, 8, 10, -1), - (3, 6, 8, -1, 12) - $$, - 'q25: Cyclic Graph with three vertices 3, 6 and 8' -); - --- 3 vertices tests - -PREPARE boyerMyrvold26 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table' -); - -PREPARE boyerMyrvold27 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table WHERE id > 4' -); - -SELECT set_eq('boyerMyrvold26', - $$VALUES - (1, 3, 6, 20), - (2, 3, 8, 10), - (3, 8, 6, 12) - $$, - '26: 3 vertices tests' -); -SELECT is_empty('boyerMyrvold27', - '27: Vertex not present in graph -> Empty row is returned' -); - --- 4 vertices tests - -PREPARE q28 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE (id >= 10 AND id <= 12) - OR id = 8; - --- Graph with vertices 5, 6, 10, 11 -SELECT set_eq('q28', - $$VALUES - (8, 5, 6, 1, 1), - (10, 5, 10, 1, 1), - (11, 6, 11, 1, -1), - (12, 10, 11, 1, -1) - $$, - '28: Graph with vertices 5, 6, 10 and 11' -); - --- 4 vertices tests - -PREPARE boyerMyrvold29 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 10 AND id <= 12) - OR id = 8' -); - -PREPARE boyerMyrvold30 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 2 AND id <= 4)' -); - -SELECT set_eq('boyerMyrvold29', - $$VALUES - (1, 5, 6, 1), - (2, 5, 10, 1), - (3, 6, 11, 1), - (4, 10, 11, 1) - $$, - '29: 4 vertices tests,4 rows returned' -); - -SELECT set_eq('boyerMyrvold30', - $$VALUES - (1, 3, 2, 1), - (2, 4, 3, 1), - (3, 2, 5, 1) - $$, - '30: 4 vertices tests,3 rows returned' -); - - -SELECT * FROM finish(); -ROLLBACK; diff --git a/pgtap/planar/boyerMyrvold-innerQuery.sql b/pgtap/planar/boyerMyrvold-innerQuery.sql deleted file mode 100644 index d62f9468e3f..00000000000 --- a/pgtap/planar/boyerMyrvold-innerQuery.sql +++ /dev/null @@ -1,13 +0,0 @@ -\i setup.sql - -SELECT plan(56); - -SET client_min_messages TO ERROR; - -SELECT has_function('pgr_boyermyrvold'); - -SELECT function_returns('pgr_boyermyrvold',ARRAY['text'],'setof record'); -SELECT style_dijkstra('pgr_boyermyrvold', ')'); - -SELECT finish(); -ROLLBACK; diff --git a/pgtap/planar/boyerMyrvold-types-check.sql b/pgtap/planar/boyerMyrvold-types-check.sql deleted file mode 100644 index de4a57d7e1c..00000000000 --- a/pgtap/planar/boyerMyrvold-types-check.sql +++ /dev/null @@ -1,50 +0,0 @@ -\i setup.sql - -SELECT plan(5); - -SELECT has_function('pgr_boyermyrvold'); - -SELECT function_returns('pgr_boyermyrvold', ARRAY['text'], 'setof record'); - - --- flags --- error - -SELECT lives_ok( - 'SELECT * FROM pgr_boyerMyrvold( - ''SELECT id, source, target, cost, reverse_cost FROM edge_table'' - )', - '3: Documentation says works with no flags'); - -SELECT throws_ok( - 'SELECT * FROM pgr_boyerMyrvold( - ''SELECT id, source, target, cost, reverse_cost FROM edge_table id < 17'', - 3 - )','42883','function pgr_boyermyrvold(unknown, integer) does not exist', - '4: Documentation says it does not work with 1 flags'); - - --- prepare for testing return types - -PREPARE all_return AS -SELECT - 'bigint'::text AS t1, - 'bigint'::text AS t2, - 'bigint'::text AS t3, - 'double precision'::text AS t4; - -PREPARE q5 AS -SELECT pg_typeof(seq)::text AS t1, - pg_typeof(source)::text AS t2, - pg_typeof(target)::text AS t3, - pg_typeof(cost)::text AS t4 - FROM ( - SELECT * FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 17' - ) ) AS a LIMIT 1; - - -SELECT set_eq('q5', 'all_return', 'Expected returning, columns names & types'); - -SELECT * FROM finish(); -ROLLBACK; diff --git a/pgtap/planar/no_crash_test-boyerMyrvold.sql b/pgtap/planar/no_crash_test-boyerMyrvold.sql deleted file mode 100644 index 9af5efc6f84..00000000000 --- a/pgtap/planar/no_crash_test-boyerMyrvold.sql +++ /dev/null @@ -1,30 +0,0 @@ -\i setup.sql - -SELECT plan(5); - -PREPARE edges AS -SELECT id, source, target, cost, reverse_cost FROM edge_table; - -SELECT isnt_empty('edges', 'Should not be empty true to tests be meaningful'); - -CREATE OR REPLACE FUNCTION test_function() -RETURNS SETOF TEXT AS -$BODY$ -DECLARE -params TEXT[]; -subs TEXT[]; -BEGIN - params = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$']::TEXT[]; - subs = ARRAY[ - 'NULL' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_boyerMyrvold', params, subs); -END -$BODY$ -LANGUAGE plpgsql VOLATILE; - - -SELECT * FROM test_function(); - -ROLLBACK; diff --git a/sql/planar/CMakeLists.txt b/sql/planar/CMakeLists.txt deleted file mode 100644 index bec19715efd..00000000000 --- a/sql/planar/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ - -SET(LOCAL_FILES - _boyerMyrvold.sql - boyerMyrvold.sql - ) - -foreach (f ${LOCAL_FILES}) - configure_file(${f} ${f}) - list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) -endforeach() - -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/planar/_boyerMyrvold.sql b/sql/planar/_boyerMyrvold.sql deleted file mode 100644 index cfaf6a067c5..00000000000 --- a/sql/planar/_boyerMyrvold.sql +++ /dev/null @@ -1,49 +0,0 @@ -/*PGR-GNU***************************************************************** -File: _boyerMyrvold.sql - -Copyright (c) 2020 pgRouting developers -Mail: project@pgrouting.org - -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -********************************************************************PGR-GNU*/ -------------------------- -------------------------- --- _boyerMyrvold -------------------------- -------------------------- - -CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( - TEXT, -- edges_sql (required) - - OUT seq BIGINT, - OUT source BIGINT, - OUT target BIGINT, - OUT cost FLOAT) - -RETURNS SETOF RECORD AS -'MODULE_PATHNAME' -LANGUAGE c IMMUTABLE STRICT; - - --- COMMENTS - -COMMENT ON FUNCTION _pgr_boyerMyrvold(TEXT) -IS 'pgRouting internal function'; diff --git a/sql/planar/boyerMyrvold.sql b/sql/planar/boyerMyrvold.sql deleted file mode 100644 index 1a50de1ffe2..00000000000 --- a/sql/planar/boyerMyrvold.sql +++ /dev/null @@ -1,57 +0,0 @@ -/*PGR-GNU***************************************************************** -File: boyerMyrvold.sql - -Copyright (c) 2020 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -********************************************************************PGR-GNU*/ - ------------------- --- pgr_boyerMyrvold ------------------- - -CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( - TEXT, -- edges_sql (required) - OUT seq BIGINT, - OUT source BIGINT, - OUT target BIGINT, - OUT cost FLOAT) - -RETURNS SETOF RECORD AS -$BODY$ - SELECT * - FROM _pgr_boyerMyrvold(_pgr_get_statement($1)) AS a; -$BODY$ -LANGUAGE SQL VOLATILE STRICT; - --- COMMENTS - -COMMENT ON FUNCTION pgr_boyerMyrvold(TEXT) -IS 'pgr_boyerMyrvold -- EXPERIMENTAL -- Undirected graph -- Parameters: - - edges SQL with columns: id, source, target, cost [,reverse_cost] -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_boyerMyrvold.html -'; diff --git a/src/planar/CMakeLists.txt b/src/planar/CMakeLists.txt deleted file mode 100644 index 376f8ef1dbd..00000000000 --- a/src/planar/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -ADD_LIBRARY(planarGraph OBJECT - boyerMyrvold.c - boyerMyrvold_driver.cpp - ) diff --git a/src/planar/boyerMyrvold.c b/src/planar/boyerMyrvold.c deleted file mode 100644 index f74780ff96b..00000000000 --- a/src/planar/boyerMyrvold.c +++ /dev/null @@ -1,201 +0,0 @@ -/*PGR-GNU***************************************************************** -File: boyerMyrvold.c - -Generated with Template by: -Copyright (c) 2019 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com - - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -********************************************************************PGR-GNU*/ - -#include -#include "c_common/postgres_connection.h" -#include "utils/array.h" - -#include "c_common/debug_macro.h" -#include "c_common/e_report.h" -#include "c_common/time_msg.h" - -#include "c_common/edges_input.h" -#include "c_common/arrays_input.h" - -#include "drivers/planarGraph/boyerMyrvold_driver.h" -PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_boyermyrvold); - -static void -process( - char *edges_sql, - - pgr_boyer_t **result_tuples, - size_t *result_count) { - pgr_SPI_connect(); - - PGR_DBG("Initializing arrays"); - - - (*result_tuples) = NULL; - (*result_count) = 0; - - PGR_DBG("Load data"); - pgr_edge_t *edges = NULL; - size_t total_edges = 0; - - pgr_get_edges(edges_sql, &edges, &total_edges); - PGR_DBG("Total %ld edges in query:", total_edges); - - if (total_edges == 0) { - pgr_SPI_finish(); - return; - } - - PGR_DBG("Starting processing"); - clock_t start_t = clock(); - char *log_msg = NULL; - char *notice_msg = NULL; - char *err_msg = NULL; - do_pgr_boyerMyrvold( - edges, - total_edges, - - result_tuples, - result_count, - - &log_msg, - ¬ice_msg, - &err_msg); - - time_msg(" processing pgr_boyerMyrvold", start_t, clock()); - PGR_DBG("Returning %ld tuples", *result_count); - - if (err_msg) { - if (*result_tuples) - pfree(*result_tuples); - } - - pgr_global_report(log_msg, notice_msg, err_msg); - - if (edges) - pfree(edges); - if (log_msg) - pfree(log_msg); - if (notice_msg) - pfree(notice_msg); - if (err_msg) - pfree(err_msg); - - pgr_SPI_finish(); -} - -PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS) { - FuncCallContext *funcctx; - TupleDesc tuple_desc; - - /**************************************************************************/ - pgr_boyer_t *result_tuples = NULL; - size_t result_count = 0; - /**************************************************************************/ - - if (SRF_IS_FIRSTCALL()) { - MemoryContext oldcontext; - funcctx = SRF_FIRSTCALL_INIT(); - oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - - /**********************************************************************/ - /* - pgr_boyerMyrvold( - edge_sql TEXT) - */ - /**********************************************************************/ - - PGR_DBG("Calling process"); - process( - text_to_cstring(PG_GETARG_TEXT_P(0)), - &result_tuples, - &result_count); - - /**********************************************************************/ - -#if PGSQL_VERSION > 95 - funcctx->max_calls = result_count; -#else - funcctx->max_calls = (uint32_t)result_count; -#endif - funcctx->user_fctx = result_tuples; - if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) { - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("function returning record called in context " - "that cannot accept type record"))); - } - - funcctx->tuple_desc = tuple_desc; - MemoryContextSwitchTo(oldcontext); - } - - funcctx = SRF_PERCALL_SETUP(); - tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_boyer_t *)funcctx->user_fctx; - - if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; - Datum result; - Datum *values; - bool *nulls; - - /**********************************************************************/ - /* - OUT source BIGINT, - OUT target_vid BIGINT, - OUT cost FLOAT, - */ - /**********************************************************************/ - size_t numb = 4; - values = palloc(numb * sizeof(Datum)); - nulls = palloc(numb * sizeof(bool)); - - size_t i; - for (i = 0; i < numb; ++i) { - nulls[i] = false; - } - - values[0] = Int32GetDatum(funcctx->call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].source); - values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].target); - values[3] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); - - /**********************************************************************/ - - tuple = heap_form_tuple(tuple_desc, values, nulls); - result = HeapTupleGetDatum(tuple); - SRF_RETURN_NEXT(funcctx, result); - } else { - /**********************************************************************/ - - PGR_DBG("Clean up code"); - - /**********************************************************************/ - - SRF_RETURN_DONE(funcctx); - } -} diff --git a/src/planar/boyerMyrvold_driver.cpp b/src/planar/boyerMyrvold_driver.cpp deleted file mode 100644 index 423a70cfc7c..00000000000 --- a/src/planar/boyerMyrvold_driver.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/*PGR-GNU***************************************************************** -File: boyerMyrvold_driver.cpp - -Generated with Template by: -Copyright (c) 2020 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -********************************************************************PGR-GNU*/ - -#include "drivers/planarGraph/boyerMyrvold_driver.h" - -#include -#include -#include - -#include "cpp_common/pgr_alloc.hpp" -#include "cpp_common/pgr_assert.h" -#include "c_types/pgr_boyer_t.h" - -#include "planarGraph/pgr_boyerMyrvold.hpp" -#include "cpp_common/pgr_base_graph.hpp" - - -template < class G > -std::vector -pgr_boyerMyrvold( - G &graph) { - pgrouting::functions::Pgr_boyerMyrvold< G > fn_boyerMyrvold; - auto results = fn_boyerMyrvold.boyerMyrvold( - graph); - return results; -} - -void -do_pgr_boyerMyrvold( - pgr_edge_t *data_edges, - size_t total_edges, - - pgr_boyer_t **return_tuples, - size_t *return_count, - char ** log_msg, - char ** notice_msg, - char ** err_msg) { - std::ostringstream log; - std::ostringstream err; - std::ostringstream notice; - try { - pgassert(!(*log_msg)); - pgassert(!(*notice_msg)); - pgassert(!(*err_msg)); - pgassert(!(*return_tuples)); - pgassert(*return_count == 0); - pgassert(total_edges != 0); - - std::vector results; - std::string logstr; - - graphType gType = UNDIRECTED; - log << "Working with Undirected Graph\n"; - pgrouting::UndirectedGraph undigraph(gType); - undigraph.insert_edges(data_edges, total_edges); - results = pgr_boyerMyrvold(undigraph); - - - auto count = results.size(); - - if (count == 0) { - (*return_tuples) = NULL; - (*return_count) = 0; - notice << - "No Vertices"; - *log_msg = pgr_msg(notice.str().c_str()); - return; - } - - (*return_tuples) = pgr_alloc(count, (*return_tuples)); - log << "\nConverting a set of traversals into the tuples"; - for (size_t i = 0; i < count; i++) { - *((*return_tuples) + i) = results[i]; - } - (*return_count) = count; - - pgassert(*err_msg == NULL); - *log_msg = log.str().empty()? - *log_msg : - pgr_msg(log.str().c_str()); - *notice_msg = notice.str().empty()? - *notice_msg : - pgr_msg(notice.str().c_str()); - } catch (AssertFailedException &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch (std::exception &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch(...) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << "Caught unknown exception!"; - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } -} From 89f65182938500b6c1501c533ccc16a0dab9a76a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 02:20:47 +0530 Subject: [PATCH 0489/1360] Renamed planarGraph to planar to avoid redundancy --- configuration.conf | 2 +- docqueries/{planarGraph => planar}/CMakeLists.txt | 0 .../{planarGraph => planar}/doc-pgr_boyerMyrvold.result | 0 .../{planarGraph => planar}/doc-pgr_boyerMyrvold.test.sql | 0 docqueries/{planarGraph => planar}/test.conf | 0 .../drivers/{planarGraph => planar}/boyerMyrvold_driver.h | 6 +++--- include/{planarGraph => planar}/pgr_boyerMyrvold.hpp | 6 +++--- pgtap/{planarGraph => planar}/boyerMyrvold-edge-cases.sql | 0 pgtap/{planarGraph => planar}/boyerMyrvold-innerQuery.sql | 0 pgtap/{planarGraph => planar}/boyerMyrvold-types-check.sql | 0 .../{planarGraph => planar}/no_crash_test-boyerMyrvold.sql | 0 sql/{planarGraph => planar}/CMakeLists.txt | 0 sql/{planarGraph => planar}/_boyerMyrvold.sql | 0 sql/{planarGraph => planar}/boyerMyrvold.sql | 0 src/{planarGraph => planar}/CMakeLists.txt | 2 +- src/{planarGraph => planar}/boyerMyrvold.c | 2 +- src/{planarGraph => planar}/boyerMyrvold_driver.cpp | 4 ++-- 17 files changed, 11 insertions(+), 11 deletions(-) rename docqueries/{planarGraph => planar}/CMakeLists.txt (100%) rename docqueries/{planarGraph => planar}/doc-pgr_boyerMyrvold.result (100%) rename docqueries/{planarGraph => planar}/doc-pgr_boyerMyrvold.test.sql (100%) rename docqueries/{planarGraph => planar}/test.conf (100%) rename include/drivers/{planarGraph => planar}/boyerMyrvold_driver.h (91%) rename include/{planarGraph => planar}/pgr_boyerMyrvold.hpp (94%) rename pgtap/{planarGraph => planar}/boyerMyrvold-edge-cases.sql (100%) rename pgtap/{planarGraph => planar}/boyerMyrvold-innerQuery.sql (100%) rename pgtap/{planarGraph => planar}/boyerMyrvold-types-check.sql (100%) rename pgtap/{planarGraph => planar}/no_crash_test-boyerMyrvold.sql (100%) rename sql/{planarGraph => planar}/CMakeLists.txt (100%) rename sql/{planarGraph => planar}/_boyerMyrvold.sql (100%) rename sql/{planarGraph => planar}/boyerMyrvold.sql (100%) rename src/{planarGraph => planar}/CMakeLists.txt (63%) rename src/{planarGraph => planar}/boyerMyrvold.c (99%) rename src/{planarGraph => planar}/boyerMyrvold_driver.cpp (97%) diff --git a/configuration.conf b/configuration.conf index 6ead3be7317..cf0cac63e42 100644 --- a/configuration.conf +++ b/configuration.conf @@ -42,7 +42,7 @@ transitiveClosure | Y | Y | Y breadthFirstSearch | Y | Y | Y traversal | Y | Y | Y coloring | Y | Y | Y -planarGraph | Y | Y | N +planar | Y | Y | N makeConnected | Y | Y | N #---------------------- # SQL only directories diff --git a/docqueries/planarGraph/CMakeLists.txt b/docqueries/planar/CMakeLists.txt similarity index 100% rename from docqueries/planarGraph/CMakeLists.txt rename to docqueries/planar/CMakeLists.txt diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.result b/docqueries/planar/doc-pgr_boyerMyrvold.result similarity index 100% rename from docqueries/planarGraph/doc-pgr_boyerMyrvold.result rename to docqueries/planar/doc-pgr_boyerMyrvold.result diff --git a/docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql b/docqueries/planar/doc-pgr_boyerMyrvold.test.sql similarity index 100% rename from docqueries/planarGraph/doc-pgr_boyerMyrvold.test.sql rename to docqueries/planar/doc-pgr_boyerMyrvold.test.sql diff --git a/docqueries/planarGraph/test.conf b/docqueries/planar/test.conf similarity index 100% rename from docqueries/planarGraph/test.conf rename to docqueries/planar/test.conf diff --git a/include/drivers/planarGraph/boyerMyrvold_driver.h b/include/drivers/planar/boyerMyrvold_driver.h similarity index 91% rename from include/drivers/planarGraph/boyerMyrvold_driver.h rename to include/drivers/planar/boyerMyrvold_driver.h index 2a4ef6e4bca..bf76d5b5bbb 100644 --- a/include/drivers/planarGraph/boyerMyrvold_driver.h +++ b/include/drivers/planar/boyerMyrvold_driver.h @@ -27,8 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_DRIVERS_PLANARGRAPH_BOYERMYRVOLD_DRIVER_H_ -#define INCLUDE_DRIVERS_PLANARGRAPH_BOYERMYRVOLD_DRIVER_H_ +#ifndef INCLUDE_DRIVERS_PLANAR_BOYERMYRVOLD_DRIVER_H_ +#define INCLUDE_DRIVERS_PLANAR_BOYERMYRVOLD_DRIVER_H_ #pragma once /* for size-t */ @@ -68,4 +68,4 @@ extern "C" { } #endif -#endif // INCLUDE_DRIVERS_PLANARGRAPH_BOYERMYRVOLD_DRIVER_H_ +#endif // INCLUDE_DRIVERS_PLANAR_BOYERMYRVOLD_DRIVER_H_ diff --git a/include/planarGraph/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp similarity index 94% rename from include/planarGraph/pgr_boyerMyrvold.hpp rename to include/planar/pgr_boyerMyrvold.hpp index 5721e931dea..9355a380f18 100644 --- a/include/planarGraph/pgr_boyerMyrvold.hpp +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -21,8 +21,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ -#define INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ +#ifndef INCLUDE_PLANAR_PGR_BOYERMYRVOLD_HPP_ +#define INCLUDE_PLANAR_PGR_BOYERMYRVOLD_HPP_ #pragma once #include @@ -82,4 +82,4 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { } } -#endif //INCLUDE_PLANARGRAPH_PGR_BOYERMYRVOLD_HPP_ +#endif //INCLUDE_PLANAR_PGR_BOYERMYRVOLD_HPP_ diff --git a/pgtap/planarGraph/boyerMyrvold-edge-cases.sql b/pgtap/planar/boyerMyrvold-edge-cases.sql similarity index 100% rename from pgtap/planarGraph/boyerMyrvold-edge-cases.sql rename to pgtap/planar/boyerMyrvold-edge-cases.sql diff --git a/pgtap/planarGraph/boyerMyrvold-innerQuery.sql b/pgtap/planar/boyerMyrvold-innerQuery.sql similarity index 100% rename from pgtap/planarGraph/boyerMyrvold-innerQuery.sql rename to pgtap/planar/boyerMyrvold-innerQuery.sql diff --git a/pgtap/planarGraph/boyerMyrvold-types-check.sql b/pgtap/planar/boyerMyrvold-types-check.sql similarity index 100% rename from pgtap/planarGraph/boyerMyrvold-types-check.sql rename to pgtap/planar/boyerMyrvold-types-check.sql diff --git a/pgtap/planarGraph/no_crash_test-boyerMyrvold.sql b/pgtap/planar/no_crash_test-boyerMyrvold.sql similarity index 100% rename from pgtap/planarGraph/no_crash_test-boyerMyrvold.sql rename to pgtap/planar/no_crash_test-boyerMyrvold.sql diff --git a/sql/planarGraph/CMakeLists.txt b/sql/planar/CMakeLists.txt similarity index 100% rename from sql/planarGraph/CMakeLists.txt rename to sql/planar/CMakeLists.txt diff --git a/sql/planarGraph/_boyerMyrvold.sql b/sql/planar/_boyerMyrvold.sql similarity index 100% rename from sql/planarGraph/_boyerMyrvold.sql rename to sql/planar/_boyerMyrvold.sql diff --git a/sql/planarGraph/boyerMyrvold.sql b/sql/planar/boyerMyrvold.sql similarity index 100% rename from sql/planarGraph/boyerMyrvold.sql rename to sql/planar/boyerMyrvold.sql diff --git a/src/planarGraph/CMakeLists.txt b/src/planar/CMakeLists.txt similarity index 63% rename from src/planarGraph/CMakeLists.txt rename to src/planar/CMakeLists.txt index 376f8ef1dbd..dd0ed846117 100644 --- a/src/planarGraph/CMakeLists.txt +++ b/src/planar/CMakeLists.txt @@ -1,4 +1,4 @@ -ADD_LIBRARY(planarGraph OBJECT +ADD_LIBRARY(planar OBJECT boyerMyrvold.c boyerMyrvold_driver.cpp ) diff --git a/src/planarGraph/boyerMyrvold.c b/src/planar/boyerMyrvold.c similarity index 99% rename from src/planarGraph/boyerMyrvold.c rename to src/planar/boyerMyrvold.c index f74780ff96b..b14fc579d13 100644 --- a/src/planarGraph/boyerMyrvold.c +++ b/src/planar/boyerMyrvold.c @@ -39,7 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "drivers/planarGraph/boyerMyrvold_driver.h" +#include "drivers/planar/boyerMyrvold_driver.h" PGDLLEXPORT Datum _pgr_boyermyrvold(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_boyermyrvold); diff --git a/src/planarGraph/boyerMyrvold_driver.cpp b/src/planar/boyerMyrvold_driver.cpp similarity index 97% rename from src/planarGraph/boyerMyrvold_driver.cpp rename to src/planar/boyerMyrvold_driver.cpp index e3436e58e90..c4e6c1792cd 100644 --- a/src/planarGraph/boyerMyrvold_driver.cpp +++ b/src/planar/boyerMyrvold_driver.cpp @@ -27,7 +27,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "drivers/planarGraph/boyerMyrvold_driver.h" +#include "drivers/planar/boyerMyrvold_driver.h" #include #include @@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_assert.h" #include "c_types/pgr_boyer_t.h" -#include "planarGraph/pgr_boyerMyrvold.hpp" +#include "planar/pgr_boyerMyrvold.hpp" #include "cpp_common/pgr_base_graph.hpp" From 5d8e1a2cf9a0673ed904d63c6284df4a6e415519 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 11:04:20 +0530 Subject: [PATCH 0490/1360] Fixing Signature files --- sql/sigs/pgrouting--3.0.0.sig | 2 -- 1 file changed, 2 deletions(-) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 4ab76f8ea49..2e0fce72901 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -129,8 +129,6 @@ _pgr_iscolumnindexed(text,text,text,integer,text) _pgr_iscolumnintable(text,text) _pgr_johnson(text,boolean) pgr_johnson(text,boolean) -_pgr_kargerscontraction(text) -pgr_kargerscontraction(text) pgr_kruskalbfs(text,anyarray,bigint) pgr_kruskalbfs(text,bigint,bigint) pgr_kruskaldd(text,anyarray,double precision) From d773a6f70a3c22f163e9213e1e97de62020e97bf Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 11:26:18 +0530 Subject: [PATCH 0491/1360] Added pgr_isPlanar in sql/planar directory --- sql/planar/_isPlanar.sql | 45 +++++++++++++++++++++++++++++++++ sql/planar/isPlanar.sql | 54 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 sql/planar/_isPlanar.sql create mode 100644 sql/planar/isPlanar.sql diff --git a/sql/planar/_isPlanar.sql b/sql/planar/_isPlanar.sql new file mode 100644 index 00000000000..632f8032359 --- /dev/null +++ b/sql/planar/_isPlanar.sql @@ -0,0 +1,45 @@ +/*PGR-GNU***************************************************************** +File: _isPlanar.sql + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ +------------------------- +------------------------- +-- _isPlanar +------------------------- +------------------------- + +CREATE OR REPLACE FUNCTION _pgr_isPlanar( + TEXT, -- edges_sql (required) + ) + +RETURNS BOOLEAN AS +'MODULE_PATHNAME' +LANGUAGE c IMMUTABLE STRICT; + + +-- COMMENTS + +COMMENT ON FUNCTION _pgr_isPlanar(TEXT) +IS 'pgRouting internal function'; diff --git a/sql/planar/isPlanar.sql b/sql/planar/isPlanar.sql new file mode 100644 index 00000000000..ed1f38f1bd8 --- /dev/null +++ b/sql/planar/isPlanar.sql @@ -0,0 +1,54 @@ +/*PGR-GNU***************************************************************** +File: isPlanar.sql + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +------------------ +-- pgr_isPlanar +------------------ + +CREATE OR REPLACE FUNCTION pgr_isPlanar( + TEXT, -- edges_sql (required) + ) + +RETURNS BOOLEAN AS +$BODY$ + SELECT * + FROM _pgr_isPlanar(_pgr_get_statement($1)) AS a; +$BODY$ +LANGUAGE SQL VOLATILE STRICT; + +-- COMMENTS + +COMMENT ON FUNCTION pgr_isPlanar(TEXT) +IS 'pgr_isPlanar +- EXPERIMENTAL +- Undirected graph +- Parameters: + - edges SQL with columns: id, source, target, cost [,reverse_cost] +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_isPlanar.html +'; From 633d71d1ca7723ff6cdda3087393d00b72d44dc7 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 11:52:03 +0530 Subject: [PATCH 0492/1360] Added isPlanar to c/c++ files --- include/drivers/planar/isPlanar_driver.h | 71 +++++++++++++ include/planar/pgr_isPlanar.hpp | 72 +++++++++++++ src/planar/isPlanar.c | 122 ++++++++++++++++++++++ src/planar/isPlanar_driver.cpp | 123 +++++++++++++++++++++++ 4 files changed, 388 insertions(+) create mode 100644 include/drivers/planar/isPlanar_driver.h create mode 100644 include/planar/pgr_isPlanar.hpp create mode 100644 src/planar/isPlanar.c create mode 100644 src/planar/isPlanar_driver.cpp diff --git a/include/drivers/planar/isPlanar_driver.h b/include/drivers/planar/isPlanar_driver.h new file mode 100644 index 00000000000..8cf0094d130 --- /dev/null +++ b/include/drivers/planar/isPlanar_driver.h @@ -0,0 +1,71 @@ +/*PGR-GNU***************************************************************** +File: isPln_driver.h + +Generated with Template by: +Copyright (c) 2019 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_DRIVERS_PLANAR_ISPLANAR_DRIVER_H_ +#define INCLUDE_DRIVERS_PLANAR_ISPLANAR_DRIVER_H_ +#pragma once + +/* for size-t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +#include "c_types/pgr_edge_t.h" +#include "c_types/pgr_boyer_t.h" +#include "c_types/pgr_mst_rt.h" + +#ifdef __cplusplus +extern "C" { +#endif + + /********************************************************* + TEXT, + ANYARRAY, + max_depth BIGINT DEFAULT 9223372036854775807, + directed BOOLEAN DEFAULT true + ********************************************************/ + + + void do_pgr_isPlanar( + pgr_edge_t *data_edges, + size_t total_tuples, + pgr_boyer_t **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg); + + +#ifdef __cplusplus +} +#endif + +#endif // INCLUDE_DRIVERS_PLANAR_ISPLANAR_DRIVER_H_ diff --git a/include/planar/pgr_isPlanar.hpp b/include/planar/pgr_isPlanar.hpp new file mode 100644 index 00000000000..c504ddaab4d --- /dev/null +++ b/include/planar/pgr_isPlanar.hpp @@ -0,0 +1,72 @@ + +/*PGR-GNU***************************************************************** +File: pgr_isPlanar.hpp +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com +------ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ +#define INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ +#pragma once + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "cpp_common/pgr_messages.h" +#include "cpp_common/pgr_base_graph.hpp" +#include "c_types/pgr_boyer_t.h" +//****************************************** +using namespace boost; +namespace pgrouting { +namespace functions { + +template < class G > +class Pgr_isPlanar : public pgrouting::Pgr_messages { + public: + typedef typename G::V V; + typedef typename G::E E; + typedef typename G::E_i E_i; + bool isPlanar( + G &graph){ + return generateisPlanar( + graph); + } + + private: + bool generateisPlanar( + const G &graph ) { + auto check = boyer_myrvold_planarity_test(graph.graph); + if(check){ + return true; + } else { + return false; + } + + } +}; +} +} + + +#endif //INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c new file mode 100644 index 00000000000..f09fcc98bf4 --- /dev/null +++ b/src/planar/isPlanar.c @@ -0,0 +1,122 @@ +/*PGR-GNU***************************************************************** +File: isPlanar.c + +Generated with Template by: +Copyright (c) 2019 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#include +#include "c_common/postgres_connection.h" +#include "utils/array.h" + +#include "c_common/debug_macro.h" +#include "c_common/e_report.h" +#include "c_common/time_msg.h" + +#include "c_common/edges_input.h" +#include "c_common/arrays_input.h" + +#include "drivers/planar/isPlanar_driver.h" +PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_isplanar); + +static void +process( + char *edges_sql, + + pgr_boyer_t **result_tuples, + size_t *result_count) { + pgr_SPI_connect(); + + PGR_DBG("Initializing arrays"); + + + (*result_tuples) = NULL; + (*result_count) = 0; + + PGR_DBG("Load data"); + pgr_edge_t *edges = NULL; + size_t total_edges = 0; + + pgr_get_edges(edges_sql, &edges, &total_edges); + PGR_DBG("Total %ld edges in query:", total_edges); + + if (total_edges == 0) { + pgr_SPI_finish(); + return; + } + + PGR_DBG("Starting processing"); + clock_t start_t = clock(); + char *log_msg = NULL; + char *notice_msg = NULL; + char *err_msg = NULL; + do_pgr_isPlanar( + edges, + total_edges, + + result_tuples, + result_count, + + &log_msg, + ¬ice_msg, + &err_msg); + + time_msg(" processing pgr_isPlanar", start_t, clock()); + PGR_DBG("Returning %ld tuples", *result_count); + + if (err_msg) { + if (*result_tuples) + pfree(*result_tuples); + } + + pgr_global_report(log_msg, notice_msg, err_msg); + + if (edges) + pfree(edges); + if (log_msg) + pfree(log_msg); + if (notice_msg) + pfree(notice_msg); + if (err_msg) + pfree(err_msg); + + pgr_SPI_finish(); +} + +PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { + + /**************************************************************************/ + pgr_boyer_t *result_tuples = NULL; + size_t result_count = 0; + /**************************************************************************/ + PGR_DBG("Calling process"); + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + &result_tuples, + &result_count); + PG_RETURN_BOOL(true); +} diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp new file mode 100644 index 00000000000..e3c5f7b1f69 --- /dev/null +++ b/src/planar/isPlanar_driver.cpp @@ -0,0 +1,123 @@ +/*PGR-GNU***************************************************************** +File: isPlanar_driver.cpp + +Generated with Template by: +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#include "drivers/planar/isPlanar_driver.h" + +#include +#include +#include + +#include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/pgr_assert.h" +#include "c_types/pgr_boyer_t.h" + +#include "planar/pgr_isPlanar.hpp" +#include "cpp_common/pgr_base_graph.hpp" + + + +void +do_pgr_isPlanar( + pgr_edge_t *data_edges, + size_t total_edges, + + pgr_boyer_t **return_tuples, + size_t *return_count, + char ** log_msg, + char ** notice_msg, + char ** err_msg) { + std::ostringstream log; + std::ostringstream err; + std::ostringstream notice; + try { + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + pgassert(total_edges != 0); + + std::vector results; + std::string logstr; + + graphType gType = UNDIRECTED; + log << "Working with Undirected Graph\n"; + pgrouting::UndirectedGraph undigraph(gType); + undigraph.insert_edges(data_edges, total_edges); + pgrouting::functions::Pgr_isPlanar fn_isPlanar; + results=fn_isPlanar.isPlanar(undigraph); + logstr += fn_isPlanar.get_log(); + log << logstr; + + + auto count = results.size(); + + if (count == 0) { + (*return_tuples) = NULL; + (*return_count) = 0; + notice << + "No Vertices"; + *log_msg = pgr_msg(notice.str().c_str()); + return; + } + + (*return_tuples) = pgr_alloc(count, (*return_tuples)); + log << "\nConverting a set of traversals into the tuples"; + for (size_t i = 0; i < count; i++) { + *((*return_tuples) + i) = results[i]; + } + (*return_count) = count; + + pgassert(*err_msg == NULL); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } +} From 41c9806f8b591ec7044aeab679fd627a014f8eef Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 12:02:43 +0530 Subject: [PATCH 0493/1360] Only C file modifications for isPlanar --- include/drivers/planar/isPlanar_driver.h | 71 ------------- include/planar/pgr_isPlanar.hpp | 72 ------------- src/planar/isPlanar_driver.cpp | 123 ----------------------- 3 files changed, 266 deletions(-) delete mode 100644 include/drivers/planar/isPlanar_driver.h delete mode 100644 include/planar/pgr_isPlanar.hpp delete mode 100644 src/planar/isPlanar_driver.cpp diff --git a/include/drivers/planar/isPlanar_driver.h b/include/drivers/planar/isPlanar_driver.h deleted file mode 100644 index 8cf0094d130..00000000000 --- a/include/drivers/planar/isPlanar_driver.h +++ /dev/null @@ -1,71 +0,0 @@ -/*PGR-GNU***************************************************************** -File: isPln_driver.h - -Generated with Template by: -Copyright (c) 2019 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -********************************************************************PGR-GNU*/ - -#ifndef INCLUDE_DRIVERS_PLANAR_ISPLANAR_DRIVER_H_ -#define INCLUDE_DRIVERS_PLANAR_ISPLANAR_DRIVER_H_ -#pragma once - -/* for size-t */ -#ifdef __cplusplus -# include -#else -# include -#endif - -#include "c_types/pgr_edge_t.h" -#include "c_types/pgr_boyer_t.h" -#include "c_types/pgr_mst_rt.h" - -#ifdef __cplusplus -extern "C" { -#endif - - /********************************************************* - TEXT, - ANYARRAY, - max_depth BIGINT DEFAULT 9223372036854775807, - directed BOOLEAN DEFAULT true - ********************************************************/ - - - void do_pgr_isPlanar( - pgr_edge_t *data_edges, - size_t total_tuples, - pgr_boyer_t **return_tuples, - size_t *return_count, - char ** log_msg, - char ** notice_msg, - char ** err_msg); - - -#ifdef __cplusplus -} -#endif - -#endif // INCLUDE_DRIVERS_PLANAR_ISPLANAR_DRIVER_H_ diff --git a/include/planar/pgr_isPlanar.hpp b/include/planar/pgr_isPlanar.hpp deleted file mode 100644 index c504ddaab4d..00000000000 --- a/include/planar/pgr_isPlanar.hpp +++ /dev/null @@ -1,72 +0,0 @@ - -/*PGR-GNU***************************************************************** -File: pgr_isPlanar.hpp -Copyright (c) 2020 pgRouting developers -Mail: project@pgrouting.org -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com ------- -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -********************************************************************PGR-GNU*/ - -#ifndef INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ -#define INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ -#pragma once - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "cpp_common/pgr_messages.h" -#include "cpp_common/pgr_base_graph.hpp" -#include "c_types/pgr_boyer_t.h" -//****************************************** -using namespace boost; -namespace pgrouting { -namespace functions { - -template < class G > -class Pgr_isPlanar : public pgrouting::Pgr_messages { - public: - typedef typename G::V V; - typedef typename G::E E; - typedef typename G::E_i E_i; - bool isPlanar( - G &graph){ - return generateisPlanar( - graph); - } - - private: - bool generateisPlanar( - const G &graph ) { - auto check = boyer_myrvold_planarity_test(graph.graph); - if(check){ - return true; - } else { - return false; - } - - } -}; -} -} - - -#endif //INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp deleted file mode 100644 index e3c5f7b1f69..00000000000 --- a/src/planar/isPlanar_driver.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/*PGR-GNU***************************************************************** -File: isPlanar_driver.cpp - -Generated with Template by: -Copyright (c) 2020 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -********************************************************************PGR-GNU*/ - -#include "drivers/planar/isPlanar_driver.h" - -#include -#include -#include - -#include "cpp_common/pgr_alloc.hpp" -#include "cpp_common/pgr_assert.h" -#include "c_types/pgr_boyer_t.h" - -#include "planar/pgr_isPlanar.hpp" -#include "cpp_common/pgr_base_graph.hpp" - - - -void -do_pgr_isPlanar( - pgr_edge_t *data_edges, - size_t total_edges, - - pgr_boyer_t **return_tuples, - size_t *return_count, - char ** log_msg, - char ** notice_msg, - char ** err_msg) { - std::ostringstream log; - std::ostringstream err; - std::ostringstream notice; - try { - pgassert(!(*log_msg)); - pgassert(!(*notice_msg)); - pgassert(!(*err_msg)); - pgassert(!(*return_tuples)); - pgassert(*return_count == 0); - pgassert(total_edges != 0); - - std::vector results; - std::string logstr; - - graphType gType = UNDIRECTED; - log << "Working with Undirected Graph\n"; - pgrouting::UndirectedGraph undigraph(gType); - undigraph.insert_edges(data_edges, total_edges); - pgrouting::functions::Pgr_isPlanar fn_isPlanar; - results=fn_isPlanar.isPlanar(undigraph); - logstr += fn_isPlanar.get_log(); - log << logstr; - - - auto count = results.size(); - - if (count == 0) { - (*return_tuples) = NULL; - (*return_count) = 0; - notice << - "No Vertices"; - *log_msg = pgr_msg(notice.str().c_str()); - return; - } - - (*return_tuples) = pgr_alloc(count, (*return_tuples)); - log << "\nConverting a set of traversals into the tuples"; - for (size_t i = 0; i < count; i++) { - *((*return_tuples) + i) = results[i]; - } - (*return_count) = count; - - pgassert(*err_msg == NULL); - *log_msg = log.str().empty()? - *log_msg : - pgr_msg(log.str().c_str()); - *notice_msg = notice.str().empty()? - *notice_msg : - pgr_msg(notice.str().c_str()); - } catch (AssertFailedException &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch (std::exception &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch(...) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << "Caught unknown exception!"; - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } -} From 0369186d920f505cca24cbf00cbfc63becd3e4fa Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 12:10:47 +0530 Subject: [PATCH 0494/1360] Restored previous code by commenting --- src/planar/isPlanar.c | 87 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index f09fcc98bf4..b978b98caec 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -119,4 +119,91 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { &result_tuples, &result_count); PG_RETURN_BOOL(true); +//Commenting the previous code. +#if 0 + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + + /**********************************************************************/ + /* + pgr_boyerMyrvold( + edge_sql TEXT) + */ + /**********************************************************************/ + + PGR_DBG("Calling process"); + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + &result_tuples, + &result_count); + + /**********************************************************************/ + + #if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; + #else + funcctx->max_calls = (uint32_t)result_count; + #endif + funcctx->user_fctx = result_tuples; + if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + } + + funcctx->tuple_desc = tuple_desc; + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (pgr_boyer_t *)funcctx->user_fctx; + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; + Datum result; + Datum *values; + bool *nulls; + + /**********************************************************************/ + /* + OUT source BIGINT, + OUT target_vid BIGINT, + OUT cost FLOAT, + */ + /**********************************************************************/ + size_t numb = 4; + values = palloc(numb * sizeof(Datum)); + nulls = palloc(numb * sizeof(bool)); + + size_t i; + for (i = 0; i < numb; ++i) { + nulls[i] = false; + } + + values[0] = Int32GetDatum(funcctx->call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].source); + values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].target); + values[3] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); + + /**********************************************************************/ + + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + SRF_RETURN_NEXT(funcctx, result); + } else { + /**********************************************************************/ + + PGR_DBG("Clean up code"); + + /**********************************************************************/ + + SRF_RETURN_DONE(funcctx); + } + +#endif } From 773146fd92d9422afbd9ce09c81a1f625a7c8722 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 12:13:45 +0530 Subject: [PATCH 0495/1360] Removed #if 0 and #endif --- src/planar/isPlanar.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index b978b98caec..29b77d161cc 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -119,8 +119,6 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { &result_tuples, &result_count); PG_RETURN_BOOL(true); -//Commenting the previous code. -#if 0 if (SRF_IS_FIRSTCALL()) { MemoryContext oldcontext; @@ -205,5 +203,4 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { SRF_RETURN_DONE(funcctx); } -#endif } From cfbad8c2b46362bbe110c270f124e62e4b4e7886 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 12:17:36 +0530 Subject: [PATCH 0496/1360] Restored .c with changed name --- src/planar/isPlanar.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 29b77d161cc..367d92cc5e5 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -108,17 +108,13 @@ process( } PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; /**************************************************************************/ pgr_boyer_t *result_tuples = NULL; size_t result_count = 0; /**************************************************************************/ - PGR_DBG("Calling process"); - process( - text_to_cstring(PG_GETARG_TEXT_P(0)), - &result_tuples, - &result_count); - PG_RETURN_BOOL(true); if (SRF_IS_FIRSTCALL()) { MemoryContext oldcontext; @@ -127,7 +123,7 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { /**********************************************************************/ /* - pgr_boyerMyrvold( + pgr_isPlanar( edge_sql TEXT) */ /**********************************************************************/ @@ -140,11 +136,11 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { /**********************************************************************/ - #if PGSQL_VERSION > 95 +#if PGSQL_VERSION > 95 funcctx->max_calls = result_count; - #else +#else funcctx->max_calls = (uint32_t)result_count; - #endif +#endif funcctx->user_fctx = result_tuples; if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) { ereport(ERROR, @@ -202,5 +198,4 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { SRF_RETURN_DONE(funcctx); } - } From c410a31f44575588e93e92c4b2c5eb1b4ca75740 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 12:28:50 +0530 Subject: [PATCH 0497/1360] fixed PG_RETURN_BOOL() at it's place --- src/planar/isPlanar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 367d92cc5e5..5a84917cc31 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -133,7 +133,7 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { text_to_cstring(PG_GETARG_TEXT_P(0)), &result_tuples, &result_count); - + PG_RETURN_BOOL(result_count != 0) /**********************************************************************/ #if PGSQL_VERSION > 95 From 83a9f5c0e2c0e7e073f3f21f33f4363373321ddd Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 17:56:32 +0530 Subject: [PATCH 0498/1360] process function is now bool, CMakeLists Modified --- sql/planar/CMakeLists.txt | 2 ++ sql/planar/_isPlanar.sql | 2 +- sql/planar/isPlanar.sql | 4 ++-- sql/sigs/pgrouting--3.2.0.sig | 2 ++ src/planar/CMakeLists.txt | 1 + src/planar/isPlanar.c | 15 ++++++++------- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/sql/planar/CMakeLists.txt b/sql/planar/CMakeLists.txt index bec19715efd..8b1e6f289d9 100644 --- a/sql/planar/CMakeLists.txt +++ b/sql/planar/CMakeLists.txt @@ -2,6 +2,8 @@ SET(LOCAL_FILES _boyerMyrvold.sql boyerMyrvold.sql + _isPlanar.sql + isPlanar.sql ) foreach (f ${LOCAL_FILES}) diff --git a/sql/planar/_isPlanar.sql b/sql/planar/_isPlanar.sql index 632f8032359..928e41ca9dc 100644 --- a/sql/planar/_isPlanar.sql +++ b/sql/planar/_isPlanar.sql @@ -31,7 +31,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------- CREATE OR REPLACE FUNCTION _pgr_isPlanar( - TEXT, -- edges_sql (required) + TEXT -- edges_sql (required) ) RETURNS BOOLEAN AS diff --git a/sql/planar/isPlanar.sql b/sql/planar/isPlanar.sql index ed1f38f1bd8..19acf5f761b 100644 --- a/sql/planar/isPlanar.sql +++ b/sql/planar/isPlanar.sql @@ -31,8 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------ CREATE OR REPLACE FUNCTION pgr_isPlanar( - TEXT, -- edges_sql (required) - ) + TEXT -- edges_sql (required) + ) RETURNS BOOLEAN AS $BODY$ diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index 9a06a8f9ddc..662fb3d1ab9 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -135,6 +135,8 @@ _pgr_git_hash() _pgr_iscolumnindexed(text,text,integer,text) _pgr_iscolumnindexed(text,text,text,integer,text) _pgr_iscolumnintable(text,text) +_pgr_isplanar(text) +pgr_isplanar(text) _pgr_johnson(text,boolean) pgr_johnson(text,boolean) pgr_kruskalbfs(text,anyarray,bigint) diff --git a/src/planar/CMakeLists.txt b/src/planar/CMakeLists.txt index dd0ed846117..b5362c085b9 100644 --- a/src/planar/CMakeLists.txt +++ b/src/planar/CMakeLists.txt @@ -1,4 +1,5 @@ ADD_LIBRARY(planar OBJECT boyerMyrvold.c boyerMyrvold_driver.cpp + isPlanar.c ) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 5a84917cc31..fcdf7c695fe 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -39,11 +39,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "drivers/planar/isPlanar_driver.h" +#include "drivers/planar/boyerMyrvold_driver.h" PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_isplanar); -static void +static bool process( char *edges_sql, @@ -66,7 +66,7 @@ process( if (total_edges == 0) { pgr_SPI_finish(); - return; + return (*result_count != 0); //Returning bool here } PGR_DBG("Starting processing"); @@ -74,7 +74,7 @@ process( char *log_msg = NULL; char *notice_msg = NULL; char *err_msg = NULL; - do_pgr_isPlanar( + do_pgr_boyerMyrvold( edges, total_edges, @@ -105,6 +105,7 @@ process( pfree(err_msg); pgr_SPI_finish(); + return (*result_count != 0); //Returning bool Here } PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { @@ -129,11 +130,11 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { /**********************************************************************/ PGR_DBG("Calling process"); - process( + PG_RETURN_BOOL(process( text_to_cstring(PG_GETARG_TEXT_P(0)), &result_tuples, - &result_count); - PG_RETURN_BOOL(result_count != 0) + &result_count)); + // PG_RETURN_BOOL(result_count != 0); /**********************************************************************/ #if PGSQL_VERSION > 95 From ddd296b9650d480140b08d129ae000a1c1ae5602 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 19:51:09 +0530 Subject: [PATCH 0499/1360] Working Code, PG_RETURN_BOOL(*result_count !=0) --- src/planar/isPlanar.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index fcdf7c695fe..eaaea653d63 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -130,11 +130,11 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { /**********************************************************************/ PGR_DBG("Calling process"); - PG_RETURN_BOOL(process( + process( text_to_cstring(PG_GETARG_TEXT_P(0)), &result_tuples, - &result_count)); - // PG_RETURN_BOOL(result_count != 0); + &result_count); + PG_RETURN_BOOL(result_count != 0); /**********************************************************************/ #if PGSQL_VERSION > 95 From 660b243bc1408d32c0b33c7b46d3740487d97069 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 20:32:33 +0530 Subject: [PATCH 0500/1360] Execution with debug --- .github/workflows/ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 5806bf888e6..f0a3f3055a5 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -54,7 +54,7 @@ jobs: export PATH=/usr/lib/postgresql/${{ matrix.psql }}/bin:$PATH mkdir build cd build - cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=OFF .. + cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=Debug -DWITH_DOC=OFF .. - name: Build run: | cd build From 12b00d8bb45fbb4c6e97e46e9ee840acd1ecee99 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 20:45:12 +0530 Subject: [PATCH 0501/1360] Commented the code for .c from maxcalls --- src/planar/isPlanar.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index eaaea653d63..b5c7651c61e 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -158,6 +158,7 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { tuple_desc = funcctx->tuple_desc; result_tuples = (pgr_boyer_t *)funcctx->user_fctx; +#if 0 if (funcctx->call_cntr < funcctx->max_calls) { HeapTuple tuple; Datum result; @@ -199,4 +200,5 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { SRF_RETURN_DONE(funcctx); } +#endif } From 6596143912f4921af2a1a2e2471bccd7a81e52c3 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 20:53:17 +0530 Subject: [PATCH 0502/1360] SRF_RETURN_DONE(funcctx) after #endif --- src/planar/isPlanar.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index b5c7651c61e..a31125bf16f 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -201,4 +201,5 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { SRF_RETURN_DONE(funcctx); } #endif +SRF_RETURN_DONE(funcctx); } From 379597fa01ddf6ad7c42dbd5022342c6a4b05eb8 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 21:05:29 +0530 Subject: [PATCH 0503/1360] process is a bool and first line is true --- src/planar/isPlanar.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index a31125bf16f..8d584c36ef3 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -49,6 +49,7 @@ process( pgr_boyer_t **result_tuples, size_t *result_count) { + return true; pgr_SPI_connect(); PGR_DBG("Initializing arrays"); @@ -130,11 +131,7 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { /**********************************************************************/ PGR_DBG("Calling process"); - process( - text_to_cstring(PG_GETARG_TEXT_P(0)), - &result_tuples, - &result_count); - PG_RETURN_BOOL(result_count != 0); + PG_RETURN_BOOL(process(text_to_cstring(PG_GETARG_TEXT_P(0)))); /**********************************************************************/ #if PGSQL_VERSION > 95 From 127bec6f8218dd41d3606b87b39c7c0e239505e6 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 21:09:20 +0530 Subject: [PATCH 0504/1360] Commented the parameters --- src/planar/isPlanar.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 8d584c36ef3..0079613460d 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -45,10 +45,12 @@ PG_FUNCTION_INFO_V1(_pgr_isplanar); static bool process( - char *edges_sql, - + char *edges_sql +#if 0 pgr_boyer_t **result_tuples, - size_t *result_count) { + size_t *result_count +#endif + ) { return true; pgr_SPI_connect(); From 4b313bc11eb179c04556735a32b610e147cf1a49 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 21:17:52 +0530 Subject: [PATCH 0505/1360] parameters copied --- src/planar/isPlanar.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 0079613460d..d2a6c17b12c 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -52,6 +52,8 @@ process( #endif ) { return true; + pgr_boyer_t *result_tuples = NULL; + size_t result_count = 0; pgr_SPI_connect(); PGR_DBG("Initializing arrays"); From 9df5e06248a76f93adf8ff54571af4bd640d600f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 21:23:54 +0530 Subject: [PATCH 0506/1360] Commented code --- src/planar/isPlanar.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index d2a6c17b12c..cc1f568b01f 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -52,6 +52,7 @@ process( #endif ) { return true; +#if 0 pgr_boyer_t *result_tuples = NULL; size_t result_count = 0; pgr_SPI_connect(); @@ -111,6 +112,7 @@ process( pgr_SPI_finish(); return (*result_count != 0); //Returning bool Here +#end if } PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { @@ -137,6 +139,7 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { PGR_DBG("Calling process"); PG_RETURN_BOOL(process(text_to_cstring(PG_GETARG_TEXT_P(0)))); /**********************************************************************/ +#if 0 #if PGSQL_VERSION > 95 funcctx->max_calls = result_count; @@ -153,9 +156,11 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { funcctx->tuple_desc = tuple_desc; MemoryContextSwitchTo(oldcontext); +#endif } - +#if 0 funcctx = SRF_PERCALL_SETUP(); +#endif tuple_desc = funcctx->tuple_desc; result_tuples = (pgr_boyer_t *)funcctx->user_fctx; From b9e311b841c6d4155262eaec966d32593ce6b21c Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 21:29:37 +0530 Subject: [PATCH 0507/1360] Commenting code --- src/planar/isPlanar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index cc1f568b01f..1c859b2e0ce 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -112,7 +112,7 @@ process( pgr_SPI_finish(); return (*result_count != 0); //Returning bool Here -#end if +#endif } PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { From 6178dda68014afd2fd5351b5ac40ca466c01b2fe Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 21:37:42 +0530 Subject: [PATCH 0508/1360] Commenting code --- src/planar/isPlanar.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 1c859b2e0ce..62ab968d251 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -116,6 +116,7 @@ process( } PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { +#if 0 FuncCallContext *funcctx; TupleDesc tuple_desc; @@ -128,7 +129,7 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { MemoryContext oldcontext; funcctx = SRF_FIRSTCALL_INIT(); oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - +#endif /**********************************************************************/ /* pgr_isPlanar( @@ -156,14 +157,14 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { funcctx->tuple_desc = tuple_desc; MemoryContextSwitchTo(oldcontext); -#endif } +#endif #if 0 funcctx = SRF_PERCALL_SETUP(); -#endif + tuple_desc = funcctx->tuple_desc; result_tuples = (pgr_boyer_t *)funcctx->user_fctx; - +#endif #if 0 if (funcctx->call_cntr < funcctx->max_calls) { HeapTuple tuple; From 5418d778c9886f90b8719430b0f4913f32c203a3 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 21:40:14 +0530 Subject: [PATCH 0509/1360] Removed SRF_RETURN_DONE(funcctx) --- src/planar/isPlanar.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 62ab968d251..98f2a77255c 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -208,5 +208,4 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { SRF_RETURN_DONE(funcctx); } #endif -SRF_RETURN_DONE(funcctx); } From 82be4f4126dfbdf586d37656f87eb099c1a9c75b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 21:56:01 +0530 Subject: [PATCH 0510/1360] Added boolean to return result --- src/planar/isPlanar.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 98f2a77255c..9a3d0fcbd11 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -37,7 +37,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/time_msg.h" #include "c_common/edges_input.h" -#include "c_common/arrays_input.h" #include "drivers/planar/boyerMyrvold_driver.h" PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS); @@ -46,20 +45,16 @@ PG_FUNCTION_INFO_V1(_pgr_isplanar); static bool process( char *edges_sql -#if 0 - pgr_boyer_t **result_tuples, - size_t *result_count -#endif ) { - return true; + bool planarity = false; + return planarity; #if 0 pgr_boyer_t *result_tuples = NULL; size_t result_count = 0; pgr_SPI_connect(); - PGR_DBG("Initializing arrays"); - - + pgr_boyer_t **result_tuples, + size_t *result_count (*result_tuples) = NULL; (*result_count) = 0; From 731ef8d494cfa78ccfeffe7fe68942dc2a539acc Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:01:06 +0530 Subject: [PATCH 0511/1360] pgr_SPI_connect() added in working code --- src/planar/isPlanar.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 9a3d0fcbd11..67950eb4f16 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -47,11 +47,12 @@ process( char *edges_sql ) { bool planarity = false; + pgr_SPI_connect(); return planarity; + #if 0 pgr_boyer_t *result_tuples = NULL; size_t result_count = 0; - pgr_SPI_connect(); pgr_boyer_t **result_tuples, size_t *result_count From af8fb5f01fe883542236ce36e783c5c2691f673c Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:03:25 +0530 Subject: [PATCH 0512/1360] deleted *return_tuples and result_count --- src/planar/isPlanar.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 67950eb4f16..dd83cdac101 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -51,9 +51,6 @@ process( return planarity; #if 0 - pgr_boyer_t *result_tuples = NULL; - size_t result_count = 0; - pgr_boyer_t **result_tuples, size_t *result_count (*result_tuples) = NULL; From befed4aba0d16ceee9261624a3041996bebfeede Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:06:08 +0530 Subject: [PATCH 0513/1360] variable deleted *return_tuples and result_count --- src/planar/isPlanar.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index dd83cdac101..20cb5a6f1cb 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -51,11 +51,6 @@ process( return planarity; #if 0 - pgr_boyer_t **result_tuples, - size_t *result_count - (*result_tuples) = NULL; - (*result_count) = 0; - PGR_DBG("Load data"); pgr_edge_t *edges = NULL; size_t total_edges = 0; From 1c9ee771cfe250b411ad95a854f38a8a567246f6 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:11:49 +0530 Subject: [PATCH 0514/1360] Edges are fully read now --- src/planar/isPlanar.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 20cb5a6f1cb..183e744ef9e 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -48,16 +48,16 @@ process( ) { bool planarity = false; pgr_SPI_connect(); - return planarity; -#if 0 PGR_DBG("Load data"); pgr_edge_t *edges = NULL; size_t total_edges = 0; pgr_get_edges(edges_sql, &edges, &total_edges); - PGR_DBG("Total %ld edges in query:", total_edges); + return planarity; + +#if 0 if (total_edges == 0) { pgr_SPI_finish(); return (*result_count != 0); //Returning bool here From babce9d435ff846175457689aff60161a367f412 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:14:58 +0530 Subject: [PATCH 0515/1360] 0 edges and 0 vertices are non-planar --- src/planar/isPlanar.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 183e744ef9e..6cd34694e0c 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -55,13 +55,13 @@ process( pgr_get_edges(edges_sql, &edges, &total_edges); - return planarity; - -#if 0 if (total_edges == 0) { pgr_SPI_finish(); - return (*result_count != 0); //Returning bool here + return (false); } + return planarity; + +#if 0 PGR_DBG("Starting processing"); clock_t start_t = clock(); From 307906f8c20cd6e0f50bc6e68e7750d0a4a22980 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:16:21 +0530 Subject: [PATCH 0516/1360] Debug statements removed till now --- src/planar/isPlanar.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 6cd34694e0c..7b811b1ecb0 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -49,7 +49,6 @@ process( bool planarity = false; pgr_SPI_connect(); - PGR_DBG("Load data"); pgr_edge_t *edges = NULL; size_t total_edges = 0; @@ -57,13 +56,12 @@ process( if (total_edges == 0) { pgr_SPI_finish(); - return (false); + return (false); } return planarity; #if 0 - PGR_DBG("Starting processing"); clock_t start_t = clock(); char *log_msg = NULL; char *notice_msg = NULL; From dafb4662e1bf5b00fb99d88dd04451b682fb2eef Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:17:52 +0530 Subject: [PATCH 0517/1360] Reached till driver call --- src/planar/isPlanar.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 7b811b1ecb0..7e4d0a9a6ee 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -58,14 +58,14 @@ process( pgr_SPI_finish(); return (false); } - return planarity; - -#if 0 clock_t start_t = clock(); char *log_msg = NULL; char *notice_msg = NULL; char *err_msg = NULL; + return planarity; + +#if 0 do_pgr_boyerMyrvold( edges, total_edges, From 39cdb5575aa82dce7caae1f7201c3bebfddf7ba7 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:21:42 +0530 Subject: [PATCH 0518/1360] commented driver call --- src/planar/isPlanar.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 7e4d0a9a6ee..0b8ae55cbee 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -63,7 +63,7 @@ process( char *log_msg = NULL; char *notice_msg = NULL; char *err_msg = NULL; - return planarity; + #if 0 do_pgr_boyerMyrvold( @@ -76,9 +76,9 @@ process( &log_msg, ¬ice_msg, &err_msg); - - time_msg(" processing pgr_isPlanar", start_t, clock()); - PGR_DBG("Returning %ld tuples", *result_count); +#endif + return planarity; +#if 0 if (err_msg) { if (*result_tuples) From aa9b6821fa3731598421e966f557b368a9755249 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:26:12 +0530 Subject: [PATCH 0519/1360] Reached till pgr_SPI_finish() --- src/planar/isPlanar.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 0b8ae55cbee..b9b614d82cf 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -77,8 +77,7 @@ process( ¬ice_msg, &err_msg); #endif - return planarity; -#if 0 + if (err_msg) { if (*result_tuples) @@ -97,6 +96,9 @@ process( pfree(err_msg); pgr_SPI_finish(); + + return planarity; +#if 0 return (*result_count != 0); //Returning bool Here #endif } From dd44b11fedeb6576818d8797265fc7396e40af0b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:33:24 +0530 Subject: [PATCH 0520/1360] removed *result_tuples --- src/planar/isPlanar.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index b9b614d82cf..425034e305f 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -78,11 +78,7 @@ process( &err_msg); #endif - - if (err_msg) { - if (*result_tuples) - pfree(*result_tuples); - } + time_msg(" processing pgr_isPlanar", start_t, clock()); pgr_global_report(log_msg, notice_msg, err_msg); From 291b8d05df76eec3180ca1c37649f192b1842e86 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:40:16 +0530 Subject: [PATCH 0521/1360] Removed Commented out code --- src/planar/isPlanar.c | 84 ------------------------------------------- 1 file changed, 84 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 425034e305f..e3a232f8a16 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -94,26 +94,9 @@ process( pgr_SPI_finish(); return planarity; -#if 0 - return (*result_count != 0); //Returning bool Here -#endif } PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { -#if 0 - FuncCallContext *funcctx; - TupleDesc tuple_desc; - - /**************************************************************************/ - pgr_boyer_t *result_tuples = NULL; - size_t result_count = 0; - /**************************************************************************/ - - if (SRF_IS_FIRSTCALL()) { - MemoryContext oldcontext; - funcctx = SRF_FIRSTCALL_INIT(); - oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); -#endif /**********************************************************************/ /* pgr_isPlanar( @@ -124,72 +107,5 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { PGR_DBG("Calling process"); PG_RETURN_BOOL(process(text_to_cstring(PG_GETARG_TEXT_P(0)))); /**********************************************************************/ -#if 0 -#if PGSQL_VERSION > 95 - funcctx->max_calls = result_count; -#else - funcctx->max_calls = (uint32_t)result_count; -#endif - funcctx->user_fctx = result_tuples; - if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) { - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("function returning record called in context " - "that cannot accept type record"))); - } - - funcctx->tuple_desc = tuple_desc; - MemoryContextSwitchTo(oldcontext); - } -#endif -#if 0 - funcctx = SRF_PERCALL_SETUP(); - - tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_boyer_t *)funcctx->user_fctx; -#endif -#if 0 - if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; - Datum result; - Datum *values; - bool *nulls; - - /**********************************************************************/ - /* - OUT source BIGINT, - OUT target_vid BIGINT, - OUT cost FLOAT, - */ - /**********************************************************************/ - size_t numb = 4; - values = palloc(numb * sizeof(Datum)); - nulls = palloc(numb * sizeof(bool)); - - size_t i; - for (i = 0; i < numb; ++i) { - nulls[i] = false; - } - - values[0] = Int32GetDatum(funcctx->call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].source); - values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].target); - values[3] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); - - /**********************************************************************/ - - tuple = heap_form_tuple(tuple_desc, values, nulls); - result = HeapTupleGetDatum(tuple); - SRF_RETURN_NEXT(funcctx, result); - } else { - /**********************************************************************/ - - PGR_DBG("Clean up code"); - - /**********************************************************************/ - - SRF_RETURN_DONE(funcctx); - } -#endif } From 6d8f8657a6124f9e2b576313ef9f2e416d471129 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:42:02 +0530 Subject: [PATCH 0522/1360] Debug statement removed --- src/planar/isPlanar.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index e3a232f8a16..2b3105f410a 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -103,8 +103,6 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { edge_sql TEXT) */ /**********************************************************************/ - - PGR_DBG("Calling process"); PG_RETURN_BOOL(process(text_to_cstring(PG_GETARG_TEXT_P(0)))); /**********************************************************************/ From bde49ff13a7c03d4bc7d474353fb4e9df3281e00 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:45:11 +0530 Subject: [PATCH 0523/1360] Drivers argument fixed --- src/planar/isPlanar.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 2b3105f410a..635e98ea9ef 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -70,9 +70,6 @@ process( edges, total_edges, - result_tuples, - result_count, - &log_msg, ¬ice_msg, &err_msg); From 0f9b6575830cf35111201c42eb183f155006c112 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 22:47:18 +0530 Subject: [PATCH 0524/1360] Driver name changed --- src/planar/isPlanar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 635e98ea9ef..31b7a002eda 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -66,7 +66,7 @@ process( #if 0 - do_pgr_boyerMyrvold( + do_pgr_isPlanar( edges, total_edges, From 2d744691d2a3de4ca2a4a24159c0f370143a2159 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 23:05:44 +0530 Subject: [PATCH 0525/1360] Docqueries added for pgr_isPlanar --- docqueries/planar/CMakeLists.txt | 1 + docqueries/planar/doc-pgr_isPlanar.result | 16 ++++++++++++++++ docqueries/planar/doc-pgr_isPlanar.test.sql | 6 ++++++ docqueries/planar/test.conf | 1 + 4 files changed, 24 insertions(+) create mode 100644 docqueries/planar/doc-pgr_isPlanar.result create mode 100644 docqueries/planar/doc-pgr_isPlanar.test.sql diff --git a/docqueries/planar/CMakeLists.txt b/docqueries/planar/CMakeLists.txt index 6d40826ee1c..c7aa8c7b3b3 100644 --- a/docqueries/planar/CMakeLists.txt +++ b/docqueries/planar/CMakeLists.txt @@ -1,6 +1,7 @@ # Do not use extensions SET(LOCAL_FILES doc-pgr_boyerMyrvold + doc-pgr_isPlanar ) foreach (f ${LOCAL_FILES}) diff --git a/docqueries/planar/doc-pgr_isPlanar.result b/docqueries/planar/doc-pgr_isPlanar.result new file mode 100644 index 00000000000..5274cf5b874 --- /dev/null +++ b/docqueries/planar/doc-pgr_isPlanar.result @@ -0,0 +1,16 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +-- q1 +SELECT * FROM pgr_isPlanar( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); +pgr_isplanar +-------------- +f +(1 row) + +ROLLBACK; +ROLLBACK diff --git a/docqueries/planar/doc-pgr_isPlanar.test.sql b/docqueries/planar/doc-pgr_isPlanar.test.sql new file mode 100644 index 00000000000..4cae3fe2170 --- /dev/null +++ b/docqueries/planar/doc-pgr_isPlanar.test.sql @@ -0,0 +1,6 @@ +\echo -- q1 +SELECT * FROM pgr_isPlanar( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + \echo -- q5 diff --git a/docqueries/planar/test.conf b/docqueries/planar/test.conf index 09eecc3207a..7b82b3e090b 100644 --- a/docqueries/planar/test.conf +++ b/docqueries/planar/test.conf @@ -9,6 +9,7 @@ )], 'documentation' => [qw( doc-pgr_boyerMyrvold + doc-pgr_isPlanar )] }, From 387e9e9936230d778937be6b2d4f68e5511784c9 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 27 Jul 2020 23:22:32 +0530 Subject: [PATCH 0526/1360] bool driver.h file added --- docqueries/planar/doc-pgr_isPlanar.result | 5 +- docqueries/planar/test.conf | 1 + include/drivers/planar/isPlanar_driver.h | 66 +++++++++++++++++++++++ src/planar/isPlanar.c | 2 +- 4 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 include/drivers/planar/isPlanar_driver.h diff --git a/docqueries/planar/doc-pgr_isPlanar.result b/docqueries/planar/doc-pgr_isPlanar.result index 5274cf5b874..28692a157e4 100644 --- a/docqueries/planar/doc-pgr_isPlanar.result +++ b/docqueries/planar/doc-pgr_isPlanar.result @@ -7,10 +7,11 @@ SELECT * FROM pgr_isPlanar( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); -pgr_isplanar + pgr_isplanar -------------- -f + f (1 row) +-- q5 ROLLBACK; ROLLBACK diff --git a/docqueries/planar/test.conf b/docqueries/planar/test.conf index 7b82b3e090b..98d01f84663 100644 --- a/docqueries/planar/test.conf +++ b/docqueries/planar/test.conf @@ -6,6 +6,7 @@ 'data' => [ ], 'tests' => [qw( doc-pgr_boyerMyrvold + doc-pgr_isPlanar )], 'documentation' => [qw( doc-pgr_boyerMyrvold diff --git a/include/drivers/planar/isPlanar_driver.h b/include/drivers/planar/isPlanar_driver.h new file mode 100644 index 00000000000..fce3054df54 --- /dev/null +++ b/include/drivers/planar/isPlanar_driver.h @@ -0,0 +1,66 @@ +/*PGR-GNU***************************************************************** +File: isPlanar_driver.h + +Generated with Template by: +Copyright (c) 2019 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_DRIVERS_PLANAR_ISPLANAR_DRIVER_H_ +#define INCLUDE_DRIVERS_PLANAR_ISPLANAR_DRIVER_H_ +#pragma once + +/* for size-t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +#include "c_types/pgr_edge_t.h" +#include "c_types/pgr_boyer_t.h" +#include "c_types/pgr_mst_rt.h" + +#ifdef __cplusplus +extern "C" { +#endif + + /********************************************************* + TEXT + ********************************************************/ + + + bool do_pgr_isPlanar( + pgr_edge_t *data_edges, + size_t total_tuples, + char ** log_msg, + char ** notice_msg, + char ** err_msg); + + +#ifdef __cplusplus +} +#endif + +#endif // INCLUDE_DRIVERS_PLANAR_ISPLANAR_DRIVER_H_ diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 31b7a002eda..c7a0fe3ef69 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -38,7 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" -#include "drivers/planar/boyerMyrvold_driver.h" +#include "drivers/planar/isPlanar_driver.h" PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_isplanar); From 5f42bca9019a98c4646cfc0a6a2ac8584a7d00e6 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 00:11:19 +0530 Subject: [PATCH 0527/1360] planarity assigned to driver call --- src/planar/isPlanar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index c7a0fe3ef69..a44bd2b9950 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -66,7 +66,7 @@ process( #if 0 - do_pgr_isPlanar( + planarity = do_pgr_isPlanar( edges, total_edges, From 7c39f342b124e0784967550b3c405e2054275cdc Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 16:47:54 +0530 Subject: [PATCH 0528/1360] [makeConnected][doc] Modified Additional Examples and signatures --- doc/makeConnected/pgr_makeConnected.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index b813a0e846a..be3274ace24 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -52,7 +52,7 @@ Signatures pgr_makeConnected(edges_sql) - RETURNS SET OF (seq, source, target, cost) + RETURNS SET OF (seq, node_from, node_to) OR EMPTY SET :Example: Query done on :doc:`sampledata` network gives. @@ -112,6 +112,12 @@ Column Type Description Additional Example: ------------------------------------------------------------------------------- +Using pgr_connectedComponents() to check the number of connected components in the graph. + +.. literalinclude:: doc-pgr_stoerWagner.queries + :start-after: -- q2 + :end-before: -- q3 + See Also From 751c0b146d314dfb204197532364a10855f83d3f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 17:17:03 +0530 Subject: [PATCH 0529/1360] [makeConnected][docqueries] Added q2 pgr_connectedComponents() --- .../doc-pgr_makeConnected.result | 47 ++++++++++--------- .../doc-pgr_makeConnected.test.sql | 22 ++------- 2 files changed, 29 insertions(+), 40 deletions(-) diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.result b/docqueries/makeConnected/doc-pgr_makeConnected.result index 7b50a5a3b61..9d40357165e 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.result +++ b/docqueries/makeConnected/doc-pgr_makeConnected.result @@ -14,9 +14,31 @@ SELECT * FROM pgr_makeConnected( (2 rows) -- q2 -INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES -(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); -INSERT 0 7 +SELECT * FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + seq | component | node +-----+-----------+------ + 1 | 1 | 1 + 2 | 1 | 2 + 3 | 1 | 3 + 4 | 1 | 4 + 5 | 1 | 5 + 6 | 1 | 6 + 7 | 1 | 7 + 8 | 1 | 8 + 9 | 1 | 9 + 10 | 1 | 10 + 11 | 1 | 11 + 12 | 1 | 12 + 13 | 1 | 13 + 14 | 14 | 14 + 15 | 14 | 15 + 16 | 16 | 16 + 17 | 16 | 17 +(17 rows) + -- q3 SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost @@ -29,24 +51,5 @@ SELECT * FROM pgr_makeConnected( (2 rows) -- q4 -SELECT * FROM pgr_makeConnected( -$$ - SELECT id, source, target, cost, reverse_cost FROM edge_table - where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) - OR - target = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) -$$ - ); - seq | node_from | node_to ------+-----------+--------- -(0 rows) - --- q5 ROLLBACK; ROLLBACK diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql index a0b356acc1b..28d18ae3ac7 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql +++ b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql @@ -5,8 +5,10 @@ SELECT * FROM pgr_makeConnected( ); \echo -- q2 -INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES -(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); +SELECT * FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); \echo -- q3 @@ -16,19 +18,3 @@ SELECT * FROM pgr_makeConnected( ); \echo -- q4 -SELECT * FROM pgr_makeConnected( -$$ - SELECT id, source, target, cost, reverse_cost FROM edge_table - where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) - OR - target = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) -$$ - ); - - \echo -- q5 From 9976205a0ee8570d7362c8b27da8acaed8de0c1f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 18:25:24 +0530 Subject: [PATCH 0530/1360] [makeConnected] Modified doc and docqueries --- doc/makeConnected/pgr_makeConnected.rst | 15 +++++++++++++++ .../makeConnected/doc-pgr_makeConnected.result | 3 +++ .../makeConnected/doc-pgr_makeConnected.test.sql | 4 ++++ 3 files changed, 22 insertions(+) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index be3274ace24..2e2ce6544ef 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -118,6 +118,21 @@ Using pgr_connectedComponents() to check the number of connected components in t :start-after: -- q2 :end-before: -- q3 +So there are 3 connected components in :doc:`sampledata` namely 1, 14, 16. + + +Now, the list of edges that are needed in the graph to make it connected. + +.. literalinclude:: doc-pgr_stoerWagner.queries + :start-after: -- q3 + :end-before: -- q4 + +Inserting the above edges in the edge_table. + +.. literalinclude:: doc-pgr_stoerWagner.queries + :start-after: -- q4 + :end-before: -- q5 + See Also diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.result b/docqueries/makeConnected/doc-pgr_makeConnected.result index 9d40357165e..04976e350a8 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.result +++ b/docqueries/makeConnected/doc-pgr_makeConnected.result @@ -51,5 +51,8 @@ SELECT * FROM pgr_makeConnected( (2 rows) -- q4 +INSERT INTO edge_table (source,target,cost,reverse_cost) VALUES (13,14,1,-1), (15,16,1,-1); +INSERT 0 2 +-- q5 ROLLBACK; ROLLBACK diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql index 28d18ae3ac7..4856dd2f37b 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql +++ b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql @@ -18,3 +18,7 @@ SELECT * FROM pgr_makeConnected( ); \echo -- q4 + +INSERT INTO edge_table (source,target,cost,reverse_cost) VALUES (13,14,1,-1), (15,16,1,-1); + +\echo -- q5 From 938f45ec4e0a82e067ba38d6b6c9c1b3088fe531 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 19:14:38 +0530 Subject: [PATCH 0531/1360] added driver.cpp for isPlanar --- src/planar/isPlanar.c | 2 - src/planar/isPlanar_driver.cpp | 124 +++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+), 2 deletions(-) create mode 100644 src/planar/isPlanar_driver.cpp diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index a44bd2b9950..0390a8694f8 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -65,7 +65,6 @@ process( char *err_msg = NULL; -#if 0 planarity = do_pgr_isPlanar( edges, total_edges, @@ -73,7 +72,6 @@ process( &log_msg, ¬ice_msg, &err_msg); -#endif time_msg(" processing pgr_isPlanar", start_t, clock()); diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp new file mode 100644 index 00000000000..51744e827e5 --- /dev/null +++ b/src/planar/isPlanar_driver.cpp @@ -0,0 +1,124 @@ +/*PGR-GNU***************************************************************** +File: boyerMyrvold_driver.cpp + +Generated with Template by: +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +#include "drivers/planar/isPlanar_driver.h" + +#include +#include +#include + +#include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/pgr_assert.h" +#include "c_types/pgr_boyer_t.h" + +#include "planar/pgr_boyerMyrvold.hpp" +#include "cpp_common/pgr_base_graph.hpp" + + + +void +do_pgr_isPlanar( + pgr_edge_t *data_edges, + size_t total_edges, + + char ** log_msg, + char ** notice_msg, + char ** err_msg) { + return false; +#if 0 + std::ostringstream log; + std::ostringstream err; + std::ostringstream notice; + try { + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + pgassert(total_edges != 0); + + std::vector results; + std::string logstr; + + graphType gType = UNDIRECTED; + log << "Working with Undirected Graph\n"; + pgrouting::UndirectedGraph undigraph(gType); + undigraph.insert_edges(data_edges, total_edges); + pgrouting::functions::Pgr_boyerMyrvold fn_boyerMyrvold; + results=fn_boyerMyrvold.boyerMyrvold(undigraph); + logstr += fn_boyerMyrvold.get_log(); + log << logstr; + + + auto count = results.size(); + + if (count == 0) { + (*return_tuples) = NULL; + (*return_count) = 0; + notice << + "No Vertices"; + *log_msg = pgr_msg(notice.str().c_str()); + return; + } + + (*return_tuples) = pgr_alloc(count, (*return_tuples)); + log << "\nConverting a set of traversals into the tuples"; + for (size_t i = 0; i < count; i++) { + *((*return_tuples) + i) = results[i]; + } + (*return_count) = count; + + pgassert(*err_msg == NULL); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } +#endif +} From 927e027dae2e90bf9da103edef3e51a2f0a96d0f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 19:19:43 +0530 Subject: [PATCH 0532/1360] return type bool --- src/planar/isPlanar_driver.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index 51744e827e5..d88cb083983 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -35,18 +35,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" -#include "c_types/pgr_boyer_t.h" #include "planar/pgr_boyerMyrvold.hpp" #include "cpp_common/pgr_base_graph.hpp" -void +bool do_pgr_isPlanar( pgr_edge_t *data_edges, size_t total_edges, - + char ** log_msg, char ** notice_msg, char ** err_msg) { From a5f9b15e845c61c97feaa7c7295eb4fcbe061c90 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 20:10:02 +0530 Subject: [PATCH 0533/1360] Modified CMakeLists.txt --- src/planar/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/planar/CMakeLists.txt b/src/planar/CMakeLists.txt index b5362c085b9..4a232a86d91 100644 --- a/src/planar/CMakeLists.txt +++ b/src/planar/CMakeLists.txt @@ -2,4 +2,5 @@ ADD_LIBRARY(planar OBJECT boyerMyrvold.c boyerMyrvold_driver.cpp isPlanar.c + isPlanar_driver.cpp ) From 841620bbd04d188e4f6386664dc7e6791650da0c Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 20:20:20 +0530 Subject: [PATCH 0534/1360] Modified driver.cpp --- src/planar/isPlanar_driver.cpp | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index d88cb083983..b92b81ce58c 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -49,17 +49,16 @@ do_pgr_isPlanar( char ** log_msg, char ** notice_msg, char ** err_msg) { - return false; -#if 0 std::ostringstream log; std::ostringstream err; std::ostringstream notice; try { + + return false; +#if 0 pgassert(!(*log_msg)); pgassert(!(*notice_msg)); pgassert(!(*err_msg)); - pgassert(!(*return_tuples)); - pgassert(*return_count == 0); pgassert(total_edges != 0); std::vector results; @@ -75,23 +74,6 @@ do_pgr_isPlanar( log << logstr; - auto count = results.size(); - - if (count == 0) { - (*return_tuples) = NULL; - (*return_count) = 0; - notice << - "No Vertices"; - *log_msg = pgr_msg(notice.str().c_str()); - return; - } - - (*return_tuples) = pgr_alloc(count, (*return_tuples)); - log << "\nConverting a set of traversals into the tuples"; - for (size_t i = 0; i < count; i++) { - *((*return_tuples) + i) = results[i]; - } - (*return_count) = count; pgassert(*err_msg == NULL); *log_msg = log.str().empty()? @@ -100,6 +82,7 @@ do_pgr_isPlanar( *notice_msg = notice.str().empty()? *notice_msg : pgr_msg(notice.str().c_str()); +#endif } catch (AssertFailedException &except) { (*return_tuples) = pgr_free(*return_tuples); (*return_count) = 0; @@ -119,5 +102,5 @@ do_pgr_isPlanar( *err_msg = pgr_msg(err.str().c_str()); *log_msg = pgr_msg(log.str().c_str()); } -#endif + } From 75d3c919f38741a385a08511d6d1f7a4fc5cf21a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 20:30:49 +0530 Subject: [PATCH 0535/1360] Removed what is not used anymore --- src/planar/isPlanar_driver.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index b92b81ce58c..44b2aa7fc93 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -84,20 +84,14 @@ do_pgr_isPlanar( pgr_msg(notice.str().c_str()); #endif } catch (AssertFailedException &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; err << except.what(); *err_msg = pgr_msg(err.str().c_str()); *log_msg = pgr_msg(log.str().c_str()); } catch (std::exception &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; err << except.what(); *err_msg = pgr_msg(err.str().c_str()); *log_msg = pgr_msg(log.str().c_str()); } catch(...) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; err << "Caught unknown exception!"; *err_msg = pgr_msg(err.str().c_str()); *log_msg = pgr_msg(log.str().c_str()); From 4d5a69dea4d3a01a006697e527ebe4e579e413e7 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 20:40:14 +0530 Subject: [PATCH 0536/1360] Moved #if 0 upto pgassert --- src/planar/isPlanar_driver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index 44b2aa7fc93..908bcbe5cda 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -54,13 +54,13 @@ do_pgr_isPlanar( std::ostringstream notice; try { - return false; -#if 0 pgassert(!(*log_msg)); pgassert(!(*notice_msg)); pgassert(!(*err_msg)); pgassert(total_edges != 0); + return false; +#if 0 std::vector results; std::string logstr; From 4cfa477429854bfcb9d821b2827083e52c6e7757 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 20:42:33 +0530 Subject: [PATCH 0537/1360] Reached before graphType --- src/planar/isPlanar_driver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index 908bcbe5cda..124556a91ee 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -59,10 +59,10 @@ do_pgr_isPlanar( pgassert(!(*err_msg)); pgassert(total_edges != 0); - return false; -#if 0 std::vector results; std::string logstr; + return false; + #if 0 graphType gType = UNDIRECTED; log << "Working with Undirected Graph\n"; From 5e7ff61213a45f945f548d9ec5bba69585be05fd Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 20:50:29 +0530 Subject: [PATCH 0538/1360] Fixed Return type of result --- src/planar/isPlanar_driver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index 124556a91ee..e6afb31dc77 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -59,9 +59,9 @@ do_pgr_isPlanar( pgassert(!(*err_msg)); pgassert(total_edges != 0); - std::vector results; + std::bool result = false; std::string logstr; - return false; + return result; #if 0 graphType gType = UNDIRECTED; From b52d8ee2a81a9c50cc2c4e7eaecb8d473deb0493 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 20:52:23 +0530 Subject: [PATCH 0539/1360] Reached upto insert_edges --- src/planar/isPlanar_driver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index e6afb31dc77..08d2966af22 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -61,13 +61,13 @@ do_pgr_isPlanar( std::bool result = false; std::string logstr; - return result; - #if 0 graphType gType = UNDIRECTED; log << "Working with Undirected Graph\n"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); + return result; +#if 0 pgrouting::functions::Pgr_boyerMyrvold fn_boyerMyrvold; results=fn_boyerMyrvold.boyerMyrvold(undigraph); logstr += fn_boyerMyrvold.get_log(); From 531c16ff0e71650b97709809e8abeafbaedfde8f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 20:59:22 +0530 Subject: [PATCH 0540/1360] Adjusted #endif to just after function call --- src/planar/isPlanar_driver.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index 08d2966af22..57e48524dee 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -59,7 +59,7 @@ do_pgr_isPlanar( pgassert(!(*err_msg)); pgassert(total_edges != 0); - std::bool result = false; + bool result = false; std::string logstr; graphType gType = UNDIRECTED; @@ -73,8 +73,7 @@ do_pgr_isPlanar( logstr += fn_boyerMyrvold.get_log(); log << logstr; - - +#endif pgassert(*err_msg == NULL); *log_msg = log.str().empty()? *log_msg : @@ -82,7 +81,6 @@ do_pgr_isPlanar( *notice_msg = notice.str().empty()? *notice_msg : pgr_msg(notice.str().c_str()); -#endif } catch (AssertFailedException &except) { err << except.what(); *err_msg = pgr_msg(err.str().c_str()); From 5e5532746f27d04c5f47c833727b5339a4ca7e71 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 21:02:53 +0530 Subject: [PATCH 0541/1360] Renamed file --- src/planar/isPlanar_driver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index 57e48524dee..b7cdd541fce 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: boyerMyrvold_driver.cpp +File: isPlanar_driver.cpp Generated with Template by: Copyright (c) 2020 pgRouting developers From 0fa8827dccb1537dfacc088269fe634d921c61bd Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 21:23:04 +0530 Subject: [PATCH 0542/1360] Removed warning(control reaches end of non-void func) --- src/planar/isPlanar_driver.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index b7cdd541fce..0999c2658cb 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -52,6 +52,7 @@ do_pgr_isPlanar( std::ostringstream log; std::ostringstream err; std::ostringstream notice; + bool result = false; try { pgassert(!(*log_msg)); @@ -59,14 +60,14 @@ do_pgr_isPlanar( pgassert(!(*err_msg)); pgassert(total_edges != 0); - bool result = false; + std::string logstr; graphType gType = UNDIRECTED; log << "Working with Undirected Graph\n"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); - return result; + #if 0 pgrouting::functions::Pgr_boyerMyrvold fn_boyerMyrvold; results=fn_boyerMyrvold.boyerMyrvold(undigraph); @@ -94,5 +95,5 @@ do_pgr_isPlanar( *err_msg = pgr_msg(err.str().c_str()); *log_msg = pgr_msg(log.str().c_str()); } - + return result; } From ef831d7a8db481f728e7a2dfa44433c6f72c93e5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 21:26:37 +0530 Subject: [PATCH 0543/1360] Renamed boyerMyrvold to isPlanar --- src/planar/isPlanar_driver.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index 0999c2658cb..17b29cabf47 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -69,12 +69,11 @@ do_pgr_isPlanar( undigraph.insert_edges(data_edges, total_edges); #if 0 - pgrouting::functions::Pgr_boyerMyrvold fn_boyerMyrvold; - results=fn_boyerMyrvold.boyerMyrvold(undigraph); - logstr += fn_boyerMyrvold.get_log(); - log << logstr; - + pgrouting::functions::Pgr_isPlanar fn_isPlanar; + result = fn_isPlanar.isPlanar(undigraph); + logstr += fn_isPlanar.get_log(); #endif + log << logstr; pgassert(*err_msg == NULL); *log_msg = log.str().empty()? *log_msg : From 129d646ee6a82cacdeee502b79e8bd1fe8086f90 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 21:53:32 +0530 Subject: [PATCH 0544/1360] Added isPlanar.hpp --- include/planar/pgr_isPlanar.hpp | 90 +++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 include/planar/pgr_isPlanar.hpp diff --git a/include/planar/pgr_isPlanar.hpp b/include/planar/pgr_isPlanar.hpp new file mode 100644 index 00000000000..02428ad5144 --- /dev/null +++ b/include/planar/pgr_isPlanar.hpp @@ -0,0 +1,90 @@ +/*PGR-GNU***************************************************************** +File: pgr_isPlanar.hpp + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com + +------ +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ +#define INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ +#pragma once + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "cpp_common/pgr_messages.h" +#include "cpp_common/pgr_base_graph.hpp" +#include "c_types/pgr_boyer_t.h" +//****************************************** +using namespace boost; +namespace pgrouting { +namespace functions { + +template < class G > +class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { + public: + typedef typename G::V V; + typedef typename G::E E; + typedef typename G::E_i E_i; + bool boyerMyrvold( + G &graph){ + return false; +#if 0 + return generateboyerMyrvold( + graph); +#endif + } + + private: + bool generateboyerMyrvold( + const G &graph ) { + return false; +#if 0 + std::vector< pgr_boyer_t > results; + auto check = boyer_myrvold_planarity_test(graph.graph); + if(check){ + E_i ei, ei_end; + int i; + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ + int64_t src = graph[graph.source(*ei)].id; + int64_t tgt = graph[graph.target(*ei)].id; + double cost = graph[*ei].cost; + pgr_boyer_t tmp; + tmp.source = src; + tmp.target = tgt; + tmp.cost = cost; + results.push_back(tmp); + } + + } +#endif + return results; + } +}; +} +} + +#endif //INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ From 88e3362e93592daad87f9828dc65708a78af25da Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 21:54:49 +0530 Subject: [PATCH 0545/1360] Renamed boyerMyrvold to isPlanar --- include/planar/pgr_isPlanar.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/planar/pgr_isPlanar.hpp b/include/planar/pgr_isPlanar.hpp index 02428ad5144..82794c74e7f 100644 --- a/include/planar/pgr_isPlanar.hpp +++ b/include/planar/pgr_isPlanar.hpp @@ -44,22 +44,22 @@ namespace pgrouting { namespace functions { template < class G > -class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { +class Pgr_isPlanar : public pgrouting::Pgr_messages { public: typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; - bool boyerMyrvold( + bool isPlanar( G &graph){ return false; #if 0 - return generateboyerMyrvold( + return generateisPlanar( graph); #endif } private: - bool generateboyerMyrvold( + bool generateisPlanar( const G &graph ) { return false; #if 0 From a9228dc1cf5347547e103d3e23709a43abd3e67e Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 21:56:51 +0530 Subject: [PATCH 0546/1360] Adjusted #endif --- include/planar/pgr_isPlanar.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/planar/pgr_isPlanar.hpp b/include/planar/pgr_isPlanar.hpp index 82794c74e7f..b540796b6fa 100644 --- a/include/planar/pgr_isPlanar.hpp +++ b/include/planar/pgr_isPlanar.hpp @@ -80,8 +80,8 @@ class Pgr_isPlanar : public pgrouting::Pgr_messages { } } -#endif return results; +#endif } }; } From 1900d93db3a75aeea7a1b11db2383fd16902b02f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 22:12:17 +0530 Subject: [PATCH 0547/1360] Modified pgr_boyerMyrvold.hpp --- include/planar/pgr_boyerMyrvold.hpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp index 9355a380f18..ca05c39db1a 100644 --- a/include/planar/pgr_boyerMyrvold.hpp +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -49,22 +49,27 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; - std::vector boyerMyrvold( + bool boyerMyrvold( G &graph){ + return false; +#if 0 return generateboyerMyrvold( graph); +#endif } private: - std::vector< pgr_boyer_t > + bool generateboyerMyrvold( const G &graph ) { + return false; +#if 0 std::vector< pgr_boyer_t > results; auto check = boyer_myrvold_planarity_test(graph.graph); if(check){ - E_i ei, ei_end; - int i; - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ + E_i ei, ei_end; + int i; + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ int64_t src = graph[graph.source(*ei)].id; int64_t tgt = graph[graph.target(*ei)].id; double cost = graph[*ei].cost; @@ -77,6 +82,7 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { } return results; +#endif } }; } From b3350a892d4e574422094ab14f2ef9f90ca888fe Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 22:20:50 +0530 Subject: [PATCH 0548/1360] Recovered file and delete extra one --- include/planar/pgr_boyerMyrvold.hpp | 16 ++--- include/planar/pgr_isPlanar.hpp | 90 ----------------------------- 2 files changed, 5 insertions(+), 101 deletions(-) delete mode 100644 include/planar/pgr_isPlanar.hpp diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp index ca05c39db1a..9355a380f18 100644 --- a/include/planar/pgr_boyerMyrvold.hpp +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -49,27 +49,22 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; - bool boyerMyrvold( + std::vector boyerMyrvold( G &graph){ - return false; -#if 0 return generateboyerMyrvold( graph); -#endif } private: - bool + std::vector< pgr_boyer_t > generateboyerMyrvold( const G &graph ) { - return false; -#if 0 std::vector< pgr_boyer_t > results; auto check = boyer_myrvold_planarity_test(graph.graph); if(check){ - E_i ei, ei_end; - int i; - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ + E_i ei, ei_end; + int i; + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ int64_t src = graph[graph.source(*ei)].id; int64_t tgt = graph[graph.target(*ei)].id; double cost = graph[*ei].cost; @@ -82,7 +77,6 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { } return results; -#endif } }; } diff --git a/include/planar/pgr_isPlanar.hpp b/include/planar/pgr_isPlanar.hpp deleted file mode 100644 index b540796b6fa..00000000000 --- a/include/planar/pgr_isPlanar.hpp +++ /dev/null @@ -1,90 +0,0 @@ -/*PGR-GNU***************************************************************** -File: pgr_isPlanar.hpp - -Copyright (c) 2020 pgRouting developers -Mail: project@pgrouting.org - -Copyright (c) 2020 Himanshu Raj -Mail: raj.himanshu2@gmail.com - ------- -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -********************************************************************PGR-GNU*/ - -#ifndef INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ -#define INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ -#pragma once - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "cpp_common/pgr_messages.h" -#include "cpp_common/pgr_base_graph.hpp" -#include "c_types/pgr_boyer_t.h" -//****************************************** -using namespace boost; -namespace pgrouting { -namespace functions { - -template < class G > -class Pgr_isPlanar : public pgrouting::Pgr_messages { - public: - typedef typename G::V V; - typedef typename G::E E; - typedef typename G::E_i E_i; - bool isPlanar( - G &graph){ - return false; -#if 0 - return generateisPlanar( - graph); -#endif - } - - private: - bool generateisPlanar( - const G &graph ) { - return false; -#if 0 - std::vector< pgr_boyer_t > results; - auto check = boyer_myrvold_planarity_test(graph.graph); - if(check){ - E_i ei, ei_end; - int i; - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ - int64_t src = graph[graph.source(*ei)].id; - int64_t tgt = graph[graph.target(*ei)].id; - double cost = graph[*ei].cost; - pgr_boyer_t tmp; - tmp.source = src; - tmp.target = tgt; - tmp.cost = cost; - results.push_back(tmp); - } - - } - return results; -#endif - } -}; -} -} - -#endif //INCLUDE_PLANAR_PGR_ISPLANAR_HPP_ From 728c97282b52e17b6ce11c9f9c46847dcf63f74a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 22:30:44 +0530 Subject: [PATCH 0549/1360] two functions in the same class --- include/planar/pgr_boyerMyrvold.hpp | 37 ++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp index 9355a380f18..3aaf3e05b5e 100644 --- a/include/planar/pgr_boyerMyrvold.hpp +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -54,6 +54,11 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { return generateboyerMyrvold( graph); } + bool isPlanar( + G &graph){ + return generateisPlanar( + graph); + } private: std::vector< pgr_boyer_t > @@ -62,9 +67,9 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { std::vector< pgr_boyer_t > results; auto check = boyer_myrvold_planarity_test(graph.graph); if(check){ - E_i ei, ei_end; - int i; - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ + E_i ei, ei_end; + int i; + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ int64_t src = graph[graph.source(*ei)].id; int64_t tgt = graph[graph.target(*ei)].id; double cost = graph[*ei].cost; @@ -78,6 +83,32 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { } return results; } + + bool + generateisPlanar( + const G &graph ) { + return false; + std::vector< pgr_boyer_t > results; + auto check = boyer_myrvold_planarity_test(graph.graph); + if(check){ + E_i ei, ei_end; + int i; + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ + int64_t src = graph[graph.source(*ei)].id; + int64_t tgt = graph[graph.target(*ei)].id; + double cost = graph[*ei].cost; + pgr_boyer_t tmp; + tmp.source = src; + tmp.target = tgt; + tmp.cost = cost; + results.push_back(tmp); + } + + } + return results; + } + + }; } } From 6a0281a62ab9d6c9631aaefd85b1406cb78230f6 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 22:36:47 +0530 Subject: [PATCH 0550/1360] Returning the value of function --- include/planar/pgr_boyerMyrvold.hpp | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp index 3aaf3e05b5e..f033807cd38 100644 --- a/include/planar/pgr_boyerMyrvold.hpp +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -87,22 +87,7 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { bool generateisPlanar( const G &graph ) { - return false; - std::vector< pgr_boyer_t > results; - auto check = boyer_myrvold_planarity_test(graph.graph); - if(check){ - E_i ei, ei_end; - int i; - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ - int64_t src = graph[graph.source(*ei)].id; - int64_t tgt = graph[graph.target(*ei)].id; - double cost = graph[*ei].cost; - pgr_boyer_t tmp; - tmp.source = src; - tmp.target = tgt; - tmp.cost = cost; - results.push_back(tmp); - } + return (boyer_myrvold_planarity_test(graph.graph)); } return results; From b34ca7db5eb1c5707f656f6cf0ff9c8644f5a784 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 22:39:42 +0530 Subject: [PATCH 0551/1360] isPlanar have only public function --- include/planar/pgr_boyerMyrvold.hpp | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp index f033807cd38..696e69ef205 100644 --- a/include/planar/pgr_boyerMyrvold.hpp +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -56,8 +56,7 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { } bool isPlanar( G &graph){ - return generateisPlanar( - graph); + return (boyer_myrvold_planarity_test(graph.graph)); } private: @@ -84,16 +83,6 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { return results; } - bool - generateisPlanar( - const G &graph ) { - return (boyer_myrvold_planarity_test(graph.graph)); - - } - return results; - } - - }; } } From b3262af6705043a6d9ce5ae808ca744745dcc931 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 22:44:35 +0530 Subject: [PATCH 0552/1360] Fixed indentation --- include/planar/pgr_boyerMyrvold.hpp | 44 +++++++++++++---------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp index 696e69ef205..93bdd233c9c 100644 --- a/include/planar/pgr_boyerMyrvold.hpp +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -49,34 +49,30 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; - std::vector boyerMyrvold( - G &graph){ - return generateboyerMyrvold( - graph); - } - bool isPlanar( - G &graph){ - return (boyer_myrvold_planarity_test(graph.graph)); - } + std::vector boyerMyrvold(G &graph){ + return generateboyerMyrvold(graph); + } + + bool isPlanar(G &graph){ + return (boyer_myrvold_planarity_test(graph.graph)); + } private: - std::vector< pgr_boyer_t > - generateboyerMyrvold( - const G &graph ) { - std::vector< pgr_boyer_t > results; - auto check = boyer_myrvold_planarity_test(graph.graph); - if(check){ + std::vector< pgr_boyer_t >generateboyerMyrvold(const G &graph ) { + std::vector< pgr_boyer_t > results; + auto check = boyer_myrvold_planarity_test(graph.graph); + if(check){ E_i ei, ei_end; int i; - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ - int64_t src = graph[graph.source(*ei)].id; - int64_t tgt = graph[graph.target(*ei)].id; - double cost = graph[*ei].cost; - pgr_boyer_t tmp; - tmp.source = src; - tmp.target = tgt; - tmp.cost = cost; - results.push_back(tmp); + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ + int64_t src = graph[graph.source(*ei)].id; + int64_t tgt = graph[graph.target(*ei)].id; + double cost = graph[*ei].cost; + pgr_boyer_t tmp; + tmp.source = src; + tmp.target = tgt; + tmp.cost = cost; + results.push_back(tmp); } } From 83c8f985d16f21ff150d591db7470b123d5eecb1 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 23:10:39 +0530 Subject: [PATCH 0553/1360] Uncommented to make the call --- src/planar/isPlanar_driver.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index 17b29cabf47..cc9c39d4a5b 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -60,20 +60,17 @@ do_pgr_isPlanar( pgassert(!(*err_msg)); pgassert(total_edges != 0); - std::string logstr; graphType gType = UNDIRECTED; log << "Working with Undirected Graph\n"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); - -#if 0 pgrouting::functions::Pgr_isPlanar fn_isPlanar; result = fn_isPlanar.isPlanar(undigraph); logstr += fn_isPlanar.get_log(); -#endif log << logstr; + pgassert(*err_msg == NULL); *log_msg = log.str().empty()? *log_msg : From 7ac6e7d2c3f18b32d320d92d65bc2541dbb4f31b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 28 Jul 2020 23:21:51 +0530 Subject: [PATCH 0554/1360] Returning value just after the call --- src/planar/isPlanar_driver.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index cc9c39d4a5b..293e6d0046b 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -60,16 +60,13 @@ do_pgr_isPlanar( pgassert(!(*err_msg)); pgassert(total_edges != 0); - std::string logstr; - graphType gType = UNDIRECTED; log << "Working with Undirected Graph\n"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); - pgrouting::functions::Pgr_isPlanar fn_isPlanar; + pgrouting::functions::Pgr_boyerMyrvold fn_isPlanar; result = fn_isPlanar.isPlanar(undigraph); - logstr += fn_isPlanar.get_log(); - log << logstr; + return result; pgassert(*err_msg == NULL); *log_msg = log.str().empty()? From 0011f9bcb8b0c97fc8d1199a66f367c0bdd2aee2 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 29 Jul 2020 12:21:22 +0530 Subject: [PATCH 0555/1360] [planar] docqueries result modified --- docqueries/planar/doc-pgr_isPlanar.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docqueries/planar/doc-pgr_isPlanar.result b/docqueries/planar/doc-pgr_isPlanar.result index 28692a157e4..733c52b0ee8 100644 --- a/docqueries/planar/doc-pgr_isPlanar.result +++ b/docqueries/planar/doc-pgr_isPlanar.result @@ -9,7 +9,7 @@ SELECT * FROM pgr_isPlanar( ); pgr_isplanar -------------- - f + t (1 row) -- q5 From 5983874559ce766ff4d8e2f9f60242fe60eb4ced Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 29 Jul 2020 13:28:22 +0530 Subject: [PATCH 0556/1360] [isPlanar][doc] Added doc files --- doc/planar/CMakeLists.txt | 11 ++++ doc/planar/pgr_isPlanar.rst | 123 ++++++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 doc/planar/CMakeLists.txt create mode 100644 doc/planar/pgr_isPlanar.rst diff --git a/doc/planar/CMakeLists.txt b/doc/planar/CMakeLists.txt new file mode 100644 index 00000000000..b674dace301 --- /dev/null +++ b/doc/planar/CMakeLists.txt @@ -0,0 +1,11 @@ + +SET(LOCAL_FILES + pgr_isPlanar.rst + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") + list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst new file mode 100644 index 00000000000..4c7b4588ae1 --- /dev/null +++ b/doc/planar/pgr_isPlanar.rst @@ -0,0 +1,123 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +pgr_isPlanar - Experimental +=============================================================================== + +``pgr_isPlanar`` — Returns a boolean depending upon the planarity of the graph. Result +is true if the input graph is planar and false if the input graph is non-planar. In +particular, the boost::boyer_myrvold_planarity_test() is implemented by Boost.Graph. + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/libs/graph/doc/boyer_myrvold.html + + Boost Graph Inside + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. rubric:: Availability + + +Description +------------------------------------------------------------------------------- + +A graph is planar if it can be drawn in two-dimensional space with no two of its edges crossing. Such a drawing +of a planar graph is called a plane drawing. Every planar graph also admits a straight-line drawing, which is a +plane drawing where each edge is represented by a line segment. + +The main characteristics are: + - It will return a bool value depending upon the planarity of the graph. + + - Applicable only for undirected graphs. + + - The graph can be either weighted or unweighted. + + - **Running time:** Assuming that both the vertex index and edge index supplied take time O(1) to return an index + and there are O(n) total self-loops and parallel edges in the graph, most combinations of arguments given to + boyer_myrvold_planarity_test() result in an algorithm that runs in time O(n) for a graph with n vertices and m edges. + + +Signatures +------------------------------------------------------------------------------- + +.. rubric:: Summary + +.. code-block:: none + + pgr_isPlanar(edges_sql) + + RETURNS BOOLEAN + +:Example: Query done on :doc:`sampledata` network gives. + +.. literalinclude:: doc-pgr_isPlanar.queries + :start-after: -- q1 + :end-before: -- q2 + +Parameters +------------------------------------------------------------------------------- + +=================== ====================== ========= ================================================= +Parameter Type Default Description +=================== ====================== ========= ================================================= +**edges_sql** ``TEXT`` SQL query as described above. +=================== ====================== ========= ================================================= + +Inner query +------------------------------------------------------------------------------- + +:edges_sql: an SQL query, which should return a set of rows with the following columns: + +================= =================== ======== ================================================= +Column Type Default Description +================= =================== ======== ================================================= +**id** ``ANY-INTEGER`` Identifier of the edge. +**source** ``ANY-INTEGER`` Identifier of the first end point vertex of the edge. +**target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. +**cost** ``ANY-NUMERICAL`` Weight of the edge `(source, target)` + + - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. + +**reverse_cost** ``ANY-NUMERICAL`` -1 Weight of the edge `(target, source)`, + + - When negative: edge `(target, source)` does not exist, therefore it's not part of the graph. + +================= =================== ======== ================================================= + +Where: + +:ANY-INTEGER: SMALLINT, INTEGER, BIGINT +:ANY-NUMERICAL: SMALLINT, INTEGER, BIGINT, REAL, FLOAT + +Result Columns +------------------------------------------------------------------------------- + +Returns a boolean ``(pgr_isplanar)`` + +=============== =========== ============================================================ +Column Type Description +=============== =========== ============================================================ +**pgr_isplanar** ``BOOLEAN`` `t` if graph is planar and `f` if graph is non-planar. +=============== =========== ============================================================ + +Additional Example: +------------------------------------------------------------------------------- + +See Also +------------------------------------------------------------------------------- + +* https://www.boost.org/libs/graph/doc/boyer_myrvold.html +* The queries use the :doc:`sampledata` network. + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` From f16924172160e5ae4abfcf1dd67ef56805b355ba Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 29 Jul 2020 17:35:54 +0530 Subject: [PATCH 0557/1360] Documented parameters correctly --- doc/planar/pgr_isPlanar.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 4c7b4588ae1..966e3e0470a 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -52,7 +52,7 @@ Signatures .. code-block:: none - pgr_isPlanar(edges_sql) + pgr_isPlanar(Edges SQL) RETURNS BOOLEAN @@ -68,13 +68,13 @@ Parameters =================== ====================== ========= ================================================= Parameter Type Default Description =================== ====================== ========= ================================================= -**edges_sql** ``TEXT`` SQL query as described above. +**Edges SQL** ``TEXT`` SQL query as described above. =================== ====================== ========= ================================================= Inner query ------------------------------------------------------------------------------- -:edges_sql: an SQL query, which should return a set of rows with the following columns: +:Edges SQL: an SQL query, which should return a set of rows with the following columns: ================= =================== ======== ================================================= Column Type Default Description From 0b00d5aa7cd96b4992d81f67579c91a7af606765 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 29 Jul 2020 17:58:08 +0530 Subject: [PATCH 0558/1360] [isPlanar][doc] Additional One Example --- doc/planar/pgr_isPlanar.rst | 9 +++++++++ docqueries/planar/doc-pgr_isPlanar.result | 5 ++++- docqueries/planar/doc-pgr_isPlanar.test.sql | 5 ++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 966e3e0470a..d10d476dd2f 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -111,6 +111,15 @@ Column Type Description Additional Example: ------------------------------------------------------------------------------- +Now, let's add some edges to make the :doc:`sampledata` graph non-planar. Inserting edges between every pair +in this list of vertices 1, 2, 3, 4, 5. This will make the graph non-planar. + +.. literalinclude:: doc-pgr_isPlanar.queries + :start-after: -- q2 + :end-before: -- q3 + +Now, check the planarity. + See Also ------------------------------------------------------------------------------- diff --git a/docqueries/planar/doc-pgr_isPlanar.result b/docqueries/planar/doc-pgr_isPlanar.result index 733c52b0ee8..ab6edae71e4 100644 --- a/docqueries/planar/doc-pgr_isPlanar.result +++ b/docqueries/planar/doc-pgr_isPlanar.result @@ -12,6 +12,9 @@ SELECT * FROM pgr_isPlanar( t (1 row) --- q5 +-- q2 +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); +INSERT 0 7 ROLLBACK; ROLLBACK diff --git a/docqueries/planar/doc-pgr_isPlanar.test.sql b/docqueries/planar/doc-pgr_isPlanar.test.sql index 4cae3fe2170..b7a0a8ef85c 100644 --- a/docqueries/planar/doc-pgr_isPlanar.test.sql +++ b/docqueries/planar/doc-pgr_isPlanar.test.sql @@ -3,4 +3,7 @@ SELECT * FROM pgr_isPlanar( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); - \echo -- q5 +\echo -- q2 + +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); From ec2efc6a0a66bcfd7aebc33d7ab09a5c751929da Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 29 Jul 2020 18:13:39 +0530 Subject: [PATCH 0559/1360] [isPlanar][docqueries] Modified docqueries for non-planar graphs --- docqueries/planar/doc-pgr_isPlanar.result | 12 +++++++++++- docqueries/planar/doc-pgr_isPlanar.test.sql | 8 +++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/docqueries/planar/doc-pgr_isPlanar.result b/docqueries/planar/doc-pgr_isPlanar.result index ab6edae71e4..9e2136d5b06 100644 --- a/docqueries/planar/doc-pgr_isPlanar.result +++ b/docqueries/planar/doc-pgr_isPlanar.result @@ -14,7 +14,17 @@ SELECT * FROM pgr_isPlanar( -- q2 INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES -(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); +(1, 3, 1, -1), (1, 4, 1, -1), (1, 5, 1, -1), (2, 4, 1, -1), (2, 5, 1, -1), (3, 5, 1, -1), (4, 5, 1, -1); INSERT 0 7 +-- q3 +SELECT * FROM pgr_isPlanar( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + pgr_isplanar +-------------- + f +(1 row) + ROLLBACK; ROLLBACK diff --git a/docqueries/planar/doc-pgr_isPlanar.test.sql b/docqueries/planar/doc-pgr_isPlanar.test.sql index b7a0a8ef85c..d5178222c45 100644 --- a/docqueries/planar/doc-pgr_isPlanar.test.sql +++ b/docqueries/planar/doc-pgr_isPlanar.test.sql @@ -6,4 +6,10 @@ SELECT * FROM pgr_isPlanar( \echo -- q2 INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES -(1,3,1,-1),(1,4,1,-1),(1,5,1,-1),(2,4,1,-1),(2,5,1,-1),(3,5,1,-1),(4,5,1,-1); +(1, 3, 1, -1), (1, 4, 1, -1), (1, 5, 1, -1), (2, 4, 1, -1), (2, 5, 1, -1), (3, 5, 1, -1), (4, 5, 1, -1); + +\echo -- q3 +SELECT * FROM pgr_isPlanar( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); From 60d3360466b2a974a7f4ac23d79257f3f75e1fe7 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 29 Jul 2020 18:37:04 +0530 Subject: [PATCH 0560/1360] [isPlanar][doc] Added query --q4 in the documentation --- doc/planar/pgr_isPlanar.rst | 10 ++++++++++ docqueries/planar/doc-pgr_isPlanar.result | 20 ++++++++++++++++++++ docqueries/planar/doc-pgr_isPlanar.test.sql | 16 ++++++++++++++++ 3 files changed, 46 insertions(+) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index d10d476dd2f..32e8c70b4c4 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -120,6 +120,16 @@ in this list of vertices 1, 2, 3, 4, 5. This will make the graph non-planar. Now, check the planarity. +.. literalinclude:: doc-pgr_isPlanar.queries + :start-after: -- q3 + :end-before: -- q4 + +Use of pgr_connectedComponents( ) function in query to check the planarity of a particular component. + +.. literalinclude:: doc-pgr_isPlanar.queries + :start-after: -- q4 + :end-before: -- q5 + See Also ------------------------------------------------------------------------------- diff --git a/docqueries/planar/doc-pgr_isPlanar.result b/docqueries/planar/doc-pgr_isPlanar.result index 9e2136d5b06..b1e264faeff 100644 --- a/docqueries/planar/doc-pgr_isPlanar.result +++ b/docqueries/planar/doc-pgr_isPlanar.result @@ -26,5 +26,25 @@ SELECT * FROM pgr_isPlanar( f (1 row) +-- q4 +SELECT * FROM pgr_isPlanar( +$$ + SELECT id, source, target, cost, reverse_cost FROM edge_table + where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) + OR + target = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) +$$ + ); + pgr_isplanar +-------------- + t +(1 row) + ROLLBACK; ROLLBACK diff --git a/docqueries/planar/doc-pgr_isPlanar.test.sql b/docqueries/planar/doc-pgr_isPlanar.test.sql index d5178222c45..a8fb961a417 100644 --- a/docqueries/planar/doc-pgr_isPlanar.test.sql +++ b/docqueries/planar/doc-pgr_isPlanar.test.sql @@ -13,3 +13,19 @@ SELECT * FROM pgr_isPlanar( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); + +\echo -- q4 +SELECT * FROM pgr_isPlanar( +$$ + SELECT id, source, target, cost, reverse_cost FROM edge_table + where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) + OR + target = any (ARRAY(SELECT node FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') + WHERE component = 14) + ) +$$ + ); From 47db1aef94e3c298aa7a4bc7ebe36b0d5925d021 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 29 Jul 2020 20:39:07 +0530 Subject: [PATCH 0561/1360] pgr_makeConnected and pgr_isPlanar in experimental.rst --- doc/src/experimental.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index f5310720fff..96156b98f63 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -101,6 +101,8 @@ Experimental Functions - :doc:`pgr_breadthFirstSearch` - :doc:`pgr_dagShortestPath` - :doc:`pgr_edwardMoore` +- :doc:`pgr_isPlanar` +- :doc:`pgr_makeConnected` - :doc:`pgr_stoerWagner` - :doc:`pgr_topologicalSort` - :doc:`pgr_transitiveClosure` @@ -114,6 +116,8 @@ Experimental Functions pgr_breadthFirstSearch pgr_dagShortestPath pgr_edwardMoore + pgr_isPlanar + pgr_makeConnected pgr_stoerWagner pgr_topologicalSort pgr_transitiveClosure From 3b944e7bc4ee4772f9d3a1d2018994496adbe036 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 29 Jul 2020 20:41:43 +0530 Subject: [PATCH 0562/1360] [isPlanar][docqueries] Modified docqueries to fix doc error --- docqueries/planar/doc-pgr_isPlanar.result | 1 + docqueries/planar/doc-pgr_isPlanar.test.sql | 1 + 2 files changed, 2 insertions(+) diff --git a/docqueries/planar/doc-pgr_isPlanar.result b/docqueries/planar/doc-pgr_isPlanar.result index b1e264faeff..02a5626efe3 100644 --- a/docqueries/planar/doc-pgr_isPlanar.result +++ b/docqueries/planar/doc-pgr_isPlanar.result @@ -46,5 +46,6 @@ $$ t (1 row) +-- q5 ROLLBACK; ROLLBACK diff --git a/docqueries/planar/doc-pgr_isPlanar.test.sql b/docqueries/planar/doc-pgr_isPlanar.test.sql index a8fb961a417..cba30afd3bf 100644 --- a/docqueries/planar/doc-pgr_isPlanar.test.sql +++ b/docqueries/planar/doc-pgr_isPlanar.test.sql @@ -29,3 +29,4 @@ $$ ) $$ ); + \echo -- q5 From e725d8682e75def859d1f73606eaff5c245d7eae Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 29 Jul 2020 20:43:01 +0530 Subject: [PATCH 0563/1360] [makeConnected][doc] Modified to fix doc errors --- doc/makeConnected/pgr_makeConnected.rst | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index 2e2ce6544ef..e03d350a7b4 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -114,27 +114,22 @@ Additional Example: Using pgr_connectedComponents() to check the number of connected components in the graph. -.. literalinclude:: doc-pgr_stoerWagner.queries +.. literalinclude:: doc-pgr_makeConnected.queries :start-after: -- q2 :end-before: -- q3 -So there are 3 connected components in :doc:`sampledata` namely 1, 14, 16. - +So there are 3 connected components in :doc:`sampledata` namely 1, 14, 16. Now, the list of edges that are needed in the graph to make it connected. -Now, the list of edges that are needed in the graph to make it connected. - -.. literalinclude:: doc-pgr_stoerWagner.queries +.. literalinclude:: doc-pgr_makeConnected.queries :start-after: -- q3 :end-before: -- q4 Inserting the above edges in the edge_table. -.. literalinclude:: doc-pgr_stoerWagner.queries +.. literalinclude:: doc-pgr_makeConnected.queries :start-after: -- q4 :end-before: -- q5 - - See Also ------------------------------------------------------------------------------- From 483cf9b55391517317ad8360f6e5b919310125d0 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 29 Jul 2020 20:44:32 +0530 Subject: [PATCH 0564/1360] [isPlanar][doc] Modified to fix make doc errors --- doc/planar/pgr_isPlanar.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 32e8c70b4c4..34614240d51 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -102,11 +102,11 @@ Result Columns Returns a boolean ``(pgr_isplanar)`` -=============== =========== ============================================================ -Column Type Description -=============== =========== ============================================================ -**pgr_isplanar** ``BOOLEAN`` `t` if graph is planar and `f` if graph is non-planar. -=============== =========== ============================================================ +================= =========== ============================================================ +Column Type Description +================= =========== ============================================================ +**pgr_isplanar** ``BOOLEAN`` `t` if graph is planar and `f` if graph is non-planar. +================= =========== ============================================================ Additional Example: ------------------------------------------------------------------------------- From d808b2186dc35261dbe5e9484e190f6d0b78c5a7 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 29 Jul 2020 20:45:22 +0530 Subject: [PATCH 0565/1360] Modified configuration.conf --- configuration.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configuration.conf b/configuration.conf index cf0cac63e42..e0eb4151b5d 100644 --- a/configuration.conf +++ b/configuration.conf @@ -42,8 +42,8 @@ transitiveClosure | Y | Y | Y breadthFirstSearch | Y | Y | Y traversal | Y | Y | Y coloring | Y | Y | Y -planar | Y | Y | N -makeConnected | Y | Y | N +planar | Y | Y | Y +makeConnected | Y | Y | Y #---------------------- # SQL only directories #---------------------- From 34b8142f4e81b4ee627a4c15566a2818b4565638 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 30 Jul 2020 11:11:49 +0530 Subject: [PATCH 0566/1360] Restored original file --- doc/src/pgRouting-introduction.rst | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/doc/src/pgRouting-introduction.rst b/doc/src/pgRouting-introduction.rst index 923380efe1e..5034ff6828f 100644 --- a/doc/src/pgRouting-introduction.rst +++ b/doc/src/pgRouting-introduction.rst @@ -58,18 +58,8 @@ Individuals (in alphabetical order) Ashish Kumar, Cayetano Benavent, Daniel Kastl, -Himanshu Raj, Martha Vergara, Regina Obe, -Gudesa Venkata Sai Akhil, -Hang Wu, -Himanshu Raj, -Imre Samu, -Maoguang Wang, Martha Vergara, -Mohamed Bakli, -Mahmoud SAKR, Esteban Zimanyi -Regina Obe, Rohith Reddy, -Sourabh Garg, Virginia Vergara @@ -136,3 +126,4 @@ More Information * PostGIS extension at the PostGIS project web site https://postgis.net. * Boost C++ source libraries at https://www.boost.org. * The Migration guide can be found at https://github.com/pgRouting/pgrouting/wiki/Migration-Guide. + From a43c6909c718415875330d8bce6c6efd3bef4d85 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 30 Jul 2020 15:04:01 +0530 Subject: [PATCH 0567/1360] Added name in contributors list --- doc/src/pgRouting-introduction.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/src/pgRouting-introduction.rst b/doc/src/pgRouting-introduction.rst index 5034ff6828f..6f03df785d4 100644 --- a/doc/src/pgRouting-introduction.rst +++ b/doc/src/pgRouting-introduction.rst @@ -58,6 +58,7 @@ Individuals (in alphabetical order) Ashish Kumar, Cayetano Benavent, Daniel Kastl, +Himanshu Raj, Martha Vergara, Regina Obe, Virginia Vergara @@ -92,6 +93,7 @@ Esteban Zimanyi, Florian Thurkow, Frederic Junod, Gerald Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, +Himanshu Raj, Imre Samu, Jay Mahadeokar, Jinfu Leng, Kai Behncke, Kishore Kumar, Ko Nagase, @@ -126,4 +128,3 @@ More Information * PostGIS extension at the PostGIS project web site https://postgis.net. * Boost C++ source libraries at https://www.boost.org. * The Migration guide can be found at https://github.com/pgRouting/pgrouting/wiki/Migration-Guide. - From 718965846ae16c0672ea5a4d4e8867b0c1cc5c5b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 30 Jul 2020 15:50:24 +0530 Subject: [PATCH 0568/1360] [makeConnected][doc] Modified docqueries --- doc/makeConnected/pgr_makeConnected.rst | 36 ++++++++----------- .../doc-pgr_makeConnected.result | 19 +++------- .../doc-pgr_makeConnected.test.sql | 14 +++----- 3 files changed, 22 insertions(+), 47 deletions(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index e03d350a7b4..01d78afe6b5 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -55,12 +55,25 @@ Signatures RETURNS SET OF (seq, node_from, node_to) OR EMPTY SET -:Example: Query done on :doc:`sampledata` network gives. +Using pgr_connectedComponents() to check the number of connected components in the :doc:`sampledata` graph. +There are 3 connected components namely **1**, **14**, **16**. .. literalinclude:: doc-pgr_makeConnected.queries :start-after: -- q1 :end-before: -- q2 +:Example: Query done on :doc:`sampledata` network gives. The query gives list of edges that are needed in the graph to make it connected. + +.. literalinclude:: doc-pgr_makeConnected.queries + :start-after: -- q2 + :end-before: -- q3 + +Inserting the above list of edges in the edge_table. + +.. literalinclude:: doc-pgr_makeConnected.queries + :start-after: -- q3 + :end-before: -- q4 + Parameters ------------------------------------------------------------------------------- @@ -109,27 +122,6 @@ Column Type Description **node_to** ``BIGINT`` Identifier of the second end point vertex of the edge. =============== =========== ============================================================ -Additional Example: -------------------------------------------------------------------------------- - -Using pgr_connectedComponents() to check the number of connected components in the graph. - -.. literalinclude:: doc-pgr_makeConnected.queries - :start-after: -- q2 - :end-before: -- q3 - -So there are 3 connected components in :doc:`sampledata` namely 1, 14, 16. Now, the list of edges that are needed in the graph to make it connected. - -.. literalinclude:: doc-pgr_makeConnected.queries - :start-after: -- q3 - :end-before: -- q4 - -Inserting the above edges in the edge_table. - -.. literalinclude:: doc-pgr_makeConnected.queries - :start-after: -- q4 - :end-before: -- q5 - See Also ------------------------------------------------------------------------------- diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.result b/docqueries/makeConnected/doc-pgr_makeConnected.result index 04976e350a8..995d12ff7e1 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.result +++ b/docqueries/makeConnected/doc-pgr_makeConnected.result @@ -3,17 +3,6 @@ BEGIN SET client_min_messages TO NOTICE; SET -- q1 -SELECT * FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); - seq | node_from | node_to ------+-----------+--------- - 1 | 13 | 14 - 2 | 15 | 16 -(2 rows) - --- q2 SELECT * FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' @@ -39,7 +28,7 @@ SELECT * FROM pgr_connectedComponents( 17 | 16 | 17 (17 rows) --- q3 +-- q2 SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' @@ -50,9 +39,9 @@ SELECT * FROM pgr_makeConnected( 2 | 15 | 16 (2 rows) --- q4 -INSERT INTO edge_table (source,target,cost,reverse_cost) VALUES (13,14,1,-1), (15,16,1,-1); +-- q3 +INSERT INTO edge_table (source,target,cost,reverse_cost) VALUES (13, 14, 1, -1), (15, 16, 1, -1); INSERT 0 2 --- q5 +-- q4 ROLLBACK; ROLLBACK diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql index 4856dd2f37b..ed830350d72 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql +++ b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql @@ -1,24 +1,18 @@ \echo -- q1 -SELECT * FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); - -\echo -- q2 SELECT * FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); -\echo -- q3 +\echo -- q2 SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); -\echo -- q4 +\echo -- q3 -INSERT INTO edge_table (source,target,cost,reverse_cost) VALUES (13,14,1,-1), (15,16,1,-1); +INSERT INTO edge_table (source,target,cost,reverse_cost) VALUES (13, 14, 1, -1), (15, 16, 1, -1); -\echo -- q5 +\echo -- q4 From 0c100eb05a5ecd263c74f0fc65a8f2d02e4b69a7 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 30 Jul 2020 16:08:10 +0530 Subject: [PATCH 0569/1360] [makeConnected][doc] Modified the doc statements --- doc/makeConnected/pgr_makeConnected.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index 01d78afe6b5..69b8efaa1c4 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -62,7 +62,7 @@ There are 3 connected components namely **1**, **14**, **16**. :start-after: -- q1 :end-before: -- q2 -:Example: Query done on :doc:`sampledata` network gives. The query gives list of edges that are needed in the graph to make it connected. +:Example: Query done on :doc:`sampledata` network gives the list of edges that are needed in the graph to make it connected. .. literalinclude:: doc-pgr_makeConnected.queries :start-after: -- q2 From 78bc47ba6d794001f0bf819d657747b474b7cbc5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 30 Jul 2020 16:10:08 +0530 Subject: [PATCH 0570/1360] [makeConnected][doc] Documented parameters correctly --- doc/makeConnected/pgr_makeConnected.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index 69b8efaa1c4..efa6fd72cee 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -50,7 +50,7 @@ Signatures .. code-block:: none - pgr_makeConnected(edges_sql) + pgr_makeConnected(Edges SQL) RETURNS SET OF (seq, node_from, node_to) OR EMPTY SET @@ -80,13 +80,13 @@ Parameters =================== ====================== ========= ================================================= Parameter Type Default Description =================== ====================== ========= ================================================= -**edges_sql** ``TEXT`` SQL query as described above. +**Edges SQL** ``TEXT`` SQL query as described above. =================== ====================== ========= ================================================= Inner query ------------------------------------------------------------------------------- -:edges_sql: an SQL query, which should return a set of rows with the following columns: +:Edges SQL: an SQL query, which should return a set of rows with the following columns: ================= =================== ======== ================================================= Column Type Default Description From 2186560f9416271f09cab3d8a6845fad1b7f5caf Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 30 Jul 2020 16:17:53 +0530 Subject: [PATCH 0571/1360] [makeConnected][docqueries] Added query --q4 in docqueries --- .../doc-pgr_makeConnected.result | 26 +++++++++++++++++++ .../doc-pgr_makeConnected.test.sql | 7 +++++ 2 files changed, 33 insertions(+) diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.result b/docqueries/makeConnected/doc-pgr_makeConnected.result index 995d12ff7e1..1fe187e6502 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.result +++ b/docqueries/makeConnected/doc-pgr_makeConnected.result @@ -43,5 +43,31 @@ SELECT * FROM pgr_makeConnected( INSERT INTO edge_table (source,target,cost,reverse_cost) VALUES (13, 14, 1, -1), (15, 16, 1, -1); INSERT 0 2 -- q4 +SELECT * FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + seq | component | node +-----+-----------+------ + 1 | 1 | 1 + 2 | 1 | 2 + 3 | 1 | 3 + 4 | 1 | 4 + 5 | 1 | 5 + 6 | 1 | 6 + 7 | 1 | 7 + 8 | 1 | 8 + 9 | 1 | 9 + 10 | 1 | 10 + 11 | 1 | 11 + 12 | 1 | 12 + 13 | 1 | 13 + 14 | 1 | 14 + 15 | 1 | 15 + 16 | 1 | 16 + 17 | 1 | 17 +(17 rows) + +-- q5 ROLLBACK; ROLLBACK diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql index ed830350d72..8b59eedfb04 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql +++ b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql @@ -16,3 +16,10 @@ SELECT * FROM pgr_makeConnected( INSERT INTO edge_table (source,target,cost,reverse_cost) VALUES (13, 14, 1, -1), (15, 16, 1, -1); \echo -- q4 + +SELECT * FROM pgr_connectedComponents( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + +\echo -- q5 From f215a48cb5408c2a789c24d9a6e74f4b004761c9 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 31 Jul 2020 18:44:06 +0530 Subject: [PATCH 0572/1360] [makeConnected][docqueries] Added query --q5 --- docqueries/makeConnected/doc-pgr_makeConnected.result | 8 ++++++++ docqueries/makeConnected/doc-pgr_makeConnected.test.sql | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.result b/docqueries/makeConnected/doc-pgr_makeConnected.result index 1fe187e6502..d28276bb38d 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.result +++ b/docqueries/makeConnected/doc-pgr_makeConnected.result @@ -69,5 +69,13 @@ SELECT * FROM pgr_connectedComponents( (17 rows) -- q5 +SELECT * FROM pgr_makeConnected( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); + seq | node_from | node_to +-----+-----------+--------- +(0 rows) + ROLLBACK; ROLLBACK diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql index 8b59eedfb04..c080a245fc9 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql +++ b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql @@ -23,3 +23,8 @@ SELECT * FROM pgr_connectedComponents( ); \echo -- q5 + +SELECT * FROM pgr_makeConnected( + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table' +); From bed0a07576d30a7b748d59dd90c21e61a378dcb6 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 31 Jul 2020 18:48:54 +0530 Subject: [PATCH 0573/1360] [makeConnected][doc] Added --q4 in doc also --- doc/makeConnected/pgr_makeConnected.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index efa6fd72cee..7d2784a99a2 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -74,6 +74,13 @@ Inserting the above list of edges in the edge_table. :start-after: -- q3 :end-before: -- q4 +Using pgr_connectedComponents() to check the number of connected components. So, Now the graph has +only one connected component. + + .. literalinclude:: doc-pgr_makeConnected.queries + :start-after: -- q4 + :end-before: -- q5 + Parameters ------------------------------------------------------------------------------- From 10a5a1e523b27bfdf56ea83f6f19d7fb62d58b6d Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 31 Jul 2020 19:04:41 +0530 Subject: [PATCH 0574/1360] [makeConnected][doc] Added query --q5 in the doc also --- doc/makeConnected/pgr_makeConnected.rst | 9 ++++++++- docqueries/makeConnected/doc-pgr_makeConnected.result | 1 + docqueries/makeConnected/doc-pgr_makeConnected.test.sql | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index 7d2784a99a2..c261f51ffce 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -77,10 +77,17 @@ Inserting the above list of edges in the edge_table. Using pgr_connectedComponents() to check the number of connected components. So, Now the graph has only one connected component. - .. literalinclude:: doc-pgr_makeConnected.queries +.. literalinclude:: doc-pgr_makeConnected.queries :start-after: -- q4 :end-before: -- q5 +pgr_makeConnected() can also be used to verify it. Since, the graph is already connected now, it will +return an empty set of row. + +.. literalinclude:: doc-pgr_makeConnected.queries + :start-after: -- q5 + :end-before: -- q6 + Parameters ------------------------------------------------------------------------------- diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.result b/docqueries/makeConnected/doc-pgr_makeConnected.result index d28276bb38d..b3aa1db29d7 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.result +++ b/docqueries/makeConnected/doc-pgr_makeConnected.result @@ -77,5 +77,6 @@ SELECT * FROM pgr_makeConnected( -----+-----------+--------- (0 rows) +-- q6 ROLLBACK; ROLLBACK diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql index c080a245fc9..61fc5019982 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql +++ b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql @@ -28,3 +28,5 @@ SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); + +\echo -- q6 From b8ff597de530d97ce8037383c8fd778749895183 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 31 Jul 2020 20:13:38 +0530 Subject: [PATCH 0575/1360] [isPlanar][doc] Running time modified --- doc/planar/pgr_isPlanar.rst | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 34614240d51..643487e7761 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -40,10 +40,7 @@ The main characteristics are: - The graph can be either weighted or unweighted. - - **Running time:** Assuming that both the vertex index and edge index supplied take time O(1) to return an index - and there are O(n) total self-loops and parallel edges in the graph, most combinations of arguments given to - boyer_myrvold_planarity_test() result in an algorithm that runs in time O(n) for a graph with n vertices and m edges. - + - **Running time:** On a graph with n vertices and m edges, pgr_isPlanar runs in time O(n). Signatures ------------------------------------------------------------------------------- From 0f51f9792b7d254355e1e38b4526ee5a5d79a387 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 31 Jul 2020 20:53:45 +0530 Subject: [PATCH 0576/1360] CMakeLists edited to ignore boyerMyrvold --- sql/planar/CMakeLists.txt | 2 -- src/planar/CMakeLists.txt | 2 -- 2 files changed, 4 deletions(-) diff --git a/sql/planar/CMakeLists.txt b/sql/planar/CMakeLists.txt index 8b1e6f289d9..5eea2a9abfe 100644 --- a/sql/planar/CMakeLists.txt +++ b/sql/planar/CMakeLists.txt @@ -1,7 +1,5 @@ SET(LOCAL_FILES - _boyerMyrvold.sql - boyerMyrvold.sql _isPlanar.sql isPlanar.sql ) diff --git a/src/planar/CMakeLists.txt b/src/planar/CMakeLists.txt index 4a232a86d91..08605a04601 100644 --- a/src/planar/CMakeLists.txt +++ b/src/planar/CMakeLists.txt @@ -1,6 +1,4 @@ ADD_LIBRARY(planar OBJECT - boyerMyrvold.c - boyerMyrvold_driver.cpp isPlanar.c isPlanar_driver.cpp ) From 32c3d782d08957ad6e7e2422f194ccb3be465812 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 31 Jul 2020 20:57:56 +0530 Subject: [PATCH 0577/1360] Modified test.conf to ignore boyerMyrvold --- docqueries/planar/test.conf | 2 -- 1 file changed, 2 deletions(-) diff --git a/docqueries/planar/test.conf b/docqueries/planar/test.conf index 98d01f84663..4f6137c5627 100644 --- a/docqueries/planar/test.conf +++ b/docqueries/planar/test.conf @@ -5,11 +5,9 @@ 'comment' => 'boyerMyrvold planarity algorithm tests.', 'data' => [ ], 'tests' => [qw( - doc-pgr_boyerMyrvold doc-pgr_isPlanar )], 'documentation' => [qw( - doc-pgr_boyerMyrvold doc-pgr_isPlanar )] }, From 99260e61afdf1409bfa83ed2fa4d2b77ff5c67f4 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 31 Jul 2020 21:11:47 +0530 Subject: [PATCH 0578/1360] Tests added in isPlanar directory --- pgtap/planar/{ => isPlanar}/boyerMyrvold-edge-cases.sql | 0 pgtap/planar/{ => isPlanar}/boyerMyrvold-innerQuery.sql | 0 pgtap/planar/{ => isPlanar}/boyerMyrvold-types-check.sql | 0 pgtap/planar/{ => isPlanar}/no_crash_test-boyerMyrvold.sql | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename pgtap/planar/{ => isPlanar}/boyerMyrvold-edge-cases.sql (100%) rename pgtap/planar/{ => isPlanar}/boyerMyrvold-innerQuery.sql (100%) rename pgtap/planar/{ => isPlanar}/boyerMyrvold-types-check.sql (100%) rename pgtap/planar/{ => isPlanar}/no_crash_test-boyerMyrvold.sql (100%) diff --git a/pgtap/planar/boyerMyrvold-edge-cases.sql b/pgtap/planar/isPlanar/boyerMyrvold-edge-cases.sql similarity index 100% rename from pgtap/planar/boyerMyrvold-edge-cases.sql rename to pgtap/planar/isPlanar/boyerMyrvold-edge-cases.sql diff --git a/pgtap/planar/boyerMyrvold-innerQuery.sql b/pgtap/planar/isPlanar/boyerMyrvold-innerQuery.sql similarity index 100% rename from pgtap/planar/boyerMyrvold-innerQuery.sql rename to pgtap/planar/isPlanar/boyerMyrvold-innerQuery.sql diff --git a/pgtap/planar/boyerMyrvold-types-check.sql b/pgtap/planar/isPlanar/boyerMyrvold-types-check.sql similarity index 100% rename from pgtap/planar/boyerMyrvold-types-check.sql rename to pgtap/planar/isPlanar/boyerMyrvold-types-check.sql diff --git a/pgtap/planar/no_crash_test-boyerMyrvold.sql b/pgtap/planar/isPlanar/no_crash_test-boyerMyrvold.sql similarity index 100% rename from pgtap/planar/no_crash_test-boyerMyrvold.sql rename to pgtap/planar/isPlanar/no_crash_test-boyerMyrvold.sql From 9ca1ddc1392f3fde8ac89a2aeb5e3f177bd40b5a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 31 Jul 2020 21:38:13 +0530 Subject: [PATCH 0579/1360] [pgTAP][isPlanar] Modified names of files --- .../isPlanar/{boyerMyrvold-edge-cases.sql => edge_cases.sql} | 0 .../isPlanar/{boyerMyrvold-innerQuery.sql => inner_query.sql} | 0 .../{no_crash_test-boyerMyrvold.sql => no_crash_test.sql} | 0 .../isPlanar/{boyerMyrvold-types-check.sql => types_check.sql} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename pgtap/planar/isPlanar/{boyerMyrvold-edge-cases.sql => edge_cases.sql} (100%) rename pgtap/planar/isPlanar/{boyerMyrvold-innerQuery.sql => inner_query.sql} (100%) rename pgtap/planar/isPlanar/{no_crash_test-boyerMyrvold.sql => no_crash_test.sql} (100%) rename pgtap/planar/isPlanar/{boyerMyrvold-types-check.sql => types_check.sql} (100%) diff --git a/pgtap/planar/isPlanar/boyerMyrvold-edge-cases.sql b/pgtap/planar/isPlanar/edge_cases.sql similarity index 100% rename from pgtap/planar/isPlanar/boyerMyrvold-edge-cases.sql rename to pgtap/planar/isPlanar/edge_cases.sql diff --git a/pgtap/planar/isPlanar/boyerMyrvold-innerQuery.sql b/pgtap/planar/isPlanar/inner_query.sql similarity index 100% rename from pgtap/planar/isPlanar/boyerMyrvold-innerQuery.sql rename to pgtap/planar/isPlanar/inner_query.sql diff --git a/pgtap/planar/isPlanar/no_crash_test-boyerMyrvold.sql b/pgtap/planar/isPlanar/no_crash_test.sql similarity index 100% rename from pgtap/planar/isPlanar/no_crash_test-boyerMyrvold.sql rename to pgtap/planar/isPlanar/no_crash_test.sql diff --git a/pgtap/planar/isPlanar/boyerMyrvold-types-check.sql b/pgtap/planar/isPlanar/types_check.sql similarity index 100% rename from pgtap/planar/isPlanar/boyerMyrvold-types-check.sql rename to pgtap/planar/isPlanar/types_check.sql From 1de4cf245161eacc8cca1492b17ba1b4b894f576 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 1 Aug 2020 23:31:45 +0530 Subject: [PATCH 0580/1360] signature file modified --- sql/sigs/pgrouting--3.2.0.sig | 2 -- 1 file changed, 2 deletions(-) diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index 662fb3d1ab9..2c31bbd902d 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -51,8 +51,6 @@ pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) _pgr_boost_version() -_pgr_boyermyrvold(text) -pgr_boyermyrvold(text) pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) From 12b7d943f90143846e5ead5d9ee74ec323e377b4 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sat, 1 Aug 2020 23:35:27 +0530 Subject: [PATCH 0581/1360] [isPlanar][pgTAP] Modified pgtap tests --- pgtap/planar/isPlanar/edge_cases.sql | 332 +----------------------- pgtap/planar/isPlanar/inner_query.sql | 6 +- pgtap/planar/isPlanar/no_crash_test.sql | 40 +-- pgtap/planar/isPlanar/types_check.sql | 57 ++-- 4 files changed, 45 insertions(+), 390 deletions(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index 3838e8a2031..a5a98df8b8a 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(30); +SELECT plan(2); @@ -16,335 +16,13 @@ SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); -- 0 edge, 0 vertex tests -PREPARE boyerMyrvold_12 AS +PREPARE isPlanar1 AS SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18' +FROM pgr_isPlanar( + 'q1' ); -PREPARE boyerMyrvold_13 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id IN (20,22)' -); - -PREPARE boyerMyrvold_14 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 25' -); - -PREPARE boyerMyrvold_15 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id IN (40,60,-10)' -); - -PREPARE boyerMyrvold_16 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 18' -); - -PREPARE boyerMyrvold_17 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id > 22' -); - -SELECT is_empty('boyerMyrvold_12', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold_13', '3: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold_14', '4: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold_15', '5: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold_16', '6: Graph with 0 edge and 0 vertex -> Empty row is returned'); -SELECT is_empty('boyerMyrvold_17', '7: Graph with 0 edge and 0 vertex -> Empty row is returned'); - --- vertex not present in graph tests - -PREPARE boyerMyrvold_18 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id = -10' -); - -PREPARE boyerMyrvold_19 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (-10,50)' -); - -PREPARE boyerMyrvold_110 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (-10,-20,-30)' -); - -PREPARE boyerMyrvold_111 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (-10,33,39)' -); - -PREPARE boyerMyrvold_112 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id = 36' -); - -PREPARE boyerMyrvold_113 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id IN (36,45,34)' -); - -SELECT is_empty('boyerMyrvold_18', '8: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold_19', '9: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold_110', '10: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold_111', '11: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold_112', '12: Vertex not present in graph -> Empty row is returned'); -SELECT is_empty('boyerMyrvold_113', '13: Vertex not present in graph -> Empty row is returned'); - - --- 1 vertex tests - -PREPARE q14 AS -SELECT id, source, 6 AS target, cost, reverse_cost -FROM edge_table -WHERE id = 9; - --- Graph with only vertex 9 -SELECT set_eq('q14', $$VALUES (9, 6, 6, 1, 1)$$, 'q14: Graph with only vertex 6'); - --- 1 vertex tests - -PREPARE boyerMyrvold_115 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, 6 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 9' -); - -PREPARE boyerMyrvold_116 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 2' -); - -PREPARE boyerMyrvold_117 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, 3 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 3' -); - -PREPARE boyerMyrvold_118 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, 7 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 6' -); - -SELECT set_eq('boyerMyrvold_115', $$VALUES (1, 6, 6, 1)$$, '15: One row is returned'); -SELECT set_eq('boyerMyrvold_116', $$VALUES (1, 2, 2, 1)$$, '16: One row is returned'); -SELECT set_eq('boyerMyrvold_117', $$VALUES (1, 3, 3, 1)$$, '17: One row is returned'); -SELECT set_eq('boyerMyrvold_118', $$VALUES (1, 7, 7, 1)$$, '18: One row is returned'); - - --- 2 vertices tests - -PREPARE boyerMyrvold_119 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 1' -); - -PREPARE boyerMyrvold_120 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 4' -); - -PREPARE boyerMyrvold_121 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 9' -); - -PREPARE boyerMyrvold_122 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 6' -); - -PREPARE boyerMyrvold_123 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 7' -); - -PREPARE boyerMyrvold_124 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 8' -); - -SELECT set_eq('boyerMyrvold_119', $$VALUES (1, 1, 2, 1)$$, '19: Two rows are returned'); -SELECT set_eq('boyerMyrvold_120', $$VALUES (1, 2, 5, 1)$$, '20: Two rows are returned'); -SELECT set_eq('boyerMyrvold_121', $$VALUES (1, 6, 9, 1)$$, '21: Two rows are returned'); -SELECT set_eq('boyerMyrvold_122', $$VALUES (1, 7, 8, 1)$$, '22: Two rows are returned'); -SELECT set_eq('boyerMyrvold_123', $$VALUES (1, 8, 5, 1)$$, '23: Two rows are returned'); -SELECT set_eq('boyerMyrvold_124', $$VALUES (1, 5, 6, 1)$$, '24: Two rows are returned'); - - - --- 3 vertices tests - -CREATE TABLE three_vertices_table ( - id BIGSERIAL, - source BIGINT, - target BIGINT, - cost FLOAT, - reverse_cost FLOAT -); - -INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES - (3, 6, 20, -1), - (3, 8, 10, -1), - (6, 8, -1, 12); - -PREPARE q25 AS -SELECT id, source, target, cost, reverse_cost -FROM three_vertices_table; - --- Cyclic Graph with three vertices 3, 6 and 8 -SELECT set_eq('q25', - $$VALUES - (1, 3, 6, 20, -1), - (2, 3, 8, 10, -1), - (3, 6, 8, -1, 12) - $$, - 'q25: Cyclic Graph with three vertices 3, 6 and 8' -); - --- 3 vertices tests - -PREPARE boyerMyrvold_126 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table' -); - -PREPARE boyerMyrvold_127 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table WHERE id > 4' -); - -SELECT set_eq('boyerMyrvold_126', - $$VALUES - (1, 3, 6, 20), - (2, 3, 8, 10), - (3, 8, 6, 12) - $$, - '26: 3 vertices tests' -); -SELECT is_empty('boyerMyrvold_127', - '27: Vertex not present in graph -> Empty row is returned' -); - --- 4 vertices tests - -PREPARE q28 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE (id >= 10 AND id <= 12) - OR id = 8; - --- Graph with vertices 5, 6, 10, 11 -SELECT set_eq('q28', - $$VALUES - (8, 5, 6, 1, 1), - (10, 5, 10, 1, 1), - (11, 6, 11, 1, -1), - (12, 10, 11, 1, -1) - $$, - '28: Graph with vertices 5, 6, 10 and 11' -); - --- 4 vertices tests - -PREPARE boyerMyrvold_129 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 10 AND id <= 12) - OR id = 8' -); - -PREPARE boyerMyrvold_130 AS -SELECT * -FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE (id >= 2 AND id <= 4)' -); - -SELECT set_eq('boyerMyrvold_129', - $$VALUES - (1, 5, 6, 1), - (2, 5, 10, 1), - (3, 6, 11, 1), - (4, 10, 11, 1) - $$, - '29: 4 vertices tests,4 rows returned' -); - -SELECT set_eq('boyerMyrvold_130', - $$VALUES - (1, 3, 2, 1), - (2, 4, 3, 1), - (3, 2, 5, 1) - $$, - '30: 4 vertices tests,3 rows returned' -); +SELECT set_eq('isPlanar1',$$VALUES('f'::bool) $$, '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); SELECT * FROM finish(); diff --git a/pgtap/planar/isPlanar/inner_query.sql b/pgtap/planar/isPlanar/inner_query.sql index d62f9468e3f..78288e2286d 100644 --- a/pgtap/planar/isPlanar/inner_query.sql +++ b/pgtap/planar/isPlanar/inner_query.sql @@ -4,10 +4,10 @@ SELECT plan(56); SET client_min_messages TO ERROR; -SELECT has_function('pgr_boyermyrvold'); +SELECT has_function('pgr_isplanar'); -SELECT function_returns('pgr_boyermyrvold',ARRAY['text'],'setof record'); -SELECT style_dijkstra('pgr_boyermyrvold', ')'); +SELECT function_returns('pgr_isplanar',ARRAY['text'],'boolean'); +SELECT style_dijkstra('pgr_isplanar', ')'); SELECT finish(); ROLLBACK; diff --git a/pgtap/planar/isPlanar/no_crash_test.sql b/pgtap/planar/isPlanar/no_crash_test.sql index 9af5efc6f84..91338770057 100644 --- a/pgtap/planar/isPlanar/no_crash_test.sql +++ b/pgtap/planar/isPlanar/no_crash_test.sql @@ -1,30 +1,30 @@ \i setup.sql -SELECT plan(5); +SELECT plan(1); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; SELECT isnt_empty('edges', 'Should not be empty true to tests be meaningful'); -CREATE OR REPLACE FUNCTION test_function() -RETURNS SETOF TEXT AS -$BODY$ -DECLARE -params TEXT[]; -subs TEXT[]; -BEGIN - params = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$']::TEXT[]; - subs = ARRAY[ - 'NULL' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_boyerMyrvold', params, subs); -END -$BODY$ -LANGUAGE plpgsql VOLATILE; - - -SELECT * FROM test_function(); +-- CREATE OR REPLACE FUNCTION test_function() +-- RETURNS SETOF TEXT AS +-- $BODY$ +-- DECLARE +-- params TEXT[]; +-- subs TEXT[]; +-- BEGIN +-- params = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$']::TEXT[]; +-- subs = ARRAY[ +-- 'NULL' +-- ]::TEXT[]; +-- +-- RETURN query SELECT * FROM no_crash_test('pgr_isplanar', params, subs); +-- END +-- $BODY$ +-- LANGUAGE plpgsql VOLATILE; +-- +-- +-- SELECT * FROM test_function(); ROLLBACK; diff --git a/pgtap/planar/isPlanar/types_check.sql b/pgtap/planar/isPlanar/types_check.sql index de4a57d7e1c..966471f6c96 100644 --- a/pgtap/planar/isPlanar/types_check.sql +++ b/pgtap/planar/isPlanar/types_check.sql @@ -1,50 +1,27 @@ \i setup.sql -SELECT plan(5); +SELECT plan(2); -SELECT has_function('pgr_boyermyrvold'); +SELECT has_function('pgr_isplanar'); -SELECT function_returns('pgr_boyermyrvold', ARRAY['text'], 'setof record'); +SELECT function_returns('pgr_isplanar', ARRAY['text'], 'boolean'); --- flags --- error +-- pgr_isplanar +-- parameter names -SELECT lives_ok( - 'SELECT * FROM pgr_boyerMyrvold( - ''SELECT id, source, target, cost, reverse_cost FROM edge_table'' - )', - '3: Documentation says works with no flags'); - -SELECT throws_ok( - 'SELECT * FROM pgr_boyerMyrvold( - ''SELECT id, source, target, cost, reverse_cost FROM edge_table id < 17'', - 3 - )','42883','function pgr_boyermyrvold(unknown, integer) does not exist', - '4: Documentation says it does not work with 1 flags'); - - --- prepare for testing return types - -PREPARE all_return AS -SELECT - 'bigint'::text AS t1, - 'bigint'::text AS t2, - 'bigint'::text AS t3, - 'double precision'::text AS t4; - -PREPARE q5 AS -SELECT pg_typeof(seq)::text AS t1, - pg_typeof(source)::text AS t2, - pg_typeof(target)::text AS t3, - pg_typeof(cost)::text AS t4 - FROM ( - SELECT * FROM pgr_boyerMyrvold( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 17' - ) ) AS a LIMIT 1; - - -SELECT set_eq('q5', 'all_return', 'Expected returning, columns names & types'); +-- SELECT bag_has( +-- $$SELECT proargnames from pg_proc where proname = 'pgr_isplanar'$$, +-- $$SELECT ''::TEXT[] $$ +-- ); +-- +-- -- parameter types +-- SELECT set_eq( +-- $$SELECT proallargtypes from pg_proc where proname = 'pgr_isplanar'$$, +-- $$VALUES +-- (''::OID[]) +-- $$ +-- ); SELECT * FROM finish(); ROLLBACK; From 27e06cebdc053b8ded802d484244d40747b9e230 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Sun, 2 Aug 2020 13:17:00 +0530 Subject: [PATCH 0582/1360] [makeConnected][pgTAP] Modified directory structure --- .../edge_cases.sql} | 0 .../inner_query.sql} | 0 .../no_crash_test.sql} | 0 .../types_check.sql} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename pgtap/makeConnected/{makeConnected-edge-cases.sql => makeConnected/edge_cases.sql} (100%) rename pgtap/makeConnected/{makeConnected-innerQuery.sql => makeConnected/inner_query.sql} (100%) rename pgtap/makeConnected/{no_crash_test-makeConnected.sql => makeConnected/no_crash_test.sql} (100%) rename pgtap/makeConnected/{makeConnected-types-check.sql => makeConnected/types_check.sql} (100%) diff --git a/pgtap/makeConnected/makeConnected-edge-cases.sql b/pgtap/makeConnected/makeConnected/edge_cases.sql similarity index 100% rename from pgtap/makeConnected/makeConnected-edge-cases.sql rename to pgtap/makeConnected/makeConnected/edge_cases.sql diff --git a/pgtap/makeConnected/makeConnected-innerQuery.sql b/pgtap/makeConnected/makeConnected/inner_query.sql similarity index 100% rename from pgtap/makeConnected/makeConnected-innerQuery.sql rename to pgtap/makeConnected/makeConnected/inner_query.sql diff --git a/pgtap/makeConnected/no_crash_test-makeConnected.sql b/pgtap/makeConnected/makeConnected/no_crash_test.sql similarity index 100% rename from pgtap/makeConnected/no_crash_test-makeConnected.sql rename to pgtap/makeConnected/makeConnected/no_crash_test.sql diff --git a/pgtap/makeConnected/makeConnected-types-check.sql b/pgtap/makeConnected/makeConnected/types_check.sql similarity index 100% rename from pgtap/makeConnected/makeConnected-types-check.sql rename to pgtap/makeConnected/makeConnected/types_check.sql From 1317cd2a2e56a17f80957388d749a6312bf93755 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 3 Aug 2020 17:14:49 +0530 Subject: [PATCH 0583/1360] [isPlanar][pgtap] Added vertex not present --- pgtap/planar/isPlanar/edge_cases.sql | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index a5a98df8b8a..807d9487564 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(2); +SELECT plan(3); @@ -18,12 +18,21 @@ SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); PREPARE isPlanar1 AS SELECT * -FROM pgr_isPlanar( - 'q1' -); +FROM pgr_isPlanar('q1'); SELECT set_eq('isPlanar1',$$VALUES('f'::bool) $$, '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); +-- vertex not present in graph test + +PREPARE q3 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table WHERE source = 50; + +SELECT is_empty('q3','3: Vertex 50 does not exist in sample data'); + + + + SELECT * FROM finish(); ROLLBACK; From 577b78209c196dd04563e21072eddd25eda2acb2 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 3 Aug 2020 17:20:48 +0530 Subject: [PATCH 0584/1360] [isPlanar][pgtap] Completed Vertex not present tests --- pgtap/planar/isPlanar/edge_cases.sql | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index 807d9487564..b91d9592123 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(3); +SELECT plan(4); @@ -31,7 +31,11 @@ FROM edge_table WHERE source = 50; SELECT is_empty('q3','3: Vertex 50 does not exist in sample data'); +PREPARE vertexNotPresent4 AS +SELECT * +FROM pgr_isPlanar('q3'); +SELECT set_eq('vertexNotPresent4',$$VALUES('f'::bool) $$, '4: Vertex not present in graph'); SELECT * FROM finish(); From 5f0282fa3007ebd156843ccc33704b97ba25fe7f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 3 Aug 2020 18:09:51 +0530 Subject: [PATCH 0585/1360] [isPlanar][pgtap] One vertex q5 added --- pgtap/planar/isPlanar/edge_cases.sql | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index b91d9592123..006d86971ca 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(4); +SELECT plan(5); @@ -37,6 +37,15 @@ FROM pgr_isPlanar('q3'); SELECT set_eq('vertexNotPresent4',$$VALUES('f'::bool) $$, '4: Vertex not present in graph'); +-- 1 vertex test + +PREPARE q5 AS +SELECT id, source, 6 AS target, cost, reverse_cost +FROM edge_table +WHERE id = 9; + +-- Graph with only vertex 9 +SELECT set_eq('q5', $$VALUES (9, 6, 6, 1, 1)$$, 'q5: Graph with only vertex 6'); SELECT * FROM finish(); ROLLBACK; From 7d74b4d6c2d846947a54c9186e9ceb756ac45c7b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 3 Aug 2020 18:16:56 +0530 Subject: [PATCH 0586/1360] [isPlanar][pgtap] Added example for one vertex test --- pgtap/planar/isPlanar/edge_cases.sql | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index 006d86971ca..0091b13ca1b 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(5); +SELECT plan(6); @@ -47,5 +47,11 @@ WHERE id = 9; -- Graph with only vertex 9 SELECT set_eq('q5', $$VALUES (9, 6, 6, 1, 1)$$, 'q5: Graph with only vertex 6'); +PREPARE oneVertexTest6 AS +SELECT * +FROM pgr_isPlanar('q5'); + +SELECT set_eq('oneVertexTest6',$$VALUES('t'::bool) $$, '6: Graph with only vertex 6'); + SELECT * FROM finish(); ROLLBACK; From b7878474b9114c619fb311c425e87df4e0bfab31 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 3 Aug 2020 18:24:16 +0530 Subject: [PATCH 0587/1360] [isPlanar][pgtap] Added two examples for one Vertex tests --- pgtap/planar/isPlanar/edge_cases.sql | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index 0091b13ca1b..6129eb44d6d 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(6); +SELECT plan(8); @@ -53,5 +53,19 @@ FROM pgr_isPlanar('q5'); SELECT set_eq('oneVertexTest6',$$VALUES('t'::bool) $$, '6: Graph with only vertex 6'); +PREPARE q7 AS +SELECT id, source, 3 AS target, cost, reverse_cost +FROM edge_table +WHERE id = 3; + +-- Graph with only vertex 3 +SELECT set_eq('q7', $$VALUES (3, 3, 3, -1, 1)$$, 'q7: Graph with only vertex 6'); + +PREPARE oneVertexTest8 AS +SELECT * +FROM pgr_isPlanar('q7'); + +SELECT set_eq('oneVertexTest8',$$VALUES('t'::bool) $$, '8: Graph with only vertex 3'); + SELECT * FROM finish(); ROLLBACK; From b19717129182091bdb095f2c86cc653623fc58a4 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 3 Aug 2020 18:26:19 +0530 Subject: [PATCH 0588/1360] [isPlanar][pgtap] Modified description for test q7 --- pgtap/planar/isPlanar/edge_cases.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index 6129eb44d6d..cea53d33daf 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -59,7 +59,7 @@ FROM edge_table WHERE id = 3; -- Graph with only vertex 3 -SELECT set_eq('q7', $$VALUES (3, 3, 3, -1, 1)$$, 'q7: Graph with only vertex 6'); +SELECT set_eq('q7', $$VALUES (3, 3, 3, -1, 1)$$, 'q7: Graph with only vertex 3'); PREPARE oneVertexTest8 AS SELECT * From 57bb671b9d1e7343af1d5e7db4fed98fb696b5be Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 3 Aug 2020 18:39:26 +0530 Subject: [PATCH 0589/1360] [isPlanar][pgtap] Added example for two vertices test --- pgtap/planar/isPlanar/edge_cases.sql | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index cea53d33daf..ea1c273de08 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(8); +SELECT plan(10); @@ -67,5 +67,24 @@ FROM pgr_isPlanar('q7'); SELECT set_eq('oneVertexTest8',$$VALUES('t'::bool) $$, '8: Graph with only vertex 3'); + + + +-- 2 vertices tests + +PREPARE q9 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id = 1; + +SELECT set_eq('q9', $$VALUES (1, 1, 2, 1, 1)$$, 'q9: Graph with two vertices 1 and 2'); + +PREPARE twoVerticesTest10 AS +SELECT * +FROM pgr_isPlanar('q9'); + +SELECT set_eq('twoVerticesTest10',$$VALUES('t'::bool) $$, '10: Graph with two vertices 1 and 2'); + + SELECT * FROM finish(); ROLLBACK; From 7e9fbd5965d079a398b4beb05aa67f34bd6be417 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 3 Aug 2020 21:14:09 +0530 Subject: [PATCH 0590/1360] [isPlanar][pgtap] Added example for three vertices test --- pgtap/planar/isPlanar/edge_cases.sql | 31 ++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index ea1c273de08..a423755b84d 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(10); +SELECT plan(12); @@ -20,7 +20,7 @@ PREPARE isPlanar1 AS SELECT * FROM pgr_isPlanar('q1'); -SELECT set_eq('isPlanar1',$$VALUES('f'::bool) $$, '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); +SELECT set_eq('isPlanar1',$$VALUES('f'::bool) $$, '2: False, since vertex does not exist'); -- vertex not present in graph test @@ -35,7 +35,7 @@ PREPARE vertexNotPresent4 AS SELECT * FROM pgr_isPlanar('q3'); -SELECT set_eq('vertexNotPresent4',$$VALUES('f'::bool) $$, '4: Vertex not present in graph'); +SELECT set_eq('vertexNotPresent4',$$VALUES('f'::bool) $$, '4:False, Vertex not present in graph'); -- 1 vertex test @@ -51,7 +51,7 @@ PREPARE oneVertexTest6 AS SELECT * FROM pgr_isPlanar('q5'); -SELECT set_eq('oneVertexTest6',$$VALUES('t'::bool) $$, '6: Graph with only vertex 6'); +SELECT set_eq('oneVertexTest6',$$VALUES('t'::bool) $$, '6:Planar Graph with only vertex 6'); PREPARE q7 AS SELECT id, source, 3 AS target, cost, reverse_cost @@ -65,7 +65,7 @@ PREPARE oneVertexTest8 AS SELECT * FROM pgr_isPlanar('q7'); -SELECT set_eq('oneVertexTest8',$$VALUES('t'::bool) $$, '8: Graph with only vertex 3'); +SELECT set_eq('oneVertexTest8',$$VALUES('t'::bool) $$, '8:Planar Graph with only vertex 3'); @@ -83,7 +83,26 @@ PREPARE twoVerticesTest10 AS SELECT * FROM pgr_isPlanar('q9'); -SELECT set_eq('twoVerticesTest10',$$VALUES('t'::bool) $$, '10: Graph with two vertices 1 and 2'); +SELECT set_eq('twoVerticesTest10', $$VALUES('t'::bool) $$, '10:Planar Graph with two vertices 1 and 2'); + + +-- 3 vertices test + +PREPARE q11 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id IN (1,2); + +SELECT set_eq('q11', $$VALUES (1, 1, 2, 1, 1), (2, 2, 3, -1, 1)$$, 'q11: Graph with three vertices 1, 2 and 3'); + +PREPARE threeVerticesTest12 AS +SELECT * +FROM pgr_isPlanar( + 'q11' +); + +SELECT set_eq('threeVerticesTest12', $$VALUES('t'::bool) $$, '12: Planar graph with 3 vertices'); + SELECT * FROM finish(); From f8769b2a7a9f4ae4862c995a5f7b63b5cfd8d041 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 3 Aug 2020 21:52:47 +0530 Subject: [PATCH 0591/1360] [isPlanar][pgtap] Added example for four vertices test --- pgtap/planar/isPlanar/edge_cases.sql | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index a423755b84d..3316e5882c2 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(12); +SELECT plan(14); @@ -103,6 +103,28 @@ FROM pgr_isPlanar( SELECT set_eq('threeVerticesTest12', $$VALUES('t'::bool) $$, '12: Planar graph with 3 vertices'); +-- 4 vertices test + +PREPARE q13 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id IN (1,2,3); + +SELECT set_eq('q13', + $$VALUES (1, 1, 2, 1, 1), + (2, 2, 3, -1, 1), + (3, 3, 4, -1, 1) + $$, + 'q13: Graph with three vertices 1, 2 and 3'); + +PREPARE fourVerticesTest14 AS +SELECT * +FROM pgr_isPlanar( + 'q13' +); + +SELECT set_eq('fourVerticesTest14', $$VALUES('t'::bool) $$, '14: Planar graph with 4 vertices'); + SELECT * FROM finish(); From 2f08baa8fdf9ee4e0f8f24aaec0228e1134060cb Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 13:08:18 +0530 Subject: [PATCH 0592/1360] [isPlanar][pgtap] Prepared statement for 4 vertices cyclic --- pgtap/planar/isPlanar/edge_cases.sql | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index 3316e5882c2..4a25d216229 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(14); +SELECT plan(15); @@ -125,6 +125,23 @@ FROM pgr_isPlanar( SELECT set_eq('fourVerticesTest14', $$VALUES('t'::bool) $$, '14: Planar graph with 4 vertices'); +-- 4 vertices test (cyclic) + +PREPARE q15 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id IN (8, 10, 11, 12); + +SELECT set_eq('q15', + $$VALUES + (8, 5, 6, 1, 1), + (10, 5, 10, 1, 1), + (11, 6, 11, 1, -1), + (12, 10, 11, 1, -1) + $$, + 'q15: Graph with four vertices 5, 6, 10 and 11 (cyclic)' +); + SELECT * FROM finish(); From b1d83983452fa6d9ef52d8ea8edd8a3194c5350a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 13:19:22 +0530 Subject: [PATCH 0593/1360] [isPlanar][pgtap] Added example for four vertices cyclic test --- pgtap/planar/isPlanar/edge_cases.sql | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index 4a25d216229..cf5f2da3196 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(15); +SELECT plan(16); @@ -142,6 +142,13 @@ SELECT set_eq('q15', 'q15: Graph with four vertices 5, 6, 10 and 11 (cyclic)' ); +PREPARE fourVerticesCyclicTest16 AS +SELECT * +FROM pgr_isPlanar( + 'q15' +); + +SELECT set_eq('fourVerticesCyclicTest16', $$VALUES('t'::bool) $$, '16: Planar cyclic graph with 4 vertices'); SELECT * FROM finish(); From 5bc1f16494668192bd1f973118f956463aac5952 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 14:15:13 +0530 Subject: [PATCH 0594/1360] [isPlanar][pgtap] Modified name of test --- pgtap/planar/isPlanar/edge_cases.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index cf5f2da3196..f40bf12b105 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -16,11 +16,11 @@ SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); -- 0 edge, 0 vertex tests -PREPARE isPlanar1 AS +PREPARE zeroEdgeTest2 AS SELECT * FROM pgr_isPlanar('q1'); -SELECT set_eq('isPlanar1',$$VALUES('f'::bool) $$, '2: False, since vertex does not exist'); +SELECT set_eq('zeroEdgeTest2',$$VALUES('f'::bool) $$, '2: False, since vertex does not exist'); -- vertex not present in graph test From 7eba17af1415e9b2d04874adb42f7988d93420a6 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 15:54:29 +0530 Subject: [PATCH 0595/1360] [makeConnected][pgtap] Added prepared statements vertex not present --- pgtap/makeConnected/makeConnected/edge_cases.sql | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pgtap/makeConnected/makeConnected/edge_cases.sql b/pgtap/makeConnected/makeConnected/edge_cases.sql index 3adce51f876..fbe02b64aa6 100644 --- a/pgtap/makeConnected/makeConnected/edge_cases.sql +++ b/pgtap/makeConnected/makeConnected/edge_cases.sql @@ -26,18 +26,15 @@ SELECT is_empty('makeConnected2', '2: Graph with 0 edge and 0 vertex -> Empty ro PREPARE q3 AS SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id = -10; +FROM edge_table WHERE source = 50; -SELECT is_empty('q3', 'q3: Vertex Not present in the graph'); +SELECT is_empty('q3','3: Vertex 50 does not exist in sample data'); -PREPARE makeConnected4 AS +PREPARE vertexNotPresent4 AS SELECT * -FROM pgr_makeConnected( - 'q3' -); +FROM pgr_makeConnected('q3'); -SELECT is_empty('makeConnected4', '4: Vertex Not present in the graph -> Empty row is returned'); +SELECT is_empty('vertexNotPresent4', '4: Vertex Not present in the graph -> Empty row is returned'); -- 1 vertex tests From e4e677f8e4cb82d2952d8a7b16ffc07b308318f9 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 16:17:11 +0530 Subject: [PATCH 0596/1360] [makeConnected][pgtap] Prepared statement for oneVertexTest --- .../makeConnected/makeConnected/edge_cases.sql | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/pgtap/makeConnected/makeConnected/edge_cases.sql b/pgtap/makeConnected/makeConnected/edge_cases.sql index fbe02b64aa6..ec12289ddaf 100644 --- a/pgtap/makeConnected/makeConnected/edge_cases.sql +++ b/pgtap/makeConnected/makeConnected/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(17); +SELECT plan(18); -- 0 edge, 0 vertex tests @@ -38,15 +38,20 @@ SELECT is_empty('vertexNotPresent4', '4: Vertex Not present in the graph -> Empt -- 1 vertex tests -PREPARE makeConnected5 AS +PREPARE q5 AS +SELECT id, source, 6 AS target, cost, reverse_cost +FROM edge_table +WHERE id = 9; +-- Graph with only vertex 9 +SELECT set_eq('q5', $$VALUES (9, 6, 6, 1, 1)$$, 'q5: Graph with only vertex 6'); + +PREPARE oneVertexTest6 AS SELECT * FROM pgr_makeConnected( - 'SELECT id, source, 6 AS target, cost, reverse_cost - FROM edge_table - WHERE id = 9' + 'q5' ); -SELECT is_empty('makeConnected5', '5: Graph is already Connected -> Empty row is returned'); +SELECT is_empty('oneVertexTest6', '6: Graph is already Connected -> Empty row is returned'); -- 2 vertices tests ===> Already Connected From 6eed140201f32793224ee7e27111fade32d424b3 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 16:33:23 +0530 Subject: [PATCH 0597/1360] [makeConnected][pgtap] Prepared statement for twoVerticesTest --- .../makeConnected/edge_cases.sql | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/pgtap/makeConnected/makeConnected/edge_cases.sql b/pgtap/makeConnected/makeConnected/edge_cases.sql index ec12289ddaf..99d44b0edc8 100644 --- a/pgtap/makeConnected/makeConnected/edge_cases.sql +++ b/pgtap/makeConnected/makeConnected/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(18); +SELECT plan(20); -- 0 edge, 0 vertex tests @@ -55,34 +55,42 @@ SELECT is_empty('oneVertexTest6', '6: Graph is already Connected -> Empty row is -- 2 vertices tests ===> Already Connected -PREPARE makeConnected6 AS +PREPARE q7 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id = 1; + +SELECT set_eq('q7', $$VALUES (1, 1, 2, 1, 1)$$, 'q9: Graph with two vertices 1 and 2'); + +PREPARE twoVerticesTest8 AS SELECT * FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 1' + 'q7' ); -SELECT is_empty('makeConnected6', '6: Graph is already Connected -> Empty row is returned'); +SELECT is_empty('twoVerticesTest8', '8: Graph is already Connected -> Empty row is returned'); + -- 2 vertices tests ===> Not Connected -PREPARE makeConnected7 AS +PREPARE q9 AS +SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table WHERE id = 2 + UNION +SELECT id, source, 6 AS target, cost, reverse_cost FROM edge_table WHERE id = 9; + +SELECT set_eq('q9', $$VALUES (2, 2, 2, -1, 1), (9, 6, 6, 1, 1)$$, 'q9: Graph with two vertices 2 and 6'); + +PREPARE twoVerticesTest10 AS SELECT * -FROM pgr_makeConnected('SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table WHERE id = 2 - UNION - SELECT id, source, 6 AS target, cost, reverse_cost - FROM edge_table WHERE id = 9' -); +FROM pgr_makeConnected('q9'); -SELECT set_eq('makeConnected7', $$VALUES (1, 2, 6)$$, '7: One row is returned'); +SELECT set_eq('twoVerticesTest10', $$VALUES (1, 2, 6)$$, '10: One row is returned'); PREPARE makeConnected8 AS SELECT * FROM pgr_makeConnected('SELECT id, source, 7 AS target, cost, reverse_cost FROM edge_table WHERE id = 6 UNION - SELECT id, source, 6 AS target, cost, reverse_cost + SELECT id, source, 6 AS target, cost, reverse_cost FROM edge_table WHERE id = 9' ); SELECT set_eq('makeConnected8', $$VALUES (1, 7, 6)$$, '8: One row is returned'); @@ -103,18 +111,18 @@ INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES (3, 8, 10, -1), (6, 8, -1, 12); -PREPARE q9 AS +PREPARE q19 AS SELECT id, source, target, cost, reverse_cost FROM three_vertices_table; -- Cyclic Graph with three vertices 3, 6 and 8 -SELECT set_eq('q9', +SELECT set_eq('q19', $$VALUES (1, 3, 6, 20, -1), (2, 3, 8, 10, -1), (3, 6, 8, -1, 12) $$, - 'q9: Cyclic Graph with three vertices 3, 6 and 8' + 'q19: Cyclic Graph with three vertices 3, 6 and 8' ); From 3d41eac2314381440b57c2549c384cac68349ff7 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 16:43:18 +0530 Subject: [PATCH 0598/1360] [makeConnected][pgtap] Removed custom table tests --- .../makeConnected/edge_cases.sql | 46 +------------------ 1 file changed, 1 insertion(+), 45 deletions(-) diff --git a/pgtap/makeConnected/makeConnected/edge_cases.sql b/pgtap/makeConnected/makeConnected/edge_cases.sql index 99d44b0edc8..6d2bdf67103 100644 --- a/pgtap/makeConnected/makeConnected/edge_cases.sql +++ b/pgtap/makeConnected/makeConnected/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(20); +SELECT plan(17); -- 0 edge, 0 vertex tests @@ -98,54 +98,10 @@ SELECT set_eq('makeConnected8', $$VALUES (1, 7, 6)$$, '8: One row is returned'); -- 3 vertices tests ====> Already Connnected -CREATE TABLE three_vertices_table ( - id BIGSERIAL, - source BIGINT, - target BIGINT, - cost FLOAT, - reverse_cost FLOAT -); - -INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES - (3, 6, 20, -1), - (3, 8, 10, -1), - (6, 8, -1, 12); -PREPARE q19 AS -SELECT id, source, target, cost, reverse_cost -FROM three_vertices_table; --- Cyclic Graph with three vertices 3, 6 and 8 -SELECT set_eq('q19', - $$VALUES - (1, 3, 6, 20, -1), - (2, 3, 8, 10, -1), - (3, 6, 8, -1, 12) - $$, - 'q19: Cyclic Graph with three vertices 3, 6 and 8' -); - - -PREPARE makeConnected10 AS -SELECT * -FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table' -); -PREPARE makeConnected11 AS -SELECT * -FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost - FROM three_vertices_table WHERE id > 4' -); -SELECT is_empty('makeConnected10', - '10: Graph Already Connected -> Empty row is returned' -); -SELECT is_empty('makeConnected11', - '11: Vertex not present in graph -> Empty row is returned' -); -- 3 vertices tests ====> Not Connnected PREPARE makeConnected12 AS From cb6ddf16de14a8bdcb1c91686afa29551cda182d Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 16:50:34 +0530 Subject: [PATCH 0599/1360] [makeConnected][pgtap] Removed extra twoVertices tests --- pgtap/makeConnected/makeConnected/edge_cases.sql | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/pgtap/makeConnected/makeConnected/edge_cases.sql b/pgtap/makeConnected/makeConnected/edge_cases.sql index 6d2bdf67103..77d293ac76a 100644 --- a/pgtap/makeConnected/makeConnected/edge_cases.sql +++ b/pgtap/makeConnected/makeConnected/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(17); +SELECT plan(16); -- 0 edge, 0 vertex tests @@ -85,16 +85,6 @@ FROM pgr_makeConnected('q9'); SELECT set_eq('twoVerticesTest10', $$VALUES (1, 2, 6)$$, '10: One row is returned'); -PREPARE makeConnected8 AS -SELECT * -FROM pgr_makeConnected('SELECT id, source, 7 AS target, cost, reverse_cost - FROM edge_table WHERE id = 6 - UNION - SELECT id, source, 6 AS target, cost, reverse_cost - FROM edge_table WHERE id = 9' -); -SELECT set_eq('makeConnected8', $$VALUES (1, 7, 6)$$, '8: One row is returned'); - -- 3 vertices tests ====> Already Connnected From 453666f20dd0535c2a4cd2364920b230b2c023be Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 17:01:41 +0530 Subject: [PATCH 0600/1360] [makeConnected][pgtap] Added 3 Vertices already connected tests --- .../makeConnected/edge_cases.sql | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/pgtap/makeConnected/makeConnected/edge_cases.sql b/pgtap/makeConnected/makeConnected/edge_cases.sql index 77d293ac76a..1dd59f11725 100644 --- a/pgtap/makeConnected/makeConnected/edge_cases.sql +++ b/pgtap/makeConnected/makeConnected/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(16); +SELECT plan(18); -- 0 edge, 0 vertex tests @@ -16,9 +16,7 @@ SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); PREPARE makeConnected2 AS SELECT * -FROM pgr_makeConnected( - 'q1' -); +FROM pgr_makeConnected('q1'); SELECT is_empty('makeConnected2', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); @@ -47,9 +45,7 @@ SELECT set_eq('q5', $$VALUES (9, 6, 6, 1, 1)$$, 'q5: Graph with only vertex 6'); PREPARE oneVertexTest6 AS SELECT * -FROM pgr_makeConnected( - 'q5' -); +FROM pgr_makeConnected('q5'); SELECT is_empty('oneVertexTest6', '6: Graph is already Connected -> Empty row is returned'); @@ -64,9 +60,7 @@ SELECT set_eq('q7', $$VALUES (1, 1, 2, 1, 1)$$, 'q9: Graph with two vertices 1 a PREPARE twoVerticesTest8 AS SELECT * -FROM pgr_makeConnected( - 'q7' -); +FROM pgr_makeConnected('q7'); SELECT is_empty('twoVerticesTest8', '8: Graph is already Connected -> Empty row is returned'); @@ -88,6 +82,18 @@ SELECT set_eq('twoVerticesTest10', $$VALUES (1, 2, 6)$$, '10: One row is returne -- 3 vertices tests ====> Already Connnected +PREPARE q11 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id IN (1,2); + +SELECT set_eq('q11', $$VALUES (1, 1, 2, 1, 1), (2, 2, 3, -1, 1)$$, 'q11: Graph with three vertices 1, 2 and 3'); + +PREPARE threeVerticesTest12 AS +SELECT * +FROM pgr_makeConnected('q11'); + +SELECT is_empty('threeVerticesTest12', '12: Graph is already Connected -> Empty row is returned'); From 954212c4d990ae7439aeff5661b13c61ddb805e1 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 17:33:59 +0530 Subject: [PATCH 0601/1360] [makeConnected][pgtap] Removed extra 3 vertices Test --- .../makeConnected/edge_cases.sql | 37 +++++-------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/pgtap/makeConnected/makeConnected/edge_cases.sql b/pgtap/makeConnected/makeConnected/edge_cases.sql index 1dd59f11725..8e74be06e06 100644 --- a/pgtap/makeConnected/makeConnected/edge_cases.sql +++ b/pgtap/makeConnected/makeConnected/edge_cases.sql @@ -97,40 +97,21 @@ SELECT is_empty('threeVerticesTest12', '12: Graph is already Connected -> Empty +-- 3 vertices tests ====> Not Connnected +PREPARE q13 AS +SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 2 + UNION +SELECT id, source, 6 AS target, cost, reverse_cost FROM edge_table WHERE id = 9; --- 3 vertices tests ====> Not Connnected -PREPARE makeConnected12 AS -SELECT * -FROM pgr_makeConnected('SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id = 2 - UNION - SELECT id, source, 6 AS target, cost, reverse_cost - FROM edge_table WHERE id = 9' -); +SELECT set_eq('q13', $$VALUES (2, 2, 3, -1, 1), (9, 6, 6, 1, 1)$$, 'q13: Graph with two vertices 2 and 6'); -PREPARE makeConnected13 AS +PREPARE threeVerticesTest14 AS SELECT * -FROM pgr_makeConnected('SELECT id, source, 2 AS target, cost, reverse_cost - FROM edge_table WHERE id = 2 - UNION - SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id = 17' -); +FROM pgr_makeConnected('q13'); -SELECT set_eq('makeConnected12', - $$VALUES - (1, 3, 6) - $$, - '12:Graph with three vertices 1, 2 and 6' -); +SELECT set_eq('threeVerticesTest14', $$VALUES (1, 3, 6)$$, '10: One row is returned'); -SELECT set_eq('makeConnected13', - $$VALUES - (1, 2, 14) - $$, - '13:Graph with three vertices 2, 14 and 15' -); -- 4 vertex tests ===> Already Connected From a370bdc5e11bf6e3385412d59177d6f2048f5140 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 17:44:57 +0530 Subject: [PATCH 0602/1360] [makeConnected][pgtap] Added 4 vertices cyclic graph test --- .../makeConnected/edge_cases.sql | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/pgtap/makeConnected/makeConnected/edge_cases.sql b/pgtap/makeConnected/makeConnected/edge_cases.sql index 8e74be06e06..79c1eeb9e72 100644 --- a/pgtap/makeConnected/makeConnected/edge_cases.sql +++ b/pgtap/makeConnected/makeConnected/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(18); +SELECT plan(19); -- 0 edge, 0 vertex tests @@ -113,17 +113,27 @@ FROM pgr_makeConnected('q13'); SELECT set_eq('threeVerticesTest14', $$VALUES (1, 3, 6)$$, '10: One row is returned'); --- 4 vertex tests ===> Already Connected +-- 4 vertex tests ===> Cyclic -PREPARE makeConnected14 AS -SELECT * -FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id IN (1,2)' +PREPARE q15 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id IN (8, 10, 11, 12); + +SELECT set_eq('q15', + $$VALUES + (8, 5, 6, 1, 1), + (10, 5, 10, 1, 1), + (11, 6, 11, 1, -1), + (12, 10, 11, 1, -1) + $$, + 'q15: Graph with four vertices 5, 6, 10 and 11 (cyclic)' ); -SELECT is_empty('makeConnected14', '14: Graph is already Connected -> Empty row is returned'); +PREPARE fourVerticesCyclicTest16 AS +SELECT * +FROM pgr_makeConnected('q15'); +SELECT is_empty('fourVerticesCyclicTest16', '14: Graph is already Connected -> Empty row is returned'); -- 4 vertex tests ===> Not Connected From 6ec4bf16157a4af1f382916f8ec94e07ecd2b019 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 17:52:06 +0530 Subject: [PATCH 0603/1360] [makeConnected][pgtap] prepared sttement 4 vertices not connected test --- .../makeConnected/edge_cases.sql | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/pgtap/makeConnected/makeConnected/edge_cases.sql b/pgtap/makeConnected/makeConnected/edge_cases.sql index 79c1eeb9e72..248b40fe1bd 100644 --- a/pgtap/makeConnected/makeConnected/edge_cases.sql +++ b/pgtap/makeConnected/makeConnected/edge_cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(19); +SELECT plan(20); -- 0 edge, 0 vertex tests @@ -137,15 +137,18 @@ SELECT is_empty('fourVerticesCyclicTest16', '14: Graph is already Connected -> E -- 4 vertex tests ===> Not Connected +PREPARE q17 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id IN (1,6); +SELECT set_eq('q17', $$VALUES (1, 1, 2, 1, 1), (6, 7, 8, 1, 1)$$, 'q13: Graph with four vertices 1, 2, 7 and 8'); -PREPARE makeConnected15 AS +PREPARE fourVerticesTest18 AS SELECT * -FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id IN (1,6)' -); +FROM pgr_makeConnected('q17'); + +SELECT set_eq('fourVerticesTest18', $$VALUES (1, 2, 7) $$, '15:Two Connected Components. One row is returned'); PREPARE makeConnected16 AS SELECT * @@ -163,12 +166,7 @@ FROM pgr_makeConnected( WHERE id IN (17,18)' ); -SELECT set_eq('makeConnected15', - $$VALUES - (1, 2, 7) - $$, - '15:Two Connected Components. One row is returned' -); + SELECT set_eq('makeConnected16', $$VALUES From ed620444399b62394d3c8da7aef619f897612239 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 18:06:59 +0530 Subject: [PATCH 0604/1360] [makeConnected][pgtap] Completeted four vertices test --- .../makeConnected/edge_cases.sql | 42 ++++++------------- 1 file changed, 12 insertions(+), 30 deletions(-) diff --git a/pgtap/makeConnected/makeConnected/edge_cases.sql b/pgtap/makeConnected/makeConnected/edge_cases.sql index 248b40fe1bd..4835e7466d5 100644 --- a/pgtap/makeConnected/makeConnected/edge_cases.sql +++ b/pgtap/makeConnected/makeConnected/edge_cases.sql @@ -110,7 +110,7 @@ PREPARE threeVerticesTest14 AS SELECT * FROM pgr_makeConnected('q13'); -SELECT set_eq('threeVerticesTest14', $$VALUES (1, 3, 6)$$, '10: One row is returned'); +SELECT set_eq('threeVerticesTest14', $$VALUES (1, 3, 6)$$, '14: One row is returned'); -- 4 vertex tests ===> Cyclic @@ -142,45 +142,27 @@ SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (1,6); -SELECT set_eq('q17', $$VALUES (1, 1, 2, 1, 1), (6, 7, 8, 1, 1)$$, 'q13: Graph with four vertices 1, 2, 7 and 8'); +SELECT set_eq('q17', $$VALUES (1, 1, 2, 1, 1), (6, 7, 8, 1, 1)$$, 'q17: Graph with four vertices 1, 2, 7 and 8'); PREPARE fourVerticesTest18 AS SELECT * FROM pgr_makeConnected('q17'); -SELECT set_eq('fourVerticesTest18', $$VALUES (1, 2, 7) $$, '15:Two Connected Components. One row is returned'); +SELECT set_eq('fourVerticesTest18', $$VALUES (1, 2, 7) $$, '18:Two Connected Components. One row is returned'); -PREPARE makeConnected16 AS -SELECT * -FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id IN (2,9)' -); - -PREPARE makeConnected17 AS -SELECT * -FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id IN (17,18)' -); +PREPARE q19 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id IN (17,18); +SELECT set_eq('q19', $$VALUES (17, 14, 15, 1, 1), (18, 16, 17, 1, 1)$$, 'q19: Graph with four vertices 14, 15, 16 and 17'); -SELECT set_eq('makeConnected16', - $$VALUES - (1, 3, 6) - $$, - '16:Two Connected Components. One row is returned' -); +PREPARE fourVerticesTest20 AS +SELECT * +FROM pgr_makeConnected('q19'); -SELECT set_eq('makeConnected17', - $$VALUES - (1, 15, 16) - $$, - '16:Two Connected Components. One row is returned' -); +SELECT set_eq('fourVerticesTest20', $$VALUES (1, 15, 16) $$,'20:Two Connected Components. One row is returned'); From 8788d4afe1ca28cee9f2af5f21a2057cdad10fe8 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 18:31:23 +0530 Subject: [PATCH 0605/1360] [makeConnected][pgtap] New types_check done for makeConnected --- .../makeConnected/types_check.sql | 52 ++++++------------- 1 file changed, 15 insertions(+), 37 deletions(-) diff --git a/pgtap/makeConnected/makeConnected/types_check.sql b/pgtap/makeConnected/makeConnected/types_check.sql index c6867147c01..dae937dabd1 100644 --- a/pgtap/makeConnected/makeConnected/types_check.sql +++ b/pgtap/makeConnected/makeConnected/types_check.sql @@ -1,48 +1,26 @@ \i setup.sql -SELECT plan(5); +SELECT plan(4); SELECT has_function('pgr_makeconnected'); SELECT function_returns('pgr_makeconnected', ARRAY['text'], 'setof record'); --- flags --- error - -SELECT lives_ok( - 'SELECT * FROM pgr_makeConnected( - ''SELECT id, source, target, cost, reverse_cost FROM edge_table'' - )', - '3: Documentation says works with no flags'); - -SELECT throws_ok( - 'SELECT * FROM pgr_makeConnected( - ''SELECT id, source, target, cost, reverse_cost FROM edge_table id < 17'', - 3 - )','42883','function pgr_makeconnected(unknown, integer) does not exist', - '4: Documentation says it does not work with 1 flags'); - - --- prepare for testing return types - -PREPARE all_return AS -SELECT - 'bigint'::text AS t1, - 'bigint'::text AS t2, - 'bigint'::text AS t3; - -PREPARE q5 AS -SELECT pg_typeof(seq)::text AS t1, - pg_typeof(node_from)::text AS t2, - pg_typeof(node_to)::text AS t3 - FROM ( - SELECT * FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id <= 18' - ) ) AS a LIMIT 1; - - -SELECT set_eq('q5', 'all_return', 'Expected returning, columns names & types'); +-- pgr_makeconnected +-- parameter names +SELECT bag_has( + $$SELECT proargnames from pg_proc where proname = 'pgr_makeconnected'$$, + $$SELECT '{"",seq,node_from,node_to}'::TEXT[] $$ +); + +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_makeconnected'$$, + $$VALUES + ('{25,20,20,20}'::OID[]) + $$ +); SELECT * FROM finish(); ROLLBACK; From 492251f7f922f3db84d7894ef4e8f10326164d9b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 19:47:04 +0530 Subject: [PATCH 0606/1360] [isPlanar][doc] One liner for pgr_isPlanar --- doc/planar/pgr_isPlanar.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 643487e7761..a5f6bca581b 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -10,9 +10,7 @@ pgr_isPlanar - Experimental =============================================================================== -``pgr_isPlanar`` — Returns a boolean depending upon the planarity of the graph. Result -is true if the input graph is planar and false if the input graph is non-planar. In -particular, the boost::boyer_myrvold_planarity_test() is implemented by Boost.Graph. +``pgr_isPlanar`` — Returns a boolean (true/false) depending upon the planarity of the graph. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/libs/graph/doc/boyer_myrvold.html From b3a857cb934b1bf2188fc74ea450079c7c6fb127 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 20:00:37 +0530 Subject: [PATCH 0607/1360] [isPlanar][doc] Added availability and linkcheck_ignore --- doc/conf.py.in | 1 + doc/planar/pgr_isPlanar.rst | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/conf.py.in b/doc/conf.py.in index 876046a23ad..c1527ae7193 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -296,6 +296,7 @@ pdf_style_path = ['.', '_styles'] # cases to ignore during link checking linkcheck_ignore = [ + "https://docs.pgrouting.org/3.2/en/pgr_isPlanar.html", # might not exist yet (we are generating it!) # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index a5f6bca581b..c633137c97e 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -10,7 +10,7 @@ pgr_isPlanar - Experimental =============================================================================== -``pgr_isPlanar`` — Returns a boolean (true/false) depending upon the planarity of the graph. +``pgr_isPlanar`` — Returns a boolean (true/false) depending upon the planarity of the graph. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/libs/graph/doc/boyer_myrvold.html @@ -23,6 +23,14 @@ pgr_isPlanar - Experimental .. rubric:: Availability +* Version 3.2.0 + + * New **experimental** function + +.. rubric:: Support + +* **Supported versions:** + current(`3.2 `__) Description ------------------------------------------------------------------------------- From 16866a66f47140817d365ecb45e949b90b1be5ff Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 20:08:30 +0530 Subject: [PATCH 0608/1360] [isPlanar][doc] Modified documentation --- doc/planar/pgr_isPlanar.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index c633137c97e..6e1a7953082 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -40,9 +40,9 @@ of a planar graph is called a plane drawing. Every planar graph also admits a st plane drawing where each edge is represented by a line segment. The main characteristics are: - - It will return a bool value depending upon the planarity of the graph. + - It will return a boolean value depending upon the planarity of the graph. - - Applicable only for undirected graphs. + - Applicable only for **undirected** graphs. - The graph can be either weighted or unweighted. From fe0acd7eacf51acd7cb08ee4ba6cc33b3fc63823 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 20:15:49 +0530 Subject: [PATCH 0609/1360] [isPlanar][doc] Modified characteristics --- doc/planar/pgr_isPlanar.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 6e1a7953082..a36cfe0c914 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -44,7 +44,7 @@ The main characteristics are: - Applicable only for **undirected** graphs. - - The graph can be either weighted or unweighted. + - The algorithm does not considers traversal costs in the calculations. - **Running time:** On a graph with n vertices and m edges, pgr_isPlanar runs in time O(n). From 9840d0abee6b2a6d7b01b8507dc83ba164e455b8 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 20:19:46 +0530 Subject: [PATCH 0610/1360] [isPlanar][doc] Running time edited --- doc/planar/pgr_isPlanar.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index a36cfe0c914..414c6b57e39 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -46,7 +46,7 @@ The main characteristics are: - The algorithm does not considers traversal costs in the calculations. - - **Running time:** On a graph with n vertices and m edges, pgr_isPlanar runs in time O(n). + - Running time: :math:`O(|V|)` Signatures ------------------------------------------------------------------------------- From 21e09d28c8121f75ae659bc3fc43aa93077292e1 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 20:42:57 +0530 Subject: [PATCH 0611/1360] [isPlanar][doc] Added experimental on index --- doc/planar/pgr_isPlanar.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 414c6b57e39..a0a9c05b344 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -55,7 +55,7 @@ Signatures .. code-block:: none - pgr_isPlanar(Edges SQL) + pgr_isPlanar(Edges SQL) -- Experimental on v3.2 RETURNS BOOLEAN @@ -65,6 +65,9 @@ Signatures :start-after: -- q1 :end-before: -- q2 +.. index:: + single: isPlanar(Edges SQL) -- Experimental on v3.2 + Parameters ------------------------------------------------------------------------------- From ac38d88150068c07a8cd319aab3419c45fd307ef Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 20:59:48 +0530 Subject: [PATCH 0612/1360] [isPlanar][doc] Modified the additional example --- doc/planar/pgr_isPlanar.rst | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index a0a9c05b344..e68254d51f0 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -74,7 +74,7 @@ Parameters =================== ====================== ========= ================================================= Parameter Type Default Description =================== ====================== ========= ================================================= -**Edges SQL** ``TEXT`` SQL query as described above. +**Edges SQL** ``TEXT`` SQL query as described below. =================== ====================== ========= ================================================= Inner query @@ -90,11 +90,13 @@ Column Type Default Description **target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. **cost** ``ANY-NUMERICAL`` Weight of the edge `(source, target)` - - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. + - When positive: edge `(target, source)` is part of the graph. + - When negative: edge `(target, source)` is not part of the graph. **reverse_cost** ``ANY-NUMERICAL`` -1 Weight of the edge `(target, source)`, - - When negative: edge `(target, source)` does not exist, therefore it's not part of the graph. + - When positive: edge `(target, source)` is part of the graph. + - When negative: edge `(target, source)` is not part of the graph. ================= =================== ======== ================================================= @@ -117,24 +119,18 @@ Column Type Description Additional Example: ------------------------------------------------------------------------------- -Now, let's add some edges to make the :doc:`sampledata` graph non-planar. Inserting edges between every pair -in this list of vertices 1, 2, 3, 4, 5. This will make the graph non-planar. +The following edges will make the subgraph with vertices {1, 2, 3, 4, 5} a K5 graph. .. literalinclude:: doc-pgr_isPlanar.queries :start-after: -- q2 :end-before: -- q3 -Now, check the planarity. +The new graph is not planar because it has a K5 subgraph. .. literalinclude:: doc-pgr_isPlanar.queries :start-after: -- q3 :end-before: -- q4 -Use of pgr_connectedComponents( ) function in query to check the planarity of a particular component. - -.. literalinclude:: doc-pgr_isPlanar.queries - :start-after: -- q4 - :end-before: -- q5 See Also ------------------------------------------------------------------------------- From 62f65cfa4330810c982b93342605cdb9949c0e46 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 4 Aug 2020 21:31:33 +0530 Subject: [PATCH 0613/1360] [isPlanar] Modified doc and docqueries --- doc/planar/pgr_isPlanar.rst | 4 +-- docqueries/planar/doc-pgr_isPlanar.result | 29 +++++---------------- docqueries/planar/doc-pgr_isPlanar.test.sql | 24 +++++------------ 3 files changed, 14 insertions(+), 43 deletions(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index e68254d51f0..4aaae775abb 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -10,7 +10,7 @@ pgr_isPlanar - Experimental =============================================================================== -``pgr_isPlanar`` — Returns a boolean (true/false) depending upon the planarity of the graph. +``pgr_isPlanar`` — Returns a boolean depending upon the planarity of the graph. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/libs/graph/doc/boyer_myrvold.html @@ -59,7 +59,7 @@ Signatures RETURNS BOOLEAN -:Example: Query done on :doc:`sampledata` network gives. +:Example: Using the :doc:`sampledata` network. .. literalinclude:: doc-pgr_isPlanar.queries :start-after: -- q1 diff --git a/docqueries/planar/doc-pgr_isPlanar.result b/docqueries/planar/doc-pgr_isPlanar.result index 02a5626efe3..b179eb71a0b 100644 --- a/docqueries/planar/doc-pgr_isPlanar.result +++ b/docqueries/planar/doc-pgr_isPlanar.result @@ -5,7 +5,7 @@ SET -- q1 SELECT * FROM pgr_isPlanar( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' + FROM edge_table' ); pgr_isplanar -------------- @@ -14,12 +14,15 @@ SELECT * FROM pgr_isPlanar( -- q2 INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES -(1, 3, 1, -1), (1, 4, 1, -1), (1, 5, 1, -1), (2, 4, 1, -1), (2, 5, 1, -1), (3, 5, 1, -1), (4, 5, 1, -1); +(1, 3, 1, -1), (1, 4, 1, -1), (1, 5, 1, -1), +(2, 4, 1, -1), (2, 5, 1, -1), +(3, 5, 1, -1), +(4, 5, 1, -1); INSERT 0 7 -- q3 SELECT * FROM pgr_isPlanar( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' + FROM edge_table' ); pgr_isplanar -------------- @@ -27,25 +30,5 @@ SELECT * FROM pgr_isPlanar( (1 row) -- q4 -SELECT * FROM pgr_isPlanar( -$$ - SELECT id, source, target, cost, reverse_cost FROM edge_table - where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) - OR - target = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) -$$ - ); - pgr_isplanar --------------- - t -(1 row) - --- q5 ROLLBACK; ROLLBACK diff --git a/docqueries/planar/doc-pgr_isPlanar.test.sql b/docqueries/planar/doc-pgr_isPlanar.test.sql index cba30afd3bf..de8825048f9 100644 --- a/docqueries/planar/doc-pgr_isPlanar.test.sql +++ b/docqueries/planar/doc-pgr_isPlanar.test.sql @@ -1,32 +1,20 @@ \echo -- q1 SELECT * FROM pgr_isPlanar( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' + FROM edge_table' ); \echo -- q2 INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES -(1, 3, 1, -1), (1, 4, 1, -1), (1, 5, 1, -1), (2, 4, 1, -1), (2, 5, 1, -1), (3, 5, 1, -1), (4, 5, 1, -1); +(1, 3, 1, -1), (1, 4, 1, -1), (1, 5, 1, -1), +(2, 4, 1, -1), (2, 5, 1, -1), +(3, 5, 1, -1), +(4, 5, 1, -1); \echo -- q3 SELECT * FROM pgr_isPlanar( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' + FROM edge_table' ); \echo -- q4 -SELECT * FROM pgr_isPlanar( -$$ - SELECT id, source, target, cost, reverse_cost FROM edge_table - where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) - OR - target = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) -$$ - ); - \echo -- q5 From 5d5b39b684df397dfe42076798d90d76eefd018f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 5 Aug 2020 20:09:20 +0530 Subject: [PATCH 0614/1360] linkcheck_ignore modified --- doc/conf.py.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.py.in b/doc/conf.py.in index c1527ae7193..99eace78069 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -296,12 +296,12 @@ pdf_style_path = ['.', '_styles'] # cases to ignore during link checking linkcheck_ignore = [ - "https://docs.pgrouting.org/3.2/en/pgr_isPlanar.html", # might not exist yet (we are generating it!) # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected # (see: https://github.com/sphinx-doc/sphinx/issues/7388) "https://github.com/pgRouting/pgrouting/issues/*", # limit only pgrouting + "https://docs.pgrouting.org/3.2/en/pgr_isPlanar.html", ] linkcheck_timeout = 20 From 998402c49ea9c87fbc552bd20cf3c7f939870a3f Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 5 Aug 2020 20:21:47 +0530 Subject: [PATCH 0615/1360] [isPlanar][doc] Modified the doc --- doc/planar/pgr_isPlanar.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 4aaae775abb..dbc79721b8d 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -59,7 +59,6 @@ Signatures RETURNS BOOLEAN -:Example: Using the :doc:`sampledata` network. .. literalinclude:: doc-pgr_isPlanar.queries :start-after: -- q1 From c0f15f4d243d3f6f6e92d897dc3e286a65f8aca6 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 5 Aug 2020 20:54:07 +0530 Subject: [PATCH 0616/1360] [isPlanar][doc] Added image in doc --- doc/planar/CMakeLists.txt | 2 ++ doc/planar/images/CMakeLists.txt | 10 ++++++++++ doc/planar/images/modifiedEdgeTable.png | Bin 0 -> 8257 bytes doc/planar/pgr_isPlanar.rst | 4 +++- 4 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 doc/planar/images/CMakeLists.txt create mode 100644 doc/planar/images/modifiedEdgeTable.png diff --git a/doc/planar/CMakeLists.txt b/doc/planar/CMakeLists.txt index b674dace301..2a88db40468 100644 --- a/doc/planar/CMakeLists.txt +++ b/doc/planar/CMakeLists.txt @@ -8,4 +8,6 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() +add_subdirectory("images") set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} PARENT_SCOPE) diff --git a/doc/planar/images/CMakeLists.txt b/doc/planar/images/CMakeLists.txt new file mode 100644 index 00000000000..35982fcc85b --- /dev/null +++ b/doc/planar/images/CMakeLists.txt @@ -0,0 +1,10 @@ +SET(LOCAL_FILES + modifiedEdgeTable.png + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}" COPYONLY) + list(APPEND LOCAL_IMG_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}") +endforeach() + +set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/doc/planar/images/modifiedEdgeTable.png b/doc/planar/images/modifiedEdgeTable.png new file mode 100644 index 0000000000000000000000000000000000000000..7f8560d9233e76ff75138e7248296b5fd396558b GIT binary patch literal 8257 zcmc(Ec{tQ<`}d?|3yC4JB+3?2$-X4pAdGG7ija|QFm}?NL?L5evX1OVS;ju4yKEtQ zj6Je7$kHg=drkLqKkxm#$MgR4``yp)HwTBqcV^D-^}Vk1{G6Z9=ZrGc*J7mSqK7~r zj4*9=BM9WkGw|z6dmLPOf30aB{5j^W1~Z`ruVC6ckHP<(J{sme#vV>Sez#GM5NCG} zH%D=A2b80uyZ2oWpS7a|We9|C0H%K3#6OcX9^hlLz5o83P)5!}4f}`u7w#QB!5{vB zR`~JRj3FwCBE!8JQ?Xk$!tc(XmB6}OfA+w>%f2$_E|fY2sjFdcl|;%pPAB`0MeR<< zRlx@*1-m}%9jspxXVl%ed3lP{pU~66S5IzLT<}g%tS1Kv!NXP0o`pb=!eeL%MDe_d=he>h5i`i)e)E8h6oKkpyRvZ+%p)o*6b`*&O_OTTMEZccDOfho4HLkS@0;JP4x7h zP6jMIPvFHn_wt?>5^@DAKoV=+9vkPqsAyOg`s?9j%4CVeEvM7|MO(%u3O9* z8U28OfQ9j)^N6#m;@zoIH{9`7%|T>kl2?6wJ+dz^!pO)-E%8Ln%R3#XLcWhWFOS!6 zio_Kc6@3gLPZSDe`OjvGF-K7yL6+MzqNATYQJ6m%u?w?N3i>{HQ)U8-uno|Vl9J-r zqcPSmH16vwJY=c2e@Aa>X14sD=)nvxSyu~(Y?t}1O$L5_+2*s^E#tbi*f-W3gePei z2{5o<{K(@so_m~;>r<>fH8s^>)!f{jnA1{fk}W%V7!0Nwtcn9&P@ibnYP99 z3>CozLe}5Vbar4-vC$gdutIrD?|##RazJ62 zQ>P@&G>3g`yxu`|^!1r|7s$IwiHX?EOm1qbBfeih!L!2->c?taoyFw!KbtK0u1~+& z*xfgcT^p+@J$~Z!$=Sr22y!??y7IgXqKYrIL}-9U^xE=nVX^35sN>wcu*2%bf`UQ| zeOlH`#1(M!qYhe=MHVCp=7VQ)6(8)1iyN=q{b5zA|4ovmM;7N~u1-_ZK|+^ei;6m# zIbq0?JYu*JvA8w|eoo|Xo5f=5VY=Vxqp2<5HyGd8DvK%*)+;e?~4#P8<2yed?H89X)opVVh_f0RUGa%|Ps{WQ z(6AaF#+vo)%?7LJ=p+G=w9UZdY_zx9t2TIxi;a8UB;3=w&a=_9=O7Z0nu$0VL?>3Z zouNB&qX&DzXj7diW!RP(%YYpgcWZl0TNVz1JT(M`F2F_$c}+`A1-S&Wo1EH);uMtf$0=2=$%E~(HbIEsW5f0_x5R;RWtLt7PyMhc6;!XjF z`#$DOq&%(ebgvY75#(f4zEMZDnHGCTDtwXS6Ggsyp`>(}3i#06~i zY1M$5IQc@&tvl_CmWzvvyw9RxQb;5-pP99F=EmmcZ+tf*nQES$DhguLradnxcz3=t zDR5^d(x4#>RCypMq#B>4{*T9Rlvg8%boheT!$UU`vQ0)2Mn-vGx--N?MLX3l=Y+z~ z@^9ty?Q4T&DlN72_Z!9Vsn~+080TxosAZn0k#hQQ8Wa`@yGzf&U}|YuVt25S(%I89 z3?7MN)<<O@ zM$|eS@qN(d|5i01pnkP!Q$HysMNCCSWoOIu`t@*8F){JN8#eXR4;Ti^tz-h4ZHe&v z^4G&3-Y1fh1?#OV5>^fL^ah&(HXmfKjaF&(svI^seMrr9>Q0Xk6hQXacpA#jC6#_I zjj86EAqYpa}mrd&fIB5eXM= z>ibuX9!5t+!FRutpgi3??>*TRaS=h-qTa;yNZ-!(^a}96T{E7Up7+q`+DZSST5e?Vg@wZaDzUJ7^&mZ4KI_S_I-5%k z&rgOFD&uT%io9`|`h^ibs*CWm*N*M=zu_^;S0lmjcCG>@N=KxPafbR76>pptrmop5`CD0&7IHb!dtHzSH%t+JhIC*QJSH4lm2jmvYA{o1$#d17 z@$VxF|DJTvhIe-A0Qe_Lc`}KJi5imXq}O9H*s-UqT5yZxhTNMEo(SBI=T_qoNV-{aH7#~ zrAJ|H@F5**Vs>^|Yl|DPb}3$q7w+OxeDEDlaOum_piq?Nxg6E|mK01FLfD1$PhnEP zg2CELjSKa;F5SAX8OK|`kQLOU*12vBz=y&JBnf-3xS6z)_MdP_4pV5tx6f@>+8mQ+ z<(9viHb9P&R~{R49b8wOo=VhBQ*Ez|7!(&5Z}=;2V+3k#4-nJbuRLeeVEwEHie9bg z>|P-}v3zx+kp}O(HfaOuJ6QO0M0v8fm8g)=LgKES{|q&(f1f-uzr9n zRkxAGYIKQskCE5mM_10%01BieA|a6sC|8wJ_X8rAjC)zw;qDZ>@rG& zx@rhewFZ1>`dVCDJ^;BV#h$gByZcL2=i z6vvO}Eo6t;f_ewNsoxdX{Gu;kD^mFO4ythi{M0(AXD)vr)r{CCw0-W=m2Ae=)zt-d zzda}a7pAfrpQmix$~P<`;QA95_gvn$1n?=r!hvGYrb-R6l|k3K_n0*@Zu)C=Qw ziX$6^-ib^9;079ryyx`&1~iFlJUKnRgs?X+>6;}c`kLqvjwE6-N=KRXh7y*JLeD@2 zU?uCjN%1N9-{K758Q0uO#`6Fw4}fk7<>SM-Pc(>JxbR-nXGLG8k>ql!q zGWJx#&#E#$n#KT+1cJ%oqBOkO5w_kq6~XqI9Dezy)bQnH^I*?oDC|jWfXn+ z)#aqI^F!$BN{-BlEF8AZUyeI=J;Ua-O*l74Ch?%z=rsk4TkYNdA1)RpnCn!7wM=JLZh_XnE#6NJWGTzC2EK+WUfZe7ewBEK7VQ2Q}97V%((#y?S%`usG7` z>;GYb_IHxKKVx~)L!nSEmC&XaH#5-v`x!DG!vNR@ads;ED|UzUUh=y@NXkZ0LHtH3Ck;rr}d8yAj~QgQ}n{(9_dz%|!B**bzc8 zSc**P{P1D06xV{3v$^ZVzyLv>m5|WCnQ_e&27`H8#qla_ZI9Sl={eE>4t@BpdExQ6 z9Z88Kb@cd&k1IHW1dRR|)z9hQmKdE7hq=^1vgZ3|7}_4VoduT7NFlnq~!2zDby01Tv-_$Q?1 zkNBc|H7$L>&Ss_9Ibm2Z08IuyE-I$c}0cz6Gr z+x-{Hn`Oy_nvza}OFuU1(Fx8|ovF7YrNPav0;tF2<*{~tuA|g(U^D0n?3f6Ze|P|% z`rd!&n}{hpM?1hpBH!{C4!H1J?BuILGB+>3df}>L8{4^`^v3Nk)Z^9q`*ZU5y=^T6 z8+fx6bd6sqT>#n%hLYtDoJ*7Y#Xf9yfZw2MWEq$a)+JhZtH-VM3J5t(FytO;$d``2Q?IW4r=EGUANl3N%o*i&ISxlvSJdu7;RDA*+Nod6S) zL;%ruq~LRO$EYY`7(nD0-orydUwvmT!JyjfvnC}WfdVkq(;Fhpn@;tVPz4=dGV=R>N)APJh`y%%YeTOfi`wW0X}D*d~tuv)zQfbxzt|}xIKjU;aDKw z60AYvSB~gnc~b4v&1DlXpCs?UoVig}BF`f~A*07N=wWsMf;mbk(R_X$Fh3neAR6vvzfs&@&6;!3l zy|!rDh=>SFASYUWd^y9&t7r~dzv;cN7Q5x9&Sp5<@|_)jM@PqwmF*I(INrdycr74L zyor6SmPE6gLzTC0?C-CIjex!`21Ab5y#zrro;k~j5jy==$BR`CfAo&MbciGgv*ZJ> zh~m<;9Q<@`{`US%!yHDJjgQYm!A#wMF*nj@;HHcVARg)0+|tb|tczu)g0IYx^95pv zB(s&_a%uEe^LK4+t`r~xM^f!RA-~F%`931%4Dw*_M*}#qp?Ys;9(f;Oe`yY+vtu{~ z%z(8s=P@?;y3Xsf4>*+-GU2cpFiKyd8=kTomM`riNOy1d&Z9c!QA-Ug6$9%tZ-Ik? z0GRijc-eWKgr6#L9jV|_4z3dvIe%UQ_(GsCW_sRm?g1}tWU()Q9^FV`4OvP-$N6Sy z3#v8{So~z5*c_QkV4{sLtjx8dUbCOP!jB(EJ-OySepk+PZfUSMAum54SS;6x@K#&E zK=kW$J@=wx#PG{MV@OTgKdTuZ)-I0UekyXZrAEiM8 zrKw|JkkY#_@PL|O5bt5vwbYsc*jOw(`(hPy$|8-*4n=KJ*mDh#)qo=7c_ho~o8iku zJdPqM&+8`N{Zx575D54o&|AQVI?+v)^OL5+N!x?(zn99CkX;7seQ%i z!>#L^f)A?1#`7JZNvO5aQj}dmy0q&HP&+1RX=xOn%i&SM^w;ks%mzFTPam zKAB_%lxY4rttsB0!(dguo%Qqci`_DlCYJK#RfBn-s;*RpC!^2bM^&u|EfJi^vnVG& z`oi7xl`zLJ*Li-89ccTfcp0QwV;A&{?`(n9KiQg@g%0~+a+r8;V_Zi-M+AF+grwiWktDWNNB85Y&%t-TJoVlTod4!ursT!- zlG;c-{56@ci1UjRh~%J&^dmSOladdNt|uL>XS}bpef{u@mEj-Ts;6L^$^+8n zNK(LefMMRw7;2imFlxkF>QkPn9vs0x1nZ?nBz=#2FT%)L(avv(?O)g#i{05aKs8~r zy(xnyy{{}-1jG#viY!dSYV*~(do$Tw?l9T;NzYmAKHci(K*d_#Qi#UV+8+I37tEi2 z+x<%>>?ZchUPlmX&l9Rsc0tl#{>ju>nvYXKDkJ|MYy96U-oMRx|6d7TL`_i1p=Mw& zLf~wdhs!f4<`R^heJmErqP)LlJb~&G2gO9uv9&$kvIEJ; zf$YGXr&w>&&OO|2qpvjZQ=yF{bC#L*c!A}<{76u1SSg41i?u{|iXL)nixv+1IgowT zYgWD7wt1{`rOh(Hboydnarq4ZTSh)xWWp1ro$22wWOd#oJ~!;}V0nr_5L_xLt>_1^ zv<1AiVqgv?CulqZHnl-U+yn>^6qN9&`H|Gx6CSo zKpsNkceh$2^FbF(x8{Z*Q zpo25VYTaBFjMP(A!dm2gm$5T%BdxmMKxqwWP$-noTSggS1qG|-!0lH&LiW`jQ?}I9 z)SxLpe;>z(11cN|Bsbs=H6BcS0|^Go#eg%6#sX$uQ{%g0W)rr*9S9~1(t%rd!Qynl zAcHbop>P#o&JMhC>=J%<#ed;5&cwt7TVd0vgQ0Yrub-rV&xiz$8-I7J_{AJ{Fku0^ zTL_59qO;0w8cCML?eJi~VZD{Xt&KJa&x9%l{r<;~ADz9u%#%HqgwT-oDo<*v(n1 zhOMUp;%-@PS@SCOvLdxJ-Xnzxp}y4Esk2?zgb&uFJmYLy~&9*L* z>j)Iz3o&t}o8Uplz)&iQ+7~2Y_+RNaTnd8)(vuU&$5aJfmnD~E)<=>~&KEKlfHsxB zgr18@A6ng*mf7%fJkYs0QFFa(%F=HC}jkF;x!k=2N|PyPjSvAb)Io-+i9l`D)qt8$`?3##kb!+s{MR~ zpA|}bjH>nqB;NiPvASex@PgUop2<_e;?^~UrfuxyFFh0?H~&y|(eN)Gk~wc%(ho6d z-;v|uVXjF9cT^WaR+uFG!9|ibo?-tYIFF$JF`+WN2}Z(nQBlAEEBz`)$!J+hH3%O4 z3Vczn_Wuuyxc||Cg{LU@pVVQBK=b>IC$Pbdi*1a=g^sE{p*nJc$L`WXEwsn<*BH$8 gKQ<8il{9-Q(xwst$9Q?FA>akm&{wZeyY=Az0M41z7ytkO literal 0 HcmV?d00001 diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index dbc79721b8d..1cd3bd038b2 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -59,7 +59,6 @@ Signatures RETURNS BOOLEAN - .. literalinclude:: doc-pgr_isPlanar.queries :start-after: -- q1 :end-before: -- q2 @@ -126,6 +125,9 @@ The following edges will make the subgraph with vertices {1, 2, 3, 4, 5} a K5 gr The new graph is not planar because it has a K5 subgraph. +.. image:: images/modifiedEdgeTable.png + :width: 45% + .. literalinclude:: doc-pgr_isPlanar.queries :start-after: -- q3 :end-before: -- q4 From 20dcdfa320dade6a231cc15eabf6576419c7a838 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 6 Aug 2020 17:43:45 +0530 Subject: [PATCH 0617/1360] [isPlanar][doc] Added required image of non-planar graph --- doc/planar/images/CMakeLists.txt | 2 +- doc/planar/images/modifiedEdgeTable.png | Bin 8257 -> 0 bytes doc/planar/images/nonPlanar.png | Bin 0 -> 11741 bytes doc/planar/pgr_isPlanar.rst | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 doc/planar/images/modifiedEdgeTable.png create mode 100644 doc/planar/images/nonPlanar.png diff --git a/doc/planar/images/CMakeLists.txt b/doc/planar/images/CMakeLists.txt index 35982fcc85b..827788f3bdc 100644 --- a/doc/planar/images/CMakeLists.txt +++ b/doc/planar/images/CMakeLists.txt @@ -1,5 +1,5 @@ SET(LOCAL_FILES - modifiedEdgeTable.png + nonPlanar.png ) foreach (f ${LOCAL_FILES}) diff --git a/doc/planar/images/modifiedEdgeTable.png b/doc/planar/images/modifiedEdgeTable.png deleted file mode 100644 index 7f8560d9233e76ff75138e7248296b5fd396558b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8257 zcmc(Ec{tQ<`}d?|3yC4JB+3?2$-X4pAdGG7ija|QFm}?NL?L5evX1OVS;ju4yKEtQ zj6Je7$kHg=drkLqKkxm#$MgR4``yp)HwTBqcV^D-^}Vk1{G6Z9=ZrGc*J7mSqK7~r zj4*9=BM9WkGw|z6dmLPOf30aB{5j^W1~Z`ruVC6ckHP<(J{sme#vV>Sez#GM5NCG} zH%D=A2b80uyZ2oWpS7a|We9|C0H%K3#6OcX9^hlLz5o83P)5!}4f}`u7w#QB!5{vB zR`~JRj3FwCBE!8JQ?Xk$!tc(XmB6}OfA+w>%f2$_E|fY2sjFdcl|;%pPAB`0MeR<< zRlx@*1-m}%9jspxXVl%ed3lP{pU~66S5IzLT<}g%tS1Kv!NXP0o`pb=!eeL%MDe_d=he>h5i`i)e)E8h6oKkpyRvZ+%p)o*6b`*&O_OTTMEZccDOfho4HLkS@0;JP4x7h zP6jMIPvFHn_wt?>5^@DAKoV=+9vkPqsAyOg`s?9j%4CVeEvM7|MO(%u3O9* z8U28OfQ9j)^N6#m;@zoIH{9`7%|T>kl2?6wJ+dz^!pO)-E%8Ln%R3#XLcWhWFOS!6 zio_Kc6@3gLPZSDe`OjvGF-K7yL6+MzqNATYQJ6m%u?w?N3i>{HQ)U8-uno|Vl9J-r zqcPSmH16vwJY=c2e@Aa>X14sD=)nvxSyu~(Y?t}1O$L5_+2*s^E#tbi*f-W3gePei z2{5o<{K(@so_m~;>r<>fH8s^>)!f{jnA1{fk}W%V7!0Nwtcn9&P@ibnYP99 z3>CozLe}5Vbar4-vC$gdutIrD?|##RazJ62 zQ>P@&G>3g`yxu`|^!1r|7s$IwiHX?EOm1qbBfeih!L!2->c?taoyFw!KbtK0u1~+& z*xfgcT^p+@J$~Z!$=Sr22y!??y7IgXqKYrIL}-9U^xE=nVX^35sN>wcu*2%bf`UQ| zeOlH`#1(M!qYhe=MHVCp=7VQ)6(8)1iyN=q{b5zA|4ovmM;7N~u1-_ZK|+^ei;6m# zIbq0?JYu*JvA8w|eoo|Xo5f=5VY=Vxqp2<5HyGd8DvK%*)+;e?~4#P8<2yed?H89X)opVVh_f0RUGa%|Ps{WQ z(6AaF#+vo)%?7LJ=p+G=w9UZdY_zx9t2TIxi;a8UB;3=w&a=_9=O7Z0nu$0VL?>3Z zouNB&qX&DzXj7diW!RP(%YYpgcWZl0TNVz1JT(M`F2F_$c}+`A1-S&Wo1EH);uMtf$0=2=$%E~(HbIEsW5f0_x5R;RWtLt7PyMhc6;!XjF z`#$DOq&%(ebgvY75#(f4zEMZDnHGCTDtwXS6Ggsyp`>(}3i#06~i zY1M$5IQc@&tvl_CmWzvvyw9RxQb;5-pP99F=EmmcZ+tf*nQES$DhguLradnxcz3=t zDR5^d(x4#>RCypMq#B>4{*T9Rlvg8%boheT!$UU`vQ0)2Mn-vGx--N?MLX3l=Y+z~ z@^9ty?Q4T&DlN72_Z!9Vsn~+080TxosAZn0k#hQQ8Wa`@yGzf&U}|YuVt25S(%I89 z3?7MN)<<O@ zM$|eS@qN(d|5i01pnkP!Q$HysMNCCSWoOIu`t@*8F){JN8#eXR4;Ti^tz-h4ZHe&v z^4G&3-Y1fh1?#OV5>^fL^ah&(HXmfKjaF&(svI^seMrr9>Q0Xk6hQXacpA#jC6#_I zjj86EAqYpa}mrd&fIB5eXM= z>ibuX9!5t+!FRutpgi3??>*TRaS=h-qTa;yNZ-!(^a}96T{E7Up7+q`+DZSST5e?Vg@wZaDzUJ7^&mZ4KI_S_I-5%k z&rgOFD&uT%io9`|`h^ibs*CWm*N*M=zu_^;S0lmjcCG>@N=KxPafbR76>pptrmop5`CD0&7IHb!dtHzSH%t+JhIC*QJSH4lm2jmvYA{o1$#d17 z@$VxF|DJTvhIe-A0Qe_Lc`}KJi5imXq}O9H*s-UqT5yZxhTNMEo(SBI=T_qoNV-{aH7#~ zrAJ|H@F5**Vs>^|Yl|DPb}3$q7w+OxeDEDlaOum_piq?Nxg6E|mK01FLfD1$PhnEP zg2CELjSKa;F5SAX8OK|`kQLOU*12vBz=y&JBnf-3xS6z)_MdP_4pV5tx6f@>+8mQ+ z<(9viHb9P&R~{R49b8wOo=VhBQ*Ez|7!(&5Z}=;2V+3k#4-nJbuRLeeVEwEHie9bg z>|P-}v3zx+kp}O(HfaOuJ6QO0M0v8fm8g)=LgKES{|q&(f1f-uzr9n zRkxAGYIKQskCE5mM_10%01BieA|a6sC|8wJ_X8rAjC)zw;qDZ>@rG& zx@rhewFZ1>`dVCDJ^;BV#h$gByZcL2=i z6vvO}Eo6t;f_ewNsoxdX{Gu;kD^mFO4ythi{M0(AXD)vr)r{CCw0-W=m2Ae=)zt-d zzda}a7pAfrpQmix$~P<`;QA95_gvn$1n?=r!hvGYrb-R6l|k3K_n0*@Zu)C=Qw ziX$6^-ib^9;079ryyx`&1~iFlJUKnRgs?X+>6;}c`kLqvjwE6-N=KRXh7y*JLeD@2 zU?uCjN%1N9-{K758Q0uO#`6Fw4}fk7<>SM-Pc(>JxbR-nXGLG8k>ql!q zGWJx#&#E#$n#KT+1cJ%oqBOkO5w_kq6~XqI9Dezy)bQnH^I*?oDC|jWfXn+ z)#aqI^F!$BN{-BlEF8AZUyeI=J;Ua-O*l74Ch?%z=rsk4TkYNdA1)RpnCn!7wM=JLZh_XnE#6NJWGTzC2EK+WUfZe7ewBEK7VQ2Q}97V%((#y?S%`usG7` z>;GYb_IHxKKVx~)L!nSEmC&XaH#5-v`x!DG!vNR@ads;ED|UzUUh=y@NXkZ0LHtH3Ck;rr}d8yAj~QgQ}n{(9_dz%|!B**bzc8 zSc**P{P1D06xV{3v$^ZVzyLv>m5|WCnQ_e&27`H8#qla_ZI9Sl={eE>4t@BpdExQ6 z9Z88Kb@cd&k1IHW1dRR|)z9hQmKdE7hq=^1vgZ3|7}_4VoduT7NFlnq~!2zDby01Tv-_$Q?1 zkNBc|H7$L>&Ss_9Ibm2Z08IuyE-I$c}0cz6Gr z+x-{Hn`Oy_nvza}OFuU1(Fx8|ovF7YrNPav0;tF2<*{~tuA|g(U^D0n?3f6Ze|P|% z`rd!&n}{hpM?1hpBH!{C4!H1J?BuILGB+>3df}>L8{4^`^v3Nk)Z^9q`*ZU5y=^T6 z8+fx6bd6sqT>#n%hLYtDoJ*7Y#Xf9yfZw2MWEq$a)+JhZtH-VM3J5t(FytO;$d``2Q?IW4r=EGUANl3N%o*i&ISxlvSJdu7;RDA*+Nod6S) zL;%ruq~LRO$EYY`7(nD0-orydUwvmT!JyjfvnC}WfdVkq(;Fhpn@;tVPz4=dGV=R>N)APJh`y%%YeTOfi`wW0X}D*d~tuv)zQfbxzt|}xIKjU;aDKw z60AYvSB~gnc~b4v&1DlXpCs?UoVig}BF`f~A*07N=wWsMf;mbk(R_X$Fh3neAR6vvzfs&@&6;!3l zy|!rDh=>SFASYUWd^y9&t7r~dzv;cN7Q5x9&Sp5<@|_)jM@PqwmF*I(INrdycr74L zyor6SmPE6gLzTC0?C-CIjex!`21Ab5y#zrro;k~j5jy==$BR`CfAo&MbciGgv*ZJ> zh~m<;9Q<@`{`US%!yHDJjgQYm!A#wMF*nj@;HHcVARg)0+|tb|tczu)g0IYx^95pv zB(s&_a%uEe^LK4+t`r~xM^f!RA-~F%`931%4Dw*_M*}#qp?Ys;9(f;Oe`yY+vtu{~ z%z(8s=P@?;y3Xsf4>*+-GU2cpFiKyd8=kTomM`riNOy1d&Z9c!QA-Ug6$9%tZ-Ik? z0GRijc-eWKgr6#L9jV|_4z3dvIe%UQ_(GsCW_sRm?g1}tWU()Q9^FV`4OvP-$N6Sy z3#v8{So~z5*c_QkV4{sLtjx8dUbCOP!jB(EJ-OySepk+PZfUSMAum54SS;6x@K#&E zK=kW$J@=wx#PG{MV@OTgKdTuZ)-I0UekyXZrAEiM8 zrKw|JkkY#_@PL|O5bt5vwbYsc*jOw(`(hPy$|8-*4n=KJ*mDh#)qo=7c_ho~o8iku zJdPqM&+8`N{Zx575D54o&|AQVI?+v)^OL5+N!x?(zn99CkX;7seQ%i z!>#L^f)A?1#`7JZNvO5aQj}dmy0q&HP&+1RX=xOn%i&SM^w;ks%mzFTPam zKAB_%lxY4rttsB0!(dguo%Qqci`_DlCYJK#RfBn-s;*RpC!^2bM^&u|EfJi^vnVG& z`oi7xl`zLJ*Li-89ccTfcp0QwV;A&{?`(n9KiQg@g%0~+a+r8;V_Zi-M+AF+grwiWktDWNNB85Y&%t-TJoVlTod4!ursT!- zlG;c-{56@ci1UjRh~%J&^dmSOladdNt|uL>XS}bpef{u@mEj-Ts;6L^$^+8n zNK(LefMMRw7;2imFlxkF>QkPn9vs0x1nZ?nBz=#2FT%)L(avv(?O)g#i{05aKs8~r zy(xnyy{{}-1jG#viY!dSYV*~(do$Tw?l9T;NzYmAKHci(K*d_#Qi#UV+8+I37tEi2 z+x<%>>?ZchUPlmX&l9Rsc0tl#{>ju>nvYXKDkJ|MYy96U-oMRx|6d7TL`_i1p=Mw& zLf~wdhs!f4<`R^heJmErqP)LlJb~&G2gO9uv9&$kvIEJ; zf$YGXr&w>&&OO|2qpvjZQ=yF{bC#L*c!A}<{76u1SSg41i?u{|iXL)nixv+1IgowT zYgWD7wt1{`rOh(Hboydnarq4ZTSh)xWWp1ro$22wWOd#oJ~!;}V0nr_5L_xLt>_1^ zv<1AiVqgv?CulqZHnl-U+yn>^6qN9&`H|Gx6CSo zKpsNkceh$2^FbF(x8{Z*Q zpo25VYTaBFjMP(A!dm2gm$5T%BdxmMKxqwWP$-noTSggS1qG|-!0lH&LiW`jQ?}I9 z)SxLpe;>z(11cN|Bsbs=H6BcS0|^Go#eg%6#sX$uQ{%g0W)rr*9S9~1(t%rd!Qynl zAcHbop>P#o&JMhC>=J%<#ed;5&cwt7TVd0vgQ0Yrub-rV&xiz$8-I7J_{AJ{Fku0^ zTL_59qO;0w8cCML?eJi~VZD{Xt&KJa&x9%l{r<;~ADz9u%#%HqgwT-oDo<*v(n1 zhOMUp;%-@PS@SCOvLdxJ-Xnzxp}y4Esk2?zgb&uFJmYLy~&9*L* z>j)Iz3o&t}o8Uplz)&iQ+7~2Y_+RNaTnd8)(vuU&$5aJfmnD~E)<=>~&KEKlfHsxB zgr18@A6ng*mf7%fJkYs0QFFa(%F=HC}jkF;x!k=2N|PyPjSvAb)Io-+i9l`D)qt8$`?3##kb!+s{MR~ zpA|}bjH>nqB;NiPvASex@PgUop2<_e;?^~UrfuxyFFh0?H~&y|(eN)Gk~wc%(ho6d z-;v|uVXjF9cT^WaR+uFG!9|ibo?-tYIFF$JF`+WN2}Z(nQBlAEEBz`)$!J+hH3%O4 z3Vczn_Wuuyxc||Cg{LU@pVVQBK=b>IC$Pbdi*1a=g^sE{p*nJc$L`WXEwsn<*BH$8 gKQ<8il{9-Q(xwst$9Q?FA>akm&{wZeyY=Az0M41z7ytkO diff --git a/doc/planar/images/nonPlanar.png b/doc/planar/images/nonPlanar.png new file mode 100644 index 0000000000000000000000000000000000000000..ec5552d27b022fec0f581977726380a8147920d5 GIT binary patch literal 11741 zcmc(_cR1W%*DgLvh#tL0i7rA2Mi(SRFF|w?B|;dT(Ip6?*Te)th+d<2f*@M7h%tJv zqj$e8-{-vV^Pb^}-82ItN zi39#~+Z+EQ_=W8vr=)Wee0*+NhJwFoT_5YaK80DkdOUZwg1mHq*<0Onv2eDsa&WPM zxo%@MOG6;c5T!@5I-Z|4r@W05+)!8Oqo0oZA8<8yVz}5aY{MNEGRpOaRr?M!FZIes z_3Wp%gy;G0COjIh|EAkpZv0fzGK?cJkzLQG#^7UArYO%G2IZ|MSdY!Ei`S33gs|Ej zQ=ZSHZ14C0p=MIJd>d_<27Y$*d*xx({;7QGX_#N2lFY}#$43lnJfJeHdW{FsZ}yYY z*4BQ_Sns^3e0*{uyc<*;_zcDN#bvqw`Nr=u&x6rt8N;i*Oh-FA4;>u%miiFyta_7X zzoz@OeG+q__>{1woMg3uYNXfF(t7gb$-`H#@)q@vwx&oaDXmUQzI?&~;baN1 zb8t{}==AvUxRSr&(Z z_hMsWN~ep~NRyt3?ZygQlkORP*3P4Q&NJR| z7v`+8-FUEMLxuQXQq{lk5A8w&H2rM^ckVFv~&_@E<&&qfz)0fD;lczfSoVP zT(xGaBs=cR$Yv|v;rv}`N6n#@f*q-lwa*o9(a>FVaX1OPPZw!3oD=ygOH-=5JYr$N zlJK^;&Z?F%=6Hh=*U}`Wyu5sYWLi>Eh?vXLXN`1e@ca{H<+d89`CGKK6CW(%Zrh%v zq?pvX;sG6mhKAZilo_XiJ2F^h3AN1{wJo!G#juON3xQm2UfgOn$Kx~Uk*ju?x+~7PHY&^6EkWwXoZ% zM)%flNH(c?!5XJAD9ebSnH%jA%)zRNwlnlUN4+&pQU5A$D%;d&<_y`{(P4!i(FqC) zQhbPD=qSl^x&M#Hb!P{MgtV13GO=Y@y8O(A-eE3fee?D$<$pc3usdgw% zKN0E0stwJtK))HM_;fAj)dd<)g{&=%{FQ#GC{=B;Aclq+Hnw})T(AmIMe)AP0(0-U z&>4?8*W-udjOQtT0?`~9U%C`p_RzvNSFb+*%8H5qBz8<2G2I+kZ&4c@D0PglLZ%!o z!sB_vP1lRiIdeurqIEEeyPSIbKN1~2bLr4@7gV_{vfroveN%%LkcV+EFpoSz@qtlmmrDH1iwhn?nEPw%?gLz zmf697@isa6+dc$z9_79L7`S+!lTzG$_^u@(y$IpUfizunx$^PNII>5CHy;BxlarHs z9Ysw=^`a#J1H__6%wbYt;_BwzG%0V9{&bmWttkCto2g zVlB&K8#U_JS6)$p9#Ujt5fmgFkUC;;c6O$Ni)V%`AEJx9-}5(xQk!~a^b|nJ#>=gG zW75*1I^I*y@65K-h`Vw*Og9zn>pxOoJhVfN*7}?Xx^E%F=%EhGVq&x%9UYJWJaP_m z;PB^FM&>{ZihE0aLq$eVLOP+F_LEf|8S?M$yRK+vE3!JLaL{i{Y}H`Zdu&&oOG2U4 z)Baad);~XJZ3+^Eb#-;&f)FyeexMvJx1i%d4@*_Yh1?_}D%$mYPjzqSw?#CFnX_#- zAT2*)S!dVRCujCzE!3%>>_{TQ>L=a64Js+&Ee)hc`(2#MW@|s6tg^pJNcerG^({SI zJ2Pa_9X)1SssBxg7=8l|fm|K>g_@OOKY#xGxYz7bd$YuDqMY5jFXaXaNwoyKL+h?v z-x%cGi`nfXkvVGK*573oLj}+Hd*_u^R5FHaVq#(-{QUg;o0HTC5qmihj43{){W#Gn z=j~M{ndSZWs4$#*GfqoxEyT4j)GRDC)U?tE$NBMjT^)3F_c@Kb3`xn$!@E-9nn)hh zJV&H#^9pmXnd5`Erfow-)G-OiwQ})VzB}t{C>mH-O&?w0-!LI9L^oNfNunX_%y0I_ z;lOi$XWpyoiTW}HD?ew!X^GvIu%)FXv#6+k;A&{Xya>8Du@fu5K16mZ`|YpznA;;o zLQgta`@k#eQ_-O7LT>5J7FaKI)ZYY4 zVmBX=!dC4SY~`~-_QgRI?`@M0u2>c-bR=?BzhOrB24~jk%y{CDBqOQkco0tYFV9=& z^cR*EFd>+jn5CYxWI@5fcO_{@-z~0tag*=tKYnP=>1Q&9onGo1G1)Q6%gTxcIlfnk zP>PNWSf01L_3H{`3>MDk4Y%h->`;jUf41@z=_woD)bU8+#LgjY`w*eIdFKCtI3ri@ ziM|8e$6or{_+C%dQNAN#3gPX=S6%u8jKOJtWym)AYj*bRSdmerXsoDux^(3Fc!`nk z#_7TOF>u&2t6r*4Qr=ZsOXdwq`T!irdU}dh!KNJ!&?U{6bd6pIZJm+y0zSu%-#a^b zgfi^v{4T_=Ba!MS(V?XeyuJG6mUvzOVAzn71%tl;eraoOcLFK3x6A+H;F;?->Naq{ zb^ugJsi;CoWX?-lm!CH%iFQ=O=FweDUEf{}50+c06j+q=&QH8d@5p@oerL0K`o-1d zh3Cb=cx-HJ#^ASNb`};478VvRF0N9sBoG0B7qJKkXa#l~PbS`dw$p+|Vm?uBwR3n_ zB~Hc27**1Aihp*rt?2A5czICb|NLZkkw}_+Uabv%fNotG%5qxzNefidzV;hE-vzb^ zZmM$f;uQ z#4do+LY?M2SvWXw?mjF2US&UNexK&P-}$jZ+DPS!t2pGLjZJP_d}ub`@;y#YTqd6# z3=s#U&4DE>UE23`8q$@c6A|?JUudXYxFtjX_^dJV_=d`0#Y>F>PEHK-_7EbVOdLj^ z9oe9uAoJ-aUw|xiZJezP`i*26AuY{~Odu4>f`Dgx?!YD}Sl*rX;PdGo73uRj?>x8l zv7|23CLh|1(}VU&ShM|s*v}&$C`IDW#>=CYgw%+_D1av z4`CjRTS|Fz`QBfMb&G+au*EfTNy`h8=@n}=W6h|kpTEymytqU(T$>j~kP1D~lQ!qY z!ncRg*tu4wLaEz4<5dWVh=R?$Wu7SD*+w3u7AZ86Vwh|{8d%-t5=vdi$DOH$6@vZh zd}uJEkpG5h{0#zYkx!;RM0F6DK6Mlv@7!CW(dws9 zFJ)u-BpMrXH%t|g=BO~lkYzd6^ zIy?Al`TI0&c*L)9C*C1kChm%g(y$j9yCgp@hX04@-v2?SSxb>M6w2RxPL`dWt;;yR zejw_$MiF&eV(dqJEfpZR#tOjcIn+Oeb}@Pr0ve&$Woe)wCx-2dETk(ZYTP-lC-ZUG=QVXuaB zW|6fnk&+p9&l|#iET)RP;mgX(egGJ8ti+52L<+!>D5_!8dR{^ufF3ODUWXis?FRDp zcO;6ybISm^H3r^jSfsZ)MA7a^9@|TRhu50-^ec0(AY^zm2r{$2Ua+7a4v72{tvVNK zCvgq4c?%BJ4*>`$?2d>Cm3S&Kz}1o<@kF8;y`jGnir)dI|JbI|FajY&^}x&*Yk+OK z%`A=PJvrwuAnZK=uC2qv!@IxriVSC40&P73Ddk5sr0rkBxoN^`aG`bO%JM^m3 z@Mm;%>*v*3%`9BV!w?Jsg7o(A|AJ*@=12uj`#6>oc=#yH_#>5JStn!6|Q#VO?*c?=pT5bT;l$Hwz(N%5k_rk5Nvmb zGow6r)3~=bDk6d~yUP{cu*;FDpzEbVl)hKtxKWFaA*3s?NcJFnd^eqO@M0XdwH2R; z>!vB3Tq{c~#^yVMysqu6hYjI~$Wy7CYy7xby5B9hVATz7M-*JNtz)u!x92NQZqszb zkT(URxCYsRx8tp5%;QKa&Jvi>L|BAYk-~X@AH84wK7eFt9la4i#xTuqAno_A86Sg% zGQ3b^YWZF-4{|Stjwf-ooxM6hjbQ%+xxpLOGd4}JYb|`g+*J6vX7a}5F46sSG#x`E z?)_6HM*XUBg4&O!5J)0^D1*V}om7$AI^ciw9wEugtGl$c1Wb1qwUuvx;*D4$JZvG- zW}Q8*G|;y2a)`d-nb%y`0Naz!-Dt(Gsxrx~nXd}2+eK}YGT!ssy;4JkiL3L*%4MCv zbey0~|9;lmZMIpRc-3Y>@`S$ePhmJDBZ@duBI_~sOCLDq~u{_WH zC3pN%NJ7-de)DFZXPMzevC-2XTxHz_#+-{fgh5|emym53TGc-)=j)><(YP1A9md3F z`7)*Whp!Rl+b+bGIPIm*$rNWdq9+Skm4z>WXL{Uh33GkVr7@ORAxIU)*KVgF)R#>G zRKwsdU{cN-d!A%+K&G@Op`+Jq4U;?3J-Q&5ni)p!&u3`Z&aB#>I(3rbEk_&4$kGZt zimdi4H&H&>{+g4Wuvr2v`YUI{+Vsvzx=i9&%_HrJqG>AzRi5U2M(Lt++j=Vr%1i}> zA75_^3VV`0HYG`0g#Wdn3OCT}L`NEXTn{lDotEM2Q>SE2O1Z2;avi7Dg|q0$!DPJ) zcum4wkf;ASx+^q1y!?b;Sa_6nueK7v3e|M!+n1M@HGBOM=$^YJ`XV2{rT{)=Z~;e1 zcohF)#RCN)zt#r$-p&u!Xl5CiX7%Q!7j;1=?HfjS@?OJ&D>r5}Cbs&Aj-C^p*L{#y z)C!D{ueZBAGdETKSldS4XN2%Gk>||@c%$Kbw|C`NHoe%@Bw@<&Sv+(ni0B9f&5U7AfCtP|>{KKgGa1c)nj}rLaV{lw-$o~;jCCAw&G3qzQSu{o`~>U>8Jp*0Zy--j5$Yx}CalGtn<_d!Uk-4tT20 zp>+mj4ekyfefH`s#|hV8^zf!zpo4zdG9|m1#wnhBU_AN&EAzS6+ceF&8K8Bk*i2UN zQ4vnvtHP1kGtM`0RBPGIHSJd$Ea^D&@C1}As(p@AJy5aR04bhHC&!Dq^?48Hr~y{| zLChuRflSdPov0)8Sh30b^K&0dE2~)mwK^=KrE>Q557eO-xL<|_MXvcZ_drn zlit1^`SYhLgP1e6m6dJ@x2Q$fmpk&bI~R(JD$MO^`IkI3@=(fCNpt0ROYB4YDj0Ve zOOp18ZRKd~+E5m*;DZO07ZuCjJXPX?DDUdcbWodp^E$hekJ?@AMT4C)?8b{%Cad|c zi;ap*zB;RAK>*MOMoXXGl=9kdiD8j}o=2^nPk7(goMq=z*Gf;2Rj=DpPl zhy`zStqFFaf2%9C(x1S(>Brg#c{3WccN({=y+r=tRcuP~{SaM!lIiLRh&TN!Q)ReJ zAHDpQ*~PYUSX5LeNS8aUxJ=C4+<3qYdpJ2cJyBJCq^%wI%K{Iu98$nJ9)Oz2V4=YSX$?(WcyI?7509L(GJey^ z5$ zLl13+WrIIN3Qs3GZ)$H|30`vz&!Z`i*tobi*Xl7aFu1Ab+3xhU!y9lR8i5zsTQ&2< zFMXA(^$ZQeL4EkTX5HG_>UlWvQUHdMY&b#z+{TdrVE>CPWUZ*@4l`R=egEhew+FCX z9iH>cvu%i~3I-@ii^4Y;mPqb)?7r$ZxRb|w6&}HQri#|f%WvxaBFN7)6UfQaFjwA2 z;LV^ltljhA=tGire*L{6p=$hi4z)H=?k%;S6rrG?;A;AAP~y4nD*l&S09D|SFm5Dd zAXC-9wtsx^^7D{Qp#u>w50Cc#sH&__{=IhyY^8Y)4tTWaT;^TZaE}RpKQXi4917K!xdE$)yTcv@kIB> ziO>u>k)o|`0hpfKWsT)Tq3uZFX|qcfoZD)F5YKLT%}Kg%pJW`Qthvqv7TXA%w_npc z)`<8Km&Hl$AxpC?Kg9iSz~OMu-EL0wu!c-)SJzim#mKvdHL`v-HnNhJ=XX8a8OId5=m zHU8@7>Evt4lLgDPY95_~ms?A485{M6py{Z^ECR#Nsmr%)1~H#wjUIQ|YJ4?*^-Kp& zp8scSqWJakQ@RG30gCYjwf?YbgJW}HJ*M4GYCEE1$1;p+zhsu)mgsa^^gMOy;9}Tn z=%-z*ku)4+omK=B85rd+!8k*Iyhsb;r3YF*Ib7tQ{A;x`Hw7yK3f#o>^7Sak$x z&@MDmtkVZIQjUwSfz9GQ@X+|`fUn>v>h#Rcz^GY6MA1tsAA zHO<9&zk&ENFLzqK0f*y{aZuXAB+U)>-WFt_uw=n+h_dr!CR^=2=Xl)DSAQsf^j*+` zPx$mJOwrjzw4O37bAO73>s7~v7!OZl28J@0ttVu_$jx($!9p5VUMPpwmC5dMA`t7w zg4Fc8XuEev2nkX6ZC)_bvgZnqP1n&JC}3mXVD&k``%1h*dCr5t^lhjxp%h)5mfX>Uz6elJh% zZZk2h@kp4TEK6xTf5IJ={b5Wa=R5qxZg0PLPjSAZjQB8?S1?&*IU+v zl^q@LV=X{{(I41k$vJ91%kH|Rw>Q>O-iWfHwyCqdcMoT-D_QO=b+3x*cva<0BqP7z z)Im=-HNQ>DHVN0d#C4PC(0FB<^o}iIs+$i-;*WUfRUv7)3E9(i|x17HKU}WZHK(5`rzx`axoRL{FsMA zf4vxvt`Ew0Jn|(%B!#PRPW!(uL{H632_PY${hTODcD-p@D%{)L?Nquj(2RQ6C-_8= zc(eF)ZPKKj2+(Am8{U|H=r2JP@6Z|XO$Cz$-%Z;73Vr(r(}4@C=_*$; zrajH}xWJ);cuHr*x0(BS+|WKI%jZ+atND9Je>J0Z&lcZP-X3T)5n3R)f>8Lo+1ls2 z0RP?XkcpuDVjh?tr9}R#ziQ5nGL=3D0|Z1C*Rufm_{Xd1z0eHX(B$^<&R%NIov_`4 zi*FZdtbfn%p3C4^Q9Ntw+NAPPSz5BgJ+E`>@1ZR@_Z))gqIU&N#aLy}8uw6x8O0Ge z%&#gB#!6@3jyNz~+ru4PSypUT)$PsO4^@=T z6b^}N(S7;i<4p#M_1Bir&jXXwMT<0s5PI6r;#~eNO3gFXUS^0KTE#5vdu(=(3egXt{wXwH7sARGo&<5bh1pp0N|ym z_cCCd6B)2+t=o+kLdSTI51hib684_7Q-+R4WUxsscLUGUx7}XkwIRHL#LxD75&c%R z`}ONaTGIZm&O2WljV&@;Cv$umOb?N}GkSB)s>f);p4qDYOvEoB)XjNNdXN5G52C!O$X)H=fP+{((*8VP+!N?N&uvfK*deWK-EdWKMTti)ZxkW++tWx_hMl1F)k3fbi zRHy}azY)rDxi25wb-uP5LUUA6S3}(kYWHF4<`n!N@j6cA`IoG(!Hqo9on<`nASsj{ zah&YF6#FCfSMm>qMYY_JXBBvfQV}@j9Z#!f)Ap)3>-JsGv-c}kX%^BDx}Y#<*=|jq zPkQjaS`3Nn{ySvyeBlc#e|E`T4`g9DFhu%82RYsNx}eFz3`|paMgBLex#_(=P|KiH z1W_|w3YZAr%t0+d_O7+AH#EH2fD)Lt-dY8o?&B!1C_jLo?pbp{{p4TG8Hiet^L+N3 z6>)KInX>|%?3XqI>WBY%XvBk@r+cNr5h3rp!TTPYJ(X%40 zQ@6FB8#rHJqP7RN%KpkGhRKb70LOs+uN4e`f|SD?5u?zVtBAQ!I!#G{aU zRbv69brd$zx*{LDOyv6NQ%dWAa&>DIB{%87vDjuPp#`VgUlow2CZ8(F!OF1wbq<}; z;Ini)V@{;?Ax^`bwQhDti(lYB%X8~q%du9o(y)n$uU z3UAC*g65p)x`=#pEsa? zFJGi5o!X=EP>1BYJKuD9YWFi$;@PTJP>i>1TNpC(c;Y?|t+Qm6Z$nu(P=8LqGbE$= zbkeR7H+zEl;e(1&zYDK#uP4ffUKZnncA&DFS_f#JqX9u><>ggfbqb2fjvtb9gP!ZO z&yE+fUJ5!BA95z?N7Z}R^yL$H_Ezx}^yUBTr=OO+`f*7k=~;SbPcInF!E#%|oiIxw zvMrqQ?tQBsitH{@g-a`1d!3`q`YsvtIL7p>Pd|%sd=ti?E4UEdmSi=)$0aOP29hx2 z$c>HHsviY!T#sOZ8G*UEIY-cF>tvjKqoE(?*weF5BjYD|J?8~@Ess=`<`NGxVVGBw z6Ek6+eRprt>0nLQbqh%g`hQ6lLqkJ+=tpq{f^$@Ykp+W>qa^V0ks2O$xg>Vg6!Ai( zkjX;l78Mwlt=ox=E96$LAKBB(H9PqFw~30E7T-fj!5o8*watAL+sz`q_m5TPW0H$n zVZoDw#lA)x$XaqR7gi-{y*84EufCG<&G4Sc>r=dkLJ>8QFHSI>vj;LlNDTAu?97>w zm|x-ss)-=26S4So%Nn}@xLz5pr-ob)iRpPra?7&!W;ULX2n+xF{K8W!w*NWRG${OW zz=-6^pr#ZpfS6Zv%lpEStkD}v>qY+fM%8#_r(&0R$DDut&va-f!WdPfWHHDu{)5cn zf6O%0itNE9n%yy-j}EHEb8OviM61?41%16qlvLhBQ?@UH8U@i;ug+8k9eQ0q%D_Oc zBsphzHRf3iNn}oapTPC#Ly4vA(WUGD%3x-=*_3N)lVNBBvRAXf`}2%uO`lV3DS4AA z|JbCTa9S>pjNvCgYG)S`7BFN0YATVE@%K6r-*dF(7pKYBT0kLjPJ1N8E?|vKhljR2 zR%1?F-XO!SL9`1Xnq(?EI{fBCznBQJ5xVu8w1AU=B5K;asg8~KIOQQ{3#^L;v;kRM z+-J|1NC&B_0;Vq%XD1JMiW!=szFu`s@)ndkw4beKRAL>3`TPhoBq8loR$kJ>zewe|pmXrlagfV*;M% zDHs7Gr{XuB6ZDTYPF!qQ{Ab+46Sej*==x#JUly!0C&zR_`~I51gX3ajF(7<<_nNtk zPa2#+gZWohB)+MvNg|`XXfX{FY0WNtet7Wz*>vas!FJz&dQ`Qo&g+0@tA1PhpE{k~ z2mrfeQLX0R>)h7wo3}t1q`WBD+1Zt&AN}(Uo6_%k4}LN-vcYD5|LiUnZS3pGiQV1r zVAxRL_3!&&^hKNS|2I=h*0YLCMC`mRhb3Va;#RClDj<)G-`|tevnP6Be z{Cbf0t`xSG8VCnVU0vpb`;In3Jdgm(gqS*(+hu!mgVit@AsEVdmOG4&dR~nWhWsM1 zLVep3ulj#<+CvlCg<;OGKr;}2<3t2xm21~?DFL1&AJ`q5(DAPc;Qw}$xIO_e6co@B zb(5G_&s^}1)%Ez}fA_mFp#R?PzO%UV?<0v~wUB^-0LZ`k-1r&_UkE{7f8pmGr@}rm k^4C1(QvUDEAz#XvsO0o4Cwo(X`D}>NWA#VHa^`RTKP0WBdH?_b literal 0 HcmV?d00001 diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 1cd3bd038b2..6bd0b908916 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -125,7 +125,7 @@ The following edges will make the subgraph with vertices {1, 2, 3, 4, 5} a K5 gr The new graph is not planar because it has a K5 subgraph. -.. image:: images/modifiedEdgeTable.png +.. image:: images/nonPlanar.png :width: 45% .. literalinclude:: doc-pgr_isPlanar.queries From d0743853792e4fde8550f26a1bacc5a49b2a5a5d Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 6 Aug 2020 18:04:28 +0530 Subject: [PATCH 0618/1360] [isPlanar][docqueries] Modified docqueries for correct source and target --- docqueries/planar/doc-pgr_isPlanar.result | 10 +++++----- docqueries/planar/doc-pgr_isPlanar.test.sql | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docqueries/planar/doc-pgr_isPlanar.result b/docqueries/planar/doc-pgr_isPlanar.result index b179eb71a0b..4e9277ae610 100644 --- a/docqueries/planar/doc-pgr_isPlanar.result +++ b/docqueries/planar/doc-pgr_isPlanar.result @@ -14,11 +14,11 @@ SELECT * FROM pgr_isPlanar( -- q2 INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES -(1, 3, 1, -1), (1, 4, 1, -1), (1, 5, 1, -1), -(2, 4, 1, -1), (2, 5, 1, -1), -(3, 5, 1, -1), -(4, 5, 1, -1); -INSERT 0 7 +(3, 9, 1, 1), (3, 16, 1, 1), +(4, 6, 1, 1), (4, 16, 1, 1), +(6, 16, 1, 1), +(9, 16, 1, 1); +INSERT 0 6 -- q3 SELECT * FROM pgr_isPlanar( 'SELECT id, source, target, cost, reverse_cost diff --git a/docqueries/planar/doc-pgr_isPlanar.test.sql b/docqueries/planar/doc-pgr_isPlanar.test.sql index de8825048f9..a02beecd8e3 100644 --- a/docqueries/planar/doc-pgr_isPlanar.test.sql +++ b/docqueries/planar/doc-pgr_isPlanar.test.sql @@ -6,10 +6,10 @@ SELECT * FROM pgr_isPlanar( \echo -- q2 INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES -(1, 3, 1, -1), (1, 4, 1, -1), (1, 5, 1, -1), -(2, 4, 1, -1), (2, 5, 1, -1), -(3, 5, 1, -1), -(4, 5, 1, -1); +(3, 9, 1, 1), (3, 16, 1, 1), +(4, 6, 1, 1), (4, 16, 1, 1), +(6, 16, 1, 1), +(9, 16, 1, 1); \echo -- q3 SELECT * FROM pgr_isPlanar( From c26f48a6ced28beafe75404c1dd3560a16fe1251 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 6 Aug 2020 18:06:59 +0530 Subject: [PATCH 0619/1360] [isPlanar][doc] Vertices list corrected for non-planar --- doc/planar/pgr_isPlanar.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 6bd0b908916..5ee0b76e94d 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -117,7 +117,7 @@ Column Type Description Additional Example: ------------------------------------------------------------------------------- -The following edges will make the subgraph with vertices {1, 2, 3, 4, 5} a K5 graph. +The following edges will make the subgraph with vertices {3, 4, 6, 9, 16} a K5 graph. .. literalinclude:: doc-pgr_isPlanar.queries :start-after: -- q2 From 3dfe1f45c82d96e35be408f8a7b7472368a7befc Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 6 Aug 2020 18:08:58 +0530 Subject: [PATCH 0620/1360] [isPlanar][doc] Modified statement for additional example --- doc/planar/pgr_isPlanar.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 5ee0b76e94d..88c630cf414 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -123,7 +123,7 @@ The following edges will make the subgraph with vertices {3, 4, 6, 9, 16} a K5 g :start-after: -- q2 :end-before: -- q3 -The new graph is not planar because it has a K5 subgraph. +The new graph is not planar because it has a K5 subgraph. Edges in blue represent K5 subgraph. .. image:: images/nonPlanar.png :width: 45% From 7ebf75da91b9a0491cb48fd84aaceeda573c6ec4 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 6 Aug 2020 19:40:54 +0530 Subject: [PATCH 0621/1360] [planar][lint] Fixing indentation and redundant spaces --- src/planar/boyerMyrvold_driver.cpp | 2 +- src/planar/isPlanar.c | 3 +-- src/planar/isPlanar_driver.cpp | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/planar/boyerMyrvold_driver.cpp b/src/planar/boyerMyrvold_driver.cpp index c4e6c1792cd..83423791e0b 100644 --- a/src/planar/boyerMyrvold_driver.cpp +++ b/src/planar/boyerMyrvold_driver.cpp @@ -71,7 +71,7 @@ do_pgr_boyerMyrvold( pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); pgrouting::functions::Pgr_boyerMyrvold fn_boyerMyrvold; - results=fn_boyerMyrvold.boyerMyrvold(undigraph); + results = fn_boyerMyrvold.boyerMyrvold(undigraph); logstr += fn_boyerMyrvold.get_log(); log << logstr; diff --git a/src/planar/isPlanar.c b/src/planar/isPlanar.c index 0390a8694f8..8a1c0d48695 100644 --- a/src/planar/isPlanar.c +++ b/src/planar/isPlanar.c @@ -2,7 +2,7 @@ File: isPlanar.c Generated with Template by: -Copyright (c) 2019 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: @@ -100,5 +100,4 @@ PGDLLEXPORT Datum _pgr_isplanar(PG_FUNCTION_ARGS) { /**********************************************************************/ PG_RETURN_BOOL(process(text_to_cstring(PG_GETARG_TEXT_P(0)))); /**********************************************************************/ - } diff --git a/src/planar/isPlanar_driver.cpp b/src/planar/isPlanar_driver.cpp index 293e6d0046b..75f6b3e50c9 100644 --- a/src/planar/isPlanar_driver.cpp +++ b/src/planar/isPlanar_driver.cpp @@ -54,7 +54,6 @@ do_pgr_isPlanar( std::ostringstream notice; bool result = false; try { - pgassert(!(*log_msg)); pgassert(!(*notice_msg)); pgassert(!(*err_msg)); From 289f3566e9ca1ff564bab66ba95a88ff5e426122 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 6 Aug 2020 20:16:02 +0530 Subject: [PATCH 0622/1360] [lint] Fixed indentation and spaces --- include/planar/pgr_boyerMyrvold.hpp | 30 +++++++++++++---------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp index 93bdd233c9c..b24a9a18648 100644 --- a/include/planar/pgr_boyerMyrvold.hpp +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -29,17 +29,16 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include -#include -#include - #include #include +#include + +#include #include "cpp_common/pgr_messages.h" #include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_boyer_t.h" //****************************************** -using namespace boost; namespace pgrouting { namespace functions { @@ -49,22 +48,21 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; - std::vector boyerMyrvold(G &graph){ + std::vector boyerMyrvold(G &graph) { return generateboyerMyrvold(graph); } - bool isPlanar(G &graph){ - return (boyer_myrvold_planarity_test(graph.graph)); + bool isPlanar(G &graph) { + return (boost::boyer_myrvold_planarity_test(graph.graph)); } private: std::vector< pgr_boyer_t >generateboyerMyrvold(const G &graph ) { std::vector< pgr_boyer_t > results; - auto check = boyer_myrvold_planarity_test(graph.graph); - if(check){ + auto check = boost::boyer_myrvold_planarity_test(graph.graph); + if (check) { E_i ei, ei_end; - int i; - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i){ + for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei) { int64_t src = graph[graph.source(*ei)].id; int64_t tgt = graph[graph.target(*ei)].id; double cost = graph[*ei].cost; @@ -74,13 +72,11 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { tmp.cost = cost; results.push_back(tmp); } - } - return results; + return results; } - }; -} -} +} // namespace functions +} // namespace pgrouting -#endif //INCLUDE_PLANAR_PGR_BOYERMYRVOLD_HPP_ +#endif // INCLUDE_PLANAR_PGR_BOYERMYRVOLD_HPP_ From 2703c5b498cd566db960b4bda5f83ab57ccabb72 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 6 Aug 2020 20:44:01 +0530 Subject: [PATCH 0623/1360] [isPlanar][doc] Modified doc --- doc/planar/pgr_isPlanar.rst | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 88c630cf414..31850216db0 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -37,7 +37,8 @@ Description A graph is planar if it can be drawn in two-dimensional space with no two of its edges crossing. Such a drawing of a planar graph is called a plane drawing. Every planar graph also admits a straight-line drawing, which is a -plane drawing where each edge is represented by a line segment. +plane drawing where each edge is represented by a line segment. When a graph has K5 or K3,3 as subgraph then the +graph is not planar. The main characteristics are: - It will return a boolean value depending upon the planarity of the graph. @@ -86,14 +87,10 @@ Column Type Default Description **id** ``ANY-INTEGER`` Identifier of the edge. **source** ``ANY-INTEGER`` Identifier of the first end point vertex of the edge. **target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. -**cost** ``ANY-NUMERICAL`` Weight of the edge `(source, target)` - - - When positive: edge `(target, source)` is part of the graph. +**cost** ``ANY-NUMERICAL`` - When positive: edge `(target, source)` is part of the graph. - When negative: edge `(target, source)` is not part of the graph. -**reverse_cost** ``ANY-NUMERICAL`` -1 Weight of the edge `(target, source)`, - - - When positive: edge `(target, source)` is part of the graph. +**reverse_cost** ``ANY-NUMERICAL`` -1 - When positive: edge `(target, source)` is part of the graph. - When negative: edge `(target, source)` is not part of the graph. ================= =================== ======== ================================================= @@ -132,7 +129,6 @@ The new graph is not planar because it has a K5 subgraph. Edges in blue represen :start-after: -- q3 :end-before: -- q4 - See Also ------------------------------------------------------------------------------- From e0d215fa26dc3d861711f3a51c16c154a4020aed Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 6 Aug 2020 20:56:11 +0530 Subject: [PATCH 0624/1360] [makeConnected][lint] Fixed spaces code_checker --- src/makeConnected/makeConnected_driver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp index 77123bf8ee5..2efc59c2d63 100644 --- a/src/makeConnected/makeConnected_driver.cpp +++ b/src/makeConnected/makeConnected_driver.cpp @@ -70,7 +70,7 @@ do_pgr_makeConnected( pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); pgrouting::functions::Pgr_makeConnected fn_makeConnected; - results=fn_makeConnected.makeConnected(undigraph); + results = fn_makeConnected.makeConnected(undigraph); logstr += fn_makeConnected.get_log(); log << logstr; From d04420676445f4283c14f1c34d480df76216fe28 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 6 Aug 2020 21:31:48 +0530 Subject: [PATCH 0625/1360] [makeConnected][lint] .hpp indentation and spaces fixed --- include/makeConnected/pgr_makeConnected.hpp | 48 +++++++++------------ 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index bfcc9eb8ce2..bb830e5295b 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -29,19 +29,19 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include +#include #include + #include #include #include - -#include -#include #include "cpp_common/pgr_messages.h" #include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_makeConnected_t.h" //****************************************** -using namespace boost; +// using namespace boost; using namespace std; namespace pgrouting { namespace functions { @@ -52,44 +52,38 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { typedef typename G::V V; typedef typename G::E E; typedef typename G::E_i E_i; - typedef adjacency_list< vecS, vecS, undirectedS, property>Graph; - typedef boost::graph_traits< Graph >::edge_iterator E_it; - std::vector makeConnected( - G &graph){ - return generatemakeConnected( - graph); - } + std::vector makeConnected(G &graph) { + return generatemakeConnected(graph); + } private: - std::vector< pgr_makeConnected_t > - generatemakeConnected( - G &graph ) { + std::vector< pgr_makeConnected_t > generatemakeConnected(G &graph ) { std::vector< int >component(num_vertices(graph.graph)); - size_t comp = connected_components(graph.graph,&component[0]); + size_t comp = connected_components(graph.graph, &component[0]); comp--; int64_t edgeCount = num_edges(graph.graph); int64_t newEdge = 0; - log <<"Number of Components before: "<< connected_components(graph.graph,&component[0])<<"\n"; - int64_t i=0; - make_connected(graph.graph); - log <<"Number of Components after: "<< connected_components(graph.graph,&component[0])<<"\n"; + log << "Number of Components before: " << boost::connected_components(graph.graph, &component[0]) << "\n"; + int64_t i = 0; + boost::make_connected(graph.graph); + log << "Number of Components after: " << boost::connected_components(graph.graph, &component[0]) << "\n"; E_i ei, ei_end; std::vector< pgr_makeConnected_t > results(comp); - for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei){ + for (boost::tie(ei, ei_end) = edges(graph.graph); ei != ei_end; ++ei) { int64_t src = graph[graph.source(*ei)].id; int64_t tgt = graph[graph.target(*ei)].id; - log<<"src:"<=edgeCount){ + log<< "src:" << src<< "tgt:" << tgt <<"\n"; + if (newEdge >= edgeCount) { results[i].node_from = src; results[i].node_to = tgt; i++; - } - newEdge++; + } + newEdge++; } return results; } }; -} -} +} // namespace functions +} // namespace pgrouting -#endif //INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ +#endif // INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ From b7e1bff069f1b2af58c57345d9d8a1bc3daa7125 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 6 Aug 2020 21:33:04 +0530 Subject: [PATCH 0626/1360] [isPlanar][pgtap] todo added --- pgtap/planar/isPlanar/no_crash_test.sql | 40 ++++++++++++------------- pgtap/planar/isPlanar/types_check.sql | 30 +++++++++++-------- 2 files changed, 37 insertions(+), 33 deletions(-) diff --git a/pgtap/planar/isPlanar/no_crash_test.sql b/pgtap/planar/isPlanar/no_crash_test.sql index 91338770057..ea87f82ebc7 100644 --- a/pgtap/planar/isPlanar/no_crash_test.sql +++ b/pgtap/planar/isPlanar/no_crash_test.sql @@ -1,30 +1,30 @@ \i setup.sql -SELECT plan(1); +SELECT plan(5); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; SELECT isnt_empty('edges', 'Should not be empty true to tests be meaningful'); +SELECT todo_start('Fix these checks'); +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + params = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$']::TEXT[]; + subs = ARRAY[ + 'NULL' + ]::TEXT[]; --- CREATE OR REPLACE FUNCTION test_function() --- RETURNS SETOF TEXT AS --- $BODY$ --- DECLARE --- params TEXT[]; --- subs TEXT[]; --- BEGIN --- params = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$']::TEXT[]; --- subs = ARRAY[ --- 'NULL' --- ]::TEXT[]; --- --- RETURN query SELECT * FROM no_crash_test('pgr_isplanar', params, subs); --- END --- $BODY$ --- LANGUAGE plpgsql VOLATILE; --- --- --- SELECT * FROM test_function(); + RETURN query SELECT * FROM no_crash_test('pgr_isplanar', params, subs); +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + +SELECT * FROM test_function(); +SELECT todo_end(); ROLLBACK; diff --git a/pgtap/planar/isPlanar/types_check.sql b/pgtap/planar/isPlanar/types_check.sql index 966471f6c96..e3d4dc5ee55 100644 --- a/pgtap/planar/isPlanar/types_check.sql +++ b/pgtap/planar/isPlanar/types_check.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(2); +SELECT plan(4); SELECT has_function('pgr_isplanar'); @@ -9,19 +9,23 @@ SELECT function_returns('pgr_isplanar', ARRAY['text'], 'boolean'); -- pgr_isplanar -- parameter names +SELECT todo_start('Fix types_check'); + +SELECT bag_has( + $$SELECT proargnames from pg_proc where proname = 'pgr_isplanar'$$, + $$SELECT '{}'::TEXT[] $$ +); +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_isplanar'$$, + $$VALUES + ('{}'::OID[]) + $$ +); + +SELECT todo_end(); + --- SELECT bag_has( --- $$SELECT proargnames from pg_proc where proname = 'pgr_isplanar'$$, --- $$SELECT ''::TEXT[] $$ --- ); --- --- -- parameter types --- SELECT set_eq( --- $$SELECT proallargtypes from pg_proc where proname = 'pgr_isplanar'$$, --- $$VALUES --- (''::OID[]) --- $$ --- ); SELECT * FROM finish(); ROLLBACK; From ee214a52456abddf01535ed75bb5434eadef1a76 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 6 Aug 2020 21:38:26 +0530 Subject: [PATCH 0627/1360] [makeConnected][lint] Removed std namespace --- include/makeConnected/pgr_makeConnected.hpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index bb830e5295b..9fb9c5f89d6 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -41,8 +41,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_makeConnected_t.h" //****************************************** -// using namespace boost; -using namespace std; + namespace pgrouting { namespace functions { From a1a4a0240f61b16cfcd7d58a1d1fa2ee6e081cef Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 7 Aug 2020 18:11:17 +0530 Subject: [PATCH 0628/1360] [makeConnected][doc] Added links and availability and linkcheck_ignore --- doc/conf.py.in | 1 + doc/makeConnected/pgr_makeConnected.rst | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/doc/conf.py.in b/doc/conf.py.in index 99eace78069..af17b05553b 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -302,6 +302,7 @@ linkcheck_ignore = [ # (see: https://github.com/sphinx-doc/sphinx/issues/7388) "https://github.com/pgRouting/pgrouting/issues/*", # limit only pgrouting "https://docs.pgrouting.org/3.2/en/pgr_isPlanar.html", + "https://docs.pgrouting.org/3.2/en/pgr_makeConnected.html", ] linkcheck_timeout = 20 diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index c261f51ffce..7701efc1bb2 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -24,6 +24,14 @@ which will make the graph connected. In particular, the boost::make_connected( ) .. rubric:: Availability +* Version 3.2.0 + + * New **experimental** function + +.. rubric:: Support + +* **Supported versions:** + current(`3.2 `__) Description ------------------------------------------------------------------------------- @@ -40,7 +48,7 @@ The main characteristics are: - The graph can be either weighted or unweighted. - - **Running time:** On a graph with n vertices and m edges, make_connected runs in time O(n + m). + - Running time: :math:`O(V + E)` Signatures @@ -94,7 +102,7 @@ Parameters =================== ====================== ========= ================================================= Parameter Type Default Description =================== ====================== ========= ================================================= -**Edges SQL** ``TEXT`` SQL query as described above. +**Edges SQL** ``TEXT`` SQL query as described below. =================== ====================== ========= ================================================= Inner query @@ -108,13 +116,11 @@ Column Type Default Description **id** ``ANY-INTEGER`` Identifier of the edge. **source** ``ANY-INTEGER`` Identifier of the first end point vertex of the edge. **target** ``ANY-INTEGER`` Identifier of the second end point vertex of the edge. -**cost** ``ANY-NUMERICAL`` Weight of the edge `(source, target)` - - - When negative: edge `(source, target)` does not exist, therefore it's not part of the graph. - -**reverse_cost** ``ANY-NUMERICAL`` -1 Weight of the edge `(target, source)`, +**cost** ``ANY-NUMERICAL`` - When positive: edge `(target, source)` is part of the graph. + - When negative: edge `(target, source)` is not part of the graph. - - When negative: edge `(target, source)` does not exist, therefore it's not part of the graph. +**reverse_cost** ``ANY-NUMERICAL`` -1 - When positive: edge `(target, source)` is part of the graph. + - When negative: edge `(target, source)` is not part of the graph. ================= =================== ======== ================================================= From 21c945f070fd7090a6b581ff9937d6471541478c Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 7 Aug 2020 18:31:38 +0530 Subject: [PATCH 0629/1360] Removed redundant headers, redundant comments and Modified filenames --- include/c_types/pgr_boyer_t.h | 4 ++-- include/c_types/pgr_makeConnected_t.h | 6 +++--- include/drivers/makeConnected/makeConnected_driver.h | 5 +---- include/drivers/planar/boyerMyrvold_driver.h | 5 +---- include/makeConnected/pgr_makeConnected.hpp | 1 - src/makeConnected/makeConnected_driver.cpp | 1 - 6 files changed, 7 insertions(+), 15 deletions(-) diff --git a/include/c_types/pgr_boyer_t.h b/include/c_types/pgr_boyer_t.h index f946c0d1b47..3ec4256878c 100644 --- a/include/c_types/pgr_boyer_t.h +++ b/include/c_types/pgr_boyer_t.h @@ -1,8 +1,8 @@ /*PGR-GNU***************************************************************** File: pgr_boyer_t.h -Copyright (c) 2017 Celia Virginia Vergara Castillo -Mail: vicky_vergara@hotmail.com +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com ------ diff --git a/include/c_types/pgr_makeConnected_t.h b/include/c_types/pgr_makeConnected_t.h index f68b72d8893..00c56b152e7 100644 --- a/include/c_types/pgr_makeConnected_t.h +++ b/include/c_types/pgr_makeConnected_t.h @@ -1,8 +1,8 @@ /*PGR-GNU***************************************************************** -File: pgr_boyer_t.h +File: pgr_makeConnected_t.h -Copyright (c) 2017 Celia Virginia Vergara Castillo -Mail: vicky_vergara@hotmail.com +Copyright (c) 2020 Himanshu Raj +Mail: raj.himanshu2@gmail.com ------ diff --git a/include/drivers/makeConnected/makeConnected_driver.h b/include/drivers/makeConnected/makeConnected_driver.h index 166b6df705e..0ce18895374 100644 --- a/include/drivers/makeConnected/makeConnected_driver.h +++ b/include/drivers/makeConnected/makeConnected_driver.h @@ -47,10 +47,7 @@ extern "C" { #endif /********************************************************* - TEXT, - ANYARRAY, - max_depth BIGINT DEFAULT 9223372036854775807, - directed BOOLEAN DEFAULT true + TEXT ********************************************************/ diff --git a/include/drivers/planar/boyerMyrvold_driver.h b/include/drivers/planar/boyerMyrvold_driver.h index bf76d5b5bbb..5581e853b51 100644 --- a/include/drivers/planar/boyerMyrvold_driver.h +++ b/include/drivers/planar/boyerMyrvold_driver.h @@ -47,10 +47,7 @@ extern "C" { #endif /********************************************************* - TEXT, - ANYARRAY, - max_depth BIGINT DEFAULT 9223372036854775807, - directed BOOLEAN DEFAULT true + TEXT ********************************************************/ diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index 9fb9c5f89d6..e01881d8bf1 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -39,7 +39,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_messages.h" #include "cpp_common/pgr_base_graph.hpp" -#include "c_types/pgr_makeConnected_t.h" //****************************************** namespace pgrouting { diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/makeConnected/makeConnected_driver.cpp index 2efc59c2d63..77fe0c89b5e 100644 --- a/src/makeConnected/makeConnected_driver.cpp +++ b/src/makeConnected/makeConnected_driver.cpp @@ -35,7 +35,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" -#include "c_types/pgr_makeConnected_t.h" #include "makeConnected/pgr_makeConnected.hpp" #include "cpp_common/pgr_base_graph.hpp" From 25ea9151c320c3727cd571991bd943cd1ebc2591 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 7 Aug 2020 18:43:52 +0530 Subject: [PATCH 0630/1360] [makeConnected][include] Added boost for calling --- include/makeConnected/pgr_makeConnected.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index e01881d8bf1..c41506b6365 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -56,10 +56,10 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { private: std::vector< pgr_makeConnected_t > generatemakeConnected(G &graph ) { - std::vector< int >component(num_vertices(graph.graph)); - size_t comp = connected_components(graph.graph, &component[0]); + std::vector< int >component(boost::num_vertices(graph.graph)); + size_t comp = boost::connected_components(graph.graph, &component[0]); comp--; - int64_t edgeCount = num_edges(graph.graph); + int64_t edgeCount = boost::num_edges(graph.graph); int64_t newEdge = 0; log << "Number of Components before: " << boost::connected_components(graph.graph, &component[0]) << "\n"; int64_t i = 0; @@ -78,7 +78,7 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { } newEdge++; } - return results; + return results; } }; } // namespace functions From e79a16d5711fbc5b97d201f00ae5f98ffb828819 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 7 Aug 2020 18:47:13 +0530 Subject: [PATCH 0631/1360] [makeConnected][doc] Modified description and return statement of function --- doc/makeConnected/pgr_makeConnected.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index 7701efc1bb2..8bfbd059d8c 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -10,8 +10,8 @@ pgr_makeConnected - Experimental =============================================================================== -``pgr_makeConnected`` — Returns the set of node_from and node_to of edges. This set of edges are those edges -which will make the graph connected. In particular, the boost::make_connected( ) is implemented by Boost.Graph. +``pgr_makeConnected`` — Returns the set of `node_from` and `node_to` of edges. This set of edges are those edges +which will make the graph connected. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/libs/graph/doc/make_connected.html @@ -44,9 +44,9 @@ The two edges added might consist of one connecting a vertex in A with a vertex The main characteristics are: - It will give the minimum list of all edges which are needed in the graph to make the graph connected. - - Applicable only for undirected graphs. + - Applicable only for **undirected** graphs. - - The graph can be either weighted or unweighted. + - The algorithm does not considers traversal costs in the calculations. - Running time: :math:`O(V + E)` From a1b00d63d10d2ddec51f3d1f987740cc6bc6b7c1 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 7 Aug 2020 18:51:38 +0530 Subject: [PATCH 0632/1360] Corrected copyright year --- include/drivers/makeConnected/makeConnected_driver.h | 2 +- include/drivers/planar/boyerMyrvold_driver.h | 2 +- include/drivers/planar/isPlanar_driver.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/drivers/makeConnected/makeConnected_driver.h b/include/drivers/makeConnected/makeConnected_driver.h index 0ce18895374..2e92ab5ffe7 100644 --- a/include/drivers/makeConnected/makeConnected_driver.h +++ b/include/drivers/makeConnected/makeConnected_driver.h @@ -2,7 +2,7 @@ File: makeConnected_driver.h Generated with Template by: -Copyright (c) 2019 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: diff --git a/include/drivers/planar/boyerMyrvold_driver.h b/include/drivers/planar/boyerMyrvold_driver.h index 5581e853b51..963e41bf31d 100644 --- a/include/drivers/planar/boyerMyrvold_driver.h +++ b/include/drivers/planar/boyerMyrvold_driver.h @@ -2,7 +2,7 @@ File: boyerMyrvold_driver.h Generated with Template by: -Copyright (c) 2019 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: diff --git a/include/drivers/planar/isPlanar_driver.h b/include/drivers/planar/isPlanar_driver.h index fce3054df54..54a8aeeffbc 100644 --- a/include/drivers/planar/isPlanar_driver.h +++ b/include/drivers/planar/isPlanar_driver.h @@ -2,7 +2,7 @@ File: isPlanar_driver.h Generated with Template by: -Copyright (c) 2019 pgRouting developers +Copyright (c) 2020 pgRouting developers Mail: project@pgrouting.org Function's developer: From 819c8877f5b29b1527f1db7f9660469a909232fe Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 7 Aug 2020 19:38:30 +0530 Subject: [PATCH 0633/1360] [makeConnected][include] Added CHECK_FOR_INTERRUPTS() --- include/makeConnected/pgr_makeConnected.hpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/makeConnected/pgr_makeConnected.hpp index c41506b6365..9084de32641 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/makeConnected/pgr_makeConnected.hpp @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_messages.h" #include "cpp_common/pgr_base_graph.hpp" +#include "cpp_common/interruption.h" //****************************************** namespace pgrouting { @@ -63,7 +64,11 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { int64_t newEdge = 0; log << "Number of Components before: " << boost::connected_components(graph.graph, &component[0]) << "\n"; int64_t i = 0; + + /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ + CHECK_FOR_INTERRUPTS(); boost::make_connected(graph.graph); + log << "Number of Components after: " << boost::connected_components(graph.graph, &component[0]) << "\n"; E_i ei, ei_end; std::vector< pgr_makeConnected_t > results(comp); From c27fab4391d34eb41388359f8f9769314d3f61b2 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 7 Aug 2020 20:05:17 +0530 Subject: [PATCH 0634/1360] Modified doc of functions --- doc/makeConnected/pgr_makeConnected.rst | 10 +--------- doc/planar/pgr_isPlanar.rst | 13 ++++++++----- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index 8bfbd059d8c..c66581e986f 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -10,8 +10,7 @@ pgr_makeConnected - Experimental =============================================================================== -``pgr_makeConnected`` — Returns the set of `node_from` and `node_to` of edges. This set of edges are those edges -which will make the graph connected. +``pgr_makeConnected`` — Returns the set of edges that will make the graph connected. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/libs/graph/doc/make_connected.html @@ -89,13 +88,6 @@ only one connected component. :start-after: -- q4 :end-before: -- q5 -pgr_makeConnected() can also be used to verify it. Since, the graph is already connected now, it will -return an empty set of row. - -.. literalinclude:: doc-pgr_makeConnected.queries - :start-after: -- q5 - :end-before: -- q6 - Parameters ------------------------------------------------------------------------------- diff --git a/doc/planar/pgr_isPlanar.rst b/doc/planar/pgr_isPlanar.rst index 31850216db0..b5c61d07bec 100644 --- a/doc/planar/pgr_isPlanar.rst +++ b/doc/planar/pgr_isPlanar.rst @@ -37,10 +37,12 @@ Description A graph is planar if it can be drawn in two-dimensional space with no two of its edges crossing. Such a drawing of a planar graph is called a plane drawing. Every planar graph also admits a straight-line drawing, which is a -plane drawing where each edge is represented by a line segment. When a graph has K5 or K3,3 as subgraph then the +plane drawing where each edge is represented by a line segment. When a graph has :math:`K_5` or :math:`K_{3,3}` as subgraph then the graph is not planar. The main characteristics are: + - This implementation use the Boyer-Myrvold Planarity Testing. + - It will return a boolean value depending upon the planarity of the graph. - Applicable only for **undirected** graphs. @@ -108,22 +110,23 @@ Returns a boolean ``(pgr_isplanar)`` ================= =========== ============================================================ Column Type Description ================= =========== ============================================================ -**pgr_isplanar** ``BOOLEAN`` `t` if graph is planar and `f` if graph is non-planar. +**pgr_isplanar** ``BOOLEAN`` - `true` when the graph is planar. + - `false` when the graph is not planar. ================= =========== ============================================================ Additional Example: ------------------------------------------------------------------------------- -The following edges will make the subgraph with vertices {3, 4, 6, 9, 16} a K5 graph. +The following edges will make the subgraph with vertices {3, 4, 6, 9, 16} a :math:`K_5` graph. .. literalinclude:: doc-pgr_isPlanar.queries :start-after: -- q2 :end-before: -- q3 -The new graph is not planar because it has a K5 subgraph. Edges in blue represent K5 subgraph. +The new graph is not planar because it has a :math:`K_5` subgraph. Edges in blue represent :math:`K_5` subgraph. .. image:: images/nonPlanar.png - :width: 45% + :scale: 50% .. literalinclude:: doc-pgr_isPlanar.queries :start-after: -- q3 From 9cc0f42be330e7012af94fb3dbd9f2692571c515 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 7 Aug 2020 20:27:04 +0530 Subject: [PATCH 0635/1360] [makeConnected] Only one query in the documentation --- doc/makeConnected/pgr_makeConnected.rst | 22 +----- .../doc-pgr_makeConnected.result | 68 +------------------ .../doc-pgr_makeConnected.test.sql | 30 +------- 3 files changed, 5 insertions(+), 115 deletions(-) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/makeConnected/pgr_makeConnected.rst index c66581e986f..3ad7ec8ce47 100644 --- a/doc/makeConnected/pgr_makeConnected.rst +++ b/doc/makeConnected/pgr_makeConnected.rst @@ -62,32 +62,12 @@ Signatures RETURNS SET OF (seq, node_from, node_to) OR EMPTY SET -Using pgr_connectedComponents() to check the number of connected components in the :doc:`sampledata` graph. -There are 3 connected components namely **1**, **14**, **16**. +:Example: Query done on :doc:`sampledata` network gives the list of edges that are needed in the graph to make it connected. .. literalinclude:: doc-pgr_makeConnected.queries :start-after: -- q1 :end-before: -- q2 -:Example: Query done on :doc:`sampledata` network gives the list of edges that are needed in the graph to make it connected. - -.. literalinclude:: doc-pgr_makeConnected.queries - :start-after: -- q2 - :end-before: -- q3 - -Inserting the above list of edges in the edge_table. - -.. literalinclude:: doc-pgr_makeConnected.queries - :start-after: -- q3 - :end-before: -- q4 - -Using pgr_connectedComponents() to check the number of connected components. So, Now the graph has -only one connected component. - -.. literalinclude:: doc-pgr_makeConnected.queries - :start-after: -- q4 - :end-before: -- q5 - Parameters ------------------------------------------------------------------------------- diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.result b/docqueries/makeConnected/doc-pgr_makeConnected.result index b3aa1db29d7..94e429cbe60 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.result +++ b/docqueries/makeConnected/doc-pgr_makeConnected.result @@ -3,35 +3,9 @@ BEGIN SET client_min_messages TO NOTICE; SET -- q1 -SELECT * FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); - seq | component | node ------+-----------+------ - 1 | 1 | 1 - 2 | 1 | 2 - 3 | 1 | 3 - 4 | 1 | 4 - 5 | 1 | 5 - 6 | 1 | 6 - 7 | 1 | 7 - 8 | 1 | 8 - 9 | 1 | 9 - 10 | 1 | 10 - 11 | 1 | 11 - 12 | 1 | 12 - 13 | 1 | 13 - 14 | 14 | 14 - 15 | 14 | 15 - 16 | 16 | 16 - 17 | 16 | 17 -(17 rows) - --- q2 SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' + FROM edge_table' ); seq | node_from | node_to -----+-----------+--------- @@ -39,44 +13,6 @@ SELECT * FROM pgr_makeConnected( 2 | 15 | 16 (2 rows) --- q3 -INSERT INTO edge_table (source,target,cost,reverse_cost) VALUES (13, 14, 1, -1), (15, 16, 1, -1); -INSERT 0 2 --- q4 -SELECT * FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); - seq | component | node ------+-----------+------ - 1 | 1 | 1 - 2 | 1 | 2 - 3 | 1 | 3 - 4 | 1 | 4 - 5 | 1 | 5 - 6 | 1 | 6 - 7 | 1 | 7 - 8 | 1 | 8 - 9 | 1 | 9 - 10 | 1 | 10 - 11 | 1 | 11 - 12 | 1 | 12 - 13 | 1 | 13 - 14 | 1 | 14 - 15 | 1 | 15 - 16 | 1 | 16 - 17 | 1 | 17 -(17 rows) - --- q5 -SELECT * FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); - seq | node_from | node_to ------+-----------+--------- -(0 rows) - --- q6 +-- q2 ROLLBACK; ROLLBACK diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql index 61fc5019982..dac138d0566 100644 --- a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql +++ b/docqueries/makeConnected/doc-pgr_makeConnected.test.sql @@ -1,32 +1,6 @@ \echo -- q1 -SELECT * FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); - -\echo -- q2 - SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); - -\echo -- q3 - -INSERT INTO edge_table (source,target,cost,reverse_cost) VALUES (13, 14, 1, -1), (15, 16, 1, -1); - -\echo -- q4 - -SELECT * FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' + FROM edge_table' ); - -\echo -- q5 - -SELECT * FROM pgr_makeConnected( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' -); - -\echo -- q6 +\echo -- q2 From 373a465f1eba394c7f759950e822adbe896eef8a Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 10 Aug 2020 19:33:40 +0530 Subject: [PATCH 0636/1360] [components] Moved makeConnected to components --- sql/components/CMakeLists.txt | 2 ++ sql/{makeConnected => components}/_makeConnected.sql | 0 sql/{makeConnected => components}/makeConnected.sql | 0 sql/makeConnected/CMakeLists.txt | 12 ------------ 4 files changed, 2 insertions(+), 12 deletions(-) rename sql/{makeConnected => components}/_makeConnected.sql (100%) rename sql/{makeConnected => components}/makeConnected.sql (100%) delete mode 100644 sql/makeConnected/CMakeLists.txt diff --git a/sql/components/CMakeLists.txt b/sql/components/CMakeLists.txt index 0219d4518a9..9e973011b8f 100644 --- a/sql/components/CMakeLists.txt +++ b/sql/components/CMakeLists.txt @@ -10,6 +10,8 @@ SET(LOCAL_FILES articulationPoints.sql _bridges.sql bridges.sql + _makeConnected.sql + makeConnected.sql ) # Do not modify below this line diff --git a/sql/makeConnected/_makeConnected.sql b/sql/components/_makeConnected.sql similarity index 100% rename from sql/makeConnected/_makeConnected.sql rename to sql/components/_makeConnected.sql diff --git a/sql/makeConnected/makeConnected.sql b/sql/components/makeConnected.sql similarity index 100% rename from sql/makeConnected/makeConnected.sql rename to sql/components/makeConnected.sql diff --git a/sql/makeConnected/CMakeLists.txt b/sql/makeConnected/CMakeLists.txt deleted file mode 100644 index 9ce4f65139e..00000000000 --- a/sql/makeConnected/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ - -SET(LOCAL_FILES - _makeConnected.sql - makeConnected.sql - ) - -foreach (f ${LOCAL_FILES}) - configure_file(${f} ${f}) - list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) -endforeach() - -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) From c3b6692fea00f7ac26063c7b43206b95afd704eb Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 10 Aug 2020 19:43:04 +0530 Subject: [PATCH 0637/1360] [components] Moved src code of makeConnected to components --- src/components/CMakeLists.txt | 2 ++ src/{makeConnected => components}/makeConnected.c | 0 src/{makeConnected => components}/makeConnected_driver.cpp | 0 src/makeConnected/CMakeLists.txt | 4 ---- 4 files changed, 2 insertions(+), 4 deletions(-) rename src/{makeConnected => components}/makeConnected.c (100%) rename src/{makeConnected => components}/makeConnected_driver.cpp (100%) delete mode 100644 src/makeConnected/CMakeLists.txt diff --git a/src/components/CMakeLists.txt b/src/components/CMakeLists.txt index 48d0d7084da..33f30164681 100644 --- a/src/components/CMakeLists.txt +++ b/src/components/CMakeLists.txt @@ -4,7 +4,9 @@ ADD_LIBRARY(components OBJECT biconnectedComponents.c articulationPoints.c bridges.c + makeConnected.c + makeConnected_driver.cpp componentsResult.cpp pgr_components.cpp connectedComponents_driver.cpp diff --git a/src/makeConnected/makeConnected.c b/src/components/makeConnected.c similarity index 100% rename from src/makeConnected/makeConnected.c rename to src/components/makeConnected.c diff --git a/src/makeConnected/makeConnected_driver.cpp b/src/components/makeConnected_driver.cpp similarity index 100% rename from src/makeConnected/makeConnected_driver.cpp rename to src/components/makeConnected_driver.cpp diff --git a/src/makeConnected/CMakeLists.txt b/src/makeConnected/CMakeLists.txt deleted file mode 100644 index a9a67793e65..00000000000 --- a/src/makeConnected/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -ADD_LIBRARY(makeConnected OBJECT - makeConnected.c - makeConnected_driver.cpp - ) From 472d352aab4b2ad620c3bd78b3d2061f072a65aa Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 10 Aug 2020 19:50:19 +0530 Subject: [PATCH 0638/1360] [components] Moved include code of makeConnected to components --- include/{makeConnected => components}/pgr_makeConnected.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename include/{makeConnected => components}/pgr_makeConnected.hpp (95%) diff --git a/include/makeConnected/pgr_makeConnected.hpp b/include/components/pgr_makeConnected.hpp similarity index 95% rename from include/makeConnected/pgr_makeConnected.hpp rename to include/components/pgr_makeConnected.hpp index 9084de32641..2cb1a2b6979 100644 --- a/include/makeConnected/pgr_makeConnected.hpp +++ b/include/components/pgr_makeConnected.hpp @@ -21,8 +21,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ -#define INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ +#ifndef INCLUDE_COMPONENTS_PGR_MAKECONNECTED_HPP_ +#define INCLUDE_COMPONENTS_PGR_MAKECONNECTED_HPP_ #pragma once #include @@ -89,4 +89,4 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { } // namespace functions } // namespace pgrouting -#endif // INCLUDE_MAKECONNECTED_PGR_MAKECONNECTED_HPP_ +#endif // INCLUDE_COMPONENTS_PGR_MAKECONNECTED_HPP_ From f8aaf25e6911eb585f355e0db8e5cbfb0db84877 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 10 Aug 2020 19:58:57 +0530 Subject: [PATCH 0639/1360] [components] Moved driver.h file to components --- .../{makeConnected => components}/makeConnected_driver.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename include/drivers/{makeConnected => components}/makeConnected_driver.h (90%) diff --git a/include/drivers/makeConnected/makeConnected_driver.h b/include/drivers/components/makeConnected_driver.h similarity index 90% rename from include/drivers/makeConnected/makeConnected_driver.h rename to include/drivers/components/makeConnected_driver.h index 2e92ab5ffe7..a3a4c2071d8 100644 --- a/include/drivers/makeConnected/makeConnected_driver.h +++ b/include/drivers/components/makeConnected_driver.h @@ -27,8 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_DRIVERS_MAKECONNECTED_MAKECONNECTED_DRIVER_H_ -#define INCLUDE_DRIVERS_MAKECONNECTED_MAKECONNECTED_DRIVER_H_ +#ifndef INCLUDE_DRIVERS_COMPONENTS_MAKECONNECTED_DRIVER_H_ +#define INCLUDE_DRIVERS_COMPONENTS_MAKECONNECTED_DRIVER_H_ #pragma once /* for size-t */ @@ -65,4 +65,4 @@ extern "C" { } #endif -#endif // INCLUDE_DRIVERS_MAKECONNECTED_MAKECONNECTED_DRIVER_H_ +#endif // INCLUDE_DRIVERS_COMPONENTS_MAKECONNECTED_DRIVER_H_ From 5456a5a96b83f106b756b1d24753bedf3a802a14 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 10 Aug 2020 20:00:43 +0530 Subject: [PATCH 0640/1360] [components] Moved makeConnected pgtap files to components --- pgtap/{makeConnected => components}/makeConnected/edge_cases.sql | 0 pgtap/{makeConnected => components}/makeConnected/inner_query.sql | 0 .../{makeConnected => components}/makeConnected/no_crash_test.sql | 0 pgtap/{makeConnected => components}/makeConnected/types_check.sql | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename pgtap/{makeConnected => components}/makeConnected/edge_cases.sql (100%) rename pgtap/{makeConnected => components}/makeConnected/inner_query.sql (100%) rename pgtap/{makeConnected => components}/makeConnected/no_crash_test.sql (100%) rename pgtap/{makeConnected => components}/makeConnected/types_check.sql (100%) diff --git a/pgtap/makeConnected/makeConnected/edge_cases.sql b/pgtap/components/makeConnected/edge_cases.sql similarity index 100% rename from pgtap/makeConnected/makeConnected/edge_cases.sql rename to pgtap/components/makeConnected/edge_cases.sql diff --git a/pgtap/makeConnected/makeConnected/inner_query.sql b/pgtap/components/makeConnected/inner_query.sql similarity index 100% rename from pgtap/makeConnected/makeConnected/inner_query.sql rename to pgtap/components/makeConnected/inner_query.sql diff --git a/pgtap/makeConnected/makeConnected/no_crash_test.sql b/pgtap/components/makeConnected/no_crash_test.sql similarity index 100% rename from pgtap/makeConnected/makeConnected/no_crash_test.sql rename to pgtap/components/makeConnected/no_crash_test.sql diff --git a/pgtap/makeConnected/makeConnected/types_check.sql b/pgtap/components/makeConnected/types_check.sql similarity index 100% rename from pgtap/makeConnected/makeConnected/types_check.sql rename to pgtap/components/makeConnected/types_check.sql From 2ed34c9c13e9e3051a52e0f966dc4d83c164147b Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 10 Aug 2020 20:03:44 +0530 Subject: [PATCH 0641/1360] [components] Moved makeConnected docqueries files to components --- docqueries/components/CMakeLists.txt | 1 + .../doc-pgr_makeConnected.result | 0 .../doc-pgr_makeConnected.test.sql | 0 docqueries/components/test.conf | 2 ++ docqueries/makeConnected/CMakeLists.txt | 11 ----------- docqueries/makeConnected/test.conf | 17 ----------------- 6 files changed, 3 insertions(+), 28 deletions(-) rename docqueries/{makeConnected => components}/doc-pgr_makeConnected.result (100%) rename docqueries/{makeConnected => components}/doc-pgr_makeConnected.test.sql (100%) delete mode 100644 docqueries/makeConnected/CMakeLists.txt delete mode 100644 docqueries/makeConnected/test.conf diff --git a/docqueries/components/CMakeLists.txt b/docqueries/components/CMakeLists.txt index 277d592f2d5..e7fefadc9de 100644 --- a/docqueries/components/CMakeLists.txt +++ b/docqueries/components/CMakeLists.txt @@ -5,6 +5,7 @@ SET(LOCAL_FILES doc-pgr_bridges doc-pgr_connectedComponents doc-pgr_strongComponents + doc-pgr_makeConnected ) foreach (f ${LOCAL_FILES}) diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.result b/docqueries/components/doc-pgr_makeConnected.result similarity index 100% rename from docqueries/makeConnected/doc-pgr_makeConnected.result rename to docqueries/components/doc-pgr_makeConnected.result diff --git a/docqueries/makeConnected/doc-pgr_makeConnected.test.sql b/docqueries/components/doc-pgr_makeConnected.test.sql similarity index 100% rename from docqueries/makeConnected/doc-pgr_makeConnected.test.sql rename to docqueries/components/doc-pgr_makeConnected.test.sql diff --git a/docqueries/components/test.conf b/docqueries/components/test.conf index f89181451dd..287a4862f15 100644 --- a/docqueries/components/test.conf +++ b/docqueries/components/test.conf @@ -10,6 +10,7 @@ doc-pgr_biconnectedComponents doc-pgr_articulationPoints doc-pgr_bridges + doc-pgr_makeConnected )], 'documentation' => [qw( doc-pgr_connectedComponents @@ -17,6 +18,7 @@ doc-pgr_biconnectedComponents doc-pgr_articulationPoints doc-pgr_bridges + doc-pgr_makeConnected )] }, diff --git a/docqueries/makeConnected/CMakeLists.txt b/docqueries/makeConnected/CMakeLists.txt deleted file mode 100644 index a9360c6350f..00000000000 --- a/docqueries/makeConnected/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -# Do not use extensions -SET(LOCAL_FILES - doc-pgr_makeConnected - ) - -foreach (f ${LOCAL_FILES}) - configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") - list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") -endforeach() - -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/makeConnected/test.conf b/docqueries/makeConnected/test.conf deleted file mode 100644 index b958ad00e53..00000000000 --- a/docqueries/makeConnected/test.conf +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/perl -w - -%main::tests = ( - 'any' => { - 'comment' => 'pgr_makeConnected algorithm tests.', - 'data' => [ ], - 'tests' => [qw( - doc-pgr_makeConnected - )], - 'documentation' => [qw( - doc-pgr_makeConnected - )] - }, - -); - -1; From 71e43a232b80c6bc6caa0bcb5147276322bb05ab Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 10 Aug 2020 20:19:50 +0530 Subject: [PATCH 0642/1360] [components] Moved makeConnected doc files to components --- doc/components/CMakeLists.txt | 1 + .../pgr_makeConnected.rst | 0 doc/makeConnected/CMakeLists.txt | 11 ----------- 3 files changed, 1 insertion(+), 11 deletions(-) rename doc/{makeConnected => components}/pgr_makeConnected.rst (100%) delete mode 100644 doc/makeConnected/CMakeLists.txt diff --git a/doc/components/CMakeLists.txt b/doc/components/CMakeLists.txt index a5964943a36..f7205addbdf 100644 --- a/doc/components/CMakeLists.txt +++ b/doc/components/CMakeLists.txt @@ -6,6 +6,7 @@ SET(LOCAL_FILES pgr_biconnectedComponents.rst pgr_articulationPoints.rst pgr_bridges.rst + pgr_makeConnected.rst ) foreach (f ${LOCAL_FILES}) diff --git a/doc/makeConnected/pgr_makeConnected.rst b/doc/components/pgr_makeConnected.rst similarity index 100% rename from doc/makeConnected/pgr_makeConnected.rst rename to doc/components/pgr_makeConnected.rst diff --git a/doc/makeConnected/CMakeLists.txt b/doc/makeConnected/CMakeLists.txt deleted file mode 100644 index 5efce8b14be..00000000000 --- a/doc/makeConnected/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ - -SET(LOCAL_FILES - pgr_makeConnected.rst - ) - -foreach (f ${LOCAL_FILES}) - configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") - list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) -endforeach() - -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) From f1c0f8c12dbdb55e0a93eade56961e3159843784 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 10 Aug 2020 20:31:20 +0530 Subject: [PATCH 0643/1360] [components] Renamed headers, pgr_makeConnected now working in components --- configuration.conf | 1 - src/components/makeConnected.c | 2 +- src/components/makeConnected_driver.cpp | 4 ++-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/configuration.conf b/configuration.conf index e0eb4151b5d..51e72647c4d 100644 --- a/configuration.conf +++ b/configuration.conf @@ -43,7 +43,6 @@ breadthFirstSearch | Y | Y | Y traversal | Y | Y | Y coloring | Y | Y | Y planar | Y | Y | Y -makeConnected | Y | Y | Y #---------------------- # SQL only directories #---------------------- diff --git a/src/components/makeConnected.c b/src/components/makeConnected.c index dfd09f67b95..cbde4f7c87a 100644 --- a/src/components/makeConnected.c +++ b/src/components/makeConnected.c @@ -39,7 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "drivers/makeConnected/makeConnected_driver.h" +#include "drivers/components/makeConnected_driver.h" PGDLLEXPORT Datum _pgr_makeconnected(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_makeconnected); diff --git a/src/components/makeConnected_driver.cpp b/src/components/makeConnected_driver.cpp index 77fe0c89b5e..e8957d5e00d 100644 --- a/src/components/makeConnected_driver.cpp +++ b/src/components/makeConnected_driver.cpp @@ -27,7 +27,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "drivers/makeConnected/makeConnected_driver.h" +#include "drivers/components/makeConnected_driver.h" #include #include @@ -36,7 +36,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" -#include "makeConnected/pgr_makeConnected.hpp" +#include "components/pgr_makeConnected.hpp" #include "cpp_common/pgr_base_graph.hpp" void From 20e54fd885966023da17be84458ea17ab0d356e5 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 11 Aug 2020 18:49:39 +0530 Subject: [PATCH 0644/1360] [isPlanar][include] Added CHECK_FOR_INTERRUPTS() snippet --- include/planar/pgr_boyerMyrvold.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp index b24a9a18648..89c1ff640a7 100644 --- a/include/planar/pgr_boyerMyrvold.hpp +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -37,6 +37,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_messages.h" #include "cpp_common/pgr_base_graph.hpp" +#include "cpp_common/interruption.h" #include "c_types/pgr_boyer_t.h" //****************************************** namespace pgrouting { @@ -53,6 +54,8 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { } bool isPlanar(G &graph) { + /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ + CHECK_FOR_INTERRUPTS(); return (boost::boyer_myrvold_planarity_test(graph.graph)); } From f261a3abf30884d7e80b0f26d729a7f28e489797 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 11 Aug 2020 21:57:05 +0530 Subject: [PATCH 0645/1360] [isPlanar][include] Surrounded boost call with try catch block --- include/planar/pgr_boyerMyrvold.hpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp index 89c1ff640a7..24b83889e9d 100644 --- a/include/planar/pgr_boyerMyrvold.hpp +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -56,7 +56,17 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { bool isPlanar(G &graph) { /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); - return (boost::boyer_myrvold_planarity_test(graph.graph)); + try { + return (boost::boyer_myrvold_planarity_test(graph.graph)); + } catch (boost::exception const& ex) { + (void)ex; + throw; + } catch (std::exception &e) { + (void)e; + throw; + } catch (...) { + throw; + } } private: From e5dffaa4ea987aa26cb729bfd6ce0d09293e2341 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 11 Aug 2020 22:12:19 +0530 Subject: [PATCH 0646/1360] [components][include] Surrounded boost call with try catch block --- include/components/pgr_makeConnected.hpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/include/components/pgr_makeConnected.hpp b/include/components/pgr_makeConnected.hpp index 2cb1a2b6979..71ac7133e60 100644 --- a/include/components/pgr_makeConnected.hpp +++ b/include/components/pgr_makeConnected.hpp @@ -67,7 +67,17 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); - boost::make_connected(graph.graph); + try { + boost::make_connected(graph.graph); + } catch (boost::exception const& ex) { + (void)ex; + throw; + } catch (std::exception &e) { + (void)e; + throw; + } catch (...) { + throw; + } log << "Number of Components after: " << boost::connected_components(graph.graph, &component[0]) << "\n"; E_i ei, ei_end; From 9ac2a0959d0e14fb76ac1875a47539987ddcf682 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 11 Aug 2020 23:10:47 +0530 Subject: [PATCH 0647/1360] [isPlanar][include] Added false inafter try catch --- include/planar/pgr_boyerMyrvold.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/planar/pgr_boyerMyrvold.hpp b/include/planar/pgr_boyerMyrvold.hpp index 24b83889e9d..8fb9c11d58a 100644 --- a/include/planar/pgr_boyerMyrvold.hpp +++ b/include/planar/pgr_boyerMyrvold.hpp @@ -67,6 +67,7 @@ class Pgr_boyerMyrvold : public pgrouting::Pgr_messages { } catch (...) { throw; } + return false; } private: From 512db98d04a4f809422b5f2623ece13b5cf4f56c Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Wed, 12 Aug 2020 21:14:16 +0530 Subject: [PATCH 0648/1360] [isPlanar][pgTAP] types_check todo completed --- pgtap/planar/isPlanar/types_check.sql | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/pgtap/planar/isPlanar/types_check.sql b/pgtap/planar/isPlanar/types_check.sql index e3d4dc5ee55..98ba91a7dfd 100644 --- a/pgtap/planar/isPlanar/types_check.sql +++ b/pgtap/planar/isPlanar/types_check.sql @@ -6,26 +6,17 @@ SELECT has_function('pgr_isplanar'); SELECT function_returns('pgr_isplanar', ARRAY['text'], 'boolean'); - -- pgr_isplanar -- parameter names -SELECT todo_start('Fix types_check'); - SELECT bag_has( $$SELECT proargnames from pg_proc where proname = 'pgr_isplanar'$$, - $$SELECT '{}'::TEXT[] $$ + $$SELECT NULL::TEXT[] $$ ); -- parameter types -SELECT set_eq( - $$SELECT proallargtypes from pg_proc where proname = 'pgr_isplanar'$$, - $$VALUES - ('{}'::OID[]) - $$ +SELECT bag_has( + $$SELECT prorettype from pg_proc where proname = 'pgr_isplanar'$$, + $$VALUES ( '16'::oid )$$ ); -SELECT todo_end(); - - - SELECT * FROM finish(); ROLLBACK; From 20bcc17cf56829947271b1f71c8c8e4cfecc5290 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 13 Aug 2020 21:49:57 +0530 Subject: [PATCH 0649/1360] [makeConnected] Renamed to start_vid and end_vid --- doc/components/pgr_makeConnected.rst | 8 ++++---- docqueries/components/doc-pgr_makeConnected.result | 2 +- include/c_types/pgr_makeConnected_t.h | 4 ++-- include/components/pgr_makeConnected.hpp | 4 ++-- pgtap/components/makeConnected/types_check.sql | 2 +- sql/components/_makeConnected.sql | 4 ++-- sql/components/makeConnected.sql | 4 ++-- src/components/makeConnected.c | 8 ++++---- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/doc/components/pgr_makeConnected.rst b/doc/components/pgr_makeConnected.rst index 3ad7ec8ce47..faebd66b033 100644 --- a/doc/components/pgr_makeConnected.rst +++ b/doc/components/pgr_makeConnected.rst @@ -59,7 +59,7 @@ Signatures pgr_makeConnected(Edges SQL) - RETURNS SET OF (seq, node_from, node_to) + RETURNS SET OF (seq, start_vid, end_vid) OR EMPTY SET :Example: Query done on :doc:`sampledata` network gives the list of edges that are needed in the graph to make it connected. @@ -104,14 +104,14 @@ Where: Result Columns ------------------------------------------------------------------------------- -Returns set of ``(seq, node_from, node_to)`` +Returns set of ``(seq, start_vid, end_vid)`` =============== =========== ============================================================ Column Type Description =============== =========== ============================================================ **seq** ``INT`` Sequential value starting from **1**. -**node_from** ``BIGINT`` Identifier of the first end point vertex of the edge. -**node_to** ``BIGINT`` Identifier of the second end point vertex of the edge. +**start_vid** ``BIGINT`` Identifier of the first end point vertex of the edge. +**end_vid** ``BIGINT`` Identifier of the second end point vertex of the edge. =============== =========== ============================================================ See Also diff --git a/docqueries/components/doc-pgr_makeConnected.result b/docqueries/components/doc-pgr_makeConnected.result index 94e429cbe60..0f24852dc38 100644 --- a/docqueries/components/doc-pgr_makeConnected.result +++ b/docqueries/components/doc-pgr_makeConnected.result @@ -7,7 +7,7 @@ SELECT * FROM pgr_makeConnected( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); - seq | node_from | node_to + seq | start_vid | end_vid -----+-----------+--------- 1 | 13 | 14 2 | 15 | 16 diff --git a/include/c_types/pgr_makeConnected_t.h b/include/c_types/pgr_makeConnected_t.h index 00c56b152e7..a9d39d93f37 100644 --- a/include/c_types/pgr_makeConnected_t.h +++ b/include/c_types/pgr_makeConnected_t.h @@ -35,8 +35,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif typedef struct { - int64_t node_from; - int64_t node_to; + int64_t start_vid; + int64_t end_vid; } pgr_makeConnected_t; #endif // INCLUDE_C_TYPES_PGR_MAKECONNECTED_T_H_ diff --git a/include/components/pgr_makeConnected.hpp b/include/components/pgr_makeConnected.hpp index 71ac7133e60..ead61cf5215 100644 --- a/include/components/pgr_makeConnected.hpp +++ b/include/components/pgr_makeConnected.hpp @@ -87,8 +87,8 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { int64_t tgt = graph[graph.target(*ei)].id; log<< "src:" << src<< "tgt:" << tgt <<"\n"; if (newEdge >= edgeCount) { - results[i].node_from = src; - results[i].node_to = tgt; + results[i].start_vid = src; + results[i].end_vid = tgt; i++; } newEdge++; diff --git a/pgtap/components/makeConnected/types_check.sql b/pgtap/components/makeConnected/types_check.sql index dae937dabd1..153bc164c64 100644 --- a/pgtap/components/makeConnected/types_check.sql +++ b/pgtap/components/makeConnected/types_check.sql @@ -11,7 +11,7 @@ SELECT function_returns('pgr_makeconnected', ARRAY['text'], 'setof record'); -- parameter names SELECT bag_has( $$SELECT proargnames from pg_proc where proname = 'pgr_makeconnected'$$, - $$SELECT '{"",seq,node_from,node_to}'::TEXT[] $$ + $$SELECT '{"",seq,start_vid,end_vid}'::TEXT[] $$ ); -- parameter types diff --git a/sql/components/_makeConnected.sql b/sql/components/_makeConnected.sql index 279654c68e8..2b9e068f456 100644 --- a/sql/components/_makeConnected.sql +++ b/sql/components/_makeConnected.sql @@ -34,8 +34,8 @@ CREATE OR REPLACE FUNCTION _pgr_makeConnected( TEXT, -- edges_sql (required) OUT seq BIGINT, - OUT node_from BIGINT, - OUT node_to BIGINT) + OUT start_vid BIGINT, + OUT end_vid BIGINT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' diff --git a/sql/components/makeConnected.sql b/sql/components/makeConnected.sql index 528cf63376d..6091179f794 100644 --- a/sql/components/makeConnected.sql +++ b/sql/components/makeConnected.sql @@ -33,8 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION pgr_makeConnected( TEXT, -- edges_sql (required) OUT seq BIGINT, - OUT node_from BIGINT, - OUT node_to BIGINT) + OUT start_vid BIGINT, + OUT end_vid BIGINT) RETURNS SETOF RECORD AS $BODY$ diff --git a/src/components/makeConnected.c b/src/components/makeConnected.c index cbde4f7c87a..3f7e0a57ff1 100644 --- a/src/components/makeConnected.c +++ b/src/components/makeConnected.c @@ -164,8 +164,8 @@ PGDLLEXPORT Datum _pgr_makeconnected(PG_FUNCTION_ARGS) { /**********************************************************************/ /* - OUT node_from BIGINT, - OUT node_to BIGINT + OUT start_vid BIGINT, + OUT end_vid BIGINT */ /**********************************************************************/ size_t numb = 3; @@ -178,8 +178,8 @@ PGDLLEXPORT Datum _pgr_makeconnected(PG_FUNCTION_ARGS) { } values[0] = Int32GetDatum(funcctx->call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].node_from); - values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].node_to); + values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].start_vid); + values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].end_vid); /**********************************************************************/ From dc7e5a228e58b08a3539577a22febec319b150b3 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Thu, 13 Aug 2020 22:35:35 +0530 Subject: [PATCH 0650/1360] [components][doc] Modified components-family to include experimental function makeConnected --- doc/components/components-family.rst | 20 ++++++++++++++++++++ doc/components/pgr_makeConnected.rst | 4 ++++ doc/src/experimental.rst | 7 +++++++ 3 files changed, 31 insertions(+) diff --git a/doc/components/components-family.rst b/doc/components/components-family.rst index dd09f6484f9..8abfda7a537 100644 --- a/doc/components/components-family.rst +++ b/doc/components/components-family.rst @@ -21,6 +21,18 @@ Components - Family of functions .. index to here +.. rubric:: Experimental + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. index experimental from here + +* :doc:`pgr_makeConnected` - Details of edges to make graph connected. + +.. index experimental to here + .. toctree:: :hidden: @@ -30,6 +42,7 @@ Components - Family of functions pgr_biconnectedComponents pgr_articulationPoints pgr_bridges + pgr_makeConnected .. rubric:: Previous versions of this page @@ -96,6 +109,13 @@ pgr_bridges :start-after: return_bridges_start :end-before: return_bridges_end +pgr_makeConnected - Experimental +............................................................................... + +.. include:: pgr_makeConnected.rst + :start-after: return_makeConnected_start + :end-before: return_makeConnected_end + See Also ------------------------------------------------------------------------------- diff --git a/doc/components/pgr_makeConnected.rst b/doc/components/pgr_makeConnected.rst index faebd66b033..c9eed040d9b 100644 --- a/doc/components/pgr_makeConnected.rst +++ b/doc/components/pgr_makeConnected.rst @@ -104,6 +104,8 @@ Where: Result Columns ------------------------------------------------------------------------------- +.. return_makeConnected_start + Returns set of ``(seq, start_vid, end_vid)`` =============== =========== ============================================================ @@ -114,6 +116,8 @@ Column Type Description **end_vid** ``BIGINT`` Identifier of the second end point vertex of the edge. =============== =========== ============================================================ +.. return_makeConnected_end + See Also ------------------------------------------------------------------------------- diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index 96156b98f63..b24f350c25a 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -73,6 +73,12 @@ Experimental Functions :start-after: index from here :end-before: index to here +:doc:`components-family` + +.. include:: components-family.rst + :start-after: index experimental from here + :end-before: index experimental to here + .. toctree:: :hidden: @@ -80,6 +86,7 @@ Experimental Functions coloring-family transformation-family traversal-family + components-family .. rubric:: categories From eb60bf87b341a6466b0b65cc8a6e4eac1bc58c69 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 14 Aug 2020 20:33:58 +0530 Subject: [PATCH 0651/1360] Removed makeConnected from Not Classified list --- doc/src/experimental.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index b24f350c25a..1a4e488d66d 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -109,7 +109,6 @@ Experimental Functions - :doc:`pgr_dagShortestPath` - :doc:`pgr_edwardMoore` - :doc:`pgr_isPlanar` -- :doc:`pgr_makeConnected` - :doc:`pgr_stoerWagner` - :doc:`pgr_topologicalSort` - :doc:`pgr_transitiveClosure` @@ -124,7 +123,6 @@ Experimental Functions pgr_dagShortestPath pgr_edwardMoore pgr_isPlanar - pgr_makeConnected pgr_stoerWagner pgr_topologicalSort pgr_transitiveClosure From 4ec7f0c58600176235df3d5fd9cc76d5a7d0d084 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Fri, 14 Aug 2020 20:58:45 +0530 Subject: [PATCH 0652/1360] Replaced ubunutu workflow.yml file --- .github/workflows/ubuntu.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index f0a3f3055a5..5ebcbf4c4d2 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -34,6 +34,7 @@ jobs: curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + - name: Install dependencies run: | sudo apt-get update @@ -54,12 +55,14 @@ jobs: export PATH=/usr/lib/postgresql/${{ matrix.psql }}/bin:$PATH mkdir build cd build - cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=Debug -DWITH_DOC=OFF .. + cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=OFF .. + - name: Build run: | cd build make -j 4 sudo make install + - name: Test run: | sudo service postgresql start From 0fb10ef7db10592e7ea0269c1d56eab30f53b682 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 17 Aug 2020 16:15:48 +0530 Subject: [PATCH 0653/1360] Update configuration.conf --- configuration.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration.conf b/configuration.conf index 51e72647c4d..83c5403af68 100644 --- a/configuration.conf +++ b/configuration.conf @@ -1,4 +1,4 @@ ----------------------- +#---------------------- # Configuration file for compilation # # Once in the file, do not change the order From d638e19dc2dc8154d2dfa3d77747835621e89790 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Mon, 17 Aug 2020 16:18:42 +0530 Subject: [PATCH 0654/1360] Update CMakeLists.txt --- doc/components/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/components/CMakeLists.txt b/doc/components/CMakeLists.txt index f7205addbdf..5ed516ee245 100644 --- a/doc/components/CMakeLists.txt +++ b/doc/components/CMakeLists.txt @@ -6,7 +6,7 @@ SET(LOCAL_FILES pgr_biconnectedComponents.rst pgr_articulationPoints.rst pgr_bridges.rst - pgr_makeConnected.rst + pgr_makeConnected.rst ) foreach (f ${LOCAL_FILES}) From 14f9a4e23b7920f20bab1cc8abde63c66ccfa9c8 Mon Sep 17 00:00:00 2001 From: Himanshu Raj Date: Tue, 18 Aug 2020 21:54:34 +0530 Subject: [PATCH 0655/1360] Removed links from linkcheck_ignore --- doc/conf.py.in | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/conf.py.in b/doc/conf.py.in index af17b05553b..876046a23ad 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -301,8 +301,6 @@ linkcheck_ignore = [ # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected # (see: https://github.com/sphinx-doc/sphinx/issues/7388) "https://github.com/pgRouting/pgrouting/issues/*", # limit only pgrouting - "https://docs.pgrouting.org/3.2/en/pgr_isPlanar.html", - "https://docs.pgrouting.org/3.2/en/pgr_makeConnected.html", ] linkcheck_timeout = 20 From 2bd956306e21dddd5bc04c35e7fa30dcecc8a7ec Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 17 May 2020 21:38:15 +0530 Subject: [PATCH 0656/1360] created funny dijkstra --- sql/dijkstra/funny_dijkstra.sql | 178 ++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 sql/dijkstra/funny_dijkstra.sql diff --git a/sql/dijkstra/funny_dijkstra.sql b/sql/dijkstra/funny_dijkstra.sql new file mode 100644 index 00000000000..e82d345432e --- /dev/null +++ b/sql/dijkstra/funny_dijkstra.sql @@ -0,0 +1,178 @@ +/*PGR-GNU***************************************************************** + +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2015 Celia Virginia Vergara Castillo +mail: vicky_vergara@hotmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +--------------- +-- pgr_funnyDijkstra +--------------- + +-- ONE to ONE +CREATE OR REPLACE FUNCTION pgr_funnyDijkstra( + TEXT, -- edges_sql (required) + BIGINT, -- from_vid (required) + BIGINT, -- to_vid (required) + + directed BOOLEAN DEFAULT true, + + OUT seq INTEGER, + OUT path_seq INTEGER, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT a.seq, a.path_seq, a.node, a.edge, a.cost, a.agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], ARRAY[$3]::BIGINT[], $4, false, true) AS a; +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + + +-- ONE to MANY +CREATE OR REPLACE FUNCTION pgr_funnyDijkstra( + TEXT, -- edges_sql (required) + BIGINT, -- from_vid (required) + ANYARRAY, -- to_vids (required) + + directed BOOLEAN DEFAULT true, + + OUT seq INTEGER, + OUT path_seq INTEGER, + OUT end_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT a.seq, a.path_seq, a.end_vid, a.node, a.edge, a.cost, a.agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], $3::BIGINT[], $4, false, true) AS a; +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + + +-- MANY to ONE +CREATE OR REPLACE FUNCTION pgr_funnyDijkstra( + TEXT, -- edges_sql (required) + ANYARRAY, -- from_vids (required) + BIGINT, -- to_vid (required) + + directed BOOLEAN DEFAULT true, + + OUT seq INTEGER, + OUT path_seq INTEGER, + OUT start_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT a.seq, a.path_seq, a.start_vid, a.node, a.edge, a.cost, a.agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), $2::BIGINT[], ARRAY[$3]::BIGINT[], $4, false, false) AS a; +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + + +-- MANY to MANY +CREATE OR REPLACE FUNCTION pgr_funnyDijkstra( + TEXT, -- edges_sql (required) + ANYARRAY, -- from_vids (required) + ANYARRAY, -- to_vids (required) + + directed BOOLEAN DEFAULT true, + + OUT seq 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 a.seq, a.path_seq, a.start_vid, a.end_vid, a.node, a.edge, a.cost, a.agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), $2::BIGINT[], $3::BIGINT[], $4, false, true) AS a; +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + +-- COMMENTS + +COMMENT ON FUNCTION pgr_funnyDijkstra(TEXT, BIGINT, BIGINT, BOOLEAN) +IS 'pgr_funnyDijkstra(One to One) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From vertex identifier + - To vertex identifier +- Optional Parameters + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_funnyDijkstra.html +'; + +COMMENT ON FUNCTION pgr_funnyDijkstra(TEXT, BIGINT, ANYARRAY, BOOLEAN) +IS 'pgr_funnyDijkstra(One to Many) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From vertex identifier + - To ARRAY[vertices identifiers] +- Optional Parameters + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_funnyDijkstra.html +'; + +COMMENT ON FUNCTION pgr_funnyDijkstra(TEXT, ANYARRAY, BIGINT, BOOLEAN) +IS 'pgr_funnyDijkstra(Many to One) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From ARRAY[vertices identifiers] + - To vertex identifier +- Optional Parameters + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_funnyDijkstra.html +'; + +COMMENT ON FUNCTION pgr_funnyDijkstra(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) +IS 'pgr_funnyDijkstra(Many to Many) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From ARRAY[vertices identifiers] + - To ARRAY[vertices identifiers] +- Optional Parameters + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_funnyDijkstra.html +'; From 95538c1bfd0da4c74fe6c740d99f28b0faee02d4 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 17 May 2020 21:38:54 +0530 Subject: [PATCH 0657/1360] cmake file updated --- sql/dijkstra/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/sql/dijkstra/CMakeLists.txt b/sql/dijkstra/CMakeLists.txt index da9bc230e04..d79ec8f750a 100644 --- a/sql/dijkstra/CMakeLists.txt +++ b/sql/dijkstra/CMakeLists.txt @@ -7,6 +7,7 @@ SET(LOCAL_FILES _dijkstraVia.sql dijkstraVia.sql _dijkstraNear.sql + funny_dijkstra.sql ) foreach (f ${LOCAL_FILES}) From 3a9f7cd32a3099fcecedf61a1dc89b828d57c359 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 26 May 2020 09:25:21 +0530 Subject: [PATCH 0658/1360] fixing travis error #1 --- sql/dijkstra/funny_dijkstra.sql | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/sql/dijkstra/funny_dijkstra.sql b/sql/dijkstra/funny_dijkstra.sql index e82d345432e..fa5d1716f4c 100644 --- a/sql/dijkstra/funny_dijkstra.sql +++ b/sql/dijkstra/funny_dijkstra.sql @@ -129,8 +129,8 @@ ROWS 1000; -- COMMENTS -COMMENT ON FUNCTION pgr_funnyDijkstra(TEXT, BIGINT, BIGINT, BOOLEAN) -IS 'pgr_funnyDijkstra(One to One) +COMMENT ON FUNCTION pgr_funnydijkstra(TEXT, BIGINT, BIGINT, BOOLEAN) +IS 'pgr_funnydijkstra(One to One) - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - From vertex identifier @@ -138,11 +138,11 @@ IS 'pgr_funnyDijkstra(One to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_funnyDijkstra.html + - ${PGROUTING_DOC_LINK}/pgr_funnydijkstra.html '; -COMMENT ON FUNCTION pgr_funnyDijkstra(TEXT, BIGINT, ANYARRAY, BOOLEAN) -IS 'pgr_funnyDijkstra(One to Many) +COMMENT ON FUNCTION pgr_funnydijkstra(TEXT, BIGINT, ANYARRAY, BOOLEAN) +IS 'pgr_funnydijkstra(One to Many) - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - From vertex identifier @@ -150,11 +150,11 @@ IS 'pgr_funnyDijkstra(One to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_funnyDijkstra.html + - ${PGROUTING_DOC_LINK}/pgr_funnydijkstra.html '; -COMMENT ON FUNCTION pgr_funnyDijkstra(TEXT, ANYARRAY, BIGINT, BOOLEAN) -IS 'pgr_funnyDijkstra(Many to One) +COMMENT ON FUNCTION pgr_funnydijkstra(TEXT, ANYARRAY, BIGINT, BOOLEAN) +IS 'pgr_funnydijkstra(Many to One) - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - From ARRAY[vertices identifiers] @@ -162,11 +162,11 @@ IS 'pgr_funnyDijkstra(Many to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_funnyDijkstra.html + - ${PGROUTING_DOC_LINK}/pgr_funnydijkstra.html '; -COMMENT ON FUNCTION pgr_funnyDijkstra(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) -IS 'pgr_funnyDijkstra(Many to Many) +COMMENT ON FUNCTION pgr_funnydijkstra(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) +IS 'pgr_funnydijkstra(Many to Many) - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - From ARRAY[vertices identifiers] From f9877146079e6c4dc44f3e69808ad82ded0108eb Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 26 May 2020 09:39:02 +0530 Subject: [PATCH 0659/1360] fixing travis error #2 --- sql/dijkstra/funny_dijkstra.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sql/dijkstra/funny_dijkstra.sql b/sql/dijkstra/funny_dijkstra.sql index fa5d1716f4c..ec7e308cda1 100644 --- a/sql/dijkstra/funny_dijkstra.sql +++ b/sql/dijkstra/funny_dijkstra.sql @@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_funnyDijkstra( +CREATE OR REPLACE FUNCTION pgr_funnydijkstra( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -53,7 +53,7 @@ ROWS 1000; -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_funnyDijkstra( +CREATE OR REPLACE FUNCTION pgr_funnydijkstra( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -78,7 +78,7 @@ ROWS 1000; -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_funnyDijkstra( +CREATE OR REPLACE FUNCTION pgr_funnydijkstra( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -103,7 +103,7 @@ ROWS 1000; -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_funnyDijkstra( +CREATE OR REPLACE FUNCTION pgr_funnydijkstra( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) From 69c40362566e49c88298555ab67a7b0b03851537 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 26 May 2020 17:29:10 +0530 Subject: [PATCH 0660/1360] added basic files and template --- sql/ltdtree/CMakeLists.txt | 12 ++++++++ sql/ltdtree/LTDTree.sql | 56 ++++++++++++++++++++++++++++++++++++++ sql/ltdtree/_LTDTree .sql | 33 ++++++++++++++++++++++ 3 files changed, 101 insertions(+) create mode 100644 sql/ltdtree/CMakeLists.txt create mode 100644 sql/ltdtree/LTDTree.sql create mode 100644 sql/ltdtree/_LTDTree .sql diff --git a/sql/ltdtree/CMakeLists.txt b/sql/ltdtree/CMakeLists.txt new file mode 100644 index 00000000000..0542b124a76 --- /dev/null +++ b/sql/ltdtree/CMakeLists.txt @@ -0,0 +1,12 @@ + +SET(LOCAL_FILES + LTDTree.sql + _LTDTree.sql + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} ${f}) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) +endforeach() + +set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/ltdtree/LTDTree.sql b/sql/ltdtree/LTDTree.sql new file mode 100644 index 00000000000..83767ba89e8 --- /dev/null +++ b/sql/ltdtree/LTDTree.sql @@ -0,0 +1,56 @@ +/*PGR-GNU***************************************************************** +File: LTDTree.sql + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +--------------- +-- pgr_LTDTree +--------------- +CREATE OR REPLACE FUNCTION pgr_LTDTree( + TEXT, -- edges_sql (required) + BIGINT -- vertex (required) + ) +RETURNS SETOF RECORD AS +$BODY$ + SELECT * + FROM _pgr_LTDTree(_pgr_get_statement($1),BIGINT); +$BODY$ +LANGUAGE SQL VOLATILE STRICT; + + +-- COMMENTS + + +COMMENT ON FUNCTION pgr_LTDTree(TEXT,BIGINT) +IS 'pgr_LTDTree +- EXPERIMENTAL +- Directed graph +- Parameters: + - edges SQL with columns: id, source, target, cost [,reverse_cost] +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_LTDTree.html +'; + diff --git a/sql/ltdtree/_LTDTree .sql b/sql/ltdtree/_LTDTree .sql new file mode 100644 index 00000000000..34941fd06d9 --- /dev/null +++ b/sql/ltdtree/_LTDTree .sql @@ -0,0 +1,33 @@ +/*PGR-GNU***************************************************************** +File: LTDTree.sql + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +--------------- +-- pgr_LTDTree +--------------- + + From 6e1bcfa7494a8836996e24991401825d25cb7a7f Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 26 May 2020 17:29:35 +0530 Subject: [PATCH 0661/1360] removed from gsoc-prakash --- sql/dijkstra/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/dijkstra/CMakeLists.txt b/sql/dijkstra/CMakeLists.txt index d79ec8f750a..fb649f2f085 100644 --- a/sql/dijkstra/CMakeLists.txt +++ b/sql/dijkstra/CMakeLists.txt @@ -7,7 +7,7 @@ SET(LOCAL_FILES _dijkstraVia.sql dijkstraVia.sql _dijkstraNear.sql - funny_dijkstra.sql + ) foreach (f ${LOCAL_FILES}) From 12f988c5b7287b3490d0587356a62678b72ebed7 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 26 May 2020 17:30:21 +0530 Subject: [PATCH 0662/1360] entry of ltdtree --- configuration.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/configuration.conf b/configuration.conf index 83c5403af68..c30db43bd2b 100644 --- a/configuration.conf +++ b/configuration.conf @@ -43,6 +43,7 @@ breadthFirstSearch | Y | Y | Y traversal | Y | Y | Y coloring | Y | Y | Y planar | Y | Y | Y +ltdtree | N | N | N #---------------------- # SQL only directories #---------------------- From da3f4238e1b898bc91746d7ed8bdd3ac5da27f69 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 26 May 2020 17:31:56 +0530 Subject: [PATCH 0663/1360] entry of ltdtree() --- sql/sigs/pgrouting--3.0.0.sig | 1 + 1 file changed, 1 insertion(+) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 2e0fce72901..0379b942ce4 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -146,6 +146,7 @@ _pgr_linegraphfull(text) pgr_linegraphfull(text) _pgr_linegraph(text,boolean) pgr_linegraph(text,boolean) +pgr_ltdtree(text,bigint) _pgr_maxcardinalitymatch(text,boolean) pgr_maxcardinalitymatch(text,boolean) pgr_maxflowmincost_cost(text,anyarray,anyarray) From 6967c7fb3cd0c0e8951e2321c22ff466f0d01be8 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 26 May 2020 17:37:09 +0530 Subject: [PATCH 0664/1360] fixing build errors --- sql/ltdtree/LTDTree.sql | 4 ++-- sql/ltdtree/{_LTDTree .sql => _LTDTree.sql} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename sql/ltdtree/{_LTDTree .sql => _LTDTree.sql} (100%) diff --git a/sql/ltdtree/LTDTree.sql b/sql/ltdtree/LTDTree.sql index 83767ba89e8..23d41ec53bb 100644 --- a/sql/ltdtree/LTDTree.sql +++ b/sql/ltdtree/LTDTree.sql @@ -35,8 +35,8 @@ CREATE OR REPLACE FUNCTION pgr_LTDTree( ) RETURNS SETOF RECORD AS $BODY$ - SELECT * - FROM _pgr_LTDTree(_pgr_get_statement($1),BIGINT); + -- SELECT * + --FROM _pgr_LTDTree(_pgr_get_statement($1),BIGINT); $BODY$ LANGUAGE SQL VOLATILE STRICT; diff --git a/sql/ltdtree/_LTDTree .sql b/sql/ltdtree/_LTDTree.sql similarity index 100% rename from sql/ltdtree/_LTDTree .sql rename to sql/ltdtree/_LTDTree.sql From 94075652cad4fad5e9465487fcdb5e8a99caae28 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 31 May 2020 10:40:48 +0530 Subject: [PATCH 0665/1360] modified ltdtree to LTDTree --- sql/{ltdtree => LTDTree}/CMakeLists.txt | 0 sql/{ltdtree => LTDTree}/LTDTree.sql | 0 sql/{ltdtree => LTDTree}/_LTDTree.sql | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename sql/{ltdtree => LTDTree}/CMakeLists.txt (100%) rename sql/{ltdtree => LTDTree}/LTDTree.sql (100%) rename sql/{ltdtree => LTDTree}/_LTDTree.sql (100%) diff --git a/sql/ltdtree/CMakeLists.txt b/sql/LTDTree/CMakeLists.txt similarity index 100% rename from sql/ltdtree/CMakeLists.txt rename to sql/LTDTree/CMakeLists.txt diff --git a/sql/ltdtree/LTDTree.sql b/sql/LTDTree/LTDTree.sql similarity index 100% rename from sql/ltdtree/LTDTree.sql rename to sql/LTDTree/LTDTree.sql diff --git a/sql/ltdtree/_LTDTree.sql b/sql/LTDTree/_LTDTree.sql similarity index 100% rename from sql/ltdtree/_LTDTree.sql rename to sql/LTDTree/_LTDTree.sql From 61768a15a5beea756bf23610a99af4ceb0813180 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 31 May 2020 12:47:43 +0530 Subject: [PATCH 0666/1360] [LTDTree] bsic sript of _LTDTree --- sql/LTDTree/LTDTree.sql | 4 ++-- sql/LTDTree/_LTDTree.sql | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/sql/LTDTree/LTDTree.sql b/sql/LTDTree/LTDTree.sql index 23d41ec53bb..128940a1281 100644 --- a/sql/LTDTree/LTDTree.sql +++ b/sql/LTDTree/LTDTree.sql @@ -35,8 +35,8 @@ CREATE OR REPLACE FUNCTION pgr_LTDTree( ) RETURNS SETOF RECORD AS $BODY$ - -- SELECT * - --FROM _pgr_LTDTree(_pgr_get_statement($1),BIGINT); + SELECT * + FROM _pgr_LTDTree(_pgr_get_statement($1),BIGINT); $BODY$ LANGUAGE SQL VOLATILE STRICT; diff --git a/sql/LTDTree/_LTDTree.sql b/sql/LTDTree/_LTDTree.sql index 34941fd06d9..3de5c79913c 100644 --- a/sql/LTDTree/_LTDTree.sql +++ b/sql/LTDTree/_LTDTree.sql @@ -29,5 +29,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -- pgr_LTDTree --------------- +CREATE OR REPLACE FUNCTION _pgr_LTDTree( + edges_sql TEXT, + root_vertex BIGINT +/**TODO** +specify the output columns and how it returns +******/ + + --OUT seq INTEGER, + --OUT sorted_v BIGINT) +RETURNS SETOF RECORD AS +'MODULE_PATHNAME' +LANGUAGE c VOLATILE STRICT; + +-- COMMENTS + + +COMMENT ON FUNCTION _pgr_LTDTree(TEXT) +IS 'pgRouting internal function'; From 78b9c184c9f3aadabc20cea9b47527afcd907549 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 31 May 2020 13:37:42 +0530 Subject: [PATCH 0667/1360] [LTDTree]c/c++ basic templates --- src/LTDTree/CMakeLists.txt | 4 +++ src/LTDTree/LTDTree.c | 49 ++++++++++++++++++++++++++++++++++ src/LTDTree/LTDTree_driver.cpp | 46 +++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 src/LTDTree/CMakeLists.txt create mode 100644 src/LTDTree/LTDTree.c create mode 100644 src/LTDTree/LTDTree_driver.cpp diff --git a/src/LTDTree/CMakeLists.txt b/src/LTDTree/CMakeLists.txt new file mode 100644 index 00000000000..972c66fce24 --- /dev/null +++ b/src/LTDTree/CMakeLists.txt @@ -0,0 +1,4 @@ +ADD_LIBRARY(LTDTree OBJECT + LTDTree.c + LTDTree_driver.cpp + ) diff --git a/src/LTDTree/LTDTree.c b/src/LTDTree/LTDTree.c new file mode 100644 index 00000000000..c88ab87cafd --- /dev/null +++ b/src/LTDTree/LTDTree.c @@ -0,0 +1,49 @@ +/*PGR-GNU***************************************************************** +File: LTDTree.c + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +#include "c_common/postgres_connection.h" + + +/* for macro PGR_DBG */ +#include "c_common/debug_macro.h" +/* for pgr_global_report */ +#include "c_common/e_report.h" +/* for time_msg & clock */ +#include "c_common/time_msg.h" +/* for functions to get edges informtion */ +#include "c_common/edges_input.h" + +#include "drivers/LTDTree/LTDTree_driver.h" // the link to the C++ code of the function + +PGDLLEXPORT Datum _pgr_LTDTree(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_LTDTree); + + +/******************************************************************************/ +/* MODIFY AS NEEDED */ + diff --git a/src/LTDTree/LTDTree_driver.cpp b/src/LTDTree/LTDTree_driver.cpp new file mode 100644 index 00000000000..5527ffdb68f --- /dev/null +++ b/src/LTDTree/LTDTree_driver.cpp @@ -0,0 +1,46 @@ +/*PGR-GNU***************************************************************** +File: LTDTree_driver.pp + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +********************************************************************PGR-GNU*/ + +#include "drivers/LTDTree/LTDTree_driver.h" +#include "pgr_LTDTree_driver.hpp" +#include +#include +#include + +#include "dijkstra/pgr_dijkstra.hpp" + +#include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/pgr_assert.h" + +/**TODO** +Look from template +*/ + + From 0bc0a6afb3ddbe9130726b998d99aa86e7cb61ee Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 31 May 2020 13:38:24 +0530 Subject: [PATCH 0668/1360] [LTDTree]c/c++ headers templates --- include/LTDTree/pgr_LTDTree_driver.hpp | 37 +++++++++++++++++++ include/drivers/LTDTree/LTDTree_driver.h | 46 ++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 include/LTDTree/pgr_LTDTree_driver.hpp create mode 100644 include/drivers/LTDTree/LTDTree_driver.h diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp new file mode 100644 index 00000000000..ca6df0763a1 --- /dev/null +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -0,0 +1,37 @@ +/*PGR-GNU***************************************************************** +File: pgr_LTDTree.hpp + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + + +#ifndef INCLUDE_LTDTREE_PGR_LTDTREE_HPP +#ifndef INCLUDE_LTDTREE_PGR_LTDTREE_HPP + + + + +#endif // INCLUDE_LTDTREE_PGR_LTDTREE_HPP diff --git a/include/drivers/LTDTree/LTDTree_driver.h b/include/drivers/LTDTree/LTDTree_driver.h new file mode 100644 index 00000000000..d19f5f841a2 --- /dev/null +++ b/include/drivers/LTDTree/LTDTree_driver.h @@ -0,0 +1,46 @@ +/*PGR-GNU***************************************************************** +File: LTDTree_driver.h + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ +#define INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ + +/* for size-t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +#include "c_types/pgr_edge_t.h" + + + +#endif + +#endif // INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ From 6f57ffa9ed69fb5facefacb8e85026d7cc46de98 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 31 May 2020 13:52:41 +0530 Subject: [PATCH 0669/1360] [LTDTree]fixing cpp errors --- include/LTDTree/pgr_LTDTree_driver.hpp | 2 +- include/drivers/LTDTree/LTDTree_driver.h | 16 ++-------------- src/LTDTree/LTDTree.c | 16 ---------------- src/LTDTree/LTDTree_driver.cpp | 9 --------- 4 files changed, 3 insertions(+), 40 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index ca6df0763a1..1db97bf04c1 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #ifndef INCLUDE_LTDTREE_PGR_LTDTREE_HPP -#ifndef INCLUDE_LTDTREE_PGR_LTDTREE_HPP +#define INCLUDE_LTDTREE_PGR_LTDTREE_HPP diff --git a/include/drivers/LTDTree/LTDTree_driver.h b/include/drivers/LTDTree/LTDTree_driver.h index d19f5f841a2..8d1ba6cc8a2 100644 --- a/include/drivers/LTDTree/LTDTree_driver.h +++ b/include/drivers/LTDTree/LTDTree_driver.h @@ -27,20 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ -#define INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ +#ifndef INCLUDE_DRIVERS_LTDTREE_LTDTREE_DRIVER_H_ +#define INCLUDE_DRIVERS_LTDTREE_LTDTREE_DRIVER_H_ -/* for size-t */ -#ifdef __cplusplus -# include -#else -# include -#endif - -#include "c_types/pgr_edge_t.h" - - - -#endif #endif // INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ diff --git a/src/LTDTree/LTDTree.c b/src/LTDTree/LTDTree.c index c88ab87cafd..9fc938a68f0 100644 --- a/src/LTDTree/LTDTree.c +++ b/src/LTDTree/LTDTree.c @@ -26,22 +26,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "c_common/postgres_connection.h" - - -/* for macro PGR_DBG */ -#include "c_common/debug_macro.h" -/* for pgr_global_report */ -#include "c_common/e_report.h" -/* for time_msg & clock */ -#include "c_common/time_msg.h" -/* for functions to get edges informtion */ -#include "c_common/edges_input.h" - -#include "drivers/LTDTree/LTDTree_driver.h" // the link to the C++ code of the function - -PGDLLEXPORT Datum _pgr_LTDTree(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_LTDTree); /******************************************************************************/ diff --git a/src/LTDTree/LTDTree_driver.cpp b/src/LTDTree/LTDTree_driver.cpp index 5527ffdb68f..12eb1e96293 100644 --- a/src/LTDTree/LTDTree_driver.cpp +++ b/src/LTDTree/LTDTree_driver.cpp @@ -26,18 +26,9 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -********************************************************************PGR-GNU*/ -#include "drivers/LTDTree/LTDTree_driver.h" -#include "pgr_LTDTree_driver.hpp" -#include -#include -#include -#include "dijkstra/pgr_dijkstra.hpp" -#include "cpp_common/pgr_alloc.hpp" -#include "cpp_common/pgr_assert.h" /**TODO** Look from template From 83a7d1faa3f7063f3c96776bec9415ebe57da010 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 31 May 2020 21:47:36 +0530 Subject: [PATCH 0670/1360] [LTDTree] doc file --- doc/LTDTree/CMakeLists.txt | 12 +++++ doc/LTDTree/pgr_LTDTree.rst | 93 +++++++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 doc/LTDTree/CMakeLists.txt create mode 100644 doc/LTDTree/pgr_LTDTree.rst diff --git a/doc/LTDTree/CMakeLists.txt b/doc/LTDTree/CMakeLists.txt new file mode 100644 index 00000000000..95306a32c5c --- /dev/null +++ b/doc/LTDTree/CMakeLists.txt @@ -0,0 +1,12 @@ + +SET(LOCAL_FILES + pgr_LTDTree.rst + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") + list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) + diff --git a/doc/LTDTree/pgr_LTDTree.rst b/doc/LTDTree/pgr_LTDTree.rst new file mode 100644 index 00000000000..070918e161d --- /dev/null +++ b/doc/LTDTree/pgr_LTDTree.rst @@ -0,0 +1,93 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +.. _pgr_LTDTree: + +pgr_LTDTree +=============================================================================== + +``pgr_MY_FUNCTION_NAME`` — Returns the shortest path(s) using Dijkstra algorithm. +In particular, the Dijkstra algorithm implemented by Boost.Graph. + +.. figure:: images/boost-inside.jpeg + :target: http://www.boost.org/libs/graph/doc/dijkstra_shortest_paths.html + + Boost Graph Inside + + +Synopsis +------------------------------------------------------------------------------- + +Characteristics +------------------------------------------------------------------------------- + +The main Characteristics are: +/***TODO*** +1.Make use of pgr/tools/templates +/ + - + - + + - + + + +Signature Summary +----------------- + + + +Signatures +------------------------------------------------------------------------------- + +.. index:: + + +Minimal signature +....................................... + +.. code-block:: none + + + +:Example: + + +Complete Signature +....................................... + +.. code-block:: none + + + +:Example: + +.. literalinclude:: doc-pgr_MY_FUNCTION_NAME.queries + :start-after: -- q2 + :end-before: -- q3 + + + +Description of the Signatures +------------------------------------------------------------------------------- + + + + +See Also +------------------------------------------------------------------------------- + + + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` + + From 5553379fbdf2fbe70fbeb859da27a2dd7dd29509 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 31 May 2020 21:48:09 +0530 Subject: [PATCH 0671/1360] [LTDTree] docqueries files --- docqueries/LTDTree/CMakeLists.txt | 11 +++++++++++ docqueries/LTDTree/doc-LTDTree.result | 0 docqueries/LTDTree/doc-LTDTree.test.sql | 0 docqueries/LTDTree/test.conf | 17 +++++++++++++++++ 4 files changed, 28 insertions(+) create mode 100644 docqueries/LTDTree/CMakeLists.txt create mode 100644 docqueries/LTDTree/doc-LTDTree.result create mode 100644 docqueries/LTDTree/doc-LTDTree.test.sql create mode 100644 docqueries/LTDTree/test.conf diff --git a/docqueries/LTDTree/CMakeLists.txt b/docqueries/LTDTree/CMakeLists.txt new file mode 100644 index 00000000000..e7bfbee5078 --- /dev/null +++ b/docqueries/LTDTree/CMakeLists.txt @@ -0,0 +1,11 @@ +# Do not use extensions +SET(LOCAL_FILES + doc-LTDTree + ) + +foreach (f ${LOCAL_FILES}) + configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") + list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/LTDTree/doc-LTDTree.result b/docqueries/LTDTree/doc-LTDTree.result new file mode 100644 index 00000000000..e69de29bb2d diff --git a/docqueries/LTDTree/doc-LTDTree.test.sql b/docqueries/LTDTree/doc-LTDTree.test.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/docqueries/LTDTree/test.conf b/docqueries/LTDTree/test.conf new file mode 100644 index 00000000000..1bd9d347796 --- /dev/null +++ b/docqueries/LTDTree/test.conf @@ -0,0 +1,17 @@ +#!/usr/bin/perl -w + +%main::tests = ( + 'any' => { + 'comment' => 'LTDTree algorithm tests.', + 'data' => [ ], + 'tests' => [qw( + doc-LTDTree + )], + 'documentation' => [qw( + doc-LTDTree + )] + }, + +); + +1; From 308183fc60f3fc8c36c898f564222a7a3421c406 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 31 May 2020 21:48:38 +0530 Subject: [PATCH 0672/1360] [LTDTree] besic test files --- pgtap/LTDTree/LTDTree-innerQuery.sql | 3 +++ pgtap/LTDTree/no_crash_test-LTDTree.sql | 3 +++ pgtap/LTDTree/pgr_LTDTree_types_check.sql | 4 ++++ 3 files changed, 10 insertions(+) create mode 100644 pgtap/LTDTree/LTDTree-innerQuery.sql create mode 100644 pgtap/LTDTree/no_crash_test-LTDTree.sql create mode 100644 pgtap/LTDTree/pgr_LTDTree_types_check.sql diff --git a/pgtap/LTDTree/LTDTree-innerQuery.sql b/pgtap/LTDTree/LTDTree-innerQuery.sql new file mode 100644 index 00000000000..5a69c435de3 --- /dev/null +++ b/pgtap/LTDTree/LTDTree-innerQuery.sql @@ -0,0 +1,3 @@ +\i setup.sql + +--Need to write basic tests diff --git a/pgtap/LTDTree/no_crash_test-LTDTree.sql b/pgtap/LTDTree/no_crash_test-LTDTree.sql new file mode 100644 index 00000000000..1d9d8bfac68 --- /dev/null +++ b/pgtap/LTDTree/no_crash_test-LTDTree.sql @@ -0,0 +1,3 @@ +\i setup.sql + +--Need to write tests diff --git a/pgtap/LTDTree/pgr_LTDTree_types_check.sql b/pgtap/LTDTree/pgr_LTDTree_types_check.sql new file mode 100644 index 00000000000..6551d29ea3a --- /dev/null +++ b/pgtap/LTDTree/pgr_LTDTree_types_check.sql @@ -0,0 +1,4 @@ + +\i setup.sql + +--Need to write tests refer from tsp From 550819e1d991f27f346ecaf3bf8892b52c3461ce Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 31 May 2020 22:21:09 +0530 Subject: [PATCH 0673/1360] fixing build error --- sql/LTDTree/LTDTree.sql | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sql/LTDTree/LTDTree.sql b/sql/LTDTree/LTDTree.sql index 128940a1281..21bab31be03 100644 --- a/sql/LTDTree/LTDTree.sql +++ b/sql/LTDTree/LTDTree.sql @@ -30,10 +30,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_LTDTree --------------- CREATE OR REPLACE FUNCTION pgr_LTDTree( - TEXT, -- edges_sql (required) - BIGINT -- vertex (required) + IN TEXT, -- edges_sql (required) + IN BIGINT, -- vertex (required) + OUT seq integer, + OUT idom BIGINT ) -RETURNS SETOF RECORD AS +RETURNS SETOF RECORD AS $BODY$ SELECT * FROM _pgr_LTDTree(_pgr_get_statement($1),BIGINT); From ecd5a9ba61291487563979f6e7b14c67646260fa Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 1 Jun 2020 16:51:14 +0530 Subject: [PATCH 0674/1360] [LTDTree] output columns --- sql/LTDTree/LTDTree.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sql/LTDTree/LTDTree.sql b/sql/LTDTree/LTDTree.sql index 21bab31be03..4f066d70475 100644 --- a/sql/LTDTree/LTDTree.sql +++ b/sql/LTDTree/LTDTree.sql @@ -31,8 +31,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- CREATE OR REPLACE FUNCTION pgr_LTDTree( IN TEXT, -- edges_sql (required) - IN BIGINT, -- vertex (required) + IN BIGINT , -- vertex (required) OUT seq integer, + OUT vid BIGINT, OUT idom BIGINT ) RETURNS SETOF RECORD AS From cfbc8a0fc03143e742b39899b3f7c11813cd398c Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 2 Jun 2020 05:56:16 +0530 Subject: [PATCH 0675/1360] [LTDTRee] result tuple struct --- include/c_types/pgr_ltdtree_rt.h | 45 ++++++ include/drivers/LTDTree/LTDTree_driver.h | 37 ++++- src/LTDTree/LTDTree.c | 193 +++++++++++++++++++++++ src/LTDTree/LTDTree_driver.cpp | 88 +++++++++++ 4 files changed, 362 insertions(+), 1 deletion(-) create mode 100644 include/c_types/pgr_ltdtree_rt.h diff --git a/include/c_types/pgr_ltdtree_rt.h b/include/c_types/pgr_ltdtree_rt.h new file mode 100644 index 00000000000..ef7323c8b10 --- /dev/null +++ b/include/c_types/pgr_ltdtree_rt.h @@ -0,0 +1,45 @@ +/*PGR-GNU***************************************************************** +File: pgr_kruskal_t.h + +Copyright (c) 2015 Aditya Pratap Singh +Mail: adityapratap.singh28@gmail.com +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +/*! @file */ + +#ifndef INCLUDE_C_TYPES_PGR_MST_RT_H_ +#define INCLUDE_C_TYPES_PGR_MST_RT_H_ +#pragma once + +/* for int64_t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +typedef struct { + int64_t from_v; + int64_t depth; + int64_t node; + int64_t edge; + double cost; + double agg_cost; +} pgr_ltdtree_rt; + +#endif // INCLUDE_C_TYPES_PGR_MST_RT_H_ diff --git a/include/drivers/LTDTree/LTDTree_driver.h b/include/drivers/LTDTree/LTDTree_driver.h index 8d1ba6cc8a2..4eb2526c4f8 100644 --- a/include/drivers/LTDTree/LTDTree_driver.h +++ b/include/drivers/LTDTree/LTDTree_driver.h @@ -31,4 +31,39 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #define INCLUDE_DRIVERS_LTDTREE_LTDTREE_DRIVER_H_ -#endif // INCLUDE_DRIVERS_TOPOLOGICALSORT_TOPOLOGICALSORT_DRIVER_H_ +/* for size-t */ +#ifdef __cplusplus +# include +#include + +#else +# include +#endif + + +#include "c_types/pgr_edge_t.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/********************************************************* + edges_sql TEXT, + + ********************************************************/ +void +do_pgr_LTDTree( + pgr_edge_t *data_edges, + size_t total_tuples, + pgr_ltdtree_rt **return_tuples, + size_t *return_count, + char **log_msg, + char **notice_msg, + char **err_msg); + + +#ifdef __cplusplus +} +#endif + +#endif // INCLUDE_DRIVERS_LTDTREE_LTDTREE_DRIVER_H_ diff --git a/src/LTDTree/LTDTree.c b/src/LTDTree/LTDTree.c index 9fc938a68f0..3fd00f1a2e3 100644 --- a/src/LTDTree/LTDTree.c +++ b/src/LTDTree/LTDTree.c @@ -31,3 +31,196 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /******************************************************************************/ /* MODIFY AS NEEDED */ +#include + +#include "c_common/postgres_connection.h" +#include "utils/array.h" +#include "catalog/pg_type.h" +#include "utils/lsyscache.h" + +#ifndef INT8ARRAYOID +#define INT8ARRAYOID 1016 +#endif + +#include "c_common/debug_macro.h" +#include "c_common/e_report.h" +#include "c_common/time_msg.h" +#include "c_types/pgr_ltdtree_rt .h" +#include "c_common/edges_input.h" +#include "c_common/arrays_input.h" +#include "drivers/LTDTree/LTDTree_driver.h" + +PGDLLEXPORT Datum _pgr_LTDTree(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_LTDTree); + + +static +void +process(char* edges_sql, + + pgr_ltdtree_rt **result_tuples, + size_t *result_count) { + pgr_SPI_connect(); + + size_t total_edges = 0; + pgr_edge_t* edges = NULL; + pgr_get_edges(edges_sql, &edges, &total_edges); + if (total_edges == 0) { + pgr_SPI_finish(); + return; + } + + PGR_DBG("Starting timer"); + clock_t start_t = clock(); + char* log_msg = NULL; + char* notice_msg = NULL; + char* err_msg = NULL; + do_pgr_LTDTree( + edges, total_edges, + + result_tuples, result_count, + &log_msg, + ¬ice_msg, + &err_msg); + + time_msg("processing pgr_transitiveClosure()", start_t, clock()); + + + if (err_msg && (*result_tuples)) { + pfree(*result_tuples); + (*result_tuples) = NULL; + (*result_count) = 0; + } + + pgr_global_report(log_msg, notice_msg, err_msg); + + if (log_msg) pfree(log_msg); + if (notice_msg) pfree(notice_msg); + if (err_msg) pfree(err_msg); + if (edges) pfree(edges); + pgr_SPI_finish(); +} + +PGDLLEXPORT Datum +_pgr_LTDTree(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; + + /**********************************************************************/ + //transitiveClosure_rt *result_tuples = NULL; + pgr_ltdtree_rt *result_tuples =NULL; + size_t result_count = 0; + /**********************************************************************/ + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + /**********************************************************************/ + + + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), //Converting sql to string + &result_tuples, + &result_count); + + + /**********************************************************************/ +#if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; +#else + funcctx->max_calls = (uint32_t)result_count; +#endif + funcctx->user_fctx = result_tuples; + if (get_call_result_type(fcinfo, NULL, &tuple_desc) + != TYPEFUNC_COMPOSITE) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + funcctx->tuple_desc = tuple_desc; + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (pgr_ltdtree_rt*) funcctx->user_fctx; + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; + Datum result; + Datum *values; + bool *nulls; + int16 typlen; + size_t call_cntr = funcctx->call_cntr; + + + size_t numb = 3; + values =(Datum *)palloc(numb * sizeof(Datum)); + nulls = palloc(numb * sizeof(bool)); + size_t i; + for (i = 0; i < numb; ++i) { + nulls[i] = false; + } +/* + size_t target_array_size = + (size_t)result_tuples[call_cntr].target_array_size; + + Datum* target_array_array; + target_array_array = (Datum*) palloc(sizeof(Datum) * + (size_t)target_array_size); + + for (i = 0; i < target_array_size; ++i) { + PGR_DBG("Storing target_array vertex %ld", + result_tuples[call_cntr].target_array[i]); + target_array_array[i] = + Int64GetDatum(result_tuples[call_cntr].target_array[i]); + } + + bool typbyval; + char typalign; + get_typlenbyvalalign(INT8OID, &typlen, &typbyval, &typalign); + ArrayType* arrayType; + /* + * https://doxygen.postgresql.org/arrayfuncs_8c.html + + ArrayType* construct_array( + Datum* elems, + int nelems, + Oid elmtype, int elmlen, bool elmbyval, char elmalign + ) + */ + /* arrayType = construct_array( + target_array_array, + (int)target_array_size, + INT8OID, typlen, typbyval, typalign); + + void TupleDescInitEntry( + TupleDesc desc, + AttrNumber attributeNumber, + const char * attributeName, + Oid oidtypeid, + int32 typmod, + int attdim + ) + + TupleDescInitEntry(tuple_desc, (AttrNumber) 3, "target_array", + INT8ARRAYOID, -1, 0); + + values[0] = Int32GetDatum(call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[call_cntr].vid); + values[2] = PointerGetDatum(arrayType); + + + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + + + if (result_tuples[funcctx->call_cntr].target_array) { + pfree(result_tuples[funcctx->call_cntr].target_array); + } + SRF_RETURN_NEXT(funcctx, result); + } else { */ + SRF_RETURN_DONE(funcctx); + } +} diff --git a/src/LTDTree/LTDTree_driver.cpp b/src/LTDTree/LTDTree_driver.cpp index 12eb1e96293..2368f0b0067 100644 --- a/src/LTDTree/LTDTree_driver.cpp +++ b/src/LTDTree/LTDTree_driver.cpp @@ -34,4 +34,92 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Look from template */ +#include "drivers/LTDTree/LTDTree_driver.h" +#include "LTDTree/pgr_LTDTree_driver.hpp" +#include "c_types/pgr_ltdtree_rt .h" + + +#include +#include +#include +#include +#include + + + +#include "cpp_common/identifiers.hpp" +#include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/basePath_SSEC.hpp" +#include "cpp_common/pgr_base_graph.hpp" + + + + + + + +/************************************************************ + edges_sql TEXT + ***********************************************************/ +void +do_pgr_LTDTree( + pgr_edge_t *data_edges, + size_t total_edges, + pgr_ltdtree_rt **return_tuples, + size_t *return_count, + char **log_msg, + char **notice_msg, + char **err_msg) { + std::ostringstream log; + std::ostringstream notice; + std::ostringstream err; + std::cout<<"Chedcking.................... "<cost<<" \n"; + /* + try { + pgassert(total_edges != 0); + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + + + std::vector edges(data_edges, data_edges + total_edges); + + + graphType gType = DIRECTED; + pgrouting::DirectedGraph digraph(gType); + digraph.insert_edges(data_edges, total_edges); + + + + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } + */ + +} + From 069482c5b2e12e953f8914a9877a3eb5676575e5 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 2 Jun 2020 15:20:46 +0530 Subject: [PATCH 0676/1360] [LTDTree] result struct --- include/c_types/pgr_ltdtree_rt.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/include/c_types/pgr_ltdtree_rt.h b/include/c_types/pgr_ltdtree_rt.h index ef7323c8b10..cace61ba0c4 100644 --- a/include/c_types/pgr_ltdtree_rt.h +++ b/include/c_types/pgr_ltdtree_rt.h @@ -34,12 +34,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif typedef struct { - int64_t from_v; - int64_t depth; - int64_t node; - int64_t edge; - double cost; - double agg_cost; + int64_t seq; + int64_t vid; + int64_t idom; + //int64_t sdom; + } pgr_ltdtree_rt; #endif // INCLUDE_C_TYPES_PGR_MST_RT_H_ From d59e976f92906ec4d3afad4cc3a8cc6072958cd4 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 2 Jun 2020 15:22:10 +0530 Subject: [PATCH 0677/1360] [LTDTree] modified c/c++/headers --- include/drivers/LTDTree/LTDTree_driver.h | 1 + src/LTDTree/LTDTree.c | 95 ++++++------------------ src/LTDTree/LTDTree_driver.cpp | 2 +- 3 files changed, 26 insertions(+), 72 deletions(-) diff --git a/include/drivers/LTDTree/LTDTree_driver.h b/include/drivers/LTDTree/LTDTree_driver.h index 4eb2526c4f8..c7c5de9a5d8 100644 --- a/include/drivers/LTDTree/LTDTree_driver.h +++ b/include/drivers/LTDTree/LTDTree_driver.h @@ -54,6 +54,7 @@ extern "C" { void do_pgr_LTDTree( pgr_edge_t *data_edges, + int64_t root_vertex, size_t total_tuples, pgr_ltdtree_rt **return_tuples, size_t *return_count, diff --git a/src/LTDTree/LTDTree.c b/src/LTDTree/LTDTree.c index 3fd00f1a2e3..a481a6865ee 100644 --- a/src/LTDTree/LTDTree.c +++ b/src/LTDTree/LTDTree.c @@ -57,9 +57,11 @@ PG_FUNCTION_INFO_V1(_pgr_LTDTree); static void process(char* edges_sql, - + int64_t root_vertex, pgr_ltdtree_rt **result_tuples, size_t *result_count) { + //result_count is a pointer it means we do not need to return + // but it will count, initially it is 0 pgr_SPI_connect(); size_t total_edges = 0; @@ -77,13 +79,13 @@ process(char* edges_sql, char* err_msg = NULL; do_pgr_LTDTree( edges, total_edges, - + root_vertex, result_tuples, result_count, &log_msg, ¬ice_msg, &err_msg); - time_msg("processing pgr_transitiveClosure()", start_t, clock()); + time_msg("processing pgr_LTDTree()", start_t, clock()); if (err_msg && (*result_tuples)) { @@ -107,7 +109,7 @@ _pgr_LTDTree(PG_FUNCTION_ARGS) { TupleDesc tuple_desc; /**********************************************************************/ - //transitiveClosure_rt *result_tuples = NULL; + pgr_ltdtree_rt *result_tuples =NULL; size_t result_count = 0; /**********************************************************************/ @@ -121,106 +123,57 @@ _pgr_LTDTree(PG_FUNCTION_ARGS) { process( text_to_cstring(PG_GETARG_TEXT_P(0)), //Converting sql to string + PG_GETARG_INT64(1), //2nd parameter //BIGINT to int_64 &result_tuples, &result_count); /**********************************************************************/ #if PGSQL_VERSION > 95 - funcctx->max_calls = result_count; + funcctx->max_calls = result_count; //result_count is updated in process function call #else funcctx->max_calls = (uint32_t)result_count; #endif - funcctx->user_fctx = result_tuples; - if (get_call_result_type(fcinfo, NULL, &tuple_desc) + funcctx->user_fctx = result_tuples; // + if (get_call_result_type(fcinfo, NULL, &t uple_desc) != TYPEFUNC_COMPOSITE) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("function returning record called in context " "that cannot accept type record"))); - funcctx->tuple_desc = tuple_desc; + funcctx->tuple_desc = tuple_desc; //contains tuple description MemoryContextSwitchTo(oldcontext); } funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_ltdtree_rt*) funcctx->user_fctx; + result_tuples = (pgr_ltdtree_rt*) funcctx->user_fctx; //converting structure if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; + HeapTuple tuple; //We will set all the values Datum result; Datum *values; bool *nulls; int16 typlen; - size_t call_cntr = funcctx->call_cntr; + size_t call_cntr = funcctx->call_cntr; - size_t numb = 3; + size_t numb = 3; //Number of columns in outputs values =(Datum *)palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); size_t i; for (i = 0; i < numb; ++i) { nulls[i] = false; } -/* - size_t target_array_size = - (size_t)result_tuples[call_cntr].target_array_size; - - Datum* target_array_array; - target_array_array = (Datum*) palloc(sizeof(Datum) * - (size_t)target_array_size); - - for (i = 0; i < target_array_size; ++i) { - PGR_DBG("Storing target_array vertex %ld", - result_tuples[call_cntr].target_array[i]); - target_array_array[i] = - Int64GetDatum(result_tuples[call_cntr].target_array[i]); + //Set your outputs from result_tuple + values[0] = Int32GetDatum(call_cntr + 1); /*TODO Chek for the sequence*/ + values[1] = Int64GetDatum(result_tuples[call_cntr].vid); + values[1] = Int64GetDatum(result_tuples[call_cntr].idom); + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + SRF_RETURN_NEXT(funcctx, result); + }else { /* do when there is no more left */ + SRF_RETURN_DONE(funcctx); } - bool typbyval; - char typalign; - get_typlenbyvalalign(INT8OID, &typlen, &typbyval, &typalign); - ArrayType* arrayType; - /* - * https://doxygen.postgresql.org/arrayfuncs_8c.html - - ArrayType* construct_array( - Datum* elems, - int nelems, - Oid elmtype, int elmlen, bool elmbyval, char elmalign - ) - */ - /* arrayType = construct_array( - target_array_array, - (int)target_array_size, - INT8OID, typlen, typbyval, typalign); - - void TupleDescInitEntry( - TupleDesc desc, - AttrNumber attributeNumber, - const char * attributeName, - Oid oidtypeid, - int32 typmod, - int attdim - ) - - TupleDescInitEntry(tuple_desc, (AttrNumber) 3, "target_array", - INT8ARRAYOID, -1, 0); - - values[0] = Int32GetDatum(call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[call_cntr].vid); - values[2] = PointerGetDatum(arrayType); - - - tuple = heap_form_tuple(tuple_desc, values, nulls); - result = HeapTupleGetDatum(tuple); - - - if (result_tuples[funcctx->call_cntr].target_array) { - pfree(result_tuples[funcctx->call_cntr].target_array); - } - SRF_RETURN_NEXT(funcctx, result); - } else { */ - SRF_RETURN_DONE(funcctx); - } } diff --git a/src/LTDTree/LTDTree_driver.cpp b/src/LTDTree/LTDTree_driver.cpp index 2368f0b0067..68c7c9e00aa 100644 --- a/src/LTDTree/LTDTree_driver.cpp +++ b/src/LTDTree/LTDTree_driver.cpp @@ -73,7 +73,7 @@ do_pgr_LTDTree( std::ostringstream log; std::ostringstream notice; std::ostringstream err; - std::cout<<"Chedcking.................... "<cost<<" \n"; + /* try { pgassert(total_edges != 0); From 62503350d212de0542552231aba64c19479c2066 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 2 Jun 2020 15:22:39 +0530 Subject: [PATCH 0678/1360] [LTDTree] new output struct --- sql/LTDTree/_LTDTree.sql | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/sql/LTDTree/_LTDTree.sql b/sql/LTDTree/_LTDTree.sql index 3de5c79913c..7b88b542f7b 100644 --- a/sql/LTDTree/_LTDTree.sql +++ b/sql/LTDTree/_LTDTree.sql @@ -30,15 +30,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_LTDTree --------------- CREATE OR REPLACE FUNCTION _pgr_LTDTree( - edges_sql TEXT, - root_vertex BIGINT + IN TEXT, -- edges_sql (required) + IN BIGINT , -- vertex (required) + OUT seq integer, + OUT vid BIGINT, + OUT idom BIGINT) -/**TODO** -specify the output columns and how it returns -******/ - - --OUT seq INTEGER, - --OUT sorted_v BIGINT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' LANGUAGE c VOLATILE STRICT; From c211ddc1eb20cb8c93e24422537ee5521bffbeaf Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 2 Jun 2020 15:46:45 +0530 Subject: [PATCH 0679/1360] [Signature] added signature --- sql/sigs/pgrouting--3.0.0.sig | 1 + 1 file changed, 1 insertion(+) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 0379b942ce4..4d04649c393 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -147,6 +147,7 @@ pgr_linegraphfull(text) _pgr_linegraph(text,boolean) pgr_linegraph(text,boolean) pgr_ltdtree(text,bigint) +pgr_ltdtree(text,bigint) _pgr_maxcardinalitymatch(text,boolean) pgr_maxcardinalitymatch(text,boolean) pgr_maxflowmincost_cost(text,anyarray,anyarray) From 817d0238598d0fc1094fcf3fcd665a887ca4046c Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 2 Jun 2020 15:48:09 +0530 Subject: [PATCH 0680/1360] [LTDTree] fixing typo --- include/drivers/LTDTree/LTDTree_driver.h | 2 +- src/LTDTree/LTDTree.c | 4 ++-- src/LTDTree/LTDTree_driver.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/drivers/LTDTree/LTDTree_driver.h b/include/drivers/LTDTree/LTDTree_driver.h index c7c5de9a5d8..8283755b327 100644 --- a/include/drivers/LTDTree/LTDTree_driver.h +++ b/include/drivers/LTDTree/LTDTree_driver.h @@ -34,7 +34,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /* for size-t */ #ifdef __cplusplus # include -#include +#include #else # include diff --git a/src/LTDTree/LTDTree.c b/src/LTDTree/LTDTree.c index a481a6865ee..3a85c368bb9 100644 --- a/src/LTDTree/LTDTree.c +++ b/src/LTDTree/LTDTree.c @@ -45,7 +45,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/debug_macro.h" #include "c_common/e_report.h" #include "c_common/time_msg.h" -#include "c_types/pgr_ltdtree_rt .h" +#include "c_types/pgr_ltdtree_rt.h" #include "c_common/edges_input.h" #include "c_common/arrays_input.h" #include "drivers/LTDTree/LTDTree_driver.h" @@ -135,7 +135,7 @@ _pgr_LTDTree(PG_FUNCTION_ARGS) { funcctx->max_calls = (uint32_t)result_count; #endif funcctx->user_fctx = result_tuples; // - if (get_call_result_type(fcinfo, NULL, &t uple_desc) + if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), diff --git a/src/LTDTree/LTDTree_driver.cpp b/src/LTDTree/LTDTree_driver.cpp index 68c7c9e00aa..7995f3d4c08 100644 --- a/src/LTDTree/LTDTree_driver.cpp +++ b/src/LTDTree/LTDTree_driver.cpp @@ -36,7 +36,7 @@ Look from template #include "drivers/LTDTree/LTDTree_driver.h" #include "LTDTree/pgr_LTDTree_driver.hpp" -#include "c_types/pgr_ltdtree_rt .h" +#include "c_types/pgr_ltdtree_rt.h" #include From 69018b40ff2036a57994cd6f6de566a9c4b6fe61 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 5 Jun 2020 18:35:48 +0530 Subject: [PATCH 0681/1360] [LTDTree] modified _rt structure --- include/c_types/pgr_ltdtree_rt.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/c_types/pgr_ltdtree_rt.h b/include/c_types/pgr_ltdtree_rt.h index cace61ba0c4..ab7b39f35e2 100644 --- a/include/c_types/pgr_ltdtree_rt.h +++ b/include/c_types/pgr_ltdtree_rt.h @@ -34,7 +34,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif typedef struct { - int64_t seq; + //int64_t seq; int64_t vid; int64_t idom; //int64_t sdom; From 773a94777ddba303a9c0a3a499784f63af8e938c Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 5 Jun 2020 18:36:45 +0530 Subject: [PATCH 0682/1360] [LTDTree] created functions templates --- include/LTDTree/pgr_LTDTree_driver.hpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 1db97bf04c1..5bde2102d84 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -30,8 +30,34 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #ifndef INCLUDE_LTDTREE_PGR_LTDTREE_HPP #define INCLUDE_LTDTREE_PGR_LTDTREE_HPP +#pragma once +#include +#include "cpp_common/pgr_base_graph.hpp" +#include "cpp_common/pgr_messages.h" +namespace pgrouting { + namespace functions { + + template + class Pgr_LTDTree { + public: + //To calculate dominator tree + std::vector lengauer_tarjan_dominator_tree( + G &graph, + int64_t root + ){ + + std::vector results; + return results; + + + } + + + }; + } +} #endif // INCLUDE_LTDTREE_PGR_LTDTREE_HPP From dd5514d903c47b6cc3e79e0ad7e117fd0079e74f Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 5 Jun 2020 18:38:20 +0530 Subject: [PATCH 0683/1360] [LTDTree] created basic functionalities and exceptions --- src/LTDTree/LTDTree_driver.cpp | 37 +++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/src/LTDTree/LTDTree_driver.cpp b/src/LTDTree/LTDTree_driver.cpp index 7995f3d4c08..829903a552c 100644 --- a/src/LTDTree/LTDTree_driver.cpp +++ b/src/LTDTree/LTDTree_driver.cpp @@ -64,6 +64,7 @@ Look from template void do_pgr_LTDTree( pgr_edge_t *data_edges, + int64_t root_vertex, size_t total_edges, pgr_ltdtree_rt **return_tuples, size_t *return_count, @@ -74,7 +75,7 @@ do_pgr_LTDTree( std::ostringstream notice; std::ostringstream err; - /* + try { pgassert(total_edges != 0); pgassert(!(*log_msg)); @@ -84,21 +85,39 @@ do_pgr_LTDTree( pgassert(*return_count == 0); - std::vector edges(data_edges, data_edges + total_edges); - - + //std::vector edges(data_edges, data_edges + total_edges); + log << "Working with directed Graph\n"; graphType gType = DIRECTED; pgrouting::DirectedGraph digraph(gType); - digraph.insert_edges(data_edges, total_edges); - - - + digraph.insert_edges(data_edges, total_edges); //Creating graph using data_edges + std::vector results; + pgrouting::functions::Pgr_LTDTree fn_LTDTree; + results=fn_LTDTree.lengauer_tarjan_dominator_tree(digraph,root_vertex); + //Call a function to work with that + //Todo Here we will assign result into return tuple + auto count = results.size(); + + if (count == 0) { + (*return_tuples) = NULL; + (*return_count) = 0; + notice << "No result found"; + *log_msg = pgr_msg(notice.str().c_str()); + return; + } + (*return_tuples) = pgr_alloc(count, (*return_tuples)); + for (size_t i = 0; i < count; i++) { + *((*return_tuples) + i) = results[i]; + } + (*return_count) = count; + + pgassert(*err_msg == NULL); *log_msg = log.str().empty()? *log_msg : pgr_msg(log.str().c_str()); *notice_msg = notice.str().empty()? *notice_msg : pgr_msg(notice.str().c_str()); + } catch (AssertFailedException &except) { (*return_tuples) = pgr_free(*return_tuples); (*return_count) = 0; @@ -118,7 +137,7 @@ do_pgr_LTDTree( *err_msg = pgr_msg(err.str().c_str()); *log_msg = pgr_msg(log.str().c_str()); } - */ + } From 4b2520f6eb7648f77ab448d781f8205ba135e1ed Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 5 Jun 2020 18:54:13 +0530 Subject: [PATCH 0684/1360] [LTDTree] fixing error --- sql/LTDTree/LTDTree.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/LTDTree/LTDTree.sql b/sql/LTDTree/LTDTree.sql index 4f066d70475..35e2fb6222e 100644 --- a/sql/LTDTree/LTDTree.sql +++ b/sql/LTDTree/LTDTree.sql @@ -39,7 +39,7 @@ CREATE OR REPLACE FUNCTION pgr_LTDTree( RETURNS SETOF RECORD AS $BODY$ SELECT * - FROM _pgr_LTDTree(_pgr_get_statement($1),BIGINT); + FROM _pgr_LTDTree(_pgr_get_statement($1),$2); $BODY$ LANGUAGE SQL VOLATILE STRICT; From 5f031297eb1996cc9907e554cd1d2e2481e67536 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 5 Jun 2020 19:10:17 +0530 Subject: [PATCH 0685/1360] [LTDTree] fixing error --- sql/LTDTree/LTDTree.sql | 4 ++-- sql/LTDTree/_LTDTree.sql | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sql/LTDTree/LTDTree.sql b/sql/LTDTree/LTDTree.sql index 35e2fb6222e..69fcf5be57e 100644 --- a/sql/LTDTree/LTDTree.sql +++ b/sql/LTDTree/LTDTree.sql @@ -30,8 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_LTDTree --------------- CREATE OR REPLACE FUNCTION pgr_LTDTree( - IN TEXT, -- edges_sql (required) - IN BIGINT , -- vertex (required) + TEXT, -- edges_sql (required) + BIGINT , -- vertex (required) OUT seq integer, OUT vid BIGINT, OUT idom BIGINT diff --git a/sql/LTDTree/_LTDTree.sql b/sql/LTDTree/_LTDTree.sql index 7b88b542f7b..2bccd68d126 100644 --- a/sql/LTDTree/_LTDTree.sql +++ b/sql/LTDTree/_LTDTree.sql @@ -30,8 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_LTDTree --------------- CREATE OR REPLACE FUNCTION _pgr_LTDTree( - IN TEXT, -- edges_sql (required) - IN BIGINT , -- vertex (required) + edges_sql TEXT, -- edges_sql (required) + start_vid BIGINT , -- vertex (required) OUT seq integer, OUT vid BIGINT, OUT idom BIGINT) @@ -43,6 +43,6 @@ LANGUAGE c VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_LTDTree(TEXT) +COMMENT ON FUNCTION _pgr_LTDTree(TEXT,BIGINT) IS 'pgRouting internal function'; From 3a9c0abbe4b11a5bd866dcd5a7c07d92a69d827e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 5 Jun 2020 19:22:20 +0530 Subject: [PATCH 0686/1360] [LTDTree] fixing error --- src/LTDTree/LTDTree.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/LTDTree/LTDTree.c b/src/LTDTree/LTDTree.c index 3a85c368bb9..1e3cb9ef63d 100644 --- a/src/LTDTree/LTDTree.c +++ b/src/LTDTree/LTDTree.c @@ -50,8 +50,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/arrays_input.h" #include "drivers/LTDTree/LTDTree_driver.h" -PGDLLEXPORT Datum _pgr_LTDTree(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_LTDTree); +PGDLLEXPORT Datum _pgr_ltdtree(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_ltdtree); static @@ -104,7 +104,7 @@ process(char* edges_sql, } PGDLLEXPORT Datum -_pgr_LTDTree(PG_FUNCTION_ARGS) { +_pgr_ltdtree(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; @@ -168,7 +168,7 @@ _pgr_LTDTree(PG_FUNCTION_ARGS) { //Set your outputs from result_tuple values[0] = Int32GetDatum(call_cntr + 1); /*TODO Chek for the sequence*/ values[1] = Int64GetDatum(result_tuples[call_cntr].vid); - values[1] = Int64GetDatum(result_tuples[call_cntr].idom); + values[2] = Int64GetDatum(result_tuples[call_cntr].idom); tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); From f804f70589d21e757fa30a28cd3afacf94c826e1 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 5 Jun 2020 19:25:25 +0530 Subject: [PATCH 0687/1360] [LTDTree] fixing error --- sql/sigs/pgrouting--3.0.0.sig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 4d04649c393..19ffa6a53bc 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -147,7 +147,7 @@ pgr_linegraphfull(text) _pgr_linegraph(text,boolean) pgr_linegraph(text,boolean) pgr_ltdtree(text,bigint) -pgr_ltdtree(text,bigint) +_pgr_ltdtree(text,bigint) _pgr_maxcardinalitymatch(text,boolean) pgr_maxcardinalitymatch(text,boolean) pgr_maxflowmincost_cost(text,anyarray,anyarray) From 2117cc95188e89fe5f82da4bccf7315c600f9079 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 5 Jun 2020 19:48:55 +0530 Subject: [PATCH 0688/1360] [LTDTree] fixing error 5 --- sql/LTDTree/_LTDTree.sql | 2 +- sql/sigs/pgrouting--3.0.0.sig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/LTDTree/_LTDTree.sql b/sql/LTDTree/_LTDTree.sql index 2bccd68d126..8a83de1b0a4 100644 --- a/sql/LTDTree/_LTDTree.sql +++ b/sql/LTDTree/_LTDTree.sql @@ -31,7 +31,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- CREATE OR REPLACE FUNCTION _pgr_LTDTree( edges_sql TEXT, -- edges_sql (required) - start_vid BIGINT , -- vertex (required) + root_vid BIGINT , -- vertex (required) OUT seq integer, OUT vid BIGINT, OUT idom BIGINT) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 19ffa6a53bc..e2e68a2164d 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -146,8 +146,8 @@ _pgr_linegraphfull(text) pgr_linegraphfull(text) _pgr_linegraph(text,boolean) pgr_linegraph(text,boolean) -pgr_ltdtree(text,bigint) _pgr_ltdtree(text,bigint) +pgr_ltdtree(text,bigint) _pgr_maxcardinalitymatch(text,boolean) pgr_maxcardinalitymatch(text,boolean) pgr_maxflowmincost_cost(text,anyarray,anyarray) From 07472849f03997c01e611bd4be05c865f06b916b Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 5 Jun 2020 20:42:42 +0530 Subject: [PATCH 0689/1360] [LTDTree] fixing 7 --- sql/LTDTree/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/LTDTree/CMakeLists.txt b/sql/LTDTree/CMakeLists.txt index 0542b124a76..e37214ac7fe 100644 --- a/sql/LTDTree/CMakeLists.txt +++ b/sql/LTDTree/CMakeLists.txt @@ -1,7 +1,7 @@ SET(LOCAL_FILES - LTDTree.sql _LTDTree.sql + LTDTree.sql ) foreach (f ${LOCAL_FILES}) From 8a92110db413e48bf257563a48f10ab65e3f4c4e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 5 Jun 2020 21:05:06 +0530 Subject: [PATCH 0690/1360] [LTDTree] tests (only files) --- pgtap/LTDTree/LTDTree-innerQuery.sql | 11 ++++++++++- pgtap/LTDTree/no_crash_test-LTDTree.sql | 11 ++++++++++- pgtap/LTDTree/pgr_LTDTree_types_check.sql | 12 ++++++++++-- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/pgtap/LTDTree/LTDTree-innerQuery.sql b/pgtap/LTDTree/LTDTree-innerQuery.sql index 5a69c435de3..6a949ccfcb7 100644 --- a/pgtap/LTDTree/LTDTree-innerQuery.sql +++ b/pgtap/LTDTree/LTDTree-innerQuery.sql @@ -1,3 +1,12 @@ \i setup.sql ---Need to write basic tests +SELECT plan(1); + +SELECT todo_start('Complete the inner query tests'); + +SELECT pass('Sample Test'); + +SELECT todo_end(); + +SELECT finish(); +ROLLBACK; diff --git a/pgtap/LTDTree/no_crash_test-LTDTree.sql b/pgtap/LTDTree/no_crash_test-LTDTree.sql index 1d9d8bfac68..2d1a38855d6 100644 --- a/pgtap/LTDTree/no_crash_test-LTDTree.sql +++ b/pgtap/LTDTree/no_crash_test-LTDTree.sql @@ -1,3 +1,12 @@ \i setup.sql ---Need to write tests +SELECT plan(1); + +SELECT todo_start('Complete this tests'); + +SELECT pass('Sample Test'); + +SELECT todo_end(); + +SELECT finish(); +ROLLBACK; diff --git a/pgtap/LTDTree/pgr_LTDTree_types_check.sql b/pgtap/LTDTree/pgr_LTDTree_types_check.sql index 6551d29ea3a..2d1a38855d6 100644 --- a/pgtap/LTDTree/pgr_LTDTree_types_check.sql +++ b/pgtap/LTDTree/pgr_LTDTree_types_check.sql @@ -1,4 +1,12 @@ - \i setup.sql ---Need to write tests refer from tsp +SELECT plan(1); + +SELECT todo_start('Complete this tests'); + +SELECT pass('Sample Test'); + +SELECT todo_end(); + +SELECT finish(); +ROLLBACK; From fdb086ff299d1df9b51c364f666f3bd05f97ccd7 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 5 Jun 2020 21:06:14 +0530 Subject: [PATCH 0691/1360] [LTDTree] docquaries (only files) --- docqueries/LTDTree/doc-LTDTree.result | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docqueries/LTDTree/doc-LTDTree.result b/docqueries/LTDTree/doc-LTDTree.result index e69de29bb2d..cddd2cd5164 100644 --- a/docqueries/LTDTree/doc-LTDTree.result +++ b/docqueries/LTDTree/doc-LTDTree.result @@ -0,0 +1,6 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +ROLLBACK; +ROLLBACK From dda004def9b4416c4a9b0b802cedb731bee8f6d6 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 8 Jun 2020 16:29:54 +0530 Subject: [PATCH 0692/1360] [LTDTree] modified c/c++ header --- include/LTDTree/pgr_LTDTree_driver.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 5bde2102d84..9a192927df8 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -49,6 +49,8 @@ namespace pgrouting { ){ std::vector results; + results[0].idom=7; + results[0].vid=3; return results; From 2660d0c1a0ce400bb2890f07b607998e7a41690a Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 12 Jun 2020 23:00:07 +0530 Subject: [PATCH 0693/1360] [LTDTree] boost::funcationality --- include/LTDTree/pgr_LTDTree_driver.hpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 9a192927df8..12e00e063d0 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -36,18 +36,36 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_base_graph.hpp" #include "cpp_common/pgr_messages.h" +//#include +#include +#include + +#include +using namespace boost; +using namespace std; + namespace pgrouting { namespace functions { template class Pgr_LTDTree { public: + typedef typename G::V Vertex; //Note here G is base_graph + + typedef typename G::E_i i; + typedef typename G::vertIndex IndexMap; + + //To calculate dominator tree std::vector lengauer_tarjan_dominator_tree( G &graph, int64_t root ){ + /***************Calculating******************/ + typedef typename boost::property_map::type IndexMap2; //using boost + //typedef typename property_map::const_type IndexMap; +/*************************************************************/ std::vector results; results[0].idom=7; results[0].vid=3; From c96797b15af8dd246af3bfc83faa045308fd3f34 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 14 Jun 2020 11:37:18 +0530 Subject: [PATCH 0694/1360] [LTDTree] incomplete .hpp work --- include/LTDTree/pgr_LTDTree_driver.hpp | 204 ++++++++++++++++++++++++- 1 file changed, 196 insertions(+), 8 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 12e00e063d0..c32d8fda123 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -40,30 +40,218 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include +#include #include +//#include +#include +#include +#include using namespace boost; using namespace std; namespace pgrouting { namespace functions { - template + struct DominatorCorrectnessTestSet + { + typedef pair edge; + + int numOfVertices; + vector edges; + vector correctIdoms; + }; + + template class Pgr_LTDTree { public: - typedef typename G::V Vertex; //Note here G is base_graph + typedef typename Graph::V Vertex; //Note here G is base_graph + + // typedef typename G::E_i i; + //typedef typename G::vertIndex iiii; - typedef typename G::E_i i; - typedef typename G::vertIndex IndexMap; + //typedef typename G::vertIndex IndexMap; + //typedef typename pgrouting::graph::Pgr_base_graph< G, pgrouting::Basic_vertex, pgrouting::Basic_edge >::vertIndex ind; + // typedef property_map::type IndexMap; + + typedef adjacency_list< + listS, + listS, + bidirectionalS, + property, no_property> G; //To calculate dominator tree - std::vector lengauer_tarjan_dominator_tree( - G &graph, + std::vector llengauer_tarjan_dominator_tree( + Graph &graph, int64_t root ){ + + + /***********************Typedefs of pfRouting**************/ +/* + auto IndexMap =graph.vertIndex; + auto vvvv=graph.num_vertices(); + + // iterator_property_map::iterator, IndexMap> PredMap; //We need to make_iterator_pro._map + //IndexMap indexMap(get(pgrouting::Basic_vertex::vertex_index, graph)); + boost::iterator_property_map::iterator, IndexMap> PredMap; + + vector domTreePredVector, domTreePredVector2; + + IndexMap indexMap(get(vertex_index, graph.graph)); + + typedef typename Graph::V_i uItr, uEnd; + int j = 0; + for (boost::tie(uItr, uEnd) = vertices(graph.graph); uItr != uEnd; ++uItr, ++j) + { + put(indexMap, *uItr, j); + } + + // Lengauer-Tarjan dominator tree algorithm + + domTreePredVector = + vector(graph.num_vertices(graph.graph), boost::graph_traits::null_vertex()); + PredMap domTreePredMap = + make_iterator_property_map(domTreePredVector.begin(), indexMap); + + lengauer_tarjan_dominator_tree(g, graph.get_V(root), domTreePredMap); + + vector idom(graph.num_vertices(graph)); + /*for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) + { + if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) + idom[get(indexMap, *uItr)] = + get(indexMap, get(domTreePredMap, *uItr)); + else + idom[get(indexMap, *uItr)] = (numeric_limits::max)(); + } + */ + + + + + + + + + + + + + + + + + + + + // Make property maps /***************Calculating******************/ - typedef typename boost::property_map::type IndexMap2; //using boost - //typedef typename property_map::const_type IndexMap; + + + // Tarjan's paper + typedef DominatorCorrectnessTestSet::edge edge; + + DominatorCorrectnessTestSet testSet[1]; + + testSet[0].numOfVertices = 13; + testSet[0].edges.push_back(edge(0, 1)); + testSet[0].edges.push_back(edge(0, 2)); + testSet[0].edges.push_back(edge(0, 3)); + testSet[0].edges.push_back(edge(1, 4)); + testSet[0].edges.push_back(edge(2, 1)); + testSet[0].edges.push_back(edge(2, 4)); + testSet[0].edges.push_back(edge(2, 5)); + testSet[0].edges.push_back(edge(3, 6)); + testSet[0].edges.push_back(edge(3, 7)); + testSet[0].edges.push_back(edge(4, 12)); + testSet[0].edges.push_back(edge(5, 8)); + testSet[0].edges.push_back(edge(6, 9)); + testSet[0].edges.push_back(edge(7, 9)); + testSet[0].edges.push_back(edge(7, 10)); + testSet[0].edges.push_back(edge(8, 5)); + testSet[0].edges.push_back(edge(8, 11)); + testSet[0].edges.push_back(edge(9, 11)); + testSet[0].edges.push_back(edge(10, 9)); + testSet[0].edges.push_back(edge(11, 0)); + testSet[0].edges.push_back(edge(11, 9)); + testSet[0].edges.push_back(edge(12, 8)); + testSet[0].correctIdoms.push_back((numeric_limits::max)()); + testSet[0].correctIdoms.push_back(0); // correctIdoms.push_back(0); represents that 0 is the idom of vertex 0 + testSet[0].correctIdoms.push_back(0); //// correctIdoms.push_back(0); represents that 0 is the idom of 1 + testSet[0].correctIdoms.push_back(0); + testSet[0].correctIdoms.push_back(0); + testSet[0].correctIdoms.push_back(0); + testSet[0].correctIdoms.push_back(3); // correctIdoms.push_back(0); represents that 3 is the idom of 5 + testSet[0].correctIdoms.push_back(3); + testSet[0].correctIdoms.push_back(0); + testSet[0].correctIdoms.push_back(0); + testSet[0].correctIdoms.push_back(7); + testSet[0].correctIdoms.push_back(0); + testSet[0].correctIdoms.push_back(4); + + + + + for (size_t i = 0; i < sizeof(testSet)/sizeof(testSet[0]); ++i) + { + const int numOfVertices = testSet[i].numOfVertices; + + G g( + testSet[i].edges.begin(), testSet[i].edges.end(), + numOfVertices); + + typedef graph_traits::vertex_descriptor Vertex; + typedef property_map::type IndexMap; + typedef + iterator_property_map::iterator, IndexMap> + PredMap; + + vector domTreePredVector, domTreePredVector2; + IndexMap indexMap(get(vertex_index, g)); + graph_traits::vertex_iterator uItr, uEnd; + int j = 0; + for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr, ++j) + { + put(indexMap, *uItr, j); + } + + // Lengauer-Tarjan dominator tree algorithm + + domTreePredVector = + vector(num_vertices(g), graph_traits::null_vertex()); + PredMap domTreePredMap = + make_iterator_property_map(domTreePredVector.begin(), indexMap); + + lengauer_tarjan_dominator_tree(g, vertex(0, g), domTreePredMap); + + vector idom(num_vertices(g)); + for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) + { + if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) + idom[get(indexMap, *uItr)] = + get(indexMap, get(domTreePredMap, *uItr)); + else + idom[get(indexMap, *uItr)] = (numeric_limits::max)(); + } + + /// + int x=0; + for(int i: idom) + { + cout<<"idom of "<(cout, " ")); + cout << endl; + + // dominator tree correctness test + + + } + + + /*************************************************************/ std::vector results; From 3dfb4472376d9edde9dacdc3d65cc87162eebaea Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 14 Jun 2020 11:37:49 +0530 Subject: [PATCH 0695/1360] [LTDTree] modified fun name --- src/LTDTree/LTDTree_driver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/LTDTree/LTDTree_driver.cpp b/src/LTDTree/LTDTree_driver.cpp index 829903a552c..847d3baa3b2 100644 --- a/src/LTDTree/LTDTree_driver.cpp +++ b/src/LTDTree/LTDTree_driver.cpp @@ -92,7 +92,7 @@ do_pgr_LTDTree( digraph.insert_edges(data_edges, total_edges); //Creating graph using data_edges std::vector results; pgrouting::functions::Pgr_LTDTree fn_LTDTree; - results=fn_LTDTree.lengauer_tarjan_dominator_tree(digraph,root_vertex); + results=fn_LTDTree.llengauer_tarjan_dominator_tree(digraph,root_vertex); //Call a function to work with that //Todo Here we will assign result into return tuple auto count = results.size(); From d5e65fb3c9ffa1a1c7b58574e840f8342176a4f0 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 14 Jun 2020 20:22:54 +0530 Subject: [PATCH 0696/1360] [LTDTree] added basic query --- docqueries/LTDTree/doc-LTDTree.result | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docqueries/LTDTree/doc-LTDTree.result b/docqueries/LTDTree/doc-LTDTree.result index cddd2cd5164..c9f36d37ba4 100644 --- a/docqueries/LTDTree/doc-LTDTree.result +++ b/docqueries/LTDTree/doc-LTDTree.result @@ -2,5 +2,28 @@ BEGIN; BEGIN SET client_min_messages TO NOTICE; SET +--q1 +|id | vid | idom| ++-----+------+------+-----+ + 1 | 1 | 0 | + 2 | 2 | 1 | + 3 | 3 | 0 | + 4 | 4 | 0 | + 5 | 5 | 2 | + 6 | 6 | 5 | + 7 | 7 | 0 | + 8 | 8 | 0 | + 9 | 9 | 6 | + 10 | 10 | 5 | + 11 | 11 | 5 | + 12 | 12 | 5 | + 13 | 13 | 15 | + 14 | 14 | 0 | + 15 | 15 | 10 | + 16 | 16 | 0 | + 17 | 17 | 0 | +(17 rows) + +--q2 ROLLBACK; ROLLBACK From d51b9b24595268a07d627e8a930a70b8dc8e846e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 14 Jun 2020 20:23:39 +0530 Subject: [PATCH 0697/1360] [LTDTree][doc] added basic test query --- docqueries/LTDTree/doc-LTDTree.test.sql | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docqueries/LTDTree/doc-LTDTree.test.sql b/docqueries/LTDTree/doc-LTDTree.test.sql index e69de29bb2d..3a90c005a5d 100644 --- a/docqueries/LTDTree/doc-LTDTree.test.sql +++ b/docqueries/LTDTree/doc-LTDTree.test.sql @@ -0,0 +1,7 @@ +\echo --q1 + + SELECT * FROM pgr_LTDTree( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 1 + ); +\echo --q2 From daa401fa6db7f389bd84c233ff7f37e634d47fdd Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 14 Jun 2020 20:24:19 +0530 Subject: [PATCH 0698/1360] [LTDTree][test] inner query test --- pgtap/LTDTree/LTDTree-innerQuery.sql | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pgtap/LTDTree/LTDTree-innerQuery.sql b/pgtap/LTDTree/LTDTree-innerQuery.sql index 6a949ccfcb7..f7769514a29 100644 --- a/pgtap/LTDTree/LTDTree-innerQuery.sql +++ b/pgtap/LTDTree/LTDTree-innerQuery.sql @@ -1,12 +1,15 @@ \i setup.sql -SELECT plan(1); +SELECT plan(56); -SELECT todo_start('Complete the inner query tests'); -SELECT pass('Sample Test'); +SELECT has_function('pgr_LTDTree', + ARRAY['text', 'bigint']); + +SELECT function_returns('pgr_LTDTree', + ARRAY['bigint', 'bigint'], + 'setof record'); -SELECT todo_end(); SELECT finish(); ROLLBACK; From ba0a03f4b547406626c4ee27644f6104772a1d8f Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 14 Jun 2020 20:24:42 +0530 Subject: [PATCH 0699/1360] [LTDTree][test] no crash test --- pgtap/LTDTree/no_crash_test-LTDTree.sql | 52 ++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 5 deletions(-) diff --git a/pgtap/LTDTree/no_crash_test-LTDTree.sql b/pgtap/LTDTree/no_crash_test-LTDTree.sql index 2d1a38855d6..d82bc156c2a 100644 --- a/pgtap/LTDTree/no_crash_test-LTDTree.sql +++ b/pgtap/LTDTree/no_crash_test-LTDTree.sql @@ -1,12 +1,54 @@ \i setup.sql -SELECT plan(1); +SELECT plan(67); -SELECT todo_start('Complete this tests'); +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; -SELECT pass('Sample Test'); +PREPARE null_ret AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); -SELECT todo_end(); +PREPARE null_ret_arr AS +SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); + + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$' + ,'1::BIGINT', + '2::BIGINT' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_LTDTree', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_LTDTree', params, subs); + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); -SELECT finish(); ROLLBACK; From b3b3329a2447d0754b39f2aa69a4aac5e31d4bc9 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 14 Jun 2020 20:55:20 +0530 Subject: [PATCH 0700/1360] [LTDTree][doc] doc file with one example --- doc/LTDTree/pgr_LTDTree.rst | 91 +++++++++++++++++++++---------------- 1 file changed, 51 insertions(+), 40 deletions(-) diff --git a/doc/LTDTree/pgr_LTDTree.rst b/doc/LTDTree/pgr_LTDTree.rst index 070918e161d..1ffdd4c2a34 100644 --- a/doc/LTDTree/pgr_LTDTree.rst +++ b/doc/LTDTree/pgr_LTDTree.rst @@ -12,82 +12,93 @@ pgr_LTDTree =============================================================================== -``pgr_MY_FUNCTION_NAME`` — Returns the shortest path(s) using Dijkstra algorithm. -In particular, the Dijkstra algorithm implemented by Boost.Graph. +``pgr_LTDTree`` — Returns the immediate dominator of all vertices. +In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg - :target: http://www.boost.org/libs/graph/doc/dijkstra_shortest_paths.html - + :target: https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm Boost Graph Inside +.. rubric:: Availability -Synopsis +Description ------------------------------------------------------------------------------- +Lengauer Tarjan Dominator Tree algorithm is used to make dominator tree of any graph. It calculates the immidiate dominator of each vertex called idom, once idom of each vertex is calculated then by making every idom of each vertex as its parent, the dominator tree can be built. -Characteristics +Signatures ------------------------------------------------------------------------------- -The main Characteristics are: -/***TODO*** -1.Make use of pgr/tools/templates -/ - - - - - - - +.. rubric:: Summary - +.. code-block:: sql -Signature Summary ------------------ + pgr_LTDTree(edges_sql,root ) + RETURNS SET OF (id,vid,idom) +.. rubric:: Using defaults +.. code-block:: sql -Signatures -------------------------------------------------------------------------------- +:Example: **TBD** .. index:: - - -Minimal signature -....................................... - -.. code-block:: none - - - -:Example: - + single: LTDTree Complete Signature -....................................... +............................................................................... -.. code-block:: none +.. code-block:: sql +:Example: **TBD** +Parameters +------------------------------------------------------------------------------- -:Example: +============== ============ ================================================= +Column Type Description +============== ============ ================================================= +**edges_sql** ``TEXT`` SQL query as described above. +**root_vid** ``BIGINT`` Identifier of the starting vertex. +============== ============ ================================================= -.. literalinclude:: doc-pgr_MY_FUNCTION_NAME.queries - :start-after: -- q2 - :end-before: -- q3 +Inner query +------------------------------------------------------------------------------- +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end -Description of the Signatures +Result Columns ------------------------------------------------------------------------------- +Returns set of ``(seq, vid,idom)`` + +============== =========== ================================================= +Column Type Description +============== =========== ================================================= +**seq** ``INTEGER`` Sequential value starting from **1**. +**vid** ``BIGINT`` Identifier of vertex . +**idom** ``BIGINT`` Immediate dominator of vertex. +============== =========== ================================================= +Additional Examples +------------------------------------------------------------------------------------------ +:Example: To handle the one flag to choose signatures +The examples in this section use the following :ref:`fig1` + +.. literalinclude:: doc-LTDTree.queries + :start-after: --q1 + :end-before: --q2 See Also ------------------------------------------------------------------------------- - +* https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm +* :doc:`sampledata` network. .. rubric:: Indices and tables * :ref:`genindex` * :ref:`search` - - From 7c555897214625783aabd091f761dfd15b96f197 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 17 Jun 2020 12:51:35 +0530 Subject: [PATCH 0701/1360] week 3 work todo --- include/LTDTree/pgr_LTDTree_driver.hpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index c32d8fda123..768db6da6ef 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -86,7 +86,6 @@ namespace pgrouting { int64_t root ){ - /***********************Typedefs of pfRouting**************/ /* auto IndexMap =graph.vertIndex; @@ -149,11 +148,12 @@ namespace pgrouting { /***************Calculating******************/ - // Tarjan's paper + // Tarjan's paper//Week 3 work typedef DominatorCorrectnessTestSet::edge edge; DominatorCorrectnessTestSet testSet[1]; + testSet[0].numOfVertices = 13; testSet[0].edges.push_back(edge(0, 1)); testSet[0].edges.push_back(edge(0, 2)); @@ -203,12 +203,13 @@ namespace pgrouting { typedef graph_traits::vertex_descriptor Vertex; typedef property_map::type IndexMap; + IndexMap indexMap(boost::get(vertex_index, g)); typedef iterator_property_map::iterator, IndexMap> PredMap; vector domTreePredVector, domTreePredVector2; - IndexMap indexMap(get(vertex_index, g)); + //IndexMap indexMap(get(vertex_index, g)); graph_traits::vertex_iterator uItr, uEnd; int j = 0; for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr, ++j) From dde974b3a9fb52d5fbc510354c391d8e189d057c Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 21 Jun 2020 22:36:28 +0530 Subject: [PATCH 0702/1360] [LTDTree] removed unrelated code --- include/LTDTree/pgr_LTDTree_driver.hpp | 192 ++----------------------- 1 file changed, 11 insertions(+), 181 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 768db6da6ef..cf94240836b 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -52,28 +52,13 @@ using namespace std; namespace pgrouting { namespace functions { - struct DominatorCorrectnessTestSet - { - typedef pair edge; - - int numOfVertices; - vector edges; - vector correctIdoms; - }; - template class Pgr_LTDTree { public: typedef typename Graph::V Vertex; //Note here G is base_graph + typedef typename Graph::E_i E_i; - // typedef typename G::E_i i; - //typedef typename G::vertIndex iiii; - - //typedef typename G::vertIndex IndexMap; - //typedef typename pgrouting::graph::Pgr_base_graph< G, pgrouting::Basic_vertex, pgrouting::Basic_edge >::vertIndex ind; - // typedef property_map::type IndexMap; - - typedef adjacency_list< + typedef adjacency_list< listS, listS, bidirectionalS, @@ -87,174 +72,19 @@ namespace pgrouting { ){ /***********************Typedefs of pfRouting**************/ -/* - auto IndexMap =graph.vertIndex; - auto vvvv=graph.num_vertices(); - - // iterator_property_map::iterator, IndexMap> PredMap; //We need to make_iterator_pro._map - //IndexMap indexMap(get(pgrouting::Basic_vertex::vertex_index, graph)); - boost::iterator_property_map::iterator, IndexMap> PredMap; - - vector domTreePredVector, domTreePredVector2; - - IndexMap indexMap(get(vertex_index, graph.graph)); - - typedef typename Graph::V_i uItr, uEnd; - int j = 0; - for (boost::tie(uItr, uEnd) = vertices(graph.graph); uItr != uEnd; ++uItr, ++j) - { - put(indexMap, *uItr, j); - } - - // Lengauer-Tarjan dominator tree algorithm - - domTreePredVector = - vector(graph.num_vertices(graph.graph), boost::graph_traits::null_vertex()); - PredMap domTreePredMap = - make_iterator_property_map(domTreePredVector.begin(), indexMap); - - lengauer_tarjan_dominator_tree(g, graph.get_V(root), domTreePredMap); - - vector idom(graph.num_vertices(graph)); - /*for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) - { - if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) - idom[get(indexMap, *uItr)] = - get(indexMap, get(domTreePredMap, *uItr)); - else - idom[get(indexMap, *uItr)] = (numeric_limits::max)(); - } - */ - - - - - - - - - - - - - - - - - - - - // Make property maps - /***************Calculating******************/ - - - // Tarjan's paper//Week 3 work - typedef DominatorCorrectnessTestSet::edge edge; - - DominatorCorrectnessTestSet testSet[1]; - - - testSet[0].numOfVertices = 13; - testSet[0].edges.push_back(edge(0, 1)); - testSet[0].edges.push_back(edge(0, 2)); - testSet[0].edges.push_back(edge(0, 3)); - testSet[0].edges.push_back(edge(1, 4)); - testSet[0].edges.push_back(edge(2, 1)); - testSet[0].edges.push_back(edge(2, 4)); - testSet[0].edges.push_back(edge(2, 5)); - testSet[0].edges.push_back(edge(3, 6)); - testSet[0].edges.push_back(edge(3, 7)); - testSet[0].edges.push_back(edge(4, 12)); - testSet[0].edges.push_back(edge(5, 8)); - testSet[0].edges.push_back(edge(6, 9)); - testSet[0].edges.push_back(edge(7, 9)); - testSet[0].edges.push_back(edge(7, 10)); - testSet[0].edges.push_back(edge(8, 5)); - testSet[0].edges.push_back(edge(8, 11)); - testSet[0].edges.push_back(edge(9, 11)); - testSet[0].edges.push_back(edge(10, 9)); - testSet[0].edges.push_back(edge(11, 0)); - testSet[0].edges.push_back(edge(11, 9)); - testSet[0].edges.push_back(edge(12, 8)); - testSet[0].correctIdoms.push_back((numeric_limits::max)()); - testSet[0].correctIdoms.push_back(0); // correctIdoms.push_back(0); represents that 0 is the idom of vertex 0 - testSet[0].correctIdoms.push_back(0); //// correctIdoms.push_back(0); represents that 0 is the idom of 1 - testSet[0].correctIdoms.push_back(0); - testSet[0].correctIdoms.push_back(0); - testSet[0].correctIdoms.push_back(0); - testSet[0].correctIdoms.push_back(3); // correctIdoms.push_back(0); represents that 3 is the idom of 5 - testSet[0].correctIdoms.push_back(3); - testSet[0].correctIdoms.push_back(0); - testSet[0].correctIdoms.push_back(0); - testSet[0].correctIdoms.push_back(7); - testSet[0].correctIdoms.push_back(0); - testSet[0].correctIdoms.push_back(4); - - - - - for (size_t i = 0; i < sizeof(testSet)/sizeof(testSet[0]); ++i) - { - const int numOfVertices = testSet[i].numOfVertices; - - G g( - testSet[i].edges.begin(), testSet[i].edges.end(), - numOfVertices); - - typedef graph_traits::vertex_descriptor Vertex; - typedef property_map::type IndexMap; - IndexMap indexMap(boost::get(vertex_index, g)); - typedef - iterator_property_map::iterator, IndexMap> - PredMap; - - vector domTreePredVector, domTreePredVector2; - //IndexMap indexMap(get(vertex_index, g)); - graph_traits::vertex_iterator uItr, uEnd; - int j = 0; - for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr, ++j) - { - put(indexMap, *uItr, j); - } - - // Lengauer-Tarjan dominator tree algorithm - - domTreePredVector = - vector(num_vertices(g), graph_traits::null_vertex()); - PredMap domTreePredMap = - make_iterator_property_map(domTreePredVector.begin(), indexMap); - - lengauer_tarjan_dominator_tree(g, vertex(0, g), domTreePredMap); - - vector idom(num_vertices(g)); - for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) - { - if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) - idom[get(indexMap, *uItr)] = - get(indexMap, get(domTreePredMap, *uItr)); - else - idom[get(indexMap, *uItr)] = (numeric_limits::max)(); - } - - /// - int x=0; - for(int i: idom) - { - cout<<"idom of "<(cout, " ")); - cout << endl; - - // dominator tree correctness test +/*************************************************************/ + typedef pair edge; + vector edgeList; + E_i ei, ei_end; + int i; + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i) { + int64_t source = graph[graph.source(*ei)].id; + int64_t target = graph[graph.target(*ei)].id; + edgeList.push_back(edge (source,target)); } - - - -/*************************************************************/ std::vector results; results[0].idom=7; results[0].vid=3; From 62b6e63aee8617ad21f9019acaaf1d4b085e56a9 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 21 Jun 2020 23:32:57 +0530 Subject: [PATCH 0703/1360] [LTDTree] added lenguer function and maps --- include/LTDTree/pgr_LTDTree_driver.hpp | 55 +++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index cf94240836b..a1d32a50bc5 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -84,10 +84,61 @@ namespace pgrouting { int64_t target = graph[graph.target(*ei)].id; edgeList.push_back(edge (source,target)); } + const auto numOfVertices=graph.num_vertices(); + G g( + edgeList.begin(), edgeList.end(), + numOfVertices); + + typedef graph_traits::vertex_descriptor Vertex; + typedef property_map::type IndexMap; + typedef + iterator_property_map::iterator, IndexMap> + PredMap; + + vector domTreePredVector, domTreePredVector2; + IndexMap indexMap(get(vertex_index, g)); + graph_traits::vertex_iterator uItr, uEnd; + int j = 0; + for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr, ++j) + { + put(indexMap, *uItr, j); + } + + // Lengauer-Tarjan dominator tree algorithm + + domTreePredVector = + vector(num_vertices(g), graph_traits::null_vertex()); + PredMap domTreePredMap = + make_iterator_property_map(domTreePredVector.begin(), indexMap); + lengauer_tarjan_dominator_tree(g, vertex(root, g), domTreePredMap); + + vector idom(num_vertices(g)); + for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) + { + if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) + idom[get(indexMap, *uItr)] = + get(indexMap, get(domTreePredMap, *uItr)); + else + idom[get(indexMap, *uItr)] = (numeric_limits::max)(); + } + + /// + boost::tie(uItr, uEnd) = vertices(g); std::vector results; - results[0].idom=7; - results[0].vid=3; + int x=0; + for(int i: idom) + { + //cout<<"idom of "< Date: Mon, 22 Jun 2020 00:07:34 +0530 Subject: [PATCH 0704/1360] [LTDTree][pgTap] LTDTree types check --- pgtap/LTDTree/pgr_LTDTree_types_check.sql | 27 ++++++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/pgtap/LTDTree/pgr_LTDTree_types_check.sql b/pgtap/LTDTree/pgr_LTDTree_types_check.sql index 2d1a38855d6..5d25c291d50 100644 --- a/pgtap/LTDTree/pgr_LTDTree_types_check.sql +++ b/pgtap/LTDTree/pgr_LTDTree_types_check.sql @@ -1,12 +1,27 @@ \i setup.sql +SELECT plan(7); -SELECT plan(1); -SELECT todo_start('Complete this tests'); +SELECT has_function('pgr_dltdtree'); -SELECT pass('Sample Test'); +SELECT has_function('pgr_dltdtree', ARRAY['text','bigint']); +SELECT function_returns('pgr_dltdtree', ARRAY['text','bigint','bigint'], 'setof record'); -SELECT todo_end(); +-- pgr_dltdtree +-- parameter names +SELECT bag_has( + $$SELECT proargnames from pg_proc where proname = 'pgr_dltdtree'$$, + $$SELECT '{"","","max_depth","directed","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ +); -SELECT finish(); -ROLLBACK; +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_dltdtree'$$, + $$VALUES + ('{25,20,20,16,20,20,20,20,20,701,701}'::OID[]), + ('{25,2277,20,16,20,20,20,20,20,701,701}'::OID[]) + $$ +); + +SELECT * FROM finish(); +ROLLBACK; \ No newline at end of file From 12582b170f8c5a7dc1b46534e3b18fab563970e2 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 22 Jun 2020 00:17:53 +0530 Subject: [PATCH 0705/1360] [LTDTree][Docqueries]One more example added --- docqueries/LTDTree/doc-LTDTree.result | 26 +++++++++++++++++++++++++ docqueries/LTDTree/doc-LTDTree.test.sql | 6 ++++++ 2 files changed, 32 insertions(+) diff --git a/docqueries/LTDTree/doc-LTDTree.result b/docqueries/LTDTree/doc-LTDTree.result index c9f36d37ba4..73dedf61f3a 100644 --- a/docqueries/LTDTree/doc-LTDTree.result +++ b/docqueries/LTDTree/doc-LTDTree.result @@ -3,6 +3,10 @@ BEGIN SET client_min_messages TO NOTICE; SET --q1 + SELECT * FROM pgr_LTDTree( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 1 + ); |id | vid | idom| +-----+------+------+-----+ 1 | 1 | 0 | @@ -25,5 +29,27 @@ SET (17 rows) --q2 +|id | vid | idom| ++-----+------+------+-----+ + 1 | 1 | 0 | + 2 | 2 | 0 | + 3 | 3 | 0 | + 4 | 4 | 0 | + 5 | 5 | 0 | + 6 | 6 | 0 | + 7 | 7 | 0 | + 8 | 8 | 0 | + 9 | 9 | 0 | + 10 | 10 | 0 | + 11 | 11 | 0 | + 12 | 12 | 0 | + 13 | 13 | 0 | + 14 | 14 | 0 | + 15 | 15 | 0 | + 16 | 16 | 0 | + 17 | 17 | 16 | +(17 rows) + +--q3 ROLLBACK; ROLLBACK diff --git a/docqueries/LTDTree/doc-LTDTree.test.sql b/docqueries/LTDTree/doc-LTDTree.test.sql index 3a90c005a5d..661640961b3 100644 --- a/docqueries/LTDTree/doc-LTDTree.test.sql +++ b/docqueries/LTDTree/doc-LTDTree.test.sql @@ -5,3 +5,9 @@ 1 ); \echo --q2 + SELECT * FROM pgr_LTDTree( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 16 + ); + +\echo --q3 \ No newline at end of file From ca3dd5b9042b2cbac29ace4e93f1171ef79f123f Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 22 Jun 2020 00:20:40 +0530 Subject: [PATCH 0706/1360] [doc] doc of uptill work --- doc/LTDTree/pgr_LTDTree.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/LTDTree/pgr_LTDTree.rst b/doc/LTDTree/pgr_LTDTree.rst index 1ffdd4c2a34..b6e9b5eddd0 100644 --- a/doc/LTDTree/pgr_LTDTree.rst +++ b/doc/LTDTree/pgr_LTDTree.rst @@ -92,6 +92,12 @@ The examples in this section use the following :ref:`fig1` .. literalinclude:: doc-LTDTree.queries :start-after: --q1 :end-before: --q2 + +The examples in this section use the following :ref:`fig1` + +.. literalinclude:: doc-LTDTree.queries + :start-after: --q2 + :end-before: --q3 See Also ------------------------------------------------------------------------------- From cff87d8294dd34e3cf8c903fd4404409d9b4ff35 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 24 Jun 2020 07:56:21 +0530 Subject: [PATCH 0707/1360] [LTDTree][doc]refrences --- doc/LTDTree/pgr_LTDTree.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/LTDTree/pgr_LTDTree.rst b/doc/LTDTree/pgr_LTDTree.rst index b6e9b5eddd0..527905166b8 100644 --- a/doc/LTDTree/pgr_LTDTree.rst +++ b/doc/LTDTree/pgr_LTDTree.rst @@ -102,6 +102,8 @@ See Also ------------------------------------------------------------------------------- * https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm +* https://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/a%20fast%20algorithm%20for%20finding.pdf +* https://www.boost.org/doc/libs/1_64_0/libs/graph/doc/two_graphs_common_spanning_trees.html * :doc:`sampledata` network. .. rubric:: Indices and tables From a34c914fc7cfc7c19f6c77ba08e3e1a3359f3cf9 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 26 Jun 2020 09:24:38 +0530 Subject: [PATCH 0708/1360] [LTDTree] New datastructures --- include/LTDTree/pgr_LTDTree_driver.hpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index a1d32a50bc5..8e2dec286d2 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -82,10 +82,10 @@ namespace pgrouting { for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i) { int64_t source = graph[graph.source(*ei)].id; int64_t target = graph[graph.target(*ei)].id; - edgeList.push_back(edge (source,target)); + edgeList.push_back(edge (source-1,target-1)); } const auto numOfVertices=graph.num_vertices(); - G g( + G g( edgeList.begin(), edgeList.end(), numOfVertices); @@ -130,15 +130,25 @@ namespace pgrouting { for(int i: idom) { //cout<<"idom of "<::max)()) + { + results[x].idom=i+1; + results[x].vid=x+1; + } + else + { + results[x].idom=0; + results[x].vid=x+1; + } + x++; - ++uItr; + } // results[0].idom=7; // results[0].vid=3; + //std::vector results; return results; From 64ba27419f00d05ca9df3517a7823e5ffa2c9c4d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 26 Jun 2020 09:30:44 +0530 Subject: [PATCH 0709/1360] [LTDTree] checking with fix data --- include/LTDTree/pgr_LTDTree_driver.hpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 8e2dec286d2..0ded6d5293d 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -76,7 +76,8 @@ namespace pgrouting { /*************************************************************/ typedef pair edge; - vector edgeList; + vector edges; + /* E_i ei, ei_end; int i; for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i) { @@ -85,8 +86,19 @@ namespace pgrouting { edgeList.push_back(edge (source-1,target-1)); } const auto numOfVertices=graph.num_vertices(); - G g( - edgeList.begin(), edgeList.end(), + */ + const auto numOfVertices = 8; + edges.push_back(edge(0, 1)); + edges.push_back(edge(1, 2)); + edges.push_back(edge(1, 3)); + edges.push_back(edge(2, 7)); + edges.push_back(edge(3, 4)); + edges.push_back(edge(4, 5)); + edges.push_back(edge(4, 6)); + edges.push_back(edge(6, 4)); + edges.push_back(edge(5, 7)); + G g( + edges.begin(), edges.end(), numOfVertices); typedef graph_traits::vertex_descriptor Vertex; From 055702e70167c2610c5b2f17c0f098961f198e0d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 26 Jun 2020 19:06:07 +0530 Subject: [PATCH 0710/1360] [LTDTree] fixing sever crash --- include/LTDTree/pgr_LTDTree_driver.hpp | 29 ++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 0ded6d5293d..518938ac3d2 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -75,18 +75,26 @@ namespace pgrouting { /*************************************************************/ + typedef pair edge; - vector edges; - /* + vector edgeList; + // std::vector results(graph.num_vertices()); +/* E_i ei, ei_end; int i; for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i) { int64_t source = graph[graph.source(*ei)].id; int64_t target = graph[graph.target(*ei)].id; - edgeList.push_back(edge (source-1,target-1)); + edgeList.push_back(edge (source,target)); + results[i].idom=source; + results[i].vid=source; } + results[3].idom=graph.num_vertices(); + results[3].vid=graph.num_vertices(); + + const auto numOfVertices=graph.num_vertices(); - */ + const auto numOfVertices = 8; edges.push_back(edge(0, 1)); edges.push_back(edge(1, 2)); @@ -138,6 +146,7 @@ namespace pgrouting { /// boost::tie(uItr, uEnd) = vertices(g); std::vector results; + /* int x=0; for(int i: idom) { @@ -155,15 +164,23 @@ namespace pgrouting { x++; - } + } +*/ + std::vector results; + pgr_ltdtree_rt temp; + temp.vid=graph.num_vertices(); + temp.idom=num_edges(graph.graph); + results.push_back(temp); + // results[0].idom=7; // results[0].vid=3; //std::vector results; - return results; + + return results; } From e6253bbfa777bfed8f51c2666e89494f993e24fe Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 26 Jun 2020 19:48:55 +0530 Subject: [PATCH 0711/1360] [LTDTree] fixing sever crash 2 --- include/LTDTree/pgr_LTDTree_driver.hpp | 172 ++++++++++++------------- 1 file changed, 86 insertions(+), 86 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 518938ac3d2..7e28378ac0a 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -79,100 +79,100 @@ namespace pgrouting { typedef pair edge; vector edgeList; // std::vector results(graph.num_vertices()); -/* + std::vector results; + E_i ei, ei_end; int i; for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i) { int64_t source = graph[graph.source(*ei)].id; int64_t target = graph[graph.target(*ei)].id; edgeList.push_back(edge (source,target)); - results[i].idom=source; - results[i].vid=source; + pgr_ltdtree_rt temp; + temp.vid=source; + temp.idom=target; + results.push_back(temp); } - results[3].idom=graph.num_vertices(); - results[3].vid=graph.num_vertices(); - - - const auto numOfVertices=graph.num_vertices(); - - const auto numOfVertices = 8; - edges.push_back(edge(0, 1)); - edges.push_back(edge(1, 2)); - edges.push_back(edge(1, 3)); - edges.push_back(edge(2, 7)); - edges.push_back(edge(3, 4)); - edges.push_back(edge(4, 5)); - edges.push_back(edge(4, 6)); - edges.push_back(edge(6, 4)); - edges.push_back(edge(5, 7)); - G g( - edges.begin(), edges.end(), - numOfVertices); - - typedef graph_traits::vertex_descriptor Vertex; - typedef property_map::type IndexMap; - typedef - iterator_property_map::iterator, IndexMap> - PredMap; - - vector domTreePredVector, domTreePredVector2; - IndexMap indexMap(get(vertex_index, g)); - graph_traits::vertex_iterator uItr, uEnd; - int j = 0; - for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr, ++j) - { - put(indexMap, *uItr, j); - } - - // Lengauer-Tarjan dominator tree algorithm + /* results[3].idom=graph.num_vertices(); + results[3].vid=graph.num_vertices(); + + + const auto numOfVertices=graph.num_vertices(); + + const auto numOfVertices = 8; + edges.push_back(edge(0, 1)); + edges.push_back(edge(1, 2)); + edges.push_back(edge(1, 3)); + edges.push_back(edge(2, 7)); + edges.push_back(edge(3, 4)); + edges.push_back(edge(4, 5)); + edges.push_back(edge(4, 6)); + edges.push_back(edge(6, 4)); + edges.push_back(edge(5, 7)); + G g( + edges.begin(), edges.end(), + numOfVertices); + + typedef graph_traits::vertex_descriptor Vertex; + typedef property_map::type IndexMap; + typedef + iterator_property_map::iterator, IndexMap> + PredMap; + + vector domTreePredVector, domTreePredVector2; + IndexMap indexMap(get(vertex_index, g)); + graph_traits::vertex_iterator uItr, uEnd; + int j = 0; + for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr, ++j) + { + put(indexMap, *uItr, j); + } + + // Lengauer-Tarjan dominator tree algorithm + + domTreePredVector = + vector(num_vertices(g), graph_traits::null_vertex()); + PredMap domTreePredMap = + make_iterator_property_map(domTreePredVector.begin(), indexMap); + + lengauer_tarjan_dominator_tree(g, vertex(root, g), domTreePredMap); + + vector idom(num_vertices(g)); + for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) + { + if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) + idom[get(indexMap, *uItr)] = + get(indexMap, get(domTreePredMap, *uItr)); + else + idom[get(indexMap, *uItr)] = (numeric_limits::max)(); + } + + /// + boost::tie(uItr, uEnd) = vertices(g); + std::vector results; + + int x=0; + for(int i: idom) + { + //cout<<"idom of "<::max)()) + { + results[x].idom=i+1; + results[x].vid=x+1; + } + else + { + results[x].idom=0; + results[x].vid=x+1; + } + + x++; + + + + } + */ + // std::vector results; - domTreePredVector = - vector(num_vertices(g), graph_traits::null_vertex()); - PredMap domTreePredMap = - make_iterator_property_map(domTreePredVector.begin(), indexMap); - - lengauer_tarjan_dominator_tree(g, vertex(root, g), domTreePredMap); - - vector idom(num_vertices(g)); - for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) - { - if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) - idom[get(indexMap, *uItr)] = - get(indexMap, get(domTreePredMap, *uItr)); - else - idom[get(indexMap, *uItr)] = (numeric_limits::max)(); - } - - /// - boost::tie(uItr, uEnd) = vertices(g); - std::vector results; - /* - int x=0; - for(int i: idom) - { - //cout<<"idom of "<::max)()) - { - results[x].idom=i+1; - results[x].vid=x+1; - } - else - { - results[x].idom=0; - results[x].vid=x+1; - } - - x++; - - - - } -*/ - std::vector results; - pgr_ltdtree_rt temp; - temp.vid=graph.num_vertices(); - temp.idom=num_edges(graph.graph); - results.push_back(temp); // results[0].idom=7; // results[0].vid=3; From fee9d475d4685cdfb760b8ceb979a5e5bdd00bba Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 26 Jun 2020 22:35:20 +0530 Subject: [PATCH 0712/1360] [LTDTree] including debug function --- include/LTDTree/pgr_LTDTree_driver.hpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 7e28378ac0a..52e48cf423e 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -53,7 +53,7 @@ namespace pgrouting { namespace functions { template - class Pgr_LTDTree { + class Pgr_LTDTree : public pgrouting::Pgr_messages { public: typedef typename Graph::V Vertex; //Note here G is base_graph typedef typename Graph::E_i E_i; @@ -75,7 +75,7 @@ namespace pgrouting { /*************************************************************/ - + log << "here"; typedef pair edge; vector edgeList; // std::vector results(graph.num_vertices()); @@ -92,6 +92,7 @@ namespace pgrouting { temp.idom=target; results.push_back(temp); } + /* results[3].idom=graph.num_vertices(); results[3].vid=graph.num_vertices(); @@ -149,7 +150,7 @@ namespace pgrouting { /// boost::tie(uItr, uEnd) = vertices(g); std::vector results; - + int x=0; for(int i: idom) { From 0d8847cffba7e04d679576280e8b069508a4edc0 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 26 Jun 2020 23:07:02 +0530 Subject: [PATCH 0713/1360] [LTDTree] fixing edge and root --- include/LTDTree/pgr_LTDTree_driver.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 52e48cf423e..ccdc006dc38 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -75,7 +75,7 @@ namespace pgrouting { /*************************************************************/ - log << "here"; + log << "root vid "< edge; vector edgeList; // std::vector results(graph.num_vertices()); From ff351fa79358f1d69edaba9c191e9fd9641e3f4b Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 26 Jun 2020 23:08:14 +0530 Subject: [PATCH 0714/1360] [LTDTree] fix wrong parameters --- include/drivers/LTDTree/LTDTree_driver.h | 2 +- src/LTDTree/LTDTree_driver.cpp | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/include/drivers/LTDTree/LTDTree_driver.h b/include/drivers/LTDTree/LTDTree_driver.h index 8283755b327..cc57e356643 100644 --- a/include/drivers/LTDTree/LTDTree_driver.h +++ b/include/drivers/LTDTree/LTDTree_driver.h @@ -54,8 +54,8 @@ extern "C" { void do_pgr_LTDTree( pgr_edge_t *data_edges, - int64_t root_vertex, size_t total_tuples, + int64_t root_vertex, pgr_ltdtree_rt **return_tuples, size_t *return_count, char **log_msg, diff --git a/src/LTDTree/LTDTree_driver.cpp b/src/LTDTree/LTDTree_driver.cpp index 847d3baa3b2..cb15abba192 100644 --- a/src/LTDTree/LTDTree_driver.cpp +++ b/src/LTDTree/LTDTree_driver.cpp @@ -64,8 +64,8 @@ Look from template void do_pgr_LTDTree( pgr_edge_t *data_edges, - int64_t root_vertex, size_t total_edges, + int64_t root_vertex, pgr_ltdtree_rt **return_tuples, size_t *return_count, char **log_msg, @@ -84,7 +84,7 @@ do_pgr_LTDTree( pgassert(!(*return_tuples)); pgassert(*return_count == 0); - + std::string logstr; //std::vector edges(data_edges, data_edges + total_edges); log << "Working with directed Graph\n"; graphType gType = DIRECTED; @@ -93,6 +93,9 @@ do_pgr_LTDTree( std::vector results; pgrouting::functions::Pgr_LTDTree fn_LTDTree; results=fn_LTDTree.llengauer_tarjan_dominator_tree(digraph,root_vertex); + + logstr += fn_LTDTree.get_log(); + log << logstr; //Call a function to work with that //Todo Here we will assign result into return tuple auto count = results.size(); @@ -101,7 +104,12 @@ do_pgr_LTDTree( (*return_tuples) = NULL; (*return_count) = 0; notice << "No result found"; - *log_msg = pgr_msg(notice.str().c_str()); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); return; } (*return_tuples) = pgr_alloc(count, (*return_tuples)); From 8debd0cc3dbf011edb7a91f5eb4af2f7fa6bcc04 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 26 Jun 2020 23:54:12 +0530 Subject: [PATCH 0715/1360] [LTDTree] boost library working --- include/LTDTree/pgr_LTDTree_driver.hpp | 43 ++++++++++++++------------ 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index ccdc006dc38..ae3db1aa0d1 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -79,26 +79,29 @@ namespace pgrouting { typedef pair edge; vector edgeList; // std::vector results(graph.num_vertices()); - std::vector results; + // std::vector results; E_i ei, ei_end; int i; for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i) { int64_t source = graph[graph.source(*ei)].id; int64_t target = graph[graph.target(*ei)].id; - edgeList.push_back(edge (source,target)); - pgr_ltdtree_rt temp; + edgeList.push_back(edge (source-1,target-1)); + /*pgr_ltdtree_rt temp; temp.vid=source; temp.idom=target; results.push_back(temp); + */ } + // log<<"graph.num_vertices() "<::vertex_descriptor Vertex; @@ -154,16 +159,23 @@ namespace pgrouting { int x=0; for(int i: idom) { + pgr_ltdtree_rt temp; + //cout<<"idom of "<::max)()) { - results[x].idom=i+1; - results[x].vid=x+1; + temp.vid=x+1; + temp.idom=i+1; + results.push_back(temp); + // results[x].idom=i; + // results[x].vid=x; } else { - results[x].idom=0; - results[x].vid=x+1; + temp.vid=x+1; + temp.idom=0; + results.push_back(temp); + } x++; @@ -171,15 +183,6 @@ namespace pgrouting { } - */ - // std::vector results; - - - // results[0].idom=7; - // results[0].vid=3; - //std::vector results; - - return results; } From b63d0635ed6fcaec2b343b6aeec7da273ece552c Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 27 Jun 2020 00:41:42 +0530 Subject: [PATCH 0716/1360] [LTDTree] removed static code --- include/LTDTree/pgr_LTDTree_driver.hpp | 29 ++------------------------ 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index ae3db1aa0d1..4f722e0b13c 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -78,8 +78,6 @@ namespace pgrouting { log << "root vid "< edge; vector edgeList; - // std::vector results(graph.num_vertices()); - // std::vector results; E_i ei, ei_end; int i; @@ -87,33 +85,16 @@ namespace pgrouting { int64_t source = graph[graph.source(*ei)].id; int64_t target = graph[graph.target(*ei)].id; edgeList.push_back(edge (source-1,target-1)); + log<<"("<::max)()) { temp.vid=x+1; temp.idom=i+1; results.push_back(temp); - // results[x].idom=i; - // results[x].vid=x; } else { @@ -180,8 +157,6 @@ namespace pgrouting { x++; - - } return results; From 575ff21f44864176df3a93977cdc70d8c13719b7 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 27 Jun 2020 00:45:53 +0530 Subject: [PATCH 0717/1360] [LTDTree] to do --- include/LTDTree/pgr_LTDTree_driver.hpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 4f722e0b13c..16b97318aa6 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -72,7 +72,12 @@ namespace pgrouting { ){ /***********************Typedefs of pfRouting**************/ - +/******TODO****** + * check log for only cost column and run query for that + * What if id>5, not starting from 0 + * make test when id>18,<0 and also for 0 cloumn (s) + * + * **/ /*************************************************************/ log << "root vid "<(num_vertices(g), graph_traits::null_vertex()); PredMap domTreePredMap = make_iterator_property_map(domTreePredVector.begin(), indexMap); - lengauer_tarjan_dominator_tree(g, vertex(root, g), domTreePredMap); - vector idom(num_vertices(g)); for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) { @@ -132,7 +134,6 @@ namespace pgrouting { else idom[get(indexMap, *uItr)] = (numeric_limits::max)(); } - /// boost::tie(uItr, uEnd) = vertices(g); std::vector results; @@ -152,17 +153,12 @@ namespace pgrouting { temp.vid=x+1; temp.idom=0; results.push_back(temp); - } - x++; - } return results; } - - }; } } From 91e39516f612ccf62456b0a05cb868a37c4013d2 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 27 Jun 2020 16:13:07 +0530 Subject: [PATCH 0718/1360] [LTDTree] extract vertices method added --- include/LTDTree/pgr_LTDTree_driver.hpp | 96 ++++++++++---------------- 1 file changed, 37 insertions(+), 59 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 16b97318aa6..c5b352a14f4 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -35,19 +35,21 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_base_graph.hpp" #include "cpp_common/pgr_messages.h" - -//#include #include #include - #include #include -//#include #include #include #include using namespace boost; using namespace std; +/******TODO****** + * check log for only cost column and run query for that + * What if id>5, not starting from 0 + * make test when id>18,<0 and also for 0 cloumn (s) + * + * **/ namespace pgrouting { namespace functions { @@ -55,34 +57,21 @@ namespace pgrouting { template class Pgr_LTDTree : public pgrouting::Pgr_messages { public: - typedef typename Graph::V Vertex; //Note here G is base_graph + typedef typename Graph::V Vertex; typedef typename Graph::E_i E_i; - typedef adjacency_list< listS, listS, bidirectionalS, property, no_property> G; + typedef pair edge; //For making edge list to be used in extract vertices + vector edgeList; - //To calculate dominator tree - std::vector llengauer_tarjan_dominator_tree( - Graph &graph, - int64_t root - ){ - /***********************Typedefs of pfRouting**************/ -/******TODO****** - * check log for only cost column and run query for that - * What if id>5, not starting from 0 - * make test when id>18,<0 and also for 0 cloumn (s) - * - * **/ -/*************************************************************/ - log << "root vid "< edge; - vector edgeList; + void extract_vertices(Graph &graph) + { E_i ei, ei_end; int i; @@ -90,26 +79,24 @@ namespace pgrouting { int64_t source = graph[graph.source(*ei)].id; int64_t target = graph[graph.target(*ei)].id; edgeList.push_back(edge (source-1,target-1)); - log<<"("< pgr_ltdtree( + Graph &graph, + int64_t root + ){ - G g( - edgeList.begin(), edgeList.end(), - numOfVertices); + extract_vertices(graph); typedef graph_traits::vertex_descriptor Vertex; typedef property_map::type IndexMap; - typedef - iterator_property_map::iterator, IndexMap> - PredMap; - + typedef iterator_property_map::iterator, IndexMap> PredMap; + const auto numOfVertices=graph.num_vertices(); + G g(edgeList.begin(), edgeList.end(),numOfVertices); vector domTreePredVector, domTreePredVector2; IndexMap indexMap(get(vertex_index, g)); graph_traits::vertex_iterator uItr, uEnd; @@ -118,43 +105,36 @@ namespace pgrouting { { put(indexMap, *uItr, j); } - // Lengauer-Tarjan dominator tree algorithm domTreePredVector = vector(num_vertices(g), graph_traits::null_vertex()); PredMap domTreePredMap = make_iterator_property_map(domTreePredVector.begin(), indexMap); - lengauer_tarjan_dominator_tree(g, vertex(root, g), domTreePredMap); - vector idom(num_vertices(g)); - for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) - { - if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) - idom[get(indexMap, *uItr)] = - get(indexMap, get(domTreePredMap, *uItr)); - else - idom[get(indexMap, *uItr)] = (numeric_limits::max)(); - } - /// - boost::tie(uItr, uEnd) = vertices(g); + lengauer_tarjan_dominator_tree(g, vertex(root-1, g), domTreePredMap); + + +/*****************************************Making result vector*************************************/ + std::vector results; + pgr_ltdtree_rt temp; - int x=0; - for(int i: idom) + + for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) { - pgr_ltdtree_rt temp; - if(i!=(numeric_limits::max)()) + if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) { - temp.vid=x+1; - temp.idom=i+1; + temp.vid=(get(indexMap, *uItr)+1); + temp.idom=get(indexMap, get(domTreePredMap, *uItr))+1; results.push_back(temp); } else { - temp.vid=x+1; + + temp.vid=(get(indexMap, *uItr)+1); temp.idom=0; results.push_back(temp); } - x++; + } return results; @@ -162,6 +142,4 @@ namespace pgrouting { }; } } - - #endif // INCLUDE_LTDTREE_PGR_LTDTREE_HPP From 9b0238167c0fa75d487cc3fbaf43753783c2de70 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 27 Jun 2020 17:31:44 +0530 Subject: [PATCH 0719/1360] [LTDTree] edge-cases tests --- pgtap/LTDTree/ltdtree-edge-cases.sql | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 pgtap/LTDTree/ltdtree-edge-cases.sql diff --git a/pgtap/LTDTree/ltdtree-edge-cases.sql b/pgtap/LTDTree/ltdtree-edge-cases.sql new file mode 100644 index 00000000000..e42e563b634 --- /dev/null +++ b/pgtap/LTDTree/ltdtree-edge-cases.sql @@ -0,0 +1,19 @@ +\i setup.sql +SELECT plan(2); + +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18; + +SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); + +PREPARE q2 AS +SELECT * +FROM pgr_ltdtree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 0',1 +); +SELECT isnt_empty('q2', 'q1: Graph with 0 edge and 0 vertex'); +ROLLBACK; From ae13beacd529b66f56650e5f3e2600d51fc1b425 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 27 Jun 2020 17:33:17 +0530 Subject: [PATCH 0720/1360] [LTDTree] new signature added pgr_ltdtree --- src/LTDTree/LTDTree.c | 6 +++--- src/LTDTree/LTDTree_driver.cpp | 25 +++++-------------------- 2 files changed, 8 insertions(+), 23 deletions(-) diff --git a/src/LTDTree/LTDTree.c b/src/LTDTree/LTDTree.c index 1e3cb9ef63d..28fa8a260a4 100644 --- a/src/LTDTree/LTDTree.c +++ b/src/LTDTree/LTDTree.c @@ -166,13 +166,13 @@ _pgr_ltdtree(PG_FUNCTION_ARGS) { nulls[i] = false; } //Set your outputs from result_tuple - values[0] = Int32GetDatum(call_cntr + 1); /*TODO Chek for the sequence*/ + values[0] = Int32GetDatum(call_cntr + 1); values[1] = Int64GetDatum(result_tuples[call_cntr].vid); - values[2] = Int64GetDatum(result_tuples[call_cntr].idom); + values[2] = Int64GetDatum(result_tuples[call_cntr].idom); tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); - }else { /* do when there is no more left */ + }else { SRF_RETURN_DONE(funcctx); } diff --git a/src/LTDTree/LTDTree_driver.cpp b/src/LTDTree/LTDTree_driver.cpp index cb15abba192..83fb9689991 100644 --- a/src/LTDTree/LTDTree_driver.cpp +++ b/src/LTDTree/LTDTree_driver.cpp @@ -28,36 +28,20 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ - - -/**TODO** -Look from template -*/ - #include "drivers/LTDTree/LTDTree_driver.h" #include "LTDTree/pgr_LTDTree_driver.hpp" #include "c_types/pgr_ltdtree_rt.h" - - #include #include #include #include #include - - - #include "cpp_common/identifiers.hpp" #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/basePath_SSEC.hpp" #include "cpp_common/pgr_base_graph.hpp" - - - - - /************************************************************ edges_sql TEXT ***********************************************************/ @@ -85,19 +69,20 @@ do_pgr_LTDTree( pgassert(*return_count == 0); std::string logstr; - //std::vector edges(data_edges, data_edges + total_edges); + +/***********************Working with graph**************************/ + log << "Working with directed Graph\n"; graphType gType = DIRECTED; pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); //Creating graph using data_edges std::vector results; pgrouting::functions::Pgr_LTDTree fn_LTDTree; - results=fn_LTDTree.llengauer_tarjan_dominator_tree(digraph,root_vertex); + results=fn_LTDTree.pgr_ltdtree(digraph,root_vertex); logstr += fn_LTDTree.get_log(); log << logstr; - //Call a function to work with that - //Todo Here we will assign result into return tuple + auto count = results.size(); if (count == 0) { From e46eeeffae40fab5e165bd41bda8d1745cba967d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 28 Jun 2020 13:46:18 +0530 Subject: [PATCH 0721/1360] [LTDTree] negative root exception --- pgtap/LTDTree/LTDTree-innerQuery.sql | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pgtap/LTDTree/LTDTree-innerQuery.sql b/pgtap/LTDTree/LTDTree-innerQuery.sql index f7769514a29..ab702a8bc02 100644 --- a/pgtap/LTDTree/LTDTree-innerQuery.sql +++ b/pgtap/LTDTree/LTDTree-innerQuery.sql @@ -3,13 +3,15 @@ SELECT plan(56); -SELECT has_function('pgr_LTDTree', +SELECT has_function('pgr_ltdtree', ARRAY['text', 'bigint']); -SELECT function_returns('pgr_LTDTree', - ARRAY['bigint', 'bigint'], +SELECT function_returns('pgr_ltdtree', + ARRAY['text', 'bigint'], 'setof record'); +-- ONE TO ONE +SELECT style_dijkstra('pgr_ltdtree', ',1)'); SELECT finish(); ROLLBACK; From 2c7ad68469b8feef3d9e25cab7b1d20c7a85494c Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 28 Jun 2020 13:47:13 +0530 Subject: [PATCH 0722/1360] [LTDTree] no crash test --- pgtap/LTDTree/no_crash_test-LTDTree.sql | 35 +++++++++---------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/pgtap/LTDTree/no_crash_test-LTDTree.sql b/pgtap/LTDTree/no_crash_test-LTDTree.sql index d82bc156c2a..ba720b6c639 100644 --- a/pgtap/LTDTree/no_crash_test-LTDTree.sql +++ b/pgtap/LTDTree/no_crash_test-LTDTree.sql @@ -1,21 +1,19 @@ \i setup.sql -SELECT plan(67); +SELECT plan(7); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; -PREPARE null_ret AS -SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); - -PREPARE null_ret_arr AS -SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); - SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +/* SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); + SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); + */ + CREATE OR REPLACE FUNCTION test_function() RETURNS SETOF TEXT AS $BODY$ @@ -23,27 +21,16 @@ DECLARE params TEXT[]; subs TEXT[]; BEGIN - - params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$' - ,'1::BIGINT', - '2::BIGINT' - ]::TEXT[]; +params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '1::BIGINT' + ]::TEXT[]; subs = ARRAY[ 'NULL', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_LTDTree', params, subs); - - subs = ARRAY[ - 'NULL', - 'NULL::BIGINT', - 'NULL::BIGINT' - ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_LTDTree', params, subs); - + RETURN query SELECT * FROM no_crash_test('pgr_ltdtree', params, subs); END $BODY$ LANGUAGE plpgsql VOLATILE; @@ -51,4 +38,6 @@ LANGUAGE plpgsql VOLATILE; SELECT * FROM test_function(); + + ROLLBACK; From def011ba6c5d1676ae8322245576e5de8dba8dae Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 28 Jun 2020 13:47:40 +0530 Subject: [PATCH 0723/1360] [LTDTree] types test --- pgtap/LTDTree/pgr_LTDTree_types_check.sql | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pgtap/LTDTree/pgr_LTDTree_types_check.sql b/pgtap/LTDTree/pgr_LTDTree_types_check.sql index 5d25c291d50..f732061f296 100644 --- a/pgtap/LTDTree/pgr_LTDTree_types_check.sql +++ b/pgtap/LTDTree/pgr_LTDTree_types_check.sql @@ -1,4 +1,14 @@ \i setup.sql +SELECT plan(1); + +SELECT todo_start('Complete this tests'); + +SELECT pass('Sample Test'); + +SELECT todo_end(); + +SELECT finish(); +/* SELECT plan(7); @@ -24,4 +34,6 @@ SELECT set_eq( ); SELECT * FROM finish(); + + */ ROLLBACK; \ No newline at end of file From f680555cac4d36a834eb94a415c145dfa3065fe6 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 28 Jun 2020 17:42:52 +0530 Subject: [PATCH 0724/1360] [LTDTree] vertex mapping for greater id --- include/LTDTree/pgr_LTDTree_driver.hpp | 56 ++++++++++++++++++++------ 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index c5b352a14f4..eb0263f7f99 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -67,21 +67,48 @@ namespace pgrouting { typedef pair edge; //For making edge list to be used in extract vertices vector edgeList; + std::vector results; +/****************Start valiadation******************************/ - - - void extract_vertices(Graph &graph) + std::set s; + int64_t min_vertex, max_vertex; + void extract_vertices(Graph &graph, int64_t numVertices) { E_i ei, ei_end; int i; + for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i) { + int64_t source = graph[graph.source(*ei)].id; + s.insert(source); + // log<<"("< max_vertex) return false; + return true; } /******************** Method to calculate dominator tree and returns result vector ***************************/ @@ -89,13 +116,18 @@ namespace pgrouting { Graph &graph, int64_t root ){ - - extract_vertices(graph); + const int64_t numOfVertices=graph.num_vertices(); + extract_vertices(graph,numOfVertices); + if(!is_valid_root(root)) + { + notice<<"Invalid root "<::vertex_descriptor Vertex; typedef property_map::type IndexMap; typedef iterator_property_map::iterator, IndexMap> PredMap; - const auto numOfVertices=graph.num_vertices(); + G g(edgeList.begin(), edgeList.end(),numOfVertices); vector domTreePredVector, domTreePredVector2; IndexMap indexMap(get(vertex_index, g)); @@ -110,12 +142,12 @@ namespace pgrouting { vector(num_vertices(g), graph_traits::null_vertex()); PredMap domTreePredMap = make_iterator_property_map(domTreePredVector.begin(), indexMap); - lengauer_tarjan_dominator_tree(g, vertex(root-1, g), domTreePredMap); + lengauer_tarjan_dominator_tree(g, vertex(root-min_vertex, g), domTreePredMap); /*****************************************Making result vector*************************************/ - std::vector results; + pgr_ltdtree_rt temp; @@ -123,14 +155,14 @@ namespace pgrouting { { if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) { - temp.vid=(get(indexMap, *uItr)+1); - temp.idom=get(indexMap, get(domTreePredMap, *uItr))+1; + temp.vid=(get(indexMap, *uItr)+min_vertex); + temp.idom=get(indexMap, get(domTreePredMap, *uItr))+min_vertex; results.push_back(temp); } else { - temp.vid=(get(indexMap, *uItr)+1); + temp.vid=(get(indexMap, *uItr)+min_vertex); temp.idom=0; results.push_back(temp); } From 3e9270747b8f731f0b47130a06916546c11e8093 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 28 Jun 2020 17:55:05 +0530 Subject: [PATCH 0725/1360] [LTDTree] negative root exception --- sql/LTDTree/LTDTree.sql | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/sql/LTDTree/LTDTree.sql b/sql/LTDTree/LTDTree.sql index 69fcf5be57e..6effd052ea7 100644 --- a/sql/LTDTree/LTDTree.sql +++ b/sql/LTDTree/LTDTree.sql @@ -31,17 +31,25 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- CREATE OR REPLACE FUNCTION pgr_LTDTree( TEXT, -- edges_sql (required) - BIGINT , -- vertex (required) + root_vertex BIGINT , -- vertex (required) OUT seq integer, OUT vid BIGINT, OUT idom BIGINT ) RETURNS SETOF RECORD AS $BODY$ - SELECT * +BEGIN + IF $2 < 1 THEN + RAISE EXCEPTION 'Negative value found on ''root_vertex''' + USING HINT = format('Value found: %s', $2); + END IF; + + RETURN QUERY + SELECT * FROM _pgr_LTDTree(_pgr_get_statement($1),$2); +END; $BODY$ -LANGUAGE SQL VOLATILE STRICT; +LANGUAGE plpgsql VOLATILE STRICT; -- COMMENTS From aa63701e8f6b7f2df368dc979ce75980fa7c8c8f Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 28 Jun 2020 17:55:42 +0530 Subject: [PATCH 0726/1360] [LTDTree] rename variables --- include/LTDTree/pgr_LTDTree_driver.hpp | 40 +++++++++----------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index eb0263f7f99..6b060c417a7 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -44,12 +44,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include using namespace boost; using namespace std; -/******TODO****** - * check log for only cost column and run query for that - * What if id>5, not starting from 0 - * make test when id>18,<0 and also for 0 cloumn (s) - * - * **/ namespace pgrouting { namespace functions { @@ -68,27 +62,24 @@ namespace pgrouting { typedef pair edge; //For making edge list to be used in extract vertices vector edgeList; std::vector results; -/****************Start valiadation******************************/ - - std::set s; + std::set vertex_set; int64_t min_vertex, max_vertex; - void extract_vertices(Graph &graph, int64_t numVertices) - { + + + void extract_vertices( + Graph &graph, + int64_t numVertices){ E_i ei, ei_end; int i; for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i) { int64_t source = graph[graph.source(*ei)].id; - s.insert(source); - // log<<"("< pgr_ltdtree( Graph &graph, @@ -146,11 +136,7 @@ namespace pgrouting { /*****************************************Making result vector*************************************/ - - pgr_ltdtree_rt temp; - - for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) { if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) From 34e8a67ffffdaffe3a3b498b0474f414c62b53bf Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 28 Jun 2020 19:59:58 +0530 Subject: [PATCH 0727/1360] [LTDTree] edge case tests --- pgtap/LTDTree/ltdtree-edge-cases.sql | 72 +++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/pgtap/LTDTree/ltdtree-edge-cases.sql b/pgtap/LTDTree/ltdtree-edge-cases.sql index e42e563b634..c731f055700 100644 --- a/pgtap/LTDTree/ltdtree-edge-cases.sql +++ b/pgtap/LTDTree/ltdtree-edge-cases.sql @@ -1,6 +1,7 @@ \i setup.sql -SELECT plan(2); +SELECT plan(8); +-- 0 edge 0 vertex tests PREPARE q1 AS SELECT id, source, target, cost, reverse_cost FROM edge_table @@ -8,6 +9,65 @@ WHERE id > 18; SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); + +PREPARE ltdtree_test1 AS +SELECT * +FROM pgr_ltdtree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id < 0',1 +); + +PREPARE ltdtree_test2 AS +SELECT * +FROM pgr_ltdtree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id = 0',1 +); + +PREPARE ltdtree_test3 AS +SELECT * +FROM pgr_ltdtree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18',1 +); + +SELECT is_empty('ltdtree_test1', 'ltdtree_test1: Graph with 0 edge and 0 vertex'); +SELECT is_empty('ltdtree_test2', 'ltdtree_test2: Graph with 0 edge and 0 vertex'); +SELECT is_empty('ltdtree_test3', 'ltdtree_test3: Graph with 0 edge and 0 vertex'); + + + +--root not present tests +PREPARE ltdtree_test4 AS +SELECT * +FROM pgr_ltdtree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 2',1 +); + + +PREPARE ltdtree_test5 AS +SELECT * +FROM pgr_ltdtree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 2',1 +); + +SELECT is_empty('ltdtree_test4', 'ltdtree_test4: Root not present in the Graph'); +SELECT is_empty('ltdtree_test5', 'ltdtree_test5: Root not present in the Graph'); + +--vertex not present in the graph tests + + +--verify results test + + +--id constrained tests PREPARE q2 AS SELECT * FROM pgr_ltdtree( @@ -16,4 +76,14 @@ FROM edge_table WHERE id > 0',1 ); SELECT isnt_empty('q2', 'q1: Graph with 0 edge and 0 vertex'); + +-- Negative root tests +PREPARE q3 AS +SELECT * +FROM pgr_ltdtree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table',-1 +); +SELECT throws_ok('q3', 'P0001', 'Negative value found on ''root_vertex''', '3: Negative root throws'); + ROLLBACK; From c41479c0730d0d238e17676d5d392fbd0a1e45e5 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 28 Jun 2020 20:17:38 +0530 Subject: [PATCH 0728/1360] [LTDTree][doc] added docqueries with one example --- docqueries/LTDTree/doc-LTDTree.result | 61 ++++++++----------------- docqueries/LTDTree/doc-LTDTree.test.sql | 6 --- 2 files changed, 20 insertions(+), 47 deletions(-) diff --git a/docqueries/LTDTree/doc-LTDTree.result b/docqueries/LTDTree/doc-LTDTree.result index 73dedf61f3a..6660a5f3641 100644 --- a/docqueries/LTDTree/doc-LTDTree.result +++ b/docqueries/LTDTree/doc-LTDTree.result @@ -7,49 +7,28 @@ SET 'SELECT id, source, target, cost, reverse_cost FROM edge_table', 1 ); -|id | vid | idom| -+-----+------+------+-----+ - 1 | 1 | 0 | - 2 | 2 | 1 | - 3 | 3 | 0 | - 4 | 4 | 0 | - 5 | 5 | 2 | - 6 | 6 | 5 | - 7 | 7 | 0 | - 8 | 8 | 0 | - 9 | 9 | 6 | - 10 | 10 | 5 | - 11 | 11 | 5 | - 12 | 12 | 5 | - 13 | 13 | 15 | - 14 | 14 | 0 | - 15 | 15 | 10 | - 16 | 16 | 0 | - 17 | 17 | 0 | +seq | vid | idom +-----+-----+------ + 1 | 1 | 0 + 2 | 2 | 1 + 3 | 3 | 4 + 4 | 4 | 9 + 5 | 5 | 2 + 6 | 6 | 5 + 7 | 7 | 8 + 8 | 8 | 5 + 9 | 9 | 5 + 10 | 10 | 5 + 11 | 11 | 5 + 12 | 12 | 5 + 13 | 13 | 10 + 14 | 14 | 0 + 15 | 15 | 0 + 16 | 16 | 0 + 17 | 17 | 0 (17 rows) --q2 -|id | vid | idom| -+-----+------+------+-----+ - 1 | 1 | 0 | - 2 | 2 | 0 | - 3 | 3 | 0 | - 4 | 4 | 0 | - 5 | 5 | 0 | - 6 | 6 | 0 | - 7 | 7 | 0 | - 8 | 8 | 0 | - 9 | 9 | 0 | - 10 | 10 | 0 | - 11 | 11 | 0 | - 12 | 12 | 0 | - 13 | 13 | 0 | - 14 | 14 | 0 | - 15 | 15 | 0 | - 16 | 16 | 0 | - 17 | 17 | 16 | -(17 rows) ---q3 ROLLBACK; -ROLLBACK +ROLLBACK \ No newline at end of file diff --git a/docqueries/LTDTree/doc-LTDTree.test.sql b/docqueries/LTDTree/doc-LTDTree.test.sql index 661640961b3..3a90c005a5d 100644 --- a/docqueries/LTDTree/doc-LTDTree.test.sql +++ b/docqueries/LTDTree/doc-LTDTree.test.sql @@ -5,9 +5,3 @@ 1 ); \echo --q2 - SELECT * FROM pgr_LTDTree( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', - 16 - ); - -\echo --q3 \ No newline at end of file From 0e09a66ae82aeac7a436f7e56086d7e2e7f195d9 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 28 Jun 2020 20:18:39 +0530 Subject: [PATCH 0729/1360] [LTDTree][doc] user doc with one example --- doc/LTDTree/pgr_LTDTree.rst | 5 ----- 1 file changed, 5 deletions(-) diff --git a/doc/LTDTree/pgr_LTDTree.rst b/doc/LTDTree/pgr_LTDTree.rst index 527905166b8..284acc73019 100644 --- a/doc/LTDTree/pgr_LTDTree.rst +++ b/doc/LTDTree/pgr_LTDTree.rst @@ -93,11 +93,6 @@ The examples in this section use the following :ref:`fig1` :start-after: --q1 :end-before: --q2 -The examples in this section use the following :ref:`fig1` - -.. literalinclude:: doc-LTDTree.queries - :start-after: --q2 - :end-before: --q3 See Also ------------------------------------------------------------------------------- From ad7147b02381a6c12003a054d1ec5054704d6bfc Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 29 Jun 2020 19:54:48 +0530 Subject: [PATCH 0730/1360] [MRT] template of _mrt.sql --- sql/spanningTree/_mrt.sql | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 sql/spanningTree/_mrt.sql diff --git a/sql/spanningTree/_mrt.sql b/sql/spanningTree/_mrt.sql new file mode 100644 index 00000000000..29a3936425e --- /dev/null +++ b/sql/spanningTree/_mrt.sql @@ -0,0 +1,31 @@ +/*PGR-GNU***************************************************************** +File: _mrt.sql + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +--------------- +-- _pgr_mrt +--------------- \ No newline at end of file From ca72a5ae2766b30aa9953a0ed78f8dc3c13e9171 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 29 Jun 2020 19:54:58 +0530 Subject: [PATCH 0731/1360] [MRT] template of mrt.sql --- sql/spanningTree/mrt.sql | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 sql/spanningTree/mrt.sql diff --git a/sql/spanningTree/mrt.sql b/sql/spanningTree/mrt.sql new file mode 100644 index 00000000000..661f1bc2515 --- /dev/null +++ b/sql/spanningTree/mrt.sql @@ -0,0 +1,31 @@ +/*PGR-GNU***************************************************************** +File: mrt.sql + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +--------------- +-- pgr_mrt +--------------- \ No newline at end of file From 2d91b602b543a5072f59c97c5c493f2f2c8b73d3 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 6 Jul 2020 00:50:36 +0530 Subject: [PATCH 0732/1360] [mrt] sql file signature added --- sql/spanningTree/_mrt.sql | 22 +++++++++++++++++++++- sql/spanningTree/mrt.sql | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/sql/spanningTree/_mrt.sql b/sql/spanningTree/_mrt.sql index 29a3936425e..1c34166678b 100644 --- a/sql/spanningTree/_mrt.sql +++ b/sql/spanningTree/_mrt.sql @@ -28,4 +28,24 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ --------------- -- _pgr_mrt ---------------- \ No newline at end of file +--------------- + +CREATE OR REPLACE FUNCTION _pgr_LTDTree( + edges_sql1 TEXT, -- edges_sql1 (required) + edges_sql2 TEXT, -- edges_sql2 (required) + directed BOOLEAN DEFAULT true, + + OUT seq integer, + OUT tree_edges BIGINT[] --contains list of edegs of spanning tree + ) + +RETURNS SETOF RECORD AS +'MODULE_PATHNAME' +LANGUAGE c VOLATILE STRICT; + +-- COMMENTS + + +COMMENT ON FUNCTION _pgr_mrt(TEXT,TEXT,BOOLEAN) +IS 'pgRouting internal function'; + diff --git a/sql/spanningTree/mrt.sql b/sql/spanningTree/mrt.sql index 661f1bc2515..689dbfc3fbc 100644 --- a/sql/spanningTree/mrt.sql +++ b/sql/spanningTree/mrt.sql @@ -28,4 +28,37 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ --------------- -- pgr_mrt ---------------- \ No newline at end of file +--------------- +CREATE OR REPLACE FUNCTION pgr_LTDTree( + edges_sql1 TEXT, -- edges_sql1 (required) + edges_sql2 TEXT, -- edges_sql2 (required) + directed BOOLEAN DEFAULT true, + + OUT seq integer, + OUT tree_edges BIGINT[] --contains list of edegs of spanning tree + ) +RETURNS SETOF RECORD AS +$BODY$ +BEGIN + + RETURN QUERY + SELECT * + FROM _pgr_mrt(_pgr_get_statement($1),_pgr_get_statement($2),$3); +END; +$BODY$ +LANGUAGE plpgsql VOLATILE STRICT; + + +-- COMMENTS + + +COMMENT ON FUNCTION pgr_mrt(TEXT,TEXT,BOOLEAN) +IS 'pgr_mrt +- EXPERIMENTAL +- Directed graph +- Parameters: + - edges SQL with columns: id, source, target, cost [,reverse_cost] +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_LTDTree.html +'; + From 78ee9a322f9cb6b13db818f16b8c5feaab089737 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 6 Jul 2020 00:51:22 +0530 Subject: [PATCH 0733/1360] [mrt] structure of result tuple --- include/c_types/pgr_mrt_rt.h | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 include/c_types/pgr_mrt_rt.h diff --git a/include/c_types/pgr_mrt_rt.h b/include/c_types/pgr_mrt_rt.h new file mode 100644 index 00000000000..85c7d7ec9f5 --- /dev/null +++ b/include/c_types/pgr_mrt_rt.h @@ -0,0 +1,44 @@ +/*PGR-GNU***************************************************************** +File: pgr_ltdtree_rt.h + +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +/*! @file */ + +#ifndef INCLUDE_C_TYPES_PGR_MRT_RT_H_ +#define INCLUDE_C_TYPES_PGR_MRT_RT_H_ +#pragma once + +/* for int64_t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +typedef struct { + //int64_t seq; + int64_t size; + int64_t *tree_edges; + //int64_t sdom; + +} pgr_mrt_rt; + +#endif // INCLUDE_C_TYPES_PGR_MST_RT_H_ From f5267461f2a1448511735c6cdf7789ef746c891f Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 6 Jul 2020 00:51:57 +0530 Subject: [PATCH 0734/1360] [mrt] driver header --- include/drivers/spanningTree/mrt_driver.h | 70 +++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 include/drivers/spanningTree/mrt_driver.h diff --git a/include/drivers/spanningTree/mrt_driver.h b/include/drivers/spanningTree/mrt_driver.h new file mode 100644 index 00000000000..0c4fe1e6519 --- /dev/null +++ b/include/drivers/spanningTree/mrt_driver.h @@ -0,0 +1,70 @@ +/*PGR-GNU***************************************************************** +File: LTDTree_driver.h + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_DRIVERS_MRT_DRIVER_H_ +#define INCLUDE_DRIVERS_MRT_DRIVER_H_ + + +/* for size-t */ +#ifdef __cplusplus +# include +#include + +#else +# include +#endif + + +#include "c_types/pgr_edge_t.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/********************************************************* + edges_sql TEXT, + + ********************************************************/ +void +do_pgr_mrt( + pgr_edge_t *data_edges, + size_t total_tuples, + int64_t root_vertex, + pgr_ltdtree_rt **return_tuples, + size_t *return_count, + char **log_msg, + char **notice_msg, + char **err_msg); + + +#ifdef __cplusplus +} +#endif + +#endif // INCLUDE_DRIVERS_LTDTREE_LTDTREE_DRIVER_H_ From 13fb03fb5b9d8348bfd57131acb3b5297b74d5a7 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 6 Jul 2020 00:52:22 +0530 Subject: [PATCH 0735/1360] [mrt] c driver --- src/spanningTree/mrt.c | 184 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 src/spanningTree/mrt.c diff --git a/src/spanningTree/mrt.c b/src/spanningTree/mrt.c new file mode 100644 index 00000000000..f9b334e8a96 --- /dev/null +++ b/src/spanningTree/mrt.c @@ -0,0 +1,184 @@ +/*PGR-GNU***************************************************************** +File: LTDTree.c + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + + +/******************************************************************************/ +/* MODIFY AS NEEDED */ + +#include + +#include "c_common/postgres_connection.h" +#include "utils/array.h" +#include "catalog/pg_type.h" +#include "utils/lsyscache.h" + +#ifndef INT8ARRAYOID +#define INT8ARRAYOID 1016 +#endif + +#include "c_common/debug_macro.h" +#include "c_common/e_report.h" +#include "c_common/time_msg.h" +#include "c_types/pgr_mrt_rt.h" +#include "c_common/edges_input.h" +#include "c_common/arrays_input.h" + +#include "drivers/LTDTree/LTDTree_driver.h" + +PGDLLEXPORT Datum _pgr_ltdtree(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_ltdtree); + + +static +void +process(char* edges_sql1, + char* edges_sql2, + bool directed, + pgr_mrt_rt **result_tuples, + size_t *result_count) { + //result_count is a pointer it means we do not need to return + // but it will count, initially it is 0 + pgr_SPI_connect(); + + size_t total_edges = 0; + pgr_edge_t* edges = NULL; + pgr_get_edges(edges_sql, &edges, &total_edges); + if (total_edges == 0) { + pgr_SPI_finish(); + return; + } + + PGR_DBG("Starting timer"); + clock_t start_t = clock(); + char* log_msg = NULL; + char* notice_msg = NULL; + char* err_msg = NULL; + do_pgr_mrt( + edges, total_edges, + root_vertex, + result_tuples, result_count, + &log_msg, + ¬ice_msg, + &err_msg); + + time_msg("processing pgr_LTDTree()", start_t, clock()); + + + if (err_msg && (*result_tuples)) { + pfree(*result_tuples); + (*result_tuples) = NULL; + (*result_count) = 0; + } + + pgr_global_report(log_msg, notice_msg, err_msg); + + if (log_msg) pfree(log_msg); + if (notice_msg) pfree(notice_msg); + if (err_msg) pfree(err_msg); + if (edges) pfree(edges); + pgr_SPI_finish(); +} + +PGDLLEXPORT Datum +_pgr_ltdtree(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; + + /**********************************************************************/ + + pgr_mrt_rt *result_tuples =NULL; + size_t result_count = 0; + /**********************************************************************/ + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + /**********************************************************************/ + + + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), //Converting sql to string + text_to_cstring(PG_GETARG_TEXT_P(1)), //2nd parameter //BIGINT to int_64 + PG_GETARG_BOOL(2), + &result_tuples, + &result_count); + + + /**********************************************************************/ +#if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; //result_count is updated in process function call +#else + funcctx->max_calls = (uint32_t)result_count; +#endif + funcctx->user_fctx = result_tuples; // + if (get_call_result_type(fcinfo, NULL, &tuple_desc) + != TYPEFUNC_COMPOSITE) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + funcctx->tuple_desc = tuple_desc; //contains tuple description + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (pgr_mrt_rt*) funcctx->user_fctx; //converting structure + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; //We will set all the values + Datum result; + Datum *values; + bool *nulls; + int16 typlen; + size_t call_cntr = funcctx->call_cntr; + + + size_t numb = 2; //Number of columns in outputs + values =(Datum *)palloc(numb * sizeof(Datum)); + nulls = palloc(numb * sizeof(bool)); + size_t i; + for (i = 0; i < numb; ++i) { + nulls[i] = false; + } + //Set your outputs from result_tuple + /* + values[0] = Int32GetDatum(call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[call_cntr].vid); + values[2] = Int64GetDatum(result_tuples[call_cntr].idom); + tuple = heap_form_tuple(tuple_desc, values, nulls); + */ + result = HeapTupleGetDatum(tuple); + SRF_RETURN_NEXT(funcctx, result); + }else { + SRF_RETURN_DONE(funcctx); + } + +} From 42174fef9d52316069d621ae0dd5554cddf487b4 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 6 Jul 2020 00:52:41 +0530 Subject: [PATCH 0736/1360] [mrt] cpp driver --- src/spanningTree/mrt_driver.cpp | 138 ++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 src/spanningTree/mrt_driver.cpp diff --git a/src/spanningTree/mrt_driver.cpp b/src/spanningTree/mrt_driver.cpp new file mode 100644 index 00000000000..a6ce6581172 --- /dev/null +++ b/src/spanningTree/mrt_driver.cpp @@ -0,0 +1,138 @@ +/*PGR-GNU***************************************************************** +File: LTDTree_driver.pp + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + + +//#include "drivers/LTDTree/LTDTree_driver.h" +//#include "LTDTree/pgr_LTDTree_driver.hpp" +//#include "c_types/pgr_ltdtree_rt.h" + +#include +#include +#include +#include +#include +#include "cpp_common/identifiers.hpp" +#include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/basePath_SSEC.hpp" +#include "cpp_common/pgr_base_graph.hpp" + + +/************************************************************ + edges_sql TEXT + ***********************************************************/ +void +do_pgr_mrt( + pgr_edge_t *data_edges, + size_t total_edges, + int64_t root_vertex, + pgr_ltdtree_rt **return_tuples, + size_t *return_count, + char **log_msg, + char **notice_msg, + char **err_msg) { + std::ostringstream log; + std::ostringstream notice; + std::ostringstream err; + + + try { + pgassert(total_edges != 0); + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + + std::string logstr; + +/***********************Working with graph**************************/ + + log << "Working with directed Graph\n"; + graphType gType = DIRECTED; + pgrouting::DirectedGraph digraph(gType); + digraph.insert_edges(data_edges, total_edges); //Creating graph using data_edges + std::vector results; + pgrouting::functions::Pgr_LTDTree fn_LTDTree; + results=fn_LTDTree.pgr_ltdtree(digraph,root_vertex); + + logstr += fn_LTDTree.get_log(); + log << logstr; + + auto count = results.size(); + + if (count == 0) { + (*return_tuples) = NULL; + (*return_count) = 0; + notice << "No result found"; + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + return; + } + (*return_tuples) = pgr_alloc(count, (*return_tuples)); + for (size_t i = 0; i < count; i++) { + *((*return_tuples) + i) = results[i]; + } + (*return_count) = count; + + pgassert(*err_msg == NULL); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } + + +} + + From d1da7bea02a661d6042783b0f0e2e21793262c4d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 6 Jul 2020 01:07:06 +0530 Subject: [PATCH 0737/1360] [mrt] cpp header driver --- include/spanningTree/pgr_mrt_driver.hpp | 47 +++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 include/spanningTree/pgr_mrt_driver.hpp diff --git a/include/spanningTree/pgr_mrt_driver.hpp b/include/spanningTree/pgr_mrt_driver.hpp new file mode 100644 index 00000000000..eef759eccf6 --- /dev/null +++ b/include/spanningTree/pgr_mrt_driver.hpp @@ -0,0 +1,47 @@ +/*PGR-GNU***************************************************************** +File: pgr_LTDTree.hpp + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + + +#ifndef INCLUDE_PGR_MRT_DRIVER_HPP +#define INCLUDE_PGR_MRT_DRIVER_HPP +#pragma once +#include + +#include "cpp_common/pgr_base_graph.hpp" +#include "cpp_common/pgr_messages.h" +#include +#include +#include +#include +#include +#include +#include + + +#endif // INCLUDE_PGR_MRT_DRIVER_HPP From f713bc21172abad8cb4067e4efed41edc213de7a Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 6 Jul 2020 01:11:51 +0530 Subject: [PATCH 0738/1360] [mrt] added files in cmakeList --- sql/spanningTree/CMakeLists.txt | 4 ++++ src/spanningTree/CMakeLists.txt | 2 ++ 2 files changed, 6 insertions(+) diff --git a/sql/spanningTree/CMakeLists.txt b/sql/spanningTree/CMakeLists.txt index b0a0d089257..834bd84f1ec 100644 --- a/sql/spanningTree/CMakeLists.txt +++ b/sql/spanningTree/CMakeLists.txt @@ -13,7 +13,11 @@ SET(LOCAL_FILES kruskalDFS.sql kruskalBFS.sql kruskalDD.sql + + mrt.sql + _mrt.sql #randomSpanTree.sql + ) # Do not modify below this line diff --git a/src/spanningTree/CMakeLists.txt b/src/spanningTree/CMakeLists.txt index ca0e566852f..0fd49e759c4 100644 --- a/src/spanningTree/CMakeLists.txt +++ b/src/spanningTree/CMakeLists.txt @@ -8,6 +8,8 @@ ADD_LIBRARY(spanningTree OBJECT prim.c prim_driver.cpp + mrt.c + mrt_driver.cpp #randomSpanningTree.c #randomSpanningTree_driver.cpp ) From a0c9952174a3b66fe4e11fde8509abfd36deb68c Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 6 Jul 2020 01:12:27 +0530 Subject: [PATCH 0739/1360] [mrt] Modified config directory --- configuration.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration.conf b/configuration.conf index c30db43bd2b..37e5d3e3858 100644 --- a/configuration.conf +++ b/configuration.conf @@ -34,7 +34,7 @@ bellman_ford | Y | Y | Y cpp_common | Y | N | N dagShortestPath | Y | Y | Y chinese | Y | Y | Y -spanningTree | Y | Y | Y +spanningTree | N | N | N mincut | Y | Y | Y version | Y | Y | Y topologicalSort | Y | Y | Y From f36c6f4028701e00ca6a3d2775c311776addba83 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 6 Jul 2020 01:13:01 +0530 Subject: [PATCH 0740/1360] [mrt] added signature --- sql/sigs/pgrouting--3.0.0.sig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index e2e68a2164d..5669b645014 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -164,6 +164,8 @@ _pgr_maxflow(text,anyarray,anyarray,integer,boolean) pgr_maxflow(text,anyarray,bigint) pgr_maxflow(text,bigint,anyarray) pgr_maxflow(text,bigint,bigint) +_pgr_mrt(text,text,boolean) +pgr_mrt(text,text,boolean) _pgr_msg(integer,text,text) pgr_nodenetwork(text,double precision,text,text,text,text,boolean) _pgr_onerror(boolean,integer,text,text,text,text) From c73f62a44ff3c40ad00aa4caf1d3146ba5af2769 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 6 Jul 2020 20:38:59 +0530 Subject: [PATCH 0741/1360] [mrt] modified parmeters --- include/drivers/spanningTree/mrt_driver.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/drivers/spanningTree/mrt_driver.h b/include/drivers/spanningTree/mrt_driver.h index 0c4fe1e6519..bc9cd58e35d 100644 --- a/include/drivers/spanningTree/mrt_driver.h +++ b/include/drivers/spanningTree/mrt_driver.h @@ -53,9 +53,10 @@ extern "C" { ********************************************************/ void do_pgr_mrt( - pgr_edge_t *data_edges, + pgr_edge_t *data_edges1, size_t total_tuples, - int64_t root_vertex, + pgr_edge_t *data_edges2, + size_t total_tuples2, pgr_ltdtree_rt **return_tuples, size_t *return_count, char **log_msg, From bc073b46d7d38314bd798a2e3df8c7b9e5c6b251 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 8 Jul 2020 16:46:30 +0530 Subject: [PATCH 0742/1360] [mrt] fixed signature --- sql/spanningTree/_mrt.sql | 2 +- sql/spanningTree/mrt.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/spanningTree/_mrt.sql b/sql/spanningTree/_mrt.sql index 1c34166678b..f23545d8ff1 100644 --- a/sql/spanningTree/_mrt.sql +++ b/sql/spanningTree/_mrt.sql @@ -30,7 +30,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- _pgr_mrt --------------- -CREATE OR REPLACE FUNCTION _pgr_LTDTree( +CREATE OR REPLACE FUNCTION _pgr_mrt( edges_sql1 TEXT, -- edges_sql1 (required) edges_sql2 TEXT, -- edges_sql2 (required) directed BOOLEAN DEFAULT true, diff --git a/sql/spanningTree/mrt.sql b/sql/spanningTree/mrt.sql index 689dbfc3fbc..a98eec10007 100644 --- a/sql/spanningTree/mrt.sql +++ b/sql/spanningTree/mrt.sql @@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -- pgr_mrt --------------- -CREATE OR REPLACE FUNCTION pgr_LTDTree( +CREATE OR REPLACE FUNCTION pgr_mrt( edges_sql1 TEXT, -- edges_sql1 (required) edges_sql2 TEXT, -- edges_sql2 (required) directed BOOLEAN DEFAULT true, From 382cf6b24e29ca050869bd07dcf10e2a52d42487 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 8 Jul 2020 16:47:16 +0530 Subject: [PATCH 0743/1360] [mrt] added parameters --- include/drivers/spanningTree/mrt_driver.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/include/drivers/spanningTree/mrt_driver.h b/include/drivers/spanningTree/mrt_driver.h index bc9cd58e35d..83aa84e8cc2 100644 --- a/include/drivers/spanningTree/mrt_driver.h +++ b/include/drivers/spanningTree/mrt_driver.h @@ -42,6 +42,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pgr_edge_t.h" +#include "c_types/pgr_mrt_rt.h" #ifdef __cplusplus extern "C" { @@ -53,11 +54,14 @@ extern "C" { ********************************************************/ void do_pgr_mrt( - pgr_edge_t *data_edges1, - size_t total_tuples, - pgr_edge_t *data_edges2, - size_t total_tuples2, - pgr_ltdtree_rt **return_tuples, + pgr_edge_t *data_edges_1, + size_t total_tuples_1, + + pgr_edge_t *data_edges_2, + size_t total_tuples_2, + + bool directed, + pgr_mrt_rt **return_tuples, size_t *return_count, char **log_msg, char **notice_msg, From aaa103180cf52afec074d470816a171bd3c9fa9d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 8 Jul 2020 16:47:57 +0530 Subject: [PATCH 0744/1360] [mrt] changed parameters --- src/spanningTree/mrt.c | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/src/spanningTree/mrt.c b/src/spanningTree/mrt.c index f9b334e8a96..e38202c25f8 100644 --- a/src/spanningTree/mrt.c +++ b/src/spanningTree/mrt.c @@ -45,20 +45,20 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/debug_macro.h" #include "c_common/e_report.h" #include "c_common/time_msg.h" -#include "c_types/pgr_mrt_rt.h" + #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "drivers/LTDTree/LTDTree_driver.h" - -PGDLLEXPORT Datum _pgr_ltdtree(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_ltdtree); +#include "drivers/spanningTree/mrt_driver.h" +#include "c_types/pgr_mrt_rt.h" +PGDLLEXPORT Datum _pgr_mrt(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_mrt); static void -process(char* edges_sql1, - char* edges_sql2, +process(char* edges_sql_1, + char* edges_sql_2, bool directed, pgr_mrt_rt **result_tuples, size_t *result_count) { @@ -66,22 +66,29 @@ process(char* edges_sql1, // but it will count, initially it is 0 pgr_SPI_connect(); - size_t total_edges = 0; - pgr_edge_t* edges = NULL; - pgr_get_edges(edges_sql, &edges, &total_edges); - if (total_edges == 0) { + size_t total_edges_1 = 0; + pgr_edge_t* edges_1 = NULL; + pgr_get_edges(edges_sql_1, &edges_1, &total_edges_1); + if (total_edges_1 == 0) { + pgr_SPI_finish(); + return; + } + size_t total_edges_2 = 0; + pgr_edge_t* edges_2 = NULL; + pgr_get_edges(edges_sql_2, &edges_2, &total_edges_2); + if (total_edges_2 == 0) { pgr_SPI_finish(); return; } - PGR_DBG("Starting timer"); clock_t start_t = clock(); char* log_msg = NULL; char* notice_msg = NULL; char* err_msg = NULL; do_pgr_mrt( - edges, total_edges, - root_vertex, + edges_1, total_edges_1, + edges_2,total_edges_2, + directed, result_tuples, result_count, &log_msg, ¬ice_msg, @@ -101,12 +108,13 @@ process(char* edges_sql1, if (log_msg) pfree(log_msg); if (notice_msg) pfree(notice_msg); if (err_msg) pfree(err_msg); - if (edges) pfree(edges); + if (edges_1) pfree(edges_1); + if(edges_2) pfree(edges_2); pgr_SPI_finish(); } PGDLLEXPORT Datum -_pgr_ltdtree(PG_FUNCTION_ARGS) { +_pgr_mrt(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; From 34f2f9dcacb18bb8f29075fc377ef9bc0eaa0a0e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 8 Jul 2020 16:48:27 +0530 Subject: [PATCH 0745/1360] [mrt] added for directed graph --- src/spanningTree/mrt_driver.cpp | 46 +++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/src/spanningTree/mrt_driver.cpp b/src/spanningTree/mrt_driver.cpp index a6ce6581172..e96beffac45 100644 --- a/src/spanningTree/mrt_driver.cpp +++ b/src/spanningTree/mrt_driver.cpp @@ -43,15 +43,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_base_graph.hpp" +#include "drivers/spanningTree/mrt_driver.h" +#include "c_types/pgr_mrt_rt.h" +#include "spanningTree/pgr_mrt_driver.hpp" /************************************************************ edges_sql TEXT ***********************************************************/ void do_pgr_mrt( - pgr_edge_t *data_edges, - size_t total_edges, - int64_t root_vertex, - pgr_ltdtree_rt **return_tuples, + pgr_edge_t *data_edges_1, + size_t total_edges_1, + + + pgr_edge_t *data_edges_2, + size_t total_edges_2, + + bool directed, + pgr_mrt_rt **return_tuples, size_t *return_count, char **log_msg, char **notice_msg, @@ -62,7 +70,8 @@ do_pgr_mrt( try { - pgassert(total_edges != 0); + pgassert(total_edges_1 != 0); + pgassert(total_edges_2 != 0); pgassert(!(*log_msg)); pgassert(!(*notice_msg)); pgassert(!(*err_msg)); @@ -72,17 +81,26 @@ do_pgr_mrt( std::string logstr; /***********************Working with graph**************************/ + graphType gType = directed ? DIRECTED : UNDIRECTED; + + std::vector results; + + if(directed) + { + log << "Working with directed Graph\n"; + pgrouting::DirectedGraph digraph_1(gType); + digraph_1.insert_edges(data_edges_1, total_edges_1); + + pgrouting::DirectedGraph digraph_2(gType); + digraph_2.insert_edges(data_edges_2,total_edges_2); + pgrouting::functions::Pgr_mrt fn_mrt; + results =fn_mrt.pgr_mrt(digraph_1,digraph_2); + logstr += fn_mrt.get_log(); + log << logstr; + } + - log << "Working with directed Graph\n"; - graphType gType = DIRECTED; - pgrouting::DirectedGraph digraph(gType); - digraph.insert_edges(data_edges, total_edges); //Creating graph using data_edges - std::vector results; - pgrouting::functions::Pgr_LTDTree fn_LTDTree; - results=fn_LTDTree.pgr_ltdtree(digraph,root_vertex); - logstr += fn_LTDTree.get_log(); - log << logstr; auto count = results.size(); From 1e3075573e8f3719c35de4d44f799e7fa9de9655 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 8 Jul 2020 16:49:07 +0530 Subject: [PATCH 0746/1360] [mrt] able to read both graphs --- include/spanningTree/pgr_mrt_driver.hpp | 32 +++++++++++++++++++++---- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/include/spanningTree/pgr_mrt_driver.hpp b/include/spanningTree/pgr_mrt_driver.hpp index eef759eccf6..5992d0e96a8 100644 --- a/include/spanningTree/pgr_mrt_driver.hpp +++ b/include/spanningTree/pgr_mrt_driver.hpp @@ -37,11 +37,33 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_messages.h" #include #include -#include -#include -#include -#include -#include + +#include "c_types/pgr_mrt_rt.h" + +using namespace boost; +using namespace std; + +namespace pgrouting { + namespace functions { + + template + class Pgr_mrt : public pgrouting::Pgr_messages { + public: + std::vector results; + + std::vector pgr_mrt( + Graph &graph_1, + Graph &graph_2 + + ){ + log<<"Inside main boost driver"< Date: Wed, 8 Jul 2020 17:08:48 +0530 Subject: [PATCH 0747/1360] [mrt] added for un_directed graph --- src/spanningTree/mrt_driver.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/spanningTree/mrt_driver.cpp b/src/spanningTree/mrt_driver.cpp index e96beffac45..d3c5eadf3a1 100644 --- a/src/spanningTree/mrt_driver.cpp +++ b/src/spanningTree/mrt_driver.cpp @@ -94,7 +94,20 @@ do_pgr_mrt( pgrouting::DirectedGraph digraph_2(gType); digraph_2.insert_edges(data_edges_2,total_edges_2); pgrouting::functions::Pgr_mrt fn_mrt; - results =fn_mrt.pgr_mrt(digraph_1,digraph_2); + results =fn_mrt.pgr_mrt(digraph_1,digraph_2,directed); + logstr += fn_mrt.get_log(); + log << logstr; + } + else + { + log << "Working with directed Graph\n"; + pgrouting::UndirectedGraph undigraph_1(gType); + undigraph_1.insert_edges(data_edges_1, total_edges_1); + + pgrouting::UndirectedGraph undigraph_2(gType); + undigraph_2.insert_edges(data_edges_2,total_edges_2); + pgrouting::functions::Pgr_mrt fn_mrt; + results =fn_mrt.pgr_mrt(undigraph_1,undigraph_2,directed); logstr += fn_mrt.get_log(); log << logstr; } From b8433b9c89c02cf648910f474257901e2d8e5817 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 12 Jul 2020 23:39:04 +0530 Subject: [PATCH 0748/1360] [LTDTree] new function name --- sql/LTDTree/LTDTree.sql | 8 ++++---- sql/LTDTree/_LTDTree.sql | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sql/LTDTree/LTDTree.sql b/sql/LTDTree/LTDTree.sql index 6effd052ea7..54238029136 100644 --- a/sql/LTDTree/LTDTree.sql +++ b/sql/LTDTree/LTDTree.sql @@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -- pgr_LTDTree --------------- -CREATE OR REPLACE FUNCTION pgr_LTDTree( +CREATE OR REPLACE FUNCTION pgr_lengauer_tarjan_dominator_tree ( TEXT, -- edges_sql (required) root_vertex BIGINT , -- vertex (required) OUT seq integer, @@ -46,7 +46,7 @@ BEGIN RETURN QUERY SELECT * - FROM _pgr_LTDTree(_pgr_get_statement($1),$2); + FROM _pgr_lengauer_tarjan_dominator_tree (_pgr_get_statement($1),$2); END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; @@ -55,13 +55,13 @@ LANGUAGE plpgsql VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION pgr_LTDTree(TEXT,BIGINT) +COMMENT ON FUNCTION pgr_lengauer_tarjan_dominator_tree (TEXT,BIGINT) IS 'pgr_LTDTree - EXPERIMENTAL - Directed graph - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_LTDTree.html + - ${PGROUTING_DOC_LINK}/pgr_lengauer_tarjan_dominator_tree .html '; diff --git a/sql/LTDTree/_LTDTree.sql b/sql/LTDTree/_LTDTree.sql index 8a83de1b0a4..60ad241b179 100644 --- a/sql/LTDTree/_LTDTree.sql +++ b/sql/LTDTree/_LTDTree.sql @@ -27,9 +27,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ --------------- --- pgr_LTDTree +-- _pgr_lengauer_tarjan_dominator_tree --------------- -CREATE OR REPLACE FUNCTION _pgr_LTDTree( +CREATE OR REPLACE FUNCTION _pgr_lengauer_tarjan_dominator_tree ( edges_sql TEXT, -- edges_sql (required) root_vid BIGINT , -- vertex (required) OUT seq integer, @@ -43,6 +43,6 @@ LANGUAGE c VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_LTDTree(TEXT,BIGINT) +COMMENT ON FUNCTION _pgr_lengauer_tarjan_dominator_tree (TEXT,BIGINT) IS 'pgRouting internal function'; From 36d9ad7a4e058b9e9a250755dd495ac11cabcf70 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 12 Jul 2020 23:39:26 +0530 Subject: [PATCH 0749/1360] [LTDTree] new function name --- src/LTDTree/LTDTree.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/LTDTree/LTDTree.c b/src/LTDTree/LTDTree.c index 28fa8a260a4..93b5ca58eaf 100644 --- a/src/LTDTree/LTDTree.c +++ b/src/LTDTree/LTDTree.c @@ -50,8 +50,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/arrays_input.h" #include "drivers/LTDTree/LTDTree_driver.h" -PGDLLEXPORT Datum _pgr_ltdtree(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_ltdtree); +PGDLLEXPORT Datum _pgr_lengauer_tarjan_dominator_tree (PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_lengauer_tarjan_dominator_tree ); static @@ -104,7 +104,7 @@ process(char* edges_sql, } PGDLLEXPORT Datum -_pgr_ltdtree(PG_FUNCTION_ARGS) { +_pgr_lengauer_tarjan_dominator_tree(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; From 193b0afde1f2d501b48cc604e90f6b58300e9637 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 12 Jul 2020 23:40:29 +0530 Subject: [PATCH 0750/1360] [LTDTree] tests according to new function name --- pgtap/LTDTree/LTDTree-innerQuery.sql | 6 ++--- pgtap/LTDTree/ltdtree-edge-cases.sql | 34 ++++++++++++------------- pgtap/LTDTree/no_crash_test-LTDTree.sql | 2 +- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/pgtap/LTDTree/LTDTree-innerQuery.sql b/pgtap/LTDTree/LTDTree-innerQuery.sql index ab702a8bc02..b0e8d8191c8 100644 --- a/pgtap/LTDTree/LTDTree-innerQuery.sql +++ b/pgtap/LTDTree/LTDTree-innerQuery.sql @@ -3,15 +3,15 @@ SELECT plan(56); -SELECT has_function('pgr_ltdtree', +SELECT has_function('pgr_lengauer_tarjan_dominator_tree', ARRAY['text', 'bigint']); -SELECT function_returns('pgr_ltdtree', +SELECT function_returns('pgr_lengauer_tarjan_dominator_tree', ARRAY['text', 'bigint'], 'setof record'); -- ONE TO ONE -SELECT style_dijkstra('pgr_ltdtree', ',1)'); +SELECT style_dijkstra('pgr_lengauer_tarjan_dominator_tree', ',1)'); SELECT finish(); ROLLBACK; diff --git a/pgtap/LTDTree/ltdtree-edge-cases.sql b/pgtap/LTDTree/ltdtree-edge-cases.sql index c731f055700..5248655475f 100644 --- a/pgtap/LTDTree/ltdtree-edge-cases.sql +++ b/pgtap/LTDTree/ltdtree-edge-cases.sql @@ -10,56 +10,56 @@ WHERE id > 18; SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); -PREPARE ltdtree_test1 AS +PREPARE lengauer_tarjan_dominator_tree_test1 AS SELECT * -FROM pgr_ltdtree( +FROM pgr_lengauer_tarjan_dominator_tree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 0',1 ); -PREPARE ltdtree_test2 AS +PREPARE lengauer_tarjan_dominator_tree_test2 AS SELECT * -FROM pgr_ltdtree( +FROM pgr_lengauer_tarjan_dominator_tree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 0',1 ); -PREPARE ltdtree_test3 AS +PREPARE lengauer_tarjan_dominator_tree_test3 AS SELECT * -FROM pgr_ltdtree( +FROM pgr_lengauer_tarjan_dominator_tree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18',1 ); -SELECT is_empty('ltdtree_test1', 'ltdtree_test1: Graph with 0 edge and 0 vertex'); -SELECT is_empty('ltdtree_test2', 'ltdtree_test2: Graph with 0 edge and 0 vertex'); -SELECT is_empty('ltdtree_test3', 'ltdtree_test3: Graph with 0 edge and 0 vertex'); +SELECT is_empty('lengauer_tarjan_dominator_tree_test1', 'lengauer_tarjan_dominator_tree_test1: Graph with 0 edge and 0 vertex'); +SELECT is_empty('lengauer_tarjan_dominator_tree_test2', 'lengauer_tarjan_dominator_tree_test2: Graph with 0 edge and 0 vertex'); +SELECT is_empty('lengauer_tarjan_dominator_tree_test3', 'lengauer_tarjan_dominator_tree_test3: Graph with 0 edge and 0 vertex'); --root not present tests -PREPARE ltdtree_test4 AS +PREPARE lengauer_tarjan_dominator_tree_test4 AS SELECT * -FROM pgr_ltdtree( +FROM pgr_lengauer_tarjan_dominator_tree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 2',1 ); -PREPARE ltdtree_test5 AS +PREPARE lengauer_tarjan_dominator_tree_test5 AS SELECT * -FROM pgr_ltdtree( +FROM pgr_lengauer_tarjan_dominator_tree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 2',1 ); -SELECT is_empty('ltdtree_test4', 'ltdtree_test4: Root not present in the Graph'); -SELECT is_empty('ltdtree_test5', 'ltdtree_test5: Root not present in the Graph'); +SELECT is_empty('lengauer_tarjan_dominator_tree_test4', 'lengauer_tarjan_dominator_tree_test4: Root not present in the Graph'); +SELECT is_empty('lengauer_tarjan_dominator_tree_test5', 'lengauer_tarjan_dominator_tree_test5: Root not present in the Graph'); --vertex not present in the graph tests @@ -70,7 +70,7 @@ SELECT is_empty('ltdtree_test5', 'ltdtree_test5: Root not present in the Graph') --id constrained tests PREPARE q2 AS SELECT * -FROM pgr_ltdtree( +FROM pgr_lengauer_tarjan_dominator_tree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 0',1 @@ -80,7 +80,7 @@ SELECT isnt_empty('q2', 'q1: Graph with 0 edge and 0 vertex'); -- Negative root tests PREPARE q3 AS SELECT * -FROM pgr_ltdtree( +FROM pgr_lengauer_tarjan_dominator_tree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table',-1 ); diff --git a/pgtap/LTDTree/no_crash_test-LTDTree.sql b/pgtap/LTDTree/no_crash_test-LTDTree.sql index ba720b6c639..3ba7a23d7f7 100644 --- a/pgtap/LTDTree/no_crash_test-LTDTree.sql +++ b/pgtap/LTDTree/no_crash_test-LTDTree.sql @@ -30,7 +30,7 @@ params = ARRAY[ '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_ltdtree', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_lengauer_tarjan_dominator_tree', params, subs); END $BODY$ LANGUAGE plpgsql VOLATILE; From 465edd077569a3595ef319a4e74bd7661c213c21 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 12 Jul 2020 23:54:18 +0530 Subject: [PATCH 0751/1360] [MRT] pgTap test with 0 tests --- pgtap/spanningTree/mrt/mrt-edge-cases.sql | 11 +++++++++++ pgtap/spanningTree/mrt/mrt-innerQuery.sql | 12 ++++++++++++ pgtap/spanningTree/mrt/no_crash_test-mrt.sql | 12 ++++++++++++ pgtap/spanningTree/mrt/pgr_mrt_types_check.sql | 12 ++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 pgtap/spanningTree/mrt/mrt-edge-cases.sql create mode 100644 pgtap/spanningTree/mrt/mrt-innerQuery.sql create mode 100644 pgtap/spanningTree/mrt/no_crash_test-mrt.sql create mode 100644 pgtap/spanningTree/mrt/pgr_mrt_types_check.sql diff --git a/pgtap/spanningTree/mrt/mrt-edge-cases.sql b/pgtap/spanningTree/mrt/mrt-edge-cases.sql new file mode 100644 index 00000000000..f23ac020304 --- /dev/null +++ b/pgtap/spanningTree/mrt/mrt-edge-cases.sql @@ -0,0 +1,11 @@ +\i setup.sql +SELECT plan(1); + +SELECT todo_start('Complete the inner query tests'); + +SELECT pass('Sample Test'); + +SELECT todo_end(); + +SELECT finish(); +ROLLBACK; diff --git a/pgtap/spanningTree/mrt/mrt-innerQuery.sql b/pgtap/spanningTree/mrt/mrt-innerQuery.sql new file mode 100644 index 00000000000..6a949ccfcb7 --- /dev/null +++ b/pgtap/spanningTree/mrt/mrt-innerQuery.sql @@ -0,0 +1,12 @@ +\i setup.sql + +SELECT plan(1); + +SELECT todo_start('Complete the inner query tests'); + +SELECT pass('Sample Test'); + +SELECT todo_end(); + +SELECT finish(); +ROLLBACK; diff --git a/pgtap/spanningTree/mrt/no_crash_test-mrt.sql b/pgtap/spanningTree/mrt/no_crash_test-mrt.sql new file mode 100644 index 00000000000..6a949ccfcb7 --- /dev/null +++ b/pgtap/spanningTree/mrt/no_crash_test-mrt.sql @@ -0,0 +1,12 @@ +\i setup.sql + +SELECT plan(1); + +SELECT todo_start('Complete the inner query tests'); + +SELECT pass('Sample Test'); + +SELECT todo_end(); + +SELECT finish(); +ROLLBACK; diff --git a/pgtap/spanningTree/mrt/pgr_mrt_types_check.sql b/pgtap/spanningTree/mrt/pgr_mrt_types_check.sql new file mode 100644 index 00000000000..6a949ccfcb7 --- /dev/null +++ b/pgtap/spanningTree/mrt/pgr_mrt_types_check.sql @@ -0,0 +1,12 @@ +\i setup.sql + +SELECT plan(1); + +SELECT todo_start('Complete the inner query tests'); + +SELECT pass('Sample Test'); + +SELECT todo_end(); + +SELECT finish(); +ROLLBACK; From dca0a965604aa37fdf7bc892ade3bb4516aeddaa Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 12 Jul 2020 23:55:19 +0530 Subject: [PATCH 0752/1360] [MRT][C/C++] boost function for undirected --- include/spanningTree/pgr_mrt_driver.hpp | 36 ++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/include/spanningTree/pgr_mrt_driver.hpp b/include/spanningTree/pgr_mrt_driver.hpp index 5992d0e96a8..0a0acbcf169 100644 --- a/include/spanningTree/pgr_mrt_driver.hpp +++ b/include/spanningTree/pgr_mrt_driver.hpp @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "c_types/pgr_mrt_rt.h" +#include using namespace boost; using namespace std; @@ -50,13 +51,44 @@ namespace pgrouting { class Pgr_mrt : public pgrouting::Pgr_messages { public: std::vector results; + typedef typename Graph::E E; + typedef typename Graph::E_i E_i; std::vector pgr_mrt( Graph &graph_1, - Graph &graph_2 + Graph &graph_2, + bool directed ){ log<<"Inside main boost driver"< inL(graph_1.num_edges(), false); + + std::vector< std::vector > coll; + boost::tree_collector< + std::vector< std::vector >, + std::vector + > tree_collector(coll); + boost::two_graphs_common_spanning_trees + ( + graph_1, + graph_2, + tree_collector, + inL + ); + } return results; } @@ -64,6 +96,4 @@ namespace pgrouting { } } - - #endif // INCLUDE_PGR_MRT_DRIVER_HPP From eabd0264a805d35576c67c08c1c771eb1bcfae58 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 13 Jul 2020 19:23:51 +0530 Subject: [PATCH 0753/1360] [LTDTree] fixing docqueries --- docqueries/LTDTree/doc-LTDTree.result | 42 ++++++++++++------------- docqueries/LTDTree/doc-LTDTree.test.sql | 3 +- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/docqueries/LTDTree/doc-LTDTree.result b/docqueries/LTDTree/doc-LTDTree.result index 6660a5f3641..d15b3644a6c 100644 --- a/docqueries/LTDTree/doc-LTDTree.result +++ b/docqueries/LTDTree/doc-LTDTree.result @@ -3,30 +3,30 @@ BEGIN SET client_min_messages TO NOTICE; SET --q1 - SELECT * FROM pgr_LTDTree( +SELECT * FROM pgr_LTDTree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table', 1 ); -seq | vid | idom ------+-----+------ - 1 | 1 | 0 - 2 | 2 | 1 - 3 | 3 | 4 - 4 | 4 | 9 - 5 | 5 | 2 - 6 | 6 | 5 - 7 | 7 | 8 - 8 | 8 | 5 - 9 | 9 | 5 - 10 | 10 | 5 - 11 | 11 | 5 - 12 | 12 | 5 - 13 | 13 | 10 - 14 | 14 | 0 - 15 | 15 | 0 - 16 | 16 | 0 - 17 | 17 | 0 -(17 rows) + seq | vid | idom + -----+-----+------ + 1 | 1 | 0 + 2 | 2 | 1 + 3 | 3 | 4 + 4 | 4 | 9 + 5 | 5 | 2 + 6 | 6 | 5 + 7 | 7 | 8 + 8 | 8 | 5 + 9 | 9 | 5 + 10 | 10 | 5 + 11 | 11 | 5 + 12 | 12 | 5 + 13 | 13 | 10 + 14 | 14 | 0 + 15 | 15 | 0 + 16 | 16 | 0 + 17 | 17 | 0 + (17 rows) --q2 diff --git a/docqueries/LTDTree/doc-LTDTree.test.sql b/docqueries/LTDTree/doc-LTDTree.test.sql index 3a90c005a5d..0233a9ad8de 100644 --- a/docqueries/LTDTree/doc-LTDTree.test.sql +++ b/docqueries/LTDTree/doc-LTDTree.test.sql @@ -1,7 +1,6 @@ \echo --q1 - SELECT * FROM pgr_LTDTree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table', 1 ); -\echo --q2 +\echo --q2 \ No newline at end of file From eff1eca6d08bf926fc18cbeb4b44b025d8276eab Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 14 Jul 2020 00:21:58 +0530 Subject: [PATCH 0754/1360] [LTDTree][doc] user documentation --- doc/LTDTree/CMakeLists.txt | 9 ++- doc/LTDTree/pgr_LTDTree.rst | 107 ------------------------------------ 2 files changed, 4 insertions(+), 112 deletions(-) delete mode 100644 doc/LTDTree/pgr_LTDTree.rst diff --git a/doc/LTDTree/CMakeLists.txt b/doc/LTDTree/CMakeLists.txt index 95306a32c5c..e7bfbee5078 100644 --- a/doc/LTDTree/CMakeLists.txt +++ b/doc/LTDTree/CMakeLists.txt @@ -1,12 +1,11 @@ - +# Do not use extensions SET(LOCAL_FILES - pgr_LTDTree.rst + doc-LTDTree ) foreach (f ${LOCAL_FILES}) - configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") - list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) + configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") + list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) - diff --git a/doc/LTDTree/pgr_LTDTree.rst b/doc/LTDTree/pgr_LTDTree.rst deleted file mode 100644 index 284acc73019..00000000000 --- a/doc/LTDTree/pgr_LTDTree.rst +++ /dev/null @@ -1,107 +0,0 @@ -.. - **************************************************************************** - pgRouting Manual - Copyright(c) pgRouting Contributors - - This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ - **************************************************************************** - -.. _pgr_LTDTree: - -pgr_LTDTree -=============================================================================== - -``pgr_LTDTree`` — Returns the immediate dominator of all vertices. -In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost.Graph. - -.. figure:: images/boost-inside.jpeg - :target: https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm - Boost Graph Inside -.. rubric:: Availability - - -Description -------------------------------------------------------------------------------- -Lengauer Tarjan Dominator Tree algorithm is used to make dominator tree of any graph. It calculates the immidiate dominator of each vertex called idom, once idom of each vertex is calculated then by making every idom of each vertex as its parent, the dominator tree can be built. - -Signatures -------------------------------------------------------------------------------- - -.. rubric:: Summary - -.. code-block:: sql - - pgr_LTDTree(edges_sql,root ) - RETURNS SET OF (id,vid,idom) - -.. rubric:: Using defaults - -.. code-block:: sql - -:Example: **TBD** - -.. index:: - single: LTDTree - -Complete Signature -............................................................................... - -.. code-block:: sql - -:Example: **TBD** - -Parameters -------------------------------------------------------------------------------- - -============== ============ ================================================= -Column Type Description -============== ============ ================================================= -**edges_sql** ``TEXT`` SQL query as described above. -**root_vid** ``BIGINT`` Identifier of the starting vertex. -============== ============ ================================================= - - -Inner query -------------------------------------------------------------------------------- - -.. include:: pgRouting-concepts.rst - :start-after: basic_edges_sql_start - :end-before: basic_edges_sql_end - -Result Columns -------------------------------------------------------------------------------- - -Returns set of ``(seq, vid,idom)`` - -============== =========== ================================================= -Column Type Description -============== =========== ================================================= -**seq** ``INTEGER`` Sequential value starting from **1**. -**vid** ``BIGINT`` Identifier of vertex . -**idom** ``BIGINT`` Immediate dominator of vertex. -============== =========== ================================================= - -Additional Examples ------------------------------------------------------------------------------------------- - -:Example: To handle the one flag to choose signatures - -The examples in this section use the following :ref:`fig1` - -.. literalinclude:: doc-LTDTree.queries - :start-after: --q1 - :end-before: --q2 - -See Also -------------------------------------------------------------------------------- - -* https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm -* https://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/a%20fast%20algorithm%20for%20finding.pdf -* https://www.boost.org/doc/libs/1_64_0/libs/graph/doc/two_graphs_common_spanning_trees.html -* :doc:`sampledata` network. - -.. rubric:: Indices and tables - -* :ref:`genindex` -* :ref:`search` From 45f92c487d0503c95185657642598bfbdfcf56c9 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 14 Jul 2020 00:22:43 +0530 Subject: [PATCH 0755/1360] [LTDTree] fixed docquries error --- docqueries/LTDTree/doc-LTDTree.result | 30 +------------------------ docqueries/LTDTree/doc-LTDTree.test.sql | 6 ----- 2 files changed, 1 insertion(+), 35 deletions(-) diff --git a/docqueries/LTDTree/doc-LTDTree.result b/docqueries/LTDTree/doc-LTDTree.result index d15b3644a6c..cddd2cd5164 100644 --- a/docqueries/LTDTree/doc-LTDTree.result +++ b/docqueries/LTDTree/doc-LTDTree.result @@ -2,33 +2,5 @@ BEGIN; BEGIN SET client_min_messages TO NOTICE; SET ---q1 -SELECT * FROM pgr_LTDTree( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', - 1 - ); - seq | vid | idom - -----+-----+------ - 1 | 1 | 0 - 2 | 2 | 1 - 3 | 3 | 4 - 4 | 4 | 9 - 5 | 5 | 2 - 6 | 6 | 5 - 7 | 7 | 8 - 8 | 8 | 5 - 9 | 9 | 5 - 10 | 10 | 5 - 11 | 11 | 5 - 12 | 12 | 5 - 13 | 13 | 10 - 14 | 14 | 0 - 15 | 15 | 0 - 16 | 16 | 0 - 17 | 17 | 0 - (17 rows) - ---q2 - ROLLBACK; -ROLLBACK \ No newline at end of file +ROLLBACK diff --git a/docqueries/LTDTree/doc-LTDTree.test.sql b/docqueries/LTDTree/doc-LTDTree.test.sql index 0233a9ad8de..e69de29bb2d 100644 --- a/docqueries/LTDTree/doc-LTDTree.test.sql +++ b/docqueries/LTDTree/doc-LTDTree.test.sql @@ -1,6 +0,0 @@ -\echo --q1 - SELECT * FROM pgr_LTDTree( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', - 1 - ); -\echo --q2 \ No newline at end of file From 8cfff407963f48dd2c345dceab37dbd5adb54f7c Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 19 Jul 2020 22:05:32 +0530 Subject: [PATCH 0756/1360] [LTDTree][doc] complete user documentation --- doc/LTDTree/CMakeLists.txt | 9 +-- doc/LTDTree/pgr_LTDTree.rst | 116 ++++++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+), 4 deletions(-) create mode 100644 doc/LTDTree/pgr_LTDTree.rst diff --git a/doc/LTDTree/CMakeLists.txt b/doc/LTDTree/CMakeLists.txt index e7bfbee5078..95306a32c5c 100644 --- a/doc/LTDTree/CMakeLists.txt +++ b/doc/LTDTree/CMakeLists.txt @@ -1,11 +1,12 @@ -# Do not use extensions + SET(LOCAL_FILES - doc-LTDTree + pgr_LTDTree.rst ) foreach (f ${LOCAL_FILES}) - configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") - list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") + list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) + diff --git a/doc/LTDTree/pgr_LTDTree.rst b/doc/LTDTree/pgr_LTDTree.rst new file mode 100644 index 00000000000..5c0d740fbc4 --- /dev/null +++ b/doc/LTDTree/pgr_LTDTree.rst @@ -0,0 +1,116 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** +.. index:: + single: pgr_lengauer_tarjan_dominator_tree -Experimental (Complete Doc) +.. _pgr_lengauer_tarjan_dominator_tree: + +pgr_lengauer_tarjan_dominator_tree -Experimental +=============================================================================== + +``pgr_lengauer_tarjan_dominator_tree`` — Returns the immediate dominator of all vertices. +In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost.Graph. + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm + + Boost Graph Inside + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. rubric:: Availability + + +Description +------------------------------------------------------------------------------- +Lengauer Tarjan Dominator Tree algorithm is used to make dominator tree of any graph. It calculates the immidiate dominator of each vertex called idom, once idom of each vertex is calculated then by making every idom of each vertex as its parent, the dominator tree can be built. + +Signatures +------------------------------------------------------------------------------- + +.. rubric:: Summary + +.. code-block:: sql + + pgr_lengauer_tarjan_dominator_tree(edges_sql,root) + RETURNS SET OF (id,vid,idom) + + +:Example: **TBD** + +.. index:: + single: LTDTree + +Complete Signature +............................................................................... + +.. code-block:: sql + + +:Example: The lengauer_tarjan_dominator_tree with root vertex :math:`2` + +.. literalinclude:: doc-LTDTree.queries + :start-after: -- q1 + :end-before: -- q2 + +Parameters +------------------------------------------------------------------------------- + +============== ============ ================================================= +Column Type Description +============== ============ ================================================= +**edges_sql** ``TEXT`` SQL query as described above. +**root_vid** ``BIGINT`` Identifier of the starting vertex. +============== ============ ================================================= + + +Inner query +------------------------------------------------------------------------------- + +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end + +Result Columns +------------------------------------------------------------------------------- + +Returns set of ``(seq, vid,idom)`` + +============== =========== ================================================= +Column Type Description +============== =========== ================================================= +**seq** ``INTEGER`` Sequential value starting from **1**. +**vid** ``BIGINT`` Identifier of vertex . +**idom** ``BIGINT`` Immediate dominator of vertex. +============== =========== ================================================= + +Additional Examples +------------------------------------------------------------------------------------------ + +:Example: To handle the one flag to choose signatures + +The examples in this section use the following :ref:`fig1` + +.. literalinclude:: doc-LTDTree.queries + :start-after: --q1 + :end-before: --q2 + +See Also +------------------------------------------------------------------------------- + +* https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm +* https://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/a%20fast%20algorithm%20for%20finding.pdf +* https://www.boost.org/doc/libs/1_64_0/libs/graph/doc/two_graphs_common_spanning_trees.html +* :doc:`sampledata` network. + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` From 28a070b59d42bca6a38dc042cadf91312fb91cc5 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 19 Jul 2020 22:06:12 +0530 Subject: [PATCH 0757/1360] [LTDTree] fixed doc errors --- docqueries/LTDTree/doc-LTDTree.result | 24 ++++++++++++++++++++++++ docqueries/LTDTree/doc-LTDTree.test.sql | 3 +++ docqueries/LTDTree/test.conf | 2 +- 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/docqueries/LTDTree/doc-LTDTree.result b/docqueries/LTDTree/doc-LTDTree.result index cddd2cd5164..9976d29d855 100644 --- a/docqueries/LTDTree/doc-LTDTree.result +++ b/docqueries/LTDTree/doc-LTDTree.result @@ -2,5 +2,29 @@ BEGIN; BEGIN SET client_min_messages TO NOTICE; SET +-- q1 +select * from pgr_lengauer_tarjan_dominator_tree($$select * from edge_table$$,1); + seq | vid | idom +-----+-----+------ + 1 | 1 | 0 + 2 | 2 | 1 + 3 | 3 | 4 + 4 | 4 | 9 + 5 | 5 | 2 + 6 | 6 | 5 + 7 | 7 | 8 + 8 | 8 | 5 + 9 | 9 | 5 + 10 | 10 | 5 + 11 | 11 | 5 + 12 | 12 | 5 + 13 | 13 | 10 + 14 | 14 | 0 + 15 | 15 | 0 + 16 | 16 | 0 + 17 | 17 | 0 +(17 rows) + +-- q2 ROLLBACK; ROLLBACK diff --git a/docqueries/LTDTree/doc-LTDTree.test.sql b/docqueries/LTDTree/doc-LTDTree.test.sql index e69de29bb2d..fcab74f3a13 100644 --- a/docqueries/LTDTree/doc-LTDTree.test.sql +++ b/docqueries/LTDTree/doc-LTDTree.test.sql @@ -0,0 +1,3 @@ +\echo -- q1 + select * from pgr_lengauer_tarjan_dominator_tree($$select * from edge_table$$,1); +\echo -- q2 diff --git a/docqueries/LTDTree/test.conf b/docqueries/LTDTree/test.conf index 1bd9d347796..06914f86ba5 100644 --- a/docqueries/LTDTree/test.conf +++ b/docqueries/LTDTree/test.conf @@ -2,7 +2,7 @@ %main::tests = ( 'any' => { - 'comment' => 'LTDTree algorithm tests.', + 'comment' => 'lengauer_tarjan_dominator_tree algorithm tests', 'data' => [ ], 'tests' => [qw( doc-LTDTree From 8c22cfff9b3f5d46b2e80c81973c6bc432d3c4e4 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 19 Jul 2020 22:07:01 +0530 Subject: [PATCH 0758/1360] [LTDTree] fixed typo --- include/c_types/pgr_ltdtree_rt.h | 10 +++++----- include/drivers/LTDTree/LTDTree_driver.h | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/c_types/pgr_ltdtree_rt.h b/include/c_types/pgr_ltdtree_rt.h index ab7b39f35e2..dd64920cdbb 100644 --- a/include/c_types/pgr_ltdtree_rt.h +++ b/include/c_types/pgr_ltdtree_rt.h @@ -1,8 +1,8 @@ /*PGR-GNU***************************************************************** -File: pgr_kruskal_t.h +File: pgr_ltdtree_rt.h -Copyright (c) 2015 Aditya Pratap Singh -Mail: adityapratap.singh28@gmail.com +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com ------ This program is free software; you can redistribute it and/or modify @@ -22,8 +22,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ /*! @file */ -#ifndef INCLUDE_C_TYPES_PGR_MST_RT_H_ -#define INCLUDE_C_TYPES_PGR_MST_RT_H_ +#ifndef INCLUDE_C_TYPES_PGR_LTDTREE_RT_H_ +#define INCLUDE_C_TYPES_PGR_LTDTREE_RT_H_ #pragma once /* for int64_t */ diff --git a/include/drivers/LTDTree/LTDTree_driver.h b/include/drivers/LTDTree/LTDTree_driver.h index cc57e356643..a2a384b643d 100644 --- a/include/drivers/LTDTree/LTDTree_driver.h +++ b/include/drivers/LTDTree/LTDTree_driver.h @@ -27,8 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_DRIVERS_LTDTREE_LTDTREE_DRIVER_H_ -#define INCLUDE_DRIVERS_LTDTREE_LTDTREE_DRIVER_H_ +#ifndef INCLUDE_DRIVERS_LTDTREE_DRIVER_H_ +#define INCLUDE_DRIVERS_LTDTREE_DRIVER_H_ /* for size-t */ From aa789c93f1aea7a0aff089be9bbe0021dfe5bf23 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 19 Jul 2020 23:02:47 +0530 Subject: [PATCH 0759/1360] [MRT] changed signature --- sql/sigs/pgrouting--3.0.0.sig | 8 ++++---- sql/spanningTree/_mrt.sql | 6 +++--- sql/spanningTree/mrt.sql | 8 ++++---- src/spanningTree/mrt.c | 6 +++--- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 5669b645014..a656a134dc3 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -141,13 +141,13 @@ pgr_kruskal(text) _pgr_kruskal(text,anyarray,text,bigint,double precision) _pgr_ksp(text,bigint,bigint,integer,boolean,boolean) pgr_ksp(text,bigint,bigint,integer,boolean,boolean) +_pgr_lengauer_tarjan_dominator_tree(text,bigint) +pgr_lengauer_tarjan_dominator_tree(text,bigint) _pgr_lib_version() _pgr_linegraphfull(text) pgr_linegraphfull(text) _pgr_linegraph(text,boolean) pgr_linegraph(text,boolean) -_pgr_ltdtree(text,bigint) -pgr_ltdtree(text,bigint) _pgr_maxcardinalitymatch(text,boolean) pgr_maxcardinalitymatch(text,boolean) pgr_maxflowmincost_cost(text,anyarray,anyarray) @@ -164,8 +164,6 @@ _pgr_maxflow(text,anyarray,anyarray,integer,boolean) pgr_maxflow(text,anyarray,bigint) pgr_maxflow(text,bigint,anyarray) pgr_maxflow(text,bigint,bigint) -_pgr_mrt(text,text,boolean) -pgr_mrt(text,text,boolean) _pgr_msg(integer,text,text) pgr_nodenetwork(text,double precision,text,text,text,text,boolean) _pgr_onerror(boolean,integer,text,text,text,text) @@ -217,6 +215,8 @@ _pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double prec pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) _pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) +_pgr_two_graphs_common_spanning_trees(text,text,boolean) +pgr_two_graphs_common_spanning_trees(text,text,boolean) pgr_version() _pgr_versionless(text,text) _pgr_vrponedepot(text,text,text,integer) diff --git a/sql/spanningTree/_mrt.sql b/sql/spanningTree/_mrt.sql index f23545d8ff1..997b2d6c5bf 100644 --- a/sql/spanningTree/_mrt.sql +++ b/sql/spanningTree/_mrt.sql @@ -27,10 +27,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ --------------- --- _pgr_mrt +-- _pgr_two_graphs_common_spanning_trees --------------- -CREATE OR REPLACE FUNCTION _pgr_mrt( +CREATE OR REPLACE FUNCTION _pgr_two_graphs_common_spanning_trees( edges_sql1 TEXT, -- edges_sql1 (required) edges_sql2 TEXT, -- edges_sql2 (required) directed BOOLEAN DEFAULT true, @@ -46,6 +46,6 @@ LANGUAGE c VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_mrt(TEXT,TEXT,BOOLEAN) +COMMENT ON FUNCTION _pgr_two_graphs_common_spanning_trees(TEXT,TEXT,BOOLEAN) IS 'pgRouting internal function'; diff --git a/sql/spanningTree/mrt.sql b/sql/spanningTree/mrt.sql index a98eec10007..a074f0aabb1 100644 --- a/sql/spanningTree/mrt.sql +++ b/sql/spanningTree/mrt.sql @@ -27,9 +27,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ --------------- --- pgr_mrt +-- pgr_two_graphs_common_spanning_trees --------------- -CREATE OR REPLACE FUNCTION pgr_mrt( +CREATE OR REPLACE FUNCTION pgr_two_graphs_common_spanning_trees( edges_sql1 TEXT, -- edges_sql1 (required) edges_sql2 TEXT, -- edges_sql2 (required) directed BOOLEAN DEFAULT true, @@ -43,7 +43,7 @@ BEGIN RETURN QUERY SELECT * - FROM _pgr_mrt(_pgr_get_statement($1),_pgr_get_statement($2),$3); + FROM _pgr_two_graphs_common_spanning_trees(_pgr_get_statement($1),_pgr_get_statement($2),$3); END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; @@ -52,7 +52,7 @@ LANGUAGE plpgsql VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION pgr_mrt(TEXT,TEXT,BOOLEAN) +COMMENT ON FUNCTION pgr_two_graphs_common_spanning_trees(TEXT,TEXT,BOOLEAN) IS 'pgr_mrt - EXPERIMENTAL - Directed graph diff --git a/src/spanningTree/mrt.c b/src/spanningTree/mrt.c index e38202c25f8..197e3b76c5e 100644 --- a/src/spanningTree/mrt.c +++ b/src/spanningTree/mrt.c @@ -51,8 +51,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "drivers/spanningTree/mrt_driver.h" #include "c_types/pgr_mrt_rt.h" -PGDLLEXPORT Datum _pgr_mrt(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_mrt); +PGDLLEXPORT Datum _pgr_two_graphs_common_spanning_trees(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_two_graphs_common_spanning_trees); static @@ -114,7 +114,7 @@ process(char* edges_sql_1, } PGDLLEXPORT Datum -_pgr_mrt(PG_FUNCTION_ARGS) { +_pgr_two_graphs_common_spanning_trees(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; From 2cdb536b62c513a7e977ab3c82880d69e4b139ab Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 19 Jul 2020 23:03:15 +0530 Subject: [PATCH 0760/1360] [MRT] fixing boost error --- include/spanningTree/pgr_mrt_driver.hpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/include/spanningTree/pgr_mrt_driver.hpp b/include/spanningTree/pgr_mrt_driver.hpp index 0a0acbcf169..792178cb4aa 100644 --- a/include/spanningTree/pgr_mrt_driver.hpp +++ b/include/spanningTree/pgr_mrt_driver.hpp @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: pgr_LTDTree.hpp +File: pgr_mrt_driver.hpp Generated with Template by: Copyright (c) 2015 pgRouting developers @@ -41,11 +41,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pgr_mrt_rt.h" #include +#include + using namespace boost; using namespace std; namespace pgrouting { namespace functions { + template class Pgr_mrt : public pgrouting::Pgr_messages { @@ -53,6 +56,7 @@ namespace pgrouting { std::vector results; typedef typename Graph::E E; typedef typename Graph::E_i E_i; + typedef typename Graph::V V; std::vector pgr_mrt( Graph &graph_1, @@ -69,12 +73,14 @@ namespace pgrouting { log<<"In directed graph total edges G1 "< inL(graph_1.num_edges(), false); + std::vector inL; std::vector< std::vector > coll; boost::tree_collector< @@ -83,11 +89,13 @@ namespace pgrouting { > tree_collector(coll); boost::two_graphs_common_spanning_trees ( - graph_1, - graph_2, + graph_1.graph, + graph_2.graph, tree_collector, inL ); + */ + } return results; @@ -96,4 +104,4 @@ namespace pgrouting { } } -#endif // INCLUDE_PGR_MRT_DRIVER_HPP +#endif // INCLUDE_PGR_MRT_DRIVER_HPP \ No newline at end of file From a4c23d1117390e8711a6cb0b48d79092fe4cb04f Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 19 Jul 2020 23:04:06 +0530 Subject: [PATCH 0761/1360] [MRT][doc] user doc --- .../pgr_two_graphs_common_spanning_trees.rst | 113 ++++++++++++++++++ docqueries/spanningTree/CMakeLists.txt | 1 + 2 files changed, 114 insertions(+) create mode 100644 doc/spanningTree/pgr_two_graphs_common_spanning_trees.rst diff --git a/doc/spanningTree/pgr_two_graphs_common_spanning_trees.rst b/doc/spanningTree/pgr_two_graphs_common_spanning_trees.rst new file mode 100644 index 00000000000..e26a910c400 --- /dev/null +++ b/doc/spanningTree/pgr_two_graphs_common_spanning_trees.rst @@ -0,0 +1,113 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** +.. index:: + single: pgr_two_graphs_common_spanning_trees -Experimental (Complete Doc) +.. _pgr_two_graphs_common_spanning_trees: + +pgr_two_graphs_common_spanning_trees -Experimental +=============================================================================== + +``pgr_two_graphs_common_spanning_trees`` — Set of edges of all common spanning trees. +In particular, the two_graphs_common_spanning_trees algorithm implemented by Boost.Graph. + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/doc/libs/1_54_0/libs/graph/doc/two_graphs_common_spanning_trees.html + + Boost Graph Inside + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. rubric:: Availability + + +Description +------------------------------------------------------------------------------- +A spanning tree is a subset of Graph G, which has all the vertices covered with the minimum possible number of edges. Hence, a spanning tree does not have cycles and it cannot be disconnected. +Now, imagine there are two graphs that are represented as lists of edges. A common spanning tree is a set of indices that identifies a spanning tree for both the first and for the second of the two graphs. Both graphs can have multiple common spanning trees. + +Signatures +------------------------------------------------------------------------------- + +.. rubric:: Summary + +.. code-block:: sql + + pgr_two_graphs_common_spanning_trees(edges_sql_1,edges_sql_2,directed) + RETURNS SET OF (seq,tree_edges[]) + + +:Example: **TBD** + +.. index:: + single: two_graphs_common_spanning_trees + +Complete Signature +............................................................................... + +.. code-block:: sql + + +:Example: + +Parameters +------------------------------------------------------------------------------- + +============== ============ ================================================= +Column Type Description +============== ============ ================================================= +**edges_sql** ``TEXT`` SQL query as described above. +**root_vid** ``BIGINT`` Identifier of the starting vertex. +============== ============ ================================================= + + +Inner query +------------------------------------------------------------------------------- + +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end + +Result Columns +------------------------------------------------------------------------------- + +Returns set of ``(seq, vid,idom)`` + +============== =========== ================================================= +Column Type Description +============== =========== ================================================= +**seq** ``INTEGER`` Sequential value starting from **1**. +**vid** ``BIGINT`` Identifier of vertex . +**idom** ``BIGINT`` Immediate dominator of vertex. +============== =========== ================================================= + +Additional Examples +------------------------------------------------------------------------------------------ + +:Example: To handle the one flag to choose signatures + +The examples in this section use the following :ref:`fig1` + +.. literalinclude:: doc-LTDTree.queries + :start-after: --q1 + :end-before: --q2 + +See Also +------------------------------------------------------------------------------- + +* https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm +* https://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/a%20fast%20algorithm%20for%20finding.pdf +* https://www.boost.org/doc/libs/1_64_0/libs/graph/doc/two_graphs_common_spanning_trees.html +* :doc:`sampledata` network. + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` diff --git a/docqueries/spanningTree/CMakeLists.txt b/docqueries/spanningTree/CMakeLists.txt index 375c5995156..c67e11141cd 100644 --- a/docqueries/spanningTree/CMakeLists.txt +++ b/docqueries/spanningTree/CMakeLists.txt @@ -9,6 +9,7 @@ SET(LOCAL_FILES doc-pgr_primDFS doc-pgr_prim doc-pgr_randomSpanTree + doc-mrt ) foreach (f ${LOCAL_FILES}) From 7e9dbab6ac3e0ada3cd9380de0937d0f7d696428 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 19 Jul 2020 23:04:35 +0530 Subject: [PATCH 0762/1360] [MRT][doc] docqueries --- docqueries/spanningTree/doc-mrt.result | 6 ++++++ docqueries/spanningTree/doc-mrt.test.sql | 0 2 files changed, 6 insertions(+) create mode 100644 docqueries/spanningTree/doc-mrt.result create mode 100644 docqueries/spanningTree/doc-mrt.test.sql diff --git a/docqueries/spanningTree/doc-mrt.result b/docqueries/spanningTree/doc-mrt.result new file mode 100644 index 00000000000..7d078c4427e --- /dev/null +++ b/docqueries/spanningTree/doc-mrt.result @@ -0,0 +1,6 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +ROLLBACK; +ROLLBACK \ No newline at end of file diff --git a/docqueries/spanningTree/doc-mrt.test.sql b/docqueries/spanningTree/doc-mrt.test.sql new file mode 100644 index 00000000000..e69de29bb2d From 2f1ee5f103585a3c925261ad85fa684bcce68f80 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 21 Jul 2020 14:33:06 +0530 Subject: [PATCH 0763/1360] [MRT] TODO of this week --- include/spanningTree/pgr_mrt_driver.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/spanningTree/pgr_mrt_driver.hpp b/include/spanningTree/pgr_mrt_driver.hpp index 792178cb4aa..4d5bba5294e 100644 --- a/include/spanningTree/pgr_mrt_driver.hpp +++ b/include/spanningTree/pgr_mrt_driver.hpp @@ -48,6 +48,10 @@ using namespace std; namespace pgrouting { namespace functions { + /**TODO*** + 1. Return proper results + 2. SOlve all the errors + *******/ template @@ -104,4 +108,4 @@ namespace pgrouting { } } -#endif // INCLUDE_PGR_MRT_DRIVER_HPP \ No newline at end of file +#endif // INCLUDE_PGR_MRT_DRIVER_HPP From a1dbb9024e7f0839241cf07432e52f7343b3b9d7 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 22 Jul 2020 23:57:51 +0530 Subject: [PATCH 0764/1360] [bipartite] c/c++ template --- src/bipartite/CMakeLists.txt | 2 + src/bipartite/bipartite.c | 176 +++++++++++++++++++++++++++ src/bipartite/bipartite.c_driver.cpp | 137 +++++++++++++++++++++ 3 files changed, 315 insertions(+) create mode 100644 src/bipartite/CMakeLists.txt create mode 100644 src/bipartite/bipartite.c create mode 100644 src/bipartite/bipartite.c_driver.cpp diff --git a/src/bipartite/CMakeLists.txt b/src/bipartite/CMakeLists.txt new file mode 100644 index 00000000000..b5441b09b35 --- /dev/null +++ b/src/bipartite/CMakeLists.txt @@ -0,0 +1,2 @@ +ADD_LIBRARY( + ) diff --git a/src/bipartite/bipartite.c b/src/bipartite/bipartite.c new file mode 100644 index 00000000000..17d14a013d1 --- /dev/null +++ b/src/bipartite/bipartite.c @@ -0,0 +1,176 @@ +/*PGR-GNU***************************************************************** +File: bipartite.c + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + + +/******************************************************************************/ +/* MODIFY AS NEEDED */ + +#include + +#include "c_common/postgres_connection.h" +#include "utils/array.h" +#include "catalog/pg_type.h" +#include "utils/lsyscache.h" + +#ifndef INT8ARRAYOID +#define INT8ARRAYOID 1016 +#endif + +#include "c_common/debug_macro.h" +#include "c_common/e_report.h" +#include "c_common/time_msg.h" +#include "c_types/pgr_bipartite_rt.h" +#include "c_common/edges_input.h" +#include "c_common/arrays_input.h" + + +PGDLLEXPORT Datum _pgr_bipartite (PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_bipartite ); + + +static +void +process(char* edges_sql, + pgr_bipartite_rt **result_tuples, + size_t *result_count) { + //result_count is a pointer it means we do not need to return + // but it will count, initially it is 0 + pgr_SPI_connect(); + + size_t total_edges = 0; + pgr_edge_t* edges = NULL; + pgr_get_edges(edges_sql, &edges, &total_edges); + if (total_edges == 0) { + pgr_SPI_finish(); + return; + } + + PGR_DBG("Starting timer"); + clock_t start_t = clock(); + char* log_msg = NULL; + char* notice_msg = NULL; + char* err_msg = NULL; + do_pgr_bipartite( + edges, total_edges, + result_tuples, result_count, + &log_msg, + ¬ice_msg, + &err_msg); + + time_msg("processing pgr_bipartite()", start_t, clock()); + + + if (err_msg && (*result_tuples)) { + pfree(*result_tuples); + (*result_tuples) = NULL; + (*result_count) = 0; + } + + pgr_global_report(log_msg, notice_msg, err_msg); + + if (log_msg) pfree(log_msg); + if (notice_msg) pfree(notice_msg); + if (err_msg) pfree(err_msg); + if (edges) pfree(edges); + pgr_SPI_finish(); +} + +PGDLLEXPORT Datum +_pgr_bipartite(PG_FUNCTION_ARGS) { + FuncCallContext *funcctx; + TupleDesc tuple_desc; + + /**********************************************************************/ + + pgr_bipartite_rt *result_tuples =NULL; + size_t result_count = 0; + /**********************************************************************/ + + if (SRF_IS_FIRSTCALL()) { + MemoryContext oldcontext; + funcctx = SRF_FIRSTCALL_INIT(); + oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); + /**********************************************************************/ + + + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), //Converting sql to string + &result_tuples, + &result_count); + + + /**********************************************************************/ +#if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; //result_count is updated in process function call +#else + funcctx->max_calls = (uint32_t)result_count; +#endif + funcctx->user_fctx = result_tuples; // + if (get_call_result_type(fcinfo, NULL, &tuple_desc) + != TYPEFUNC_COMPOSITE) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + funcctx->tuple_desc = tuple_desc; //contains tuple description + MemoryContextSwitchTo(oldcontext); + } + + funcctx = SRF_PERCALL_SETUP(); + tuple_desc = funcctx->tuple_desc; + result_tuples = (pgr_bipartite_rt*) funcctx->user_fctx; //converting structure + + if (funcctx->call_cntr < funcctx->max_calls) { + HeapTuple tuple; //We will set all the values + Datum result; + Datum *values; + bool *nulls; + int16 typlen; + size_t call_cntr = funcctx->call_cntr; + + + size_t numb = 3; //Number of columns in outputs + values =(Datum *)palloc(numb * sizeof(Datum)); + nulls = palloc(numb * sizeof(bool)); + size_t i; + for (i = 0; i < numb; ++i) { + nulls[i] = false; + } + //Set your outputs from result_tuple + values[0] = Int32GetDatum(call_cntr + 1); + values[1] = Int64GetDatum(result_tuples[call_cntr].vid); + values[2] = Int64GetDatum(result_tuples[call_cntr].idom); + tuple = heap_form_tuple(tuple_desc, values, nulls); + result = HeapTupleGetDatum(tuple); + SRF_RETURN_NEXT(funcctx, result); + }else { + SRF_RETURN_DONE(funcctx); + } + +} diff --git a/src/bipartite/bipartite.c_driver.cpp b/src/bipartite/bipartite.c_driver.cpp new file mode 100644 index 00000000000..83fb9689991 --- /dev/null +++ b/src/bipartite/bipartite.c_driver.cpp @@ -0,0 +1,137 @@ +/*PGR-GNU***************************************************************** +File: LTDTree_driver.pp + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + + +#include "drivers/LTDTree/LTDTree_driver.h" +#include "LTDTree/pgr_LTDTree_driver.hpp" +#include "c_types/pgr_ltdtree_rt.h" +#include +#include +#include +#include +#include +#include "cpp_common/identifiers.hpp" +#include "cpp_common/pgr_alloc.hpp" +#include "cpp_common/basePath_SSEC.hpp" +#include "cpp_common/pgr_base_graph.hpp" + + +/************************************************************ + edges_sql TEXT + ***********************************************************/ +void +do_pgr_LTDTree( + pgr_edge_t *data_edges, + size_t total_edges, + int64_t root_vertex, + pgr_ltdtree_rt **return_tuples, + size_t *return_count, + char **log_msg, + char **notice_msg, + char **err_msg) { + std::ostringstream log; + std::ostringstream notice; + std::ostringstream err; + + + try { + pgassert(total_edges != 0); + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + + std::string logstr; + +/***********************Working with graph**************************/ + + log << "Working with directed Graph\n"; + graphType gType = DIRECTED; + pgrouting::DirectedGraph digraph(gType); + digraph.insert_edges(data_edges, total_edges); //Creating graph using data_edges + std::vector results; + pgrouting::functions::Pgr_LTDTree fn_LTDTree; + results=fn_LTDTree.pgr_ltdtree(digraph,root_vertex); + + logstr += fn_LTDTree.get_log(); + log << logstr; + + auto count = results.size(); + + if (count == 0) { + (*return_tuples) = NULL; + (*return_count) = 0; + notice << "No result found"; + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + return; + } + (*return_tuples) = pgr_alloc(count, (*return_tuples)); + for (size_t i = 0; i < count; i++) { + *((*return_tuples) + i) = results[i]; + } + (*return_count) = count; + + pgassert(*err_msg == NULL); + *log_msg = log.str().empty()? + *log_msg : + pgr_msg(log.str().c_str()); + *notice_msg = notice.str().empty()? + *notice_msg : + pgr_msg(notice.str().c_str()); + + } catch (AssertFailedException &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (std::exception &except) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << except.what(); + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch(...) { + (*return_tuples) = pgr_free(*return_tuples); + (*return_count) = 0; + err << "Caught unknown exception!"; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } + + +} + + From c83d262b9532e8afb60f501f734591ea39849cd3 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 22 Jul 2020 23:58:20 +0530 Subject: [PATCH 0765/1360] [bipartite] sql template --- sql/bipartite/CMakeLists.txt | 12 ++++++++++++ sql/bipartite/_bipartite.sql | 32 ++++++++++++++++++++++++++++++++ sql/bipartite/bipartite.sql | 31 +++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 sql/bipartite/CMakeLists.txt create mode 100644 sql/bipartite/_bipartite.sql create mode 100644 sql/bipartite/bipartite.sql diff --git a/sql/bipartite/CMakeLists.txt b/sql/bipartite/CMakeLists.txt new file mode 100644 index 00000000000..0815d3bd366 --- /dev/null +++ b/sql/bipartite/CMakeLists.txt @@ -0,0 +1,12 @@ + +SET(LOCAL_FILES + _bipartite.sql + bipartite.sql + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} ${f}) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) +endforeach() + +set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/bipartite/_bipartite.sql b/sql/bipartite/_bipartite.sql new file mode 100644 index 00000000000..2c861a98545 --- /dev/null +++ b/sql/bipartite/_bipartite.sql @@ -0,0 +1,32 @@ +/*PGR-GNU***************************************************************** +File: _bipartite.sql + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +--------------- +-- _pgr_bipartite +--------------- + diff --git a/sql/bipartite/bipartite.sql b/sql/bipartite/bipartite.sql new file mode 100644 index 00000000000..d729987dc70 --- /dev/null +++ b/sql/bipartite/bipartite.sql @@ -0,0 +1,31 @@ +/*PGR-GNU***************************************************************** +File: bipartite.sql + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +--------------- +-- pgr_bipartite +--------------- From b3c6cf51a0e3cac4acbe60a01f66833f90fff0c4 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 22 Jul 2020 23:58:43 +0530 Subject: [PATCH 0766/1360] [bipartite] pgtap test --- pgtap/bipartite/bipartite-edge-cases.sql | 89 +++++++++++++++++++ pgtap/bipartite/bipartite-innerQuery.sql | 17 ++++ pgtap/bipartite/no_crash_test-bipartite.sql | 43 +++++++++ pgtap/bipartite/pgr_bipartite_types_check.sql | 39 ++++++++ 4 files changed, 188 insertions(+) create mode 100644 pgtap/bipartite/bipartite-edge-cases.sql create mode 100644 pgtap/bipartite/bipartite-innerQuery.sql create mode 100644 pgtap/bipartite/no_crash_test-bipartite.sql create mode 100644 pgtap/bipartite/pgr_bipartite_types_check.sql diff --git a/pgtap/bipartite/bipartite-edge-cases.sql b/pgtap/bipartite/bipartite-edge-cases.sql new file mode 100644 index 00000000000..5248655475f --- /dev/null +++ b/pgtap/bipartite/bipartite-edge-cases.sql @@ -0,0 +1,89 @@ +\i setup.sql +SELECT plan(8); + +-- 0 edge 0 vertex tests +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18; + +SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); + + +PREPARE lengauer_tarjan_dominator_tree_test1 AS +SELECT * +FROM pgr_lengauer_tarjan_dominator_tree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id < 0',1 +); + +PREPARE lengauer_tarjan_dominator_tree_test2 AS +SELECT * +FROM pgr_lengauer_tarjan_dominator_tree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id = 0',1 +); + +PREPARE lengauer_tarjan_dominator_tree_test3 AS +SELECT * +FROM pgr_lengauer_tarjan_dominator_tree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18',1 +); + +SELECT is_empty('lengauer_tarjan_dominator_tree_test1', 'lengauer_tarjan_dominator_tree_test1: Graph with 0 edge and 0 vertex'); +SELECT is_empty('lengauer_tarjan_dominator_tree_test2', 'lengauer_tarjan_dominator_tree_test2: Graph with 0 edge and 0 vertex'); +SELECT is_empty('lengauer_tarjan_dominator_tree_test3', 'lengauer_tarjan_dominator_tree_test3: Graph with 0 edge and 0 vertex'); + + + +--root not present tests +PREPARE lengauer_tarjan_dominator_tree_test4 AS +SELECT * +FROM pgr_lengauer_tarjan_dominator_tree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 2',1 +); + + +PREPARE lengauer_tarjan_dominator_tree_test5 AS +SELECT * +FROM pgr_lengauer_tarjan_dominator_tree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 2',1 +); + +SELECT is_empty('lengauer_tarjan_dominator_tree_test4', 'lengauer_tarjan_dominator_tree_test4: Root not present in the Graph'); +SELECT is_empty('lengauer_tarjan_dominator_tree_test5', 'lengauer_tarjan_dominator_tree_test5: Root not present in the Graph'); + +--vertex not present in the graph tests + + +--verify results test + + +--id constrained tests +PREPARE q2 AS +SELECT * +FROM pgr_lengauer_tarjan_dominator_tree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 0',1 +); +SELECT isnt_empty('q2', 'q1: Graph with 0 edge and 0 vertex'); + +-- Negative root tests +PREPARE q3 AS +SELECT * +FROM pgr_lengauer_tarjan_dominator_tree( +'SELECT id, source, target, cost, reverse_cost +FROM edge_table',-1 +); +SELECT throws_ok('q3', 'P0001', 'Negative value found on ''root_vertex''', '3: Negative root throws'); + +ROLLBACK; diff --git a/pgtap/bipartite/bipartite-innerQuery.sql b/pgtap/bipartite/bipartite-innerQuery.sql new file mode 100644 index 00000000000..b0e8d8191c8 --- /dev/null +++ b/pgtap/bipartite/bipartite-innerQuery.sql @@ -0,0 +1,17 @@ +\i setup.sql + +SELECT plan(56); + + +SELECT has_function('pgr_lengauer_tarjan_dominator_tree', + ARRAY['text', 'bigint']); + +SELECT function_returns('pgr_lengauer_tarjan_dominator_tree', + ARRAY['text', 'bigint'], + 'setof record'); + +-- ONE TO ONE +SELECT style_dijkstra('pgr_lengauer_tarjan_dominator_tree', ',1)'); + +SELECT finish(); +ROLLBACK; diff --git a/pgtap/bipartite/no_crash_test-bipartite.sql b/pgtap/bipartite/no_crash_test-bipartite.sql new file mode 100644 index 00000000000..3ba7a23d7f7 --- /dev/null +++ b/pgtap/bipartite/no_crash_test-bipartite.sql @@ -0,0 +1,43 @@ +\i setup.sql + +SELECT plan(7); + +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +/* +SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); + +SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); + + + */ + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN +params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '1::BIGINT' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_lengauer_tarjan_dominator_tree', params, subs); +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + + + +ROLLBACK; diff --git a/pgtap/bipartite/pgr_bipartite_types_check.sql b/pgtap/bipartite/pgr_bipartite_types_check.sql new file mode 100644 index 00000000000..f732061f296 --- /dev/null +++ b/pgtap/bipartite/pgr_bipartite_types_check.sql @@ -0,0 +1,39 @@ +\i setup.sql +SELECT plan(1); + +SELECT todo_start('Complete this tests'); + +SELECT pass('Sample Test'); + +SELECT todo_end(); + +SELECT finish(); +/* +SELECT plan(7); + + +SELECT has_function('pgr_dltdtree'); + +SELECT has_function('pgr_dltdtree', ARRAY['text','bigint']); +SELECT function_returns('pgr_dltdtree', ARRAY['text','bigint','bigint'], 'setof record'); + +-- pgr_dltdtree +-- parameter names +SELECT bag_has( + $$SELECT proargnames from pg_proc where proname = 'pgr_dltdtree'$$, + $$SELECT '{"","","max_depth","directed","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ +); + +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_dltdtree'$$, + $$VALUES + ('{25,20,20,16,20,20,20,20,20,701,701}'::OID[]), + ('{25,2277,20,16,20,20,20,20,20,701,701}'::OID[]) + $$ +); + +SELECT * FROM finish(); + + */ +ROLLBACK; \ No newline at end of file From 0363fd84effbfa07ab55a203acaa893c27a8b038 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 23 Jul 2020 00:02:09 +0530 Subject: [PATCH 0767/1360] [bipartite] c++ driver template --- include/drivers/bipartite/bipartite_driver.h | 70 ++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 include/drivers/bipartite/bipartite_driver.h diff --git a/include/drivers/bipartite/bipartite_driver.h b/include/drivers/bipartite/bipartite_driver.h new file mode 100644 index 00000000000..a2a384b643d --- /dev/null +++ b/include/drivers/bipartite/bipartite_driver.h @@ -0,0 +1,70 @@ +/*PGR-GNU***************************************************************** +File: LTDTree_driver.h + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +#ifndef INCLUDE_DRIVERS_LTDTREE_DRIVER_H_ +#define INCLUDE_DRIVERS_LTDTREE_DRIVER_H_ + + +/* for size-t */ +#ifdef __cplusplus +# include +#include + +#else +# include +#endif + + +#include "c_types/pgr_edge_t.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/********************************************************* + edges_sql TEXT, + + ********************************************************/ +void +do_pgr_LTDTree( + pgr_edge_t *data_edges, + size_t total_tuples, + int64_t root_vertex, + pgr_ltdtree_rt **return_tuples, + size_t *return_count, + char **log_msg, + char **notice_msg, + char **err_msg); + + +#ifdef __cplusplus +} +#endif + +#endif // INCLUDE_DRIVERS_LTDTREE_LTDTREE_DRIVER_H_ From f56c2538edf4365f30f4a2d57feaccc45d34fe4a Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 23 Jul 2020 00:03:03 +0530 Subject: [PATCH 0768/1360] [bipartite] result tuples --- include/c_types/pgr_bipartite_rt.h | 44 ++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 include/c_types/pgr_bipartite_rt.h diff --git a/include/c_types/pgr_bipartite_rt.h b/include/c_types/pgr_bipartite_rt.h new file mode 100644 index 00000000000..4f6c62810aa --- /dev/null +++ b/include/c_types/pgr_bipartite_rt.h @@ -0,0 +1,44 @@ +/*PGR-GNU***************************************************************** +File: pgr_bipartite_rt.h + +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ +/*! @file */ + +#ifndef INCLUDE_C_TYPES_PGR_BIPARTITE_RT_H_ +#define INCLUDE_C_TYPES_PGR_BIPARTITE_RT_H_ +#pragma once + +/* for int64_t */ +#ifdef __cplusplus +# include +#else +# include +#endif + +typedef struct { + + int64_t vid; + int64_t color; + + +}pgr_bipartite_rt; + +#endif // INCLUDE_C_TYPES_PGR_BIPARTITE_RT_H_ From a823f4f67bb55e28ceca6a39594b5f8fb113f1a1 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 23 Jul 2020 00:03:58 +0530 Subject: [PATCH 0769/1360] [bipartite] c++ driver template --- include/bipartite/pgr_bipartite_driver.hpp | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 include/bipartite/pgr_bipartite_driver.hpp diff --git a/include/bipartite/pgr_bipartite_driver.hpp b/include/bipartite/pgr_bipartite_driver.hpp new file mode 100644 index 00000000000..ed8474a745d --- /dev/null +++ b/include/bipartite/pgr_bipartite_driver.hpp @@ -0,0 +1,49 @@ +/*PGR-GNU***************************************************************** +File: pgr_bipartite_driver.hpp + +Generated with Template by: +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +Function's developer: +Copyright (c) 2020 Prakash Tiwari +Mail: 85prakash2017@gmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + + +#ifndef INCLUDE_PGR_BIPARTITE_DRIVER_HPP +#define INCLUDE_PGR_BIPARTITE_DRIVER_HPP +#pragma once +#include + +#include "cpp_common/pgr_base_graph.hpp" +#include "cpp_common/pgr_messages.h" +#include +#include +#include +#include +#include +#include +#include + + + + +#endif // INCLUDE_PGR_BIPARTITE_DRIVER_HPP From 49bdd8e68c9e194ac10621caeb5548b6591669f8 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 23 Jul 2020 00:06:33 +0530 Subject: [PATCH 0770/1360] [bipartite] docquries file --- docqueries/bipartite/CMakeLists.txt | 11 +++++++++++ docqueries/bipartite/doc-bipartite.result | 4 ++++ docqueries/bipartite/doc-bipartite.test.sql | 0 docqueries/bipartite/test.conf | 17 +++++++++++++++++ 4 files changed, 32 insertions(+) create mode 100644 docqueries/bipartite/CMakeLists.txt create mode 100644 docqueries/bipartite/doc-bipartite.result create mode 100644 docqueries/bipartite/doc-bipartite.test.sql create mode 100644 docqueries/bipartite/test.conf diff --git a/docqueries/bipartite/CMakeLists.txt b/docqueries/bipartite/CMakeLists.txt new file mode 100644 index 00000000000..e7bfbee5078 --- /dev/null +++ b/docqueries/bipartite/CMakeLists.txt @@ -0,0 +1,11 @@ +# Do not use extensions +SET(LOCAL_FILES + doc-LTDTree + ) + +foreach (f ${LOCAL_FILES}) + configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") + list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/bipartite/doc-bipartite.result b/docqueries/bipartite/doc-bipartite.result new file mode 100644 index 00000000000..78035a215e8 --- /dev/null +++ b/docqueries/bipartite/doc-bipartite.result @@ -0,0 +1,4 @@ +BEGIN; +BEGIN +ROLLBACK; +ROLLBACK diff --git a/docqueries/bipartite/doc-bipartite.test.sql b/docqueries/bipartite/doc-bipartite.test.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/docqueries/bipartite/test.conf b/docqueries/bipartite/test.conf new file mode 100644 index 00000000000..06914f86ba5 --- /dev/null +++ b/docqueries/bipartite/test.conf @@ -0,0 +1,17 @@ +#!/usr/bin/perl -w + +%main::tests = ( + 'any' => { + 'comment' => 'lengauer_tarjan_dominator_tree algorithm tests', + 'data' => [ ], + 'tests' => [qw( + doc-LTDTree + )], + 'documentation' => [qw( + doc-LTDTree + )] + }, + +); + +1; From b5d9e68c4918c10421fba063337f56037f8b3efa Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 23 Jul 2020 00:09:25 +0530 Subject: [PATCH 0771/1360] [bipartite] src cmake --- src/bipartite/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bipartite/CMakeLists.txt b/src/bipartite/CMakeLists.txt index b5441b09b35..ef9a33c7bc3 100644 --- a/src/bipartite/CMakeLists.txt +++ b/src/bipartite/CMakeLists.txt @@ -1,2 +1,4 @@ -ADD_LIBRARY( +ADD_LIBRARY(bipartite OBJECT + bipartite.c + bipartite_driver.cpp ) From 17ff817d1c612738b9f691728bcd4849c7c1744d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 23 Jul 2020 00:15:20 +0530 Subject: [PATCH 0772/1360] [bipartite] do_pgr function inside the c header --- include/drivers/bipartite/bipartite_driver.h | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/include/drivers/bipartite/bipartite_driver.h b/include/drivers/bipartite/bipartite_driver.h index a2a384b643d..bb6be339ee9 100644 --- a/include/drivers/bipartite/bipartite_driver.h +++ b/include/drivers/bipartite/bipartite_driver.h @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: LTDTree_driver.h +File: bipartite_driver.h Generated with Template by: Copyright (c) 2015 pgRouting developers @@ -27,21 +27,18 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_DRIVERS_LTDTREE_DRIVER_H_ -#define INCLUDE_DRIVERS_LTDTREE_DRIVER_H_ +#ifndef INCLUDE_DRIVERS_BIPARTITE_DRIVER_H_ +#define INCLUDE_DRIVERS_BIPARTITE_DRIVER_H_ /* for size-t */ #ifdef __cplusplus # include -#include - #else # include #endif - - #include "c_types/pgr_edge_t.h" +#include #ifdef __cplusplus extern "C" { @@ -52,11 +49,10 @@ extern "C" { ********************************************************/ void -do_pgr_LTDTree( +do_pgr_bipartite( pgr_edge_t *data_edges, size_t total_tuples, - int64_t root_vertex, - pgr_ltdtree_rt **return_tuples, + pgr_bipartite_rt **return_tuples, size_t *return_count, char **log_msg, char **notice_msg, @@ -67,4 +63,4 @@ do_pgr_LTDTree( } #endif -#endif // INCLUDE_DRIVERS_LTDTREE_LTDTREE_DRIVER_H_ +#endif // INCLUDE_DRIVERS_BIPARTITE_DRIVER_H_ From fa3caf8d956335c52a1058bd37f9703d9339c4e7 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 23 Jul 2020 00:25:03 +0530 Subject: [PATCH 0773/1360] [bipartite] c header incuded --- src/bipartite/bipartite.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bipartite/bipartite.c b/src/bipartite/bipartite.c index 17d14a013d1..3d684a7ab0c 100644 --- a/src/bipartite/bipartite.c +++ b/src/bipartite/bipartite.c @@ -48,6 +48,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pgr_bipartite_rt.h" #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "drivers/bipartite/bipartie_driver.h" PGDLLEXPORT Datum _pgr_bipartite (PG_FUNCTION_ARGS); @@ -163,9 +164,11 @@ _pgr_bipartite(PG_FUNCTION_ARGS) { nulls[i] = false; } //Set your outputs from result_tuple + /* values[0] = Int32GetDatum(call_cntr + 1); values[1] = Int64GetDatum(result_tuples[call_cntr].vid); values[2] = Int64GetDatum(result_tuples[call_cntr].idom); + */ tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); From 5b6ae6df57873850f19bb669ca6d54792f80c44d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 23 Jul 2020 00:26:49 +0530 Subject: [PATCH 0774/1360] [bipartite] c++ file with basic coding --- ...tite.c_driver.cpp => bipartite_driver.cpp} | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) rename src/bipartite/{bipartite.c_driver.cpp => bipartite_driver.cpp} (89%) diff --git a/src/bipartite/bipartite.c_driver.cpp b/src/bipartite/bipartite_driver.cpp similarity index 89% rename from src/bipartite/bipartite.c_driver.cpp rename to src/bipartite/bipartite_driver.cpp index 83fb9689991..3e9bdd40bfa 100644 --- a/src/bipartite/bipartite.c_driver.cpp +++ b/src/bipartite/bipartite_driver.cpp @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: LTDTree_driver.pp +File: bipartite_driver.cpp Generated with Template by: Copyright (c) 2015 pgRouting developers @@ -28,9 +28,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "drivers/LTDTree/LTDTree_driver.h" -#include "LTDTree/pgr_LTDTree_driver.hpp" -#include "c_types/pgr_ltdtree_rt.h" +/************************************************************ + edges_sql TEXT + ***********************************************************/ +#include "drivers/bipartite/bipartie_driver.h" +#include "bipartite/pgr_bipartite_driver.hpp" +#include "c_types/pgr_bipartite_rt.h" #include #include #include @@ -46,11 +49,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. edges_sql TEXT ***********************************************************/ void -do_pgr_LTDTree( +do_pgr_bipartite( pgr_edge_t *data_edges, size_t total_edges, - int64_t root_vertex, - pgr_ltdtree_rt **return_tuples, + pgr_bipartite_rt **return_tuples, size_t *return_count, char **log_msg, char **notice_msg, @@ -72,8 +74,8 @@ do_pgr_LTDTree( /***********************Working with graph**************************/ - log << "Working with directed Graph\n"; - graphType gType = DIRECTED; + log << "Working with undirected Graph\n"; + graphType gType = UNDIRECTED; pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); //Creating graph using data_edges std::vector results; @@ -84,7 +86,7 @@ do_pgr_LTDTree( log << logstr; auto count = results.size(); - +/****************************************************/ if (count == 0) { (*return_tuples) = NULL; (*return_count) = 0; @@ -134,4 +136,3 @@ do_pgr_LTDTree( } - From 7e71af4715ad71b52ab6e41aff3ab6fdea390885 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 23 Jul 2020 00:33:29 +0530 Subject: [PATCH 0775/1360] [bipartite] pgtap todo --- pgtap/bipartite/bipartite-edge-cases.sql | 90 ++----------------- pgtap/bipartite/bipartite-innerQuery.sql | 16 ++-- pgtap/bipartite/no_crash_test-bipartite.sql | 44 ++------- pgtap/bipartite/pgr_bipartite_types_check.sql | 32 +------ 4 files changed, 23 insertions(+), 159 deletions(-) diff --git a/pgtap/bipartite/bipartite-edge-cases.sql b/pgtap/bipartite/bipartite-edge-cases.sql index 5248655475f..7c1efaa8319 100644 --- a/pgtap/bipartite/bipartite-edge-cases.sql +++ b/pgtap/bipartite/bipartite-edge-cases.sql @@ -1,89 +1,13 @@ \i setup.sql -SELECT plan(8); --- 0 edge 0 vertex tests -PREPARE q1 AS -SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id > 18; +--Need to write basic tests +SELECT plan(1); -SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); +SELECT todo_start('Complete the inner query tests'); +SELECT pass('Sample Test'); -PREPARE lengauer_tarjan_dominator_tree_test1 AS -SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id < 0',1 -); +SELECT todo_end(); -PREPARE lengauer_tarjan_dominator_tree_test2 AS -SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id = 0',1 -); - -PREPARE lengauer_tarjan_dominator_tree_test3 AS -SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id > 18',1 -); - -SELECT is_empty('lengauer_tarjan_dominator_tree_test1', 'lengauer_tarjan_dominator_tree_test1: Graph with 0 edge and 0 vertex'); -SELECT is_empty('lengauer_tarjan_dominator_tree_test2', 'lengauer_tarjan_dominator_tree_test2: Graph with 0 edge and 0 vertex'); -SELECT is_empty('lengauer_tarjan_dominator_tree_test3', 'lengauer_tarjan_dominator_tree_test3: Graph with 0 edge and 0 vertex'); - - - ---root not present tests -PREPARE lengauer_tarjan_dominator_tree_test4 AS -SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id > 2',1 -); - - -PREPARE lengauer_tarjan_dominator_tree_test5 AS -SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id > 2',1 -); - -SELECT is_empty('lengauer_tarjan_dominator_tree_test4', 'lengauer_tarjan_dominator_tree_test4: Root not present in the Graph'); -SELECT is_empty('lengauer_tarjan_dominator_tree_test5', 'lengauer_tarjan_dominator_tree_test5: Root not present in the Graph'); - ---vertex not present in the graph tests - - ---verify results test - - ---id constrained tests -PREPARE q2 AS -SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id > 0',1 -); -SELECT isnt_empty('q2', 'q1: Graph with 0 edge and 0 vertex'); - --- Negative root tests -PREPARE q3 AS -SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table',-1 -); -SELECT throws_ok('q3', 'P0001', 'Negative value found on ''root_vertex''', '3: Negative root throws'); - -ROLLBACK; +SELECT finish(); +ROLLBACK; \ No newline at end of file diff --git a/pgtap/bipartite/bipartite-innerQuery.sql b/pgtap/bipartite/bipartite-innerQuery.sql index b0e8d8191c8..7c1efaa8319 100644 --- a/pgtap/bipartite/bipartite-innerQuery.sql +++ b/pgtap/bipartite/bipartite-innerQuery.sql @@ -1,17 +1,13 @@ \i setup.sql -SELECT plan(56); +--Need to write basic tests +SELECT plan(1); +SELECT todo_start('Complete the inner query tests'); -SELECT has_function('pgr_lengauer_tarjan_dominator_tree', - ARRAY['text', 'bigint']); +SELECT pass('Sample Test'); -SELECT function_returns('pgr_lengauer_tarjan_dominator_tree', - ARRAY['text', 'bigint'], - 'setof record'); - --- ONE TO ONE -SELECT style_dijkstra('pgr_lengauer_tarjan_dominator_tree', ',1)'); +SELECT todo_end(); SELECT finish(); -ROLLBACK; +ROLLBACK; \ No newline at end of file diff --git a/pgtap/bipartite/no_crash_test-bipartite.sql b/pgtap/bipartite/no_crash_test-bipartite.sql index 3ba7a23d7f7..7c1efaa8319 100644 --- a/pgtap/bipartite/no_crash_test-bipartite.sql +++ b/pgtap/bipartite/no_crash_test-bipartite.sql @@ -1,43 +1,13 @@ \i setup.sql -SELECT plan(7); +--Need to write basic tests +SELECT plan(1); -PREPARE edges AS -SELECT id, source, target, cost, reverse_cost FROM edge_table; +SELECT todo_start('Complete the inner query tests'); -SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); -/* -SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT pass('Sample Test'); -SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); +SELECT todo_end(); - - */ - -CREATE OR REPLACE FUNCTION test_function() -RETURNS SETOF TEXT AS -$BODY$ -DECLARE -params TEXT[]; -subs TEXT[]; -BEGIN -params = ARRAY[ - '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', - '1::BIGINT' - ]::TEXT[]; - subs = ARRAY[ - 'NULL', - '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' - ]::TEXT[]; - - RETURN query SELECT * FROM no_crash_test('pgr_lengauer_tarjan_dominator_tree', params, subs); -END -$BODY$ -LANGUAGE plpgsql VOLATILE; - - -SELECT * FROM test_function(); - - - -ROLLBACK; +SELECT finish(); +ROLLBACK; \ No newline at end of file diff --git a/pgtap/bipartite/pgr_bipartite_types_check.sql b/pgtap/bipartite/pgr_bipartite_types_check.sql index f732061f296..7c1efaa8319 100644 --- a/pgtap/bipartite/pgr_bipartite_types_check.sql +++ b/pgtap/bipartite/pgr_bipartite_types_check.sql @@ -1,39 +1,13 @@ \i setup.sql + +--Need to write basic tests SELECT plan(1); -SELECT todo_start('Complete this tests'); +SELECT todo_start('Complete the inner query tests'); SELECT pass('Sample Test'); SELECT todo_end(); SELECT finish(); -/* -SELECT plan(7); - - -SELECT has_function('pgr_dltdtree'); - -SELECT has_function('pgr_dltdtree', ARRAY['text','bigint']); -SELECT function_returns('pgr_dltdtree', ARRAY['text','bigint','bigint'], 'setof record'); - --- pgr_dltdtree --- parameter names -SELECT bag_has( - $$SELECT proargnames from pg_proc where proname = 'pgr_dltdtree'$$, - $$SELECT '{"","","max_depth","directed","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ -); - --- parameter types -SELECT set_eq( - $$SELECT proallargtypes from pg_proc where proname = 'pgr_dltdtree'$$, - $$VALUES - ('{25,20,20,16,20,20,20,20,20,701,701}'::OID[]), - ('{25,2277,20,16,20,20,20,20,20,701,701}'::OID[]) - $$ -); - -SELECT * FROM finish(); - - */ ROLLBACK; \ No newline at end of file From 100af7061c2ae8ec79db4db3fc81ba426a91f8e5 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 08:20:17 +0530 Subject: [PATCH 0776/1360] updated congif --- configuration.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration.conf b/configuration.conf index 37e5d3e3858..c30db43bd2b 100644 --- a/configuration.conf +++ b/configuration.conf @@ -34,7 +34,7 @@ bellman_ford | Y | Y | Y cpp_common | Y | N | N dagShortestPath | Y | Y | Y chinese | Y | Y | Y -spanningTree | N | N | N +spanningTree | Y | Y | Y mincut | Y | Y | Y version | Y | Y | Y topologicalSort | Y | Y | Y From 4d9ce9dde330c7a3845d40a56c9a78167174d72e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 08:23:24 +0530 Subject: [PATCH 0777/1360] [Bipartite] user doc --- doc/bipartite/CMakeLists.txt | 12 ++++ doc/bipartite/pgr_bipartite.rst | 116 ++++++++++++++++++++++++++++++++ 2 files changed, 128 insertions(+) create mode 100644 doc/bipartite/CMakeLists.txt create mode 100644 doc/bipartite/pgr_bipartite.rst diff --git a/doc/bipartite/CMakeLists.txt b/doc/bipartite/CMakeLists.txt new file mode 100644 index 00000000000..95306a32c5c --- /dev/null +++ b/doc/bipartite/CMakeLists.txt @@ -0,0 +1,12 @@ + +SET(LOCAL_FILES + pgr_LTDTree.rst + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") + list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) +endforeach() + +set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) + diff --git a/doc/bipartite/pgr_bipartite.rst b/doc/bipartite/pgr_bipartite.rst new file mode 100644 index 00000000000..5c0d740fbc4 --- /dev/null +++ b/doc/bipartite/pgr_bipartite.rst @@ -0,0 +1,116 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** +.. index:: + single: pgr_lengauer_tarjan_dominator_tree -Experimental (Complete Doc) +.. _pgr_lengauer_tarjan_dominator_tree: + +pgr_lengauer_tarjan_dominator_tree -Experimental +=============================================================================== + +``pgr_lengauer_tarjan_dominator_tree`` — Returns the immediate dominator of all vertices. +In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost.Graph. + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm + + Boost Graph Inside + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. rubric:: Availability + + +Description +------------------------------------------------------------------------------- +Lengauer Tarjan Dominator Tree algorithm is used to make dominator tree of any graph. It calculates the immidiate dominator of each vertex called idom, once idom of each vertex is calculated then by making every idom of each vertex as its parent, the dominator tree can be built. + +Signatures +------------------------------------------------------------------------------- + +.. rubric:: Summary + +.. code-block:: sql + + pgr_lengauer_tarjan_dominator_tree(edges_sql,root) + RETURNS SET OF (id,vid,idom) + + +:Example: **TBD** + +.. index:: + single: LTDTree + +Complete Signature +............................................................................... + +.. code-block:: sql + + +:Example: The lengauer_tarjan_dominator_tree with root vertex :math:`2` + +.. literalinclude:: doc-LTDTree.queries + :start-after: -- q1 + :end-before: -- q2 + +Parameters +------------------------------------------------------------------------------- + +============== ============ ================================================= +Column Type Description +============== ============ ================================================= +**edges_sql** ``TEXT`` SQL query as described above. +**root_vid** ``BIGINT`` Identifier of the starting vertex. +============== ============ ================================================= + + +Inner query +------------------------------------------------------------------------------- + +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end + +Result Columns +------------------------------------------------------------------------------- + +Returns set of ``(seq, vid,idom)`` + +============== =========== ================================================= +Column Type Description +============== =========== ================================================= +**seq** ``INTEGER`` Sequential value starting from **1**. +**vid** ``BIGINT`` Identifier of vertex . +**idom** ``BIGINT`` Immediate dominator of vertex. +============== =========== ================================================= + +Additional Examples +------------------------------------------------------------------------------------------ + +:Example: To handle the one flag to choose signatures + +The examples in this section use the following :ref:`fig1` + +.. literalinclude:: doc-LTDTree.queries + :start-after: --q1 + :end-before: --q2 + +See Also +------------------------------------------------------------------------------- + +* https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm +* https://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/a%20fast%20algorithm%20for%20finding.pdf +* https://www.boost.org/doc/libs/1_64_0/libs/graph/doc/two_graphs_common_spanning_trees.html +* :doc:`sampledata` network. + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` From 579d39043816bf75d2e6921ca502442e4dd2584d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 12:45:06 +0530 Subject: [PATCH 0778/1360] solving conflicts --- sql/dijkstra/funny_dijkstra.sql | 178 -------------------------------- 1 file changed, 178 deletions(-) delete mode 100644 sql/dijkstra/funny_dijkstra.sql diff --git a/sql/dijkstra/funny_dijkstra.sql b/sql/dijkstra/funny_dijkstra.sql deleted file mode 100644 index ec7e308cda1..00000000000 --- a/sql/dijkstra/funny_dijkstra.sql +++ /dev/null @@ -1,178 +0,0 @@ -/*PGR-GNU***************************************************************** - -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Copyright (c) 2015 Celia Virginia Vergara Castillo -mail: vicky_vergara@hotmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - ---------------- --- pgr_funnyDijkstra ---------------- - --- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_funnydijkstra( - TEXT, -- edges_sql (required) - BIGINT, -- from_vid (required) - BIGINT, -- to_vid (required) - - directed BOOLEAN DEFAULT true, - - OUT seq INTEGER, - OUT path_seq INTEGER, - OUT node BIGINT, - OUT edge BIGINT, - OUT cost FLOAT, - OUT agg_cost FLOAT) -RETURNS SETOF RECORD AS -$BODY$ - SELECT a.seq, a.path_seq, a.node, a.edge, a.cost, a.agg_cost - FROM _pgr_dijkstra(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], ARRAY[$3]::BIGINT[], $4, false, true) AS a; -$BODY$ -LANGUAGE sql VOLATILE STRICT -COST 100 -ROWS 1000; - - --- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_funnydijkstra( - TEXT, -- edges_sql (required) - BIGINT, -- from_vid (required) - ANYARRAY, -- to_vids (required) - - directed BOOLEAN DEFAULT true, - - OUT seq INTEGER, - OUT path_seq INTEGER, - OUT end_vid BIGINT, - OUT node BIGINT, - OUT edge BIGINT, - OUT cost FLOAT, - OUT agg_cost FLOAT) -RETURNS SETOF RECORD AS -$BODY$ - SELECT a.seq, a.path_seq, a.end_vid, a.node, a.edge, a.cost, a.agg_cost - FROM _pgr_dijkstra(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], $3::BIGINT[], $4, false, true) AS a; -$BODY$ -LANGUAGE sql VOLATILE STRICT -COST 100 -ROWS 1000; - - --- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_funnydijkstra( - TEXT, -- edges_sql (required) - ANYARRAY, -- from_vids (required) - BIGINT, -- to_vid (required) - - directed BOOLEAN DEFAULT true, - - OUT seq INTEGER, - OUT path_seq INTEGER, - OUT start_vid BIGINT, - OUT node BIGINT, - OUT edge BIGINT, - OUT cost FLOAT, - OUT agg_cost FLOAT) -RETURNS SETOF RECORD AS -$BODY$ - SELECT a.seq, a.path_seq, a.start_vid, a.node, a.edge, a.cost, a.agg_cost - FROM _pgr_dijkstra(_pgr_get_statement($1), $2::BIGINT[], ARRAY[$3]::BIGINT[], $4, false, false) AS a; -$BODY$ -LANGUAGE sql VOLATILE STRICT -COST 100 -ROWS 1000; - - --- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_funnydijkstra( - TEXT, -- edges_sql (required) - ANYARRAY, -- from_vids (required) - ANYARRAY, -- to_vids (required) - - directed BOOLEAN DEFAULT true, - - OUT seq 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 a.seq, a.path_seq, a.start_vid, a.end_vid, a.node, a.edge, a.cost, a.agg_cost - FROM _pgr_dijkstra(_pgr_get_statement($1), $2::BIGINT[], $3::BIGINT[], $4, false, true) AS a; -$BODY$ -LANGUAGE sql VOLATILE STRICT -COST 100 -ROWS 1000; - --- COMMENTS - -COMMENT ON FUNCTION pgr_funnydijkstra(TEXT, BIGINT, BIGINT, BOOLEAN) -IS 'pgr_funnydijkstra(One to One) -- Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - From vertex identifier - - To vertex identifier -- Optional Parameters - - directed := true -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_funnydijkstra.html -'; - -COMMENT ON FUNCTION pgr_funnydijkstra(TEXT, BIGINT, ANYARRAY, BOOLEAN) -IS 'pgr_funnydijkstra(One to Many) -- Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - From vertex identifier - - To ARRAY[vertices identifiers] -- Optional Parameters - - directed := true -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_funnydijkstra.html -'; - -COMMENT ON FUNCTION pgr_funnydijkstra(TEXT, ANYARRAY, BIGINT, BOOLEAN) -IS 'pgr_funnydijkstra(Many to One) -- Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - From ARRAY[vertices identifiers] - - To vertex identifier -- Optional Parameters - - directed := true -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_funnydijkstra.html -'; - -COMMENT ON FUNCTION pgr_funnydijkstra(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) -IS 'pgr_funnydijkstra(Many to Many) -- Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - From ARRAY[vertices identifiers] - - To ARRAY[vertices identifiers] -- Optional Parameters - - directed := true -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_funnyDijkstra.html -'; From 96acd2c0761facd80b4017aa1292ab4766aadafa Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 13:42:03 +0530 Subject: [PATCH 0779/1360] [LTDTree] removing mapping --- include/LTDTree/pgr_LTDTree_driver.hpp | 89 ++++++-------------------- 1 file changed, 18 insertions(+), 71 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 6b060c417a7..dcce0daab6e 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -48,95 +48,41 @@ using namespace std; namespace pgrouting { namespace functions { - template + template class Pgr_LTDTree : public pgrouting::Pgr_messages { public: - typedef typename Graph::V Vertex; - typedef typename Graph::E_i E_i; - typedef adjacency_list< - listS, - listS, - bidirectionalS, - property, no_property> G; - + typedef typename G::V Vertex; + typedef typename G::E_i E_i; + typedef pair edge; //For making edge list to be used in extract vertices vector edgeList; std::vector results; - std::set vertex_set; - int64_t min_vertex, max_vertex; - - - void extract_vertices( - Graph &graph, - int64_t numVertices){ - - E_i ei, ei_end; - int i; - for (boost::tie(ei, ei_end) = edges(graph.graph),i = 0; ei != ei_end; ++ei,++i) { - int64_t source = graph[graph.source(*ei)].id; - vertex_set.insert(source); - } - - min_vertex = *(vertex_set.begin()); - max_vertex = min_vertex+numVertices-1; + - log<<"\n max: "< max_vertex) return false; - return true; - } - + /******************** Method to calculate dominator tree and returns result vector ***************************/ std::vector pgr_ltdtree( - Graph &graph, + G &graph, int64_t root ){ const int64_t numOfVertices=graph.num_vertices(); - extract_vertices(graph,numOfVertices); - if(!is_valid_root(root)) - { - notice<<"Invalid root "<::vertex_descriptor Vertex; - typedef property_map::type IndexMap; - typedef iterator_property_map::iterator, IndexMap> PredMap; - - G g(edgeList.begin(), edgeList.end(),numOfVertices); - vector domTreePredVector, domTreePredVector2; - IndexMap indexMap(get(vertex_index, g)); - graph_traits::vertex_iterator uItr, uEnd; - int j = 0; - for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr, ++j) - { - put(indexMap, *uItr, j); - } + + + // Lengauer-Tarjan dominator tree algorithm - domTreePredVector = - vector(num_vertices(g), graph_traits::null_vertex()); - PredMap domTreePredMap = - make_iterator_property_map(domTreePredVector.begin(), indexMap); - lengauer_tarjan_dominator_tree(g, vertex(root-min_vertex, g), domTreePredMap); + auto v_root(graph.get_V(root)); + vector domTreePredVector = vector(num_vertices(graph.graph)); + auto domTreePredMap = + make_iterator_property_map(domTreePredVector.begin(), boost::get(boost::vertex_index, graph.graph)); + + lengauer_tarjan_dominator_tree(graph.graph, v_root, domTreePredMap); /*****************************************Making result vector*************************************/ - pgr_ltdtree_rt temp; + /* pgr_ltdtree_rt temp; for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) { if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) @@ -154,6 +100,7 @@ namespace pgrouting { } } + */ return results; } From bed2cc3f5578d2ad0b39ae73a83e1c7d118fdd60 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 13:42:40 +0530 Subject: [PATCH 0780/1360] [LTDTree] removing mapping --- include/LTDTree/pgr_LTDTree_driver.hpp | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index dcce0daab6e..d9eab6675e1 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -81,26 +81,6 @@ namespace pgrouting { lengauer_tarjan_dominator_tree(graph.graph, v_root, domTreePredMap); -/*****************************************Making result vector*************************************/ - /* pgr_ltdtree_rt temp; - for (boost::tie(uItr, uEnd) = vertices(g); uItr != uEnd; ++uItr) - { - if (get(domTreePredMap, *uItr) != graph_traits::null_vertex()) - { - temp.vid=(get(indexMap, *uItr)+min_vertex); - temp.idom=get(indexMap, get(domTreePredMap, *uItr))+min_vertex; - results.push_back(temp); - } - else - { - - temp.vid=(get(indexMap, *uItr)+min_vertex); - temp.idom=0; - results.push_back(temp); - } - - } - */ return results; } From 3a24e9e125ed6abdeff53903bf713f5d7a61af4e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 13:43:11 +0530 Subject: [PATCH 0781/1360] [LTDTree] remoing comments --- include/LTDTree/pgr_LTDTree_driver.hpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index d9eab6675e1..b9b9917b219 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -59,11 +59,6 @@ namespace pgrouting { std::vector results; - -/************************************* To check validity of root vertex****************************************/ - - -/******************** Method to calculate dominator tree and returns result vector ***************************/ std::vector pgr_ltdtree( G &graph, int64_t root From f018e8df597bc4cf99eadad68f2479296d183e18 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 15:58:47 +0530 Subject: [PATCH 0782/1360] [LTDTree] new code style --- include/LTDTree/pgr_LTDTree_driver.hpp | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index b9b9917b219..afc3db51e3c 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -53,7 +53,7 @@ namespace pgrouting { public: typedef typename G::V Vertex; typedef typename G::E_i E_i; - + typedef typename G::V_i V_i; typedef pair edge; //For making edge list to be used in extract vertices vector edgeList; std::vector results; @@ -65,7 +65,7 @@ namespace pgrouting { ){ const int64_t numOfVertices=graph.num_vertices(); - + log <<"numOfVertices "< Date: Fri, 24 Jul 2020 19:41:50 +0530 Subject: [PATCH 0783/1360] [LTDTree] base graph error fixed --- include/LTDTree/pgr_LTDTree_driver.hpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index afc3db51e3c..53633fd41f7 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -68,12 +68,12 @@ namespace pgrouting { log <<"numOfVertices "< domTreePredVector = vector(num_vertices(graph.graph)); + //auto v_root(graph.get_V(root)); + vector domTreePredVector = vector(num_vertices(graph.graph),-1); auto domTreePredMap = make_iterator_property_map(domTreePredVector.begin(), boost::get(boost::vertex_index, graph.graph)); - lengauer_tarjan_dominator_tree(graph.graph, v_root, domTreePredMap); + lengauer_tarjan_dominator_tree(graph.graph, graph.get_V(root), domTreePredMap); @@ -84,7 +84,17 @@ namespace pgrouting { // iterate through every vertex in the graph for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t vid = graph[*v].id; - int64_t idom = domTreePredVector[*v]; + int64_t idom; + if(domTreePredVector[*v]!=-1) + { + idom = domTreePredVector[*v]+1; + } + else + { + idom = 0; + } + + // log<<"\n"< Date: Fri, 24 Jul 2020 21:48:37 +0530 Subject: [PATCH 0784/1360] [LTDTree] updatd signature --- sql/sigs/pgrouting--3.2.0.sig | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index 2c31bbd902d..7cd855040e1 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -137,18 +137,10 @@ _pgr_isplanar(text) pgr_isplanar(text) _pgr_johnson(text,boolean) pgr_johnson(text,boolean) -pgr_kruskalbfs(text,anyarray,bigint) -pgr_kruskalbfs(text,bigint,bigint) -pgr_kruskaldd(text,anyarray,double precision) -pgr_kruskaldd(text,anyarray,numeric) -pgr_kruskaldd(text,bigint,double precision) -pgr_kruskaldd(text,bigint,numeric) -pgr_kruskaldfs(text,anyarray,bigint) -pgr_kruskaldfs(text,bigint,bigint) -pgr_kruskal(text) -_pgr_kruskal(text,anyarray,text,bigint,double precision) _pgr_ksp(text,bigint,bigint,integer,boolean,boolean) pgr_ksp(text,bigint,bigint,integer,boolean,boolean) +_pgr_lengauer_tarjan_dominator_tree(text,bigint) +pgr_lengauer_tarjan_dominator_tree(text,bigint) _pgr_lib_version() _pgr_linegraphfull(text) pgr_linegraphfull(text) @@ -183,16 +175,6 @@ pgr_pickdelivereuclidean(text,text,double precision,integer,integer) _pgr_pickdeliver(text,text,text,double precision,integer,integer) pgr_pickdeliver(text,text,text,double precision,integer,integer) _pgr_pointtoid(geometry,double precision,text,integer) -pgr_primbfs(text,anyarray,bigint) -pgr_primbfs(text,bigint,bigint) -pgr_primdd(text,anyarray,double precision) -pgr_primdd(text,anyarray,numeric) -pgr_primdd(text,bigint,double precision) -pgr_primdd(text,bigint,numeric) -pgr_primdfs(text,anyarray,bigint) -pgr_primdfs(text,bigint,bigint) -pgr_prim(text) -_pgr_prim(text,anyarray,text,bigint,double precision) pgr_pushrelabel(text,anyarray,anyarray) pgr_pushrelabel(text,anyarray,bigint) pgr_pushrelabel(text,bigint,anyarray) From 45e89fcb89ca7ab5fe8f9d805dfcd9d6d2dac2ad Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 21:49:13 +0530 Subject: [PATCH 0785/1360] [LTDTree] modified pgTap edge-cases tests --- pgtap/LTDTree/ltdtree-edge-cases.sql | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pgtap/LTDTree/ltdtree-edge-cases.sql b/pgtap/LTDTree/ltdtree-edge-cases.sql index 5248655475f..c0796303278 100644 --- a/pgtap/LTDTree/ltdtree-edge-cases.sql +++ b/pgtap/LTDTree/ltdtree-edge-cases.sql @@ -1,5 +1,5 @@ \i setup.sql -SELECT plan(8); +SELECT plan(6); -- 0 edge 0 vertex tests PREPARE q1 AS @@ -41,6 +41,7 @@ SELECT is_empty('lengauer_tarjan_dominator_tree_test3', 'lengauer_tarjan_dominat --root not present tests +/* PREPARE lengauer_tarjan_dominator_tree_test4 AS SELECT * FROM pgr_lengauer_tarjan_dominator_tree( @@ -60,7 +61,7 @@ WHERE id > 2',1 SELECT is_empty('lengauer_tarjan_dominator_tree_test4', 'lengauer_tarjan_dominator_tree_test4: Root not present in the Graph'); SELECT is_empty('lengauer_tarjan_dominator_tree_test5', 'lengauer_tarjan_dominator_tree_test5: Root not present in the Graph'); - +*/ --vertex not present in the graph tests @@ -75,7 +76,7 @@ FROM pgr_lengauer_tarjan_dominator_tree( FROM edge_table WHERE id > 0',1 ); -SELECT isnt_empty('q2', 'q1: Graph with 0 edge and 0 vertex'); +SELECT isnt_empty('q2', 'q2: Graph with 0 edge and 0 vertex'); -- Negative root tests PREPARE q3 AS From 698a94acff0894476c57e8a217e531494b9fc096 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 22:37:44 +0530 Subject: [PATCH 0786/1360] [bipartite] _sql function completed --- sql/bipartite/_bipartite.sql | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sql/bipartite/_bipartite.sql b/sql/bipartite/_bipartite.sql index 2c861a98545..b19e48d1a00 100644 --- a/sql/bipartite/_bipartite.sql +++ b/sql/bipartite/_bipartite.sql @@ -30,3 +30,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- _pgr_bipartite --------------- +CREATE OR REPLACE FUNCTION _pgr_bipartite( + edges_sql TEXT, + + OUT node BIGINT, + OUT color BIGINT) + +RETURNS SETOF RECORD AS +'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + +-- COMMENTS + +COMMENT ON FUNCTION _bipartite(TEXT) +IS 'pgRouting internal function'; From 21a1aa9babec5166778b0275e9f6d7d65e0de633 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 22:38:06 +0530 Subject: [PATCH 0787/1360] [bipartite] bipartite.sql function completed --- sql/bipartite/bipartite.sql | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sql/bipartite/bipartite.sql b/sql/bipartite/bipartite.sql index d729987dc70..220b97d18da 100644 --- a/sql/bipartite/bipartite.sql +++ b/sql/bipartite/bipartite.sql @@ -29,3 +29,28 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -- pgr_bipartite --------------- + +CREATE OR REPLACE FUNCTION pgr_bipartite( + TEXT, -- edges_sql (required) + + OUT node BIGINT, + OUT color BIGINT) +RETURNS SETOF RECORD AS +$BODY$ +BEGIN + RETURN QUERY + SELECT * + FROM _pgr_bipartite(_pgr_get_statement($1)); +END; +$BODY$ +LANGUAGE plpgsql VOLATILE STRICT; + +-- COMMENTS + +COMMENT ON FUNCTION pgr_bipartite(TEXT) +IS 'pgr_bipartite +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_bipartite.html +'; \ No newline at end of file From 179d9684f74a5f58976f857b6ecc6e4506afb135 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 22:38:35 +0530 Subject: [PATCH 0788/1360] [bipartite] c++ undirected graph code --- src/bipartite/bipartite_driver.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/bipartite/bipartite_driver.cpp b/src/bipartite/bipartite_driver.cpp index 3e9bdd40bfa..5e456a6a570 100644 --- a/src/bipartite/bipartite_driver.cpp +++ b/src/bipartite/bipartite_driver.cpp @@ -75,14 +75,16 @@ do_pgr_bipartite( /***********************Working with graph**************************/ log << "Working with undirected Graph\n"; - graphType gType = UNDIRECTED; - pgrouting::DirectedGraph digraph(gType); - digraph.insert_edges(data_edges, total_edges); //Creating graph using data_edges - std::vector results; - pgrouting::functions::Pgr_LTDTree fn_LTDTree; - results=fn_LTDTree.pgr_ltdtree(digraph,root_vertex); - - logstr += fn_LTDTree.get_log(); + graphType gType = directed ? DIRECTED : UNDIRECTED; + /****TODO***/ + //Check if directed then return 0 rows + pgrouting::UndirectedGraph undigraph(gType); + undigraph.insert_edges(data_edges, total_edges);//Creating graph using data_edges + std::vector results; + pgrouting::functions::Pgr_Bipartite fn_Bipartite; + results=fn_Bipartite.pgr_bipartite(undigraph); + + logstr += fn_Bipartite.get_log(); log << logstr; auto count = results.size(); From 0d8134a8c9fe453d71a3025463b61b0f553d44ad Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 22:39:06 +0530 Subject: [PATCH 0789/1360] [bipartite] c++ header without boost --- include/bipartite/pgr_bipartite_driver.hpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/include/bipartite/pgr_bipartite_driver.hpp b/include/bipartite/pgr_bipartite_driver.hpp index ed8474a745d..e401d9b3d8a 100644 --- a/include/bipartite/pgr_bipartite_driver.hpp +++ b/include/bipartite/pgr_bipartite_driver.hpp @@ -37,13 +37,26 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_messages.h" #include #include -#include -#include -#include #include #include +namespace pgrouting { + namespace functions { + + template + class Pgr_Bipartite : public pgrouting::Pgr_messages { + std::vector pgr_bipartite( + G &graph ){ + log<<"Started readiing"< Date: Fri, 24 Jul 2020 22:40:21 +0530 Subject: [PATCH 0790/1360] [bipartite] [docqueries] test and empty file --- docqueries/bipartite/CMakeLists.txt | 2 +- docqueries/bipartite/doc-bipartite.result | 4 +++- docqueries/bipartite/test.conf | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docqueries/bipartite/CMakeLists.txt b/docqueries/bipartite/CMakeLists.txt index e7bfbee5078..d4642dd4d45 100644 --- a/docqueries/bipartite/CMakeLists.txt +++ b/docqueries/bipartite/CMakeLists.txt @@ -1,6 +1,6 @@ # Do not use extensions SET(LOCAL_FILES - doc-LTDTree + doc-biaprtite ) foreach (f ${LOCAL_FILES}) diff --git a/docqueries/bipartite/doc-bipartite.result b/docqueries/bipartite/doc-bipartite.result index 78035a215e8..7d078c4427e 100644 --- a/docqueries/bipartite/doc-bipartite.result +++ b/docqueries/bipartite/doc-bipartite.result @@ -1,4 +1,6 @@ BEGIN; BEGIN +SET client_min_messages TO NOTICE; +SET ROLLBACK; -ROLLBACK +ROLLBACK \ No newline at end of file diff --git a/docqueries/bipartite/test.conf b/docqueries/bipartite/test.conf index 06914f86ba5..4a56a4302c2 100644 --- a/docqueries/bipartite/test.conf +++ b/docqueries/bipartite/test.conf @@ -2,13 +2,13 @@ %main::tests = ( 'any' => { - 'comment' => 'lengauer_tarjan_dominator_tree algorithm tests', + 'comment' => 'is_biaprtite algorithm tests', 'data' => [ ], 'tests' => [qw( - doc-LTDTree + doc-bipartite )], 'documentation' => [qw( - doc-LTDTree + doc-bipartite )] }, From a00a89d1f484a53b56df4fe22df79379f3ba40b5 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 23:30:12 +0530 Subject: [PATCH 0791/1360] [bipartite]signature error solved --- sql/bipartite/_bipartite.sql | 2 +- sql/bipartite/bipartite.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/bipartite/_bipartite.sql b/sql/bipartite/_bipartite.sql index b19e48d1a00..37a41d76083 100644 --- a/sql/bipartite/_bipartite.sql +++ b/sql/bipartite/_bipartite.sql @@ -42,5 +42,5 @@ LANGUAGE C IMMUTABLE STRICT; -- COMMENTS -COMMENT ON FUNCTION _bipartite(TEXT) +COMMENT ON FUNCTION _pgr_bipartite(TEXT) IS 'pgRouting internal function'; diff --git a/sql/bipartite/bipartite.sql b/sql/bipartite/bipartite.sql index 220b97d18da..9e11b2005ab 100644 --- a/sql/bipartite/bipartite.sql +++ b/sql/bipartite/bipartite.sql @@ -31,7 +31,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- CREATE OR REPLACE FUNCTION pgr_bipartite( - TEXT, -- edges_sql (required) + TEXT, -- edges_sql (required) OUT node BIGINT, OUT color BIGINT) From c08b3e64df874ce96fc9179baa346d85134cd982 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 23:30:47 +0530 Subject: [PATCH 0792/1360] [bipartite]added signature to 3.2.0 --- sql/sigs/pgrouting--3.2.0.sig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index 7cd855040e1..64a73755f16 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -50,6 +50,8 @@ pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) +_pgr_bipartite(text) +pgr_bipartite(text) _pgr_boost_version() pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) From c37b04221eebefac5edc5d894b118d3e64990045 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 23:31:32 +0530 Subject: [PATCH 0793/1360] [bipartite]returning zero rows --- src/bipartite/bipartite.c | 10 +++++----- src/bipartite/bipartite_driver.cpp | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/bipartite/bipartite.c b/src/bipartite/bipartite.c index 3d684a7ab0c..97d1a524613 100644 --- a/src/bipartite/bipartite.c +++ b/src/bipartite/bipartite.c @@ -48,11 +48,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pgr_bipartite_rt.h" #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "drivers/bipartite/bipartie_driver.h" +#include "drivers/bipartite/bipartite_driver.h" +//#include "drivers/bipartite/bipartie_driver.h" PGDLLEXPORT Datum _pgr_bipartite (PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_bipartite ); +PG_FUNCTION_INFO_V1(_pgr_bipartite); static @@ -164,11 +165,10 @@ _pgr_bipartite(PG_FUNCTION_ARGS) { nulls[i] = false; } //Set your outputs from result_tuple - /* + values[0] = Int32GetDatum(call_cntr + 1); values[1] = Int64GetDatum(result_tuples[call_cntr].vid); - values[2] = Int64GetDatum(result_tuples[call_cntr].idom); - */ + values[2] = Int64GetDatum(result_tuples[call_cntr].color); tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); diff --git a/src/bipartite/bipartite_driver.cpp b/src/bipartite/bipartite_driver.cpp index 5e456a6a570..ecfba0b9cb4 100644 --- a/src/bipartite/bipartite_driver.cpp +++ b/src/bipartite/bipartite_driver.cpp @@ -31,7 +31,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /************************************************************ edges_sql TEXT ***********************************************************/ -#include "drivers/bipartite/bipartie_driver.h" +#include "drivers/bipartite/bipartite_driver.h" #include "bipartite/pgr_bipartite_driver.hpp" #include "c_types/pgr_bipartite_rt.h" #include @@ -75,7 +75,7 @@ do_pgr_bipartite( /***********************Working with graph**************************/ log << "Working with undirected Graph\n"; - graphType gType = directed ? DIRECTED : UNDIRECTED; + graphType gType = UNDIRECTED; /****TODO***/ //Check if directed then return 0 rows pgrouting::UndirectedGraph undigraph(gType); From ad0284de3c76b88d0b5eaa906119c8d63e6d3122 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 24 Jul 2020 23:31:55 +0530 Subject: [PATCH 0794/1360] [bipartite]added todo --- include/bipartite/pgr_bipartite_driver.hpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/include/bipartite/pgr_bipartite_driver.hpp b/include/bipartite/pgr_bipartite_driver.hpp index e401d9b3d8a..a808f284900 100644 --- a/include/bipartite/pgr_bipartite_driver.hpp +++ b/include/bipartite/pgr_bipartite_driver.hpp @@ -43,12 +43,20 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. namespace pgrouting { namespace functions { - template class Pgr_Bipartite : public pgrouting::Pgr_messages { + public: std::vector pgr_bipartite( G &graph ){ - log<<"Started readiing"< results(graph.num_vertices()); + return results; + + /***Todo + * we might need to define sequance in pgr_.sql file + * + + } From d54a0a148c9794f9c9a639bcf0a4d1b6b1fca7c9 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 25 Jul 2020 14:34:17 +0530 Subject: [PATCH 0795/1360] [Bipartite] able to check graph is bipartite --- include/bipartite/pgr_bipartite_driver.hpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/include/bipartite/pgr_bipartite_driver.hpp b/include/bipartite/pgr_bipartite_driver.hpp index a808f284900..b0e04ba299c 100644 --- a/include/bipartite/pgr_bipartite_driver.hpp +++ b/include/bipartite/pgr_bipartite_driver.hpp @@ -37,8 +37,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_messages.h" #include #include +#include #include #include +#include namespace pgrouting { @@ -46,15 +48,28 @@ namespace pgrouting { template class Pgr_Bipartite : public pgrouting::Pgr_messages { public: + + typedef typename G::V_i V_i; + + + + std::vector pgr_bipartite( G &graph ){ log<<"Started reading"< results(graph.num_vertices()); - return results; + /***Todo * we might need to define sequance in pgr_.sql file - * + * */ + bool bipartite = is_bipartite (graph.graph); + if(bipartite) + { + //print_Bipartite(results,graph); + } + return results; + From 11445a58ab81f7fce1a0ca4f07034eeb9b94401e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 25 Jul 2020 14:35:29 +0530 Subject: [PATCH 0796/1360] [Bipartite] print function (System crashed) --- include/bipartite/pgr_bipartite_driver.hpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/include/bipartite/pgr_bipartite_driver.hpp b/include/bipartite/pgr_bipartite_driver.hpp index b0e04ba299c..e7b6de2b198 100644 --- a/include/bipartite/pgr_bipartite_driver.hpp +++ b/include/bipartite/pgr_bipartite_driver.hpp @@ -50,7 +50,24 @@ namespace pgrouting { public: typedef typename G::V_i V_i; - + void print_Bipartite(std::vector &results, G &graph) + { + typedef std::vector partition_t; + + partition_t partition; + auto partition_map = make_iterator_property_map(partition.begin (), boost::get (boost::vertex_index, graph.graph)); + is_bipartite (graph.graph, boost::get (boost::vertex_index, graph.graph), partition_map); + + V_i vertex_iter, vertex_end; +/* + for (boost::tie (vertex_iter, vertex_end) = vertices (graph.graph); vertex_iter != vertex_end; ++vertex_iter) + { + log << "Vertex " << *vertex_iter << " has color " << (boost::get (partition_map, *vertex_iter) == boost::color_traits < + boost::default_color_type>::white () ? "white" : "black") << std::endl; + } + */ + return + } @@ -66,7 +83,7 @@ namespace pgrouting { bool bipartite = is_bipartite (graph.graph); if(bipartite) { - //print_Bipartite(results,graph); + print_Bipartite(results,graph); } return results; From 9809ac878b5d64d1c16a4d220247f07168a9a718 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 25 Jul 2020 22:16:03 +0530 Subject: [PATCH 0797/1360] Fixed server crash --- include/bipartite/pgr_bipartite_driver.hpp | 36 ++++++++++++++++------ 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/include/bipartite/pgr_bipartite_driver.hpp b/include/bipartite/pgr_bipartite_driver.hpp index e7b6de2b198..b7790e0629c 100644 --- a/include/bipartite/pgr_bipartite_driver.hpp +++ b/include/bipartite/pgr_bipartite_driver.hpp @@ -52,21 +52,39 @@ namespace pgrouting { typedef typename G::V_i V_i; void print_Bipartite(std::vector &results, G &graph) { - typedef std::vector partition_t; + std::vector partition (graph.num_vertices()); - partition_t partition; + auto partition_map = make_iterator_property_map(partition.begin (), boost::get (boost::vertex_index, graph.graph)); + + + try { + // calling the boost function is_bipartite (graph.graph, boost::get (boost::vertex_index, graph.graph), partition_map); + } catch (boost::exception const& ex) { + (void)ex; + throw; + } catch (std::exception &e) { + (void)e; + throw; + } catch (...) { + throw; + } + // V_i vertex_iter, vertex_end; -/* - for (boost::tie (vertex_iter, vertex_end) = vertices (graph.graph); vertex_iter != vertex_end; ++vertex_iter) - { - log << "Vertex " << *vertex_iter << " has color " << (boost::get (partition_map, *vertex_iter) == boost::color_traits < - boost::default_color_type>::white () ? "white" : "black") << std::endl; + + V_i v, vend; + + // iterate through every vertex in the graph + for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { + + int64_t vid = graph[*v].id; + auto color =(boost::get (partition_map, *v) == boost::color_traits ::white () ? "white" : "black"); + log< Date: Sat, 25 Jul 2020 22:38:29 +0530 Subject: [PATCH 0798/1360] Returning expected output --- include/bipartite/pgr_bipartite_driver.hpp | 27 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/include/bipartite/pgr_bipartite_driver.hpp b/include/bipartite/pgr_bipartite_driver.hpp index b7790e0629c..b7882a86137 100644 --- a/include/bipartite/pgr_bipartite_driver.hpp +++ b/include/bipartite/pgr_bipartite_driver.hpp @@ -50,12 +50,14 @@ namespace pgrouting { public: typedef typename G::V_i V_i; - void print_Bipartite(std::vector &results, G &graph) + std::vector print_Bipartite( G &graph) { + std::vector results; std::vector partition (graph.num_vertices()); - + auto partition_map = make_iterator_property_map(partition.begin (), boost::get (boost::vertex_index, graph.graph)); + try { @@ -72,7 +74,7 @@ namespace pgrouting { } // - V_i vertex_iter, vertex_end; + V_i v, vend; @@ -81,9 +83,26 @@ namespace pgrouting { int64_t vid = graph[*v].id; auto color =(boost::get (partition_map, *v) == boost::color_traits ::white () ? "white" : "black"); + if(color=="white") + { + results.push_back( + { + vid,0 + } + ); + } + else + { + results.push_back( + { + vid,1 + } + ); + } log< Date: Sat, 25 Jul 2020 22:39:30 +0530 Subject: [PATCH 0799/1360] [Bipartite]fixed output column --- src/bipartite/bipartite.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/bipartite/bipartite.c b/src/bipartite/bipartite.c index 97d1a524613..973c3fcc802 100644 --- a/src/bipartite/bipartite.c +++ b/src/bipartite/bipartite.c @@ -153,11 +153,11 @@ _pgr_bipartite(PG_FUNCTION_ARGS) { Datum result; Datum *values; bool *nulls; - int16 typlen; + // int16 typlen; size_t call_cntr = funcctx->call_cntr; - size_t numb = 3; //Number of columns in outputs + size_t numb = 2; //Number of columns in outputs values =(Datum *)palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); size_t i; @@ -166,9 +166,9 @@ _pgr_bipartite(PG_FUNCTION_ARGS) { } //Set your outputs from result_tuple - values[0] = Int32GetDatum(call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[call_cntr].vid); - values[2] = Int64GetDatum(result_tuples[call_cntr].color); + //values[0] = Int32GetDatum(call_cntr + 1); + values[0] = Int64GetDatum(result_tuples[call_cntr].vid); + values[1] = Int64GetDatum(result_tuples[call_cntr].color); tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); From d8d9be42c4a0d84550d19b4ac7236afb59d3e724 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 11:01:47 +0530 Subject: [PATCH 0800/1360] [Bipartite] make file --- Bipaertite_run.sh | 143 +++++++++++++++++++++++++++++++++++ doc/bipartite/CMakeLists.txt | 2 +- 2 files changed, 144 insertions(+), 1 deletion(-) create mode 100755 Bipaertite_run.sh diff --git a/Bipaertite_run.sh b/Bipaertite_run.sh new file mode 100755 index 00000000000..6e6ae8c2a3a --- /dev/null +++ b/Bipaertite_run.sh @@ -0,0 +1,143 @@ +#!/bin/bash + +set -e + + +# copy this file into the root of your repository +# adjust to your needs + +# This run.sh is intended for 3.0.0 +VERSION=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) + +# set up your postgres version and port +PGVERSION="12" +PGPORT="5432" +PGBIN="/usr/lib/postgresql/${PGVERSION}/bin" + +# Compiler setup + +# When more than one compiler is installed +GCC="9" + +# Using the default compiler version +unset GCC + + +ALLDIRS=" +bipartite +" + +TESTDIRS=${ALLDIRS} +TESTDIRS="bipartite" + + +function test_compile { + +echo ------------------------------------ +echo ------------------------------------ +echo "Compiling with G++-$1" +echo ------------------------------------ + +if [ ! -z "$1" ]; then + update-alternatives --set gcc /usr/bin/gcc-$1 +fi + + +cd build/ + + +# Using all defaults +#cmake .. + +# Options Release RelWithDebInfo MinSizeRel Debug +#cmake -DCMAKE_BUILD_TYPE=Debug .. + +# Additional debug information +#cmake -DPgRouting_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug .. + +# with documentation (like the one the website) +#cmake -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON .. + +# with developers documentation +#cmake -DWITH_DOC=ON -DBUILD_DOXY=ON .. + +cmake -DPOSTGRESQL_BIN=${PGBIN} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_LATEX=ON -DCMAKE_BUILD_TYPE=Debug .. + +make -j 4 +sudo make install +cd .. + + +echo +echo -------------------------------------------- +echo Execute documentation queries for a particular directories +echo -------------------------------------------- + + +# choose what is going to be tested while developing + + + + + +echo +echo -------------------------------------------- +echo Update signatures +echo -------------------------------------------- + +sh tools/release-scripts/get_signatures.sh -p ${PGPORT} + + +if [[ $(git status | grep 'pgrouting--') ]]; then + echo "**************************************************" + echo " WARNING" + echo "the signatures changed, copyed the generated files" + echo "Plese verify the changes are minimal" + echo "**************************************************" + git diff sql/sigs +fi + + +################################ +################################ +## checks all the repository +# +# the rest of the script use PGPORT variable +################################ +################################ +echo +echo -------------------------------------------- +echo Update / Verify NEWS +echo -------------------------------------------- +tools/release-scripts/notes2news.pl +if [[ $(git status | grep 'NEWS') ]]; then + echo "**************************************************" + echo " WARNING" + echo "the signatures changed, copying generated files" + echo "Plese verify the changes are minimal" + echo "**************************************************" + git diff NEWS +fi + +######################################################## +# Execute documentation queries for the whole project +######################################################## + + +######################################################## +# pgTap test all +######################################################## + +#tools/testers/update-tester.sh +exit +} + +# Uncomment what you need +for compiler in GCC +do + if [ ! -z "$1" ]; then + echo "Fresh build" + rm -rf build/* + fi + test_compile ${GCC} +done diff --git a/doc/bipartite/CMakeLists.txt b/doc/bipartite/CMakeLists.txt index 95306a32c5c..92ab93fa512 100644 --- a/doc/bipartite/CMakeLists.txt +++ b/doc/bipartite/CMakeLists.txt @@ -1,6 +1,6 @@ SET(LOCAL_FILES - pgr_LTDTree.rst + pgr_bipartite.rst ) foreach (f ${LOCAL_FILES}) From b0641b9344f30713075c04172284038f78e449e5 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 11:02:13 +0530 Subject: [PATCH 0801/1360] [Bipartite] [doc] user doc with 1 examle --- doc/bipartite/pgr_bipartite.rst | 45 +++++++++++++++------------------ 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/doc/bipartite/pgr_bipartite.rst b/doc/bipartite/pgr_bipartite.rst index 5c0d740fbc4..bd2daa8e29b 100644 --- a/doc/bipartite/pgr_bipartite.rst +++ b/doc/bipartite/pgr_bipartite.rst @@ -6,18 +6,15 @@ This documentation is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ **************************************************************************** -.. index:: - single: pgr_lengauer_tarjan_dominator_tree -Experimental (Complete Doc) -.. _pgr_lengauer_tarjan_dominator_tree: - -pgr_lengauer_tarjan_dominator_tree -Experimental + +pgr_bipartite -Experimental =============================================================================== -``pgr_lengauer_tarjan_dominator_tree`` — Returns the immediate dominator of all vertices. -In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost.Graph. +``pgr_bipartite`` — If graph is bipartite then function returns the vertex id along with color (0 and 1) else it will return an empty set. +In particular, the is_bipartite() algorithm implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg - :target: https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm + :target: https://www.boost.org/doc/libs/1_53_0/libs/graph/doc/is_bipartite.html Boost Graph Inside @@ -30,7 +27,9 @@ In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost Description ------------------------------------------------------------------------------- -Lengauer Tarjan Dominator Tree algorithm is used to make dominator tree of any graph. It calculates the immidiate dominator of each vertex called idom, once idom of each vertex is calculated then by making every idom of each vertex as its parent, the dominator tree can be built. +A bipartite graph is a graph with two sets of vertices which are connected to each other, but not within themselves. +A bipartite graph is possible if the graph coloring is possible using two colors such that vertices in a set are colored with the same color. + Signatures ------------------------------------------------------------------------------- @@ -39,14 +38,14 @@ Signatures .. code-block:: sql - pgr_lengauer_tarjan_dominator_tree(edges_sql,root) - RETURNS SET OF (id,vid,idom) + pgr_bipartite(edges_sql) + RETURNS SET OF (vid,color) :Example: **TBD** .. index:: - single: LTDTree + single: pgr_bipartaite Complete Signature ............................................................................... @@ -54,11 +53,11 @@ Complete Signature .. code-block:: sql -:Example: The lengauer_tarjan_dominator_tree with root vertex :math:`2` +:Example: The pgr_bipartite algorithm with and edge_sql as a parameter when graph is bipartite: -.. literalinclude:: doc-LTDTree.queries - :start-after: -- q1 - :end-before: -- q2 +.. literalinclude:: doc-bipartite.queries + :start-after: --q1 + :end-before: --q2 Parameters ------------------------------------------------------------------------------- @@ -67,7 +66,6 @@ Parameters Column Type Description ============== ============ ================================================= **edges_sql** ``TEXT`` SQL query as described above. -**root_vid** ``BIGINT`` Identifier of the starting vertex. ============== ============ ================================================= @@ -81,14 +79,13 @@ Inner query Result Columns ------------------------------------------------------------------------------- -Returns set of ``(seq, vid,idom)`` +Returns set of ``(vid,color)`` ============== =========== ================================================= Column Type Description ============== =========== ================================================= -**seq** ``INTEGER`` Sequential value starting from **1**. **vid** ``BIGINT`` Identifier of vertex . -**idom** ``BIGINT`` Immediate dominator of vertex. +**color** ``BIGINT`` ``0``: White, ``1``:Black ============== =========== ================================================= Additional Examples @@ -98,16 +95,16 @@ Additional Examples The examples in this section use the following :ref:`fig1` -.. literalinclude:: doc-LTDTree.queries +.. literalinclude:: doc-bipartite.queries :start-after: --q1 :end-before: --q2 See Also ------------------------------------------------------------------------------- -* https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm -* https://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/a%20fast%20algorithm%20for%20finding.pdf -* https://www.boost.org/doc/libs/1_64_0/libs/graph/doc/two_graphs_common_spanning_trees.html +* https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/is_bipartite.html +* https://en.wikipedia.org/wiki/Bipartite_graph +* https://www.cs.cmu.edu/afs/cs/academic/class/15210-f11/www/lectures/16/lecture16.pdf * :doc:`sampledata` network. .. rubric:: Indices and tables From 230cf588589bf515fe0455d0e0c4dc2545822992 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 11:02:37 +0530 Subject: [PATCH 0802/1360] [Bipartite] docquries make file --- docqueries/bipartite/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docqueries/bipartite/CMakeLists.txt b/docqueries/bipartite/CMakeLists.txt index d4642dd4d45..9c2f94874da 100644 --- a/docqueries/bipartite/CMakeLists.txt +++ b/docqueries/bipartite/CMakeLists.txt @@ -1,6 +1,6 @@ # Do not use extensions SET(LOCAL_FILES - doc-biaprtite + doc-bipartite ) foreach (f ${LOCAL_FILES}) From 5c86d854efb19da8aa5e43bfc7040af346821c51 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 11:03:12 +0530 Subject: [PATCH 0803/1360] [Bipartite] docquries with 1 example --- docqueries/bipartite/doc-bipartite.result | 26 ++++++++++++++++++++- docqueries/bipartite/doc-bipartite.test.sql | 3 +++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/docqueries/bipartite/doc-bipartite.result b/docqueries/bipartite/doc-bipartite.result index 7d078c4427e..a9498f78fac 100644 --- a/docqueries/bipartite/doc-bipartite.result +++ b/docqueries/bipartite/doc-bipartite.result @@ -2,5 +2,29 @@ BEGIN; BEGIN SET client_min_messages TO NOTICE; SET +--q1 +select * from pgr_bipartite($$select id,source,target,cost,reverse_cost from edge_table$$); + node | color +------+------- + 1 | 0 + 2 | 1 + 3 | 0 + 4 | 1 + 5 | 0 + 6 | 1 + 7 | 0 + 8 | 1 + 9 | 0 + 10 | 1 + 11 | 0 + 12 | 1 + 13 | 0 + 14 | 0 + 15 | 1 + 16 | 0 + 17 | 1 +(17 rows) + +--q2 ROLLBACK; -ROLLBACK \ No newline at end of file +ROLLBACK diff --git a/docqueries/bipartite/doc-bipartite.test.sql b/docqueries/bipartite/doc-bipartite.test.sql index e69de29bb2d..ebc38a01da5 100644 --- a/docqueries/bipartite/doc-bipartite.test.sql +++ b/docqueries/bipartite/doc-bipartite.test.sql @@ -0,0 +1,3 @@ +\echo --q1 +select * from pgr_bipartite($$select id,source,target,cost,reverse_cost from edge_table$$); +\echo --q2 From 17c0ac9406cadc0a3d8176e1a7e61401bcf92dd0 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 11:03:38 +0530 Subject: [PATCH 0804/1360] [Bipartite] fixing error of config --- docqueries/bipartite/test.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docqueries/bipartite/test.conf b/docqueries/bipartite/test.conf index 4a56a4302c2..1d66b5f1a91 100644 --- a/docqueries/bipartite/test.conf +++ b/docqueries/bipartite/test.conf @@ -2,7 +2,7 @@ %main::tests = ( 'any' => { - 'comment' => 'is_biaprtite algorithm tests', + 'comment' => 'is_bipartite algorithm tests', 'data' => [ ], 'tests' => [qw( doc-bipartite From d8a290dc0776775e247f28bd638c318f01847b38 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 11:04:07 +0530 Subject: [PATCH 0805/1360] configuration file --- configuration.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration.conf b/configuration.conf index c30db43bd2b..bc5743b737a 100644 --- a/configuration.conf +++ b/configuration.conf @@ -43,7 +43,7 @@ breadthFirstSearch | Y | Y | Y traversal | Y | Y | Y coloring | Y | Y | Y planar | Y | Y | Y -ltdtree | N | N | N +LTDTree | Y | Y | Y #---------------------- # SQL only directories #---------------------- From e1635eba77319424d7ac2b6230de8122979f5d4d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 22:41:09 +0530 Subject: [PATCH 0806/1360] [MRT] removing from gsoc-prakash --- .vscode/settings.json | 66 ++++++++ Bipaertite_run.sh | 143 ------------------ .../pgr_two_graphs_common_spanning_trees.rst | 113 -------------- 3 files changed, 66 insertions(+), 256 deletions(-) create mode 100644 .vscode/settings.json delete mode 100755 Bipaertite_run.sh delete mode 100644 doc/spanningTree/pgr_two_graphs_common_spanning_trees.rst diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000000..e8646a4a2e2 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,66 @@ +{ + "files.associations": { + "vector": "cpp", + "cctype": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "csignal": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "array": "cpp", + "atomic": "cpp", + "strstream": "cpp", + "bit": "cpp", + "*.tcc": "cpp", + "bitset": "cpp", + "chrono": "cpp", + "complex": "cpp", + "cstdint": "cpp", + "deque": "cpp", + "list": "cpp", + "map": "cpp", + "set": "cpp", + "unordered_map": "cpp", + "unordered_set": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "ratio": "cpp", + "string": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "fstream": "cpp", + "initializer_list": "cpp", + "iomanip": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "limits": "cpp", + "new": "cpp", + "ostream": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "thread": "cpp", + "cfenv": "cpp", + "cinttypes": "cpp", + "typeindex": "cpp", + "typeinfo": "cpp", + "variant": "cpp" + } +} \ No newline at end of file diff --git a/Bipaertite_run.sh b/Bipaertite_run.sh deleted file mode 100755 index 6e6ae8c2a3a..00000000000 --- a/Bipaertite_run.sh +++ /dev/null @@ -1,143 +0,0 @@ -#!/bin/bash - -set -e - - -# copy this file into the root of your repository -# adjust to your needs - -# This run.sh is intended for 3.0.0 -VERSION=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) - -# set up your postgres version and port -PGVERSION="12" -PGPORT="5432" -PGBIN="/usr/lib/postgresql/${PGVERSION}/bin" - -# Compiler setup - -# When more than one compiler is installed -GCC="9" - -# Using the default compiler version -unset GCC - - -ALLDIRS=" -bipartite -" - -TESTDIRS=${ALLDIRS} -TESTDIRS="bipartite" - - -function test_compile { - -echo ------------------------------------ -echo ------------------------------------ -echo "Compiling with G++-$1" -echo ------------------------------------ - -if [ ! -z "$1" ]; then - update-alternatives --set gcc /usr/bin/gcc-$1 -fi - - -cd build/ - - -# Using all defaults -#cmake .. - -# Options Release RelWithDebInfo MinSizeRel Debug -#cmake -DCMAKE_BUILD_TYPE=Debug .. - -# Additional debug information -#cmake -DPgRouting_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug .. - -# with documentation (like the one the website) -#cmake -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON .. - -# with developers documentation -#cmake -DWITH_DOC=ON -DBUILD_DOXY=ON .. - -cmake -DPOSTGRESQL_BIN=${PGBIN} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_LATEX=ON -DCMAKE_BUILD_TYPE=Debug .. - -make -j 4 -sudo make install -cd .. - - -echo -echo -------------------------------------------- -echo Execute documentation queries for a particular directories -echo -------------------------------------------- - - -# choose what is going to be tested while developing - - - - - -echo -echo -------------------------------------------- -echo Update signatures -echo -------------------------------------------- - -sh tools/release-scripts/get_signatures.sh -p ${PGPORT} - - -if [[ $(git status | grep 'pgrouting--') ]]; then - echo "**************************************************" - echo " WARNING" - echo "the signatures changed, copyed the generated files" - echo "Plese verify the changes are minimal" - echo "**************************************************" - git diff sql/sigs -fi - - -################################ -################################ -## checks all the repository -# -# the rest of the script use PGPORT variable -################################ -################################ -echo -echo -------------------------------------------- -echo Update / Verify NEWS -echo -------------------------------------------- -tools/release-scripts/notes2news.pl -if [[ $(git status | grep 'NEWS') ]]; then - echo "**************************************************" - echo " WARNING" - echo "the signatures changed, copying generated files" - echo "Plese verify the changes are minimal" - echo "**************************************************" - git diff NEWS -fi - -######################################################## -# Execute documentation queries for the whole project -######################################################## - - -######################################################## -# pgTap test all -######################################################## - -#tools/testers/update-tester.sh -exit -} - -# Uncomment what you need -for compiler in GCC -do - if [ ! -z "$1" ]; then - echo "Fresh build" - rm -rf build/* - fi - test_compile ${GCC} -done diff --git a/doc/spanningTree/pgr_two_graphs_common_spanning_trees.rst b/doc/spanningTree/pgr_two_graphs_common_spanning_trees.rst deleted file mode 100644 index e26a910c400..00000000000 --- a/doc/spanningTree/pgr_two_graphs_common_spanning_trees.rst +++ /dev/null @@ -1,113 +0,0 @@ -.. - **************************************************************************** - pgRouting Manual - Copyright(c) pgRouting Contributors - - This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ - **************************************************************************** -.. index:: - single: pgr_two_graphs_common_spanning_trees -Experimental (Complete Doc) -.. _pgr_two_graphs_common_spanning_trees: - -pgr_two_graphs_common_spanning_trees -Experimental -=============================================================================== - -``pgr_two_graphs_common_spanning_trees`` — Set of edges of all common spanning trees. -In particular, the two_graphs_common_spanning_trees algorithm implemented by Boost.Graph. - -.. figure:: images/boost-inside.jpeg - :target: https://www.boost.org/doc/libs/1_54_0/libs/graph/doc/two_graphs_common_spanning_trees.html - - Boost Graph Inside - -.. include:: experimental.rst - :start-after: begin-warn-expr - :end-before: end-warn-expr - -.. rubric:: Availability - - -Description -------------------------------------------------------------------------------- -A spanning tree is a subset of Graph G, which has all the vertices covered with the minimum possible number of edges. Hence, a spanning tree does not have cycles and it cannot be disconnected. -Now, imagine there are two graphs that are represented as lists of edges. A common spanning tree is a set of indices that identifies a spanning tree for both the first and for the second of the two graphs. Both graphs can have multiple common spanning trees. - -Signatures -------------------------------------------------------------------------------- - -.. rubric:: Summary - -.. code-block:: sql - - pgr_two_graphs_common_spanning_trees(edges_sql_1,edges_sql_2,directed) - RETURNS SET OF (seq,tree_edges[]) - - -:Example: **TBD** - -.. index:: - single: two_graphs_common_spanning_trees - -Complete Signature -............................................................................... - -.. code-block:: sql - - -:Example: - -Parameters -------------------------------------------------------------------------------- - -============== ============ ================================================= -Column Type Description -============== ============ ================================================= -**edges_sql** ``TEXT`` SQL query as described above. -**root_vid** ``BIGINT`` Identifier of the starting vertex. -============== ============ ================================================= - - -Inner query -------------------------------------------------------------------------------- - -.. include:: pgRouting-concepts.rst - :start-after: basic_edges_sql_start - :end-before: basic_edges_sql_end - -Result Columns -------------------------------------------------------------------------------- - -Returns set of ``(seq, vid,idom)`` - -============== =========== ================================================= -Column Type Description -============== =========== ================================================= -**seq** ``INTEGER`` Sequential value starting from **1**. -**vid** ``BIGINT`` Identifier of vertex . -**idom** ``BIGINT`` Immediate dominator of vertex. -============== =========== ================================================= - -Additional Examples ------------------------------------------------------------------------------------------- - -:Example: To handle the one flag to choose signatures - -The examples in this section use the following :ref:`fig1` - -.. literalinclude:: doc-LTDTree.queries - :start-after: --q1 - :end-before: --q2 - -See Also -------------------------------------------------------------------------------- - -* https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm -* https://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/a%20fast%20algorithm%20for%20finding.pdf -* https://www.boost.org/doc/libs/1_64_0/libs/graph/doc/two_graphs_common_spanning_trees.html -* :doc:`sampledata` network. - -.. rubric:: Indices and tables - -* :ref:`genindex` -* :ref:`search` From 3ee7bf01ac97a57e1585d5ea6bdec0fb711670db Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 22:48:50 +0530 Subject: [PATCH 0807/1360] [MRT] removing docqueries from gsoc-prakash --- docqueries/spanningTree/CMakeLists.txt | 1 - docqueries/spanningTree/doc-mrt.result | 6 ------ docqueries/spanningTree/doc-mrt.test.sql | 0 3 files changed, 7 deletions(-) delete mode 100644 docqueries/spanningTree/doc-mrt.result delete mode 100644 docqueries/spanningTree/doc-mrt.test.sql diff --git a/docqueries/spanningTree/CMakeLists.txt b/docqueries/spanningTree/CMakeLists.txt index c67e11141cd..375c5995156 100644 --- a/docqueries/spanningTree/CMakeLists.txt +++ b/docqueries/spanningTree/CMakeLists.txt @@ -9,7 +9,6 @@ SET(LOCAL_FILES doc-pgr_primDFS doc-pgr_prim doc-pgr_randomSpanTree - doc-mrt ) foreach (f ${LOCAL_FILES}) diff --git a/docqueries/spanningTree/doc-mrt.result b/docqueries/spanningTree/doc-mrt.result deleted file mode 100644 index 7d078c4427e..00000000000 --- a/docqueries/spanningTree/doc-mrt.result +++ /dev/null @@ -1,6 +0,0 @@ -BEGIN; -BEGIN -SET client_min_messages TO NOTICE; -SET -ROLLBACK; -ROLLBACK \ No newline at end of file diff --git a/docqueries/spanningTree/doc-mrt.test.sql b/docqueries/spanningTree/doc-mrt.test.sql deleted file mode 100644 index e69de29bb2d..00000000000 From dfb7f7ba370aac8f129b2042989e22a818259525 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 23:16:12 +0530 Subject: [PATCH 0808/1360] [bipartite] checking for interruption --- include/bipartite/pgr_bipartite_driver.hpp | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/include/bipartite/pgr_bipartite_driver.hpp b/include/bipartite/pgr_bipartite_driver.hpp index b7882a86137..52ff8898f70 100644 --- a/include/bipartite/pgr_bipartite_driver.hpp +++ b/include/bipartite/pgr_bipartite_driver.hpp @@ -41,6 +41,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include "cpp_common/interruption.h" namespace pgrouting { @@ -60,21 +61,11 @@ namespace pgrouting { - try { - // calling the boost function + /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ + CHECK_FOR_INTERRUPTS(); is_bipartite (graph.graph, boost::get (boost::vertex_index, graph.graph), partition_map); - } catch (boost::exception const& ex) { - (void)ex; - throw; - } catch (std::exception &e) { - (void)e; - throw; - } catch (...) { - throw; - } - // - - + + V_i v, vend; From ffd3d23a89da9f76457730fa9bff7eea5d69e4bb Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 23:16:37 +0530 Subject: [PATCH 0809/1360] [ltdtree] checking for interruption --- include/LTDTree/pgr_LTDTree_driver.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 53633fd41f7..0688013066a 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -42,6 +42,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include "cpp_common/interruption.h" using namespace boost; using namespace std; @@ -73,6 +74,9 @@ namespace pgrouting { auto domTreePredMap = make_iterator_property_map(domTreePredVector.begin(), boost::get(boost::vertex_index, graph.graph)); + + /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ + CHECK_FOR_INTERRUPTS(); lengauer_tarjan_dominator_tree(graph.graph, graph.get_V(root), domTreePredMap); From 698597694692f774bbaa767534e02d09ec22b530 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 23:42:04 +0530 Subject: [PATCH 0810/1360] [LTDTree] clean c code written --- src/LTDTree/LTDTree.c | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/src/LTDTree/LTDTree.c b/src/LTDTree/LTDTree.c index 93b5ca58eaf..12634a92060 100644 --- a/src/LTDTree/LTDTree.c +++ b/src/LTDTree/LTDTree.c @@ -34,22 +34,16 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "c_common/postgres_connection.h" -#include "utils/array.h" -#include "catalog/pg_type.h" -#include "utils/lsyscache.h" - -#ifndef INT8ARRAYOID -#define INT8ARRAYOID 1016 -#endif #include "c_common/debug_macro.h" #include "c_common/e_report.h" #include "c_common/time_msg.h" #include "c_types/pgr_ltdtree_rt.h" #include "c_common/edges_input.h" -#include "c_common/arrays_input.h" + #include "drivers/LTDTree/LTDTree_driver.h" + PGDLLEXPORT Datum _pgr_lengauer_tarjan_dominator_tree (PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_lengauer_tarjan_dominator_tree ); @@ -60,12 +54,11 @@ process(char* edges_sql, int64_t root_vertex, pgr_ltdtree_rt **result_tuples, size_t *result_count) { - //result_count is a pointer it means we do not need to return - // but it will count, initially it is 0 pgr_SPI_connect(); size_t total_edges = 0; pgr_edge_t* edges = NULL; + pgr_get_edges(edges_sql, &edges, &total_edges); if (total_edges == 0) { pgr_SPI_finish(); @@ -109,7 +102,6 @@ _pgr_lengauer_tarjan_dominator_tree(PG_FUNCTION_ARGS) { TupleDesc tuple_desc; /**********************************************************************/ - pgr_ltdtree_rt *result_tuples =NULL; size_t result_count = 0; /**********************************************************************/ @@ -122,50 +114,50 @@ _pgr_lengauer_tarjan_dominator_tree(PG_FUNCTION_ARGS) { process( - text_to_cstring(PG_GETARG_TEXT_P(0)), //Converting sql to string - PG_GETARG_INT64(1), //2nd parameter //BIGINT to int_64 + text_to_cstring(PG_GETARG_TEXT_P(0)), + PG_GETARG_INT64(1), &result_tuples, &result_count); /**********************************************************************/ #if PGSQL_VERSION > 95 - funcctx->max_calls = result_count; //result_count is updated in process function call + funcctx->max_calls = result_count; #else funcctx->max_calls = (uint32_t)result_count; #endif - funcctx->user_fctx = result_tuples; // + funcctx->user_fctx = result_tuples; if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("function returning record called in context " "that cannot accept type record"))); - funcctx->tuple_desc = tuple_desc; //contains tuple description + funcctx->tuple_desc = tuple_desc; MemoryContextSwitchTo(oldcontext); } funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_ltdtree_rt*) funcctx->user_fctx; //converting structure + result_tuples = (pgr_ltdtree_rt*) funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; //We will set all the values + HeapTuple tuple; Datum result; Datum *values; bool *nulls; - int16 typlen; + size_t call_cntr = funcctx->call_cntr; - size_t numb = 3; //Number of columns in outputs + size_t numb = 3; values =(Datum *)palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); size_t i; for (i = 0; i < numb; ++i) { nulls[i] = false; } - //Set your outputs from result_tuple + values[0] = Int32GetDatum(call_cntr + 1); values[1] = Int64GetDatum(result_tuples[call_cntr].vid); values[2] = Int64GetDatum(result_tuples[call_cntr].idom); From c78215737f7c7374be65d40284a83a4cb914f60c Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 26 Jul 2020 23:49:50 +0530 Subject: [PATCH 0811/1360] [bipartite] clean c code written --- src/LTDTree/LTDTree.c | 4 ---- src/bipartite/bipartite.c | 34 ++++++++++++---------------------- 2 files changed, 12 insertions(+), 26 deletions(-) diff --git a/src/LTDTree/LTDTree.c b/src/LTDTree/LTDTree.c index 12634a92060..90dd5c43463 100644 --- a/src/LTDTree/LTDTree.c +++ b/src/LTDTree/LTDTree.c @@ -27,10 +27,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ - -/******************************************************************************/ -/* MODIFY AS NEEDED */ - #include #include "c_common/postgres_connection.h" diff --git a/src/bipartite/bipartite.c b/src/bipartite/bipartite.c index 973c3fcc802..5fff787f474 100644 --- a/src/bipartite/bipartite.c +++ b/src/bipartite/bipartite.c @@ -29,18 +29,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /******************************************************************************/ -/* MODIFY AS NEEDED */ #include #include "c_common/postgres_connection.h" -#include "utils/array.h" -#include "catalog/pg_type.h" -#include "utils/lsyscache.h" -#ifndef INT8ARRAYOID -#define INT8ARRAYOID 1016 -#endif #include "c_common/debug_macro.h" #include "c_common/e_report.h" @@ -49,7 +42,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" #include "drivers/bipartite/bipartite_driver.h" -//#include "drivers/bipartite/bipartie_driver.h" + PGDLLEXPORT Datum _pgr_bipartite (PG_FUNCTION_ARGS); @@ -61,8 +54,7 @@ void process(char* edges_sql, pgr_bipartite_rt **result_tuples, size_t *result_count) { - //result_count is a pointer it means we do not need to return - // but it will count, initially it is 0 + pgr_SPI_connect(); size_t total_edges = 0; @@ -122,51 +114,49 @@ _pgr_bipartite(PG_FUNCTION_ARGS) { process( - text_to_cstring(PG_GETARG_TEXT_P(0)), //Converting sql to string + text_to_cstring(PG_GETARG_TEXT_P(0)), &result_tuples, &result_count); /**********************************************************************/ #if PGSQL_VERSION > 95 - funcctx->max_calls = result_count; //result_count is updated in process function call + funcctx->max_calls = result_count; #else funcctx->max_calls = (uint32_t)result_count; #endif - funcctx->user_fctx = result_tuples; // + funcctx->user_fctx = result_tuples; if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("function returning record called in context " "that cannot accept type record"))); - funcctx->tuple_desc = tuple_desc; //contains tuple description + funcctx->tuple_desc = tuple_desc; MemoryContextSwitchTo(oldcontext); } funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_bipartite_rt*) funcctx->user_fctx; //converting structure + result_tuples = (pgr_bipartite_rt*) funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; //We will set all the values + HeapTuple tuple; Datum result; Datum *values; bool *nulls; - // int16 typlen; + size_t call_cntr = funcctx->call_cntr; - - size_t numb = 2; //Number of columns in outputs + size_t numb = 2; values =(Datum *)palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); size_t i; for (i = 0; i < numb; ++i) { nulls[i] = false; } - //Set your outputs from result_tuple - - //values[0] = Int32GetDatum(call_cntr + 1); + + values[0] = Int64GetDatum(result_tuples[call_cntr].vid); values[1] = Int64GetDatum(result_tuples[call_cntr].color); tuple = heap_form_tuple(tuple_desc, values, nulls); From 363d2bb4299932658777c9e820307282d851ceb5 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 27 Jul 2020 00:39:33 +0530 Subject: [PATCH 0812/1360] c++ clean code --- include/LTDTree/pgr_LTDTree_driver.hpp | 78 +++++++------------ include/bipartite/pgr_bipartite_driver.hpp | 90 ++++++++-------------- 2 files changed, 62 insertions(+), 106 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 0688013066a..488490aa398 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: pgr_LTDTree.hpp +File: pgr_LTDTree_driver.hpp Generated with Template by: Copyright (c) 2015 pgRouting developers @@ -31,20 +31,22 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #ifndef INCLUDE_LTDTREE_PGR_LTDTREE_HPP #define INCLUDE_LTDTREE_PGR_LTDTREE_HPP #pragma once -#include #include "cpp_common/pgr_base_graph.hpp" #include "cpp_common/pgr_messages.h" -#include + +#include #include + #include #include #include #include #include #include "cpp_common/interruption.h" -using namespace boost; -using namespace std; + +//using namespace boost; +//using namespace std; namespace pgrouting { namespace functions { @@ -55,61 +57,39 @@ namespace pgrouting { typedef typename G::V Vertex; typedef typename G::E_i E_i; typedef typename G::V_i V_i; - typedef pair edge; //For making edge list to be used in extract vertices - vector edgeList; - std::vector results; - std::vector pgr_ltdtree( G &graph, int64_t root ){ - const int64_t numOfVertices=graph.num_vertices(); - - log <<"numOfVertices "< domTreePredVector = vector(num_vertices(graph.graph),-1); - auto domTreePredMap = + std::vector results; + std::vector domTreePredVector = std::vector(boost::num_vertices(graph.graph),-1); + auto domTreePredMap = make_iterator_property_map(domTreePredVector.begin(), boost::get(boost::vertex_index, graph.graph)); /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ - CHECK_FOR_INTERRUPTS(); - lengauer_tarjan_dominator_tree(graph.graph, graph.get_V(root), domTreePredMap); - - - - - - V_i v, vend; - - // iterate through every vertex in the graph - for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { - int64_t vid = graph[*v].id; - int64_t idom; - if(domTreePredVector[*v]!=-1) - { - idom = domTreePredVector[*v]+1; - } - else - { - idom = 0; - } - - - // log<<"\n"< class Pgr_Bipartite : public pgrouting::Pgr_messages { + public: - typedef typename G::V_i V_i; - std::vector print_Bipartite( G &graph) - { + + std::vector print_Bipartite( + G &graph){ std::vector results; - std::vector partition (graph.num_vertices()); + std::vector partition (graph.num_vertices()); + auto partition_map = + make_iterator_property_map(partition.begin (), boost::get (boost::vertex_index, graph.graph)); - - auto partition_map = make_iterator_property_map(partition.begin (), boost::get (boost::vertex_index, graph.graph)); - - - /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ - CHECK_FOR_INTERRUPTS(); - is_bipartite (graph.graph, boost::get (boost::vertex_index, graph.graph), partition_map); - - - - V_i v, vend; - - // iterate through every vertex in the graph + CHECK_FOR_INTERRUPTS(); + boost::is_bipartite (graph.graph, boost::get (boost::vertex_index, graph.graph), partition_map); + + V_i v, vend; for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { - - int64_t vid = graph[*v].id; - auto color =(boost::get (partition_map, *v) == boost::color_traits ::white () ? "white" : "black"); - if(color=="white") - { - results.push_back( - { + int64_t vid = graph[*v].id; + auto color =(boost::get (partition_map, *v) == boost::color_traits ::white () ? "white" : "black"); + if(color=="white"){ + results.push_back({ vid,0 - } - ); - } - else - { - results.push_back( - { + }); + } + else{ + results.push_back({ vid,1 - } - ); - } - log< pgr_bipartite( - G &graph ){ - log<<"Started reading"< results(graph.num_vertices()); - - - /***Todo - * we might need to define sequance in pgr_.sql file - * */ - bool bipartite = is_bipartite (graph.graph); - if(bipartite) - { - results=print_Bipartite(graph); - } - return results; - - - - - + G &graph ){ + + std::vector results(graph.num_vertices()); + + bool bipartite = boost::is_bipartite (graph.graph); + if(bipartite) + { + results=print_Bipartite(graph); } + return results; + + } - }; } } From 19c4c22769d9ddd1919386f9e743ef8a8635cbbc Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 28 Jul 2020 10:14:45 +0530 Subject: [PATCH 0813/1360] removing sh and vscode --- .vscode/settings.json | 66 ----------------------------------- sql/sigs/pgrouting--3.2.0.sig | 20 +++++++++++ 2 files changed, 20 insertions(+), 66 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index e8646a4a2e2..00000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "files.associations": { - "vector": "cpp", - "cctype": "cpp", - "clocale": "cpp", - "cmath": "cpp", - "csignal": "cpp", - "cstdarg": "cpp", - "cstddef": "cpp", - "cstdio": "cpp", - "cstdlib": "cpp", - "cstring": "cpp", - "ctime": "cpp", - "cwchar": "cpp", - "cwctype": "cpp", - "array": "cpp", - "atomic": "cpp", - "strstream": "cpp", - "bit": "cpp", - "*.tcc": "cpp", - "bitset": "cpp", - "chrono": "cpp", - "complex": "cpp", - "cstdint": "cpp", - "deque": "cpp", - "list": "cpp", - "map": "cpp", - "set": "cpp", - "unordered_map": "cpp", - "unordered_set": "cpp", - "exception": "cpp", - "algorithm": "cpp", - "functional": "cpp", - "iterator": "cpp", - "memory": "cpp", - "memory_resource": "cpp", - "numeric": "cpp", - "optional": "cpp", - "random": "cpp", - "ratio": "cpp", - "string": "cpp", - "string_view": "cpp", - "system_error": "cpp", - "tuple": "cpp", - "type_traits": "cpp", - "utility": "cpp", - "fstream": "cpp", - "initializer_list": "cpp", - "iomanip": "cpp", - "iosfwd": "cpp", - "iostream": "cpp", - "istream": "cpp", - "limits": "cpp", - "new": "cpp", - "ostream": "cpp", - "sstream": "cpp", - "stdexcept": "cpp", - "streambuf": "cpp", - "thread": "cpp", - "cfenv": "cpp", - "cinttypes": "cpp", - "typeindex": "cpp", - "typeinfo": "cpp", - "variant": "cpp" - } -} \ No newline at end of file diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index 64a73755f16..102d8d20426 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -139,6 +139,16 @@ _pgr_isplanar(text) pgr_isplanar(text) _pgr_johnson(text,boolean) pgr_johnson(text,boolean) +pgr_kruskalbfs(text,anyarray,bigint) +pgr_kruskalbfs(text,bigint,bigint) +pgr_kruskaldd(text,anyarray,double precision) +pgr_kruskaldd(text,anyarray,numeric) +pgr_kruskaldd(text,bigint,double precision) +pgr_kruskaldd(text,bigint,numeric) +pgr_kruskaldfs(text,anyarray,bigint) +pgr_kruskaldfs(text,bigint,bigint) +pgr_kruskal(text) +_pgr_kruskal(text,anyarray,text,bigint,double precision) _pgr_ksp(text,bigint,bigint,integer,boolean,boolean) pgr_ksp(text,bigint,bigint,integer,boolean,boolean) _pgr_lengauer_tarjan_dominator_tree(text,bigint) @@ -177,6 +187,16 @@ pgr_pickdelivereuclidean(text,text,double precision,integer,integer) _pgr_pickdeliver(text,text,text,double precision,integer,integer) pgr_pickdeliver(text,text,text,double precision,integer,integer) _pgr_pointtoid(geometry,double precision,text,integer) +pgr_primbfs(text,anyarray,bigint) +pgr_primbfs(text,bigint,bigint) +pgr_primdd(text,anyarray,double precision) +pgr_primdd(text,anyarray,numeric) +pgr_primdd(text,bigint,double precision) +pgr_primdd(text,bigint,numeric) +pgr_primdfs(text,anyarray,bigint) +pgr_primdfs(text,bigint,bigint) +pgr_prim(text) +_pgr_prim(text,anyarray,text,bigint,double precision) pgr_pushrelabel(text,anyarray,anyarray) pgr_pushrelabel(text,anyarray,bigint) pgr_pushrelabel(text,bigint,anyarray) From 0ff7094b381c62fb602dca7dc205ca3272853cfe Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 28 Jul 2020 10:41:41 +0530 Subject: [PATCH 0814/1360] fixing if structure --- include/bipartite/pgr_bipartite_driver.hpp | 31 +++++++++++----------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/include/bipartite/pgr_bipartite_driver.hpp b/include/bipartite/pgr_bipartite_driver.hpp index e0aba4b5557..cdb78fb442f 100644 --- a/include/bipartite/pgr_bipartite_driver.hpp +++ b/include/bipartite/pgr_bipartite_driver.hpp @@ -62,23 +62,27 @@ namespace pgrouting { /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); + try { + // calling the boost function boost::is_bipartite (graph.graph, boost::get (boost::vertex_index, graph.graph), partition_map); + } catch (boost::exception const& ex) { + (void)ex; + throw; + } catch (std::exception &e) { + (void)e; + throw; + } catch (...) { + throw; + } + V_i v, vend; for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t vid = graph[*v].id; - auto color =(boost::get (partition_map, *v) == boost::color_traits ::white () ? "white" : "black"); - if(color=="white"){ - results.push_back({ - vid,0 - }); - } - else{ - results.push_back({ - vid,1 - }); - } + boost::get (partition_map, *v) == boost::color_traits ::white () ? results.push_back({vid,0}) :results.push_back({vid,1}); + } + return results; } @@ -90,10 +94,7 @@ namespace pgrouting { std::vector results(graph.num_vertices()); bool bipartite = boost::is_bipartite (graph.graph); - if(bipartite) - { - results=print_Bipartite(graph); - } + if(bipartite) results=print_Bipartite(graph); return results; } From 351692fd7a00127da2d93a8aacc84425f2655a6c Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 28 Jul 2020 21:37:10 +0530 Subject: [PATCH 0815/1360] [ltdtree] new signature --- sql/LTDTree/LTDTree.sql | 10 +++++----- sql/LTDTree/_LTDTree.sql | 6 +++--- sql/sigs/pgrouting--3.2.0.sig | 4 ++-- src/LTDTree/LTDTree.c | 6 +++--- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/sql/LTDTree/LTDTree.sql b/sql/LTDTree/LTDTree.sql index 54238029136..08fad257331 100644 --- a/sql/LTDTree/LTDTree.sql +++ b/sql/LTDTree/LTDTree.sql @@ -27,9 +27,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ --------------- --- pgr_LTDTree +-- pgr_lengauerTarjanDominatorTree --------------- -CREATE OR REPLACE FUNCTION pgr_lengauer_tarjan_dominator_tree ( +CREATE OR REPLACE FUNCTION pgr_lengauerTarjanDominatorTree( TEXT, -- edges_sql (required) root_vertex BIGINT , -- vertex (required) OUT seq integer, @@ -46,7 +46,7 @@ BEGIN RETURN QUERY SELECT * - FROM _pgr_lengauer_tarjan_dominator_tree (_pgr_get_statement($1),$2); + FROM _pgr_lengauerTarjanDominatorTree(_pgr_get_statement($1),$2); END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; @@ -55,13 +55,13 @@ LANGUAGE plpgsql VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION pgr_lengauer_tarjan_dominator_tree (TEXT,BIGINT) +COMMENT ON FUNCTION pgr_lengauerTarjanDominatorTree(TEXT,BIGINT) IS 'pgr_LTDTree - EXPERIMENTAL - Directed graph - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_lengauer_tarjan_dominator_tree .html + - ${PGROUTING_DOC_LINK}/pgr_lengauerTarjanDominatorTree.html '; diff --git a/sql/LTDTree/_LTDTree.sql b/sql/LTDTree/_LTDTree.sql index 60ad241b179..3eec012524f 100644 --- a/sql/LTDTree/_LTDTree.sql +++ b/sql/LTDTree/_LTDTree.sql @@ -27,9 +27,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ --------------- --- _pgr_lengauer_tarjan_dominator_tree +-- _pgr_lengauerTarjanDominatorTree --------------- -CREATE OR REPLACE FUNCTION _pgr_lengauer_tarjan_dominator_tree ( +CREATE OR REPLACE FUNCTION _pgr_lengauerTarjanDominatorTree ( edges_sql TEXT, -- edges_sql (required) root_vid BIGINT , -- vertex (required) OUT seq integer, @@ -43,6 +43,6 @@ LANGUAGE c VOLATILE STRICT; -- COMMENTS -COMMENT ON FUNCTION _pgr_lengauer_tarjan_dominator_tree (TEXT,BIGINT) +COMMENT ON FUNCTION _pgr_lengauerTarjanDominatorTree (TEXT,BIGINT) IS 'pgRouting internal function'; diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index 102d8d20426..3b238baad6a 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -151,8 +151,8 @@ pgr_kruskal(text) _pgr_kruskal(text,anyarray,text,bigint,double precision) _pgr_ksp(text,bigint,bigint,integer,boolean,boolean) pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -_pgr_lengauer_tarjan_dominator_tree(text,bigint) -pgr_lengauer_tarjan_dominator_tree(text,bigint) +_pgr_lengauertarjandominatortree(text,bigint) +pgr_lengauertarjandominatortree(text,bigint) _pgr_lib_version() _pgr_linegraphfull(text) pgr_linegraphfull(text) diff --git a/src/LTDTree/LTDTree.c b/src/LTDTree/LTDTree.c index 90dd5c43463..e99269805ee 100644 --- a/src/LTDTree/LTDTree.c +++ b/src/LTDTree/LTDTree.c @@ -40,8 +40,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "drivers/LTDTree/LTDTree_driver.h" -PGDLLEXPORT Datum _pgr_lengauer_tarjan_dominator_tree (PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_lengauer_tarjan_dominator_tree ); +PGDLLEXPORT Datum _pgr_lengauertarjandominatortree (PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_lengauertarjandominatortree ); static @@ -93,7 +93,7 @@ process(char* edges_sql, } PGDLLEXPORT Datum -_pgr_lengauer_tarjan_dominator_tree(PG_FUNCTION_ARGS) { +_pgr_lengauertarjandominatortree(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; From 9ccc896d2b5073b888ed32b85d773799fef63c40 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 28 Jul 2020 21:37:57 +0530 Subject: [PATCH 0816/1360] [ltdtree]tests with new signature --- pgtap/LTDTree/LTDTree-innerQuery.sql | 7 ++--- pgtap/LTDTree/ltdtree-edge-cases.sql | 34 ++++++++++++------------- pgtap/LTDTree/no_crash_test-LTDTree.sql | 2 +- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/pgtap/LTDTree/LTDTree-innerQuery.sql b/pgtap/LTDTree/LTDTree-innerQuery.sql index b0e8d8191c8..7f507f45044 100644 --- a/pgtap/LTDTree/LTDTree-innerQuery.sql +++ b/pgtap/LTDTree/LTDTree-innerQuery.sql @@ -1,17 +1,18 @@ \i setup.sql -SELECT plan(56); - +SELECT plan(54); +/* SELECT has_function('pgr_lengauer_tarjan_dominator_tree', ARRAY['text', 'bigint']); SELECT function_returns('pgr_lengauer_tarjan_dominator_tree', ARRAY['text', 'bigint'], 'setof record'); +*/ -- ONE TO ONE -SELECT style_dijkstra('pgr_lengauer_tarjan_dominator_tree', ',1)'); +SELECT style_dijkstra('pgr_lengauerTarjanDominatorTree', ',1)'); SELECT finish(); ROLLBACK; diff --git a/pgtap/LTDTree/ltdtree-edge-cases.sql b/pgtap/LTDTree/ltdtree-edge-cases.sql index c0796303278..b331cde2325 100644 --- a/pgtap/LTDTree/ltdtree-edge-cases.sql +++ b/pgtap/LTDTree/ltdtree-edge-cases.sql @@ -10,57 +10,57 @@ WHERE id > 18; SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); -PREPARE lengauer_tarjan_dominator_tree_test1 AS +PREPARE LengauerTarjanDominatorTree_test1 AS SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( +FROM pgr_lengauerTarjanDominatorTree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id < 0',1 ); -PREPARE lengauer_tarjan_dominator_tree_test2 AS +PREPARE LengauerTarjanDominatorTree_test2 AS SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( +FROM pgr_lengauerTarjanDominatorTree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 0',1 ); -PREPARE lengauer_tarjan_dominator_tree_test3 AS +PREPARE LengauerTarjanDominatorTree_test3 AS SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( +FROM pgr_lengauerTarjanDominatorTree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18',1 ); -SELECT is_empty('lengauer_tarjan_dominator_tree_test1', 'lengauer_tarjan_dominator_tree_test1: Graph with 0 edge and 0 vertex'); -SELECT is_empty('lengauer_tarjan_dominator_tree_test2', 'lengauer_tarjan_dominator_tree_test2: Graph with 0 edge and 0 vertex'); -SELECT is_empty('lengauer_tarjan_dominator_tree_test3', 'lengauer_tarjan_dominator_tree_test3: Graph with 0 edge and 0 vertex'); +SELECT is_empty('LengauerTarjanDominatorTree_test1', 'LengauerTarjanDominatorTree_test1: Graph with 0 edge and 0 vertex'); +SELECT is_empty('LengauerTarjanDominatorTree_test2', 'LengauerTarjanDominatorTree_test2: Graph with 0 edge and 0 vertex'); +SELECT is_empty('LengauerTarjanDominatorTree_test3', 'LengauerTarjanDominatorTree_test3: Graph with 0 edge and 0 vertex'); --root not present tests /* -PREPARE lengauer_tarjan_dominator_tree_test4 AS +PREPARE LengauerTarjanDominatorTree_test4 AS SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( +FROM pgr_LengauerTarjanDominatorTree_tree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 2',1 ); -PREPARE lengauer_tarjan_dominator_tree_test5 AS +PREPARE LengauerTarjanDominatorTree_test5 AS SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( +FROM pgr_LengauerTarjanDominatorTree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 2',1 ); -SELECT is_empty('lengauer_tarjan_dominator_tree_test4', 'lengauer_tarjan_dominator_tree_test4: Root not present in the Graph'); -SELECT is_empty('lengauer_tarjan_dominator_tree_test5', 'lengauer_tarjan_dominator_tree_test5: Root not present in the Graph'); +SELECT is_empty('LengauerTarjanDominatorTree_test4', 'LengauerTarjanDominatorTree_test4: Root not present in the Graph'); +SELECT is_empty('LengauerTarjanDominatorTree_test5', 'LengauerTarjanDominatorTree_test5: Root not present in the Graph'); */ --vertex not present in the graph tests @@ -71,7 +71,7 @@ SELECT is_empty('lengauer_tarjan_dominator_tree_test5', 'lengauer_tarjan_dominat --id constrained tests PREPARE q2 AS SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( +FROM pgr_lengauerTarjanDominatorTree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 0',1 @@ -81,7 +81,7 @@ SELECT isnt_empty('q2', 'q2: Graph with 0 edge and 0 vertex'); -- Negative root tests PREPARE q3 AS SELECT * -FROM pgr_lengauer_tarjan_dominator_tree( +FROM pgr_lengauerTarjanDominatorTree( 'SELECT id, source, target, cost, reverse_cost FROM edge_table',-1 ); diff --git a/pgtap/LTDTree/no_crash_test-LTDTree.sql b/pgtap/LTDTree/no_crash_test-LTDTree.sql index 3ba7a23d7f7..4195dcd29d5 100644 --- a/pgtap/LTDTree/no_crash_test-LTDTree.sql +++ b/pgtap/LTDTree/no_crash_test-LTDTree.sql @@ -30,7 +30,7 @@ params = ARRAY[ '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' ]::TEXT[]; - RETURN query SELECT * FROM no_crash_test('pgr_lengauer_tarjan_dominator_tree', params, subs); + RETURN query SELECT * FROM no_crash_test('pgr_lengauerTarjanDominatorTree', params, subs); END $BODY$ LANGUAGE plpgsql VOLATILE; From 11f2983cfa1a88166b68cc0cf7f7f454643c4afa Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 28 Jul 2020 21:38:48 +0530 Subject: [PATCH 0817/1360] [ltdtree] doc with new signature --- doc/LTDTree/pgr_LTDTree.rst | 10 +++++----- docqueries/LTDTree/doc-LTDTree.result | 2 +- docqueries/LTDTree/doc-LTDTree.test.sql | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/LTDTree/pgr_LTDTree.rst b/doc/LTDTree/pgr_LTDTree.rst index 5c0d740fbc4..002ddfd5549 100644 --- a/doc/LTDTree/pgr_LTDTree.rst +++ b/doc/LTDTree/pgr_LTDTree.rst @@ -7,13 +7,13 @@ Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ **************************************************************************** .. index:: - single: pgr_lengauer_tarjan_dominator_tree -Experimental (Complete Doc) -.. _pgr_lengauer_tarjan_dominator_tree: + single: pgr_LengauerTarjanDominatorTree -Experimental (Complete Doc) +.. _pgr_LengauerTarjanDominatorTree: -pgr_lengauer_tarjan_dominator_tree -Experimental +pgr_LengauerTarjanDominatorTree -Experimental =============================================================================== -``pgr_lengauer_tarjan_dominator_tree`` — Returns the immediate dominator of all vertices. +``pgr_LengauerTarjanDominatorTree`` — Returns the immediate dominator of all vertices. In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg @@ -39,7 +39,7 @@ Signatures .. code-block:: sql - pgr_lengauer_tarjan_dominator_tree(edges_sql,root) + pgr_LengauerTarjanDominatorTree(edges_sql,root) RETURNS SET OF (id,vid,idom) diff --git a/docqueries/LTDTree/doc-LTDTree.result b/docqueries/LTDTree/doc-LTDTree.result index 9976d29d855..fdc50ed0ee3 100644 --- a/docqueries/LTDTree/doc-LTDTree.result +++ b/docqueries/LTDTree/doc-LTDTree.result @@ -3,7 +3,7 @@ BEGIN SET client_min_messages TO NOTICE; SET -- q1 -select * from pgr_lengauer_tarjan_dominator_tree($$select * from edge_table$$,1); +select * from pgr_lengauerTarjanDominatorTree($$select * from edge_table$$,1); seq | vid | idom -----+-----+------ 1 | 1 | 0 diff --git a/docqueries/LTDTree/doc-LTDTree.test.sql b/docqueries/LTDTree/doc-LTDTree.test.sql index fcab74f3a13..41936ccd455 100644 --- a/docqueries/LTDTree/doc-LTDTree.test.sql +++ b/docqueries/LTDTree/doc-LTDTree.test.sql @@ -1,3 +1,3 @@ \echo -- q1 - select * from pgr_lengauer_tarjan_dominator_tree($$select * from edge_table$$,1); + select * from pgr_lengauerTarjanDominatorTree($$select * from edge_table$$,1); \echo -- q2 From 55e1c7a665bc69a87dceb91230b91b8ce018776e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 28 Jul 2020 22:40:53 +0530 Subject: [PATCH 0818/1360] fixing doc error --- doc/LTDTree/pgr_LTDTree.rst | 6 +++--- doc/src/experimental.rst | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/LTDTree/pgr_LTDTree.rst b/doc/LTDTree/pgr_LTDTree.rst index 002ddfd5549..6f313f196eb 100644 --- a/doc/LTDTree/pgr_LTDTree.rst +++ b/doc/LTDTree/pgr_LTDTree.rst @@ -67,7 +67,7 @@ Parameters Column Type Description ============== ============ ================================================= **edges_sql** ``TEXT`` SQL query as described above. -**root_vid** ``BIGINT`` Identifier of the starting vertex. +**root_vid** ``BIGINT`` Identifier of the starting vertex. ============== ============ ================================================= @@ -99,8 +99,8 @@ Additional Examples The examples in this section use the following :ref:`fig1` .. literalinclude:: doc-LTDTree.queries - :start-after: --q1 - :end-before: --q2 + :start-after: -- q1 + :end-before: -- q2 See Also ------------------------------------------------------------------------------- diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index 1a4e488d66d..1f369475ea9 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -113,6 +113,8 @@ Experimental Functions - :doc:`pgr_topologicalSort` - :doc:`pgr_transitiveClosure` - :doc:`pgr_turnRestrictedPath` +- :doc:`pgr_bipartite` +- :doc:`pgr_LTDTree` .. toctree:: :hidden: @@ -127,6 +129,8 @@ Experimental Functions pgr_topologicalSort pgr_transitiveClosure pgr_turnRestrictedPath + pgr_LTDTree + pgr_bipartite See Also From 9b17a36c37ddb9f235daf1b21aadacd284d06f1d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 28 Jul 2020 23:23:40 +0530 Subject: [PATCH 0819/1360] [ltdtree] cleanig the code --- include/LTDTree/pgr_LTDTree_driver.hpp | 27 ++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 488490aa398..175222e31d8 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -64,27 +64,30 @@ namespace pgrouting { ){ std::vector results; std::vector domTreePredVector = std::vector(boost::num_vertices(graph.graph),-1); - auto domTreePredMap = - make_iterator_property_map(domTreePredVector.begin(), boost::get(boost::vertex_index, graph.graph)); + auto domTreePredMap = make_iterator_property_map(domTreePredVector.begin(), boost::get(boost::vertex_index, graph.graph)); /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); + try { + // calling the boost function boost::lengauer_tarjan_dominator_tree(graph.graph, graph.get_V(root), domTreePredMap); + } catch (boost::exception const& ex) { + (void)ex; + throw; + } catch (std::exception &e) { + (void)e; + throw; + } catch (...) { + throw; + } + V_i v, vend; for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t vid = graph[*v].id; - int64_t idom; - if(domTreePredVector[*v]!=-1){ - idom = domTreePredVector[*v]+1; - } - else{ - idom = 0; - } - results.push_back({ - vid,idom - }); + results.push_back ({vid, (domTreePredVector[*v]!=-1 ? (domTreePredVector[*v]+1) : 0) }); + } From 5f2b9e7965266692cbf9e70ef1b2801dfcbab7b7 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 1 Aug 2020 15:04:09 +0530 Subject: [PATCH 0820/1360] minor changes --- include/LTDTree/pgr_LTDTree_driver.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 175222e31d8..63c8fd5a647 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -70,7 +70,6 @@ namespace pgrouting { /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); try { - // calling the boost function boost::lengauer_tarjan_dominator_tree(graph.graph, graph.get_V(root), domTreePredMap); } catch (boost::exception const& ex) { (void)ex; From 443cf7f710847588ca223e5b19dcce1bd8174b88 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 1 Aug 2020 15:05:29 +0530 Subject: [PATCH 0821/1360] minor changes --- include/LTDTree/pgr_LTDTree_driver.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 63c8fd5a647..175222e31d8 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -70,6 +70,7 @@ namespace pgrouting { /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); try { + // calling the boost function boost::lengauer_tarjan_dominator_tree(graph.graph, graph.get_V(root), domTreePredMap); } catch (boost::exception const& ex) { (void)ex; From 62f45581d752dc3422684a6b86c0efbbe48e8b6c Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 1 Aug 2020 15:06:07 +0530 Subject: [PATCH 0822/1360] .vscode added --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 5f58b8b2cd1..d911633193a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ build fix_typos code_linter src/version/_version.h +.vscode .DS_Store .vagrant From 617d83966e0acb323c90a70632cae34a1ac6812f Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 1 Aug 2020 23:24:24 +0530 Subject: [PATCH 0823/1360] [bipartite] renamed files --- pgtap/bipartite/{bipartite-edge-cases.sql => edge-cases.sql} | 0 pgtap/bipartite/{bipartite-innerQuery.sql => innerQuery.sql} | 0 .../bipartite/{no_crash_test-bipartite.sql => no_crash_test.sql} | 0 .../bipartite/{pgr_bipartite_types_check.sql => types_check.sql} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename pgtap/bipartite/{bipartite-edge-cases.sql => edge-cases.sql} (100%) rename pgtap/bipartite/{bipartite-innerQuery.sql => innerQuery.sql} (100%) rename pgtap/bipartite/{no_crash_test-bipartite.sql => no_crash_test.sql} (100%) rename pgtap/bipartite/{pgr_bipartite_types_check.sql => types_check.sql} (100%) diff --git a/pgtap/bipartite/bipartite-edge-cases.sql b/pgtap/bipartite/edge-cases.sql similarity index 100% rename from pgtap/bipartite/bipartite-edge-cases.sql rename to pgtap/bipartite/edge-cases.sql diff --git a/pgtap/bipartite/bipartite-innerQuery.sql b/pgtap/bipartite/innerQuery.sql similarity index 100% rename from pgtap/bipartite/bipartite-innerQuery.sql rename to pgtap/bipartite/innerQuery.sql diff --git a/pgtap/bipartite/no_crash_test-bipartite.sql b/pgtap/bipartite/no_crash_test.sql similarity index 100% rename from pgtap/bipartite/no_crash_test-bipartite.sql rename to pgtap/bipartite/no_crash_test.sql diff --git a/pgtap/bipartite/pgr_bipartite_types_check.sql b/pgtap/bipartite/types_check.sql similarity index 100% rename from pgtap/bipartite/pgr_bipartite_types_check.sql rename to pgtap/bipartite/types_check.sql From 2880b2b5a4fa223e49d675ba8be07546bc59fa6f Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 1 Aug 2020 23:26:43 +0530 Subject: [PATCH 0824/1360] [LTDTree] renamed test files --- .../edge-cases.sql} | 0 .../innerQuery.sql} | 0 .../no_crash_test.sql} | 0 .../types_check.sql} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename pgtap/LTDTree/{ltdtree-edge-cases.sql => lengauerTarjanDominatorTree/edge-cases.sql} (100%) rename pgtap/LTDTree/{LTDTree-innerQuery.sql => lengauerTarjanDominatorTree/innerQuery.sql} (100%) rename pgtap/LTDTree/{no_crash_test-LTDTree.sql => lengauerTarjanDominatorTree/no_crash_test.sql} (100%) rename pgtap/LTDTree/{pgr_LTDTree_types_check.sql => lengauerTarjanDominatorTree/types_check.sql} (100%) diff --git a/pgtap/LTDTree/ltdtree-edge-cases.sql b/pgtap/LTDTree/lengauerTarjanDominatorTree/edge-cases.sql similarity index 100% rename from pgtap/LTDTree/ltdtree-edge-cases.sql rename to pgtap/LTDTree/lengauerTarjanDominatorTree/edge-cases.sql diff --git a/pgtap/LTDTree/LTDTree-innerQuery.sql b/pgtap/LTDTree/lengauerTarjanDominatorTree/innerQuery.sql similarity index 100% rename from pgtap/LTDTree/LTDTree-innerQuery.sql rename to pgtap/LTDTree/lengauerTarjanDominatorTree/innerQuery.sql diff --git a/pgtap/LTDTree/no_crash_test-LTDTree.sql b/pgtap/LTDTree/lengauerTarjanDominatorTree/no_crash_test.sql similarity index 100% rename from pgtap/LTDTree/no_crash_test-LTDTree.sql rename to pgtap/LTDTree/lengauerTarjanDominatorTree/no_crash_test.sql diff --git a/pgtap/LTDTree/pgr_LTDTree_types_check.sql b/pgtap/LTDTree/lengauerTarjanDominatorTree/types_check.sql similarity index 100% rename from pgtap/LTDTree/pgr_LTDTree_types_check.sql rename to pgtap/LTDTree/lengauerTarjanDominatorTree/types_check.sql From e184958327772559ccd136d5ab95e648cbe6c0c0 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 2 Aug 2020 00:55:21 +0530 Subject: [PATCH 0825/1360] [bipartite] edge-case 12 tests --- pgtap/bipartite/edge-cases.sql | 131 +++++++++++++++++++++++++++++++-- 1 file changed, 124 insertions(+), 7 deletions(-) diff --git a/pgtap/bipartite/edge-cases.sql b/pgtap/bipartite/edge-cases.sql index 7c1efaa8319..5952c995cd1 100644 --- a/pgtap/bipartite/edge-cases.sql +++ b/pgtap/bipartite/edge-cases.sql @@ -1,13 +1,130 @@ \i setup.sql ---Need to write basic tests -SELECT plan(1); +SELECT plan(12); -SELECT todo_start('Complete the inner query tests'); +-- 0 edge, 0 vertex test -SELECT pass('Sample Test'); +PREPARE q1 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id > 18; -SELECT todo_end(); +SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); -SELECT finish(); -ROLLBACK; \ No newline at end of file +PREPARE bipartite1 AS +SELECT * +FROM pgr_bipartite( + 'q1' +); + +SELECT is_empty('bipartite1', '2: Graph with 0 edge and 0 vertex -> Empty row is returned'); + + +-- 1 vertex test + +PREPARE q3 AS +SELECT id, source, 2 AS target, cost, reverse_cost +FROM edge_table +WHERE id = 2; + +SELECT set_eq('q3', $$VALUES (2, 2, 2, -1, 1)$$, 'q3: Graph with only vertex 2'); + +PREPARE bipartite2 AS +SELECT * +FROM pgr_bipartite( + 'q3' +); + +SELECT set_eq('bipartite2', $$VALUES (0, 0)$$, '4: One vertex graph can not be bipartite-> Empty row is returned'); + + +-- 2 vertices test (connected) + +PREPARE q4 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id = 7; + +SELECT set_eq('q4', $$VALUES (7, 8, 5, 1, 1)$$, 'q4: Graph with two connected vertices 8 and 5'); + +PREPARE bipartite3 AS +SELECT * +FROM pgr_bipartite( + 'q4' +); + +SELECT set_eq('bipartite3', $$VALUES (8, 0), (5, 1)$$, '6: Graph is bi-partite'); + + +-- 3 vertices test (linear) + +PREPARE q6 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id <= 2; + +SELECT set_eq('q6', $$VALUES (1, 1, 2, 1, 1), (2, 2, 3, -1, 1)$$, 'q6: Graph with three vertices 1, 2 and 3'); + +PREPARE bipartite4 AS +SELECT * +FROM pgr_bipartite( + 'q6' +); + +SELECT set_eq('bipartite4', $$VALUES (1, 0), (2, 1), (3, 0)$$, '8: Bi-partite graph with 3 vertices'); + + +-- 4 vertices test (linear) + +PREPARE q7 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id <= 3; + +SELECT set_eq('q7', + $$VALUES + (1, 1, 2, 1, 1), + (2, 2, 3, -1, 1), + (3, 3, 4, -1, 1) + $$, + 'q7: Graph with four vertices 1, 2, 3 and 4' +); + +PREPARE bipartite5 AS +SELECT * +FROM pgr_bipartite( + 'q7' +); + +SELECT set_eq('bipartite5', $$VALUES (1, 0), (2, 1), (3, 0), (4, 1)$$, '10: Bi-partite graph with 4 vertices'); + + +-- 4 vertices test (cyclic) + +PREPARE q8 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id IN (8, 10, 11, 12); + +SELECT set_eq('q8', + $$VALUES + (8, 5, 6, 1, 1), + (10, 5, 10, 1, 1), + (11, 6, 11, 1, -1), + (12, 10, 11, 1, -1) + $$, + 'q8: Graph with four vertices 5, 6, 10 and 11 (cyclic)' +); + +PREPARE bipartite6 AS +SELECT * +FROM pgr_bipartite( + 'q8' +); + +SELECT set_eq('bipartite6', $$VALUES (5, 0), (6, 1), (10, 1), (11, 0)$$, '12: Cyclic and bipartite graph'); + + + +SELECT * FROM finish(); +ROLLBACK; From 0e2ea21332def0ddb730ac58f9f7196e1d9c946f Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 2 Aug 2020 01:04:01 +0530 Subject: [PATCH 0826/1360] [bipartite] all pgTap tests --- pgtap/bipartite/innerQuery.sql | 11 +++----- pgtap/bipartite/no_crash_test.sql | 42 ++++++++++++++++++++++++++----- pgtap/bipartite/types_check.sql | 25 +++++++++++++----- 3 files changed, 58 insertions(+), 20 deletions(-) diff --git a/pgtap/bipartite/innerQuery.sql b/pgtap/bipartite/innerQuery.sql index 7c1efaa8319..f0e022590e4 100644 --- a/pgtap/bipartite/innerQuery.sql +++ b/pgtap/bipartite/innerQuery.sql @@ -1,13 +1,8 @@ \i setup.sql ---Need to write basic tests -SELECT plan(1); +SELECT plan(54); -SELECT todo_start('Complete the inner query tests'); - -SELECT pass('Sample Test'); - -SELECT todo_end(); +SELECT style_dijkstra('pgr_lengauerTarjanDominatorTree', ',1)'); SELECT finish(); -ROLLBACK; \ No newline at end of file +ROLLBACK; diff --git a/pgtap/bipartite/no_crash_test.sql b/pgtap/bipartite/no_crash_test.sql index 7c1efaa8319..f3062efb028 100644 --- a/pgtap/bipartite/no_crash_test.sql +++ b/pgtap/bipartite/no_crash_test.sql @@ -1,13 +1,43 @@ \i setup.sql ---Need to write basic tests -SELECT plan(1); +SELECT plan(7); -SELECT todo_start('Complete the inner query tests'); +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; -SELECT pass('Sample Test'); +PREPARE null_ret AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); -SELECT todo_end(); +PREPARE null_ret_arr AS +SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); + + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + -- bipartite + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$' + ]::TEXT[]; + subs = ARRAY[ + 'NULL' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_bipartite', params, subs); + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); -SELECT finish(); ROLLBACK; \ No newline at end of file diff --git a/pgtap/bipartite/types_check.sql b/pgtap/bipartite/types_check.sql index 7c1efaa8319..3905390f9a5 100644 --- a/pgtap/bipartite/types_check.sql +++ b/pgtap/bipartite/types_check.sql @@ -1,13 +1,26 @@ \i setup.sql ---Need to write basic tests -SELECT plan(1); +SELECT plan(5); -SELECT todo_start('Complete the inner query tests'); +SELECT has_function('pgr_bipartite'); -SELECT pass('Sample Test'); +SELECT has_function('pgr_bipartite', ARRAY['text']); +SELECT function_returns('pgr_bipartite', ARRAY['text'], 'setof record'); -SELECT todo_end(); +-- pgr_bipartite +-- parameter names +SELECT bag_has( + $$SELECT proargnames from pg_proc where proname = 'pgr_bipartite'$$, + $$SELECT '{"","node","color"}'::TEXT[] $$ +); -SELECT finish(); +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_bipartite'$$, + $$VALUES + ('{25,20,20}'::OID[]) + $$ +); + +SELECT * FROM finish(); ROLLBACK; \ No newline at end of file From bf3cd87d0c6e979991a8e49ae8f62868c5e5b9c3 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 2 Aug 2020 01:15:21 +0530 Subject: [PATCH 0827/1360] [bipartite] docqueries with one add example --- docqueries/bipartite/doc-bipartite.result | 16 +++++++++++++++- docqueries/bipartite/doc-bipartite.test.sql | 8 +++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/docqueries/bipartite/doc-bipartite.result b/docqueries/bipartite/doc-bipartite.result index a9498f78fac..ad6c39f022d 100644 --- a/docqueries/bipartite/doc-bipartite.result +++ b/docqueries/bipartite/doc-bipartite.result @@ -3,7 +3,9 @@ BEGIN SET client_min_messages TO NOTICE; SET --q1 -select * from pgr_bipartite($$select id,source,target,cost,reverse_cost from edge_table$$); +SELECT * FROM pgr_bipartite( + $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$ +); node | color ------+------- 1 | 0 @@ -26,5 +28,17 @@ select * from pgr_bipartite($$select id,source,target,cost,reverse_cost from edg (17 rows) --q2 +SELECT * FROM pgr_bipartite( + $$SELECT id,source,target,cost,reverse_cost FROM edge_table WHERE id IN (8, 10, 11, 12)$$ +); + node | color +------+------- + 5 | 0 + 6 | 1 + 10 | 1 + 11 | 0 +(4 rows) + +--q3 ROLLBACK; ROLLBACK diff --git a/docqueries/bipartite/doc-bipartite.test.sql b/docqueries/bipartite/doc-bipartite.test.sql index ebc38a01da5..4a3ca66dbbb 100644 --- a/docqueries/bipartite/doc-bipartite.test.sql +++ b/docqueries/bipartite/doc-bipartite.test.sql @@ -1,3 +1,9 @@ \echo --q1 -select * from pgr_bipartite($$select id,source,target,cost,reverse_cost from edge_table$$); +SELECT * FROM pgr_bipartite( + $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$ +); \echo --q2 +SELECT * FROM pgr_bipartite( + $$SELECT id,source,target,cost,reverse_cost FROM edge_table WHERE id IN (8, 10, 11, 12)$$ +); +\echo --q3 \ No newline at end of file From d22b2d922b89c20651093efb82a664f21a3c9b57 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 2 Aug 2020 18:26:50 +0530 Subject: [PATCH 0828/1360] [doc] added addition example 1 --- doc/bipartite/pgr_bipartite.rst | 34 +++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/doc/bipartite/pgr_bipartite.rst b/doc/bipartite/pgr_bipartite.rst index bd2daa8e29b..23dd55bf672 100644 --- a/doc/bipartite/pgr_bipartite.rst +++ b/doc/bipartite/pgr_bipartite.rst @@ -30,6 +30,13 @@ Description A bipartite graph is a graph with two sets of vertices which are connected to each other, but not within themselves. A bipartite graph is possible if the graph coloring is possible using two colors such that vertices in a set are colored with the same color. +**The main Characteristics are:** + +- The algorithm works in undirected graph only. +- The returned values are not ordered. +- The algorithm checks graph is bipartite or not. If it is bipartite then it returns the node along with two colors `0` and `1` which represents two different sets. +- If graph is not bipartite then algorithm returns empty row. +- Running time: :math:`O(V + E)` Signatures ------------------------------------------------------------------------------- @@ -38,27 +45,21 @@ Signatures .. code-block:: sql - pgr_bipartite(edges_sql) + .. pgr_bipartite(edges_sql) RETURNS SET OF (vid,color) -:Example: **TBD** - -.. index:: - single: pgr_bipartaite - -Complete Signature -............................................................................... - -.. code-block:: sql - - :Example: The pgr_bipartite algorithm with and edge_sql as a parameter when graph is bipartite: .. literalinclude:: doc-bipartite.queries :start-after: --q1 :end-before: --q2 + +.. index:: + single: breadthFirstSearch(Multiple vertices) - Experimental + + Parameters ------------------------------------------------------------------------------- @@ -91,13 +92,14 @@ Column Type Description Additional Examples ------------------------------------------------------------------------------------------ -:Example: To handle the one flag to choose signatures - The examples in this section use the following :ref:`fig1` + +:Example: It also possibe the cyclic graph can also be bipartite. .. literalinclude:: doc-bipartite.queries - :start-after: --q1 - :end-before: --q2 + :start-after: --q2 + :end-before: --q3 + See Also ------------------------------------------------------------------------------- From d0fed6a61c0d77642aded68f08a16e392dcb0f6b Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 2 Aug 2020 18:27:18 +0530 Subject: [PATCH 0829/1360] [doc] added one more query --- docqueries/bipartite/doc-bipartite.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docqueries/bipartite/doc-bipartite.result b/docqueries/bipartite/doc-bipartite.result index ad6c39f022d..7065669e414 100644 --- a/docqueries/bipartite/doc-bipartite.result +++ b/docqueries/bipartite/doc-bipartite.result @@ -31,7 +31,7 @@ SELECT * FROM pgr_bipartite( SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM edge_table WHERE id IN (8, 10, 11, 12)$$ ); - node | color + node | color ------+------- 5 | 0 6 | 1 From fe2f69d14f753b541a495e0ee2007d2825ca5c77 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Mon, 3 Aug 2020 19:45:17 +0530 Subject: [PATCH 0830/1360] [ltdtree] week 10 --- include/LTDTree/pgr_LTDTree_driver.hpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/LTDTree/pgr_LTDTree_driver.hpp index 175222e31d8..bd0a6b83210 100644 --- a/include/LTDTree/pgr_LTDTree_driver.hpp +++ b/include/LTDTree/pgr_LTDTree_driver.hpp @@ -47,7 +47,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. //using namespace boost; //using namespace std; - +/********TODO week 10*********/ namespace pgrouting { namespace functions { @@ -81,15 +81,14 @@ namespace pgrouting { } catch (...) { throw; } - V_i v, vend; for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t vid = graph[*v].id; results.push_back ({vid, (domTreePredVector[*v]!=-1 ? (domTreePredVector[*v]+1) : 0) }); - + + log< Date: Tue, 4 Aug 2020 19:39:35 +0530 Subject: [PATCH 0831/1360] changed directory name --- configuration.conf | 2 +- doc/{LTDTree => dominator}/CMakeLists.txt | 0 doc/{LTDTree => dominator}/pgr_LTDTree.rst | 0 docqueries/{LTDTree => dominator}/CMakeLists.txt | 0 docqueries/{LTDTree => dominator}/doc-LTDTree.result | 0 docqueries/{LTDTree => dominator}/doc-LTDTree.test.sql | 0 docqueries/{LTDTree => dominator}/test.conf | 0 include/bipartite/pgr_bipartite_driver.hpp | 1 - include/{LTDTree => dominator}/pgr_LTDTree_driver.hpp | 0 include/drivers/{LTDTree => dominator}/LTDTree_driver.h | 0 .../lengauerTarjanDominatorTree/edge-cases.sql | 0 .../lengauerTarjanDominatorTree/innerQuery.sql | 0 .../lengauerTarjanDominatorTree/no_crash_test.sql | 0 .../lengauerTarjanDominatorTree/types_check.sql | 0 sql/{LTDTree => dominator}/CMakeLists.txt | 0 sql/{LTDTree => dominator}/LTDTree.sql | 0 sql/{LTDTree => dominator}/_LTDTree.sql | 0 src/{LTDTree => dominator}/CMakeLists.txt | 0 src/{LTDTree => dominator}/LTDTree.c | 0 src/{LTDTree => dominator}/LTDTree_driver.cpp | 0 20 files changed, 1 insertion(+), 2 deletions(-) rename doc/{LTDTree => dominator}/CMakeLists.txt (100%) rename doc/{LTDTree => dominator}/pgr_LTDTree.rst (100%) rename docqueries/{LTDTree => dominator}/CMakeLists.txt (100%) rename docqueries/{LTDTree => dominator}/doc-LTDTree.result (100%) rename docqueries/{LTDTree => dominator}/doc-LTDTree.test.sql (100%) rename docqueries/{LTDTree => dominator}/test.conf (100%) rename include/{LTDTree => dominator}/pgr_LTDTree_driver.hpp (100%) rename include/drivers/{LTDTree => dominator}/LTDTree_driver.h (100%) rename pgtap/{LTDTree => dominator}/lengauerTarjanDominatorTree/edge-cases.sql (100%) rename pgtap/{LTDTree => dominator}/lengauerTarjanDominatorTree/innerQuery.sql (100%) rename pgtap/{LTDTree => dominator}/lengauerTarjanDominatorTree/no_crash_test.sql (100%) rename pgtap/{LTDTree => dominator}/lengauerTarjanDominatorTree/types_check.sql (100%) rename sql/{LTDTree => dominator}/CMakeLists.txt (100%) rename sql/{LTDTree => dominator}/LTDTree.sql (100%) rename sql/{LTDTree => dominator}/_LTDTree.sql (100%) rename src/{LTDTree => dominator}/CMakeLists.txt (100%) rename src/{LTDTree => dominator}/LTDTree.c (100%) rename src/{LTDTree => dominator}/LTDTree_driver.cpp (100%) diff --git a/configuration.conf b/configuration.conf index bc5743b737a..1af0718fd90 100644 --- a/configuration.conf +++ b/configuration.conf @@ -43,7 +43,7 @@ breadthFirstSearch | Y | Y | Y traversal | Y | Y | Y coloring | Y | Y | Y planar | Y | Y | Y -LTDTree | Y | Y | Y +dominator | Y | Y | Y #---------------------- # SQL only directories #---------------------- diff --git a/doc/LTDTree/CMakeLists.txt b/doc/dominator/CMakeLists.txt similarity index 100% rename from doc/LTDTree/CMakeLists.txt rename to doc/dominator/CMakeLists.txt diff --git a/doc/LTDTree/pgr_LTDTree.rst b/doc/dominator/pgr_LTDTree.rst similarity index 100% rename from doc/LTDTree/pgr_LTDTree.rst rename to doc/dominator/pgr_LTDTree.rst diff --git a/docqueries/LTDTree/CMakeLists.txt b/docqueries/dominator/CMakeLists.txt similarity index 100% rename from docqueries/LTDTree/CMakeLists.txt rename to docqueries/dominator/CMakeLists.txt diff --git a/docqueries/LTDTree/doc-LTDTree.result b/docqueries/dominator/doc-LTDTree.result similarity index 100% rename from docqueries/LTDTree/doc-LTDTree.result rename to docqueries/dominator/doc-LTDTree.result diff --git a/docqueries/LTDTree/doc-LTDTree.test.sql b/docqueries/dominator/doc-LTDTree.test.sql similarity index 100% rename from docqueries/LTDTree/doc-LTDTree.test.sql rename to docqueries/dominator/doc-LTDTree.test.sql diff --git a/docqueries/LTDTree/test.conf b/docqueries/dominator/test.conf similarity index 100% rename from docqueries/LTDTree/test.conf rename to docqueries/dominator/test.conf diff --git a/include/bipartite/pgr_bipartite_driver.hpp b/include/bipartite/pgr_bipartite_driver.hpp index cdb78fb442f..fb165429b50 100644 --- a/include/bipartite/pgr_bipartite_driver.hpp +++ b/include/bipartite/pgr_bipartite_driver.hpp @@ -82,7 +82,6 @@ namespace pgrouting { boost::get (partition_map, *v) == boost::color_traits ::white () ? results.push_back({vid,0}) :results.push_back({vid,1}); } - return results; } diff --git a/include/LTDTree/pgr_LTDTree_driver.hpp b/include/dominator/pgr_LTDTree_driver.hpp similarity index 100% rename from include/LTDTree/pgr_LTDTree_driver.hpp rename to include/dominator/pgr_LTDTree_driver.hpp diff --git a/include/drivers/LTDTree/LTDTree_driver.h b/include/drivers/dominator/LTDTree_driver.h similarity index 100% rename from include/drivers/LTDTree/LTDTree_driver.h rename to include/drivers/dominator/LTDTree_driver.h diff --git a/pgtap/LTDTree/lengauerTarjanDominatorTree/edge-cases.sql b/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql similarity index 100% rename from pgtap/LTDTree/lengauerTarjanDominatorTree/edge-cases.sql rename to pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql diff --git a/pgtap/LTDTree/lengauerTarjanDominatorTree/innerQuery.sql b/pgtap/dominator/lengauerTarjanDominatorTree/innerQuery.sql similarity index 100% rename from pgtap/LTDTree/lengauerTarjanDominatorTree/innerQuery.sql rename to pgtap/dominator/lengauerTarjanDominatorTree/innerQuery.sql diff --git a/pgtap/LTDTree/lengauerTarjanDominatorTree/no_crash_test.sql b/pgtap/dominator/lengauerTarjanDominatorTree/no_crash_test.sql similarity index 100% rename from pgtap/LTDTree/lengauerTarjanDominatorTree/no_crash_test.sql rename to pgtap/dominator/lengauerTarjanDominatorTree/no_crash_test.sql diff --git a/pgtap/LTDTree/lengauerTarjanDominatorTree/types_check.sql b/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql similarity index 100% rename from pgtap/LTDTree/lengauerTarjanDominatorTree/types_check.sql rename to pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql diff --git a/sql/LTDTree/CMakeLists.txt b/sql/dominator/CMakeLists.txt similarity index 100% rename from sql/LTDTree/CMakeLists.txt rename to sql/dominator/CMakeLists.txt diff --git a/sql/LTDTree/LTDTree.sql b/sql/dominator/LTDTree.sql similarity index 100% rename from sql/LTDTree/LTDTree.sql rename to sql/dominator/LTDTree.sql diff --git a/sql/LTDTree/_LTDTree.sql b/sql/dominator/_LTDTree.sql similarity index 100% rename from sql/LTDTree/_LTDTree.sql rename to sql/dominator/_LTDTree.sql diff --git a/src/LTDTree/CMakeLists.txt b/src/dominator/CMakeLists.txt similarity index 100% rename from src/LTDTree/CMakeLists.txt rename to src/dominator/CMakeLists.txt diff --git a/src/LTDTree/LTDTree.c b/src/dominator/LTDTree.c similarity index 100% rename from src/LTDTree/LTDTree.c rename to src/dominator/LTDTree.c diff --git a/src/LTDTree/LTDTree_driver.cpp b/src/dominator/LTDTree_driver.cpp similarity index 100% rename from src/LTDTree/LTDTree_driver.cpp rename to src/dominator/LTDTree_driver.cpp From 6180436595db1681a1d80db91bfca8ddccb1d8f8 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 4 Aug 2020 20:16:48 +0530 Subject: [PATCH 0832/1360] fixed compilation erros --- src/dominator/CMakeLists.txt | 2 +- src/dominator/LTDTree.c | 2 +- src/dominator/LTDTree_driver.cpp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/dominator/CMakeLists.txt b/src/dominator/CMakeLists.txt index 972c66fce24..d3f4f041662 100644 --- a/src/dominator/CMakeLists.txt +++ b/src/dominator/CMakeLists.txt @@ -1,4 +1,4 @@ -ADD_LIBRARY(LTDTree OBJECT +ADD_LIBRARY(dominator OBJECT LTDTree.c LTDTree_driver.cpp ) diff --git a/src/dominator/LTDTree.c b/src/dominator/LTDTree.c index e99269805ee..8e8bfa06779 100644 --- a/src/dominator/LTDTree.c +++ b/src/dominator/LTDTree.c @@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pgr_ltdtree_rt.h" #include "c_common/edges_input.h" -#include "drivers/LTDTree/LTDTree_driver.h" +#include "drivers/dominator/LTDTree_driver.h" PGDLLEXPORT Datum _pgr_lengauertarjandominatortree (PG_FUNCTION_ARGS); diff --git a/src/dominator/LTDTree_driver.cpp b/src/dominator/LTDTree_driver.cpp index 83fb9689991..0acfa185ff9 100644 --- a/src/dominator/LTDTree_driver.cpp +++ b/src/dominator/LTDTree_driver.cpp @@ -28,8 +28,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "drivers/LTDTree/LTDTree_driver.h" -#include "LTDTree/pgr_LTDTree_driver.hpp" +#include "drivers/dominator/LTDTree_driver.h" +#include "dominator/pgr_LTDTree_driver.hpp" #include "c_types/pgr_ltdtree_rt.h" #include #include From a1c5eded460b2b052628434a87cae4d6bb292608 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 4 Aug 2020 20:36:24 +0530 Subject: [PATCH 0833/1360] [bipartite] renamed foladar from bipartite to coloring --- .gitignore | 3 +++ doc/bipartite/CMakeLists.txt | 12 ------------ doc/coloring/CMakeLists.txt | 1 + doc/{bipartite => coloring}/pgr_bipartite.rst | 0 docqueries/bipartite/CMakeLists.txt | 11 ----------- docqueries/bipartite/test.conf | 17 ----------------- docqueries/coloring/CMakeLists.txt | 1 + .../doc-bipartite.result | 0 .../doc-bipartite.test.sql | 0 docqueries/coloring/test.conf | 4 +++- .../pgr_bipartite_driver.hpp | 0 .../{bipartite => coloring}/bipartite_driver.h | 0 pgtap/{ => coloring}/bipartite/edge-cases.sql | 0 pgtap/{ => coloring}/bipartite/innerQuery.sql | 0 .../{ => coloring}/bipartite/no_crash_test.sql | 0 pgtap/{ => coloring}/bipartite/types_check.sql | 0 sql/bipartite/CMakeLists.txt | 12 ------------ sql/coloring/CMakeLists.txt | 4 ++++ sql/{bipartite => coloring}/_bipartite.sql | 0 sql/{bipartite => coloring}/bipartite.sql | 0 src/bipartite/CMakeLists.txt | 4 ---- src/coloring/CMakeLists.txt | 2 ++ src/{bipartite => coloring}/bipartite.c | 0 .../bipartite_driver.cpp | 0 24 files changed, 14 insertions(+), 57 deletions(-) delete mode 100644 doc/bipartite/CMakeLists.txt rename doc/{bipartite => coloring}/pgr_bipartite.rst (100%) delete mode 100644 docqueries/bipartite/CMakeLists.txt delete mode 100644 docqueries/bipartite/test.conf rename docqueries/{bipartite => coloring}/doc-bipartite.result (100%) rename docqueries/{bipartite => coloring}/doc-bipartite.test.sql (100%) rename include/{bipartite => coloring}/pgr_bipartite_driver.hpp (100%) rename include/drivers/{bipartite => coloring}/bipartite_driver.h (100%) rename pgtap/{ => coloring}/bipartite/edge-cases.sql (100%) rename pgtap/{ => coloring}/bipartite/innerQuery.sql (100%) rename pgtap/{ => coloring}/bipartite/no_crash_test.sql (100%) rename pgtap/{ => coloring}/bipartite/types_check.sql (100%) delete mode 100644 sql/bipartite/CMakeLists.txt rename sql/{bipartite => coloring}/_bipartite.sql (100%) rename sql/{bipartite => coloring}/bipartite.sql (100%) delete mode 100644 src/bipartite/CMakeLists.txt rename src/{bipartite => coloring}/bipartite.c (100%) rename src/{bipartite => coloring}/bipartite_driver.cpp (100%) diff --git a/.gitignore b/.gitignore index d911633193a..0a4568bade4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ fix_typos code_linter src/version/_version.h .vscode +Bipartite_run.sh +run.sh +runWithDoc.sh .DS_Store .vagrant diff --git a/doc/bipartite/CMakeLists.txt b/doc/bipartite/CMakeLists.txt deleted file mode 100644 index 92ab93fa512..00000000000 --- a/doc/bipartite/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ - -SET(LOCAL_FILES - pgr_bipartite.rst - ) - -foreach (f ${LOCAL_FILES}) - configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}") - list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) -endforeach() - -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) - diff --git a/doc/coloring/CMakeLists.txt b/doc/coloring/CMakeLists.txt index 358f7ef04df..364e63c011c 100644 --- a/doc/coloring/CMakeLists.txt +++ b/doc/coloring/CMakeLists.txt @@ -2,6 +2,7 @@ SET(LOCAL_FILES coloring-family.rst pgr_sequentialVertexColoring.rst + pgr_bipartite.rst ) foreach (f ${LOCAL_FILES}) diff --git a/doc/bipartite/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst similarity index 100% rename from doc/bipartite/pgr_bipartite.rst rename to doc/coloring/pgr_bipartite.rst diff --git a/docqueries/bipartite/CMakeLists.txt b/docqueries/bipartite/CMakeLists.txt deleted file mode 100644 index 9c2f94874da..00000000000 --- a/docqueries/bipartite/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -# Do not use extensions -SET(LOCAL_FILES - doc-bipartite - ) - -foreach (f ${LOCAL_FILES}) - configure_file("${f}.result" "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") - list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") -endforeach() - -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/bipartite/test.conf b/docqueries/bipartite/test.conf deleted file mode 100644 index 1d66b5f1a91..00000000000 --- a/docqueries/bipartite/test.conf +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/perl -w - -%main::tests = ( - 'any' => { - 'comment' => 'is_bipartite algorithm tests', - 'data' => [ ], - 'tests' => [qw( - doc-bipartite - )], - 'documentation' => [qw( - doc-bipartite - )] - }, - -); - -1; diff --git a/docqueries/coloring/CMakeLists.txt b/docqueries/coloring/CMakeLists.txt index 15e5465e520..08daeddb17b 100644 --- a/docqueries/coloring/CMakeLists.txt +++ b/docqueries/coloring/CMakeLists.txt @@ -1,6 +1,7 @@ # Do not use extensions SET(LOCAL_FILES doc-pgr_sequentialVertexColoring + doc-bipartite ) foreach (f ${LOCAL_FILES}) diff --git a/docqueries/bipartite/doc-bipartite.result b/docqueries/coloring/doc-bipartite.result similarity index 100% rename from docqueries/bipartite/doc-bipartite.result rename to docqueries/coloring/doc-bipartite.result diff --git a/docqueries/bipartite/doc-bipartite.test.sql b/docqueries/coloring/doc-bipartite.test.sql similarity index 100% rename from docqueries/bipartite/doc-bipartite.test.sql rename to docqueries/coloring/doc-bipartite.test.sql diff --git a/docqueries/coloring/test.conf b/docqueries/coloring/test.conf index 1eec0b6060c..0af60b822d1 100644 --- a/docqueries/coloring/test.conf +++ b/docqueries/coloring/test.conf @@ -2,13 +2,15 @@ %main::tests = ( 'any' => { - 'comment' => 'Sequential Vertex Coloring algorithm tests.', + 'comment' => 'Coloring algorithm tests.', 'data' => [ ], 'tests' => [qw( doc-pgr_sequentialVertexColoring + doc-bipartite )], 'documentation' => [qw( doc-pgr_sequentialVertexColoring + doc-bipartite )] }, diff --git a/include/bipartite/pgr_bipartite_driver.hpp b/include/coloring/pgr_bipartite_driver.hpp similarity index 100% rename from include/bipartite/pgr_bipartite_driver.hpp rename to include/coloring/pgr_bipartite_driver.hpp diff --git a/include/drivers/bipartite/bipartite_driver.h b/include/drivers/coloring/bipartite_driver.h similarity index 100% rename from include/drivers/bipartite/bipartite_driver.h rename to include/drivers/coloring/bipartite_driver.h diff --git a/pgtap/bipartite/edge-cases.sql b/pgtap/coloring/bipartite/edge-cases.sql similarity index 100% rename from pgtap/bipartite/edge-cases.sql rename to pgtap/coloring/bipartite/edge-cases.sql diff --git a/pgtap/bipartite/innerQuery.sql b/pgtap/coloring/bipartite/innerQuery.sql similarity index 100% rename from pgtap/bipartite/innerQuery.sql rename to pgtap/coloring/bipartite/innerQuery.sql diff --git a/pgtap/bipartite/no_crash_test.sql b/pgtap/coloring/bipartite/no_crash_test.sql similarity index 100% rename from pgtap/bipartite/no_crash_test.sql rename to pgtap/coloring/bipartite/no_crash_test.sql diff --git a/pgtap/bipartite/types_check.sql b/pgtap/coloring/bipartite/types_check.sql similarity index 100% rename from pgtap/bipartite/types_check.sql rename to pgtap/coloring/bipartite/types_check.sql diff --git a/sql/bipartite/CMakeLists.txt b/sql/bipartite/CMakeLists.txt deleted file mode 100644 index 0815d3bd366..00000000000 --- a/sql/bipartite/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ - -SET(LOCAL_FILES - _bipartite.sql - bipartite.sql - ) - -foreach (f ${LOCAL_FILES}) - configure_file(${f} ${f}) - list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) -endforeach() - -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/coloring/CMakeLists.txt b/sql/coloring/CMakeLists.txt index 01fc864dbeb..460ed7aee26 100644 --- a/sql/coloring/CMakeLists.txt +++ b/sql/coloring/CMakeLists.txt @@ -2,10 +2,14 @@ SET(LOCAL_FILES _sequentialVertexColoring.sql sequentialVertexColoring.sql + _bipartite.sql + bipartite.sql ) # Do not modify below this line + + foreach (f ${LOCAL_FILES}) configure_file(${f} ${f}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) diff --git a/sql/bipartite/_bipartite.sql b/sql/coloring/_bipartite.sql similarity index 100% rename from sql/bipartite/_bipartite.sql rename to sql/coloring/_bipartite.sql diff --git a/sql/bipartite/bipartite.sql b/sql/coloring/bipartite.sql similarity index 100% rename from sql/bipartite/bipartite.sql rename to sql/coloring/bipartite.sql diff --git a/src/bipartite/CMakeLists.txt b/src/bipartite/CMakeLists.txt deleted file mode 100644 index ef9a33c7bc3..00000000000 --- a/src/bipartite/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -ADD_LIBRARY(bipartite OBJECT - bipartite.c - bipartite_driver.cpp - ) diff --git a/src/coloring/CMakeLists.txt b/src/coloring/CMakeLists.txt index 072df65b08e..9cbd66ef1c2 100644 --- a/src/coloring/CMakeLists.txt +++ b/src/coloring/CMakeLists.txt @@ -1,4 +1,6 @@ ADD_LIBRARY(coloring OBJECT sequentialVertexColoring.c sequentialVertexColoring_driver.cpp + bipartite.c + bipartite_driver.cpp ) diff --git a/src/bipartite/bipartite.c b/src/coloring/bipartite.c similarity index 100% rename from src/bipartite/bipartite.c rename to src/coloring/bipartite.c diff --git a/src/bipartite/bipartite_driver.cpp b/src/coloring/bipartite_driver.cpp similarity index 100% rename from src/bipartite/bipartite_driver.cpp rename to src/coloring/bipartite_driver.cpp From 1a107d05d4608720acb4e46e0cf3e2fc9ca55bc9 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 4 Aug 2020 20:41:57 +0530 Subject: [PATCH 0834/1360] [bipartite] fixed compilation errors --- src/coloring/bipartite.c | 2 +- src/coloring/bipartite_driver.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/coloring/bipartite.c b/src/coloring/bipartite.c index 5fff787f474..73c9920d851 100644 --- a/src/coloring/bipartite.c +++ b/src/coloring/bipartite.c @@ -41,7 +41,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pgr_bipartite_rt.h" #include "c_common/edges_input.h" #include "c_common/arrays_input.h" -#include "drivers/bipartite/bipartite_driver.h" +#include "drivers/coloring/bipartite_driver.h" diff --git a/src/coloring/bipartite_driver.cpp b/src/coloring/bipartite_driver.cpp index ecfba0b9cb4..33445f5aa5c 100644 --- a/src/coloring/bipartite_driver.cpp +++ b/src/coloring/bipartite_driver.cpp @@ -31,8 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /************************************************************ edges_sql TEXT ***********************************************************/ -#include "drivers/bipartite/bipartite_driver.h" -#include "bipartite/pgr_bipartite_driver.hpp" +#include "drivers/coloring/bipartite_driver.h" +#include "coloring/pgr_bipartite_driver.hpp" #include "c_types/pgr_bipartite_rt.h" #include #include From 02e7c8bf1c1574774e8058d90d645e0c0d5859c2 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 4 Aug 2020 23:56:41 +0530 Subject: [PATCH 0835/1360] [ltdtree]renamed files with full name --- ...Tree_driver.hpp => pgr_lengauerTarjanDominatorTree_driver.hpp} | 0 .../{LTDTree_driver.h => lengauerTarjanDominatorTree_driver.h} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename include/dominator/{pgr_LTDTree_driver.hpp => pgr_lengauerTarjanDominatorTree_driver.hpp} (100%) rename include/drivers/dominator/{LTDTree_driver.h => lengauerTarjanDominatorTree_driver.h} (100%) diff --git a/include/dominator/pgr_LTDTree_driver.hpp b/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp similarity index 100% rename from include/dominator/pgr_LTDTree_driver.hpp rename to include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp diff --git a/include/drivers/dominator/LTDTree_driver.h b/include/drivers/dominator/lengauerTarjanDominatorTree_driver.h similarity index 100% rename from include/drivers/dominator/LTDTree_driver.h rename to include/drivers/dominator/lengauerTarjanDominatorTree_driver.h From a3917a470be19e7fad7fd2b2738799f5034d0cae Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 4 Aug 2020 23:57:44 +0530 Subject: [PATCH 0836/1360] [ltdtree]renamed sql files with full name --- sql/dominator/{_LTDTree.sql => _lengauerTarjanDominatorTree.sql} | 0 sql/dominator/{LTDTree.sql => lengauerTarjanDominatorTree.sql} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename sql/dominator/{_LTDTree.sql => _lengauerTarjanDominatorTree.sql} (100%) rename sql/dominator/{LTDTree.sql => lengauerTarjanDominatorTree.sql} (100%) diff --git a/sql/dominator/_LTDTree.sql b/sql/dominator/_lengauerTarjanDominatorTree.sql similarity index 100% rename from sql/dominator/_LTDTree.sql rename to sql/dominator/_lengauerTarjanDominatorTree.sql diff --git a/sql/dominator/LTDTree.sql b/sql/dominator/lengauerTarjanDominatorTree.sql similarity index 100% rename from sql/dominator/LTDTree.sql rename to sql/dominator/lengauerTarjanDominatorTree.sql From 581da77381ec7f8d8c414372326f50d1fe1738d2 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 4 Aug 2020 23:59:24 +0530 Subject: [PATCH 0837/1360] [ltdtree]fixed c/c++ coding style and renamed file --- sql/dominator/CMakeLists.txt | 4 ++-- src/dominator/CMakeLists.txt | 4 ++-- ...TDTree.c => lengauerTarjanDominatorTree.c} | 15 +++++--------- ...=> lengauerTarjanDominatorTree_driver.cpp} | 20 ++++++++----------- 4 files changed, 17 insertions(+), 26 deletions(-) rename src/dominator/{LTDTree.c => lengauerTarjanDominatorTree.c} (94%) rename src/dominator/{LTDTree_driver.cpp => lengauerTarjanDominatorTree_driver.cpp} (95%) diff --git a/sql/dominator/CMakeLists.txt b/sql/dominator/CMakeLists.txt index e37214ac7fe..1247c26dd6b 100644 --- a/sql/dominator/CMakeLists.txt +++ b/sql/dominator/CMakeLists.txt @@ -1,7 +1,7 @@ SET(LOCAL_FILES - _LTDTree.sql - LTDTree.sql + _lengauerTarjanDominatorTree.sql + lengauerTarjanDominatorTree.sql ) foreach (f ${LOCAL_FILES}) diff --git a/src/dominator/CMakeLists.txt b/src/dominator/CMakeLists.txt index d3f4f041662..f9d3e755fba 100644 --- a/src/dominator/CMakeLists.txt +++ b/src/dominator/CMakeLists.txt @@ -1,4 +1,4 @@ ADD_LIBRARY(dominator OBJECT - LTDTree.c - LTDTree_driver.cpp + lengauerTarjanDominatorTree.c + lengauerTarjanDominatorTree_driver.cpp ) diff --git a/src/dominator/LTDTree.c b/src/dominator/lengauerTarjanDominatorTree.c similarity index 94% rename from src/dominator/LTDTree.c rename to src/dominator/lengauerTarjanDominatorTree.c index 8e8bfa06779..734738d0a5b 100644 --- a/src/dominator/LTDTree.c +++ b/src/dominator/lengauerTarjanDominatorTree.c @@ -40,8 +40,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "drivers/dominator/LTDTree_driver.h" -PGDLLEXPORT Datum _pgr_lengauertarjandominatortree (PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_lengauertarjandominatortree ); +PGDLLEXPORT Datum _pgr_lengauertarjandominatortree(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_lengauertarjandominatortree); static @@ -98,7 +98,7 @@ _pgr_lengauertarjandominatortree(PG_FUNCTION_ARGS) { TupleDesc tuple_desc; /**********************************************************************/ - pgr_ltdtree_rt *result_tuples =NULL; + pgr_ltdtree_rt *result_tuples = NULL; size_t result_count = 0; /**********************************************************************/ @@ -142,10 +142,7 @@ _pgr_lengauertarjandominatortree(PG_FUNCTION_ARGS) { Datum result; Datum *values; bool *nulls; - size_t call_cntr = funcctx->call_cntr; - - size_t numb = 3; values =(Datum *)palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); @@ -153,15 +150,13 @@ _pgr_lengauertarjandominatortree(PG_FUNCTION_ARGS) { for (i = 0; i < numb; ++i) { nulls[i] = false; } - values[0] = Int32GetDatum(call_cntr + 1); values[1] = Int64GetDatum(result_tuples[call_cntr].vid); - values[2] = Int64GetDatum(result_tuples[call_cntr].idom); + values[2] = Int64GetDatum(result_tuples[call_cntr].idom); tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); - }else { + } else { SRF_RETURN_DONE(funcctx); } - } diff --git a/src/dominator/LTDTree_driver.cpp b/src/dominator/lengauerTarjanDominatorTree_driver.cpp similarity index 95% rename from src/dominator/LTDTree_driver.cpp rename to src/dominator/lengauerTarjanDominatorTree_driver.cpp index 0acfa185ff9..00910c37184 100644 --- a/src/dominator/LTDTree_driver.cpp +++ b/src/dominator/lengauerTarjanDominatorTree_driver.cpp @@ -28,10 +28,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#include "drivers/dominator/LTDTree_driver.h" -#include "dominator/pgr_LTDTree_driver.hpp" -#include "c_types/pgr_ltdtree_rt.h" -#include + + +#include #include #include #include @@ -40,6 +39,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/basePath_SSEC.hpp" #include "cpp_common/pgr_base_graph.hpp" +#include "c_types/pgr_ltdtree_rt.h" +#include "drivers/dominator/LTDTree_driver.h" +#include "dominator/pgr_LTDTree_driver.hpp" /************************************************************ @@ -72,13 +74,12 @@ do_pgr_LTDTree( /***********************Working with graph**************************/ - log << "Working with directed Graph\n"; graphType gType = DIRECTED; pgrouting::DirectedGraph digraph(gType); - digraph.insert_edges(data_edges, total_edges); //Creating graph using data_edges + digraph.insert_edges(data_edges, total_edges); std::vector results; pgrouting::functions::Pgr_LTDTree fn_LTDTree; - results=fn_LTDTree.pgr_ltdtree(digraph,root_vertex); + results = fn_LTDTree.pgr_ltdtree(digraph, root_vertex); logstr += fn_LTDTree.get_log(); log << logstr; @@ -110,7 +111,6 @@ do_pgr_LTDTree( *notice_msg = notice.str().empty()? *notice_msg : pgr_msg(notice.str().c_str()); - } catch (AssertFailedException &except) { (*return_tuples) = pgr_free(*return_tuples); (*return_count) = 0; @@ -130,8 +130,4 @@ do_pgr_LTDTree( *err_msg = pgr_msg(err.str().c_str()); *log_msg = pgr_msg(log.str().c_str()); } - - } - - From 84470efacee009b67ba706f98e78308a819e8a52 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 5 Aug 2020 00:31:25 +0530 Subject: [PATCH 0838/1360] [ltdtree]fixed c/c++ headers coding style and renamed file --- ...pgr_lengauerTarjanDominatorTree_driver.hpp | 47 +++++++++---------- .../lengauerTarjanDominatorTree_driver.h | 12 ++--- src/dominator/lengauerTarjanDominatorTree.c | 2 +- .../lengauerTarjanDominatorTree_driver.cpp | 4 +- 4 files changed, 30 insertions(+), 35 deletions(-) diff --git a/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp b/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp index bd0a6b83210..e4913503b89 100644 --- a/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp +++ b/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp @@ -28,45 +28,42 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_LTDTREE_PGR_LTDTREE_HPP -#define INCLUDE_LTDTREE_PGR_LTDTREE_HPP +#ifndef INCLUDE_DOMINATOR_PGR_LENGAUERTARJANDOMINATORTREE_DRIVER_HPP_ +#define INCLUDE_DOMINATOR_PGR_LENGAUERTARJANDOMINATORTREE_DRIVER_HPP_ #pragma once -#include "cpp_common/pgr_base_graph.hpp" -#include "cpp_common/pgr_messages.h" - -#include -#include #include #include #include #include #include + +#include +#include #include "cpp_common/interruption.h" +#include "cpp_common/pgr_messages.h" +#include "cpp_common/pgr_base_graph.hpp" + -//using namespace boost; -//using namespace std; -/********TODO week 10*********/ namespace pgrouting { - namespace functions { +namespace functions { - template - class Pgr_LTDTree : public pgrouting::Pgr_messages { - public: +template +class Pgr_LTDTree : public pgrouting::Pgr_messages { + public: typedef typename G::V Vertex; typedef typename G::E_i E_i; typedef typename G::V_i V_i; - std::vector pgr_ltdtree( G &graph, int64_t root ){ std::vector results; - std::vector domTreePredVector = std::vector(boost::num_vertices(graph.graph),-1); - auto domTreePredMap = make_iterator_property_map(domTreePredVector.begin(), boost::get(boost::vertex_index, graph.graph)); - - + std::vector domTreePredVector = std::vector(boost::num_vertices(graph.graph), -1); + auto domTreePredMap = + make_iterator_property_map + (domTreePredVector.begin(), boost::get(boost::vertex_index, graph.graph)); /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); try { @@ -85,15 +82,13 @@ namespace pgrouting { V_i v, vend; for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t vid = graph[*v].id; - results.push_back ({vid, (domTreePredVector[*v]!=-1 ? (domTreePredVector[*v]+1) : 0) }); - - log< -#include + #else # include #endif - +#include #include "c_types/pgr_edge_t.h" #ifdef __cplusplus @@ -67,4 +67,4 @@ do_pgr_LTDTree( } #endif -#endif // INCLUDE_DRIVERS_LTDTREE_LTDTREE_DRIVER_H_ +#endif // INCLUDE_DRIVERS_DOMINATOR_LENGAUERTARJANDOMINATORTREE_DRIVER_H_ diff --git a/src/dominator/lengauerTarjanDominatorTree.c b/src/dominator/lengauerTarjanDominatorTree.c index 734738d0a5b..ea2060077bf 100644 --- a/src/dominator/lengauerTarjanDominatorTree.c +++ b/src/dominator/lengauerTarjanDominatorTree.c @@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pgr_ltdtree_rt.h" #include "c_common/edges_input.h" -#include "drivers/dominator/LTDTree_driver.h" +#include "drivers/dominator/lengauerTarjanDominatorTree_driver.h" PGDLLEXPORT Datum _pgr_lengauertarjandominatortree(PG_FUNCTION_ARGS); diff --git a/src/dominator/lengauerTarjanDominatorTree_driver.cpp b/src/dominator/lengauerTarjanDominatorTree_driver.cpp index 00910c37184..c7d13f46cf4 100644 --- a/src/dominator/lengauerTarjanDominatorTree_driver.cpp +++ b/src/dominator/lengauerTarjanDominatorTree_driver.cpp @@ -40,8 +40,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/basePath_SSEC.hpp" #include "cpp_common/pgr_base_graph.hpp" #include "c_types/pgr_ltdtree_rt.h" -#include "drivers/dominator/LTDTree_driver.h" -#include "dominator/pgr_LTDTree_driver.hpp" +#include "drivers/dominator/lengauerTarjanDominatorTree_driver.h" +#include "dominator/pgr_lengauerTarjanDominatorTree_driver.hpp" /************************************************************ From cabc8ef07a234b9e4b2fa73149cd9d861facbd79 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 5 Aug 2020 17:15:03 +0530 Subject: [PATCH 0839/1360] [bipartite] code rfined --- include/coloring/pgr_bipartite_driver.hpp | 63 +++++++++------------ include/drivers/coloring/bipartite_driver.h | 8 +-- src/coloring/bipartite.c | 32 +++-------- src/coloring/bipartite_driver.cpp | 26 +++------ 4 files changed, 46 insertions(+), 83 deletions(-) diff --git a/include/coloring/pgr_bipartite_driver.hpp b/include/coloring/pgr_bipartite_driver.hpp index fb165429b50..3d68b32bfa4 100644 --- a/include/coloring/pgr_bipartite_driver.hpp +++ b/include/coloring/pgr_bipartite_driver.hpp @@ -28,43 +28,42 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_PGR_BIPARTITE_DRIVER_HPP -#define INCLUDE_PGR_BIPARTITE_DRIVER_HPP +#ifndef INCLUDE_COLORING_PGR_BIPARTITE_DRIVER_HPP_ +#define INCLUDE_COLORING_PGR_BIPARTITE_DRIVER_HPP_ #pragma once -#include -#include "cpp_common/pgr_base_graph.hpp" -#include "cpp_common/pgr_messages.h" -#include -#include #include #include #include #include + +#include +#include +#include + +#include "cpp_common/pgr_base_graph.hpp" +#include "cpp_common/pgr_messages.h" #include "cpp_common/interruption.h" namespace pgrouting { - namespace functions { +namespace functions { - template - class Pgr_Bipartite : public pgrouting::Pgr_messages { - - public: +template +class Pgr_Bipartite : public pgrouting::Pgr_messages { + public: typedef typename G::V_i V_i; - std::vector print_Bipartite( - G &graph){ + G &graph) { std::vector results; - std::vector partition (graph.num_vertices()); + std::vector partition(graph.num_vertices()); auto partition_map = - make_iterator_property_map(partition.begin (), boost::get (boost::vertex_index, graph.graph)); + make_iterator_property_map(partition.begin(), boost::get(boost::vertex_index, graph.graph)); /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); try { - // calling the boost function - boost::is_bipartite (graph.graph, boost::get (boost::vertex_index, graph.graph), partition_map); + boost::is_bipartite(graph.graph, boost::get(boost::vertex_index, graph.graph), partition_map); } catch (boost::exception const& ex) { (void)ex; throw; @@ -74,33 +73,23 @@ namespace pgrouting { } catch (...) { throw; } - - V_i v, vend; for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t vid = graph[*v].id; - boost::get (partition_map, *v) == boost::color_traits ::white () ? results.push_back({vid,0}) :results.push_back({vid,1}); - + boost::get(partition_map, *v) == + boost::color_traits ::white() ? + results.push_back({vid, 0}) :results.push_back({vid, 1}); } return results; - } - - std::vector pgr_bipartite( G &graph ){ - std::vector results(graph.num_vertices()); - - bool bipartite = boost::is_bipartite (graph.graph); - if(bipartite) results=print_Bipartite(graph); + bool bipartite = boost::is_bipartite(graph.graph); + if (bipartite) results = print_Bipartite(graph); return results; - } - - }; - } -} - - -#endif // INCLUDE_PGR_BIPARTITE_DRIVER_HPP +}; +} // namespace functions +} // namespace pgrouting +#endif // INCLUDE_COLORING_PGR_BIPARTITE_DRIVER_HPP_ diff --git a/include/drivers/coloring/bipartite_driver.h b/include/drivers/coloring/bipartite_driver.h index bb6be339ee9..f319ac1151c 100644 --- a/include/drivers/coloring/bipartite_driver.h +++ b/include/drivers/coloring/bipartite_driver.h @@ -27,8 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -#ifndef INCLUDE_DRIVERS_BIPARTITE_DRIVER_H_ -#define INCLUDE_DRIVERS_BIPARTITE_DRIVER_H_ +#ifndef INCLUDE_DRIVERS_COLORING_BIPARTITE_DRIVER_H_ +#define INCLUDE_DRIVERS_COLORING_BIPARTITE_DRIVER_H_ /* for size-t */ @@ -37,8 +37,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #else # include #endif -#include "c_types/pgr_edge_t.h" #include +#include "c_types/pgr_edge_t.h" #ifdef __cplusplus extern "C" { @@ -63,4 +63,4 @@ do_pgr_bipartite( } #endif -#endif // INCLUDE_DRIVERS_BIPARTITE_DRIVER_H_ +#endif // INCLUDE_DRIVERS_COLORING_BIPARTITE_DRIVER_H_ diff --git a/src/coloring/bipartite.c b/src/coloring/bipartite.c index 73c9920d851..9d0e8f10346 100644 --- a/src/coloring/bipartite.c +++ b/src/coloring/bipartite.c @@ -45,7 +45,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -PGDLLEXPORT Datum _pgr_bipartite (PG_FUNCTION_ARGS); +PGDLLEXPORT Datum _pgr_bipartite(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_bipartite); @@ -54,7 +54,6 @@ void process(char* edges_sql, pgr_bipartite_rt **result_tuples, size_t *result_count) { - pgr_SPI_connect(); size_t total_edges = 0; @@ -99,33 +98,24 @@ PGDLLEXPORT Datum _pgr_bipartite(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; - - /**********************************************************************/ - - pgr_bipartite_rt *result_tuples =NULL; + pgr_bipartite_rt *result_tuples = NULL; size_t result_count = 0; - /**********************************************************************/ - if (SRF_IS_FIRSTCALL()) { MemoryContext oldcontext; funcctx = SRF_FIRSTCALL_INIT(); oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - - process( text_to_cstring(PG_GETARG_TEXT_P(0)), &result_tuples, &result_count); - /**********************************************************************/ #if PGSQL_VERSION > 95 - funcctx->max_calls = result_count; + funcctx->max_calls = result_count; #else funcctx->max_calls = (uint32_t)result_count; #endif - funcctx->user_fctx = result_tuples; + funcctx->user_fctx = result_tuples; if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) ereport(ERROR, @@ -138,32 +128,28 @@ _pgr_bipartite(PG_FUNCTION_ARGS) { funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_bipartite_rt*) funcctx->user_fctx; + result_tuples = (pgr_bipartite_rt*) funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; + HeapTuple tuple; Datum result; Datum *values; bool *nulls; - size_t call_cntr = funcctx->call_cntr; - size_t numb = 2; + size_t numb = 2; values =(Datum *)palloc(numb * sizeof(Datum)); nulls = palloc(numb * sizeof(bool)); size_t i; for (i = 0; i < numb; ++i) { nulls[i] = false; } - - values[0] = Int64GetDatum(result_tuples[call_cntr].vid); - values[1] = Int64GetDatum(result_tuples[call_cntr].color); + values[1] = Int64GetDatum(result_tuples[call_cntr].color); tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); - }else { + } else { SRF_RETURN_DONE(funcctx); } - } diff --git a/src/coloring/bipartite_driver.cpp b/src/coloring/bipartite_driver.cpp index 33445f5aa5c..3988bc374e0 100644 --- a/src/coloring/bipartite_driver.cpp +++ b/src/coloring/bipartite_driver.cpp @@ -31,10 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /************************************************************ edges_sql TEXT ***********************************************************/ -#include "drivers/coloring/bipartite_driver.h" -#include "coloring/pgr_bipartite_driver.hpp" -#include "c_types/pgr_bipartite_rt.h" -#include + +#include #include #include #include @@ -43,6 +41,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/basePath_SSEC.hpp" #include "cpp_common/pgr_base_graph.hpp" +#include "drivers/coloring/bipartite_driver.h" +#include "coloring/pgr_bipartite_driver.hpp" +#include "c_types/pgr_bipartite_rt.h" /************************************************************ @@ -71,24 +72,15 @@ do_pgr_bipartite( pgassert(*return_count == 0); std::string logstr; - -/***********************Working with graph**************************/ - - log << "Working with undirected Graph\n"; graphType gType = UNDIRECTED; - /****TODO***/ - //Check if directed then return 0 rows pgrouting::UndirectedGraph undigraph(gType); - undigraph.insert_edges(data_edges, total_edges);//Creating graph using data_edges + undigraph.insert_edges(data_edges, total_edges); std::vector results; pgrouting::functions::Pgr_Bipartite fn_Bipartite; - results=fn_Bipartite.pgr_bipartite(undigraph); - + results = fn_Bipartite.pgr_bipartite(undigraph); logstr += fn_Bipartite.get_log(); log << logstr; - auto count = results.size(); -/****************************************************/ if (count == 0) { (*return_tuples) = NULL; (*return_count) = 0; @@ -114,7 +106,6 @@ do_pgr_bipartite( *notice_msg = notice.str().empty()? *notice_msg : pgr_msg(notice.str().c_str()); - } catch (AssertFailedException &except) { (*return_tuples) = pgr_free(*return_tuples); (*return_count) = 0; @@ -134,7 +125,4 @@ do_pgr_bipartite( *err_msg = pgr_msg(err.str().c_str()); *log_msg = pgr_msg(log.str().c_str()); } - - } - From 7b558165a1c4f105eaab30d53e8621975bda12b2 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 5 Aug 2020 18:52:50 +0530 Subject: [PATCH 0840/1360] [ltdtree] renamed variables --- .../pgr_lengauerTarjanDominatorTree_driver.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp b/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp index e4913503b89..99472fba5dd 100644 --- a/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp +++ b/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp @@ -60,15 +60,15 @@ class Pgr_LTDTree : public pgrouting::Pgr_messages { int64_t root ){ std::vector results; - std::vector domTreePredVector = std::vector(boost::num_vertices(graph.graph), -1); - auto domTreePredMap = + std::vector idoms = std::vector(boost::num_vertices(graph.graph), -1); + auto dominatorTree = make_iterator_property_map - (domTreePredVector.begin(), boost::get(boost::vertex_index, graph.graph)); + (idoms.begin(), boost::get(boost::vertex_index, graph.graph)); /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); try { // calling the boost function - boost::lengauer_tarjan_dominator_tree(graph.graph, graph.get_V(root), domTreePredMap); + boost::lengauer_tarjan_dominator_tree(graph.graph, graph.get_V(root), dominatorTree); } catch (boost::exception const& ex) { (void)ex; throw; @@ -82,7 +82,7 @@ class Pgr_LTDTree : public pgrouting::Pgr_messages { V_i v, vend; for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t vid = graph[*v].id; - results.push_back({vid, (domTreePredVector[*v] != -1 ? (domTreePredVector[*v]+1) : 0) }); + results.push_back({vid, (idoms[*v] != -1 ? (idoms[*v]+1) : 0) }); } return results; From 821d5902d9edb7650f93807d171ee6a73d41cc52 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 5 Aug 2020 19:58:11 +0530 Subject: [PATCH 0841/1360] [ltdtree] fixed file names --- include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp | 2 +- include/drivers/dominator/lengauerTarjanDominatorTree_driver.h | 2 +- sql/dominator/_lengauerTarjanDominatorTree.sql | 2 +- sql/dominator/lengauerTarjanDominatorTree.sql | 2 +- src/dominator/lengauerTarjanDominatorTree.c | 2 +- src/dominator/lengauerTarjanDominatorTree_driver.cpp | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp b/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp index 99472fba5dd..042d8e10abd 100644 --- a/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp +++ b/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: pgr_LTDTree_driver.hpp +File: pgr_lengauerTarjanDominatorTree_driver.hpp Generated with Template by: Copyright (c) 2015 pgRouting developers diff --git a/include/drivers/dominator/lengauerTarjanDominatorTree_driver.h b/include/drivers/dominator/lengauerTarjanDominatorTree_driver.h index 52d0f511b13..08222319aea 100644 --- a/include/drivers/dominator/lengauerTarjanDominatorTree_driver.h +++ b/include/drivers/dominator/lengauerTarjanDominatorTree_driver.h @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: LTDTree_driver.h +File: lengauerTarjanDominatorTree_driver.h Generated with Template by: Copyright (c) 2015 pgRouting developers diff --git a/sql/dominator/_lengauerTarjanDominatorTree.sql b/sql/dominator/_lengauerTarjanDominatorTree.sql index 3eec012524f..8fad6bee81a 100644 --- a/sql/dominator/_lengauerTarjanDominatorTree.sql +++ b/sql/dominator/_lengauerTarjanDominatorTree.sql @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: LTDTree.sql +File: _lengauerTarjanDominatorTree.sql Generated with Template by: Copyright (c) 2015 pgRouting developers diff --git a/sql/dominator/lengauerTarjanDominatorTree.sql b/sql/dominator/lengauerTarjanDominatorTree.sql index 08fad257331..a04ee55c44f 100644 --- a/sql/dominator/lengauerTarjanDominatorTree.sql +++ b/sql/dominator/lengauerTarjanDominatorTree.sql @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: LTDTree.sql +File: lengauerTarjanDominatorTree.sql Generated with Template by: Copyright (c) 2015 pgRouting developers diff --git a/src/dominator/lengauerTarjanDominatorTree.c b/src/dominator/lengauerTarjanDominatorTree.c index ea2060077bf..e831519e5ce 100644 --- a/src/dominator/lengauerTarjanDominatorTree.c +++ b/src/dominator/lengauerTarjanDominatorTree.c @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: LTDTree.c +File: lengauerTarjanDominatorTree.c Generated with Template by: Copyright (c) 2015 pgRouting developers diff --git a/src/dominator/lengauerTarjanDominatorTree_driver.cpp b/src/dominator/lengauerTarjanDominatorTree_driver.cpp index c7d13f46cf4..1029b265ba9 100644 --- a/src/dominator/lengauerTarjanDominatorTree_driver.cpp +++ b/src/dominator/lengauerTarjanDominatorTree_driver.cpp @@ -1,5 +1,5 @@ /*PGR-GNU***************************************************************** -File: LTDTree_driver.pp +File: lengauerTarjanDominatorTree_driver.pp Generated with Template by: Copyright (c) 2015 pgRouting developers From 7da14d2e7dbdab1225af9bcc028da70e734cf434 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 5 Aug 2020 20:17:12 +0530 Subject: [PATCH 0842/1360] fixing code checker errors --- include/c_types/pgr_bipartite_rt.h | 4 ---- include/c_types/pgr_ltdtree_rt.h | 5 ----- 2 files changed, 9 deletions(-) diff --git a/include/c_types/pgr_bipartite_rt.h b/include/c_types/pgr_bipartite_rt.h index 4f6c62810aa..e46ab2e3a1e 100644 --- a/include/c_types/pgr_bipartite_rt.h +++ b/include/c_types/pgr_bipartite_rt.h @@ -34,11 +34,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif typedef struct { - int64_t vid; int64_t color; - - }pgr_bipartite_rt; - #endif // INCLUDE_C_TYPES_PGR_BIPARTITE_RT_H_ diff --git a/include/c_types/pgr_ltdtree_rt.h b/include/c_types/pgr_ltdtree_rt.h index dd64920cdbb..033ff30a50c 100644 --- a/include/c_types/pgr_ltdtree_rt.h +++ b/include/c_types/pgr_ltdtree_rt.h @@ -32,13 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #else # include #endif - typedef struct { - //int64_t seq; int64_t vid; int64_t idom; - //int64_t sdom; - } pgr_ltdtree_rt; - #endif // INCLUDE_C_TYPES_PGR_MST_RT_H_ From 1ccff9d5c193bf407e9a44e9609e8fd50bfb0254 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 5 Aug 2020 20:27:28 +0530 Subject: [PATCH 0843/1360] fixing code checker errors --- .../{pgr_LTDTree.rst => pgr_lengauerTarjanDominatorTree.rst} | 0 include/c_types/pgr_ltdtree_rt.h | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename doc/dominator/{pgr_LTDTree.rst => pgr_lengauerTarjanDominatorTree.rst} (100%) diff --git a/doc/dominator/pgr_LTDTree.rst b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst similarity index 100% rename from doc/dominator/pgr_LTDTree.rst rename to doc/dominator/pgr_lengauerTarjanDominatorTree.rst diff --git a/include/c_types/pgr_ltdtree_rt.h b/include/c_types/pgr_ltdtree_rt.h index 033ff30a50c..e581d67514c 100644 --- a/include/c_types/pgr_ltdtree_rt.h +++ b/include/c_types/pgr_ltdtree_rt.h @@ -36,4 +36,4 @@ typedef struct { int64_t vid; int64_t idom; } pgr_ltdtree_rt; -#endif // INCLUDE_C_TYPES_PGR_MST_RT_H_ +#endif // INCLUDE_C_TYPES_PGR_LTDTREE_RT_H_" From 8c2d2e7f1d7e8c2382b6403f445fdd238c0ce7ea Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 5 Aug 2020 20:48:32 +0530 Subject: [PATCH 0844/1360] fixing cmake errors --- doc/dominator/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/dominator/CMakeLists.txt b/doc/dominator/CMakeLists.txt index 95306a32c5c..881fa81cf87 100644 --- a/doc/dominator/CMakeLists.txt +++ b/doc/dominator/CMakeLists.txt @@ -1,6 +1,6 @@ SET(LOCAL_FILES - pgr_LTDTree.rst + pgr_lengauerTarjanDominatorTree.rst ) foreach (f ${LOCAL_FILES}) From 2462ff3563db3b117c71c2f5174c505d500f5708 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 5 Aug 2020 21:04:31 +0530 Subject: [PATCH 0845/1360] [doc] docquries renamed --- docqueries/dominator/CMakeLists.txt | 2 +- ...-LTDTree.result => doc-lengauerTarjanDominatorTree.result} | 0 ...Tree.test.sql => doc-lengauerTarjanDominatorTree.test.sql} | 0 docqueries/dominator/test.conf | 4 ++-- 4 files changed, 3 insertions(+), 3 deletions(-) rename docqueries/dominator/{doc-LTDTree.result => doc-lengauerTarjanDominatorTree.result} (100%) rename docqueries/dominator/{doc-LTDTree.test.sql => doc-lengauerTarjanDominatorTree.test.sql} (100%) diff --git a/docqueries/dominator/CMakeLists.txt b/docqueries/dominator/CMakeLists.txt index e7bfbee5078..1029c97081c 100644 --- a/docqueries/dominator/CMakeLists.txt +++ b/docqueries/dominator/CMakeLists.txt @@ -1,6 +1,6 @@ # Do not use extensions SET(LOCAL_FILES - doc-LTDTree + doc-lengauerTarjanDominatorTree ) foreach (f ${LOCAL_FILES}) diff --git a/docqueries/dominator/doc-LTDTree.result b/docqueries/dominator/doc-lengauerTarjanDominatorTree.result similarity index 100% rename from docqueries/dominator/doc-LTDTree.result rename to docqueries/dominator/doc-lengauerTarjanDominatorTree.result diff --git a/docqueries/dominator/doc-LTDTree.test.sql b/docqueries/dominator/doc-lengauerTarjanDominatorTree.test.sql similarity index 100% rename from docqueries/dominator/doc-LTDTree.test.sql rename to docqueries/dominator/doc-lengauerTarjanDominatorTree.test.sql diff --git a/docqueries/dominator/test.conf b/docqueries/dominator/test.conf index 06914f86ba5..b9552a52a58 100644 --- a/docqueries/dominator/test.conf +++ b/docqueries/dominator/test.conf @@ -5,10 +5,10 @@ 'comment' => 'lengauer_tarjan_dominator_tree algorithm tests', 'data' => [ ], 'tests' => [qw( - doc-LTDTree + doc-lengauerTarjanDominatorTree )], 'documentation' => [qw( - doc-LTDTree + doc-lengauerTarjanDominatorTree )] }, From d79a7fb1807b3149d9ae21ee37a7f046c5413a3a Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 5 Aug 2020 21:05:46 +0530 Subject: [PATCH 0846/1360] [doc] fixing doc errors --- doc/coloring/pgr_bipartite.rst | 2 +- doc/dominator/pgr_lengauerTarjanDominatorTree.rst | 12 +++++------- doc/src/experimental.rst | 4 ++-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/doc/coloring/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst index 23dd55bf672..7a4fd723490 100644 --- a/doc/coloring/pgr_bipartite.rst +++ b/doc/coloring/pgr_bipartite.rst @@ -95,7 +95,7 @@ Additional Examples The examples in this section use the following :ref:`fig1` -:Example: It also possibe the cyclic graph can also be bipartite. +:Example: It also possibe the cyclic graph can also be bipartite: .. literalinclude:: doc-bipartite.queries :start-after: --q2 :end-before: --q3 diff --git a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst index 6f313f196eb..4fc7cdf177b 100644 --- a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst +++ b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst @@ -1,3 +1,4 @@ + .. **************************************************************************** pgRouting Manual @@ -6,9 +7,6 @@ This documentation is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ **************************************************************************** -.. index:: - single: pgr_LengauerTarjanDominatorTree -Experimental (Complete Doc) -.. _pgr_LengauerTarjanDominatorTree: pgr_LengauerTarjanDominatorTree -Experimental =============================================================================== @@ -18,13 +16,13 @@ In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm - + Boost Graph Inside .. include:: experimental.rst :start-after: begin-warn-expr :end-before: end-warn-expr - + .. rubric:: Availability @@ -56,7 +54,7 @@ Complete Signature :Example: The lengauer_tarjan_dominator_tree with root vertex :math:`2` -.. literalinclude:: doc-LTDTree.queries +.. literalinclude:: doc-lengauerTarjanDominatorTree.queries :start-after: -- q1 :end-before: -- q2 @@ -98,7 +96,7 @@ Additional Examples The examples in this section use the following :ref:`fig1` -.. literalinclude:: doc-LTDTree.queries +.. literalinclude:: doc-lengauerTarjanDominatorTree.queries :start-after: -- q1 :end-before: -- q2 diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index 1f369475ea9..03956695399 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -114,7 +114,7 @@ Experimental Functions - :doc:`pgr_transitiveClosure` - :doc:`pgr_turnRestrictedPath` - :doc:`pgr_bipartite` -- :doc:`pgr_LTDTree` +- :doc:`pgr_lengauerTarjanDominatorTree` .. toctree:: :hidden: @@ -129,7 +129,7 @@ Experimental Functions pgr_topologicalSort pgr_transitiveClosure pgr_turnRestrictedPath - pgr_LTDTree + pgr_lengauerTarjanDominatorTree pgr_bipartite From 4c0a34ed7985992263bfdab44ae2b99e7230b17d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 5 Aug 2020 21:18:31 +0530 Subject: [PATCH 0847/1360] fixing errors --- sql/sigs/pgrouting--3.0.0.sig | 2 -- 1 file changed, 2 deletions(-) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index a656a134dc3..9bfd457d2e4 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -141,8 +141,6 @@ pgr_kruskal(text) _pgr_kruskal(text,anyarray,text,bigint,double precision) _pgr_ksp(text,bigint,bigint,integer,boolean,boolean) pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -_pgr_lengauer_tarjan_dominator_tree(text,bigint) -pgr_lengauer_tarjan_dominator_tree(text,bigint) _pgr_lib_version() _pgr_linegraphfull(text) pgr_linegraphfull(text) From 5059c5eb59e0611054c04f6cfd41f1170f467393 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 5 Aug 2020 22:58:43 +0530 Subject: [PATCH 0848/1360] fixing errors --- sql/sigs/pgrouting--3.0.0.sig | 2 -- 1 file changed, 2 deletions(-) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.0.sig index 9bfd457d2e4..2e0fce72901 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.0.sig @@ -213,8 +213,6 @@ _pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double prec pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) _pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) -_pgr_two_graphs_common_spanning_trees(text,text,boolean) -pgr_two_graphs_common_spanning_trees(text,text,boolean) pgr_version() _pgr_versionless(text,text) _pgr_vrponedepot(text,text,text,integer) From 2c5640352c94cff0d974cfdddd1223482956eed8 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 6 Aug 2020 20:21:05 +0530 Subject: [PATCH 0849/1360] [ltstree] added one more example --- .../doc-lengauerTarjanDominatorTree.result | 35 +++++++++++++++++-- .../doc-lengauerTarjanDominatorTree.test.sql | 14 ++++++-- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/docqueries/dominator/doc-lengauerTarjanDominatorTree.result b/docqueries/dominator/doc-lengauerTarjanDominatorTree.result index fdc50ed0ee3..408d156049f 100644 --- a/docqueries/dominator/doc-lengauerTarjanDominatorTree.result +++ b/docqueries/dominator/doc-lengauerTarjanDominatorTree.result @@ -2,8 +2,11 @@ BEGIN; BEGIN SET client_min_messages TO NOTICE; SET --- q1 -select * from pgr_lengauerTarjanDominatorTree($$select * from edge_table$$,1); +--q1 +SELECT * FROM pgr_lengauertarjandominatortree( + $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$, + 1 +); seq | vid | idom -----+-----+------ 1 | 1 | 0 @@ -25,6 +28,32 @@ select * from pgr_lengauerTarjanDominatorTree($$select * from edge_table$$,1); 17 | 17 | 0 (17 rows) --- q2 +--q2 +SELECT * FROM pgr_lengauertarjandominatortree( + $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$, + 16 +); + seq | vid | idom +-----+-----+------ + 1 | 1 | 0 + 2 | 2 | 0 + 3 | 3 | 0 + 4 | 4 | 0 + 5 | 5 | 0 + 6 | 6 | 0 + 7 | 7 | 0 + 8 | 8 | 0 + 9 | 9 | 0 + 10 | 10 | 0 + 11 | 11 | 0 + 12 | 12 | 0 + 13 | 13 | 0 + 14 | 14 | 0 + 15 | 15 | 0 + 16 | 16 | 0 + 17 | 17 | 16 +(17 rows) + +--q3 ROLLBACK; ROLLBACK diff --git a/docqueries/dominator/doc-lengauerTarjanDominatorTree.test.sql b/docqueries/dominator/doc-lengauerTarjanDominatorTree.test.sql index 41936ccd455..08c163f2d37 100644 --- a/docqueries/dominator/doc-lengauerTarjanDominatorTree.test.sql +++ b/docqueries/dominator/doc-lengauerTarjanDominatorTree.test.sql @@ -1,3 +1,11 @@ -\echo -- q1 - select * from pgr_lengauerTarjanDominatorTree($$select * from edge_table$$,1); -\echo -- q2 +\echo --q1 + SELECT * FROM pgr_lengauertarjandominatortree( + $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$, + 1 +); +\echo --q2 + SELECT * FROM pgr_lengauertarjandominatortree( + $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$, + 16 +); +\echo --q3 From b25fc2354eb3c38b3383a4d44b58b8a0bdf35e9b Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 6 Aug 2020 20:21:49 +0530 Subject: [PATCH 0850/1360] [doc] modified docs --- doc/coloring/pgr_bipartite.rst | 9 ++++--- .../pgr_lengauerTarjanDominatorTree.rst | 25 ++++++++----------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/doc/coloring/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst index 7a4fd723490..2e6e7b95949 100644 --- a/doc/coloring/pgr_bipartite.rst +++ b/doc/coloring/pgr_bipartite.rst @@ -6,7 +6,7 @@ This documentation is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ **************************************************************************** - + pgr_bipartite -Experimental =============================================================================== @@ -15,13 +15,13 @@ In particular, the is_bipartite() algorithm implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/doc/libs/1_53_0/libs/graph/doc/is_bipartite.html - + Boost Graph Inside .. include:: experimental.rst :start-after: begin-warn-expr :end-before: end-warn-expr - + .. rubric:: Availability @@ -95,7 +95,8 @@ Additional Examples The examples in this section use the following :ref:`fig1` -:Example: It also possibe the cyclic graph can also be bipartite: +:Example: It is possible that the cyclic graph can also be bipartite: + .. literalinclude:: doc-bipartite.queries :start-after: --q2 :end-before: --q3 diff --git a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst index 4fc7cdf177b..ab783d41dc6 100644 --- a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst +++ b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst @@ -41,22 +41,16 @@ Signatures RETURNS SET OF (id,vid,idom) -:Example: **TBD** .. index:: - single: LTDTree + single: pgr_LengauerTarjanDominatorTree -Complete Signature -............................................................................... -.. code-block:: sql - - -:Example: The lengauer_tarjan_dominator_tree with root vertex :math:`2` +:Example: The lengauer_tarjan_dominator_tree with root vertex :math:`1` .. literalinclude:: doc-lengauerTarjanDominatorTree.queries - :start-after: -- q1 - :end-before: -- q2 + :start-after: --q1 + :end-before: --q2 Parameters ------------------------------------------------------------------------------- @@ -65,7 +59,7 @@ Parameters Column Type Description ============== ============ ================================================= **edges_sql** ``TEXT`` SQL query as described above. -**root_vid** ``BIGINT`` Identifier of the starting vertex. +**root_vid** ``BIGINT`` Identifier of the starting vertex. ============== ============ ================================================= @@ -91,14 +85,15 @@ Column Type Description Additional Examples ------------------------------------------------------------------------------------------ +The examples in this section use the following :ref:`fig1` + +:Example: When the edge is disonnectd from graph then it will returns immidiate dominator of all vertex as zero except that edge: -:Example: To handle the one flag to choose signatures -The examples in this section use the following :ref:`fig1` .. literalinclude:: doc-lengauerTarjanDominatorTree.queries - :start-after: -- q1 - :end-before: -- q2 + :start-after: --q2 + :end-before: --q3 See Also ------------------------------------------------------------------------------- From 9d9adacc6284137c2b78a361906f9da01824cfb7 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 11 Aug 2020 22:38:36 +0530 Subject: [PATCH 0851/1360] reverting changes from unexpected files modified: .gitignore modified: sql/dijkstra/CMakeLists.txt --- .gitignore | 4 ---- sql/dijkstra/CMakeLists.txt | 1 - 2 files changed, 5 deletions(-) diff --git a/.gitignore b/.gitignore index 0a4568bade4..5f58b8b2cd1 100644 --- a/.gitignore +++ b/.gitignore @@ -3,10 +3,6 @@ build fix_typos code_linter src/version/_version.h -.vscode -Bipartite_run.sh -run.sh -runWithDoc.sh .DS_Store .vagrant diff --git a/sql/dijkstra/CMakeLists.txt b/sql/dijkstra/CMakeLists.txt index fb649f2f085..da9bc230e04 100644 --- a/sql/dijkstra/CMakeLists.txt +++ b/sql/dijkstra/CMakeLists.txt @@ -7,7 +7,6 @@ SET(LOCAL_FILES _dijkstraVia.sql dijkstraVia.sql _dijkstraNear.sql - ) foreach (f ${LOCAL_FILES}) From 076dbb9e170294af5413fa6933fd540df9d8906e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 12 Aug 2020 23:10:35 +0530 Subject: [PATCH 0852/1360] [ltdtree]fixed warning --- include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp b/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp index 042d8e10abd..d0436636572 100644 --- a/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp +++ b/include/dominator/pgr_lengauerTarjanDominatorTree_driver.hpp @@ -60,7 +60,7 @@ class Pgr_LTDTree : public pgrouting::Pgr_messages { int64_t root ){ std::vector results; - std::vector idoms = std::vector(boost::num_vertices(graph.graph), -1); + std::vector idoms = std::vector(boost::num_vertices(graph.graph), -1); auto dominatorTree = make_iterator_property_map (idoms.begin(), boost::get(boost::vertex_index, graph.graph)); From b73a26e5db13dfa98db20d91a04daba1cd446292 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 12 Aug 2020 23:21:04 +0530 Subject: [PATCH 0853/1360] [MRT] deleted files --- include/c_types/pgr_mrt_rt.h | 44 ---- include/drivers/spanningTree/mrt_driver.h | 75 ------- include/spanningTree/pgr_mrt_driver.hpp | 111 ---------- pgtap/spanningTree/mrt/mrt-edge-cases.sql | 11 - pgtap/spanningTree/mrt/mrt-innerQuery.sql | 12 -- pgtap/spanningTree/mrt/no_crash_test-mrt.sql | 12 -- .../spanningTree/mrt/pgr_mrt_types_check.sql | 12 -- sql/spanningTree/CMakeLists.txt | 3 +- sql/spanningTree/_mrt.sql | 51 ----- sql/spanningTree/mrt.sql | 64 ------ src/spanningTree/CMakeLists.txt | 4 +- src/spanningTree/mrt.c | 192 ------------------ src/spanningTree/mrt_driver.cpp | 169 --------------- 13 files changed, 2 insertions(+), 758 deletions(-) delete mode 100644 include/c_types/pgr_mrt_rt.h delete mode 100644 include/drivers/spanningTree/mrt_driver.h delete mode 100644 include/spanningTree/pgr_mrt_driver.hpp delete mode 100644 pgtap/spanningTree/mrt/mrt-edge-cases.sql delete mode 100644 pgtap/spanningTree/mrt/mrt-innerQuery.sql delete mode 100644 pgtap/spanningTree/mrt/no_crash_test-mrt.sql delete mode 100644 pgtap/spanningTree/mrt/pgr_mrt_types_check.sql delete mode 100644 sql/spanningTree/_mrt.sql delete mode 100644 sql/spanningTree/mrt.sql delete mode 100644 src/spanningTree/mrt.c delete mode 100644 src/spanningTree/mrt_driver.cpp diff --git a/include/c_types/pgr_mrt_rt.h b/include/c_types/pgr_mrt_rt.h deleted file mode 100644 index 85c7d7ec9f5..00000000000 --- a/include/c_types/pgr_mrt_rt.h +++ /dev/null @@ -1,44 +0,0 @@ -/*PGR-GNU***************************************************************** -File: pgr_ltdtree_rt.h - -Copyright (c) 2020 Prakash Tiwari -Mail: 85prakash2017@gmail.com ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ -/*! @file */ - -#ifndef INCLUDE_C_TYPES_PGR_MRT_RT_H_ -#define INCLUDE_C_TYPES_PGR_MRT_RT_H_ -#pragma once - -/* for int64_t */ -#ifdef __cplusplus -# include -#else -# include -#endif - -typedef struct { - //int64_t seq; - int64_t size; - int64_t *tree_edges; - //int64_t sdom; - -} pgr_mrt_rt; - -#endif // INCLUDE_C_TYPES_PGR_MST_RT_H_ diff --git a/include/drivers/spanningTree/mrt_driver.h b/include/drivers/spanningTree/mrt_driver.h deleted file mode 100644 index 83aa84e8cc2..00000000000 --- a/include/drivers/spanningTree/mrt_driver.h +++ /dev/null @@ -1,75 +0,0 @@ -/*PGR-GNU***************************************************************** -File: LTDTree_driver.h - -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Prakash Tiwari -Mail: 85prakash2017@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - -#ifndef INCLUDE_DRIVERS_MRT_DRIVER_H_ -#define INCLUDE_DRIVERS_MRT_DRIVER_H_ - - -/* for size-t */ -#ifdef __cplusplus -# include -#include - -#else -# include -#endif - - -#include "c_types/pgr_edge_t.h" -#include "c_types/pgr_mrt_rt.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/********************************************************* - edges_sql TEXT, - - ********************************************************/ -void -do_pgr_mrt( - pgr_edge_t *data_edges_1, - size_t total_tuples_1, - - pgr_edge_t *data_edges_2, - size_t total_tuples_2, - - bool directed, - pgr_mrt_rt **return_tuples, - size_t *return_count, - char **log_msg, - char **notice_msg, - char **err_msg); - - -#ifdef __cplusplus -} -#endif - -#endif // INCLUDE_DRIVERS_LTDTREE_LTDTREE_DRIVER_H_ diff --git a/include/spanningTree/pgr_mrt_driver.hpp b/include/spanningTree/pgr_mrt_driver.hpp deleted file mode 100644 index 4d5bba5294e..00000000000 --- a/include/spanningTree/pgr_mrt_driver.hpp +++ /dev/null @@ -1,111 +0,0 @@ -/*PGR-GNU***************************************************************** -File: pgr_mrt_driver.hpp - -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Prakash Tiwari -Mail: 85prakash2017@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - - -#ifndef INCLUDE_PGR_MRT_DRIVER_HPP -#define INCLUDE_PGR_MRT_DRIVER_HPP -#pragma once -#include - -#include "cpp_common/pgr_base_graph.hpp" -#include "cpp_common/pgr_messages.h" -#include -#include - -#include "c_types/pgr_mrt_rt.h" -#include - -#include - -using namespace boost; -using namespace std; - -namespace pgrouting { - namespace functions { - /**TODO*** - 1. Return proper results - 2. SOlve all the errors - *******/ - - - template - class Pgr_mrt : public pgrouting::Pgr_messages { - public: - std::vector results; - typedef typename Graph::E E; - typedef typename Graph::E_i E_i; - typedef typename Graph::V V; - - std::vector pgr_mrt( - Graph &graph_1, - Graph &graph_2, - bool directed - - ){ - log<<"Inside main boost driver"< inL; - - std::vector< std::vector > coll; - boost::tree_collector< - std::vector< std::vector >, - std::vector - > tree_collector(coll); - boost::two_graphs_common_spanning_trees - ( - graph_1.graph, - graph_2.graph, - tree_collector, - inL - ); - */ - - } - return results; - - } - }; - } -} - -#endif // INCLUDE_PGR_MRT_DRIVER_HPP diff --git a/pgtap/spanningTree/mrt/mrt-edge-cases.sql b/pgtap/spanningTree/mrt/mrt-edge-cases.sql deleted file mode 100644 index f23ac020304..00000000000 --- a/pgtap/spanningTree/mrt/mrt-edge-cases.sql +++ /dev/null @@ -1,11 +0,0 @@ -\i setup.sql -SELECT plan(1); - -SELECT todo_start('Complete the inner query tests'); - -SELECT pass('Sample Test'); - -SELECT todo_end(); - -SELECT finish(); -ROLLBACK; diff --git a/pgtap/spanningTree/mrt/mrt-innerQuery.sql b/pgtap/spanningTree/mrt/mrt-innerQuery.sql deleted file mode 100644 index 6a949ccfcb7..00000000000 --- a/pgtap/spanningTree/mrt/mrt-innerQuery.sql +++ /dev/null @@ -1,12 +0,0 @@ -\i setup.sql - -SELECT plan(1); - -SELECT todo_start('Complete the inner query tests'); - -SELECT pass('Sample Test'); - -SELECT todo_end(); - -SELECT finish(); -ROLLBACK; diff --git a/pgtap/spanningTree/mrt/no_crash_test-mrt.sql b/pgtap/spanningTree/mrt/no_crash_test-mrt.sql deleted file mode 100644 index 6a949ccfcb7..00000000000 --- a/pgtap/spanningTree/mrt/no_crash_test-mrt.sql +++ /dev/null @@ -1,12 +0,0 @@ -\i setup.sql - -SELECT plan(1); - -SELECT todo_start('Complete the inner query tests'); - -SELECT pass('Sample Test'); - -SELECT todo_end(); - -SELECT finish(); -ROLLBACK; diff --git a/pgtap/spanningTree/mrt/pgr_mrt_types_check.sql b/pgtap/spanningTree/mrt/pgr_mrt_types_check.sql deleted file mode 100644 index 6a949ccfcb7..00000000000 --- a/pgtap/spanningTree/mrt/pgr_mrt_types_check.sql +++ /dev/null @@ -1,12 +0,0 @@ -\i setup.sql - -SELECT plan(1); - -SELECT todo_start('Complete the inner query tests'); - -SELECT pass('Sample Test'); - -SELECT todo_end(); - -SELECT finish(); -ROLLBACK; diff --git a/sql/spanningTree/CMakeLists.txt b/sql/spanningTree/CMakeLists.txt index 834bd84f1ec..2a3a23dce65 100644 --- a/sql/spanningTree/CMakeLists.txt +++ b/sql/spanningTree/CMakeLists.txt @@ -14,8 +14,7 @@ SET(LOCAL_FILES kruskalBFS.sql kruskalDD.sql - mrt.sql - _mrt.sql + #randomSpanTree.sql ) diff --git a/sql/spanningTree/_mrt.sql b/sql/spanningTree/_mrt.sql deleted file mode 100644 index 997b2d6c5bf..00000000000 --- a/sql/spanningTree/_mrt.sql +++ /dev/null @@ -1,51 +0,0 @@ -/*PGR-GNU***************************************************************** -File: _mrt.sql - -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Prakash Tiwari -Mail: 85prakash2017@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ ---------------- --- _pgr_two_graphs_common_spanning_trees ---------------- - -CREATE OR REPLACE FUNCTION _pgr_two_graphs_common_spanning_trees( - edges_sql1 TEXT, -- edges_sql1 (required) - edges_sql2 TEXT, -- edges_sql2 (required) - directed BOOLEAN DEFAULT true, - - OUT seq integer, - OUT tree_edges BIGINT[] --contains list of edegs of spanning tree - ) - -RETURNS SETOF RECORD AS -'MODULE_PATHNAME' -LANGUAGE c VOLATILE STRICT; - --- COMMENTS - - -COMMENT ON FUNCTION _pgr_two_graphs_common_spanning_trees(TEXT,TEXT,BOOLEAN) -IS 'pgRouting internal function'; - diff --git a/sql/spanningTree/mrt.sql b/sql/spanningTree/mrt.sql deleted file mode 100644 index a074f0aabb1..00000000000 --- a/sql/spanningTree/mrt.sql +++ /dev/null @@ -1,64 +0,0 @@ -/*PGR-GNU***************************************************************** -File: mrt.sql - -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Prakash Tiwari -Mail: 85prakash2017@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ ---------------- --- pgr_two_graphs_common_spanning_trees ---------------- -CREATE OR REPLACE FUNCTION pgr_two_graphs_common_spanning_trees( - edges_sql1 TEXT, -- edges_sql1 (required) - edges_sql2 TEXT, -- edges_sql2 (required) - directed BOOLEAN DEFAULT true, - - OUT seq integer, - OUT tree_edges BIGINT[] --contains list of edegs of spanning tree - ) -RETURNS SETOF RECORD AS -$BODY$ -BEGIN - - RETURN QUERY - SELECT * - FROM _pgr_two_graphs_common_spanning_trees(_pgr_get_statement($1),_pgr_get_statement($2),$3); -END; -$BODY$ -LANGUAGE plpgsql VOLATILE STRICT; - - --- COMMENTS - - -COMMENT ON FUNCTION pgr_two_graphs_common_spanning_trees(TEXT,TEXT,BOOLEAN) -IS 'pgr_mrt -- EXPERIMENTAL -- Directed graph -- Parameters: - - edges SQL with columns: id, source, target, cost [,reverse_cost] -- Documentation: - - ${PGROUTING_DOC_LINK}/pgr_LTDTree.html -'; - diff --git a/src/spanningTree/CMakeLists.txt b/src/spanningTree/CMakeLists.txt index 0fd49e759c4..3cbdaabd3ef 100644 --- a/src/spanningTree/CMakeLists.txt +++ b/src/spanningTree/CMakeLists.txt @@ -8,8 +8,6 @@ ADD_LIBRARY(spanningTree OBJECT prim.c prim_driver.cpp - mrt.c - mrt_driver.cpp - #randomSpanningTree.c + #randomSpanningTree_driver.cpp ) diff --git a/src/spanningTree/mrt.c b/src/spanningTree/mrt.c deleted file mode 100644 index 197e3b76c5e..00000000000 --- a/src/spanningTree/mrt.c +++ /dev/null @@ -1,192 +0,0 @@ -/*PGR-GNU***************************************************************** -File: LTDTree.c - -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Prakash Tiwari -Mail: 85prakash2017@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - - -/******************************************************************************/ -/* MODIFY AS NEEDED */ - -#include - -#include "c_common/postgres_connection.h" -#include "utils/array.h" -#include "catalog/pg_type.h" -#include "utils/lsyscache.h" - -#ifndef INT8ARRAYOID -#define INT8ARRAYOID 1016 -#endif - -#include "c_common/debug_macro.h" -#include "c_common/e_report.h" -#include "c_common/time_msg.h" - -#include "c_common/edges_input.h" -#include "c_common/arrays_input.h" - -#include "drivers/spanningTree/mrt_driver.h" -#include "c_types/pgr_mrt_rt.h" -PGDLLEXPORT Datum _pgr_two_graphs_common_spanning_trees(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_two_graphs_common_spanning_trees); - - -static -void -process(char* edges_sql_1, - char* edges_sql_2, - bool directed, - pgr_mrt_rt **result_tuples, - size_t *result_count) { - //result_count is a pointer it means we do not need to return - // but it will count, initially it is 0 - pgr_SPI_connect(); - - size_t total_edges_1 = 0; - pgr_edge_t* edges_1 = NULL; - pgr_get_edges(edges_sql_1, &edges_1, &total_edges_1); - if (total_edges_1 == 0) { - pgr_SPI_finish(); - return; - } - size_t total_edges_2 = 0; - pgr_edge_t* edges_2 = NULL; - pgr_get_edges(edges_sql_2, &edges_2, &total_edges_2); - if (total_edges_2 == 0) { - pgr_SPI_finish(); - return; - } - PGR_DBG("Starting timer"); - clock_t start_t = clock(); - char* log_msg = NULL; - char* notice_msg = NULL; - char* err_msg = NULL; - do_pgr_mrt( - edges_1, total_edges_1, - edges_2,total_edges_2, - directed, - result_tuples, result_count, - &log_msg, - ¬ice_msg, - &err_msg); - - time_msg("processing pgr_LTDTree()", start_t, clock()); - - - if (err_msg && (*result_tuples)) { - pfree(*result_tuples); - (*result_tuples) = NULL; - (*result_count) = 0; - } - - pgr_global_report(log_msg, notice_msg, err_msg); - - if (log_msg) pfree(log_msg); - if (notice_msg) pfree(notice_msg); - if (err_msg) pfree(err_msg); - if (edges_1) pfree(edges_1); - if(edges_2) pfree(edges_2); - pgr_SPI_finish(); -} - -PGDLLEXPORT Datum -_pgr_two_graphs_common_spanning_trees(PG_FUNCTION_ARGS) { - FuncCallContext *funcctx; - TupleDesc tuple_desc; - - /**********************************************************************/ - - pgr_mrt_rt *result_tuples =NULL; - size_t result_count = 0; - /**********************************************************************/ - - if (SRF_IS_FIRSTCALL()) { - MemoryContext oldcontext; - funcctx = SRF_FIRSTCALL_INIT(); - oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - - - process( - text_to_cstring(PG_GETARG_TEXT_P(0)), //Converting sql to string - text_to_cstring(PG_GETARG_TEXT_P(1)), //2nd parameter //BIGINT to int_64 - PG_GETARG_BOOL(2), - &result_tuples, - &result_count); - - - /**********************************************************************/ -#if PGSQL_VERSION > 95 - funcctx->max_calls = result_count; //result_count is updated in process function call -#else - funcctx->max_calls = (uint32_t)result_count; -#endif - funcctx->user_fctx = result_tuples; // - if (get_call_result_type(fcinfo, NULL, &tuple_desc) - != TYPEFUNC_COMPOSITE) - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("function returning record called in context " - "that cannot accept type record"))); - funcctx->tuple_desc = tuple_desc; //contains tuple description - MemoryContextSwitchTo(oldcontext); - } - - funcctx = SRF_PERCALL_SETUP(); - tuple_desc = funcctx->tuple_desc; - result_tuples = (pgr_mrt_rt*) funcctx->user_fctx; //converting structure - - if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; //We will set all the values - Datum result; - Datum *values; - bool *nulls; - int16 typlen; - size_t call_cntr = funcctx->call_cntr; - - - size_t numb = 2; //Number of columns in outputs - values =(Datum *)palloc(numb * sizeof(Datum)); - nulls = palloc(numb * sizeof(bool)); - size_t i; - for (i = 0; i < numb; ++i) { - nulls[i] = false; - } - //Set your outputs from result_tuple - /* - values[0] = Int32GetDatum(call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[call_cntr].vid); - values[2] = Int64GetDatum(result_tuples[call_cntr].idom); - tuple = heap_form_tuple(tuple_desc, values, nulls); - */ - result = HeapTupleGetDatum(tuple); - SRF_RETURN_NEXT(funcctx, result); - }else { - SRF_RETURN_DONE(funcctx); - } - -} diff --git a/src/spanningTree/mrt_driver.cpp b/src/spanningTree/mrt_driver.cpp deleted file mode 100644 index d3c5eadf3a1..00000000000 --- a/src/spanningTree/mrt_driver.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/*PGR-GNU***************************************************************** -File: LTDTree_driver.pp - -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2020 Prakash Tiwari -Mail: 85prakash2017@gmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - - -//#include "drivers/LTDTree/LTDTree_driver.h" -//#include "LTDTree/pgr_LTDTree_driver.hpp" -//#include "c_types/pgr_ltdtree_rt.h" - -#include -#include -#include -#include -#include -#include "cpp_common/identifiers.hpp" -#include "cpp_common/pgr_alloc.hpp" -#include "cpp_common/basePath_SSEC.hpp" -#include "cpp_common/pgr_base_graph.hpp" - - -#include "drivers/spanningTree/mrt_driver.h" -#include "c_types/pgr_mrt_rt.h" -#include "spanningTree/pgr_mrt_driver.hpp" -/************************************************************ - edges_sql TEXT - ***********************************************************/ -void -do_pgr_mrt( - pgr_edge_t *data_edges_1, - size_t total_edges_1, - - - pgr_edge_t *data_edges_2, - size_t total_edges_2, - - bool directed, - pgr_mrt_rt **return_tuples, - size_t *return_count, - char **log_msg, - char **notice_msg, - char **err_msg) { - std::ostringstream log; - std::ostringstream notice; - std::ostringstream err; - - - try { - pgassert(total_edges_1 != 0); - pgassert(total_edges_2 != 0); - pgassert(!(*log_msg)); - pgassert(!(*notice_msg)); - pgassert(!(*err_msg)); - pgassert(!(*return_tuples)); - pgassert(*return_count == 0); - - std::string logstr; - -/***********************Working with graph**************************/ - graphType gType = directed ? DIRECTED : UNDIRECTED; - - std::vector results; - - if(directed) - { - log << "Working with directed Graph\n"; - pgrouting::DirectedGraph digraph_1(gType); - digraph_1.insert_edges(data_edges_1, total_edges_1); - - pgrouting::DirectedGraph digraph_2(gType); - digraph_2.insert_edges(data_edges_2,total_edges_2); - pgrouting::functions::Pgr_mrt fn_mrt; - results =fn_mrt.pgr_mrt(digraph_1,digraph_2,directed); - logstr += fn_mrt.get_log(); - log << logstr; - } - else - { - log << "Working with directed Graph\n"; - pgrouting::UndirectedGraph undigraph_1(gType); - undigraph_1.insert_edges(data_edges_1, total_edges_1); - - pgrouting::UndirectedGraph undigraph_2(gType); - undigraph_2.insert_edges(data_edges_2,total_edges_2); - pgrouting::functions::Pgr_mrt fn_mrt; - results =fn_mrt.pgr_mrt(undigraph_1,undigraph_2,directed); - logstr += fn_mrt.get_log(); - log << logstr; - } - - - - - auto count = results.size(); - - if (count == 0) { - (*return_tuples) = NULL; - (*return_count) = 0; - notice << "No result found"; - *log_msg = log.str().empty()? - *log_msg : - pgr_msg(log.str().c_str()); - *notice_msg = notice.str().empty()? - *notice_msg : - pgr_msg(notice.str().c_str()); - return; - } - (*return_tuples) = pgr_alloc(count, (*return_tuples)); - for (size_t i = 0; i < count; i++) { - *((*return_tuples) + i) = results[i]; - } - (*return_count) = count; - - pgassert(*err_msg == NULL); - *log_msg = log.str().empty()? - *log_msg : - pgr_msg(log.str().c_str()); - *notice_msg = notice.str().empty()? - *notice_msg : - pgr_msg(notice.str().c_str()); - - } catch (AssertFailedException &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch (std::exception &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch(...) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << "Caught unknown exception!"; - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } - - -} - - From 536de03e104878aa650bfd3cc55260ae711ea0d3 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 13 Aug 2020 22:51:20 +0530 Subject: [PATCH 0854/1360] modified doc --- doc/coloring/pgr_bipartite.rst | 41 ++++++++++++++++++++++++---------- docqueries/dominator/test.conf | 2 +- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/doc/coloring/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst index 2e6e7b95949..c03ff4ef65e 100644 --- a/doc/coloring/pgr_bipartite.rst +++ b/doc/coloring/pgr_bipartite.rst @@ -24,6 +24,16 @@ In particular, the is_bipartite() algorithm implemented by Boost.Graph. .. rubric:: Availability +* Version 3.2.0 + + * New **experimental** function + +.. rubric:: Support + +* **Supported versions:** + current(`3.2 `__) + + Description ------------------------------------------------------------------------------- @@ -41,7 +51,6 @@ A bipartite graph is possible if the graph coloring is possible using two colors Signatures ------------------------------------------------------------------------------- -.. rubric:: Summary .. code-block:: sql @@ -57,7 +66,7 @@ Signatures .. index:: - single: breadthFirstSearch(Multiple vertices) - Experimental + single: bipartite (Single Vertex) - Experimental Parameters @@ -73,21 +82,29 @@ Column Type Description Inner query ------------------------------------------------------------------------------- -.. include:: pgRouting-concepts.rst - :start-after: basic_edges_sql_start - :end-before: basic_edges_sql_end +:Edges SQL: an SQL query of an **undirected** graph, which should return + a set of rows with the following columns: + +.. include:: traversal-family.rst + :start-after: edges_sql_start + :end-before: edges_sql_end Result Columns ------------------------------------------------------------------------------- -Returns set of ``(vid,color)`` +.. result columns start + +Returns SET OF ``(vertex_id, color_id)`` + +=============== =========== ==================================================== +Column Type Description +=============== =========== ==================================================== +**vertex_id** ``BIGINT`` Identifier of the vertex. +**color_id** ``BIGINT`` Identifier of the color of the vertex. + `0`: `white` + `1`: `black` -============== =========== ================================================= -Column Type Description -============== =========== ================================================= -**vid** ``BIGINT`` Identifier of vertex . -**color** ``BIGINT`` ``0``: White, ``1``:Black -============== =========== ================================================= +=============== =========== ==================================================== Additional Examples ------------------------------------------------------------------------------------------ diff --git a/docqueries/dominator/test.conf b/docqueries/dominator/test.conf index b9552a52a58..79b4135f1dc 100644 --- a/docqueries/dominator/test.conf +++ b/docqueries/dominator/test.conf @@ -2,7 +2,7 @@ %main::tests = ( 'any' => { - 'comment' => 'lengauer_tarjan_dominator_tree algorithm tests', + 'comment' => 'dominator algorithm tests', 'data' => [ ], 'tests' => [qw( doc-lengauerTarjanDominatorTree From abb959dc8b82f3d8c514123683902a0a49009d7a Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 13 Aug 2020 23:11:54 +0530 Subject: [PATCH 0855/1360] empty row fixed --- include/coloring/pgr_bipartite_driver.hpp | 2 +- pgtap/coloring/bipartite/edge-cases.sql | 2 +- src/coloring/bipartite_driver.cpp | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include/coloring/pgr_bipartite_driver.hpp b/include/coloring/pgr_bipartite_driver.hpp index 3d68b32bfa4..14286a37aea 100644 --- a/include/coloring/pgr_bipartite_driver.hpp +++ b/include/coloring/pgr_bipartite_driver.hpp @@ -84,7 +84,7 @@ class Pgr_Bipartite : public pgrouting::Pgr_messages { } std::vector pgr_bipartite( G &graph ){ - std::vector results(graph.num_vertices()); + std::vector results; bool bipartite = boost::is_bipartite(graph.graph); if (bipartite) results = print_Bipartite(graph); return results; diff --git a/pgtap/coloring/bipartite/edge-cases.sql b/pgtap/coloring/bipartite/edge-cases.sql index 5952c995cd1..a00bd3282a0 100644 --- a/pgtap/coloring/bipartite/edge-cases.sql +++ b/pgtap/coloring/bipartite/edge-cases.sql @@ -34,8 +34,8 @@ SELECT * FROM pgr_bipartite( 'q3' ); +SELECT is_empty('bipartite2', '4: One vertex graph can not be bipartite-> Empty row is returned'); -SELECT set_eq('bipartite2', $$VALUES (0, 0)$$, '4: One vertex graph can not be bipartite-> Empty row is returned'); -- 2 vertices test (connected) diff --git a/src/coloring/bipartite_driver.cpp b/src/coloring/bipartite_driver.cpp index 3988bc374e0..90bfaedcdf0 100644 --- a/src/coloring/bipartite_driver.cpp +++ b/src/coloring/bipartite_driver.cpp @@ -84,7 +84,6 @@ do_pgr_bipartite( if (count == 0) { (*return_tuples) = NULL; (*return_count) = 0; - notice << "No result found"; *log_msg = log.str().empty()? *log_msg : pgr_msg(log.str().c_str()); From e22ede202ebf0204ccd8c8accc94956f99cdf770 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 13 Aug 2020 23:36:55 +0530 Subject: [PATCH 0856/1360] [bipartite] added odd cycle --- docqueries/coloring/doc-bipartite.result | 18 ++++++++++++++++++ docqueries/coloring/doc-bipartite.test.sql | 14 +++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/docqueries/coloring/doc-bipartite.result b/docqueries/coloring/doc-bipartite.result index 7065669e414..d78e9d8343d 100644 --- a/docqueries/coloring/doc-bipartite.result +++ b/docqueries/coloring/doc-bipartite.result @@ -2,6 +2,16 @@ BEGIN; BEGIN SET client_min_messages TO NOTICE; SET +CREATE TABLE five_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); +CREATE TABLE +INSERT INTO five_vertices_table (source, target, cost, reverse_cost) VALUES (1,2,1,1),(2,3,1,1),(3,4,1,-1),(4,5,1,1),(5,1,1,-1); +INSERT 0 5 --q1 SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$ @@ -40,5 +50,13 @@ SELECT * FROM pgr_bipartite( (4 rows) --q3 +SELECT * FROM pgr_bipartite( + $$SELECT id,source,target,cost,reverse_cost FROM five_vertices_table$$ +); + node | color +------+------- +(0 rows) + +--q4 ROLLBACK; ROLLBACK diff --git a/docqueries/coloring/doc-bipartite.test.sql b/docqueries/coloring/doc-bipartite.test.sql index 4a3ca66dbbb..5071eafa0f3 100644 --- a/docqueries/coloring/doc-bipartite.test.sql +++ b/docqueries/coloring/doc-bipartite.test.sql @@ -1,3 +1,11 @@ +CREATE TABLE five_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); +INSERT INTO five_vertices_table (source, target, cost, reverse_cost) VALUES (1,2,1,1),(2,3,1,1),(3,4,1,-1),(4,5,1,1),(5,1,1,-1); \echo --q1 SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$ @@ -6,4 +14,8 @@ SELECT * FROM pgr_bipartite( SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM edge_table WHERE id IN (8, 10, 11, 12)$$ ); -\echo --q3 \ No newline at end of file +\echo --q3 +SELECT * FROM pgr_bipartite( + $$SELECT id,source,target,cost,reverse_cost FROM five_vertices_table$$ +); +\echo --q4 From 584bd47bf02afe2c369b1ba1c70ecbc573f467c8 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 13 Aug 2020 23:37:15 +0530 Subject: [PATCH 0857/1360] [bipartite][doc] added odd cycle --- doc/coloring/pgr_bipartite.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/coloring/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst index c03ff4ef65e..94e418f065d 100644 --- a/doc/coloring/pgr_bipartite.rst +++ b/doc/coloring/pgr_bipartite.rst @@ -119,6 +119,13 @@ The examples in this section use the following :ref:`fig1` :end-before: --q3 +:Example: The odd length cyclic graph can not be bipartite: + +.. literalinclude:: doc-bipartite.queries + :start-after: --q3 + :end-before: --q4 + + See Also ------------------------------------------------------------------------------- From ef00f578ffaf4a269bdc0ae325ba025f4ac14711 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 14 Aug 2020 11:27:49 +0530 Subject: [PATCH 0858/1360] [bipartite] renamed output column to vertex_id and color_id --- docqueries/coloring/doc-bipartite.result | 54 ++++++++++++------------ sql/coloring/bipartite.sql | 6 +-- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/docqueries/coloring/doc-bipartite.result b/docqueries/coloring/doc-bipartite.result index d78e9d8343d..1343c1c576c 100644 --- a/docqueries/coloring/doc-bipartite.result +++ b/docqueries/coloring/doc-bipartite.result @@ -16,45 +16,45 @@ INSERT 0 5 SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$ ); - node | color -------+------- - 1 | 0 - 2 | 1 - 3 | 0 - 4 | 1 - 5 | 0 - 6 | 1 - 7 | 0 - 8 | 1 - 9 | 0 - 10 | 1 - 11 | 0 - 12 | 1 - 13 | 0 - 14 | 0 - 15 | 1 - 16 | 0 - 17 | 1 + vertex_id | color_id +-----------+---------- + 1 | 0 + 2 | 1 + 3 | 0 + 4 | 1 + 5 | 0 + 6 | 1 + 7 | 0 + 8 | 1 + 9 | 0 + 10 | 1 + 11 | 0 + 12 | 1 + 13 | 0 + 14 | 0 + 15 | 1 + 16 | 0 + 17 | 1 (17 rows) --q2 SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM edge_table WHERE id IN (8, 10, 11, 12)$$ ); - node | color -------+------- - 5 | 0 - 6 | 1 - 10 | 1 - 11 | 0 + vertex_id | color_id +-----------+---------- + 5 | 0 + 6 | 1 + 10 | 1 + 11 | 0 (4 rows) --q3 SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM five_vertices_table$$ ); - node | color -------+------- + vertex_id | color_id +-----------+---------- (0 rows) --q4 diff --git a/sql/coloring/bipartite.sql b/sql/coloring/bipartite.sql index 9e11b2005ab..ffc727033af 100644 --- a/sql/coloring/bipartite.sql +++ b/sql/coloring/bipartite.sql @@ -33,8 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION pgr_bipartite( TEXT, -- edges_sql (required) - OUT node BIGINT, - OUT color BIGINT) + OUT vertex_id BIGINT, + OUT color_id BIGINT) RETURNS SETOF RECORD AS $BODY$ BEGIN @@ -53,4 +53,4 @@ IS 'pgr_bipartite - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bipartite.html -'; \ No newline at end of file +'; From c29d84dee8310e89a78f77a00a797c0464eabbf9 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 14 Aug 2020 11:28:35 +0530 Subject: [PATCH 0859/1360] [bipartite] added odd length cycle test --- pgtap/coloring/bipartite/edge-cases.sql | 134 +++++++++++++++++++---- pgtap/coloring/bipartite/innerQuery.sql | 2 +- pgtap/coloring/bipartite/types_check.sql | 4 +- 3 files changed, 115 insertions(+), 25 deletions(-) diff --git a/pgtap/coloring/bipartite/edge-cases.sql b/pgtap/coloring/bipartite/edge-cases.sql index a00bd3282a0..9ffc70c4db5 100644 --- a/pgtap/coloring/bipartite/edge-cases.sql +++ b/pgtap/coloring/bipartite/edge-cases.sql @@ -1,6 +1,6 @@ \i setup.sql -SELECT plan(12); +SELECT plan(16); -- 0 edge, 0 vertex test @@ -9,7 +9,7 @@ SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18; -SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); +SELECT is_empty('q1', '1: Graph with 0 edge and 0 vertex'); PREPARE bipartite1 AS SELECT * @@ -22,17 +22,17 @@ SELECT is_empty('bipartite1', '2: Graph with 0 edge and 0 vertex -> Empty row is -- 1 vertex test -PREPARE q3 AS +PREPARE q2 AS SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table WHERE id = 2; -SELECT set_eq('q3', $$VALUES (2, 2, 2, -1, 1)$$, 'q3: Graph with only vertex 2'); +SELECT set_eq('q2', $$VALUES (2, 2, 2, -1, 1)$$, '3: Graph with only vertex 2'); PREPARE bipartite2 AS SELECT * FROM pgr_bipartite( - 'q3' + 'q2' ); SELECT is_empty('bipartite2', '4: One vertex graph can not be bipartite-> Empty row is returned'); @@ -40,91 +40,181 @@ SELECT is_empty('bipartite2', '4: One vertex graph can not be bipartite-> Empty -- 2 vertices test (connected) -PREPARE q4 AS +PREPARE q3 AS SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 7; -SELECT set_eq('q4', $$VALUES (7, 8, 5, 1, 1)$$, 'q4: Graph with two connected vertices 8 and 5'); +SELECT set_eq('q3', $$VALUES (7, 8, 5, 1, 1)$$, '5: Graph with two connected vertices 8 and 5'); PREPARE bipartite3 AS SELECT * FROM pgr_bipartite( - 'q4' + 'q3' ); SELECT set_eq('bipartite3', $$VALUES (8, 0), (5, 1)$$, '6: Graph is bi-partite'); --- 3 vertices test (linear) +-- linear tests -PREPARE q6 AS +-- 3 vertices test + +PREPARE q4 AS SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id <= 2; -SELECT set_eq('q6', $$VALUES (1, 1, 2, 1, 1), (2, 2, 3, -1, 1)$$, 'q6: Graph with three vertices 1, 2 and 3'); +SELECT set_eq('q4', $$VALUES (1, 1, 2, 1, 1), (2, 2, 3, -1, 1)$$, '7: Graph with three vertices 1, 2 and 3'); PREPARE bipartite4 AS SELECT * FROM pgr_bipartite( - 'q6' + 'q4' ); SELECT set_eq('bipartite4', $$VALUES (1, 0), (2, 1), (3, 0)$$, '8: Bi-partite graph with 3 vertices'); --- 4 vertices test (linear) +-- 4 vertices test -PREPARE q7 AS +PREPARE q5 AS SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id <= 3; -SELECT set_eq('q7', +SELECT set_eq('q5', $$VALUES (1, 1, 2, 1, 1), (2, 2, 3, -1, 1), (3, 3, 4, -1, 1) $$, - 'q7: Graph with four vertices 1, 2, 3 and 4' + '9: Graph with four vertices 1, 2, 3 and 4' ); PREPARE bipartite5 AS SELECT * FROM pgr_bipartite( - 'q7' + 'q5' ); SELECT set_eq('bipartite5', $$VALUES (1, 0), (2, 1), (3, 0), (4, 1)$$, '10: Bi-partite graph with 4 vertices'); --- 4 vertices test (cyclic) -PREPARE q8 AS + + +-- even lenght cycle test + +-- 4 vertices length +PREPARE q6 AS SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (8, 10, 11, 12); -SELECT set_eq('q8', +SELECT set_eq('q6', $$VALUES (8, 5, 6, 1, 1), (10, 5, 10, 1, 1), (11, 6, 11, 1, -1), (12, 10, 11, 1, -1) $$, - 'q8: Graph with four vertices 5, 6, 10 and 11 (cyclic)' + '11: Graph with four vertices 5, 6, 10 and 11 (cyclic)' ); PREPARE bipartite6 AS SELECT * FROM pgr_bipartite( - 'q8' + 'q6' ); SELECT set_eq('bipartite6', $$VALUES (5, 0), (6, 1), (10, 1), (11, 0)$$, '12: Cyclic and bipartite graph'); +-- odd length cycle test + +-- 3 vertices cyclic + +CREATE TABLE three_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); + +INSERT INTO three_vertices_table (source, target, cost, reverse_cost) VALUES + (3, 6, 20, 15), + (3, 8, 10, -10), + (6, 8, -1, 12); + +PREPARE q7 AS +SELECT id, source, target, cost, reverse_cost +FROM three_vertices_table; + +SELECT set_eq('q7', + $$VALUES + (1, 3, 6, 20, 15), + (2, 3, 8, 10, -10), + (3, 6, 8, -1, 12) + $$, + '13: Cyclic Graph with three vertices 3, 6 and 8' +); + +PREPARE bipartite7 AS +SELECT * +FROM pgr_bipartite( + 'q7' +); + + +SELECT is_empty('bipartite7', '14: Graph with odd lenght cycle -> Empty row is returned'); + + +-- 5 vertices cyclic + +CREATE TABLE five_vertices_table ( + id BIGSERIAL, + source BIGINT, + target BIGINT, + cost FLOAT, + reverse_cost FLOAT +); + +INSERT INTO five_vertices_table (source, target, cost, reverse_cost) VALUES + (1, 2, 1, 1), + (2, 3, 1, 1), + (3, 4, 1, -1), + (4, 5, 1, 1), + (5, 1, 1, -1); + +PREPARE q8 AS +SELECT id, source, target, cost, reverse_cost +FROM five_vertices_table; + +SELECT set_eq('q8', + $$VALUES + (1, 1, 2, 1, 1), + (2, 2, 3, 1, 1), + (3, 3, 4, 1, -1), + (4, 4, 5, 1, 1), + (5, 5, 1, 1, -1); + $$, + '15: Cyclic Graph with 5 vertices 3, 6 and 8' +); + +PREPARE bipartite8 AS +SELECT * +FROM pgr_bipartite( + 'q8' +); + + +SELECT is_empty('bipartite8', '16: Graph with odd lenght cycle -> Empty row is returned'); + + + + SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/coloring/bipartite/innerQuery.sql b/pgtap/coloring/bipartite/innerQuery.sql index f0e022590e4..dc8762de29d 100644 --- a/pgtap/coloring/bipartite/innerQuery.sql +++ b/pgtap/coloring/bipartite/innerQuery.sql @@ -2,7 +2,7 @@ SELECT plan(54); -SELECT style_dijkstra('pgr_lengauerTarjanDominatorTree', ',1)'); +SELECT style_dijkstra('pgr_bipartite', ')'); SELECT finish(); ROLLBACK; diff --git a/pgtap/coloring/bipartite/types_check.sql b/pgtap/coloring/bipartite/types_check.sql index 3905390f9a5..912f6339aaa 100644 --- a/pgtap/coloring/bipartite/types_check.sql +++ b/pgtap/coloring/bipartite/types_check.sql @@ -11,7 +11,7 @@ SELECT function_returns('pgr_bipartite', ARRAY['text'], 'setof record'); -- parameter names SELECT bag_has( $$SELECT proargnames from pg_proc where proname = 'pgr_bipartite'$$, - $$SELECT '{"","node","color"}'::TEXT[] $$ + $$SELECT '{"","vertex_id","color_id"}'::TEXT[] $$ ); -- parameter types @@ -23,4 +23,4 @@ SELECT set_eq( ); SELECT * FROM finish(); -ROLLBACK; \ No newline at end of file +ROLLBACK; From e68cd742d2445a98cbc312aeb1351f81c20b5c55 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 14 Aug 2020 12:01:23 +0530 Subject: [PATCH 0860/1360] [bipartite][doc] added bipartite into coloring family --- doc/coloring/coloring-family.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/coloring/coloring-family.rst b/doc/coloring/coloring-family.rst index 2fbb7909987..dcc99988217 100644 --- a/doc/coloring/coloring-family.rst +++ b/doc/coloring/coloring-family.rst @@ -17,6 +17,7 @@ Coloring - Family of functions (Experimental) .. index from here * :doc:`pgr_sequentialVertexColoring` - Vertex coloring algorithm using greedy approach. +* :doc:`pgr_bipartite` - Bipartite graph algorithm using a DFS-based coloring approach. .. index to here @@ -25,6 +26,7 @@ Coloring - Family of functions (Experimental) :hidden: pgr_sequentialVertexColoring + pgr_bipartite .. rubric:: Versions of this page From c358072dc55aa433c168428750f498a96fb5bd38 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 14 Aug 2020 12:01:57 +0530 Subject: [PATCH 0861/1360] [bipartite][doc] modified doc --- doc/coloring/pgr_bipartite.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/coloring/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst index 94e418f065d..6f05ec26cf2 100644 --- a/doc/coloring/pgr_bipartite.rst +++ b/doc/coloring/pgr_bipartite.rst @@ -66,7 +66,7 @@ Signatures .. index:: - single: bipartite (Single Vertex) - Experimental + single: bipartite (Single Vertex) - Experimental on v3.2 Parameters @@ -112,7 +112,7 @@ Additional Examples The examples in this section use the following :ref:`fig1` -:Example: It is possible that the cyclic graph can also be bipartite: +:Example: The even length cyclic graph will be bipartite: .. literalinclude:: doc-bipartite.queries :start-after: --q2 From 161bd145c15b57c0c6d0879b1fc68e7a03891e43 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 14 Aug 2020 12:03:24 +0530 Subject: [PATCH 0862/1360] [bipartite]modified docqueries --- docqueries/coloring/doc-bipartite.result | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docqueries/coloring/doc-bipartite.result b/docqueries/coloring/doc-bipartite.result index 1343c1c576c..be608a68e2a 100644 --- a/docqueries/coloring/doc-bipartite.result +++ b/docqueries/coloring/doc-bipartite.result @@ -16,7 +16,7 @@ INSERT 0 5 SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$ ); - vertex_id | color_id + vertex_id | color_id -----------+---------- 1 | 0 2 | 1 @@ -41,7 +41,7 @@ SELECT * FROM pgr_bipartite( SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM edge_table WHERE id IN (8, 10, 11, 12)$$ ); - vertex_id | color_id + vertex_id | color_id -----------+---------- 5 | 0 6 | 1 @@ -53,7 +53,7 @@ SELECT * FROM pgr_bipartite( SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM five_vertices_table$$ ); - vertex_id | color_id + vertex_id | color_id -----------+---------- (0 rows) From 1344cd0b4e364cf114f94f85e735ddd6f9615812 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 14 Aug 2020 12:03:55 +0530 Subject: [PATCH 0863/1360] [bipartite] removed bipartite toctree --- doc/src/experimental.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index 03956695399..5ff1ef56d6d 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -113,7 +113,6 @@ Experimental Functions - :doc:`pgr_topologicalSort` - :doc:`pgr_transitiveClosure` - :doc:`pgr_turnRestrictedPath` -- :doc:`pgr_bipartite` - :doc:`pgr_lengauerTarjanDominatorTree` .. toctree:: @@ -130,7 +129,6 @@ Experimental Functions pgr_transitiveClosure pgr_turnRestrictedPath pgr_lengauerTarjanDominatorTree - pgr_bipartite See Also From 5e544920d4ef3377c713c8299751d1edb2e44ec2 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 14 Aug 2020 20:28:54 +0530 Subject: [PATCH 0864/1360] updated doc --- doc/coloring/coloring-family.rst | 6 ++++++ doc/coloring/pgr_bipartite.rst | 10 +++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/doc/coloring/coloring-family.rst b/doc/coloring/coloring-family.rst index dcc99988217..3602982f829 100644 --- a/doc/coloring/coloring-family.rst +++ b/doc/coloring/coloring-family.rst @@ -86,6 +86,12 @@ See Also :end-before: see also end + +.. include:: pgr_bipartite.rst + :start-after: see also start + :end-before: see also end + + .. rubric:: Indices and tables * :ref:`genindex` diff --git a/doc/coloring/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst index 6f05ec26cf2..e824a121742 100644 --- a/doc/coloring/pgr_bipartite.rst +++ b/doc/coloring/pgr_bipartite.rst @@ -129,9 +129,13 @@ The examples in this section use the following :ref:`fig1` See Also ------------------------------------------------------------------------------- -* https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/is_bipartite.html -* https://en.wikipedia.org/wiki/Bipartite_graph -* https://www.cs.cmu.edu/afs/cs/academic/class/15210-f11/www/lectures/16/lecture16.pdf +.. see also start + +* `Boost: is_bipartite algorithm documentation `__ +* `Wikipedia: bipartite graph `__ + +.. see also end + * :doc:`sampledata` network. .. rubric:: Indices and tables From ba2048f92a6455a517811aa38daacdf6337d5e7b Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 14 Aug 2020 21:59:07 +0530 Subject: [PATCH 0865/1360] fixed broken link --- doc/coloring/pgr_bipartite.rst | 26 ++++++++------------------ doc/conf.py.in | 2 ++ 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/doc/coloring/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst index e824a121742..3a086e63186 100644 --- a/doc/coloring/pgr_bipartite.rst +++ b/doc/coloring/pgr_bipartite.rst @@ -69,15 +69,14 @@ Signatures single: bipartite (Single Vertex) - Experimental on v3.2 +.. Parameters, Inner query & result columns + Parameters ------------------------------------------------------------------------------- -============== ============ ================================================= -Column Type Description -============== ============ ================================================= -**edges_sql** ``TEXT`` SQL query as described above. -============== ============ ================================================= - +.. include:: coloring-family.rst + :start-after: parameters start + :end-before: parameters end Inner query ------------------------------------------------------------------------------- @@ -92,19 +91,10 @@ Inner query Result Columns ------------------------------------------------------------------------------- -.. result columns start - -Returns SET OF ``(vertex_id, color_id)`` - -=============== =========== ==================================================== -Column Type Description -=============== =========== ==================================================== -**vertex_id** ``BIGINT`` Identifier of the vertex. -**color_id** ``BIGINT`` Identifier of the color of the vertex. - `0`: `white` - `1`: `black` +.. include:: coloring-family.rst + :start-after: result columns start + :end-before: result columns end -=============== =========== ==================================================== Additional Examples ------------------------------------------------------------------------------------------ diff --git a/doc/conf.py.in b/doc/conf.py.in index 876046a23ad..b7b54f76d85 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -301,6 +301,8 @@ linkcheck_ignore = [ # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected # (see: https://github.com/sphinx-doc/sphinx/issues/7388) "https://github.com/pgRouting/pgrouting/issues/*", # limit only pgrouting + "https://docs.pgrouting.org/3.2/en/pgr_bipartite.html", + "https://docs.pgrouting.org/3.2/en/pgr_LengauerTarjanDominatorTree.html", ] linkcheck_timeout = 20 From ce35b3160984816ec946cf797cf4874071938ca0 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Wed, 19 Aug 2020 20:07:13 +0530 Subject: [PATCH 0866/1360] removed blank lines --- sql/spanningTree/CMakeLists.txt | 3 --- src/spanningTree/CMakeLists.txt | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/sql/spanningTree/CMakeLists.txt b/sql/spanningTree/CMakeLists.txt index 2a3a23dce65..b0a0d089257 100644 --- a/sql/spanningTree/CMakeLists.txt +++ b/sql/spanningTree/CMakeLists.txt @@ -13,10 +13,7 @@ SET(LOCAL_FILES kruskalDFS.sql kruskalBFS.sql kruskalDD.sql - - #randomSpanTree.sql - ) # Do not modify below this line diff --git a/src/spanningTree/CMakeLists.txt b/src/spanningTree/CMakeLists.txt index 3cbdaabd3ef..ca0e566852f 100644 --- a/src/spanningTree/CMakeLists.txt +++ b/src/spanningTree/CMakeLists.txt @@ -8,6 +8,6 @@ ADD_LIBRARY(spanningTree OBJECT prim.c prim_driver.cpp - + #randomSpanningTree.c #randomSpanningTree_driver.cpp ) From 6fcb8b7079d3b32935f83e7d200c97238ad36e6e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Thu, 20 Aug 2020 20:11:24 +0530 Subject: [PATCH 0867/1360] modified doc --- doc/coloring/pgr_bipartite.rst | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/doc/coloring/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst index 3a086e63186..d7eb3f761e6 100644 --- a/doc/coloring/pgr_bipartite.rst +++ b/doc/coloring/pgr_bipartite.rst @@ -45,7 +45,7 @@ A bipartite graph is possible if the graph coloring is possible using two colors - The algorithm works in undirected graph only. - The returned values are not ordered. - The algorithm checks graph is bipartite or not. If it is bipartite then it returns the node along with two colors `0` and `1` which represents two different sets. -- If graph is not bipartite then algorithm returns empty row. +- If graph is not bipartite then algorithm returns empty set. - Running time: :math:`O(V + E)` Signatures @@ -54,8 +54,11 @@ Signatures .. code-block:: sql - .. pgr_bipartite(edges_sql) - RETURNS SET OF (vid,color) + pgr_bipartite(Edges SQL) -- Experimental on v3.2 + + RETURNS SET OF (vertex_id, color_id) + OR EMPTY SET + :Example: The pgr_bipartite algorithm with and edge_sql as a parameter when graph is bipartite: @@ -102,13 +105,6 @@ Additional Examples The examples in this section use the following :ref:`fig1` -:Example: The even length cyclic graph will be bipartite: - -.. literalinclude:: doc-bipartite.queries - :start-after: --q2 - :end-before: --q3 - - :Example: The odd length cyclic graph can not be bipartite: .. literalinclude:: doc-bipartite.queries From 4991ebb65f75082f151f4c351e8feb043dbd2deb Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 21 Aug 2020 00:10:56 +0530 Subject: [PATCH 0868/1360] Added 5 new tests --- .../no_crash_test.sql | 7 ---- .../types_check.sql | 33 ++++++------------- 2 files changed, 10 insertions(+), 30 deletions(-) diff --git a/pgtap/dominator/lengauerTarjanDominatorTree/no_crash_test.sql b/pgtap/dominator/lengauerTarjanDominatorTree/no_crash_test.sql index 4195dcd29d5..c9536095e33 100644 --- a/pgtap/dominator/lengauerTarjanDominatorTree/no_crash_test.sql +++ b/pgtap/dominator/lengauerTarjanDominatorTree/no_crash_test.sql @@ -6,13 +6,6 @@ PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); -/* -SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); - -SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); - - - */ CREATE OR REPLACE FUNCTION test_function() RETURNS SETOF TEXT AS diff --git a/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql b/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql index f732061f296..409ee97324e 100644 --- a/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql +++ b/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql @@ -1,39 +1,26 @@ \i setup.sql -SELECT plan(1); -SELECT todo_start('Complete this tests'); +SELECT plan(5); -SELECT pass('Sample Test'); +SELECT has_function('pgr_lengauertarjandominatortree'); -SELECT todo_end(); +SELECT has_function('pgr_lengauertarjandominatortree', ARRAY['text','bigint']); +SELECT function_returns('pgr_lengauertarjandominatortree', ARRAY['text','bigint'], 'setof record'); -SELECT finish(); -/* -SELECT plan(7); - - -SELECT has_function('pgr_dltdtree'); - -SELECT has_function('pgr_dltdtree', ARRAY['text','bigint']); -SELECT function_returns('pgr_dltdtree', ARRAY['text','bigint','bigint'], 'setof record'); - --- pgr_dltdtree +-- pgr_bipartite -- parameter names SELECT bag_has( - $$SELECT proargnames from pg_proc where proname = 'pgr_dltdtree'$$, - $$SELECT '{"","","max_depth","directed","seq","depth","start_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ + $$SELECT proargnames from pg_proc where proname = 'pgr_lengauertarjandominatortree'$$, + $$SELECT '{"","root_vertex","seq","vid","idom"}'::TEXT[] $$ ); -- parameter types SELECT set_eq( - $$SELECT proallargtypes from pg_proc where proname = 'pgr_dltdtree'$$, + $$SELECT proallargtypes from pg_proc where proname = 'pgr_lengauertarjandominatortree'$$, $$VALUES - ('{25,20,20,16,20,20,20,20,20,701,701}'::OID[]), - ('{25,2277,20,16,20,20,20,20,20,701,701}'::OID[]) + ('{25,20,23,20,20}'::OID[]) $$ ); SELECT * FROM finish(); - - */ -ROLLBACK; \ No newline at end of file +ROLLBACK; From 2754bd2d2ed95c0e11cd900daab5e040175b0744 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 21 Aug 2020 19:49:44 +0530 Subject: [PATCH 0869/1360] Added graph in subfoldar --- doc/coloring/images/CMakeLists.txt | 10 ++++++++++ doc/coloring/images/bipartite.png | Bin 0 -> 11986 bytes 2 files changed, 10 insertions(+) create mode 100644 doc/coloring/images/CMakeLists.txt create mode 100644 doc/coloring/images/bipartite.png diff --git a/doc/coloring/images/CMakeLists.txt b/doc/coloring/images/CMakeLists.txt new file mode 100644 index 00000000000..966301ead94 --- /dev/null +++ b/doc/coloring/images/CMakeLists.txt @@ -0,0 +1,10 @@ +SET(LOCAL_FILES + bipartite.png + ) + +foreach (f ${LOCAL_FILES}) + configure_file(${f} "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}" COPYONLY) + list(APPEND LOCAL_IMG_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}") +endforeach() + +set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/doc/coloring/images/bipartite.png b/doc/coloring/images/bipartite.png new file mode 100644 index 0000000000000000000000000000000000000000..38c41d3f18a401394727c70bdcf2a1cdc85a5f87 GIT binary patch literal 11986 zcmeHtcT|&Ew?2x>hyu=_6hS~hQ0ZN2R0NC&C@8&12}KA25(piU5p)1i5Rf8KK^Ub( zdM64?cb|Qp{p{!P;F_iy9qn;i zDk>^E_~lF5R8)Jh;G6BI1K`PnodRX>BiQqXK1SOd%jM*PvbJ+TaA7>05L^g%J8LQ` z_nw;%>**>*f4Ve(H{x+93D>%| zZ~UMSakF^*P!ZLpunZkQ6Sg1a0r zfJ9)-x!jQsj%Yb|Mefgb<-qUIV-aqy&s{L~iro4d*SM5XE(k73VM$?8Ar*H!H*szy zS}p|_D{DFJOR8T@fWH*EZ7~=pIS~;o7AuUE5JtJ!h=|F`%8H1Ji-?O0fgVC=4@Zo- zyO1NA2Qu-+#w7&W(#6gRV~29&f^3>wpj#K2S3;wX~i2mvX;0_U}MMO+k zROH9*7(46#raRQ~y*o5m?wXxD!a@I%9TMS)21`)nmX;9vZ0vih!4Iuc60)CLAxm;_ zq`3`3&&~>C`+eB=hRX;$8(Z)ue;T6YVut`efZkS-TZ~%-@}$UDSAv}p`D1G!|NP&7 z{WHnm^6@|J`o~>=%L9L_^FPt`kGuYs2mV&)f1>L@%U!hJ$sNKGFgh%tZaaH1)PVNw zLtlj7_z8S@|73Naii(R0e(Ayu_nz5)4@~5}7jr{c{+}*XJ~(0>{L3+w9D2p3++#PU z^wSj$uf@B{vMV0@aF9R#+V9BH;mn)8y}fd6XM09&>`(bk7bWogr%>dP>kk6=?YnfH zt9zXxQs7=f>y>klMm;(#(z6H!x}ClFZo=*?3U%m%MJ5XsmEo_yFj7(7m#3ntJV8Y@ zOixASOhd&rM@4l6uqv)IOt-uOf)SY-q9Htrz(UMp;8qtVNGt-xaO!k}DattcZ&14W;V?aYaQ%W7Tq) zPmfI8x=(4rb}^=&ldl@$WJD1xpu!s%MlN*9KeV;z&Q5#Qz?b`L^ z+S>p-g)TH{E!WjfM4rI*i5+4VZpbfN6$*GHKUctGQtZ~4PuN9Tf-Q=T1FtB#JlchEva96eYb$RBaeq(j>{`Q)qs47T!;w$aMid)afHL8?{X8(1a;1l zxxxUZj5lx2uDZGkC_d(g$Aw?KZEvq*VuCz95wN`H%R$-TY|lrLp6K03ay}+=OY&%h zV}DU$O4H_`H}IPzzn-a=a>DN-^;seci84nc7F`jnvbRJ0;~AQ0Y%h2}-)s1wGg-57 z!CYB9pPYD9J3K*g%WCv@vFGa+WJ7@))uEcCqSjf+IkcR z4z9y_Impe(YJp4+WlZmvU!JSAB;ulYSzX=<7!Z)C#Pf#+)k9uHPPU*8Z2gM^{x8t%+u$GZ^bagqgbg;zkQxTx2P~7f=kZG$#q(uxiD61| zjQpCCx&jNe{5Y$wx8^aT=H;|uuYOEjio={o_5xV_v7H zH-^d#6toZp4RcP@aJb(})`*Kj`EB>A+7FrfthUFyb{Kff6;5O|O82HYIrQY%#Yoxf zHpxz~EAP24-=Q*66*Z#*r#sqW4mY7jQs0l7}WO13qF74$U* zHqRmp(GwXM@Ar52Pm&0J4`s($EcZxC3`8MM(ZhBYuEt3V(QtY%oDHLl%MfaDl${A< zY`<&O?fuf9^kef$zVgw=F7OT`RB7ZxKMwC;CLwXAI|Y^|Hw+D9!^3Yf4eVNdzZShDou)YMV~CRfI;?bVl*`2WB%#mOBNBg#{p(C2X6YugsH3 zEWGfH!tvOW&G9&o^?vMfJKk3+h~4Efz$jZ5DrYsc6L>noOxRG7?z$D=@b>+I7$qOi zhX5D)e79$-?8X47E?01pMbQ&YjY;r`!+V<#Z=ByBBWb7o+lS#Lg5RvYS^a)y<3}fz z16hJf)(5=KFa=Mxy^atAIl+>V_zr-Sr^adNpJvXAY;TmTvQ(xh=NlE4{thl ztZ=F5WA{rfT%XT+f46O7D0vPh@452H0Sr)e@SmuB#eB7Cr|=lu+?k^UaV?|75u+M< zJW?pX&t;S7I@c!~ZRYD?>M<6XgCZ$av!k!B^&KsI zPCP2@Z5QQ*Wx?mIUvm@I|M7Bq!>bg{CSSIrdLEj8K*q3U--Sa%$Zn?OFNkqw zHh0O$7I}p>#)xvAPs2yl#8X&8SKzuts>V1m{jy#4TB-v77dUxVS9iq{glcTu#Vai@ zOmG;%WubHFDnWU4@F5;$z*Axq%Y3$zOI~t^eu#at)A*q{(4r+<4R?5eBBq?n*UQV$ zC;n+Zfw8~H72Qt%e82N%^8TWw9=4@RJ_b=zOnUCWaGL2wJx;7*sgWIu2dP_b0` zBok7~!x)Vr;%y>FJF~AW?X+;PqNj=3NP_Qy+aD$>e`PpSh#prfv>&f-I(UbvE(Kv! zFf}#ByO_rY5054(C`BYIJ))n@s~OzoXG@A)wllDe=|gvxKaeBqMkmyJKR@t%|1ulL zpIFqtAOR4Q`1j=MFMQ)W909=S>U#PyQElQLv#I{jBBDNOtj8YT`20eE%YerOVyOIH z)mHdi$#PSl*L-QJf;6%x$Jl%EgQ_7NpbN%TA*|WumJ-$tHIpg0gwnMh0gyFUu1v_> zmw&F}3DStm=wmhOjfEj_mbPfCo8+d`pg@(~`jog_Cx9P)9zcI3Q(v+NW)3Ej1;Ovq zAXYuPPN3{wxxO1m+Trt>E41-l%f_)ztLqnG?8qZ9G7mKkeFHF(U!Ez^bdCqvo7ec( zydrBTkj;AVoxjI)dVYv%>c^^m&0B(7&rj~If5N>Fps`6!&odm-Mxy<-s^zxJ=K)9(skn`x2F znUWGVO$}X{maQNdk3B5iS*kxHAW$z{JQL3Q8MrFw;pvf)+T7@{616 zFUDiMA*csnbby}SHce!*8b)>|Z&bsqQ=YjQPIgV0uWtrNssuB=(!wdJCbm0`(Hp)7 zknbKDMgS-TAV}xR6*9%1AZ${Ul$=~;tML{U?ocokc)&1V+jnjx4Avx8%^s2XQ113- z@G)CD<3eiPYlenJExWFCbaV!&($x^<>_w1qM&(JHnoJ_5@ql17a)BLQodTR{ydfsy zm3lNFpKCMSlO5@C&bCayeX!6xH}or@LHuEgYx)52ZXE?w$#WJs_Kc8FV}zDc3@?;s zpj>nz-~elo^$^H&MCdu7Z07*YdwjvxwGT~`ezh@8da^n1WVdyDwY=NR(_rDE)BN#H z7a?HYneZdqJd~UIePz0n=uWu(6ob{`Ym_?!7k^92Nh9Uu`&sX~K?esWBycHzen{@HuDi18({~ zGixR*i)P|BLyYk7#=4+njoQFQN74iJBAY&*F!_T+hf0JF2^oV#G&Mb?-IMxuN#suW z#i?ngafS#-4FEYItEbu;Zbz(73uqTz*tRa6H(I5n7|a#W50230Aa{$?)kBTA0gO+{Tl?A zt=(g)q&fRM(j7U~c9>I|7d;KTa`MzYCk2HQ13)iN+&-NIMQI6mxb+2Q)b1LRE<@EQj_gxTZ zeKnDV5k#w1#r838m-mdyDEz53{GUNJR5kyFQ2s~}zt)#O*4AHp|CLbw`>gPFD#NU* zs;YQ^fU?UC5_%rq0N7-w)3UROO53BKsT7!?<0k%UOjH29+-U$Tme$0C(w4s(5=hncn7zKd zQ>*T}#tUGnM)~tYo9_S2qpho(*OEDnCny1nHS+T%5!D=Cf`DpCv7}W1L>eSWg3Qy_ z)|Ql%#JfB}B#zcbEZ6XaS>^Y;NzkVSeCdK7Z`c{-ht-1Y5Pgu5&uU@tec?=2{bA~1 z`a9#l>!fH3lpHG_c_=>)$hG8Q=(VJzvU`%OJN$ftnv}L@BDUuVun!hu@TCR`q7{Hw zagMY^fI`i*8Zip8(Iyz3sp+%fykR6a?Tq8Ai8skJh-i~2e`=a>d$Vmr={~25hNogY zjC@x`xgq0`Z;LnLTeHkIho7uD;&|-@JI3xxXf-W7?woj{qiHZSL0F2!Th%=|vpK>^ zc?wc5qSFMcQT^})-9fNm*Y}|K^F8i%uY9Tc3T^EjP0q3EM0|aL8i&~=ZnF7>a@k@i ziiII|&wAgU9By!|U*l7aPR>LTdPL47<>k4(5)nJ_C0g!Cr32=92LJnIOXo35x(`W4 z`HrvC(jT9lB9^MDJEQzw#I}wR}2)>G~kfbEsa@8*-rP_x}Gv zIW}BGjQq>-_Xj(xc)vzSia4bnHTsU4p&_Gq?)DSDl{Ou% zvGn`_L-IP_drV*xR1tPh`PLSzIc>I9CST+6M36*KkNC12x>E>2DIm8X^Sb$z0}sRF zq!U`s_ob`$DQ*k~2q>)ep@|5>?iwRjV^qs;OXt90mPf5xFhv9c(d|dsMOUA|j)LHl z)MP9qZ%t?4dVhCiu3sJw6&Jr1^SM!W*C#-LThwuHwh)tb{&c^s(>K0? z0j2=k`WPne*jJzcW;=6~_Q1uym_b};9cCvjfE-hGPGc05JB?8Ky`HEl zJ{dBFrjyJ|d13jhfi2eDBtkHOM;24lpj=I^ui;uOC?#3iyK%D^BzJC2N zuuAL^6{l!>l2Np-F*^(bPWV*t~2?S9s#nl_( zTJ!dTfG@mM2@auN%$vE*Chz7Dc$hUD(3>t64cqQ41aL1z)gXyVQd-&?l%8Npu*O>8 z6$#&+4R&mwbBvg!s&K*J-U>f|hT0SjMd&`v^?XP@VEx~kn9W`6aEwb|YYHqwTw zbgx5pyi45~a2Sn!Up;8YHaG`a4U~9zY>q`ki-+C_Le;~--x9#zPa-1`fKZ95GR6TS zzJyl-Z_g@v>wL22v!Wdig;-q`6%|0x9PabABw|m_m+C=U9xrYnZhI(*(>j1oT2xa< z$v^T*5`aQkAoxgNJ~cb!w(F|;yBn?HbZ_2_I`lyp{2M=7xFC`^aIQ1q~9P{bgh~&pI1frJ1 zYvxIWrra5zJQAT|R!eD<7nI%i{bO&Dcs)K5iB_uZmW6<Qr=N4iveth-F zujWZ@goI1wz1NhPNO!=u9EwLeTT=D#@t#w!58NL1k&leF$rj45wa1r6K`=3GM)4Fb zSt!TMbbZuM&0PGz%#Pbc!|Lv;a8B&*SI_#$7iYcPC_{Wt!x^umrPv<*E@QlmM_5j1 zd1^o_{0VkIkSz*Z&xR^_ER@&9t!M0fZ+li3O{y1Bl6OT9sE3zO-nSfMib(U=i9uE0*0Mt{9{1S6!EC#SxzeQ76VN+jw;>OpUulFtiN>XL`&5mGG@j%apYXdbppA-XLh!EamV6uPU zcvo~XcIV^zC<9}M)&z%Z%tjsjfZfzGwkd3BMLn7yuK9%)s@h##0UIU@F#m5DivsGA0s-e)_?-sWx6 z5n`3-N=~$l3E+I~w-T|)XY)9Zd~1$L`ho(gWg`pACE;%jo{4#~)Li1oM6w z`|KSfWc~BU=PBsFkKLC5S%;SQb&Ai+`#hF^0a(8;|9y%-kNsb38K(d5=J|UqfIa(n z#x^7<$`iKQ@k`Ch3^Td%*ZzL zIB?A%3xL!L(r+EgHpdIcqKpo=UMgBWYc<|L7zMew_K--)BV~G7UYUMOgn4Wi$e>UH z_PoA#nBHG)+pRwv4B>-cQCDwGR0|U{$f^|8ux-_lF(BhQ&HQ%3g}{f?8Z+RgrU_(@ z1Z4)rHWnz%yd9TDYdwGvf*yXre?0L)zxQ&Z>{^$lgvZk8VK(UoE{#u<{1jC3)tGPr zd`ZifF>^#eGMZjt;hizMQK}m-=EE(O<3t>e0k$Iwi6YBH7$9veZv|O>=NMc7M%$FG zc1ZjLg$P_6Q2H4le#?$M(QyGP^>HgY7BP!URiSLrkZ3g;q16QLK`fr|Ei@$7XW4#K z+uWV^!vQii2AlwQb#(=$h8Zgj2v5B0Std4g<ug`?KI$EuwZ79CZG*1gRN(w8BV>XZ|^^0uiatT71>l5zsa~Xw-dt( z_y~C=1$GKfd+(y#fQJordUC7*QroEY>BD7QeTUI{Jt!$~Kl7+s1)XratfF!c%6m;F zy`v45#G2$2Zd&0X$ED5!RlflUXpUUqfR}VY`ow1av~ep+ z7WF0;Rw}Az=7-LkCc(zW#=0G{8$$cKse zsNFi|l$Gpvw%;}1V)AZi&Ve%H%7ybYsVPcL}?#zdtXEr3n4^q-(L)tLtDrB2{% zi+&osmSkLFf10nq$gT0cSD08^bgswJCoR>K%ng5^&Z;tS&2*c_uR;->AmzC_yfwkE6RZNRdgTzv6V zDY8`DrHw@^1mqS3b3!zbdw6lC*R$|Iv+;jtl=u*~m9S%8zBSpGD9mUkTgzpC9>iq0 zdunsp+YWGhFfGWLrLTP4Gg$-9ET48VGBUEfqKs?q{NSFicn*Or1Y}}}ckxtI)NRoJ z0svSAfd9Q01YKWx{iOw@g31#Bl8<1y7C_qY2RQ9a1AzYXrtSG^;ICtkK&jwsw?B=A z41g@~_%i;(^Rb5e2?7n1nCi>gnUc-(~h~4#l%pCOEimf$Te1#v4qZYMP*G9vca3*u8iJ)P~O&HE%cv!e_Bv zCy_nw=`>t(cdUPQ58`yX5$I5Q%cIN3(ZEs+y2JpYg3QtLhlUd5ZHJVMS1#1`_!Ve( zo%-?47Q}>P93?UOXb1?sJ5kTSDheZK9pBkP$IMk7+!((A`_^o1>@iE{@v=;?zU-Pi z-3Kec?|?LC$pv`kH{tFZvs;=xRtz|t6?Dd^f!Xn?Wd<#G0VYV9dixMfJn|**Daszi5f-aGlBl=P|9rz$G%sabymj}#0GeuWEC2ui literal 0 HcmV?d00001 From f7cd83bb83336ef8b0975dfd955c5dffbc934a86 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 21 Aug 2020 19:50:14 +0530 Subject: [PATCH 0870/1360] Added graph in additional example --- doc/coloring/CMakeLists.txt | 2 ++ doc/coloring/pgr_bipartite.rst | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/doc/coloring/CMakeLists.txt b/doc/coloring/CMakeLists.txt index 364e63c011c..0360ba24388 100644 --- a/doc/coloring/CMakeLists.txt +++ b/doc/coloring/CMakeLists.txt @@ -10,5 +10,7 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() +add_subdirectory("images") set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} PARENT_SCOPE) diff --git a/doc/coloring/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst index d7eb3f761e6..62603cb548f 100644 --- a/doc/coloring/pgr_bipartite.rst +++ b/doc/coloring/pgr_bipartite.rst @@ -102,16 +102,25 @@ Result Columns Additional Examples ------------------------------------------------------------------------------------------ -The examples in this section use the following :ref:`fig1` +:Example: The odd length cyclic graph can not be bipartite, The following edge will make odd length cyclic graph with 5 veritices: + +.. literalinclude:: doc-bipartite.queries + :start-after: --q2 + :end-before: --q3 -:Example: The odd length cyclic graph can not be bipartite: +.. image:: images/bipartite.png + :scale: 60% .. literalinclude:: doc-bipartite.queries :start-after: --q3 :end-before: --q4 + + + + See Also ------------------------------------------------------------------------------- From 642f5d9145f7ca333fe0af4252eaaa27802370e5 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 21 Aug 2020 19:51:03 +0530 Subject: [PATCH 0871/1360] Modified docqueries with new exmple --- docqueries/coloring/doc-bipartite.result | 26 ++++------------------ docqueries/coloring/doc-bipartite.test.sql | 15 +++---------- 2 files changed, 7 insertions(+), 34 deletions(-) diff --git a/docqueries/coloring/doc-bipartite.result b/docqueries/coloring/doc-bipartite.result index be608a68e2a..34a22eb2e33 100644 --- a/docqueries/coloring/doc-bipartite.result +++ b/docqueries/coloring/doc-bipartite.result @@ -2,16 +2,6 @@ BEGIN; BEGIN SET client_min_messages TO NOTICE; SET -CREATE TABLE five_vertices_table ( - id BIGSERIAL, - source BIGINT, - target BIGINT, - cost FLOAT, - reverse_cost FLOAT -); -CREATE TABLE -INSERT INTO five_vertices_table (source, target, cost, reverse_cost) VALUES (1,2,1,1),(2,3,1,1),(3,4,1,-1),(4,5,1,1),(5,1,1,-1); -INSERT 0 5 --q1 SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$ @@ -38,20 +28,12 @@ SELECT * FROM pgr_bipartite( (17 rows) --q2 -SELECT * FROM pgr_bipartite( - $$SELECT id,source,target,cost,reverse_cost FROM edge_table WHERE id IN (8, 10, 11, 12)$$ -); - vertex_id | color_id ------------+---------- - 5 | 0 - 6 | 1 - 10 | 1 - 11 | 0 -(4 rows) - +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1, 7, 1, 1); +INSERT 0 1 --q3 SELECT * FROM pgr_bipartite( - $$SELECT id,source,target,cost,reverse_cost FROM five_vertices_table$$ + $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$ ); vertex_id | color_id -----------+---------- diff --git a/docqueries/coloring/doc-bipartite.test.sql b/docqueries/coloring/doc-bipartite.test.sql index 5071eafa0f3..2aea886e2c1 100644 --- a/docqueries/coloring/doc-bipartite.test.sql +++ b/docqueries/coloring/doc-bipartite.test.sql @@ -1,21 +1,12 @@ -CREATE TABLE five_vertices_table ( - id BIGSERIAL, - source BIGINT, - target BIGINT, - cost FLOAT, - reverse_cost FLOAT -); -INSERT INTO five_vertices_table (source, target, cost, reverse_cost) VALUES (1,2,1,1),(2,3,1,1),(3,4,1,-1),(4,5,1,1),(5,1,1,-1); \echo --q1 SELECT * FROM pgr_bipartite( $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$ ); \echo --q2 -SELECT * FROM pgr_bipartite( - $$SELECT id,source,target,cost,reverse_cost FROM edge_table WHERE id IN (8, 10, 11, 12)$$ -); +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1, 7, 1, 1); \echo --q3 SELECT * FROM pgr_bipartite( - $$SELECT id,source,target,cost,reverse_cost FROM five_vertices_table$$ + $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$ ); \echo --q4 From 602753e4042a93269917a8812e77e5e76501fff0 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 21 Aug 2020 20:04:09 +0530 Subject: [PATCH 0872/1360] Modified doc --- doc/coloring/images/bipartite.png | Bin 11986 -> 10941 bytes doc/coloring/pgr_bipartite.rst | 6 ++++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/coloring/images/bipartite.png b/doc/coloring/images/bipartite.png index 38c41d3f18a401394727c70bdcf2a1cdc85a5f87..b80f9800cd207c527dd1ea23fa3a31ef6fb11d3d 100644 GIT binary patch literal 10941 zcmeHMXHZnjww^&yBuEk^C|OVxhBV|b3ZjGLAXy|cWXVBbR0PRcB!dJA5+o~0ML@EW zGXesVu z0)Zxje~^r7Q1T1>ZfEi+WWnK#6ZrB(Y3d= zNm16>*kBO#HWr-S%=DLt)##g=wQfD9UEbkJ`IhzcM@)CETh!j;sauVQbbC&;a`Jl= z9Hgk8L}Lhq;3NvnNkdLn*wDs`Q{TwOz?jp;$`(u(0uhyPvDG)UFm_-tFg8V5i!m)# z)G#rijKrAK;c{GZwvxtXsM~IK#wu>|s)lYBhC)V665<4+F2cZom9c|9gNv1=wY{*5 z7}JqmVemKhHH?YjsEdPz7?XyaB7>xjoiPI+Cm$yl$4wWM6AzO(0fVTWk%_Rfl=QI) z@Fd1$=HOr}41+m4J99eoa@yFL!nlQmgkW4eFdiNb(1XL?)!ISdg~QsO8EfLF4Jl)L zLpzkM1Iosl0c%s=z{b%*jEM=fGaMVo`u`8>*7nCv0PcWcTVULrT(CcPcR-o^o9@__ z-`%kv3oD{rj4d^!P*%p)_FxKPOnlt@N5+1)YW}H}SMX;m){-#NO5fC29cAQT_WQHn z4Y!R^re4q{o}5` z<$=G|`JdDEkGuYs2mV&)e@@r`FLx3ACU?fxfYCVv>Xu=7ss_+LT>BeHRebP!h;Q@^ z0-*a^;^ui4N%Wj#X4 zi=>DuX{N~2)>LRW(TW*}jeV5v7o~8C-9RJtHoI_JGWv3padnM^tS4D1<(V^FOT9vg z5xfq;Yh%ro)2kQZ)IR$75HxK|3oZnLg9~9mKp>rzpe zS@Jrpu&!7rwd;+MWfj~09^oGxd{;`!o6hw+*+nt8$gk#aHH%EHT)Q?O+itnDKBKZR z_c@H&e5m}*RC`jpnf!Pot}R;-tw7I*C#NnUVO8rL@S3T;?KNSy^~`%77_}g3ULRn? zajpj$ZeVEWwPL}kQ=VL2E?BkNbTwN&pDuNU2tSiX()Wy-@0p8{NlEz<`!fneIJsIS zGOe-j&L(l9Z}*jOCSNs;vBISIvKXJclTq^72>aq&Q*vOIT4aOnkY z5#eXa$v?VSyNK$P*iXwpefl)Zb!{qe$|&9&t!1NUo;_}0+ITQ=rS|{|)hcl5hcB7c z2Vcy|%)G2y{ZRADl`F9VHi=rrW*?qmO*sDe!dPN8_Z6oJEM}O5*04!c2e|LGo zBOsrmuTN=UzqPC%(`r&;-t7-PO}actJhO>@*WJunQS>(Zlm6xO%Nlb6Hij(0r-DzN z9}{Ef(gKSt9JHidv}9@Qv<&YykE%1!zl?1@IBT9gWj%TS5+X71sbF+Yz9tlcUfeOZLSH>mRC@i z_L|Qvvauk!N#@n}-*HgY;cYRn4@uuQ^P_QF$>u%SbU|CJbmAX}&{1$WH9^FAcFdQabCVF!z5IGX;LDh;8HlA=K2-SYyE)HcdiTaG2nYze!1+vn z^=j_JDf;i3nUiNO2qrg1uvzrx>6&+D$i1EG=~vj>}bs)Jl|`nYIA*|Y}9;ZyzT>zaKhVk$1g_VzZ>2~vh> zts;}4k%wz?aI-H6Vj8|LAPD))yDnF43|L&Cwr*>0S7?_wthBSUD|TMGcM_V7ekC%x zRpq|f#1&XLI_lV~8!Kd=VPIe&$dlapN}-vHXnSXe=OhB{SrHgWgj6;%`VR993JFno zJL>M@^0~P=VDpK2*8DYv?Jka}0iE3)3O0GO_h{(5iC~fMwt~gR&F8SVyD(52b~Us|zn*bmm>7Q&3wvSq~5Ki+p)MceFAn44)Kg z7pApFt|Kk&GtVC<`jNd_XB@?UrNL9ly_27vtJr(#UEJrkRaI+wv?z_6-r9=-t=vM5 zYyQuk-M@y0sEw(J#Z0Qebcn0A2;UDsRTx%obO>XF;HZ``F*8q|CuQ&r<5+7?#Eqg+ zHoIN!Gg=e1R4#&Iw$k`IeLlo5Ihi4GAHu1clX&Kui*=TGse9HZ{m6<`WTER7PVq-e zrL^NOAoyR1$vg(Fv|`I;uH5|K#@77Wxv*tG_rgo>C>tz%j9LjeU|!s=zTYw165uAX zM&5v{DA$!;^v$!$;LUAv*c(Lndh467197F-#W7muTl-l=<5Pl!d2X2{Y>cFIdph^c zPP3&zy747~{=kLfu>Z@fe1t6jvBNJ&0m$;(f-RkIZHjU8^O?1F37E4h66u%dz9@v5 z>AVGkNX64r+)%A!wmS#2Sg~|(?cMsiLu(ALZ&+S!o^C~CXsF_1A@i+Zvya}V-%TgF z^I7&45HtutadhTC`BAuSjrqb2>xnK3J7f+yf)v&h3%3AWxE4lh^!9f!5&Bet8zSGQ zr!5AGQ8e5J-r~FSMFeBmknbw7P_H`JnF~}qT~}APGc9qL1;Q6K{LXPQFHZ2m%h{gX zoGg`B*-EL>U~bW#U?g*QZP9I~j|pevVQLQ1X2kU3I=R|qoX!c|=G}AoHF=SdXZOcQ zyuKt~e{z^v03o)>D>8i8p$OVz2@sbzG_uCaXeA` zXc!`v0Ty2O>65Apqy*K;+MTPd9?oa>g`sM#O=M?00M=FMYM%&&=Jh0}`10`bM!k4( z*~VtcuGeF&RbX{>Rki8ZToh0s|Rb5@p z6L+}zK=c0nekb{GRmpaK~$Lpn^m(N>36V>1zb&Q1MP2$K)|QQ#+1hP6FWMT zyR%e$A1E5?fSgYvwjN4ANQjxu$-g@%aTSW=+4WkJH$li=8hGD0IziM``TF(iflp{Y za1j9lByHLj|FtJqdvanz5{-^cz7x&4y1e{lV`1Ux`-M4Le#=ZigDhHJaMQreBM;V+4$XdiN%8mh zH>ezC0PH6GEH!l_73Y96X105EZLJeMMdh zmflX&0o;$;9jMuxgcWM#PI3|w6X%wewHhs75$Rf`9}!YXRJ5tN;rc>0oW+;%Qh!wm z%L=?CAlQUOU}*DGf5|``Tt2+(D!VRbuJpbh4z6Hts3%FLcGY|#{YZ|?1)oyA*QuBC zH%-#!xa=*%-L}v6mU|F#dc5M@roR&&yBiew>a9}HpukTml=HQL1ok1Nr|I+O&|#B^ zTQ9Q4AKCCXS~vHecUQ;4;Tv{Fk!F?YdFZOyH{I0D{SOC+=HILD=BS+uxJgDv1{kN` ztP9^=U6NChswN^uS@nx^T>fg~mqS^)F=nr4U2ZJf^p|BYBQk#jWNy;owP+e;joVj) z7AvAs*ys3BYgavhRS6H0A0c5$>g}6oPvg<#-J4GE$ZikLT<-`j(e~n1{dHJLd{oyO7{p zGjkP75m&i%zh&RV+dZJ$p&zjpYglm0~I{<;HJVjVHp|E#oru|Qim z0O^^|S3nOSdn?7o#B>3i-rZar#!N=*@lZi=&~s&8dhY=FdNtV`J@>saf-=u*dosGa z$W#HF&&NJKHSf*4m@4GQMgg%ky-I$V|ITS48&H1DYtQX^FN(S-0!r20mLTG|yHLh^ zt{n||?|Oil<*BQ$Z)$GN`RI7(`8B2XL@~$lPp7Sh->CuaMpVzs0LgR%RIRD4?RmfD zU2E$+WfheY*EJKz#i5u7E+=szYHYl`Du+A0HO1D$!k5_CEVh=%+;(POQTsrkh;ASk zIW`NmflhLm@8kAiL_ic>`!y4r+IE(fZa4r@v{Z9gO;j7ove5TN(s}5?sR^OeOHioo z)m>#3%=&z^Q5oLt@X{(_`S$u6+tz#!V7ME==P+PeKtzQFUl4lv{kxGg3j(sdJHcz( zL@~RdemUga2#8nx&K6_{N_vPqh+d+4sCV??TI)cWO;YvF?A55q$V>pn=6wZ>lH?4K zEe{}h(d@UQ!NcYQ$R6dL47FdcgT*oM*vF$S;eUtkOalNK3WJspshZ&$ux%1v9 z?m00dAhwcZbiEUo1b-c!zc|>L2cEsBlLDlqzbcd;TwKYkvh7GZ}Uq4Q1^i#3OyCm)1| zhhN>S1*ZY%f*?S0zt3p$9?Cx&y_gKt^z#Z!pcp`Y6@c1>=hqx)iMeldd7q~EJ~^2V za)e&a-P{h4BU%LI3ym7dCnqPf01XdMlTQ#PV_b&`Y{G7RDIxqz z9e`>~E-mGA8`gtdtpSun`eOC&B8{^<`#xQ$K2yVP&s6pfd9EJz>nZ)`4iTQx*K0hKz7n|Dl9sX1pdXiZU|(i5?r8J`b33y0JV6 z_3iy5tupI`3ujKH3L-a1&KMi-Czp+SYIA56D}u-c$NCeOe8=kDBD?mtkPE*U8qa&edW`R{UQmv)s}4R+=0NdW5itj1&DG>)X~ zPD21MpV4R1?tDGH^z`(?!3Fq+TBeNH3HHmEzucntNV`Sn>dpMIF+(=yC7qa?S)D)S zz#BtfI*)ZFxp=`a{rDfxwXKx^k%GH#Sb{a(2HRI75{v5~@M?f00L6w6>!n2Zz ziK&V1&BRU+6&!&rBMFQ?OifE;0ZRb1uFV4{GCuwq3qzCtIH{T08=X5tim0Zau4) zU_e-j45b$oaETpkOb{}$dhNtyMaGtQxzqb$?w@W5?vrNLtU)OL1r^_!xkFPeiw$nYdDd-y70$Jf+b z-G#O?zfEnQ~gwYnkh8#u@X_9~GMuEL-a^IBJQfW7bd7a?Ux#gwaB$Y$7=!WCh zdJzIzv${bQsu^L~3kTtgIbMk#x&<~eN(DVOBX?76Mq$;9KjE1*q`-ek%q3Q?>CLpo zN+5X_Uu0?;IZ?#SmTQ;ZgR4LhY#fc@F2HMp=y8TYMev^reO$WGr6RD6B`+7UWO)e|G$y{{FUmB7|Jw0M>&;UB$sgTF}a|P*+g0h%0M7$v*&RI| zP5F;?Fd!I?7e~rKdOR`k!LJnqE5BBJG-u$3P!SQ=)wB_}ISy>@baizl8ejJ)DluuL zu^K8@;*Sfuo~`KQR2obtre%1zm-vt{hv|m0?BRZ)3B2=pnN3u&bUT~)N5Ss*Gev`r zbGfykNXeD}#4R|?NnQtUL0W4Sl((HNPkA9x+MD1!lJ)W>6UZT;RE-2>Op^<2y9c{V zj({8F02aHmTub755;yU*nsboHz-2gGZLrLy_tA+{SOCMO6`~22>-wz5CZ4Y@ia7lM zWshDo^u&6{9T<0D1W1NvAd$ik9#H_NSl3nDE6^%2zk~$(R`K@jX8iw+WWuf}L zdO;$4^ypFGxRHYRcG^i2y4PR~at6|r*rPE^tvW#&k-E0=p69l)*v^ks89BLburTUR ze&WLihb1fa8ZcK&H;A_SiKCHzwd3g!ze}CZN;UtA&;pSx`)myB?ob zEET)bC9%HR49fw;2p3-}Go!JkMKy#@jL&n=MGVuWLZplb?j%Y)_uW7amJJcxc)_Vx z-EvvJ!0?VA0RiW1QMl~buY_C+yWqv@YS4s#=e9yO0I({i{^s|4~UfO zgq;^(gIk@+sVN>GiY>g@_1i5;k#TW3Lqj^0=gwu9mupP7C*_Bg`F0lAxOfZR95h~8 z`P>mRWR%d3f8HUvEv!D^@XKC4ucB4y1obh&tdlN9rEoot+A*nmdcjcg(+eT^Di{;<=Dc1Gh_? zb#+CCV~aqby2{h#I8Q6GYn4!f_d{m{kE4|?E#T?X)y++HppQ!QYfplUAfI=^9@Fi9 zQ41|m&%D-~u7OH^;lRyX&7fop?ve7}098-r^Pz03Uc__UNYk4oYiYSwD%0Q7Wm?wt zM%6ySO)lTPJ#tEZO|&rguDS;XSl9e(#0b_PM6DhNN+2P{?(? zqCZJ%PD@#L8>ANO88g2id#7_NEF`C(0KpoOviyt-T#wjJ|M=vQ^fTRbMBSRg_I-vw zb}Q94xBGk}W|H1OrRe~iBs_3;$I`tO{j_hhevHN2{22vB_H9(AXzN}lMC}r|6xu3) z{X{&(F^C?44?gJ;HUjVgGr$5Sc*Mc|iJ}0}j$dLC>9{Ah3ELBjgGF7?6AcbF^ym?R zJ~9m+k8uq=9^)E-xnHIMq8+{b@8kU^qofSzW25+_zl?(K0nq=k2r`_b;s3{Yzg7mt zIbIp4EF4cC)U=ML4{8K|`ko2*ugCknh`%<30aJ3;?q z+p!ziE7(`^3E}!wLHtGO;7Et8Zpuoq=fpoMKcYyeRQNnR|b8uBGweHotbZuQp}#?~6s#B)ycufwJgV zY$3H^OhKU=Pw1(#Uuds2joYjF)hhmEc=d|t03gB5a|!XLCnr5pZan<+H6fU$nk_m` zE)eYTw|f7;z(_p=`a-Wu*jo@Nj~|~UBm1BT&Pu$^2m3piH^X->Nn|Nzfr{SG@)i1z zOF}od9zM<7yGZrK?N7&7gy7g^x~VG&elr#Tqdhyu=_6hS~hQ0ZN2R0NC&C@8&12}KA25(piU5p)1i5Rf8KK^Ub( zdM64?cb|Qp{p{!P;F_iy9qn;i zDk>^E_~lF5R8)Jh;G6BI1K`PnodRX>BiQqXK1SOd%jM*PvbJ+TaA7>05L^g%J8LQ` z_nw;%>**>*f4Ve(H{x+93D>%| zZ~UMSakF^*P!ZLpunZkQ6Sg1a0r zfJ9)-x!jQsj%Yb|Mefgb<-qUIV-aqy&s{L~iro4d*SM5XE(k73VM$?8Ar*H!H*szy zS}p|_D{DFJOR8T@fWH*EZ7~=pIS~;o7AuUE5JtJ!h=|F`%8H1Ji-?O0fgVC=4@Zo- zyO1NA2Qu-+#w7&W(#6gRV~29&f^3>wpj#K2S3;wX~i2mvX;0_U}MMO+k zROH9*7(46#raRQ~y*o5m?wXxD!a@I%9TMS)21`)nmX;9vZ0vih!4Iuc60)CLAxm;_ zq`3`3&&~>C`+eB=hRX;$8(Z)ue;T6YVut`efZkS-TZ~%-@}$UDSAv}p`D1G!|NP&7 z{WHnm^6@|J`o~>=%L9L_^FPt`kGuYs2mV&)f1>L@%U!hJ$sNKGFgh%tZaaH1)PVNw zLtlj7_z8S@|73Naii(R0e(Ayu_nz5)4@~5}7jr{c{+}*XJ~(0>{L3+w9D2p3++#PU z^wSj$uf@B{vMV0@aF9R#+V9BH;mn)8y}fd6XM09&>`(bk7bWogr%>dP>kk6=?YnfH zt9zXxQs7=f>y>klMm;(#(z6H!x}ClFZo=*?3U%m%MJ5XsmEo_yFj7(7m#3ntJV8Y@ zOixASOhd&rM@4l6uqv)IOt-uOf)SY-q9Htrz(UMp;8qtVNGt-xaO!k}DattcZ&14W;V?aYaQ%W7Tq) zPmfI8x=(4rb}^=&ldl@$WJD1xpu!s%MlN*9KeV;z&Q5#Qz?b`L^ z+S>p-g)TH{E!WjfM4rI*i5+4VZpbfN6$*GHKUctGQtZ~4PuN9Tf-Q=T1FtB#JlchEva96eYb$RBaeq(j>{`Q)qs47T!;w$aMid)afHL8?{X8(1a;1l zxxxUZj5lx2uDZGkC_d(g$Aw?KZEvq*VuCz95wN`H%R$-TY|lrLp6K03ay}+=OY&%h zV}DU$O4H_`H}IPzzn-a=a>DN-^;seci84nc7F`jnvbRJ0;~AQ0Y%h2}-)s1wGg-57 z!CYB9pPYD9J3K*g%WCv@vFGa+WJ7@))uEcCqSjf+IkcR z4z9y_Impe(YJp4+WlZmvU!JSAB;ulYSzX=<7!Z)C#Pf#+)k9uHPPU*8Z2gM^{x8t%+u$GZ^bagqgbg;zkQxTx2P~7f=kZG$#q(uxiD61| zjQpCCx&jNe{5Y$wx8^aT=H;|uuYOEjio={o_5xV_v7H zH-^d#6toZp4RcP@aJb(})`*Kj`EB>A+7FrfthUFyb{Kff6;5O|O82HYIrQY%#Yoxf zHpxz~EAP24-=Q*66*Z#*r#sqW4mY7jQs0l7}WO13qF74$U* zHqRmp(GwXM@Ar52Pm&0J4`s($EcZxC3`8MM(ZhBYuEt3V(QtY%oDHLl%MfaDl${A< zY`<&O?fuf9^kef$zVgw=F7OT`RB7ZxKMwC;CLwXAI|Y^|Hw+D9!^3Yf4eVNdzZShDou)YMV~CRfI;?bVl*`2WB%#mOBNBg#{p(C2X6YugsH3 zEWGfH!tvOW&G9&o^?vMfJKk3+h~4Efz$jZ5DrYsc6L>noOxRG7?z$D=@b>+I7$qOi zhX5D)e79$-?8X47E?01pMbQ&YjY;r`!+V<#Z=ByBBWb7o+lS#Lg5RvYS^a)y<3}fz z16hJf)(5=KFa=Mxy^atAIl+>V_zr-Sr^adNpJvXAY;TmTvQ(xh=NlE4{thl ztZ=F5WA{rfT%XT+f46O7D0vPh@452H0Sr)e@SmuB#eB7Cr|=lu+?k^UaV?|75u+M< zJW?pX&t;S7I@c!~ZRYD?>M<6XgCZ$av!k!B^&KsI zPCP2@Z5QQ*Wx?mIUvm@I|M7Bq!>bg{CSSIrdLEj8K*q3U--Sa%$Zn?OFNkqw zHh0O$7I}p>#)xvAPs2yl#8X&8SKzuts>V1m{jy#4TB-v77dUxVS9iq{glcTu#Vai@ zOmG;%WubHFDnWU4@F5;$z*Axq%Y3$zOI~t^eu#at)A*q{(4r+<4R?5eBBq?n*UQV$ zC;n+Zfw8~H72Qt%e82N%^8TWw9=4@RJ_b=zOnUCWaGL2wJx;7*sgWIu2dP_b0` zBok7~!x)Vr;%y>FJF~AW?X+;PqNj=3NP_Qy+aD$>e`PpSh#prfv>&f-I(UbvE(Kv! zFf}#ByO_rY5054(C`BYIJ))n@s~OzoXG@A)wllDe=|gvxKaeBqMkmyJKR@t%|1ulL zpIFqtAOR4Q`1j=MFMQ)W909=S>U#PyQElQLv#I{jBBDNOtj8YT`20eE%YerOVyOIH z)mHdi$#PSl*L-QJf;6%x$Jl%EgQ_7NpbN%TA*|WumJ-$tHIpg0gwnMh0gyFUu1v_> zmw&F}3DStm=wmhOjfEj_mbPfCo8+d`pg@(~`jog_Cx9P)9zcI3Q(v+NW)3Ej1;Ovq zAXYuPPN3{wxxO1m+Trt>E41-l%f_)ztLqnG?8qZ9G7mKkeFHF(U!Ez^bdCqvo7ec( zydrBTkj;AVoxjI)dVYv%>c^^m&0B(7&rj~If5N>Fps`6!&odm-Mxy<-s^zxJ=K)9(skn`x2F znUWGVO$}X{maQNdk3B5iS*kxHAW$z{JQL3Q8MrFw;pvf)+T7@{616 zFUDiMA*csnbby}SHce!*8b)>|Z&bsqQ=YjQPIgV0uWtrNssuB=(!wdJCbm0`(Hp)7 zknbKDMgS-TAV}xR6*9%1AZ${Ul$=~;tML{U?ocokc)&1V+jnjx4Avx8%^s2XQ113- z@G)CD<3eiPYlenJExWFCbaV!&($x^<>_w1qM&(JHnoJ_5@ql17a)BLQodTR{ydfsy zm3lNFpKCMSlO5@C&bCayeX!6xH}or@LHuEgYx)52ZXE?w$#WJs_Kc8FV}zDc3@?;s zpj>nz-~elo^$^H&MCdu7Z07*YdwjvxwGT~`ezh@8da^n1WVdyDwY=NR(_rDE)BN#H z7a?HYneZdqJd~UIePz0n=uWu(6ob{`Ym_?!7k^92Nh9Uu`&sX~K?esWBycHzen{@HuDi18({~ zGixR*i)P|BLyYk7#=4+njoQFQN74iJBAY&*F!_T+hf0JF2^oV#G&Mb?-IMxuN#suW z#i?ngafS#-4FEYItEbu;Zbz(73uqTz*tRa6H(I5n7|a#W50230Aa{$?)kBTA0gO+{Tl?A zt=(g)q&fRM(j7U~c9>I|7d;KTa`MzYCk2HQ13)iN+&-NIMQI6mxb+2Q)b1LRE<@EQj_gxTZ zeKnDV5k#w1#r838m-mdyDEz53{GUNJR5kyFQ2s~}zt)#O*4AHp|CLbw`>gPFD#NU* zs;YQ^fU?UC5_%rq0N7-w)3UROO53BKsT7!?<0k%UOjH29+-U$Tme$0C(w4s(5=hncn7zKd zQ>*T}#tUGnM)~tYo9_S2qpho(*OEDnCny1nHS+T%5!D=Cf`DpCv7}W1L>eSWg3Qy_ z)|Ql%#JfB}B#zcbEZ6XaS>^Y;NzkVSeCdK7Z`c{-ht-1Y5Pgu5&uU@tec?=2{bA~1 z`a9#l>!fH3lpHG_c_=>)$hG8Q=(VJzvU`%OJN$ftnv}L@BDUuVun!hu@TCR`q7{Hw zagMY^fI`i*8Zip8(Iyz3sp+%fykR6a?Tq8Ai8skJh-i~2e`=a>d$Vmr={~25hNogY zjC@x`xgq0`Z;LnLTeHkIho7uD;&|-@JI3xxXf-W7?woj{qiHZSL0F2!Th%=|vpK>^ zc?wc5qSFMcQT^})-9fNm*Y}|K^F8i%uY9Tc3T^EjP0q3EM0|aL8i&~=ZnF7>a@k@i ziiII|&wAgU9By!|U*l7aPR>LTdPL47<>k4(5)nJ_C0g!Cr32=92LJnIOXo35x(`W4 z`HrvC(jT9lB9^MDJEQzw#I}wR}2)>G~kfbEsa@8*-rP_x}Gv zIW}BGjQq>-_Xj(xc)vzSia4bnHTsU4p&_Gq?)DSDl{Ou% zvGn`_L-IP_drV*xR1tPh`PLSzIc>I9CST+6M36*KkNC12x>E>2DIm8X^Sb$z0}sRF zq!U`s_ob`$DQ*k~2q>)ep@|5>?iwRjV^qs;OXt90mPf5xFhv9c(d|dsMOUA|j)LHl z)MP9qZ%t?4dVhCiu3sJw6&Jr1^SM!W*C#-LThwuHwh)tb{&c^s(>K0? z0j2=k`WPne*jJzcW;=6~_Q1uym_b};9cCvjfE-hGPGc05JB?8Ky`HEl zJ{dBFrjyJ|d13jhfi2eDBtkHOM;24lpj=I^ui;uOC?#3iyK%D^BzJC2N zuuAL^6{l!>l2Np-F*^(bPWV*t~2?S9s#nl_( zTJ!dTfG@mM2@auN%$vE*Chz7Dc$hUD(3>t64cqQ41aL1z)gXyVQd-&?l%8Npu*O>8 z6$#&+4R&mwbBvg!s&K*J-U>f|hT0SjMd&`v^?XP@VEx~kn9W`6aEwb|YYHqwTw zbgx5pyi45~a2Sn!Up;8YHaG`a4U~9zY>q`ki-+C_Le;~--x9#zPa-1`fKZ95GR6TS zzJyl-Z_g@v>wL22v!Wdig;-q`6%|0x9PabABw|m_m+C=U9xrYnZhI(*(>j1oT2xa< z$v^T*5`aQkAoxgNJ~cb!w(F|;yBn?HbZ_2_I`lyp{2M=7xFC`^aIQ1q~9P{bgh~&pI1frJ1 zYvxIWrra5zJQAT|R!eD<7nI%i{bO&Dcs)K5iB_uZmW6<Qr=N4iveth-F zujWZ@goI1wz1NhPNO!=u9EwLeTT=D#@t#w!58NL1k&leF$rj45wa1r6K`=3GM)4Fb zSt!TMbbZuM&0PGz%#Pbc!|Lv;a8B&*SI_#$7iYcPC_{Wt!x^umrPv<*E@QlmM_5j1 zd1^o_{0VkIkSz*Z&xR^_ER@&9t!M0fZ+li3O{y1Bl6OT9sE3zO-nSfMib(U=i9uE0*0Mt{9{1S6!EC#SxzeQ76VN+jw;>OpUulFtiN>XL`&5mGG@j%apYXdbppA-XLh!EamV6uPU zcvo~XcIV^zC<9}M)&z%Z%tjsjfZfzGwkd3BMLn7yuK9%)s@h##0UIU@F#m5DivsGA0s-e)_?-sWx6 z5n`3-N=~$l3E+I~w-T|)XY)9Zd~1$L`ho(gWg`pACE;%jo{4#~)Li1oM6w z`|KSfWc~BU=PBsFkKLC5S%;SQb&Ai+`#hF^0a(8;|9y%-kNsb38K(d5=J|UqfIa(n z#x^7<$`iKQ@k`Ch3^Td%*ZzL zIB?A%3xL!L(r+EgHpdIcqKpo=UMgBWYc<|L7zMew_K--)BV~G7UYUMOgn4Wi$e>UH z_PoA#nBHG)+pRwv4B>-cQCDwGR0|U{$f^|8ux-_lF(BhQ&HQ%3g}{f?8Z+RgrU_(@ z1Z4)rHWnz%yd9TDYdwGvf*yXre?0L)zxQ&Z>{^$lgvZk8VK(UoE{#u<{1jC3)tGPr zd`ZifF>^#eGMZjt;hizMQK}m-=EE(O<3t>e0k$Iwi6YBH7$9veZv|O>=NMc7M%$FG zc1ZjLg$P_6Q2H4le#?$M(QyGP^>HgY7BP!URiSLrkZ3g;q16QLK`fr|Ei@$7XW4#K z+uWV^!vQii2AlwQb#(=$h8Zgj2v5B0Std4g<ug`?KI$EuwZ79CZG*1gRN(w8BV>XZ|^^0uiatT71>l5zsa~Xw-dt( z_y~C=1$GKfd+(y#fQJordUC7*QroEY>BD7QeTUI{Jt!$~Kl7+s1)XratfF!c%6m;F zy`v45#G2$2Zd&0X$ED5!RlflUXpUUqfR}VY`ow1av~ep+ z7WF0;Rw}Az=7-LkCc(zW#=0G{8$$cKse zsNFi|l$Gpvw%;}1V)AZi&Ve%H%7ybYsVPcL}?#zdtXEr3n4^q-(L)tLtDrB2{% zi+&osmSkLFf10nq$gT0cSD08^bgswJCoR>K%ng5^&Z;tS&2*c_uR;->AmzC_yfwkE6RZNRdgTzv6V zDY8`DrHw@^1mqS3b3!zbdw6lC*R$|Iv+;jtl=u*~m9S%8zBSpGD9mUkTgzpC9>iq0 zdunsp+YWGhFfGWLrLTP4Gg$-9ET48VGBUEfqKs?q{NSFicn*Or1Y}}}ckxtI)NRoJ z0svSAfd9Q01YKWx{iOw@g31#Bl8<1y7C_qY2RQ9a1AzYXrtSG^;ICtkK&jwsw?B=A z41g@~_%i;(^Rb5e2?7n1nCi>gnUc-(~h~4#l%pCOEimf$Te1#v4qZYMP*G9vca3*u8iJ)P~O&HE%cv!e_Bv zCy_nw=`>t(cdUPQ58`yX5$I5Q%cIN3(ZEs+y2JpYg3QtLhlUd5ZHJVMS1#1`_!Ve( zo%-?47Q}>P93?UOXb1?sJ5kTSDheZK9pBkP$IMk7+!((A`_^o1>@iE{@v=;?zU-Pi z-3Kec?|?LC$pv`kH{tFZvs;=xRtz|t6?Dd^f!Xn?Wd<#G0VYV9dixMfJn|**Daszi5f-aGlBl=P|9rz$G%sabymj}#0GeuWEC2ui diff --git a/doc/coloring/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst index 62603cb548f..edf7dc65d55 100644 --- a/doc/coloring/pgr_bipartite.rst +++ b/doc/coloring/pgr_bipartite.rst @@ -102,12 +102,14 @@ Result Columns Additional Examples ------------------------------------------------------------------------------------------ -:Example: The odd length cyclic graph can not be bipartite, The following edge will make odd length cyclic graph with 5 veritices: +:Example: The odd length cyclic graph can not be bipartite. +Adding the edge (1,7) will make odd length cyclic graph with 5 veritices, as follows: .. literalinclude:: doc-bipartite.queries :start-after: --q2 :end-before: --q3 - + +The new graph is not bipartite because it has a odd length cycle of 5 vertices. Edges in blue represent odd length cycle. .. image:: images/bipartite.png :scale: 60% From 92ebe7017672c2abc1fb62eca7b0badc737eff2e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 21 Aug 2020 20:17:31 +0530 Subject: [PATCH 0873/1360] Modified doc --- doc/coloring/pgr_bipartite.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/coloring/pgr_bipartite.rst b/doc/coloring/pgr_bipartite.rst index edf7dc65d55..7ae89eb7de5 100644 --- a/doc/coloring/pgr_bipartite.rst +++ b/doc/coloring/pgr_bipartite.rst @@ -99,11 +99,13 @@ Result Columns :end-before: result columns end -Additional Examples +Additional Example ------------------------------------------------------------------------------------------ :Example: The odd length cyclic graph can not be bipartite. -Adding the edge (1,7) will make odd length cyclic graph with 5 veritices, as follows: + +The following edge will make subgraph with vertices {1, 2, 5, 7, 8} an odd length cyclic graph. + .. literalinclude:: doc-bipartite.queries :start-after: --q2 From e2ed8323b56081fba7e0f780dc8f9e32ef184ab9 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 21 Aug 2020 21:45:18 +0530 Subject: [PATCH 0874/1360] Modified result column --- sql/dominator/lengauerTarjanDominatorTree.sql | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/sql/dominator/lengauerTarjanDominatorTree.sql b/sql/dominator/lengauerTarjanDominatorTree.sql index a04ee55c44f..19ad17c3c1b 100644 --- a/sql/dominator/lengauerTarjanDominatorTree.sql +++ b/sql/dominator/lengauerTarjanDominatorTree.sql @@ -33,16 +33,12 @@ CREATE OR REPLACE FUNCTION pgr_lengauerTarjanDominatorTree( TEXT, -- edges_sql (required) root_vertex BIGINT , -- vertex (required) OUT seq integer, - OUT vid BIGINT, + OUT vertex_id BIGINT, OUT idom BIGINT ) RETURNS SETOF RECORD AS $BODY$ BEGIN - IF $2 < 1 THEN - RAISE EXCEPTION 'Negative value found on ''root_vertex''' - USING HINT = format('Value found: %s', $2); - END IF; RETURN QUERY SELECT * From e81f24edf979bdf6edad7ad58d853de8503a19a9 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 21 Aug 2020 21:46:08 +0530 Subject: [PATCH 0875/1360] modifies some tests --- pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql | 5 +++-- pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql b/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql index b331cde2325..c10cd7eca6c 100644 --- a/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql +++ b/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql @@ -1,5 +1,5 @@ \i setup.sql -SELECT plan(6); +SELECT plan(5); -- 0 edge 0 vertex tests PREPARE q1 AS @@ -79,6 +79,7 @@ WHERE id > 0',1 SELECT isnt_empty('q2', 'q2: Graph with 0 edge and 0 vertex'); -- Negative root tests +/* PREPARE q3 AS SELECT * FROM pgr_lengauerTarjanDominatorTree( @@ -86,5 +87,5 @@ FROM pgr_lengauerTarjanDominatorTree( FROM edge_table',-1 ); SELECT throws_ok('q3', 'P0001', 'Negative value found on ''root_vertex''', '3: Negative root throws'); - +*/ ROLLBACK; diff --git a/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql b/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql index 409ee97324e..9b8a89fda91 100644 --- a/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql +++ b/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql @@ -11,7 +11,7 @@ SELECT function_returns('pgr_lengauertarjandominatortree', ARRAY['text','bigint' -- parameter names SELECT bag_has( $$SELECT proargnames from pg_proc where proname = 'pgr_lengauertarjandominatortree'$$, - $$SELECT '{"","root_vertex","seq","vid","idom"}'::TEXT[] $$ + $$SELECT '{"","root_vertex","seq","vertex_id","idom"}'::TEXT[] $$ ); -- parameter types From ea3a04449febc084d2693189828cbf9b376e448b Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 21 Aug 2020 21:46:32 +0530 Subject: [PATCH 0876/1360] modifies docqueries --- .../doc-lengauerTarjanDominatorTree.result | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/docqueries/dominator/doc-lengauerTarjanDominatorTree.result b/docqueries/dominator/doc-lengauerTarjanDominatorTree.result index 408d156049f..2cffd9bfc59 100644 --- a/docqueries/dominator/doc-lengauerTarjanDominatorTree.result +++ b/docqueries/dominator/doc-lengauerTarjanDominatorTree.result @@ -7,25 +7,25 @@ SELECT * FROM pgr_lengauertarjandominatortree( $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$, 1 ); - seq | vid | idom ------+-----+------ - 1 | 1 | 0 - 2 | 2 | 1 - 3 | 3 | 4 - 4 | 4 | 9 - 5 | 5 | 2 - 6 | 6 | 5 - 7 | 7 | 8 - 8 | 8 | 5 - 9 | 9 | 5 - 10 | 10 | 5 - 11 | 11 | 5 - 12 | 12 | 5 - 13 | 13 | 10 - 14 | 14 | 0 - 15 | 15 | 0 - 16 | 16 | 0 - 17 | 17 | 0 + seq | vertex_id | idom +-----+-----------+------ + 1 | 1 | 0 + 2 | 2 | 1 + 3 | 3 | 4 + 4 | 4 | 9 + 5 | 5 | 2 + 6 | 6 | 5 + 7 | 7 | 8 + 8 | 8 | 5 + 9 | 9 | 5 + 10 | 10 | 5 + 11 | 11 | 5 + 12 | 12 | 5 + 13 | 13 | 10 + 14 | 14 | 0 + 15 | 15 | 0 + 16 | 16 | 0 + 17 | 17 | 0 (17 rows) --q2 @@ -33,25 +33,25 @@ SELECT * FROM pgr_lengauertarjandominatortree( $$SELECT id,source,target,cost,reverse_cost FROM edge_table$$, 16 ); - seq | vid | idom ------+-----+------ - 1 | 1 | 0 - 2 | 2 | 0 - 3 | 3 | 0 - 4 | 4 | 0 - 5 | 5 | 0 - 6 | 6 | 0 - 7 | 7 | 0 - 8 | 8 | 0 - 9 | 9 | 0 - 10 | 10 | 0 - 11 | 11 | 0 - 12 | 12 | 0 - 13 | 13 | 0 - 14 | 14 | 0 - 15 | 15 | 0 - 16 | 16 | 0 - 17 | 17 | 16 + seq | vertex_id | idom +-----+-----------+------ + 1 | 1 | 0 + 2 | 2 | 0 + 3 | 3 | 0 + 4 | 4 | 0 + 5 | 5 | 0 + 6 | 6 | 0 + 7 | 7 | 0 + 8 | 8 | 0 + 9 | 9 | 0 + 10 | 10 | 0 + 11 | 11 | 0 + 12 | 12 | 0 + 13 | 13 | 0 + 14 | 14 | 0 + 15 | 15 | 0 + 16 | 16 | 0 + 17 | 17 | 16 (17 rows) --q3 From be8227826755c4b374045c6944b8ce3840116504 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Fri, 21 Aug 2020 21:46:50 +0530 Subject: [PATCH 0877/1360] modified doc --- .../pgr_lengauerTarjanDominatorTree.rst | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst index ab783d41dc6..1d8110aca22 100644 --- a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst +++ b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst @@ -25,10 +25,29 @@ In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost .. rubric:: Availability +* Version 3.2.0 + + * New **experimental** function + +.. rubric:: Support + +* **Supported versions:** + current(`3.2 `__) + + + Description ------------------------------------------------------------------------------- -Lengauer Tarjan Dominator Tree algorithm is used to make dominator tree of any graph. It calculates the immidiate dominator of each vertex called idom, once idom of each vertex is calculated then by making every idom of each vertex as its parent, the dominator tree can be built. +The algorithm calculates the *immidiate dominator* of each vertex called **idom**, once **idom** of each vertex is calculated then by making every **idom** of each vertex as its parent, the dominator tree can be built. + +**The main Characteristics are:** + +- The algorithm works in directed graph only. +- The returned values are not ordered. +- The algorithm returns *idom* of each vertex. +- If the *root vertex* not present in the graph then it returns empty set. +- Running time: :math:`O((V+E)log(V+E))` Signatures ------------------------------------------------------------------------------- @@ -37,9 +56,9 @@ Signatures .. code-block:: sql - pgr_LengauerTarjanDominatorTree(edges_sql,root) - RETURNS SET OF (id,vid,idom) - + pgr_LengauerTarjanDominatorTree(Edges SQL, root) -- Experimental on v3.2 + RETURNS SET OF (seq, vertex_id, idom) + OR EMPTY SET .. index:: @@ -58,8 +77,8 @@ Parameters ============== ============ ================================================= Column Type Description ============== ============ ================================================= -**edges_sql** ``TEXT`` SQL query as described above. -**root_vid** ``BIGINT`` Identifier of the starting vertex. +**Edges SQL** ``TEXT`` SQL query as described above. +**root** ``BIGINT`` Identifier of the starting vertex. ============== ============ ================================================= @@ -73,13 +92,13 @@ Inner query Result Columns ------------------------------------------------------------------------------- -Returns set of ``(seq, vid,idom)`` +Returns set of ``(seq, vertex_id,idom)`` ============== =========== ================================================= Column Type Description ============== =========== ================================================= **seq** ``INTEGER`` Sequential value starting from **1**. -**vid** ``BIGINT`` Identifier of vertex . +**vertex_id** ``BIGINT`` Identifier of vertex . **idom** ``BIGINT`` Immediate dominator of vertex. ============== =========== ================================================= @@ -87,7 +106,7 @@ Additional Examples ------------------------------------------------------------------------------------------ The examples in this section use the following :ref:`fig1` -:Example: When the edge is disonnectd from graph then it will returns immidiate dominator of all vertex as zero except that edge: +:Example: When the edge is disonnectd from graph then it will returns immidiate dominator of all other vertex as zero. From 7bd7926be68d506855f3dad9ac9fdf3d438dee8d Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 22 Aug 2020 19:32:58 +0530 Subject: [PATCH 0878/1360] [ltdtree] Modified root to start_vid --- doc/dominator/pgr_lengauerTarjanDominatorTree.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst index 1d8110aca22..6525256aa0d 100644 --- a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst +++ b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst @@ -56,7 +56,7 @@ Signatures .. code-block:: sql - pgr_LengauerTarjanDominatorTree(Edges SQL, root) -- Experimental on v3.2 + pgr_LengauerTarjanDominatorTree(Edges SQL, start_vid) -- Experimental on v3.2 RETURNS SET OF (seq, vertex_id, idom) OR EMPTY SET @@ -78,7 +78,7 @@ Parameters Column Type Description ============== ============ ================================================= **Edges SQL** ``TEXT`` SQL query as described above. -**root** ``BIGINT`` Identifier of the starting vertex. +**start_vid** ``BIGINT`` Identifier of the starting vertex. ============== ============ ================================================= From 7217253172eeb20e2b16a7a0e7ba4adad8b210ec Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 22 Aug 2020 19:33:33 +0530 Subject: [PATCH 0879/1360] [ltdtree] Modified tests as suggested --- .../edge-cases.sql | 113 +++++++++++------- .../types_check.sql | 2 +- 2 files changed, 68 insertions(+), 47 deletions(-) diff --git a/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql b/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql index c10cd7eca6c..a77d264f3e3 100644 --- a/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql +++ b/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql @@ -1,91 +1,112 @@ \i setup.sql -SELECT plan(5); +SELECT plan(11); + +-- 0 edge 0 vertex test --- 0 edge 0 vertex tests PREPARE q1 AS SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id > 18; - SELECT is_empty('q1', 'q1: Graph with 0 edge and 0 vertex'); PREPARE LengauerTarjanDominatorTree_test1 AS SELECT * FROM pgr_lengauerTarjanDominatorTree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id < 0',1 +'q1',1 ); +SELECT is_empty('LengauerTarjanDominatorTree_test1', 'LengauerTarjanDominatorTree_test1: Graph with 0 edge and 0 vertex'); + + +-- single vertex test + +PREPARE q2 AS +SELECT id, source, 1 AS target, cost, reverse_cost +FROM edge_table +WHERE id = 1; + +SELECT set_eq('q2', $$VALUES (1, 1, 1, 1, 1)$$, 'q2: Graph with only vertex 1'); + PREPARE LengauerTarjanDominatorTree_test2 AS SELECT * FROM pgr_lengauerTarjanDominatorTree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id = 0',1 +'q2',1 ); +SELECT set_eq('LengauerTarjanDominatorTree_test2', $$VALUES (1, 1, 0)$$, 'LengauerTarjanDominatorTree_test2: single vertex'); + + + + +-- 2 vertices test (connected) + +PREPARE q3 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id = 1; + +SELECT set_eq('q3', $$VALUES (1, 1, 2, 1, 1)$$, 'q3: Graph with two connected vertices 1 and 2'); PREPARE LengauerTarjanDominatorTree_test3 AS SELECT * FROM pgr_lengauerTarjanDominatorTree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id > 18',1 + 'q3',1 ); -SELECT is_empty('LengauerTarjanDominatorTree_test1', 'LengauerTarjanDominatorTree_test1: Graph with 0 edge and 0 vertex'); -SELECT is_empty('LengauerTarjanDominatorTree_test2', 'LengauerTarjanDominatorTree_test2: Graph with 0 edge and 0 vertex'); -SELECT is_empty('LengauerTarjanDominatorTree_test3', 'LengauerTarjanDominatorTree_test3: Graph with 0 edge and 0 vertex'); +SELECT set_eq('LengauerTarjanDominatorTree_test3', $$VALUES (1, 1, 0),(2, 2, 1)$$, 'LengauerTarjanDominatorTree_test3: two vertices test'); ---root not present tests -/* -PREPARE LengauerTarjanDominatorTree_test4 AS -SELECT * -FROM pgr_LengauerTarjanDominatorTree_tree( -'SELECT id, source, target, cost, reverse_cost +-- 3 vertices test + +PREPARE q4 AS +SELECT id, source, target, cost, reverse_cost FROM edge_table -WHERE id > 2',1 -); +WHERE id <= 2; +SELECT set_eq('q4', $$VALUES (1, 1, 2, 1, 1), (2, 2, 3, -1, 1)$$, 'q4: Graph with three vertices 1, 2 and 3'); -PREPARE LengauerTarjanDominatorTree_test5 AS + +PREPARE LengauerTarjanDominatorTree_test4 AS SELECT * -FROM pgr_LengauerTarjanDominatorTree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id > 2',1 +FROM pgr_lengauerTarjanDominatorTree( +'q4',1 ); -SELECT is_empty('LengauerTarjanDominatorTree_test4', 'LengauerTarjanDominatorTree_test4: Root not present in the Graph'); -SELECT is_empty('LengauerTarjanDominatorTree_test5', 'LengauerTarjanDominatorTree_test5: Root not present in the Graph'); -*/ ---vertex not present in the graph tests +SELECT set_eq('LengauerTarjanDominatorTree_test4', $$VALUES (1, 1, 0),(2, 2, 1),(3, 3, 0)$$, 'LengauerTarjanDominatorTree_test3:three vertices test'); ---verify results test +-- 4 vertices test +PREPARE q5 AS +SELECT id, source, target, cost, reverse_cost +FROM edge_table +WHERE id <= 3; + +SELECT set_eq('q5', + $$VALUES + (1, 1, 2, 1, 1), + (2, 2, 3, -1, 1), + (3, 3, 4, -1, 1) + $$, + 'q5: Graph with four vertices 1, 2, 3 and 4' +); ---id constrained tests -PREPARE q2 AS +PREPARE LengauerTarjanDominatorTree_test5 AS SELECT * FROM pgr_lengauerTarjanDominatorTree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table -WHERE id > 0',1 +'q5',1 ); -SELECT isnt_empty('q2', 'q2: Graph with 0 edge and 0 vertex'); --- Negative root tests -/* -PREPARE q3 AS +SELECT set_eq('LengauerTarjanDominatorTree_test5', $$VALUES (1, 1, 0),(2, 2, 1),(3, 3, 0), (4, 4, 0)$$, 'LengauerTarjanDominatorTree_test5: four vertices test root as 1'); + + +PREPARE LengauerTarjanDominatorTree_test6 AS SELECT * FROM pgr_lengauerTarjanDominatorTree( -'SELECT id, source, target, cost, reverse_cost -FROM edge_table',-1 +'q5',4 ); -SELECT throws_ok('q3', 'P0001', 'Negative value found on ''root_vertex''', '3: Negative root throws'); -*/ + +SELECT set_eq('LengauerTarjanDominatorTree_test6', $$VALUES (1, 1, 2),(2,2,3),(3, 3, 4),(4, 4, 0)$$, 'LengauerTarjanDominatorTree_test6:four vertices test root as 4'); + ROLLBACK; diff --git a/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql b/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql index 9b8a89fda91..d7b7792d6e5 100644 --- a/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql +++ b/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql @@ -11,7 +11,7 @@ SELECT function_returns('pgr_lengauertarjandominatortree', ARRAY['text','bigint' -- parameter names SELECT bag_has( $$SELECT proargnames from pg_proc where proname = 'pgr_lengauertarjandominatortree'$$, - $$SELECT '{"","root_vertex","seq","vertex_id","idom"}'::TEXT[] $$ + $$SELECT '{"","","seq","vertex_id","idom"}'::TEXT[] $$ ); -- parameter types From 28cd8cf890b59bd3a24efb491caac52207e8dfce Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 22 Aug 2020 19:34:06 +0530 Subject: [PATCH 0880/1360] [ltdtree] Removed root_vertex --- sql/dominator/lengauerTarjanDominatorTree.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/dominator/lengauerTarjanDominatorTree.sql b/sql/dominator/lengauerTarjanDominatorTree.sql index 19ad17c3c1b..5b2e94a9210 100644 --- a/sql/dominator/lengauerTarjanDominatorTree.sql +++ b/sql/dominator/lengauerTarjanDominatorTree.sql @@ -30,8 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_lengauerTarjanDominatorTree --------------- CREATE OR REPLACE FUNCTION pgr_lengauerTarjanDominatorTree( - TEXT, -- edges_sql (required) - root_vertex BIGINT , -- vertex (required) + TEXT, -- edges_sql (required) + BIGINT, -- start_vid (required) OUT seq integer, OUT vertex_id BIGINT, OUT idom BIGINT From ee04e20dbcd5e49eeaf1c9d3f8574dba7a691060 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 22 Aug 2020 19:51:12 +0530 Subject: [PATCH 0881/1360] [ltdtree][doc] fixed link style --- doc/dominator/pgr_lengauerTarjanDominatorTree.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst index 6525256aa0d..81bd10ebe03 100644 --- a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst +++ b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst @@ -32,7 +32,7 @@ In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost .. rubric:: Support * **Supported versions:** - current(`3.2 `__) + current(`3.2 `__) @@ -117,9 +117,8 @@ The examples in this section use the following :ref:`fig1` See Also ------------------------------------------------------------------------------- -* https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm -* https://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/a%20fast%20algorithm%20for%20finding.pdf -* https://www.boost.org/doc/libs/1_64_0/libs/graph/doc/two_graphs_common_spanning_trees.html +* `Boost: lengauerTarjanDominatorTree algorithm documentation `__ +* `Wikipedia: dominator tree `__ * :doc:`sampledata` network. .. rubric:: Indices and tables From 052764e33a381490c67af68f27c25b3af482c675 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sat, 22 Aug 2020 20:00:10 +0530 Subject: [PATCH 0882/1360] [ltdtree][doc] fixed broken link --- doc/conf.py.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.py.in b/doc/conf.py.in index b7b54f76d85..afd4489f3b9 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -302,7 +302,7 @@ linkcheck_ignore = [ # (see: https://github.com/sphinx-doc/sphinx/issues/7388) "https://github.com/pgRouting/pgrouting/issues/*", # limit only pgrouting "https://docs.pgrouting.org/3.2/en/pgr_bipartite.html", - "https://docs.pgrouting.org/3.2/en/pgr_LengauerTarjanDominatorTree.html", + "https://docs.pgrouting.org/3.2/en/pgr_lengauerTarjanDominatorTree.html", ] linkcheck_timeout = 20 From a1db1c169de5375296329c1318eae942018fa9d0 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 23 Aug 2020 10:59:05 +0530 Subject: [PATCH 0883/1360] [ltdtree][doc] fixed typo --- doc/dominator/pgr_lengauerTarjanDominatorTree.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst index 81bd10ebe03..519cd71276c 100644 --- a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst +++ b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst @@ -8,10 +8,10 @@ Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ **************************************************************************** -pgr_LengauerTarjanDominatorTree -Experimental +pgr_lengauerTarjanDominatorTree -Experimental =============================================================================== -``pgr_LengauerTarjanDominatorTree`` — Returns the immediate dominator of all vertices. +``pgr_lengauerTarjanDominatorTree`` — Returns the immediate dominator of all vertices. In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg @@ -56,16 +56,16 @@ Signatures .. code-block:: sql - pgr_LengauerTarjanDominatorTree(Edges SQL, start_vid) -- Experimental on v3.2 + pgr_lengauerTarjanDominatorTree(Edges SQL, start_vid) -- Experimental on v3.2 RETURNS SET OF (seq, vertex_id, idom) OR EMPTY SET .. index:: - single: pgr_LengauerTarjanDominatorTree + single: pgr_lengauerTarjanDominatorTree -:Example: The lengauer_tarjan_dominator_tree with root vertex :math:`1` +:Example: The lengauerTarjanDominatorTree with root vertex :math:`1` .. literalinclude:: doc-lengauerTarjanDominatorTree.queries :start-after: --q1 From e91512f408815248ecde412c869ab14f66ac3d8f Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 23 Aug 2020 11:07:19 +0530 Subject: [PATCH 0884/1360] [ltdtree][doc] fixed description --- doc/dominator/pgr_lengauerTarjanDominatorTree.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst index 519cd71276c..44cf1b4b709 100644 --- a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst +++ b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst @@ -12,7 +12,6 @@ pgr_lengauerTarjanDominatorTree -Experimental =============================================================================== ``pgr_lengauerTarjanDominatorTree`` — Returns the immediate dominator of all vertices. -In particular, the Lengauer Tarjan Dominator Tree algorithm implemented by Boost.Graph. .. figure:: images/boost-inside.jpeg :target: https://www.boost.org/doc/libs/1_50_0/libs/graph/doc/lengauer_tarjan_dominator.htm From 7952d09b7b6af033ce03740eba4e510bb13a3fb8 Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Sun, 23 Aug 2020 19:47:02 +0530 Subject: [PATCH 0885/1360] [ltdtree][doc] fixed typo --- doc/dominator/pgr_lengauerTarjanDominatorTree.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst index 44cf1b4b709..3a8ef9c1c24 100644 --- a/doc/dominator/pgr_lengauerTarjanDominatorTree.rst +++ b/doc/dominator/pgr_lengauerTarjanDominatorTree.rst @@ -55,7 +55,7 @@ Signatures .. code-block:: sql - pgr_lengauerTarjanDominatorTree(Edges SQL, start_vid) -- Experimental on v3.2 + pgr_lengauerTarjanDominatorTree(Edges SQL, root vertex) -- Experimental on v3.2 RETURNS SET OF (seq, vertex_id, idom) OR EMPTY SET @@ -73,12 +73,12 @@ Signatures Parameters ------------------------------------------------------------------------------- -============== ============ ================================================= -Column Type Description -============== ============ ================================================= -**Edges SQL** ``TEXT`` SQL query as described above. -**start_vid** ``BIGINT`` Identifier of the starting vertex. -============== ============ ================================================= +=============== ============ ================================================= +Column Type Description +=============== ============ ================================================= +**Edges SQL** ``TEXT`` SQL query as described above. +**root vertex** ``BIGINT`` Identifier of the starting vertex. +=============== ============ ================================================= Inner query From 366eeda128b7e7739f358568f6f20efe37e50d0e Mon Sep 17 00:00:00 2001 From: prakashupes <85prakash2017@gmail.com> Date: Tue, 25 Aug 2020 00:01:56 +0530 Subject: [PATCH 0886/1360] Removed the links from linkcheck_ignore --- doc/conf.py.in | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/conf.py.in b/doc/conf.py.in index afd4489f3b9..876046a23ad 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -301,8 +301,6 @@ linkcheck_ignore = [ # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected # (see: https://github.com/sphinx-doc/sphinx/issues/7388) "https://github.com/pgRouting/pgrouting/issues/*", # limit only pgrouting - "https://docs.pgrouting.org/3.2/en/pgr_bipartite.html", - "https://docs.pgrouting.org/3.2/en/pgr_lengauerTarjanDominatorTree.html", ] linkcheck_timeout = 20 From 84597494270e7e5c433a658c4fdf6ac78ffce71d Mon Sep 17 00:00:00 2001 From: cvvergara Date: Thu, 1 Oct 2020 16:14:48 -0500 Subject: [PATCH 0887/1360] adding postres 13 --- .github/workflows/ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 5ebcbf4c4d2..3204ddba3a1 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - psql: [9.5,9.6,10,11,12] + psql: [9.5,9.6,10,11,12, 13] postgis: [2.5,3] os: [ubuntu-latest] From 40a97e96b5acbdba93716b0110efffad5389f585 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 7 Oct 2020 20:55:40 +0530 Subject: [PATCH 0888/1360] Updated v3.2.0 release notes * Added pgr_depthFirstSearch * Added pgr_sequentialVertexColoring Updated the NEWS file --- NEWS | 5 ++++- doc/src/release_notes.rst | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 29cd6016984..7ad1675c0fc 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,10 @@ pgRouting 3.2.0 Release Notes ------------------------------------------------------------------------------- -No Changes Yet +*New experimental functions* + +* pgr_depthFirstSearch +* pgr_sequentialVertexColoring pgRouting 3.1.0 Release Notes diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 507865b839c..d2db1c22862 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -57,7 +57,10 @@ To see the full list of changes check the list of `Git commits Date: Thu, 8 Oct 2020 00:42:39 +0530 Subject: [PATCH 0889/1360] Modified release_notes.rst and NEWS --- NEWS | 2 ++ doc/src/release_notes.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 7ad1675c0fc..286e981869c 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ pgRouting 3.2.0 Release Notes *New experimental functions* * pgr_depthFirstSearch +* pgr_isPlanar +* pgr_makeConnected * pgr_sequentialVertexColoring diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index d2db1c22862..9a50b9ecf64 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -60,6 +60,8 @@ pgRouting 3.2.0 Release Notes .. rubric:: New experimental functions * pgr_depthFirstSearch +* pgr_isPlanar +* pgr_makeConnected * pgr_sequentialVertexColoring .. _changelog_3_1_0: From a4f19c6aa98be107cd4153bb1a604c8186285a1f Mon Sep 17 00:00:00 2001 From: cvvergara Date: Thu, 8 Oct 2020 10:00:41 -0500 Subject: [PATCH 0890/1360] issue 1624 Fix: Postgres default version changed for testing --- .github/workflows/check-queries.yml | 50 +++++----- .github/workflows/doc-check.yml | 99 +++++++++++++++++++ .github/workflows/documentation.yml | 50 ++++------ .github/workflows/linkcheck-es.yml | 65 ------------ .github/workflows/ubuntu.yml | 21 ++-- .../pending-tests}/innerQuery.sql | 0 6 files changed, 155 insertions(+), 130 deletions(-) create mode 100644 .github/workflows/doc-check.yml delete mode 100644 .github/workflows/linkcheck-es.yml rename {pgtap/chinese/chinesePostman => tools/pending-tests}/innerQuery.sql (100%) diff --git a/.github/workflows/check-queries.yml b/.github/workflows/check-queries.yml index fe95ab7db78..70ab9ce5570 100644 --- a/.github/workflows/check-queries.yml +++ b/.github/workflows/check-queries.yml @@ -1,4 +1,7 @@ name: Check queries +# using +# - the installed version on actions +# - the latest postgis version on: push: @@ -12,16 +15,23 @@ on: jobs: build: name: Build - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest + strategy: fail-fast: false - matrix: - psql: [12] - postgis: [3] - os: [ubuntu-latest] steps: + - uses: actions/checkout@v2 + + - name: get postgres version + run: | + sudo service postgresql start + PGVER=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d \()') + echo "PGVER=${PGVER}" >> $GITHUB_ENV + echo "PGPORT=5432" >> $GITHUB_ENV + echo "PGIS=3" >> $GITHUB_ENV + - name: Add PostgreSQL APT repository run: | sudo apt-get install curl ca-certificates gnupg @@ -35,21 +45,18 @@ jobs: sudo apt-get install -y \ libboost-graph-dev \ libtap-parser-sourcehandler-pgtap-perl \ - postgresql-${{ matrix.psql }} \ - postgresql-${{ matrix.psql }}-pgtap \ - postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }} \ - postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }}-scripts \ - postgresql-server-dev-${{ matrix.psql }} - - - name: Checkout repository - uses: actions/checkout@v2 + postgresql-${PGVER} \ + postgresql-${PGVER}-pgtap \ + postgresql-${PGVER}-postgis-${PGIS} \ + postgresql-${PGVER}-postgis-${PGIS}-scripts \ + postgresql-server-dev-${PGVER} - name: Configure run: | - export PATH=/usr/lib/postgresql/${{ matrix.psql }}/bin:$PATH + export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH mkdir build cd build - cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=Debug .. + cmake -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Debug .. - name: Build run: | @@ -60,25 +67,18 @@ jobs: - name: Test signature is up to date run: | sudo service postgresql start - PGPORT=5433 - if [ "${{ matrix.psql }}" == "12" ]; then PGPORT=5432; fi sudo -u postgres createdb -p ${PGPORT} ____sigs_routing____ - sudo -u postgres psql -c "CREATE ROLE runner SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN" -d ____sigs_routing____ + sudo -u postgres psql -p ${PGPORT} -c "CREATE ROLE runner SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN" -d ____sigs_routing____ sh tools/release-scripts/get_signatures.sh -p ${PGPORT} git diff --exit-code --quiet sql/sigs/*.sig - name: Test documentation queries are up to date run: | - #sudo service postgresql start - #PGPORT=5433 - #if [ "${{ matrix.psql }}" == "12" ]; then PGPORT=5432; fi - PGPORT=5433 - if [ "${{ matrix.psql }}" == "12" ]; then PGPORT=5432; fi sudo -u postgres createdb -p ${PGPORT} pgr_test__db__test TESTDIRS="version" for d in ${TESTDIRS} do - ./tools/testers/doc_queries_generator.pl -pgver "${{ matrix.psql }}" -pguser runner -documentation -alg "${d}" + ./tools/testers/doc_queries_generator.pl -pgver "${PGVER}" -pguser runner -documentation -alg "${d}" done - ./tools/testers/doc_queries_generator.pl -pgver "${{ matrix.psql }}" + ./tools/testers/doc_queries_generator.pl -pgver "${PGVER}" diff --git a/.github/workflows/doc-check.yml b/.github/workflows/doc-check.yml new file mode 100644 index 00000000000..dcb48fb09d3 --- /dev/null +++ b/.github/workflows/doc-check.yml @@ -0,0 +1,99 @@ +name: Check Documentation +# documentation is tested only on: +# - ubuntu-latest +# - default postgres installed on ubuntu-latest +# - postgis 3 +# The corresponding language based on the PR commit message: +# - links +# - build Links +# - English is always tested + +on: [push,pull_request] + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + language: [de,en,es,ja] + + env: + LANG_MSG: "in${{ matrix.language }}" + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 2 + + - name: Get commit message + run: | + PROCESS=${{ false }} + if [[ $(git log --format=%B -n 2 | tr -d "'" | tr -d " " | grep -Po '(?<=\.po)[^;]+') == *"${LANG_MSG}"* ]]; then + PROCESS=${{ true }} + fi + if [[ "${{ matrix.language }}" == "en" ]]; then + PROCESS=${{ true }} + fi + echo "PROCESS=${PROCESS}" >> $GITHUB_ENV + + - name: Get postgres version + if: env.PROCESS == 'true' + run: | + sudo service postgresql start + pgver=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d \()') + echo "PGVER=${pgver}" >> $GITHUB_ENV + echo "PGIS=3" >> $GITHUB_ENV + + - name: Add PostgreSQL APT repository + if: env.PROCESS == 'true' + run: | + sudo apt-get install curl ca-certificates gnupg + curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - + sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \ + $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + + - name: Install python + if: env.PROCESS == 'true' + uses: actions/setup-python@v2 + with: + python-version: '3.x' + + - name: Install dependencies + if: env.PROCESS == 'true' + run: | + sudo apt-get update + sudo apt-get install -y \ + libboost-graph-dev \ + postgresql-${PGVER} \ + postgresql-${PGVER}-postgis-${PGIS} \ + postgresql-${PGVER}-postgis-${PGIS}-scripts \ + postgresql-server-dev-${PGVER} \ + graphviz + python -m pip install --upgrade pip + pip install -r requirements.txt + pip list + + - name: Configure + if: env.PROCESS == 'true' + run: | + export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH + mkdir build + cd build + cmake -DLINKCHECK=ON -DHTML=ON -DWITH_DOC=ON \ + -DDE=ON -DES=ON -DFR=ON -DJA=ON -DIT=ON \ + -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Release .. + + - name: Check Links + if: env.PROCESS == 'true' + run: | + cd build + make linkcheck-${{ matrix.language }} + + - name: Check Documentation + if: env.PROCESS == 'true' + run: | + cd build + make html-${{ matrix.language }} diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 6ebfe9974c3..8249f252d3f 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -1,4 +1,4 @@ -name: Check Documentation Links +name: Build documentation # documentation is tested only on: # - ubuntu @@ -7,27 +7,28 @@ name: Check Documentation Links on: push: - branches-ignore: - - 'translations_*' - tags: [] - pull_request: - paths-ignore: - - '**.po' - + branches: + - main + tags: + - '*' jobs: build: name: Build - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest strategy: fail-fast: false - matrix: - psql: [12] - postgis: [3] - os: [ubuntu-latest] steps: + - uses: actions/checkout@v2 + + - name: Get postgres version + run: | + sudo service postgresql start + pgver=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d \()') + echo "PGVER=${pgver}" >> $GITHUB_ENV + echo "PGIS=3" >> $GITHUB_ENV - name: Add PostgreSQL APT repository run: | @@ -41,20 +42,15 @@ jobs: with: python-version: '3.x' - - name: Checkout repository - uses: actions/checkout@v2 - - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y \ libboost-graph-dev \ - libtap-parser-sourcehandler-pgtap-perl \ - postgresql-${{ matrix.psql }} \ - postgresql-${{ matrix.psql }}-pgtap \ - postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }} \ - postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }}-scripts \ - postgresql-server-dev-${{ matrix.psql }} \ + postgresql-${PGVER} \ + postgresql-${PGVER}-postgis-${PGIS} \ + postgresql-${PGVER}-postgis-${PGIS}-scripts \ + postgresql-server-dev-${PGVER} \ graphviz python -m pip install --upgrade pip pip install -r requirements.txt @@ -62,15 +58,11 @@ jobs: - name: Configure link checks run: | - export PATH=/usr/lib/postgresql/${{ matrix.psql }}/bin:$PATH + export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH mkdir build cd build - cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=ON -DES=ON -DLINKCHECK="ON" .. - - - name: Check English Links - run: | - cd build - make linkcheck-en + cmake -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Release \ + -DWITH_DOC=ON -DES=ON .. - name: Build Documentation run: | diff --git a/.github/workflows/linkcheck-es.yml b/.github/workflows/linkcheck-es.yml deleted file mode 100644 index 5eeea86e3aa..00000000000 --- a/.github/workflows/linkcheck-es.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: Check Spanish Documentation Links - -# documentation is tested only on: -# - ubuntu -# - postgres 12 -# - postgis 3 -# -on: [push,pull_request] - -jobs: - build: - name: Build - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - psql: [12] - postgis: [3] - os: [ubuntu-latest] - - steps: - - - name: Add PostgreSQL APT repository - run: | - sudo apt-get install curl ca-certificates gnupg - curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - - sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \ - $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' - - - name: Install python - uses: actions/setup-python@v2 - with: - python-version: '3.x' - - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y \ - libboost-graph-dev \ - libtap-parser-sourcehandler-pgtap-perl \ - postgresql-${{ matrix.psql }} \ - postgresql-${{ matrix.psql }}-pgtap \ - postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }} \ - postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }}-scripts \ - postgresql-server-dev-${{ matrix.psql }} \ - graphviz - python -m pip install --upgrade pip - pip install -r requirements.txt - pip list - - - name: Configure link checks - run: | - export PATH=/usr/lib/postgresql/${{ matrix.psql }}/bin:$PATH - mkdir build - cd build - cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=ON -DES=ON -DLINKCHECK="ON" .. - - - name: Check Spanish Links - run: | - cd build - make linkcheck-es diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 3204ddba3a1..b5f0740cb19 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -23,13 +23,19 @@ jobs: os: [ubuntu-latest] steps: + - uses: actions/checkout@v2 - - name: Add PostgreSQL APT repository + - name: get postgres version run: | - echo "gihub actor $GITHUB_ACTOR" - echo "gihub repository $GITHUB_REPOSITORY" - echo "github ref $GITHUB_REF" + sudo service postgresql start + pgver=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d \()') + echo "PGVER=${pgver}" >> $GITHUB_ENV + PGP=5433 + if [ "${{ matrix.psql }}" == "${pgver}" ]; then PGP=5432; fi + echo "PGPORT=${PGP}" >> $GITHUB_ENV + - name: Add PostgreSQL APT repository + run: | sudo apt-get install curl ca-certificates gnupg curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \ @@ -47,9 +53,6 @@ jobs: postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }}-scripts \ postgresql-server-dev-${{ matrix.psql }} - - name: Checkout repository - uses: actions/checkout@v2 - - name: Configure run: | export PATH=/usr/lib/postgresql/${{ matrix.psql }}/bin:$PATH @@ -66,9 +69,5 @@ jobs: - name: Test run: | sudo service postgresql start - PGPORT=5433 - if [ "${{ matrix.psql }}" == "12" ]; then PGPORT=5432; fi - echo "${PGPORT}" sudo -u postgres createdb -p ${PGPORT} ___pgr___test___ - #sudo -u postgres psql -p ${PGPORT} -c "CREATE EXTENSION postgis" sudo -u postgres bash ./tools/testers/pg_prove_tests.sh postgres ${PGPORT} Release diff --git a/pgtap/chinese/chinesePostman/innerQuery.sql b/tools/pending-tests/innerQuery.sql similarity index 100% rename from pgtap/chinese/chinesePostman/innerQuery.sql rename to tools/pending-tests/innerQuery.sql From 2b0a579616de6c660aa0dcfaa85189aa489fa4a0 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 7 Oct 2020 09:28:18 -0500 Subject: [PATCH 0891/1360] fix 1616 on 3.2: C++ not updated before the results go back to C * Updating News & release notes * modified: NEWS * modified: doc/src/release_notes.rst * Fixing the code * modified: include/yen/pgr_ksp.hpp * modified: src/bellman_ford/bellman_ford_driver.cpp * modified: src/dijkstra/dijkstra_driver.cpp * function returning a beetter ordering with the change * modified: docqueries/withPoints/doc-pgr_withPointsKSP.result --- NEWS | 24 ++++++ doc/src/release_notes.rst | 28 +++++++ .../withPoints/doc-pgr_withPointsKSP.result | 8 +- include/yen/pgr_ksp.hpp | 3 +- src/bellman_ford/bellman_ford_driver.cpp | 3 + src/dijkstra/dijkstra_driver.cpp | 76 ++++++++++++++----- 6 files changed, 120 insertions(+), 22 deletions(-) diff --git a/NEWS b/NEWS index 286e981869c..cfa3545f85f 100644 --- a/NEWS +++ b/NEWS @@ -10,9 +10,24 @@ pgRouting 3.2.0 Release Notes * pgr_sequentialVertexColoring +pgRouting 3.1.1 Release Notes +------------------------------------------------------------------------------- + +To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.1 +`_ on Github. + +*Backport issues fixes* + +* [#1616 ](https://github.com/pgRouting/pgrouting/issues/1616)_: Path evaluation on C++ not updated before the results go back to C + + + pgRouting 3.1.0 Release Notes ------------------------------------------------------------------------------- +To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.0 +`_ on Github. + *New proposed functions* * pgr_dijkstra(combinations) @@ -23,6 +38,15 @@ pgRouting 3.1.0 Release Notes * Minimal requirement for Sphinx: version 1.8 +pgRouting 3.0.3 Release Notes +------------------------------------------------------------------------------- + +*Backport issues fixes* + +* [#1616 ](https://github.com/pgRouting/pgrouting/issues/1616)_: Path evaluation on C++ not updated before the results go back to C + + + pgRouting 3.0.2 Release Notes ------------------------------------------------------------------------------- diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 9a50b9ecf64..2a287b4f0e1 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -19,7 +19,9 @@ To see the full list of changes check the list of `Git commits `_ on Github. + +.. rubric:: Backport issues fixes + +* `#1616 `__: Path evaluation on C++ not updated before the results go back to C + + .. _changelog_3_1_0: pgRouting 3.1.0 Release Notes ------------------------------------------------------------------------------- +To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.0 +`_ on Github. + .. rubric:: New proposed functions * pgr_dijkstra(combinations) @@ -78,6 +96,16 @@ pgRouting 3.1.0 Release Notes * Minimal requirement for Sphinx: version 1.8 +.. _changelog_3_0_3: + +pgRouting 3.0.3 Release Notes +------------------------------------------------------------------------------- + +.. rubric:: Backport issues fixes + +* `#1616 `__: Path evaluation on C++ not updated before the results go back to C + + .. _changelog_3_0_2: pgRouting 3.0.2 Release Notes diff --git a/docqueries/withPoints/doc-pgr_withPointsKSP.result b/docqueries/withPoints/doc-pgr_withPointsKSP.result index 8539ea3d074..10c06809728 100644 --- a/docqueries/withPoints/doc-pgr_withPointsKSP.result +++ b/docqueries/withPoints/doc-pgr_withPointsKSP.result @@ -63,16 +63,16 @@ SELECT * FROM pgr_withPointsKSP( 2 | 1 | 2 | 2 | 4 | 0.7 | 0.6 3 | 1 | 3 | -6 | 4 | 0.3 | 1.3 4 | 1 | 4 | 5 | 8 | 1 | 1.6 - 5 | 1 | 5 | 6 | 11 | 1 | 2.6 - 6 | 1 | 6 | 11 | 13 | 1 | 3.6 + 5 | 1 | 5 | 6 | 9 | 1 | 2.6 + 6 | 1 | 6 | 9 | 15 | 1 | 3.6 7 | 1 | 7 | 12 | 15 | 0.6 | 4.6 8 | 1 | 8 | -2 | -1 | 0 | 5.2 9 | 2 | 1 | -1 | 1 | 0.6 | 0 10 | 2 | 2 | 2 | 4 | 0.7 | 0.6 11 | 2 | 3 | -6 | 4 | 0.3 | 1.3 12 | 2 | 4 | 5 | 8 | 1 | 1.6 - 13 | 2 | 5 | 6 | 9 | 1 | 2.6 - 14 | 2 | 6 | 9 | 15 | 1 | 3.6 + 13 | 2 | 5 | 6 | 11 | 1 | 2.6 + 14 | 2 | 6 | 11 | 13 | 1 | 3.6 15 | 2 | 7 | 12 | 15 | 0.6 | 4.6 16 | 2 | 8 | -2 | -1 | 0 | 5.2 (16 rows) diff --git a/include/yen/pgr_ksp.hpp b/include/yen/pgr_ksp.hpp index a184882a716..f3752325137 100644 --- a/include/yen/pgr_ksp.hpp +++ b/include/yen/pgr_ksp.hpp @@ -96,7 +96,6 @@ class Pgr_ksp : public Pgr_messages { executeYen(graph); auto paths = get_results(); - if (!m_heap_paths && paths.size() > m_K) paths.resize(m_K); return paths; @@ -135,6 +134,7 @@ class Pgr_ksp : public Pgr_messages { doNextCycle(graph); if (m_Heap.empty()) break; curr_result_path = *m_Heap.begin(); + curr_result_path.recalculate_agg_cost(); m_ResultSet.insert(curr_result_path); m_Heap.erase(m_Heap.begin()); } @@ -150,6 +150,7 @@ class Pgr_ksp : public Pgr_messages { Pgr_dijkstra< G > fn_dijkstra; path = fn_dijkstra.dijkstra(graph, m_start, m_end); + path.recalculate_agg_cost(); if (path.empty()) return path; m_ResultSet.insert(path); diff --git a/src/bellman_ford/bellman_ford_driver.cpp b/src/bellman_ford/bellman_ford_driver.cpp index 268fcd8500d..977434b8142 100644 --- a/src/bellman_ford/bellman_ford_driver.cpp +++ b/src/bellman_ford/bellman_ford_driver.cpp @@ -71,6 +71,9 @@ pgr_bellman_ford( auto paths = fn_bellman_ford.bellman_ford( graph, sources, targets, only_cost); log += fn_bellman_ford.get_log(); + for (auto &p : paths) { + p.recalculate_agg_cost(); + } return paths; } diff --git a/src/dijkstra/dijkstra_driver.cpp b/src/dijkstra/dijkstra_driver.cpp index 365e0241bf3..84a6467ac42 100644 --- a/src/dijkstra/dijkstra_driver.cpp +++ b/src/dijkstra/dijkstra_driver.cpp @@ -45,6 +45,54 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_alloc.hpp" #include "cpp_common/pgr_assert.h" +namespace detail { + +void +post_process(std::deque &paths, bool only_cost, bool normal, size_t n_goals) { + paths.erase(std::remove_if(paths.begin(), paths.end(), + [](const Path &p){ + return p.size()==0;}), + paths.end()); + + if (!normal) { + for (auto &path : paths) path.reverse(); + } + + if (!only_cost) { + for (auto &p : paths) { + p.recalculate_agg_cost(); + } + } + + if (n_goals != (std::numeric_limits::max)()) { + std::sort(paths.begin(), paths.end(), + [](const Path &e1, const Path &e2)->bool { + return e1.end_id() < e2.end_id(); + }); + std::stable_sort(paths.begin(), paths.end(), + [](const Path &e1, const Path &e2)->bool { + return e1.start_id() < e2.start_id(); + }); + std::stable_sort(paths.begin(), paths.end(), + [](const Path &e1, const Path &e2)->bool { + return e1.tot_cost() < e2.tot_cost(); + }); + if (n_goals < paths.size()) { + paths.erase(paths.begin() + n_goals, paths.end()); + } + } else { + std::sort(paths.begin(), paths.end(), + [](const Path &e1, const Path &e2)->bool { + return e1.end_id() < e2.end_id(); + }); + std::stable_sort(paths.begin(), paths.end(), + [](const Path &e1, const Path &e2)->bool { + return e1.start_id() < e2.start_id(); + }); + } +} + + template < class G > std::deque< Path > pgr_dijkstra( @@ -53,7 +101,7 @@ pgr_dijkstra( std::vector < int64_t > targets, bool only_cost, bool normal, - int64_t n_goals) { + size_t n_goals) { std::sort(sources.begin(), sources.end()); sources.erase( std::unique(sources.begin(), sources.end()), @@ -70,11 +118,8 @@ pgr_dijkstra( sources, targets, only_cost, n_goals); - if (!normal) { - for (auto &path : paths) { - path.reverse(); - } - } + post_process(paths, only_cost, normal, n_goals); + return paths; } @@ -92,14 +137,11 @@ pgr_dijkstra( combinations, only_cost); - if (!normal) { - for (auto &path : paths) { - path.reverse(); - } - } + post_process(paths, only_cost, normal, (std::numeric_limits::max)()); + return paths; } - +} // namespace detail // CREATE OR REPLACE FUNCTION pgr_dijkstra( @@ -145,14 +187,14 @@ do_pgr_many_to_many_dijkstra( std::vector< int64_t > end_vertices(end_vidsArr, end_vidsArr + size_end_vidsArr); - size_t n = n_goals <= 0? (std::numeric_limits::max)() : n_goals; + size_t n = n_goals <= 0? (std::numeric_limits::max)() : static_cast(n_goals); std::deque< Path >paths; if (directed) { log << "\nWorking with directed Graph"; pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); - paths = pgr_dijkstra( + paths = detail::pgr_dijkstra( digraph, start_vertices, end_vertices, only_cost, normal, n); @@ -160,7 +202,7 @@ do_pgr_many_to_many_dijkstra( log << "\nWorking with Undirected Graph"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); - paths = pgr_dijkstra( + paths = detail::pgr_dijkstra( undigraph, start_vertices, end_vertices, only_cost, normal, n); @@ -254,7 +296,7 @@ do_pgr_combinations_dijkstra( log << "\nWorking with directed Graph"; pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); - paths = pgr_dijkstra( + paths = detail::pgr_dijkstra( digraph, combinations_vector, only_cost, normal); @@ -262,7 +304,7 @@ do_pgr_combinations_dijkstra( log << "\nWorking with Undirected Graph"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); - paths = pgr_dijkstra( + paths = detail::pgr_dijkstra( undigraph, combinations_vector, only_cost, normal); From c63fe70eb43dd0dedd7d0bac7c6b809c955b0c61 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 7 Oct 2020 11:40:32 -0500 Subject: [PATCH 0892/1360] Changes needed because of new releases * Adding the needed update files * modified: sql/sigs/CMakeLists.txt * new file: sql/sigs/pgrouting--3.0.3.sig * new file: sql/sigs/pgrouting--3.1.1.sig * updating the release testers * modified: tools/release-scripts/check-release.sh * modified: tools/testers/update-tester.sh --- sql/sigs/CMakeLists.txt | 3 + sql/sigs/pgrouting--3.0.3.sig | 236 ++++++++++++++++++++++++ sql/sigs/pgrouting--3.1.1.sig | 239 +++++++++++++++++++++++++ tools/release-scripts/check-release.sh | 13 +- tools/testers/update-tester.sh | 19 +- 5 files changed, 496 insertions(+), 14 deletions(-) create mode 100644 sql/sigs/pgrouting--3.0.3.sig create mode 100644 sql/sigs/pgrouting--3.1.1.sig diff --git a/sql/sigs/CMakeLists.txt b/sql/sigs/CMakeLists.txt index b47e70c03a5..058ea4d7c15 100644 --- a/sql/sigs/CMakeLists.txt +++ b/sql/sigs/CMakeLists.txt @@ -1,5 +1,8 @@ SET(OLD_SIGNATURES + 3.1.1 3.1.0 + + 3.0.3 3.0.2 3.0.1 3.0.0 diff --git a/sql/sigs/pgrouting--3.0.3.sig b/sql/sigs/pgrouting--3.0.3.sig new file mode 100644 index 00000000000..5a8efb01b9c --- /dev/null +++ b/sql/sigs/pgrouting--3.0.3.sig @@ -0,0 +1,236 @@ +#VERSION pgrouting 3.0.3 +#TYPES +#FUNCTIONS +pgr_alphashape(geometry,double precision) +_pgr_alphashape(text,double precision) +pgr_analyzegraph(text,double precision,text,text,text,text,text) +pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) +_pgr_array_reverse(anyarray) +_pgr_articulationpoints(text) +pgr_articulationpoints(text) +pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) +pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) +pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) +_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) +pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) +pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) +pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) +pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) +_pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) +pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) +pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) +pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) +pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) +pgr_bddijkstracostmatrix(text,anyarray,boolean) +pgr_bddijkstracost(text,anyarray,anyarray,boolean) +pgr_bddijkstracost(text,anyarray,bigint,boolean) +pgr_bddijkstracost(text,bigint,anyarray,boolean) +pgr_bddijkstracost(text,bigint,bigint,boolean) +pgr_bddijkstra(text,anyarray,anyarray,boolean) +_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) +pgr_bddijkstra(text,anyarray,bigint,boolean) +pgr_bddijkstra(text,bigint,anyarray,boolean) +pgr_bddijkstra(text,bigint,bigint,boolean) +pgr_bellmanford(text,anyarray,anyarray,boolean) +_pgr_bellmanford(text,anyarray,anyarray,boolean,boolean) +pgr_bellmanford(text,anyarray,bigint,boolean) +pgr_bellmanford(text,bigint,anyarray,boolean) +pgr_bellmanford(text,bigint,bigint,boolean) +_pgr_biconnectedcomponents(text) +pgr_biconnectedcomponents(text) +_pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) +pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) +pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) +pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) +pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) +_pgr_boost_version() +pgr_boykovkolmogorov(text,anyarray,anyarray) +pgr_boykovkolmogorov(text,anyarray,bigint) +pgr_boykovkolmogorov(text,bigint,anyarray) +pgr_boykovkolmogorov(text,bigint,bigint) +_pgr_breadthfirstsearch(text,anyarray,bigint,boolean) +pgr_breadthfirstsearch(text,anyarray,bigint,boolean) +pgr_breadthfirstsearch(text,bigint,bigint,boolean) +_pgr_bridges(text) +pgr_bridges(text) +_pgr_build_type() +_pgr_checkverttab(text,text[],integer,text) +pgr_chinesepostmancost(text) +pgr_chinesepostman(text) +_pgr_chinesepostman(text,boolean) +_pgr_compilation_date() +_pgr_compiler_version() +_pgr_connectedcomponents(text) +pgr_connectedcomponents(text) +_pgr_contraction(text,bigint[],integer,bigint[],boolean) +pgr_contraction(text,bigint[],integer,bigint[],boolean) +_pgr_createindex(text,text,text,integer,text) +_pgr_createindex(text,text,text,text,integer,text) +pgr_createtopology(text,double precision,text,text,text,text,text,boolean) +pgr_createverticestable(text,text,text,text,text) +pgr_dagshortestpath(text,anyarray,anyarray) +_pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) +pgr_dagshortestpath(text,anyarray,bigint) +pgr_dagshortestpath(text,bigint,anyarray) +pgr_dagshortestpath(text,bigint,bigint) +pgr_dijkstracostmatrix(text,anyarray,boolean) +pgr_dijkstracost(text,anyarray,anyarray,boolean) +pgr_dijkstracost(text,anyarray,bigint,boolean) +pgr_dijkstracost(text,bigint,anyarray,boolean) +pgr_dijkstracost(text,bigint,bigint,boolean) +_pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean) +_pgr_dijkstranear(text,anyarray,bigint,bigint,boolean) +_pgr_dijkstranear(text,bigint,anyarray,bigint,boolean) +pgr_dijkstra(text,anyarray,anyarray,boolean) +_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint) +pgr_dijkstra(text,anyarray,bigint,boolean) +pgr_dijkstra(text,bigint,anyarray,boolean) +pgr_dijkstra(text,bigint,bigint,boolean) +_pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) +pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) +_pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) +pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) +pgr_drivingdistance(text,bigint,double precision,boolean) +_pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) +pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) +pgr_edgedisjointpaths(text,anyarray,bigint,boolean) +pgr_edgedisjointpaths(text,bigint,anyarray,boolean) +pgr_edgedisjointpaths(text,bigint,bigint,boolean) +pgr_edmondskarp(text,anyarray,anyarray) +pgr_edmondskarp(text,anyarray,bigint) +pgr_edmondskarp(text,bigint,anyarray) +pgr_edmondskarp(text,bigint,bigint) +_pgr_edwardmoore(text,anyarray,anyarray,boolean) +pgr_edwardmoore(text,anyarray,anyarray,boolean) +pgr_edwardmoore(text,anyarray,bigint,boolean) +pgr_edwardmoore(text,bigint,anyarray,boolean) +pgr_edwardmoore(text,bigint,bigint,boolean) +_pgr_endpoint(geometry) +pgr_extractvertices(text,boolean) +_pgr_floydwarshall(text,boolean) +pgr_floydwarshall(text,boolean) +pgr_full_version() +_pgr_getcolumnname(text,text,integer,text) +_pgr_getcolumnname(text,text,text,integer,text) +_pgr_getcolumntype(text,text,integer,text) +_pgr_getcolumntype(text,text,text,integer,text) +_pgr_get_statement(text) +_pgr_gettablename(text,integer,text) +_pgr_git_hash() +_pgr_iscolumnindexed(text,text,integer,text) +_pgr_iscolumnindexed(text,text,text,integer,text) +_pgr_iscolumnintable(text,text) +_pgr_johnson(text,boolean) +pgr_johnson(text,boolean) +pgr_kruskalbfs(text,anyarray,bigint) +pgr_kruskalbfs(text,bigint,bigint) +pgr_kruskaldd(text,anyarray,double precision) +pgr_kruskaldd(text,anyarray,numeric) +pgr_kruskaldd(text,bigint,double precision) +pgr_kruskaldd(text,bigint,numeric) +pgr_kruskaldfs(text,anyarray,bigint) +pgr_kruskaldfs(text,bigint,bigint) +pgr_kruskal(text) +_pgr_kruskal(text,anyarray,text,bigint,double precision) +_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) +pgr_ksp(text,bigint,bigint,integer,boolean,boolean) +_pgr_lib_version() +_pgr_linegraphfull(text) +pgr_linegraphfull(text) +_pgr_linegraph(text,boolean) +pgr_linegraph(text,boolean) +_pgr_maxcardinalitymatch(text,boolean) +pgr_maxcardinalitymatch(text,boolean) +pgr_maxflowmincost_cost(text,anyarray,anyarray) +pgr_maxflowmincost_cost(text,anyarray,bigint) +pgr_maxflowmincost_cost(text,bigint,anyarray) +pgr_maxflowmincost_cost(text,bigint,bigint) +pgr_maxflowmincost(text,anyarray,anyarray) +_pgr_maxflowmincost(text,anyarray,anyarray,boolean) +pgr_maxflowmincost(text,anyarray,bigint) +pgr_maxflowmincost(text,bigint,anyarray) +pgr_maxflowmincost(text,bigint,bigint) +pgr_maxflow(text,anyarray,anyarray) +_pgr_maxflow(text,anyarray,anyarray,integer,boolean) +pgr_maxflow(text,anyarray,bigint) +pgr_maxflow(text,bigint,anyarray) +pgr_maxflow(text,bigint,bigint) +_pgr_msg(integer,text,text) +pgr_nodenetwork(text,double precision,text,text,text,text,boolean) +_pgr_onerror(boolean,integer,text,text,text,text) +_pgr_operating_system() +_pgr_parameter_check(text,text,boolean) +_pgr_pgsql_version() +_pgr_pickdelivereuclidean(text,text,double precision,integer,integer) +pgr_pickdelivereuclidean(text,text,double precision,integer,integer) +_pgr_pickdeliver(text,text,text,double precision,integer,integer) +pgr_pickdeliver(text,text,text,double precision,integer,integer) +_pgr_pointtoid(geometry,double precision,text,integer) +pgr_primbfs(text,anyarray,bigint) +pgr_primbfs(text,bigint,bigint) +pgr_primdd(text,anyarray,double precision) +pgr_primdd(text,anyarray,numeric) +pgr_primdd(text,bigint,double precision) +pgr_primdd(text,bigint,numeric) +pgr_primdfs(text,anyarray,bigint) +pgr_primdfs(text,bigint,bigint) +pgr_prim(text) +_pgr_prim(text,anyarray,text,bigint,double precision) +pgr_pushrelabel(text,anyarray,anyarray) +pgr_pushrelabel(text,anyarray,bigint) +pgr_pushrelabel(text,bigint,anyarray) +pgr_pushrelabel(text,bigint,bigint) +_pgr_quote_ident(text) +_pgr_startpoint(geometry) +_pgr_stoerwagner(text) +pgr_stoerwagner(text) +_pgr_strongcomponents(text) +pgr_strongcomponents(text) +_pgr_topologicalsort(text) +pgr_topologicalsort(text) +_pgr_transitiveclosure(text) +pgr_transitiveclosure(text) +_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) +pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) +pgr_trsp(text,integer,integer,boolean,boolean,text) +_pgr_trsp(text,text,anyarray,anyarray,boolean) +_pgr_trsp(text,text,anyarray,bigint,boolean) +_pgr_trsp(text,text,bigint,anyarray,boolean) +_pgr_trsp(text,text,bigint,bigint,boolean) +pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) +pgr_trspviavertices(text,anyarray,boolean,boolean,text) +_pgr_trspviavertices(text,integer[],boolean,boolean,text) +_pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +_pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +_pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) +pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) +pgr_version() +_pgr_versionless(text,text) +_pgr_vrponedepot(text,text,text,integer) +pgr_vrponedepot(text,text,text,integer) +pgr_withpointscostmatrix(text,text,anyarray,boolean,character) +pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) +pgr_withpointscost(text,text,anyarray,bigint,boolean,character) +pgr_withpointscost(text,text,bigint,anyarray,boolean,character) +pgr_withpointscost(text,text,bigint,bigint,boolean,character) +_pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) +pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) +pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) +_pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) +pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) +pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) +_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,boolean) +pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) +pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) +pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) +_pgr_withpointsvia(text,bigint[],double precision[],boolean) +_trsp(text,text,anyarray,anyarray,boolean) diff --git a/sql/sigs/pgrouting--3.1.1.sig b/sql/sigs/pgrouting--3.1.1.sig new file mode 100644 index 00000000000..20f8a111bec --- /dev/null +++ b/sql/sigs/pgrouting--3.1.1.sig @@ -0,0 +1,239 @@ +#VERSION pgrouting 3.1.1 +#TYPES +#FUNCTIONS +pgr_alphashape(geometry,double precision) +_pgr_alphashape(text,double precision) +pgr_analyzegraph(text,double precision,text,text,text,text,text) +pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) +_pgr_array_reverse(anyarray) +_pgr_articulationpoints(text) +pgr_articulationpoints(text) +pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) +pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) +pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) +_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) +pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) +pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) +pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) +pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) +_pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) +pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) +pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) +pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) +pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) +pgr_bddijkstracostmatrix(text,anyarray,boolean) +pgr_bddijkstracost(text,anyarray,anyarray,boolean) +pgr_bddijkstracost(text,anyarray,bigint,boolean) +pgr_bddijkstracost(text,bigint,anyarray,boolean) +pgr_bddijkstracost(text,bigint,bigint,boolean) +pgr_bddijkstra(text,anyarray,anyarray,boolean) +_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) +pgr_bddijkstra(text,anyarray,bigint,boolean) +pgr_bddijkstra(text,bigint,anyarray,boolean) +pgr_bddijkstra(text,bigint,bigint,boolean) +pgr_bellmanford(text,anyarray,anyarray,boolean) +_pgr_bellmanford(text,anyarray,anyarray,boolean,boolean) +pgr_bellmanford(text,anyarray,bigint,boolean) +pgr_bellmanford(text,bigint,anyarray,boolean) +pgr_bellmanford(text,bigint,bigint,boolean) +_pgr_biconnectedcomponents(text) +pgr_biconnectedcomponents(text) +_pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) +pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) +pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) +pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) +pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) +_pgr_boost_version() +pgr_boykovkolmogorov(text,anyarray,anyarray) +pgr_boykovkolmogorov(text,anyarray,bigint) +pgr_boykovkolmogorov(text,bigint,anyarray) +pgr_boykovkolmogorov(text,bigint,bigint) +_pgr_breadthfirstsearch(text,anyarray,bigint,boolean) +pgr_breadthfirstsearch(text,anyarray,bigint,boolean) +pgr_breadthfirstsearch(text,bigint,bigint,boolean) +_pgr_bridges(text) +pgr_bridges(text) +_pgr_build_type() +_pgr_checkverttab(text,text[],integer,text) +pgr_chinesepostmancost(text) +pgr_chinesepostman(text) +_pgr_chinesepostman(text,boolean) +_pgr_compilation_date() +_pgr_compiler_version() +_pgr_connectedcomponents(text) +pgr_connectedcomponents(text) +_pgr_contraction(text,bigint[],integer,bigint[],boolean) +pgr_contraction(text,bigint[],integer,bigint[],boolean) +_pgr_createindex(text,text,text,integer,text) +_pgr_createindex(text,text,text,text,integer,text) +pgr_createtopology(text,double precision,text,text,text,text,text,boolean) +pgr_createverticestable(text,text,text,text,text) +pgr_dagshortestpath(text,anyarray,anyarray) +_pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) +pgr_dagshortestpath(text,anyarray,bigint) +pgr_dagshortestpath(text,bigint,anyarray) +pgr_dagshortestpath(text,bigint,bigint) +pgr_dijkstracostmatrix(text,anyarray,boolean) +pgr_dijkstracost(text,anyarray,anyarray,boolean) +pgr_dijkstracost(text,anyarray,bigint,boolean) +pgr_dijkstracost(text,bigint,anyarray,boolean) +pgr_dijkstracost(text,bigint,bigint,boolean) +pgr_dijkstracost(text,text,boolean) +_pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean) +_pgr_dijkstranear(text,anyarray,bigint,bigint,boolean) +_pgr_dijkstranear(text,bigint,anyarray,bigint,boolean) +pgr_dijkstra(text,anyarray,anyarray,boolean) +_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint) +pgr_dijkstra(text,anyarray,bigint,boolean) +pgr_dijkstra(text,bigint,anyarray,boolean) +pgr_dijkstra(text,bigint,bigint,boolean) +pgr_dijkstra(text,text,boolean) +_pgr_dijkstra(text,text,boolean,boolean,boolean) +_pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) +pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) +_pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) +pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) +pgr_drivingdistance(text,bigint,double precision,boolean) +_pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) +pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) +pgr_edgedisjointpaths(text,anyarray,bigint,boolean) +pgr_edgedisjointpaths(text,bigint,anyarray,boolean) +pgr_edgedisjointpaths(text,bigint,bigint,boolean) +pgr_edmondskarp(text,anyarray,anyarray) +pgr_edmondskarp(text,anyarray,bigint) +pgr_edmondskarp(text,bigint,anyarray) +pgr_edmondskarp(text,bigint,bigint) +_pgr_edwardmoore(text,anyarray,anyarray,boolean) +pgr_edwardmoore(text,anyarray,anyarray,boolean) +pgr_edwardmoore(text,anyarray,bigint,boolean) +pgr_edwardmoore(text,bigint,anyarray,boolean) +pgr_edwardmoore(text,bigint,bigint,boolean) +_pgr_endpoint(geometry) +pgr_extractvertices(text,boolean) +_pgr_floydwarshall(text,boolean) +pgr_floydwarshall(text,boolean) +pgr_full_version() +_pgr_getcolumnname(text,text,integer,text) +_pgr_getcolumnname(text,text,text,integer,text) +_pgr_getcolumntype(text,text,integer,text) +_pgr_getcolumntype(text,text,text,integer,text) +_pgr_get_statement(text) +_pgr_gettablename(text,integer,text) +_pgr_git_hash() +_pgr_iscolumnindexed(text,text,integer,text) +_pgr_iscolumnindexed(text,text,text,integer,text) +_pgr_iscolumnintable(text,text) +_pgr_johnson(text,boolean) +pgr_johnson(text,boolean) +pgr_kruskalbfs(text,anyarray,bigint) +pgr_kruskalbfs(text,bigint,bigint) +pgr_kruskaldd(text,anyarray,double precision) +pgr_kruskaldd(text,anyarray,numeric) +pgr_kruskaldd(text,bigint,double precision) +pgr_kruskaldd(text,bigint,numeric) +pgr_kruskaldfs(text,anyarray,bigint) +pgr_kruskaldfs(text,bigint,bigint) +pgr_kruskal(text) +_pgr_kruskal(text,anyarray,text,bigint,double precision) +_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) +pgr_ksp(text,bigint,bigint,integer,boolean,boolean) +_pgr_lib_version() +_pgr_linegraphfull(text) +pgr_linegraphfull(text) +_pgr_linegraph(text,boolean) +pgr_linegraph(text,boolean) +_pgr_maxcardinalitymatch(text,boolean) +pgr_maxcardinalitymatch(text,boolean) +pgr_maxflowmincost_cost(text,anyarray,anyarray) +pgr_maxflowmincost_cost(text,anyarray,bigint) +pgr_maxflowmincost_cost(text,bigint,anyarray) +pgr_maxflowmincost_cost(text,bigint,bigint) +pgr_maxflowmincost(text,anyarray,anyarray) +_pgr_maxflowmincost(text,anyarray,anyarray,boolean) +pgr_maxflowmincost(text,anyarray,bigint) +pgr_maxflowmincost(text,bigint,anyarray) +pgr_maxflowmincost(text,bigint,bigint) +pgr_maxflow(text,anyarray,anyarray) +_pgr_maxflow(text,anyarray,anyarray,integer,boolean) +pgr_maxflow(text,anyarray,bigint) +pgr_maxflow(text,bigint,anyarray) +pgr_maxflow(text,bigint,bigint) +_pgr_msg(integer,text,text) +pgr_nodenetwork(text,double precision,text,text,text,text,boolean) +_pgr_onerror(boolean,integer,text,text,text,text) +_pgr_operating_system() +_pgr_parameter_check(text,text,boolean) +_pgr_pgsql_version() +_pgr_pickdelivereuclidean(text,text,double precision,integer,integer) +pgr_pickdelivereuclidean(text,text,double precision,integer,integer) +_pgr_pickdeliver(text,text,text,double precision,integer,integer) +pgr_pickdeliver(text,text,text,double precision,integer,integer) +_pgr_pointtoid(geometry,double precision,text,integer) +pgr_primbfs(text,anyarray,bigint) +pgr_primbfs(text,bigint,bigint) +pgr_primdd(text,anyarray,double precision) +pgr_primdd(text,anyarray,numeric) +pgr_primdd(text,bigint,double precision) +pgr_primdd(text,bigint,numeric) +pgr_primdfs(text,anyarray,bigint) +pgr_primdfs(text,bigint,bigint) +pgr_prim(text) +_pgr_prim(text,anyarray,text,bigint,double precision) +pgr_pushrelabel(text,anyarray,anyarray) +pgr_pushrelabel(text,anyarray,bigint) +pgr_pushrelabel(text,bigint,anyarray) +pgr_pushrelabel(text,bigint,bigint) +_pgr_quote_ident(text) +_pgr_startpoint(geometry) +_pgr_stoerwagner(text) +pgr_stoerwagner(text) +_pgr_strongcomponents(text) +pgr_strongcomponents(text) +_pgr_topologicalsort(text) +pgr_topologicalsort(text) +_pgr_transitiveclosure(text) +pgr_transitiveclosure(text) +_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) +pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) +pgr_trsp(text,integer,integer,boolean,boolean,text) +_pgr_trsp(text,text,anyarray,anyarray,boolean) +_pgr_trsp(text,text,anyarray,bigint,boolean) +_pgr_trsp(text,text,bigint,anyarray,boolean) +_pgr_trsp(text,text,bigint,bigint,boolean) +pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) +pgr_trspviavertices(text,anyarray,boolean,boolean,text) +_pgr_trspviavertices(text,integer[],boolean,boolean,text) +_pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +_pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +_pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) +pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) +pgr_version() +_pgr_versionless(text,text) +_pgr_vrponedepot(text,text,text,integer) +pgr_vrponedepot(text,text,text,integer) +pgr_withpointscostmatrix(text,text,anyarray,boolean,character) +pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) +pgr_withpointscost(text,text,anyarray,bigint,boolean,character) +pgr_withpointscost(text,text,bigint,anyarray,boolean,character) +pgr_withpointscost(text,text,bigint,bigint,boolean,character) +_pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) +pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) +pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) +_pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) +pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) +pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) +_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,boolean) +pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) +pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) +pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) +_pgr_withpointsvia(text,bigint[],double precision[],boolean) +_trsp(text,text,anyarray,anyarray,boolean) diff --git a/tools/release-scripts/check-release.sh b/tools/release-scripts/check-release.sh index fd1d55a0131..4d05ee036e3 100755 --- a/tools/release-scripts/check-release.sh +++ b/tools/release-scripts/check-release.sh @@ -52,12 +52,13 @@ fi MAYOR=3 -MINOR=1 +MINOR=2 MICRO=0 -RC="" -PREV_REL=3.0.2 +RC="-dev" +PREV_REL=3.1.1 PREV_RELS=" - 3.0.2 3.0.1 3.0.0 + 3.1.1 3.1.0 + 3.0.3 3.0.2 3.0.1 3.0.0 2.6.3 2.6.2 2.6.1 2.6.0 " # These releases are not for update @@ -218,7 +219,7 @@ echo "### checking the signature files dont change" bash tools/release-scripts/compile-release.sh bash tools/release-scripts/get_signatures.sh -if [[ -z $(git diff "sql/sigs/pgrouting--$MAYOR.$MINOR.$MICRO.sig") ]]; then +if [[ $(git diff "sql/sigs/pgrouting--$MAYOR.$MINOR.$MICRO.sig") ]]; then echo signature changed at: "sql/sigs/pgrouting--$MAYOR.$MINOR.$MICRO.sig" fi @@ -235,7 +236,7 @@ echo "\`\`\`" for r in ${PREV_RELS} do - if ! bash tools/testers/update-tester.sh "$r"; then + if ! bash tools/testers/update-tester.sh "$r" 12; then echo "FATAL updating from $r" exit 1 fi diff --git a/tools/testers/update-tester.sh b/tools/testers/update-tester.sh index b726c8a387a..b7487282315 100755 --- a/tools/testers/update-tester.sh +++ b/tools/testers/update-tester.sh @@ -26,10 +26,8 @@ set -e -TWEAK="" PGPORT=5432 -#sorry this only works on vicky's computer -# TODO make it more general +echo "sorry this only works on vicky's computer" PGUSER="vicky" DB="___pgr___test___" @@ -42,25 +40,30 @@ function info { echo "EXAMPLE USAGE" echo "- Short execution" - echo "bash tools/testers/update-tester.sh $1" + echo "bash tools/testers/update-tester.sh $1 $2" echo "- For running pgtap tests:" - echo "bash tools/testers/update-tester.sh $1 long" + echo "bash tools/testers/update-tester.sh $1 $2 long" } if [[ -z "$1" ]]; then echo missing version example: - info 2.6.3 + info 2.6.3 12 exit 1 fi FROM_PGR="$1" CURRENT=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) -LONG=$2 +TWEAK=$(grep -Po '(?<=set\(PGROUTING_VERSION_DEV ")[^;]+(?="\))' CMakeLists.txt) +LONG=$3 -dropdb --if-exists "$DB" +if [[ "$FROM_PGR" == 2.* ]]; +then + exit 0 +fi +dropdb --if-exists "$DB" cd build cmake -DPGROUTING_DEBUG=ON -DCMAKE_BUILD_TYPE=Debug .. From 3190c996abe77b8217a9fcd02474ad845b61bf23 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 7 Oct 2020 11:41:51 -0500 Subject: [PATCH 0893/1360] Fixing a pgr_version bug * modified: docqueries/version/doc-full_version.result * modified: docqueries/version/doc-version.result * modified: sql/version/version.sql Note: this fix does not need to be backported because no more "-dev" releases on 3.0 or 3.1 --- docqueries/version/doc-full_version.result | 6 +++--- docqueries/version/doc-version.result | 2 +- sql/version/version.sql | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docqueries/version/doc-full_version.result b/docqueries/version/doc-full_version.result index bfe40b72f67..c1dc2d2a3d7 100644 --- a/docqueries/version/doc-full_version.result +++ b/docqueries/version/doc-full_version.result @@ -4,9 +4,9 @@ SET client_min_messages TO NOTICE; SET -- q1 SELECT * FROM pgr_full_version(); - version | build_type | compile_date | library | system | postgresql | compiler | boost | hash ----------+------------+--------------+-----------------+--------------------------+---------------------------------------------+-----------+--------+----------- - 3.2.0 | Debug | 2020/07/20 | pgrouting-3.2.0 | Linux-4.15.0-111-generic | PostgreSQL 12.2 (Ubuntu 12.2-2.pgdg18.04+1) | GNU-8.4.0 | 1.65.1 | 36c139adf + version | build_type | compile_date | library | system | postgresql | compiler | boost | hash +-----------+------------+--------------+-----------------+------------------------+---------------------------------------------+-----------+--------+------------ + 3.2.0-dev | Debug | 2020/10/07 | pgrouting-3.2.0 | Linux-5.4.0-48-generic | PostgreSQL 12.4 (Ubuntu 12.4-1.pgdg20.04+1) | GNU-8.4.0 | 1.71.0 | ed122decfb (1 row) -- q2 diff --git a/docqueries/version/doc-version.result b/docqueries/version/doc-version.result index 5c6b3c22339..264b75fd26c 100644 --- a/docqueries/version/doc-version.result +++ b/docqueries/version/doc-version.result @@ -6,7 +6,7 @@ SET SELECT pgr_version(); pgr_version ------------- - 3.2.0 + 3.2.0-dev (1 row) -- q2 diff --git a/sql/version/version.sql b/sql/version/version.sql index f9a6d0e92c4..2a178a0f01f 100644 --- a/sql/version/version.sql +++ b/sql/version/version.sql @@ -27,7 +27,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE OR REPLACE FUNCTION pgr_version() RETURNS TEXT AS $BODY$ - SELECT '${PGROUTING_VERSION}'::varchar AS pgr_version; + SELECT '${PGROUTING_VERSION}${PGROUTING_VERSION_DEV}'::varchar AS pgr_version; $BODY$ LANGUAGE sql IMMUTABLE; From 347b2029896bc589008e1e372853905fc993abed Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 7 Oct 2020 21:02:09 -0500 Subject: [PATCH 0894/1360] Removing codeforce link --- .../pgr_binaryBreadthFirstSearch.rst | 1 - .../LC_MESSAGES/pgr_binaryBreadthFirstSearch.po | 17 ++++++++--------- locale/pot/pgr_binaryBreadthFirstSearch.pot | 16 ++++++---------- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst b/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst index 9c5b7b1b8f7..a78df1d8b35 100644 --- a/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst +++ b/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst @@ -224,7 +224,6 @@ See Also ------------------------------------------------------------------------------- * https://cp-algorithms.com/graph/01_bfs.html -* https://codeforces.com/blog/entry/22276 * https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#Specialized_variants .. rubric:: Indices and tables diff --git a/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po b/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po index 5d43277712d..27da0fbe26b 100644 --- a/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po +++ b/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-10-07 21:01-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:11 msgid "pgr_binaryBreadthFirstSearch - Experimental" @@ -593,23 +593,22 @@ msgid "https://cp-algorithms.com/graph/01_bfs.html" msgstr "" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:227 -msgid "https://codeforces.com/blog/entry/22276" -msgstr "" - -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:228 #, python-format msgid "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#Specialized_variants" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:231 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:230 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:231 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:233 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 msgid ":ref:`search`" msgstr "" +#~ msgid "https://codeforces.com/blog/entry/22276" +#~ msgstr "" + diff --git a/locale/pot/pgr_binaryBreadthFirstSearch.pot b/locale/pot/pgr_binaryBreadthFirstSearch.pot index 068f2d22ecc..45f69337cb9 100644 --- a/locale/pot/pgr_binaryBreadthFirstSearch.pot +++ b/locale/pot/pgr_binaryBreadthFirstSearch.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.1.1 # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-10-07 21:01-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -528,22 +528,18 @@ msgid "https://cp-algorithms.com/graph/01_bfs.html" msgstr "" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:227 -msgid "https://codeforces.com/blog/entry/22276" -msgstr "" - -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:228 msgid "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#Specialized_variants" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:231 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:230 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:231 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:233 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 msgid ":ref:`search`" msgstr "" From 14c6275806b549b422490b82647175d5fd70dce4 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Sat, 10 Oct 2020 07:42:31 -0500 Subject: [PATCH 0895/1360] issue 1630: fixing as suggested --- pgtap/allpairs/compare-directed.test.sql | 1 + pgtap/allpairs/compare-undirected.test.sql | 1 + pgtap/allpairs/floydWarshall-innerQuery.sql | 1 + pgtap/allpairs/fw-types-check.sql | 1 + pgtap/allpairs/j-types-check.sql | 1 + pgtap/allpairs/johnson-innerQuery.sql | 1 + .../allpairs/no_crash_test-floydWarshall.sql | 1 + pgtap/allpairs/no_crash_test-johnson.sql | 1 + pgtap/alpha_shape/issue-544.sql | 1 + pgtap/alpha_shape/no_crash_test-alphashp.sql | 1 + pgtap/alpha_shape/notebook-test.sql | 1 + pgtap/alpha_shape/s_shape-test.sql | 1 + pgtap/alpha_shape/sampledata-test.sql | 1 + pgtap/alpha_shape/specialCases.sql | 1 + pgtap/astar/aStar-group-innerQuery.sql | 1 + pgtap/astar/aStarCost-group-innerQuery.sql | 1 + ...astar_ManyToMany-compare-dijkstra.test.sql | 2 +- .../astar_ManyToOne-compare-dijkstra.test.sql | 2 +- .../astar_oneToMany-compare-dijkstra.test.sql | 2 +- .../astar_oneToOne-compare-dijkstra.test.sql | 2 +- pgtap/astar/astar_oneToOne-types-check.sql | 1 + pgtap/astar/no_crash_test-astar.sql | 1 + pgtap/astar/no_crash_test-astarCost.sql | 1 + pgtap/bdAstar/bdAstar-compare-dijkstra.sql | 2 +- pgtap/bdAstar/bdAstar-innerQuery.sql | 1 + .../bdAstar/bdAstar-parameter-types-check.sql | 1 + pgtap/bdAstar/bdAstar-return-types-check.sql | 1 + pgtap/bdAstar/bdAstarCost-innerQuery.sql | 1 + .../bdAstar/bdAstarCostMatrix-innerQuery.sql | 1 + pgtap/bdAstar/no_crash_test-bdastar.sql | 1 + pgtap/bdAstar/no_crash_test-bdastarCost.sql | 1 + .../bdDijkstra-compare-dijkstra.sql | 2 +- pgtap/bdDijkstra/bdDijkstra-innerQuery.sql | 1 + pgtap/bdDijkstra/bdDijkstra-types-check.sql | 1 + .../bdDijkstra/bdDijkstraCost-innerQuery.sql | 1 + pgtap/bdDijkstra/no_crash_test-bdDijkstra.sql | 1 + .../no_crash_test-bdDijkstraCost.sql | 1 + .../bellman_ford-compare-dijkstra.sql | 2 +- .../bellman_ford/bellman_ford-innerQuery.sql | 1 + .../bellman_ford/bellman_ford-typesCheck.sql | 1 + .../bellman_ford_neg_edges-typesCheck.sql | 1 + .../edwardMoore-compare-dijkstra.sql | 1 + .../edwardMoore/edwardMoore-innerQuery.sql | 1 + .../edwardMoore/edwardMoore-types-check.sql | 1 + .../edwardMoore/no_crash_test-edwardMoore.sql | 1 + ...aryBreadthFirstSearch-compare-dijkstra.sql | 1 + .../binaryBreadthFirstSearch-edge-cases.sql | 1 + .../binaryBreadthFirstSearch-innerQuery.sql | 1 + .../binaryBreadthFirstSearch-types-check.sql | 1 + ...no_crash_test-binaryBreadthFirstSearch.sql | 1 + .../breadthFirstSearch-edge-cases.sql | 1 + .../breadthFirstSearch-innerQuery.sql | 1 + .../breadthFirstSearch-types-check.sql | 1 + .../no_crash_test-breadthFirstSearch.sql | 1 + pgtap/chinese/chinesePostman/types-check.sql | 1 + .../chinese/chinesePostmanCost/innerQuery.sql | 1 + .../chinesePostmanCost/types-check.sql | 1 + pgtap/coloring/bipartite/edge-cases.sql | 1 + pgtap/coloring/bipartite/innerQuery.sql | 1 + pgtap/coloring/bipartite/no_crash_test.sql | 1 + pgtap/coloring/bipartite/types_check.sql | 1 + .../sequentialVertexColoring/edge_cases.sql | 1 + .../sequentialVertexColoring/inner_query.sql | 1 + .../no_crash_test.sql | 1 + .../sequentialVertexColoring/types_check.sql | 1 + pgtap/common/checkVertTab.test.sql | 1 + pgtap/common/getColumnName.test.sql | 1 + pgtap/common/getColumnType.test.sql | 1 + pgtap/common/getTableName.test.sql | 1 + pgtap/common/has_v3_signatures.sql | 1 + pgtap/common/hasnt_v2_signatures.sql | 1 + pgtap/common/isColumnInTable.test.sql | 1 + pgtap/common/isColumnIndexed.test.sql | 1 + .../articulationPoints/innerQuery.sql | 1 + .../articulationPoints/no_crash_test.sql | 1 + .../biconnectedComponents/innerQuery.sql | 1 + .../biconnectedComponents/no_crash_test.sql | 1 + pgtap/components/bridges/innerQuery.sql | 1 + pgtap/components/bridges/no_crash_test.sql | 1 + .../connectedComponenes/innerQuery.sql | 1 + .../connectedComponenes/no_crash_test.sql | 1 + pgtap/components/makeConnected/edge_cases.sql | 1 + .../components/makeConnected/inner_query.sql | 1 + .../makeConnected/no_crash_test.sql | 1 + .../components/makeConnected/types_check.sql | 1 + .../strongComponenets/innerQuery.sql | 1 + .../strongComponenets/no_crash_test.sql | 1 + .../contraction/combined/dijkstra-compare.sql | 4 ++-- pgtap/contraction/contraction-types-check.sql | 1 + .../contraction_cycle_directed.sql | 1 + .../contraction_cycle_undirected.sql | 1 + .../deadend/directed/dijkstra-compare.sql | 2 +- .../deadend/directed/directed-big-ids.sql | 1 + .../directed/directed-deadend-cases.sql | 1 + .../deadend/directed/directed-dev-deadend.sql | 1 + .../deadend/directed/directed-small_ids.sql | 1 + .../directed/directed-super-big-ids.sql | 1 + .../deadend/directed/directed_dead_end.sql | 1 + .../deadend/directed/innerQuery.sql | 1 + .../deadend/undirected/big-ids.sql | 1 + .../contraction/deadend/undirected/cases.sql | 1 + .../deadend/undirected/dev-cases.sql | 1 + .../deadend/undirected/dijkstra-compare.sql | 2 +- .../deadend/undirected/innerQuery.sql | 1 + .../deadend/undirected/more_cases.sql | 1 + .../deadend/undirected/small_ids.sql | 1 + .../deadend/undirected/super_big_ids.sql | 1 + pgtap/contraction/issue1002/issue1002.sql | 1 + .../linear/directed/dijkstra-compare.sql | 2 +- .../linear/directed/directed_linear.sql | 3 ++- .../linear/directed/innerQuery.sql | 1 + .../linear/undirected/dijkstra-compare.sql | 4 ++-- .../linear/undirected/innerQuery.sql | 1 + .../linear/undirected/undirected_linear.sql | 3 ++- .../contraction/no_crash_test-contraction.sql | 1 + .../costMatrix/aStarCostMatrix/innerQuery.sql | 1 + .../aStarCostMatrix/no_crash_test.sql | 1 + .../bdAstarCostMatrix/innerQuery.sql | 1 + .../bdAstarCostMatrix/no_crash_test.sql | 1 + .../bdDijkstraCostMatrix/innerQuery.sql | 1 + .../bdDijkstraCostMatrix/no_crash_test.sql | 1 + .../dijkstraCostMatrix/innerQuery.sql | 1 + .../dijkstraCostMatrix/no_crash_test.sql | 1 + .../withPointsCostMatrix/innerQuery.sql | 1 + .../withPointsCostMatrix/no_crash_test.sql | 1 + .../dagShortestPath-innerQuery.sql | 1 + .../dagShortestPath-typesCheck.sql | 1 + pgtap/dijkstra/dijkstra-group-innerQuery.sql | 1 + .../dijkstra-infinity-alt-cost.test.sql | 1 + .../dijkstra/dijkstra-infinity-cost.test.sql | 1 + pgtap/dijkstra/dijkstra-issue-353.test.sql | 1 + pgtap/dijkstra/dijkstra-types-check.sql | 1 + .../dijkstraCost-group-innerQuery.sql | 1 + pgtap/dijkstra/dijkstraCost-types-check.sql | 1 + ...t_empty_combinations_empty_result.test.sql | 1 + .../dijkstraVia-equivalenceDijkstra.test.sql | 1 + pgtap/dijkstra/dijkstraVia-innerQuery.sql | 1 + pgtap/dijkstra/dijkstraVia-types-check.sql | 1 + ...a_empty_combinations_empty_result.test.sql | 1 + .../manyToMany_equiv_combinations.test.sql | 2 +- pgtap/dijkstra/no_crash_test-dijkstra.sql | 1 + pgtap/dijkstra/no_crash_test-dijkstraCost.sql | 1 + pgtap/dijkstra/no_crash_test-dijkstraVia.sql | 1 + .../oneToOne_equiv_manyToMany.test.sql | 2 +- .../oneToOne_equiv_manyToOne.test.sql | 2 +- .../oneToOne_equiv_oneToMany.test.sql | 2 +- pgtap/dijkstra/zero_one_edge_-1_rev.test.sql | 3 ++- pgtap/dijkstra/zero_one_edge_has_rev.test.sql | 3 ++- pgtap/dijkstra/zero_one_edge_no_rev.test.sql | 3 ++- .../edge-cases.sql | 1 + .../innerQuery.sql | 1 + .../no_crash_test.sql | 1 + .../types_check.sql | 1 + .../dijkstraDD-innerQuery.sql | 1 + pgtap/driving_distance/issue-519.sql | 1 + pgtap/driving_distance/issue1152.sql | 1 + .../no_crash_test-drivingDistance.sql | 1 + .../no_crash_test-withPointsDD.sql | 1 + .../withPointsDD-group-innerQuery.sql | 1 + pgtap/ksp/issue1010.sql | 1 + pgtap/ksp/ksp-innerQuery.sql | 1 + pgtap/ksp/ksp-v3-1route.test.sql | 1 + pgtap/ksp/no_crash_test-ksp.sql | 1 + pgtap/ksp/no_crash_test-withPointsKSP.sql | 1 + pgtap/ksp/tr_compare-dijkstra.sql | 2 +- pgtap/ksp/tr_custom.sql | 19 ++++++++++--------- pgtap/ksp/tr_empty_set_NO_default_strict.sql | 1 + pgtap/ksp/tr_empty_set_default_strict.sql | 1 + pgtap/ksp/tr_innerQuery.sql | 1 + pgtap/ksp/tr_typesCheck.sql | 1 + pgtap/ksp/withPointsKSP-innerQuery.sql | 1 + pgtap/lineGraph/lineGraph/innerQuery.sql | 1 + .../lineGraph/lineGraph-typesCheck.sql | 1 + .../lineGraph/no_crash_test-lineGraph.sql | 1 + pgtap/lineGraph/lineGraph/no_crash_test.sql | 1 + pgtap/lineGraph/lineGraphFull/innerQuery.sql | 1 + ...lineGraphFull-reverse_cost_equivalence.sql | 1 + .../lineGraphFull-typesCheck.sql | 1 + .../lineGraphFull_dijkstra_equivalence.sql | 1 + .../lineGraphFull_original_edge_check.sql | 1 + .../lineGraphFull_original_vertex_mapping.sql | 1 + .../max_flow/boykovKolmogorov-innerQuery.sql | 1 + .../max_flow/boykovKolmogorov-types-check.sql | 1 + .../edgedisjointpaths-group-innerQuery.sql | 1 + .../edgedisjointpaths-types-check.sql | 1 + pgtap/max_flow/edmondsKarp-innerQuery.sql | 1 + pgtap/max_flow/edmondsKarp-types-check.sql | 1 + pgtap/max_flow/internet_example.sql | 1 + .../maxCardinalityMatch-innerQuery.sql | 1 + .../maxCardinalityMatch-types-check.sql | 1 + .../maxFlow/maxflow-group-innerQuery.sql | 1 + .../max_flow/maxFlow/maxflow-types-check.sql | 1 + .../maxFlow/no_crash_test-maxFlow.sql | 1 + .../maxFlowMinCost-innerQuery.sql | 1 + .../maxFlowMinCost-types-check.sql | 1 + .../maxFlowMinCost_Cost-innerquery.sql | 1 + .../maxFlowMinCost_Cost-types-check.sql | 1 + .../no_crash_test-boykovKolmogorov.sql | 1 + .../no_crash_test-edgeDisjointPaths.sql | 1 + pgtap/max_flow/no_crash_test-edmondsKarp.sql | 1 + .../no_crash_test-maxCardinalityMatch.sql | 1 + pgtap/max_flow/no_crash_test-pushRelabel.sql | 1 + pgtap/max_flow/pushRelabel-innerQuery.sql | 1 + pgtap/max_flow/pushRelabel-types-check.sql | 1 + pgtap/mincut/compare.test.sql | 1 + pgtap/mincut/stoerWagner-innerQuery.sql | 1 + pgtap/mincut/stoerWagner-types-check.sql | 1 + pgtap/pickDeliver/order_id_is_neg1.sql | 1 + .../pickDeliver-VS-pickDeliverEuclidean.sql | 1 + pgtap/pickDeliver/pickDeliver/innerQuery.sql | 1 + pgtap/pickDeliver/pickDeliver/types_check.sql | 1 + .../pickDeliverEuclidean/innerQuery.sql | 1 + .../pickDeliverEuclidean/types_check.sql | 1 + .../wrong_data_pickDeliverEuclidean.sql | 1 + pgtap/planar/isPlanar/edge_cases.sql | 1 + pgtap/planar/isPlanar/inner_query.sql | 1 + pgtap/planar/isPlanar/no_crash_test.sql | 1 + pgtap/planar/isPlanar/types_check.sql | 1 + pgtap/spanningTree/compare-prim-kruskal.sql | 2 +- .../compare-primBFS-kruskalBFS.sql | 2 +- .../spanningTree/compare-primDD-kruskalDD.sql | 2 +- .../compare-primDFS-kruskalDFS.sql | 2 +- .../kruskal/kruskal/kruskal-edge-cases.sql | 2 +- .../kruskal/kruskal/kruskal-innerQuery.sql | 1 + .../kruskal/kruskal/kruskal-types-check.sql | 1 + .../kruskal/kruskal/no_crash_test-kruskal.sql | 1 + .../kruskalBFS/kruskalBFS-edge-cases.sql | 2 +- .../kruskalBFS/kruskalBFS-innerQuery.sql | 1 + .../kruskalBFS/kruskalBFS-types-check.sql | 1 + .../kruskalBFS/no_crash_test-kruskalBFS.sql | 1 + .../kruskalDD/kruskalDD-edge-cases.sql | 2 +- .../kruskalDD/kruskalDD-innerQuery.sql | 1 + .../kruskalDD/kruskalDD-types-check.sql | 1 + .../kruskalDD/no_crash_test-kruskalDD.sql | 1 + .../kruskalDFS/kruskalDFS-edge-cases.sql | 2 +- .../kruskalDFS/kruskalDFS-innerQuery.sql | 1 + .../kruskalDFS/kruskalDFS-types-check.sql | 1 + .../kruskalDFS/no_crash_test-kruskalDFS.sql | 1 + .../prim/prim/no_crash_test-prim.sql | 1 + .../prim/prim/prim-edge-cases.sql | 2 +- .../prim/prim/prim-innerQuery.sql | 1 + .../prim/prim/prim-types-check.sql | 1 + .../prim/primBFS/no_crash_test-primBFS.sql | 1 + .../prim/primBFS/primBFS-edge-cases.sql | 2 +- .../prim/primBFS/primBFS-innerQuery.sql | 1 + .../prim/primBFS/primBFS-types-check.sql | 1 + .../prim/primDD/no_crash_test-primDD.sql | 1 + .../prim/primDD/primDD-edge-cases.sql | 2 +- .../prim/primDD/primDD-innerQuery.sql | 1 + .../prim/primDD/primDD-types-check.sql | 1 + .../prim/primDFS/no_crash_test-primDFS.sql | 1 + .../prim/primDFS/primDFS-edge-cases.sql | 4 ++-- .../prim/primDFS/primDFS-innerQuery.sql | 1 + .../prim/primDFS/primDFS-types-check.sql | 1 + .../no_crash_test-topologicalSort.sql | 1 + .../topologicalSort-innerQuery.sql | 1 + pgtap/topology/analyzeGraph.test.sql | 1 + pgtap/topology/analyzeOneWay.test.sql | 1 + pgtap/topology/createTopology.test.sql | 1 + pgtap/topology/extractVertices/edge-cases.sql | 2 +- pgtap/topology/extractVertices/innerQuery.sql | 1 + .../extractVertices/no_crash_test.sql | 1 + .../topology/extractVertices/types-check.sql | 1 + pgtap/topology/issue-1009.sql | 1 + pgtap/topology/issue-1074.sql | 1 + pgtap/topology/issue-1336.sql | 1 + pgtap/topology/nodeNetwork.test.sql | 1 + .../no_crash_test-transitiveClosure.sql | 1 + .../transitiveClosure-innerQuery.sql | 1 + .../depthFirstSearch/edge_cases_directed.sql | 1 + .../edge_cases_undirected.sql | 1 + .../depthFirstSearch/equivalence_BFS.test.sql | 1 + .../depthFirstSearch/inner_query.sql | 1 + .../traversal/depthFirstSearch/issue1348.sql | 1 + .../depthFirstSearch/no_crash_test.sql | 1 + ...ngleVertex_equiv_multipleVertices.test.sql | 2 +- .../depthFirstSearch/types_check.sql | 1 + ...ank-restrictions-compare-dijkstra.test.sql | 1 + pgtap/trsp/emptyset-from-i-to-i.test.sql | 3 ++- pgtap/trsp/from1to3.test.sql | 2 +- pgtap/trsp/from3to4-directed.test.sql | 2 +- ...ictions-compare-dijkstra-directed.test.sql | 2 +- ...tions-compare-dijkstra-undirected.test.sql | 2 +- pgtap/trsp/no_crash_test-trsp-int-flt.sql | 1 + pgtap/trsp/no_crash_test-trsp-int-int.sql | 1 + pgtap/trsp/no_crash_test-trsp-viaE.sql | 1 + pgtap/trsp/no_crash_test-trsp-viaV.sql | 1 + pgtap/trsp/trsp-any-00.test.sql | 2 +- pgtap/trsp/trsp-any-01.test.sql | 2 +- pgtap/trsp/trsp-issue244.test.sql | 1 + pgtap/trsp/trsp/innerQuery.sql | 1 + pgtap/trsp/trspViaEdges/innerQuery.sql | 1 + pgtap/trsp/trspViaVertices/innerQuery.sql | 1 + ...ictions-compare-dijkstra-directed.test.sql | 2 +- ...tions-compare-dijkstra-undirected.test.sql | 2 +- pgtap/tsp/TSPeuclidean/illegal_values.sql | 1 + pgtap/tsp/TSPeuclidean/innerQuery.sql | 1 + pgtap/tsp/TSPeuclidean/no_crash_test.sql | 1 + pgtap/tsp/TSPeuclidean/types_check.sql | 1 + pgtap/tsp/no_crash_test-tsp.sql | 1 + pgtap/tsp/pgr_TSP_types_check.sql | 1 + pgtap/version/full_version.sql | 1 + pgtap/version/version.sql | 1 + pgtap/vrp_basic/no_crash_test-vrpOneDepot.sql | 1 + pgtap/withPoints/no_crash_test-withPoints.sql | 1 + .../no_crash_test-withPointsCost.sql | 1 + .../withPoints-group-innerQuery.sql | 1 + .../withPointsCost-group-innerQuery.sql | 1 + 308 files changed, 326 insertions(+), 57 deletions(-) diff --git a/pgtap/allpairs/compare-directed.test.sql b/pgtap/allpairs/compare-directed.test.sql index 00883b3d9be..49c4d95cdba 100644 --- a/pgtap/allpairs/compare-directed.test.sql +++ b/pgtap/allpairs/compare-directed.test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(15); -- TESTS WITH DIRECTED diff --git a/pgtap/allpairs/compare-undirected.test.sql b/pgtap/allpairs/compare-undirected.test.sql index 7539387b6dd..0cf62793bf9 100644 --- a/pgtap/allpairs/compare-undirected.test.sql +++ b/pgtap/allpairs/compare-undirected.test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(9); -- TESTS WITH DIRECTED diff --git a/pgtap/allpairs/floydWarshall-innerQuery.sql b/pgtap/allpairs/floydWarshall-innerQuery.sql index 4f642ca1abb..72b0ad78a7f 100644 --- a/pgtap/allpairs/floydWarshall-innerQuery.sql +++ b/pgtap/allpairs/floydWarshall-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(98); diff --git a/pgtap/allpairs/fw-types-check.sql b/pgtap/allpairs/fw-types-check.sql index aeb679d4014..c46a1eaa7ca 100644 --- a/pgtap/allpairs/fw-types-check.sql +++ b/pgtap/allpairs/fw-types-check.sql @@ -2,6 +2,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(4); PREPARE q1 AS diff --git a/pgtap/allpairs/j-types-check.sql b/pgtap/allpairs/j-types-check.sql index afbb799cb0b..df4914ebb2b 100644 --- a/pgtap/allpairs/j-types-check.sql +++ b/pgtap/allpairs/j-types-check.sql @@ -2,6 +2,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(4); PREPARE q1 AS diff --git a/pgtap/allpairs/johnson-innerQuery.sql b/pgtap/allpairs/johnson-innerQuery.sql index a06ab1ac74d..6a6d9a3155c 100644 --- a/pgtap/allpairs/johnson-innerQuery.sql +++ b/pgtap/allpairs/johnson-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(98); diff --git a/pgtap/allpairs/no_crash_test-floydWarshall.sql b/pgtap/allpairs/no_crash_test-floydWarshall.sql index 4a240ed3850..349e9f07f91 100644 --- a/pgtap/allpairs/no_crash_test-floydWarshall.sql +++ b/pgtap/allpairs/no_crash_test-floydWarshall.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE edges AS diff --git a/pgtap/allpairs/no_crash_test-johnson.sql b/pgtap/allpairs/no_crash_test-johnson.sql index 92ac88dd60a..896dee36b96 100644 --- a/pgtap/allpairs/no_crash_test-johnson.sql +++ b/pgtap/allpairs/no_crash_test-johnson.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE edges AS diff --git a/pgtap/alpha_shape/issue-544.sql b/pgtap/alpha_shape/issue-544.sql index 4e064b966df..659770f7571 100644 --- a/pgtap/alpha_shape/issue-544.sql +++ b/pgtap/alpha_shape/issue-544.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(3); --DROP TABLE nodes; diff --git a/pgtap/alpha_shape/no_crash_test-alphashp.sql b/pgtap/alpha_shape/no_crash_test-alphashp.sql index c03a24019f9..0c99330a961 100644 --- a/pgtap/alpha_shape/no_crash_test-alphashp.sql +++ b/pgtap/alpha_shape/no_crash_test-alphashp.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE alpha_sql AS diff --git a/pgtap/alpha_shape/notebook-test.sql b/pgtap/alpha_shape/notebook-test.sql index c33c39b3262..1902da6805b 100644 --- a/pgtap/alpha_shape/notebook-test.sql +++ b/pgtap/alpha_shape/notebook-test.sql @@ -6,6 +6,7 @@ Benchmark tests with data from: https://github.com/plotly/documentation/blob/source-design-merge/_posts/python/scientific/alpha-shapes/data-ex-2d.txt https://plot.ly/python/alpha-shapes/ */ +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(147); diff --git a/pgtap/alpha_shape/s_shape-test.sql b/pgtap/alpha_shape/s_shape-test.sql index 5e8e1992c1c..0597dd0baf3 100644 --- a/pgtap/alpha_shape/s_shape-test.sql +++ b/pgtap/alpha_shape/s_shape-test.sql @@ -4,6 +4,7 @@ data from http://www.bostongis.com/postgis_concavehull.snippet */ +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(167); CREATE TABLE s_test(geom geometry); diff --git a/pgtap/alpha_shape/sampledata-test.sql b/pgtap/alpha_shape/sampledata-test.sql index 5ec805fe5de..620a2acce9c 100644 --- a/pgtap/alpha_shape/sampledata-test.sql +++ b/pgtap/alpha_shape/sampledata-test.sql @@ -2,6 +2,7 @@ Test for old code VS new code results Data from sample data of the documentation */ +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); PREPARE q1 AS diff --git a/pgtap/alpha_shape/specialCases.sql b/pgtap/alpha_shape/specialCases.sql index 8c30a8ce065..691cd99c754 100644 --- a/pgtap/alpha_shape/specialCases.sql +++ b/pgtap/alpha_shape/specialCases.sql @@ -1,3 +1,4 @@ +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(2); -- duplicated points are removed diff --git a/pgtap/astar/aStar-group-innerQuery.sql b/pgtap/astar/aStar-group-innerQuery.sql index 53c54c6bd10..9a218ed26be 100644 --- a/pgtap/astar/aStar-group-innerQuery.sql +++ b/pgtap/astar/aStar-group-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(416); diff --git a/pgtap/astar/aStarCost-group-innerQuery.sql b/pgtap/astar/aStarCost-group-innerQuery.sql index 8360758db14..c6e8e29ece6 100644 --- a/pgtap/astar/aStarCost-group-innerQuery.sql +++ b/pgtap/astar/aStarCost-group-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(416); diff --git a/pgtap/astar/astar_ManyToMany-compare-dijkstra.test.sql b/pgtap/astar/astar_ManyToMany-compare-dijkstra.test.sql index 816e50a33b0..6bc23e15d40 100644 --- a/pgtap/astar/astar_ManyToMany-compare-dijkstra.test.sql +++ b/pgtap/astar/astar_ManyToMany-compare-dijkstra.test.sql @@ -25,7 +25,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. SELECT plan(4); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE or REPLACE FUNCTION astarCompareDijkstra(cant INTEGER default 17) RETURNS SETOF TEXT AS diff --git a/pgtap/astar/astar_ManyToOne-compare-dijkstra.test.sql b/pgtap/astar/astar_ManyToOne-compare-dijkstra.test.sql index 94cb3b41ff6..1356aecca40 100644 --- a/pgtap/astar/astar_ManyToOne-compare-dijkstra.test.sql +++ b/pgtap/astar/astar_ManyToOne-compare-dijkstra.test.sql @@ -27,7 +27,7 @@ SELECT plan(68); SET client_min_messages TO ERROR; -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE or REPLACE FUNCTION astarCompareDijkstra(cant INTEGER default 17) RETURNS SETOF TEXT AS diff --git a/pgtap/astar/astar_oneToMany-compare-dijkstra.test.sql b/pgtap/astar/astar_oneToMany-compare-dijkstra.test.sql index 84943f0dc5b..724439e064e 100644 --- a/pgtap/astar/astar_oneToMany-compare-dijkstra.test.sql +++ b/pgtap/astar/astar_oneToMany-compare-dijkstra.test.sql @@ -27,7 +27,7 @@ SELECT plan(68); SET client_min_messages TO ERROR; -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE or REPLACE FUNCTION astarCompareDijkstra(cant INTEGER default 17) RETURNS SETOF TEXT AS diff --git a/pgtap/astar/astar_oneToOne-compare-dijkstra.test.sql b/pgtap/astar/astar_oneToOne-compare-dijkstra.test.sql index 1fb5c9a1247..687348cd46f 100644 --- a/pgtap/astar/astar_oneToOne-compare-dijkstra.test.sql +++ b/pgtap/astar/astar_oneToOne-compare-dijkstra.test.sql @@ -25,7 +25,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. SELECT plan(612); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE or REPLACE FUNCTION astarCompareDijkstra(cant INTEGER default 17) RETURNS SETOF TEXT AS diff --git a/pgtap/astar/astar_oneToOne-types-check.sql b/pgtap/astar/astar_oneToOne-types-check.sql index 971d392b0f6..bd054e7d291 100644 --- a/pgtap/astar/astar_oneToOne-types-check.sql +++ b/pgtap/astar/astar_oneToOne-types-check.sql @@ -23,6 +23,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(116); SET client_min_messages TO ERROR; diff --git a/pgtap/astar/no_crash_test-astar.sql b/pgtap/astar/no_crash_test-astar.sql index 3ec9bea2ebf..68f2695333e 100644 --- a/pgtap/astar/no_crash_test-astar.sql +++ b/pgtap/astar/no_crash_test-astar.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/astar/no_crash_test-astarCost.sql b/pgtap/astar/no_crash_test-astarCost.sql index 753dc4614a3..d2bc9935bc0 100644 --- a/pgtap/astar/no_crash_test-astarCost.sql +++ b/pgtap/astar/no_crash_test-astarCost.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/bdAstar/bdAstar-compare-dijkstra.sql b/pgtap/bdAstar/bdAstar-compare-dijkstra.sql index 008caab5963..d4cee59a730 100644 --- a/pgtap/bdAstar/bdAstar-compare-dijkstra.sql +++ b/pgtap/bdAstar/bdAstar-compare-dijkstra.sql @@ -4,7 +4,7 @@ SET client_min_messages TO ERROR; SELECT plan(544); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE or REPLACE FUNCTION bdastar_compare_dijkstra(cant INTEGER default 17) diff --git a/pgtap/bdAstar/bdAstar-innerQuery.sql b/pgtap/bdAstar/bdAstar-innerQuery.sql index 26f08c992b7..3aa96324930 100644 --- a/pgtap/bdAstar/bdAstar-innerQuery.sql +++ b/pgtap/bdAstar/bdAstar-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(416); diff --git a/pgtap/bdAstar/bdAstar-parameter-types-check.sql b/pgtap/bdAstar/bdAstar-parameter-types-check.sql index a2f0a0ccec1..ea08c23ffca 100644 --- a/pgtap/bdAstar/bdAstar-parameter-types-check.sql +++ b/pgtap/bdAstar/bdAstar-parameter-types-check.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(8); diff --git a/pgtap/bdAstar/bdAstar-return-types-check.sql b/pgtap/bdAstar/bdAstar-return-types-check.sql index fa734e146e9..4081342808e 100644 --- a/pgtap/bdAstar/bdAstar-return-types-check.sql +++ b/pgtap/bdAstar/bdAstar-return-types-check.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); SELECT can(ARRAY['pgr_bdastar']); diff --git a/pgtap/bdAstar/bdAstarCost-innerQuery.sql b/pgtap/bdAstar/bdAstarCost-innerQuery.sql index 110548de69a..8c7b2e0bb20 100644 --- a/pgtap/bdAstar/bdAstarCost-innerQuery.sql +++ b/pgtap/bdAstar/bdAstarCost-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(416); diff --git a/pgtap/bdAstar/bdAstarCostMatrix-innerQuery.sql b/pgtap/bdAstar/bdAstarCostMatrix-innerQuery.sql index 8ef69a0f994..b4cc57208e3 100644 --- a/pgtap/bdAstar/bdAstarCostMatrix-innerQuery.sql +++ b/pgtap/bdAstar/bdAstarCostMatrix-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(206); diff --git a/pgtap/bdAstar/no_crash_test-bdastar.sql b/pgtap/bdAstar/no_crash_test-bdastar.sql index 8c808b355aa..f4c72b81cb8 100644 --- a/pgtap/bdAstar/no_crash_test-bdastar.sql +++ b/pgtap/bdAstar/no_crash_test-bdastar.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/bdAstar/no_crash_test-bdastarCost.sql b/pgtap/bdAstar/no_crash_test-bdastarCost.sql index a6bb9389637..ad420da951f 100644 --- a/pgtap/bdAstar/no_crash_test-bdastarCost.sql +++ b/pgtap/bdAstar/no_crash_test-bdastarCost.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/bdDijkstra/bdDijkstra-compare-dijkstra.sql b/pgtap/bdDijkstra/bdDijkstra-compare-dijkstra.sql index 594f511102c..fc8edacf573 100644 --- a/pgtap/bdDijkstra/bdDijkstra-compare-dijkstra.sql +++ b/pgtap/bdDijkstra/bdDijkstra-compare-dijkstra.sql @@ -4,7 +4,7 @@ SET client_min_messages TO ERROR; SELECT plan(544); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE or REPLACE FUNCTION bddijkstra_compare_dijkstra(cant INTEGER default 17) RETURNS SETOF TEXT AS diff --git a/pgtap/bdDijkstra/bdDijkstra-innerQuery.sql b/pgtap/bdDijkstra/bdDijkstra-innerQuery.sql index 6a3988f6306..dcd81020e4d 100644 --- a/pgtap/bdDijkstra/bdDijkstra-innerQuery.sql +++ b/pgtap/bdDijkstra/bdDijkstra-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(656); SELECT has_function('pgr_bddijkstra', ARRAY['text', 'bigint', 'bigint', 'boolean']); diff --git a/pgtap/bdDijkstra/bdDijkstra-types-check.sql b/pgtap/bdDijkstra/bdDijkstra-types-check.sql index d8bc6244680..220099c5ba8 100644 --- a/pgtap/bdDijkstra/bdDijkstra-types-check.sql +++ b/pgtap/bdDijkstra/bdDijkstra-types-check.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); SELECT can(ARRAY['pgr_bddijkstra']); diff --git a/pgtap/bdDijkstra/bdDijkstraCost-innerQuery.sql b/pgtap/bdDijkstra/bdDijkstraCost-innerQuery.sql index 048018ac8fe..4abd1b16bab 100644 --- a/pgtap/bdDijkstra/bdDijkstraCost-innerQuery.sql +++ b/pgtap/bdDijkstra/bdDijkstraCost-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(656); SELECT has_function('pgr_bddijkstracost', ARRAY['text', 'bigint', 'bigint', 'boolean']); diff --git a/pgtap/bdDijkstra/no_crash_test-bdDijkstra.sql b/pgtap/bdDijkstra/no_crash_test-bdDijkstra.sql index 774808d8bdc..7812ce7a952 100644 --- a/pgtap/bdDijkstra/no_crash_test-bdDijkstra.sql +++ b/pgtap/bdDijkstra/no_crash_test-bdDijkstra.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/bdDijkstra/no_crash_test-bdDijkstraCost.sql b/pgtap/bdDijkstra/no_crash_test-bdDijkstraCost.sql index ea9c2fe8856..71448a7325b 100644 --- a/pgtap/bdDijkstra/no_crash_test-bdDijkstraCost.sql +++ b/pgtap/bdDijkstra/no_crash_test-bdDijkstraCost.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/bellman_ford/bellman_ford/bellman_ford-compare-dijkstra.sql b/pgtap/bellman_ford/bellman_ford/bellman_ford-compare-dijkstra.sql index f8af867ef70..6c70ac79fe7 100644 --- a/pgtap/bellman_ford/bellman_ford/bellman_ford-compare-dijkstra.sql +++ b/pgtap/bellman_ford/bellman_ford/bellman_ford-compare-dijkstra.sql @@ -4,7 +4,7 @@ SELECT plan(1156); SET client_min_messages TO ERROR; -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE or REPLACE FUNCTION bellman_ford_compare_dijkstra(cant INTEGER default 17) RETURNS SETOF TEXT AS diff --git a/pgtap/bellman_ford/bellman_ford/bellman_ford-innerQuery.sql b/pgtap/bellman_ford/bellman_ford/bellman_ford-innerQuery.sql index 4190f8ec6b6..7e424b481d5 100644 --- a/pgtap/bellman_ford/bellman_ford/bellman_ford-innerQuery.sql +++ b/pgtap/bellman_ford/bellman_ford/bellman_ford-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(378); SET client_min_messages TO ERROR; diff --git a/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql b/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql index 42f51221d05..cb08043abbd 100644 --- a/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql +++ b/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql @@ -1,4 +1,5 @@ +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(9); SELECT has_function('pgr_bellmanford'); diff --git a/pgtap/bellman_ford/bellman_ford/bellman_ford_neg_edges-typesCheck.sql b/pgtap/bellman_ford/bellman_ford/bellman_ford_neg_edges-typesCheck.sql index 02036280d99..cb900431a17 100644 --- a/pgtap/bellman_ford/bellman_ford/bellman_ford_neg_edges-typesCheck.sql +++ b/pgtap/bellman_ford/bellman_ford/bellman_ford_neg_edges-typesCheck.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(9); SELECT has_function('pgr_bellmanford'); diff --git a/pgtap/bellman_ford/edwardMoore/edwardMoore-compare-dijkstra.sql b/pgtap/bellman_ford/edwardMoore/edwardMoore-compare-dijkstra.sql index efe65ce886c..41c75262774 100644 --- a/pgtap/bellman_ford/edwardMoore/edwardMoore-compare-dijkstra.sql +++ b/pgtap/bellman_ford/edwardMoore/edwardMoore-compare-dijkstra.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(1156); SET client_min_messages TO ERROR; diff --git a/pgtap/bellman_ford/edwardMoore/edwardMoore-innerQuery.sql b/pgtap/bellman_ford/edwardMoore/edwardMoore-innerQuery.sql index 65eb77cc0f7..0016f94066b 100644 --- a/pgtap/bellman_ford/edwardMoore/edwardMoore-innerQuery.sql +++ b/pgtap/bellman_ford/edwardMoore/edwardMoore-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(378); SET client_min_messages TO ERROR; diff --git a/pgtap/bellman_ford/edwardMoore/edwardMoore-types-check.sql b/pgtap/bellman_ford/edwardMoore/edwardMoore-types-check.sql index 388e524d1e3..ed527d5d157 100644 --- a/pgtap/bellman_ford/edwardMoore/edwardMoore-types-check.sql +++ b/pgtap/bellman_ford/edwardMoore/edwardMoore-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(14); SET client_min_messages TO ERROR; diff --git a/pgtap/bellman_ford/edwardMoore/no_crash_test-edwardMoore.sql b/pgtap/bellman_ford/edwardMoore/no_crash_test-edwardMoore.sql index 1a68ec51c8a..f640a6b0465 100644 --- a/pgtap/bellman_ford/edwardMoore/no_crash_test-edwardMoore.sql +++ b/pgtap/bellman_ford/edwardMoore/no_crash_test-edwardMoore.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-compare-dijkstra.sql b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-compare-dijkstra.sql index 058435e5078..c0d4e7920f7 100644 --- a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-compare-dijkstra.sql +++ b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-compare-dijkstra.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(1156); SET client_min_messages TO ERROR; diff --git a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-edge-cases.sql b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-edge-cases.sql index 3d537f4ed34..0b78136745d 100644 --- a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-edge-cases.sql +++ b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-edge-cases.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(18); -- 0 edges tests diff --git a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-innerQuery.sql b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-innerQuery.sql index c6b317e2014..e55b066041f 100644 --- a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-innerQuery.sql +++ b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(378); SET client_min_messages TO ERROR; diff --git a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-types-check.sql b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-types-check.sql index 1641876c13a..a51c10d4069 100644 --- a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-types-check.sql +++ b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(14); SET client_min_messages TO ERROR; diff --git a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/no_crash_test-binaryBreadthFirstSearch.sql b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/no_crash_test-binaryBreadthFirstSearch.sql index 3a39d7e8923..f10a1d3639f 100644 --- a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/no_crash_test-binaryBreadthFirstSearch.sql +++ b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/no_crash_test-binaryBreadthFirstSearch.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(131); PREPARE edges AS diff --git a/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-edge-cases.sql b/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-edge-cases.sql index c4701be253d..8618e16f529 100644 --- a/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-edge-cases.sql +++ b/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-edge-cases.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(29); -- 0 edges tests diff --git a/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-innerQuery.sql b/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-innerQuery.sql index 55f408318a0..2f50066f800 100644 --- a/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-innerQuery.sql +++ b/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(432); SELECT style_dijkstra('pgr_breadthFirstSearch', ', 5)'); diff --git a/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-types-check.sql b/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-types-check.sql index 4109b329ef0..2c3b84af4bf 100644 --- a/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-types-check.sql +++ b/pgtap/breadthFirstSearch/breadthFirstSearch/breadthFirstSearch-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); diff --git a/pgtap/breadthFirstSearch/breadthFirstSearch/no_crash_test-breadthFirstSearch.sql b/pgtap/breadthFirstSearch/breadthFirstSearch/no_crash_test-breadthFirstSearch.sql index 3b649a496a4..2fd71b33eb9 100644 --- a/pgtap/breadthFirstSearch/breadthFirstSearch/no_crash_test-breadthFirstSearch.sql +++ b/pgtap/breadthFirstSearch/breadthFirstSearch/no_crash_test-breadthFirstSearch.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(86); PREPARE edges AS diff --git a/pgtap/chinese/chinesePostman/types-check.sql b/pgtap/chinese/chinesePostman/types-check.sql index 976466d8303..3da18e69966 100644 --- a/pgtap/chinese/chinesePostman/types-check.sql +++ b/pgtap/chinese/chinesePostman/types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); SELECT has_function('pgr_chinesepostman'); diff --git a/pgtap/chinese/chinesePostmanCost/innerQuery.sql b/pgtap/chinese/chinesePostmanCost/innerQuery.sql index 828545ef0e0..3df7a9343b3 100644 --- a/pgtap/chinese/chinesePostmanCost/innerQuery.sql +++ b/pgtap/chinese/chinesePostmanCost/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); diff --git a/pgtap/chinese/chinesePostmanCost/types-check.sql b/pgtap/chinese/chinesePostmanCost/types-check.sql index 97e518dc87d..8c34d56a473 100644 --- a/pgtap/chinese/chinesePostmanCost/types-check.sql +++ b/pgtap/chinese/chinesePostmanCost/types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); SELECT has_function('pgr_chinesepostmancost'); diff --git a/pgtap/coloring/bipartite/edge-cases.sql b/pgtap/coloring/bipartite/edge-cases.sql index 9ffc70c4db5..0e43c41f8c6 100644 --- a/pgtap/coloring/bipartite/edge-cases.sql +++ b/pgtap/coloring/bipartite/edge-cases.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(16); -- 0 edge, 0 vertex test diff --git a/pgtap/coloring/bipartite/innerQuery.sql b/pgtap/coloring/bipartite/innerQuery.sql index dc8762de29d..8d89fac4a88 100644 --- a/pgtap/coloring/bipartite/innerQuery.sql +++ b/pgtap/coloring/bipartite/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); SELECT style_dijkstra('pgr_bipartite', ')'); diff --git a/pgtap/coloring/bipartite/no_crash_test.sql b/pgtap/coloring/bipartite/no_crash_test.sql index f3062efb028..57d31d74089 100644 --- a/pgtap/coloring/bipartite/no_crash_test.sql +++ b/pgtap/coloring/bipartite/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); PREPARE edges AS diff --git a/pgtap/coloring/bipartite/types_check.sql b/pgtap/coloring/bipartite/types_check.sql index 912f6339aaa..832c2d5a6bc 100644 --- a/pgtap/coloring/bipartite/types_check.sql +++ b/pgtap/coloring/bipartite/types_check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); SELECT has_function('pgr_bipartite'); diff --git a/pgtap/coloring/sequentialVertexColoring/edge_cases.sql b/pgtap/coloring/sequentialVertexColoring/edge_cases.sql index 03e38dda1ca..69ee759d1f2 100644 --- a/pgtap/coloring/sequentialVertexColoring/edge_cases.sql +++ b/pgtap/coloring/sequentialVertexColoring/edge_cases.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(18); -- 0 edge, 0 vertex test diff --git a/pgtap/coloring/sequentialVertexColoring/inner_query.sql b/pgtap/coloring/sequentialVertexColoring/inner_query.sql index 3e7bdb75062..b64593e5257 100644 --- a/pgtap/coloring/sequentialVertexColoring/inner_query.sql +++ b/pgtap/coloring/sequentialVertexColoring/inner_query.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); SELECT style_dijkstra('pgr_sequentialVertexColoring', ')'); diff --git a/pgtap/coloring/sequentialVertexColoring/no_crash_test.sql b/pgtap/coloring/sequentialVertexColoring/no_crash_test.sql index 42258c6aec1..2636414feac 100644 --- a/pgtap/coloring/sequentialVertexColoring/no_crash_test.sql +++ b/pgtap/coloring/sequentialVertexColoring/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); PREPARE edges AS diff --git a/pgtap/coloring/sequentialVertexColoring/types_check.sql b/pgtap/coloring/sequentialVertexColoring/types_check.sql index 8f3d9675fbf..3eda9c41650 100644 --- a/pgtap/coloring/sequentialVertexColoring/types_check.sql +++ b/pgtap/coloring/sequentialVertexColoring/types_check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); SELECT has_function('pgr_sequentialvertexcoloring'); diff --git a/pgtap/common/checkVertTab.test.sql b/pgtap/common/checkVertTab.test.sql index b6103deb8a1..2da40735227 100644 --- a/pgtap/common/checkVertTab.test.sql +++ b/pgtap/common/checkVertTab.test.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(12); diff --git a/pgtap/common/getColumnName.test.sql b/pgtap/common/getColumnName.test.sql index 1a262efe602..0b90dd5a7b8 100644 --- a/pgtap/common/getColumnName.test.sql +++ b/pgtap/common/getColumnName.test.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(32); SET client_min_messages to WARNING; diff --git a/pgtap/common/getColumnType.test.sql b/pgtap/common/getColumnType.test.sql index cdab9f56e99..0cf27b6a78a 100644 --- a/pgtap/common/getColumnType.test.sql +++ b/pgtap/common/getColumnType.test.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(21); diff --git a/pgtap/common/getTableName.test.sql b/pgtap/common/getTableName.test.sql index 9c397598010..ae7944e1df0 100644 --- a/pgtap/common/getTableName.test.sql +++ b/pgtap/common/getTableName.test.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(35); set client_min_messages to warning; diff --git a/pgtap/common/has_v3_signatures.sql b/pgtap/common/has_v3_signatures.sql index ab92c38eb61..95b918bc4d1 100644 --- a/pgtap/common/has_v3_signatures.sql +++ b/pgtap/common/has_v3_signatures.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(92); SELECT todo_start(); diff --git a/pgtap/common/hasnt_v2_signatures.sql b/pgtap/common/hasnt_v2_signatures.sql index 361ad8c4347..35f8ae53f87 100644 --- a/pgtap/common/hasnt_v2_signatures.sql +++ b/pgtap/common/hasnt_v2_signatures.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(30); diff --git a/pgtap/common/isColumnInTable.test.sql b/pgtap/common/isColumnInTable.test.sql index bffe5d5ec30..283bc894460 100644 --- a/pgtap/common/isColumnInTable.test.sql +++ b/pgtap/common/isColumnInTable.test.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); CREATE SCHEMA s1; diff --git a/pgtap/common/isColumnIndexed.test.sql b/pgtap/common/isColumnIndexed.test.sql index 4d630f3e23d..287d5e41207 100644 --- a/pgtap/common/isColumnIndexed.test.sql +++ b/pgtap/common/isColumnIndexed.test.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(60); CREATE SCHEMA s1; diff --git a/pgtap/components/articulationPoints/innerQuery.sql b/pgtap/components/articulationPoints/innerQuery.sql index 733bfddb161..3cf76ab7324 100644 --- a/pgtap/components/articulationPoints/innerQuery.sql +++ b/pgtap/components/articulationPoints/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(55); diff --git a/pgtap/components/articulationPoints/no_crash_test.sql b/pgtap/components/articulationPoints/no_crash_test.sql index e9324265283..5856f902a37 100644 --- a/pgtap/components/articulationPoints/no_crash_test.sql +++ b/pgtap/components/articulationPoints/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE edges AS diff --git a/pgtap/components/biconnectedComponents/innerQuery.sql b/pgtap/components/biconnectedComponents/innerQuery.sql index 7c2caa9a893..a50b9e7d217 100644 --- a/pgtap/components/biconnectedComponents/innerQuery.sql +++ b/pgtap/components/biconnectedComponents/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(55); diff --git a/pgtap/components/biconnectedComponents/no_crash_test.sql b/pgtap/components/biconnectedComponents/no_crash_test.sql index 9d9f1073104..6ad84e9cd7b 100644 --- a/pgtap/components/biconnectedComponents/no_crash_test.sql +++ b/pgtap/components/biconnectedComponents/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE edges AS diff --git a/pgtap/components/bridges/innerQuery.sql b/pgtap/components/bridges/innerQuery.sql index 6e4853f437b..c900180e0d0 100644 --- a/pgtap/components/bridges/innerQuery.sql +++ b/pgtap/components/bridges/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(55); diff --git a/pgtap/components/bridges/no_crash_test.sql b/pgtap/components/bridges/no_crash_test.sql index 8b6c26ef6b5..c135c4ed806 100644 --- a/pgtap/components/bridges/no_crash_test.sql +++ b/pgtap/components/bridges/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE edges AS diff --git a/pgtap/components/connectedComponenes/innerQuery.sql b/pgtap/components/connectedComponenes/innerQuery.sql index e5d5be55d6e..9b6391a7919 100644 --- a/pgtap/components/connectedComponenes/innerQuery.sql +++ b/pgtap/components/connectedComponenes/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(55); diff --git a/pgtap/components/connectedComponenes/no_crash_test.sql b/pgtap/components/connectedComponenes/no_crash_test.sql index 4604fc954da..deeaabc9584 100644 --- a/pgtap/components/connectedComponenes/no_crash_test.sql +++ b/pgtap/components/connectedComponenes/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE edges AS diff --git a/pgtap/components/makeConnected/edge_cases.sql b/pgtap/components/makeConnected/edge_cases.sql index 4835e7466d5..37708934290 100644 --- a/pgtap/components/makeConnected/edge_cases.sql +++ b/pgtap/components/makeConnected/edge_cases.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(20); -- 0 edge, 0 vertex tests diff --git a/pgtap/components/makeConnected/inner_query.sql b/pgtap/components/makeConnected/inner_query.sql index 042dbe3fb40..bb5823262ac 100644 --- a/pgtap/components/makeConnected/inner_query.sql +++ b/pgtap/components/makeConnected/inner_query.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); SET client_min_messages TO ERROR; diff --git a/pgtap/components/makeConnected/no_crash_test.sql b/pgtap/components/makeConnected/no_crash_test.sql index d2504a16401..154ed41e9c3 100644 --- a/pgtap/components/makeConnected/no_crash_test.sql +++ b/pgtap/components/makeConnected/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE edges AS diff --git a/pgtap/components/makeConnected/types_check.sql b/pgtap/components/makeConnected/types_check.sql index 153bc164c64..0363d6673fc 100644 --- a/pgtap/components/makeConnected/types_check.sql +++ b/pgtap/components/makeConnected/types_check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(4); SELECT has_function('pgr_makeconnected'); diff --git a/pgtap/components/strongComponenets/innerQuery.sql b/pgtap/components/strongComponenets/innerQuery.sql index a1ee9e17b1c..58ed881fd91 100644 --- a/pgtap/components/strongComponenets/innerQuery.sql +++ b/pgtap/components/strongComponenets/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(55); diff --git a/pgtap/components/strongComponenets/no_crash_test.sql b/pgtap/components/strongComponenets/no_crash_test.sql index 31dc372e0a9..6a06d44403d 100644 --- a/pgtap/components/strongComponenets/no_crash_test.sql +++ b/pgtap/components/strongComponenets/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE edges AS diff --git a/pgtap/contraction/combined/dijkstra-compare.sql b/pgtap/contraction/combined/dijkstra-compare.sql index 8f6785e46ed..63067faeea5 100644 --- a/pgtap/contraction/combined/dijkstra-compare.sql +++ b/pgtap/contraction/combined/dijkstra-compare.sql @@ -3,7 +3,7 @@ SELECT plan(334); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; --step 1: Initial tables @@ -26,7 +26,7 @@ SELECT has_column('edge_table', 'contracted_vertices'); SELECT has_column('edge_table_vertices_pgr', 'contracted_vertices'); SELECT * INTO contraction_info FROM pgr_contraction( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[1,2]::integer[], 1, ARRAY[]::BIGINT[], false); PREPARE c_info AS diff --git a/pgtap/contraction/contraction-types-check.sql b/pgtap/contraction/contraction-types-check.sql index 57e27f52533..b666454d412 100644 --- a/pgtap/contraction/contraction-types-check.sql +++ b/pgtap/contraction/contraction-types-check.sql @@ -1,4 +1,5 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(49); SET client_min_messages TO WARNING; SELECT has_function('pgr_contraction'); diff --git a/pgtap/contraction/contraction_cycle_directed.sql b/pgtap/contraction/contraction_cycle_directed.sql index 39faad57b7d..ba0a24cfecb 100644 --- a/pgtap/contraction/contraction_cycle_directed.sql +++ b/pgtap/contraction/contraction_cycle_directed.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(30); SET client_min_messages TO WARNING; diff --git a/pgtap/contraction/contraction_cycle_undirected.sql b/pgtap/contraction/contraction_cycle_undirected.sql index 1490190cfdd..640b52c600b 100644 --- a/pgtap/contraction/contraction_cycle_undirected.sql +++ b/pgtap/contraction/contraction_cycle_undirected.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(36); SET client_min_messages TO WARNING; diff --git a/pgtap/contraction/deadend/directed/dijkstra-compare.sql b/pgtap/contraction/deadend/directed/dijkstra-compare.sql index b06667cb994..85848f81afd 100644 --- a/pgtap/contraction/deadend/directed/dijkstra-compare.sql +++ b/pgtap/contraction/deadend/directed/dijkstra-compare.sql @@ -2,7 +2,7 @@ SELECT plan(333); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; --step 1: Initial tables diff --git a/pgtap/contraction/deadend/directed/directed-big-ids.sql b/pgtap/contraction/deadend/directed/directed-big-ids.sql index 60b474c6395..aa577e42f89 100644 --- a/pgtap/contraction/deadend/directed/directed-big-ids.sql +++ b/pgtap/contraction/deadend/directed/directed-big-ids.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); UPDATE edge_table diff --git a/pgtap/contraction/deadend/directed/directed-deadend-cases.sql b/pgtap/contraction/deadend/directed/directed-deadend-cases.sql index 4e2dddff788..2aeb98370dc 100644 --- a/pgtap/contraction/deadend/directed/directed-deadend-cases.sql +++ b/pgtap/contraction/deadend/directed/directed-deadend-cases.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); CREATE TABLE test_deadend ( diff --git a/pgtap/contraction/deadend/directed/directed-dev-deadend.sql b/pgtap/contraction/deadend/directed/directed-dev-deadend.sql index 4445a6abafa..194e49380aa 100644 --- a/pgtap/contraction/deadend/directed/directed-dev-deadend.sql +++ b/pgtap/contraction/deadend/directed/directed-dev-deadend.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); SELECT throws_ok( diff --git a/pgtap/contraction/deadend/directed/directed-small_ids.sql b/pgtap/contraction/deadend/directed/directed-small_ids.sql index 1e300cfe44c..5acf00dbda3 100644 --- a/pgtap/contraction/deadend/directed/directed-small_ids.sql +++ b/pgtap/contraction/deadend/directed/directed-small_ids.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); -- input: 1 <-> 2, forbidden = 20 diff --git a/pgtap/contraction/deadend/directed/directed-super-big-ids.sql b/pgtap/contraction/deadend/directed/directed-super-big-ids.sql index e68fd2d2584..e1a6a423721 100644 --- a/pgtap/contraction/deadend/directed/directed-super-big-ids.sql +++ b/pgtap/contraction/deadend/directed/directed-super-big-ids.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); UPDATE edge_table diff --git a/pgtap/contraction/deadend/directed/directed_dead_end.sql b/pgtap/contraction/deadend/directed/directed_dead_end.sql index 4d5f6a827c1..76339cb3fe9 100644 --- a/pgtap/contraction/deadend/directed/directed_dead_end.sql +++ b/pgtap/contraction/deadend/directed/directed_dead_end.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(39); SET client_min_messages TO WARNING; diff --git a/pgtap/contraction/deadend/directed/innerQuery.sql b/pgtap/contraction/deadend/directed/innerQuery.sql index 9b51deb72d4..4d592571bdf 100644 --- a/pgtap/contraction/deadend/directed/innerQuery.sql +++ b/pgtap/contraction/deadend/directed/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(57); SELECT has_function('pgr_contraction'); diff --git a/pgtap/contraction/deadend/undirected/big-ids.sql b/pgtap/contraction/deadend/undirected/big-ids.sql index c9336810aa4..8d9da66a08e 100644 --- a/pgtap/contraction/deadend/undirected/big-ids.sql +++ b/pgtap/contraction/deadend/undirected/big-ids.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); UPDATE edge_table diff --git a/pgtap/contraction/deadend/undirected/cases.sql b/pgtap/contraction/deadend/undirected/cases.sql index a45e5ba900d..4e9c1f56836 100644 --- a/pgtap/contraction/deadend/undirected/cases.sql +++ b/pgtap/contraction/deadend/undirected/cases.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); CREATE TABLE test_deadend ( diff --git a/pgtap/contraction/deadend/undirected/dev-cases.sql b/pgtap/contraction/deadend/undirected/dev-cases.sql index 7141d825c90..80c4dee767c 100644 --- a/pgtap/contraction/deadend/undirected/dev-cases.sql +++ b/pgtap/contraction/deadend/undirected/dev-cases.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); SELECT throws_ok( diff --git a/pgtap/contraction/deadend/undirected/dijkstra-compare.sql b/pgtap/contraction/deadend/undirected/dijkstra-compare.sql index 21967107a54..35ff9d94b13 100644 --- a/pgtap/contraction/deadend/undirected/dijkstra-compare.sql +++ b/pgtap/contraction/deadend/undirected/dijkstra-compare.sql @@ -2,7 +2,7 @@ SELECT plan(333); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; --step 1: Initial tables diff --git a/pgtap/contraction/deadend/undirected/innerQuery.sql b/pgtap/contraction/deadend/undirected/innerQuery.sql index 3785515335a..fdcda96b027 100644 --- a/pgtap/contraction/deadend/undirected/innerQuery.sql +++ b/pgtap/contraction/deadend/undirected/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(57); SELECT has_function('pgr_contraction'); diff --git a/pgtap/contraction/deadend/undirected/more_cases.sql b/pgtap/contraction/deadend/undirected/more_cases.sql index 253f3585f95..1197434db27 100644 --- a/pgtap/contraction/deadend/undirected/more_cases.sql +++ b/pgtap/contraction/deadend/undirected/more_cases.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(39); SET client_min_messages TO WARNING; diff --git a/pgtap/contraction/deadend/undirected/small_ids.sql b/pgtap/contraction/deadend/undirected/small_ids.sql index 1ed2f8a0db3..3a0b9506b79 100644 --- a/pgtap/contraction/deadend/undirected/small_ids.sql +++ b/pgtap/contraction/deadend/undirected/small_ids.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); -- input: 1 - 2, forbidden = 20 diff --git a/pgtap/contraction/deadend/undirected/super_big_ids.sql b/pgtap/contraction/deadend/undirected/super_big_ids.sql index a6a36599ec0..b16196c2f15 100644 --- a/pgtap/contraction/deadend/undirected/super_big_ids.sql +++ b/pgtap/contraction/deadend/undirected/super_big_ids.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); UPDATE edge_table diff --git a/pgtap/contraction/issue1002/issue1002.sql b/pgtap/contraction/issue1002/issue1002.sql index 2341752ae69..221cb6ecf5b 100644 --- a/pgtap/contraction/issue1002/issue1002.sql +++ b/pgtap/contraction/issue1002/issue1002.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(3); SET client_min_messages TO WARNING; diff --git a/pgtap/contraction/linear/directed/dijkstra-compare.sql b/pgtap/contraction/linear/directed/dijkstra-compare.sql index 7fd3dedfd07..4a9a7ab1465 100644 --- a/pgtap/contraction/linear/directed/dijkstra-compare.sql +++ b/pgtap/contraction/linear/directed/dijkstra-compare.sql @@ -3,7 +3,7 @@ SELECT plan(334); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; ALTER SEQUENCE edge_table_id_seq RESTART WITH 19; --step 1: Initial tables diff --git a/pgtap/contraction/linear/directed/directed_linear.sql b/pgtap/contraction/linear/directed/directed_linear.sql index 9207851485e..14feef05a56 100644 --- a/pgtap/contraction/linear/directed/directed_linear.sql +++ b/pgtap/contraction/linear/directed/directed_linear.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(25); -- TESTING ONE CYCLE OF LINEAR CONTRACTION FOR A DIRECTED GRAPH @@ -27,7 +28,7 @@ FROM edge_table WHERE id IN (3, 5, 11); -- GRAPH 6 -> 11 -> 12 - 9 - 6 PREPARE graph_e_9_11_13_15 AS SELECT id, source, target, cost, reverse_cost -FROM edge_table WHERE id IN (9, 11, 13, 15); +FROM edge_table WHERE id IN (9, 11, 13, 15) ORDER BY id; -- TWO EDGES diff --git a/pgtap/contraction/linear/directed/innerQuery.sql b/pgtap/contraction/linear/directed/innerQuery.sql index a595ba49891..c8ae1268cdc 100644 --- a/pgtap/contraction/linear/directed/innerQuery.sql +++ b/pgtap/contraction/linear/directed/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(57); SELECT has_function('pgr_contraction'); diff --git a/pgtap/contraction/linear/undirected/dijkstra-compare.sql b/pgtap/contraction/linear/undirected/dijkstra-compare.sql index ea1402819b0..b03164e4ccd 100644 --- a/pgtap/contraction/linear/undirected/dijkstra-compare.sql +++ b/pgtap/contraction/linear/undirected/dijkstra-compare.sql @@ -3,7 +3,7 @@ SELECT plan(334); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; ALTER SEQUENCE edge_table_id_seq RESTART WITH 19; @@ -28,7 +28,7 @@ SELECT has_column('edge_table', 'contracted_vertices'); SELECT has_column('edge_table_vertices_pgr', 'contracted_vertices'); SELECT * INTO contraction_info FROM pgr_contraction( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', ARRAY[2]::integer[], 1, ARRAY[]::BIGINT[], false); PREPARE c_info AS diff --git a/pgtap/contraction/linear/undirected/innerQuery.sql b/pgtap/contraction/linear/undirected/innerQuery.sql index 4ecf25f8d0b..b1b18f5ea49 100644 --- a/pgtap/contraction/linear/undirected/innerQuery.sql +++ b/pgtap/contraction/linear/undirected/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(57); SELECT has_function('pgr_contraction'); diff --git a/pgtap/contraction/linear/undirected/undirected_linear.sql b/pgtap/contraction/linear/undirected/undirected_linear.sql index 65be4551834..7840384c7ce 100644 --- a/pgtap/contraction/linear/undirected/undirected_linear.sql +++ b/pgtap/contraction/linear/undirected/undirected_linear.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(26); -- TESTING ONE CYCLE OF LINEAR CONTRACTION FOR A DIRECTED GRAPH @@ -27,7 +28,7 @@ FROM edge_table WHERE id IN (3, 5, 11); -- GRAPH 6 - 11 - 12 - 9 - 6 PREPARE graph_e_9_11_13_15 AS SELECT id, source, target, cost, reverse_cost -FROM edge_table WHERE id IN (9, 11, 13, 15); +FROM edge_table WHERE id IN (9, 11, 13, 15) ORDER BY id; -- TWO EDGES diff --git a/pgtap/contraction/no_crash_test-contraction.sql b/pgtap/contraction/no_crash_test-contraction.sql index 07ade5a4e2c..0d69404886c 100644 --- a/pgtap/contraction/no_crash_test-contraction.sql +++ b/pgtap/contraction/no_crash_test-contraction.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); PREPARE edges AS diff --git a/pgtap/costMatrix/aStarCostMatrix/innerQuery.sql b/pgtap/costMatrix/aStarCostMatrix/innerQuery.sql index ec2369bf6cf..39b0bee6efa 100644 --- a/pgtap/costMatrix/aStarCostMatrix/innerQuery.sql +++ b/pgtap/costMatrix/aStarCostMatrix/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(104); diff --git a/pgtap/costMatrix/aStarCostMatrix/no_crash_test.sql b/pgtap/costMatrix/aStarCostMatrix/no_crash_test.sql index 9df32edf692..73f5e736c29 100644 --- a/pgtap/costMatrix/aStarCostMatrix/no_crash_test.sql +++ b/pgtap/costMatrix/aStarCostMatrix/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(15); PREPARE edges AS diff --git a/pgtap/costMatrix/bdAstarCostMatrix/innerQuery.sql b/pgtap/costMatrix/bdAstarCostMatrix/innerQuery.sql index af2b263c2bb..660e48bc9fb 100644 --- a/pgtap/costMatrix/bdAstarCostMatrix/innerQuery.sql +++ b/pgtap/costMatrix/bdAstarCostMatrix/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(104); diff --git a/pgtap/costMatrix/bdAstarCostMatrix/no_crash_test.sql b/pgtap/costMatrix/bdAstarCostMatrix/no_crash_test.sql index d82b4b4a1bd..61ed864a018 100644 --- a/pgtap/costMatrix/bdAstarCostMatrix/no_crash_test.sql +++ b/pgtap/costMatrix/bdAstarCostMatrix/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(15); PREPARE edges AS diff --git a/pgtap/costMatrix/bdDijkstraCostMatrix/innerQuery.sql b/pgtap/costMatrix/bdDijkstraCostMatrix/innerQuery.sql index ea1dc1b9464..5462e162804 100644 --- a/pgtap/costMatrix/bdDijkstraCostMatrix/innerQuery.sql +++ b/pgtap/costMatrix/bdDijkstraCostMatrix/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); diff --git a/pgtap/costMatrix/bdDijkstraCostMatrix/no_crash_test.sql b/pgtap/costMatrix/bdDijkstraCostMatrix/no_crash_test.sql index 4f71dff0e2f..a79ec638581 100644 --- a/pgtap/costMatrix/bdDijkstraCostMatrix/no_crash_test.sql +++ b/pgtap/costMatrix/bdDijkstraCostMatrix/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(14); PREPARE edges AS diff --git a/pgtap/costMatrix/dijkstraCostMatrix/innerQuery.sql b/pgtap/costMatrix/dijkstraCostMatrix/innerQuery.sql index dd0fd78f1b9..f080d4a1bff 100644 --- a/pgtap/costMatrix/dijkstraCostMatrix/innerQuery.sql +++ b/pgtap/costMatrix/dijkstraCostMatrix/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); diff --git a/pgtap/costMatrix/dijkstraCostMatrix/no_crash_test.sql b/pgtap/costMatrix/dijkstraCostMatrix/no_crash_test.sql index 8f08e75710b..ff138ca5da9 100644 --- a/pgtap/costMatrix/dijkstraCostMatrix/no_crash_test.sql +++ b/pgtap/costMatrix/dijkstraCostMatrix/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(14); PREPARE edges AS diff --git a/pgtap/costMatrix/withPointsCostMatrix/innerQuery.sql b/pgtap/costMatrix/withPointsCostMatrix/innerQuery.sql index 08b363fa825..40f13bed3e7 100644 --- a/pgtap/costMatrix/withPointsCostMatrix/innerQuery.sql +++ b/pgtap/costMatrix/withPointsCostMatrix/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); diff --git a/pgtap/costMatrix/withPointsCostMatrix/no_crash_test.sql b/pgtap/costMatrix/withPointsCostMatrix/no_crash_test.sql index 428c5d8199e..c353f12ad48 100644 --- a/pgtap/costMatrix/withPointsCostMatrix/no_crash_test.sql +++ b/pgtap/costMatrix/withPointsCostMatrix/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(19); PREPARE edges AS diff --git a/pgtap/dagShortestPath/dagShortestPath-innerQuery.sql b/pgtap/dagShortestPath/dagShortestPath-innerQuery.sql index f5ff46cef9a..19b86746ed1 100644 --- a/pgtap/dagShortestPath/dagShortestPath-innerQuery.sql +++ b/pgtap/dagShortestPath/dagShortestPath-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(2); SET client_min_messages TO ERROR; diff --git a/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql b/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql index 3a38b19c36b..aa060207e42 100644 --- a/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql +++ b/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql @@ -1,4 +1,5 @@ +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(10); SELECT has_function('pgr_dagshortestpath'); diff --git a/pgtap/dijkstra/dijkstra-group-innerQuery.sql b/pgtap/dijkstra/dijkstra-group-innerQuery.sql index b1f00e77f7f..f7ae35b3b44 100644 --- a/pgtap/dijkstra/dijkstra-group-innerQuery.sql +++ b/pgtap/dijkstra/dijkstra-group-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(224); diff --git a/pgtap/dijkstra/dijkstra-infinity-alt-cost.test.sql b/pgtap/dijkstra/dijkstra-infinity-alt-cost.test.sql index daf2f0cbd04..72560eafdaf 100644 --- a/pgtap/dijkstra/dijkstra-infinity-alt-cost.test.sql +++ b/pgtap/dijkstra/dijkstra-infinity-alt-cost.test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(4); PREPARE q0 AS diff --git a/pgtap/dijkstra/dijkstra-infinity-cost.test.sql b/pgtap/dijkstra/dijkstra-infinity-cost.test.sql index 2148766ac37..543a1d6284e 100644 --- a/pgtap/dijkstra/dijkstra-infinity-cost.test.sql +++ b/pgtap/dijkstra/dijkstra-infinity-cost.test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(8); PREPARE q0 AS diff --git a/pgtap/dijkstra/dijkstra-issue-353.test.sql b/pgtap/dijkstra/dijkstra-issue-353.test.sql index d1123b9e21c..c42ba05121a 100644 --- a/pgtap/dijkstra/dijkstra-issue-353.test.sql +++ b/pgtap/dijkstra/dijkstra-issue-353.test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(3); PREPARE q1 AS diff --git a/pgtap/dijkstra/dijkstra-types-check.sql b/pgtap/dijkstra/dijkstra-types-check.sql index de86a1fc00b..a1844eb1097 100644 --- a/pgtap/dijkstra/dijkstra-types-check.sql +++ b/pgtap/dijkstra/dijkstra-types-check.sql @@ -3,6 +3,7 @@ SET client_min_messages TO WARNING; +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(45); SELECT can(ARRAY['pgr_dijkstra']); diff --git a/pgtap/dijkstra/dijkstraCost-group-innerQuery.sql b/pgtap/dijkstra/dijkstraCost-group-innerQuery.sql index 5b4388650bb..63b3b894d40 100644 --- a/pgtap/dijkstra/dijkstraCost-group-innerQuery.sql +++ b/pgtap/dijkstra/dijkstraCost-group-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(226); diff --git a/pgtap/dijkstra/dijkstraCost-types-check.sql b/pgtap/dijkstra/dijkstraCost-types-check.sql index 30da20e6205..07b784dbd9d 100644 --- a/pgtap/dijkstra/dijkstraCost-types-check.sql +++ b/pgtap/dijkstra/dijkstraCost-types-check.sql @@ -3,6 +3,7 @@ SET client_min_messages TO WARNING; +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(43); diff --git a/pgtap/dijkstra/dijkstraCost_empty_combinations_empty_result.test.sql b/pgtap/dijkstra/dijkstraCost_empty_combinations_empty_result.test.sql index 3425ad08da4..4055d34bb0e 100644 --- a/pgtap/dijkstra/dijkstraCost_empty_combinations_empty_result.test.sql +++ b/pgtap/dijkstra/dijkstraCost_empty_combinations_empty_result.test.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(1); create or REPLACE FUNCTION foo() diff --git a/pgtap/dijkstra/dijkstraVia-equivalenceDijkstra.test.sql b/pgtap/dijkstra/dijkstraVia-equivalenceDijkstra.test.sql index 51eb3daffd3..78a6f153dee 100644 --- a/pgtap/dijkstra/dijkstraVia-equivalenceDijkstra.test.sql +++ b/pgtap/dijkstra/dijkstraVia-equivalenceDijkstra.test.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(8); diff --git a/pgtap/dijkstra/dijkstraVia-innerQuery.sql b/pgtap/dijkstra/dijkstraVia-innerQuery.sql index 59162a20f56..b830c3d4929 100644 --- a/pgtap/dijkstra/dijkstraVia-innerQuery.sql +++ b/pgtap/dijkstra/dijkstraVia-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); diff --git a/pgtap/dijkstra/dijkstraVia-types-check.sql b/pgtap/dijkstra/dijkstraVia-types-check.sql index f57811be2dc..3ceef7795d5 100644 --- a/pgtap/dijkstra/dijkstraVia-types-check.sql +++ b/pgtap/dijkstra/dijkstraVia-types-check.sql @@ -3,6 +3,7 @@ SET client_min_messages TO WARNING; +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(33); SELECT can(ARRAY['pgr_dijkstravia']); diff --git a/pgtap/dijkstra/dijkstra_empty_combinations_empty_result.test.sql b/pgtap/dijkstra/dijkstra_empty_combinations_empty_result.test.sql index 1769c23ef5e..62d5e24ebee 100644 --- a/pgtap/dijkstra/dijkstra_empty_combinations_empty_result.test.sql +++ b/pgtap/dijkstra/dijkstra_empty_combinations_empty_result.test.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(1); create or REPLACE FUNCTION foo() diff --git a/pgtap/dijkstra/manyToMany_equiv_combinations.test.sql b/pgtap/dijkstra/manyToMany_equiv_combinations.test.sql index d75f8c30630..71b38ff8309 100644 --- a/pgtap/dijkstra/manyToMany_equiv_combinations.test.sql +++ b/pgtap/dijkstra/manyToMany_equiv_combinations.test.sql @@ -3,7 +3,7 @@ SELECT plan(2); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; create or REPLACE FUNCTION foo( sql_TestFunction TEXT, cant INTEGER default 18 ) RETURNS SETOF TEXT AS diff --git a/pgtap/dijkstra/no_crash_test-dijkstra.sql b/pgtap/dijkstra/no_crash_test-dijkstra.sql index e4dfdd2acf1..608022ad89e 100644 --- a/pgtap/dijkstra/no_crash_test-dijkstra.sql +++ b/pgtap/dijkstra/no_crash_test-dijkstra.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/dijkstra/no_crash_test-dijkstraCost.sql b/pgtap/dijkstra/no_crash_test-dijkstraCost.sql index e05c9517b31..8f18d917e23 100644 --- a/pgtap/dijkstra/no_crash_test-dijkstraCost.sql +++ b/pgtap/dijkstra/no_crash_test-dijkstraCost.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(81); PREPARE edges AS diff --git a/pgtap/dijkstra/no_crash_test-dijkstraVia.sql b/pgtap/dijkstra/no_crash_test-dijkstraVia.sql index d5a8e9ade8d..d4d38d69511 100644 --- a/pgtap/dijkstra/no_crash_test-dijkstraVia.sql +++ b/pgtap/dijkstra/no_crash_test-dijkstraVia.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(15); PREPARE edges AS diff --git a/pgtap/dijkstra/oneToOne_equiv_manyToMany.test.sql b/pgtap/dijkstra/oneToOne_equiv_manyToMany.test.sql index 131becca836..d6f8937a7cc 100644 --- a/pgtap/dijkstra/oneToOne_equiv_manyToMany.test.sql +++ b/pgtap/dijkstra/oneToOne_equiv_manyToMany.test.sql @@ -3,7 +3,7 @@ SELECT plan(1); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; create or REPLACE FUNCTION foo(cant INTEGER default 18 ) diff --git a/pgtap/dijkstra/oneToOne_equiv_manyToOne.test.sql b/pgtap/dijkstra/oneToOne_equiv_manyToOne.test.sql index ff107c989a4..821c312fb5a 100644 --- a/pgtap/dijkstra/oneToOne_equiv_manyToOne.test.sql +++ b/pgtap/dijkstra/oneToOne_equiv_manyToOne.test.sql @@ -3,7 +3,7 @@ SELECT plan(18); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; create or REPLACE FUNCTION foo(cant INTEGER default 18 ) diff --git a/pgtap/dijkstra/oneToOne_equiv_oneToMany.test.sql b/pgtap/dijkstra/oneToOne_equiv_oneToMany.test.sql index 05ed03cae4e..20289375e61 100644 --- a/pgtap/dijkstra/oneToOne_equiv_oneToMany.test.sql +++ b/pgtap/dijkstra/oneToOne_equiv_oneToMany.test.sql @@ -2,7 +2,7 @@ SELECT plan(36); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; create or REPLACE FUNCTION foo(cant INTEGER default 18, flag boolean default true ) diff --git a/pgtap/dijkstra/zero_one_edge_-1_rev.test.sql b/pgtap/dijkstra/zero_one_edge_-1_rev.test.sql index b2f5b62b330..127a294b55f 100644 --- a/pgtap/dijkstra/zero_one_edge_-1_rev.test.sql +++ b/pgtap/dijkstra/zero_one_edge_-1_rev.test.sql @@ -1,6 +1,7 @@ \i setup.sql - SELECT plan(79); + UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); +SELECT plan(79); -- 0 edges tests diff --git a/pgtap/dijkstra/zero_one_edge_has_rev.test.sql b/pgtap/dijkstra/zero_one_edge_has_rev.test.sql index b53c28a4e5c..f4646874871 100644 --- a/pgtap/dijkstra/zero_one_edge_has_rev.test.sql +++ b/pgtap/dijkstra/zero_one_edge_has_rev.test.sql @@ -1,6 +1,7 @@ \i setup.sql - SELECT plan(79); + UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); +SELECT plan(79); -- 0 edges tests diff --git a/pgtap/dijkstra/zero_one_edge_no_rev.test.sql b/pgtap/dijkstra/zero_one_edge_no_rev.test.sql index 0259d3cc1c2..2e32c490ea4 100644 --- a/pgtap/dijkstra/zero_one_edge_no_rev.test.sql +++ b/pgtap/dijkstra/zero_one_edge_no_rev.test.sql @@ -1,6 +1,7 @@ \i setup.sql - SELECT plan(79); + UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); +SELECT plan(79); -- 0 edges tests diff --git a/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql b/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql index a77d264f3e3..07975a04cd0 100644 --- a/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql +++ b/pgtap/dominator/lengauerTarjanDominatorTree/edge-cases.sql @@ -1,4 +1,5 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(11); -- 0 edge 0 vertex test diff --git a/pgtap/dominator/lengauerTarjanDominatorTree/innerQuery.sql b/pgtap/dominator/lengauerTarjanDominatorTree/innerQuery.sql index 7f507f45044..fcad05499f2 100644 --- a/pgtap/dominator/lengauerTarjanDominatorTree/innerQuery.sql +++ b/pgtap/dominator/lengauerTarjanDominatorTree/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); /* diff --git a/pgtap/dominator/lengauerTarjanDominatorTree/no_crash_test.sql b/pgtap/dominator/lengauerTarjanDominatorTree/no_crash_test.sql index c9536095e33..3baa45f8b4f 100644 --- a/pgtap/dominator/lengauerTarjanDominatorTree/no_crash_test.sql +++ b/pgtap/dominator/lengauerTarjanDominatorTree/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); PREPARE edges AS diff --git a/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql b/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql index d7b7792d6e5..99db2e771bd 100644 --- a/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql +++ b/pgtap/dominator/lengauerTarjanDominatorTree/types_check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); SELECT has_function('pgr_lengauertarjandominatortree'); diff --git a/pgtap/driving_distance/dijkstraDD-innerQuery.sql b/pgtap/driving_distance/dijkstraDD-innerQuery.sql index 99180d3a5df..bbaa459169d 100644 --- a/pgtap/driving_distance/dijkstraDD-innerQuery.sql +++ b/pgtap/driving_distance/dijkstraDD-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(112); diff --git a/pgtap/driving_distance/issue-519.sql b/pgtap/driving_distance/issue-519.sql index 2cb52834561..c5ba6ba9445 100644 --- a/pgtap/driving_distance/issue-519.sql +++ b/pgtap/driving_distance/issue-519.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(3); PREPARE q1 AS diff --git a/pgtap/driving_distance/issue1152.sql b/pgtap/driving_distance/issue1152.sql index e0064383fe1..481bebb1af7 100644 --- a/pgtap/driving_distance/issue1152.sql +++ b/pgtap/driving_distance/issue1152.sql @@ -1,6 +1,7 @@ \i setup.sql \i tmp_net.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(71); diff --git a/pgtap/driving_distance/no_crash_test-drivingDistance.sql b/pgtap/driving_distance/no_crash_test-drivingDistance.sql index 4950d8151a9..0b68df141c3 100644 --- a/pgtap/driving_distance/no_crash_test-drivingDistance.sql +++ b/pgtap/driving_distance/no_crash_test-drivingDistance.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(34); PREPARE edges AS diff --git a/pgtap/driving_distance/no_crash_test-withPointsDD.sql b/pgtap/driving_distance/no_crash_test-withPointsDD.sql index 5c444c4812e..435f3fb0ee3 100644 --- a/pgtap/driving_distance/no_crash_test-withPointsDD.sql +++ b/pgtap/driving_distance/no_crash_test-withPointsDD.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(42); PREPARE edges AS diff --git a/pgtap/driving_distance/withPointsDD-group-innerQuery.sql b/pgtap/driving_distance/withPointsDD-group-innerQuery.sql index 8501ee354c9..5696d0f656d 100644 --- a/pgtap/driving_distance/withPointsDD-group-innerQuery.sql +++ b/pgtap/driving_distance/withPointsDD-group-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(112); diff --git a/pgtap/ksp/issue1010.sql b/pgtap/ksp/issue1010.sql index 194490d74cb..4b5ab2e5173 100644 --- a/pgtap/ksp/issue1010.sql +++ b/pgtap/ksp/issue1010.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); diff --git a/pgtap/ksp/ksp-innerQuery.sql b/pgtap/ksp/ksp-innerQuery.sql index 565bb3bf5df..f18d7d16ae8 100644 --- a/pgtap/ksp/ksp-innerQuery.sql +++ b/pgtap/ksp/ksp-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); diff --git a/pgtap/ksp/ksp-v3-1route.test.sql b/pgtap/ksp/ksp-v3-1route.test.sql index 623c7630659..04d6775557d 100644 --- a/pgtap/ksp/ksp-v3-1route.test.sql +++ b/pgtap/ksp/ksp-v3-1route.test.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); diff --git a/pgtap/ksp/no_crash_test-ksp.sql b/pgtap/ksp/no_crash_test-ksp.sql index 55046c2b9e2..a294678187d 100644 --- a/pgtap/ksp/no_crash_test-ksp.sql +++ b/pgtap/ksp/no_crash_test-ksp.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(23); PREPARE edges AS diff --git a/pgtap/ksp/no_crash_test-withPointsKSP.sql b/pgtap/ksp/no_crash_test-withPointsKSP.sql index d316cb8daca..404c35d9fb5 100644 --- a/pgtap/ksp/no_crash_test-withPointsKSP.sql +++ b/pgtap/ksp/no_crash_test-withPointsKSP.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(26); PREPARE edges AS diff --git a/pgtap/ksp/tr_compare-dijkstra.sql b/pgtap/ksp/tr_compare-dijkstra.sql index 9ed550d9254..c1c9759be2f 100644 --- a/pgtap/ksp/tr_compare-dijkstra.sql +++ b/pgtap/ksp/tr_compare-dijkstra.sql @@ -4,7 +4,7 @@ SELECT plan(1297); SET client_min_messages TO ERROR; -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; SELECT has_function('pgr_turnrestrictedpath'); diff --git a/pgtap/ksp/tr_custom.sql b/pgtap/ksp/tr_custom.sql index 8e868e03f3e..f0352c80301 100644 --- a/pgtap/ksp/tr_custom.sql +++ b/pgtap/ksp/tr_custom.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(9); SET client_min_messages TO WARNING; @@ -20,7 +21,7 @@ AS t(path_seq, node, edge, agg_cost); PREPARE q1 AS SELECT path_seq, node, edge, agg_cost FROM pgr_turnRestrictedPath( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 'SELECT * FROM new_restrictions WHERE id < 3', 2, 12, 1 @@ -30,7 +31,7 @@ FROM pgr_turnRestrictedPath( PREPARE q2 AS SELECT path_seq, node, edge, agg_cost FROM pgr_turnRestrictedPath( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 'SELECT * FROM new_restrictions WHERE id < 3', 2, 12, 1, @@ -60,7 +61,7 @@ AS t(path_seq, node, edge, agg_cost); PREPARE q3 AS SELECT path_seq, node, edge, agg_cost FROM pgr_turnRestrictedPath( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 'SELECT * FROM new_restrictions WHERE id < 3', 2, 12, 3, @@ -82,7 +83,7 @@ AS t(path_seq, node, edge); PREPARE q4 AS SELECT path_seq, node, edge FROM pgr_turnRestrictedPath( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 'SELECT * FROM new_restrictions', 2, 12, 1 @@ -91,7 +92,7 @@ FROM pgr_turnRestrictedPath( PREPARE q7 AS SELECT path_seq, node, edge FROM pgr_turnRestrictedPath( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 'SELECT * FROM new_restrictions', 2, 12, 1, @@ -112,7 +113,7 @@ AS t(path_seq, node, edge); PREPARE q5 AS SELECT path_seq, node, edge FROM pgr_turnRestrictedPath( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 'SELECT * FROM new_restrictions', 2, 12, 2, @@ -124,7 +125,7 @@ FROM pgr_turnRestrictedPath( PREPARE q6 AS SELECT path_seq, node, edge FROM pgr_turnRestrictedPath( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 'SELECT * FROM new_restrictions', 2, 12, 3, @@ -150,7 +151,7 @@ AS t(path_seq, node, edge); PREPARE q8 AS SELECT path_seq, node, edge FROM pgr_turnRestrictedPath( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 'SELECT * FROM new_restrictions', 2, 12, 2, @@ -161,7 +162,7 @@ FROM pgr_turnRestrictedPath( PREPARE q9 AS SELECT path_seq, node, edge FROM pgr_turnRestrictedPath( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', 'SELECT * FROM new_restrictions', 2, 12, 3, diff --git a/pgtap/ksp/tr_empty_set_NO_default_strict.sql b/pgtap/ksp/tr_empty_set_NO_default_strict.sql index f96735d70eb..5143bce2d57 100644 --- a/pgtap/ksp/tr_empty_set_NO_default_strict.sql +++ b/pgtap/ksp/tr_empty_set_NO_default_strict.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(16); ---------------------------------------------------------------------------------------------------------------- diff --git a/pgtap/ksp/tr_empty_set_default_strict.sql b/pgtap/ksp/tr_empty_set_default_strict.sql index 95bdad4b0b1..2387299952a 100644 --- a/pgtap/ksp/tr_empty_set_default_strict.sql +++ b/pgtap/ksp/tr_empty_set_default_strict.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(16); ---------------------------------------------------------------------------------------------------------------- diff --git a/pgtap/ksp/tr_innerQuery.sql b/pgtap/ksp/tr_innerQuery.sql index 40d0416f273..1507ed6f595 100644 --- a/pgtap/ksp/tr_innerQuery.sql +++ b/pgtap/ksp/tr_innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(2); SET client_min_messages TO ERROR; diff --git a/pgtap/ksp/tr_typesCheck.sql b/pgtap/ksp/tr_typesCheck.sql index f256a666789..4930352a9a9 100644 --- a/pgtap/ksp/tr_typesCheck.sql +++ b/pgtap/ksp/tr_typesCheck.sql @@ -1,4 +1,5 @@ +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(4); SELECT has_function('pgr_turnrestrictedpath'); diff --git a/pgtap/ksp/withPointsKSP-innerQuery.sql b/pgtap/ksp/withPointsKSP-innerQuery.sql index 1b7da3703e8..3e8a398a3b8 100644 --- a/pgtap/ksp/withPointsKSP-innerQuery.sql +++ b/pgtap/ksp/withPointsKSP-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); diff --git a/pgtap/lineGraph/lineGraph/innerQuery.sql b/pgtap/lineGraph/lineGraph/innerQuery.sql index d5b461c6a83..ee03e7120d3 100644 --- a/pgtap/lineGraph/lineGraph/innerQuery.sql +++ b/pgtap/lineGraph/lineGraph/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(164); SET client_min_messages TO ERROR; diff --git a/pgtap/lineGraph/lineGraph/lineGraph-typesCheck.sql b/pgtap/lineGraph/lineGraph/lineGraph-typesCheck.sql index 0eb3c48e4ea..814a0bc1569 100644 --- a/pgtap/lineGraph/lineGraph/lineGraph-typesCheck.sql +++ b/pgtap/lineGraph/lineGraph/lineGraph-typesCheck.sql @@ -1,4 +1,5 @@ +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(4); SELECT has_function('pgr_linegraph'); diff --git a/pgtap/lineGraph/lineGraph/no_crash_test-lineGraph.sql b/pgtap/lineGraph/lineGraph/no_crash_test-lineGraph.sql index 61d345a6de7..10485327a39 100644 --- a/pgtap/lineGraph/lineGraph/no_crash_test-lineGraph.sql +++ b/pgtap/lineGraph/lineGraph/no_crash_test-lineGraph.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(9); PREPARE edges AS diff --git a/pgtap/lineGraph/lineGraph/no_crash_test.sql b/pgtap/lineGraph/lineGraph/no_crash_test.sql index 1576525917e..10e046bad6b 100644 --- a/pgtap/lineGraph/lineGraph/no_crash_test.sql +++ b/pgtap/lineGraph/lineGraph/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(9); PREPARE edges AS diff --git a/pgtap/lineGraph/lineGraphFull/innerQuery.sql b/pgtap/lineGraph/lineGraphFull/innerQuery.sql index fd43e15dff0..20f69ce77f8 100644 --- a/pgtap/lineGraph/lineGraphFull/innerQuery.sql +++ b/pgtap/lineGraph/lineGraphFull/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); SET client_min_messages TO ERROR; diff --git a/pgtap/lineGraph/lineGraphFull/lineGraphFull-reverse_cost_equivalence.sql b/pgtap/lineGraph/lineGraphFull/lineGraphFull-reverse_cost_equivalence.sql index 967ed3e538c..e5c00c94ada 100644 --- a/pgtap/lineGraph/lineGraphFull/lineGraphFull-reverse_cost_equivalence.sql +++ b/pgtap/lineGraph/lineGraphFull/lineGraphFull-reverse_cost_equivalence.sql @@ -1,3 +1,4 @@ +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(1); SELECT bag_has( diff --git a/pgtap/lineGraph/lineGraphFull/lineGraphFull-typesCheck.sql b/pgtap/lineGraph/lineGraphFull/lineGraphFull-typesCheck.sql index 808761a3a96..4755625534b 100644 --- a/pgtap/lineGraph/lineGraphFull/lineGraphFull-typesCheck.sql +++ b/pgtap/lineGraph/lineGraphFull/lineGraphFull-typesCheck.sql @@ -1,4 +1,5 @@ +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(3); SELECT has_function('pgr_linegraphfull'); diff --git a/pgtap/lineGraph/lineGraphFull/lineGraphFull_dijkstra_equivalence.sql b/pgtap/lineGraph/lineGraphFull/lineGraphFull_dijkstra_equivalence.sql index 00d63ac84f9..9d0981ed891 100644 --- a/pgtap/lineGraph/lineGraphFull/lineGraphFull_dijkstra_equivalence.sql +++ b/pgtap/lineGraph/lineGraphFull/lineGraphFull_dijkstra_equivalence.sql @@ -23,6 +23,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(1); DROP TABLE IF EXISTS result2; diff --git a/pgtap/lineGraph/lineGraphFull/lineGraphFull_original_edge_check.sql b/pgtap/lineGraph/lineGraphFull/lineGraphFull_original_edge_check.sql index e2a04a31191..1403a122a4c 100644 --- a/pgtap/lineGraph/lineGraphFull/lineGraphFull_original_edge_check.sql +++ b/pgtap/lineGraph/lineGraphFull/lineGraphFull_original_edge_check.sql @@ -23,6 +23,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(1); CREATE or REPLACE FUNCTION lineGraphFullOriginalEdgeCheck(cant INTEGER default 17) diff --git a/pgtap/lineGraph/lineGraphFull/lineGraphFull_original_vertex_mapping.sql b/pgtap/lineGraph/lineGraphFull/lineGraphFull_original_vertex_mapping.sql index 948cc5cb98f..c84f4af184d 100644 --- a/pgtap/lineGraph/lineGraphFull/lineGraphFull_original_vertex_mapping.sql +++ b/pgtap/lineGraph/lineGraphFull/lineGraphFull_original_vertex_mapping.sql @@ -23,6 +23,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(1); DROP TABLE IF EXISTS result2; diff --git a/pgtap/max_flow/boykovKolmogorov-innerQuery.sql b/pgtap/max_flow/boykovKolmogorov-innerQuery.sql index 1be9146e8e5..75a2d1ba0a4 100644 --- a/pgtap/max_flow/boykovKolmogorov-innerQuery.sql +++ b/pgtap/max_flow/boykovKolmogorov-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(224); diff --git a/pgtap/max_flow/boykovKolmogorov-types-check.sql b/pgtap/max_flow/boykovKolmogorov-types-check.sql index d9476bdebb7..ed92c138449 100644 --- a/pgtap/max_flow/boykovKolmogorov-types-check.sql +++ b/pgtap/max_flow/boykovKolmogorov-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(21); SELECT has_function('pgr_boykovkolmogorov'); diff --git a/pgtap/max_flow/edgedisjointpaths-group-innerQuery.sql b/pgtap/max_flow/edgedisjointpaths-group-innerQuery.sql index c2a98cb49f4..8af51ad77cc 100644 --- a/pgtap/max_flow/edgedisjointpaths-group-innerQuery.sql +++ b/pgtap/max_flow/edgedisjointpaths-group-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(656); diff --git a/pgtap/max_flow/edgedisjointpaths-types-check.sql b/pgtap/max_flow/edgedisjointpaths-types-check.sql index 2c009d563b9..113d71eb00b 100644 --- a/pgtap/max_flow/edgedisjointpaths-types-check.sql +++ b/pgtap/max_flow/edgedisjointpaths-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(10); diff --git a/pgtap/max_flow/edmondsKarp-innerQuery.sql b/pgtap/max_flow/edmondsKarp-innerQuery.sql index f5dc2dcd158..7379517db31 100644 --- a/pgtap/max_flow/edmondsKarp-innerQuery.sql +++ b/pgtap/max_flow/edmondsKarp-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(224); diff --git a/pgtap/max_flow/edmondsKarp-types-check.sql b/pgtap/max_flow/edmondsKarp-types-check.sql index 8d5964eb9d7..2bc3d97b4b4 100644 --- a/pgtap/max_flow/edmondsKarp-types-check.sql +++ b/pgtap/max_flow/edmondsKarp-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(21); SELECT has_function('pgr_edmondskarp'); diff --git a/pgtap/max_flow/internet_example.sql b/pgtap/max_flow/internet_example.sql index 5bbcf3ca8ec..85aefd5c81d 100644 --- a/pgtap/max_flow/internet_example.sql +++ b/pgtap/max_flow/internet_example.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(3); diff --git a/pgtap/max_flow/maxCardinalityMatch-innerQuery.sql b/pgtap/max_flow/maxCardinalityMatch-innerQuery.sql index e29308bf22b..efa20c8829d 100644 --- a/pgtap/max_flow/maxCardinalityMatch-innerQuery.sql +++ b/pgtap/max_flow/maxCardinalityMatch-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(164); diff --git a/pgtap/max_flow/maxCardinalityMatch-types-check.sql b/pgtap/max_flow/maxCardinalityMatch-types-check.sql index d1e20cb453c..19a9dda13b2 100644 --- a/pgtap/max_flow/maxCardinalityMatch-types-check.sql +++ b/pgtap/max_flow/maxCardinalityMatch-types-check.sql @@ -1,6 +1,7 @@ \i setup.sql SET client_min_messages TO WARNING; +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); diff --git a/pgtap/max_flow/maxFlow/maxflow-group-innerQuery.sql b/pgtap/max_flow/maxFlow/maxflow-group-innerQuery.sql index f6f74af33a5..c894d7ed134 100644 --- a/pgtap/max_flow/maxFlow/maxflow-group-innerQuery.sql +++ b/pgtap/max_flow/maxFlow/maxflow-group-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(224); diff --git a/pgtap/max_flow/maxFlow/maxflow-types-check.sql b/pgtap/max_flow/maxFlow/maxflow-types-check.sql index 807c872a3e0..f2e2c3ef23b 100644 --- a/pgtap/max_flow/maxFlow/maxflow-types-check.sql +++ b/pgtap/max_flow/maxFlow/maxflow-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(18); SELECT has_function('pgr_maxflow'); diff --git a/pgtap/max_flow/maxFlow/no_crash_test-maxFlow.sql b/pgtap/max_flow/maxFlow/no_crash_test-maxFlow.sql index 4167b00b0a4..136fd147985 100644 --- a/pgtap/max_flow/maxFlow/no_crash_test-maxFlow.sql +++ b/pgtap/max_flow/maxFlow/no_crash_test-maxFlow.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-innerQuery.sql b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-innerQuery.sql index 6adb44e3996..dc3ac10f970 100644 --- a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-innerQuery.sql +++ b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(584); diff --git a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-types-check.sql b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-types-check.sql index 0b2b712ad50..bc106d2072a 100644 --- a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-types-check.sql +++ b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(18); SELECT has_function('pgr_maxflowmincost'); diff --git a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-innerquery.sql b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-innerquery.sql index 63d6bcdb26b..2d73f31a795 100644 --- a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-innerquery.sql +++ b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-innerquery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(584); diff --git a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-types-check.sql b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-types-check.sql index 85205d11860..8369102a848 100644 --- a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-types-check.sql +++ b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(18); SELECT has_function('pgr_maxflowmincost_cost'); diff --git a/pgtap/max_flow/no_crash_test-boykovKolmogorov.sql b/pgtap/max_flow/no_crash_test-boykovKolmogorov.sql index 1bd98d52528..dc77eff373a 100644 --- a/pgtap/max_flow/no_crash_test-boykovKolmogorov.sql +++ b/pgtap/max_flow/no_crash_test-boykovKolmogorov.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/max_flow/no_crash_test-edgeDisjointPaths.sql b/pgtap/max_flow/no_crash_test-edgeDisjointPaths.sql index b44b1c85c6d..39a5b34088f 100644 --- a/pgtap/max_flow/no_crash_test-edgeDisjointPaths.sql +++ b/pgtap/max_flow/no_crash_test-edgeDisjointPaths.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/max_flow/no_crash_test-edmondsKarp.sql b/pgtap/max_flow/no_crash_test-edmondsKarp.sql index 4b30115d847..20bc3c1dd94 100644 --- a/pgtap/max_flow/no_crash_test-edmondsKarp.sql +++ b/pgtap/max_flow/no_crash_test-edmondsKarp.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/max_flow/no_crash_test-maxCardinalityMatch.sql b/pgtap/max_flow/no_crash_test-maxCardinalityMatch.sql index 408c24789ee..17b8b95ae99 100644 --- a/pgtap/max_flow/no_crash_test-maxCardinalityMatch.sql +++ b/pgtap/max_flow/no_crash_test-maxCardinalityMatch.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE edges AS diff --git a/pgtap/max_flow/no_crash_test-pushRelabel.sql b/pgtap/max_flow/no_crash_test-pushRelabel.sql index 8b085fd8fc0..c672780126f 100644 --- a/pgtap/max_flow/no_crash_test-pushRelabel.sql +++ b/pgtap/max_flow/no_crash_test-pushRelabel.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(67); PREPARE edges AS diff --git a/pgtap/max_flow/pushRelabel-innerQuery.sql b/pgtap/max_flow/pushRelabel-innerQuery.sql index 189132a3439..deca9e96115 100644 --- a/pgtap/max_flow/pushRelabel-innerQuery.sql +++ b/pgtap/max_flow/pushRelabel-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(224); diff --git a/pgtap/max_flow/pushRelabel-types-check.sql b/pgtap/max_flow/pushRelabel-types-check.sql index 1d79fb7a30a..1cdbba9648a 100644 --- a/pgtap/max_flow/pushRelabel-types-check.sql +++ b/pgtap/max_flow/pushRelabel-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(21); SELECT has_function('pgr_pushrelabel'); diff --git a/pgtap/mincut/compare.test.sql b/pgtap/mincut/compare.test.sql index 6cf69fe00a7..61a1d7be5cc 100644 --- a/pgtap/mincut/compare.test.sql +++ b/pgtap/mincut/compare.test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(6); PREPARE stoerWagner1 AS diff --git a/pgtap/mincut/stoerWagner-innerQuery.sql b/pgtap/mincut/stoerWagner-innerQuery.sql index fed7d7dd330..f87dff74fb2 100644 --- a/pgtap/mincut/stoerWagner-innerQuery.sql +++ b/pgtap/mincut/stoerWagner-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); diff --git a/pgtap/mincut/stoerWagner-types-check.sql b/pgtap/mincut/stoerWagner-types-check.sql index fbd38dcf0c9..d970b994026 100644 --- a/pgtap/mincut/stoerWagner-types-check.sql +++ b/pgtap/mincut/stoerWagner-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); SELECT has_function('pgr_stoerwagner'); diff --git a/pgtap/pickDeliver/order_id_is_neg1.sql b/pgtap/pickDeliver/order_id_is_neg1.sql index 844e9e0c1e5..8c3d47b6304 100644 --- a/pgtap/pickDeliver/order_id_is_neg1.sql +++ b/pgtap/pickDeliver/order_id_is_neg1.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(2); SELECT * INTO results diff --git a/pgtap/pickDeliver/pickDeliver-VS-pickDeliverEuclidean.sql b/pgtap/pickDeliver/pickDeliver-VS-pickDeliverEuclidean.sql index bb945547c4b..38b6907be5b 100644 --- a/pgtap/pickDeliver/pickDeliver-VS-pickDeliverEuclidean.sql +++ b/pgtap/pickDeliver/pickDeliver-VS-pickDeliverEuclidean.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(1); SET client_min_messages TO ERROR; diff --git a/pgtap/pickDeliver/pickDeliver/innerQuery.sql b/pgtap/pickDeliver/pickDeliver/innerQuery.sql index 2d13f6a8e95..592dff45162 100644 --- a/pgtap/pickDeliver/pickDeliver/innerQuery.sql +++ b/pgtap/pickDeliver/pickDeliver/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(77); SET client_min_messages TO ERROR; diff --git a/pgtap/pickDeliver/pickDeliver/types_check.sql b/pgtap/pickDeliver/pickDeliver/types_check.sql index c9b29d04d60..4463c617326 100644 --- a/pgtap/pickDeliver/pickDeliver/types_check.sql +++ b/pgtap/pickDeliver/pickDeliver/types_check.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(4); diff --git a/pgtap/pickDeliver/pickDeliverEuclidean/innerQuery.sql b/pgtap/pickDeliver/pickDeliverEuclidean/innerQuery.sql index af3916e567d..148b04a5f8c 100644 --- a/pgtap/pickDeliver/pickDeliverEuclidean/innerQuery.sql +++ b/pgtap/pickDeliver/pickDeliverEuclidean/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(104); SET client_min_messages TO ERROR; diff --git a/pgtap/pickDeliver/pickDeliverEuclidean/types_check.sql b/pgtap/pickDeliver/pickDeliverEuclidean/types_check.sql index a7b6d51d577..24496da2b39 100644 --- a/pgtap/pickDeliver/pickDeliverEuclidean/types_check.sql +++ b/pgtap/pickDeliver/pickDeliverEuclidean/types_check.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(4); diff --git a/pgtap/pickDeliver/wrong_data_pickDeliverEuclidean.sql b/pgtap/pickDeliver/wrong_data_pickDeliverEuclidean.sql index c22f3cf5bad..e8c74a3534d 100644 --- a/pgtap/pickDeliver/wrong_data_pickDeliverEuclidean.sql +++ b/pgtap/pickDeliver/wrong_data_pickDeliverEuclidean.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(23); PREPARE q1 AS diff --git a/pgtap/planar/isPlanar/edge_cases.sql b/pgtap/planar/isPlanar/edge_cases.sql index f40bf12b105..ce08b79bd16 100644 --- a/pgtap/planar/isPlanar/edge_cases.sql +++ b/pgtap/planar/isPlanar/edge_cases.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(16); diff --git a/pgtap/planar/isPlanar/inner_query.sql b/pgtap/planar/isPlanar/inner_query.sql index 78288e2286d..7f7d457258b 100644 --- a/pgtap/planar/isPlanar/inner_query.sql +++ b/pgtap/planar/isPlanar/inner_query.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); SET client_min_messages TO ERROR; diff --git a/pgtap/planar/isPlanar/no_crash_test.sql b/pgtap/planar/isPlanar/no_crash_test.sql index ea87f82ebc7..e539d051773 100644 --- a/pgtap/planar/isPlanar/no_crash_test.sql +++ b/pgtap/planar/isPlanar/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE edges AS diff --git a/pgtap/planar/isPlanar/types_check.sql b/pgtap/planar/isPlanar/types_check.sql index 98ba91a7dfd..27b3ea0f4c3 100644 --- a/pgtap/planar/isPlanar/types_check.sql +++ b/pgtap/planar/isPlanar/types_check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(4); SELECT has_function('pgr_isplanar'); diff --git a/pgtap/spanningTree/compare-prim-kruskal.sql b/pgtap/spanningTree/compare-prim-kruskal.sql index ff4bf68df83..50ee384388f 100644 --- a/pgtap/spanningTree/compare-prim-kruskal.sql +++ b/pgtap/spanningTree/compare-prim-kruskal.sql @@ -2,7 +2,7 @@ SELECT plan(3); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; -- PREPARE prim AS diff --git a/pgtap/spanningTree/compare-primBFS-kruskalBFS.sql b/pgtap/spanningTree/compare-primBFS-kruskalBFS.sql index be4f7fabb14..dc9dcd3e226 100644 --- a/pgtap/spanningTree/compare-primBFS-kruskalBFS.sql +++ b/pgtap/spanningTree/compare-primBFS-kruskalBFS.sql @@ -25,7 +25,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. SELECT plan(28); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE or REPLACE FUNCTION ComparePrimBFSKruskalBFS() RETURNS SETOF TEXT AS diff --git a/pgtap/spanningTree/compare-primDD-kruskalDD.sql b/pgtap/spanningTree/compare-primDD-kruskalDD.sql index ef43a226128..cef2ec489d7 100644 --- a/pgtap/spanningTree/compare-primDD-kruskalDD.sql +++ b/pgtap/spanningTree/compare-primDD-kruskalDD.sql @@ -25,7 +25,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. SELECT plan(24); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE or REPLACE FUNCTION ComparePrimDDKruskalDD(distance FLOAT) RETURNS SETOF TEXT AS diff --git a/pgtap/spanningTree/compare-primDFS-kruskalDFS.sql b/pgtap/spanningTree/compare-primDFS-kruskalDFS.sql index 5e22a1dd0c7..8e6b2b79e27 100644 --- a/pgtap/spanningTree/compare-primDFS-kruskalDFS.sql +++ b/pgtap/spanningTree/compare-primDFS-kruskalDFS.sql @@ -25,7 +25,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. SELECT plan(28); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE or REPLACE FUNCTION ComparePrimDFSKruskalDFS() RETURNS SETOF TEXT AS diff --git a/pgtap/spanningTree/kruskal/kruskal/kruskal-edge-cases.sql b/pgtap/spanningTree/kruskal/kruskal/kruskal-edge-cases.sql index ce44d1052fb..4df2748c15e 100644 --- a/pgtap/spanningTree/kruskal/kruskal/kruskal-edge-cases.sql +++ b/pgtap/spanningTree/kruskal/kruskal/kruskal-edge-cases.sql @@ -2,7 +2,7 @@ SELECT plan(4); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; -- PREPARE kruskal1 AS diff --git a/pgtap/spanningTree/kruskal/kruskal/kruskal-innerQuery.sql b/pgtap/spanningTree/kruskal/kruskal/kruskal-innerQuery.sql index 228cff1c561..e0f32d0561e 100644 --- a/pgtap/spanningTree/kruskal/kruskal/kruskal-innerQuery.sql +++ b/pgtap/spanningTree/kruskal/kruskal/kruskal-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); SELECT style_dijkstra('pgr_kruskal', ')'); diff --git a/pgtap/spanningTree/kruskal/kruskal/kruskal-types-check.sql b/pgtap/spanningTree/kruskal/kruskal/kruskal-types-check.sql index 8ece632b1dc..8833889e758 100644 --- a/pgtap/spanningTree/kruskal/kruskal/kruskal-types-check.sql +++ b/pgtap/spanningTree/kruskal/kruskal/kruskal-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); ---------------------------------- diff --git a/pgtap/spanningTree/kruskal/kruskal/no_crash_test-kruskal.sql b/pgtap/spanningTree/kruskal/kruskal/no_crash_test-kruskal.sql index 51824562861..bbd7249e257 100644 --- a/pgtap/spanningTree/kruskal/kruskal/no_crash_test-kruskal.sql +++ b/pgtap/spanningTree/kruskal/kruskal/no_crash_test-kruskal.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(9); PREPARE edges AS diff --git a/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-edge-cases.sql b/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-edge-cases.sql index 39c1f5e39da..8462c680844 100644 --- a/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-edge-cases.sql +++ b/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-edge-cases.sql @@ -2,7 +2,7 @@ SELECT plan(10); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; -- PREPARE kruskal1 AS diff --git a/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-innerQuery.sql b/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-innerQuery.sql index 7bc02086582..100cb684af1 100644 --- a/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-innerQuery.sql +++ b/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); SELECT style_dijkstra('pgr_kruskalBFS', ', 5)'); diff --git a/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-types-check.sql b/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-types-check.sql index 6e2496e19c2..30b3d732893 100644 --- a/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-types-check.sql +++ b/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); ---------------------------------- diff --git a/pgtap/spanningTree/kruskal/kruskalBFS/no_crash_test-kruskalBFS.sql b/pgtap/spanningTree/kruskal/kruskalBFS/no_crash_test-kruskalBFS.sql index ac63f1c48d8..b3900651379 100644 --- a/pgtap/spanningTree/kruskal/kruskalBFS/no_crash_test-kruskalBFS.sql +++ b/pgtap/spanningTree/kruskal/kruskalBFS/no_crash_test-kruskalBFS.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(86); PREPARE edges AS diff --git a/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-edge-cases.sql b/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-edge-cases.sql index 43bdb517b20..be6da3b24a0 100644 --- a/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-edge-cases.sql +++ b/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-edge-cases.sql @@ -2,7 +2,7 @@ SELECT plan(9); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; -- PREPARE kruskal1 AS diff --git a/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-innerQuery.sql b/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-innerQuery.sql index 25b552d09d4..f8b8f92d4e6 100644 --- a/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-innerQuery.sql +++ b/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); SELECT style_dijkstra('pgr_kruskalDD', ', 5, 3.5)'); diff --git a/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-types-check.sql b/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-types-check.sql index b19b11d114f..5cb430ce7f1 100644 --- a/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-types-check.sql +++ b/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(11); ---------------------------------- diff --git a/pgtap/spanningTree/kruskal/kruskalDD/no_crash_test-kruskalDD.sql b/pgtap/spanningTree/kruskal/kruskalDD/no_crash_test-kruskalDD.sql index 57608ed221e..cc3dca86c60 100644 --- a/pgtap/spanningTree/kruskal/kruskalDD/no_crash_test-kruskalDD.sql +++ b/pgtap/spanningTree/kruskal/kruskalDD/no_crash_test-kruskalDD.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(114); PREPARE edges AS diff --git a/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-edge-cases.sql b/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-edge-cases.sql index 7c6cee4f124..3b4438131d0 100644 --- a/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-edge-cases.sql +++ b/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-edge-cases.sql @@ -2,7 +2,7 @@ SELECT plan(10); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; -- PREPARE kruskal1 AS diff --git a/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-innerQuery.sql b/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-innerQuery.sql index 47468e7ab76..673a0d3cd55 100644 --- a/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-innerQuery.sql +++ b/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); SELECT style_dijkstra('pgr_kruskalDFS', ', 5)'); diff --git a/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-types-check.sql b/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-types-check.sql index 7546a9551ab..4f38a07f0e2 100644 --- a/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-types-check.sql +++ b/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); ---------------------------------- diff --git a/pgtap/spanningTree/kruskal/kruskalDFS/no_crash_test-kruskalDFS.sql b/pgtap/spanningTree/kruskal/kruskalDFS/no_crash_test-kruskalDFS.sql index 6495fc5cd6e..e6b8135597d 100644 --- a/pgtap/spanningTree/kruskal/kruskalDFS/no_crash_test-kruskalDFS.sql +++ b/pgtap/spanningTree/kruskal/kruskalDFS/no_crash_test-kruskalDFS.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(86); PREPARE edges AS diff --git a/pgtap/spanningTree/prim/prim/no_crash_test-prim.sql b/pgtap/spanningTree/prim/prim/no_crash_test-prim.sql index 5f3cb950e33..e9373098516 100644 --- a/pgtap/spanningTree/prim/prim/no_crash_test-prim.sql +++ b/pgtap/spanningTree/prim/prim/no_crash_test-prim.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(9); PREPARE edges AS diff --git a/pgtap/spanningTree/prim/prim/prim-edge-cases.sql b/pgtap/spanningTree/prim/prim/prim-edge-cases.sql index 62c670f8659..e05577a620b 100644 --- a/pgtap/spanningTree/prim/prim/prim-edge-cases.sql +++ b/pgtap/spanningTree/prim/prim/prim-edge-cases.sql @@ -2,7 +2,7 @@ SELECT plan(5); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; -- PREPARE prim1 AS diff --git a/pgtap/spanningTree/prim/prim/prim-innerQuery.sql b/pgtap/spanningTree/prim/prim/prim-innerQuery.sql index 6e0e88c5a86..57dc46a1116 100644 --- a/pgtap/spanningTree/prim/prim/prim-innerQuery.sql +++ b/pgtap/spanningTree/prim/prim/prim-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); SELECT style_dijkstra('pgr_prim', ')'); diff --git a/pgtap/spanningTree/prim/prim/prim-types-check.sql b/pgtap/spanningTree/prim/prim/prim-types-check.sql index c60ce222834..ab5e49d366b 100644 --- a/pgtap/spanningTree/prim/prim/prim-types-check.sql +++ b/pgtap/spanningTree/prim/prim/prim-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); ---------------------------------- diff --git a/pgtap/spanningTree/prim/primBFS/no_crash_test-primBFS.sql b/pgtap/spanningTree/prim/primBFS/no_crash_test-primBFS.sql index 448693370e0..3c4f8298ce2 100644 --- a/pgtap/spanningTree/prim/primBFS/no_crash_test-primBFS.sql +++ b/pgtap/spanningTree/prim/primBFS/no_crash_test-primBFS.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(86); PREPARE edges AS diff --git a/pgtap/spanningTree/prim/primBFS/primBFS-edge-cases.sql b/pgtap/spanningTree/prim/primBFS/primBFS-edge-cases.sql index ebfa043e706..99aac838a95 100644 --- a/pgtap/spanningTree/prim/primBFS/primBFS-edge-cases.sql +++ b/pgtap/spanningTree/prim/primBFS/primBFS-edge-cases.sql @@ -2,7 +2,7 @@ SELECT plan(10); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; -- PREPARE prim1 AS diff --git a/pgtap/spanningTree/prim/primBFS/primBFS-innerQuery.sql b/pgtap/spanningTree/prim/primBFS/primBFS-innerQuery.sql index 89d7f1b80e6..54fe037d01d 100644 --- a/pgtap/spanningTree/prim/primBFS/primBFS-innerQuery.sql +++ b/pgtap/spanningTree/prim/primBFS/primBFS-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); SELECT style_dijkstra('pgr_primBFS', ', 5)'); diff --git a/pgtap/spanningTree/prim/primBFS/primBFS-types-check.sql b/pgtap/spanningTree/prim/primBFS/primBFS-types-check.sql index e25a3353ee0..e522d9d52fe 100644 --- a/pgtap/spanningTree/prim/primBFS/primBFS-types-check.sql +++ b/pgtap/spanningTree/prim/primBFS/primBFS-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); ---------------------------------- diff --git a/pgtap/spanningTree/prim/primDD/no_crash_test-primDD.sql b/pgtap/spanningTree/prim/primDD/no_crash_test-primDD.sql index 7e76957d82a..7c17825a81c 100644 --- a/pgtap/spanningTree/prim/primDD/no_crash_test-primDD.sql +++ b/pgtap/spanningTree/prim/primDD/no_crash_test-primDD.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(114); PREPARE edges AS diff --git a/pgtap/spanningTree/prim/primDD/primDD-edge-cases.sql b/pgtap/spanningTree/prim/primDD/primDD-edge-cases.sql index b3abf2bb7a5..d22778a991b 100644 --- a/pgtap/spanningTree/prim/primDD/primDD-edge-cases.sql +++ b/pgtap/spanningTree/prim/primDD/primDD-edge-cases.sql @@ -2,7 +2,7 @@ SELECT plan(9); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; -- PREPARE prim1 AS diff --git a/pgtap/spanningTree/prim/primDD/primDD-innerQuery.sql b/pgtap/spanningTree/prim/primDD/primDD-innerQuery.sql index 6aec98376f2..018d2a89859 100644 --- a/pgtap/spanningTree/prim/primDD/primDD-innerQuery.sql +++ b/pgtap/spanningTree/prim/primDD/primDD-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); SELECT style_dijkstra('pgr_primDD', ', 5, 3.5)'); diff --git a/pgtap/spanningTree/prim/primDD/primDD-types-check.sql b/pgtap/spanningTree/prim/primDD/primDD-types-check.sql index 41b584152bc..e3749c7d3d8 100644 --- a/pgtap/spanningTree/prim/primDD/primDD-types-check.sql +++ b/pgtap/spanningTree/prim/primDD/primDD-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(11); ---------------------------------- diff --git a/pgtap/spanningTree/prim/primDFS/no_crash_test-primDFS.sql b/pgtap/spanningTree/prim/primDFS/no_crash_test-primDFS.sql index 1ad0d9b4d8f..7ef8d506024 100644 --- a/pgtap/spanningTree/prim/primDFS/no_crash_test-primDFS.sql +++ b/pgtap/spanningTree/prim/primDFS/no_crash_test-primDFS.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(86); PREPARE edges AS diff --git a/pgtap/spanningTree/prim/primDFS/primDFS-edge-cases.sql b/pgtap/spanningTree/prim/primDFS/primDFS-edge-cases.sql index 11cb1161c85..6bd3d088719 100644 --- a/pgtap/spanningTree/prim/primDFS/primDFS-edge-cases.sql +++ b/pgtap/spanningTree/prim/primDFS/primDFS-edge-cases.sql @@ -2,7 +2,7 @@ SELECT plan(10); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; -- PREPARE prim1 AS @@ -75,7 +75,7 @@ PREPARE prim5 AS SELECT seq, start_vid, depth, node, edge, depth <= 3 FROM pgr_primDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 0, 3 ); diff --git a/pgtap/spanningTree/prim/primDFS/primDFS-innerQuery.sql b/pgtap/spanningTree/prim/primDFS/primDFS-innerQuery.sql index 98aedb21240..7aaefe12c8a 100644 --- a/pgtap/spanningTree/prim/primDFS/primDFS-innerQuery.sql +++ b/pgtap/spanningTree/prim/primDFS/primDFS-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); SELECT style_dijkstra('pgr_primDFS', ', 5)'); diff --git a/pgtap/spanningTree/prim/primDFS/primDFS-types-check.sql b/pgtap/spanningTree/prim/primDFS/primDFS-types-check.sql index 1c0bb60679d..97dcd8ab1e0 100644 --- a/pgtap/spanningTree/prim/primDFS/primDFS-types-check.sql +++ b/pgtap/spanningTree/prim/primDFS/primDFS-types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); ---------------------------------- diff --git a/pgtap/topologicalSort/no_crash_test-topologicalSort.sql b/pgtap/topologicalSort/no_crash_test-topologicalSort.sql index 3a3641720dc..574c22ea4c6 100644 --- a/pgtap/topologicalSort/no_crash_test-topologicalSort.sql +++ b/pgtap/topologicalSort/no_crash_test-topologicalSort.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); CREATE TABLE edge_table1 ( diff --git a/pgtap/topologicalSort/topologicalSort-innerQuery.sql b/pgtap/topologicalSort/topologicalSort-innerQuery.sql index 82abd6a73ca..0357c4d1cd1 100644 --- a/pgtap/topologicalSort/topologicalSort-innerQuery.sql +++ b/pgtap/topologicalSort/topologicalSort-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(2); SET client_min_messages TO ERROR; diff --git a/pgtap/topology/analyzeGraph.test.sql b/pgtap/topology/analyzeGraph.test.sql index b9dcf4eeb66..19240be08f3 100644 --- a/pgtap/topology/analyzeGraph.test.sql +++ b/pgtap/topology/analyzeGraph.test.sql @@ -4,6 +4,7 @@ \i setup.sql SET client_min_messages TO WARNING; +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(4); diff --git a/pgtap/topology/analyzeOneWay.test.sql b/pgtap/topology/analyzeOneWay.test.sql index 0e66ca44aac..335f30407df 100644 --- a/pgtap/topology/analyzeOneWay.test.sql +++ b/pgtap/topology/analyzeOneWay.test.sql @@ -3,6 +3,7 @@ \i setup.sql SET client_min_messages TO WARNING; +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(2); SELECT pgr_analyzeOneway('edge_table', diff --git a/pgtap/topology/createTopology.test.sql b/pgtap/topology/createTopology.test.sql index 81c1fbd81a2..60d93f41ca8 100644 --- a/pgtap/topology/createTopology.test.sql +++ b/pgtap/topology/createTopology.test.sql @@ -26,6 +26,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. SELECT * INTO edges2 FROM edge_table; UPDATE edges2 SET source = NULL, target = NULL; +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(108); diff --git a/pgtap/topology/extractVertices/edge-cases.sql b/pgtap/topology/extractVertices/edge-cases.sql index b7387dd33f6..ae906bc3102 100644 --- a/pgtap/topology/extractVertices/edge-cases.sql +++ b/pgtap/topology/extractVertices/edge-cases.sql @@ -2,7 +2,7 @@ SELECT plan(23); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; -- PREPARE query_1 AS diff --git a/pgtap/topology/extractVertices/innerQuery.sql b/pgtap/topology/extractVertices/innerQuery.sql index 91a1943f8cb..44d461946b5 100644 --- a/pgtap/topology/extractVertices/innerQuery.sql +++ b/pgtap/topology/extractVertices/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(84); CREATE OR REPLACE FUNCTION style_extract_normal(fn TEXT, rest_sql TEXT) diff --git a/pgtap/topology/extractVertices/no_crash_test.sql b/pgtap/topology/extractVertices/no_crash_test.sql index 39d0fe715f8..7a6cf2ff495 100644 --- a/pgtap/topology/extractVertices/no_crash_test.sql +++ b/pgtap/topology/extractVertices/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(54); PREPARE edges AS diff --git a/pgtap/topology/extractVertices/types-check.sql b/pgtap/topology/extractVertices/types-check.sql index ab5a669f331..505aede458c 100644 --- a/pgtap/topology/extractVertices/types-check.sql +++ b/pgtap/topology/extractVertices/types-check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); ---------------------------------- diff --git a/pgtap/topology/issue-1009.sql b/pgtap/topology/issue-1009.sql index 1de6a927748..0f657f61c5c 100644 --- a/pgtap/topology/issue-1009.sql +++ b/pgtap/topology/issue-1009.sql @@ -2,6 +2,7 @@ -- node the network +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(20); SET client_min_messages = WARNING; diff --git a/pgtap/topology/issue-1074.sql b/pgtap/topology/issue-1074.sql index 628a5d90846..43ed6389fab 100644 --- a/pgtap/topology/issue-1074.sql +++ b/pgtap/topology/issue-1074.sql @@ -3,6 +3,7 @@ -- node the network -- create 2 test cases with overlapping lines, one with crossing lines and one with touching (but no crossing) lines +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(22); SET client_min_messages = WARNING; diff --git a/pgtap/topology/issue-1336.sql b/pgtap/topology/issue-1336.sql index c903390207c..e2f5b24bfb3 100644 --- a/pgtap/topology/issue-1336.sql +++ b/pgtap/topology/issue-1336.sql @@ -3,6 +3,7 @@ -- node the network -- create 2 test cases with overlapping lines, one with crossing lines and one with touching (but no crossing) lines +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(20); SET client_min_messages = WARNING; diff --git a/pgtap/topology/nodeNetwork.test.sql b/pgtap/topology/nodeNetwork.test.sql index 7684f97191e..91cd5229aa8 100644 --- a/pgtap/topology/nodeNetwork.test.sql +++ b/pgtap/topology/nodeNetwork.test.sql @@ -4,6 +4,7 @@ -- create 4x4 grid of overlapping lines horizontal and vertical -- set the even numbered ones with dir='FT' and the odd ones 'TF' +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(41); SET client_min_messages = WARNING; diff --git a/pgtap/transitiveClosure/no_crash_test-transitiveClosure.sql b/pgtap/transitiveClosure/no_crash_test-transitiveClosure.sql index 06388160df3..5de10b65599 100644 --- a/pgtap/transitiveClosure/no_crash_test-transitiveClosure.sql +++ b/pgtap/transitiveClosure/no_crash_test-transitiveClosure.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(2); -- flags -- error diff --git a/pgtap/transitiveClosure/transitiveClosure-innerQuery.sql b/pgtap/transitiveClosure/transitiveClosure-innerQuery.sql index 172b5792451..67197953047 100644 --- a/pgtap/transitiveClosure/transitiveClosure-innerQuery.sql +++ b/pgtap/transitiveClosure/transitiveClosure-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(2); SET client_min_messages TO ERROR; diff --git a/pgtap/traversal/depthFirstSearch/edge_cases_directed.sql b/pgtap/traversal/depthFirstSearch/edge_cases_directed.sql index f8c9415e229..29153d4c14c 100644 --- a/pgtap/traversal/depthFirstSearch/edge_cases_directed.sql +++ b/pgtap/traversal/depthFirstSearch/edge_cases_directed.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(18); diff --git a/pgtap/traversal/depthFirstSearch/edge_cases_undirected.sql b/pgtap/traversal/depthFirstSearch/edge_cases_undirected.sql index 4816c193ce2..501a9836dd5 100644 --- a/pgtap/traversal/depthFirstSearch/edge_cases_undirected.sql +++ b/pgtap/traversal/depthFirstSearch/edge_cases_undirected.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(18); diff --git a/pgtap/traversal/depthFirstSearch/equivalence_BFS.test.sql b/pgtap/traversal/depthFirstSearch/equivalence_BFS.test.sql index 5076abf7a7b..c6b1a800ce6 100644 --- a/pgtap/traversal/depthFirstSearch/equivalence_BFS.test.sql +++ b/pgtap/traversal/depthFirstSearch/equivalence_BFS.test.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(16); diff --git a/pgtap/traversal/depthFirstSearch/inner_query.sql b/pgtap/traversal/depthFirstSearch/inner_query.sql index d45377f0c2c..82e6af835db 100644 --- a/pgtap/traversal/depthFirstSearch/inner_query.sql +++ b/pgtap/traversal/depthFirstSearch/inner_query.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(432); -- SINGLE VERTEX diff --git a/pgtap/traversal/depthFirstSearch/issue1348.sql b/pgtap/traversal/depthFirstSearch/issue1348.sql index 9df806f94ac..b97b1b18dcf 100644 --- a/pgtap/traversal/depthFirstSearch/issue1348.sql +++ b/pgtap/traversal/depthFirstSearch/issue1348.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(8); diff --git a/pgtap/traversal/depthFirstSearch/no_crash_test.sql b/pgtap/traversal/depthFirstSearch/no_crash_test.sql index fdcc309eedc..6df485cab03 100644 --- a/pgtap/traversal/depthFirstSearch/no_crash_test.sql +++ b/pgtap/traversal/depthFirstSearch/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(59); PREPARE edges AS diff --git a/pgtap/traversal/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql b/pgtap/traversal/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql index 01340f3548d..bce3880813e 100644 --- a/pgtap/traversal/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql +++ b/pgtap/traversal/depthFirstSearch/singleVertex_equiv_multipleVertices.test.sql @@ -3,7 +3,7 @@ SELECT plan(22); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE OR REPLACE FUNCTION foo(cant INTEGER default 18, flag boolean default true) RETURNS SETOF TEXT AS diff --git a/pgtap/traversal/depthFirstSearch/types_check.sql b/pgtap/traversal/depthFirstSearch/types_check.sql index 6ca83130c61..cd827966fa7 100644 --- a/pgtap/traversal/depthFirstSearch/types_check.sql +++ b/pgtap/traversal/depthFirstSearch/types_check.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(7); diff --git a/pgtap/trsp/blank-restrictions-compare-dijkstra.test.sql b/pgtap/trsp/blank-restrictions-compare-dijkstra.test.sql index 850ae89ea4b..273054c9ee1 100644 --- a/pgtap/trsp/blank-restrictions-compare-dijkstra.test.sql +++ b/pgtap/trsp/blank-restrictions-compare-dijkstra.test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(1296); diff --git a/pgtap/trsp/emptyset-from-i-to-i.test.sql b/pgtap/trsp/emptyset-from-i-to-i.test.sql index 9714af2fbb2..a5f19d39d72 100644 --- a/pgtap/trsp/emptyset-from-i-to-i.test.sql +++ b/pgtap/trsp/emptyset-from-i-to-i.test.sql @@ -1,6 +1,7 @@ \i setup.sql - SELECT plan(144); + UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); +SELECT plan(144); create or REPLACE FUNCTION foo(cant INTEGER default 18, flag boolean default true ) diff --git a/pgtap/trsp/from1to3.test.sql b/pgtap/trsp/from1to3.test.sql index e9d0f42172e..29f623e3e92 100644 --- a/pgtap/trsp/from1to3.test.sql +++ b/pgtap/trsp/from1to3.test.sql @@ -2,7 +2,7 @@ SELECT plan(7); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; PREPARE q1 AS diff --git a/pgtap/trsp/from3to4-directed.test.sql b/pgtap/trsp/from3to4-directed.test.sql index a9a1fe4ed25..433c6213b6b 100644 --- a/pgtap/trsp/from3to4-directed.test.sql +++ b/pgtap/trsp/from3to4-directed.test.sql @@ -2,7 +2,7 @@ SELECT plan(3); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; PREPARE q1 AS diff --git a/pgtap/trsp/no-restrictions-compare-dijkstra-directed.test.sql b/pgtap/trsp/no-restrictions-compare-dijkstra-directed.test.sql index f9c81599fe2..a0795b49d62 100644 --- a/pgtap/trsp/no-restrictions-compare-dijkstra-directed.test.sql +++ b/pgtap/trsp/no-restrictions-compare-dijkstra-directed.test.sql @@ -4,7 +4,7 @@ SELECT plan(612); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE OR REPLACE FUNCTION foo(cant INTEGER default 18, flag boolean default true ) diff --git a/pgtap/trsp/no-restrictions-compare-dijkstra-undirected.test.sql b/pgtap/trsp/no-restrictions-compare-dijkstra-undirected.test.sql index c23f464bf09..20399c84d64 100644 --- a/pgtap/trsp/no-restrictions-compare-dijkstra-undirected.test.sql +++ b/pgtap/trsp/no-restrictions-compare-dijkstra-undirected.test.sql @@ -3,7 +3,7 @@ SELECT plan(612); - UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; + UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE OR REPLACE FUNCTION foo(cant INTEGER default 18, flag boolean default true ) diff --git a/pgtap/trsp/no_crash_test-trsp-int-flt.sql b/pgtap/trsp/no_crash_test-trsp-int-flt.sql index 850a0d7ba53..8e721b8f528 100644 --- a/pgtap/trsp/no_crash_test-trsp-int-flt.sql +++ b/pgtap/trsp/no_crash_test-trsp-int-flt.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(32); PREPARE edges AS diff --git a/pgtap/trsp/no_crash_test-trsp-int-int.sql b/pgtap/trsp/no_crash_test-trsp-int-int.sql index 440e63f00da..60483544ec3 100644 --- a/pgtap/trsp/no_crash_test-trsp-int-int.sql +++ b/pgtap/trsp/no_crash_test-trsp-int-int.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(24); PREPARE edges AS diff --git a/pgtap/trsp/no_crash_test-trsp-viaE.sql b/pgtap/trsp/no_crash_test-trsp-viaE.sql index 2292f1536c2..bda6855e139 100644 --- a/pgtap/trsp/no_crash_test-trsp-viaE.sql +++ b/pgtap/trsp/no_crash_test-trsp-viaE.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(22); PREPARE edges AS diff --git a/pgtap/trsp/no_crash_test-trsp-viaV.sql b/pgtap/trsp/no_crash_test-trsp-viaV.sql index c5831361707..83ca1e983c4 100644 --- a/pgtap/trsp/no_crash_test-trsp-viaV.sql +++ b/pgtap/trsp/no_crash_test-trsp-viaV.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(20); PREPARE edges AS diff --git a/pgtap/trsp/trsp-any-00.test.sql b/pgtap/trsp/trsp-any-00.test.sql index 4e44115b395..d5c95edbe44 100644 --- a/pgtap/trsp/trsp-any-00.test.sql +++ b/pgtap/trsp/trsp-any-00.test.sql @@ -1,7 +1,7 @@ \i setup.sql SELECT plan(1); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; PREPARE q1 AS SELECT seq, id1, id2, cost::TEXT FROM pgr_trsp( diff --git a/pgtap/trsp/trsp-any-01.test.sql b/pgtap/trsp/trsp-any-01.test.sql index 8687f89ac73..bcc53a5013d 100644 --- a/pgtap/trsp/trsp-any-01.test.sql +++ b/pgtap/trsp/trsp-any-01.test.sql @@ -1,7 +1,7 @@ \i setup.sql SELECT plan(1); - UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; + UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; prepare q1 AS SELECT seq, id1, id2, cost::TEXT FROM pgr_trsp( diff --git a/pgtap/trsp/trsp-issue244.test.sql b/pgtap/trsp/trsp-issue244.test.sql index 7d71d9cc879..a3bf42759f6 100644 --- a/pgtap/trsp/trsp-issue244.test.sql +++ b/pgtap/trsp/trsp-issue244.test.sql @@ -46,6 +46,7 @@ SELECT pgr_createTopology('edge_table_i244',0.001); SET client_min_messages TO NOTICE; +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(1); PREPARE q1 AS diff --git a/pgtap/trsp/trsp/innerQuery.sql b/pgtap/trsp/trsp/innerQuery.sql index 8d0299a7693..2769c860f70 100644 --- a/pgtap/trsp/trsp/innerQuery.sql +++ b/pgtap/trsp/trsp/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(162); diff --git a/pgtap/trsp/trspViaEdges/innerQuery.sql b/pgtap/trsp/trspViaEdges/innerQuery.sql index 1a79c30ecf3..17f878188e0 100644 --- a/pgtap/trsp/trspViaEdges/innerQuery.sql +++ b/pgtap/trsp/trspViaEdges/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(162); diff --git a/pgtap/trsp/trspViaVertices/innerQuery.sql b/pgtap/trsp/trspViaVertices/innerQuery.sql index 3105a0382af..8bfd8db1335 100644 --- a/pgtap/trsp/trspViaVertices/innerQuery.sql +++ b/pgtap/trsp/trspViaVertices/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(162); diff --git a/pgtap/trsp/viaV-no-restrictions-compare-dijkstra-directed.test.sql b/pgtap/trsp/viaV-no-restrictions-compare-dijkstra-directed.test.sql index bcef23b6d7b..820fbfde489 100644 --- a/pgtap/trsp/viaV-no-restrictions-compare-dijkstra-directed.test.sql +++ b/pgtap/trsp/viaV-no-restrictions-compare-dijkstra-directed.test.sql @@ -5,7 +5,7 @@ SELECT plan(1156); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE OR REPLACE FUNCTION foo(cant INTEGER default 18, flag boolean default true ) diff --git a/pgtap/trsp/viaV-no-restrictions-compare-dijkstra-undirected.test.sql b/pgtap/trsp/viaV-no-restrictions-compare-dijkstra-undirected.test.sql index 3777cfc9dc9..3fba0325236 100644 --- a/pgtap/trsp/viaV-no-restrictions-compare-dijkstra-undirected.test.sql +++ b/pgtap/trsp/viaV-no-restrictions-compare-dijkstra-undirected.test.sql @@ -3,7 +3,7 @@ SELECT plan(1156); -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; CREATE OR REPLACE FUNCTION foo(cant INTEGER default 18, flag boolean default true ) diff --git a/pgtap/tsp/TSPeuclidean/illegal_values.sql b/pgtap/tsp/TSPeuclidean/illegal_values.sql index 5d1f522d5a4..8c167845a92 100644 --- a/pgtap/tsp/TSPeuclidean/illegal_values.sql +++ b/pgtap/tsp/TSPeuclidean/illegal_values.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(9); SET client_min_messages TO WARNING; diff --git a/pgtap/tsp/TSPeuclidean/innerQuery.sql b/pgtap/tsp/TSPeuclidean/innerQuery.sql index 0883a645d29..5f8c2dfabc5 100644 --- a/pgtap/tsp/TSPeuclidean/innerQuery.sql +++ b/pgtap/tsp/TSPeuclidean/innerQuery.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(15); CREATE TEMP TABLE coords AS diff --git a/pgtap/tsp/TSPeuclidean/no_crash_test.sql b/pgtap/tsp/TSPeuclidean/no_crash_test.sql index 0a7c0590395..0e733a4600f 100644 --- a/pgtap/tsp/TSPeuclidean/no_crash_test.sql +++ b/pgtap/tsp/TSPeuclidean/no_crash_test.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(9); PREPARE data AS diff --git a/pgtap/tsp/TSPeuclidean/types_check.sql b/pgtap/tsp/TSPeuclidean/types_check.sql index f3f9954372d..a5c2357861d 100644 --- a/pgtap/tsp/TSPeuclidean/types_check.sql +++ b/pgtap/tsp/TSPeuclidean/types_check.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); SET client_min_messages TO WARNING; diff --git a/pgtap/tsp/no_crash_test-tsp.sql b/pgtap/tsp/no_crash_test-tsp.sql index f755b4b4669..05ec941909b 100644 --- a/pgtap/tsp/no_crash_test-tsp.sql +++ b/pgtap/tsp/no_crash_test-tsp.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); PREPARE data AS diff --git a/pgtap/tsp/pgr_TSP_types_check.sql b/pgtap/tsp/pgr_TSP_types_check.sql index 63e87707738..905432737c7 100644 --- a/pgtap/tsp/pgr_TSP_types_check.sql +++ b/pgtap/tsp/pgr_TSP_types_check.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(28); SET client_min_messages TO WARNING; diff --git a/pgtap/version/full_version.sql b/pgtap/version/full_version.sql index ce055ad6d9e..5f72210b91c 100644 --- a/pgtap/version/full_version.sql +++ b/pgtap/version/full_version.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); diff --git a/pgtap/version/version.sql b/pgtap/version/version.sql index 737c9d7d7f6..1a8dccec55c 100644 --- a/pgtap/version/version.sql +++ b/pgtap/version/version.sql @@ -1,6 +1,7 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(5); diff --git a/pgtap/vrp_basic/no_crash_test-vrpOneDepot.sql b/pgtap/vrp_basic/no_crash_test-vrpOneDepot.sql index 1d56ed040b0..7623f9c2f65 100644 --- a/pgtap/vrp_basic/no_crash_test-vrpOneDepot.sql +++ b/pgtap/vrp_basic/no_crash_test-vrpOneDepot.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(13); PREPARE orders AS diff --git a/pgtap/withPoints/no_crash_test-withPoints.sql b/pgtap/withPoints/no_crash_test-withPoints.sql index 75e6b2f6a65..98349f4fdc6 100644 --- a/pgtap/withPoints/no_crash_test-withPoints.sql +++ b/pgtap/withPoints/no_crash_test-withPoints.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(84); PREPARE edges AS diff --git a/pgtap/withPoints/no_crash_test-withPointsCost.sql b/pgtap/withPoints/no_crash_test-withPointsCost.sql index ed8b644191d..a5571d0d8e0 100644 --- a/pgtap/withPoints/no_crash_test-withPointsCost.sql +++ b/pgtap/withPoints/no_crash_test-withPointsCost.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(84); PREPARE edges AS diff --git a/pgtap/withPoints/withPoints-group-innerQuery.sql b/pgtap/withPoints/withPoints-group-innerQuery.sql index c3bb8e303fd..df23c54cd9f 100644 --- a/pgtap/withPoints/withPoints-group-innerQuery.sql +++ b/pgtap/withPoints/withPoints-group-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(656); SET client_min_messages TO ERROR; diff --git a/pgtap/withPoints/withPointsCost-group-innerQuery.sql b/pgtap/withPoints/withPointsCost-group-innerQuery.sql index 551a12e88b6..37d1e21c9f0 100644 --- a/pgtap/withPoints/withPointsCost-group-innerQuery.sql +++ b/pgtap/withPoints/withPointsCost-group-innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(656); SET client_min_messages TO ERROR; From adde50244fdbf88055b1c1a897fef58255e0c874 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 12:56:01 -0500 Subject: [PATCH 0896/1360] Fixing issue 1616 on dijkstra Via --- src/dijkstra/dijkstraVia_driver.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dijkstra/dijkstraVia_driver.cpp b/src/dijkstra/dijkstraVia_driver.cpp index 28f97e36959..655ade33550 100644 --- a/src/dijkstra/dijkstraVia_driver.cpp +++ b/src/dijkstra/dijkstraVia_driver.cpp @@ -70,11 +70,14 @@ static size_t get_route( Routes_t **ret_path, - const std::deque< Path > &paths) { + std::deque< Path > &paths) { size_t sequence = 0; int path_id = 1; int route_id = 1; double route_cost = 0; // routes_agg_cost + for (auto &p : paths) { + p.recalculate_agg_cost(); + } for (const Path &path : paths) { if (path.size() > 0) get_path(route_id, path_id, path, ret_path, route_cost, sequence); From 44f6261406aa56322fe13401cd9675d2dfa5e19c Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 13:42:32 -0500 Subject: [PATCH 0897/1360] issue 1630 on spanningTree & traversal --- .../kruskal/kruskal/kruskal-edge-cases.sql | 6 +++--- .../kruskalBFS/kruskalBFS-edge-cases.sql | 20 +++++++++---------- .../kruskalDD/kruskalDD-edge-cases.sql | 18 ++++++++--------- .../kruskalDFS/kruskalDFS-edge-cases.sql | 18 ++++++++--------- .../prim/prim/prim-edge-cases.sql | 6 +++--- .../prim/primBFS/primBFS-edge-cases.sql | 20 +++++++++---------- .../prim/primDD/primDD-edge-cases.sql | 18 ++++++++--------- .../prim/primDFS/primDFS-edge-cases.sql | 18 ++++++++--------- .../depthFirstSearch/edge_cases_directed.sql | 10 +++++----- 9 files changed, 67 insertions(+), 67 deletions(-) diff --git a/pgtap/spanningTree/kruskal/kruskal/kruskal-edge-cases.sql b/pgtap/spanningTree/kruskal/kruskal/kruskal-edge-cases.sql index 4df2748c15e..335c36f88ba 100644 --- a/pgtap/spanningTree/kruskal/kruskal/kruskal-edge-cases.sql +++ b/pgtap/spanningTree/kruskal/kruskal/kruskal-edge-cases.sql @@ -8,7 +8,7 @@ UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(r PREPARE kruskal1 AS SELECT * FROM pgr_kruskal( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18' + FROM edge_table WHERE id > 18 ORDER BY id' ); PREPARE kruskal2 AS @@ -27,7 +27,7 @@ PREPARE kruskal4 AS SELECT count(*) FROM pgr_kruskal( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' + FROM edge_table ORDER BY id' ) WHERE edge < 0; SELECT set_eq('kruskal4', @@ -39,7 +39,7 @@ PREPARE kruskal5 AS SELECT edge, cost FROM pgr_kruskal( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' + FROM edge_table ORDER BY id' ); SELECT bag_has('kruskal5', diff --git a/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-edge-cases.sql b/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-edge-cases.sql index 8462c680844..35074731c00 100644 --- a/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-edge-cases.sql +++ b/pgtap/spanningTree/kruskal/kruskalBFS/kruskalBFS-edge-cases.sql @@ -8,7 +8,7 @@ UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(r PREPARE kruskal1 AS SELECT * FROM pgr_kruskalBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', 21, 3 ); @@ -21,7 +21,7 @@ PREPARE kruskal2 AS SELECT * FROM pgr_kruskalBFS( 'SELECT id, source, target, cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', ARRAY[21, 45], 3 ); @@ -39,7 +39,7 @@ PREPARE kruskal3 AS SELECT * FROM pgr_kruskalBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 21, 3 ); @@ -52,7 +52,7 @@ PREPARE kruskal4 AS SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 FROM pgr_kruskalBFS( 'SELECT id, source, target, cost - FROM edge_table', + FROM edge_table ORDER BY id', ARRAY[21, 4], 3 ); @@ -75,7 +75,7 @@ PREPARE kruskal5 AS SELECT seq, start_vid, depth, node, edge, depth <= 3 FROM pgr_kruskalBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 0, 3 ); @@ -101,7 +101,7 @@ PREPARE kruskal6 AS SELECT * FROM pgr_kruskalBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, -3 ); @@ -117,7 +117,7 @@ PREPARE kruskal7 AS SELECT * FROM pgr_kruskalBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', ARRAY[4, 10], -3 ); @@ -131,7 +131,7 @@ PREPARE kruskal8 AS SELECT * FROM pgr_kruskalBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, 0 ); @@ -144,7 +144,7 @@ PREPARE kruskal9 AS SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 FROM pgr_kruskalBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4 ); @@ -171,7 +171,7 @@ PREPARE kruskal10 AS SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 FROM pgr_kruskalBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 0 ); diff --git a/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-edge-cases.sql b/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-edge-cases.sql index be6da3b24a0..8a5101b2ec9 100644 --- a/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-edge-cases.sql +++ b/pgtap/spanningTree/kruskal/kruskalDD/kruskalDD-edge-cases.sql @@ -9,7 +9,7 @@ PREPARE kruskal1 AS SELECT * FROM pgr_kruskalDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', 21, 3.5 ); @@ -22,7 +22,7 @@ PREPARE kruskal2 AS SELECT * FROM pgr_kruskalDD( 'SELECT id, source, target, cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', ARRAY[21, 45], 3.5 ); @@ -40,7 +40,7 @@ PREPARE kruskal3 AS SELECT * FROM pgr_kruskalDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 21, 3 ); @@ -53,7 +53,7 @@ PREPARE kruskal4 AS SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 FROM pgr_kruskalDD( 'SELECT id, source, target, cost - FROM edge_table', + FROM edge_table ORDER BY id', ARRAY[21, 4], 3.5 ); @@ -76,7 +76,7 @@ PREPARE kruskal5 AS SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 FROM pgr_kruskalDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 0, 3.5 ); @@ -102,7 +102,7 @@ PREPARE kruskal6 AS SELECT * FROM pgr_kruskalDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, -3 ); @@ -117,7 +117,7 @@ PREPARE kruskal7 AS SELECT * FROM pgr_kruskalDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', ARRAY[4, 10], -3 ); @@ -131,7 +131,7 @@ PREPARE kruskal8 AS SELECT * FROM pgr_kruskalDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, 0 ); @@ -145,7 +145,7 @@ PREPARE kruskal9 AS SELECT seq, depth, start_vid, node, edge FROM pgr_kruskalDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, 'Infinity' ); diff --git a/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-edge-cases.sql b/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-edge-cases.sql index 3b4438131d0..f84d286747f 100644 --- a/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-edge-cases.sql +++ b/pgtap/spanningTree/kruskal/kruskalDFS/kruskalDFS-edge-cases.sql @@ -8,7 +8,7 @@ UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(r PREPARE kruskal1 AS SELECT * FROM pgr_kruskalDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', 21, 3 ); @@ -21,7 +21,7 @@ PREPARE kruskal2 AS SELECT * FROM pgr_kruskalDFS( 'SELECT id, source, target, cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', ARRAY[21, 45], 3 ); @@ -39,7 +39,7 @@ PREPARE kruskal3 AS SELECT * FROM pgr_kruskalDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 21, 3 ); @@ -52,7 +52,7 @@ PREPARE kruskal4 AS SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 FROM pgr_kruskalDFS( 'SELECT id, source, target, cost - FROM edge_table', + FROM edge_table ORDER BY id', ARRAY[21, 4], 3 ); @@ -75,7 +75,7 @@ PREPARE kruskal5 AS SELECT seq, start_vid, depth, node, edge, depth <= 3 FROM pgr_kruskalDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 0, 3 ); @@ -101,7 +101,7 @@ PREPARE kruskal6 AS SELECT * FROM pgr_kruskalDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, -3 ); @@ -131,7 +131,7 @@ PREPARE kruskal8 AS SELECT * FROM pgr_kruskalDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, 0 ); @@ -144,7 +144,7 @@ PREPARE kruskal9 AS SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 FROM pgr_kruskalDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4 ); @@ -171,7 +171,7 @@ PREPARE kruskal10 AS SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 FROM pgr_kruskalDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 0 ); diff --git a/pgtap/spanningTree/prim/prim/prim-edge-cases.sql b/pgtap/spanningTree/prim/prim/prim-edge-cases.sql index e05577a620b..d88d774af67 100644 --- a/pgtap/spanningTree/prim/prim/prim-edge-cases.sql +++ b/pgtap/spanningTree/prim/prim/prim-edge-cases.sql @@ -8,7 +8,7 @@ UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(r PREPARE prim1 AS SELECT * FROM pgr_prim( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18' + FROM edge_table WHERE id > 18 ORDER BY id' ); PREPARE prim2 AS @@ -27,7 +27,7 @@ PREPARE prim4 AS SELECT count(*) FROM pgr_prim( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' + FROM edge_table ORDER BY id' ) WHERE edge < 0; SELECT lives_ok('prim4', @@ -42,7 +42,7 @@ PREPARE prim5 AS SELECT edge, cost FROM pgr_prim( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' + FROM edge_table ORDER BY id' ); SELECT bag_has('prim5', diff --git a/pgtap/spanningTree/prim/primBFS/primBFS-edge-cases.sql b/pgtap/spanningTree/prim/primBFS/primBFS-edge-cases.sql index 99aac838a95..2ea100332fc 100644 --- a/pgtap/spanningTree/prim/primBFS/primBFS-edge-cases.sql +++ b/pgtap/spanningTree/prim/primBFS/primBFS-edge-cases.sql @@ -8,7 +8,7 @@ UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(r PREPARE prim1 AS SELECT * FROM pgr_primBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', 21, 3 ); @@ -21,7 +21,7 @@ PREPARE prim2 AS SELECT * FROM pgr_primBFS( 'SELECT id, source, target, cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', ARRAY[21, 45], 3 ); @@ -39,7 +39,7 @@ PREPARE prim3 AS SELECT * FROM pgr_primBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 21, 3 ); @@ -52,7 +52,7 @@ PREPARE prim4 AS SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 FROM pgr_primBFS( 'SELECT id, source, target, cost - FROM edge_table', + FROM edge_table ORDER BY id', ARRAY[21, 4], 3 ); @@ -75,7 +75,7 @@ PREPARE prim5 AS SELECT seq, start_vid, depth, node, edge, depth <= 3 FROM pgr_primBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 0, 3 ); @@ -101,7 +101,7 @@ PREPARE prim6 AS SELECT * FROM pgr_primBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, -3 ); @@ -117,7 +117,7 @@ PREPARE prim7 AS SELECT * FROM pgr_primBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', ARRAY[4, 10], -3 ); @@ -131,7 +131,7 @@ PREPARE prim8 AS SELECT * FROM pgr_primBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, 0 ); @@ -144,7 +144,7 @@ PREPARE prim9 AS SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 FROM pgr_primBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4 ); @@ -171,7 +171,7 @@ PREPARE prim10 AS SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 FROM pgr_primBFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 0 ); diff --git a/pgtap/spanningTree/prim/primDD/primDD-edge-cases.sql b/pgtap/spanningTree/prim/primDD/primDD-edge-cases.sql index d22778a991b..5b22b2639cc 100644 --- a/pgtap/spanningTree/prim/primDD/primDD-edge-cases.sql +++ b/pgtap/spanningTree/prim/primDD/primDD-edge-cases.sql @@ -9,7 +9,7 @@ PREPARE prim1 AS SELECT * FROM pgr_primDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', 21, 3.5 ); @@ -22,7 +22,7 @@ PREPARE prim2 AS SELECT * FROM pgr_primDD( 'SELECT id, source, target, cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', ARRAY[21, 45], 3.5 ); @@ -40,7 +40,7 @@ PREPARE prim3 AS SELECT * FROM pgr_primDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 21, 3 ); @@ -53,7 +53,7 @@ PREPARE prim4 AS SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 FROM pgr_primDD( 'SELECT id, source, target, cost - FROM edge_table', + FROM edge_table ORDER BY id', ARRAY[21, 4], 3.5 ); @@ -76,7 +76,7 @@ PREPARE prim5 AS SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 FROM pgr_primDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 0, 3.5 ); @@ -102,7 +102,7 @@ PREPARE prim6 AS SELECT * FROM pgr_primDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, -3 ); @@ -117,7 +117,7 @@ PREPARE prim7 AS SELECT * FROM pgr_primDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', ARRAY[4, 10], -3 ); @@ -131,7 +131,7 @@ PREPARE prim8 AS SELECT * FROM pgr_primDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, 0 ); @@ -145,7 +145,7 @@ PREPARE prim9 AS SELECT seq, depth, start_vid, node, edge FROM pgr_primDD( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, 'Infinity' ); diff --git a/pgtap/spanningTree/prim/primDFS/primDFS-edge-cases.sql b/pgtap/spanningTree/prim/primDFS/primDFS-edge-cases.sql index 6bd3d088719..2d5d3b698c2 100644 --- a/pgtap/spanningTree/prim/primDFS/primDFS-edge-cases.sql +++ b/pgtap/spanningTree/prim/primDFS/primDFS-edge-cases.sql @@ -8,7 +8,7 @@ UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(r PREPARE prim1 AS SELECT * FROM pgr_primDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', 21, 3 ); @@ -21,7 +21,7 @@ PREPARE prim2 AS SELECT * FROM pgr_primDFS( 'SELECT id, source, target, cost - FROM edge_table WHERE id > 18', + FROM edge_table WHERE id > 18 ORDER BY id', ARRAY[21, 45], 3 ); @@ -39,7 +39,7 @@ PREPARE prim3 AS SELECT * FROM pgr_primDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 21, 3 ); @@ -52,7 +52,7 @@ PREPARE prim4 AS SELECT seq, start_vid, depth, node, edge, agg_cost <= 3.5 FROM pgr_primDFS( 'SELECT id, source, target, cost - FROM edge_table', + FROM edge_table ORDER BY id', ARRAY[21, 4], 3 ); @@ -101,7 +101,7 @@ PREPARE prim6 AS SELECT * FROM pgr_primDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, -3 ); @@ -117,7 +117,7 @@ PREPARE prim7 AS SELECT * FROM pgr_primDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', ARRAY[4, 10], -3 ); @@ -131,7 +131,7 @@ PREPARE prim8 AS SELECT * FROM pgr_primDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4, 0 ); @@ -144,7 +144,7 @@ PREPARE prim9 AS SELECT seq, depth, start_vid, node, edge, depth <= 9223372036854775807 FROM pgr_primDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 4 ); @@ -171,7 +171,7 @@ PREPARE prim10 AS SELECT seq, start_vid, depth, node, edge, depth <= 9223372036854775807 FROM pgr_primDFS( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table', + FROM edge_table ORDER BY id', 0 ); diff --git a/pgtap/traversal/depthFirstSearch/edge_cases_directed.sql b/pgtap/traversal/depthFirstSearch/edge_cases_directed.sql index 29153d4c14c..aab09770caf 100644 --- a/pgtap/traversal/depthFirstSearch/edge_cases_directed.sql +++ b/pgtap/traversal/depthFirstSearch/edge_cases_directed.sql @@ -10,7 +10,7 @@ SELECT plan(18); PREPARE q1 AS SELECT id, source, target, cost, reverse_cost FROM edge_table -WHERE id > 18; +WHERE id > 18 ORDER BY id; SELECT is_empty('q1', '1: Graph with 0 edge and 0 vertex'); @@ -32,7 +32,7 @@ SELECT set_eq('depthFirstSearch2', PREPARE q3 AS SELECT id, source, target, cost, reverse_cost -FROM edge_table; +FROM edge_table ORDER BY id; SELECT is_empty( 'SELECT id, source, target, cost, reverse_cost @@ -76,7 +76,7 @@ SELECT throws_ok('depthFirstSearch5', PREPARE q6 AS SELECT id, source, 2 AS target, cost, reverse_cost FROM edge_table -WHERE id = 2; +WHERE id = 2 ORDER BY id; SELECT set_eq('q6', $$VALUES (2, 2, 2, -1, 1)$$, @@ -102,7 +102,7 @@ SELECT set_eq('depthFirstSearch7', PREPARE q8 AS SELECT id, source, target, cost, reverse_cost FROM edge_table -WHERE id = 5; +WHERE id = 5 ORDER BY id; SELECT set_eq('q8', $$VALUES (5, 3, 6, 1, -1)$$, @@ -238,7 +238,7 @@ PREPARE q15 AS SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE (id >= 10 AND id <= 12) - OR id = 8; + OR id = 8 ORDER BY id; SELECT set_eq('q15', $$VALUES From 0052c425b1d02f3be01ed99c5ee3d3390d63bbb7 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 13:53:04 -0500 Subject: [PATCH 0898/1360] issue 1630 on linegraphFull --- .../lineGraphFull_dijkstra_equivalence.sql | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pgtap/lineGraph/lineGraphFull/lineGraphFull_dijkstra_equivalence.sql b/pgtap/lineGraph/lineGraphFull/lineGraphFull_dijkstra_equivalence.sql index 9d0981ed891..a7f022b687b 100644 --- a/pgtap/lineGraph/lineGraphFull/lineGraphFull_dijkstra_equivalence.sql +++ b/pgtap/lineGraph/lineGraphFull/lineGraphFull_dijkstra_equivalence.sql @@ -36,7 +36,7 @@ CREATE TABLE result2( DROP TABLE IF EXISTS result2_vertices_pgr; CREATE TABLE result2_vertices_pgr( - id bigint, + id bigint, original_id bigint); CREATE or REPLACE FUNCTION lineGraphFullDijkstraEquivalence(cant INTEGER default 17) @@ -49,19 +49,19 @@ BEGIN INSERT INTO result2 SELECT * FROM pgr_lineGraphFull( $$SELECT id, source, target, cost, reverse_cost - FROM edge_table$$ + FROM edge_table ORDER BY id$$ ); WITH foo AS (SELECT source AS id FROM result2 UNION - SELECT target FROM result2) + SELECT target FROM result2) INSERT INTO result2_vertices_pgr SELECT *, NULL::BIGINT AS original_id FROM foo ORDER BY id; - + UPDATE result2_vertices_pgr AS r SET original_id = v.id FROM edge_table_vertices_pgr AS v WHERE v.id = r.id; - + WITH a AS (SELECT e.id, e.original_id FROM result2_vertices_pgr AS e WHERE original_id IS NOT NULL), b AS (SELECT * FROM result2 WHERE cost = 0 and source IN (SELECT id FROM a)), c AS (SELECT * FROM b JOIN result2_vertices_pgr ON(source = id)), @@ -105,7 +105,7 @@ BEGIN UPDATE result2 AS a SET original_source_edge = b.edge FROM result2 AS b - WHERE + WHERE a.original_source_edge IS NULL AND b.original_source_edge IS NOT NULL AND a.source = b.target; @@ -113,7 +113,7 @@ BEGIN UPDATE result2 AS a SET original_target_edge = b.edge FROM result2 AS b - WHERE + WHERE a.original_target_edge IS NULL AND b.original_target_edge IS NOT NULL AND a.target = b.source; From 3ade16d4016123a42167a1f59af7b519b35b64a4 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 15:43:26 -0500 Subject: [PATCH 0899/1360] Removing a dead external link --- doc/tsp/TSP-family.rst | 1 - doc/tsp/pgr_TSP.rst | 1 - doc/tsp/pgr_TSPeuclidean.rst | 1 - 3 files changed, 3 deletions(-) diff --git a/doc/tsp/TSP-family.rst b/doc/tsp/TSP-family.rst index ee22a66f316..d14ee8799c2 100644 --- a/doc/tsp/TSP-family.rst +++ b/doc/tsp/TSP-family.rst @@ -268,7 +268,6 @@ See Also .. rubric:: References -* `Simulated annaeling algorithm for beginners `__ * `Wikipedia: Traveling Salesman Problem `__ * `Wikipedia: Simulated annealing `__ diff --git a/doc/tsp/pgr_TSP.rst b/doc/tsp/pgr_TSP.rst index e1697b88938..d1f28418280 100644 --- a/doc/tsp/pgr_TSP.rst +++ b/doc/tsp/pgr_TSP.rst @@ -139,7 +139,6 @@ See Also ------------------------------------------------------------------------------- * :doc:`TSP-family` -* `Simulated annaeling algorithm for beginners `__ * `Wikipedia: Traveling Salesman Problem `__ * `Wikipedia: Simulated annealing `__ diff --git a/doc/tsp/pgr_TSPeuclidean.rst b/doc/tsp/pgr_TSPeuclidean.rst index 545dbee117e..4457f287edb 100644 --- a/doc/tsp/pgr_TSPeuclidean.rst +++ b/doc/tsp/pgr_TSPeuclidean.rst @@ -129,7 +129,6 @@ See Also ------------------------------------------------------------------------------- * :doc:`TSP-family` -* `Simulated annaeling algorithm for beginners `__ * `Wikipedia: Traveling Salesman Problem `__ * `Wikipedia: Simulated annealing `__ From 7448561f2a208a72201329da1092d80822852fa8 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 14:36:50 -0500 Subject: [PATCH 0900/1360] issue 1630 on mincut/compare-dijkstra --- pgtap/mincut/compare.test.sql | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/pgtap/mincut/compare.test.sql b/pgtap/mincut/compare.test.sql index 61a1d7be5cc..d3354b3702b 100644 --- a/pgtap/mincut/compare.test.sql +++ b/pgtap/mincut/compare.test.sql @@ -6,32 +6,32 @@ SELECT plan(6); PREPARE stoerWagner1 AS SELECT * FROM pgr_stoerWagner( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table' + FROM edge_table ORDER BY id' ); PREPARE stoerWagner2 AS SELECT * FROM pgr_stoerWagner( - 'SELECT id, source, target, cost - FROM edge_table WHERE id > 18' + 'SELECT id, source, target, cost + FROM edge_table WHERE id > 18 ORDER BY id' ); PREPARE stoerWagner3 AS SELECT * FROM pgr_stoerWagner( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table ORDER BY id' + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table ORDER BY id ORDER BY id' ) WHERE cost < 0; PREPARE stoerWagner4 AS SELECT * FROM pgr_stoerWagner( $$ - SELECT id, source, target, cost, reverse_cost FROM edge_table + SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE source = ANY (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') WHERE component = 2) - ) - OR + ) + OR target = ANY (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') WHERE component = 2) @@ -47,19 +47,19 @@ SELECT is_empty('stoerWagner4', '4: Wrong component'); PREPARE stoerWagner5 AS SELECT * FROM pgr_stoerWagner( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table where id = 17' + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table where id = 17 ORDER BY id' ); PREPARE stoerWagner6 AS SELECT * FROM pgr_stoerWagner( $$ - SELECT id, source, target, cost, reverse_cost FROM edge_table + SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE source = ANY (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') WHERE component = 14) - ) - OR + ) + OR target = ANY (ARRAY(SELECT node FROM pgr_connectedComponents( 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') WHERE component = 14) @@ -70,8 +70,8 @@ $$ PREPARE stoerWagner7 AS SELECT * FROM pgr_stoerWagner( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table WHERE id < 17' + 'SELECT id, source, target, cost, reverse_cost + FROM edge_table WHERE id < 17 ORDER BY id' ); SELECT set_eq('stoerWagner5', 'stoerWagner6', '5: Mincut of edge 17'); From 03e061ea12bd69ef8610b3cfc7eba022296f93f3 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 15:16:42 -0500 Subject: [PATCH 0901/1360] issue 1630 on mincut/compare --- pgtap/mincut/compare.test.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgtap/mincut/compare.test.sql b/pgtap/mincut/compare.test.sql index d3354b3702b..a138b85f9f0 100644 --- a/pgtap/mincut/compare.test.sql +++ b/pgtap/mincut/compare.test.sql @@ -20,7 +20,7 @@ PREPARE stoerWagner3 AS SELECT * FROM pgr_stoerWagner( 'SELECT id, source, target, cost, reverse_cost - FROM edge_table ORDER BY id ORDER BY id' + FROM edge_table ORDER BY id' ) WHERE cost < 0; PREPARE stoerWagner4 AS From 1a9abeb19baa31d2297e9bbb2590df67111fd430 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Thu, 15 Oct 2020 09:03:46 -0500 Subject: [PATCH 0902/1360] fix issue 1300 --- NEWS | 4 +- doc/src/release_notes.rst | 4 +- .../chinese/doc-pgr_chinesePostman.result | 88 +++---- include/chinese/pgr_chinesePostman.hpp | 232 ++++++++++-------- .../chinese/chinesePostman}/innerQuery.sql | 1 + .../deadend/directed/directed_dead_end.sql | 16 +- sql/chinese/_pgr_chinesePostman.sql | 2 +- sql/chinese/pgr_chinesePostman.sql | 2 +- sql/chinese/pgr_chinesePostmanCost.sql | 2 +- src/chinese/chinesePostman.c | 31 +-- src/chinese/chinesePostman_driver.cpp | 22 +- 11 files changed, 218 insertions(+), 186 deletions(-) rename {tools/pending-tests => pgtap/chinese/chinesePostman}/innerQuery.sql (79%) diff --git a/NEWS b/NEWS index cfa3545f85f..41660bd06bb 100644 --- a/NEWS +++ b/NEWS @@ -16,9 +16,10 @@ pgRouting 3.1.1 Release Notes To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.1 `_ on Github. -*Backport issues fixes* +*Issues fixes* * [#1616 ](https://github.com/pgRouting/pgrouting/issues/1616)_: Path evaluation on C++ not updated before the results go back to C +* [#1300 ](https://github.com/pgRouting/pgrouting/issues/1300)_: pgr_chinesePostman crash on test data @@ -44,6 +45,7 @@ pgRouting 3.0.3 Release Notes *Backport issues fixes* * [#1616 ](https://github.com/pgRouting/pgrouting/issues/1616)_: Path evaluation on C++ not updated before the results go back to C +* [#1300 ](https://github.com/pgRouting/pgrouting/issues/1300)_: pgr_chinesePostman crash on test data diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 2a287b4f0e1..432c38fd9b5 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -74,9 +74,10 @@ pgRouting 3.1.1 Release Notes To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.1 `_ on Github. -.. rubric:: Backport issues fixes +.. rubric:: Issues fixes * `#1616 `__: Path evaluation on C++ not updated before the results go back to C +* `#1300 `__: pgr_chinesePostman crash on test data .. _changelog_3_1_0: @@ -104,6 +105,7 @@ pgRouting 3.0.3 Release Notes .. rubric:: Backport issues fixes * `#1616 `__: Path evaluation on C++ not updated before the results go back to C +* `#1300 `__: pgr_chinesePostman crash on test data .. _changelog_3_0_2: diff --git a/docqueries/chinese/doc-pgr_chinesePostman.result b/docqueries/chinese/doc-pgr_chinesePostman.result index b6ba1e0670c..e81acea1ff7 100644 --- a/docqueries/chinese/doc-pgr_chinesePostman.result +++ b/docqueries/chinese/doc-pgr_chinesePostman.result @@ -10,41 +10,41 @@ SELECT * FROM pgr_chinesePostman( ); seq | node | edge | cost | agg_cost -----+------+------+------+---------- - 1 | -1 | -1 | 34 | 34 - 2 | 3 | 2 | 1 | 1 - 3 | 2 | 1 | 1 | 2 - 4 | 1 | 1 | 1 | 3 - 5 | 2 | 4 | 1 | 4 - 6 | 5 | 4 | 1 | 5 - 7 | 2 | 4 | 1 | 6 - 8 | 5 | 7 | 1 | 7 - 9 | 8 | 6 | 1 | 8 - 10 | 7 | 6 | 1 | 9 - 11 | 8 | 7 | 1 | 10 - 12 | 5 | 8 | 1 | 11 - 13 | 6 | 8 | 1 | 12 - 14 | 5 | 10 | 1 | 13 - 15 | 10 | 10 | 1 | 14 - 16 | 5 | 10 | 1 | 15 - 17 | 10 | 14 | 1 | 16 - 18 | 13 | 14 | 1 | 17 - 19 | 10 | 12 | 1 | 18 - 20 | 11 | 13 | 1 | 19 - 21 | 12 | 15 | 1 | 20 - 22 | 9 | 9 | 1 | 21 - 23 | 6 | 9 | 1 | 22 - 24 | 9 | 15 | 1 | 23 - 25 | 12 | 15 | 1 | 24 - 26 | 9 | 16 | 1 | 25 - 27 | 4 | 16 | 1 | 26 - 28 | 9 | 16 | 1 | 27 - 29 | 4 | 3 | 1 | 28 - 30 | 3 | 5 | 1 | 29 - 31 | 6 | 11 | 1 | 30 - 32 | 11 | 13 | 1 | 31 - 33 | 12 | 15 | 1 | 32 - 34 | 9 | 16 | 1 | 33 - 35 | 4 | -1 | 0 | 34 + 1 | 1 | 1 | 1 | 0 + 2 | 2 | 4 | 1 | 1 + 3 | 5 | 4 | 1 | 2 + 4 | 2 | 4 | 1 | 3 + 5 | 5 | 7 | 1 | 4 + 6 | 8 | 6 | 1 | 5 + 7 | 7 | 6 | 1 | 6 + 8 | 8 | 7 | 1 | 7 + 9 | 5 | 8 | 1 | 8 + 10 | 6 | 8 | 1 | 9 + 11 | 5 | 10 | 1 | 10 + 12 | 10 | 10 | 1 | 11 + 13 | 5 | 10 | 1 | 12 + 14 | 10 | 14 | 1 | 13 + 15 | 13 | 14 | 1 | 14 + 16 | 10 | 12 | 1 | 15 + 17 | 11 | 13 | 1 | 16 + 18 | 12 | 15 | 1 | 17 + 19 | 9 | 9 | 1 | 18 + 20 | 6 | 9 | 1 | 19 + 21 | 9 | 15 | 1 | 20 + 22 | 12 | 15 | 1 | 21 + 23 | 9 | 16 | 1 | 22 + 24 | 4 | 3 | 1 | 23 + 25 | 3 | 5 | 1 | 24 + 26 | 6 | 11 | 1 | 25 + 27 | 11 | 13 | 1 | 26 + 28 | 12 | 15 | 1 | 27 + 29 | 9 | 16 | 1 | 28 + 30 | 4 | 16 | 1 | 29 + 31 | 9 | 16 | 1 | 30 + 32 | 4 | 3 | 1 | 31 + 33 | 3 | 2 | 1 | 32 + 34 | 2 | 1 | 1 | 33 + 35 | 1 | -1 | 0 | 34 (35 rows) -- q2 @@ -55,15 +55,15 @@ SELECT * FROM pgr_chinesePostman( ); seq | node | edge | cost | agg_cost -----+------+------+------+---------- - 1 | -1 | -1 | 8 | 8 - 2 | 6 | 9 | 1 | 1 - 3 | 9 | 15 | 1 | 2 - 4 | 12 | 15 | 1 | 3 - 5 | 9 | 9 | 1 | 4 - 6 | 6 | 11 | 1 | 5 - 7 | 11 | 13 | 1 | 6 - 8 | 12 | 15 | 1 | 7 - 9 | 9 | -1 | 0 | 8 + 1 | 6 | 9 | 1 | 0 + 2 | 9 | 9 | 1 | 1 + 3 | 6 | 11 | 1 | 2 + 4 | 11 | 13 | 1 | 3 + 5 | 12 | 15 | 1 | 4 + 6 | 9 | 15 | 1 | 5 + 7 | 12 | 15 | 1 | 6 + 8 | 9 | 9 | 1 | 7 + 9 | 6 | -1 | 0 | 8 (9 rows) -- q3 diff --git a/include/chinese/pgr_chinesePostman.hpp b/include/chinese/pgr_chinesePostman.hpp index 8f575f8fec3..2c015faa50a 100644 --- a/include/chinese/pgr_chinesePostman.hpp +++ b/include/chinese/pgr_chinesePostman.hpp @@ -39,6 +39,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/general_path_element_t.h" #include "c_types/pgr_edge_t.h" #include "c_types/pgr_flow_t.h" +#include "cpp_common/pgr_assert.h" +#include "cpp_common/identifiers.hpp" + namespace pgrouting { namespace graph { @@ -50,110 +53,134 @@ class PgrDirectedChPPGraph { const size_t totalEdges); double DirectedChPP() { - double minAddedCost = flowGraph.MinCostMaxFlow(); - int64_t maxFlow = flowGraph.GetMaxFlow(); - if (maxFlow == totalDeg) - return minAddedCost + totalCost; - return -1.0; + try { + pgrouting::graph::PgrCostFlowGraph digraph1(edges, sources, targets); + auto minAddedCost = digraph1.MinCostMaxFlow(); + auto maxFlow = digraph1.GetMaxFlow(); + m_cost = (maxFlow == totalDeg)? minAddedCost + totalCost : -1.0; + } catch (...) { + return m_cost = -1; + } + return m_cost; } std::vector GetPathEdges(); + ~PgrDirectedChPPGraph(); + private: bool EulerCircuitDFS(int64_t p); void BuildResultGraph(); void BuildResultPath(); - bool JudgeCoveredAllEdges(); private: int64_t totalDeg; double totalCost; int64_t superSource, superTarget; int64_t startPoint; + double m_cost; + Identifiers vertices; + /** (source, target) -> idx to originalEdges; + * Only the one with the lower cost is kept + */ + std::map, const pgr_edge_t*> edgeToIdx; std::map, // source, target size_t> edgeToId; // index in resultEdges - graph::PgrCostFlowGraph flowGraph; + std::vector originalEdges; std::vector resultEdges; - std::vector > > resultGraph; + /** vector of vertex -> vector of edges **/ + std::vector>> resultGraph; std::map VToVecid; - std::vector edgeVisited; + Identifiers edgeVisited; + Identifiers vertexVisited; std::stack pathStack; // node stack std::vector resultPath; + + /* for the flow graph */ + std::vector edges; + std::set sources; + std::set targets; + graph::PgrCostFlowGraph flowGraph; }; +PgrDirectedChPPGraph::~PgrDirectedChPPGraph() { + edgeToIdx.clear(); +} PgrDirectedChPPGraph::PgrDirectedChPPGraph( const pgr_edge_t *dataEdges, const size_t totalEdges) : - totalCost(0) { - resultEdges.clear(); - for (size_t i = 0; i < totalEdges; i++) { - pgr_edge_t edge; - edge.id = dataEdges[i].id; - edge.source = dataEdges[i].source; - edge.target = dataEdges[i].target; - edge.reverse_cost = -1.0; + totalDeg(0), totalCost(0), vertices(), + edgeToIdx(), originalEdges(), + resultGraph(), VToVecid(), edgeVisited(), + pathStack(), resultPath(), + edges(), sources(), targets() +{ + pgassert(totalEdges > 0); + pgassert(pathStack.empty()); + + pgassert(originalEdges.empty()); + startPoint = dataEdges[0].source; + for (size_t i = 0; i < totalEdges; ++i) { if (dataEdges[i].cost > 0) { - startPoint = edge.source; - edge.cost = dataEdges[i].cost; + auto edge(dataEdges[i]); + edge.reverse_cost = -1.0; totalCost += edge.cost; - resultEdges.push_back(edge); + originalEdges.push_back(edge); + vertices += dataEdges[i].source; + vertices += dataEdges[i].target; } if (dataEdges[i].reverse_cost > 0) { + auto edge(dataEdges[i]); std::swap(edge.source, edge.target); - edge.cost = dataEdges[i].reverse_cost; + std::swap(edge.cost, edge.reverse_cost); + edge.reverse_cost = -1.0; totalCost += edge.cost; - resultEdges.push_back(edge); + originalEdges.push_back(edge); + vertices += dataEdges[i].source; + vertices += dataEdges[i].target; + pgassert(dataEdges[i].source == edge.target); + pgassert(dataEdges[i].target == edge.source); } } - std::vector edges; - std::set sources; - std::set targets; - // calcu deg & build part of edges std::map deg; - for (size_t i = 0; i < resultEdges.size(); i++) { - deg[resultEdges[i].source]++; - deg[resultEdges[i].target]--; - - if (edgeToId.find(std::make_pair(resultEdges[i].source, resultEdges[i].target)) == - edgeToId.end()) { - edgeToId.insert(std::make_pair(std::make_pair(resultEdges[i].source, resultEdges[i].target), i)); + size_t i(0); + for (const auto &e : originalEdges) { + pgassert(e.cost > 0); + /* has out going edge */ + deg[e.source]++; + /* has out incoming edge */ + deg[e.target]--; + + auto current_edge(std::make_pair(e.source, e.target)); + if (edgeToIdx.find(current_edge) == edgeToIdx.end()) { + edgeToIdx[current_edge] = &e; } else { - if (resultEdges[edgeToId[ - std::make_pair(resultEdges[i].source, resultEdges[i].target)]].cost > - resultEdges[i].cost) { - edgeToId[std::make_pair(resultEdges[i].source, resultEdges[i].target)] = i; + if (edgeToIdx[current_edge]->cost > e.cost) { + edgeToIdx[current_edge] = &e; } } pgr_costFlow_t edge; - edge.edge_id = resultEdges[i].id; + edge.edge_id = e.id; edge.reverse_capacity = -1; edge.reverse_cost = -1.0; - edge.source = resultEdges[i].source; - edge.target = resultEdges[i].target; + edge.source = e.source; + edge.target = e.target; edge.capacity = (std::numeric_limits::max)(); - edge.cost = resultEdges[i].cost; + edge.cost = e.cost; edges.push_back(edge); + ++i; } - // find superSource & superTarget - superSource = superTarget = -1; - int64_t iPointId = 1; - while (superSource == -1 || superTarget == -1) { - if (deg.find(iPointId) == deg.end()) { - if (superSource == -1) - superSource = iPointId; - else - superTarget = iPointId; - } - iPointId++; - } + superSource = deg.rbegin()->first + 1; + superTarget = deg.rbegin()->first + 2; + sources.insert(superSource); targets.insert(superTarget); @@ -185,56 +212,58 @@ PgrDirectedChPPGraph::PgrDirectedChPPGraph( PgrCostFlowGraph graph(edges, sources, targets); flowGraph = graph; + pgassert(pathStack.empty()); } -bool -PgrDirectedChPPGraph::JudgeCoveredAllEdges() { - for (const auto b : edgeVisited) - if (!b) - return false; - return true; -} std::vector PgrDirectedChPPGraph::GetPathEdges() { + pgassert(pathStack.empty()); + if (m_cost == -1) return std::vector(); // catch new edges - std::vector addedEdges = flowGraph.GetFlowEdges(); - for (auto &flow_t : addedEdges) { - if (flow_t.source != superSource && flow_t.source != superTarget) { - if (flow_t.target != superSource && flow_t.target != superTarget) { - pgr_edge_t newEdge; - newEdge.source = flow_t.source; - newEdge.target = flow_t.target; - newEdge.id = - resultEdges[edgeToId[std::make_pair( - newEdge.source, - newEdge.target)]].id; - newEdge.cost = - resultEdges[edgeToId[std::make_pair( - newEdge.source, - newEdge.target)]].cost; - newEdge.reverse_cost = -1.0; - while (flow_t.flow--) - resultEdges.push_back(newEdge); + try { + flowGraph.MinCostMaxFlow(); + flowGraph.GetMaxFlow(); + std::vector addedEdges = flowGraph.GetFlowEdges(); + resultEdges = originalEdges; + for (auto &flow_t : addedEdges) { + if (flow_t.source != superSource && flow_t.source != superTarget + && flow_t.target != superSource && flow_t.target != superTarget) { + auto current_edge(std::make_pair(flow_t.source, flow_t.target)); + pgr_edge_t newEdge = *edgeToIdx[current_edge]; + /* adding edges that need to be traversed twice */ + while (flow_t.flow--) resultEdges.push_back(newEdge); } } + } catch (...) { + return std::vector(); } + pgassert(pathStack.empty()); BuildResultGraph(); + pgassert(pathStack.empty()); + pgassert(edgeVisited.empty()); + + EulerCircuitDFS(startPoint); + if (!(vertices - vertexVisited).empty()) { + return std::vector(); + } + pgassert(!pathStack.empty()); + BuildResultPath(); - if (!JudgeCoveredAllEdges()) - resultPath.clear(); + return resultPath; } void PgrDirectedChPPGraph::BuildResultPath() { - if (pathStack.empty()) - return; + if (pathStack.empty()) return; + pgassert(resultPath.empty()); + int64_t preNode = pathStack.top(); pathStack.pop(); @@ -242,18 +271,18 @@ PgrDirectedChPPGraph::BuildResultPath() { while (!pathStack.empty()) { int64_t nowNode = pathStack.top(); pathStack.pop(); - pgr_edge_t edge_t = - resultEdges[edgeToId[std::make_pair(preNode, nowNode)]]; + + auto edge_t = *edgeToIdx[std::make_pair(preNode, nowNode)]; newElement.node = edge_t.source; newElement.edge = edge_t.id; newElement.cost = edge_t.cost; if (resultPath.empty()) { + /* adding the first row because is a cycle */ newElement.seq = 1; newElement.agg_cost = 0.0; } else { newElement.seq = resultPath.back().seq + 1; - newElement.agg_cost = - resultPath.back().agg_cost + resultPath.back().cost; + newElement.agg_cost = resultPath.back().agg_cost + resultPath.back().cost; } resultPath.push_back(newElement); preNode = nowNode; @@ -276,37 +305,34 @@ PgrDirectedChPPGraph::BuildResultPath() { // TODO(mg) find suitable API in BGL, maybe DfsVisitor will work. // Implement DFS without BGL for now bool -PgrDirectedChPPGraph::EulerCircuitDFS(int64_t p) { - for (auto iter = resultGraph[VToVecid[p]].second.begin(); - iter != resultGraph[VToVecid[p]].second.end(); - ++iter) { - if (!edgeVisited[*iter]) { - edgeVisited[*iter] = true; - EulerCircuitDFS(resultEdges[*iter].target); +PgrDirectedChPPGraph::EulerCircuitDFS(int64_t vertex) { + for (const auto e : resultGraph[VToVecid[vertex]].second) { + if (!edgeVisited.has(e)) { + edgeVisited += e; + EulerCircuitDFS(resultEdges[e].target); } } - pathStack.push(p); + pathStack.push(vertex); + vertexVisited += vertex; return true; } void PgrDirectedChPPGraph::BuildResultGraph() { + pgassert(resultGraph.empty()); + pgassert(VToVecid.empty()); resultGraph.clear(); VToVecid.clear(); - edgeVisited.clear(); - for (size_t i = 0; i < resultEdges.size(); i++) { - pgr_edge_t edge_t = resultEdges[i]; - edgeVisited.push_back(false); + size_t e_id(0); + for (const auto &edge_t : resultEdges) { if (VToVecid.find(edge_t.source) == VToVecid.end()) { - VToVecid.insert( - std::pair( - edge_t.source, - resultGraph.size())); + VToVecid[edge_t.source] = resultGraph.size(); resultGraph.resize(resultGraph.size() + 1); } size_t vid = VToVecid[edge_t.source]; - resultGraph[vid].second.push_back(i); + resultGraph[vid].second.push_back(e_id); resultGraph[vid].first = edge_t.source; + ++e_id; } } diff --git a/tools/pending-tests/innerQuery.sql b/pgtap/chinese/chinesePostman/innerQuery.sql similarity index 79% rename from tools/pending-tests/innerQuery.sql rename to pgtap/chinese/chinesePostman/innerQuery.sql index d6874bdcda1..5eb1e38e493 100644 --- a/tools/pending-tests/innerQuery.sql +++ b/pgtap/chinese/chinesePostman/innerQuery.sql @@ -1,5 +1,6 @@ \i setup.sql +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(56); diff --git a/pgtap/contraction/deadend/directed/directed_dead_end.sql b/pgtap/contraction/deadend/directed/directed_dead_end.sql index 76339cb3fe9..b3800ba593b 100644 --- a/pgtap/contraction/deadend/directed/directed_dead_end.sql +++ b/pgtap/contraction/deadend/directed/directed_dead_end.sql @@ -8,35 +8,35 @@ SET client_min_messages TO WARNING; -- GRAPH: 1 <=> 2 PREPARE graph_e_1 AS -SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 1; +SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id = 1 ORDER BY id; -- GRAPH: 4 -> 3 -> 2 PREPARE graph_e_2_3 AS -SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (2, 3); +SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (2, 3) ORDER BY id; -- GRAPH: 6 -> 11 <- 10 PREPARE graph_e_11_12 AS -SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (11, 12); +SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (11, 12) ORDER BY id; -- GRAPH: 3 -> 2 10 -> 11 PREPARE graph_e_2_12 AS -SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (2, 12); +SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (2, 12) ORDER BY id; -- GRAPH: 3 -> 6 -> 11 -> 12 PREPARE graph_e_5_11_13 AS -SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (5, 11, 13); +SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (5, 11, 13) ORDER BY id; -- GRAPH: 4-> 3 -> 2 10 -> 11 PREPARE graph_e_2_3_12 AS -SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (2, 3, 12); +SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (2, 3, 12) ORDER BY id; -- GRAPH: 1 <=> 2 4 -> 3 7 <=> 8 PREPARE graph_e_1_3_6 AS -SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (1, 3, 6); +SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (1, 3, 6) ORDER BY id; -- GRAPH: 4 -> 3 -> 2 3 -> 6 -> 11 PREPARE graph_e_2_3_5_11 AS -SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (2, 3, 5, 11); +SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (2, 3, 5, 11) ORDER BY id; -- SINGLE EDGE -- GRAPH: 1 <=> 2 diff --git a/sql/chinese/_pgr_chinesePostman.sql b/sql/chinese/_pgr_chinesePostman.sql index d0cb97ed084..ee850938694 100644 --- a/sql/chinese/_pgr_chinesePostman.sql +++ b/sql/chinese/_pgr_chinesePostman.sql @@ -45,7 +45,7 @@ CREATE OR REPLACE FUNCTION _pgr_chinesePostman( RETURNS SETOF RECORD AS 'MODULE_PATHNAME' -LANGUAGE c IMMUTABLE STRICT; +LANGUAGE c VOLATILE STRICT; -- COMMENTS diff --git a/sql/chinese/pgr_chinesePostman.sql b/sql/chinese/pgr_chinesePostman.sql index dc07f0a73bc..612bbc0ed39 100644 --- a/sql/chinese/pgr_chinesePostman.sql +++ b/sql/chinese/pgr_chinesePostman.sql @@ -48,7 +48,7 @@ $BODY$ SELECT * FROM _pgr_chinesePostman(_pgr_get_statement($1), only_cost := false); $BODY$ -LANGUAGE SQL VOLATILE; +LANGUAGE SQL VOLATILE STRICT; -- COMMENTS diff --git a/sql/chinese/pgr_chinesePostmanCost.sql b/sql/chinese/pgr_chinesePostmanCost.sql index 2991243a277..4dcfd9e1566 100644 --- a/sql/chinese/pgr_chinesePostmanCost.sql +++ b/sql/chinese/pgr_chinesePostmanCost.sql @@ -42,7 +42,7 @@ $BODY$ SELECT cost FROM _pgr_chinesePostman(_pgr_get_statement($1), only_cost := true); $BODY$ -LANGUAGE SQL VOLATILE; +LANGUAGE SQL VOLATILE STRICT; -- COMMENTS diff --git a/src/chinese/chinesePostman.c b/src/chinese/chinesePostman.c index e1b7a31f98b..e0edb5638fa 100644 --- a/src/chinese/chinesePostman.c +++ b/src/chinese/chinesePostman.c @@ -9,7 +9,6 @@ Function's developer: Copyright (c) 2018 Maoguang Wang Mail: xjtumg1007@gmail.com - ------ This program is free software; you can redistribute it and/or modify @@ -32,12 +31,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "c_common/postgres_connection.h" -#include "utils/array.h" #include "c_common/debug_macro.h" #include "c_common/e_report.h" #include "c_common/time_msg.h" +#include "c_types/general_path_element_t.h" #include "c_common/edges_input.h" #include "drivers/chinese/chinesePostman_driver.h" @@ -82,9 +81,9 @@ process( &err_msg); if (only_cost) { - time_msg(" processing pgr_directedChPP_Cost", start_t, clock()); + time_msg(" processing pgr_chinesePostmanCost", start_t, clock()); } else { - time_msg(" processing pgr_directedChPP", start_t, clock()); + time_msg(" processing pgr_chinesePostman", start_t, clock()); } if (edges) pfree(edges); @@ -124,14 +123,15 @@ PGDLLEXPORT Datum _pgr_chinesepostman(PG_FUNCTION_ARGS) { process( text_to_cstring(PG_GETARG_TEXT_P(0)), - true, + PG_GETARG_BOOL(1), &result_tuples, &result_count); /**********************************************************************/ -#if PGSQL_VERSION > 94 - funcctx->max_calls = (uint32_t)result_count; + +#if PGSQL_VERSION > 95 + funcctx->max_calls = result_count; #else funcctx->max_calls = (uint32_t)result_count; #endif @@ -157,26 +157,27 @@ PGDLLEXPORT Datum _pgr_chinesepostman(PG_FUNCTION_ARGS) { Datum result; Datum *values; bool* nulls; + size_t call_cntr = funcctx->call_cntr; /**********************************************************************/ /* MODIFY AS NEEDED */ /* ***********************************************************************/ - values = palloc(5 * sizeof(Datum)); - nulls = palloc(5 * sizeof(bool)); + size_t numb = 5; + values =(Datum *)palloc(numb * sizeof(Datum)); + nulls = palloc(numb * sizeof(bool)); size_t i; - for (i = 0; i < 5; ++i) { + for (i = 0; i < numb; ++i) { nulls[i] = false; } - values[0] = Int32GetDatum(funcctx->call_cntr + 1); - values[1] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); - values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); - values[3] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); - values[4] = Float8GetDatum(result_tuples[funcctx->call_cntr].agg_cost); + values[1] = Int64GetDatum(result_tuples[call_cntr].node); + values[2] = Int64GetDatum(result_tuples[call_cntr].edge); + values[3] = Float8GetDatum(result_tuples[call_cntr].cost); + values[4] = Float8GetDatum(result_tuples[call_cntr].agg_cost); /**********************************************************************/ tuple = heap_form_tuple(tuple_desc, values, nulls); diff --git a/src/chinese/chinesePostman_driver.cpp b/src/chinese/chinesePostman_driver.cpp index 920f92585d8..286161d94d4 100644 --- a/src/chinese/chinesePostman_driver.cpp +++ b/src/chinese/chinesePostman_driver.cpp @@ -67,7 +67,17 @@ do_pgr_directedChPP( minCost = digraph.DirectedChPP(); std::vector pathEdges; - pathEdges = digraph.GetPathEdges(); + if (only_cost) { + if (minCost >= 0.0) { + General_path_element_t edge; + edge.seq = -1; + edge.node = edge.edge = -1; + edge.cost = edge.agg_cost = minCost; + pathEdges.push_back(edge); + } + } else { + pathEdges = digraph.GetPathEdges(); + } size_t count = pathEdges.size(); @@ -81,16 +91,6 @@ do_pgr_directedChPP( return; } - if (only_cost) { - if (minCost >= 0.0) { - pathEdges.clear(); - General_path_element_t edge; - edge.seq = -1; - edge.node = edge.edge = -1; - edge.cost = edge.agg_cost = minCost; - pathEdges.push_back(edge); - } - } (*return_tuples) = pgr_alloc(count, (*return_tuples)); for (size_t i = 0; i < count; i++) { From d94a1284e6f9394c9ca11ee22d7af2e19c83013f Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 11:13:07 -0500 Subject: [PATCH 0903/1360] [dijkstraNear][pgtap] tests how it is wanted to work --- .../dijkstraNear/dijkstra-compare.sql | 130 ++++++++++++++++++ pgtap/dijkstra/dijkstraNear/edge_cases.sql | 116 ++++++++++++++++ .../dijkstraNear/expected_results.sql | 124 +++++++++++++++++ pgtap/dijkstra/dijkstraNear/no_crash_test.sql | 128 +++++++++++++++++ pgtap/dijkstra/dijkstraNear/types-check.sql | 41 ++++++ 5 files changed, 539 insertions(+) create mode 100644 pgtap/dijkstra/dijkstraNear/dijkstra-compare.sql create mode 100644 pgtap/dijkstra/dijkstraNear/edge_cases.sql create mode 100644 pgtap/dijkstra/dijkstraNear/expected_results.sql create mode 100644 pgtap/dijkstra/dijkstraNear/no_crash_test.sql create mode 100644 pgtap/dijkstra/dijkstraNear/types-check.sql diff --git a/pgtap/dijkstra/dijkstraNear/dijkstra-compare.sql b/pgtap/dijkstra/dijkstraNear/dijkstra-compare.sql new file mode 100644 index 00000000000..fdbeadb3c86 --- /dev/null +++ b/pgtap/dijkstra/dijkstraNear/dijkstra-compare.sql @@ -0,0 +1,130 @@ +--\i setup.sql + +SELECT plan(142); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +-- Initial tables are good to work + +SELECT isnt_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table$$); +SELECT isnt_empty($$SELECT id FROM edge_table_vertices_pgr$$); + +-- vertex id values that dont exist +SELECT is_empty($$SELECT id FROM edge_table_vertices_pgr WHERE id > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE source > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE target > 18$$); +SELECT is_empty($$SELECT id FROM edge_table WHERE id > 18$$); + +CREATE TABLE expected AS +WITH +a AS (SELECT start_vid, d_w_1, u_w_1, d_n_1, u_n_1, d_w_2, u_w_2, d_n_2, u_n_2 + FROM (VALUES + (1::BIGINT, + ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], + ARRAY[2,5]::BIGINT[], ARRAY[2,3]::BIGINT[], ARRAY[2,5]::BIGINT[], ARRAY[2, 5]::BIGINT[]), + (2, ARRAY[ 1], ARRAY[ 1], ARRAY[ 5], ARRAY[ 1], ARRAY[1, 5], ARRAY[1, 3], ARRAY[5, 6], ARRAY[1, 5]), + (3, ARRAY[ 2], ARRAY[ 2], ARRAY[ 6], ARRAY[ 6], ARRAY[2, 6], ARRAY[2, 4], ARRAY[6, 9], ARRAY[5, 6]), + (4, ARRAY[ 3], ARRAY[ 3], ARRAY[ 9], ARRAY[ 9], ARRAY[3, 9], ARRAY[3, 9], ARRAY[9, 12], ARRAY[6, 9]), + (5, ARRAY[ 2], ARRAY[ 2], ARRAY[ 6], ARRAY[ 2], ARRAY[2, 8], ARRAY[2, 8], ARRAY[6, 10], ARRAY[2, 8]), + (6, ARRAY[ 5], ARRAY[ 3], ARRAY[ 9], ARRAY[ 3], ARRAY[5, 9], ARRAY[3, 5], ARRAY[9, 11], ARRAY[3, 5]), + (7, ARRAY[ 8], ARRAY[ 8], ARRAY[ 8], ARRAY[ 8], ARRAY[5, 8], ARRAY[5, 8], ARRAY[5, 8], ARRAY[5, 8]), + (8, ARRAY[ 7], ARRAY[ 7], ARRAY[ 5], ARRAY[ 7], ARRAY[5, 7], ARRAY[5, 7], ARRAY[5, 6], ARRAY[5, 7]), + (9, ARRAY[ 6], ARRAY[ 6], ARRAY[12], ARRAY[ 6], ARRAY[6,12], ARRAY[6, 12], ARRAY[12], ARRAY[6, 12]), + (10, ARRAY[ 5], ARRAY[ 5], ARRAY[11], ARRAY[ 5], ARRAY[5,11], ARRAY[5, 11], ARRAY[11, 13], ARRAY[5, 11]), + (11, ARRAY[12], ARRAY[ 6], ARRAY[12], ARRAY[ 6], ARRAY[9,12], ARRAY[6, 10], ARRAY[12], ARRAY[6, 10]), + (12, ARRAY[ 9], ARRAY[11], NULL, ARRAY[ 11], ARRAY[6, 9], ARRAY[9, 11], NULL, ARRAY[9, 11]), + (13, ARRAY[10], ARRAY[10], NULL, ARRAY[ 10], ARRAY[5,10], ARRAY[5, 10], NULL, ARRAY[5, 10]), + (14, ARRAY[15], ARRAY[15], ARRAY[15], ARRAY[ 15], ARRAY[15], ARRAY[15], ARRAY[15], ARRAY[15]), + (15, ARRAY[14], ARRAY[14], NULL, ARRAY[ 14], ARRAY[14], ARRAY[14], NULL, ARRAY[14]), + (16, ARRAY[17], ARRAY[17], ARRAY[17], ARRAY[ 17], ARRAY[17], ARRAY[17], ARRAY[17], ARRAY[17]), + (17, ARRAY[16], ARRAY[16], NULL, ARRAY[ 16], ARRAY[16], ARRAY[16], NULL, ARRAY[16]) + ) t(start_vid, d_w_1, u_w_1, d_n_1, u_n_1, d_w_2, u_w_2, d_n_2, u_n_2)) +SELECT * from a; + + +CREATE OR REPLACE FUNCTION check_compare(edges_q TEXT, expected_q TEXT, optionals_n TEXT, optionals_d TEXT) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +dijkstraNear_query TEXT; +dijkstra_query TEXT; +BEGIN + + FOR id IN 1..17 LOOP + dijkstraNear_query := format($$ + SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost + FROM pgr_dijkstraNear( + %1$L, + %2$s, + (SELECT array_agg(id) FROM edge_table_vertices_pgr where id != %2$s), + %3$s); + $$, edges_q, id, optionals_n); + dijkstra_query := format($$ + SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost + FROM pgr_dijkstra( + %1$L, + ARRAY[%2$s]::BIGINT[], + (SELECT scnd FROM (%3$s) a WHERE frst = %2$s), + %4$s + ); + $$, edges_q, id, expected_q, optionals_d); + + RETURN QUERY + SELECT set_eq(dijkstraNear_query, dijkstra_query, id::TEXT || ' ' || optionals_d); + END LOOP; + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + +SELECT * from check_compare( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_w_1 AS scnd FROM expected$$, + 'directed => true, cap => 1', 'directed => true' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_w_1 AS scnd FROM expected$$, + 'directed => false, cap => 1', 'directed => false' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_n_1 AS scnd FROM expected$$, + 'directed => true, cap => 1', 'directed => true' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_n_1 AS scnd FROM expected$$, + 'directed => false, cap => 1', 'directed => false' +); + + +SELECT * from check_compare( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_w_2 AS scnd FROM expected$$, + 'directed => true, cap => 2', 'directed => true' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_w_2 AS scnd FROM expected$$, + 'directed => false, cap => 2', 'directed => false' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_n_2 AS scnd FROM expected$$, + 'directed => true, cap => 2', 'directed => true' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_n_2 AS scnd FROM expected$$, + 'directed => false, cap => 2', 'directed => false' +); + +DROP TABLE IF EXISTS expected; +SELECT finish(); diff --git a/pgtap/dijkstra/dijkstraNear/edge_cases.sql b/pgtap/dijkstra/dijkstraNear/edge_cases.sql new file mode 100644 index 00000000000..43df29f9c12 --- /dev/null +++ b/pgtap/dijkstra/dijkstraNear/edge_cases.sql @@ -0,0 +1,116 @@ +--\i setup.sql + +SELECT plan(122); + +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); + +SELECT is_empty($$SELECT distinct cost FROM edge_table WHERE cost != 1 AND cost != -1$$); +SELECT is_empty($$SELECT distinct reverse_cost FROM edge_table WHERE cost != 1 AND cost != -1$$); + +-- Initial tables are good to work + +SELECT isnt_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table$$); +SELECT isnt_empty($$SELECT id FROM edge_table_vertices_pgr$$); + +-- vertex id values that dont exist +SELECT is_empty($$SELECT id FROM edge_table_vertices_pgr WHERE id > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE source > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE target > 18$$); +SELECT is_empty($$SELECT id FROM edge_table WHERE id > 18$$); + +CREATE TABLE expected AS +WITH +a AS (SELECT start_vid, d_w_1, u_w_1, d_n_1, u_n_1 + FROM (VALUES + (1::BIGINT, + ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[]), + (2, ARRAY[ 1, 5], ARRAY[ 1, 3, 5], ARRAY[ 5], ARRAY[ 1, 5]), + (3, ARRAY[ 2, 6], ARRAY[ 2, 4, 6], ARRAY[ 6], ARRAY[ 6]), + (4, ARRAY[ 3, 9], ARRAY[ 3, 9], ARRAY[ 9], ARRAY[ 9]), + (5, ARRAY[ 2, 6, 8, 10], ARRAY[ 2, 6, 8, 10], ARRAY[ 6, 10], ARRAY[ 2, 6, 8, 10]), + (6, ARRAY[ 5, 9, 11], ARRAY[ 3, 5, 9, 11], ARRAY[ 9, 11], ARRAY[ 3, 5, 9, 11]), + (7, ARRAY[ 8], ARRAY[ 8], ARRAY[ 8], ARRAY[ 8]), + (8, ARRAY[ 5, 7], ARRAY[ 5, 7], ARRAY[ 5], ARRAY[ 5, 7]), + (9, ARRAY[ 4, 6, 12], ARRAY[ 4, 6, 12], ARRAY[12], ARRAY[ 4, 6, 12]), + (10, ARRAY[ 5, 11, 13], ARRAY[ 5, 11, 13], ARRAY[11, 13], ARRAY[ 5, 11, 13]), + (11, ARRAY[12], ARRAY[ 6, 10, 12], ARRAY[12], ARRAY[ 6, 10, 12]), + (12, ARRAY[ 9], ARRAY[9, 11], NULL, ARRAY[ 9, 11]), + (13, ARRAY[10], ARRAY[10], NULL, ARRAY[ 10]), + (14, ARRAY[15], ARRAY[15], ARRAY[15], ARRAY[ 15]), + (15, ARRAY[14], ARRAY[14], NULL, ARRAY[ 14]), + (16, ARRAY[17], ARRAY[17], ARRAY[17], ARRAY[ 17]), + (17, ARRAY[16], ARRAY[16], NULL, ARRAY[ 16]) + ) t(start_vid, d_w_1, u_w_1, d_n_1, u_n_1)) +SELECT * from a; + + +CREATE OR REPLACE FUNCTION check_expected(edges_q TEXT, expected_q TEXT, optionals TEXT) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +dijstraNear_query TEXT; +inner_query TEXT; +expected_query TEXT; +data record; +dest BIGINT; +id BIGINT; +BEGIN + + FOR data IN EXECUTE expected_q LOOP + id := data.frst; + CONTINUE WHEN data.scnd IS NULL; + + FOREACH dest IN ARRAY data.scnd LOOP + inner_query := format($$ + WITH + edges AS (%1$s), + first_edge AS (SELECT *, (source = %2$s AND target = %3$s) OR (source = %3$s AND target = %2$s) AS order_1 FROM edges) + SELECT * FROM first_edge ORDER BY order_1 DESC + $$, edges_q, id, dest); + dijstraNear_query := format($$ + SELECT distinct end_vid + FROM pgr_dijkstraNear( + %1$L, + %2$s, + (SELECT array_agg(id) FROM edge_table_vertices_pgr where id != %2$s), + %3$s) + $$, inner_query, id, optionals); + expected_query := format($$ + SELECT %1$s + $$, dest); + + RETURN QUERY + SELECT set_eq(dijstraNear_query, expected_query, id::TEXT || '->' || dest || ' ' || optionals); + END LOOP; + END LOOP; + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id DESC$$, + $$SELECT start_vid AS frst, d_w_1 AS scnd FROM expected$$, + 'directed => true, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id DESC$$, + $$SELECT start_vid AS frst, u_w_1 AS scnd FROM expected$$, + 'directed => false, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table ORDER BY id DESC$$, + $$SELECT start_vid AS frst, d_n_1 AS scnd FROM expected$$, + 'directed => true, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table ORDER BY id DESC$$, + $$SELECT start_vid AS frst, u_n_1 AS scnd FROM expected$$, + 'directed => false, cap => 1' +); + +DROP TABLE IF EXISTS expected; +SELECT finish(); diff --git a/pgtap/dijkstra/dijkstraNear/expected_results.sql b/pgtap/dijkstra/dijkstraNear/expected_results.sql new file mode 100644 index 00000000000..8f4bd90a55b --- /dev/null +++ b/pgtap/dijkstra/dijkstraNear/expected_results.sql @@ -0,0 +1,124 @@ +--\i setup.sql + +SELECT plan(142); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +-- Initial tables are good to work + +SELECT isnt_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table$$); +SELECT isnt_empty($$SELECT id FROM edge_table_vertices_pgr$$); + +-- vertex id values that dont exist +SELECT is_empty($$SELECT id FROM edge_table_vertices_pgr WHERE id > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE source > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE target > 18$$); +SELECT is_empty($$SELECT id FROM edge_table WHERE id > 18$$); + +CREATE TABLE expected AS +WITH +a AS (SELECT start_vid, d_w_1, u_w_1, d_n_1, u_n_1, d_w_2, u_w_2, d_n_2, u_n_2 + FROM (VALUES + (1::BIGINT, + ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], + ARRAY[2,5]::BIGINT[], ARRAY[2,3]::BIGINT[], ARRAY[2,5]::BIGINT[], ARRAY[2, 5]::BIGINT[]), + (2, ARRAY[ 1], ARRAY[ 1], ARRAY[ 5], ARRAY[ 1], ARRAY[1, 5], ARRAY[1, 3], ARRAY[5, 6], ARRAY[1, 5]), + (3, ARRAY[ 2], ARRAY[ 2], ARRAY[ 6], ARRAY[ 6], ARRAY[2, 6], ARRAY[2, 4], ARRAY[6, 9], ARRAY[5, 6]), + (4, ARRAY[ 3], ARRAY[ 3], ARRAY[ 9], ARRAY[ 9], ARRAY[3, 9], ARRAY[3, 9], ARRAY[9, 12], ARRAY[6, 9]), + (5, ARRAY[ 2], ARRAY[ 2], ARRAY[ 6], ARRAY[ 2], ARRAY[2, 8], ARRAY[2, 8], ARRAY[6, 10], ARRAY[2, 8]), + (6, ARRAY[ 5], ARRAY[ 3], ARRAY[ 9], ARRAY[ 3], ARRAY[5, 9], ARRAY[3, 5], ARRAY[9, 11], ARRAY[3, 5]), + (7, ARRAY[ 8], ARRAY[ 8], ARRAY[ 8], ARRAY[ 8], ARRAY[5, 8], ARRAY[5, 8], ARRAY[5, 8], ARRAY[5, 8]), + (8, ARRAY[ 7], ARRAY[ 7], ARRAY[ 5], ARRAY[ 7], ARRAY[5, 7], ARRAY[5, 7], ARRAY[5, 6], ARRAY[5, 7]), + (9, ARRAY[ 6], ARRAY[ 6], ARRAY[12], ARRAY[ 6], ARRAY[6,12], ARRAY[6, 12], ARRAY[12], ARRAY[6, 12]), + (10, ARRAY[ 5], ARRAY[ 5], ARRAY[11], ARRAY[ 5], ARRAY[5,11], ARRAY[5, 11], ARRAY[11, 13], ARRAY[5, 11]), + (11, ARRAY[12], ARRAY[ 6], ARRAY[12], ARRAY[ 6], ARRAY[9,12], ARRAY[6, 10], ARRAY[12], ARRAY[6, 10]), + (12, ARRAY[ 9], ARRAY[11], NULL, ARRAY[ 11], ARRAY[6, 9], ARRAY[9, 11], NULL, ARRAY[9, 11]), + (13, ARRAY[10], ARRAY[10], NULL, ARRAY[ 10], ARRAY[5,10], ARRAY[5, 10], NULL, ARRAY[5, 10]), + (14, ARRAY[15], ARRAY[15], ARRAY[15], ARRAY[ 15], ARRAY[15], ARRAY[15], ARRAY[15], ARRAY[15]), + (15, ARRAY[14], ARRAY[14], NULL, ARRAY[ 14], ARRAY[14], ARRAY[14], NULL, ARRAY[14]), + (16, ARRAY[17], ARRAY[17], ARRAY[17], ARRAY[ 17], ARRAY[17], ARRAY[17], ARRAY[17], ARRAY[17]), + (17, ARRAY[16], ARRAY[16], NULL, ARRAY[ 16], ARRAY[16], ARRAY[16], NULL, ARRAY[16]) + ) t(start_vid, d_w_1, u_w_1, d_n_1, u_n_1, d_w_2, u_w_2, d_n_2, u_n_2)) +SELECT * from a; + + +CREATE OR REPLACE FUNCTION check_expected(edges_q TEXT, expected_q TEXT, optionals TEXT) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +dijstraNear_query TEXT; +expected_query TEXT; +BEGIN + + FOR id IN 1..17 LOOP + dijstraNear_query := format($$ + SELECT array_agg(distinct end_vid) + FROM pgr_dijkstraNear( + %1$L, + %2$s, + (SELECT array_agg(id) FROM edge_table_vertices_pgr where id != %2$s), + %3$s) + $$, edges_q, id, optionals); + expected_query := format($$ + SELECT scnd FROM (%1$s) a WHERE frst = %2$s + $$, expected_q, id); + + RETURN QUERY + SELECT set_eq(dijstraNear_query, expected_query, id::TEXT || ' ' || optionals); + END LOOP; + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_w_1 AS scnd FROM expected$$, + 'directed => true, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_w_1 AS scnd FROM expected$$, + 'directed => false, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_n_1 AS scnd FROM expected$$, + 'directed => true, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_n_1 AS scnd FROM expected$$, + 'directed => false, cap => 1' +); + + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_w_2 AS scnd FROM expected$$, + 'directed => true, cap => 2' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_w_2 AS scnd FROM expected$$, + 'directed => false, cap => 2' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_n_2 AS scnd FROM expected$$, + 'directed => true, cap => 2' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_n_2 AS scnd FROM expected$$, + 'directed => false, cap => 2' +); + +DROP TABLE IF EXISTS expected; +SELECT finish(); diff --git a/pgtap/dijkstra/dijkstraNear/no_crash_test.sql b/pgtap/dijkstra/dijkstraNear/no_crash_test.sql new file mode 100644 index 00000000000..3e7ff770b5a --- /dev/null +++ b/pgtap/dijkstra/dijkstraNear/no_crash_test.sql @@ -0,0 +1,128 @@ +\i setup.sql + +SELECT plan(126); +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); + +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; + +PREPARE combs AS +SELECT source, target FROM combinations_table; +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combs', 'Should be not empty to tests be meaningful'); + +PREPARE null_id AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); +SELECT is_empty('null_id', 'Should be empty to tests be meaningful'); + +PREPARE null_id_arr AS +SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +SELECT set_eq('null_id_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); + +PREPARE null_edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (-1); +SELECT is_empty('null_edges', 'Should be empty to tests be meaningful'); + +PREPARE null_comb AS +SELECT source, target FROM combinations_table WHERE source IN (-1); +SELECT is_empty('null_comb', 'Should be empty to tests be meaningful'); + + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params1 TEXT[]; +params2 TEXT[]; +subs1 TEXT[]; +subs2 TEXT[]; +BEGIN + -- one to many + params1 = ARRAY['$$edges$$','1', 'ARRAY[2,5]::BIGINT[]']::TEXT[]; + params2 = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '(SELECT 1)', + '(SELECT ARRAY[2,5]::BIGINT[])']::TEXT[]; + subs1 = ARRAY[ + '$$null_edges$$', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + subs2 = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT[]' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranear', params1, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstraNear', params1, subs2); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranear', params2, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstraNear', params2, subs2); + + + -- many to one + params1 = ARRAY['$$edges$$', 'ARRAY[2,5]::BIGINT[]', '1']::TEXT[]; + params2 = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '(SELECT ARRAY[2,5]::BIGINT[])', + '(SELECT 1)']::TEXT[]; + subs1 = ARRAY[ + '$$null_edges$$', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + subs2 = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranear', params1, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstraNear', params1, subs2); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranear', params2, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstraNear', params2, subs2); + + -- many to many + params1 = ARRAY['$$edges$$','ARRAY[1]::BIGINT[]', 'ARRAY[2,5]::BIGINT[]']::TEXT[]; + params2 = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '(SELECT ARRAY[2,5]::BIGINT[])', + '(SELECT ARRAY[1]::BIGINT[])']::TEXT[]; + subs1 = ARRAY[ + '$$null_edges$$', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + subs2 = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT[]' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranear', params1, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstraNear', params1, subs2); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranear', params2, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstraNear', params2, subs2); + + -- combinations + params1 = ARRAY['$$edges$$','$$combs$$']::TEXT[]; + params2 = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '$$SELECT source, target FROM edge_table$$']::TEXT[]; + subs1 = ARRAY[ + '$$null_edges$$', + '$$null_comb$$' + ]::TEXT; + subs2 = ARRAY[ + 'NULL', + 'NULL' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranear', params1, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstraNear', params1, subs2); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranear', params2, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstraNear', params2, subs2); +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + +ROLLBACK; diff --git a/pgtap/dijkstra/dijkstraNear/types-check.sql b/pgtap/dijkstra/dijkstraNear/types-check.sql new file mode 100644 index 00000000000..02a1dbbcf29 --- /dev/null +++ b/pgtap/dijkstra/dijkstraNear/types-check.sql @@ -0,0 +1,41 @@ +\i setup.sql + +SELECT plan(11); + +SELECT has_function('pgr_dijkstranear'); + +SELECT has_function('pgr_dijkstranear', ARRAY['text','bigint','anyarray','boolean','bigint']); +SELECT has_function('pgr_dijkstranear', ARRAY['text','anyarray','bigint','boolean','bigint']); +SELECT has_function('pgr_dijkstranear', ARRAY['text','anyarray','anyarray','boolean','bigint','boolean']); +SELECT has_function('pgr_dijkstranear', ARRAY['text','text','boolean','bigint','boolean']); + +SELECT function_returns('pgr_dijkstranear', ARRAY['text','bigint','anyarray','boolean','bigint'], 'setof record'); +SELECT function_returns('pgr_dijkstranear', ARRAY['text','anyarray','bigint','boolean','bigint'], 'setof record'); +SELECT function_returns('pgr_dijkstranear', ARRAY['text','anyarray','anyarray','boolean','bigint','boolean'], 'setof record'); +SELECT function_returns('pgr_dijkstranear', ARRAY['text','text','boolean','bigint','boolean'], 'setof record'); + +-- parameter's names +SELECT set_eq( + $$SELECT proargnames from pg_proc where proname = 'pgr_dijkstranear'$$, + $$VALUES + ('{"","","","directed","cap","seq","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[]), + ('{"","","","directed","cap","seq","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[]), + ('{"","","","directed","cap","global","seq","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[]), + ('{"","","directed","cap","global","seq","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[]); + $$ +); + + +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_dijkstranear'$$, + $$VALUES + ('{25,2277,20,16,20,23,23,20,20,20,20,701,701}'::OID[]), + ('{25,2277,2277,16,20,16,23,23,20,20,20,20,701,701}'::OID[]), + ('{25,25,16,20,16,23,23,20,20,20,20,701,701}'::OID[]), + ('{25,20,2277,16,20,23,23,20,20,20,20,701,701}'::OID[]); +$$ +); + +SELECT * FROM finish(); +ROLLBACK; From 37074b1cac79573e12281ddcb16b4e473335463c Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 11:37:27 -0500 Subject: [PATCH 0904/1360] [dijkstraNear][C/C++] updating code --- include/dijkstra/pgr_dijkstra.hpp | 86 +++++++--------------- include/drivers/dijkstra/dijkstra_driver.h | 3 + src/dijkstra/dijkstra.c | 63 ++++++++++++---- src/dijkstra/dijkstra_driver.cpp | 30 +++++--- 4 files changed, 97 insertions(+), 85 deletions(-) diff --git a/include/dijkstra/pgr_dijkstra.hpp b/include/dijkstra/pgr_dijkstra.hpp index f6b00ae818f..104c6b0d787 100644 --- a/include/dijkstra/pgr_dijkstra.hpp +++ b/include/dijkstra/pgr_dijkstra.hpp @@ -218,7 +218,7 @@ class Pgr_dijkstra { int64_t start_vertex, const std::vector< int64_t > &end_vertex, bool only_cost, - size_t n_goals = (std::numeric_limits::max)()) { + size_t n_goals) { // adjust predecessors and distances vectors clear(); @@ -229,15 +229,13 @@ class Pgr_dijkstra { // get the graphs source and target - if (!graph.has_vertex(start_vertex)) - return std::deque(); + if (!graph.has_vertex(start_vertex)) return std::deque(); + auto v_source(graph.get_V(start_vertex)); std::set< V > s_v_targets; for (const auto &vertex : end_vertex) { - if (graph.has_vertex(vertex)) { - s_v_targets.insert(graph.get_V(vertex)); - } + if (graph.has_vertex(vertex)) s_v_targets.insert(graph.get_V(vertex)); } std::vector< V > v_targets(s_v_targets.begin(), s_v_targets.end()); @@ -248,11 +246,6 @@ class Pgr_dijkstra { // get the results // route id are the targets paths = get_paths(graph, v_source, v_targets, only_cost); - std::stable_sort(paths.begin(), paths.end(), - [](const Path &e1, const Path &e2)->bool { - return e1.end_id() < e2.end_id(); - }); - return paths; } @@ -295,14 +288,6 @@ class Pgr_dijkstra { paths.insert(paths.begin(), r_paths.begin(), r_paths.end()); } - std::sort(paths.begin(), paths.end(), - [](const Path &e1, const Path &e2)->bool { - return e1.end_id() < e2.end_id(); - }); - std::stable_sort(paths.begin(), paths.end(), - [](const Path &e1, const Path &e2)->bool { - return e1.start_id() < e2.start_id(); - }); return paths; } @@ -311,7 +296,7 @@ class Pgr_dijkstra { G &graph, const std::vector< pgr_combination_t > &combinations, bool only_cost, - size_t n_goals = (std::numeric_limits::max)()) { + size_t n_goals) { // a call to 1 to many is faster for each of the sources std::deque paths; @@ -334,15 +319,6 @@ class Pgr_dijkstra { only_cost, n_goals); paths.insert(paths.begin(), r_paths.begin(), r_paths.end()); } - vertex_map.clear(); - std::sort(paths.begin(), paths.end(), - [](const Path &e1, const Path &e2)->bool { - return e1.end_id() < e2.end_id(); - }); - std::stable_sort(paths.begin(), paths.end(), - [](const Path &e1, const Path &e2)->bool { - return e1.start_id() < e2.start_id(); - }); return paths; } @@ -462,17 +438,6 @@ class Pgr_dijkstra { throw; } -#if 0 - /* - * Expensive assertion - */ - for (V v = 0 ; v < predecessors.size(); ++v) { - log << "(" << predecessors[v] << "==" << v << "),"; - if (v != source) { - pgassertwm(predecessors[v] == v, log.str().c_str()); - } - } -#endif return true; } @@ -533,15 +498,6 @@ class Pgr_dijkstra { std::iota(predecessors.begin(), predecessors.end(), 0); -#if 0 - /* - * Expensive assertion - */ - for (V i = 0 ; i < predecessors.size(); ++i) { - pgassert(i == predecessors[i]); - } -#endif - return dijkstra_1_to_distance_no_init( graph, start_vertex, @@ -722,17 +678,25 @@ class Pgr_dijkstra { G &graph, V source, const std::vector< V > &targets, - size_t n_goals = (std::numeric_limits::max)()) { + size_t n_goals) { /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); + std::set goals_found; + std::set goals(targets.begin(), targets.end()); try { boost::dijkstra_shortest_paths(graph.graph, source, boost::predecessor_map(&predecessors[0]) .weight_map(get(&G::G_T_E::cost, graph.graph)) .distance_map(&distances[0]) .distance_inf(std::numeric_limits::infinity()) - .visitor(dijkstra_many_goal_visitor(targets, n_goals))); + .visitor(dijkstra_many_goal_visitor(goals, n_goals, goals_found))); } catch(found_goals &) { + for(const auto &g : goals) { + if (goals_found.find(g) == goals_found.end()) { + /* goal was not found */ + predecessors[g] = g; + } + } return true; } catch (boost::exception const& ex) { (void)ex; @@ -777,9 +741,6 @@ class Pgr_dijkstra { //! @name members //@{ -#if 0 - struct found_goals{}; //!< exception for termination -#endif std::vector< V > predecessors; std::vector< double > distances; std::deque< V > nodesInDistance; @@ -792,17 +753,23 @@ class Pgr_dijkstra { //! class for stopping when all targets are found class dijkstra_many_goal_visitor : public boost::default_dijkstra_visitor { public: - explicit dijkstra_many_goal_visitor( - const std::vector< V > &goals, - size_t n_goals) : - m_goals(goals.begin(), goals.end()), - m_n_goals(n_goals) {} + dijkstra_many_goal_visitor( + const std::set &goals, + size_t n_goals, + std::set &f_goals) : + m_goals(goals), + m_n_goals(n_goals), + m_found_goals(f_goals) { + } template void examine_vertex(V u, B_G &) { auto s_it = m_goals.find(u); + + /* examined vertex is not a goal */ if (s_it == m_goals.end()) return; // found one more goal + m_found_goals.insert(*s_it); m_goals.erase(s_it); // all goals found @@ -816,6 +783,7 @@ class Pgr_dijkstra { private: std::set< V > m_goals; size_t m_n_goals; + std::set< V > &m_found_goals; }; diff --git a/include/drivers/dijkstra/dijkstra_driver.h b/include/drivers/dijkstra/dijkstra_driver.h index 1414b2542b0..cc5d56f03b5 100644 --- a/include/drivers/dijkstra/dijkstra_driver.h +++ b/include/drivers/dijkstra/dijkstra_driver.h @@ -67,6 +67,7 @@ extern "C" { bool only_cost, bool normal, int64_t n_goals, + bool global, General_path_element_t **return_tuples, size_t *return_count, @@ -88,6 +89,8 @@ extern "C" { bool directed, bool only_cost, bool normal, + int64_t n_goals, + bool global, General_path_element_t **return_tuples, size_t *return_count, diff --git a/src/dijkstra/dijkstra.c b/src/dijkstra/dijkstra.c index 59874f94e89..81835cf7b9e 100644 --- a/src/dijkstra/dijkstra.c +++ b/src/dijkstra/dijkstra.c @@ -61,8 +61,10 @@ process( bool only_cost, bool normal, int64_t n_goals, + bool global, General_path_element_t **result_tuples, size_t *result_count) { + PGR_DBG("directed %d only_cost %d normal %d n_goals %ld", directed, only_cost, normal, n_goals); pgr_SPI_connect(); int64_t* start_vidsArr = NULL; @@ -108,6 +110,7 @@ process( only_cost, normal, n_goals, + global, result_tuples, result_count, @@ -149,7 +152,8 @@ process_combinations( char* combinations_sql, bool directed, bool only_cost, - bool normal, + int64_t n_goals, + bool global, General_path_element_t **result_tuples, size_t *result_count) { pgr_SPI_connect(); @@ -160,22 +164,17 @@ process_combinations( pgr_combination_t *combinations = NULL; size_t total_combinations = 0; - if (normal) { - pgr_get_edges(edges_sql, &edges, &total_edges); - } else { - pgr_get_edges_reversed(edges_sql, &edges, &total_edges); - } + pgr_get_edges(edges_sql, &edges, &total_edges); if (total_edges == 0) { pgr_SPI_finish(); return; - } else { - pgr_get_combinations(combinations_sql, &combinations, &total_combinations); - if (total_combinations == 0) { - if (edges) pfree(edges); - pgr_SPI_finish(); - return; - } + }; + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + if (total_combinations == 0) { + if (edges) pfree(edges); + pgr_SPI_finish(); + return; } PGR_DBG("Starting timer"); @@ -188,7 +187,9 @@ process_combinations( combinations, total_combinations, directed, only_cost, - normal, + true, + n_goals, + global, result_tuples, result_count, @@ -237,7 +238,6 @@ _pgr_dijkstra(PG_FUNCTION_ARGS) { MemoryContext oldcontext; funcctx = SRF_FIRSTCALL_INIT(); oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - if (PG_NARGS() == 7) { /**********************************************************************/ // pgr_dijkstra( @@ -256,6 +256,7 @@ _pgr_dijkstra(PG_FUNCTION_ARGS) { PG_GETARG_BOOL(4), PG_GETARG_BOOL(5), PG_GETARG_INT64(6), + true, &result_tuples, &result_count); @@ -273,7 +274,39 @@ _pgr_dijkstra(PG_FUNCTION_ARGS) { text_to_cstring(PG_GETARG_TEXT_P(1)), PG_GETARG_BOOL(2), PG_GETARG_BOOL(3), + 0, true, + &result_tuples, + &result_count); + + } else if (PG_NARGS() == 8) { + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + PG_GETARG_ARRAYTYPE_P(1), + PG_GETARG_ARRAYTYPE_P(2), + PG_GETARG_BOOL(3), PG_GETARG_BOOL(4), + PG_GETARG_BOOL(5), + PG_GETARG_INT64(6), + PG_GETARG_BOOL(7), + &result_tuples, + &result_count); + + /**********************************************************************/ + } else /* (PG_NARGS() == 6) */ { + /**********************************************************************/ + // pgr_dijkstra( + // edge_sql TEXT, + // combinations_sql TEXT, + // directed BOOLEAN default true, + // only_cost BOOLEAN default false + + process_combinations( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + PG_GETARG_BOOL(2), + PG_GETARG_BOOL(3), + PG_GETARG_INT64(4), + PG_GETARG_BOOL(5), &result_tuples, &result_count); diff --git a/src/dijkstra/dijkstra_driver.cpp b/src/dijkstra/dijkstra_driver.cpp index 84a6467ac42..99e0ecd4b04 100644 --- a/src/dijkstra/dijkstra_driver.cpp +++ b/src/dijkstra/dijkstra_driver.cpp @@ -48,7 +48,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. namespace detail { void -post_process(std::deque &paths, bool only_cost, bool normal, size_t n_goals) { +post_process(std::deque &paths, bool only_cost, bool normal, size_t n_goals, bool global) { paths.erase(std::remove_if(paths.begin(), paths.end(), [](const Path &p){ return p.size()==0;}), @@ -77,7 +77,7 @@ post_process(std::deque &paths, bool only_cost, bool normal, size_t n_goal [](const Path &e1, const Path &e2)->bool { return e1.tot_cost() < e2.tot_cost(); }); - if (n_goals < paths.size()) { + if (global && n_goals < paths.size()) { paths.erase(paths.begin() + n_goals, paths.end()); } } else { @@ -101,7 +101,8 @@ pgr_dijkstra( std::vector < int64_t > targets, bool only_cost, bool normal, - size_t n_goals) { + size_t n_goals, + bool global) { std::sort(sources.begin(), sources.end()); sources.erase( std::unique(sources.begin(), sources.end()), @@ -118,7 +119,7 @@ pgr_dijkstra( sources, targets, only_cost, n_goals); - post_process(paths, only_cost, normal, n_goals); + post_process(paths, only_cost, normal, n_goals, global); return paths; } @@ -130,14 +131,16 @@ pgr_dijkstra( G &graph, std::vector < pgr_combination_t > &combinations, bool only_cost, - bool normal) { + bool normal, + size_t n_goals, + bool global) { pgrouting::Pgr_dijkstra< G > fn_dijkstra; auto paths = fn_dijkstra.dijkstra( graph, combinations, - only_cost); + only_cost, n_goals); - post_process(paths, only_cost, normal, (std::numeric_limits::max)()); + post_process(paths, only_cost, normal, n_goals, global); return paths; } @@ -161,6 +164,7 @@ do_pgr_many_to_many_dijkstra( bool only_cost, bool normal, int64_t n_goals, + bool global, General_path_element_t **return_tuples, size_t *return_count, @@ -197,7 +201,7 @@ do_pgr_many_to_many_dijkstra( paths = detail::pgr_dijkstra( digraph, start_vertices, end_vertices, - only_cost, normal, n); + only_cost, normal, n, global); } else { log << "\nWorking with Undirected Graph"; pgrouting::UndirectedGraph undigraph(gType); @@ -205,7 +209,7 @@ do_pgr_many_to_many_dijkstra( paths = detail::pgr_dijkstra( undigraph, start_vertices, end_vertices, - only_cost, normal, n); + only_cost, normal, n, global); } size_t count(0); @@ -265,6 +269,8 @@ do_pgr_combinations_dijkstra( bool directed, bool only_cost, bool normal, + int64_t n_goals, + bool global, General_path_element_t **return_tuples, size_t *return_count, @@ -291,6 +297,8 @@ do_pgr_combinations_dijkstra( std::vector combinations_vector(combinations, combinations + total_combinations); + size_t n = n_goals <= 0? (std::numeric_limits::max)() : static_cast(n_goals); + std::deque< Path >paths; if (directed) { log << "\nWorking with directed Graph"; @@ -299,7 +307,7 @@ do_pgr_combinations_dijkstra( paths = detail::pgr_dijkstra( digraph, combinations_vector, - only_cost, normal); + only_cost, normal, n, global); } else { log << "\nWorking with Undirected Graph"; pgrouting::UndirectedGraph undigraph(gType); @@ -307,7 +315,7 @@ do_pgr_combinations_dijkstra( paths = detail::pgr_dijkstra( undigraph, combinations_vector, - only_cost, normal); + only_cost, normal, n, global); } combinations_vector.clear(); size_t count(0); From d0f83d5fbf41b59805b1a5e38a69b5cf406eb310 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 12:25:53 -0500 Subject: [PATCH 0905/1360] [dijkstraNear][SQL] adding the signatures --- sql/dijkstra/CMakeLists.txt | 1 + sql/dijkstra/_dijkstra.sql | 53 +++++++++ sql/dijkstra/_dijkstraNear.sql | 1 + sql/dijkstra/dijkstraNear.sql | 191 +++++++++++++++++++++++++++++++++ sql/sigs/pgrouting--3.2.0.sig | 6 ++ 5 files changed, 252 insertions(+) create mode 100644 sql/dijkstra/dijkstraNear.sql diff --git a/sql/dijkstra/CMakeLists.txt b/sql/dijkstra/CMakeLists.txt index da9bc230e04..c7d9cbd9175 100644 --- a/sql/dijkstra/CMakeLists.txt +++ b/sql/dijkstra/CMakeLists.txt @@ -7,6 +7,7 @@ SET(LOCAL_FILES _dijkstraVia.sql dijkstraVia.sql _dijkstraNear.sql + dijkstraNear.sql ) foreach (f ${LOCAL_FILES}) diff --git a/sql/dijkstra/_dijkstra.sql b/sql/dijkstra/_dijkstra.sql index 7de0b047c41..635d170a576 100644 --- a/sql/dijkstra/_dijkstra.sql +++ b/sql/dijkstra/_dijkstra.sql @@ -34,6 +34,59 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- --------------- +CREATE OR REPLACE FUNCTION _pgr_dijkstra( + edges_sql TEXT, + start_vids ANYARRAY, + end_vids ANYARRAY, + directed BOOLEAN, + only_cost BOOLEAN, + normal BOOLEAN, + n_goals BIGINT, + global BOOLEAN, + + OUT seq 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 VOLATILE STRICT; + + +CREATE OR REPLACE FUNCTION _pgr_dijkstra( + edges_sql TEXT, + combinations_sql TEXT, + directed BOOLEAN, + only_cost BOOLEAN, + n_goals BIGINT, + global BOOLEAN, + + OUT seq 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 VOLATILE STRICT; + +-- COMMENTS + +COMMENT ON FUNCTION _pgr_dijkstra(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, BOOLEAN, BOOLEAN, BIGINT, BOOLEAN) +IS 'pgRouting internal function'; + +COMMENT ON FUNCTION _pgr_dijkstra(TEXT, TEXT, BOOLEAN, BOOLEAN, BIGINT, BOOLEAN) +IS 'pgRouting internal function'; + + +/** The following are kept for backward compatibility on signatures **/ CREATE OR REPLACE FUNCTION _pgr_dijkstra( edges_sql TEXT, start_vids ANYARRAY, diff --git a/sql/dijkstra/_dijkstraNear.sql b/sql/dijkstra/_dijkstraNear.sql index 434d95ed2b0..e85f33f4c97 100644 --- a/sql/dijkstra/_dijkstraNear.sql +++ b/sql/dijkstra/_dijkstraNear.sql @@ -27,6 +27,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------------- -- _pgr_dijkstraNear -------------------- +/* this file is kept for backward compatibility */ -- ONE to MANY CREATE OR REPLACE FUNCTION _pgr_dijkstraNear( diff --git a/sql/dijkstra/dijkstraNear.sql b/sql/dijkstra/dijkstraNear.sql new file mode 100644 index 00000000000..4e7cc80a0ed --- /dev/null +++ b/sql/dijkstra/dijkstraNear.sql @@ -0,0 +1,191 @@ +/*PGR-GNU***************************************************************** + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Celia Virginia Vergara Castillo +mail: vicky_vergara@hotmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +-------------------- +-- pgr_dijkstraNear +-------------------- + +-- ONE to MANY +CREATE OR REPLACE FUNCTION pgr_dijkstraNear( + TEXT, -- edges_sql (required) + BIGINT, -- from_vid (required) + ANYARRAY, -- to_vids (required) + + directed BOOLEAN DEFAULT true, + cap BIGINT DEFAULT 1, + + OUT seq 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_seq, start_vid, end_vid, node, edge, cost, agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], $3::BIGINT[], directed, false, true, cap); +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + +-- MANY to ONE +CREATE OR REPLACE FUNCTION pgr_dijkstraNear( + TEXT, -- edges_sql (required) + ANYARRAY, -- from_vids (required) + BIGINT, -- to_vid (required) + + directed BOOLEAN DEFAULT true, + cap BIGINT DEFAULT 1, + + OUT seq 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_seq, start_vid, end_vid, node, edge, cost, agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), $2::BIGINT[], ARRAY[$3]::BIGINT[], directed, false, false, cap); +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + +-- MANY to MANY +CREATE OR REPLACE FUNCTION pgr_dijkstraNear( + TEXT, -- edges_sql (required) + ANYARRAY, -- from_vids (required) + ANYARRAY, -- to_vids (required) + + directed BOOLEAN DEFAULT true, + cap BIGINT DEFAULT 1, + global BOOLEAN DEFAULT true, + + OUT seq 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_seq, start_vid, end_vid, node, edge, cost, agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), $2::BIGINT[], $3::BIGINT[], directed, false, true, cap, global); +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + +-- Combinations SQL signature +CREATE OR REPLACE FUNCTION pgr_dijkstraNear( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + cap BIGINT DEFAULT 1, + global BOOLEAN DEFAULT true, + + OUT seq 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_seq, start_vid, end_vid, node, edge, cost, agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), _pgr_get_statement($2), directed, false, cap, global); +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + + +-- COMMENTS + +COMMENT ON FUNCTION pgr_dijkstraNear(TEXT, BIGINT, ANYARRAY, BOOLEAN, BIGINT) +IS 'pgr_dijkstraNear(One to Many) +- EXPERIMENTAL +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From vertex identifier + - To ARRAY[vertices identifiers] +- Optional Parameters + - directed => true + - cap => 1 (nth found) +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_dijkstraNear.html +'; + +COMMENT ON FUNCTION pgr_dijkstraNear(TEXT, ANYARRAY, BIGINT, BOOLEAN, BIGINT) +IS 'pgr_dijkstraNear(Many to One) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From ARRAY[vertices identifiers] + - To vertex identifier +- Optional Parameters + - directed => true + - cap => 1 (nth found) +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_dijkstraNear.html +'; + +COMMENT ON FUNCTION pgr_dijkstraNear(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, BIGINT, BOOLEAN) +IS 'pgr_dijkstraNear(Many to Many) +- EXPERIMENTAL +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From ARRAY[vertices identifiers] + - To ARRAY[vertices identifiers] +- Optional Parameters + - directed => true + - cap => 1 (nth found) +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_dijkstraNear.html +'; + +COMMENT ON FUNCTION pgr_dijkstraNear(TEXT, TEXT, BOOLEAN, BIGINT, BOOLEAN) +IS 'pgr_dijkstraNear(Combinations) +- EXPERIMENTAL +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Combinations SQL with columns: source, target +- Optional Parameters + - directed => true + - cap => 1 (nth found) +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_dijkstraNear.html +'; diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index 3b238baad6a..8e04549ecd9 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -92,14 +92,20 @@ pgr_dijkstracost(text,bigint,anyarray,boolean) pgr_dijkstracost(text,bigint,bigint,boolean) pgr_dijkstracost(text,text,boolean) _pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean) +pgr_dijkstranear(text,anyarray,anyarray,boolean,bigint,boolean) _pgr_dijkstranear(text,anyarray,bigint,bigint,boolean) +pgr_dijkstranear(text,anyarray,bigint,boolean,bigint) _pgr_dijkstranear(text,bigint,anyarray,bigint,boolean) +pgr_dijkstranear(text,bigint,anyarray,boolean,bigint) +pgr_dijkstranear(text,text,boolean,bigint,boolean) pgr_dijkstra(text,anyarray,anyarray,boolean) _pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint) +_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint,boolean) pgr_dijkstra(text,anyarray,bigint,boolean) pgr_dijkstra(text,bigint,anyarray,boolean) pgr_dijkstra(text,bigint,bigint,boolean) pgr_dijkstra(text,text,boolean) +_pgr_dijkstra(text,text,boolean,boolean,bigint,boolean) _pgr_dijkstra(text,text,boolean,boolean,boolean) _pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) From a1578a5a8e6a0805896c04a25f5d0b642e7e016c Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 12:46:08 -0500 Subject: [PATCH 0906/1360] [dijkstraNear][doc] adding documentation --- doc/dijkstra/CMakeLists.txt | 1 + doc/dijkstra/dijkstra-family.rst | 15 +- doc/dijkstra/pgr_dijkstraNear.rst | 299 ++++++++++++++++++ docqueries/dijkstra/CMakeLists.txt | 1 + .../dijkstra/doc-pgr_dijkstraNear.result | 73 +++++ .../dijkstra/doc-pgr_dijkstraNear.test.sql | 29 ++ docqueries/dijkstra/test.conf | 2 + 7 files changed, 419 insertions(+), 1 deletion(-) create mode 100644 doc/dijkstra/pgr_dijkstraNear.rst create mode 100644 docqueries/dijkstra/doc-pgr_dijkstraNear.result create mode 100644 docqueries/dijkstra/doc-pgr_dijkstraNear.test.sql diff --git a/doc/dijkstra/CMakeLists.txt b/doc/dijkstra/CMakeLists.txt index d20be31e291..752f693df95 100644 --- a/doc/dijkstra/CMakeLists.txt +++ b/doc/dijkstra/CMakeLists.txt @@ -5,6 +5,7 @@ SET(LOCAL_FILES pgr_dijkstraCost.rst pgr_dijkstra.rst pgr_dijkstraVia.rst + pgr_dijkstraNear.rst ) foreach (f ${LOCAL_FILES}) diff --git a/doc/dijkstra/dijkstra-family.rst b/doc/dijkstra/dijkstra-family.rst index 80501d05af2..b86f816a032 100644 --- a/doc/dijkstra/dijkstra-family.rst +++ b/doc/dijkstra/dijkstra-family.rst @@ -20,7 +20,7 @@ Dijkstra - Family of functions .. index to here -.. rubric:: proposed +.. rubric:: Proposed .. include:: proposed.rst :start-after: stable-begin-warning @@ -33,6 +33,18 @@ Dijkstra - Family of functions .. index proposed to here +.. rubric:: Experimental + +.. include:: proposed.rst + :start-after: stable-begin-warning + :end-before: stable-end-warning + +.. index experimental from here + +* :doc:`pgr_dijkstraNear` - Get the route to the nearest vertex. + +.. index experimental to here + .. toctree:: :hidden: @@ -42,6 +54,7 @@ Dijkstra - Family of functions pgr_drivingDistance pgr_KSP pgr_dijkstraVia + pgr_dijkstraNear .. rubric:: Previous versions of this page diff --git a/doc/dijkstra/pgr_dijkstraNear.rst b/doc/dijkstra/pgr_dijkstraNear.rst new file mode 100644 index 00000000000..1c8bbdeb15e --- /dev/null +++ b/doc/dijkstra/pgr_dijkstraNear.rst @@ -0,0 +1,299 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: https://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +pgr_dijkstraNear - Experimental +=============================================================================== + +``pgr_dijkstraNear`` — Using dijkstra algorithm, finds the route that leads to +the nearest vertex. + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/libs/graph/doc/table_of_contents.html + + Boost Graph Inside + +.. rubric:: Availability + +* Version 3.2.0 + + * New **experimental** function + +.. rubric:: Support + +* **Supported versions:** + current(`3.2 `__) + +Description +------------------------------------------------------------------------------- + +Given a graph, a starting vertex and a set of ending vertices, +this function finds the shortest path from the starting vertex to the nearest +ending vertex. + +Characteristics +............................................................................... + +.. dijkstraNear characteristics start + +* Uses Dijkstra algorithm. +* Works for **directed** and **undirected** graphs. +* When there are more than one path to the same vertex with same cost: + + * The algorithm will return just one path + +* Optionally allows to find more than one path. + + * When more than one path is to be returned: + + * Results are sorted in increasing order of: + + * aggregate cost + * Within the same value of aggregate costs: + + * results are sorted by (source, target) + +* Running time: Dijkstra running time: :math:`drt = O((|E| + |V|)log|V|)` + + * One to Many; :math:`drt` + * Many to One: :math:`drt` + * Many to Many: :math:`drt * |Starting vids|` + * Combinations: :math:`drt * |Starting vids|` + +.. dijkstraNear characteristics end + +Signatures +------------------------------------------------------------------------------- + +.. rubric:: Summary + +.. code-block:: none + + pgr_dijkstraNear(Edges SQL, Start vid, End vids [, directed] [, cap]) + pgr_dijkstraNear(Edges SQL, Start vids, End vid [, directed] [, cap]) + pgr_dijkstraNear(Edges SQL, Start vids, End vids [, directed] [, cap], [global]) + pgr_dijkstraNear(Edges SQL, Combinations SQL [, directed] [, cap], [global]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +.. index:: + single: dijkstraNear(One to Many) - Experimental + +One to Many +............................................................................... + +.. code-block:: none + + pgr_dijkstraNear(Edges SQL, Start vid, End vids [, directed] [, cap]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Departing on car from vertex :math:`2` find the nearest subway station. + +* Using a **directed** graph for car routing. +* The subway stations are on the following vertices :math:`\{ 3, 6, 7\}` +* The defaults used: + + * `directed => true` + * `cap => 1` + + +.. literalinclude:: doc-pgr_dijkstraNear.queries + :start-after: -- q1 + :end-before: -- q2 + :linenos: + +The result shows that station at vertex :math:`6` is the nearest. + +.. index:: + single: dijkstraNear(Many to One) - Experimental + +Many to One +............................................................................... + +.. code-block:: none + + pgr_dijkstraNear(Edges SQL, Start vids, End vid [, directed] [, cap]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Departing on a car from a subway station find the nearest **two** + stations to vertex :math:`2` + +* Using a **directed** graph for car routing. +* The subway stations are on the following vertices :math:`\{ 3, 6, 7\}` +* On line `4`: using the positional parameter: `directed` set to ``true`` +* In line `5`: using named parameter `cap => 2` + +.. literalinclude:: doc-pgr_dijkstraNear.queries + :start-after: -- q2 + :end-before: -- q3 + :linenos: + +The result shows that station at vertex :math:`3` is the nearest and the next best +is :math:`6`. + +.. index:: + single: dijkstraNear(Many to Many) - Experimental + +Many to Many +............................................................................... + +.. code-block:: none + + pgr_dijkstraNear(Edges SQL, Start vids, End vids [, directed] [, cap], [global]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Find the best pedestrian connection between two lines of buses + +* Unsing an **undirected** graph for pedestrian routing +* The first subway line stations stops are at :math:`\{3, 6, 7\}` +* The second subway line stations are at :math:`\{4, 9\}` +* On line `4`: using the named parameter: `directed => false` +* The defaults used: + + * `cap => 1` + * `global => true` + +.. literalinclude:: doc-pgr_dijkstraNear.queries + :start-after: -- q3 + :end-before: -- q4 + :linenos: + +For a pedestrian the best connection is to get on/off is at vertex :math:`3` of the +first subway line and at vertex :math:`4` of the second subway line. + +Only `one` route is returned because `global` is ``true`` and `cap` is ``1`` + +.. index:: + single: dijkstraNear(Combinations) - Experimental + +Combinations +............................................................................... + +.. code-block:: none + + pgr_dijkstraNear(Edges SQL, Combinations SQL [, directed] [, cap], [global]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Find the best car connection between all the stations of two subway lines + +* Using a **directed** graph for car routing. +* The first subway line stations stops are at :math:`\{3, 6, 7\}` +* The second subway line stations are at :math:`\{4, 9\}` +* line `3` sets the start vertices to be from the fisrt subway line and the ending + vertices to be from the second subway line +* line `5` sets the start vertices to be from the first subway line and the ending + vertices to be from the first subway line +* On line `6`: using the named parameter is `global => false` +* The defaults used: + + * `directed => true` + * `cap => 1` + +.. literalinclude:: doc-pgr_dijkstraNear.queries + :start-after: -- q4 + :end-before: -- q5 + :linenos: + +From the results: + +* making a connection from the first subway line to the second: + + * :math:`{(3 -> 9) (6 -> 9) (7 -> 9)}` and the best one is :math:`(6 -> 9)` with a + cost of :math:`1` (lines: `12` and `13`) + +* making a connection from the second subway line to the first: + + * :math:`{(4 -> 3) (9 -> 6)}` and both are equaly good as they have the same + cost. (lines: `10` and `11` and lines: `14` and `15`) + + +Parameters +------------------------------------------------------------------------------- + +====================== ================== ======== ================================================= +Parameter Type Default Description +====================== ================== ======== ================================================= +**Edges SQL** ``TEXT`` `Edges query`_ as described below +**Combinations SQL** ``TEXT`` `Combinations query` as described below +**Start vid** ``BIGINT`` Identifier of the starting vertex of the path. +**Start vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. +**End vid** ``BIGINT`` Identifier of the ending vertex of the path. +**End vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. +**directed** ``BOOLEAN`` ``true`` - When ``true`` the graph is considered `Directed` + - When ``false`` the graph is considered as `Undirected`. +**cap** ``BIGINT`` 1 Find at most ``cap`` number of nearest shortest paths +**global** ``BOOLEAN`` ``true`` - When ``true``: only ``cap`` limit results will be returned + - When ``false``: ``cap`` limit per ``Start vid`` will be returned +====================== ================== ======== ================================================= + + +Inner query +------------------------------------------------------------------------------- + +Edges query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end + +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + +Return Columns +------------------------------------------------------------------------------- + +RETURNS SET OF ``(seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost)`` +OR EMPTY SET + +================== ============= ================================================= +Column Type Description +================== ============= ================================================= +**seq** ``BIGINT`` Sequential value starting from 1. +**path_seq** ``BIGINT`` Sequential value starting from 1 for each :math:`(start\_vid \to end\_vid)` path. +**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. +**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. +**node** ``BIGINT`` Identifier of the node at position ``path_seq`` in the :math:`(start\_vid \to end\_vid)` path. +**edge** ``BIGINT`` Identifier of the edge used to go from node at ``path_seq`` to the node at ``path_seq + 1`` in the + :math:`(start\_vid \to end\_vid)` path. + + * :math:`-1` for the last node of the path. + +**cost** ``FLOAT`` Cost to traverse from ``node`` using ``edge`` to the next node in the route sequence. + + * :math:`0` for the last row of the path. + +**agg_cost** ``FLOAT`` Total cost of traversing :math:`(start\_vid \to node)` section of the :math:`(start\_vid \to end\_vid)` path. +================== ============= ================================================= + + +See Also +------------------------------------------------------------------------------- + +* :doc:`dijkstra-family` +* :doc:`sampledata` network. +* boost: https://www.boost.org/libs/graph/doc/table_of_contents.html +* Wikipedia: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` + diff --git a/docqueries/dijkstra/CMakeLists.txt b/docqueries/dijkstra/CMakeLists.txt index b7dde43e800..f81557cf62b 100644 --- a/docqueries/dijkstra/CMakeLists.txt +++ b/docqueries/dijkstra/CMakeLists.txt @@ -4,6 +4,7 @@ SET(LOCAL_FILES doc-pgr_dijkstraCost doc-pgr_dijkstra doc-pgr_dijkstraVia + doc-pgr_dijkstraNear ) foreach (f ${LOCAL_FILES}) diff --git a/docqueries/dijkstra/doc-pgr_dijkstraNear.result b/docqueries/dijkstra/doc-pgr_dijkstraNear.result new file mode 100644 index 00000000000..50d2bfa099a --- /dev/null +++ b/docqueries/dijkstra/doc-pgr_dijkstraNear.result @@ -0,0 +1,73 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +-- q1 +SELECT * FROM pgr_dijkstraNear( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 2, ARRAY[3, 6, 7] +); + seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 2 | 6 | 2 | 4 | 1 | 0 + 2 | 2 | 2 | 6 | 5 | 8 | 1 | 1 + 3 | 3 | 2 | 6 | 6 | -1 | 0 | 2 +(3 rows) + +-- q2 +SELECT * FROM pgr_dijkstraNear( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + ARRAY[3, 6, 7], 2, + true, + cap => 2 +); + seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 3 | 2 | 3 | 2 | 1 | 0 + 2 | 2 | 3 | 2 | 2 | -1 | 0 | 1 + 3 | 1 | 6 | 2 | 6 | 8 | 1 | 0 + 4 | 2 | 6 | 2 | 5 | 4 | 1 | 1 + 5 | 3 | 6 | 2 | 2 | -1 | 0 | 2 +(5 rows) + +-- q3 +SELECT * FROM pgr_dijkstraNear( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + ARRAY[4, 9], ARRAY[3, 6, 7], + directed => false +); + seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 4 | 3 | 4 | 3 | 1 | 0 + 2 | 2 | 4 | 3 | 3 | -1 | 0 | 1 +(2 rows) + +-- q4 +SELECT * FROM pgr_dijkstraNear( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT unnest(ARRAY[3, 6, 7]) as source, target FROM (SELECT unnest(ARRAY[4, 9]) AS target) a + UNION + SELECT unnest(ARRAY[4, 9]), target FROM (SELECT unnest(ARRAY[3, 6, 7]) AS target) b', + global => false +); + seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 4 | 3 | 4 | 3 | 1 | 0 + 2 | 2 | 4 | 3 | 3 | -1 | 0 | 1 + 3 | 1 | 6 | 9 | 6 | 9 | 1 | 0 + 4 | 2 | 6 | 9 | 9 | -1 | 0 | 1 + 5 | 1 | 9 | 6 | 9 | 9 | 1 | 0 + 6 | 2 | 9 | 6 | 6 | -1 | 0 | 1 + 7 | 1 | 3 | 9 | 3 | 5 | 1 | 0 + 8 | 2 | 3 | 9 | 6 | 9 | 1 | 1 + 9 | 3 | 3 | 9 | 9 | -1 | 0 | 2 + 10 | 1 | 7 | 9 | 7 | 6 | 1 | 0 + 11 | 2 | 7 | 9 | 8 | 7 | 1 | 1 + 12 | 3 | 7 | 9 | 5 | 8 | 1 | 2 + 13 | 4 | 7 | 9 | 6 | 9 | 1 | 3 + 14 | 5 | 7 | 9 | 9 | -1 | 0 | 4 +(14 rows) + +-- q5 +ROLLBACK; +ROLLBACK diff --git a/docqueries/dijkstra/doc-pgr_dijkstraNear.test.sql b/docqueries/dijkstra/doc-pgr_dijkstraNear.test.sql new file mode 100644 index 00000000000..e352ed627a0 --- /dev/null +++ b/docqueries/dijkstra/doc-pgr_dijkstraNear.test.sql @@ -0,0 +1,29 @@ + +\echo -- q1 +SELECT * FROM pgr_dijkstraNear( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 2, ARRAY[3, 6, 7] +); + +\echo -- q2 +SELECT * FROM pgr_dijkstraNear( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + ARRAY[3, 6, 7], 2, + true, + cap => 2 +); +\echo -- q3 +SELECT * FROM pgr_dijkstraNear( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + ARRAY[4, 9], ARRAY[3, 6, 7], + directed => false +); +\echo -- q4 +SELECT * FROM pgr_dijkstraNear( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT unnest(ARRAY[3, 6, 7]) as source, target FROM (SELECT unnest(ARRAY[4, 9]) AS target) a + UNION + SELECT unnest(ARRAY[4, 9]), target FROM (SELECT unnest(ARRAY[3, 6, 7]) AS target) b', + global => false +); +\echo -- q5 diff --git a/docqueries/dijkstra/test.conf b/docqueries/dijkstra/test.conf index d86daeaf99f..0f8f711fdd7 100644 --- a/docqueries/dijkstra/test.conf +++ b/docqueries/dijkstra/test.conf @@ -9,12 +9,14 @@ doc-pgr_dijkstraVia doc-pgr_dijkstraCost doc-pgr_dijkstraCostMatrix + doc-pgr_dijkstraNear )], 'documentation' => [qw( doc-pgr_dijkstra doc-pgr_dijkstraVia doc-pgr_dijkstraCost doc-pgr_dijkstraCostMatrix + doc-pgr_dijkstraNear )] ,'notests' => [qw( )] From 26deab06859159e02848145def5efec44b1608a1 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 16:43:25 -0500 Subject: [PATCH 0907/1360] [dijkstraNearCost][pgtap] tests how it is wanted to work --- .../dijkstraNearCost/dijkstra-compare.sql | 132 ++++++++++++++++++ .../dijkstra/dijkstraNearCost/edge_cases.sql | 116 +++++++++++++++ .../dijkstraNearCost/expected_results.sql | 126 +++++++++++++++++ .../dijkstraNearCost/no_crash_test.sql | 129 +++++++++++++++++ .../dijkstra/dijkstraNearCost/types-check.sql | 42 ++++++ 5 files changed, 545 insertions(+) create mode 100644 pgtap/dijkstra/dijkstraNearCost/dijkstra-compare.sql create mode 100644 pgtap/dijkstra/dijkstraNearCost/edge_cases.sql create mode 100644 pgtap/dijkstra/dijkstraNearCost/expected_results.sql create mode 100644 pgtap/dijkstra/dijkstraNearCost/no_crash_test.sql create mode 100644 pgtap/dijkstra/dijkstraNearCost/types-check.sql diff --git a/pgtap/dijkstra/dijkstraNearCost/dijkstra-compare.sql b/pgtap/dijkstra/dijkstraNearCost/dijkstra-compare.sql new file mode 100644 index 00000000000..4a95b210c2a --- /dev/null +++ b/pgtap/dijkstra/dijkstraNearCost/dijkstra-compare.sql @@ -0,0 +1,132 @@ +--\i setup.sql + +SELECT plan(142); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +-- Initial tables are good to work + +SELECT isnt_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table$$); +SELECT isnt_empty($$SELECT id FROM edge_table_vertices_pgr$$); + +-- vertex id values that dont exist +SELECT is_empty($$SELECT id FROM edge_table_vertices_pgr WHERE id > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE source > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE target > 18$$); +SELECT is_empty($$SELECT id FROM edge_table WHERE id > 18$$); + +CREATE TABLE expected AS +WITH +a AS (SELECT start_vid, d_w_1, u_w_1, d_n_1, u_n_1, d_w_2, u_w_2, d_n_2, u_n_2 + FROM (VALUES + (1::BIGINT, + ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], + ARRAY[2,5]::BIGINT[], ARRAY[2,3]::BIGINT[], ARRAY[2,5]::BIGINT[], ARRAY[2, 5]::BIGINT[]), + (2, ARRAY[ 1], ARRAY[ 1], ARRAY[ 5], ARRAY[ 1], ARRAY[1, 5], ARRAY[1, 3], ARRAY[5, 6], ARRAY[1, 5]), + (3, ARRAY[ 2], ARRAY[ 2], ARRAY[ 6], ARRAY[ 6], ARRAY[2, 6], ARRAY[2, 4], ARRAY[6, 9], ARRAY[5, 6]), + (4, ARRAY[ 3], ARRAY[ 3], ARRAY[ 9], ARRAY[ 9], ARRAY[3, 9], ARRAY[3, 9], ARRAY[9, 12], ARRAY[6, 9]), + (5, ARRAY[ 2], ARRAY[ 2], ARRAY[ 6], ARRAY[ 2], ARRAY[2, 8], ARRAY[2, 8], ARRAY[6, 10], ARRAY[2, 8]), + (6, ARRAY[ 5], ARRAY[ 3], ARRAY[ 9], ARRAY[ 3], ARRAY[5, 9], ARRAY[3, 5], ARRAY[9, 11], ARRAY[3, 5]), + (7, ARRAY[ 8], ARRAY[ 8], ARRAY[ 8], ARRAY[ 8], ARRAY[5, 8], ARRAY[5, 8], ARRAY[5, 8], ARRAY[5, 8]), + (8, ARRAY[ 7], ARRAY[ 7], ARRAY[ 5], ARRAY[ 7], ARRAY[5, 7], ARRAY[5, 7], ARRAY[5, 6], ARRAY[5, 7]), + (9, ARRAY[ 6], ARRAY[ 6], ARRAY[12], ARRAY[ 6], ARRAY[6,12], ARRAY[6, 12], ARRAY[12], ARRAY[6, 12]), + (10, ARRAY[ 5], ARRAY[ 5], ARRAY[11], ARRAY[ 5], ARRAY[5,11], ARRAY[5, 11], ARRAY[11, 13], ARRAY[5, 11]), + (11, ARRAY[12], ARRAY[ 6], ARRAY[12], ARRAY[ 6], ARRAY[9,12], ARRAY[6, 10], ARRAY[12], ARRAY[6, 10]), + (12, ARRAY[ 9], ARRAY[11], NULL, ARRAY[ 11], ARRAY[6, 9], ARRAY[9, 11], NULL, ARRAY[9, 11]), + (13, ARRAY[10], ARRAY[10], NULL, ARRAY[ 10], ARRAY[5,10], ARRAY[5, 10], NULL, ARRAY[5, 10]), + (14, ARRAY[15], ARRAY[15], ARRAY[15], ARRAY[ 15], ARRAY[15], ARRAY[15], ARRAY[15], ARRAY[15]), + (15, ARRAY[14], ARRAY[14], NULL, ARRAY[ 14], ARRAY[14], ARRAY[14], NULL, ARRAY[14]), + (16, ARRAY[17], ARRAY[17], ARRAY[17], ARRAY[ 17], ARRAY[17], ARRAY[17], ARRAY[17], ARRAY[17]), + (17, ARRAY[16], ARRAY[16], NULL, ARRAY[ 16], ARRAY[16], ARRAY[16], NULL, ARRAY[16]) + ) t(start_vid, d_w_1, u_w_1, d_n_1, u_n_1, d_w_2, u_w_2, d_n_2, u_n_2)) +SELECT * from a; + + +CREATE OR REPLACE FUNCTION check_compare(edges_q TEXT, expected_q TEXT, optionals_n TEXT, optionals_d TEXT) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +dijkstraNear_query TEXT; +dijkstra_query TEXT; +BEGIN + + FOR id IN 1..17 LOOP + dijkstraNear_query := format($$ + SELECT * + FROM pgr_dijkstraNearCost( + %1$L, + %2$s, + (SELECT array_agg(id) FROM edge_table_vertices_pgr where id != %2$s), + %3$s); + $$, edges_q, id, optionals_n); + dijkstra_query := format($$ + SELECT * + FROM pgr_dijkstraCost( + %1$L, + ARRAY[%2$s]::BIGINT[], + (SELECT scnd FROM (%3$s) a WHERE frst = %2$s), + %4$s + ); + $$, edges_q, id, expected_q, optionals_d); + + -- raise notice '%', dijkstraNear_query; + -- raise notice '%', dijkstra_query; + RETURN QUERY + SELECT set_eq(dijkstraNear_query, dijkstra_query, id::TEXT || ' ' || optionals_d); + END LOOP; + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + +SELECT * from check_compare( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_w_1 AS scnd FROM expected$$, + 'directed => true, cap => 1', 'directed => true' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_w_1 AS scnd FROM expected$$, + 'directed => false, cap => 1', 'directed => false' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_n_1 AS scnd FROM expected$$, + 'directed => true, cap => 1', 'directed => true' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_n_1 AS scnd FROM expected$$, + 'directed => false, cap => 1', 'directed => false' +); + + +SELECT * from check_compare( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_w_2 AS scnd FROM expected$$, + 'directed => true, cap => 2', 'directed => true' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_w_2 AS scnd FROM expected$$, + 'directed => false, cap => 2', 'directed => false' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_n_2 AS scnd FROM expected$$, + 'directed => true, cap => 2', 'directed => true' +); + +SELECT * from check_compare( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_n_2 AS scnd FROM expected$$, + 'directed => false, cap => 2', 'directed => false' +); + +DROP TABLE IF EXISTS expected; +SELECT finish(); diff --git a/pgtap/dijkstra/dijkstraNearCost/edge_cases.sql b/pgtap/dijkstra/dijkstraNearCost/edge_cases.sql new file mode 100644 index 00000000000..3f81c4a64fc --- /dev/null +++ b/pgtap/dijkstra/dijkstraNearCost/edge_cases.sql @@ -0,0 +1,116 @@ +--\i setup.sql + +SELECT plan(122); + +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); + +SELECT is_empty($$SELECT distinct cost FROM edge_table WHERE cost != 1 AND cost != -1$$); +SELECT is_empty($$SELECT distinct reverse_cost FROM edge_table WHERE cost != 1 AND cost != -1$$); + +-- Initial tables are good to work + +SELECT isnt_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table$$); +SELECT isnt_empty($$SELECT id FROM edge_table_vertices_pgr$$); + +-- vertex id values that dont exist +SELECT is_empty($$SELECT id FROM edge_table_vertices_pgr WHERE id > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE source > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE target > 18$$); +SELECT is_empty($$SELECT id FROM edge_table WHERE id > 18$$); + +CREATE TABLE expected AS +WITH +a AS (SELECT start_vid, d_w_1, u_w_1, d_n_1, u_n_1 + FROM (VALUES + (1::BIGINT, + ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[]), + (2, ARRAY[ 1, 5], ARRAY[ 1, 3, 5], ARRAY[ 5], ARRAY[ 1, 5]), + (3, ARRAY[ 2, 6], ARRAY[ 2, 4, 6], ARRAY[ 6], ARRAY[ 6]), + (4, ARRAY[ 3, 9], ARRAY[ 3, 9], ARRAY[ 9], ARRAY[ 9]), + (5, ARRAY[ 2, 6, 8, 10], ARRAY[ 2, 6, 8, 10], ARRAY[ 6, 10], ARRAY[ 2, 6, 8, 10]), + (6, ARRAY[ 5, 9, 11], ARRAY[ 3, 5, 9, 11], ARRAY[ 9, 11], ARRAY[ 3, 5, 9, 11]), + (7, ARRAY[ 8], ARRAY[ 8], ARRAY[ 8], ARRAY[ 8]), + (8, ARRAY[ 5, 7], ARRAY[ 5, 7], ARRAY[ 5], ARRAY[ 5, 7]), + (9, ARRAY[ 4, 6, 12], ARRAY[ 4, 6, 12], ARRAY[12], ARRAY[ 4, 6, 12]), + (10, ARRAY[ 5, 11, 13], ARRAY[ 5, 11, 13], ARRAY[11, 13], ARRAY[ 5, 11, 13]), + (11, ARRAY[12], ARRAY[ 6, 10, 12], ARRAY[12], ARRAY[ 6, 10, 12]), + (12, ARRAY[ 9], ARRAY[9, 11], NULL, ARRAY[ 9, 11]), + (13, ARRAY[10], ARRAY[10], NULL, ARRAY[ 10]), + (14, ARRAY[15], ARRAY[15], ARRAY[15], ARRAY[ 15]), + (15, ARRAY[14], ARRAY[14], NULL, ARRAY[ 14]), + (16, ARRAY[17], ARRAY[17], ARRAY[17], ARRAY[ 17]), + (17, ARRAY[16], ARRAY[16], NULL, ARRAY[ 16]) + ) t(start_vid, d_w_1, u_w_1, d_n_1, u_n_1)) +SELECT * from a; + + +CREATE OR REPLACE FUNCTION check_expected(edges_q TEXT, expected_q TEXT, optionals TEXT) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +dijstraNear_query TEXT; +inner_query TEXT; +expected_query TEXT; +data record; +dest BIGINT; +id BIGINT; +BEGIN + + FOR data IN EXECUTE expected_q LOOP + id := data.frst; + CONTINUE WHEN data.scnd IS NULL; + + FOREACH dest IN ARRAY data.scnd LOOP + inner_query := format($$ + WITH + edges AS (%1$s), + first_edge AS (SELECT *, (source = %2$s AND target = %3$s) OR (source = %3$s AND target = %2$s) AS order_1 FROM edges) + SELECT * FROM first_edge ORDER BY order_1 DESC + $$, edges_q, id, dest); + dijstraNear_query := format($$ + SELECT distinct end_vid + FROM pgr_dijkstraNearCost( + %1$L, + %2$s, + (SELECT array_agg(id) FROM edge_table_vertices_pgr where id != %2$s), + %3$s) + $$, inner_query, id, optionals); + expected_query := format($$ + SELECT %1$s + $$, dest); + + RETURN QUERY + SELECT set_eq(dijstraNear_query, expected_query, id::TEXT || '->' || dest || ' ' || optionals); + END LOOP; + END LOOP; + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id DESC$$, + $$SELECT start_vid AS frst, d_w_1 AS scnd FROM expected$$, + 'directed => true, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id DESC$$, + $$SELECT start_vid AS frst, u_w_1 AS scnd FROM expected$$, + 'directed => false, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table ORDER BY id DESC$$, + $$SELECT start_vid AS frst, d_n_1 AS scnd FROM expected$$, + 'directed => true, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table ORDER BY id DESC$$, + $$SELECT start_vid AS frst, u_n_1 AS scnd FROM expected$$, + 'directed => false, cap => 1' +); + +DROP TABLE IF EXISTS expected; +SELECT finish(); diff --git a/pgtap/dijkstra/dijkstraNearCost/expected_results.sql b/pgtap/dijkstra/dijkstraNearCost/expected_results.sql new file mode 100644 index 00000000000..e55dfffcc30 --- /dev/null +++ b/pgtap/dijkstra/dijkstraNearCost/expected_results.sql @@ -0,0 +1,126 @@ +--\i setup.sql + +SELECT plan(142); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +-- Initial tables are good to work + +SELECT isnt_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table$$); +SELECT isnt_empty($$SELECT id FROM edge_table_vertices_pgr$$); + +-- vertex id values that dont exist +SELECT is_empty($$SELECT id FROM edge_table_vertices_pgr WHERE id > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE source > 18$$); +SELECT is_empty($$SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE target > 18$$); +SELECT is_empty($$SELECT id FROM edge_table WHERE id > 18$$); + +CREATE TABLE expected AS +WITH +a AS (SELECT start_vid, d_w_1, u_w_1, d_n_1, u_n_1, d_w_2, u_w_2, d_n_2, u_n_2 + FROM (VALUES + (1::BIGINT, + ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], ARRAY[2]::BIGINT[], + ARRAY[2,5]::BIGINT[], ARRAY[2,3]::BIGINT[], ARRAY[2,5]::BIGINT[], ARRAY[2, 5]::BIGINT[]), + (2, ARRAY[ 1], ARRAY[ 1], ARRAY[ 5], ARRAY[ 1], ARRAY[1, 5], ARRAY[1, 3], ARRAY[5, 6], ARRAY[1, 5]), + (3, ARRAY[ 2], ARRAY[ 2], ARRAY[ 6], ARRAY[ 6], ARRAY[2, 6], ARRAY[2, 4], ARRAY[6, 9], ARRAY[5, 6]), + (4, ARRAY[ 3], ARRAY[ 3], ARRAY[ 9], ARRAY[ 9], ARRAY[3, 9], ARRAY[3, 9], ARRAY[9, 12], ARRAY[6, 9]), + (5, ARRAY[ 2], ARRAY[ 2], ARRAY[ 6], ARRAY[ 2], ARRAY[2, 8], ARRAY[2, 8], ARRAY[6, 10], ARRAY[2, 8]), + (6, ARRAY[ 5], ARRAY[ 3], ARRAY[ 9], ARRAY[ 3], ARRAY[5, 9], ARRAY[3, 5], ARRAY[9, 11], ARRAY[3, 5]), + (7, ARRAY[ 8], ARRAY[ 8], ARRAY[ 8], ARRAY[ 8], ARRAY[5, 8], ARRAY[5, 8], ARRAY[5, 8], ARRAY[5, 8]), + (8, ARRAY[ 7], ARRAY[ 7], ARRAY[ 5], ARRAY[ 7], ARRAY[5, 7], ARRAY[5, 7], ARRAY[5, 6], ARRAY[5, 7]), + (9, ARRAY[ 6], ARRAY[ 6], ARRAY[12], ARRAY[ 6], ARRAY[6,12], ARRAY[6, 12], ARRAY[12], ARRAY[6, 12]), + (10, ARRAY[ 5], ARRAY[ 5], ARRAY[11], ARRAY[ 5], ARRAY[5,11], ARRAY[5, 11], ARRAY[11, 13], ARRAY[5, 11]), + (11, ARRAY[12], ARRAY[ 6], ARRAY[12], ARRAY[ 6], ARRAY[9,12], ARRAY[6, 10], ARRAY[12], ARRAY[6, 10]), + (12, ARRAY[ 9], ARRAY[11], NULL, ARRAY[ 11], ARRAY[6, 9], ARRAY[9, 11], NULL, ARRAY[9, 11]), + (13, ARRAY[10], ARRAY[10], NULL, ARRAY[ 10], ARRAY[5,10], ARRAY[5, 10], NULL, ARRAY[5, 10]), + (14, ARRAY[15], ARRAY[15], ARRAY[15], ARRAY[ 15], ARRAY[15], ARRAY[15], ARRAY[15], ARRAY[15]), + (15, ARRAY[14], ARRAY[14], NULL, ARRAY[ 14], ARRAY[14], ARRAY[14], NULL, ARRAY[14]), + (16, ARRAY[17], ARRAY[17], ARRAY[17], ARRAY[ 17], ARRAY[17], ARRAY[17], ARRAY[17], ARRAY[17]), + (17, ARRAY[16], ARRAY[16], NULL, ARRAY[ 16], ARRAY[16], ARRAY[16], NULL, ARRAY[16]) + ) t(start_vid, d_w_1, u_w_1, d_n_1, u_n_1, d_w_2, u_w_2, d_n_2, u_n_2)) +SELECT * from a; + + +CREATE OR REPLACE FUNCTION check_expected(edges_q TEXT, expected_q TEXT, optionals TEXT) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +dijstraNear_query TEXT; +expected_query TEXT; +BEGIN + + FOR id IN 1..17 LOOP + dijstraNear_query := format($$ + SELECT array_agg(distinct end_vid) + FROM pgr_dijkstraNearCost( + %1$L, + %2$s, + (SELECT array_agg(id) FROM edge_table_vertices_pgr where id != %2$s), + %3$s) + $$, edges_q, id, optionals); + expected_query := format($$ + SELECT scnd FROM (%1$s) a WHERE frst = %2$s + $$, expected_q, id); + + -- raise notice '%', dijstraNear_query; + -- raise notice '%', expected_query; + RETURN QUERY + SELECT set_eq(dijstraNear_query, expected_query, id::TEXT || ' ' || optionals); + END LOOP; + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_w_1 AS scnd FROM expected$$, + 'directed => true, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_w_1 AS scnd FROM expected$$, + 'directed => false, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_n_1 AS scnd FROM expected$$, + 'directed => true, cap => 1' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_n_1 AS scnd FROM expected$$, + 'directed => false, cap => 1' +); + + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_w_2 AS scnd FROM expected$$, + 'directed => true, cap => 2' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost, reverse_cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_w_2 AS scnd FROM expected$$, + 'directed => false, cap => 2' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, d_n_2 AS scnd FROM expected$$, + 'directed => true, cap => 2' +); + +SELECT * from check_expected( + $$SELECT id, source, target, cost FROM edge_table$$, + $$SELECT start_vid AS frst, u_n_2 AS scnd FROM expected$$, + 'directed => false, cap => 2' +); + +DROP TABLE IF EXISTS expected; +SELECT finish(); diff --git a/pgtap/dijkstra/dijkstraNearCost/no_crash_test.sql b/pgtap/dijkstra/dijkstraNearCost/no_crash_test.sql new file mode 100644 index 00000000000..72facd03b47 --- /dev/null +++ b/pgtap/dijkstra/dijkstraNearCost/no_crash_test.sql @@ -0,0 +1,129 @@ +\i setup.sql + +SELECT plan(126); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; + +PREPARE combs AS +SELECT source, target FROM combinations_table; +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combs', 'Should be not empty to tests be meaningful'); + +PREPARE null_id AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); +SELECT is_empty('null_id', 'Should be empty to tests be meaningful'); + +PREPARE null_id_arr AS +SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +SELECT set_eq('null_id_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); + +PREPARE null_edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table WHERE id IN (-1); +SELECT is_empty('null_edges', 'Should be empty to tests be meaningful'); + +PREPARE null_comb AS +SELECT source, target FROM combinations_table WHERE source IN (-1); +SELECT is_empty('null_comb', 'Should be empty to tests be meaningful'); + + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params1 TEXT[]; +params2 TEXT[]; +subs1 TEXT[]; +subs2 TEXT[]; +BEGIN + -- one to many + params1 = ARRAY['$$edges$$','1', 'ARRAY[2,5]::BIGINT[]']::TEXT[]; + params2 = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '(SELECT 1)', + '(SELECT ARRAY[2,5]::BIGINT[])']::TEXT[]; + subs1 = ARRAY[ + '$$null_edges$$', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + subs2 = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT[]' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params1, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params1, subs2); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params2, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params2, subs2); + + + -- many to one + params1 = ARRAY['$$edges$$', 'ARRAY[2,5]::BIGINT[]', '1']::TEXT[]; + params2 = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '(SELECT ARRAY[2,5]::BIGINT[])', + '(SELECT 1)']::TEXT[]; + subs1 = ARRAY[ + '$$null_edges$$', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + subs2 = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params1, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params1, subs2); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params2, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params2, subs2); + + -- many to many + params1 = ARRAY['$$edges$$','ARRAY[1]::BIGINT[]', 'ARRAY[2,5]::BIGINT[]']::TEXT[]; + params2 = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '(SELECT ARRAY[2,5]::BIGINT[])', + '(SELECT ARRAY[1]::BIGINT[])']::TEXT[]; + subs1 = ARRAY[ + '$$null_edges$$', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + subs2 = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT[]' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params1, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params1, subs2); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params2, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params2, subs2); + + -- combinations + params1 = ARRAY['$$edges$$','$$combs$$']::TEXT[]; + params2 = ARRAY['$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$', + '$$SELECT source, target FROM edge_table$$']::TEXT[]; + subs1 = ARRAY[ + '$$null_edges$$', + '$$null_comb$$' + ]::TEXT; + subs2 = ARRAY[ + 'NULL', + 'NULL' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params1, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params1, subs2); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params2, subs1); + RETURN query SELECT * FROM no_crash_test('pgr_dijkstranearcost', params2, subs2); +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); +SELECT finish(); +ROLLBACK; diff --git a/pgtap/dijkstra/dijkstraNearCost/types-check.sql b/pgtap/dijkstra/dijkstraNearCost/types-check.sql new file mode 100644 index 00000000000..a87d6573967 --- /dev/null +++ b/pgtap/dijkstra/dijkstraNearCost/types-check.sql @@ -0,0 +1,42 @@ +\i setup.sql + +SELECT plan(11); +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +SELECT has_function('pgr_dijkstranearcost'); + +SELECT has_function('pgr_dijkstranearcost', ARRAY['text','bigint','anyarray','boolean','bigint']); +SELECT has_function('pgr_dijkstranearcost', ARRAY['text','anyarray','bigint','boolean','bigint']); +SELECT has_function('pgr_dijkstranearcost', ARRAY['text','anyarray','anyarray','boolean','bigint','boolean']); +SELECT has_function('pgr_dijkstranearcost', ARRAY['text','text','boolean','bigint','boolean']); + +SELECT function_returns('pgr_dijkstranearcost', ARRAY['text','bigint','anyarray','boolean','bigint'], 'setof record'); +SELECT function_returns('pgr_dijkstranearcost', ARRAY['text','anyarray','bigint','boolean','bigint'], 'setof record'); +SELECT function_returns('pgr_dijkstranearcost', ARRAY['text','anyarray','anyarray','boolean','bigint','boolean'], 'setof record'); +SELECT function_returns('pgr_dijkstranearcost', ARRAY['text','text','boolean','bigint','boolean'], 'setof record'); + +-- parameter's names +SELECT set_eq( + $$SELECT proargnames from pg_proc where proname = 'pgr_dijkstranearcost'$$, + $$VALUES + ('{"","","","directed","cap","start_vid","end_vid","agg_cost"}'::TEXT[]), + ('{"","","","directed","cap","start_vid","end_vid","agg_cost"}'::TEXT[]), + ('{"","","","directed","cap","global","start_vid","end_vid","agg_cost"}'::TEXT[]), + ('{"","","directed","cap","global","start_vid","end_vid","agg_cost"}'::TEXT[]); + $$ +); + + +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_dijkstranearcost'$$, + $$VALUES + ('{25,2277,20,16,20,20,20,701}'::OID[]), + ('{25,25,16,20,16,20,20,701}'::OID[]), + ('{25,20,2277,16,20,20,20,701}'::OID[]), + ('{25,2277,2277,16,20,16,20,20,701}'::OID[]); +$$ +); + +SELECT * FROM finish(); +ROLLBACK; From 02d649fc8a063684118e538cea2b84da29ce9d86 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 16:52:35 -0500 Subject: [PATCH 0908/1360] [dijkstraNearCost][SQL] adding the signatures --- sql/dijkstra/CMakeLists.txt | 1 + sql/dijkstra/dijkstraNearCost.sql | 171 ++++++++++++++++++++++++++++++ sql/sigs/pgrouting--3.2.0.sig | 4 + 3 files changed, 176 insertions(+) create mode 100644 sql/dijkstra/dijkstraNearCost.sql diff --git a/sql/dijkstra/CMakeLists.txt b/sql/dijkstra/CMakeLists.txt index c7d9cbd9175..531fb7098e2 100644 --- a/sql/dijkstra/CMakeLists.txt +++ b/sql/dijkstra/CMakeLists.txt @@ -8,6 +8,7 @@ SET(LOCAL_FILES dijkstraVia.sql _dijkstraNear.sql dijkstraNear.sql + dijkstraNearCost.sql ) foreach (f ${LOCAL_FILES}) diff --git a/sql/dijkstra/dijkstraNearCost.sql b/sql/dijkstra/dijkstraNearCost.sql new file mode 100644 index 00000000000..b16703581cc --- /dev/null +++ b/sql/dijkstra/dijkstraNearCost.sql @@ -0,0 +1,171 @@ +/*PGR-GNU***************************************************************** + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +Copyright (c) 2020 Celia Virginia Vergara Castillo +mail: vicky_vergara@hotmail.com + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + ********************************************************************PGR-GNU*/ + +-------------------- +-- pgr_dijkstraNearCost +-------------------- + +-- ONE to MANY +CREATE OR REPLACE FUNCTION pgr_dijkstraNearCost( + TEXT, -- edges_sql (required) + BIGINT, -- from_vid (required) + ANYARRAY, -- to_vids (required) + + directed BOOLEAN DEFAULT true, + cap BIGINT DEFAULT 1, + + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT start_vid, end_vid, agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], $3::BIGINT[], directed, true, true, cap, true); +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + +-- MANY to ONE +CREATE OR REPLACE FUNCTION pgr_dijkstraNearCost( + TEXT, -- edges_sql (required) + ANYARRAY, -- from_vids (required) + BIGINT, -- to_vid (required) + + directed BOOLEAN DEFAULT true, + cap BIGINT DEFAULT 1, + + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT start_vid, end_vid, agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), $2::BIGINT[], ARRAY[$3]::BIGINT[], directed, true, false, cap, true); +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + +-- MANY to MANY +CREATE OR REPLACE FUNCTION pgr_dijkstraNearCost( + TEXT, -- edges_sql (required) + ANYARRAY, -- from_vids (required) + ANYARRAY, -- to_vids (required) + + directed BOOLEAN DEFAULT true, + cap BIGINT DEFAULT 1, + global BOOLEAN DEFAULT true, + + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT start_vid, end_vid, agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), $2::BIGINT[], $3::BIGINT[], directed, true, true, cap, global); +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + +-- Combinations SQL signature +CREATE OR REPLACE FUNCTION pgr_dijkstraNearCost( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + cap BIGINT DEFAULT 1, + global BOOLEAN DEFAULT true, + + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT start_vid, end_vid, agg_cost + FROM _pgr_dijkstra(_pgr_get_statement($1), _pgr_get_statement($2), directed, true, cap, global); +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + + +-- COMMENTS + +COMMENT ON FUNCTION pgr_dijkstraNearCost(TEXT, BIGINT, ANYARRAY, BOOLEAN, BIGINT) +IS 'pgr_dijkstraNearCost(One to Many) +- EXPERIMENTAL +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From vertex identifier + - To ARRAY[vertices identifiers] +- Optional Parameters + - directed => true + - cap => 1 (nth found) +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_dijkstraNearCost.html +'; + +COMMENT ON FUNCTION pgr_dijkstraNearCost(TEXT, ANYARRAY, BIGINT, BOOLEAN, BIGINT) +IS 'pgr_dijkstraNearCost(Many to One) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From ARRAY[vertices identifiers] + - To vertex identifier +- Optional Parameters + - directed => true + - cap => 1 (nth found) +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_dijkstraNearCost.html +'; + +COMMENT ON FUNCTION pgr_dijkstraNearCost(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, BIGINT, BOOLEAN) +IS 'pgr_dijkstraNearCost(Many to Many) +- EXPERIMENTAL +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From ARRAY[vertices identifiers] + - To ARRAY[vertices identifiers] +- Optional Parameters + - directed => true + - cap => 1 (nth found) +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_dijkstraNearCost.html +'; + +COMMENT ON FUNCTION pgr_dijkstraNearCost(TEXT, TEXT, BOOLEAN, BIGINT, BOOLEAN) +IS 'pgr_dijkstraNearCost(Combinations) +- EXPERIMENTAL +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Combinations SQL with columns: source, target +- Optional Parameters + - directed => true + - cap => 1 (nth found) +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_dijkstraNearCost.html +'; diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index 8e04549ecd9..7c70edb7978 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -91,6 +91,10 @@ pgr_dijkstracost(text,anyarray,bigint,boolean) pgr_dijkstracost(text,bigint,anyarray,boolean) pgr_dijkstracost(text,bigint,bigint,boolean) pgr_dijkstracost(text,text,boolean) +pgr_dijkstranearcost(text,anyarray,anyarray,boolean,bigint,boolean) +pgr_dijkstranearcost(text,anyarray,bigint,boolean,bigint) +pgr_dijkstranearcost(text,bigint,anyarray,boolean,bigint) +pgr_dijkstranearcost(text,text,boolean,bigint,boolean) _pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean) pgr_dijkstranear(text,anyarray,anyarray,boolean,bigint,boolean) _pgr_dijkstranear(text,anyarray,bigint,bigint,boolean) From 86364f86a03f5f309844e4c5c56df215b5a7ba12 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 12 Oct 2020 16:55:30 -0500 Subject: [PATCH 0909/1360] [dijkstraNearCost][doc] adding documentation --- doc/dijkstra/CMakeLists.txt | 1 + doc/dijkstra/dijkstra-family.rst | 2 + doc/dijkstra/pgr_dijkstraNear.rst | 1 + doc/dijkstra/pgr_dijkstraNearCost.rst | 256 ++++++++++++++++++ doc/src/experimental.rst | 6 + docqueries/dijkstra/CMakeLists.txt | 1 + .../dijkstra/doc-pgr_dijkstraNearCost.result | 58 ++++ .../doc-pgr_dijkstraNearCost.test.sql | 29 ++ 8 files changed, 354 insertions(+) create mode 100644 doc/dijkstra/pgr_dijkstraNearCost.rst create mode 100644 docqueries/dijkstra/doc-pgr_dijkstraNearCost.result create mode 100644 docqueries/dijkstra/doc-pgr_dijkstraNearCost.test.sql diff --git a/doc/dijkstra/CMakeLists.txt b/doc/dijkstra/CMakeLists.txt index 752f693df95..11fdc6468ac 100644 --- a/doc/dijkstra/CMakeLists.txt +++ b/doc/dijkstra/CMakeLists.txt @@ -6,6 +6,7 @@ SET(LOCAL_FILES pgr_dijkstra.rst pgr_dijkstraVia.rst pgr_dijkstraNear.rst + pgr_dijkstraNearCost.rst ) foreach (f ${LOCAL_FILES}) diff --git a/doc/dijkstra/dijkstra-family.rst b/doc/dijkstra/dijkstra-family.rst index b86f816a032..ed1abdd6594 100644 --- a/doc/dijkstra/dijkstra-family.rst +++ b/doc/dijkstra/dijkstra-family.rst @@ -42,6 +42,7 @@ Dijkstra - Family of functions .. index experimental from here * :doc:`pgr_dijkstraNear` - Get the route to the nearest vertex. +* :doc:`pgr_dijkstraNearCost` - Get the cost to the nearest vertex. .. index experimental to here @@ -55,6 +56,7 @@ Dijkstra - Family of functions pgr_KSP pgr_dijkstraVia pgr_dijkstraNear + pgr_dijkstraNearCost .. rubric:: Previous versions of this page diff --git a/doc/dijkstra/pgr_dijkstraNear.rst b/doc/dijkstra/pgr_dijkstraNear.rst index 1c8bbdeb15e..9b2a3d129b7 100644 --- a/doc/dijkstra/pgr_dijkstraNear.rst +++ b/doc/dijkstra/pgr_dijkstraNear.rst @@ -288,6 +288,7 @@ See Also ------------------------------------------------------------------------------- * :doc:`dijkstra-family` +* :doc:`pgr_dijkstraNearCost` * :doc:`sampledata` network. * boost: https://www.boost.org/libs/graph/doc/table_of_contents.html * Wikipedia: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm diff --git a/doc/dijkstra/pgr_dijkstraNearCost.rst b/doc/dijkstra/pgr_dijkstraNearCost.rst new file mode 100644 index 00000000000..b69ea4c397e --- /dev/null +++ b/doc/dijkstra/pgr_dijkstraNearCost.rst @@ -0,0 +1,256 @@ +.. + **************************************************************************** + pgRouting Manual + Copyright(c) pgRouting Contributors + + This documentation is licensed under a Creative Commons Attribution-Share + Alike 3.0 License: https://creativecommons.org/licenses/by-sa/3.0/ + **************************************************************************** + +pgr_dijkstraNearCost - Experimental +=============================================================================== + +``pgr_dijkstraNearCost`` — Using dijkstra algorithm, finds the route that leads to +the nearest vertex. + +.. include:: experimental.rst + :start-after: begin-warn-expr + :end-before: end-warn-expr + +.. figure:: images/boost-inside.jpeg + :target: https://www.boost.org/libs/graph/doc/table_of_contents.html + + Boost Graph Inside + +.. rubric:: Availability + +* Version 3.2.0 + + * New **experimental** function + +.. rubric:: Support + +* **Supported versions:** + current(`3.2 `__) + +Description +------------------------------------------------------------------------------- + +Given a graph, a starting vertex and a set of ending vertices, +this function finds the shortest path from the starting vertex to the nearest +ending vertex. + +Characteristics +............................................................................... + +.. include:: pgr_dijkstraNear.rst + :start-after: dijkstraNear characteristics start + :end-before: dijkstraNear characteristics end + +Signatures +------------------------------------------------------------------------------- + +.. rubric:: Summary + +.. code-block:: none + + pgr_dijkstraNearCost(Edges SQL, Start vid, End vids [, directed] [, cap]) + pgr_dijkstraNearCost(Edges SQL, Start vids, End vid [, directed] [, cap]) + pgr_dijkstraNearCost(Edges SQL, Start vids, End vids [, directed] [, cap], [global]) + pgr_dijkstraNearCost(Edges SQL, Combinations SQL [, directed] [, cap], [global]) + RETURNS SET OF (start_vid, end_vid, agg_cost) + OR EMPTY SET + +.. index:: + single: dijkstraNearCost(One to Many) - Experimental + +One to Many +............................................................................... + +.. code-block:: none + + pgr_dijkstraNearCost(Edges SQL, Start vid, End vids [, directed] [, cap]) + RETURNS SET OF (start_vid, end_vid, agg_cost) + OR EMPTY SET + +:Example: Departing on car from vertex :math:`2` find the nearest subway station. + +* Using a **directed** graph for car routing. +* The subway stations are on the following vertices :math:`\{ 3, 6, 7\}` +* The defaults used: + + * `directed => true` + * `cap => 1` + + +.. literalinclude:: doc-pgr_dijkstraNearCost.queries + :start-after: -- q1 + :end-before: -- q2 + :linenos: + +The result shows that station at vertex :math:`6` is the nearest. + +.. index:: + single: dijkstraNearCost(Many to One) - Experimental + +Many to One +............................................................................... + +.. code-block:: none + + pgr_dijkstraNearCost(Edges SQL, Start vids, End vid [, directed] [, cap]) + RETURNS SET OF (start_vid, end_vid, agg_cost) + OR EMPTY SET + +:Example: Departing on a car from a subway station find the nearest **two** + stations to vertex :math:`2` + +* Using a **directed** graph for car routing. +* The subway stations are on the following vertices :math:`\{ 3, 6, 7\}` +* On line `4`: using the positional parameter: `directed` set to ``true`` +* In line `5`: using named parameter `cap => 2` + +.. literalinclude:: doc-pgr_dijkstraNearCost.queries + :start-after: -- q2 + :end-before: -- q3 + :linenos: + +The result shows that station at vertex :math:`3` is the nearest and the next best +is :math:`6`. + +.. index:: + single: dijkstraNearCost(Many to Many) - Experimental + +Many to Many +............................................................................... + +.. code-block:: none + + pgr_dijkstraNearCost(Edges SQL, Start vids, End vids [, directed] [, cap], [global]) + RETURNS SET OF (start_vid, end_vid, agg_cost) + OR EMPTY SET + +:Example: Find the best pedestrian connection between two lines of buses + +* Unsing an **undirected** graph for pedestrian routing +* The first subway line stations stops are at :math:`\{3, 6, 7\}` +* The second subway line stations are at :math:`\{4, 9\}` +* On line `4`: using the named parameter: `directed => false` +* The defaults used: + + * `cap => 1` + * `global => true` + +.. literalinclude:: doc-pgr_dijkstraNearCost.queries + :start-after: -- q3 + :end-before: -- q4 + :linenos: + +For a pedestrian the best connection is to get on/off is at vertex :math:`3` of the +first subway line and at vertex :math:`4` of the second subway line. + +Only `one` route is returned because `global` is ``true`` and `cap` is ``1`` + +.. index:: + single: dijkstraNearCost(Combinations) - Experimental + +Combinations +............................................................................... + +.. code-block:: none + + pgr_dijkstraNearCost(Edges SQL, Combinations SQL [, directed] [, cap], [global]) + RETURNS SET OF (start_vid, end_vid, agg_cost) + OR EMPTY SET + +:Example: Find the best car connection between all the stations of two subway lines + +* Using a **directed** graph for car routing. +* The first subway line stations stops are at :math:`\{3, 6, 7\}` +* The second subway line stations are at :math:`\{4, 9\}` +* line `3` sets the start vertices to be from the fisrt subway line and the ending + vertices to be from the second subway line +* line `5` sets the start vertices to be from the first subway line and the ending + vertices to be from the first subway line +* On line `6`: using the named parameter is `global => false` +* The defaults used: + + * `directed => true` + * `cap => 1` + +.. literalinclude:: doc-pgr_dijkstraNearCost.queries + :start-after: -- q4 + :end-before: -- q5 + :linenos: + +From the results: + +* making a connection from the first subway line to the second: + + * :math:`{(3 -> 9) (6 -> 9) (7 -> 9)}` and the best one is :math:`(6 -> 9)` with a + cost of :math:`1` (line: `11`) + +* making a connection from the second subway line to the first: + + * :math:`{(4 -> 3) (9 -> 6)}` and both are equaly good as they have the same + cost. (lines: `10` and `12`) + + +Parameters +------------------------------------------------------------------------------- + +====================== ================== ======== ================================================= +Parameter Type Default Description +====================== ================== ======== ================================================= +**Edges SQL** ``TEXT`` `Edges query`_ as described below +**Combinations SQL** ``TEXT`` `Combinations query` as described below +**Start vid** ``BIGINT`` Identifier of the starting vertex of the path. +**Start vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. +**End vid** ``BIGINT`` Identifier of the ending vertex of the path. +**End vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. +**directed** ``BOOLEAN`` ``true`` - When ``true`` the graph is considered `Directed` + - When ``false`` the graph is considered as `Undirected`. +**cap** ``BIGINT`` 1 Find at most ``cap`` number of nearest shortest paths +**global** ``BOOLEAN`` ``true`` - When ``true``: only ``cap`` limit results will be returned + - When ``false``: ``cap`` limit per ``Start vid`` will be returned +====================== ================== ======== ================================================= + + +Inner query +------------------------------------------------------------------------------- + +Edges query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_edges_sql_start + :end-before: basic_edges_sql_end + +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + +Return Columns +------------------------------------------------------------------------------- + +.. include:: pgRouting-concepts.rst + :start-after: return_cost_start + :end-before: return_cost_end + +See Also +------------------------------------------------------------------------------- + +* :doc:`dijkstra-family` +* :doc:`pgr_dijkstraNear` +* :doc:`sampledata` network. +* boost: https://www.boost.org/libs/graph/doc/table_of_contents.html +* Wikipedia: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm + +.. rubric:: Indices and tables + +* :ref:`genindex` +* :ref:`search` + diff --git a/doc/src/experimental.rst b/doc/src/experimental.rst index 5ff1ef56d6d..6159250481f 100644 --- a/doc/src/experimental.rst +++ b/doc/src/experimental.rst @@ -79,6 +79,12 @@ Experimental Functions :start-after: index experimental from here :end-before: index experimental to here +:doc:`dijkstra-family` + +.. include:: dijkstra-family.rst + :start-after: index experimental from here + :end-before: index experimental to here + .. toctree:: :hidden: diff --git a/docqueries/dijkstra/CMakeLists.txt b/docqueries/dijkstra/CMakeLists.txt index f81557cf62b..adbd76099ec 100644 --- a/docqueries/dijkstra/CMakeLists.txt +++ b/docqueries/dijkstra/CMakeLists.txt @@ -5,6 +5,7 @@ SET(LOCAL_FILES doc-pgr_dijkstra doc-pgr_dijkstraVia doc-pgr_dijkstraNear + doc-pgr_dijkstraNearCost ) foreach (f ${LOCAL_FILES}) diff --git a/docqueries/dijkstra/doc-pgr_dijkstraNearCost.result b/docqueries/dijkstra/doc-pgr_dijkstraNearCost.result new file mode 100644 index 00000000000..c034e4e093a --- /dev/null +++ b/docqueries/dijkstra/doc-pgr_dijkstraNearCost.result @@ -0,0 +1,58 @@ +BEGIN; +BEGIN +SET client_min_messages TO NOTICE; +SET +-- q1 +SELECT * FROM pgr_dijkstraNearCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 2, ARRAY[3, 6, 7] +); + start_vid | end_vid | agg_cost +-----------+---------+---------- + 2 | 6 | 2 +(1 row) + +-- q2 +SELECT * FROM pgr_dijkstraNearCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + ARRAY[3, 6, 7], 2, + true, + cap => 2 +); + start_vid | end_vid | agg_cost +-----------+---------+---------- + 3 | 2 | 1 + 6 | 2 | 2 +(2 rows) + +-- q3 +SELECT * FROM pgr_dijkstraNearCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + ARRAY[4, 9], ARRAY[3, 6, 7], + directed => false +); + start_vid | end_vid | agg_cost +-----------+---------+---------- + 4 | 3 | 1 +(1 row) + +-- q4 +SELECT * FROM pgr_dijkstraNearCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT unnest(ARRAY[3, 6, 7]) as source, target FROM (SELECT unnest(ARRAY[4, 9]) AS target) a + UNION + SELECT unnest(ARRAY[4, 9]), target FROM (SELECT unnest(ARRAY[3, 6, 7]) AS target) b', + global => false +); + start_vid | end_vid | agg_cost +-----------+---------+---------- + 4 | 3 | 1 + 6 | 9 | 1 + 9 | 6 | 1 + 3 | 9 | 2 + 7 | 9 | 4 +(5 rows) + +-- q5 +ROLLBACK; +ROLLBACK diff --git a/docqueries/dijkstra/doc-pgr_dijkstraNearCost.test.sql b/docqueries/dijkstra/doc-pgr_dijkstraNearCost.test.sql new file mode 100644 index 00000000000..f2d1d9f1c27 --- /dev/null +++ b/docqueries/dijkstra/doc-pgr_dijkstraNearCost.test.sql @@ -0,0 +1,29 @@ + +\echo -- q1 +SELECT * FROM pgr_dijkstraNearCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 2, ARRAY[3, 6, 7] +); + +\echo -- q2 +SELECT * FROM pgr_dijkstraNearCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + ARRAY[3, 6, 7], 2, + true, + cap => 2 +); +\echo -- q3 +SELECT * FROM pgr_dijkstraNearCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + ARRAY[4, 9], ARRAY[3, 6, 7], + directed => false +); +\echo -- q4 +SELECT * FROM pgr_dijkstraNearCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT unnest(ARRAY[3, 6, 7]) as source, target FROM (SELECT unnest(ARRAY[4, 9]) AS target) a + UNION + SELECT unnest(ARRAY[4, 9]), target FROM (SELECT unnest(ARRAY[3, 6, 7]) AS target) b', + global => false +); +\echo -- q5 From e979f538601a75598869d1f8ab70bb4a490f1faa Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 13 Oct 2020 08:52:30 -0500 Subject: [PATCH 0910/1360] [news] adding release notes and news --- NEWS | 8 ++++++++ doc/src/release_notes.rst | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/NEWS b/NEWS index 41660bd06bb..37b1738dcea 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,14 @@ pgRouting 3.2.0 Release Notes *New experimental functions* * pgr_depthFirstSearch +* pgr_dijkstraNear(One to Many) +* pgr_dijkstraNear(Many to One) +* pgr_dijkstraNear(Many to Many) +* pgr_dijkstraNear(Combinations) +* pgr_dijkstraNearCost(One to Many) +* pgr_dijkstraNearCost(Many to One) +* pgr_dijkstraNearCost(Many to Many) +* pgr_dijkstraNearCost(Combinations) * pgr_isPlanar * pgr_makeConnected * pgr_sequentialVertexColoring diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 432c38fd9b5..8ec9e07074e 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -62,6 +62,14 @@ pgRouting 3.2.0 Release Notes .. rubric:: New experimental functions * pgr_depthFirstSearch +* pgr_dijkstraNear(One to Many) +* pgr_dijkstraNear(Many to One) +* pgr_dijkstraNear(Many to Many) +* pgr_dijkstraNear(Combinations) +* pgr_dijkstraNearCost(One to Many) +* pgr_dijkstraNearCost(Many to One) +* pgr_dijkstraNearCost(Many to Many) +* pgr_dijkstraNearCost(Combinations) * pgr_isPlanar * pgr_makeConnected * pgr_sequentialVertexColoring From 2dbc531858713f63c7c5afe7e8ce1f9980d0ecef Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 13 Oct 2020 09:03:30 -0500 Subject: [PATCH 0911/1360] [links] ignoring links of non existing doc on website --- doc/conf.py.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/conf.py.in b/doc/conf.py.in index 876046a23ad..523ed804620 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -297,6 +297,8 @@ pdf_style_path = ['.', '_styles'] # cases to ignore during link checking linkcheck_ignore = [ # might not exist yet (we are generating it!) + 'https://docs.pgrouting.org/3.2/en/pgr_dijkstraNear.html', + 'https://docs.pgrouting.org/3.2/en/pgr_dijkstraNearCost.html', # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected # (see: https://github.com/sphinx-doc/sphinx/issues/7388) From c8280bbba55e4c7bc532d535bcd066d8cbb6e241 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 13 Oct 2020 16:51:47 -0500 Subject: [PATCH 0912/1360] [dijkstra] cleaner messages for DEBUG --- src/common/arrays_input.c | 1 - src/common/edges_input.c | 7 +------ src/common/get_check_data.c | 1 - src/common/time_msg.c | 2 +- src/dijkstra/dijkstra.c | 32 ++++++++++++++++++++++---------- src/dijkstra/dijkstra_driver.cpp | 11 +---------- 6 files changed, 25 insertions(+), 29 deletions(-) diff --git a/src/common/arrays_input.c b/src/common/arrays_input.c index 97a7cdcf1d7..af11a6fbee2 100644 --- a/src/common/arrays_input.c +++ b/src/common/arrays_input.c @@ -115,7 +115,6 @@ pgr_get_bigIntArr(ArrayType *v, size_t *arrlen, bool allow_empty) { pfree(elements); pfree(nulls); - PGR_DBG("Array size %ld", (*arrlen)); time_msg("reading Array", start_t, clock()); return c_array; } diff --git a/src/common/edges_input.c b/src/common/edges_input.c index 47efaea1811..cd603d5d48c 100644 --- a/src/common/edges_input.c +++ b/src/common/edges_input.c @@ -300,7 +300,6 @@ get_edges_9_columns( } (*total_edges) = total_tuples; - PGR_DBG("Finish reading %ld edges", total_tuples); time_msg("reading edges", start_t, clock()); } @@ -399,7 +398,6 @@ get_edges_5_columns( } (*totalTuples) = total_tuples; - PGR_DBG("Reading %ld edges", total_tuples); time_msg("reading edges", start_t, clock()); } @@ -492,8 +490,7 @@ get_edges_flow( } (*totalTuples) = total_tuples; - PGR_DBG("Reading %ld edges", total_tuples); - time_msg("reading edges", start_t, clock()); + time_msg("Reading edges", start_t, clock()); } static @@ -591,7 +588,6 @@ get_edges_costFlow( } (*totalTuples) = total_tuples; - PGR_DBG("Reading %ld edges", total_tuples); time_msg("reading edges", start_t, clock()); } @@ -687,7 +683,6 @@ get_edges_basic( } (*totalTuples) = total_tuples; - PGR_DBG("Reading %ld edges", total_tuples); time_msg("reading edges", start_t, clock()); } diff --git a/src/common/get_check_data.c b/src/common/get_check_data.c index 879eb4da4da..78afdab422b 100644 --- a/src/common/get_check_data.c +++ b/src/common/get_check_data.c @@ -61,7 +61,6 @@ fetch_column_info( * [SPI_gettypeid](https://www.postgresql.org/docs/9.1/static/spi-spi-gettypeid.html) */ (info->type) = SPI_gettypeid(SPI_tuptable->tupdesc, (info->colNumber)); - PGR_DBG("%s %ld", info->name, info->type); if (SPI_result == SPI_ERROR_NOATTRIBUTE) { elog(ERROR, "Type of column '%s' not Found", info->name); } diff --git a/src/common/time_msg.c b/src/common/time_msg.c index bb7c0878602..b96fa9c5f5c 100644 --- a/src/common/time_msg.c +++ b/src/common/time_msg.c @@ -32,7 +32,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. void time_msg(char *msg, clock_t start_t, clock_t end_t) { double elapsed_t = (double)(end_t - start_t) / CLOCKS_PER_SEC; elog(DEBUG2, - "Elapsed time for %s:\n %lf sec = (%lf - %f) / CLOCKS_PER_SEC ", + "Elapsed time for %s: %lf sec = (%lf - %f) / CLOCKS_PER_SEC ", msg, elapsed_t, (double) end_t, diff --git a/src/dijkstra/dijkstra.c b/src/dijkstra/dijkstra.c index 81835cf7b9e..29d72754454 100644 --- a/src/dijkstra/dijkstra.c +++ b/src/dijkstra/dijkstra.c @@ -64,7 +64,6 @@ process( bool global, General_path_element_t **result_tuples, size_t *result_count) { - PGR_DBG("directed %d only_cost %d normal %d n_goals %ld", directed, only_cost, normal, n_goals); pgr_SPI_connect(); int64_t* start_vidsArr = NULL; @@ -96,7 +95,6 @@ process( return; } - PGR_DBG("Starting timer"); clock_t start_t = clock(); char* log_msg = NULL; char* notice_msg = NULL; @@ -120,10 +118,18 @@ process( &err_msg); if (only_cost) { - time_msg("processing pgr_dijkstraCost", start_t, clock()); + if (n_goals > 0) { + time_msg("processing pgr_dijkstraNearCost", start_t, clock()); + } else { + time_msg("processing pgr_dijkstraCost", start_t, clock()); + }; } else { - time_msg("processing pgr_dijkstra", start_t, clock()); - } + if (n_goals > 0) { + time_msg("processing pgr_dijkstraNear", start_t, clock()); + } else { + time_msg("processing pgr_dijkstra", start_t, clock()); + }; + }; if (err_msg && (*result_tuples)) { @@ -177,7 +183,6 @@ process_combinations( return; } - PGR_DBG("Starting timer"); clock_t start_t = clock(); char* log_msg = NULL; char* notice_msg = NULL; @@ -199,11 +204,18 @@ process_combinations( &err_msg); if (only_cost) { - time_msg("processing pgr_dijkstraCost", start_t, clock()); + if (n_goals > 0) { + time_msg("Processing pgr_dijkstraNearCost", start_t, clock()); + } else { + time_msg("Processing pgr_dijkstraCost", start_t, clock()); + }; } else { - time_msg("processing pgr_dijkstra", start_t, clock()); - } - + if (n_goals > 0) { + time_msg("Processing pgr_dijkstraNear", start_t, clock()); + } else { + time_msg("Processing pgr_dijkstra", start_t, clock()); + }; + }; if (err_msg && (*result_tuples)) { pfree(*result_tuples); diff --git a/src/dijkstra/dijkstra_driver.cpp b/src/dijkstra/dijkstra_driver.cpp index 99e0ecd4b04..9472663404a 100644 --- a/src/dijkstra/dijkstra_driver.cpp +++ b/src/dijkstra/dijkstra_driver.cpp @@ -185,7 +185,6 @@ do_pgr_many_to_many_dijkstra( graphType gType = directed? DIRECTED: UNDIRECTED; - log << "Inserting vertices into a c++ vector structure"; std::vector start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); std::vector< int64_t > @@ -195,7 +194,6 @@ do_pgr_many_to_many_dijkstra( std::deque< Path >paths; if (directed) { - log << "\nWorking with directed Graph"; pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); paths = detail::pgr_dijkstra( @@ -203,7 +201,6 @@ do_pgr_many_to_many_dijkstra( start_vertices, end_vertices, only_cost, normal, n, global); } else { - log << "\nWorking with Undirected Graph"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); paths = detail::pgr_dijkstra( @@ -225,7 +222,6 @@ do_pgr_many_to_many_dijkstra( } (*return_tuples) = pgr_alloc(count, (*return_tuples)); - log << "\nConverting a set of paths into the tuples"; (*return_count) = (collapse_paths(return_tuples, paths)); *log_msg = log.str().empty()? @@ -293,7 +289,6 @@ do_pgr_combinations_dijkstra( graphType gType = directed? DIRECTED: UNDIRECTED; - log << "Inserting combinations into a c++ vector structure"; std::vector combinations_vector(combinations, combinations + total_combinations); @@ -301,7 +296,6 @@ do_pgr_combinations_dijkstra( std::deque< Path >paths; if (directed) { - log << "\nWorking with directed Graph"; pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); paths = detail::pgr_dijkstra( @@ -309,7 +303,6 @@ do_pgr_combinations_dijkstra( combinations_vector, only_cost, normal, n, global); } else { - log << "\nWorking with Undirected Graph"; pgrouting::UndirectedGraph undigraph(gType); undigraph.insert_edges(data_edges, total_edges); paths = detail::pgr_dijkstra( @@ -324,14 +317,12 @@ do_pgr_combinations_dijkstra( if (count == 0) { (*return_tuples) = NULL; (*return_count) = 0; - notice << - "No paths found"; + notice << "No paths found"; *log_msg = pgr_msg(notice.str().c_str()); return; } (*return_tuples) = pgr_alloc(count, (*return_tuples)); - log << "\nConverting a set of paths into the tuples"; (*return_count) = (collapse_paths(return_tuples, paths)); *log_msg = log.str().empty()? From 5c5058591badf319801e4ef8c97c1398986fe312 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 21 Oct 2020 23:01:11 +0530 Subject: [PATCH 0913/1360] Fixing issue 1616 on withPoints --- src/withPoints/withPoints_driver.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/withPoints/withPoints_driver.cpp b/src/withPoints/withPoints_driver.cpp index ce95f31670c..9e1d138f697 100644 --- a/src/withPoints/withPoints_driver.cpp +++ b/src/withPoints/withPoints_driver.cpp @@ -68,6 +68,11 @@ pgr_dijkstra( path.reverse(); } } + if (!only_cost) { + for (auto &p : paths) { + p.recalculate_agg_cost(); + } + } return paths; } From 0aadcdfa66f2c3712eab0b3a97149bc075eed2c9 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 4 Nov 2020 23:02:21 +0530 Subject: [PATCH 0914/1360] Fix issue 1640 pgr_withPoints (#1641) * [withPoints] Added pgtap tests to compare with dijkstra * [withPoints] Created pgTAP tests for issue1640 * [withPoints] Fixed the issue --- pgtap/withPoints/issue1640.sql | 25 +++++ ...hPoints_oneToOne-compare-dijkstra.test.sql | 98 +++++++++++++++++++ src/withPoints/withPoints_driver.cpp | 1 - 3 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 pgtap/withPoints/issue1640.sql create mode 100644 pgtap/withPoints/withPoints_oneToOne-compare-dijkstra.test.sql diff --git a/pgtap/withPoints/issue1640.sql b/pgtap/withPoints/issue1640.sql new file mode 100644 index 00000000000..c3818210a6a --- /dev/null +++ b/pgtap/withPoints/issue1640.sql @@ -0,0 +1,25 @@ +\i setup.sql + +SELECT plan(4); + +PREPARE q1 AS +SELECT * FROM pgr_withPoints ( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT pid, edge_id, fraction FROM pointsOfInterest WHERE pid IN (-1)', + 1, -2 +); + +SELECT * FROM lives_ok('q1'); +SELECT * FROM is_empty('q1'); + +PREPARE q2 AS +SELECT * FROM pgr_withPoints ( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT pid, edge_id, fraction FROM pointsOfInterest WHERE pid IN (-1)', + 1, 2 +); + +SELECT * FROM lives_ok('q2'); +SELECT * FROM isnt_empty('q2'); + +SELECT finish(); diff --git a/pgtap/withPoints/withPoints_oneToOne-compare-dijkstra.test.sql b/pgtap/withPoints/withPoints_oneToOne-compare-dijkstra.test.sql new file mode 100644 index 00000000000..5d900a8e967 --- /dev/null +++ b/pgtap/withPoints/withPoints_oneToOne-compare-dijkstra.test.sql @@ -0,0 +1,98 @@ +/*PGR-GNU***************************************************************** + +Copyright (c) 2020 pgRouting developers +Mail: project@pgrouting.org + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +********************************************************************PGR-GNU*/ + +\i setup.sql + +SELECT plan(1156); + +SET extra_float_digits = -3; + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +CREATE or REPLACE FUNCTION withPointsCompareDijkstra(cant INTEGER default 17) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +inner_sql TEXT; +points_sql TEXT; +dijkstra_sql TEXT; +withPoints_sql TEXT; +result_columns TEXT; +BEGIN + result_columns := 'seq, path_seq, node, edge, cost, agg_cost'; + points_sql := 'SELECT pid, edge_id, fraction, side from pointsOfInterest WHERE pid IN (-1)'; + + FOR i IN 1.. cant LOOP + FOR j IN 1.. cant LOOP + + -- DIRECTED WITH REVERSE COST + inner_sql := 'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table'; + dijkstra_sql := 'SELECT ' || result_columns || ' FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j + || ', directed => true)'; + + withPoints_sql := 'SELECT ' || result_columns || ' FROM pgr_withPoints($$' || inner_sql || '$$, $$' || points_sql + || '$$, ' || i || ', ' || j || ', directed => true)'; + RETURN query SELECT set_eq(withPoints_sql, dijkstra_sql, withPoints_sql); + + -- DIRECTED WITHOUT REVERSE COST + inner_sql := 'SELECT id, source, target, cost, x1, y1, x2, y2 FROM edge_table'; + dijkstra_sql := 'SELECT ' || result_columns || ' FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j + || ', directed => true)'; + + withPoints_sql := 'SELECT ' || result_columns || ' FROM pgr_withPoints($$' || inner_sql || '$$, $$' || points_sql + || '$$, ' || i || ', ' || j || ', directed => true)'; + RETURN query SELECT set_eq(withPoints_sql, dijkstra_sql, withPoints_sql); + + + -- UNDIRECTED WITH REVERSE COST + inner_sql := 'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table'; + dijkstra_sql := 'SELECT ' || result_columns || ' FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j + || ', directed => false)'; + + withPoints_sql := 'SELECT ' || result_columns || ' FROM pgr_withPoints($$' || inner_sql || '$$, $$' || points_sql + || '$$, ' || i || ', ' || j || ', directed => false)'; + RETURN query SELECT set_eq(withPoints_sql, dijkstra_sql, withPoints_sql); + + -- UNDIRECTED WITHOUT REVERSE COST + inner_sql := 'SELECT id, source, target, cost, x1, y1, x2, y2 FROM edge_table'; + dijkstra_sql := 'SELECT ' || result_columns || ' FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j + || ', directed => false)'; + + withPoints_sql := 'SELECT ' || result_columns || ' FROM pgr_withPoints($$' || inner_sql || '$$, $$' || points_sql + || '$$, ' || i || ', ' || j || ', directed => false)'; + RETURN query SELECT set_eq(withPoints_sql, dijkstra_sql, withPoints_sql); + + END LOOP; + END LOOP; + + RETURN; +END +$BODY$ +language plpgsql; + +SELECT * from withPointsCompareDijkstra(); + + +SELECT * FROM finish(); +ROLLBACK; + diff --git a/src/withPoints/withPoints_driver.cpp b/src/withPoints/withPoints_driver.cpp index 9e1d138f697..994afc4f433 100644 --- a/src/withPoints/withPoints_driver.cpp +++ b/src/withPoints/withPoints_driver.cpp @@ -113,7 +113,6 @@ do_pgr_withPoints( pgassert(!(*return_tuples)); pgassert((*return_count) == 0); pgassert(edges || edges_of_points); - pgassert(points_p); pgassert(start_pidsArr); pgassert(end_pidsArr); From 793ae655667d763eb839c20c5e36f918e1596e2b Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:11 +0000 Subject: [PATCH 0915/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_TSPeuclidean.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_TSPeuclidean.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po b/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po index 6a98f2253e3..398a5f9ba05 100644 --- a/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po +++ b/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:27+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -380,7 +380,7 @@ msgstr "Secuencia de filas." #: ../../build/doc/TSP-family.rst:9 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/TSP-family.rst:9 msgid "Identifier of the node/coordinate/point." @@ -388,7 +388,7 @@ msgstr "Identificador del nodo/coordenada/punto." #: ../../build/doc/TSP-family.rst:10 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/TSP-family.rst:11 msgid "" @@ -436,7 +436,7 @@ msgstr "Las consultas utilizan la red :doc:`sampledata` ." #: ../../build/doc/pgr_TSPeuclidean.rst:129 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_TSPeuclidean.rst:131 msgid ":doc:`TSP-family`" @@ -473,8 +473,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_TSPeuclidean.rst:138 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_TSPeuclidean.rst:139 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From b17b277c923f4f939e3e407eefd39167d65f65ec Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:16 +0000 Subject: [PATCH 0916/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po index ec63792cb18..ff5cf632fde 100644 --- a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po +++ b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:27+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -39,7 +39,7 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:19 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/experimental.rst:3 msgid "Possible server crash" @@ -432,7 +432,7 @@ msgstr "" #: ../../build/doc/flow-family.rst:12 ../../build/doc/flow-family.rst:17 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/flow-family.rst:17 ../../build/doc/flow-family.rst:18 msgid "``ANY-NUMERICAL``" @@ -492,7 +492,7 @@ msgstr "Valor secuencial a partir de **1**." #: ../../build/doc/flow-family.rst:7 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/flow-family.rst:7 msgid "Identifier of the edge in the original query(edges_sql)." @@ -536,7 +536,7 @@ msgstr "El costo agregado." #: ../../build/doc/pgr_maxFlowMinCost.rst:163 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_maxFlowMinCost.rst:165 msgid ":doc:`flow-family`" @@ -554,8 +554,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_maxFlowMinCost.rst:170 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_maxFlowMinCost.rst:171 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 12d65763610c88a1f0df49de5318c95e034d532e Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:20 +0000 Subject: [PATCH 0917/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_drivingDistance.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_drivingDistance.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_drivingDistance.po b/locale/es/LC_MESSAGES/pgr_drivingDistance.po index a56383e2b8b..4fc5181035d 100644 --- a/locale/es/LC_MESSAGES/pgr_drivingDistance.po +++ b/locale/es/LC_MESSAGES/pgr_drivingDistance.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2019 # Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: Vicky Vergara , 2020\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -293,7 +293,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_drivingDistance.rst:131 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -454,11 +454,11 @@ msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig4`" #: ../../build/doc/pgr_drivingDistance.rst:172 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_drivingDistance.rst:174 msgid ":doc:`pgr_alphaShape` - Alpha shape computation" -msgstr ":doc:`pgr_alphaShape` - Cálculo de Alpha Shape" +msgstr ":doc:`pgr_alphaShape` - Cálculo de la forma Alpha" #: ../../build/doc/pgr_drivingDistance.rst:175 msgid ":doc:`sampledata` network." @@ -470,8 +470,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_drivingDistance.rst:179 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_drivingDistance.rst:180 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 4d116bb31cc27d7157fb20383ef587861b60f565 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:22 +0000 Subject: [PATCH 0918/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/experimental.po' on the 'es' language. --- locale/es/LC_MESSAGES/experimental.po | 102 ++++++++++++++------------ 1 file changed, 55 insertions(+), 47 deletions(-) diff --git a/locale/es/LC_MESSAGES/experimental.po b/locale/es/LC_MESSAGES/experimental.po index 3d67a6ca69a..83ffce5787f 100644 --- a/locale/es/LC_MESSAGES/experimental.po +++ b/locale/es/LC_MESSAGES/experimental.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-beta +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# Celia Virginia Vergara Castillo , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-beta\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-07 12:09-0500\n" -"PO-Revision-Date: 2019-09-07 19:11+0000\n" -"Last-Translator: MarPetra , 2019\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,71 +29,79 @@ msgid "Experimental Functions" msgstr "Funciones Experimentales" #: ../../build/doc/experimental.rst:14 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:16 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:18 msgid "Experimental functions" msgstr "Funciones experimentales" -#: ../../build/doc/experimental.rst:16 +#: ../../build/doc/experimental.rst:20 msgid "They are not officially of the current release." msgstr "No son oficialmente de la versión actual." -#: ../../build/doc/experimental.rst:17 +#: ../../build/doc/experimental.rst:21 msgid "They likely will not be officially be part of the next release:" msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" -#: ../../build/doc/experimental.rst:19 +#: ../../build/doc/experimental.rst:23 msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" -#: ../../build/doc/experimental.rst:20 +#: ../../build/doc/experimental.rst:24 msgid "Name might change." msgstr "El nombre puede cambiar." -#: ../../build/doc/experimental.rst:21 +#: ../../build/doc/experimental.rst:25 msgid "Signature might change." msgstr "La firma (declaración de funciones) podría cambiar." -#: ../../build/doc/experimental.rst:22 +#: ../../build/doc/experimental.rst:26 msgid "Functionality might change." msgstr "La funcionalidad puede cambiar." -#: ../../build/doc/experimental.rst:23 +#: ../../build/doc/experimental.rst:27 msgid "pgTap tests might be missing." msgstr "Las pruebas de pgTap pueden estar ausentes." -#: ../../build/doc/experimental.rst:24 +#: ../../build/doc/experimental.rst:28 msgid "Might need c/c++ coding." msgstr "Posiblemente necesite codificación c/c++." -#: ../../build/doc/experimental.rst:25 +#: ../../build/doc/experimental.rst:29 msgid "May lack documentation." msgstr "Puede haber carencia de documentación." -#: ../../build/doc/experimental.rst:26 +#: ../../build/doc/experimental.rst:30 msgid "Documentation if any might need to be rewritten." msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." -#: ../../build/doc/experimental.rst:27 +#: ../../build/doc/experimental.rst:31 msgid "Documentation examples might need to be automatically generated." msgstr "" "Ejemplos de documentación que puede ser necesario generar automáticamente." -#: ../../build/doc/experimental.rst:28 +#: ../../build/doc/experimental.rst:32 msgid "Might need a lot of feedback from the comunity." msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." -#: ../../build/doc/experimental.rst:29 +#: ../../build/doc/experimental.rst:33 msgid "Might depend on a proposed function of pgRouting" msgstr "Puede depender de una función propuesta de pgRouting." -#: ../../build/doc/experimental.rst:30 +#: ../../build/doc/experimental.rst:34 msgid "Might depend on a deprecated function of pgRouting" msgstr "Podría depender de una función obsoleta de pgRouting" -#: ../../build/doc/experimental.rst:35 +#: ../../build/doc/experimental.rst:39 msgid "Families" msgstr "Familias" -#: ../../build/doc/experimental.rst:36 +#: ../../build/doc/experimental.rst:40 msgid ":doc:`flow-family`" msgstr ":doc:`flow-family`" @@ -106,7 +114,7 @@ msgstr "" msgid ":doc:`pgr_maxFlowMinCost_Cost` - Only the Min Cost calculation." msgstr ":doc:`pgr_maxFlowMinCost_Cost` - Solo el cálculo del Coste Mínimo." -#: ../../build/doc/experimental.rst:42 +#: ../../build/doc/experimental.rst:46 msgid ":doc:`chinesePostmanProblem-family`" msgstr ":doc:`chinesePostmanProblem-family`" @@ -118,7 +126,7 @@ msgstr ":doc:`pgr_chinesePostman`" msgid ":doc:`pgr_chinesePostmanCost`" msgstr ":doc:`pgr_chinesePostmanCost`" -#: ../../build/doc/experimental.rst:48 +#: ../../build/doc/experimental.rst:52 msgid ":doc:`topology-functions`" msgstr ":doc:`topology-functions`" @@ -130,7 +138,7 @@ msgstr "" ":doc:`pgr_extractVertices` - extrae información de vértices basada en el " "origen y el destino." -#: ../../build/doc/experimental.rst:54 +#: ../../build/doc/experimental.rst:58 msgid ":doc:`transformation-family`" msgstr ":doc:`transformation-family`" @@ -149,11 +157,11 @@ msgstr "" ":doc:`pgr_lineGraphFull` - Algoritmo de transformación para generar un " "grafo de líneas a partir de cada vértice en el grafo de entrada." -#: ../../build/doc/experimental.rst:66 +#: ../../build/doc/experimental.rst:70 msgid "categories" msgstr "Categorías" -#: ../../build/doc/experimental.rst:67 +#: ../../build/doc/experimental.rst:71 msgid ":doc:`VRP-category`" msgstr ":doc:`VRP-category`" @@ -182,58 +190,58 @@ msgid ":doc:`pgr_vrpOneDepot` - From a single depot, distributes orders" msgstr "" ":doc:`pgr_vrpOneDepot` - Desde un único depósito, distribuye los pedidos" -#: ../../build/doc/experimental.rst:79 +#: ../../build/doc/experimental.rst:83 msgid "Not classified" msgstr "No clasificado" -#: ../../build/doc/experimental.rst:80 +#: ../../build/doc/experimental.rst:84 msgid ":doc:`pgr_bellmanFord`" msgstr ":doc:`pgr_bellmanFord`" -#: ../../build/doc/experimental.rst:81 +#: ../../build/doc/experimental.rst:85 msgid ":doc:`pgr_binaryBreadthFirstSearch`" msgstr ":doc:`pgr_binaryBreadthFirstSearch`" -#: ../../build/doc/experimental.rst:82 +#: ../../build/doc/experimental.rst:86 msgid ":doc:`pgr_breadthFirstSearch`" msgstr ":doc:`pgr_breadthFirstSearch`" -#: ../../build/doc/experimental.rst:83 +#: ../../build/doc/experimental.rst:87 msgid ":doc:`pgr_dagShortestPath`" msgstr ":doc:`pgr_dagShortestPath`" -#: ../../build/doc/experimental.rst:84 +#: ../../build/doc/experimental.rst:88 msgid ":doc:`pgr_edwardMoore`" msgstr ":doc:`pgr_edwardMoore`" -#: ../../build/doc/experimental.rst:85 +#: ../../build/doc/experimental.rst:89 msgid ":doc:`pgr_stoerWagner`" msgstr ":doc:`pgr_stoerWagner`" -#: ../../build/doc/experimental.rst:86 +#: ../../build/doc/experimental.rst:90 msgid ":doc:`pgr_topologicalSort`" msgstr ":doc:`pgr_topologicalSort`" -#: ../../build/doc/experimental.rst:87 +#: ../../build/doc/experimental.rst:91 msgid ":doc:`pgr_transitiveClosure`" msgstr ":doc:`pgr_transitiveClosure`" -#: ../../build/doc/experimental.rst:88 +#: ../../build/doc/experimental.rst:92 msgid ":doc:`pgr_turnRestrictedPath`" msgstr ":doc:`pgr_turnRestrictedPath`" -#: ../../build/doc/experimental.rst:105 +#: ../../build/doc/experimental.rst:109 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" -#: ../../build/doc/experimental.rst:108 +#: ../../build/doc/experimental.rst:112 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/experimental.rst:109 +#: ../../build/doc/experimental.rst:113 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" -#: ../../build/doc/experimental.rst:110 +#: ../../build/doc/experimental.rst:114 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 05aa9448e660d18df62473dc1c9e382d697a2d1e Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:26 +0000 Subject: [PATCH 0919/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_dijkstraVia.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_dijkstraVia.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_dijkstraVia.po b/locale/es/LC_MESSAGES/pgr_dijkstraVia.po index dc467e87e99..45824900ee5 100644 --- a/locale/es/LC_MESSAGES/pgr_dijkstraVia.po +++ b/locale/es/LC_MESSAGES/pgr_dijkstraVia.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -74,7 +74,7 @@ msgstr "Es posible que la documentación necesite un refinamiento." #: ../../build/doc/pgr_dijkstraVia.rst:23 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_dijkstraVia.rst:26 msgid "Availability" @@ -331,7 +331,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_dijkstraVia.rst:125 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -450,7 +450,7 @@ msgstr "Identificador del vértice final de la ruta." #: ../../build/doc/pgr_dijkstraVia.rst:123 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_dijkstraVia.rst:123 msgid "Identifier of the node in the path from start_vid to end_vid." @@ -458,7 +458,7 @@ msgstr "Identificador del nodo en la ruta de start_vid a end_vid." #: ../../build/doc/pgr_dijkstraVia.rst:124 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgr_dijkstraVia.rst:124 msgid "" @@ -572,7 +572,7 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:169 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_dijkstraVia.rst:171 #, python-format @@ -589,8 +589,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_dijkstraVia.rst:176 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_dijkstraVia.rst:177 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From b812e21121bb271054e9b1bc35f24f977ab6ea37 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:31 +0000 Subject: [PATCH 0920/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_contraction.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_contraction.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_contraction.po b/locale/es/LC_MESSAGES/pgr_contraction.po index c82e5f04677..dfab24c1cf1 100644 --- a/locale/es/LC_MESSAGES/pgr_contraction.po +++ b/locale/es/LC_MESSAGES/pgr_contraction.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_contraction.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_contraction.rst:21 msgid "Availability" @@ -531,7 +531,7 @@ msgstr "Sólo contracción lineal" #: ../../build/doc/pgr_contraction.rst:173 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_contraction.rst:175 msgid ":doc:`contraction-family`" @@ -543,8 +543,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_contraction.rst:179 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_contraction.rst:180 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 3aba82db4ae055cd58da518e207d0d0c36748d77 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:38 +0000 Subject: [PATCH 0921/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_primDFS.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_primDFS.po | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_primDFS.po b/locale/es/LC_MESSAGES/pgr_primDFS.po index c545559ff40..c9e63b3f6d7 100644 --- a/locale/es/LC_MESSAGES/pgr_primDFS.po +++ b/locale/es/LC_MESSAGES/pgr_primDFS.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_primDFS.rst:19 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_primDFS.rst:22 msgid "Availability" @@ -135,7 +135,7 @@ msgstr "Firmas" #: ../../build/doc/pgr_primDFS.rst:62 msgid "Single vertex" -msgstr "Un solo vértice" +msgstr "Vértice único" #: ../../build/doc/pgr_primDFS.rst msgid "Example" @@ -181,7 +181,7 @@ msgstr "``TEXT``" #: ../../build/doc/pgr_kruskalDFS.rst:9 msgid "SQL query described in `Inner query`_." -msgstr "Consulta SQL descrita en `Inner query`_." +msgstr "Consulta SQL descrita en `Consulta Interna`_." #: ../../build/doc/pgr_kruskalDFS.rst:10 msgid "**Root vid**" @@ -301,7 +301,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_kruskalDD.rst:22 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -404,7 +404,7 @@ msgstr "En `Múltiples Vértices`_ los resultados están en orden ascendente." #: ../../build/doc/pgr_kruskalDD.rst:17 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_kruskalDD.rst:17 msgid "Identifier of ``node`` reached using ``edge``." @@ -412,11 +412,11 @@ msgstr "Identificador del ``node`` alcanzado usando ``edge``." #: ../../build/doc/pgr_kruskalDD.rst:18 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgr_kruskalDD.rst:18 msgid "Identifier of the ``edge`` used to arrive to ``node``." -msgstr "Identificador del ''edge'' utilizado para llegar a ''node''." +msgstr "Identificador del ``edge`` utilizado para llegar a ''node''." #: ../../build/doc/pgr_kruskalDD.rst:20 msgid ":math:`-1` when ``node`` = ``start_vid``." @@ -440,7 +440,7 @@ msgstr "Costo agregado de ``start_vid`` a ``node``." #: ../../build/doc/pgr_primDFS.rst:102 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_primDFS.rst:104 msgid ":doc:`spanningTree-family`" @@ -477,8 +477,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_primDFS.rst:112 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_primDFS.rst:113 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 459d15da9f40d1fb0a61723ac2285e571a18babc Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:41 +0000 Subject: [PATCH 0922/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_strongComponents.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_strongComponents.po | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_strongComponents.po b/locale/es/LC_MESSAGES/pgr_strongComponents.po index 177fb13bd75..a6019c65b04 100644 --- a/locale/es/LC_MESSAGES/pgr_strongComponents.po +++ b/locale/es/LC_MESSAGES/pgr_strongComponents.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_strongComponents.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_strongComponents.rst:21 msgid "Availability" @@ -50,7 +50,7 @@ msgstr "Versión 3.0.0" #: ../../build/doc/pgr_strongComponents.rst:24 msgid "Return columns change:" -msgstr "Las columnas de devolución cambian:" +msgstr "Las columnas de retorno cambian:" #: ../../build/doc/pgr_strongComponents.rst:26 msgid "``n_seq`` is removed" @@ -235,7 +235,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -330,7 +330,7 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:10 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_connectedComponents.rst:10 msgid "Identifier of the vertex that belongs to **component**." @@ -338,7 +338,7 @@ msgstr "Identificador del vértice que pertenece a **componente**." #: ../../build/doc/pgr_strongComponents.rst:107 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_strongComponents.rst:109 msgid ":doc:`components-family`" @@ -370,8 +370,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_strongComponents.rst:116 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_strongComponents.rst:117 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From ac543952b544727444a9d691d3f9d7a29226757a Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:46 +0000 Subject: [PATCH 0923/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_kruskalBFS.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_kruskalBFS.po | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_kruskalBFS.po b/locale/es/LC_MESSAGES/pgr_kruskalBFS.po index f44f74197d9..08487192863 100644 --- a/locale/es/LC_MESSAGES/pgr_kruskalBFS.po +++ b/locale/es/LC_MESSAGES/pgr_kruskalBFS.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_kruskalBFS.rst:19 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_kruskalBFS.rst:22 msgid "Availability" @@ -140,7 +140,7 @@ msgstr "Firmas" #: ../../build/doc/pgr_kruskalBFS.rst:62 msgid "Single vertex" -msgstr "Un solo vértice" +msgstr "Vértice único" #: ../../build/doc/pgr_kruskalBFS.rst msgid "Example" @@ -186,7 +186,7 @@ msgstr "``TEXT``" #: ../../build/doc/pgr_kruskalDFS.rst:9 msgid "SQL query described in `Inner query`_." -msgstr "Consulta SQL descrita en `Inner query`_." +msgstr "Consulta SQL descrita en `Consulta Interna`_." #: ../../build/doc/pgr_kruskalDFS.rst:10 msgid "**Root vid**" @@ -306,7 +306,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_kruskalDD.rst:22 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -409,7 +409,7 @@ msgstr "En `Múltiples Vértices`_ los resultados están en orden ascendente." #: ../../build/doc/pgr_kruskalDD.rst:17 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_kruskalDD.rst:17 msgid "Identifier of ``node`` reached using ``edge``." @@ -417,11 +417,11 @@ msgstr "Identificador del ``node`` alcanzado usando ``edge``." #: ../../build/doc/pgr_kruskalDD.rst:18 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgr_kruskalDD.rst:18 msgid "Identifier of the ``edge`` used to arrive to ``node``." -msgstr "Identificador del ''edge'' utilizado para llegar a ''node''." +msgstr "Identificador del ``edge`` utilizado para llegar a ''node''." #: ../../build/doc/pgr_kruskalDD.rst:20 msgid ":math:`-1` when ``node`` = ``start_vid``." @@ -445,7 +445,7 @@ msgstr "Costo agregado de ``start_vid`` a ``node``." #: ../../build/doc/pgr_kruskalBFS.rst:102 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_kruskalBFS.rst:104 msgid ":doc:`spanningTree-family`" @@ -481,8 +481,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_kruskalBFS.rst:112 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_kruskalBFS.rst:113 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 986ba7b8ec28b49a9d0c2b4e32d633ee43948739 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:48 +0000 Subject: [PATCH 0924/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_kruskal.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_kruskal.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_kruskal.po b/locale/es/LC_MESSAGES/pgr_kruskal.po index e330bd2b74a..2808317db8d 100644 --- a/locale/es/LC_MESSAGES/pgr_kruskal.po +++ b/locale/es/LC_MESSAGES/pgr_kruskal.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_kruskal.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_kruskal.rst:21 msgid "Availability" @@ -163,7 +163,7 @@ msgstr "``TEXT``" #: ../../build/doc/pgr_kruskal.rst:76 msgid "SQL query described in `Inner query`_." -msgstr "Consulta SQL descrita en `Inner query`_." +msgstr "Consulta SQL descrita en `Consulta Interna`_." #: ../../build/doc/pgr_kruskal.rst:80 msgid "Inner query" @@ -209,7 +209,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_kruskal.rst:96 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -278,7 +278,7 @@ msgstr "Devuelve SET OF (conjunto de) ``(edge, cost)``" #: ../../build/doc/pgr_kruskal.rst:95 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgr_kruskal.rst:95 msgid "``BIGINT``" @@ -294,7 +294,7 @@ msgstr "Coste para atravezar el borde." #: ../../build/doc/pgr_kruskal.rst:103 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_kruskal.rst:105 msgid ":doc:`spanningTree-family`" @@ -330,8 +330,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_kruskal.rst:113 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_kruskal.rst:114 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From a5709163cec5a0829dfee1a64d84d00142e95bfc Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:49 +0000 Subject: [PATCH 0925/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_turnRestrictedPath.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po b/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po index 750910a7ae3..f685177f7fa 100644 --- a/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po +++ b/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -165,7 +165,7 @@ msgstr "Ejemplo" #: ../../build/doc/pgr_turnRestrictedPath.rst:63 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_turnRestrictedPath.rst:66 msgid "Indices and tables" @@ -173,8 +173,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_turnRestrictedPath.rst:67 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_turnRestrictedPath.rst:68 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 2e963b06293cbfce2c02cd8a8375d7ef24a64faf Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:55 +0000 Subject: [PATCH 0926/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/VRP-category.po' on the 'es' language. --- locale/es/LC_MESSAGES/VRP-category.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/VRP-category.po b/locale/es/LC_MESSAGES/VRP-category.po index 110ef8caf01..168267b6488 100644 --- a/locale/es/LC_MESSAGES/VRP-category.po +++ b/locale/es/LC_MESSAGES/VRP-category.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Sterling Quinn , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Sterling Quinn , 2020 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -941,7 +941,7 @@ msgstr "Identificador de par de órdenes Recogida-Entrega." #: ../../build/doc/VRP-category.rst:33 ../../build/doc/VRP-category.rst:332 msgid "``-1``: When no order is involved on the current stop location." msgstr "" -"''-1'': Cuando no hay ningún pedido involucrado en la ubicación actual de la" +"``-1``: Cuando no hay ningún pedido involucrado en la ubicación actual de la" " parada." #: ../../build/doc/VRP-category.rst:35 ../../build/doc/VRP-category.rst:62 @@ -1361,7 +1361,7 @@ msgstr "Manejo de Factores" #: ../../build/doc/VRP-category.rst:478 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/VRP-category.rst:480 msgid "https://en.wikipedia.org/wiki/Vehicle_routing_problem" @@ -1377,8 +1377,8 @@ msgstr "Índices y tablas" #: ../../build/doc/VRP-category.rst:485 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/VRP-category.rst:486 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 45b853371f9a9708e670daca97ad4a7d25eef5bd Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:56 +0000 Subject: [PATCH 0927/1360] Translate /locale/en/LC_MESSAGES/proposed.po in es translation completed for the source file '/locale/en/LC_MESSAGES/proposed.po' on the 'es' language. --- locale/es/LC_MESSAGES/proposed.po | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/locale/es/LC_MESSAGES/proposed.po b/locale/es/LC_MESSAGES/proposed.po index be31f5a20d0..0dcc377ef8b 100644 --- a/locale/es/LC_MESSAGES/proposed.po +++ b/locale/es/LC_MESSAGES/proposed.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# Celia Virginia Vergara Castillo , 2019 -# MarPetra , 2019 +# Vicky Vergara , 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: MarPetra , 2019\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -129,7 +129,8 @@ msgstr ":doc:`drivingDistance-category`" #: ../../build/doc/drivingDistance-category.rst:3 msgid ":doc:`pgr_withPointsDD` - Driving Distance based on pgr_withPoints" -msgstr ":doc:`pgr_withPointsDD` - Driving Distance basada en pgr_withPoints" +msgstr "" +":doc:`pgr_withPointsDD` - Distancia Manejando basada en pgr_withPoints" #: ../../build/doc/proposed.rst:62 msgid ":doc:`KSP-category`" @@ -141,7 +142,7 @@ msgstr ":doc:`pgr_withPointsKSP` - Algoritmo de Yen basado en pgr_withPoints" #: ../../build/doc/proposed.rst:76 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/proposed.rst:78 msgid ":doc:`experimental`" @@ -153,8 +154,8 @@ msgstr "Índices y tablas" #: ../../build/doc/proposed.rst:82 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/proposed.rst:83 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 92622901d24173385a23f3cff6827e68d74d9ed7 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:28:58 +0000 Subject: [PATCH 0928/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/prim-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/prim-family.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/prim-family.po b/locale/es/LC_MESSAGES/prim-family.po index 6e63f51917f..72359696c0a 100644 --- a/locale/es/LC_MESSAGES/prim-family.po +++ b/locale/es/LC_MESSAGES/prim-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -46,7 +46,7 @@ msgstr ":doc:`pgr_primDFS`" #: ../../build/doc/prim-family.rst:25 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/prim-family.rst:35 msgid "" @@ -188,7 +188,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -249,7 +249,7 @@ msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" #: ../../build/doc/prim-family.rst:87 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/prim-family.rst:89 msgid ":doc:`spanningTree-family`" @@ -278,8 +278,8 @@ msgstr "Índices y tablas" #: ../../build/doc/prim-family.rst:95 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/prim-family.rst:96 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 96a3c2f8f77c5eb9190ca45a28737b50a10b4820 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:03 +0000 Subject: [PATCH 0929/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_maxCardinalityMatch.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po b/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po index 5c07072e9e5..73c7e6d2636 100644 --- a/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po +++ b/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 # Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_maxCardinalityMatch.rst:21 msgid "Availability" @@ -355,7 +355,7 @@ msgstr "Identificador del segundo punto final de la arista." #: ../../build/doc/pgr_maxCardinalityMatch.rst:132 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_maxCardinalityMatch.rst:134 msgid ":doc:`flow-family`" @@ -380,8 +380,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_maxCardinalityMatch.rst:141 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_maxCardinalityMatch.rst:142 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From dd53bcb56711f3c4f2be211445235b174b16fedb Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:04 +0000 Subject: [PATCH 0930/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_withPointsCostMatrix.po' on the 'es' language. --- .../es/LC_MESSAGES/pgr_withPointsCostMatrix.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po b/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po index db84ee6fb6a..185082dacca 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -76,7 +76,7 @@ msgstr "Es posible que la documentación necesite un refinamiento." #: ../../build/doc/pgr_withPointsCostMatrix.rst:22 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_withPointsCostMatrix.rst:25 msgid "Availability" @@ -388,7 +388,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -537,7 +537,7 @@ msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:143 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_withPointsCostMatrix.rst:145 msgid ":doc:`pgr_withPoints`" @@ -561,8 +561,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_withPointsCostMatrix.rst:152 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_withPointsCostMatrix.rst:153 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 79e5a80958b11f2079859ea6766e322c6d3053bf Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:06 +0000 Subject: [PATCH 0931/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_edmondsKarp.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_edmondsKarp.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_edmondsKarp.po b/locale/es/LC_MESSAGES/pgr_edmondsKarp.po index b04953f6d73..f4c635fd2b1 100644 --- a/locale/es/LC_MESSAGES/pgr_edmondsKarp.po +++ b/locale/es/LC_MESSAGES/pgr_edmondsKarp.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -39,7 +39,7 @@ msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:19 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_edmondsKarp.rst:22 msgid "Availability" @@ -345,7 +345,7 @@ msgstr "" #: ../../build/doc/flow-family.rst:15 msgid "**reverse_capacity**" -msgstr "**reverse_capacity** (**capacidad inversa**)" +msgstr "**reverse_capacity**" #: ../../build/doc/flow-family.rst:15 msgid "-1" @@ -393,7 +393,7 @@ msgstr "Valor secuencial a partir de **1**." #: ../../build/doc/flow-family.rst:7 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/flow-family.rst:7 msgid "Identifier of the edge in the original query(edges_sql)." @@ -428,7 +428,7 @@ msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:165 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_edmondsKarp.rst:167 msgid "" @@ -451,8 +451,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_edmondsKarp.rst:173 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_edmondsKarp.rst:174 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 8a8cc4dc74a2299dfaa122e7f8643f18c1e345ff Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:11 +0000 Subject: [PATCH 0932/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/dijkstra-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/dijkstra-family.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/locale/es/LC_MESSAGES/dijkstra-family.po b/locale/es/LC_MESSAGES/dijkstra-family.po index 892023dcc55..d3205554bd1 100644 --- a/locale/es/LC_MESSAGES/dijkstra-family.po +++ b/locale/es/LC_MESSAGES/dijkstra-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -379,7 +379,7 @@ msgstr "Si no hay ruta, el conjunto resultante estará vacío." #: ../../build/doc/dijkstra-family.rst:165 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/dijkstra-family.rst:168 msgid "Indices and tables" @@ -387,8 +387,8 @@ msgstr "Índices y tablas" #: ../../build/doc/dijkstra-family.rst:169 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/dijkstra-family.rst:170 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From ae2fe3a6a25f8f5777d52f6f335598d25154239f Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:12 +0000 Subject: [PATCH 0933/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/allpairs-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/allpairs-family.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/allpairs-family.po b/locale/es/LC_MESSAGES/allpairs-family.po index d012e1b6cfd..06dff6921a4 100644 --- a/locale/es/LC_MESSAGES/allpairs-family.po +++ b/locale/es/LC_MESSAGES/allpairs-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# Sterling Quinn , 2019 +# Vicky Vergara , 2020 +# Sterling Quinn , 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -53,8 +53,8 @@ msgid "" "family.html>`__ `2.6 `__" msgstr "" -"**Versiones soportadas:** current(`3.1 `__) `3.0 `__) `3.0 `__ `2.6 `__" @@ -1005,7 +1005,7 @@ msgstr "4.48" #: ../../build/doc/allpairs-family.rst:185 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/allpairs-family.rst:187 msgid ":doc:`pgr_johnson`" @@ -1031,8 +1031,8 @@ msgstr "Índices y tablas" #: ../../build/doc/allpairs-family.rst:193 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/allpairs-family.rst:194 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From e16ece3712d4e04ac809b7a957f0dfe9544c66eb Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:14 +0000 Subject: [PATCH 0934/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_kruskalDD.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_kruskalDD.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_kruskalDD.po b/locale/es/LC_MESSAGES/pgr_kruskalDD.po index 363540640b2..a76553f5a1b 100644 --- a/locale/es/LC_MESSAGES/pgr_kruskalDD.po +++ b/locale/es/LC_MESSAGES/pgr_kruskalDD.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -323,7 +323,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_kruskalDD.rst:159 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -414,7 +414,7 @@ msgstr "En `Múltiples Vértices`_ los resultados están en orden ascendente." #: ../../build/doc/pgr_kruskalDD.rst:154 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_kruskalDD.rst:154 msgid "Identifier of ``node`` reached using ``edge``." @@ -422,7 +422,7 @@ msgstr "Identificador del ``node`` alcanzado usando ``edge``." #: ../../build/doc/pgr_kruskalDD.rst:155 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgr_kruskalDD.rst:155 msgid "Identifier of the ``edge`` used to arrive to ``node``." @@ -450,7 +450,7 @@ msgstr "Costo agregado de ``start_vid`` a ``node``." #: ../../build/doc/pgr_kruskalDD.rst:168 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_kruskalDD.rst:170 msgid ":doc:`spanningTree-family`" @@ -486,8 +486,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_kruskalDD.rst:178 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_kruskalDD.rst:179 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 1bf9d447857a7bdb5b224bec29dc1ab6276355f0 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:17 +0000 Subject: [PATCH 0935/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_floydWarshall.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_floydWarshall.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_floydWarshall.po b/locale/es/LC_MESSAGES/pgr_floydWarshall.po index 1c716b42db3..5a3e008c714 100644 --- a/locale/es/LC_MESSAGES/pgr_floydWarshall.po +++ b/locale/es/LC_MESSAGES/pgr_floydWarshall.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:19 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_floydWarshall.rst:22 msgid "Availability" @@ -307,7 +307,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:12 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:12 #: ../../build/doc/pgRouting-concepts.rst:16 @@ -409,7 +409,7 @@ msgstr "Costo total de ``start_vid`` a ``end_vid``." #: ../../build/doc/pgr_floydWarshall.rst:146 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_floydWarshall.rst:148 msgid ":doc:`pgr_johnson`" @@ -435,8 +435,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_floydWarshall.rst:154 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_floydWarshall.rst:155 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 517421b1eaa2cae73731149a53631b046f1d3eaf Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:23 +0000 Subject: [PATCH 0936/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po' on the 'es' language. --- .../es/LC_MESSAGES/pgr_edgeDisjointPaths.po | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po b/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po index f8d4421766f..aaddcaa3b36 100644 --- a/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po +++ b/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:19 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_edgeDisjointPaths.rst:22 msgid "Availability" @@ -469,12 +469,12 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:14 msgid "`Many to One`_" -msgstr "`Many to One`_" +msgstr "`Muchos a Uno`_" #: ../../build/doc/pgRouting-concepts.rst:15 #: ../../build/doc/pgRouting-concepts.rst:22 msgid "`Many to Many`_" -msgstr "`Many to Many`_" +msgstr "`Muchos a Muchos`_" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" @@ -486,7 +486,7 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 msgid "`One to Many`_" -msgstr "`One to Many`_" +msgstr "`Uno a Muchos`_" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "**node**" @@ -531,7 +531,7 @@ msgstr "Coste agregado de ``start_v`` to ``node``." #: ../../build/doc/pgr_edgeDisjointPaths.rst:190 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_edgeDisjointPaths.rst:192 msgid ":doc:`flow-family`" @@ -543,8 +543,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_edgeDisjointPaths.rst:196 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_edgeDisjointPaths.rst:197 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 6aaf5377b0c5f31b69fc105edf3980294dfa1b6d Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:28 +0000 Subject: [PATCH 0937/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_articulationPoints.po' on the 'es' language. --- .../es/LC_MESSAGES/pgr_articulationPoints.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_articulationPoints.po b/locale/es/LC_MESSAGES/pgr_articulationPoints.po index 08cfc72eed2..da77a072a2e 100644 --- a/locale/es/LC_MESSAGES/pgr_articulationPoints.po +++ b/locale/es/LC_MESSAGES/pgr_articulationPoints.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_articulationPoints.rst:21 msgid "Availability" @@ -224,7 +224,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -293,7 +293,7 @@ msgstr "Devuelve el conjunto de ``(node)``" #: ../../build/doc/pgr_articulationPoints.rst:104 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_articulationPoints.rst:104 msgid "``BIGINT``" @@ -305,7 +305,7 @@ msgstr "Identificador del vértice." #: ../../build/doc/pgr_articulationPoints.rst:110 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_articulationPoints.rst:112 msgid ":doc:`components-family`" @@ -337,8 +337,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_articulationPoints.rst:119 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_articulationPoints.rst:120 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 2b9b6b1f792591e114e80aa12108acfb133e51d1 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:29 +0000 Subject: [PATCH 0938/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/chinesePostmanProblem-family.po' on the 'es' language. --- .../es/LC_MESSAGES/chinesePostmanProblem-family.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po b/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po index f3f6b692705..3ef030e63b6 100644 --- a/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po +++ b/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -215,7 +215,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -276,7 +276,7 @@ msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" #: ../../build/doc/chinesePostmanProblem-family.rst:78 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/chinesePostmanProblem-family.rst:81 msgid "Indices and tables" @@ -284,8 +284,8 @@ msgstr "Índices y tablas" #: ../../build/doc/chinesePostmanProblem-family.rst:82 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/chinesePostmanProblem-family.rst:83 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From ef6608d65adf2eac44935c6a888a6b5298f7d408 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:32 +0000 Subject: [PATCH 0939/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_withPointsCost.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_withPointsCost.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_withPointsCost.po b/locale/es/LC_MESSAGES/pgr_withPointsCost.po index 4d6eca5954c..c2738ae9422 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsCost.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsCost.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -509,7 +509,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -710,7 +710,7 @@ msgstr "Las consultas utilizan la red :doc:`sampledata` ." #: ../../build/doc/pgr_withPointsCost.rst:257 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_withPointsCost.rst:259 msgid ":doc:`withPoints-family`" @@ -722,8 +722,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_withPointsCost.rst:263 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_withPointsCost.rst:264 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 7b3b49e8319cd3cd57f43273980d451775835298 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:35 +0000 Subject: [PATCH 0940/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_bdAstar.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_bdAstar.po | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_bdAstar.po b/locale/es/LC_MESSAGES/pgr_bdAstar.po index 7bf1f9da81c..991f0284e05 100644 --- a/locale/es/LC_MESSAGES/pgr_bdAstar.po +++ b/locale/es/LC_MESSAGES/pgr_bdAstar.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_bdAstar.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_bdAstar.rst:21 msgid "Availability:" @@ -143,7 +143,7 @@ msgstr "Falta la el indicador de ``directed``." #: ../../build/doc/aStar-family.rst:6 msgid "``directed`` flag is set to true" -msgstr "El indicador de ``directed`` se configura a \"true\"." +msgstr "El indicador de ``directed`` se configura a verdadero." #: ../../build/doc/aStar-family.rst:8 msgid "Unless specified otherwise, ordering is:" @@ -423,7 +423,7 @@ msgstr "Cuando ``false`` el gráfico se considera como No Dirigido" #: ../../build/doc/pgr_aStar.rst:9 msgid "**heuristic**" -msgstr "**heuristic**" +msgstr "**heurística**" #: ../../build/doc/pgr_aStar.rst:9 msgid "``INTEGER``" @@ -534,7 +534,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:26 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:15 @@ -712,7 +712,7 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "Identifier of the node in the path from ``start_vid`` to ``end_vid``." @@ -720,7 +720,7 @@ msgstr "Identificador del nodo en la ruta de ``start_vid`` a ``end_vid``." #: ../../build/doc/pgRouting-concepts.rst:25 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgRouting-concepts.rst:25 msgid "" @@ -748,7 +748,7 @@ msgstr "Coste agregado de ``start_v`` to ``node``." #: ../../build/doc/pgr_bdAstar.rst:207 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_bdAstar.rst:209 msgid ":doc:`aStar-family`" @@ -776,8 +776,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_bdAstar.rst:217 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_bdAstar.rst:218 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From f8e782b3c2cc16dca27e4bee4ef2e3acd9491d3c Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:39 +0000 Subject: [PATCH 0941/1360] Translate /locale/en/LC_MESSAGES/index.po in es translation completed for the source file '/locale/en/LC_MESSAGES/index.po' on the 'es' language. --- locale/es/LC_MESSAGES/index.po | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/index.po b/locale/es/LC_MESSAGES/index.po index e637b138a99..a270d73d62f 100644 --- a/locale/es/LC_MESSAGES/index.po +++ b/locale/es/LC_MESSAGES/index.po @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -383,7 +383,7 @@ msgstr "" #: ../../build/doc/topology-functions.rst:6 msgid ":doc:`pgr_analyzeOneWay` - to analyze directionality of the edges." msgstr "" -":doc:`pgr_analyzeOneWay` - para analizar la direccionalidad de los bordes." +":doc:`pgr_analyzeOneWay` - para analizar la direccionalidad de las aristas." #: ../../build/doc/topology-functions.rst:7 msgid ":doc:`pgr_nodeNetwork` -to create nodes to a not noded edge table." @@ -446,21 +446,22 @@ msgstr ":doc:`drivingDistance-category`" msgid "" ":doc:`pgr_drivingDistance` - Driving Distance based on Dijkstra's algorithm" msgstr "" -":doc:`pgr_drivingDistance` - Driving Distance basada en el algoritmo de " +":doc:`pgr_drivingDistance` - Distancia Manejando basada en el algoritmo de " "Dijkstra." #: ../../build/doc/drivingDistance-category.rst:4 msgid ":doc:`pgr_primDD` - Driving Distance based on Prim's algorithm" -msgstr ":doc:`pgr_primDD` - Driving Distance basada en el algoritmo de Prim" +msgstr "" +":doc:`pgr_primDD` - Distancia Manejando basada en el algoritmo de Prim" #: ../../build/doc/drivingDistance-category.rst:5 msgid ":doc:`pgr_kruskalDD` - Driving Distance based on Kruskal's algorithm" msgstr "" -":doc:`pgr_kruskalDD` - Driving Distance basada en el algoritmo de Kruskal" +":doc:`pgr_kruskalDD` - Distancia Manejando basada en el algoritmo de Kruskal" #: ../../build/doc/drivingDistance-category.rst:6 msgid "Post pocessing" -msgstr "Post poce" +msgstr "Post procesamiento" #: ../../build/doc/drivingDistance-category.rst:8 msgid ":doc:`pgr_alphaShape` - Alpha shape computation" @@ -616,8 +617,8 @@ msgstr "Índices y tablas" #: ../../build/doc/index.rst:114 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/index.rst:115 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From b50237bb2a64069c731ba9b606b92ef149a6ef6f Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:41 +0000 Subject: [PATCH 0942/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po' on the 'es' language. --- .../pgr_binaryBreadthFirstSearch.po | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po b/locale/es/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po index de7ea1db992..3af1ab85f9a 100644 --- a/locale/es/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po +++ b/locale/es/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Celia Virginia Vergara Castillo , 2019 -# MarPetra , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" -"Last-Translator: MarPetra , 2019\n" +"POT-Creation-Date: 2020-10-07 21:01-0500\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -41,7 +41,7 @@ msgstr "" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:19 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/experimental.rst:3 msgid "Possible server crash" @@ -228,7 +228,7 @@ msgstr "" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:96 msgid "One to many" -msgstr "Uno a muchos" +msgstr "Uno a Muchos" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:105 msgid "" @@ -527,7 +527,7 @@ msgstr "`Muchos a Uno`_" #: ../../build/doc/pgRouting-concepts.rst:15 #: ../../build/doc/pgRouting-concepts.rst:22 msgid "`Many to Many`_" -msgstr "`Many to Many`_" +msgstr "`Muchos a Muchos`_" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" @@ -661,31 +661,30 @@ msgstr "" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:224 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:226 msgid "https://cp-algorithms.com/graph/01_bfs.html" msgstr "https://cp-algorithms.com/graph/01_bfs.html" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:227 -msgid "https://codeforces.com/blog/entry/22276" -msgstr "https://codeforces.com/blog/entry/22276" - -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:228 #, python-format msgid "" "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#Specialized_variants" msgstr "" "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#Specialized_variants" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:231 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:230 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:231 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:233 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" + +#~ msgid "https://codeforces.com/blog/entry/22276" +#~ msgstr "https://codeforces.com/blog/entry/22276" From adafbdf5e8048086bf9b0a2f2b2a2513761f2d38 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:44 +0000 Subject: [PATCH 0943/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/aStar-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/aStar-family.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/locale/es/LC_MESSAGES/aStar-family.po b/locale/es/LC_MESSAGES/aStar-family.po index dde3dec6878..57ecb77cc4f 100644 --- a/locale/es/LC_MESSAGES/aStar-family.po +++ b/locale/es/LC_MESSAGES/aStar-family.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -97,7 +97,7 @@ msgstr "Falta la el indicador de ``directed``." #: ../../build/doc/aStar-family.rst:51 msgid "``directed`` flag is set to true" -msgstr "El indicador de ``directed`` se configura a \"true\"." +msgstr "El indicador de ``directed`` se configura a verdadero." #: ../../build/doc/aStar-family.rst:53 msgid "Unless specified otherwise, ordering is:" @@ -306,7 +306,7 @@ msgstr "4452 s" #: ../../build/doc/aStar-family.rst:145 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/aStar-family.rst:147 msgid ":doc:`pgr_aStar`" @@ -334,8 +334,8 @@ msgstr "Índices y tablas" #: ../../build/doc/aStar-family.rst:155 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/aStar-family.rst:156 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From cee553d1d9c3561be76efbbbd4ceee0695ac661c Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:49 +0000 Subject: [PATCH 0944/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_bdDijkstra.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_bdDijkstra.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_bdDijkstra.po b/locale/es/LC_MESSAGES/pgr_bdDijkstra.po index 8681d16e7ad..a73c5821655 100644 --- a/locale/es/LC_MESSAGES/pgr_bdDijkstra.po +++ b/locale/es/LC_MESSAGES/pgr_bdDijkstra.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_bdDijkstra.rst:21 msgid "Availability:" @@ -574,7 +574,7 @@ msgstr "Coste agregado de ``start_v`` to ``node``." #: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_bdDijkstra.rst:208 msgid "The queries use the :doc:`sampledata` network." @@ -601,8 +601,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_bdDijkstra.rst:215 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_bdDijkstra.rst:216 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 261b9017d750c35420be843aa5c6de11b46ad492 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:52 +0000 Subject: [PATCH 0945/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_connectedComponents.po' on the 'es' language. --- .../es/LC_MESSAGES/pgr_connectedComponents.po | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_connectedComponents.po b/locale/es/LC_MESSAGES/pgr_connectedComponents.po index 43fc92b56e8..75e41b01a9c 100644 --- a/locale/es/LC_MESSAGES/pgr_connectedComponents.po +++ b/locale/es/LC_MESSAGES/pgr_connectedComponents.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_connectedComponents.rst:21 msgid "Availability" @@ -50,7 +50,7 @@ msgstr "Versión 3.0.0" #: ../../build/doc/pgr_connectedComponents.rst:24 msgid "Return columns change:" -msgstr "Las columnas de devolución cambian:" +msgstr "Las columnas de retorno cambian:" #: ../../build/doc/pgr_connectedComponents.rst:26 msgid "``n_seq`` is removed" @@ -235,7 +235,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -330,7 +330,7 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:111 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_connectedComponents.rst:111 msgid "Identifier of the vertex that belongs to **component**." @@ -338,7 +338,7 @@ msgstr "Identificador del vértice que pertenece a **componente**." #: ../../build/doc/pgr_connectedComponents.rst:117 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_connectedComponents.rst:119 msgid ":doc:`components-family`" @@ -370,8 +370,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_connectedComponents.rst:126 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_connectedComponents.rst:127 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From d03e233f5eeebb38d7d35cd4ca5c83ede032b2e4 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:55 +0000 Subject: [PATCH 0946/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/routingFunctions.po' on the 'es' language. --- locale/es/LC_MESSAGES/routingFunctions.po | 33 ++++++++++++----------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/locale/es/LC_MESSAGES/routingFunctions.po b/locale/es/LC_MESSAGES/routingFunctions.po index 91b7776545c..09d6e786c7b 100644 --- a/locale/es/LC_MESSAGES/routingFunctions.po +++ b/locale/es/LC_MESSAGES/routingFunctions.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# MarPetra , 2019 -# Celia Virginia Vergara Castillo , 2019 +# Vicky Vergara , 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" -"Last-Translator: Celia Virginia Vergara Castillo , 2019\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -324,7 +324,7 @@ msgstr "" #: ../../build/doc/topology-functions.rst:6 msgid ":doc:`pgr_analyzeOneWay` - to analyze directionality of the edges." msgstr "" -":doc:`pgr_analyzeOneWay` - para analizar la direccionalidad de los bordes." +":doc:`pgr_analyzeOneWay` - para analizar la direccionalidad de las aristas." #: ../../build/doc/topology-functions.rst:7 msgid ":doc:`pgr_nodeNetwork` -to create nodes to a not noded edge table." @@ -387,21 +387,22 @@ msgstr ":doc:`drivingDistance-category`" msgid "" ":doc:`pgr_drivingDistance` - Driving Distance based on Dijkstra's algorithm" msgstr "" -":doc:`pgr_drivingDistance` - Driving Distance basada en el algoritmo de " +":doc:`pgr_drivingDistance` - Distancia Manejando basada en el algoritmo de " "Dijkstra." #: ../../build/doc/drivingDistance-category.rst:4 msgid ":doc:`pgr_primDD` - Driving Distance based on Prim's algorithm" -msgstr ":doc:`pgr_primDD` - Driving Distance basada en el algoritmo de Prim" +msgstr "" +":doc:`pgr_primDD` - Distancia Manejando basada en el algoritmo de Prim" #: ../../build/doc/drivingDistance-category.rst:5 msgid ":doc:`pgr_kruskalDD` - Driving Distance based on Kruskal's algorithm" msgstr "" -":doc:`pgr_kruskalDD` - Driving Distance basada en el algoritmo de Kruskal" +":doc:`pgr_kruskalDD` - Distancia Manejando basada en el algoritmo de Kruskal" #: ../../build/doc/drivingDistance-category.rst:6 msgid "Post pocessing" -msgstr "Post poce" +msgstr "Post procesamiento" #: ../../build/doc/drivingDistance-category.rst:8 msgid ":doc:`pgr_alphaShape` - Alpha shape computation" @@ -421,7 +422,7 @@ msgstr ":doc:`spanningTree-family`" #: ../../build/doc/routingFunctions.rst:158 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/routingFunctions.rst:161 msgid "Indices and tables" @@ -429,8 +430,8 @@ msgstr "Índices y tablas" #: ../../build/doc/routingFunctions.rst:162 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/routingFunctions.rst:163 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From af37c0cc1d0dfa8d68b0970b966c55003fa114bf Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:29:58 +0000 Subject: [PATCH 0947/1360] Translate /locale/en/LC_MESSAGES/pgr_KSP.po in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_KSP.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_KSP.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_KSP.po b/locale/es/LC_MESSAGES/pgr_KSP.po index 991a1ec9dbf..d2ef0bb959e 100644 --- a/locale/es/LC_MESSAGES/pgr_KSP.po +++ b/locale/es/LC_MESSAGES/pgr_KSP.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -34,7 +34,7 @@ msgstr "``pgr_KSP`` — Devuelve la ruta más corta \"K\"." #: ../../build/doc/pgr_KSP.rst:19 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_KSP.rst:22 msgid "Availability" @@ -270,7 +270,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_KSP.rst:122 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -374,7 +374,7 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:120 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_KSP.rst:120 msgid "Identifier of the node in the path." @@ -382,7 +382,7 @@ msgstr "Identificador del nodo en la ruta." #: ../../build/doc/pgr_KSP.rst:121 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgr_KSP.rst:121 msgid "" @@ -466,7 +466,7 @@ msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig4`" #: ../../build/doc/pgr_KSP.rst:170 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_KSP.rst:172 msgid "https://en.wikipedia.org/wiki/K_shortest_path_routing" @@ -482,8 +482,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_KSP.rst:177 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_KSP.rst:178 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 55a1d64a34ac9c2f96169bf8016b63b01f7df3fe Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:02 +0000 Subject: [PATCH 0948/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_nodeNetwork.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_nodeNetwork.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_nodeNetwork.po b/locale/es/LC_MESSAGES/pgr_nodeNetwork.po index 7b6de4abbab..db999f07994 100644 --- a/locale/es/LC_MESSAGES/pgr_nodeNetwork.po +++ b/locale/es/LC_MESSAGES/pgr_nodeNetwork.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -486,7 +486,7 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:217 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_nodeNetwork.rst:219 msgid "" @@ -504,8 +504,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_nodeNetwork.rst:226 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_nodeNetwork.rst:227 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 2b23d14b673ecbf27e62e88a28647e1091d505a5 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:05 +0000 Subject: [PATCH 0949/1360] Translate /locale/en/LC_MESSAGES/support.po in es translation completed for the source file '/locale/en/LC_MESSAGES/support.po' on the 'es' language. --- locale/es/LC_MESSAGES/support.po | 39 +++++--------------------------- 1 file changed, 6 insertions(+), 33 deletions(-) diff --git a/locale/es/LC_MESSAGES/support.po b/locale/es/LC_MESSAGES/support.po index 75367169bbc..36507a977fa 100644 --- a/locale/es/LC_MESSAGES/support.po +++ b/locale/es/LC_MESSAGES/support.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-07 20:36-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -234,30 +234,3 @@ msgstr "Capranica, Italia" #: ../../build/doc/support.rst:78 msgid "https://www.osgeo.org/service-providers/netlab/" msgstr "https://www.osgeo.org/service-providers/netlab/" - -#~ msgid "" -#~ "If your problem is unreported, create a `new issue " -#~ "`_ for it." -#~ msgstr "" -#~ "Si el problema no está reportado , crear una `nueva entrada " -#~ "`_ para el problema." - -#~ msgid "" -#~ "You can also ask at `GIS StackExchange `_ " -#~ "and tag the question with ``pgrouting``. Find all questions tagged with " -#~ "``pgrouting`` under http://gis.stackexchange.com/questions/tagged/pgrouting " -#~ "or subscribe to the `pgRouting questions feed " -#~ "`_." -#~ msgstr "" -#~ "También puede preguntar en `GIS StackExchange " -#~ "`_ y etiquetar la pregunta con " -#~ "``pgrouting``. Encuentra todas las preguntas etiquetadas con ``pgrouting`` " -#~ "en http://gis.stackexchange.com/questions/tagged/pgrouting o suscríbete en" -#~ " `pgRouting questions feed " -#~ "`_." - -#~ msgid "iMaptools" -#~ msgstr "iMaptools" - -#~ msgid "https://imaptools.com" -#~ msgstr "https://imaptools.com" From 30ea2ab379a49085f44962908e2eee32ceb94a4d Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:07 +0000 Subject: [PATCH 0950/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/drivingDistance-category.po' on the 'es' language. --- locale/es/LC_MESSAGES/drivingDistance-category.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locale/es/LC_MESSAGES/drivingDistance-category.po b/locale/es/LC_MESSAGES/drivingDistance-category.po index e4cc270e181..b681c50f193 100644 --- a/locale/es/LC_MESSAGES/drivingDistance-category.po +++ b/locale/es/LC_MESSAGES/drivingDistance-category.po @@ -2,18 +2,18 @@ # Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. -# +# # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -133,7 +133,7 @@ msgstr "Índices y tablas" #: ../../build/doc/drivingDistance-category.rst:58 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/drivingDistance-category.rst:59 msgid ":ref:`search`" From a3446c73cdd49412e19fbfb7c7aa3930b7190512 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:11 +0000 Subject: [PATCH 0951/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_edwardMoore.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_edwardMoore.po | 36 ++++++++++++------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_edwardMoore.po b/locale/es/LC_MESSAGES/pgr_edwardMoore.po index c18071307b4..543a80ccc7e 100644 --- a/locale/es/LC_MESSAGES/pgr_edwardMoore.po +++ b/locale/es/LC_MESSAGES/pgr_edwardMoore.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Celia Virginia Vergara Castillo , 2019 -# MarPetra , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" -"Last-Translator: MarPetra , 2019\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -243,7 +243,7 @@ msgstr "" #: ../../build/doc/pgr_edwardMoore.rst:110 msgid "One to many" -msgstr "Uno a muchos" +msgstr "Uno a Muchos" #: ../../build/doc/pgr_edwardMoore.rst:119 msgid "" @@ -418,7 +418,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:26 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -537,12 +537,12 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:14 msgid "`Many to One`_" -msgstr "`Many to One`_" +msgstr "`Muchos a Uno`_" #: ../../build/doc/pgRouting-concepts.rst:15 #: ../../build/doc/pgRouting-concepts.rst:22 msgid "`Many to Many`_" -msgstr "`Many to Many`_" +msgstr "`Muchos a Muchos`_" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" @@ -558,7 +558,7 @@ msgstr "`Uno a Muchos`_" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "Identifier of the node in the path from ``start_vid`` to ``end_vid``." @@ -566,7 +566,7 @@ msgstr "Identificador del nodo en la ruta de ``start_vid`` a ``end_vid``." #: ../../build/doc/pgRouting-concepts.rst:25 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgRouting-concepts.rst:25 msgid "" @@ -662,7 +662,7 @@ msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig4`" #: ../../build/doc/pgr_edwardMoore.rst:240 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_edwardMoore.rst:242 msgid "https://en.wikipedia.org/wiki/Shortest_Path_Faster_Algorithm" @@ -674,8 +674,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_edwardMoore.rst:246 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_edwardMoore.rst:247 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From cf7dc06b4c128acd109eb29fe04764fab828f7a7 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:14 +0000 Subject: [PATCH 0952/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_createTopology.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_createTopology.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_createTopology.po b/locale/es/LC_MESSAGES/pgr_createTopology.po index d78079eac8d..34d8cc23534 100644 --- a/locale/es/LC_MESSAGES/pgr_createTopology.po +++ b/locale/es/LC_MESSAGES/pgr_createTopology.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -547,7 +547,7 @@ msgstr "En el ejemplo se utiliza la red :doc:`sampledata`. " #: ../../build/doc/pgr_createTopology.rst:243 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_createTopology.rst:245 msgid "" @@ -578,8 +578,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_createTopology.rst:251 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_createTopology.rst:252 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From c618db82db206d421390d119e23fcdfedcd26c6b Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:17 +0000 Subject: [PATCH 0953/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/withPoints-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/withPoints-family.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locale/es/LC_MESSAGES/withPoints-family.po b/locale/es/LC_MESSAGES/withPoints-family.po index 4673dfb60f4..eb1b85884aa 100644 --- a/locale/es/LC_MESSAGES/withPoints-family.po +++ b/locale/es/LC_MESSAGES/withPoints-family.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -468,7 +468,7 @@ msgstr "Se elimina la arista (15, 9, 12, 10)." #: ../../build/doc/withPoints-family.rst:200 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/withPoints-family.rst:203 msgid "Indices and tables" @@ -476,8 +476,8 @@ msgstr "Índices y tablas" #: ../../build/doc/withPoints-family.rst:204 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/withPoints-family.rst:205 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From e329ffc59acf7728fce9be89da3316be9f542f73 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:24 +0000 Subject: [PATCH 0954/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/kruskal-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/kruskal-family.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/kruskal-family.po b/locale/es/LC_MESSAGES/kruskal-family.po index 96543a3fd87..91bcc8d5eb8 100644 --- a/locale/es/LC_MESSAGES/kruskal-family.po +++ b/locale/es/LC_MESSAGES/kruskal-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -46,7 +46,7 @@ msgstr ":doc:`pgr_kruskalDFS`" #: ../../build/doc/kruskal-family.rst:25 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/kruskal-family.rst:37 msgid "Previous versions of this page" @@ -166,7 +166,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -227,7 +227,7 @@ msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" #: ../../build/doc/kruskal-family.rst:78 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/kruskal-family.rst:80 msgid ":doc:`spanningTree-family`" @@ -255,8 +255,8 @@ msgstr "Índices y tablas" #: ../../build/doc/kruskal-family.rst:86 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/kruskal-family.rst:87 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From e2fc34079b31b87d319fa7a50bf14abaffe3f1e5 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:28 +0000 Subject: [PATCH 0955/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_biconnectedComponents.po' on the 'es' language. --- .../LC_MESSAGES/pgr_biconnectedComponents.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po b/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po index e497559da77..ed696d49265 100644 --- a/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po +++ b/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:19 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_biconnectedComponents.rst:22 msgid "Availability" @@ -245,7 +245,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -340,11 +340,11 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:112 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgr_biconnectedComponents.rst:118 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_biconnectedComponents.rst:120 msgid ":doc:`components-family`" @@ -376,8 +376,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_biconnectedComponents.rst:127 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_biconnectedComponents.rst:128 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 2b90c2394e2fe4c730d1f2e4c8e2e1b5c20dfa56 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:35 +0000 Subject: [PATCH 0956/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_vrpOneDepot.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_vrpOneDepot.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po b/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po index cea89ddbe53..6cf7a827b45 100644 --- a/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po +++ b/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 # Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -189,7 +189,7 @@ msgstr "Datos" #: ../../build/doc/pgr_vrpOneDepot.rst:77 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_vrpOneDepot.rst:79 msgid "https://en.wikipedia.org/wiki/Vehicle_routing_problem" @@ -201,8 +201,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_vrpOneDepot.rst:83 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_vrpOneDepot.rst:84 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From a4ea8f6bbd366f5122622300b84b444eb11a00b5 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:37 +0000 Subject: [PATCH 0957/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_breadthFirstSearch.po' on the 'es' language. --- .../es/LC_MESSAGES/pgr_breadthFirstSearch.po | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_breadthFirstSearch.po b/locale/es/LC_MESSAGES/pgr_breadthFirstSearch.po index 61a07d29d34..569f498bfa3 100644 --- a/locale/es/LC_MESSAGES/pgr_breadthFirstSearch.po +++ b/locale/es/LC_MESSAGES/pgr_breadthFirstSearch.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2019 -# Celia Virginia Vergara Castillo , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: Celia Virginia Vergara Castillo , 2019\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" +"Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_breadthFirstSearch.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/experimental.rst:3 msgid "Possible server crash" @@ -205,7 +205,7 @@ msgstr "``TEXT``" #: ../../build/doc/pgr_breadthFirstSearch.rst:94 msgid "SQL query described in `Inner query`_." -msgstr "Consulta SQL descrita en `Inner query`_." +msgstr "Consulta SQL descrita en `Consulta Interna`_." #: ../../build/doc/pgr_breadthFirstSearch.rst:95 msgid "**Root vid**" @@ -336,7 +336,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_breadthFirstSearch.rst:153 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -439,7 +439,7 @@ msgstr "En *Multiple Vertices* los resultados están en orden ascendente." #: ../../build/doc/pgr_breadthFirstSearch.rst:148 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_breadthFirstSearch.rst:148 msgid "Identifier of ``node`` reached using ``edge``." @@ -447,11 +447,11 @@ msgstr "Identificador del ``node`` alcanzado usando ``edge``." #: ../../build/doc/pgr_breadthFirstSearch.rst:149 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgr_breadthFirstSearch.rst:149 msgid "Identifier of the ``edge`` used to arrive to ``node``." -msgstr "Identificador del ''edge'' utilizado para llegar a ''node''." +msgstr "Identificador del ``edge`` utilizado para llegar a ''node''." #: ../../build/doc/pgr_breadthFirstSearch.rst:151 msgid ":math:`-1` when ``node`` = ``start_vid``." @@ -505,7 +505,7 @@ msgstr "" #: ../../build/doc/pgr_breadthFirstSearch.rst:183 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_breadthFirstSearch.rst:185 msgid "The queries use the :doc:`sampledata` network." @@ -533,8 +533,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_breadthFirstSearch.rst:191 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_breadthFirstSearch.rst:192 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 4c64af7f725ac2053388cf4a69a742616d9e0777 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:41 +0000 Subject: [PATCH 0958/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po b/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po index 8fad9dd3039..ddb02aab4b0 100644 --- a/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po +++ b/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_bdDijkstraCost.rst:21 msgid "Availability:" @@ -344,7 +344,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -441,7 +441,7 @@ msgstr "Coste agregado de ``start_vid`` a ``end_vid``." #: ../../build/doc/pgr_bdDijkstraCost.rst:176 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_bdDijkstraCost.rst:178 msgid "The queries use the :doc:`sampledata` network." @@ -468,8 +468,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_bdDijkstraCost.rst:185 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_bdDijkstraCost.rst:186 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 86af7be620c7d8cdd5af673ed02a0121a036f883 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:46 +0000 Subject: [PATCH 0959/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_bdAstarCost.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_bdAstarCost.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_bdAstarCost.po b/locale/es/LC_MESSAGES/pgr_bdAstarCost.po index 905bea2c8f2..a847a402c4c 100644 --- a/locale/es/LC_MESSAGES/pgr_bdAstarCost.po +++ b/locale/es/LC_MESSAGES/pgr_bdAstarCost.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 # Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_bdAstarCost.rst:21 msgid "Availability" @@ -95,7 +95,7 @@ msgstr "Falta la el indicador de ``directed``." #: ../../build/doc/aStar-family.rst:6 msgid "``directed`` flag is set to true" -msgstr "El indicador de ``directed`` se configura a \"true\"." +msgstr "El indicador de ``directed`` se configura a verdadero." #: ../../build/doc/aStar-family.rst:8 msgid "Unless specified otherwise, ordering is:" @@ -363,7 +363,7 @@ msgstr "Cuando ``false`` el gráfico se considera como No Dirigido" #: ../../build/doc/pgr_aStar.rst:9 msgid "**heuristic**" -msgstr "**heuristic**" +msgstr "**heurística**" #: ../../build/doc/pgr_aStar.rst:9 msgid "``INTEGER``" @@ -473,7 +473,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:11 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:15 @@ -615,7 +615,7 @@ msgstr "Coste agregado de ``start_vid`` a ``end_vid``." #: ../../build/doc/pgr_bdAstarCost.rst:187 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_bdAstarCost.rst:189 msgid ":doc:`bdAstar-family`" @@ -639,8 +639,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_bdAstarCost.rst:196 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_bdAstarCost.rst:197 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From c0b49a24e65664b8856132a9ba08e853b655ebf1 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:30:58 +0000 Subject: [PATCH 0960/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_withPointsKSP.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_withPointsKSP.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_withPointsKSP.po b/locale/es/LC_MESSAGES/pgr_withPointsKSP.po index 85fe52d4577..41cc8fc5bb8 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsKSP.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsKSP.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -73,7 +73,7 @@ msgstr "Es posible que la documentación necesite un refinamiento." #: ../../build/doc/pgr_withPointsKSP.rst:22 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_withPointsKSP.rst:25 msgid "Availability" @@ -389,7 +389,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_withPointsKSP.rst:141 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -562,7 +562,7 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:137 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_withPointsKSP.rst:137 #: ../../build/doc/pgr_withPointsKSP.rst:138 @@ -579,7 +579,7 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:138 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgr_withPointsKSP.rst:139 msgid "" @@ -648,7 +648,7 @@ msgstr "Las consultas utilizan la red :doc:`sampledata` ." #: ../../build/doc/pgr_withPointsKSP.rst:167 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_withPointsKSP.rst:169 msgid ":doc:`withPoints-family`" @@ -660,8 +660,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_withPointsKSP.rst:173 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_withPointsKSP.rst:174 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From eea206dc80c7cc3650047790c3d9761a4a0f65f8 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:01 +0000 Subject: [PATCH 0961/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/bdAstar-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/bdAstar-family.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/bdAstar-family.po b/locale/es/LC_MESSAGES/bdAstar-family.po index 2f4e68dc603..d7ea8d088d6 100644 --- a/locale/es/LC_MESSAGES/bdAstar-family.po +++ b/locale/es/LC_MESSAGES/bdAstar-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -203,7 +203,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:11 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:15 @@ -376,7 +376,7 @@ msgstr "El valor predeterminado `` true`` considera el gráfico como Dirigido." #: ../../build/doc/bdAstar-family.rst:90 msgid "**heuristic**" -msgstr "**heuristic**" +msgstr "**heurística**" #: ../../build/doc/bdAstar-family.rst:90 msgid "``INTEGER``" @@ -443,7 +443,7 @@ msgstr "" #: ../../build/doc/bdAstar-family.rst:106 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/bdAstar-family.rst:109 msgid "Indices and tables" @@ -451,8 +451,8 @@ msgstr "Índices y tablas" #: ../../build/doc/bdAstar-family.rst:110 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/bdAstar-family.rst:111 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From c8f7aba12153dd00f9384d2eb6e38fd97835ffc1 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:04 +0000 Subject: [PATCH 0962/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po' on the 'es' language. --- .../es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po b/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po index 3a23e0b21b4..19a87543bd5 100644 --- a/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:19 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:22 msgid "Availability:" @@ -273,7 +273,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -391,7 +391,7 @@ msgstr "Usar con tsp" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:125 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:127 msgid ":doc:`pgr_bdDijkstra`" @@ -415,8 +415,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:134 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:135 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From de2019223d0f8327f705333fab50d2c79e281985 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:07 +0000 Subject: [PATCH 0963/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_version.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_version.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_version.po b/locale/es/LC_MESSAGES/pgr_version.po index b098ede5e82..1d2fe317f20 100644 --- a/locale/es/LC_MESSAGES/pgr_version.po +++ b/locale/es/LC_MESSAGES/pgr_version.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -130,7 +130,7 @@ msgstr "Versión de pgRouting" #: ../../build/doc/pgr_version.rst:72 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_version.rst:74 msgid ":doc:`pgr_full_version`" @@ -142,8 +142,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_version.rst:78 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_version.rst:79 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 6e4bd38cd763257ea7950fb9b139fb2da05dbc87 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:11 +0000 Subject: [PATCH 0964/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_pickDeliverEuclidean.po' on the 'es' language. --- .../es/LC_MESSAGES/pgr_pickDeliverEuclidean.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po b/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po index edb0dcd5010..079da9de5aa 100644 --- a/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po +++ b/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -319,8 +319,8 @@ msgstr "**vehicles_sql**" msgid "" "`Pick & Deliver Vehicles SQL`_ query containing the vehicles to be used." msgstr "" -"La consulta `Pick & Deliver Vehicles SQL`_ contiene los vehículos que se van" -" a utilizar." +"La consulta `SQL de Vehículos de Recogida y Entrega`_ contiene los vehículos" +" que se van a utilizar." #: ../../build/doc/VRP-category.rst:8 msgid "**factor**" @@ -368,7 +368,7 @@ msgstr "(Opcional) Solución inicial a utilizar." #: ../../build/doc/VRP-category.rst:12 msgid "``1`` One order per truck" -msgstr "``1`` Un orden por camión" +msgstr "``1`` Una orden por camión" #: ../../build/doc/VRP-category.rst:13 msgid "``2`` Push front order." @@ -895,7 +895,7 @@ msgstr "En este ejemplo se utilizan los siguientes datos: TODO put link" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:207 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:209 msgid ":doc:`VRP-category`" @@ -911,8 +911,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:214 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:215 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 4fb4bc1fca709d50e34092931012b777767f43f3 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:13 +0000 Subject: [PATCH 0965/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_withPointsDD.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_withPointsDD.po | 24 +++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_withPointsDD.po b/locale/es/LC_MESSAGES/pgr_withPointsDD.po index dff59caac82..43f65489627 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsDD.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsDD.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -73,7 +73,7 @@ msgstr "Es posible que la documentación necesite un refinamiento." #: ../../build/doc/pgr_withPointsDD.rst:22 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_withPointsDD.rst:25 msgid "Availability" @@ -182,7 +182,7 @@ msgstr "Desde el punto :math:`1` with :math:`agg\\_cost <= 3.8`" #: ../../build/doc/pgr_withPointsDD.rst:87 msgid "Single vertex" -msgstr "Un solo vértice" +msgstr "Vértice único" #: ../../build/doc/pgr_withPointsDD.rst:89 #: ../../build/doc/pgr_withPointsDD.rst:108 @@ -201,7 +201,7 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:106 msgid "Multiple vertices" -msgstr "Múltiples vértices" +msgstr "Múltiples Vértices" #: ../../build/doc/pgr_withPointsDD.rst:116 msgid "Parameters" @@ -390,7 +390,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_withPointsDD.rst:161 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Weight of the edge `(source, target)`" @@ -537,7 +537,7 @@ msgstr "secuencia de filas." #: ../../build/doc/pgr_withPointsDD.rst:157 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_withPointsDD.rst:157 #: ../../build/doc/pgr_withPointsDD.rst:158 @@ -554,7 +554,7 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:158 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgr_withPointsDD.rst:159 msgid "" @@ -628,7 +628,7 @@ msgstr "Las consultas utilizan la red :doc:`sampledata` ." #: ../../build/doc/pgr_withPointsDD.rst:191 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_withPointsDD.rst:193 msgid ":doc:`pgr_drivingDistance` - Driving distance using dijkstra." @@ -644,8 +644,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_withPointsDD.rst:198 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_withPointsDD.rst:199 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 1836a64943f8d50ee66781f1e7e8fd7c688e0c0f Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:20 +0000 Subject: [PATCH 0966/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/flow-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/flow-family.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/locale/es/LC_MESSAGES/flow-family.po b/locale/es/LC_MESSAGES/flow-family.po index 52283022b7c..90e64bc2942 100644 --- a/locale/es/LC_MESSAGES/flow-family.po +++ b/locale/es/LC_MESSAGES/flow-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -423,7 +423,7 @@ msgstr "" #: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:157 msgid "**reverse_capacity**" -msgstr "**reverse_capacity** (**capacidad inversa**)" +msgstr "**reverse_capacity**" #: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:157 msgid "-1" @@ -468,7 +468,7 @@ msgstr "Capacidad de la arista `(destino, origen)`," #: ../../build/doc/flow-family.rst:160 ../../build/doc/flow-family.rst:204 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/flow-family.rst:160 ../../build/doc/flow-family.rst:161 msgid "``ANY-NUMERICAL``" @@ -516,7 +516,7 @@ msgstr "Valor secuencial a partir de **1**." #: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:199 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:199 msgid "Identifier of the edge in the original query(edges_sql)." @@ -733,7 +733,7 @@ msgstr ":math:`residual\\_capacity_i = capacity_i - flow_i`" #: ../../build/doc/flow-family.rst:273 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/flow-family.rst:275 msgid "https://en.wikipedia.org/wiki/Maximum_flow_problem" @@ -745,8 +745,8 @@ msgstr "Índices y tablas" #: ../../build/doc/flow-family.rst:279 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/flow-family.rst:280 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 5a7739069c2fc0fcc675037fc887955de4fba1d8 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:20 +0000 Subject: [PATCH 0967/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_aStar.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_aStar.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_aStar.po b/locale/es/LC_MESSAGES/pgr_aStar.po index 670b6076aca..4e75dbddf3c 100644 --- a/locale/es/LC_MESSAGES/pgr_aStar.po +++ b/locale/es/LC_MESSAGES/pgr_aStar.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -733,7 +733,7 @@ msgstr "Coste agregado de ``start_v`` to ``node``." #: ../../build/doc/pgr_aStar.rst:257 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_aStar.rst:259 msgid ":doc:`aStar-family`" @@ -757,8 +757,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_aStar.rst:266 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_aStar.rst:267 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 137fe0f801b9640e2a02f891b88d999f2f4f52b1 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:23 +0000 Subject: [PATCH 0968/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_analyzeGraph.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_analyzeGraph.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_analyzeGraph.po b/locale/es/LC_MESSAGES/pgr_analyzeGraph.po index 8f06c718690..28b0597eef3 100644 --- a/locale/es/LC_MESSAGES/pgr_analyzeGraph.po +++ b/locale/es/LC_MESSAGES/pgr_analyzeGraph.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -481,7 +481,7 @@ msgstr "Los ejemplos usan la red de ejemplo :doc:`sampledata`" #: ../../build/doc/pgr_analyzeGraph.rst:267 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_analyzeGraph.rst:269 msgid "" @@ -518,8 +518,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_analyzeGraph.rst:276 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_analyzeGraph.rst:277 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From c45840989da8688aac38a6dcd8efb8c3529be81e Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:29 +0000 Subject: [PATCH 0969/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/contraction-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/contraction-family.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/locale/es/LC_MESSAGES/contraction-family.po b/locale/es/LC_MESSAGES/contraction-family.po index c0c9d3ad560..956d9ceaf37 100644 --- a/locale/es/LC_MESSAGES/contraction-family.po +++ b/locale/es/LC_MESSAGES/contraction-family.po @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -42,8 +42,8 @@ msgid "" "/contraction-family.html>`__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.1 `__) `3.0 `__) `3.0 `__ `2.6 `__" @@ -766,7 +766,7 @@ msgstr "" #: ../../build/doc/contraction-family.rst:654 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/contraction-family.rst:656 msgid "" @@ -792,8 +792,8 @@ msgstr "Índices y tablas" #: ../../build/doc/contraction-family.rst:662 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/contraction-family.rst:663 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 5b92bcfbd526e9825247caff3be89e649eea4284 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:37 +0000 Subject: [PATCH 0970/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_johnson.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_johnson.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_johnson.po b/locale/es/LC_MESSAGES/pgr_johnson.po index 8f1998289ce..2ed2b94e231 100644 --- a/locale/es/LC_MESSAGES/pgr_johnson.po +++ b/locale/es/LC_MESSAGES/pgr_johnson.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_johnson.rst:19 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_johnson.rst:22 msgid "Availability" @@ -297,7 +297,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:12 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:12 #: ../../build/doc/pgRouting-concepts.rst:16 @@ -398,7 +398,7 @@ msgstr "Costo total de ``start_vid`` a ``end_vid``." #: ../../build/doc/pgr_johnson.rst:144 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_johnson.rst:146 msgid ":doc:`pgr_floydWarshall`" @@ -424,8 +424,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_johnson.rst:152 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_johnson.rst:153 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From e58a400542fd38d7699d53238420c294d283674a Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:40 +0000 Subject: [PATCH 0971/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_withPoints.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_withPoints.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_withPoints.po b/locale/es/LC_MESSAGES/pgr_withPoints.po index 9d29fbb948d..7c08ba15b88 100644 --- a/locale/es/LC_MESSAGES/pgr_withPoints.po +++ b/locale/es/LC_MESSAGES/pgr_withPoints.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -74,7 +74,7 @@ msgstr "Es posible que la documentación necesite un refinamiento." #: ../../build/doc/pgr_withPoints.rst:22 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_withPoints.rst:25 msgid "Availability" @@ -467,7 +467,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_withPoints.rst:223 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -649,7 +649,7 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:216 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_withPoints.rst:218 msgid "Identifier of the node:" @@ -665,7 +665,7 @@ msgstr "Un valor negativo indica que el nodo es un punto de points_sql." #: ../../build/doc/pgr_withPoints.rst:220 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/pgr_withPoints.rst:221 msgid "" @@ -742,7 +742,7 @@ msgstr "Las consultas usan la red :doc:`sampledata`" #: ../../build/doc/pgr_withPoints.rst:255 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_withPoints.rst:257 msgid ":doc:`withPoints-family`" @@ -754,8 +754,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_withPoints.rst:261 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_withPoints.rst:262 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From a4514c283041cda03f203894df64099e0dbce2c1 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:43 +0000 Subject: [PATCH 0972/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/release_notes.po' on the 'es' language. --- locale/es/LC_MESSAGES/release_notes.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/locale/es/LC_MESSAGES/release_notes.po b/locale/es/LC_MESSAGES/release_notes.po index f5a45715acc..08a91bba785 100644 --- a/locale/es/LC_MESSAGES/release_notes.po +++ b/locale/es/LC_MESSAGES/release_notes.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 # Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" From a05e1fa5db10558832277720c16691f60bdd6244 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:47 +0000 Subject: [PATCH 0973/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/costMatrix-category.po' on the 'es' language. --- locale/es/LC_MESSAGES/costMatrix-category.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/locale/es/LC_MESSAGES/costMatrix-category.po b/locale/es/LC_MESSAGES/costMatrix-category.po index 9190382162f..0e34934cea1 100644 --- a/locale/es/LC_MESSAGES/costMatrix-category.po +++ b/locale/es/LC_MESSAGES/costMatrix-category.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -285,7 +285,7 @@ msgstr "" #: ../../build/doc/costMatrix-category.rst:114 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/costMatrix-category.rst:116 msgid ":doc:`TSP-family`" @@ -297,8 +297,8 @@ msgstr "Índices y tablas" #: ../../build/doc/costMatrix-category.rst:120 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/costMatrix-category.rst:121 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 6abed782d24dbb71d3efba01cd1f104064fa815a Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:51 +0000 Subject: [PATCH 0974/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_createVerticesTable.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_createVerticesTable.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_createVerticesTable.po b/locale/es/LC_MESSAGES/pgr_createVerticesTable.po index b719e2838ee..94925923765 100644 --- a/locale/es/LC_MESSAGES/pgr_createVerticesTable.po +++ b/locale/es/LC_MESSAGES/pgr_createVerticesTable.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -311,7 +311,7 @@ msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex " "as outgoing. See :doc:`pgr_analyzeOneWay `." msgstr "" -"``integer`` Número de vértices en el edge_table que hacen referencia a este " +"``integer`` Número de vértices en edge_table que hacen referencia a este " "vértice como saliente. Consulte :doc:`pgr_analyzeOneWay " "`." @@ -536,7 +536,7 @@ msgstr "En el ejemplo se utiliza la red :doc:`sampledata`. " #: ../../build/doc/pgr_createVerticesTable.rst:259 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_createVerticesTable.rst:261 msgid "" @@ -572,8 +572,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_createVerticesTable.rst:268 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_createVerticesTable.rst:269 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From d907454170ff3e004f9dc7b4ff660a236f417fd7 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:31:54 +0000 Subject: [PATCH 0975/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/components-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/components-family.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/locale/es/LC_MESSAGES/components-family.po b/locale/es/LC_MESSAGES/components-family.po index 28695fc1bbb..f7d5e3bfb33 100644 --- a/locale/es/LC_MESSAGES/components-family.po +++ b/locale/es/LC_MESSAGES/components-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -186,7 +186,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -294,7 +294,7 @@ msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:8 #: ../../build/doc/pgr_connectedComponents.rst:10 msgid "**node**" -msgstr "**node**" +msgstr "**nodo**" #: ../../build/doc/pgr_connectedComponents.rst:10 msgid "Identifier of the vertex that belongs to **component**." @@ -319,7 +319,7 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:10 #: ../../build/doc/pgr_bridges.rst:8 msgid "**edge**" -msgstr "**edge**" +msgstr "**arista**" #: ../../build/doc/components-family.rst:86 msgid "pgr_articulationPoints" @@ -347,7 +347,7 @@ msgstr "Identificador del borde que es un puente." #: ../../build/doc/components-family.rst:101 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/components-family.rst:104 msgid "Indices and tables" @@ -355,8 +355,8 @@ msgstr "Índices y tablas" #: ../../build/doc/components-family.rst:105 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/components-family.rst:106 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 90940410445b79b31571c16913300c142fdc45f5 Mon Sep 17 00:00:00 2001 From: Vicky Vergara Date: Wed, 4 Nov 2020 12:41:11 -0600 Subject: [PATCH 0976/1360] Porting 1650 (#1651) * Fixing description of cost matrix his is wrong: Identifier of the starting vertex. Used when multiple starting vetrices are in the query. Should be Identifier of the starting vertex. * setting the translation files for the change --- doc/src/pgRouting-concepts.rst | 4 ++-- locale/en/LC_MESSAGES/pgRouting-concepts.po | 13 ++++--------- locale/pot/pgRouting-concepts.pot | 10 +++++----- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/doc/src/pgRouting-concepts.rst b/doc/src/pgRouting-concepts.rst index e58f5dcac8e..2c319265fc6 100644 --- a/doc/src/pgRouting-concepts.rst +++ b/doc/src/pgRouting-concepts.rst @@ -483,8 +483,8 @@ Returns SET OF ``(start_vid, end_vid, agg_cost)`` ============== ========== ================================================= Column Type Description ============== ========== ================================================= -**start_vid** ``BIGINT`` Identifier of the starting vertex. Used when multiple starting vetrices are in the query. -**end_vid** ``BIGINT`` Identifier of the ending vertex. Used when multiple ending vertices are in the query. +**start_vid** ``BIGINT`` Identifier of the starting vertex. +**end_vid** ``BIGINT`` Identifier of the ending vertex. **agg_cost** ``FLOAT`` Aggregate cost from ``start_vid`` to ``end_vid``. ============== ========== ================================================= diff --git a/locale/en/LC_MESSAGES/pgRouting-concepts.po b/locale/en/LC_MESSAGES/pgRouting-concepts.po index 49479363a23..46f26f0a5af 100644 --- a/locale/en/LC_MESSAGES/pgRouting-concepts.po +++ b/locale/en/LC_MESSAGES/pgRouting-concepts.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgRouting-concepts.rst:13 msgid "pgRouting Concepts" @@ -960,15 +960,11 @@ msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:486 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices " -"are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:487 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are " -"in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:488 @@ -1330,4 +1326,3 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:820 msgid ":ref:`search`" msgstr "" - diff --git a/locale/pot/pgRouting-concepts.pot b/locale/pot/pgRouting-concepts.pot index f591a6526d9..434eb3a9ce8 100644 --- a/locale/pot/pgRouting-concepts.pot +++ b/locale/pot/pgRouting-concepts.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -948,11 +948,11 @@ msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:486 -msgid "Identifier of the starting vertex. Used when multiple starting vetrices are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:487 -msgid "Identifier of the ending vertex. Used when multiple ending vertices are in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:488 From bc0c859e0bb86b07e2a0a103094db5f6f2db42e3 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 12:55:44 -0600 Subject: [PATCH 0977/1360] Apply translations in es (#1652) translation completed for the source file '/locale/en/LC_MESSAGES/pgr_lineGraph.po' on the 'es' language. Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> Co-authored-by: Vicky Vergara --- locale/es/LC_MESSAGES/pgr_lineGraph.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_lineGraph.po b/locale/es/LC_MESSAGES/pgr_lineGraph.po index 00f683b5183..bb7eaabd51e 100644 --- a/locale/es/LC_MESSAGES/pgr_lineGraph.po +++ b/locale/es/LC_MESSAGES/pgr_lineGraph.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"PO-Revision-Date: 2020-11-04 18:27+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_lineGraph.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/experimental.rst:3 msgid "Possible server crash" @@ -281,7 +281,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_lineGraph.rst:125 msgid "**cost**" -msgstr "**cost**" +msgstr "**costo**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -413,7 +413,7 @@ msgstr "" #: ../../build/doc/pgr_lineGraph.rst:135 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_lineGraph.rst:137 msgid "https://en.wikipedia.org/wiki/Line_graph" @@ -429,8 +429,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_lineGraph.rst:142 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_lineGraph.rst:143 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From cdfd821969759c5e15d03f090bdd5a055bb36ef8 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 12:57:35 -0600 Subject: [PATCH 0978/1360] Apply translations in es (#1716) translation completed for the source file '/locale/en/LC_MESSAGES/pgRouting-concepts.po' on the 'es' language. Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> --- locale/es/LC_MESSAGES/pgRouting-concepts.po | 26 +++++++-------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgRouting-concepts.po b/locale/es/LC_MESSAGES/pgRouting-concepts.po index 2e6d4a9fdcc..5e958ac62bf 100644 --- a/locale/es/LC_MESSAGES/pgRouting-concepts.po +++ b/locale/es/LC_MESSAGES/pgRouting-concepts.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1076,20 +1076,12 @@ msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" msgstr "Devuelve SET OF ``(start_vid, end_vid, agg_cost)``" #: ../../build/doc/pgRouting-concepts.rst:486 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." -msgstr "" -"Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " -"iniciales en la consulta." +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." #: ../../build/doc/pgRouting-concepts.rst:487 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." -msgstr "" -"Identificador del vértice final. Se utiliza cuando hay varios vértices " -"finales en la consulta." +msgid "Identifier of the ending vertex." +msgstr "Identificador del vértice final." #: ../../build/doc/pgRouting-concepts.rst:488 msgid "Aggregate cost from ``start_vid`` to ``end_vid``." From 48a89bc1ddba2b80388367f83e08b48c1318c707 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2020 13:00:11 -0600 Subject: [PATCH 0979/1360] Apply translations in es (#1715) translation completed for the source file '/locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po' on the 'es' language. Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> Co-authored-by: Vicky Vergara --- locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po b/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po index b07bc1c720c..c444f4bc2cd 100644 --- a/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po +++ b/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 # #, fuzzy @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" @@ -40,7 +40,7 @@ msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:18 msgid "Boost Graph Inside" -msgstr "Adentro: Boost Graph" +msgstr "Boost Graph Interno" #: ../../build/doc/pgr_boykovKolmogorov.rst:21 msgid "Availability:" @@ -348,7 +348,7 @@ msgstr "" #: ../../build/doc/flow-family.rst:15 msgid "**reverse_capacity**" -msgstr "**reverse_capacity** (**capacidad inversa**)" +msgstr "**reverse_capacity**" #: ../../build/doc/flow-family.rst:15 msgid "-1" @@ -431,7 +431,7 @@ msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:165 msgid "See Also" -msgstr "Ver también" +msgstr "Véase también" #: ../../build/doc/pgr_boykovKolmogorov.rst:167 msgid ":doc:`flow-family`, :doc:`pgr_pushRelabel`, :doc:`pgr_edmondsKarp`" @@ -447,8 +447,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_boykovKolmogorov.rst:172 msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" +msgstr ":ref:`Índice `" #: ../../build/doc/pgr_boykovKolmogorov.rst:173 msgid ":ref:`search`" -msgstr ":ref:`search`" +msgstr ":ref:`búsqueda `" From 2cce4b880bc7c9ffa1c5bdb305bb0c024d94e989 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 4 Nov 2020 13:11:36 -0600 Subject: [PATCH 0980/1360] [locale][en] updating all the locale files for version 3.2 --- locale/en/LC_MESSAGES/TSP-family.po | 25 +- locale/en/LC_MESSAGES/coloring-family.po | 324 +++++ locale/en/LC_MESSAGES/components-family.po | 153 +- locale/en/LC_MESSAGES/dijkstra-family.po | 119 +- locale/en/LC_MESSAGES/experimental.po | 88 +- locale/en/LC_MESSAGES/index.po | 72 +- .../en/LC_MESSAGES/pgRouting-installation.po | 12 +- .../en/LC_MESSAGES/pgRouting-introduction.po | 76 +- locale/en/LC_MESSAGES/pgr_TSP.po | 25 +- locale/en/LC_MESSAGES/pgr_TSPeuclidean.po | 25 +- locale/en/LC_MESSAGES/pgr_aStarCost.po | 24 +- locale/en/LC_MESSAGES/pgr_aStarCostMatrix.po | 24 +- locale/en/LC_MESSAGES/pgr_bdAstarCost.po | 24 +- .../en/LC_MESSAGES/pgr_bdAstarCostMatrix.po | 24 +- locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po | 24 +- .../LC_MESSAGES/pgr_bdDijkstraCostMatrix.po | 24 +- locale/en/LC_MESSAGES/pgr_bipartite.po | 392 ++++++ locale/en/LC_MESSAGES/pgr_depthFirstSearch.po | 577 ++++++++ locale/en/LC_MESSAGES/pgr_dijkstraCost.po | 24 +- .../en/LC_MESSAGES/pgr_dijkstraCostMatrix.po | 24 +- locale/en/LC_MESSAGES/pgr_dijkstraNear.po | 738 ++++++++++ locale/en/LC_MESSAGES/pgr_dijkstraNearCost.po | 682 +++++++++ locale/en/LC_MESSAGES/pgr_isPlanar.po | 354 +++++ .../pgr_lengauerTarjanDominatorTree.po | 396 ++++++ locale/en/LC_MESSAGES/pgr_makeConnected.po | 367 +++++ .../pgr_sequentialVertexColoring.po | 394 ++++++ .../LC_MESSAGES/pgr_withPointsCostMatrix.po | 24 +- locale/en/LC_MESSAGES/release_notes.po | 1106 ++++++++------- locale/en/LC_MESSAGES/traversal-family.po | 246 ++++ locale/pot/KSP-category.pot | 6 +- locale/pot/TSP-family.pot | 18 +- locale/pot/VRP-category.pot | 6 +- locale/pot/aStar-family.pot | 6 +- locale/pot/allpairs-family.pot | 6 +- locale/pot/bdAstar-family.pot | 6 +- locale/pot/bdDijkstra-family.pot | 6 +- locale/pot/chinesePostmanProblem-family.pot | 6 +- locale/pot/coloring-family.pot | 307 ++++ locale/pot/components-family.pot | 155 +- locale/pot/contraction-family.pot | 6 +- locale/pot/cost-category.pot | 6 +- locale/pot/costMatrix-category.pot | 6 +- locale/pot/dijkstra-family.pot | 127 +- locale/pot/drivingDistance-category.pot | 6 +- locale/pot/experimental.pot | 86 +- locale/pot/flow-family.pot | 6 +- locale/pot/index.pot | 74 +- locale/pot/kruskal-family.pot | 6 +- locale/pot/pgRouting-installation.pot | 8 +- locale/pot/pgRouting-introduction.pot | 30 +- locale/pot/pgr_KSP.pot | 6 +- locale/pot/pgr_TSP.pot | 18 +- locale/pot/pgr_TSPeuclidean.pot | 18 +- locale/pot/pgr_aStar.pot | 6 +- locale/pot/pgr_aStarCost.pot | 10 +- locale/pot/pgr_aStarCostMatrix.pot | 10 +- locale/pot/pgr_alphaShape.pot | 6 +- locale/pot/pgr_analyzeGraph.pot | 6 +- locale/pot/pgr_analyzeOneWay.pot | 6 +- locale/pot/pgr_articulationPoints.pot | 6 +- locale/pot/pgr_bdAstar.pot | 6 +- locale/pot/pgr_bdAstarCost.pot | 10 +- locale/pot/pgr_bdAstarCostMatrix.pot | 10 +- locale/pot/pgr_bdDijkstra.pot | 6 +- locale/pot/pgr_bdDijkstraCost.pot | 10 +- locale/pot/pgr_bdDijkstraCostMatrix.pot | 10 +- locale/pot/pgr_bellmanFord.pot | 6 +- locale/pot/pgr_biconnectedComponents.pot | 6 +- locale/pot/pgr_binaryBreadthFirstSearch.pot | 6 +- locale/pot/pgr_bipartite.pot | 373 +++++ locale/pot/pgr_boykovKolmogorov.pot | 6 +- locale/pot/pgr_breadthFirstSearch.pot | 6 +- locale/pot/pgr_bridges.pot | 6 +- locale/pot/pgr_chinesePostman.pot | 6 +- locale/pot/pgr_chinesePostmanCost.pot | 6 +- locale/pot/pgr_connectedComponents.pot | 6 +- locale/pot/pgr_contraction.pot | 6 +- locale/pot/pgr_createTopology.pot | 6 +- locale/pot/pgr_createVerticesTable.pot | 6 +- locale/pot/pgr_dagShortestPath.pot | 6 +- locale/pot/pgr_depthFirstSearch.pot | 553 ++++++++ locale/pot/pgr_dijkstra.pot | 6 +- locale/pot/pgr_dijkstraCost.pot | 10 +- locale/pot/pgr_dijkstraCostMatrix.pot | 10 +- locale/pot/pgr_dijkstraNear.pot | 706 ++++++++++ locale/pot/pgr_dijkstraNearCost.pot | 662 +++++++++ locale/pot/pgr_dijkstraVia.pot | 6 +- locale/pot/pgr_drivingDistance.pot | 6 +- locale/pot/pgr_edgeDisjointPaths.pot | 6 +- locale/pot/pgr_edmondsKarp.pot | 6 +- locale/pot/pgr_edwardMoore.pot | 6 +- locale/pot/pgr_extractVertices.pot | 6 +- locale/pot/pgr_floydWarshall.pot | 6 +- locale/pot/pgr_full_version.pot | 6 +- locale/pot/pgr_isPlanar.pot | 346 +++++ locale/pot/pgr_johnson.pot | 6 +- locale/pot/pgr_kruskal.pot | 6 +- locale/pot/pgr_kruskalBFS.pot | 6 +- locale/pot/pgr_kruskalDD.pot | 6 +- locale/pot/pgr_kruskalDFS.pot | 6 +- .../pot/pgr_lengauerTarjanDominatorTree.pot | 379 +++++ locale/pot/pgr_lineGraph.pot | 6 +- locale/pot/pgr_lineGraphFull.pot | 6 +- locale/pot/pgr_makeConnected.pot | 349 +++++ locale/pot/pgr_maxCardinalityMatch.pot | 6 +- locale/pot/pgr_maxFlow.pot | 6 +- locale/pot/pgr_maxFlowMinCost.pot | 6 +- locale/pot/pgr_maxFlowMinCost_Cost.pot | 6 +- locale/pot/pgr_nodeNetwork.pot | 6 +- locale/pot/pgr_pickDeliver.pot | 6 +- locale/pot/pgr_pickDeliverEuclidean.pot | 6 +- locale/pot/pgr_prim.pot | 6 +- locale/pot/pgr_primBFS.pot | 6 +- locale/pot/pgr_primDD.pot | 6 +- locale/pot/pgr_primDFS.pot | 6 +- locale/pot/pgr_pushRelabel.pot | 6 +- locale/pot/pgr_sequentialVertexColoring.pot | 376 +++++ locale/pot/pgr_stoerWagner.pot | 6 +- locale/pot/pgr_strongComponents.pot | 6 +- locale/pot/pgr_topologicalSort.pot | 6 +- locale/pot/pgr_transitiveClosure.pot | 6 +- locale/pot/pgr_trsp.pot | 6 +- locale/pot/pgr_turnRestrictedPath.pot | 6 +- locale/pot/pgr_version.pot | 6 +- locale/pot/pgr_vrpOneDepot.pot | 6 +- locale/pot/pgr_withPoints.pot | 6 +- locale/pot/pgr_withPointsCost.pot | 6 +- locale/pot/pgr_withPointsCostMatrix.pot | 10 +- locale/pot/pgr_withPointsDD.pot | 6 +- locale/pot/pgr_withPointsKSP.pot | 6 +- locale/pot/prim-family.pot | 6 +- locale/pot/proposed.pot | 6 +- locale/pot/release_notes.pot | 1245 +++++++++-------- locale/pot/routingFunctions.pot | 6 +- locale/pot/sampledata.pot | 6 +- locale/pot/spanningTree-family.pot | 6 +- locale/pot/support.pot | 6 +- locale/pot/topology-functions.pot | 6 +- locale/pot/transformation-family.pot | 6 +- locale/pot/traversal-family.pot | 237 ++++ locale/pot/withPoints-family.pot | 6 +- 141 files changed, 11236 insertions(+), 1806 deletions(-) create mode 100644 locale/en/LC_MESSAGES/coloring-family.po create mode 100644 locale/en/LC_MESSAGES/pgr_bipartite.po create mode 100644 locale/en/LC_MESSAGES/pgr_depthFirstSearch.po create mode 100644 locale/en/LC_MESSAGES/pgr_dijkstraNear.po create mode 100644 locale/en/LC_MESSAGES/pgr_dijkstraNearCost.po create mode 100644 locale/en/LC_MESSAGES/pgr_isPlanar.po create mode 100644 locale/en/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po create mode 100644 locale/en/LC_MESSAGES/pgr_makeConnected.po create mode 100644 locale/en/LC_MESSAGES/pgr_sequentialVertexColoring.po create mode 100644 locale/en/LC_MESSAGES/traversal-family.po create mode 100644 locale/pot/coloring-family.pot create mode 100644 locale/pot/pgr_bipartite.pot create mode 100644 locale/pot/pgr_depthFirstSearch.pot create mode 100644 locale/pot/pgr_dijkstraNear.pot create mode 100644 locale/pot/pgr_dijkstraNearCost.pot create mode 100644 locale/pot/pgr_isPlanar.pot create mode 100644 locale/pot/pgr_lengauerTarjanDominatorTree.pot create mode 100644 locale/pot/pgr_makeConnected.pot create mode 100644 locale/pot/pgr_sequentialVertexColoring.pot create mode 100644 locale/pot/traversal-family.pot diff --git a/locale/en/LC_MESSAGES/TSP-family.po b/locale/en/LC_MESSAGES/TSP-family.po index 1676da9cafd..744457466f7 100644 --- a/locale/en/LC_MESSAGES/TSP-family.po +++ b/locale/en/LC_MESSAGES/TSP-family.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/TSP-family.rst:11 msgid "Traveling Sales Person - Family of functions" @@ -546,32 +546,31 @@ msgstr "" #: ../../build/doc/TSP-family.rst:271 msgid "" -"`Simulated annaeling algorithm for beginners " -"`__" -msgstr "" - -#: ../../build/doc/TSP-family.rst:272 -msgid "" "`Wikipedia: Traveling Salesman Problem " "`__" msgstr "" -#: ../../build/doc/TSP-family.rst:273 +#: ../../build/doc/TSP-family.rst:272 msgid "" "`Wikipedia: Simulated annealing " "`__" msgstr "" -#: ../../build/doc/TSP-family.rst:276 +#: ../../build/doc/TSP-family.rst:275 msgid "Indices and tables" msgstr "" -#: ../../build/doc/TSP-family.rst:277 +#: ../../build/doc/TSP-family.rst:276 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/TSP-family.rst:278 +#: ../../build/doc/TSP-family.rst:277 msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "`Simulated annaeling algorithm for beginners" +#~ " `__" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/coloring-family.po b/locale/en/LC_MESSAGES/coloring-family.po new file mode 100644 index 00000000000..db39ff44ac5 --- /dev/null +++ b/locale/en/LC_MESSAGES/coloring-family.po @@ -0,0 +1,324 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../../build/doc/coloring-family.rst:11 +msgid "Coloring - Family of functions (Experimental)" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/coloring-family.rst:19 +msgid "" +":doc:`pgr_sequentialVertexColoring` - Vertex coloring algorithm using " +"greedy approach." +msgstr "" + +#: ../../build/doc/coloring-family.rst:20 +msgid "" +":doc:`pgr_bipartite` - Bipartite graph algorithm using a DFS-based " +"coloring approach." +msgstr "" + +#: ../../build/doc/coloring-family.rst:32 +msgid "Versions of this page" +msgstr "" + +#: ../../build/doc/coloring-family.rst:33 +msgid "" +"**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/coloring-family.rst:38 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/coloring-family.rst:43 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/coloring-family.rst:43 +#: ../../build/doc/coloring-family.rst:69 +#: ../../build/doc/traversal-family.rst:4 +msgid "Type" +msgstr "" + +#: ../../build/doc/coloring-family.rst:43 +#: ../../build/doc/coloring-family.rst:69 +#: ../../build/doc/traversal-family.rst:4 +msgid "Description" +msgstr "" + +#: ../../build/doc/coloring-family.rst:45 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:45 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:45 +msgid "Inner query as described below." +msgstr "" + +#: ../../build/doc/coloring-family.rst:51 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/coloring-family.rst +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/coloring-family.rst:53 +msgid "" +"an SQL query of an **undirected** graph, which should return a set of " +"rows with the following columns:" +msgstr "" + +#: ../../build/doc/coloring-family.rst:69 +#: ../../build/doc/traversal-family.rst:4 +msgid "Column" +msgstr "" + +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/coloring-family.rst:62 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/coloring-family.rst:66 +msgid "Returns SET OF ``(vertex_id, color_id)``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:71 +msgid "**vertex_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:71 +#: ../../build/doc/coloring-family.rst:72 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:71 +msgid "Identifier of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:72 +msgid "**color_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:72 +msgid "Identifier of the color of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:74 +msgid "The minimum value of color is 1." +msgstr "" + +#: ../../build/doc/coloring-family.rst:82 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:3 +msgid "" +"`Boost: Sequential Vertex Coloring algorithm documentation " +"`__" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:4 +msgid "" +"`Wikipedia: Graph coloring " +"`__" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:3 +msgid "" +"`Boost: is_bipartite algorithm documentation " +"`__" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:4 +msgid "" +"`Wikipedia: bipartite graph " +"`__" +msgstr "" + +#: ../../build/doc/coloring-family.rst:96 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/coloring-family.rst:97 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/coloring-family.rst:98 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/en/LC_MESSAGES/components-family.po b/locale/en/LC_MESSAGES/components-family.po index 9296c317e5e..7d9e83b551b 100644 --- a/locale/en/LC_MESSAGES/components-family.po +++ b/locale/en/LC_MESSAGES/components-family.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/components-family.rst:11 msgid "Components - Family of functions" @@ -49,11 +49,87 @@ msgstr "" msgid ":doc:`pgr_bridges` - Bridges of an undirected graph." msgstr "" -#: ../../build/doc/components-family.rst:35 +#: ../../build/doc/components-family.rst:25 +msgid "Experimental" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/components-family.rst:32 +msgid ":doc:`pgr_makeConnected` - Details of edges to make graph connected." +msgstr "" + +#: ../../build/doc/components-family.rst:48 msgid "Previous versions of this page" msgstr "" -#: ../../build/doc/components-family.rst:36 +#: ../../build/doc/components-family.rst:49 msgid "" "**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" -#: ../../build/doc/components-family.rst:41 +#: ../../build/doc/components-family.rst:54 msgid "" "**Unsupported versions:** `2.5 `__" msgstr "" -#: ../../build/doc/components-family.rst:46 +#: ../../build/doc/components-family.rst:59 msgid "Parameters" msgstr "" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 msgid "Parameter" msgstr "" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_articulationPoints.rst:6 #: ../../build/doc/pgr_biconnectedComponents.rst:6 #: ../../build/doc/pgr_bridges.rst:6 #: ../../build/doc/pgr_connectedComponents.rst:6 +#: ../../build/doc/pgr_makeConnected.rst:6 msgid "Type" msgstr "" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_articulationPoints.rst:6 #: ../../build/doc/pgr_biconnectedComponents.rst:6 #: ../../build/doc/pgr_bridges.rst:6 #: ../../build/doc/pgr_connectedComponents.rst:6 +#: ../../build/doc/pgr_makeConnected.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/components-family.rst:53 +#: ../../build/doc/components-family.rst:66 msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/components-family.rst:53 +#: ../../build/doc/components-family.rst:66 msgid "``TEXT``" msgstr "" -#: ../../build/doc/components-family.rst:53 +#: ../../build/doc/components-family.rst:66 msgid "Inner query as described below." msgstr "" -#: ../../build/doc/components-family.rst:59 +#: ../../build/doc/components-family.rst:72 msgid "Inner query" msgstr "" @@ -118,7 +196,7 @@ msgstr "" msgid "Edges SQL" msgstr "" -#: ../../build/doc/components-family.rst:61 +#: ../../build/doc/components-family.rst:74 msgid "an SQL query which should return a set of rows with the following columns:" msgstr "" @@ -127,6 +205,7 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:6 #: ../../build/doc/pgr_bridges.rst:6 #: ../../build/doc/pgr_connectedComponents.rst:6 +#: ../../build/doc/pgr_makeConnected.rst:6 msgid "Column" msgstr "" @@ -150,6 +229,7 @@ msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgr_makeConnected.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "" @@ -158,6 +238,7 @@ msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgr_makeConnected.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -218,11 +299,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/components-family.rst:68 +#: ../../build/doc/components-family.rst:81 msgid "Result Columns" msgstr "" -#: ../../build/doc/components-family.rst:71 +#: ../../build/doc/components-family.rst:84 msgid "pgr_connectedComponents & pgr_strongComponents" msgstr "" @@ -232,6 +313,7 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:8 #: ../../build/doc/pgr_connectedComponents.rst:8 +#: ../../build/doc/pgr_makeConnected.rst:8 msgid "**seq**" msgstr "" @@ -243,11 +325,14 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:8 #: ../../build/doc/pgr_connectedComponents.rst:9 #: ../../build/doc/pgr_connectedComponents.rst:10 +#: ../../build/doc/pgr_makeConnected.rst:9 +#: ../../build/doc/pgr_makeConnected.rst:10 msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:8 #: ../../build/doc/pgr_connectedComponents.rst:8 +#: ../../build/doc/pgr_makeConnected.rst:8 msgid "Sequential value starting from **1**." msgstr "" @@ -271,7 +356,7 @@ msgstr "" msgid "Identifier of the vertex that belongs to **component**." msgstr "" -#: ../../build/doc/components-family.rst:79 +#: ../../build/doc/components-family.rst:92 msgid "pgr_biconnectedComponents" msgstr "" @@ -290,7 +375,7 @@ msgstr "" msgid "**edge**" msgstr "" -#: ../../build/doc/components-family.rst:86 +#: ../../build/doc/components-family.rst:99 msgid "pgr_articulationPoints" msgstr "" @@ -302,7 +387,7 @@ msgstr "" msgid "Identifier of the vertex." msgstr "" -#: ../../build/doc/components-family.rst:93 +#: ../../build/doc/components-family.rst:106 msgid "pgr_bridges" msgstr "" @@ -314,19 +399,39 @@ msgstr "" msgid "Identifier of the edge that is a bridge." msgstr "" -#: ../../build/doc/components-family.rst:101 +#: ../../build/doc/components-family.rst:113 +msgid "pgr_makeConnected - Experimental" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:3 +msgid "Returns set of ``(seq, start_vid, end_vid)``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:8 +msgid "``INT``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:9 +msgid "**start_vid**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:10 +msgid "**end_vid**" +msgstr "" + +#: ../../build/doc/components-family.rst:121 msgid "See Also" msgstr "" -#: ../../build/doc/components-family.rst:104 +#: ../../build/doc/components-family.rst:124 msgid "Indices and tables" msgstr "" -#: ../../build/doc/components-family.rst:105 +#: ../../build/doc/components-family.rst:125 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/components-family.rst:106 +#: ../../build/doc/components-family.rst:126 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/dijkstra-family.po b/locale/en/LC_MESSAGES/dijkstra-family.po index 5d0dcb45237..1e91035ec7e 100644 --- a/locale/en/LC_MESSAGES/dijkstra-family.po +++ b/locale/en/LC_MESSAGES/dijkstra-family.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/dijkstra-family.rst:11 msgid "Dijkstra - Family of functions" @@ -46,7 +46,7 @@ msgid "" msgstr "" #: ../../build/doc/dijkstra-family.rst:24 -msgid "proposed" +msgid "Proposed" msgstr "" #: ../../build/doc/proposed.rst:3 @@ -89,11 +89,23 @@ msgstr "" msgid ":doc:`pgr_dijkstraVia` - Get a route of a seuence of vertices." msgstr "" -#: ../../build/doc/dijkstra-family.rst:47 +#: ../../build/doc/dijkstra-family.rst:37 +msgid "Experimental" +msgstr "" + +#: ../../build/doc/dijkstra-family.rst:44 +msgid ":doc:`pgr_dijkstraNear` - Get the route to the nearest vertex." +msgstr "" + +#: ../../build/doc/dijkstra-family.rst:45 +msgid ":doc:`pgr_dijkstraNearCost` - Get the cost to the nearest vertex." +msgstr "" + +#: ../../build/doc/dijkstra-family.rst:62 msgid "Previous versions of this page" msgstr "" -#: ../../build/doc/dijkstra-family.rst:48 +#: ../../build/doc/dijkstra-family.rst:63 msgid "" "**Supported versions:** current(`3.1 `__) `3.0 `__" msgstr "" -#: ../../build/doc/dijkstra-family.rst:53 +#: ../../build/doc/dijkstra-family.rst:68 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__" msgstr "" -#: ../../build/doc/dijkstra-family.rst:61 +#: ../../build/doc/dijkstra-family.rst:76 msgid "The problem definition (Advanced documentation)" msgstr "" -#: ../../build/doc/dijkstra-family.rst:64 +#: ../../build/doc/dijkstra-family.rst:79 msgid "Given the following query:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:67 +#: ../../build/doc/dijkstra-family.rst:82 msgid "pgr_dijkstra(:math:`sql, start_{vid}, end_{vid}, directed`)" msgstr "" -#: ../../build/doc/dijkstra-family.rst:69 +#: ../../build/doc/dijkstra-family.rst:84 msgid "" "where :math:`sql = \\{(id_i, source_i, target_i, cost_i, " "reverse\\_cost_i)\\}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:71 +#: ../../build/doc/dijkstra-family.rst:86 msgid "and" msgstr "" -#: ../../build/doc/dijkstra-family.rst:73 +#: ../../build/doc/dijkstra-family.rst:88 msgid ":math:`source = \\bigcup source_i`," msgstr "" -#: ../../build/doc/dijkstra-family.rst:74 +#: ../../build/doc/dijkstra-family.rst:89 msgid ":math:`target = \\bigcup target_i`," msgstr "" -#: ../../build/doc/dijkstra-family.rst:76 +#: ../../build/doc/dijkstra-family.rst:91 msgid "The graphs are defined as follows:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:79 +#: ../../build/doc/dijkstra-family.rst:94 msgid "Directed graph" msgstr "" -#: ../../build/doc/dijkstra-family.rst:80 +#: ../../build/doc/dijkstra-family.rst:95 msgid "The weighted directed graph, :math:`G_d(V,E)`, is definied by:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:82 -#: ../../build/doc/dijkstra-family.rst:101 +#: ../../build/doc/dijkstra-family.rst:97 +#: ../../build/doc/dijkstra-family.rst:116 msgid "the set of vertices :math:`V`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:84 +#: ../../build/doc/dijkstra-family.rst:99 msgid ":math:`V = source \\cup target \\cup {start_{vid}} \\cup {end_{vid}}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:86 -#: ../../build/doc/dijkstra-family.rst:106 +#: ../../build/doc/dijkstra-family.rst:101 +#: ../../build/doc/dijkstra-family.rst:121 msgid "the set of edges :math:`E`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:88 +#: ../../build/doc/dijkstra-family.rst:103 msgid "" ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, cost_i) " "\\text{ when } cost >=0 \\} & \\quad \\text{if } reverse\\_cost = " @@ -178,19 +190,19 @@ msgid "" "reverse\\_cost \\neq \\varnothing \\\\ \\end{cases}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:98 +#: ../../build/doc/dijkstra-family.rst:113 msgid "Undirected graph" msgstr "" -#: ../../build/doc/dijkstra-family.rst:99 +#: ../../build/doc/dijkstra-family.rst:114 msgid "The weighted undirected graph, :math:`G_u(V,E)`, is definied by:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:103 +#: ../../build/doc/dijkstra-family.rst:118 msgid ":math:`V = source \\cup target \\cup {start_v{vid}} \\cup {end_{vid}}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:108 +#: ../../build/doc/dijkstra-family.rst:123 msgid "" ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, cost_i) " "\\text{ when } cost >=0 \\} & \\quad \\text{ } \\\\ \\cup " @@ -205,127 +217,130 @@ msgid "" "\\neq \\varnothing \\\\ \\end{cases}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:121 +#: ../../build/doc/dijkstra-family.rst:136 msgid "The problem" msgstr "" -#: ../../build/doc/dijkstra-family.rst:122 +#: ../../build/doc/dijkstra-family.rst:137 msgid "Given:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:124 +#: ../../build/doc/dijkstra-family.rst:139 msgid ":math:`start_{vid} \\in V` a starting vertex" msgstr "" -#: ../../build/doc/dijkstra-family.rst:125 +#: ../../build/doc/dijkstra-family.rst:140 msgid ":math:`end_{vid} \\in V` an ending vertex" msgstr "" -#: ../../build/doc/dijkstra-family.rst:126 +#: ../../build/doc/dijkstra-family.rst:141 msgid "" ":math:`G(V,E) = \\begin{cases} G_d(V,E) & \\quad \\text{ if6 } directed =" " true \\\\ G_u(V,E) & \\quad \\text{ if5 } directed = false \\\\ " "\\end{cases}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:131 +#: ../../build/doc/dijkstra-family.rst:146 msgid "Then:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:140 +#: ../../build/doc/dijkstra-family.rst:155 msgid "" ":math:`\\boldsymbol{\\pi} = \\{(path\\_seq_i, node_i, edge_i, cost_i, " "agg\\_cost_i)\\}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:153 +#: ../../build/doc/dijkstra-family.rst:168 msgid "where:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:143 +#: ../../build/doc/dijkstra-family.rst:158 msgid ":math:`path\\_seq_i = i`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:144 +#: ../../build/doc/dijkstra-family.rst:159 msgid ":math:`path\\_seq_{| \\pi |} = | \\pi |`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:145 +#: ../../build/doc/dijkstra-family.rst:160 msgid ":math:`node_i \\in V`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:146 +#: ../../build/doc/dijkstra-family.rst:161 msgid ":math:`node_1 = start_{vid}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:147 +#: ../../build/doc/dijkstra-family.rst:162 msgid ":math:`node_{| \\pi |} = end_{vid}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:148 +#: ../../build/doc/dijkstra-family.rst:163 msgid "" ":math:`\\forall i \\neq | \\pi |, \\quad (node_i, node_{i+1}, cost_i) " "\\in E`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:149 +#: ../../build/doc/dijkstra-family.rst:164 msgid "" ":math:`edge_i = \\begin{cases} id_{(node_i, node_{i+1},cost_i)} " "&\\quad \\text{when } i \\neq | \\pi | \\\\ -1 &\\quad \\text{when } i " "= | \\pi | \\\\ \\end{cases}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:150 +#: ../../build/doc/dijkstra-family.rst:165 msgid ":math:`cost_i = cost_{(node_i, node_{i+1})}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:151 +#: ../../build/doc/dijkstra-family.rst:166 msgid "" ":math:`agg\\_cost_i = \\begin{cases} 0 &\\quad \\text{when } i = 1 " "\\\\ \\displaystyle\\sum_{k=1}^{i} cost_{(node_{k-1}, node_k)} &\\quad" " \\text{when } i \\neq 1 \\\\ \\end{cases}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:159 +#: ../../build/doc/dijkstra-family.rst:174 msgid "" "In other words: The algorithm returns a the shortest path between " ":math:`start_{vid}` and :math:`end_{vid}` , if it exists, in terms of a " "sequence of nodes and of edges," msgstr "" -#: ../../build/doc/dijkstra-family.rst:156 +#: ../../build/doc/dijkstra-family.rst:171 msgid "" ":math:`path\\_seq` indicates the relative position in the path of the " ":math:`node` or :math:`edge`." msgstr "" -#: ../../build/doc/dijkstra-family.rst:157 +#: ../../build/doc/dijkstra-family.rst:172 msgid ":math:`cost` is the cost of the edge to be used to go to the next node." msgstr "" -#: ../../build/doc/dijkstra-family.rst:158 +#: ../../build/doc/dijkstra-family.rst:173 msgid "" ":math:`agg\\_cost` is the cost from the :math:`start_{vid}` up to the " "node." msgstr "" -#: ../../build/doc/dijkstra-family.rst:161 +#: ../../build/doc/dijkstra-family.rst:176 msgid "If there is no path, the resulting set is empty." msgstr "" -#: ../../build/doc/dijkstra-family.rst:165 +#: ../../build/doc/dijkstra-family.rst:180 msgid "See Also" msgstr "" -#: ../../build/doc/dijkstra-family.rst:168 +#: ../../build/doc/dijkstra-family.rst:183 msgid "Indices and tables" msgstr "" -#: ../../build/doc/dijkstra-family.rst:169 +#: ../../build/doc/dijkstra-family.rst:184 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:170 +#: ../../build/doc/dijkstra-family.rst:185 msgid ":ref:`search`" msgstr "" +#~ msgid "proposed" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/experimental.po b/locale/en/LC_MESSAGES/experimental.po index cf31a35252b..7cd36a4af69 100644 --- a/locale/en/LC_MESSAGES/experimental.po +++ b/locale/en/LC_MESSAGES/experimental.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/experimental.rst:10 msgid "Experimental Functions" @@ -118,6 +118,22 @@ msgid ":doc:`pgr_chinesePostmanCost`" msgstr "" #: ../../build/doc/experimental.rst:52 +msgid ":doc:`coloring-family`" +msgstr "" + +#: ../../build/doc/coloring-family.rst:3 +msgid "" +":doc:`pgr_sequentialVertexColoring` - Vertex coloring algorithm using " +"greedy approach." +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 +msgid "" +":doc:`pgr_bipartite` - Bipartite graph algorithm using a DFS-based " +"coloring approach." +msgstr "" + +#: ../../build/doc/experimental.rst:58 msgid ":doc:`topology-functions`" msgstr "" @@ -127,7 +143,7 @@ msgid "" "source and target." msgstr "" -#: ../../build/doc/experimental.rst:58 +#: ../../build/doc/experimental.rst:64 msgid ":doc:`transformation-family`" msgstr "" @@ -144,10 +160,38 @@ msgid "" msgstr "" #: ../../build/doc/experimental.rst:70 +msgid ":doc:`traversal-family`" +msgstr "" + +#: ../../build/doc/traversal-family.rst:3 +msgid ":doc:`pgr_depthFirstSearch` - Depth first search traversal of the graph." +msgstr "" + +#: ../../build/doc/experimental.rst:76 +msgid ":doc:`components-family`" +msgstr "" + +#: ../../build/doc/components-family.rst:3 +msgid ":doc:`pgr_makeConnected` - Details of edges to make graph connected." +msgstr "" + +#: ../../build/doc/experimental.rst:82 +msgid ":doc:`dijkstra-family`" +msgstr "" + +#: ../../build/doc/dijkstra-family.rst:3 +msgid ":doc:`pgr_dijkstraNear` - Get the route to the nearest vertex." +msgstr "" + +#: ../../build/doc/dijkstra-family.rst:4 +msgid ":doc:`pgr_dijkstraNearCost` - Get the cost to the nearest vertex." +msgstr "" + +#: ../../build/doc/experimental.rst:98 msgid "categories" msgstr "" -#: ../../build/doc/experimental.rst:71 +#: ../../build/doc/experimental.rst:99 msgid ":doc:`VRP-category`" msgstr "" @@ -173,59 +217,67 @@ msgstr "" msgid ":doc:`pgr_vrpOneDepot` - From a single depot, distributes orders" msgstr "" -#: ../../build/doc/experimental.rst:83 +#: ../../build/doc/experimental.rst:111 msgid "Not classified" msgstr "" -#: ../../build/doc/experimental.rst:84 +#: ../../build/doc/experimental.rst:112 msgid ":doc:`pgr_bellmanFord`" msgstr "" -#: ../../build/doc/experimental.rst:85 +#: ../../build/doc/experimental.rst:113 msgid ":doc:`pgr_binaryBreadthFirstSearch`" msgstr "" -#: ../../build/doc/experimental.rst:86 +#: ../../build/doc/experimental.rst:114 msgid ":doc:`pgr_breadthFirstSearch`" msgstr "" -#: ../../build/doc/experimental.rst:87 +#: ../../build/doc/experimental.rst:115 msgid ":doc:`pgr_dagShortestPath`" msgstr "" -#: ../../build/doc/experimental.rst:88 +#: ../../build/doc/experimental.rst:116 msgid ":doc:`pgr_edwardMoore`" msgstr "" -#: ../../build/doc/experimental.rst:89 +#: ../../build/doc/experimental.rst:117 +msgid ":doc:`pgr_isPlanar`" +msgstr "" + +#: ../../build/doc/experimental.rst:118 msgid ":doc:`pgr_stoerWagner`" msgstr "" -#: ../../build/doc/experimental.rst:90 +#: ../../build/doc/experimental.rst:119 msgid ":doc:`pgr_topologicalSort`" msgstr "" -#: ../../build/doc/experimental.rst:91 +#: ../../build/doc/experimental.rst:120 msgid ":doc:`pgr_transitiveClosure`" msgstr "" -#: ../../build/doc/experimental.rst:92 +#: ../../build/doc/experimental.rst:121 msgid ":doc:`pgr_turnRestrictedPath`" msgstr "" -#: ../../build/doc/experimental.rst:109 +#: ../../build/doc/experimental.rst:122 +msgid ":doc:`pgr_lengauerTarjanDominatorTree`" +msgstr "" + +#: ../../build/doc/experimental.rst:141 msgid "See Also" msgstr "" -#: ../../build/doc/experimental.rst:112 +#: ../../build/doc/experimental.rst:144 msgid "Indices and tables" msgstr "" -#: ../../build/doc/experimental.rst:113 +#: ../../build/doc/experimental.rst:145 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/experimental.rst:114 +#: ../../build/doc/experimental.rst:146 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/index.po b/locale/en/LC_MESSAGES/index.po index 25c639cf7e7..7841104127d 100644 --- a/locale/en/LC_MESSAGES/index.po +++ b/locale/en/LC_MESSAGES/index.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/index.rst:14 msgid "Table of Contents" @@ -421,118 +421,130 @@ msgid ":doc:`release_notes`" msgstr "" #: ../../build/doc/release_notes.rst:3 -msgid ":ref:`changelog_3_1_0`" +msgid ":ref:`changelog_3_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:4 -msgid ":ref:`changelog_3_0_2`" +msgid ":ref:`changelog_3_1_1`" msgstr "" #: ../../build/doc/release_notes.rst:5 -msgid ":ref:`changelog_3_0_1`" +msgid ":ref:`changelog_3_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:6 -msgid ":ref:`changelog_3_0_0`" +msgid ":ref:`changelog_3_0_3`" msgstr "" #: ../../build/doc/release_notes.rst:7 -msgid ":ref:`changelog_2_6_3`" +msgid ":ref:`changelog_3_0_2`" msgstr "" #: ../../build/doc/release_notes.rst:8 -msgid ":ref:`changelog_2_6_2`" +msgid ":ref:`changelog_3_0_1`" msgstr "" #: ../../build/doc/release_notes.rst:9 -msgid ":ref:`changelog_2_6_1`" +msgid ":ref:`changelog_3_0_0`" msgstr "" #: ../../build/doc/release_notes.rst:10 -msgid ":ref:`changelog_2_6_0`" +msgid ":ref:`changelog_2_6_3`" msgstr "" #: ../../build/doc/release_notes.rst:11 -msgid ":ref:`changelog_2_5_5`" +msgid ":ref:`changelog_2_6_2`" msgstr "" #: ../../build/doc/release_notes.rst:12 -msgid ":ref:`changelog_2_5_4`" +msgid ":ref:`changelog_2_6_1`" msgstr "" #: ../../build/doc/release_notes.rst:13 -msgid ":ref:`changelog_2_5_3`" +msgid ":ref:`changelog_2_6_0`" msgstr "" #: ../../build/doc/release_notes.rst:14 -msgid ":ref:`changelog_2_5_2`" +msgid ":ref:`changelog_2_5_5`" msgstr "" #: ../../build/doc/release_notes.rst:15 -msgid ":ref:`changelog_2_5_1`" +msgid ":ref:`changelog_2_5_4`" msgstr "" #: ../../build/doc/release_notes.rst:16 -msgid ":ref:`changelog_2_5_0`" +msgid ":ref:`changelog_2_5_3`" msgstr "" #: ../../build/doc/release_notes.rst:17 -msgid ":ref:`changelog_2_4_2`" +msgid ":ref:`changelog_2_5_2`" msgstr "" #: ../../build/doc/release_notes.rst:18 -msgid ":ref:`changelog_2_4_1`" +msgid ":ref:`changelog_2_5_1`" msgstr "" #: ../../build/doc/release_notes.rst:19 -msgid ":ref:`changelog_2_4_0`" +msgid ":ref:`changelog_2_5_0`" msgstr "" #: ../../build/doc/release_notes.rst:20 -msgid ":ref:`changelog_2_3_2`" +msgid ":ref:`changelog_2_4_2`" msgstr "" #: ../../build/doc/release_notes.rst:21 -msgid ":ref:`changelog_2_3_1`" +msgid ":ref:`changelog_2_4_1`" msgstr "" #: ../../build/doc/release_notes.rst:22 -msgid ":ref:`changelog_2_3_0`" +msgid ":ref:`changelog_2_4_0`" msgstr "" #: ../../build/doc/release_notes.rst:23 -msgid ":ref:`changelog_2_2_4`" +msgid ":ref:`changelog_2_3_2`" msgstr "" #: ../../build/doc/release_notes.rst:24 -msgid ":ref:`changelog_2_2_3`" +msgid ":ref:`changelog_2_3_1`" msgstr "" #: ../../build/doc/release_notes.rst:25 -msgid ":ref:`changelog_2_2_2`" +msgid ":ref:`changelog_2_3_0`" msgstr "" #: ../../build/doc/release_notes.rst:26 -msgid ":ref:`changelog_2_2_1`" +msgid ":ref:`changelog_2_2_4`" msgstr "" #: ../../build/doc/release_notes.rst:27 -msgid ":ref:`changelog_2_2_0`" +msgid ":ref:`changelog_2_2_3`" msgstr "" #: ../../build/doc/release_notes.rst:28 -msgid ":ref:`changelog_2_1_0`" +msgid ":ref:`changelog_2_2_2`" msgstr "" #: ../../build/doc/release_notes.rst:29 -msgid ":ref:`changelog_2_0_1`" +msgid ":ref:`changelog_2_2_1`" msgstr "" #: ../../build/doc/release_notes.rst:30 -msgid ":ref:`changelog_2_0_0`" +msgid ":ref:`changelog_2_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:31 +msgid ":ref:`changelog_2_1_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:32 +msgid ":ref:`changelog_2_0_1`" +msgstr "" + +#: ../../build/doc/release_notes.rst:33 +msgid ":ref:`changelog_2_0_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:34 msgid ":ref:`changelog_1_x`" msgstr "" diff --git a/locale/en/LC_MESSAGES/pgRouting-installation.po b/locale/en/LC_MESSAGES/pgRouting-installation.po index 6d9ed734f72..bd14c305727 100644 --- a/locale/en/LC_MESSAGES/pgRouting-installation.po +++ b/locale/en/LC_MESSAGES/pgRouting-installation.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgRouting-installation.rst:13 msgid "Installation" @@ -143,7 +143,7 @@ msgstr "" #: ../../build/doc/pgRouting-installation.rst:110 msgid "" -"To upgrade pgRouting in the database to version 3.1.0 use the following " +"To upgrade pgRouting in the database to version 3.2.0 use the following " "command:" msgstr "" @@ -435,3 +435,9 @@ msgstr "" msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "To upgrade pgRouting in the database " +#~ "to version 3.1.0 use the following " +#~ "command:" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgRouting-introduction.po b/locale/en/LC_MESSAGES/pgRouting-introduction.po index 310fc8890cb..2aff5704b81 100644 --- a/locale/en/LC_MESSAGES/pgRouting-introduction.po +++ b/locale/en/LC_MESSAGES/pgRouting-introduction.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgRouting-introduction.rst:11 msgid "Introduction" @@ -108,68 +108,68 @@ msgid "This Release Contributors" msgstr "" #: ../../build/doc/pgRouting-introduction.rst:56 -#: ../../build/doc/pgRouting-introduction.rst:87 +#: ../../build/doc/pgRouting-introduction.rst:85 msgid "Individuals (in alphabetical order)" msgstr "" #: ../../build/doc/pgRouting-introduction.rst:58 msgid "" -"Cayetano Benavent, Daniel Kastl, Esteban Zimanyi, Imre Samu, Martha " -"Vergara, Mohamed Bakli, Mahmoud Sakr, Regina Obe, Virginia Vergara" +"Ashish Kumar, Cayetano Benavent, Daniel Kastl, Himanshu Raj, Martha " +"Vergara, Regina Obe, Virginia Vergara" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:69 +#: ../../build/doc/pgRouting-introduction.rst:67 msgid "" "And all the people that give us a little of their time making comments, " "finding issues, making pull requests etc. in any of our products: " "osm2pgrouting, pgRouting, pgRoutingLayer." msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:74 +#: ../../build/doc/pgRouting-introduction.rst:72 #: ../../build/doc/pgRouting-introduction.rst:108 msgid "Corporate Sponsors (in alphabetical order)" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:76 +#: ../../build/doc/pgRouting-introduction.rst:74 #: ../../build/doc/pgRouting-introduction.rst:110 msgid "" "These are corporate entities that have contributed developer time, " "hosting, or direct monetary funding to the pgRouting project:" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:78 +#: ../../build/doc/pgRouting-introduction.rst:76 msgid "`Georepublic `__" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:79 +#: ../../build/doc/pgRouting-introduction.rst:77 msgid "`Google Summer of Code `__" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:80 +#: ../../build/doc/pgRouting-introduction.rst:78 msgid "`Leopark `__" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:81 +#: ../../build/doc/pgRouting-introduction.rst:79 msgid "`Paragon Corporation `__" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:84 +#: ../../build/doc/pgRouting-introduction.rst:82 msgid "Contributors Past & Present:" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:89 +#: ../../build/doc/pgRouting-introduction.rst:87 msgid "" "Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Akio Takubo, Andrea" -" Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Cayetano " -"Benavent, Christian Gonzalez, Daniel Kastl, Dave Potts, David Techer, " -"Denis Rykov, Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, Frederic " -"Junod, Gerald Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Imre Samu, Jay " -"Mahadeokar, Jinfu Leng, Kai Behncke, Kishore Kumar, Ko Nagase, Mahmoud " -"Sakr, Manikata Kondeti, Mario Basa, Martin Wiesenhaan, Maxim Dubinin, " -"Maoguang Wang, Mohamed Bakli, Mohamed Zia, Mukul Priya, Razequl Islam, " -"Regina Obe, Rohith Reddy, Sarthak Agarwal, Sourabh Garg, Stephen " -"Woodbridge, Sylvain Housseman, Sylvain Pasche, Vidhan Jain, Virginia " -"Vergara" +" Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Ashish Kumar, " +"Cayetano Benavent, Christian Gonzalez, Daniel Kastl, Dave Potts, David " +"Techer, Denis Rykov, Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, " +"Frederic Junod, Gerald Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Himanshu" +" Raj, Imre Samu, Jay Mahadeokar, Jinfu Leng, Kai Behncke, Kishore Kumar, " +"Ko Nagase, Mahmoud Sakr, Manikata Kondeti, Mario Basa, Martin Wiesenhaan," +" Maxim Dubinin, Maoguang Wang, Mohamed Bakli, Mohamed Zia, Mukul Priya, " +"Razequl Islam, Regina Obe, Rohith Reddy, Sarthak Agarwal, Sourabh Garg, " +"Stephen Woodbridge, Sylvain Housseman, Sylvain Pasche, Vidhan Jain, " +"Virginia Vergara" msgstr "" #: ../../build/doc/pgRouting-introduction.rst:112 @@ -238,3 +238,31 @@ msgid "" "https://github.com/pgRouting/pgrouting/wiki/Migration-Guide." msgstr "" +#~ msgid "" +#~ "Cayetano Benavent, Daniel Kastl, Esteban " +#~ "Zimanyi, Imre Samu, Martha Vergara, " +#~ "Mohamed Bakli, Mahmoud Sakr, Regina Obe," +#~ " Virginia Vergara" +#~ msgstr "" + +#~ msgid "" +#~ "Aasheesh Tiwari, Aditya Pratap Singh, " +#~ "Adrien Berchet, Akio Takubo, Andrea " +#~ "Nardelli, Anthony Tasca, Anton Patrushev, " +#~ "Ashraf Hossain, Cayetano Benavent, Christian" +#~ " Gonzalez, Daniel Kastl, Dave Potts, " +#~ "David Techer, Denis Rykov, Ema Miyawaki," +#~ " Esteban Zimanyi, Florian Thurkow, Frederic" +#~ " Junod, Gerald Fenoy, Gudesa Venkata " +#~ "Sai Akhil, Hang Wu, Imre Samu, Jay" +#~ " Mahadeokar, Jinfu Leng, Kai Behncke, " +#~ "Kishore Kumar, Ko Nagase, Mahmoud Sakr," +#~ " Manikata Kondeti, Mario Basa, Martin " +#~ "Wiesenhaan, Maxim Dubinin, Maoguang Wang, " +#~ "Mohamed Bakli, Mohamed Zia, Mukul Priya," +#~ " Razequl Islam, Regina Obe, Rohith " +#~ "Reddy, Sarthak Agarwal, Sourabh Garg, " +#~ "Stephen Woodbridge, Sylvain Housseman, Sylvain" +#~ " Pasche, Vidhan Jain, Virginia Vergara" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_TSP.po b/locale/en/LC_MESSAGES/pgr_TSP.po index 50b084a5c7b..e4a8e92bc13 100644 --- a/locale/en/LC_MESSAGES/pgr_TSP.po +++ b/locale/en/LC_MESSAGES/pgr_TSP.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_TSP.rst:11 msgid "pgr_TSP" @@ -418,32 +418,31 @@ msgstr "" #: ../../build/doc/pgr_TSP.rst:142 msgid "" -"`Simulated annaeling algorithm for beginners " -"`__" -msgstr "" - -#: ../../build/doc/pgr_TSP.rst:143 -msgid "" "`Wikipedia: Traveling Salesman Problem " "`__" msgstr "" -#: ../../build/doc/pgr_TSP.rst:144 +#: ../../build/doc/pgr_TSP.rst:143 msgid "" "`Wikipedia: Simulated annealing " "`__" msgstr "" -#: ../../build/doc/pgr_TSP.rst:147 +#: ../../build/doc/pgr_TSP.rst:146 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_TSP.rst:148 +#: ../../build/doc/pgr_TSP.rst:147 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_TSP.rst:149 +#: ../../build/doc/pgr_TSP.rst:148 msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "`Simulated annaeling algorithm for beginners" +#~ " `__" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_TSPeuclidean.po b/locale/en/LC_MESSAGES/pgr_TSPeuclidean.po index dbe4239f5e8..704553a18e7 100644 --- a/locale/en/LC_MESSAGES/pgr_TSPeuclidean.po +++ b/locale/en/LC_MESSAGES/pgr_TSPeuclidean.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_TSPeuclidean.rst:11 msgid "pgr_TSPeuclidean" @@ -405,32 +405,31 @@ msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:132 msgid "" -"`Simulated annaeling algorithm for beginners " -"`__" -msgstr "" - -#: ../../build/doc/pgr_TSPeuclidean.rst:133 -msgid "" "`Wikipedia: Traveling Salesman Problem " "`__" msgstr "" -#: ../../build/doc/pgr_TSPeuclidean.rst:134 +#: ../../build/doc/pgr_TSPeuclidean.rst:133 msgid "" "`Wikipedia: Simulated annealing " "`__" msgstr "" -#: ../../build/doc/pgr_TSPeuclidean.rst:137 +#: ../../build/doc/pgr_TSPeuclidean.rst:136 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_TSPeuclidean.rst:138 +#: ../../build/doc/pgr_TSPeuclidean.rst:137 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_TSPeuclidean.rst:139 +#: ../../build/doc/pgr_TSPeuclidean.rst:138 msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "`Simulated annaeling algorithm for beginners" +#~ " `__" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_aStarCost.po b/locale/en/LC_MESSAGES/pgr_aStarCost.po index 8cf5ab5626e..d096218f7fd 100644 --- a/locale/en/LC_MESSAGES/pgr_aStarCost.po +++ b/locale/en/LC_MESSAGES/pgr_aStarCost.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_aStarCost.rst:11 msgid "pgr_aStarCost" @@ -558,9 +558,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices " -"are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -568,9 +566,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are " -"in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -613,3 +609,15 @@ msgstr "" msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "Identifier of the starting vertex. Used" +#~ " when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" + +#~ msgid "" +#~ "Identifier of the ending vertex. Used" +#~ " when multiple ending vertices are in" +#~ " the query." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_aStarCostMatrix.po b/locale/en/LC_MESSAGES/pgr_aStarCostMatrix.po index b5b700414cf..1702424a0b2 100644 --- a/locale/en/LC_MESSAGES/pgr_aStarCostMatrix.po +++ b/locale/en/LC_MESSAGES/pgr_aStarCostMatrix.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_aStarCostMatrix.rst:11 msgid "pgr_aStarCostMatrix" @@ -441,9 +441,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices " -"are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -451,9 +449,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are " -"in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -508,3 +504,15 @@ msgstr "" msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "Identifier of the starting vertex. Used" +#~ " when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" + +#~ msgid "" +#~ "Identifier of the ending vertex. Used" +#~ " when multiple ending vertices are in" +#~ " the query." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdAstarCost.po b/locale/en/LC_MESSAGES/pgr_bdAstarCost.po index 4a55565cb7a..95c866e7cad 100644 --- a/locale/en/LC_MESSAGES/pgr_bdAstarCost.po +++ b/locale/en/LC_MESSAGES/pgr_bdAstarCost.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_bdAstarCost.rst:11 msgid "pgr_bdAstarCost" @@ -550,9 +550,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices " -"are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -560,9 +558,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are " -"in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -605,3 +601,15 @@ msgstr "" msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "Identifier of the starting vertex. Used" +#~ " when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" + +#~ msgid "" +#~ "Identifier of the ending vertex. Used" +#~ " when multiple ending vertices are in" +#~ " the query." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdAstarCostMatrix.po b/locale/en/LC_MESSAGES/pgr_bdAstarCostMatrix.po index d165a71b864..42eca9d7c6b 100644 --- a/locale/en/LC_MESSAGES/pgr_bdAstarCostMatrix.po +++ b/locale/en/LC_MESSAGES/pgr_bdAstarCostMatrix.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_bdAstarCostMatrix.rst:11 msgid "pgr_bdAstarCostMatrix" @@ -441,9 +441,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices " -"are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -451,9 +449,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are " -"in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -512,3 +508,15 @@ msgstr "" msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "Identifier of the starting vertex. Used" +#~ " when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" + +#~ msgid "" +#~ "Identifier of the ending vertex. Used" +#~ " when multiple ending vertices are in" +#~ " the query." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po b/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po index 84f261f519a..ce5640901ea 100644 --- a/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po +++ b/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_bdDijkstraCost.rst:11 msgid "pgr_bdDijkstraCost" @@ -382,15 +382,11 @@ msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices " -"are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are " -"in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -438,3 +434,15 @@ msgstr "" msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "Identifier of the starting vertex. Used" +#~ " when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" + +#~ msgid "" +#~ "Identifier of the ending vertex. Used" +#~ " when multiple ending vertices are in" +#~ " the query." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po b/locale/en/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po index d182cc25c7a..a9af1132f14 100644 --- a/locale/en/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po +++ b/locale/en/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:11 msgid "pgr_bdDijkstraCostMatrix" @@ -320,9 +320,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices " -"are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -330,9 +328,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are " -"in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -387,3 +383,15 @@ msgstr "" msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "Identifier of the starting vertex. Used" +#~ " when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" + +#~ msgid "" +#~ "Identifier of the ending vertex. Used" +#~ " when multiple ending vertices are in" +#~ " the query." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bipartite.po b/locale/en/LC_MESSAGES/pgr_bipartite.po new file mode 100644 index 00000000000..adff50540ba --- /dev/null +++ b/locale/en/LC_MESSAGES/pgr_bipartite.po @@ -0,0 +1,392 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../../build/doc/pgr_bipartite.rst:11 +msgid "pgr_bipartite -Experimental" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:13 +msgid "" +"``pgr_bipartite`` — If graph is bipartite then function returns the " +"vertex id along with color (0 and 1) else it will return an empty set. In" +" particular, the is_bipartite() algorithm implemented by Boost.Graph." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:19 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 ../../build/doc/coloring-family.rst:6 +#: ../../build/doc/pgr_bipartite.rst:39 ../../build/doc/traversal-family.rst:4 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:40 +msgid "" +"A bipartite graph is a graph with two sets of vertices which are " +"connected to each other, but not within themselves. A bipartite graph is " +"possible if the graph coloring is possible using two colors such that " +"vertices in a set are colored with the same color." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:43 +msgid "**The main Characteristics are:**" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:45 +msgid "The algorithm works in undirected graph only." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:46 +msgid "The returned values are not ordered." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:47 +msgid "" +"The algorithm checks graph is bipartite or not. If it is bipartite then " +"it returns the node along with two colors `0` and `1` which represents " +"two different sets." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:48 +msgid "If graph is not bipartite then algorithm returns empty set." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:49 +msgid "Running time: :math:`O(V + E)`" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:52 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:64 +msgid "" +"The pgr_bipartite algorithm with and edge_sql as a parameter when graph " +"is bipartite:" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:78 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 ../../build/doc/coloring-family.rst:6 +#: ../../build/doc/traversal-family.rst:4 +msgid "Type" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "Inner query as described below." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:85 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:87 +msgid "" +"an SQL query of an **undirected** graph, which should return a set of " +"rows with the following columns:" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 ../../build/doc/traversal-family.rst:4 +msgid "Column" +msgstr "" + +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:95 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/coloring-family.rst:3 +msgid "Returns SET OF ``(vertex_id, color_id)``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 +msgid "**vertex_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 ../../build/doc/coloring-family.rst:9 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 +msgid "Identifier of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:9 +msgid "**color_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:9 +msgid "Identifier of the color of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:11 +msgid "The minimum value of color is 1." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:103 +msgid "Additional Example" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:105 +msgid "The odd length cyclic graph can not be bipartite." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:107 +msgid "" +"The following edge will make subgraph with vertices {1, 2, 5, 7, 8} an " +"odd length cyclic graph." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:114 +msgid "" +"The new graph is not bipartite because it has a odd length cycle of 5 " +"vertices. Edges in blue represent odd length cycle." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:129 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:133 +msgid "" +"`Boost: is_bipartite algorithm documentation " +"`__" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:134 +msgid "" +"`Wikipedia: bipartite graph " +"`__" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:138 +msgid ":doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:141 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:142 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:143 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_depthFirstSearch.po b/locale/en/LC_MESSAGES/pgr_depthFirstSearch.po new file mode 100644 index 00000000000..fd84a555b96 --- /dev/null +++ b/locale/en/LC_MESSAGES/pgr_depthFirstSearch.po @@ -0,0 +1,577 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../../build/doc/pgr_depthFirstSearch.rst:11 +msgid "pgr_depthFirstSearch - Experimental" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:13 +msgid "" +"``pgr_depthFirstSearch`` — Returns a depth first search traversal of the " +"graph. The graph can be directed or undirected." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:19 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:37 +#: ../../build/doc/pgr_depthFirstSearch.rst:122 +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +#: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/traversal-family.rst:4 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:39 +msgid "" +"Depth First Search algorithm is a traversal algorithm which starts from a" +" root vertex, goes as deep as possible, and backtracks once a vertex is " +"reached with no adjacent vertices or with all visited adjacent vertices. " +"The traversal continues until all the vertices reachable from the root " +"vertex are visited." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:44 +msgid "**The main Characteristics are:**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:46 +msgid "The implementation works for both **directed** and **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:47 +msgid "" +"Provides the Depth First Search traversal order from a root vertex or " +"from a set of root vertices." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:49 +msgid "" +"An optional non-negative maximum depth parameter to limit the results up " +"to a particular depth." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:51 +msgid "" +"For optimization purposes, any duplicated values in the `Root vids` are " +"ignored." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:53 +msgid "" +"It does not produce the shortest path from a root vertex to a target " +"vertex." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:54 +msgid "The aggregate cost of traversal is not guaranteed to be minimal." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:55 +msgid "The returned values are ordered in ascending order of `start_vid`." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:56 +msgid "Depth First Search Running time: :math:`O(E + V)`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:59 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:62 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:71 +msgid "Using defaults" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:72 +msgid "From root vertex :math:`2` on a **directed** graph" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:82 +msgid "Single vertex" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:90 +msgid "" +"From root vertex :math:`2` on an **undirected** graph, with :math:`depth " +"<= 2`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:101 +msgid "Multiple vertices" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:109 +msgid "" +"From root vertices :math:`\\{11, 2\\}` on an **undirected** graph with " +":math:`depth <= 2`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:119 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:122 +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:122 +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +#: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/traversal-family.rst:4 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:124 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:124 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:124 +msgid "SQL query described in `Inner query`_." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:125 +msgid "**Root vid**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:125 +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +#: ../../build/doc/pgr_kruskalDD.rst:8 ../../build/doc/pgr_kruskalDD.rst:9 +#: ../../build/doc/pgr_kruskalDD.rst:13 ../../build/doc/pgr_kruskalDD.rst:17 +#: ../../build/doc/pgr_kruskalDD.rst:18 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:125 +msgid "Identifier of the root vertex of the tree." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:127 +msgid "Used on `Single Vertex`_." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:129 +msgid "**Root vids**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:129 +msgid "``ARRAY[ANY-INTEGER]``" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:129 +msgid "Array of identifiers of the root vertices." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:131 +msgid "Used on `Multiple Vertices`_." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:132 +msgid "For optimization purposes, any duplicated value is ignored." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:136 +msgid "Optional Parameters" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "**directed**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "``BOOLEAN``" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "``true``" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "When ``true`` Graph is `Directed`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:142 +msgid "When ``false`` the graph is `Undirected`." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +msgid "**max_depth**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +msgid ":math:`9223372036854775807`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +msgid "Upper limit for the depth of traversal" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:146 +msgid "When value is ``Negative`` then **throws error**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:150 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:153 +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/traversal-family.rst:4 +msgid "Column" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:22 ../../build/doc/traversal-family.rst:9 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:159 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:3 +msgid "Returns SET OF ``(seq, depth, start_vid, node, edge, cost, agg_cost)``" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:8 +msgid "**seq**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:8 +msgid "Sequential value starting from :math:`1`." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:9 +msgid "**depth**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:9 +msgid "Depth of the ``node``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:11 +msgid ":math:`0` when ``node`` = ``start_vid``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:13 +msgid "**start_vid**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:13 +msgid "Identifier of the root vertex." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:15 +msgid "In `Multiple Vertices`_ results are in ascending order." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:17 +msgid "**node**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:17 +msgid "Identifier of ``node`` reached using ``edge``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:18 +msgid "**edge**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:18 +msgid "Identifier of the ``edge`` used to arrive to ``node``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:20 +msgid ":math:`-1` when ``node`` = ``start_vid``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:22 ../../build/doc/pgr_kruskalDD.rst:23 +msgid "``FLOAT``" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:22 +msgid "Cost to traverse ``edge``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:23 +msgid "**agg_cost**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:23 +msgid "Aggregate cost from ``start_vid`` to ``node``." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:166 +msgid "Additional Examples" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:168 +msgid "The examples of this section are based on the :doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:170 +msgid "**Example: No internal ordering on traversal**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:172 +msgid "" +"In the following query, the inner query of the example: \"Using " +"defaults\" is modified so that the data is entered into the algorithm is " +"given in the reverse ordering of the id." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:179 +msgid "The resulting traversal is different." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:181 +msgid "" +"The left image shows the result with ascending order of ids and the right" +" image shows with descending order of ids:" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:184 +msgid "|ascending| |descending|" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:193 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:195 +msgid "The queries use the :doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:199 +msgid "" +"`Boost: Depth First Search algorithm documentation " +"`__" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:200 +msgid "" +"`Boost: Undirected DFS algorithm documentation " +"`__" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:201 +msgid "" +"`Wikipedia: Depth First Search algorithm `__" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:206 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:207 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:208 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_dijkstraCost.po b/locale/en/LC_MESSAGES/pgr_dijkstraCost.po index 896fac16473..d1dce08e70e 100644 --- a/locale/en/LC_MESSAGES/pgr_dijkstraCost.po +++ b/locale/en/LC_MESSAGES/pgr_dijkstraCost.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_dijkstraCost.rst:11 msgid "pgr_dijkstraCost" @@ -457,15 +457,11 @@ msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices " -"are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are " -"in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -533,3 +529,15 @@ msgstr "" msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "Identifier of the starting vertex. Used" +#~ " when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" + +#~ msgid "" +#~ "Identifier of the ending vertex. Used" +#~ " when multiple ending vertices are in" +#~ " the query." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_dijkstraCostMatrix.po b/locale/en/LC_MESSAGES/pgr_dijkstraCostMatrix.po index c2159852b78..db6a73c70a9 100644 --- a/locale/en/LC_MESSAGES/pgr_dijkstraCostMatrix.po +++ b/locale/en/LC_MESSAGES/pgr_dijkstraCostMatrix.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:11 msgid "pgr_dijkstraCostMatrix" @@ -278,9 +278,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices " -"are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -288,9 +286,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are " -"in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -345,3 +341,15 @@ msgstr "" msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "Identifier of the starting vertex. Used" +#~ " when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" + +#~ msgid "" +#~ "Identifier of the ending vertex. Used" +#~ " when multiple ending vertices are in" +#~ " the query." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_dijkstraNear.po b/locale/en/LC_MESSAGES/pgr_dijkstraNear.po new file mode 100644 index 00000000000..cba17168d8b --- /dev/null +++ b/locale/en/LC_MESSAGES/pgr_dijkstraNear.po @@ -0,0 +1,738 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../../build/doc/pgr_dijkstraNear.rst:11 +msgid "pgr_dijkstraNear - Experimental" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:13 +msgid "" +"``pgr_dijkstraNear`` — Using dijkstra algorithm, finds the route that " +"leads to the nearest vertex." +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:23 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNear.rst:37 +#: ../../build/doc/pgr_dijkstraNear.rst:227 +#: ../../build/doc/pgr_dijkstraNear.rst:267 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:39 +msgid "" +"Given a graph, a starting vertex and a set of ending vertices, this " +"function finds the shortest path from the starting vertex to the nearest " +"ending vertex." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:44 +msgid "Characteristics" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:48 +msgid "Uses Dijkstra algorithm." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:49 +msgid "Works for **directed** and **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:50 +msgid "When there are more than one path to the same vertex with same cost:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:52 +msgid "The algorithm will return just one path" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:54 +msgid "Optionally allows to find more than one path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:56 +msgid "When more than one path is to be returned:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:58 +msgid "Results are sorted in increasing order of:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:60 +msgid "aggregate cost" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:61 +msgid "Within the same value of aggregate costs:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:63 +msgid "results are sorted by (source, target)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:65 +msgid "Running time: Dijkstra running time: :math:`drt = O((|E| + |V|)log|V|)`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:67 +msgid "One to Many; :math:`drt`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:68 +msgid "Many to One: :math:`drt`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:69 +msgid "Many to Many: :math:`drt * |Starting vids|`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:70 +msgid "Combinations: :math:`drt * |Starting vids|`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:75 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:78 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:92 +msgid "One to Many" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:100 +msgid "Departing on car from vertex :math:`2` find the nearest subway station." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:102 +#: ../../build/doc/pgr_dijkstraNear.rst:132 +#: ../../build/doc/pgr_dijkstraNear.rst:192 +msgid "Using a **directed** graph for car routing." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:103 +#: ../../build/doc/pgr_dijkstraNear.rst:133 +msgid "The subway stations are on the following vertices :math:`\\{ 3, 6, 7\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:104 +#: ../../build/doc/pgr_dijkstraNear.rst:163 +#: ../../build/doc/pgr_dijkstraNear.rst:200 +msgid "The defaults used:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:106 +#: ../../build/doc/pgr_dijkstraNear.rst:202 +msgid "`directed => true`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:107 +#: ../../build/doc/pgr_dijkstraNear.rst:165 +#: ../../build/doc/pgr_dijkstraNear.rst:203 +msgid "`cap => 1`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:115 +msgid "The result shows that station at vertex :math:`6` is the nearest." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:121 +msgid "Many to One" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:129 +msgid "" +"Departing on a car from a subway station find the nearest **two** " +"stations to vertex :math:`2`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:134 +msgid "On line `4`: using the positional parameter: `directed` set to ``true``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:135 +msgid "In line `5`: using named parameter `cap => 2`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:142 +msgid "" +"The result shows that station at vertex :math:`3` is the nearest and the " +"next best is :math:`6`." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:149 +msgid "Many to Many" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:157 +msgid "Find the best pedestrian connection between two lines of buses" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:159 +msgid "Unsing an **undirected** graph for pedestrian routing" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:160 +#: ../../build/doc/pgr_dijkstraNear.rst:193 +msgid "The first subway line stations stops are at :math:`\\{3, 6, 7\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:161 +#: ../../build/doc/pgr_dijkstraNear.rst:194 +msgid "The second subway line stations are at :math:`\\{4, 9\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:162 +msgid "On line `4`: using the named parameter: `directed => false`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:166 +msgid "`global => true`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:173 +msgid "" +"For a pedestrian the best connection is to get on/off is at vertex " +":math:`3` of the first subway line and at vertex :math:`4` of the second " +"subway line." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:176 +msgid "" +"Only `one` route is returned because `global` is ``true`` and `cap` is " +"``1``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:182 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:190 +msgid "Find the best car connection between all the stations of two subway lines" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:195 +msgid "" +"line `3` sets the start vertices to be from the fisrt subway line and the" +" ending vertices to be from the second subway line" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:197 +msgid "" +"line `5` sets the start vertices to be from the first subway line and the" +" ending vertices to be from the first subway line" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:199 +msgid "On line `6`: using the named parameter is `global => false`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:210 +msgid "From the results:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:212 +msgid "making a connection from the first subway line to the second:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:214 +msgid "" +":math:`{(3 -> 9) (6 -> 9) (7 -> 9)}` and the best one is :math:`(6 -> 9)`" +" with a cost of :math:`1` (lines: `12` and `13`)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:217 +msgid "making a connection from the second subway line to the first:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:219 +msgid "" +":math:`{(4 -> 3) (9 -> 6)}` and both are equaly good as they have the " +"same cost. (lines: `10` and `11` and lines: `14` and `15`)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:224 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:227 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNear.rst:227 +#: ../../build/doc/pgr_dijkstraNear.rst:267 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNear.rst:227 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:229 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:229 +#: ../../build/doc/pgr_dijkstraNear.rst:230 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:229 +msgid "`Edges query`_ as described below" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:230 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:230 +msgid "`Combinations query` as described below" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:231 +msgid "**Start vid**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:231 +#: ../../build/doc/pgr_dijkstraNear.rst:233 +#: ../../build/doc/pgr_dijkstraNear.rst:237 +#: ../../build/doc/pgr_dijkstraNear.rst:269 +#: ../../build/doc/pgr_dijkstraNear.rst:270 +#: ../../build/doc/pgr_dijkstraNear.rst:271 +#: ../../build/doc/pgr_dijkstraNear.rst:272 +#: ../../build/doc/pgr_dijkstraNear.rst:273 +#: ../../build/doc/pgr_dijkstraNear.rst:274 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:231 +#: ../../build/doc/pgr_dijkstraNear.rst:271 +msgid "Identifier of the starting vertex of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:232 +msgid "**Start vids**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:232 +#: ../../build/doc/pgr_dijkstraNear.rst:234 +msgid "``ARRAY[BIGINT]``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:232 +msgid "Array of identifiers of starting vertices." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:233 +msgid "**End vid**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:233 +#: ../../build/doc/pgr_dijkstraNear.rst:272 +msgid "Identifier of the ending vertex of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:234 +msgid "**End vids**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:234 +msgid "Array of identifiers of ending vertices." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +msgid "**directed**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "``BOOLEAN``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "``true``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +msgid "When ``true`` the graph is considered `Directed`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:236 +msgid "When ``false`` the graph is considered as `Undirected`." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:237 +msgid "**cap**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:237 +msgid "1" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:237 +msgid "Find at most ``cap`` number of nearest shortest paths" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "**global**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "When ``true``: only ``cap`` limit results will be returned" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:239 +msgid "When ``false``: ``cap`` limit per ``Start vid`` will be returned" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:244 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:247 +msgid "Edges query" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNear.rst:267 +msgid "Column" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgr_dijkstraNear.rst:279 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Weight of the edge `(source, target)`" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:11 +msgid "" +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "-1" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "Weight of the edge `(target, source)`," +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:15 +msgid "" +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:11 +#: ../../build/doc/pgRouting-concepts.rst:19 +msgid "Where:" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +#: ../../build/doc/pgRouting-concepts.rst:21 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:22 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:254 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:261 +msgid "Return Columns" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:263 +msgid "" +"RETURNS SET OF ``(seq, path_seq, start_vid, end_vid, node, edge, cost, " +"agg_cost)`` OR EMPTY SET" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:269 +msgid "**seq**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:269 +msgid "Sequential value starting from 1." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:270 +msgid "**path_seq**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:270 +msgid "" +"Sequential value starting from 1 for each :math:`(start\\_vid \\to " +"end\\_vid)` path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:271 +msgid "**start_vid**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:272 +msgid "**end_vid**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:273 +msgid "**node**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:273 +msgid "" +"Identifier of the node at position ``path_seq`` in the " +":math:`(start\\_vid \\to end\\_vid)` path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:274 +msgid "**edge**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:274 +msgid "" +"Identifier of the edge used to go from node at ``path_seq`` to the node " +"at ``path_seq + 1`` in the :math:`(start\\_vid \\to end\\_vid)` path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:277 +msgid ":math:`-1` for the last node of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:279 +#: ../../build/doc/pgr_dijkstraNear.rst:283 +msgid "``FLOAT``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:279 +msgid "" +"Cost to traverse from ``node`` using ``edge`` to the next node in the " +"route sequence." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:281 +msgid ":math:`0` for the last row of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:283 +msgid "**agg_cost**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:283 +msgid "" +"Total cost of traversing :math:`(start\\_vid \\to node)` section of the " +":math:`(start\\_vid \\to end\\_vid)` path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:288 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:290 +msgid ":doc:`dijkstra-family`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:291 +msgid ":doc:`pgr_dijkstraNearCost`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:292 +msgid ":doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:293 +msgid "boost: https://www.boost.org/libs/graph/doc/table_of_contents.html" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:294 +#, python-format +msgid "Wikipedia: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:297 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:298 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:299 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_dijkstraNearCost.po b/locale/en/LC_MESSAGES/pgr_dijkstraNearCost.po new file mode 100644 index 00000000000..6be21bbf180 --- /dev/null +++ b/locale/en/LC_MESSAGES/pgr_dijkstraNearCost.po @@ -0,0 +1,682 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:11 +msgid "pgr_dijkstraNearCost - Experimental" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:13 +msgid "" +"``pgr_dijkstraNearCost`` — Using dijkstra algorithm, finds the route that" +" leads to the nearest vertex." +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:23 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgr_dijkstraNearCost.rst:37 +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:39 +msgid "" +"Given a graph, a starting vertex and a set of ending vertices, this " +"function finds the shortest path from the starting vertex to the nearest " +"ending vertex." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:44 +msgid "Characteristics" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:3 +msgid "Uses Dijkstra algorithm." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:4 +msgid "Works for **directed** and **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:5 +msgid "When there are more than one path to the same vertex with same cost:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:7 +msgid "The algorithm will return just one path" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:9 +msgid "Optionally allows to find more than one path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:11 +msgid "When more than one path is to be returned:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:13 +msgid "Results are sorted in increasing order of:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:15 +msgid "aggregate cost" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:16 +msgid "Within the same value of aggregate costs:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:18 +msgid "results are sorted by (source, target)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:20 +msgid "Running time: Dijkstra running time: :math:`drt = O((|E| + |V|)log|V|)`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:22 +msgid "One to Many; :math:`drt`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:23 +msgid "Many to One: :math:`drt`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:24 +msgid "Many to Many: :math:`drt * |Starting vids|`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:25 +msgid "Combinations: :math:`drt * |Starting vids|`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:51 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:54 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:68 +msgid "One to Many" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:76 +msgid "Departing on car from vertex :math:`2` find the nearest subway station." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:78 +#: ../../build/doc/pgr_dijkstraNearCost.rst:108 +#: ../../build/doc/pgr_dijkstraNearCost.rst:168 +msgid "Using a **directed** graph for car routing." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:79 +#: ../../build/doc/pgr_dijkstraNearCost.rst:109 +msgid "The subway stations are on the following vertices :math:`\\{ 3, 6, 7\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:80 +#: ../../build/doc/pgr_dijkstraNearCost.rst:139 +#: ../../build/doc/pgr_dijkstraNearCost.rst:176 +msgid "The defaults used:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:82 +#: ../../build/doc/pgr_dijkstraNearCost.rst:178 +msgid "`directed => true`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:83 +#: ../../build/doc/pgr_dijkstraNearCost.rst:141 +#: ../../build/doc/pgr_dijkstraNearCost.rst:179 +msgid "`cap => 1`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:91 +msgid "The result shows that station at vertex :math:`6` is the nearest." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:97 +msgid "Many to One" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:105 +msgid "" +"Departing on a car from a subway station find the nearest **two** " +"stations to vertex :math:`2`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:110 +msgid "On line `4`: using the positional parameter: `directed` set to ``true``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:111 +msgid "In line `5`: using named parameter `cap => 2`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:118 +msgid "" +"The result shows that station at vertex :math:`3` is the nearest and the " +"next best is :math:`6`." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:125 +msgid "Many to Many" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:133 +msgid "Find the best pedestrian connection between two lines of buses" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:135 +msgid "Unsing an **undirected** graph for pedestrian routing" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:136 +#: ../../build/doc/pgr_dijkstraNearCost.rst:169 +msgid "The first subway line stations stops are at :math:`\\{3, 6, 7\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:137 +#: ../../build/doc/pgr_dijkstraNearCost.rst:170 +msgid "The second subway line stations are at :math:`\\{4, 9\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:138 +msgid "On line `4`: using the named parameter: `directed => false`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:142 +msgid "`global => true`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:149 +msgid "" +"For a pedestrian the best connection is to get on/off is at vertex " +":math:`3` of the first subway line and at vertex :math:`4` of the second " +"subway line." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:152 +msgid "" +"Only `one` route is returned because `global` is ``true`` and `cap` is " +"``1``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:158 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:166 +msgid "Find the best car connection between all the stations of two subway lines" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:171 +msgid "" +"line `3` sets the start vertices to be from the fisrt subway line and the" +" ending vertices to be from the second subway line" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:173 +msgid "" +"line `5` sets the start vertices to be from the first subway line and the" +" ending vertices to be from the first subway line" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:175 +msgid "On line `6`: using the named parameter is `global => false`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:186 +msgid "From the results:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:188 +msgid "making a connection from the first subway line to the second:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:190 +msgid "" +":math:`{(3 -> 9) (6 -> 9) (7 -> 9)}` and the best one is :math:`(6 -> 9)`" +" with a cost of :math:`1` (line: `11`)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:193 +msgid "making a connection from the second subway line to the first:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:195 +msgid "" +":math:`{(4 -> 3) (9 -> 6)}` and both are equaly good as they have the " +"same cost. (lines: `10` and `12`)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:200 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:205 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:205 +#: ../../build/doc/pgr_dijkstraNearCost.rst:206 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:205 +msgid "`Edges query`_ as described below" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:206 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:206 +msgid "`Combinations query` as described below" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:207 +msgid "**Start vid**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgr_dijkstraNearCost.rst:207 +#: ../../build/doc/pgr_dijkstraNearCost.rst:209 +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:207 +msgid "Identifier of the starting vertex of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:208 +msgid "**Start vids**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:208 +#: ../../build/doc/pgr_dijkstraNearCost.rst:210 +msgid "``ARRAY[BIGINT]``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:208 +msgid "Array of identifiers of starting vertices." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:209 +msgid "**End vid**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:209 +msgid "Identifier of the ending vertex of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:210 +msgid "**End vids**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:210 +msgid "Array of identifiers of ending vertices." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +msgid "**directed**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "``BOOLEAN``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "``true``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +msgid "When ``true`` the graph is considered `Directed`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:212 +msgid "When ``false`` the graph is considered as `Undirected`." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +msgid "**cap**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +msgid "1" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +msgid "Find at most ``cap`` number of nearest shortest paths" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "**global**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "When ``true``: only ``cap`` limit results will be returned" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:215 +msgid "When ``false``: ``cap`` limit per ``Start vid`` will be returned" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:220 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:223 +msgid "Edges query" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Column" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Weight of the edge `(source, target)`" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:11 +msgid "" +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "-1" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "Weight of the edge `(target, source)`," +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:15 +msgid "" +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:11 +#: ../../build/doc/pgRouting-concepts.rst:19 +msgid "Where:" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +#: ../../build/doc/pgRouting-concepts.rst:21 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:22 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:230 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:237 +msgid "Return Columns" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:3 +msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "**start_vid**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "Identifier of the starting vertex." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "**end_vid**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Identifier of the ending vertex." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:10 +msgid "**agg_cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:10 +msgid "``FLOAT``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:10 +msgid "Aggregate cost from ``start_vid`` to ``end_vid``." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:244 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:246 +msgid ":doc:`dijkstra-family`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:247 +msgid ":doc:`pgr_dijkstraNear`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:248 +msgid ":doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:249 +msgid "boost: https://www.boost.org/libs/graph/doc/table_of_contents.html" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:250 +#, python-format +msgid "Wikipedia: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:253 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:254 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:255 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_isPlanar.po b/locale/en/LC_MESSAGES/pgr_isPlanar.po new file mode 100644 index 00000000000..c2b40a2f4b3 --- /dev/null +++ b/locale/en/LC_MESSAGES/pgr_isPlanar.po @@ -0,0 +1,354 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../../build/doc/pgr_isPlanar.rst:11 +msgid "pgr_isPlanar - Experimental" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:13 +msgid "" +"``pgr_isPlanar`` — Returns a boolean depending upon the planarity of the " +"graph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:18 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:25 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:26 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:28 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:31 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:32 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:36 ../../build/doc/pgr_isPlanar.rst:76 +#: ../../build/doc/pgr_isPlanar.rst:87 ../../build/doc/pgr_isPlanar.rst:111 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:38 +msgid "" +"A graph is planar if it can be drawn in two-dimensional space with no two" +" of its edges crossing. Such a drawing of a planar graph is called a " +"plane drawing. Every planar graph also admits a straight-line drawing, " +"which is a plane drawing where each edge is represented by a line " +"segment. When a graph has :math:`K_5` or :math:`K_{3,3}` as subgraph then" +" the graph is not planar." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:52 +msgid "The main characteristics are:" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:44 +msgid "This implementation use the Boyer-Myrvold Planarity Testing." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:46 +msgid "It will return a boolean value depending upon the planarity of the graph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:48 +msgid "Applicable only for **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:50 +msgid "The algorithm does not considers traversal costs in the calculations." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:52 +msgid "Running time: :math:`O(|V|)`" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:55 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:58 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:73 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:76 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:76 ../../build/doc/pgr_isPlanar.rst:87 +#: ../../build/doc/pgr_isPlanar.rst:111 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:76 ../../build/doc/pgr_isPlanar.rst:87 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:78 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:78 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:78 +msgid "SQL query as described below." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:82 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:84 +msgid "" +"an SQL query, which should return a set of rows with the following " +"columns:" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:87 ../../build/doc/pgr_isPlanar.rst:111 +msgid "Column" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:89 +msgid "**id**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:89 ../../build/doc/pgr_isPlanar.rst:90 +#: ../../build/doc/pgr_isPlanar.rst:91 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:89 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:90 +msgid "**source**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:90 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:91 +msgid "**target**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:91 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:92 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:92 ../../build/doc/pgr_isPlanar.rst:95 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:92 ../../build/doc/pgr_isPlanar.rst:95 +msgid "When positive: edge `(target, source)` is part of the graph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:93 ../../build/doc/pgr_isPlanar.rst:96 +msgid "When negative: edge `(target, source)` is not part of the graph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:95 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:95 +msgid "-1" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:100 +msgid "Where:" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:102 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:103 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:106 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:108 +msgid "Returns a boolean ``(pgr_isplanar)``" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:113 +msgid "**pgr_isplanar**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:113 +msgid "``BOOLEAN``" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:113 +msgid "`true` when the graph is planar." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:114 +msgid "`false` when the graph is not planar." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:118 +msgid "Additional Example:" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:120 +msgid "" +"The following edges will make the subgraph with vertices {3, 4, 6, 9, 16}" +" a :math:`K_5` graph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:126 +msgid "" +"The new graph is not planar because it has a :math:`K_5` subgraph. Edges " +"in blue represent :math:`K_5` subgraph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:136 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:138 +msgid "https://www.boost.org/libs/graph/doc/boyer_myrvold.html" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:139 +msgid "The queries use the :doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:142 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:143 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:144 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po b/locale/en/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po new file mode 100644 index 00000000000..24787a43fbb --- /dev/null +++ b/locale/en/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po @@ -0,0 +1,396 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:12 +msgid "pgr_lengauerTarjanDominatorTree -Experimental" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:14 +msgid "" +"``pgr_lengauerTarjanDominatorTree`` — Returns the immediate dominator of " +"all vertices." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:19 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:40 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:77 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:97 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:41 +msgid "" +"The algorithm calculates the *immidiate dominator* of each vertex called " +"**idom**, once **idom** of each vertex is calculated then by making every" +" **idom** of each vertex as its parent, the dominator tree can be built." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:43 +msgid "**The main Characteristics are:**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:45 +msgid "The algorithm works in directed graph only." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:46 +msgid "The returned values are not ordered." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:47 +msgid "The algorithm returns *idom* of each vertex." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:48 +msgid "If the *root vertex* not present in the graph then it returns empty set." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:49 +msgid "Running time: :math:`O((V+E)log(V+E))`" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:52 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:55 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:67 +msgid "The lengauerTarjanDominatorTree with root vertex :math:`1`" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:74 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:77 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:97 +msgid "Column" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:77 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:97 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:79 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:79 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:79 +msgid "SQL query as described above." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:80 +msgid "**root vertex**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:80 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:100 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:101 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:80 +msgid "Identifier of the starting vertex." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:85 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Weight of the edge `(source, target)`" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:11 +msgid "" +"When negative: edge `(source, target)` does not exist, therefore it's not" +" part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "-1" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "Weight of the edge `(target, source)`," +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:15 +msgid "" +"When negative: edge `(target, source)` does not exist, therefore it's not" +" part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:19 +msgid "Where:" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:21 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:22 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:92 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:94 +msgid "Returns set of ``(seq, vertex_id,idom)``" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:99 +msgid "**seq**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:99 +msgid "``INTEGER``" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:99 +msgid "Sequential value starting from **1**." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:100 +msgid "**vertex_id**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:100 +msgid "Identifier of vertex ." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:101 +msgid "**idom**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:101 +msgid "Immediate dominator of vertex." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:105 +msgid "Additional Examples" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:106 +msgid "The examples in this section use the following :ref:`fig1`" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:108 +msgid "" +"When the edge is disonnectd from graph then it will returns immidiate " +"dominator of all other vertex as zero." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:117 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:119 +msgid "" +"`Boost: lengauerTarjanDominatorTree algorithm documentation " +"`__" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:120 +msgid "" +"`Wikipedia: dominator tree " +"`__" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:121 +msgid ":doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:124 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:125 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:126 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_makeConnected.po b/locale/en/LC_MESSAGES/pgr_makeConnected.po new file mode 100644 index 00000000000..f744d9517a5 --- /dev/null +++ b/locale/en/LC_MESSAGES/pgr_makeConnected.po @@ -0,0 +1,367 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../../build/doc/pgr_makeConnected.rst:11 +msgid "pgr_makeConnected - Experimental" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:13 +msgid "" +"``pgr_makeConnected`` — Returns the set of edges that will make the graph" +" connected." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:18 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:25 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:26 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:28 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:31 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:32 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:36 +#: ../../build/doc/pgr_makeConnected.rst:75 +#: ../../build/doc/pgr_makeConnected.rst:86 +#: ../../build/doc/pgr_makeConnected.rst:112 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:38 +msgid "" +"Adds the minimum number of edges needed to make the input graph " +"connected. The algorithm first identifies all of the connected components" +" in the graph, then adds edges to connect those components together in a " +"path. For example, if a graph contains three connected components A, B, " +"and C, make_connected will add two edges. The two edges added might " +"consist of one connecting a vertex in A with a vertex in B and one " +"connecting a vertex in B with a vertex in C." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:51 +msgid "The main characteristics are:" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:44 +msgid "" +"It will give the minimum list of all edges which are needed in the graph " +"to make the graph connected." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:46 +msgid "Applicable only for **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:48 +msgid "The algorithm does not considers traversal costs in the calculations." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:50 +msgid "Running time: :math:`O(V + E)`" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:54 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:57 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:65 +msgid "" +"Query done on :doc:`sampledata` network gives the list of edges that are " +"needed in the graph to make it connected." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:72 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:75 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:75 +#: ../../build/doc/pgr_makeConnected.rst:86 +#: ../../build/doc/pgr_makeConnected.rst:112 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:75 +#: ../../build/doc/pgr_makeConnected.rst:86 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:77 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:77 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:77 +msgid "SQL query as described below." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:81 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:83 +msgid "" +"an SQL query, which should return a set of rows with the following " +"columns:" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:86 +#: ../../build/doc/pgr_makeConnected.rst:112 +msgid "Column" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:88 +msgid "**id**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:88 +#: ../../build/doc/pgr_makeConnected.rst:89 +#: ../../build/doc/pgr_makeConnected.rst:90 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:88 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:89 +msgid "**source**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:89 +#: ../../build/doc/pgr_makeConnected.rst:115 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:90 +msgid "**target**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:90 +#: ../../build/doc/pgr_makeConnected.rst:116 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:91 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:91 +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:91 +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "When positive: edge `(target, source)` is part of the graph." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:92 +#: ../../build/doc/pgr_makeConnected.rst:95 +msgid "When negative: edge `(target, source)` is not part of the graph." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "-1" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:99 +msgid "Where:" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:101 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:102 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:105 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:109 +msgid "Returns set of ``(seq, start_vid, end_vid)``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:114 +msgid "**seq**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:114 +msgid "``INT``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:114 +msgid "Sequential value starting from **1**." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:115 +msgid "**start_vid**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:115 +#: ../../build/doc/pgr_makeConnected.rst:116 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:116 +msgid "**end_vid**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:122 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:124 +msgid "https://www.boost.org/libs/graph/doc/make_connected.html" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:125 +msgid "The queries use the :doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:128 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:129 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:130 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_sequentialVertexColoring.po b/locale/en/LC_MESSAGES/pgr_sequentialVertexColoring.po new file mode 100644 index 00000000000..4ebabc99d1d --- /dev/null +++ b/locale/en/LC_MESSAGES/pgr_sequentialVertexColoring.po @@ -0,0 +1,394 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:11 +msgid "pgr_sequentialVertexColoring - Experimental" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:13 +msgid "" +"``pgr_sequentialVertexColoring`` — Returns the vertex coloring of an " +"undirected graph, using greedy approach." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:19 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 ../../build/doc/coloring-family.rst:6 +#: ../../build/doc/pgr_sequentialVertexColoring.rst:37 +#: ../../build/doc/traversal-family.rst:4 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:39 +msgid "" +"Sequential Vertex Coloring algorithm is a graph coloring algorithm in " +"which color identifiers are assigned to the vertices of a graph in a " +"sequential manner, such that no edge connects two identically colored " +"vertices." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:43 +msgid "**The main Characteristics are:**" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:45 +msgid "The implementation is applicable only for **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:46 +msgid "" +"Provides the color to be assigned to all the vertices present in the " +"graph." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:47 +msgid "Color identifiers values are in the Range :math:`[1, |V|]`" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:48 +msgid "The algorithm tries to assign the least possible color to every vertex." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:49 +msgid "" +"Efficient graph coloring is an NP-Hard problem, and therefore, this " +"algorithm does not always produce optimal coloring. It follows a greedy " +"strategy by iterating through all the vertices sequentially, and " +"assigning the smallest possible color that is not used by its neighbors, " +"to each vertex." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:53 +msgid "The returned rows are ordered in ascending order of the vertex value." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:54 +msgid "Sequential Vertex Coloring Running Time: :math:`O(|V|*(d + k))`" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:56 +msgid "where :math:`|V|` is the number of vertices," +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:57 +msgid ":math:`d` is the maximum degree of the vertices in the graph," +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:58 +msgid ":math:`k` is the number of colors used." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:61 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:70 +msgid "Graph coloring of pgRouting :doc:`sampledata`" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:82 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 ../../build/doc/coloring-family.rst:6 +#: ../../build/doc/traversal-family.rst:4 +msgid "Type" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "Inner query as described below." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:89 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:91 +msgid "" +"an SQL query of an **undirected** graph, which should return a set of " +"rows with the following columns:" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 ../../build/doc/traversal-family.rst:4 +msgid "Column" +msgstr "" + +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:99 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/coloring-family.rst:3 +msgid "Returns SET OF ``(vertex_id, color_id)``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 +msgid "**vertex_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 ../../build/doc/coloring-family.rst:9 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 +msgid "Identifier of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:9 +msgid "**color_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:9 +msgid "Identifier of the color of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:11 +msgid "The minimum value of color is 1." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:107 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:109 +msgid "The queries use the :doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:113 +msgid "" +"`Boost: Sequential Vertex Coloring algorithm documentation " +"`__" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:114 +msgid "" +"`Wikipedia: Graph coloring " +"`__" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:119 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:120 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:121 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_withPointsCostMatrix.po b/locale/en/LC_MESSAGES/pgr_withPointsCostMatrix.po index a8ef5f7da29..91817585ef6 100644 --- a/locale/en/LC_MESSAGES/pgr_withPointsCostMatrix.po +++ b/locale/en/LC_MESSAGES/pgr_withPointsCostMatrix.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_withPointsCostMatrix.rst:11 msgid "pgr_withPointsCostMatrix - proposed" @@ -286,9 +286,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices " -"are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -296,9 +294,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are " -"in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 @@ -524,3 +520,15 @@ msgstr "" msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "Identifier of the starting vertex. Used" +#~ " when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" + +#~ msgid "" +#~ "Identifier of the ending vertex. Used" +#~ " when multiple ending vertices are in" +#~ " the query." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/release_notes.po b/locale/en/LC_MESSAGES/release_notes.po index 700e736f2e4..3e1d57ca6dc 100644 --- a/locale/en/LC_MESSAGES/release_notes.po +++ b/locale/en/LC_MESSAGES/release_notes.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/release_notes.rst:13 msgid "Release Notes" @@ -32,150 +32,265 @@ msgid "Table of contents" msgstr "" #: ../../build/doc/release_notes.rst:21 -msgid ":ref:`changelog_3_1_0`" +msgid ":ref:`changelog_3_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:22 -msgid ":ref:`changelog_3_0_2`" +msgid ":ref:`changelog_3_1_1`" msgstr "" #: ../../build/doc/release_notes.rst:23 -msgid ":ref:`changelog_3_0_1`" +msgid ":ref:`changelog_3_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:24 -msgid ":ref:`changelog_3_0_0`" +msgid ":ref:`changelog_3_0_3`" msgstr "" #: ../../build/doc/release_notes.rst:25 -msgid ":ref:`changelog_2_6_3`" +msgid ":ref:`changelog_3_0_2`" msgstr "" #: ../../build/doc/release_notes.rst:26 -msgid ":ref:`changelog_2_6_2`" +msgid ":ref:`changelog_3_0_1`" msgstr "" #: ../../build/doc/release_notes.rst:27 -msgid ":ref:`changelog_2_6_1`" +msgid ":ref:`changelog_3_0_0`" msgstr "" #: ../../build/doc/release_notes.rst:28 -msgid ":ref:`changelog_2_6_0`" +msgid ":ref:`changelog_2_6_3`" msgstr "" #: ../../build/doc/release_notes.rst:29 -msgid ":ref:`changelog_2_5_5`" +msgid ":ref:`changelog_2_6_2`" msgstr "" #: ../../build/doc/release_notes.rst:30 -msgid ":ref:`changelog_2_5_4`" +msgid ":ref:`changelog_2_6_1`" msgstr "" #: ../../build/doc/release_notes.rst:31 -msgid ":ref:`changelog_2_5_3`" +msgid ":ref:`changelog_2_6_0`" msgstr "" #: ../../build/doc/release_notes.rst:32 -msgid ":ref:`changelog_2_5_2`" +msgid ":ref:`changelog_2_5_5`" msgstr "" #: ../../build/doc/release_notes.rst:33 -msgid ":ref:`changelog_2_5_1`" +msgid ":ref:`changelog_2_5_4`" msgstr "" #: ../../build/doc/release_notes.rst:34 -msgid ":ref:`changelog_2_5_0`" +msgid ":ref:`changelog_2_5_3`" msgstr "" #: ../../build/doc/release_notes.rst:35 -msgid ":ref:`changelog_2_4_2`" +msgid ":ref:`changelog_2_5_2`" msgstr "" #: ../../build/doc/release_notes.rst:36 -msgid ":ref:`changelog_2_4_1`" +msgid ":ref:`changelog_2_5_1`" msgstr "" #: ../../build/doc/release_notes.rst:37 -msgid ":ref:`changelog_2_4_0`" +msgid ":ref:`changelog_2_5_0`" msgstr "" #: ../../build/doc/release_notes.rst:38 -msgid ":ref:`changelog_2_3_2`" +msgid ":ref:`changelog_2_4_2`" msgstr "" #: ../../build/doc/release_notes.rst:39 -msgid ":ref:`changelog_2_3_1`" +msgid ":ref:`changelog_2_4_1`" msgstr "" #: ../../build/doc/release_notes.rst:40 -msgid ":ref:`changelog_2_3_0`" +msgid ":ref:`changelog_2_4_0`" msgstr "" #: ../../build/doc/release_notes.rst:41 -msgid ":ref:`changelog_2_2_4`" +msgid ":ref:`changelog_2_3_2`" msgstr "" #: ../../build/doc/release_notes.rst:42 -msgid ":ref:`changelog_2_2_3`" +msgid ":ref:`changelog_2_3_1`" msgstr "" #: ../../build/doc/release_notes.rst:43 -msgid ":ref:`changelog_2_2_2`" +msgid ":ref:`changelog_2_3_0`" msgstr "" #: ../../build/doc/release_notes.rst:44 -msgid ":ref:`changelog_2_2_1`" +msgid ":ref:`changelog_2_2_4`" msgstr "" #: ../../build/doc/release_notes.rst:45 -msgid ":ref:`changelog_2_2_0`" +msgid ":ref:`changelog_2_2_3`" msgstr "" #: ../../build/doc/release_notes.rst:46 -msgid ":ref:`changelog_2_1_0`" +msgid ":ref:`changelog_2_2_2`" msgstr "" #: ../../build/doc/release_notes.rst:47 -msgid ":ref:`changelog_2_0_1`" +msgid ":ref:`changelog_2_2_1`" msgstr "" #: ../../build/doc/release_notes.rst:48 -msgid ":ref:`changelog_2_0_0`" +msgid ":ref:`changelog_2_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:49 +msgid ":ref:`changelog_2_1_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:50 +msgid ":ref:`changelog_2_0_1`" +msgstr "" + +#: ../../build/doc/release_notes.rst:51 +msgid ":ref:`changelog_2_0_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:52 msgid ":ref:`changelog_1_x`" msgstr "" -#: ../../build/doc/release_notes.rst:56 +#: ../../build/doc/release_notes.rst:60 +msgid "pgRouting 3.2.0 Release Notes" +msgstr "" + +#: ../../build/doc/release_notes.rst:63 +msgid "New experimental functions" +msgstr "" + +#: ../../build/doc/release_notes.rst:64 +msgid "pgr_depthFirstSearch" +msgstr "" + +#: ../../build/doc/release_notes.rst:65 +msgid "pgr_dijkstraNear(One to Many)" +msgstr "" + +#: ../../build/doc/release_notes.rst:66 +msgid "pgr_dijkstraNear(Many to One)" +msgstr "" + +#: ../../build/doc/release_notes.rst:67 +msgid "pgr_dijkstraNear(Many to Many)" +msgstr "" + +#: ../../build/doc/release_notes.rst:68 +msgid "pgr_dijkstraNear(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:69 +msgid "pgr_dijkstraNearCost(One to Many)" +msgstr "" + +#: ../../build/doc/release_notes.rst:70 +msgid "pgr_dijkstraNearCost(Many to One)" +msgstr "" + +#: ../../build/doc/release_notes.rst:71 +msgid "pgr_dijkstraNearCost(Many to Many)" +msgstr "" + +#: ../../build/doc/release_notes.rst:72 +msgid "pgr_dijkstraNearCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:73 +msgid "pgr_isPlanar" +msgstr "" + +#: ../../build/doc/release_notes.rst:74 +msgid "pgr_makeConnected" +msgstr "" + +#: ../../build/doc/release_notes.rst:75 +msgid "pgr_sequentialVertexColoring" +msgstr "" + +#: ../../build/doc/release_notes.rst:80 +msgid "pgRouting 3.1.1 Release Notes" +msgstr "" + +#: ../../build/doc/release_notes.rst:82 +#, python-format +msgid "" +"To see all issues & pull requests closed by this release see the `Git " +"closed milestone for 3.1.1 " +"`_" +" on Github." +msgstr "" + +#: ../../build/doc/release_notes.rst:86 ../../build/doc/release_notes.rst:128 +#: ../../build/doc/release_notes.rst:140 +msgid "Issues fixes" +msgstr "" + +#: ../../build/doc/release_notes.rst:87 ../../build/doc/release_notes.rst:115 +msgid "" +"`#1616 `__: Path " +"evaluation on C++ not updated before the results go back to C" +msgstr "" + +#: ../../build/doc/release_notes.rst:88 ../../build/doc/release_notes.rst:116 +msgid "" +"`#1300 `__: " +"pgr_chinesePostman crash on test data" +msgstr "" + +#: ../../build/doc/release_notes.rst:94 msgid "pgRouting 3.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:59 +#: ../../build/doc/release_notes.rst:96 +#, python-format +msgid "" +"To see all issues & pull requests closed by this release see the `Git " +"closed milestone for 3.1.0 " +"`_" +" on Github." +msgstr "" + +#: ../../build/doc/release_notes.rst:100 msgid "New proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:60 +#: ../../build/doc/release_notes.rst:101 msgid "pgr_dijkstra(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:61 +#: ../../build/doc/release_notes.rst:102 msgid "pgr_dijkstraCost(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:64 +#: ../../build/doc/release_notes.rst:105 msgid "Build changes" msgstr "" -#: ../../build/doc/release_notes.rst:65 +#: ../../build/doc/release_notes.rst:106 msgid "Minimal requirement for Sphinx: version 1.8" msgstr "" -#: ../../build/doc/release_notes.rst:70 +#: ../../build/doc/release_notes.rst:111 +msgid "pgRouting 3.0.3 Release Notes" +msgstr "" + +#: ../../build/doc/release_notes.rst:114 +msgid "Backport issues fixes" +msgstr "" + +#: ../../build/doc/release_notes.rst:122 msgid "pgRouting 3.0.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:72 +#: ../../build/doc/release_notes.rst:124 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -184,21 +299,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:76 ../../build/doc/release_notes.rst:88 -msgid "Issues fixes" -msgstr "" - -#: ../../build/doc/release_notes.rst:77 +#: ../../build/doc/release_notes.rst:129 msgid "" "`#1378 `__: Visual " "Studio build failing" msgstr "" -#: ../../build/doc/release_notes.rst:82 +#: ../../build/doc/release_notes.rst:134 msgid "pgRouting 3.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:84 +#: ../../build/doc/release_notes.rst:136 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -207,17 +318,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:89 +#: ../../build/doc/release_notes.rst:141 msgid "" "`#232 `__: Honor " "client cancel requests in C /C++ code" msgstr "" -#: ../../build/doc/release_notes.rst:94 +#: ../../build/doc/release_notes.rst:146 msgid "pgRouting 3.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:96 +#: ../../build/doc/release_notes.rst:148 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -226,495 +337,495 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:100 +#: ../../build/doc/release_notes.rst:152 msgid "Fixed Issues" msgstr "" -#: ../../build/doc/release_notes.rst:101 +#: ../../build/doc/release_notes.rst:153 msgid "" "`#1153 `__: Renamed " "pgr_eucledianTSP to pgr_TSPeuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:102 +#: ../../build/doc/release_notes.rst:154 msgid "" "`#1188 `__: Removed " "CGAL dependency" msgstr "" -#: ../../build/doc/release_notes.rst:103 +#: ../../build/doc/release_notes.rst:155 msgid "" "`#1002 `__: Fixed " "contraction issues:" msgstr "" -#: ../../build/doc/release_notes.rst:105 +#: ../../build/doc/release_notes.rst:157 msgid "" "`#1004 `__: Contracts" " when forbidden vertices do not belong to graph" msgstr "" -#: ../../build/doc/release_notes.rst:106 +#: ../../build/doc/release_notes.rst:158 msgid "" "`#1005 `__: " "Intermideate results eliminated" msgstr "" -#: ../../build/doc/release_notes.rst:107 +#: ../../build/doc/release_notes.rst:159 msgid "" "`#1006 `__: No loss " "of information" msgstr "" -#: ../../build/doc/release_notes.rst:110 +#: ../../build/doc/release_notes.rst:162 msgid "New functions" msgstr "" -#: ../../build/doc/release_notes.rst:111 +#: ../../build/doc/release_notes.rst:163 msgid "Kruskal family" msgstr "" -#: ../../build/doc/release_notes.rst:113 +#: ../../build/doc/release_notes.rst:165 msgid "pgr_kruskal" msgstr "" -#: ../../build/doc/release_notes.rst:114 +#: ../../build/doc/release_notes.rst:166 msgid "pgr_kruskalBFS" msgstr "" -#: ../../build/doc/release_notes.rst:115 +#: ../../build/doc/release_notes.rst:167 msgid "pgr_kruskalDD" msgstr "" -#: ../../build/doc/release_notes.rst:116 +#: ../../build/doc/release_notes.rst:168 msgid "pgr_kruskalDFS" msgstr "" -#: ../../build/doc/release_notes.rst:118 +#: ../../build/doc/release_notes.rst:170 msgid "Prim family" msgstr "" -#: ../../build/doc/release_notes.rst:120 +#: ../../build/doc/release_notes.rst:172 msgid "pgr_prim" msgstr "" -#: ../../build/doc/release_notes.rst:121 +#: ../../build/doc/release_notes.rst:173 msgid "pgr_primDD" msgstr "" -#: ../../build/doc/release_notes.rst:122 +#: ../../build/doc/release_notes.rst:174 msgid "pgr_primDFS" msgstr "" -#: ../../build/doc/release_notes.rst:123 +#: ../../build/doc/release_notes.rst:175 msgid "pgr_primBFS" msgstr "" -#: ../../build/doc/release_notes.rst:127 +#: ../../build/doc/release_notes.rst:179 msgid "Proposed moved to official on pgRouting" msgstr "" -#: ../../build/doc/release_notes.rst:128 +#: ../../build/doc/release_notes.rst:180 msgid "aStar Family" msgstr "" -#: ../../build/doc/release_notes.rst:130 +#: ../../build/doc/release_notes.rst:182 msgid "pgr_aStar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:131 +#: ../../build/doc/release_notes.rst:183 msgid "pgr_aStar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:132 +#: ../../build/doc/release_notes.rst:184 msgid "pgr_aStar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:133 +#: ../../build/doc/release_notes.rst:185 msgid "pgr_aStarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:134 +#: ../../build/doc/release_notes.rst:186 msgid "pgr_aStarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:135 +#: ../../build/doc/release_notes.rst:187 msgid "pgr_aStarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:136 +#: ../../build/doc/release_notes.rst:188 msgid "pgr_aStarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:137 +#: ../../build/doc/release_notes.rst:189 msgid "pgr_aStarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:138 +#: ../../build/doc/release_notes.rst:190 msgid "pgr_aStarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:139 +#: ../../build/doc/release_notes.rst:191 msgid "pgr_aStarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:140 +#: ../../build/doc/release_notes.rst:192 msgid "pgr_aStarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:142 +#: ../../build/doc/release_notes.rst:194 msgid "bdAstar Family" msgstr "" -#: ../../build/doc/release_notes.rst:144 ../../build/doc/release_notes.rst:471 +#: ../../build/doc/release_notes.rst:196 ../../build/doc/release_notes.rst:523 msgid "pgr_bdAstar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:145 ../../build/doc/release_notes.rst:472 +#: ../../build/doc/release_notes.rst:197 ../../build/doc/release_notes.rst:524 msgid "pgr_bdAstar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:146 ../../build/doc/release_notes.rst:473 +#: ../../build/doc/release_notes.rst:198 ../../build/doc/release_notes.rst:525 msgid "pgr_bdAstar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:147 ../../build/doc/release_notes.rst:474 +#: ../../build/doc/release_notes.rst:199 ../../build/doc/release_notes.rst:526 msgid "pgr_bdAstarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:148 ../../build/doc/release_notes.rst:475 +#: ../../build/doc/release_notes.rst:200 ../../build/doc/release_notes.rst:527 msgid "pgr_bdAstarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:149 ../../build/doc/release_notes.rst:476 +#: ../../build/doc/release_notes.rst:201 ../../build/doc/release_notes.rst:528 msgid "pgr_bdAstarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:150 ../../build/doc/release_notes.rst:477 +#: ../../build/doc/release_notes.rst:202 ../../build/doc/release_notes.rst:529 msgid "pgr_bdAstarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:151 +#: ../../build/doc/release_notes.rst:203 msgid "pgr_bdAstarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:152 +#: ../../build/doc/release_notes.rst:204 msgid "pgr_bdAstarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:153 +#: ../../build/doc/release_notes.rst:205 msgid "pgr_bdAstarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:154 +#: ../../build/doc/release_notes.rst:206 msgid "pgr_bdAstarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:156 +#: ../../build/doc/release_notes.rst:208 msgid "bdDijkstra Family" msgstr "" -#: ../../build/doc/release_notes.rst:158 ../../build/doc/release_notes.rst:479 +#: ../../build/doc/release_notes.rst:210 ../../build/doc/release_notes.rst:531 msgid "pgr_bdDijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:159 ../../build/doc/release_notes.rst:480 +#: ../../build/doc/release_notes.rst:211 ../../build/doc/release_notes.rst:532 msgid "pgr_bdDijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:160 ../../build/doc/release_notes.rst:481 +#: ../../build/doc/release_notes.rst:212 ../../build/doc/release_notes.rst:533 msgid "pgr_bdDijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:161 ../../build/doc/release_notes.rst:482 +#: ../../build/doc/release_notes.rst:213 ../../build/doc/release_notes.rst:534 msgid "pgr_bdDijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:162 ../../build/doc/release_notes.rst:483 +#: ../../build/doc/release_notes.rst:214 ../../build/doc/release_notes.rst:535 msgid "pgr_bdDijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:163 ../../build/doc/release_notes.rst:484 +#: ../../build/doc/release_notes.rst:215 ../../build/doc/release_notes.rst:536 msgid "pgr_bdDijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:164 ../../build/doc/release_notes.rst:485 +#: ../../build/doc/release_notes.rst:216 ../../build/doc/release_notes.rst:537 msgid "pgr_bdDijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:165 +#: ../../build/doc/release_notes.rst:217 msgid "pgr_bdDijkstraCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:166 +#: ../../build/doc/release_notes.rst:218 msgid "pgr_bdDijkstraCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:167 +#: ../../build/doc/release_notes.rst:219 msgid "pgr_bdDijkstraCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:168 +#: ../../build/doc/release_notes.rst:220 msgid "pgr_bdDijkstraCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:170 +#: ../../build/doc/release_notes.rst:222 msgid "Flow Family" msgstr "" -#: ../../build/doc/release_notes.rst:172 +#: ../../build/doc/release_notes.rst:224 msgid "pgr_pushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:173 +#: ../../build/doc/release_notes.rst:225 msgid "pgr_pushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:174 +#: ../../build/doc/release_notes.rst:226 msgid "pgr_pushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:175 +#: ../../build/doc/release_notes.rst:227 msgid "pgr_pushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:176 +#: ../../build/doc/release_notes.rst:228 msgid "pgr_edmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:177 +#: ../../build/doc/release_notes.rst:229 msgid "pgr_edmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:178 +#: ../../build/doc/release_notes.rst:230 msgid "pgr_edmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:179 +#: ../../build/doc/release_notes.rst:231 msgid "pgr_edmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:180 +#: ../../build/doc/release_notes.rst:232 msgid "pgr_boykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:181 +#: ../../build/doc/release_notes.rst:233 msgid "pgr_boykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:182 +#: ../../build/doc/release_notes.rst:234 msgid "pgr_boykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:183 +#: ../../build/doc/release_notes.rst:235 msgid "pgr_boykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:184 +#: ../../build/doc/release_notes.rst:236 msgid "pgr_maxCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:185 ../../build/doc/release_notes.rst:555 +#: ../../build/doc/release_notes.rst:237 ../../build/doc/release_notes.rst:607 msgid "pgr_maxFlow" msgstr "" -#: ../../build/doc/release_notes.rst:186 ../../build/doc/release_notes.rst:645 +#: ../../build/doc/release_notes.rst:238 ../../build/doc/release_notes.rst:697 msgid "pgr_edgeDisjointPaths(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:187 ../../build/doc/release_notes.rst:646 +#: ../../build/doc/release_notes.rst:239 ../../build/doc/release_notes.rst:698 msgid "pgr_edgeDisjointPaths(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:188 ../../build/doc/release_notes.rst:647 +#: ../../build/doc/release_notes.rst:240 ../../build/doc/release_notes.rst:699 msgid "pgr_edgeDisjointPaths(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:189 ../../build/doc/release_notes.rst:648 +#: ../../build/doc/release_notes.rst:241 ../../build/doc/release_notes.rst:700 msgid "pgr_edgeDisjointPaths(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:191 +#: ../../build/doc/release_notes.rst:243 msgid "Components family" msgstr "" -#: ../../build/doc/release_notes.rst:193 ../../build/doc/release_notes.rst:489 +#: ../../build/doc/release_notes.rst:245 ../../build/doc/release_notes.rst:541 msgid "pgr_connectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:194 ../../build/doc/release_notes.rst:490 +#: ../../build/doc/release_notes.rst:246 ../../build/doc/release_notes.rst:542 msgid "pgr_strongComponents" msgstr "" -#: ../../build/doc/release_notes.rst:195 ../../build/doc/release_notes.rst:491 +#: ../../build/doc/release_notes.rst:247 ../../build/doc/release_notes.rst:543 msgid "pgr_biconnectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:196 ../../build/doc/release_notes.rst:492 +#: ../../build/doc/release_notes.rst:248 ../../build/doc/release_notes.rst:544 msgid "pgr_articulationPoints" msgstr "" -#: ../../build/doc/release_notes.rst:197 ../../build/doc/release_notes.rst:493 +#: ../../build/doc/release_notes.rst:249 ../../build/doc/release_notes.rst:545 msgid "pgr_bridges" msgstr "" -#: ../../build/doc/release_notes.rst:199 +#: ../../build/doc/release_notes.rst:251 msgid "Contraction:" msgstr "" -#: ../../build/doc/release_notes.rst:201 +#: ../../build/doc/release_notes.rst:253 msgid "Removed unnecessary column seq" msgstr "" -#: ../../build/doc/release_notes.rst:202 ../../build/doc/release_notes.rst:589 -#: ../../build/doc/release_notes.rst:605 ../../build/doc/release_notes.rst:675 -#: ../../build/doc/release_notes.rst:688 ../../build/doc/release_notes.rst:699 -#: ../../build/doc/release_notes.rst:711 ../../build/doc/release_notes.rst:830 -#: ../../build/doc/release_notes.rst:861 +#: ../../build/doc/release_notes.rst:254 ../../build/doc/release_notes.rst:641 +#: ../../build/doc/release_notes.rst:657 ../../build/doc/release_notes.rst:727 +#: ../../build/doc/release_notes.rst:740 ../../build/doc/release_notes.rst:751 +#: ../../build/doc/release_notes.rst:763 ../../build/doc/release_notes.rst:882 +#: ../../build/doc/release_notes.rst:913 msgid "Bug Fixes" msgstr "" -#: ../../build/doc/release_notes.rst:206 +#: ../../build/doc/release_notes.rst:258 msgid "New Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:207 +#: ../../build/doc/release_notes.rst:259 msgid "pgr_maxFlowMinCost" msgstr "" -#: ../../build/doc/release_notes.rst:208 +#: ../../build/doc/release_notes.rst:260 msgid "pgr_maxFlowMinCost_Cost" msgstr "" -#: ../../build/doc/release_notes.rst:209 +#: ../../build/doc/release_notes.rst:261 msgid "pgr_extractVertices" msgstr "" -#: ../../build/doc/release_notes.rst:210 +#: ../../build/doc/release_notes.rst:262 msgid "pgr_turnRestrictedPath" msgstr "" -#: ../../build/doc/release_notes.rst:211 +#: ../../build/doc/release_notes.rst:263 msgid "pgr_stoerWagner" msgstr "" -#: ../../build/doc/release_notes.rst:212 +#: ../../build/doc/release_notes.rst:264 msgid "pgr_dagShortestpath" msgstr "" -#: ../../build/doc/release_notes.rst:213 +#: ../../build/doc/release_notes.rst:265 msgid "pgr_topologicalSort" msgstr "" -#: ../../build/doc/release_notes.rst:214 +#: ../../build/doc/release_notes.rst:266 msgid "pgr_transitiveClosure" msgstr "" -#: ../../build/doc/release_notes.rst:215 +#: ../../build/doc/release_notes.rst:267 msgid "VRP category" msgstr "" -#: ../../build/doc/release_notes.rst:217 +#: ../../build/doc/release_notes.rst:269 msgid "pgr_pickDeliverEuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:218 +#: ../../build/doc/release_notes.rst:270 msgid "pgr_pickDeliver" msgstr "" -#: ../../build/doc/release_notes.rst:220 +#: ../../build/doc/release_notes.rst:272 msgid "Chinese Postman family" msgstr "" -#: ../../build/doc/release_notes.rst:222 +#: ../../build/doc/release_notes.rst:274 msgid "pgr_chinesePostman" msgstr "" -#: ../../build/doc/release_notes.rst:223 +#: ../../build/doc/release_notes.rst:275 msgid "pgr_chinesePostmanCost" msgstr "" -#: ../../build/doc/release_notes.rst:225 +#: ../../build/doc/release_notes.rst:277 msgid "Breadth First Search family" msgstr "" -#: ../../build/doc/release_notes.rst:227 +#: ../../build/doc/release_notes.rst:279 msgid "pgr_breadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:228 +#: ../../build/doc/release_notes.rst:280 msgid "pgr_binaryBreadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:230 +#: ../../build/doc/release_notes.rst:282 msgid "Bellman Ford family" msgstr "" -#: ../../build/doc/release_notes.rst:232 +#: ../../build/doc/release_notes.rst:284 msgid "pgr_bellmanFord" msgstr "" -#: ../../build/doc/release_notes.rst:233 +#: ../../build/doc/release_notes.rst:285 msgid "pgr_edwardMoore" msgstr "" -#: ../../build/doc/release_notes.rst:236 +#: ../../build/doc/release_notes.rst:288 msgid "Moved to legacy" msgstr "" -#: ../../build/doc/release_notes.rst:237 +#: ../../build/doc/release_notes.rst:289 msgid "Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:239 +#: ../../build/doc/release_notes.rst:291 msgid "pgr_labelGraph - Use the components family of functions instead." msgstr "" -#: ../../build/doc/release_notes.rst:240 +#: ../../build/doc/release_notes.rst:292 msgid "Max flow - functions were renamed on v2.5.0" msgstr "" -#: ../../build/doc/release_notes.rst:242 +#: ../../build/doc/release_notes.rst:294 msgid "pgr_maxFlowPushRelabel" msgstr "" -#: ../../build/doc/release_notes.rst:243 +#: ../../build/doc/release_notes.rst:295 msgid "pgr_maxFlowBoykovKolmogorov" msgstr "" -#: ../../build/doc/release_notes.rst:244 +#: ../../build/doc/release_notes.rst:296 msgid "pgr_maxFlowEdmondsKarp" msgstr "" -#: ../../build/doc/release_notes.rst:245 +#: ../../build/doc/release_notes.rst:297 msgid "pgr_maximumcardinalitymatching" msgstr "" -#: ../../build/doc/release_notes.rst:247 +#: ../../build/doc/release_notes.rst:299 msgid "VRP" msgstr "" -#: ../../build/doc/release_notes.rst:249 +#: ../../build/doc/release_notes.rst:301 msgid "pgr_gsoc_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:251 +#: ../../build/doc/release_notes.rst:303 msgid "TSP old signatures" msgstr "" -#: ../../build/doc/release_notes.rst:252 +#: ../../build/doc/release_notes.rst:304 msgid "pgr_pointsAsPolygon" msgstr "" -#: ../../build/doc/release_notes.rst:253 +#: ../../build/doc/release_notes.rst:305 msgid "pgr_alphaShape old signature" msgstr "" -#: ../../build/doc/release_notes.rst:259 +#: ../../build/doc/release_notes.rst:311 msgid "pgRouting 2.6.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:261 +#: ../../build/doc/release_notes.rst:313 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -723,39 +834,40 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:264 ../../build/doc/release_notes.rst:278 -#: ../../build/doc/release_notes.rst:336 ../../build/doc/release_notes.rst:365 -#: ../../build/doc/release_notes.rst:418 ../../build/doc/release_notes.rst:429 -#: ../../build/doc/release_notes.rst:441 ../../build/doc/release_notes.rst:523 -#: ../../build/doc/release_notes.rst:537 ../../build/doc/release_notes.rst:574 -#: ../../build/doc/release_notes.rst:928 ../../build/doc/release_notes.rst:935 -#: ../../build/doc/release_notes.rst:956 ../../build/doc/release_notes.rst:963 +#: ../../build/doc/release_notes.rst:316 ../../build/doc/release_notes.rst:330 +#: ../../build/doc/release_notes.rst:388 ../../build/doc/release_notes.rst:417 +#: ../../build/doc/release_notes.rst:470 ../../build/doc/release_notes.rst:481 +#: ../../build/doc/release_notes.rst:493 ../../build/doc/release_notes.rst:575 +#: ../../build/doc/release_notes.rst:589 ../../build/doc/release_notes.rst:626 +#: ../../build/doc/release_notes.rst:980 ../../build/doc/release_notes.rst:987 +#: ../../build/doc/release_notes.rst:1008 +#: ../../build/doc/release_notes.rst:1015 msgid "Bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:265 +#: ../../build/doc/release_notes.rst:317 msgid "" "`#1219 `__ Implicit " "cast for via_path integer to text" msgstr "" -#: ../../build/doc/release_notes.rst:266 +#: ../../build/doc/release_notes.rst:318 msgid "" "`#1193 `__ Fixed " "pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" msgstr "" -#: ../../build/doc/release_notes.rst:267 +#: ../../build/doc/release_notes.rst:319 msgid "" "`#1185 `__ Improve " "FindPostgreSQL.cmake" msgstr "" -#: ../../build/doc/release_notes.rst:273 +#: ../../build/doc/release_notes.rst:325 msgid "pgRouting 2.6.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:275 +#: ../../build/doc/release_notes.rst:327 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -764,29 +876,29 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:279 +#: ../../build/doc/release_notes.rst:331 msgid "" "`#1152 `__ Fixes " "driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:280 +#: ../../build/doc/release_notes.rst:332 msgid "" "`#1098 `__ Fixes " "windows test" msgstr "" -#: ../../build/doc/release_notes.rst:281 +#: ../../build/doc/release_notes.rst:333 msgid "" "`#1165 `__ Fixes " "build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:286 +#: ../../build/doc/release_notes.rst:338 msgid "pgRouting 2.6.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:288 +#: ../../build/doc/release_notes.rst:340 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -795,133 +907,133 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:290 ../../build/doc/release_notes.rst:377 +#: ../../build/doc/release_notes.rst:342 ../../build/doc/release_notes.rst:429 msgid "Fixes server crash on several functions." msgstr "" -#: ../../build/doc/release_notes.rst:292 ../../build/doc/release_notes.rst:379 -#: ../../build/doc/release_notes.rst:737 +#: ../../build/doc/release_notes.rst:344 ../../build/doc/release_notes.rst:431 +#: ../../build/doc/release_notes.rst:789 msgid "pgr_floydWarshall" msgstr "" -#: ../../build/doc/release_notes.rst:293 ../../build/doc/release_notes.rst:380 +#: ../../build/doc/release_notes.rst:345 ../../build/doc/release_notes.rst:432 msgid "pgr_johnson" msgstr "" -#: ../../build/doc/release_notes.rst:294 ../../build/doc/release_notes.rst:381 +#: ../../build/doc/release_notes.rst:346 ../../build/doc/release_notes.rst:433 msgid "pgr_astar" msgstr "" -#: ../../build/doc/release_notes.rst:295 ../../build/doc/release_notes.rst:382 +#: ../../build/doc/release_notes.rst:347 ../../build/doc/release_notes.rst:434 msgid "pgr_bdAstar" msgstr "" -#: ../../build/doc/release_notes.rst:296 ../../build/doc/release_notes.rst:383 +#: ../../build/doc/release_notes.rst:348 ../../build/doc/release_notes.rst:435 msgid "pgr_bdDijstra" msgstr "" -#: ../../build/doc/release_notes.rst:297 ../../build/doc/release_notes.rst:384 +#: ../../build/doc/release_notes.rst:349 ../../build/doc/release_notes.rst:436 msgid "pgr_alphashape" msgstr "" -#: ../../build/doc/release_notes.rst:298 ../../build/doc/release_notes.rst:385 -#: ../../build/doc/release_notes.rst:630 +#: ../../build/doc/release_notes.rst:350 ../../build/doc/release_notes.rst:437 +#: ../../build/doc/release_notes.rst:682 msgid "pgr_dijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:299 ../../build/doc/release_notes.rst:386 +#: ../../build/doc/release_notes.rst:351 ../../build/doc/release_notes.rst:438 msgid "pgr_dijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:300 ../../build/doc/release_notes.rst:387 +#: ../../build/doc/release_notes.rst:352 ../../build/doc/release_notes.rst:439 msgid "pgr_dijkstraCost" msgstr "" -#: ../../build/doc/release_notes.rst:301 ../../build/doc/release_notes.rst:388 +#: ../../build/doc/release_notes.rst:353 ../../build/doc/release_notes.rst:440 msgid "pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:302 ../../build/doc/release_notes.rst:389 +#: ../../build/doc/release_notes.rst:354 ../../build/doc/release_notes.rst:441 msgid "pgr_KSP" msgstr "" -#: ../../build/doc/release_notes.rst:303 ../../build/doc/release_notes.rst:390 +#: ../../build/doc/release_notes.rst:355 ../../build/doc/release_notes.rst:442 msgid "pgr_dijkstraVia (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:304 ../../build/doc/release_notes.rst:391 +#: ../../build/doc/release_notes.rst:356 ../../build/doc/release_notes.rst:443 msgid "pgr_boykovKolmogorov (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:305 ../../build/doc/release_notes.rst:392 +#: ../../build/doc/release_notes.rst:357 ../../build/doc/release_notes.rst:444 msgid "pgr_edgeDisjointPaths (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:306 ../../build/doc/release_notes.rst:393 +#: ../../build/doc/release_notes.rst:358 ../../build/doc/release_notes.rst:445 msgid "pgr_edmondsKarp (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:307 ../../build/doc/release_notes.rst:394 +#: ../../build/doc/release_notes.rst:359 ../../build/doc/release_notes.rst:446 msgid "pgr_maxCardinalityMatch (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:308 ../../build/doc/release_notes.rst:395 +#: ../../build/doc/release_notes.rst:360 ../../build/doc/release_notes.rst:447 msgid "pgr_maxFlow (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:309 ../../build/doc/release_notes.rst:396 +#: ../../build/doc/release_notes.rst:361 ../../build/doc/release_notes.rst:448 msgid "pgr_withPoints (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:310 ../../build/doc/release_notes.rst:397 +#: ../../build/doc/release_notes.rst:362 ../../build/doc/release_notes.rst:449 msgid "pgr_withPointsCost (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:311 ../../build/doc/release_notes.rst:398 +#: ../../build/doc/release_notes.rst:363 ../../build/doc/release_notes.rst:450 msgid "pgr_withPointsKSP (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:312 ../../build/doc/release_notes.rst:399 +#: ../../build/doc/release_notes.rst:364 ../../build/doc/release_notes.rst:451 msgid "pgr_withPointsDD (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:313 ../../build/doc/release_notes.rst:400 +#: ../../build/doc/release_notes.rst:365 ../../build/doc/release_notes.rst:452 msgid "pgr_withPointsCostMatrix (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:314 ../../build/doc/release_notes.rst:401 +#: ../../build/doc/release_notes.rst:366 ../../build/doc/release_notes.rst:453 msgid "pgr_contractGraph (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:315 ../../build/doc/release_notes.rst:402 +#: ../../build/doc/release_notes.rst:367 ../../build/doc/release_notes.rst:454 msgid "pgr_pushRelabel (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:316 ../../build/doc/release_notes.rst:403 +#: ../../build/doc/release_notes.rst:368 ../../build/doc/release_notes.rst:455 msgid "pgr_vrpOneDepot (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:317 ../../build/doc/release_notes.rst:404 +#: ../../build/doc/release_notes.rst:369 ../../build/doc/release_notes.rst:456 msgid "pgr_gsoc_vrppdtw (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:318 ../../build/doc/release_notes.rst:405 +#: ../../build/doc/release_notes.rst:370 ../../build/doc/release_notes.rst:457 msgid "Fixes for deprecated functions where also applied but not tested" msgstr "" -#: ../../build/doc/release_notes.rst:320 ../../build/doc/release_notes.rst:407 +#: ../../build/doc/release_notes.rst:372 ../../build/doc/release_notes.rst:459 msgid "Removed compilation warning for g++8" msgstr "" -#: ../../build/doc/release_notes.rst:321 ../../build/doc/release_notes.rst:408 +#: ../../build/doc/release_notes.rst:373 ../../build/doc/release_notes.rst:460 msgid "Fixed a fallthrugh on Astar and bdAstar." msgstr "" -#: ../../build/doc/release_notes.rst:326 +#: ../../build/doc/release_notes.rst:378 msgid "pgRouting 2.6.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:328 +#: ../../build/doc/release_notes.rst:380 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -930,67 +1042,67 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:332 +#: ../../build/doc/release_notes.rst:384 msgid "New fexperimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:333 ../../build/doc/release_notes.rst:488 +#: ../../build/doc/release_notes.rst:385 ../../build/doc/release_notes.rst:540 msgid "pgr_lineGraphFull" msgstr "" -#: ../../build/doc/release_notes.rst:337 +#: ../../build/doc/release_notes.rst:389 msgid "" "Fix pgr_trsp(text,integer,double precision,integer,double " "precision,boolean,boolean[,text])" msgstr "" -#: ../../build/doc/release_notes.rst:339 +#: ../../build/doc/release_notes.rst:391 msgid "without restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:341 +#: ../../build/doc/release_notes.rst:393 msgid "calls pgr_dijkstra when both end points have a fraction IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:342 +#: ../../build/doc/release_notes.rst:394 msgid "calls pgr_withPoints when at least one fraction NOT IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:344 +#: ../../build/doc/release_notes.rst:396 msgid "with restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:346 +#: ../../build/doc/release_notes.rst:398 msgid "calls original trsp code" msgstr "" -#: ../../build/doc/release_notes.rst:349 +#: ../../build/doc/release_notes.rst:401 msgid "Internal code" msgstr "" -#: ../../build/doc/release_notes.rst:350 +#: ../../build/doc/release_notes.rst:402 msgid "" "Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [," " text])" msgstr "" -#: ../../build/doc/release_notes.rst:352 +#: ../../build/doc/release_notes.rst:404 msgid "Removed the use of pointers" msgstr "" -#: ../../build/doc/release_notes.rst:353 +#: ../../build/doc/release_notes.rst:405 msgid "Internal code can accept BIGINT" msgstr "" -#: ../../build/doc/release_notes.rst:355 +#: ../../build/doc/release_notes.rst:407 msgid "Cleaned the internal code of withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:360 +#: ../../build/doc/release_notes.rst:412 msgid "pgRouting 2.5.5 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:362 +#: ../../build/doc/release_notes.rst:414 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -999,23 +1111,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:366 +#: ../../build/doc/release_notes.rst:418 msgid "Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:367 +#: ../../build/doc/release_notes.rst:419 msgid "Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:368 +#: ../../build/doc/release_notes.rst:420 msgid "Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:373 +#: ../../build/doc/release_notes.rst:425 msgid "pgRouting 2.5.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:375 +#: ../../build/doc/release_notes.rst:427 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1024,11 +1136,11 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:413 +#: ../../build/doc/release_notes.rst:465 msgid "pgRouting 2.5.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:415 +#: ../../build/doc/release_notes.rst:467 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1037,17 +1149,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:419 +#: ../../build/doc/release_notes.rst:471 msgid "" "Fix for postgresql 11: Removed a compilation error when compiling with " "postgreSQL" msgstr "" -#: ../../build/doc/release_notes.rst:424 +#: ../../build/doc/release_notes.rst:476 msgid "pgRouting 2.5.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:426 +#: ../../build/doc/release_notes.rst:478 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1056,15 +1168,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:430 +#: ../../build/doc/release_notes.rst:482 msgid "Fix for postgresql 10.1: Removed a compiler condition" msgstr "" -#: ../../build/doc/release_notes.rst:436 +#: ../../build/doc/release_notes.rst:488 msgid "pgRouting 2.5.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:438 +#: ../../build/doc/release_notes.rst:490 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1073,15 +1185,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:442 +#: ../../build/doc/release_notes.rst:494 msgid "Fixed prerequisite minimum version of: cmake" msgstr "" -#: ../../build/doc/release_notes.rst:448 +#: ../../build/doc/release_notes.rst:500 msgid "pgRouting 2.5.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:450 +#: ../../build/doc/release_notes.rst:502 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.5.0 " @@ -1089,100 +1201,100 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:454 +#: ../../build/doc/release_notes.rst:506 msgid "enhancement:" msgstr "" -#: ../../build/doc/release_notes.rst:455 +#: ../../build/doc/release_notes.rst:507 msgid "pgr_version is now on SQL language" msgstr "" -#: ../../build/doc/release_notes.rst:458 +#: ../../build/doc/release_notes.rst:510 msgid "Breaking change on:" msgstr "" -#: ../../build/doc/release_notes.rst:459 +#: ../../build/doc/release_notes.rst:511 msgid "pgr_edgeDisjointPaths:" msgstr "" -#: ../../build/doc/release_notes.rst:461 +#: ../../build/doc/release_notes.rst:513 msgid "Added path_id, cost and agg_cost columns on the result" msgstr "" -#: ../../build/doc/release_notes.rst:462 +#: ../../build/doc/release_notes.rst:514 msgid "Parameter names changed" msgstr "" -#: ../../build/doc/release_notes.rst:463 +#: ../../build/doc/release_notes.rst:515 msgid "The many version results are the union of the one to one version" msgstr "" -#: ../../build/doc/release_notes.rst:466 +#: ../../build/doc/release_notes.rst:518 msgid "New Signatures:" msgstr "" -#: ../../build/doc/release_notes.rst:467 +#: ../../build/doc/release_notes.rst:519 msgid "pgr_bdAstar(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:470 ../../build/doc/release_notes.rst:629 +#: ../../build/doc/release_notes.rst:522 ../../build/doc/release_notes.rst:681 msgid "New Proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:478 +#: ../../build/doc/release_notes.rst:530 msgid "pgr_bdAstarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:486 +#: ../../build/doc/release_notes.rst:538 msgid "pgr_bdDijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:487 +#: ../../build/doc/release_notes.rst:539 msgid "pgr_lineGraph" msgstr "" -#: ../../build/doc/release_notes.rst:496 ../../build/doc/release_notes.rst:566 -#: ../../build/doc/release_notes.rst:653 +#: ../../build/doc/release_notes.rst:548 ../../build/doc/release_notes.rst:618 +#: ../../build/doc/release_notes.rst:705 msgid "Deprecated Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:497 +#: ../../build/doc/release_notes.rst:549 msgid "pgr_bdastar - use pgr_bdAstar instead" msgstr "" -#: ../../build/doc/release_notes.rst:500 +#: ../../build/doc/release_notes.rst:552 msgid "Renamed Functions" msgstr "" -#: ../../build/doc/release_notes.rst:501 +#: ../../build/doc/release_notes.rst:553 msgid "pgr_maxFlowPushRelabel - use pgr_pushRelabel instead" msgstr "" -#: ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:554 msgid "pgr_maxFlowEdmondsKarp -use pgr_edmondsKarp instead" msgstr "" -#: ../../build/doc/release_notes.rst:503 +#: ../../build/doc/release_notes.rst:555 msgid "pgr_maxFlowBoykovKolmogorov - use pgr_boykovKolmogorov instead" msgstr "" -#: ../../build/doc/release_notes.rst:504 +#: ../../build/doc/release_notes.rst:556 msgid "pgr_maximumCardinalityMatching - use pgr_maxCardinalityMatch instead" msgstr "" -#: ../../build/doc/release_notes.rst:507 +#: ../../build/doc/release_notes.rst:559 msgid "Deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:508 +#: ../../build/doc/release_notes.rst:560 msgid "pgr_pointToEdgeNode" msgstr "" -#: ../../build/doc/release_notes.rst:514 +#: ../../build/doc/release_notes.rst:566 msgid "pgRouting 2.4.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:516 +#: ../../build/doc/release_notes.rst:568 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1191,27 +1303,27 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:519 +#: ../../build/doc/release_notes.rst:571 msgid "Improvement" msgstr "" -#: ../../build/doc/release_notes.rst:520 +#: ../../build/doc/release_notes.rst:572 msgid "Works for postgreSQL 10" msgstr "" -#: ../../build/doc/release_notes.rst:524 +#: ../../build/doc/release_notes.rst:576 msgid "Fixed: Unexpected error column \"cname\"" msgstr "" -#: ../../build/doc/release_notes.rst:525 +#: ../../build/doc/release_notes.rst:577 msgid "Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" msgstr "" -#: ../../build/doc/release_notes.rst:532 +#: ../../build/doc/release_notes.rst:584 msgid "pgRouting 2.4.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:534 +#: ../../build/doc/release_notes.rst:586 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1220,19 +1332,19 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:538 +#: ../../build/doc/release_notes.rst:590 msgid "Fixed compiling error on macOS" msgstr "" -#: ../../build/doc/release_notes.rst:539 +#: ../../build/doc/release_notes.rst:591 msgid "Condition error on pgr_withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:544 +#: ../../build/doc/release_notes.rst:596 msgid "pgRouting 2.4.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:546 +#: ../../build/doc/release_notes.rst:598 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.4.0 " @@ -1240,80 +1352,80 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:549 ../../build/doc/release_notes.rst:619 -#: ../../build/doc/release_notes.rst:780 +#: ../../build/doc/release_notes.rst:601 ../../build/doc/release_notes.rst:671 +#: ../../build/doc/release_notes.rst:832 msgid "New Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:550 +#: ../../build/doc/release_notes.rst:602 msgid "pgr_bdDijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:554 +#: ../../build/doc/release_notes.rst:606 msgid "New Proposed Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:556 +#: ../../build/doc/release_notes.rst:608 msgid "pgr_astar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:557 +#: ../../build/doc/release_notes.rst:609 msgid "pgr_astar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:558 +#: ../../build/doc/release_notes.rst:610 msgid "pgr_astar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:559 +#: ../../build/doc/release_notes.rst:611 msgid "pgr_astarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:560 +#: ../../build/doc/release_notes.rst:612 msgid "pgr_astarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:561 +#: ../../build/doc/release_notes.rst:613 msgid "pgr_astarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:562 +#: ../../build/doc/release_notes.rst:614 msgid "pgr_astarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:563 +#: ../../build/doc/release_notes.rst:615 msgid "pgr_astarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:567 +#: ../../build/doc/release_notes.rst:619 msgid "pgr_bddijkstra - use pgr_bdDijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:570 ../../build/doc/release_notes.rst:659 +#: ../../build/doc/release_notes.rst:622 ../../build/doc/release_notes.rst:711 msgid "Deprecated Functions" msgstr "" -#: ../../build/doc/release_notes.rst:571 +#: ../../build/doc/release_notes.rst:623 msgid "pgr_pointsToVids" msgstr "" -#: ../../build/doc/release_notes.rst:575 +#: ../../build/doc/release_notes.rst:627 msgid "Bug fixes on proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:577 +#: ../../build/doc/release_notes.rst:629 msgid "pgr_withPointsKSP: fixed ordering" msgstr "" -#: ../../build/doc/release_notes.rst:579 +#: ../../build/doc/release_notes.rst:631 msgid "TRSP original code is used with no changes on the compilation warnings" msgstr "" -#: ../../build/doc/release_notes.rst:584 +#: ../../build/doc/release_notes.rst:636 msgid "pgRouting 2.3.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:586 +#: ../../build/doc/release_notes.rst:638 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.2 " @@ -1321,27 +1433,27 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:590 +#: ../../build/doc/release_notes.rst:642 msgid "Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck." msgstr "" -#: ../../build/doc/release_notes.rst:591 +#: ../../build/doc/release_notes.rst:643 msgid "Fixed pgr_trsp:" msgstr "" -#: ../../build/doc/release_notes.rst:593 +#: ../../build/doc/release_notes.rst:645 msgid "Alternate code is not executed when the point is in reality a vertex" msgstr "" -#: ../../build/doc/release_notes.rst:594 +#: ../../build/doc/release_notes.rst:646 msgid "Fixed ambiguity on seq" msgstr "" -#: ../../build/doc/release_notes.rst:600 +#: ../../build/doc/release_notes.rst:652 msgid "pgRouting 2.3.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:602 +#: ../../build/doc/release_notes.rst:654 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.1 " @@ -1349,23 +1461,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:606 +#: ../../build/doc/release_notes.rst:658 msgid "Leaks on proposed max_flow functions" msgstr "" -#: ../../build/doc/release_notes.rst:607 +#: ../../build/doc/release_notes.rst:659 msgid "Regression error on pgr_trsp" msgstr "" -#: ../../build/doc/release_notes.rst:608 +#: ../../build/doc/release_notes.rst:660 msgid "Types discrepancy on pgr_createVerticesTable" msgstr "" -#: ../../build/doc/release_notes.rst:614 +#: ../../build/doc/release_notes.rst:666 msgid "pgRouting 2.3.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:616 +#: ../../build/doc/release_notes.rst:668 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.0 " @@ -1373,111 +1485,111 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:620 +#: ../../build/doc/release_notes.rst:672 msgid "pgr_TSP" msgstr "" -#: ../../build/doc/release_notes.rst:621 +#: ../../build/doc/release_notes.rst:673 msgid "pgr_aStar" msgstr "" -#: ../../build/doc/release_notes.rst:624 ../../build/doc/release_notes.rst:736 +#: ../../build/doc/release_notes.rst:676 ../../build/doc/release_notes.rst:788 msgid "New Functions" msgstr "" -#: ../../build/doc/release_notes.rst:625 +#: ../../build/doc/release_notes.rst:677 msgid "pgr_eucledianTSP" msgstr "" -#: ../../build/doc/release_notes.rst:631 +#: ../../build/doc/release_notes.rst:683 msgid "pgr_withPointsCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:632 +#: ../../build/doc/release_notes.rst:684 msgid "pgr_maxFlowPushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:633 +#: ../../build/doc/release_notes.rst:685 msgid "pgr_maxFlowPushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:634 +#: ../../build/doc/release_notes.rst:686 msgid "pgr_maxFlowPushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:635 +#: ../../build/doc/release_notes.rst:687 msgid "pgr_maxFlowPushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:636 +#: ../../build/doc/release_notes.rst:688 msgid "pgr_maxFlowEdmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:637 +#: ../../build/doc/release_notes.rst:689 msgid "pgr_maxFlowEdmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:638 +#: ../../build/doc/release_notes.rst:690 msgid "pgr_maxFlowEdmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:639 +#: ../../build/doc/release_notes.rst:691 msgid "pgr_maxFlowEdmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:640 +#: ../../build/doc/release_notes.rst:692 msgid "pgr_maxFlowBoykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:641 +#: ../../build/doc/release_notes.rst:693 msgid "pgr_maxFlowBoykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:642 +#: ../../build/doc/release_notes.rst:694 msgid "pgr_maxFlowBoykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:643 +#: ../../build/doc/release_notes.rst:695 msgid "pgr_maxFlowBoykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:644 +#: ../../build/doc/release_notes.rst:696 msgid "pgr_maximumCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:649 +#: ../../build/doc/release_notes.rst:701 msgid "pgr_contractGraph" msgstr "" -#: ../../build/doc/release_notes.rst:654 +#: ../../build/doc/release_notes.rst:706 msgid "pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead" msgstr "" -#: ../../build/doc/release_notes.rst:655 +#: ../../build/doc/release_notes.rst:707 msgid "pgr_astar - use pgr_aStar instead" msgstr "" -#: ../../build/doc/release_notes.rst:660 +#: ../../build/doc/release_notes.rst:712 msgid "pgr_flip_edges" msgstr "" -#: ../../build/doc/release_notes.rst:661 +#: ../../build/doc/release_notes.rst:713 msgid "pgr_vidsToDmatrix" msgstr "" -#: ../../build/doc/release_notes.rst:662 +#: ../../build/doc/release_notes.rst:714 msgid "pgr_pointsToDMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:663 +#: ../../build/doc/release_notes.rst:715 msgid "pgr_textToPoints" msgstr "" -#: ../../build/doc/release_notes.rst:670 +#: ../../build/doc/release_notes.rst:722 msgid "pgRouting 2.2.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:672 +#: ../../build/doc/release_notes.rst:724 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.4 " @@ -1485,23 +1597,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:676 +#: ../../build/doc/release_notes.rst:728 msgid "Bogus uses of extern \"C\"" msgstr "" -#: ../../build/doc/release_notes.rst:677 +#: ../../build/doc/release_notes.rst:729 msgid "Build error on Fedora 24 + GCC 6.0" msgstr "" -#: ../../build/doc/release_notes.rst:678 +#: ../../build/doc/release_notes.rst:730 msgid "Regression error pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:683 +#: ../../build/doc/release_notes.rst:735 msgid "pgRouting 2.2.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:685 +#: ../../build/doc/release_notes.rst:737 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.3 " @@ -1509,15 +1621,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:689 +#: ../../build/doc/release_notes.rst:741 msgid "Fixed compatibility issues with PostgreSQL 9.6." msgstr "" -#: ../../build/doc/release_notes.rst:694 +#: ../../build/doc/release_notes.rst:746 msgid "pgRouting 2.2.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:696 +#: ../../build/doc/release_notes.rst:748 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.2 " @@ -1525,15 +1637,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:700 +#: ../../build/doc/release_notes.rst:752 msgid "Fixed regression error on pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:706 +#: ../../build/doc/release_notes.rst:758 msgid "pgRouting 2.2.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:708 +#: ../../build/doc/release_notes.rst:760 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.1 " @@ -1541,19 +1653,19 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:712 +#: ../../build/doc/release_notes.rst:764 msgid "Server crash fix on pgr_alphaShape" msgstr "" -#: ../../build/doc/release_notes.rst:713 +#: ../../build/doc/release_notes.rst:765 msgid "Bug fix on With Points family of functions" msgstr "" -#: ../../build/doc/release_notes.rst:719 +#: ../../build/doc/release_notes.rst:771 msgid "pgRouting 2.2.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:721 +#: ../../build/doc/release_notes.rst:773 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.0 " @@ -1561,131 +1673,131 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:725 ../../build/doc/release_notes.rst:793 +#: ../../build/doc/release_notes.rst:777 ../../build/doc/release_notes.rst:845 msgid "Improvements" msgstr "" -#: ../../build/doc/release_notes.rst:726 +#: ../../build/doc/release_notes.rst:778 msgid "pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:728 +#: ../../build/doc/release_notes.rst:780 msgid "Adding a row_where and outall optional parameters" msgstr "" -#: ../../build/doc/release_notes.rst:730 +#: ../../build/doc/release_notes.rst:782 msgid "Signature fix" msgstr "" -#: ../../build/doc/release_notes.rst:732 +#: ../../build/doc/release_notes.rst:784 msgid "pgr_dijkstra -- to match what is documented" msgstr "" -#: ../../build/doc/release_notes.rst:738 +#: ../../build/doc/release_notes.rst:790 msgid "pgr_Johnson" msgstr "" -#: ../../build/doc/release_notes.rst:739 +#: ../../build/doc/release_notes.rst:791 msgid "pgr_dijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:740 +#: ../../build/doc/release_notes.rst:792 msgid "pgr_dijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:741 +#: ../../build/doc/release_notes.rst:793 msgid "pgr_dijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:742 +#: ../../build/doc/release_notes.rst:794 msgid "pgr_dijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:745 ../../build/doc/release_notes.rst:797 +#: ../../build/doc/release_notes.rst:797 ../../build/doc/release_notes.rst:849 msgid "Proposed functionality" msgstr "" -#: ../../build/doc/release_notes.rst:746 +#: ../../build/doc/release_notes.rst:798 msgid "pgr_withPoints(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:747 +#: ../../build/doc/release_notes.rst:799 msgid "pgr_withPoints(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:748 +#: ../../build/doc/release_notes.rst:800 msgid "pgr_withPoints(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:749 +#: ../../build/doc/release_notes.rst:801 msgid "pgr_withPoints(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:750 +#: ../../build/doc/release_notes.rst:802 msgid "pgr_withPointsCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:751 +#: ../../build/doc/release_notes.rst:803 msgid "pgr_withPointsCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:752 +#: ../../build/doc/release_notes.rst:804 msgid "pgr_withPointsCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:753 +#: ../../build/doc/release_notes.rst:805 msgid "pgr_withPointsCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:754 +#: ../../build/doc/release_notes.rst:806 msgid "pgr_withPointsDD(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:755 +#: ../../build/doc/release_notes.rst:807 msgid "pgr_withPointsDD(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:756 +#: ../../build/doc/release_notes.rst:808 msgid "pgr_withPointsKSP" msgstr "" -#: ../../build/doc/release_notes.rst:757 +#: ../../build/doc/release_notes.rst:809 msgid "pgr_dijkstraVia" msgstr "" -#: ../../build/doc/release_notes.rst:761 +#: ../../build/doc/release_notes.rst:813 msgid "Deprecated functions:" msgstr "" -#: ../../build/doc/release_notes.rst:762 +#: ../../build/doc/release_notes.rst:814 msgid "pgr_apspWarshall use pgr_floydWarshall instead" msgstr "" -#: ../../build/doc/release_notes.rst:763 +#: ../../build/doc/release_notes.rst:815 msgid "pgr_apspJohnson use pgr_Johnson instead" msgstr "" -#: ../../build/doc/release_notes.rst:764 +#: ../../build/doc/release_notes.rst:816 msgid "pgr_kDijkstraCost use pgr_dijkstraCost instead" msgstr "" -#: ../../build/doc/release_notes.rst:765 +#: ../../build/doc/release_notes.rst:817 msgid "pgr_kDijkstraPath use pgr_dijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:768 +#: ../../build/doc/release_notes.rst:820 msgid "Renamed and deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:769 +#: ../../build/doc/release_notes.rst:821 msgid "pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:775 +#: ../../build/doc/release_notes.rst:827 msgid "pgRouting 2.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:777 +#: ../../build/doc/release_notes.rst:829 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.1.0 " @@ -1693,199 +1805,199 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:781 +#: ../../build/doc/release_notes.rst:833 msgid "pgr_dijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:782 +#: ../../build/doc/release_notes.rst:834 msgid "pgr_dijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:783 +#: ../../build/doc/release_notes.rst:835 msgid "pgr_dijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:784 +#: ../../build/doc/release_notes.rst:836 msgid "pgr_drivingDistance(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:787 +#: ../../build/doc/release_notes.rst:839 msgid "Refactored" msgstr "" -#: ../../build/doc/release_notes.rst:788 +#: ../../build/doc/release_notes.rst:840 msgid "pgr_dijkstra(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:789 +#: ../../build/doc/release_notes.rst:841 msgid "pgr_ksp" msgstr "" -#: ../../build/doc/release_notes.rst:790 +#: ../../build/doc/release_notes.rst:842 msgid "pgr_drivingDistance(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:794 +#: ../../build/doc/release_notes.rst:846 msgid "" "pgr_alphaShape function now can generate better (multi)polygon with holes" " and alpha parameter." msgstr "" -#: ../../build/doc/release_notes.rst:798 +#: ../../build/doc/release_notes.rst:850 msgid "" "Proposed functions from Steve Woodbridge, (Classified as Convenience by " "the author.)" msgstr "" -#: ../../build/doc/release_notes.rst:800 +#: ../../build/doc/release_notes.rst:852 msgid "" "pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on " "closest edge." msgstr "" -#: ../../build/doc/release_notes.rst:801 +#: ../../build/doc/release_notes.rst:853 msgid "" "pgr_flipEdges - flip the edges in an array of geometries so the connect " "end to end." msgstr "" -#: ../../build/doc/release_notes.rst:802 +#: ../../build/doc/release_notes.rst:854 msgid "" "pgr_textToPoints - convert a string of x,y;x,y;... locations into point " "geometries." msgstr "" -#: ../../build/doc/release_notes.rst:803 +#: ../../build/doc/release_notes.rst:855 msgid "pgr_pointsToVids - convert an array of point geometries into vertex ids." msgstr "" -#: ../../build/doc/release_notes.rst:804 +#: ../../build/doc/release_notes.rst:856 msgid "pgr_pointsToDMatrix - Create a distance matrix from an array of points." msgstr "" -#: ../../build/doc/release_notes.rst:805 ../../build/doc/release_notes.rst:806 +#: ../../build/doc/release_notes.rst:857 ../../build/doc/release_notes.rst:858 msgid "pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." msgstr "" -#: ../../build/doc/release_notes.rst:808 +#: ../../build/doc/release_notes.rst:860 msgid "Added proposed functions from GSoc Projects:" msgstr "" -#: ../../build/doc/release_notes.rst:810 +#: ../../build/doc/release_notes.rst:862 msgid "pgr_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:811 +#: ../../build/doc/release_notes.rst:863 msgid "pgr_vrponedepot" msgstr "" -#: ../../build/doc/release_notes.rst:814 +#: ../../build/doc/release_notes.rst:866 msgid "Deprecated functions" msgstr "" -#: ../../build/doc/release_notes.rst:815 +#: ../../build/doc/release_notes.rst:867 msgid "pgr_getColumnName" msgstr "" -#: ../../build/doc/release_notes.rst:816 +#: ../../build/doc/release_notes.rst:868 msgid "pgr_getTableName" msgstr "" -#: ../../build/doc/release_notes.rst:817 +#: ../../build/doc/release_notes.rst:869 msgid "pgr_isColumnCndexed" msgstr "" -#: ../../build/doc/release_notes.rst:818 +#: ../../build/doc/release_notes.rst:870 msgid "pgr_isColumnInTable" msgstr "" -#: ../../build/doc/release_notes.rst:819 +#: ../../build/doc/release_notes.rst:871 msgid "pgr_quote_ident" msgstr "" -#: ../../build/doc/release_notes.rst:820 +#: ../../build/doc/release_notes.rst:872 msgid "pgr_versionless" msgstr "" -#: ../../build/doc/release_notes.rst:821 +#: ../../build/doc/release_notes.rst:873 msgid "pgr_startPoint" msgstr "" -#: ../../build/doc/release_notes.rst:822 +#: ../../build/doc/release_notes.rst:874 msgid "pgr_endPoint" msgstr "" -#: ../../build/doc/release_notes.rst:823 +#: ../../build/doc/release_notes.rst:875 msgid "pgr_pointToId" msgstr "" -#: ../../build/doc/release_notes.rst:826 +#: ../../build/doc/release_notes.rst:878 msgid "No longer supported" msgstr "" -#: ../../build/doc/release_notes.rst:827 +#: ../../build/doc/release_notes.rst:879 msgid "Removed the 1.x legacy functions" msgstr "" -#: ../../build/doc/release_notes.rst:831 +#: ../../build/doc/release_notes.rst:883 msgid "Some bug fixes in other functions" msgstr "" -#: ../../build/doc/release_notes.rst:835 +#: ../../build/doc/release_notes.rst:887 msgid "Refactoring Internal Code" msgstr "" -#: ../../build/doc/release_notes.rst:836 +#: ../../build/doc/release_notes.rst:888 msgid "A C and C++ library for developer was created" msgstr "" -#: ../../build/doc/release_notes.rst:838 +#: ../../build/doc/release_notes.rst:890 msgid "encapsulates postgreSQL related functions" msgstr "" -#: ../../build/doc/release_notes.rst:839 +#: ../../build/doc/release_notes.rst:891 msgid "encapsulates Boost.Graph graphs" msgstr "" -#: ../../build/doc/release_notes.rst:841 +#: ../../build/doc/release_notes.rst:893 msgid "Directed Boost.Graph" msgstr "" -#: ../../build/doc/release_notes.rst:842 +#: ../../build/doc/release_notes.rst:894 msgid "Undirected Boost.graph." msgstr "" -#: ../../build/doc/release_notes.rst:844 +#: ../../build/doc/release_notes.rst:896 msgid "allow any-integer in the id's" msgstr "" -#: ../../build/doc/release_notes.rst:845 +#: ../../build/doc/release_notes.rst:897 msgid "allow any-numerical on the cost/reverse_cost columns" msgstr "" -#: ../../build/doc/release_notes.rst:847 +#: ../../build/doc/release_notes.rst:899 msgid "" "Instead of generating many libraries: - All functions are encapsulated in" " one library - The library has the prefix 2-1-0" msgstr "" -#: ../../build/doc/release_notes.rst:856 +#: ../../build/doc/release_notes.rst:908 msgid "pgRouting 2.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:858 +#: ../../build/doc/release_notes.rst:910 msgid "Minor bug fixes." msgstr "" -#: ../../build/doc/release_notes.rst:862 +#: ../../build/doc/release_notes.rst:914 msgid "No track of the bug fixes were kept." msgstr "" -#: ../../build/doc/release_notes.rst:868 +#: ../../build/doc/release_notes.rst:920 msgid "pgRouting 2.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:870 +#: ../../build/doc/release_notes.rst:922 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.0.0 " @@ -1893,162 +2005,162 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:872 +#: ../../build/doc/release_notes.rst:924 msgid "" "With the release of pgRouting 2.0.0 the library has abandoned backwards " "compatibility to :ref:`pgRouting 1.x ` releases. The main " "Goals for this release are:" msgstr "" -#: ../../build/doc/release_notes.rst:875 +#: ../../build/doc/release_notes.rst:927 msgid "Major restructuring of pgRouting." msgstr "" -#: ../../build/doc/release_notes.rst:876 +#: ../../build/doc/release_notes.rst:928 msgid "Standardization of the function naming" msgstr "" -#: ../../build/doc/release_notes.rst:877 +#: ../../build/doc/release_notes.rst:929 msgid "Preparation of the project for future development." msgstr "" -#: ../../build/doc/release_notes.rst:879 +#: ../../build/doc/release_notes.rst:931 msgid "As a result of this effort:" msgstr "" -#: ../../build/doc/release_notes.rst:881 +#: ../../build/doc/release_notes.rst:933 msgid "pgRouting has a simplified structure" msgstr "" -#: ../../build/doc/release_notes.rst:882 +#: ../../build/doc/release_notes.rst:934 msgid "Significant new functionality has being added" msgstr "" -#: ../../build/doc/release_notes.rst:883 +#: ../../build/doc/release_notes.rst:935 msgid "Documentation has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:884 +#: ../../build/doc/release_notes.rst:936 msgid "Testing has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:885 +#: ../../build/doc/release_notes.rst:937 msgid "And made it easier for multiple developers to make contributions." msgstr "" -#: ../../build/doc/release_notes.rst:889 +#: ../../build/doc/release_notes.rst:941 msgid "Important Changes" msgstr "" -#: ../../build/doc/release_notes.rst:890 +#: ../../build/doc/release_notes.rst:942 msgid "" "Graph Analytics - tools for detecting and fixing connection some problems" " in a graph" msgstr "" -#: ../../build/doc/release_notes.rst:891 +#: ../../build/doc/release_notes.rst:943 msgid "A collection of useful utility functions" msgstr "" -#: ../../build/doc/release_notes.rst:892 +#: ../../build/doc/release_notes.rst:944 msgid "" "Two new All Pairs Short Path algorithms (pgr_apspJohnson, " "pgr_apspWarshall)" msgstr "" -#: ../../build/doc/release_notes.rst:893 +#: ../../build/doc/release_notes.rst:945 msgid "" "Bi-directional Dijkstra and A-star search algorithms (pgr_bdAstar, " "pgr_bdDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:894 +#: ../../build/doc/release_notes.rst:946 msgid "One to many nodes search (pgr_kDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:895 +#: ../../build/doc/release_notes.rst:947 msgid "K alternate paths shortest path (pgr_ksp)" msgstr "" -#: ../../build/doc/release_notes.rst:896 +#: ../../build/doc/release_notes.rst:948 msgid "" "New TSP solver that simplifies the code and the build process (pgr_tsp), " "dropped \"Gaul Library\" dependency" msgstr "" -#: ../../build/doc/release_notes.rst:897 +#: ../../build/doc/release_notes.rst:949 msgid "Turn Restricted shortest path (pgr_trsp) that replaces Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:898 +#: ../../build/doc/release_notes.rst:950 msgid "Dropped support for Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:899 +#: ../../build/doc/release_notes.rst:951 msgid "" "Built a test infrastructure that is run before major code changes are " "checked in" msgstr "" -#: ../../build/doc/release_notes.rst:900 +#: ../../build/doc/release_notes.rst:952 msgid "" "Tested and fixed most all of the outstanding bugs reported against 1.x " "that existing in the 2.0-dev code base." msgstr "" -#: ../../build/doc/release_notes.rst:901 +#: ../../build/doc/release_notes.rst:953 msgid "Improved build process for Windows" msgstr "" -#: ../../build/doc/release_notes.rst:902 +#: ../../build/doc/release_notes.rst:954 msgid "Automated testing on Linux and Windows platforms trigger by every commit" msgstr "" -#: ../../build/doc/release_notes.rst:903 +#: ../../build/doc/release_notes.rst:955 msgid "Modular library design" msgstr "" -#: ../../build/doc/release_notes.rst:904 +#: ../../build/doc/release_notes.rst:956 msgid "Compatibility with PostgreSQL 9.1 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:905 +#: ../../build/doc/release_notes.rst:957 msgid "Compatibility with PostGIS 2.0 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:906 +#: ../../build/doc/release_notes.rst:958 msgid "Installs as PostgreSQL EXTENSION" msgstr "" -#: ../../build/doc/release_notes.rst:907 +#: ../../build/doc/release_notes.rst:959 msgid "Return types re factored and unified" msgstr "" -#: ../../build/doc/release_notes.rst:908 +#: ../../build/doc/release_notes.rst:960 msgid "Support for table SCHEMA in function parameters" msgstr "" -#: ../../build/doc/release_notes.rst:909 +#: ../../build/doc/release_notes.rst:961 msgid "Support for ``st_`` PostGIS function prefix" msgstr "" -#: ../../build/doc/release_notes.rst:910 +#: ../../build/doc/release_notes.rst:962 msgid "Added ``pgr_`` prefix to functions and types" msgstr "" -#: ../../build/doc/release_notes.rst:911 +#: ../../build/doc/release_notes.rst:963 msgid "Better documentation: https://docs.pgrouting.org" msgstr "" -#: ../../build/doc/release_notes.rst:912 +#: ../../build/doc/release_notes.rst:964 msgid "shooting_star is discontinued" msgstr "" -#: ../../build/doc/release_notes.rst:919 +#: ../../build/doc/release_notes.rst:971 msgid "pgRouting 1.x Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:921 +#: ../../build/doc/release_notes.rst:973 msgid "" "To see the issues closed by this release see the `Git closed issues for " "1.x " @@ -2057,93 +2169,93 @@ msgid "" "previous ``RELEASE_NOTES`` file and are kept as a reference." msgstr "" -#: ../../build/doc/release_notes.rst:926 +#: ../../build/doc/release_notes.rst:978 msgid "Changes for release 1.05" msgstr "" -#: ../../build/doc/release_notes.rst:932 +#: ../../build/doc/release_notes.rst:984 msgid "Changes for release 1.03" msgstr "" -#: ../../build/doc/release_notes.rst:934 +#: ../../build/doc/release_notes.rst:986 msgid "Much faster topology creation" msgstr "" -#: ../../build/doc/release_notes.rst:939 +#: ../../build/doc/release_notes.rst:991 msgid "Changes for release 1.02" msgstr "" -#: ../../build/doc/release_notes.rst:941 ../../build/doc/release_notes.rst:948 +#: ../../build/doc/release_notes.rst:993 ../../build/doc/release_notes.rst:1000 msgid "Shooting* bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:942 +#: ../../build/doc/release_notes.rst:994 msgid "Compilation problems solved" msgstr "" -#: ../../build/doc/release_notes.rst:946 +#: ../../build/doc/release_notes.rst:998 msgid "Changes for release 1.01" msgstr "" -#: ../../build/doc/release_notes.rst:952 +#: ../../build/doc/release_notes.rst:1004 msgid "Changes for release 1.0" msgstr "" -#: ../../build/doc/release_notes.rst:954 +#: ../../build/doc/release_notes.rst:1006 msgid "Core and extra functions are separated" msgstr "" -#: ../../build/doc/release_notes.rst:955 +#: ../../build/doc/release_notes.rst:1007 msgid "Cmake build process" msgstr "" -#: ../../build/doc/release_notes.rst:960 +#: ../../build/doc/release_notes.rst:1012 msgid "Changes for release 1.0.0b" msgstr "" -#: ../../build/doc/release_notes.rst:962 +#: ../../build/doc/release_notes.rst:1014 msgid "Additional SQL file with more simple names for wrapper functions" msgstr "" -#: ../../build/doc/release_notes.rst:967 +#: ../../build/doc/release_notes.rst:1019 msgid "Changes for release 1.0.0a" msgstr "" -#: ../../build/doc/release_notes.rst:969 +#: ../../build/doc/release_notes.rst:1021 msgid "Shooting* shortest path algorithm for real road networks" msgstr "" -#: ../../build/doc/release_notes.rst:970 +#: ../../build/doc/release_notes.rst:1022 msgid "Several SQL bugs were fixed" msgstr "" -#: ../../build/doc/release_notes.rst:974 +#: ../../build/doc/release_notes.rst:1026 msgid "Changes for release 0.9.9" msgstr "" -#: ../../build/doc/release_notes.rst:976 +#: ../../build/doc/release_notes.rst:1028 msgid "PostgreSQL 8.2 support" msgstr "" -#: ../../build/doc/release_notes.rst:977 +#: ../../build/doc/release_notes.rst:1029 msgid "" "Shortest path functions return empty result if they could not find any " "path" msgstr "" -#: ../../build/doc/release_notes.rst:981 +#: ../../build/doc/release_notes.rst:1033 msgid "Changes for release 0.9.8" msgstr "" -#: ../../build/doc/release_notes.rst:983 +#: ../../build/doc/release_notes.rst:1035 msgid "Renumbering scheme was added to shortest path functions" msgstr "" -#: ../../build/doc/release_notes.rst:984 +#: ../../build/doc/release_notes.rst:1036 msgid "Directed shortest path functions were added" msgstr "" -#: ../../build/doc/release_notes.rst:985 +#: ../../build/doc/release_notes.rst:1037 msgid "routing_postgis.sql was modified to use dijkstra in TSP search" msgstr "" diff --git a/locale/en/LC_MESSAGES/traversal-family.po b/locale/en/LC_MESSAGES/traversal-family.po new file mode 100644 index 00000000000..e6b7db61a02 --- /dev/null +++ b/locale/en/LC_MESSAGES/traversal-family.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" + +#: ../../build/doc/traversal-family.rst:11 +msgid "Traversal - Family of functions (Experimental)" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/traversal-family.rst:19 +msgid ":doc:`pgr_depthFirstSearch` - Depth first search traversal of the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:30 +msgid "Versions of this page" +msgstr "" + +#: ../../build/doc/traversal-family.rst:31 +msgid "" +"**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/traversal-family.rst:36 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/traversal-family.rst:39 +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Column" +msgstr "" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Type" +msgstr "" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Default" +msgstr "" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Description" +msgstr "" + +#: ../../build/doc/traversal-family.rst:45 +msgid "**id**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:45 +#: ../../build/doc/traversal-family.rst:46 +#: ../../build/doc/traversal-family.rst:47 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:45 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:46 +msgid "**source**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:46 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:47 +msgid "**target**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:47 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:48 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:48 +#: ../../build/doc/traversal-family.rst:51 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:48 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:49 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:51 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:51 +msgid "-1" +msgstr "" + +#: ../../build/doc/traversal-family.rst:51 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:52 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:56 +msgid "Where:" +msgstr "" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/traversal-family.rst:58 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:59 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/traversal-family.rst:65 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:3 +msgid "" +"`Boost: Depth First Search algorithm documentation " +"`__" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:4 +msgid "" +"`Boost: Undirected DFS algorithm documentation " +"`__" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:5 +msgid "" +"`Wikipedia: Depth First Search algorithm `__" +msgstr "" + +#: ../../build/doc/traversal-family.rst:73 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/traversal-family.rst:74 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/traversal-family.rst:75 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/pot/KSP-category.pot b/locale/pot/KSP-category.pot index fcbc4d8cdb7..8c9263a2157 100644 --- a/locale/pot/KSP-category.pot +++ b/locale/pot/KSP-category.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/TSP-family.pot b/locale/pot/TSP-family.pot index 4066ed6315c..0b8a858cfa6 100644 --- a/locale/pot/TSP-family.pot +++ b/locale/pot/TSP-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -492,26 +492,22 @@ msgid "References" msgstr "" #: ../../build/doc/TSP-family.rst:271 -msgid "`Simulated annaeling algorithm for beginners `__" -msgstr "" - -#: ../../build/doc/TSP-family.rst:272 msgid "`Wikipedia: Traveling Salesman Problem `__" msgstr "" -#: ../../build/doc/TSP-family.rst:273 +#: ../../build/doc/TSP-family.rst:272 msgid "`Wikipedia: Simulated annealing `__" msgstr "" -#: ../../build/doc/TSP-family.rst:276 +#: ../../build/doc/TSP-family.rst:275 msgid "Indices and tables" msgstr "" -#: ../../build/doc/TSP-family.rst:277 +#: ../../build/doc/TSP-family.rst:276 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/TSP-family.rst:278 +#: ../../build/doc/TSP-family.rst:277 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/VRP-category.pot b/locale/pot/VRP-category.pot index 05f96327e2a..686037af156 100644 --- a/locale/pot/VRP-category.pot +++ b/locale/pot/VRP-category.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/aStar-family.pot b/locale/pot/aStar-family.pot index b9f06db9606..3c6914eac39 100644 --- a/locale/pot/aStar-family.pot +++ b/locale/pot/aStar-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/allpairs-family.pot b/locale/pot/allpairs-family.pot index f3eeb09001a..138c3abad5b 100644 --- a/locale/pot/allpairs-family.pot +++ b/locale/pot/allpairs-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/bdAstar-family.pot b/locale/pot/bdAstar-family.pot index d7927400f5b..30d827ff406 100644 --- a/locale/pot/bdAstar-family.pot +++ b/locale/pot/bdAstar-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/bdDijkstra-family.pot b/locale/pot/bdDijkstra-family.pot index 93fafa6cfa9..6d2a12bb741 100644 --- a/locale/pot/bdDijkstra-family.pot +++ b/locale/pot/bdDijkstra-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/chinesePostmanProblem-family.pot b/locale/pot/chinesePostmanProblem-family.pot index 3728a087808..1a6eac1a811 100644 --- a/locale/pot/chinesePostmanProblem-family.pot +++ b/locale/pot/chinesePostmanProblem-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/coloring-family.pot b/locale/pot/coloring-family.pot new file mode 100644 index 00000000000..e7e52fec096 --- /dev/null +++ b/locale/pot/coloring-family.pot @@ -0,0 +1,307 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../build/doc/coloring-family.rst:11 +msgid "Coloring - Family of functions (Experimental)" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/coloring-family.rst:19 +msgid ":doc:`pgr_sequentialVertexColoring` - Vertex coloring algorithm using greedy approach." +msgstr "" + +#: ../../build/doc/coloring-family.rst:20 +msgid ":doc:`pgr_bipartite` - Bipartite graph algorithm using a DFS-based coloring approach." +msgstr "" + +#: ../../build/doc/coloring-family.rst:32 +msgid "Versions of this page" +msgstr "" + +#: ../../build/doc/coloring-family.rst:33 +msgid "**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/coloring-family.rst:38 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/coloring-family.rst:43 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/coloring-family.rst:43 +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/coloring-family.rst:69 +msgid "Type" +msgstr "" + +#: ../../build/doc/coloring-family.rst:43 +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/coloring-family.rst:69 +msgid "Description" +msgstr "" + +#: ../../build/doc/coloring-family.rst:45 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:45 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:45 +msgid "Inner query as described below." +msgstr "" + +#: ../../build/doc/coloring-family.rst:51 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/coloring-family.rst:0 +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/coloring-family.rst:53 +msgid "an SQL query of an **undirected** graph, which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/coloring-family.rst:69 +msgid "Column" +msgstr "" + +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "" + +#: ../../build/doc/traversal-family.rst:0 +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/traversal-family.rst:0 +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/coloring-family.rst:62 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/coloring-family.rst:66 +msgid "Returns SET OF ``(vertex_id, color_id)``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:71 +msgid "**vertex_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:71 +#: ../../build/doc/coloring-family.rst:72 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:71 +msgid "Identifier of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:72 +msgid "**color_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:72 +msgid "Identifier of the color of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:74 +msgid "The minimum value of color is 1." +msgstr "" + +#: ../../build/doc/coloring-family.rst:82 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:3 +msgid "`Boost: Sequential Vertex Coloring algorithm documentation `__" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:4 +msgid "`Wikipedia: Graph coloring `__" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:3 +msgid "`Boost: is_bipartite algorithm documentation `__" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:4 +msgid "`Wikipedia: bipartite graph `__" +msgstr "" + +#: ../../build/doc/coloring-family.rst:96 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/coloring-family.rst:97 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/coloring-family.rst:98 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/pot/components-family.pot b/locale/pot/components-family.pot index 0c4ca1ece23..e193a6bf2b2 100644 --- a/locale/pot/components-family.pot +++ b/locale/pot/components-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -40,62 +40,140 @@ msgstr "" msgid ":doc:`pgr_bridges` - Bridges of an undirected graph." msgstr "" -#: ../../build/doc/components-family.rst:35 +#: ../../build/doc/components-family.rst:25 +msgid "Experimental" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/components-family.rst:32 +msgid ":doc:`pgr_makeConnected` - Details of edges to make graph connected." +msgstr "" + +#: ../../build/doc/components-family.rst:48 msgid "Previous versions of this page" msgstr "" -#: ../../build/doc/components-family.rst:36 +#: ../../build/doc/components-family.rst:49 msgid "**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" -#: ../../build/doc/components-family.rst:41 +#: ../../build/doc/components-family.rst:54 msgid "**Unsupported versions:** `2.5 `__" msgstr "" -#: ../../build/doc/components-family.rst:46 +#: ../../build/doc/components-family.rst:59 msgid "Parameters" msgstr "" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 msgid "Parameter" msgstr "" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_connectedComponents.rst:6 #: ../../build/doc/pgr_biconnectedComponents.rst:6 #: ../../build/doc/pgr_articulationPoints.rst:6 #: ../../build/doc/pgr_bridges.rst:6 +#: ../../build/doc/pgr_makeConnected.rst:6 msgid "Type" msgstr "" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_connectedComponents.rst:6 #: ../../build/doc/pgr_biconnectedComponents.rst:6 #: ../../build/doc/pgr_articulationPoints.rst:6 #: ../../build/doc/pgr_bridges.rst:6 +#: ../../build/doc/pgr_makeConnected.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/components-family.rst:53 +#: ../../build/doc/components-family.rst:66 msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/components-family.rst:53 +#: ../../build/doc/components-family.rst:66 msgid "``TEXT``" msgstr "" -#: ../../build/doc/components-family.rst:53 +#: ../../build/doc/components-family.rst:66 msgid "Inner query as described below." msgstr "" -#: ../../build/doc/components-family.rst:59 +#: ../../build/doc/components-family.rst:72 msgid "Inner query" msgstr "" @@ -103,7 +181,7 @@ msgstr "" msgid "Edges SQL" msgstr "" -#: ../../build/doc/components-family.rst:61 +#: ../../build/doc/components-family.rst:74 msgid "an SQL query which should return a set of rows with the following columns:" msgstr "" @@ -112,6 +190,7 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:6 #: ../../build/doc/pgr_articulationPoints.rst:6 #: ../../build/doc/pgr_bridges.rst:6 +#: ../../build/doc/pgr_makeConnected.rst:6 msgid "Column" msgstr "" @@ -135,6 +214,7 @@ msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgr_makeConnected.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "" @@ -143,6 +223,7 @@ msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgr_makeConnected.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -199,11 +280,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/components-family.rst:68 +#: ../../build/doc/components-family.rst:81 msgid "Result Columns" msgstr "" -#: ../../build/doc/components-family.rst:71 +#: ../../build/doc/components-family.rst:84 msgid "pgr_connectedComponents & pgr_strongComponents" msgstr "" @@ -213,6 +294,7 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:8 #: ../../build/doc/pgr_biconnectedComponents.rst:8 +#: ../../build/doc/pgr_makeConnected.rst:8 msgid "**seq**" msgstr "" @@ -224,11 +306,14 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:10 #: ../../build/doc/pgr_articulationPoints.rst:8 #: ../../build/doc/pgr_bridges.rst:8 +#: ../../build/doc/pgr_makeConnected.rst:9 +#: ../../build/doc/pgr_makeConnected.rst:10 msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:8 #: ../../build/doc/pgr_biconnectedComponents.rst:8 +#: ../../build/doc/pgr_makeConnected.rst:8 msgid "Sequential value starting from **1**." msgstr "" @@ -250,7 +335,7 @@ msgstr "" msgid "Identifier of the vertex that belongs to **component**." msgstr "" -#: ../../build/doc/components-family.rst:79 +#: ../../build/doc/components-family.rst:92 msgid "pgr_biconnectedComponents" msgstr "" @@ -267,7 +352,7 @@ msgstr "" msgid "**edge**" msgstr "" -#: ../../build/doc/components-family.rst:86 +#: ../../build/doc/components-family.rst:99 msgid "pgr_articulationPoints" msgstr "" @@ -279,7 +364,7 @@ msgstr "" msgid "Identifier of the vertex." msgstr "" -#: ../../build/doc/components-family.rst:93 +#: ../../build/doc/components-family.rst:106 msgid "pgr_bridges" msgstr "" @@ -291,19 +376,39 @@ msgstr "" msgid "Identifier of the edge that is a bridge." msgstr "" -#: ../../build/doc/components-family.rst:101 +#: ../../build/doc/components-family.rst:113 +msgid "pgr_makeConnected - Experimental" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:3 +msgid "Returns set of ``(seq, start_vid, end_vid)``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:8 +msgid "``INT``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:9 +msgid "**start_vid**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:10 +msgid "**end_vid**" +msgstr "" + +#: ../../build/doc/components-family.rst:121 msgid "See Also" msgstr "" -#: ../../build/doc/components-family.rst:104 +#: ../../build/doc/components-family.rst:124 msgid "Indices and tables" msgstr "" -#: ../../build/doc/components-family.rst:105 +#: ../../build/doc/components-family.rst:125 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/components-family.rst:106 +#: ../../build/doc/components-family.rst:126 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/contraction-family.pot b/locale/pot/contraction-family.pot index 8967413df83..4fe8c8d8dfa 100644 --- a/locale/pot/contraction-family.pot +++ b/locale/pot/contraction-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/cost-category.pot b/locale/pot/cost-category.pot index 9474c1e8dc9..4e1fc813ac8 100644 --- a/locale/pot/cost-category.pot +++ b/locale/pot/cost-category.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/costMatrix-category.pot b/locale/pot/costMatrix-category.pot index 2c2fe09a76c..d4ee51ab8a2 100644 --- a/locale/pot/costMatrix-category.pot +++ b/locale/pot/costMatrix-category.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/dijkstra-family.pot b/locale/pot/dijkstra-family.pot index c98bd72b45d..8b179ca3fbf 100644 --- a/locale/pot/dijkstra-family.pot +++ b/locale/pot/dijkstra-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,41 +41,50 @@ msgid ":doc:`pgr_KSP` - Use Yen algorithm with pgr_dijkstra to get the K shortes msgstr "" #: ../../build/doc/dijkstra-family.rst:24 -msgid "proposed" +msgid "Proposed" msgstr "" +#: ../../build/doc/proposed.rst:3 #: ../../build/doc/proposed.rst:3 msgid "Proposed functions for next mayor release." msgstr "" +#: ../../build/doc/proposed.rst:5 #: ../../build/doc/proposed.rst:5 msgid "They are not officially in the current release." msgstr "" +#: ../../build/doc/proposed.rst:6 #: ../../build/doc/proposed.rst:6 msgid "They will likely officially be part of the next mayor release:" msgstr "" +#: ../../build/doc/proposed.rst:8 #: ../../build/doc/proposed.rst:8 msgid "The functions make use of ANY-INTEGER and ANY-NUMERICAL" msgstr "" +#: ../../build/doc/proposed.rst:9 #: ../../build/doc/proposed.rst:9 msgid "Name might not change. (But still can)" msgstr "" +#: ../../build/doc/proposed.rst:10 #: ../../build/doc/proposed.rst:10 msgid "Signature might not change. (But still can)" msgstr "" +#: ../../build/doc/proposed.rst:11 #: ../../build/doc/proposed.rst:11 msgid "Functionality might not change. (But still can)" msgstr "" +#: ../../build/doc/proposed.rst:12 #: ../../build/doc/proposed.rst:12 msgid "pgTap tests have being done. But might need more." msgstr "" +#: ../../build/doc/proposed.rst:13 #: ../../build/doc/proposed.rst:13 msgid "Documentation might need refinement." msgstr "" @@ -84,193 +93,205 @@ msgstr "" msgid ":doc:`pgr_dijkstraVia` - Get a route of a seuence of vertices." msgstr "" -#: ../../build/doc/dijkstra-family.rst:47 +#: ../../build/doc/dijkstra-family.rst:37 +msgid "Experimental" +msgstr "" + +#: ../../build/doc/dijkstra-family.rst:44 +msgid ":doc:`pgr_dijkstraNear` - Get the route to the nearest vertex." +msgstr "" + +#: ../../build/doc/dijkstra-family.rst:45 +msgid ":doc:`pgr_dijkstraNearCost` - Get the cost to the nearest vertex." +msgstr "" + +#: ../../build/doc/dijkstra-family.rst:62 msgid "Previous versions of this page" msgstr "" -#: ../../build/doc/dijkstra-family.rst:48 +#: ../../build/doc/dijkstra-family.rst:63 msgid "**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" msgstr "" -#: ../../build/doc/dijkstra-family.rst:53 +#: ../../build/doc/dijkstra-family.rst:68 msgid "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" msgstr "" -#: ../../build/doc/dijkstra-family.rst:61 +#: ../../build/doc/dijkstra-family.rst:76 msgid "The problem definition (Advanced documentation)" msgstr "" -#: ../../build/doc/dijkstra-family.rst:64 +#: ../../build/doc/dijkstra-family.rst:79 msgid "Given the following query:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:67 +#: ../../build/doc/dijkstra-family.rst:82 msgid "pgr_dijkstra(:math:`sql, start_{vid}, end_{vid}, directed`)" msgstr "" -#: ../../build/doc/dijkstra-family.rst:69 +#: ../../build/doc/dijkstra-family.rst:84 msgid "where :math:`sql = \\{(id_i, source_i, target_i, cost_i, reverse\\_cost_i)\\}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:71 +#: ../../build/doc/dijkstra-family.rst:86 msgid "and" msgstr "" -#: ../../build/doc/dijkstra-family.rst:73 +#: ../../build/doc/dijkstra-family.rst:88 msgid ":math:`source = \\bigcup source_i`," msgstr "" -#: ../../build/doc/dijkstra-family.rst:74 +#: ../../build/doc/dijkstra-family.rst:89 msgid ":math:`target = \\bigcup target_i`," msgstr "" -#: ../../build/doc/dijkstra-family.rst:76 +#: ../../build/doc/dijkstra-family.rst:91 msgid "The graphs are defined as follows:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:79 +#: ../../build/doc/dijkstra-family.rst:94 msgid "Directed graph" msgstr "" -#: ../../build/doc/dijkstra-family.rst:80 +#: ../../build/doc/dijkstra-family.rst:95 msgid "The weighted directed graph, :math:`G_d(V,E)`, is definied by:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:82 -#: ../../build/doc/dijkstra-family.rst:101 +#: ../../build/doc/dijkstra-family.rst:97 +#: ../../build/doc/dijkstra-family.rst:116 msgid "the set of vertices :math:`V`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:84 +#: ../../build/doc/dijkstra-family.rst:99 msgid ":math:`V = source \\cup target \\cup {start_{vid}} \\cup {end_{vid}}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:86 -#: ../../build/doc/dijkstra-family.rst:106 +#: ../../build/doc/dijkstra-family.rst:101 +#: ../../build/doc/dijkstra-family.rst:121 msgid "the set of edges :math:`E`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:88 +#: ../../build/doc/dijkstra-family.rst:103 msgid ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, cost_i) \\text{ when } cost >=0 \\} & \\quad \\text{if } reverse\\_cost = \\varnothing \\\\ \\text{ } \\text{ } & \\quad \\text{ } \\\\ \\text{ } \\{(source_i, target_i, cost_i) \\text{ when } cost >=0 \\} & \\quad \\text{ } \\\\ \\cup \\{(target_i, source_i, reverse\\_cost_i) \\text{ when } reverse\\_cost_i>=0 \\} & \\quad \\text{if } reverse\\_cost \\neq \\varnothing \\\\ \\end{cases}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:98 +#: ../../build/doc/dijkstra-family.rst:113 msgid "Undirected graph" msgstr "" -#: ../../build/doc/dijkstra-family.rst:99 +#: ../../build/doc/dijkstra-family.rst:114 msgid "The weighted undirected graph, :math:`G_u(V,E)`, is definied by:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:103 +#: ../../build/doc/dijkstra-family.rst:118 msgid ":math:`V = source \\cup target \\cup {start_v{vid}} \\cup {end_{vid}}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:108 +#: ../../build/doc/dijkstra-family.rst:123 msgid ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, cost_i) \\text{ when } cost >=0 \\} & \\quad \\text{ } \\\\ \\cup \\{(target_i, source_i, cost_i) \\text{ when } cost >=0 \\} & \\quad \\text{ if } reverse\\_cost = \\varnothing \\\\ \\text{ } \\text{ } & \\text{ } \\\\ \\text{ } \\{(source_i, target_i, cost_i) \\text{ when } cost >=0 \\} & \\text{ } \\\\ \\cup \\{(target_i, source_i, cost_i) \\text{ when } cost >=0 \\} & \\text{ } \\\\ \\cup \\{(target_i, source_i, reverse\\_cost_i) \\text{ when } reverse\\_cost_i >=0)\\} & \\text{ } \\\\ \\cup \\{(source_i, target_i, reverse\\_cost_i) \\text{ when } reverse\\_cost_i >=0)\\} & \\quad \\text{ if } reverse\\_cost \\neq \\varnothing \\\\ \\end{cases}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:121 +#: ../../build/doc/dijkstra-family.rst:136 msgid "The problem" msgstr "" -#: ../../build/doc/dijkstra-family.rst:122 +#: ../../build/doc/dijkstra-family.rst:137 msgid "Given:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:124 +#: ../../build/doc/dijkstra-family.rst:139 msgid ":math:`start_{vid} \\in V` a starting vertex" msgstr "" -#: ../../build/doc/dijkstra-family.rst:125 +#: ../../build/doc/dijkstra-family.rst:140 msgid ":math:`end_{vid} \\in V` an ending vertex" msgstr "" -#: ../../build/doc/dijkstra-family.rst:126 +#: ../../build/doc/dijkstra-family.rst:141 msgid ":math:`G(V,E) = \\begin{cases} G_d(V,E) & \\quad \\text{ if6 } directed = true \\\\ G_u(V,E) & \\quad \\text{ if5 } directed = false \\\\ \\end{cases}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:131 +#: ../../build/doc/dijkstra-family.rst:146 msgid "Then:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:140 +#: ../../build/doc/dijkstra-family.rst:155 msgid ":math:`\\boldsymbol{\\pi} = \\{(path\\_seq_i, node_i, edge_i, cost_i, agg\\_cost_i)\\}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:153 +#: ../../build/doc/dijkstra-family.rst:168 msgid "where:" msgstr "" -#: ../../build/doc/dijkstra-family.rst:143 +#: ../../build/doc/dijkstra-family.rst:158 msgid ":math:`path\\_seq_i = i`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:144 +#: ../../build/doc/dijkstra-family.rst:159 msgid ":math:`path\\_seq_{| \\pi |} = | \\pi |`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:145 +#: ../../build/doc/dijkstra-family.rst:160 msgid ":math:`node_i \\in V`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:146 +#: ../../build/doc/dijkstra-family.rst:161 msgid ":math:`node_1 = start_{vid}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:147 +#: ../../build/doc/dijkstra-family.rst:162 msgid ":math:`node_{| \\pi |} = end_{vid}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:148 +#: ../../build/doc/dijkstra-family.rst:163 msgid ":math:`\\forall i \\neq | \\pi |, \\quad (node_i, node_{i+1}, cost_i) \\in E`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:149 +#: ../../build/doc/dijkstra-family.rst:164 msgid ":math:`edge_i = \\begin{cases} id_{(node_i, node_{i+1},cost_i)} &\\quad \\text{when } i \\neq | \\pi | \\\\ -1 &\\quad \\text{when } i = | \\pi | \\\\ \\end{cases}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:150 +#: ../../build/doc/dijkstra-family.rst:165 msgid ":math:`cost_i = cost_{(node_i, node_{i+1})}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:151 +#: ../../build/doc/dijkstra-family.rst:166 msgid ":math:`agg\\_cost_i = \\begin{cases} 0 &\\quad \\text{when } i = 1 \\\\ \\displaystyle\\sum_{k=1}^{i} cost_{(node_{k-1}, node_k)} &\\quad \\text{when } i \\neq 1 \\\\ \\end{cases}`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:159 +#: ../../build/doc/dijkstra-family.rst:174 msgid "In other words: The algorithm returns a the shortest path between :math:`start_{vid}` and :math:`end_{vid}` , if it exists, in terms of a sequence of nodes and of edges," msgstr "" -#: ../../build/doc/dijkstra-family.rst:156 +#: ../../build/doc/dijkstra-family.rst:171 msgid ":math:`path\\_seq` indicates the relative position in the path of the :math:`node` or :math:`edge`." msgstr "" -#: ../../build/doc/dijkstra-family.rst:157 +#: ../../build/doc/dijkstra-family.rst:172 msgid ":math:`cost` is the cost of the edge to be used to go to the next node." msgstr "" -#: ../../build/doc/dijkstra-family.rst:158 +#: ../../build/doc/dijkstra-family.rst:173 msgid ":math:`agg\\_cost` is the cost from the :math:`start_{vid}` up to the node." msgstr "" -#: ../../build/doc/dijkstra-family.rst:161 +#: ../../build/doc/dijkstra-family.rst:176 msgid "If there is no path, the resulting set is empty." msgstr "" -#: ../../build/doc/dijkstra-family.rst:165 +#: ../../build/doc/dijkstra-family.rst:180 msgid "See Also" msgstr "" -#: ../../build/doc/dijkstra-family.rst:168 +#: ../../build/doc/dijkstra-family.rst:183 msgid "Indices and tables" msgstr "" -#: ../../build/doc/dijkstra-family.rst:169 +#: ../../build/doc/dijkstra-family.rst:184 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/dijkstra-family.rst:170 +#: ../../build/doc/dijkstra-family.rst:185 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/drivingDistance-category.pot b/locale/pot/drivingDistance-category.pot index 46ac81f81f6..b51dd5d329b 100644 --- a/locale/pot/drivingDistance-category.pot +++ b/locale/pot/drivingDistance-category.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/experimental.pot b/locale/pot/experimental.pot index 4c12096cc78..68ed863d769 100644 --- a/locale/pot/experimental.pot +++ b/locale/pot/experimental.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -117,6 +117,18 @@ msgid ":doc:`pgr_chinesePostmanCost`" msgstr "" #: ../../build/doc/experimental.rst:52 +msgid ":doc:`coloring-family`" +msgstr "" + +#: ../../build/doc/coloring-family.rst:3 +msgid ":doc:`pgr_sequentialVertexColoring` - Vertex coloring algorithm using greedy approach." +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 +msgid ":doc:`pgr_bipartite` - Bipartite graph algorithm using a DFS-based coloring approach." +msgstr "" + +#: ../../build/doc/experimental.rst:58 msgid ":doc:`topology-functions`" msgstr "" @@ -124,7 +136,7 @@ msgstr "" msgid ":doc:`pgr_extractVertices` - Extracts vertices information based on the source and target." msgstr "" -#: ../../build/doc/experimental.rst:58 +#: ../../build/doc/experimental.rst:64 msgid ":doc:`transformation-family`" msgstr "" @@ -137,10 +149,38 @@ msgid ":doc:`pgr_lineGraphFull` - Transformation algorithm for generating a Line msgstr "" #: ../../build/doc/experimental.rst:70 +msgid ":doc:`traversal-family`" +msgstr "" + +#: ../../build/doc/traversal-family.rst:3 +msgid ":doc:`pgr_depthFirstSearch` - Depth first search traversal of the graph." +msgstr "" + +#: ../../build/doc/experimental.rst:76 +msgid ":doc:`components-family`" +msgstr "" + +#: ../../build/doc/components-family.rst:3 +msgid ":doc:`pgr_makeConnected` - Details of edges to make graph connected." +msgstr "" + +#: ../../build/doc/experimental.rst:82 +msgid ":doc:`dijkstra-family`" +msgstr "" + +#: ../../build/doc/dijkstra-family.rst:3 +msgid ":doc:`pgr_dijkstraNear` - Get the route to the nearest vertex." +msgstr "" + +#: ../../build/doc/dijkstra-family.rst:4 +msgid ":doc:`pgr_dijkstraNearCost` - Get the cost to the nearest vertex." +msgstr "" + +#: ../../build/doc/experimental.rst:98 msgid "categories" msgstr "" -#: ../../build/doc/experimental.rst:71 +#: ../../build/doc/experimental.rst:99 msgid ":doc:`VRP-category`" msgstr "" @@ -164,59 +204,67 @@ msgstr "" msgid ":doc:`pgr_vrpOneDepot` - From a single depot, distributes orders" msgstr "" -#: ../../build/doc/experimental.rst:83 +#: ../../build/doc/experimental.rst:111 msgid "Not classified" msgstr "" -#: ../../build/doc/experimental.rst:84 +#: ../../build/doc/experimental.rst:112 msgid ":doc:`pgr_bellmanFord`" msgstr "" -#: ../../build/doc/experimental.rst:85 +#: ../../build/doc/experimental.rst:113 msgid ":doc:`pgr_binaryBreadthFirstSearch`" msgstr "" -#: ../../build/doc/experimental.rst:86 +#: ../../build/doc/experimental.rst:114 msgid ":doc:`pgr_breadthFirstSearch`" msgstr "" -#: ../../build/doc/experimental.rst:87 +#: ../../build/doc/experimental.rst:115 msgid ":doc:`pgr_dagShortestPath`" msgstr "" -#: ../../build/doc/experimental.rst:88 +#: ../../build/doc/experimental.rst:116 msgid ":doc:`pgr_edwardMoore`" msgstr "" -#: ../../build/doc/experimental.rst:89 +#: ../../build/doc/experimental.rst:117 +msgid ":doc:`pgr_isPlanar`" +msgstr "" + +#: ../../build/doc/experimental.rst:118 msgid ":doc:`pgr_stoerWagner`" msgstr "" -#: ../../build/doc/experimental.rst:90 +#: ../../build/doc/experimental.rst:119 msgid ":doc:`pgr_topologicalSort`" msgstr "" -#: ../../build/doc/experimental.rst:91 +#: ../../build/doc/experimental.rst:120 msgid ":doc:`pgr_transitiveClosure`" msgstr "" -#: ../../build/doc/experimental.rst:92 +#: ../../build/doc/experimental.rst:121 msgid ":doc:`pgr_turnRestrictedPath`" msgstr "" -#: ../../build/doc/experimental.rst:109 +#: ../../build/doc/experimental.rst:122 +msgid ":doc:`pgr_lengauerTarjanDominatorTree`" +msgstr "" + +#: ../../build/doc/experimental.rst:141 msgid "See Also" msgstr "" -#: ../../build/doc/experimental.rst:112 +#: ../../build/doc/experimental.rst:144 msgid "Indices and tables" msgstr "" -#: ../../build/doc/experimental.rst:113 +#: ../../build/doc/experimental.rst:145 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/experimental.rst:114 +#: ../../build/doc/experimental.rst:146 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/flow-family.pot b/locale/pot/flow-family.pot index dc7b8ec82a9..c5401dff24f 100644 --- a/locale/pot/flow-family.pot +++ b/locale/pot/flow-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/index.pot b/locale/pot/index.pot index cd434ff46dc..2c776f2dd01 100644 --- a/locale/pot/index.pot +++ b/locale/pot/index.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -371,118 +371,130 @@ msgid ":doc:`release_notes`" msgstr "" #: ../../build/doc/release_notes.rst:3 -msgid ":ref:`changelog_3_1_0`" +msgid ":ref:`changelog_3_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:4 -msgid ":ref:`changelog_3_0_2`" +msgid ":ref:`changelog_3_1_1`" msgstr "" #: ../../build/doc/release_notes.rst:5 -msgid ":ref:`changelog_3_0_1`" +msgid ":ref:`changelog_3_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:6 -msgid ":ref:`changelog_3_0_0`" +msgid ":ref:`changelog_3_0_3`" msgstr "" #: ../../build/doc/release_notes.rst:7 -msgid ":ref:`changelog_2_6_3`" +msgid ":ref:`changelog_3_0_2`" msgstr "" #: ../../build/doc/release_notes.rst:8 -msgid ":ref:`changelog_2_6_2`" +msgid ":ref:`changelog_3_0_1`" msgstr "" #: ../../build/doc/release_notes.rst:9 -msgid ":ref:`changelog_2_6_1`" +msgid ":ref:`changelog_3_0_0`" msgstr "" #: ../../build/doc/release_notes.rst:10 -msgid ":ref:`changelog_2_6_0`" +msgid ":ref:`changelog_2_6_3`" msgstr "" #: ../../build/doc/release_notes.rst:11 -msgid ":ref:`changelog_2_5_5`" +msgid ":ref:`changelog_2_6_2`" msgstr "" #: ../../build/doc/release_notes.rst:12 -msgid ":ref:`changelog_2_5_4`" +msgid ":ref:`changelog_2_6_1`" msgstr "" #: ../../build/doc/release_notes.rst:13 -msgid ":ref:`changelog_2_5_3`" +msgid ":ref:`changelog_2_6_0`" msgstr "" #: ../../build/doc/release_notes.rst:14 -msgid ":ref:`changelog_2_5_2`" +msgid ":ref:`changelog_2_5_5`" msgstr "" #: ../../build/doc/release_notes.rst:15 -msgid ":ref:`changelog_2_5_1`" +msgid ":ref:`changelog_2_5_4`" msgstr "" #: ../../build/doc/release_notes.rst:16 -msgid ":ref:`changelog_2_5_0`" +msgid ":ref:`changelog_2_5_3`" msgstr "" #: ../../build/doc/release_notes.rst:17 -msgid ":ref:`changelog_2_4_2`" +msgid ":ref:`changelog_2_5_2`" msgstr "" #: ../../build/doc/release_notes.rst:18 -msgid ":ref:`changelog_2_4_1`" +msgid ":ref:`changelog_2_5_1`" msgstr "" #: ../../build/doc/release_notes.rst:19 -msgid ":ref:`changelog_2_4_0`" +msgid ":ref:`changelog_2_5_0`" msgstr "" #: ../../build/doc/release_notes.rst:20 -msgid ":ref:`changelog_2_3_2`" +msgid ":ref:`changelog_2_4_2`" msgstr "" #: ../../build/doc/release_notes.rst:21 -msgid ":ref:`changelog_2_3_1`" +msgid ":ref:`changelog_2_4_1`" msgstr "" #: ../../build/doc/release_notes.rst:22 -msgid ":ref:`changelog_2_3_0`" +msgid ":ref:`changelog_2_4_0`" msgstr "" #: ../../build/doc/release_notes.rst:23 -msgid ":ref:`changelog_2_2_4`" +msgid ":ref:`changelog_2_3_2`" msgstr "" #: ../../build/doc/release_notes.rst:24 -msgid ":ref:`changelog_2_2_3`" +msgid ":ref:`changelog_2_3_1`" msgstr "" #: ../../build/doc/release_notes.rst:25 -msgid ":ref:`changelog_2_2_2`" +msgid ":ref:`changelog_2_3_0`" msgstr "" #: ../../build/doc/release_notes.rst:26 -msgid ":ref:`changelog_2_2_1`" +msgid ":ref:`changelog_2_2_4`" msgstr "" #: ../../build/doc/release_notes.rst:27 -msgid ":ref:`changelog_2_2_0`" +msgid ":ref:`changelog_2_2_3`" msgstr "" #: ../../build/doc/release_notes.rst:28 -msgid ":ref:`changelog_2_1_0`" +msgid ":ref:`changelog_2_2_2`" msgstr "" #: ../../build/doc/release_notes.rst:29 -msgid ":ref:`changelog_2_0_1`" +msgid ":ref:`changelog_2_2_1`" msgstr "" #: ../../build/doc/release_notes.rst:30 -msgid ":ref:`changelog_2_0_0`" +msgid ":ref:`changelog_2_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:31 +msgid ":ref:`changelog_2_1_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:32 +msgid ":ref:`changelog_2_0_1`" +msgstr "" + +#: ../../build/doc/release_notes.rst:33 +msgid ":ref:`changelog_2_0_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:34 msgid ":ref:`changelog_1_x`" msgstr "" diff --git a/locale/pot/kruskal-family.pot b/locale/pot/kruskal-family.pot index dadcebd16f8..6a98963d882 100644 --- a/locale/pot/kruskal-family.pot +++ b/locale/pot/kruskal-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgRouting-installation.pot b/locale/pot/pgRouting-installation.pot index 45cfee3fd5b..2c503c7d0f6 100644 --- a/locale/pot/pgRouting-installation.pot +++ b/locale/pot/pgRouting-installation.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -125,7 +125,7 @@ msgid "Upgrading the database" msgstr "" #: ../../build/doc/pgRouting-installation.rst:110 -msgid "To upgrade pgRouting in the database to version 3.1.0 use the following command:" +msgid "To upgrade pgRouting in the database to version 3.2.0 use the following command:" msgstr "" #: ../../build/doc/pgRouting-installation.rst:118 diff --git a/locale/pot/pgRouting-introduction.pot b/locale/pot/pgRouting-introduction.pot index 7bae8554190..61bf7802806 100644 --- a/locale/pot/pgRouting-introduction.pot +++ b/locale/pot/pgRouting-introduction.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -85,50 +85,50 @@ msgid "This Release Contributors" msgstr "" #: ../../build/doc/pgRouting-introduction.rst:56 -#: ../../build/doc/pgRouting-introduction.rst:87 +#: ../../build/doc/pgRouting-introduction.rst:85 msgid "Individuals (in alphabetical order)" msgstr "" #: ../../build/doc/pgRouting-introduction.rst:58 -msgid "Cayetano Benavent, Daniel Kastl, Esteban Zimanyi, Imre Samu, Martha Vergara, Mohamed Bakli, Mahmoud Sakr, Regina Obe, Virginia Vergara" +msgid "Ashish Kumar, Cayetano Benavent, Daniel Kastl, Himanshu Raj, Martha Vergara, Regina Obe, Virginia Vergara" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:69 +#: ../../build/doc/pgRouting-introduction.rst:67 msgid "And all the people that give us a little of their time making comments, finding issues, making pull requests etc. in any of our products: osm2pgrouting, pgRouting, pgRoutingLayer." msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:74 +#: ../../build/doc/pgRouting-introduction.rst:72 #: ../../build/doc/pgRouting-introduction.rst:108 msgid "Corporate Sponsors (in alphabetical order)" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:76 +#: ../../build/doc/pgRouting-introduction.rst:74 #: ../../build/doc/pgRouting-introduction.rst:110 msgid "These are corporate entities that have contributed developer time, hosting, or direct monetary funding to the pgRouting project:" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:78 +#: ../../build/doc/pgRouting-introduction.rst:76 msgid "`Georepublic `__" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:79 +#: ../../build/doc/pgRouting-introduction.rst:77 msgid "`Google Summer of Code `__" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:80 +#: ../../build/doc/pgRouting-introduction.rst:78 msgid "`Leopark `__" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:81 +#: ../../build/doc/pgRouting-introduction.rst:79 msgid "`Paragon Corporation `__" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:84 +#: ../../build/doc/pgRouting-introduction.rst:82 msgid "Contributors Past & Present:" msgstr "" -#: ../../build/doc/pgRouting-introduction.rst:89 -msgid "Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Akio Takubo, Andrea Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Cayetano Benavent, Christian Gonzalez, Daniel Kastl, Dave Potts, David Techer, Denis Rykov, Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, Frederic Junod, Gerald Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Imre Samu, Jay Mahadeokar, Jinfu Leng, Kai Behncke, Kishore Kumar, Ko Nagase, Mahmoud Sakr, Manikata Kondeti, Mario Basa, Martin Wiesenhaan, Maxim Dubinin, Maoguang Wang, Mohamed Bakli, Mohamed Zia, Mukul Priya, Razequl Islam, Regina Obe, Rohith Reddy, Sarthak Agarwal, Sourabh Garg, Stephen Woodbridge, Sylvain Housseman, Sylvain Pasche, Vidhan Jain, Virginia Vergara" +#: ../../build/doc/pgRouting-introduction.rst:87 +msgid "Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Akio Takubo, Andrea Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Ashish Kumar, Cayetano Benavent, Christian Gonzalez, Daniel Kastl, Dave Potts, David Techer, Denis Rykov, Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, Frederic Junod, Gerald Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Himanshu Raj, Imre Samu, Jay Mahadeokar, Jinfu Leng, Kai Behncke, Kishore Kumar, Ko Nagase, Mahmoud Sakr, Manikata Kondeti, Mario Basa, Martin Wiesenhaan, Maxim Dubinin, Maoguang Wang, Mohamed Bakli, Mohamed Zia, Mukul Priya, Razequl Islam, Regina Obe, Rohith Reddy, Sarthak Agarwal, Sourabh Garg, Stephen Woodbridge, Sylvain Housseman, Sylvain Pasche, Vidhan Jain, Virginia Vergara" msgstr "" #: ../../build/doc/pgRouting-introduction.rst:112 diff --git a/locale/pot/pgr_KSP.pot b/locale/pot/pgr_KSP.pot index 346509d42d4..13c94352477 100644 --- a/locale/pot/pgr_KSP.pot +++ b/locale/pot/pgr_KSP.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_TSP.pot b/locale/pot/pgr_TSP.pot index 33f0bfc5821..1265e0a66b6 100644 --- a/locale/pot/pgr_TSP.pot +++ b/locale/pot/pgr_TSP.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -401,26 +401,22 @@ msgid ":doc:`TSP-family`" msgstr "" #: ../../build/doc/pgr_TSP.rst:142 -msgid "`Simulated annaeling algorithm for beginners `__" -msgstr "" - -#: ../../build/doc/pgr_TSP.rst:143 msgid "`Wikipedia: Traveling Salesman Problem `__" msgstr "" -#: ../../build/doc/pgr_TSP.rst:144 +#: ../../build/doc/pgr_TSP.rst:143 msgid "`Wikipedia: Simulated annealing `__" msgstr "" -#: ../../build/doc/pgr_TSP.rst:147 +#: ../../build/doc/pgr_TSP.rst:146 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_TSP.rst:148 +#: ../../build/doc/pgr_TSP.rst:147 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_TSP.rst:149 +#: ../../build/doc/pgr_TSP.rst:148 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_TSPeuclidean.pot b/locale/pot/pgr_TSPeuclidean.pot index e4f99b21009..e0bb202ee54 100644 --- a/locale/pot/pgr_TSPeuclidean.pot +++ b/locale/pot/pgr_TSPeuclidean.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -390,26 +390,22 @@ msgid ":doc:`TSP-family`" msgstr "" #: ../../build/doc/pgr_TSPeuclidean.rst:132 -msgid "`Simulated annaeling algorithm for beginners `__" -msgstr "" - -#: ../../build/doc/pgr_TSPeuclidean.rst:133 msgid "`Wikipedia: Traveling Salesman Problem `__" msgstr "" -#: ../../build/doc/pgr_TSPeuclidean.rst:134 +#: ../../build/doc/pgr_TSPeuclidean.rst:133 msgid "`Wikipedia: Simulated annealing `__" msgstr "" -#: ../../build/doc/pgr_TSPeuclidean.rst:137 +#: ../../build/doc/pgr_TSPeuclidean.rst:136 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_TSPeuclidean.rst:138 +#: ../../build/doc/pgr_TSPeuclidean.rst:137 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_TSPeuclidean.rst:139 +#: ../../build/doc/pgr_TSPeuclidean.rst:138 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_aStar.pot b/locale/pot/pgr_aStar.pot index 49a62604218..11cd3031c99 100644 --- a/locale/pot/pgr_aStar.pot +++ b/locale/pot/pgr_aStar.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_aStarCost.pot b/locale/pot/pgr_aStarCost.pot index a03f9d81432..6a3e0c39dad 100644 --- a/locale/pot/pgr_aStarCost.pot +++ b/locale/pot/pgr_aStarCost.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -555,7 +555,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "Identifier of the starting vertex. Used when multiple starting vetrices are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -563,7 +563,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "Identifier of the ending vertex. Used when multiple ending vertices are in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 diff --git a/locale/pot/pgr_aStarCostMatrix.pot b/locale/pot/pgr_aStarCostMatrix.pot index bf35594a94f..819aca0f2a8 100644 --- a/locale/pot/pgr_aStarCostMatrix.pot +++ b/locale/pot/pgr_aStarCostMatrix.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -434,7 +434,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "Identifier of the starting vertex. Used when multiple starting vetrices are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -442,7 +442,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "Identifier of the ending vertex. Used when multiple ending vertices are in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 diff --git a/locale/pot/pgr_alphaShape.pot b/locale/pot/pgr_alphaShape.pot index c817ca84653..cfd09a2f66a 100644 --- a/locale/pot/pgr_alphaShape.pot +++ b/locale/pot/pgr_alphaShape.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_analyzeGraph.pot b/locale/pot/pgr_analyzeGraph.pot index 4417e9bbd4a..18aa2b9438e 100644 --- a/locale/pot/pgr_analyzeGraph.pot +++ b/locale/pot/pgr_analyzeGraph.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_analyzeOneWay.pot b/locale/pot/pgr_analyzeOneWay.pot index 1b664f9ff04..9a431a29945 100644 --- a/locale/pot/pgr_analyzeOneWay.pot +++ b/locale/pot/pgr_analyzeOneWay.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_articulationPoints.pot b/locale/pot/pgr_articulationPoints.pot index 77a450c4b8f..f64d48b51bc 100644 --- a/locale/pot/pgr_articulationPoints.pot +++ b/locale/pot/pgr_articulationPoints.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bdAstar.pot b/locale/pot/pgr_bdAstar.pot index ee8c29da409..172c99e6536 100644 --- a/locale/pot/pgr_bdAstar.pot +++ b/locale/pot/pgr_bdAstar.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bdAstarCost.pot b/locale/pot/pgr_bdAstarCost.pot index 08d55e7ec68..739c7bb1d28 100644 --- a/locale/pot/pgr_bdAstarCost.pot +++ b/locale/pot/pgr_bdAstarCost.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -547,7 +547,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "Identifier of the starting vertex. Used when multiple starting vetrices are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -555,7 +555,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "Identifier of the ending vertex. Used when multiple ending vertices are in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 diff --git a/locale/pot/pgr_bdAstarCostMatrix.pot b/locale/pot/pgr_bdAstarCostMatrix.pot index f7952146a55..95ad96b6902 100644 --- a/locale/pot/pgr_bdAstarCostMatrix.pot +++ b/locale/pot/pgr_bdAstarCostMatrix.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -434,7 +434,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "Identifier of the starting vertex. Used when multiple starting vetrices are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -442,7 +442,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "Identifier of the ending vertex. Used when multiple ending vertices are in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 diff --git a/locale/pot/pgr_bdDijkstra.pot b/locale/pot/pgr_bdDijkstra.pot index 460bd9ef9a2..3368ac2f6ee 100644 --- a/locale/pot/pgr_bdDijkstra.pot +++ b/locale/pot/pgr_bdDijkstra.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bdDijkstraCost.pot b/locale/pot/pgr_bdDijkstraCost.pot index 391ccf3cf32..b499542103e 100644 --- a/locale/pot/pgr_bdDijkstraCost.pot +++ b/locale/pot/pgr_bdDijkstraCost.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -365,11 +365,11 @@ msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "Identifier of the starting vertex. Used when multiple starting vetrices are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "Identifier of the ending vertex. Used when multiple ending vertices are in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 diff --git a/locale/pot/pgr_bdDijkstraCostMatrix.pot b/locale/pot/pgr_bdDijkstraCostMatrix.pot index 4c5e64b86a3..6868f1bc1b3 100644 --- a/locale/pot/pgr_bdDijkstraCostMatrix.pot +++ b/locale/pot/pgr_bdDijkstraCostMatrix.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -301,7 +301,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "Identifier of the starting vertex. Used when multiple starting vetrices are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -309,7 +309,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "Identifier of the ending vertex. Used when multiple ending vertices are in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 diff --git a/locale/pot/pgr_bellmanFord.pot b/locale/pot/pgr_bellmanFord.pot index 9a4f4e89c5f..3967220e056 100644 --- a/locale/pot/pgr_bellmanFord.pot +++ b/locale/pot/pgr_bellmanFord.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_biconnectedComponents.pot b/locale/pot/pgr_biconnectedComponents.pot index d35045695e7..d3b82c209f3 100644 --- a/locale/pot/pgr_biconnectedComponents.pot +++ b/locale/pot/pgr_biconnectedComponents.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_binaryBreadthFirstSearch.pot b/locale/pot/pgr_binaryBreadthFirstSearch.pot index 45f69337cb9..7823453dad2 100644 --- a/locale/pot/pgr_binaryBreadthFirstSearch.pot +++ b/locale/pot/pgr_binaryBreadthFirstSearch.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.1 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.1\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-07 21:01-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bipartite.pot b/locale/pot/pgr_bipartite.pot new file mode 100644 index 00000000000..a3be897a95e --- /dev/null +++ b/locale/pot/pgr_bipartite.pot @@ -0,0 +1,373 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../build/doc/pgr_bipartite.rst:11 +msgid "pgr_bipartite -Experimental" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:13 +msgid "``pgr_bipartite`` — If graph is bipartite then function returns the vertex id along with color (0 and 1) else it will return an empty set. In particular, the is_bipartite() algorithm implemented by Boost.Graph." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:19 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:33 +msgid "**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:39 +#: ../../build/doc/coloring-family.rst:4 +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/coloring-family.rst:6 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:40 +msgid "A bipartite graph is a graph with two sets of vertices which are connected to each other, but not within themselves. A bipartite graph is possible if the graph coloring is possible using two colors such that vertices in a set are colored with the same color." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:43 +msgid "**The main Characteristics are:**" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:45 +msgid "The algorithm works in undirected graph only." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:46 +msgid "The returned values are not ordered." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:47 +msgid "The algorithm checks graph is bipartite or not. If it is bipartite then it returns the node along with two colors `0` and `1` which represents two different sets." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:48 +msgid "If graph is not bipartite then algorithm returns empty set." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:49 +msgid "Running time: :math:`O(V + E)`" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:52 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:0 +#: ../../build/doc/pgr_bipartite.rst:0 +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:64 +msgid "The pgr_bipartite algorithm with and edge_sql as a parameter when graph is bipartite:" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:78 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/coloring-family.rst:6 +msgid "Type" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "Inner query as described below." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:85 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:0 +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:87 +msgid "an SQL query of an **undirected** graph, which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/coloring-family.rst:6 +msgid "Column" +msgstr "" + +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "" + +#: ../../build/doc/traversal-family.rst:0 +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/traversal-family.rst:0 +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:95 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/coloring-family.rst:3 +msgid "Returns SET OF ``(vertex_id, color_id)``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 +msgid "**vertex_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 +#: ../../build/doc/coloring-family.rst:9 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 +msgid "Identifier of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:9 +msgid "**color_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:9 +msgid "Identifier of the color of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:11 +msgid "The minimum value of color is 1." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:103 +msgid "Additional Example" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:105 +msgid "The odd length cyclic graph can not be bipartite." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:107 +msgid "The following edge will make subgraph with vertices {1, 2, 5, 7, 8} an odd length cyclic graph." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:114 +msgid "The new graph is not bipartite because it has a odd length cycle of 5 vertices. Edges in blue represent odd length cycle." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:129 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:133 +msgid "`Boost: is_bipartite algorithm documentation `__" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:134 +msgid "`Wikipedia: bipartite graph `__" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:138 +msgid ":doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:141 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:142 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_bipartite.rst:143 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/pot/pgr_boykovKolmogorov.pot b/locale/pot/pgr_boykovKolmogorov.pot index 320c92ac87d..94d912c11e6 100644 --- a/locale/pot/pgr_boykovKolmogorov.pot +++ b/locale/pot/pgr_boykovKolmogorov.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_breadthFirstSearch.pot b/locale/pot/pgr_breadthFirstSearch.pot index 8d2accba4fa..5bbcb98b645 100644 --- a/locale/pot/pgr_breadthFirstSearch.pot +++ b/locale/pot/pgr_breadthFirstSearch.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_bridges.pot b/locale/pot/pgr_bridges.pot index 3754f6c09ab..0ba647982fe 100644 --- a/locale/pot/pgr_bridges.pot +++ b/locale/pot/pgr_bridges.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_chinesePostman.pot b/locale/pot/pgr_chinesePostman.pot index 0783eea7d40..5473a556b64 100644 --- a/locale/pot/pgr_chinesePostman.pot +++ b/locale/pot/pgr_chinesePostman.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_chinesePostmanCost.pot b/locale/pot/pgr_chinesePostmanCost.pot index e0937b6ab50..5a012925f7f 100644 --- a/locale/pot/pgr_chinesePostmanCost.pot +++ b/locale/pot/pgr_chinesePostmanCost.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_connectedComponents.pot b/locale/pot/pgr_connectedComponents.pot index 6d631207939..c293a75c8c5 100644 --- a/locale/pot/pgr_connectedComponents.pot +++ b/locale/pot/pgr_connectedComponents.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_contraction.pot b/locale/pot/pgr_contraction.pot index a7c2d44c023..227a3c210e5 100644 --- a/locale/pot/pgr_contraction.pot +++ b/locale/pot/pgr_contraction.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_createTopology.pot b/locale/pot/pgr_createTopology.pot index 6d93f6915ca..6d6810d62b3 100644 --- a/locale/pot/pgr_createTopology.pot +++ b/locale/pot/pgr_createTopology.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_createVerticesTable.pot b/locale/pot/pgr_createVerticesTable.pot index 092de5e50d3..489052d44ba 100644 --- a/locale/pot/pgr_createVerticesTable.pot +++ b/locale/pot/pgr_createVerticesTable.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_dagShortestPath.pot b/locale/pot/pgr_dagShortestPath.pot index a368f5d9ac7..ee5a9ed2330 100644 --- a/locale/pot/pgr_dagShortestPath.pot +++ b/locale/pot/pgr_dagShortestPath.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_depthFirstSearch.pot b/locale/pot/pgr_depthFirstSearch.pot new file mode 100644 index 00000000000..65dc5ec1706 --- /dev/null +++ b/locale/pot/pgr_depthFirstSearch.pot @@ -0,0 +1,553 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../build/doc/pgr_depthFirstSearch.rst:11 +msgid "pgr_depthFirstSearch - Experimental" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:13 +msgid "``pgr_depthFirstSearch`` — Returns a depth first search traversal of the graph. The graph can be directed or undirected." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:19 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:33 +msgid "**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:37 +#: ../../build/doc/pgr_depthFirstSearch.rst:122 +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/pgr_kruskalDD.rst:6 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:39 +msgid "Depth First Search algorithm is a traversal algorithm which starts from a root vertex, goes as deep as possible, and backtracks once a vertex is reached with no adjacent vertices or with all visited adjacent vertices. The traversal continues until all the vertices reachable from the root vertex are visited." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:44 +msgid "**The main Characteristics are:**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:46 +msgid "The implementation works for both **directed** and **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:47 +msgid "Provides the Depth First Search traversal order from a root vertex or from a set of root vertices." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:49 +msgid "An optional non-negative maximum depth parameter to limit the results up to a particular depth." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:51 +msgid "For optimization purposes, any duplicated values in the `Root vids` are ignored." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:53 +msgid "It does not produce the shortest path from a root vertex to a target vertex." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:54 +msgid "The aggregate cost of traversal is not guaranteed to be minimal." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:55 +msgid "The returned values are ordered in ascending order of `start_vid`." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:56 +msgid "Depth First Search Running time: :math:`O(E + V)`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:59 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:62 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:71 +msgid "Using defaults" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:0 +#: ../../build/doc/pgr_depthFirstSearch.rst:0 +#: ../../build/doc/pgr_depthFirstSearch.rst:0 +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:72 +msgid "From root vertex :math:`2` on a **directed** graph" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:82 +msgid "Single vertex" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:90 +msgid "From root vertex :math:`2` on an **undirected** graph, with :math:`depth <= 2`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:101 +msgid "Multiple vertices" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:109 +msgid "From root vertices :math:`\\{11, 2\\}` on an **undirected** graph with :math:`depth <= 2`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:119 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:122 +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:122 +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/pgr_kruskalDD.rst:6 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:124 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:124 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:124 +msgid "SQL query described in `Inner query`_." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:125 +msgid "**Root vid**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:125 +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +#: ../../build/doc/pgr_kruskalDD.rst:8 +#: ../../build/doc/pgr_kruskalDD.rst:9 +#: ../../build/doc/pgr_kruskalDD.rst:13 +#: ../../build/doc/pgr_kruskalDD.rst:17 +#: ../../build/doc/pgr_kruskalDD.rst:18 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:125 +msgid "Identifier of the root vertex of the tree." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:127 +msgid "Used on `Single Vertex`_." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:129 +msgid "**Root vids**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:129 +msgid "``ARRAY[ANY-INTEGER]``" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:129 +msgid "Array of identifiers of the root vertices." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:131 +msgid "Used on `Multiple Vertices`_." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:132 +msgid "For optimization purposes, any duplicated value is ignored." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:136 +msgid "Optional Parameters" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "**directed**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "``BOOLEAN``" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "``true``" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "When ``true`` Graph is `Directed`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:142 +msgid "When ``false`` the graph is `Undirected`." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +msgid "**max_depth**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +msgid ":math:`9223372036854775807`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +msgid "Upper limit for the depth of traversal" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:146 +msgid "When value is ``Negative`` then **throws error**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:150 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:153 +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/pgr_kruskalDD.rst:6 +msgid "Column" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/pgr_kruskalDD.rst:22 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "" + +#: ../../build/doc/traversal-family.rst:0 +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/traversal-family.rst:0 +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:159 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:3 +msgid "Returns SET OF ``(seq, depth, start_vid, node, edge, cost, agg_cost)``" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:8 +msgid "**seq**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:8 +msgid "Sequential value starting from :math:`1`." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:9 +msgid "**depth**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:9 +msgid "Depth of the ``node``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:11 +msgid ":math:`0` when ``node`` = ``start_vid``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:13 +msgid "**start_vid**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:13 +msgid "Identifier of the root vertex." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:15 +msgid "In `Multiple Vertices`_ results are in ascending order." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:17 +msgid "**node**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:17 +msgid "Identifier of ``node`` reached using ``edge``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:18 +msgid "**edge**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:18 +msgid "Identifier of the ``edge`` used to arrive to ``node``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:20 +msgid ":math:`-1` when ``node`` = ``start_vid``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:22 +#: ../../build/doc/pgr_kruskalDD.rst:23 +msgid "``FLOAT``" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:22 +msgid "Cost to traverse ``edge``." +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:23 +msgid "**agg_cost**" +msgstr "" + +#: ../../build/doc/pgr_kruskalDD.rst:23 +msgid "Aggregate cost from ``start_vid`` to ``node``." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:166 +msgid "Additional Examples" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:168 +msgid "The examples of this section are based on the :doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:170 +msgid "**Example: No internal ordering on traversal**" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:172 +msgid "In the following query, the inner query of the example: \"Using defaults\" is modified so that the data is entered into the algorithm is given in the reverse ordering of the id." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:179 +msgid "The resulting traversal is different." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:181 +msgid "The left image shows the result with ascending order of ids and the right image shows with descending order of ids:" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:184 +msgid "|ascending| |descending|" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:193 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:195 +msgid "The queries use the :doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:199 +msgid "`Boost: Depth First Search algorithm documentation `__" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:200 +msgid "`Boost: Undirected DFS algorithm documentation `__" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:201 +msgid "`Wikipedia: Depth First Search algorithm `__" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:206 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:207 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:208 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/pot/pgr_dijkstra.pot b/locale/pot/pgr_dijkstra.pot index 2243b8249ce..d4038151f7d 100644 --- a/locale/pot/pgr_dijkstra.pot +++ b/locale/pot/pgr_dijkstra.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_dijkstraCost.pot b/locale/pot/pgr_dijkstraCost.pot index f0d4b6149c2..b20478928a9 100644 --- a/locale/pot/pgr_dijkstraCost.pot +++ b/locale/pot/pgr_dijkstraCost.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -440,11 +440,11 @@ msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "Identifier of the starting vertex. Used when multiple starting vetrices are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "Identifier of the ending vertex. Used when multiple ending vertices are in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 diff --git a/locale/pot/pgr_dijkstraCostMatrix.pot b/locale/pot/pgr_dijkstraCostMatrix.pot index 36fad14dbac..d12710b66c6 100644 --- a/locale/pot/pgr_dijkstraCostMatrix.pot +++ b/locale/pot/pgr_dijkstraCostMatrix.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -261,7 +261,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "Identifier of the starting vertex. Used when multiple starting vetrices are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -269,7 +269,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "Identifier of the ending vertex. Used when multiple ending vertices are in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 diff --git a/locale/pot/pgr_dijkstraNear.pot b/locale/pot/pgr_dijkstraNear.pot new file mode 100644 index 00000000000..37f8f1bf10f --- /dev/null +++ b/locale/pot/pgr_dijkstraNear.pot @@ -0,0 +1,706 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../build/doc/pgr_dijkstraNear.rst:11 +msgid "pgr_dijkstraNear - Experimental" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:13 +msgid "``pgr_dijkstraNear`` — Using dijkstra algorithm, finds the route that leads to the nearest vertex." +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:23 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:33 +msgid "**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:37 +#: ../../build/doc/pgr_dijkstraNear.rst:227 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNear.rst:267 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:39 +msgid "Given a graph, a starting vertex and a set of ending vertices, this function finds the shortest path from the starting vertex to the nearest ending vertex." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:44 +msgid "Characteristics" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:48 +msgid "Uses Dijkstra algorithm." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:49 +msgid "Works for **directed** and **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:50 +msgid "When there are more than one path to the same vertex with same cost:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:52 +msgid "The algorithm will return just one path" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:54 +msgid "Optionally allows to find more than one path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:56 +msgid "When more than one path is to be returned:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:58 +msgid "Results are sorted in increasing order of:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:60 +msgid "aggregate cost" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:61 +msgid "Within the same value of aggregate costs:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:63 +msgid "results are sorted by (source, target)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:65 +msgid "Running time: Dijkstra running time: :math:`drt = O((|E| + |V|)log|V|)`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:67 +msgid "One to Many; :math:`drt`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:68 +msgid "Many to One: :math:`drt`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:69 +msgid "Many to Many: :math:`drt * |Starting vids|`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:70 +msgid "Combinations: :math:`drt * |Starting vids|`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:75 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:78 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:92 +msgid "One to Many" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:0 +#: ../../build/doc/pgr_dijkstraNear.rst:0 +#: ../../build/doc/pgr_dijkstraNear.rst:0 +#: ../../build/doc/pgr_dijkstraNear.rst:0 +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:100 +msgid "Departing on car from vertex :math:`2` find the nearest subway station." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:102 +#: ../../build/doc/pgr_dijkstraNear.rst:132 +#: ../../build/doc/pgr_dijkstraNear.rst:192 +msgid "Using a **directed** graph for car routing." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:103 +#: ../../build/doc/pgr_dijkstraNear.rst:133 +msgid "The subway stations are on the following vertices :math:`\\{ 3, 6, 7\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:104 +#: ../../build/doc/pgr_dijkstraNear.rst:163 +#: ../../build/doc/pgr_dijkstraNear.rst:200 +msgid "The defaults used:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:106 +#: ../../build/doc/pgr_dijkstraNear.rst:202 +msgid "`directed => true`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:107 +#: ../../build/doc/pgr_dijkstraNear.rst:165 +#: ../../build/doc/pgr_dijkstraNear.rst:203 +msgid "`cap => 1`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:115 +msgid "The result shows that station at vertex :math:`6` is the nearest." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:121 +msgid "Many to One" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:129 +msgid "Departing on a car from a subway station find the nearest **two** stations to vertex :math:`2`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:134 +msgid "On line `4`: using the positional parameter: `directed` set to ``true``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:135 +msgid "In line `5`: using named parameter `cap => 2`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:142 +msgid "The result shows that station at vertex :math:`3` is the nearest and the next best is :math:`6`." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:149 +msgid "Many to Many" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:157 +msgid "Find the best pedestrian connection between two lines of buses" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:159 +msgid "Unsing an **undirected** graph for pedestrian routing" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:160 +#: ../../build/doc/pgr_dijkstraNear.rst:193 +msgid "The first subway line stations stops are at :math:`\\{3, 6, 7\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:161 +#: ../../build/doc/pgr_dijkstraNear.rst:194 +msgid "The second subway line stations are at :math:`\\{4, 9\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:162 +msgid "On line `4`: using the named parameter: `directed => false`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:166 +msgid "`global => true`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:173 +msgid "For a pedestrian the best connection is to get on/off is at vertex :math:`3` of the first subway line and at vertex :math:`4` of the second subway line." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:176 +msgid "Only `one` route is returned because `global` is ``true`` and `cap` is ``1``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:182 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:190 +msgid "Find the best car connection between all the stations of two subway lines" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:195 +msgid "line `3` sets the start vertices to be from the fisrt subway line and the ending vertices to be from the second subway line" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:197 +msgid "line `5` sets the start vertices to be from the first subway line and the ending vertices to be from the first subway line" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:199 +msgid "On line `6`: using the named parameter is `global => false`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:210 +msgid "From the results:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:212 +msgid "making a connection from the first subway line to the second:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:214 +msgid ":math:`{(3 -> 9) (6 -> 9) (7 -> 9)}` and the best one is :math:`(6 -> 9)` with a cost of :math:`1` (lines: `12` and `13`)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:217 +msgid "making a connection from the second subway line to the first:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:219 +msgid ":math:`{(4 -> 3) (9 -> 6)}` and both are equaly good as they have the same cost. (lines: `10` and `11` and lines: `14` and `15`)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:224 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:227 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:227 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNear.rst:267 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:227 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:229 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:229 +#: ../../build/doc/pgr_dijkstraNear.rst:230 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:229 +msgid "`Edges query`_ as described below" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:230 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:230 +msgid "`Combinations query` as described below" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:231 +msgid "**Start vid**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:231 +#: ../../build/doc/pgr_dijkstraNear.rst:233 +#: ../../build/doc/pgr_dijkstraNear.rst:237 +#: ../../build/doc/pgr_dijkstraNear.rst:269 +#: ../../build/doc/pgr_dijkstraNear.rst:270 +#: ../../build/doc/pgr_dijkstraNear.rst:271 +#: ../../build/doc/pgr_dijkstraNear.rst:272 +#: ../../build/doc/pgr_dijkstraNear.rst:273 +#: ../../build/doc/pgr_dijkstraNear.rst:274 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:231 +#: ../../build/doc/pgr_dijkstraNear.rst:271 +msgid "Identifier of the starting vertex of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:232 +msgid "**Start vids**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:232 +#: ../../build/doc/pgr_dijkstraNear.rst:234 +msgid "``ARRAY[BIGINT]``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:232 +msgid "Array of identifiers of starting vertices." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:233 +msgid "**End vid**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:233 +#: ../../build/doc/pgr_dijkstraNear.rst:272 +msgid "Identifier of the ending vertex of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:234 +msgid "**End vids**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:234 +msgid "Array of identifiers of ending vertices." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +msgid "**directed**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "``BOOLEAN``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "``true``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +msgid "When ``true`` the graph is considered `Directed`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:236 +msgid "When ``false`` the graph is considered as `Undirected`." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:237 +msgid "**cap**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:237 +msgid "1" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:237 +msgid "Find at most ``cap`` number of nearest shortest paths" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "**global**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "When ``true``: only ``cap`` limit results will be returned" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:239 +msgid "When ``false``: ``cap`` limit per ``Start vid`` will be returned" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:244 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:247 +msgid "Edges query" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNear.rst:267 +msgid "Column" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**source**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "**target**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgr_dijkstraNear.rst:279 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Weight of the edge `(source, target)`" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:11 +msgid "When negative: edge `(source, target)` does not exist, therefore it's not part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "-1" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "Weight of the edge `(target, source)`," +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:15 +msgid "When negative: edge `(target, source)` does not exist, therefore it's not part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:19 +#: ../../build/doc/pgRouting-concepts.rst:11 +msgid "Where:" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:0 +#: ../../build/doc/pgRouting-concepts.rst:0 +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:0 +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:22 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:254 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:261 +msgid "Return Columns" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:263 +msgid "RETURNS SET OF ``(seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost)`` OR EMPTY SET" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:269 +msgid "**seq**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:269 +msgid "Sequential value starting from 1." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:270 +msgid "**path_seq**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:270 +msgid "Sequential value starting from 1 for each :math:`(start\\_vid \\to end\\_vid)` path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:271 +msgid "**start_vid**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:272 +msgid "**end_vid**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:273 +msgid "**node**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:273 +msgid "Identifier of the node at position ``path_seq`` in the :math:`(start\\_vid \\to end\\_vid)` path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:274 +msgid "**edge**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:274 +msgid "Identifier of the edge used to go from node at ``path_seq`` to the node at ``path_seq + 1`` in the :math:`(start\\_vid \\to end\\_vid)` path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:277 +msgid ":math:`-1` for the last node of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:279 +#: ../../build/doc/pgr_dijkstraNear.rst:283 +msgid "``FLOAT``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:279 +msgid "Cost to traverse from ``node`` using ``edge`` to the next node in the route sequence." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:281 +msgid ":math:`0` for the last row of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:283 +msgid "**agg_cost**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:283 +msgid "Total cost of traversing :math:`(start\\_vid \\to node)` section of the :math:`(start\\_vid \\to end\\_vid)` path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:288 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:290 +msgid ":doc:`dijkstra-family`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:291 +msgid ":doc:`pgr_dijkstraNearCost`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:292 +msgid ":doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:293 +msgid "boost: https://www.boost.org/libs/graph/doc/table_of_contents.html" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:294 +msgid "Wikipedia: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:297 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:298 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:299 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/pot/pgr_dijkstraNearCost.pot b/locale/pot/pgr_dijkstraNearCost.pot new file mode 100644 index 00000000000..72e2cb3cf6a --- /dev/null +++ b/locale/pot/pgr_dijkstraNearCost.pot @@ -0,0 +1,662 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:11 +msgid "pgr_dijkstraNearCost - Experimental" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:13 +msgid "``pgr_dijkstraNearCost`` — Using dijkstra algorithm, finds the route that leads to the nearest vertex." +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:23 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:33 +msgid "**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:37 +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:39 +msgid "Given a graph, a starting vertex and a set of ending vertices, this function finds the shortest path from the starting vertex to the nearest ending vertex." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:44 +msgid "Characteristics" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:3 +msgid "Uses Dijkstra algorithm." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:4 +msgid "Works for **directed** and **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:5 +msgid "When there are more than one path to the same vertex with same cost:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:7 +msgid "The algorithm will return just one path" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:9 +msgid "Optionally allows to find more than one path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:11 +msgid "When more than one path is to be returned:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:13 +msgid "Results are sorted in increasing order of:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:15 +msgid "aggregate cost" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:16 +msgid "Within the same value of aggregate costs:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:18 +msgid "results are sorted by (source, target)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:20 +msgid "Running time: Dijkstra running time: :math:`drt = O((|E| + |V|)log|V|)`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:22 +msgid "One to Many; :math:`drt`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:23 +msgid "Many to One: :math:`drt`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:24 +msgid "Many to Many: :math:`drt * |Starting vids|`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNear.rst:25 +msgid "Combinations: :math:`drt * |Starting vids|`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:51 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:54 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:68 +msgid "One to Many" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:0 +#: ../../build/doc/pgr_dijkstraNearCost.rst:0 +#: ../../build/doc/pgr_dijkstraNearCost.rst:0 +#: ../../build/doc/pgr_dijkstraNearCost.rst:0 +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:76 +msgid "Departing on car from vertex :math:`2` find the nearest subway station." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:78 +#: ../../build/doc/pgr_dijkstraNearCost.rst:108 +#: ../../build/doc/pgr_dijkstraNearCost.rst:168 +msgid "Using a **directed** graph for car routing." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:79 +#: ../../build/doc/pgr_dijkstraNearCost.rst:109 +msgid "The subway stations are on the following vertices :math:`\\{ 3, 6, 7\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:80 +#: ../../build/doc/pgr_dijkstraNearCost.rst:139 +#: ../../build/doc/pgr_dijkstraNearCost.rst:176 +msgid "The defaults used:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:82 +#: ../../build/doc/pgr_dijkstraNearCost.rst:178 +msgid "`directed => true`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:83 +#: ../../build/doc/pgr_dijkstraNearCost.rst:141 +#: ../../build/doc/pgr_dijkstraNearCost.rst:179 +msgid "`cap => 1`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:91 +msgid "The result shows that station at vertex :math:`6` is the nearest." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:97 +msgid "Many to One" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:105 +msgid "Departing on a car from a subway station find the nearest **two** stations to vertex :math:`2`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:110 +msgid "On line `4`: using the positional parameter: `directed` set to ``true``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:111 +msgid "In line `5`: using named parameter `cap => 2`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:118 +msgid "The result shows that station at vertex :math:`3` is the nearest and the next best is :math:`6`." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:125 +msgid "Many to Many" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:133 +msgid "Find the best pedestrian connection between two lines of buses" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:135 +msgid "Unsing an **undirected** graph for pedestrian routing" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:136 +#: ../../build/doc/pgr_dijkstraNearCost.rst:169 +msgid "The first subway line stations stops are at :math:`\\{3, 6, 7\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:137 +#: ../../build/doc/pgr_dijkstraNearCost.rst:170 +msgid "The second subway line stations are at :math:`\\{4, 9\\}`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:138 +msgid "On line `4`: using the named parameter: `directed => false`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:142 +msgid "`global => true`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:149 +msgid "For a pedestrian the best connection is to get on/off is at vertex :math:`3` of the first subway line and at vertex :math:`4` of the second subway line." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:152 +msgid "Only `one` route is returned because `global` is ``true`` and `cap` is ``1``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:158 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:166 +msgid "Find the best car connection between all the stations of two subway lines" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:171 +msgid "line `3` sets the start vertices to be from the fisrt subway line and the ending vertices to be from the second subway line" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:173 +msgid "line `5` sets the start vertices to be from the first subway line and the ending vertices to be from the first subway line" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:175 +msgid "On line `6`: using the named parameter is `global => false`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:186 +msgid "From the results:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:188 +msgid "making a connection from the first subway line to the second:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:190 +msgid ":math:`{(3 -> 9) (6 -> 9) (7 -> 9)}` and the best one is :math:`(6 -> 9)` with a cost of :math:`1` (line: `11`)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:193 +msgid "making a connection from the second subway line to the first:" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:195 +msgid ":math:`{(4 -> 3) (9 -> 6)}` and both are equaly good as they have the same cost. (lines: `10` and `12`)" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:200 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:205 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:205 +#: ../../build/doc/pgr_dijkstraNearCost.rst:206 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:205 +msgid "`Edges query`_ as described below" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:206 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:206 +msgid "`Combinations query` as described below" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:207 +msgid "**Start vid**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:207 +#: ../../build/doc/pgr_dijkstraNearCost.rst:209 +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:207 +msgid "Identifier of the starting vertex of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:208 +msgid "**Start vids**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:208 +#: ../../build/doc/pgr_dijkstraNearCost.rst:210 +msgid "``ARRAY[BIGINT]``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:208 +msgid "Array of identifiers of starting vertices." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:209 +msgid "**End vid**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:209 +msgid "Identifier of the ending vertex of the path." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:210 +msgid "**End vids**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:210 +msgid "Array of identifiers of ending vertices." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +msgid "**directed**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "``BOOLEAN``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "``true``" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +msgid "When ``true`` the graph is considered `Directed`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:212 +msgid "When ``false`` the graph is considered as `Undirected`." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +msgid "**cap**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +msgid "1" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +msgid "Find at most ``cap`` number of nearest shortest paths" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "**global**" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "When ``true``: only ``cap`` limit results will be returned" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:215 +msgid "When ``false``: ``cap`` limit per ``Start vid`` will be returned" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:220 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:223 +msgid "Edges query" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Column" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**source**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "**target**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Weight of the edge `(source, target)`" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:11 +msgid "When negative: edge `(source, target)` does not exist, therefore it's not part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "-1" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "Weight of the edge `(target, source)`," +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:15 +msgid "When negative: edge `(target, source)` does not exist, therefore it's not part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:19 +#: ../../build/doc/pgRouting-concepts.rst:11 +msgid "Where:" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:0 +#: ../../build/doc/pgRouting-concepts.rst:0 +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:0 +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:22 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:230 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:237 +msgid "Return Columns" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:3 +msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "**start_vid**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "Identifier of the starting vertex." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "**end_vid**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Identifier of the ending vertex." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:10 +msgid "**agg_cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:10 +msgid "``FLOAT``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:10 +msgid "Aggregate cost from ``start_vid`` to ``end_vid``." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:244 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:246 +msgid ":doc:`dijkstra-family`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:247 +msgid ":doc:`pgr_dijkstraNear`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:248 +msgid ":doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:249 +msgid "boost: https://www.boost.org/libs/graph/doc/table_of_contents.html" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:250 +msgid "Wikipedia: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:253 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:254 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:255 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/pot/pgr_dijkstraVia.pot b/locale/pot/pgr_dijkstraVia.pot index 0debcec16e5..37a39d84802 100644 --- a/locale/pot/pgr_dijkstraVia.pot +++ b/locale/pot/pgr_dijkstraVia.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_drivingDistance.pot b/locale/pot/pgr_drivingDistance.pot index a1d74b51680..c012cb60f53 100644 --- a/locale/pot/pgr_drivingDistance.pot +++ b/locale/pot/pgr_drivingDistance.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_edgeDisjointPaths.pot b/locale/pot/pgr_edgeDisjointPaths.pot index e941af4fb1a..9ae0a0e98c9 100644 --- a/locale/pot/pgr_edgeDisjointPaths.pot +++ b/locale/pot/pgr_edgeDisjointPaths.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_edmondsKarp.pot b/locale/pot/pgr_edmondsKarp.pot index c8bbef43200..7c9a4afc480 100644 --- a/locale/pot/pgr_edmondsKarp.pot +++ b/locale/pot/pgr_edmondsKarp.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_edwardMoore.pot b/locale/pot/pgr_edwardMoore.pot index fd0efdc7d4a..b1b5314a7fb 100644 --- a/locale/pot/pgr_edwardMoore.pot +++ b/locale/pot/pgr_edwardMoore.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_extractVertices.pot b/locale/pot/pgr_extractVertices.pot index b2cafa4c165..242fde9c023 100644 --- a/locale/pot/pgr_extractVertices.pot +++ b/locale/pot/pgr_extractVertices.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_floydWarshall.pot b/locale/pot/pgr_floydWarshall.pot index bf4f72a87d1..6be2e5ede99 100644 --- a/locale/pot/pgr_floydWarshall.pot +++ b/locale/pot/pgr_floydWarshall.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_full_version.pot b/locale/pot/pgr_full_version.pot index 5b375ff5e1f..11acdf6e927 100644 --- a/locale/pot/pgr_full_version.pot +++ b/locale/pot/pgr_full_version.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_isPlanar.pot b/locale/pot/pgr_isPlanar.pot new file mode 100644 index 00000000000..75f284e4b18 --- /dev/null +++ b/locale/pot/pgr_isPlanar.pot @@ -0,0 +1,346 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../build/doc/pgr_isPlanar.rst:11 +msgid "pgr_isPlanar - Experimental" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:13 +msgid "``pgr_isPlanar`` — Returns a boolean depending upon the planarity of the graph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:18 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:25 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:26 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:28 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:31 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:32 +msgid "**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:36 +#: ../../build/doc/pgr_isPlanar.rst:76 +#: ../../build/doc/pgr_isPlanar.rst:87 +#: ../../build/doc/pgr_isPlanar.rst:111 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:38 +msgid "A graph is planar if it can be drawn in two-dimensional space with no two of its edges crossing. Such a drawing of a planar graph is called a plane drawing. Every planar graph also admits a straight-line drawing, which is a plane drawing where each edge is represented by a line segment. When a graph has :math:`K_5` or :math:`K_{3,3}` as subgraph then the graph is not planar." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:52 +msgid "The main characteristics are:" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:44 +msgid "This implementation use the Boyer-Myrvold Planarity Testing." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:46 +msgid "It will return a boolean value depending upon the planarity of the graph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:48 +msgid "Applicable only for **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:50 +msgid "The algorithm does not considers traversal costs in the calculations." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:52 +msgid "Running time: :math:`O(|V|)`" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:55 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:58 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:73 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:76 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:76 +#: ../../build/doc/pgr_isPlanar.rst:87 +#: ../../build/doc/pgr_isPlanar.rst:111 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:76 +#: ../../build/doc/pgr_isPlanar.rst:87 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:78 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:78 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:78 +msgid "SQL query as described below." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:82 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:0 +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:84 +msgid "an SQL query, which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:87 +#: ../../build/doc/pgr_isPlanar.rst:111 +msgid "Column" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:89 +msgid "**id**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:89 +#: ../../build/doc/pgr_isPlanar.rst:90 +#: ../../build/doc/pgr_isPlanar.rst:91 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:89 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:90 +msgid "**source**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:90 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:91 +msgid "**target**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:91 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:92 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:92 +#: ../../build/doc/pgr_isPlanar.rst:95 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:92 +#: ../../build/doc/pgr_isPlanar.rst:95 +msgid "When positive: edge `(target, source)` is part of the graph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:93 +#: ../../build/doc/pgr_isPlanar.rst:96 +msgid "When negative: edge `(target, source)` is not part of the graph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:95 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:95 +msgid "-1" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:100 +msgid "Where:" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:0 +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:102 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:0 +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:103 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:106 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:108 +msgid "Returns a boolean ``(pgr_isplanar)``" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:113 +msgid "**pgr_isplanar**" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:113 +msgid "``BOOLEAN``" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:113 +msgid "`true` when the graph is planar." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:114 +msgid "`false` when the graph is not planar." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:118 +msgid "Additional Example:" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:120 +msgid "The following edges will make the subgraph with vertices {3, 4, 6, 9, 16} a :math:`K_5` graph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:126 +msgid "The new graph is not planar because it has a :math:`K_5` subgraph. Edges in blue represent :math:`K_5` subgraph." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:136 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:138 +msgid "https://www.boost.org/libs/graph/doc/boyer_myrvold.html" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:139 +msgid "The queries use the :doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:142 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:143 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_isPlanar.rst:144 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/pot/pgr_johnson.pot b/locale/pot/pgr_johnson.pot index 72bbbc857a7..251417c0f0e 100644 --- a/locale/pot/pgr_johnson.pot +++ b/locale/pot/pgr_johnson.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_kruskal.pot b/locale/pot/pgr_kruskal.pot index 5a54c9c8337..72bcb27eb3f 100644 --- a/locale/pot/pgr_kruskal.pot +++ b/locale/pot/pgr_kruskal.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_kruskalBFS.pot b/locale/pot/pgr_kruskalBFS.pot index c8674a55810..71a9d7293cf 100644 --- a/locale/pot/pgr_kruskalBFS.pot +++ b/locale/pot/pgr_kruskalBFS.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_kruskalDD.pot b/locale/pot/pgr_kruskalDD.pot index 9c3c36fc96c..e62061b3e6f 100644 --- a/locale/pot/pgr_kruskalDD.pot +++ b/locale/pot/pgr_kruskalDD.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_kruskalDFS.pot b/locale/pot/pgr_kruskalDFS.pot index 089746b4492..bf9cabd959e 100644 --- a/locale/pot/pgr_kruskalDFS.pot +++ b/locale/pot/pgr_kruskalDFS.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_lengauerTarjanDominatorTree.pot b/locale/pot/pgr_lengauerTarjanDominatorTree.pot new file mode 100644 index 00000000000..7064289e5f5 --- /dev/null +++ b/locale/pot/pgr_lengauerTarjanDominatorTree.pot @@ -0,0 +1,379 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:12 +msgid "pgr_lengauerTarjanDominatorTree -Experimental" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:14 +msgid "``pgr_lengauerTarjanDominatorTree`` — Returns the immediate dominator of all vertices." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:19 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:33 +msgid "**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:40 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:77 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:97 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:41 +msgid "The algorithm calculates the *immidiate dominator* of each vertex called **idom**, once **idom** of each vertex is calculated then by making every **idom** of each vertex as its parent, the dominator tree can be built." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:43 +msgid "**The main Characteristics are:**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:45 +msgid "The algorithm works in directed graph only." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:46 +msgid "The returned values are not ordered." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:47 +msgid "The algorithm returns *idom* of each vertex." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:48 +msgid "If the *root vertex* not present in the graph then it returns empty set." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:49 +msgid "Running time: :math:`O((V+E)log(V+E))`" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:52 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:55 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:0 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:0 +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:67 +msgid "The lengauerTarjanDominatorTree with root vertex :math:`1`" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:74 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:77 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:97 +msgid "Column" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:77 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:97 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:79 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:79 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:79 +msgid "SQL query as described above." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:80 +msgid "**root vertex**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:80 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:100 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:101 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:80 +msgid "Identifier of the starting vertex." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:85 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Weight of the edge `(source, target)`" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:11 +msgid "When negative: edge `(source, target)` does not exist, therefore it's not part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "-1" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "Weight of the edge `(target, source)`," +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:15 +msgid "When negative: edge `(target, source)` does not exist, therefore it's not part of the graph." +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:19 +msgid "Where:" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:0 +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:21 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:0 +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:22 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:92 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:94 +msgid "Returns set of ``(seq, vertex_id,idom)``" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:99 +msgid "**seq**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:99 +msgid "``INTEGER``" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:99 +msgid "Sequential value starting from **1**." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:100 +msgid "**vertex_id**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:100 +msgid "Identifier of vertex ." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:101 +msgid "**idom**" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:101 +msgid "Immediate dominator of vertex." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:105 +msgid "Additional Examples" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:106 +msgid "The examples in this section use the following :ref:`fig1`" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:108 +msgid "When the edge is disonnectd from graph then it will returns immidiate dominator of all other vertex as zero." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:117 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:119 +msgid "`Boost: lengauerTarjanDominatorTree algorithm documentation `__" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:120 +msgid "`Wikipedia: dominator tree `__" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:121 +msgid ":doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:124 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:125 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:126 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/pot/pgr_lineGraph.pot b/locale/pot/pgr_lineGraph.pot index ef75cdf0726..4af2388eb4e 100644 --- a/locale/pot/pgr_lineGraph.pot +++ b/locale/pot/pgr_lineGraph.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_lineGraphFull.pot b/locale/pot/pgr_lineGraphFull.pot index ecfd5324da9..5a5712db23c 100644 --- a/locale/pot/pgr_lineGraphFull.pot +++ b/locale/pot/pgr_lineGraphFull.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_makeConnected.pot b/locale/pot/pgr_makeConnected.pot new file mode 100644 index 00000000000..9f077079172 --- /dev/null +++ b/locale/pot/pgr_makeConnected.pot @@ -0,0 +1,349 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../build/doc/pgr_makeConnected.rst:11 +msgid "pgr_makeConnected - Experimental" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:13 +msgid "``pgr_makeConnected`` — Returns the set of edges that will make the graph connected." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:18 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:25 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:26 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:28 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:31 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:32 +msgid "**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:36 +#: ../../build/doc/pgr_makeConnected.rst:75 +#: ../../build/doc/pgr_makeConnected.rst:86 +#: ../../build/doc/pgr_makeConnected.rst:112 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:38 +msgid "Adds the minimum number of edges needed to make the input graph connected. The algorithm first identifies all of the connected components in the graph, then adds edges to connect those components together in a path. For example, if a graph contains three connected components A, B, and C, make_connected will add two edges. The two edges added might consist of one connecting a vertex in A with a vertex in B and one connecting a vertex in B with a vertex in C." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:51 +msgid "The main characteristics are:" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:44 +msgid "It will give the minimum list of all edges which are needed in the graph to make the graph connected." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:46 +msgid "Applicable only for **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:48 +msgid "The algorithm does not considers traversal costs in the calculations." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:50 +msgid "Running time: :math:`O(V + E)`" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:54 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:57 +msgid "Summary" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:0 +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:65 +msgid "Query done on :doc:`sampledata` network gives the list of edges that are needed in the graph to make it connected." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:72 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:75 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:75 +#: ../../build/doc/pgr_makeConnected.rst:86 +#: ../../build/doc/pgr_makeConnected.rst:112 +msgid "Type" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:75 +#: ../../build/doc/pgr_makeConnected.rst:86 +msgid "Default" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:77 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:77 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:77 +msgid "SQL query as described below." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:81 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:0 +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:83 +msgid "an SQL query, which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:86 +#: ../../build/doc/pgr_makeConnected.rst:112 +msgid "Column" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:88 +msgid "**id**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:88 +#: ../../build/doc/pgr_makeConnected.rst:89 +#: ../../build/doc/pgr_makeConnected.rst:90 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:88 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:89 +msgid "**source**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:89 +#: ../../build/doc/pgr_makeConnected.rst:115 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:90 +msgid "**target**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:90 +#: ../../build/doc/pgr_makeConnected.rst:116 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:91 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:91 +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:91 +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "When positive: edge `(target, source)` is part of the graph." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:92 +#: ../../build/doc/pgr_makeConnected.rst:95 +msgid "When negative: edge `(target, source)` is not part of the graph." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "-1" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:99 +msgid "Where:" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:0 +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:101 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:0 +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:102 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:105 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:109 +msgid "Returns set of ``(seq, start_vid, end_vid)``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:114 +msgid "**seq**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:114 +msgid "``INT``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:114 +msgid "Sequential value starting from **1**." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:115 +msgid "**start_vid**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:115 +#: ../../build/doc/pgr_makeConnected.rst:116 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:116 +msgid "**end_vid**" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:122 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:124 +msgid "https://www.boost.org/libs/graph/doc/make_connected.html" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:125 +msgid "The queries use the :doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:128 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:129 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_makeConnected.rst:130 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/pot/pgr_maxCardinalityMatch.pot b/locale/pot/pgr_maxCardinalityMatch.pot index 1207c099da5..fc5e19871b4 100644 --- a/locale/pot/pgr_maxCardinalityMatch.pot +++ b/locale/pot/pgr_maxCardinalityMatch.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_maxFlow.pot b/locale/pot/pgr_maxFlow.pot index b785554de94..f38a3432206 100644 --- a/locale/pot/pgr_maxFlow.pot +++ b/locale/pot/pgr_maxFlow.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_maxFlowMinCost.pot b/locale/pot/pgr_maxFlowMinCost.pot index cfc6040f923..87142e56b8b 100644 --- a/locale/pot/pgr_maxFlowMinCost.pot +++ b/locale/pot/pgr_maxFlowMinCost.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_maxFlowMinCost_Cost.pot b/locale/pot/pgr_maxFlowMinCost_Cost.pot index 4cfa3d74e8c..8ffab59d19f 100644 --- a/locale/pot/pgr_maxFlowMinCost_Cost.pot +++ b/locale/pot/pgr_maxFlowMinCost_Cost.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_nodeNetwork.pot b/locale/pot/pgr_nodeNetwork.pot index aae2494fe40..01a1509d626 100644 --- a/locale/pot/pgr_nodeNetwork.pot +++ b/locale/pot/pgr_nodeNetwork.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_pickDeliver.pot b/locale/pot/pgr_pickDeliver.pot index 090dc8b7f6c..1493fd82775 100644 --- a/locale/pot/pgr_pickDeliver.pot +++ b/locale/pot/pgr_pickDeliver.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_pickDeliverEuclidean.pot b/locale/pot/pgr_pickDeliverEuclidean.pot index 2aff5ba561d..fe2212151d5 100644 --- a/locale/pot/pgr_pickDeliverEuclidean.pot +++ b/locale/pot/pgr_pickDeliverEuclidean.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_prim.pot b/locale/pot/pgr_prim.pot index 581a2ab3a73..cd780f9a784 100644 --- a/locale/pot/pgr_prim.pot +++ b/locale/pot/pgr_prim.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_primBFS.pot b/locale/pot/pgr_primBFS.pot index 86e5fcd7c8a..2ca278d3a45 100644 --- a/locale/pot/pgr_primBFS.pot +++ b/locale/pot/pgr_primBFS.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_primDD.pot b/locale/pot/pgr_primDD.pot index 710c1639cc6..63c1ea809e3 100644 --- a/locale/pot/pgr_primDD.pot +++ b/locale/pot/pgr_primDD.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_primDFS.pot b/locale/pot/pgr_primDFS.pot index adf03283cb9..1f46efb437a 100644 --- a/locale/pot/pgr_primDFS.pot +++ b/locale/pot/pgr_primDFS.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_pushRelabel.pot b/locale/pot/pgr_pushRelabel.pot index a80fc0b472d..9ccaa2e58cf 100644 --- a/locale/pot/pgr_pushRelabel.pot +++ b/locale/pot/pgr_pushRelabel.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_sequentialVertexColoring.pot b/locale/pot/pgr_sequentialVertexColoring.pot new file mode 100644 index 00000000000..c6cf007be2b --- /dev/null +++ b/locale/pot/pgr_sequentialVertexColoring.pot @@ -0,0 +1,376 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:11 +msgid "pgr_sequentialVertexColoring - Experimental" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:13 +msgid "``pgr_sequentialVertexColoring`` — Returns the vertex coloring of an undirected graph, using greedy approach." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:19 +msgid "Boost Graph Inside" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:26 +msgid "Availability" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:27 +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:29 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:32 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:33 +msgid "**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:37 +#: ../../build/doc/coloring-family.rst:4 +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/coloring-family.rst:6 +msgid "Description" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:39 +msgid "Sequential Vertex Coloring algorithm is a graph coloring algorithm in which color identifiers are assigned to the vertices of a graph in a sequential manner, such that no edge connects two identically colored vertices." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:43 +msgid "**The main Characteristics are:**" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:45 +msgid "The implementation is applicable only for **undirected** graphs." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:46 +msgid "Provides the color to be assigned to all the vertices present in the graph." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:47 +msgid "Color identifiers values are in the Range :math:`[1, |V|]`" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:48 +msgid "The algorithm tries to assign the least possible color to every vertex." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:49 +msgid "Efficient graph coloring is an NP-Hard problem, and therefore, this algorithm does not always produce optimal coloring. It follows a greedy strategy by iterating through all the vertices sequentially, and assigning the smallest possible color that is not used by its neighbors, to each vertex." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:53 +msgid "The returned rows are ordered in ascending order of the vertex value." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:54 +msgid "Sequential Vertex Coloring Running Time: :math:`O(|V|*(d + k))`" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:56 +msgid "where :math:`|V|` is the number of vertices," +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:57 +msgid ":math:`d` is the maximum degree of the vertices in the graph," +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:58 +msgid ":math:`k` is the number of colors used." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:61 +msgid "Signatures" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:0 +msgid "Example" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:70 +msgid "Graph coloring of pgRouting :doc:`sampledata`" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:82 +msgid "Parameters" +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 +msgid "Parameter" +msgstr "" + +#: ../../build/doc/coloring-family.rst:4 +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/coloring-family.rst:6 +msgid "Type" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "**Edges SQL**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "``TEXT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:6 +msgid "Inner query as described below." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:89 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:0 +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:91 +msgid "an SQL query of an **undirected** graph, which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/traversal-family.rst:4 +#: ../../build/doc/coloring-family.rst:6 +msgid "Column" +msgstr "" + +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "" + +#: ../../build/doc/traversal-family.rst:0 +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/traversal-family.rst:0 +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:99 +msgid "Result Columns" +msgstr "" + +#: ../../build/doc/coloring-family.rst:3 +msgid "Returns SET OF ``(vertex_id, color_id)``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 +msgid "**vertex_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 +#: ../../build/doc/coloring-family.rst:9 +msgid "``BIGINT``" +msgstr "" + +#: ../../build/doc/coloring-family.rst:8 +msgid "Identifier of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:9 +msgid "**color_id**" +msgstr "" + +#: ../../build/doc/coloring-family.rst:9 +msgid "Identifier of the color of the vertex." +msgstr "" + +#: ../../build/doc/coloring-family.rst:11 +msgid "The minimum value of color is 1." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:107 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:109 +msgid "The queries use the :doc:`sampledata` network." +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:113 +msgid "`Boost: Sequential Vertex Coloring algorithm documentation `__" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:114 +msgid "`Wikipedia: Graph coloring `__" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:119 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:120 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:121 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/pot/pgr_stoerWagner.pot b/locale/pot/pgr_stoerWagner.pot index d8838928eb4..395e469d0b2 100644 --- a/locale/pot/pgr_stoerWagner.pot +++ b/locale/pot/pgr_stoerWagner.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_strongComponents.pot b/locale/pot/pgr_strongComponents.pot index e0aeabe2a8e..59de5f077d3 100644 --- a/locale/pot/pgr_strongComponents.pot +++ b/locale/pot/pgr_strongComponents.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_topologicalSort.pot b/locale/pot/pgr_topologicalSort.pot index d7036a91dc1..8cb0ed5126d 100644 --- a/locale/pot/pgr_topologicalSort.pot +++ b/locale/pot/pgr_topologicalSort.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_transitiveClosure.pot b/locale/pot/pgr_transitiveClosure.pot index b28489fe786..5f1e15aee62 100644 --- a/locale/pot/pgr_transitiveClosure.pot +++ b/locale/pot/pgr_transitiveClosure.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_trsp.pot b/locale/pot/pgr_trsp.pot index e33f4d2a8a1..a623efa8995 100644 --- a/locale/pot/pgr_trsp.pot +++ b/locale/pot/pgr_trsp.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_turnRestrictedPath.pot b/locale/pot/pgr_turnRestrictedPath.pot index bda53b091be..f49fd0ffd63 100644 --- a/locale/pot/pgr_turnRestrictedPath.pot +++ b/locale/pot/pgr_turnRestrictedPath.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_version.pot b/locale/pot/pgr_version.pot index 51f1793f489..2e9812401d8 100644 --- a/locale/pot/pgr_version.pot +++ b/locale/pot/pgr_version.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_vrpOneDepot.pot b/locale/pot/pgr_vrpOneDepot.pot index 4ae705e4739..c588b3067ec 100644 --- a/locale/pot/pgr_vrpOneDepot.pot +++ b/locale/pot/pgr_vrpOneDepot.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_withPoints.pot b/locale/pot/pgr_withPoints.pot index b51ec6fcbc7..b8258f5fd61 100644 --- a/locale/pot/pgr_withPoints.pot +++ b/locale/pot/pgr_withPoints.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_withPointsCost.pot b/locale/pot/pgr_withPointsCost.pot index 9fd48b22f80..d95688454a9 100644 --- a/locale/pot/pgr_withPointsCost.pot +++ b/locale/pot/pgr_withPointsCost.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_withPointsCostMatrix.pot b/locale/pot/pgr_withPointsCostMatrix.pot index 5ee14f3bc77..21fed9e7ee9 100644 --- a/locale/pot/pgr_withPointsCostMatrix.pot +++ b/locale/pot/pgr_withPointsCostMatrix.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -261,7 +261,7 @@ msgid "``BIGINT``" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "Identifier of the starting vertex. Used when multiple starting vetrices are in the query." +msgid "Identifier of the starting vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 @@ -269,7 +269,7 @@ msgid "**end_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "Identifier of the ending vertex. Used when multiple ending vertices are in the query." +msgid "Identifier of the ending vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 diff --git a/locale/pot/pgr_withPointsDD.pot b/locale/pot/pgr_withPointsDD.pot index c9a1013617c..453e0554d21 100644 --- a/locale/pot/pgr_withPointsDD.pot +++ b/locale/pot/pgr_withPointsDD.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/pgr_withPointsKSP.pot b/locale/pot/pgr_withPointsKSP.pot index 3f5ce564d9c..8366a58e551 100644 --- a/locale/pot/pgr_withPointsKSP.pot +++ b/locale/pot/pgr_withPointsKSP.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/prim-family.pot b/locale/pot/prim-family.pot index 77d7a9f8f02..18f94e1ba8a 100644 --- a/locale/pot/prim-family.pot +++ b/locale/pot/prim-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/proposed.pot b/locale/pot/proposed.pot index 4bc0373cad9..478642d4b88 100644 --- a/locale/pot/proposed.pot +++ b/locale/pot/proposed.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/release_notes.pot b/locale/pot/release_notes.pot index 168ee8feac3..1368d991983 100644 --- a/locale/pot/release_notes.pot +++ b/locale/pot/release_notes.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,2008 +29,2107 @@ msgid "Table of contents" msgstr "" #: ../../build/doc/release_notes.rst:21 -msgid ":ref:`changelog_3_1_0`" +msgid ":ref:`changelog_3_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:22 -msgid ":ref:`changelog_3_0_2`" +msgid ":ref:`changelog_3_1_1`" msgstr "" #: ../../build/doc/release_notes.rst:23 -msgid ":ref:`changelog_3_0_1`" +msgid ":ref:`changelog_3_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:24 -msgid ":ref:`changelog_3_0_0`" +msgid ":ref:`changelog_3_0_3`" msgstr "" #: ../../build/doc/release_notes.rst:25 -msgid ":ref:`changelog_2_6_3`" +msgid ":ref:`changelog_3_0_2`" msgstr "" #: ../../build/doc/release_notes.rst:26 -msgid ":ref:`changelog_2_6_2`" +msgid ":ref:`changelog_3_0_1`" msgstr "" #: ../../build/doc/release_notes.rst:27 -msgid ":ref:`changelog_2_6_1`" +msgid ":ref:`changelog_3_0_0`" msgstr "" #: ../../build/doc/release_notes.rst:28 -msgid ":ref:`changelog_2_6_0`" +msgid ":ref:`changelog_2_6_3`" msgstr "" #: ../../build/doc/release_notes.rst:29 -msgid ":ref:`changelog_2_5_5`" +msgid ":ref:`changelog_2_6_2`" msgstr "" #: ../../build/doc/release_notes.rst:30 -msgid ":ref:`changelog_2_5_4`" +msgid ":ref:`changelog_2_6_1`" msgstr "" #: ../../build/doc/release_notes.rst:31 -msgid ":ref:`changelog_2_5_3`" +msgid ":ref:`changelog_2_6_0`" msgstr "" #: ../../build/doc/release_notes.rst:32 -msgid ":ref:`changelog_2_5_2`" +msgid ":ref:`changelog_2_5_5`" msgstr "" #: ../../build/doc/release_notes.rst:33 -msgid ":ref:`changelog_2_5_1`" +msgid ":ref:`changelog_2_5_4`" msgstr "" #: ../../build/doc/release_notes.rst:34 -msgid ":ref:`changelog_2_5_0`" +msgid ":ref:`changelog_2_5_3`" msgstr "" #: ../../build/doc/release_notes.rst:35 -msgid ":ref:`changelog_2_4_2`" +msgid ":ref:`changelog_2_5_2`" msgstr "" #: ../../build/doc/release_notes.rst:36 -msgid ":ref:`changelog_2_4_1`" +msgid ":ref:`changelog_2_5_1`" msgstr "" #: ../../build/doc/release_notes.rst:37 -msgid ":ref:`changelog_2_4_0`" +msgid ":ref:`changelog_2_5_0`" msgstr "" #: ../../build/doc/release_notes.rst:38 -msgid ":ref:`changelog_2_3_2`" +msgid ":ref:`changelog_2_4_2`" msgstr "" #: ../../build/doc/release_notes.rst:39 -msgid ":ref:`changelog_2_3_1`" +msgid ":ref:`changelog_2_4_1`" msgstr "" #: ../../build/doc/release_notes.rst:40 -msgid ":ref:`changelog_2_3_0`" +msgid ":ref:`changelog_2_4_0`" msgstr "" #: ../../build/doc/release_notes.rst:41 -msgid ":ref:`changelog_2_2_4`" +msgid ":ref:`changelog_2_3_2`" msgstr "" #: ../../build/doc/release_notes.rst:42 -msgid ":ref:`changelog_2_2_3`" +msgid ":ref:`changelog_2_3_1`" msgstr "" #: ../../build/doc/release_notes.rst:43 -msgid ":ref:`changelog_2_2_2`" +msgid ":ref:`changelog_2_3_0`" msgstr "" #: ../../build/doc/release_notes.rst:44 -msgid ":ref:`changelog_2_2_1`" +msgid ":ref:`changelog_2_2_4`" msgstr "" #: ../../build/doc/release_notes.rst:45 -msgid ":ref:`changelog_2_2_0`" +msgid ":ref:`changelog_2_2_3`" msgstr "" #: ../../build/doc/release_notes.rst:46 -msgid ":ref:`changelog_2_1_0`" +msgid ":ref:`changelog_2_2_2`" msgstr "" #: ../../build/doc/release_notes.rst:47 -msgid ":ref:`changelog_2_0_1`" +msgid ":ref:`changelog_2_2_1`" msgstr "" #: ../../build/doc/release_notes.rst:48 -msgid ":ref:`changelog_2_0_0`" +msgid ":ref:`changelog_2_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:49 +msgid ":ref:`changelog_2_1_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:50 +msgid ":ref:`changelog_2_0_1`" +msgstr "" + +#: ../../build/doc/release_notes.rst:51 +msgid ":ref:`changelog_2_0_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:52 msgid ":ref:`changelog_1_x`" msgstr "" -#: ../../build/doc/release_notes.rst:56 +#: ../../build/doc/release_notes.rst:60 +msgid "pgRouting 3.2.0 Release Notes" +msgstr "" + +#: ../../build/doc/release_notes.rst:63 +msgid "New experimental functions" +msgstr "" + +#: ../../build/doc/release_notes.rst:64 +msgid "pgr_depthFirstSearch" +msgstr "" + +#: ../../build/doc/release_notes.rst:65 +msgid "pgr_dijkstraNear(One to Many)" +msgstr "" + +#: ../../build/doc/release_notes.rst:66 +msgid "pgr_dijkstraNear(Many to One)" +msgstr "" + +#: ../../build/doc/release_notes.rst:67 +msgid "pgr_dijkstraNear(Many to Many)" +msgstr "" + +#: ../../build/doc/release_notes.rst:68 +msgid "pgr_dijkstraNear(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:69 +msgid "pgr_dijkstraNearCost(One to Many)" +msgstr "" + +#: ../../build/doc/release_notes.rst:70 +msgid "pgr_dijkstraNearCost(Many to One)" +msgstr "" + +#: ../../build/doc/release_notes.rst:71 +msgid "pgr_dijkstraNearCost(Many to Many)" +msgstr "" + +#: ../../build/doc/release_notes.rst:72 +msgid "pgr_dijkstraNearCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:73 +msgid "pgr_isPlanar" +msgstr "" + +#: ../../build/doc/release_notes.rst:74 +msgid "pgr_makeConnected" +msgstr "" + +#: ../../build/doc/release_notes.rst:75 +msgid "pgr_sequentialVertexColoring" +msgstr "" + +#: ../../build/doc/release_notes.rst:80 +msgid "pgRouting 3.1.1 Release Notes" +msgstr "" + +#: ../../build/doc/release_notes.rst:82 +msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.1 `_ on Github." +msgstr "" + +#: ../../build/doc/release_notes.rst:86 +#: ../../build/doc/release_notes.rst:128 +#: ../../build/doc/release_notes.rst:140 +msgid "Issues fixes" +msgstr "" + +#: ../../build/doc/release_notes.rst:87 +#: ../../build/doc/release_notes.rst:115 +msgid "`#1616 `__: Path evaluation on C++ not updated before the results go back to C" +msgstr "" + +#: ../../build/doc/release_notes.rst:88 +#: ../../build/doc/release_notes.rst:116 +msgid "`#1300 `__: pgr_chinesePostman crash on test data" +msgstr "" + +#: ../../build/doc/release_notes.rst:94 msgid "pgRouting 3.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:59 +#: ../../build/doc/release_notes.rst:96 +msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.0 `_ on Github." +msgstr "" + +#: ../../build/doc/release_notes.rst:100 msgid "New proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:60 +#: ../../build/doc/release_notes.rst:101 msgid "pgr_dijkstra(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:61 +#: ../../build/doc/release_notes.rst:102 msgid "pgr_dijkstraCost(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:64 +#: ../../build/doc/release_notes.rst:105 msgid "Build changes" msgstr "" -#: ../../build/doc/release_notes.rst:65 +#: ../../build/doc/release_notes.rst:106 msgid "Minimal requirement for Sphinx: version 1.8" msgstr "" -#: ../../build/doc/release_notes.rst:70 -msgid "pgRouting 3.0.2 Release Notes" +#: ../../build/doc/release_notes.rst:111 +msgid "pgRouting 3.0.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:72 -msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.2 `_ on Github." +#: ../../build/doc/release_notes.rst:114 +msgid "Backport issues fixes" msgstr "" -#: ../../build/doc/release_notes.rst:76 -#: ../../build/doc/release_notes.rst:88 -msgid "Issues fixes" +#: ../../build/doc/release_notes.rst:122 +msgid "pgRouting 3.0.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:77 +#: ../../build/doc/release_notes.rst:124 +msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.2 `_ on Github." +msgstr "" + +#: ../../build/doc/release_notes.rst:129 msgid "`#1378 `__: Visual Studio build failing" msgstr "" -#: ../../build/doc/release_notes.rst:82 +#: ../../build/doc/release_notes.rst:134 msgid "pgRouting 3.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:84 +#: ../../build/doc/release_notes.rst:136 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:89 +#: ../../build/doc/release_notes.rst:141 msgid "`#232 `__: Honor client cancel requests in C /C++ code" msgstr "" -#: ../../build/doc/release_notes.rst:94 +#: ../../build/doc/release_notes.rst:146 msgid "pgRouting 3.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:96 +#: ../../build/doc/release_notes.rst:148 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:100 +#: ../../build/doc/release_notes.rst:152 msgid "Fixed Issues" msgstr "" -#: ../../build/doc/release_notes.rst:101 +#: ../../build/doc/release_notes.rst:153 msgid "`#1153 `__: Renamed pgr_eucledianTSP to pgr_TSPeuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:102 +#: ../../build/doc/release_notes.rst:154 msgid "`#1188 `__: Removed CGAL dependency" msgstr "" -#: ../../build/doc/release_notes.rst:103 +#: ../../build/doc/release_notes.rst:155 msgid "`#1002 `__: Fixed contraction issues:" msgstr "" -#: ../../build/doc/release_notes.rst:105 +#: ../../build/doc/release_notes.rst:157 msgid "`#1004 `__: Contracts when forbidden vertices do not belong to graph" msgstr "" -#: ../../build/doc/release_notes.rst:106 +#: ../../build/doc/release_notes.rst:158 msgid "`#1005 `__: Intermideate results eliminated" msgstr "" -#: ../../build/doc/release_notes.rst:107 +#: ../../build/doc/release_notes.rst:159 msgid "`#1006 `__: No loss of information" msgstr "" -#: ../../build/doc/release_notes.rst:110 +#: ../../build/doc/release_notes.rst:162 msgid "New functions" msgstr "" -#: ../../build/doc/release_notes.rst:111 +#: ../../build/doc/release_notes.rst:163 msgid "Kruskal family" msgstr "" -#: ../../build/doc/release_notes.rst:113 +#: ../../build/doc/release_notes.rst:165 msgid "pgr_kruskal" msgstr "" -#: ../../build/doc/release_notes.rst:114 +#: ../../build/doc/release_notes.rst:166 msgid "pgr_kruskalBFS" msgstr "" -#: ../../build/doc/release_notes.rst:115 +#: ../../build/doc/release_notes.rst:167 msgid "pgr_kruskalDD" msgstr "" -#: ../../build/doc/release_notes.rst:116 +#: ../../build/doc/release_notes.rst:168 msgid "pgr_kruskalDFS" msgstr "" -#: ../../build/doc/release_notes.rst:118 +#: ../../build/doc/release_notes.rst:170 msgid "Prim family" msgstr "" -#: ../../build/doc/release_notes.rst:120 +#: ../../build/doc/release_notes.rst:172 msgid "pgr_prim" msgstr "" -#: ../../build/doc/release_notes.rst:121 +#: ../../build/doc/release_notes.rst:173 msgid "pgr_primDD" msgstr "" -#: ../../build/doc/release_notes.rst:122 +#: ../../build/doc/release_notes.rst:174 msgid "pgr_primDFS" msgstr "" -#: ../../build/doc/release_notes.rst:123 +#: ../../build/doc/release_notes.rst:175 msgid "pgr_primBFS" msgstr "" -#: ../../build/doc/release_notes.rst:127 +#: ../../build/doc/release_notes.rst:179 msgid "Proposed moved to official on pgRouting" msgstr "" -#: ../../build/doc/release_notes.rst:128 +#: ../../build/doc/release_notes.rst:180 msgid "aStar Family" msgstr "" -#: ../../build/doc/release_notes.rst:130 +#: ../../build/doc/release_notes.rst:182 msgid "pgr_aStar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:131 +#: ../../build/doc/release_notes.rst:183 msgid "pgr_aStar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:132 +#: ../../build/doc/release_notes.rst:184 msgid "pgr_aStar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:133 +#: ../../build/doc/release_notes.rst:185 msgid "pgr_aStarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:134 +#: ../../build/doc/release_notes.rst:186 msgid "pgr_aStarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:135 +#: ../../build/doc/release_notes.rst:187 msgid "pgr_aStarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:136 +#: ../../build/doc/release_notes.rst:188 msgid "pgr_aStarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:137 +#: ../../build/doc/release_notes.rst:189 msgid "pgr_aStarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:138 +#: ../../build/doc/release_notes.rst:190 msgid "pgr_aStarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:139 +#: ../../build/doc/release_notes.rst:191 msgid "pgr_aStarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:140 +#: ../../build/doc/release_notes.rst:192 msgid "pgr_aStarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:142 +#: ../../build/doc/release_notes.rst:194 msgid "bdAstar Family" msgstr "" -#: ../../build/doc/release_notes.rst:144 -#: ../../build/doc/release_notes.rst:471 +#: ../../build/doc/release_notes.rst:196 +#: ../../build/doc/release_notes.rst:523 msgid "pgr_bdAstar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:145 -#: ../../build/doc/release_notes.rst:472 +#: ../../build/doc/release_notes.rst:197 +#: ../../build/doc/release_notes.rst:524 msgid "pgr_bdAstar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:146 -#: ../../build/doc/release_notes.rst:473 +#: ../../build/doc/release_notes.rst:198 +#: ../../build/doc/release_notes.rst:525 msgid "pgr_bdAstar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:147 -#: ../../build/doc/release_notes.rst:474 +#: ../../build/doc/release_notes.rst:199 +#: ../../build/doc/release_notes.rst:526 msgid "pgr_bdAstarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:148 -#: ../../build/doc/release_notes.rst:475 +#: ../../build/doc/release_notes.rst:200 +#: ../../build/doc/release_notes.rst:527 msgid "pgr_bdAstarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:149 -#: ../../build/doc/release_notes.rst:476 +#: ../../build/doc/release_notes.rst:201 +#: ../../build/doc/release_notes.rst:528 msgid "pgr_bdAstarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:150 -#: ../../build/doc/release_notes.rst:477 +#: ../../build/doc/release_notes.rst:202 +#: ../../build/doc/release_notes.rst:529 msgid "pgr_bdAstarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:151 +#: ../../build/doc/release_notes.rst:203 msgid "pgr_bdAstarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:152 +#: ../../build/doc/release_notes.rst:204 msgid "pgr_bdAstarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:153 +#: ../../build/doc/release_notes.rst:205 msgid "pgr_bdAstarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:154 +#: ../../build/doc/release_notes.rst:206 msgid "pgr_bdAstarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:156 +#: ../../build/doc/release_notes.rst:208 msgid "bdDijkstra Family" msgstr "" -#: ../../build/doc/release_notes.rst:158 -#: ../../build/doc/release_notes.rst:479 +#: ../../build/doc/release_notes.rst:210 +#: ../../build/doc/release_notes.rst:531 msgid "pgr_bdDijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:159 -#: ../../build/doc/release_notes.rst:480 +#: ../../build/doc/release_notes.rst:211 +#: ../../build/doc/release_notes.rst:532 msgid "pgr_bdDijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:160 -#: ../../build/doc/release_notes.rst:481 +#: ../../build/doc/release_notes.rst:212 +#: ../../build/doc/release_notes.rst:533 msgid "pgr_bdDijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:161 -#: ../../build/doc/release_notes.rst:482 +#: ../../build/doc/release_notes.rst:213 +#: ../../build/doc/release_notes.rst:534 msgid "pgr_bdDijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:162 -#: ../../build/doc/release_notes.rst:483 +#: ../../build/doc/release_notes.rst:214 +#: ../../build/doc/release_notes.rst:535 msgid "pgr_bdDijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:163 -#: ../../build/doc/release_notes.rst:484 +#: ../../build/doc/release_notes.rst:215 +#: ../../build/doc/release_notes.rst:536 msgid "pgr_bdDijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:164 -#: ../../build/doc/release_notes.rst:485 +#: ../../build/doc/release_notes.rst:216 +#: ../../build/doc/release_notes.rst:537 msgid "pgr_bdDijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:165 +#: ../../build/doc/release_notes.rst:217 msgid "pgr_bdDijkstraCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:166 +#: ../../build/doc/release_notes.rst:218 msgid "pgr_bdDijkstraCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:167 +#: ../../build/doc/release_notes.rst:219 msgid "pgr_bdDijkstraCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:168 +#: ../../build/doc/release_notes.rst:220 msgid "pgr_bdDijkstraCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:170 +#: ../../build/doc/release_notes.rst:222 msgid "Flow Family" msgstr "" -#: ../../build/doc/release_notes.rst:172 +#: ../../build/doc/release_notes.rst:224 msgid "pgr_pushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:173 +#: ../../build/doc/release_notes.rst:225 msgid "pgr_pushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:174 +#: ../../build/doc/release_notes.rst:226 msgid "pgr_pushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:175 +#: ../../build/doc/release_notes.rst:227 msgid "pgr_pushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:176 +#: ../../build/doc/release_notes.rst:228 msgid "pgr_edmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:177 +#: ../../build/doc/release_notes.rst:229 msgid "pgr_edmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:178 +#: ../../build/doc/release_notes.rst:230 msgid "pgr_edmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:179 +#: ../../build/doc/release_notes.rst:231 msgid "pgr_edmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:180 +#: ../../build/doc/release_notes.rst:232 msgid "pgr_boykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:181 +#: ../../build/doc/release_notes.rst:233 msgid "pgr_boykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:182 +#: ../../build/doc/release_notes.rst:234 msgid "pgr_boykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:183 +#: ../../build/doc/release_notes.rst:235 msgid "pgr_boykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:184 +#: ../../build/doc/release_notes.rst:236 msgid "pgr_maxCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:185 -#: ../../build/doc/release_notes.rst:555 +#: ../../build/doc/release_notes.rst:237 +#: ../../build/doc/release_notes.rst:607 msgid "pgr_maxFlow" msgstr "" -#: ../../build/doc/release_notes.rst:186 -#: ../../build/doc/release_notes.rst:645 +#: ../../build/doc/release_notes.rst:238 +#: ../../build/doc/release_notes.rst:697 msgid "pgr_edgeDisjointPaths(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:187 -#: ../../build/doc/release_notes.rst:646 +#: ../../build/doc/release_notes.rst:239 +#: ../../build/doc/release_notes.rst:698 msgid "pgr_edgeDisjointPaths(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:188 -#: ../../build/doc/release_notes.rst:647 +#: ../../build/doc/release_notes.rst:240 +#: ../../build/doc/release_notes.rst:699 msgid "pgr_edgeDisjointPaths(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:189 -#: ../../build/doc/release_notes.rst:648 +#: ../../build/doc/release_notes.rst:241 +#: ../../build/doc/release_notes.rst:700 msgid "pgr_edgeDisjointPaths(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:191 +#: ../../build/doc/release_notes.rst:243 msgid "Components family" msgstr "" -#: ../../build/doc/release_notes.rst:193 -#: ../../build/doc/release_notes.rst:489 +#: ../../build/doc/release_notes.rst:245 +#: ../../build/doc/release_notes.rst:541 msgid "pgr_connectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:194 -#: ../../build/doc/release_notes.rst:490 +#: ../../build/doc/release_notes.rst:246 +#: ../../build/doc/release_notes.rst:542 msgid "pgr_strongComponents" msgstr "" -#: ../../build/doc/release_notes.rst:195 -#: ../../build/doc/release_notes.rst:491 +#: ../../build/doc/release_notes.rst:247 +#: ../../build/doc/release_notes.rst:543 msgid "pgr_biconnectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:196 -#: ../../build/doc/release_notes.rst:492 +#: ../../build/doc/release_notes.rst:248 +#: ../../build/doc/release_notes.rst:544 msgid "pgr_articulationPoints" msgstr "" -#: ../../build/doc/release_notes.rst:197 -#: ../../build/doc/release_notes.rst:493 +#: ../../build/doc/release_notes.rst:249 +#: ../../build/doc/release_notes.rst:545 msgid "pgr_bridges" msgstr "" -#: ../../build/doc/release_notes.rst:199 +#: ../../build/doc/release_notes.rst:251 msgid "Contraction:" msgstr "" -#: ../../build/doc/release_notes.rst:201 +#: ../../build/doc/release_notes.rst:253 msgid "Removed unnecessary column seq" msgstr "" -#: ../../build/doc/release_notes.rst:202 -#: ../../build/doc/release_notes.rst:589 -#: ../../build/doc/release_notes.rst:605 -#: ../../build/doc/release_notes.rst:675 -#: ../../build/doc/release_notes.rst:688 -#: ../../build/doc/release_notes.rst:699 -#: ../../build/doc/release_notes.rst:711 -#: ../../build/doc/release_notes.rst:830 -#: ../../build/doc/release_notes.rst:861 +#: ../../build/doc/release_notes.rst:254 +#: ../../build/doc/release_notes.rst:641 +#: ../../build/doc/release_notes.rst:657 +#: ../../build/doc/release_notes.rst:727 +#: ../../build/doc/release_notes.rst:740 +#: ../../build/doc/release_notes.rst:751 +#: ../../build/doc/release_notes.rst:763 +#: ../../build/doc/release_notes.rst:882 +#: ../../build/doc/release_notes.rst:913 msgid "Bug Fixes" msgstr "" -#: ../../build/doc/release_notes.rst:206 +#: ../../build/doc/release_notes.rst:258 msgid "New Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:207 +#: ../../build/doc/release_notes.rst:259 msgid "pgr_maxFlowMinCost" msgstr "" -#: ../../build/doc/release_notes.rst:208 +#: ../../build/doc/release_notes.rst:260 msgid "pgr_maxFlowMinCost_Cost" msgstr "" -#: ../../build/doc/release_notes.rst:209 +#: ../../build/doc/release_notes.rst:261 msgid "pgr_extractVertices" msgstr "" -#: ../../build/doc/release_notes.rst:210 +#: ../../build/doc/release_notes.rst:262 msgid "pgr_turnRestrictedPath" msgstr "" -#: ../../build/doc/release_notes.rst:211 +#: ../../build/doc/release_notes.rst:263 msgid "pgr_stoerWagner" msgstr "" -#: ../../build/doc/release_notes.rst:212 +#: ../../build/doc/release_notes.rst:264 msgid "pgr_dagShortestpath" msgstr "" -#: ../../build/doc/release_notes.rst:213 +#: ../../build/doc/release_notes.rst:265 msgid "pgr_topologicalSort" msgstr "" -#: ../../build/doc/release_notes.rst:214 +#: ../../build/doc/release_notes.rst:266 msgid "pgr_transitiveClosure" msgstr "" -#: ../../build/doc/release_notes.rst:215 +#: ../../build/doc/release_notes.rst:267 msgid "VRP category" msgstr "" -#: ../../build/doc/release_notes.rst:217 +#: ../../build/doc/release_notes.rst:269 msgid "pgr_pickDeliverEuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:218 +#: ../../build/doc/release_notes.rst:270 msgid "pgr_pickDeliver" msgstr "" -#: ../../build/doc/release_notes.rst:220 +#: ../../build/doc/release_notes.rst:272 msgid "Chinese Postman family" msgstr "" -#: ../../build/doc/release_notes.rst:222 +#: ../../build/doc/release_notes.rst:274 msgid "pgr_chinesePostman" msgstr "" -#: ../../build/doc/release_notes.rst:223 +#: ../../build/doc/release_notes.rst:275 msgid "pgr_chinesePostmanCost" msgstr "" -#: ../../build/doc/release_notes.rst:225 +#: ../../build/doc/release_notes.rst:277 msgid "Breadth First Search family" msgstr "" -#: ../../build/doc/release_notes.rst:227 +#: ../../build/doc/release_notes.rst:279 msgid "pgr_breadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:228 +#: ../../build/doc/release_notes.rst:280 msgid "pgr_binaryBreadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:230 +#: ../../build/doc/release_notes.rst:282 msgid "Bellman Ford family" msgstr "" -#: ../../build/doc/release_notes.rst:232 +#: ../../build/doc/release_notes.rst:284 msgid "pgr_bellmanFord" msgstr "" -#: ../../build/doc/release_notes.rst:233 +#: ../../build/doc/release_notes.rst:285 msgid "pgr_edwardMoore" msgstr "" -#: ../../build/doc/release_notes.rst:236 +#: ../../build/doc/release_notes.rst:288 msgid "Moved to legacy" msgstr "" -#: ../../build/doc/release_notes.rst:237 +#: ../../build/doc/release_notes.rst:289 msgid "Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:239 +#: ../../build/doc/release_notes.rst:291 msgid "pgr_labelGraph - Use the components family of functions instead." msgstr "" -#: ../../build/doc/release_notes.rst:240 +#: ../../build/doc/release_notes.rst:292 msgid "Max flow - functions were renamed on v2.5.0" msgstr "" -#: ../../build/doc/release_notes.rst:242 +#: ../../build/doc/release_notes.rst:294 msgid "pgr_maxFlowPushRelabel" msgstr "" -#: ../../build/doc/release_notes.rst:243 +#: ../../build/doc/release_notes.rst:295 msgid "pgr_maxFlowBoykovKolmogorov" msgstr "" -#: ../../build/doc/release_notes.rst:244 +#: ../../build/doc/release_notes.rst:296 msgid "pgr_maxFlowEdmondsKarp" msgstr "" -#: ../../build/doc/release_notes.rst:245 +#: ../../build/doc/release_notes.rst:297 msgid "pgr_maximumcardinalitymatching" msgstr "" -#: ../../build/doc/release_notes.rst:247 +#: ../../build/doc/release_notes.rst:299 msgid "VRP" msgstr "" -#: ../../build/doc/release_notes.rst:249 +#: ../../build/doc/release_notes.rst:301 msgid "pgr_gsoc_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:251 +#: ../../build/doc/release_notes.rst:303 msgid "TSP old signatures" msgstr "" -#: ../../build/doc/release_notes.rst:252 +#: ../../build/doc/release_notes.rst:304 msgid "pgr_pointsAsPolygon" msgstr "" -#: ../../build/doc/release_notes.rst:253 +#: ../../build/doc/release_notes.rst:305 msgid "pgr_alphaShape old signature" msgstr "" -#: ../../build/doc/release_notes.rst:259 +#: ../../build/doc/release_notes.rst:311 msgid "pgRouting 2.6.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:261 +#: ../../build/doc/release_notes.rst:313 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:264 -#: ../../build/doc/release_notes.rst:278 -#: ../../build/doc/release_notes.rst:336 -#: ../../build/doc/release_notes.rst:365 -#: ../../build/doc/release_notes.rst:418 -#: ../../build/doc/release_notes.rst:429 -#: ../../build/doc/release_notes.rst:441 -#: ../../build/doc/release_notes.rst:523 -#: ../../build/doc/release_notes.rst:537 -#: ../../build/doc/release_notes.rst:574 -#: ../../build/doc/release_notes.rst:928 -#: ../../build/doc/release_notes.rst:935 -#: ../../build/doc/release_notes.rst:956 -#: ../../build/doc/release_notes.rst:963 +#: ../../build/doc/release_notes.rst:316 +#: ../../build/doc/release_notes.rst:330 +#: ../../build/doc/release_notes.rst:388 +#: ../../build/doc/release_notes.rst:417 +#: ../../build/doc/release_notes.rst:470 +#: ../../build/doc/release_notes.rst:481 +#: ../../build/doc/release_notes.rst:493 +#: ../../build/doc/release_notes.rst:575 +#: ../../build/doc/release_notes.rst:589 +#: ../../build/doc/release_notes.rst:626 +#: ../../build/doc/release_notes.rst:980 +#: ../../build/doc/release_notes.rst:987 +#: ../../build/doc/release_notes.rst:1008 +#: ../../build/doc/release_notes.rst:1015 msgid "Bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:265 +#: ../../build/doc/release_notes.rst:317 msgid "`#1219 `__ Implicit cast for via_path integer to text" msgstr "" -#: ../../build/doc/release_notes.rst:266 +#: ../../build/doc/release_notes.rst:318 msgid "`#1193 `__ Fixed pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" msgstr "" -#: ../../build/doc/release_notes.rst:267 +#: ../../build/doc/release_notes.rst:319 msgid "`#1185 `__ Improve FindPostgreSQL.cmake" msgstr "" -#: ../../build/doc/release_notes.rst:273 +#: ../../build/doc/release_notes.rst:325 msgid "pgRouting 2.6.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:275 +#: ../../build/doc/release_notes.rst:327 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:279 +#: ../../build/doc/release_notes.rst:331 msgid "`#1152 `__ Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:280 +#: ../../build/doc/release_notes.rst:332 msgid "`#1098 `__ Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:281 +#: ../../build/doc/release_notes.rst:333 msgid "`#1165 `__ Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:286 +#: ../../build/doc/release_notes.rst:338 msgid "pgRouting 2.6.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:288 +#: ../../build/doc/release_notes.rst:340 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:290 -#: ../../build/doc/release_notes.rst:377 +#: ../../build/doc/release_notes.rst:342 +#: ../../build/doc/release_notes.rst:429 msgid "Fixes server crash on several functions." msgstr "" -#: ../../build/doc/release_notes.rst:292 -#: ../../build/doc/release_notes.rst:379 -#: ../../build/doc/release_notes.rst:737 +#: ../../build/doc/release_notes.rst:344 +#: ../../build/doc/release_notes.rst:431 +#: ../../build/doc/release_notes.rst:789 msgid "pgr_floydWarshall" msgstr "" -#: ../../build/doc/release_notes.rst:293 -#: ../../build/doc/release_notes.rst:380 +#: ../../build/doc/release_notes.rst:345 +#: ../../build/doc/release_notes.rst:432 msgid "pgr_johnson" msgstr "" -#: ../../build/doc/release_notes.rst:294 -#: ../../build/doc/release_notes.rst:381 +#: ../../build/doc/release_notes.rst:346 +#: ../../build/doc/release_notes.rst:433 msgid "pgr_astar" msgstr "" -#: ../../build/doc/release_notes.rst:295 -#: ../../build/doc/release_notes.rst:382 +#: ../../build/doc/release_notes.rst:347 +#: ../../build/doc/release_notes.rst:434 msgid "pgr_bdAstar" msgstr "" -#: ../../build/doc/release_notes.rst:296 -#: ../../build/doc/release_notes.rst:383 +#: ../../build/doc/release_notes.rst:348 +#: ../../build/doc/release_notes.rst:435 msgid "pgr_bdDijstra" msgstr "" -#: ../../build/doc/release_notes.rst:297 -#: ../../build/doc/release_notes.rst:384 +#: ../../build/doc/release_notes.rst:349 +#: ../../build/doc/release_notes.rst:436 msgid "pgr_alphashape" msgstr "" -#: ../../build/doc/release_notes.rst:298 -#: ../../build/doc/release_notes.rst:385 -#: ../../build/doc/release_notes.rst:630 +#: ../../build/doc/release_notes.rst:350 +#: ../../build/doc/release_notes.rst:437 +#: ../../build/doc/release_notes.rst:682 msgid "pgr_dijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:299 -#: ../../build/doc/release_notes.rst:386 +#: ../../build/doc/release_notes.rst:351 +#: ../../build/doc/release_notes.rst:438 msgid "pgr_dijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:300 -#: ../../build/doc/release_notes.rst:387 +#: ../../build/doc/release_notes.rst:352 +#: ../../build/doc/release_notes.rst:439 msgid "pgr_dijkstraCost" msgstr "" -#: ../../build/doc/release_notes.rst:301 -#: ../../build/doc/release_notes.rst:388 +#: ../../build/doc/release_notes.rst:353 +#: ../../build/doc/release_notes.rst:440 msgid "pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:302 -#: ../../build/doc/release_notes.rst:389 +#: ../../build/doc/release_notes.rst:354 +#: ../../build/doc/release_notes.rst:441 msgid "pgr_KSP" msgstr "" -#: ../../build/doc/release_notes.rst:303 -#: ../../build/doc/release_notes.rst:390 +#: ../../build/doc/release_notes.rst:355 +#: ../../build/doc/release_notes.rst:442 msgid "pgr_dijkstraVia (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:304 -#: ../../build/doc/release_notes.rst:391 +#: ../../build/doc/release_notes.rst:356 +#: ../../build/doc/release_notes.rst:443 msgid "pgr_boykovKolmogorov (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:305 -#: ../../build/doc/release_notes.rst:392 +#: ../../build/doc/release_notes.rst:357 +#: ../../build/doc/release_notes.rst:444 msgid "pgr_edgeDisjointPaths (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:306 -#: ../../build/doc/release_notes.rst:393 +#: ../../build/doc/release_notes.rst:358 +#: ../../build/doc/release_notes.rst:445 msgid "pgr_edmondsKarp (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:307 -#: ../../build/doc/release_notes.rst:394 +#: ../../build/doc/release_notes.rst:359 +#: ../../build/doc/release_notes.rst:446 msgid "pgr_maxCardinalityMatch (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:308 -#: ../../build/doc/release_notes.rst:395 +#: ../../build/doc/release_notes.rst:360 +#: ../../build/doc/release_notes.rst:447 msgid "pgr_maxFlow (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:309 -#: ../../build/doc/release_notes.rst:396 +#: ../../build/doc/release_notes.rst:361 +#: ../../build/doc/release_notes.rst:448 msgid "pgr_withPoints (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:310 -#: ../../build/doc/release_notes.rst:397 +#: ../../build/doc/release_notes.rst:362 +#: ../../build/doc/release_notes.rst:449 msgid "pgr_withPointsCost (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:311 -#: ../../build/doc/release_notes.rst:398 +#: ../../build/doc/release_notes.rst:363 +#: ../../build/doc/release_notes.rst:450 msgid "pgr_withPointsKSP (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:312 -#: ../../build/doc/release_notes.rst:399 +#: ../../build/doc/release_notes.rst:364 +#: ../../build/doc/release_notes.rst:451 msgid "pgr_withPointsDD (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:313 -#: ../../build/doc/release_notes.rst:400 +#: ../../build/doc/release_notes.rst:365 +#: ../../build/doc/release_notes.rst:452 msgid "pgr_withPointsCostMatrix (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:314 -#: ../../build/doc/release_notes.rst:401 +#: ../../build/doc/release_notes.rst:366 +#: ../../build/doc/release_notes.rst:453 msgid "pgr_contractGraph (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:315 -#: ../../build/doc/release_notes.rst:402 +#: ../../build/doc/release_notes.rst:367 +#: ../../build/doc/release_notes.rst:454 msgid "pgr_pushRelabel (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:316 -#: ../../build/doc/release_notes.rst:403 +#: ../../build/doc/release_notes.rst:368 +#: ../../build/doc/release_notes.rst:455 msgid "pgr_vrpOneDepot (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:317 -#: ../../build/doc/release_notes.rst:404 +#: ../../build/doc/release_notes.rst:369 +#: ../../build/doc/release_notes.rst:456 msgid "pgr_gsoc_vrppdtw (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:318 -#: ../../build/doc/release_notes.rst:405 +#: ../../build/doc/release_notes.rst:370 +#: ../../build/doc/release_notes.rst:457 msgid "Fixes for deprecated functions where also applied but not tested" msgstr "" -#: ../../build/doc/release_notes.rst:320 -#: ../../build/doc/release_notes.rst:407 +#: ../../build/doc/release_notes.rst:372 +#: ../../build/doc/release_notes.rst:459 msgid "Removed compilation warning for g++8" msgstr "" -#: ../../build/doc/release_notes.rst:321 -#: ../../build/doc/release_notes.rst:408 +#: ../../build/doc/release_notes.rst:373 +#: ../../build/doc/release_notes.rst:460 msgid "Fixed a fallthrugh on Astar and bdAstar." msgstr "" -#: ../../build/doc/release_notes.rst:326 +#: ../../build/doc/release_notes.rst:378 msgid "pgRouting 2.6.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:328 +#: ../../build/doc/release_notes.rst:380 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:332 +#: ../../build/doc/release_notes.rst:384 msgid "New fexperimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:333 -#: ../../build/doc/release_notes.rst:488 +#: ../../build/doc/release_notes.rst:385 +#: ../../build/doc/release_notes.rst:540 msgid "pgr_lineGraphFull" msgstr "" -#: ../../build/doc/release_notes.rst:337 +#: ../../build/doc/release_notes.rst:389 msgid "Fix pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean[,text])" msgstr "" -#: ../../build/doc/release_notes.rst:339 +#: ../../build/doc/release_notes.rst:391 msgid "without restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:341 +#: ../../build/doc/release_notes.rst:393 msgid "calls pgr_dijkstra when both end points have a fraction IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:342 +#: ../../build/doc/release_notes.rst:394 msgid "calls pgr_withPoints when at least one fraction NOT IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:344 +#: ../../build/doc/release_notes.rst:396 msgid "with restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:346 +#: ../../build/doc/release_notes.rst:398 msgid "calls original trsp code" msgstr "" -#: ../../build/doc/release_notes.rst:349 +#: ../../build/doc/release_notes.rst:401 msgid "Internal code" msgstr "" -#: ../../build/doc/release_notes.rst:350 +#: ../../build/doc/release_notes.rst:402 msgid "Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [, text])" msgstr "" -#: ../../build/doc/release_notes.rst:352 +#: ../../build/doc/release_notes.rst:404 msgid "Removed the use of pointers" msgstr "" -#: ../../build/doc/release_notes.rst:353 +#: ../../build/doc/release_notes.rst:405 msgid "Internal code can accept BIGINT" msgstr "" -#: ../../build/doc/release_notes.rst:355 +#: ../../build/doc/release_notes.rst:407 msgid "Cleaned the internal code of withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:360 +#: ../../build/doc/release_notes.rst:412 msgid "pgRouting 2.5.5 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:362 +#: ../../build/doc/release_notes.rst:414 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.5 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:366 +#: ../../build/doc/release_notes.rst:418 msgid "Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:367 +#: ../../build/doc/release_notes.rst:419 msgid "Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:368 +#: ../../build/doc/release_notes.rst:420 msgid "Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:373 +#: ../../build/doc/release_notes.rst:425 msgid "pgRouting 2.5.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:375 +#: ../../build/doc/release_notes.rst:427 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.4 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:413 +#: ../../build/doc/release_notes.rst:465 msgid "pgRouting 2.5.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:415 +#: ../../build/doc/release_notes.rst:467 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:419 +#: ../../build/doc/release_notes.rst:471 msgid "Fix for postgresql 11: Removed a compilation error when compiling with postgreSQL" msgstr "" -#: ../../build/doc/release_notes.rst:424 +#: ../../build/doc/release_notes.rst:476 msgid "pgRouting 2.5.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:426 +#: ../../build/doc/release_notes.rst:478 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:430 +#: ../../build/doc/release_notes.rst:482 msgid "Fix for postgresql 10.1: Removed a compiler condition" msgstr "" -#: ../../build/doc/release_notes.rst:436 +#: ../../build/doc/release_notes.rst:488 msgid "pgRouting 2.5.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:438 +#: ../../build/doc/release_notes.rst:490 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:442 +#: ../../build/doc/release_notes.rst:494 msgid "Fixed prerequisite minimum version of: cmake" msgstr "" -#: ../../build/doc/release_notes.rst:448 +#: ../../build/doc/release_notes.rst:500 msgid "pgRouting 2.5.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:450 +#: ../../build/doc/release_notes.rst:502 msgid "To see the issues closed by this release see the `Git closed issues for 2.5.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:454 +#: ../../build/doc/release_notes.rst:506 msgid "enhancement:" msgstr "" -#: ../../build/doc/release_notes.rst:455 +#: ../../build/doc/release_notes.rst:507 msgid "pgr_version is now on SQL language" msgstr "" -#: ../../build/doc/release_notes.rst:458 +#: ../../build/doc/release_notes.rst:510 msgid "Breaking change on:" msgstr "" -#: ../../build/doc/release_notes.rst:459 +#: ../../build/doc/release_notes.rst:511 msgid "pgr_edgeDisjointPaths:" msgstr "" -#: ../../build/doc/release_notes.rst:461 +#: ../../build/doc/release_notes.rst:513 msgid "Added path_id, cost and agg_cost columns on the result" msgstr "" -#: ../../build/doc/release_notes.rst:462 +#: ../../build/doc/release_notes.rst:514 msgid "Parameter names changed" msgstr "" -#: ../../build/doc/release_notes.rst:463 +#: ../../build/doc/release_notes.rst:515 msgid "The many version results are the union of the one to one version" msgstr "" -#: ../../build/doc/release_notes.rst:466 +#: ../../build/doc/release_notes.rst:518 msgid "New Signatures:" msgstr "" -#: ../../build/doc/release_notes.rst:467 +#: ../../build/doc/release_notes.rst:519 msgid "pgr_bdAstar(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:470 -#: ../../build/doc/release_notes.rst:629 +#: ../../build/doc/release_notes.rst:522 +#: ../../build/doc/release_notes.rst:681 msgid "New Proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:478 +#: ../../build/doc/release_notes.rst:530 msgid "pgr_bdAstarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:486 +#: ../../build/doc/release_notes.rst:538 msgid "pgr_bdDijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:487 +#: ../../build/doc/release_notes.rst:539 msgid "pgr_lineGraph" msgstr "" -#: ../../build/doc/release_notes.rst:496 -#: ../../build/doc/release_notes.rst:566 -#: ../../build/doc/release_notes.rst:653 +#: ../../build/doc/release_notes.rst:548 +#: ../../build/doc/release_notes.rst:618 +#: ../../build/doc/release_notes.rst:705 msgid "Deprecated Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:497 +#: ../../build/doc/release_notes.rst:549 msgid "pgr_bdastar - use pgr_bdAstar instead" msgstr "" -#: ../../build/doc/release_notes.rst:500 +#: ../../build/doc/release_notes.rst:552 msgid "Renamed Functions" msgstr "" -#: ../../build/doc/release_notes.rst:501 +#: ../../build/doc/release_notes.rst:553 msgid "pgr_maxFlowPushRelabel - use pgr_pushRelabel instead" msgstr "" -#: ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:554 msgid "pgr_maxFlowEdmondsKarp -use pgr_edmondsKarp instead" msgstr "" -#: ../../build/doc/release_notes.rst:503 +#: ../../build/doc/release_notes.rst:555 msgid "pgr_maxFlowBoykovKolmogorov - use pgr_boykovKolmogorov instead" msgstr "" -#: ../../build/doc/release_notes.rst:504 +#: ../../build/doc/release_notes.rst:556 msgid "pgr_maximumCardinalityMatching - use pgr_maxCardinalityMatch instead" msgstr "" -#: ../../build/doc/release_notes.rst:507 +#: ../../build/doc/release_notes.rst:559 msgid "Deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:508 +#: ../../build/doc/release_notes.rst:560 msgid "pgr_pointToEdgeNode" msgstr "" -#: ../../build/doc/release_notes.rst:514 +#: ../../build/doc/release_notes.rst:566 msgid "pgRouting 2.4.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:516 +#: ../../build/doc/release_notes.rst:568 msgid "To see the issues closed by this release see the `Git closed milestone for 2.4.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:519 +#: ../../build/doc/release_notes.rst:571 msgid "Improvement" msgstr "" -#: ../../build/doc/release_notes.rst:520 +#: ../../build/doc/release_notes.rst:572 msgid "Works for postgreSQL 10" msgstr "" -#: ../../build/doc/release_notes.rst:524 +#: ../../build/doc/release_notes.rst:576 msgid "Fixed: Unexpected error column \"cname\"" msgstr "" -#: ../../build/doc/release_notes.rst:525 +#: ../../build/doc/release_notes.rst:577 msgid "Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" msgstr "" -#: ../../build/doc/release_notes.rst:532 +#: ../../build/doc/release_notes.rst:584 msgid "pgRouting 2.4.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:534 +#: ../../build/doc/release_notes.rst:586 msgid "To see the issues closed by this release see the `Git closed milestone for 2.4.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:538 +#: ../../build/doc/release_notes.rst:590 msgid "Fixed compiling error on macOS" msgstr "" -#: ../../build/doc/release_notes.rst:539 +#: ../../build/doc/release_notes.rst:591 msgid "Condition error on pgr_withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:544 +#: ../../build/doc/release_notes.rst:596 msgid "pgRouting 2.4.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:546 +#: ../../build/doc/release_notes.rst:598 msgid "To see the issues closed by this release see the `Git closed issues for 2.4.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:549 -#: ../../build/doc/release_notes.rst:619 -#: ../../build/doc/release_notes.rst:780 +#: ../../build/doc/release_notes.rst:601 +#: ../../build/doc/release_notes.rst:671 +#: ../../build/doc/release_notes.rst:832 msgid "New Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:550 +#: ../../build/doc/release_notes.rst:602 msgid "pgr_bdDijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:554 +#: ../../build/doc/release_notes.rst:606 msgid "New Proposed Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:556 +#: ../../build/doc/release_notes.rst:608 msgid "pgr_astar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:557 +#: ../../build/doc/release_notes.rst:609 msgid "pgr_astar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:558 +#: ../../build/doc/release_notes.rst:610 msgid "pgr_astar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:559 +#: ../../build/doc/release_notes.rst:611 msgid "pgr_astarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:560 +#: ../../build/doc/release_notes.rst:612 msgid "pgr_astarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:561 +#: ../../build/doc/release_notes.rst:613 msgid "pgr_astarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:562 +#: ../../build/doc/release_notes.rst:614 msgid "pgr_astarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:563 +#: ../../build/doc/release_notes.rst:615 msgid "pgr_astarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:567 +#: ../../build/doc/release_notes.rst:619 msgid "pgr_bddijkstra - use pgr_bdDijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:570 -#: ../../build/doc/release_notes.rst:659 +#: ../../build/doc/release_notes.rst:622 +#: ../../build/doc/release_notes.rst:711 msgid "Deprecated Functions" msgstr "" -#: ../../build/doc/release_notes.rst:571 +#: ../../build/doc/release_notes.rst:623 msgid "pgr_pointsToVids" msgstr "" -#: ../../build/doc/release_notes.rst:575 +#: ../../build/doc/release_notes.rst:627 msgid "Bug fixes on proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:577 +#: ../../build/doc/release_notes.rst:629 msgid "pgr_withPointsKSP: fixed ordering" msgstr "" -#: ../../build/doc/release_notes.rst:579 +#: ../../build/doc/release_notes.rst:631 msgid "TRSP original code is used with no changes on the compilation warnings" msgstr "" -#: ../../build/doc/release_notes.rst:584 +#: ../../build/doc/release_notes.rst:636 msgid "pgRouting 2.3.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:586 +#: ../../build/doc/release_notes.rst:638 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:590 +#: ../../build/doc/release_notes.rst:642 msgid "Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck." msgstr "" -#: ../../build/doc/release_notes.rst:591 +#: ../../build/doc/release_notes.rst:643 msgid "Fixed pgr_trsp:" msgstr "" -#: ../../build/doc/release_notes.rst:593 +#: ../../build/doc/release_notes.rst:645 msgid "Alternate code is not executed when the point is in reality a vertex" msgstr "" -#: ../../build/doc/release_notes.rst:594 +#: ../../build/doc/release_notes.rst:646 msgid "Fixed ambiguity on seq" msgstr "" -#: ../../build/doc/release_notes.rst:600 +#: ../../build/doc/release_notes.rst:652 msgid "pgRouting 2.3.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:602 +#: ../../build/doc/release_notes.rst:654 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:606 +#: ../../build/doc/release_notes.rst:658 msgid "Leaks on proposed max_flow functions" msgstr "" -#: ../../build/doc/release_notes.rst:607 +#: ../../build/doc/release_notes.rst:659 msgid "Regression error on pgr_trsp" msgstr "" -#: ../../build/doc/release_notes.rst:608 +#: ../../build/doc/release_notes.rst:660 msgid "Types discrepancy on pgr_createVerticesTable" msgstr "" -#: ../../build/doc/release_notes.rst:614 +#: ../../build/doc/release_notes.rst:666 msgid "pgRouting 2.3.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:616 +#: ../../build/doc/release_notes.rst:668 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:620 +#: ../../build/doc/release_notes.rst:672 msgid "pgr_TSP" msgstr "" -#: ../../build/doc/release_notes.rst:621 +#: ../../build/doc/release_notes.rst:673 msgid "pgr_aStar" msgstr "" -#: ../../build/doc/release_notes.rst:624 -#: ../../build/doc/release_notes.rst:736 +#: ../../build/doc/release_notes.rst:676 +#: ../../build/doc/release_notes.rst:788 msgid "New Functions" msgstr "" -#: ../../build/doc/release_notes.rst:625 +#: ../../build/doc/release_notes.rst:677 msgid "pgr_eucledianTSP" msgstr "" -#: ../../build/doc/release_notes.rst:631 +#: ../../build/doc/release_notes.rst:683 msgid "pgr_withPointsCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:632 +#: ../../build/doc/release_notes.rst:684 msgid "pgr_maxFlowPushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:633 +#: ../../build/doc/release_notes.rst:685 msgid "pgr_maxFlowPushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:634 +#: ../../build/doc/release_notes.rst:686 msgid "pgr_maxFlowPushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:635 +#: ../../build/doc/release_notes.rst:687 msgid "pgr_maxFlowPushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:636 +#: ../../build/doc/release_notes.rst:688 msgid "pgr_maxFlowEdmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:637 +#: ../../build/doc/release_notes.rst:689 msgid "pgr_maxFlowEdmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:638 +#: ../../build/doc/release_notes.rst:690 msgid "pgr_maxFlowEdmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:639 +#: ../../build/doc/release_notes.rst:691 msgid "pgr_maxFlowEdmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:640 +#: ../../build/doc/release_notes.rst:692 msgid "pgr_maxFlowBoykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:641 +#: ../../build/doc/release_notes.rst:693 msgid "pgr_maxFlowBoykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:642 +#: ../../build/doc/release_notes.rst:694 msgid "pgr_maxFlowBoykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:643 +#: ../../build/doc/release_notes.rst:695 msgid "pgr_maxFlowBoykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:644 +#: ../../build/doc/release_notes.rst:696 msgid "pgr_maximumCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:649 +#: ../../build/doc/release_notes.rst:701 msgid "pgr_contractGraph" msgstr "" -#: ../../build/doc/release_notes.rst:654 +#: ../../build/doc/release_notes.rst:706 msgid "pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead" msgstr "" -#: ../../build/doc/release_notes.rst:655 +#: ../../build/doc/release_notes.rst:707 msgid "pgr_astar - use pgr_aStar instead" msgstr "" -#: ../../build/doc/release_notes.rst:660 +#: ../../build/doc/release_notes.rst:712 msgid "pgr_flip_edges" msgstr "" -#: ../../build/doc/release_notes.rst:661 +#: ../../build/doc/release_notes.rst:713 msgid "pgr_vidsToDmatrix" msgstr "" -#: ../../build/doc/release_notes.rst:662 +#: ../../build/doc/release_notes.rst:714 msgid "pgr_pointsToDMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:663 +#: ../../build/doc/release_notes.rst:715 msgid "pgr_textToPoints" msgstr "" -#: ../../build/doc/release_notes.rst:670 +#: ../../build/doc/release_notes.rst:722 msgid "pgRouting 2.2.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:672 +#: ../../build/doc/release_notes.rst:724 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.4 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:676 +#: ../../build/doc/release_notes.rst:728 msgid "Bogus uses of extern \"C\"" msgstr "" -#: ../../build/doc/release_notes.rst:677 +#: ../../build/doc/release_notes.rst:729 msgid "Build error on Fedora 24 + GCC 6.0" msgstr "" -#: ../../build/doc/release_notes.rst:678 +#: ../../build/doc/release_notes.rst:730 msgid "Regression error pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:683 +#: ../../build/doc/release_notes.rst:735 msgid "pgRouting 2.2.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:685 +#: ../../build/doc/release_notes.rst:737 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:689 +#: ../../build/doc/release_notes.rst:741 msgid "Fixed compatibility issues with PostgreSQL 9.6." msgstr "" -#: ../../build/doc/release_notes.rst:694 +#: ../../build/doc/release_notes.rst:746 msgid "pgRouting 2.2.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:696 +#: ../../build/doc/release_notes.rst:748 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:700 +#: ../../build/doc/release_notes.rst:752 msgid "Fixed regression error on pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:706 +#: ../../build/doc/release_notes.rst:758 msgid "pgRouting 2.2.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:708 +#: ../../build/doc/release_notes.rst:760 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:712 +#: ../../build/doc/release_notes.rst:764 msgid "Server crash fix on pgr_alphaShape" msgstr "" -#: ../../build/doc/release_notes.rst:713 +#: ../../build/doc/release_notes.rst:765 msgid "Bug fix on With Points family of functions" msgstr "" -#: ../../build/doc/release_notes.rst:719 +#: ../../build/doc/release_notes.rst:771 msgid "pgRouting 2.2.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:721 +#: ../../build/doc/release_notes.rst:773 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:725 -#: ../../build/doc/release_notes.rst:793 +#: ../../build/doc/release_notes.rst:777 +#: ../../build/doc/release_notes.rst:845 msgid "Improvements" msgstr "" -#: ../../build/doc/release_notes.rst:726 +#: ../../build/doc/release_notes.rst:778 msgid "pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:728 +#: ../../build/doc/release_notes.rst:780 msgid "Adding a row_where and outall optional parameters" msgstr "" -#: ../../build/doc/release_notes.rst:730 +#: ../../build/doc/release_notes.rst:782 msgid "Signature fix" msgstr "" -#: ../../build/doc/release_notes.rst:732 +#: ../../build/doc/release_notes.rst:784 msgid "pgr_dijkstra -- to match what is documented" msgstr "" -#: ../../build/doc/release_notes.rst:738 +#: ../../build/doc/release_notes.rst:790 msgid "pgr_Johnson" msgstr "" -#: ../../build/doc/release_notes.rst:739 +#: ../../build/doc/release_notes.rst:791 msgid "pgr_dijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:740 +#: ../../build/doc/release_notes.rst:792 msgid "pgr_dijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:741 +#: ../../build/doc/release_notes.rst:793 msgid "pgr_dijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:742 +#: ../../build/doc/release_notes.rst:794 msgid "pgr_dijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:745 #: ../../build/doc/release_notes.rst:797 +#: ../../build/doc/release_notes.rst:849 msgid "Proposed functionality" msgstr "" -#: ../../build/doc/release_notes.rst:746 +#: ../../build/doc/release_notes.rst:798 msgid "pgr_withPoints(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:747 +#: ../../build/doc/release_notes.rst:799 msgid "pgr_withPoints(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:748 +#: ../../build/doc/release_notes.rst:800 msgid "pgr_withPoints(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:749 +#: ../../build/doc/release_notes.rst:801 msgid "pgr_withPoints(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:750 +#: ../../build/doc/release_notes.rst:802 msgid "pgr_withPointsCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:751 +#: ../../build/doc/release_notes.rst:803 msgid "pgr_withPointsCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:752 +#: ../../build/doc/release_notes.rst:804 msgid "pgr_withPointsCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:753 +#: ../../build/doc/release_notes.rst:805 msgid "pgr_withPointsCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:754 +#: ../../build/doc/release_notes.rst:806 msgid "pgr_withPointsDD(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:755 +#: ../../build/doc/release_notes.rst:807 msgid "pgr_withPointsDD(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:756 +#: ../../build/doc/release_notes.rst:808 msgid "pgr_withPointsKSP" msgstr "" -#: ../../build/doc/release_notes.rst:757 +#: ../../build/doc/release_notes.rst:809 msgid "pgr_dijkstraVia" msgstr "" -#: ../../build/doc/release_notes.rst:761 +#: ../../build/doc/release_notes.rst:813 msgid "Deprecated functions:" msgstr "" -#: ../../build/doc/release_notes.rst:762 +#: ../../build/doc/release_notes.rst:814 msgid "pgr_apspWarshall use pgr_floydWarshall instead" msgstr "" -#: ../../build/doc/release_notes.rst:763 +#: ../../build/doc/release_notes.rst:815 msgid "pgr_apspJohnson use pgr_Johnson instead" msgstr "" -#: ../../build/doc/release_notes.rst:764 +#: ../../build/doc/release_notes.rst:816 msgid "pgr_kDijkstraCost use pgr_dijkstraCost instead" msgstr "" -#: ../../build/doc/release_notes.rst:765 +#: ../../build/doc/release_notes.rst:817 msgid "pgr_kDijkstraPath use pgr_dijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:768 +#: ../../build/doc/release_notes.rst:820 msgid "Renamed and deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:769 +#: ../../build/doc/release_notes.rst:821 msgid "pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:775 +#: ../../build/doc/release_notes.rst:827 msgid "pgRouting 2.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:777 +#: ../../build/doc/release_notes.rst:829 msgid "To see the issues closed by this release see the `Git closed issues for 2.1.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:781 +#: ../../build/doc/release_notes.rst:833 msgid "pgr_dijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:782 +#: ../../build/doc/release_notes.rst:834 msgid "pgr_dijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:783 +#: ../../build/doc/release_notes.rst:835 msgid "pgr_dijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:784 +#: ../../build/doc/release_notes.rst:836 msgid "pgr_drivingDistance(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:787 +#: ../../build/doc/release_notes.rst:839 msgid "Refactored" msgstr "" -#: ../../build/doc/release_notes.rst:788 +#: ../../build/doc/release_notes.rst:840 msgid "pgr_dijkstra(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:789 +#: ../../build/doc/release_notes.rst:841 msgid "pgr_ksp" msgstr "" -#: ../../build/doc/release_notes.rst:790 +#: ../../build/doc/release_notes.rst:842 msgid "pgr_drivingDistance(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:794 +#: ../../build/doc/release_notes.rst:846 msgid "pgr_alphaShape function now can generate better (multi)polygon with holes and alpha parameter." msgstr "" -#: ../../build/doc/release_notes.rst:798 +#: ../../build/doc/release_notes.rst:850 msgid "Proposed functions from Steve Woodbridge, (Classified as Convenience by the author.)" msgstr "" -#: ../../build/doc/release_notes.rst:800 +#: ../../build/doc/release_notes.rst:852 msgid "pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on closest edge." msgstr "" -#: ../../build/doc/release_notes.rst:801 +#: ../../build/doc/release_notes.rst:853 msgid "pgr_flipEdges - flip the edges in an array of geometries so the connect end to end." msgstr "" -#: ../../build/doc/release_notes.rst:802 +#: ../../build/doc/release_notes.rst:854 msgid "pgr_textToPoints - convert a string of x,y;x,y;... locations into point geometries." msgstr "" -#: ../../build/doc/release_notes.rst:803 +#: ../../build/doc/release_notes.rst:855 msgid "pgr_pointsToVids - convert an array of point geometries into vertex ids." msgstr "" -#: ../../build/doc/release_notes.rst:804 +#: ../../build/doc/release_notes.rst:856 msgid "pgr_pointsToDMatrix - Create a distance matrix from an array of points." msgstr "" -#: ../../build/doc/release_notes.rst:805 -#: ../../build/doc/release_notes.rst:806 +#: ../../build/doc/release_notes.rst:857 +#: ../../build/doc/release_notes.rst:858 msgid "pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." msgstr "" -#: ../../build/doc/release_notes.rst:808 +#: ../../build/doc/release_notes.rst:860 msgid "Added proposed functions from GSoc Projects:" msgstr "" -#: ../../build/doc/release_notes.rst:810 +#: ../../build/doc/release_notes.rst:862 msgid "pgr_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:811 +#: ../../build/doc/release_notes.rst:863 msgid "pgr_vrponedepot" msgstr "" -#: ../../build/doc/release_notes.rst:814 +#: ../../build/doc/release_notes.rst:866 msgid "Deprecated functions" msgstr "" -#: ../../build/doc/release_notes.rst:815 +#: ../../build/doc/release_notes.rst:867 msgid "pgr_getColumnName" msgstr "" -#: ../../build/doc/release_notes.rst:816 +#: ../../build/doc/release_notes.rst:868 msgid "pgr_getTableName" msgstr "" -#: ../../build/doc/release_notes.rst:817 +#: ../../build/doc/release_notes.rst:869 msgid "pgr_isColumnCndexed" msgstr "" -#: ../../build/doc/release_notes.rst:818 +#: ../../build/doc/release_notes.rst:870 msgid "pgr_isColumnInTable" msgstr "" -#: ../../build/doc/release_notes.rst:819 +#: ../../build/doc/release_notes.rst:871 msgid "pgr_quote_ident" msgstr "" -#: ../../build/doc/release_notes.rst:820 +#: ../../build/doc/release_notes.rst:872 msgid "pgr_versionless" msgstr "" -#: ../../build/doc/release_notes.rst:821 +#: ../../build/doc/release_notes.rst:873 msgid "pgr_startPoint" msgstr "" -#: ../../build/doc/release_notes.rst:822 +#: ../../build/doc/release_notes.rst:874 msgid "pgr_endPoint" msgstr "" -#: ../../build/doc/release_notes.rst:823 +#: ../../build/doc/release_notes.rst:875 msgid "pgr_pointToId" msgstr "" -#: ../../build/doc/release_notes.rst:826 +#: ../../build/doc/release_notes.rst:878 msgid "No longer supported" msgstr "" -#: ../../build/doc/release_notes.rst:827 +#: ../../build/doc/release_notes.rst:879 msgid "Removed the 1.x legacy functions" msgstr "" -#: ../../build/doc/release_notes.rst:831 +#: ../../build/doc/release_notes.rst:883 msgid "Some bug fixes in other functions" msgstr "" -#: ../../build/doc/release_notes.rst:835 +#: ../../build/doc/release_notes.rst:887 msgid "Refactoring Internal Code" msgstr "" -#: ../../build/doc/release_notes.rst:836 +#: ../../build/doc/release_notes.rst:888 msgid "A C and C++ library for developer was created" msgstr "" -#: ../../build/doc/release_notes.rst:838 +#: ../../build/doc/release_notes.rst:890 msgid "encapsulates postgreSQL related functions" msgstr "" -#: ../../build/doc/release_notes.rst:839 +#: ../../build/doc/release_notes.rst:891 msgid "encapsulates Boost.Graph graphs" msgstr "" -#: ../../build/doc/release_notes.rst:841 +#: ../../build/doc/release_notes.rst:893 msgid "Directed Boost.Graph" msgstr "" -#: ../../build/doc/release_notes.rst:842 +#: ../../build/doc/release_notes.rst:894 msgid "Undirected Boost.graph." msgstr "" -#: ../../build/doc/release_notes.rst:844 +#: ../../build/doc/release_notes.rst:896 msgid "allow any-integer in the id's" msgstr "" -#: ../../build/doc/release_notes.rst:845 +#: ../../build/doc/release_notes.rst:897 msgid "allow any-numerical on the cost/reverse_cost columns" msgstr "" -#: ../../build/doc/release_notes.rst:847 +#: ../../build/doc/release_notes.rst:899 msgid "Instead of generating many libraries: - All functions are encapsulated in one library - The library has the prefix 2-1-0" msgstr "" -#: ../../build/doc/release_notes.rst:856 +#: ../../build/doc/release_notes.rst:908 msgid "pgRouting 2.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:858 +#: ../../build/doc/release_notes.rst:910 msgid "Minor bug fixes." msgstr "" -#: ../../build/doc/release_notes.rst:862 +#: ../../build/doc/release_notes.rst:914 msgid "No track of the bug fixes were kept." msgstr "" -#: ../../build/doc/release_notes.rst:868 +#: ../../build/doc/release_notes.rst:920 msgid "pgRouting 2.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:870 +#: ../../build/doc/release_notes.rst:922 msgid "To see the issues closed by this release see the `Git closed issues for 2.0.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:872 +#: ../../build/doc/release_notes.rst:924 msgid "With the release of pgRouting 2.0.0 the library has abandoned backwards compatibility to :ref:`pgRouting 1.x ` releases. The main Goals for this release are:" msgstr "" -#: ../../build/doc/release_notes.rst:875 +#: ../../build/doc/release_notes.rst:927 msgid "Major restructuring of pgRouting." msgstr "" -#: ../../build/doc/release_notes.rst:876 +#: ../../build/doc/release_notes.rst:928 msgid "Standardization of the function naming" msgstr "" -#: ../../build/doc/release_notes.rst:877 +#: ../../build/doc/release_notes.rst:929 msgid "Preparation of the project for future development." msgstr "" -#: ../../build/doc/release_notes.rst:879 +#: ../../build/doc/release_notes.rst:931 msgid "As a result of this effort:" msgstr "" -#: ../../build/doc/release_notes.rst:881 +#: ../../build/doc/release_notes.rst:933 msgid "pgRouting has a simplified structure" msgstr "" -#: ../../build/doc/release_notes.rst:882 +#: ../../build/doc/release_notes.rst:934 msgid "Significant new functionality has being added" msgstr "" -#: ../../build/doc/release_notes.rst:883 +#: ../../build/doc/release_notes.rst:935 msgid "Documentation has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:884 +#: ../../build/doc/release_notes.rst:936 msgid "Testing has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:885 +#: ../../build/doc/release_notes.rst:937 msgid "And made it easier for multiple developers to make contributions." msgstr "" -#: ../../build/doc/release_notes.rst:889 +#: ../../build/doc/release_notes.rst:941 msgid "Important Changes" msgstr "" -#: ../../build/doc/release_notes.rst:890 +#: ../../build/doc/release_notes.rst:942 msgid "Graph Analytics - tools for detecting and fixing connection some problems in a graph" msgstr "" -#: ../../build/doc/release_notes.rst:891 +#: ../../build/doc/release_notes.rst:943 msgid "A collection of useful utility functions" msgstr "" -#: ../../build/doc/release_notes.rst:892 +#: ../../build/doc/release_notes.rst:944 msgid "Two new All Pairs Short Path algorithms (pgr_apspJohnson, pgr_apspWarshall)" msgstr "" -#: ../../build/doc/release_notes.rst:893 +#: ../../build/doc/release_notes.rst:945 msgid "Bi-directional Dijkstra and A-star search algorithms (pgr_bdAstar, pgr_bdDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:894 +#: ../../build/doc/release_notes.rst:946 msgid "One to many nodes search (pgr_kDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:895 +#: ../../build/doc/release_notes.rst:947 msgid "K alternate paths shortest path (pgr_ksp)" msgstr "" -#: ../../build/doc/release_notes.rst:896 +#: ../../build/doc/release_notes.rst:948 msgid "New TSP solver that simplifies the code and the build process (pgr_tsp), dropped \"Gaul Library\" dependency" msgstr "" -#: ../../build/doc/release_notes.rst:897 +#: ../../build/doc/release_notes.rst:949 msgid "Turn Restricted shortest path (pgr_trsp) that replaces Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:898 +#: ../../build/doc/release_notes.rst:950 msgid "Dropped support for Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:899 +#: ../../build/doc/release_notes.rst:951 msgid "Built a test infrastructure that is run before major code changes are checked in" msgstr "" -#: ../../build/doc/release_notes.rst:900 +#: ../../build/doc/release_notes.rst:952 msgid "Tested and fixed most all of the outstanding bugs reported against 1.x that existing in the 2.0-dev code base." msgstr "" -#: ../../build/doc/release_notes.rst:901 +#: ../../build/doc/release_notes.rst:953 msgid "Improved build process for Windows" msgstr "" -#: ../../build/doc/release_notes.rst:902 +#: ../../build/doc/release_notes.rst:954 msgid "Automated testing on Linux and Windows platforms trigger by every commit" msgstr "" -#: ../../build/doc/release_notes.rst:903 +#: ../../build/doc/release_notes.rst:955 msgid "Modular library design" msgstr "" -#: ../../build/doc/release_notes.rst:904 +#: ../../build/doc/release_notes.rst:956 msgid "Compatibility with PostgreSQL 9.1 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:905 +#: ../../build/doc/release_notes.rst:957 msgid "Compatibility with PostGIS 2.0 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:906 +#: ../../build/doc/release_notes.rst:958 msgid "Installs as PostgreSQL EXTENSION" msgstr "" -#: ../../build/doc/release_notes.rst:907 +#: ../../build/doc/release_notes.rst:959 msgid "Return types re factored and unified" msgstr "" -#: ../../build/doc/release_notes.rst:908 +#: ../../build/doc/release_notes.rst:960 msgid "Support for table SCHEMA in function parameters" msgstr "" -#: ../../build/doc/release_notes.rst:909 +#: ../../build/doc/release_notes.rst:961 msgid "Support for ``st_`` PostGIS function prefix" msgstr "" -#: ../../build/doc/release_notes.rst:910 +#: ../../build/doc/release_notes.rst:962 msgid "Added ``pgr_`` prefix to functions and types" msgstr "" -#: ../../build/doc/release_notes.rst:911 +#: ../../build/doc/release_notes.rst:963 msgid "Better documentation: https://docs.pgrouting.org" msgstr "" -#: ../../build/doc/release_notes.rst:912 +#: ../../build/doc/release_notes.rst:964 msgid "shooting_star is discontinued" msgstr "" -#: ../../build/doc/release_notes.rst:919 +#: ../../build/doc/release_notes.rst:971 msgid "pgRouting 1.x Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:921 +#: ../../build/doc/release_notes.rst:973 msgid "To see the issues closed by this release see the `Git closed issues for 1.x `_ on Github. The following release notes have been copied from the previous ``RELEASE_NOTES`` file and are kept as a reference." msgstr "" -#: ../../build/doc/release_notes.rst:926 +#: ../../build/doc/release_notes.rst:978 msgid "Changes for release 1.05" msgstr "" -#: ../../build/doc/release_notes.rst:932 +#: ../../build/doc/release_notes.rst:984 msgid "Changes for release 1.03" msgstr "" -#: ../../build/doc/release_notes.rst:934 +#: ../../build/doc/release_notes.rst:986 msgid "Much faster topology creation" msgstr "" -#: ../../build/doc/release_notes.rst:939 +#: ../../build/doc/release_notes.rst:991 msgid "Changes for release 1.02" msgstr "" -#: ../../build/doc/release_notes.rst:941 -#: ../../build/doc/release_notes.rst:948 +#: ../../build/doc/release_notes.rst:993 +#: ../../build/doc/release_notes.rst:1000 msgid "Shooting* bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:942 +#: ../../build/doc/release_notes.rst:994 msgid "Compilation problems solved" msgstr "" -#: ../../build/doc/release_notes.rst:946 +#: ../../build/doc/release_notes.rst:998 msgid "Changes for release 1.01" msgstr "" -#: ../../build/doc/release_notes.rst:952 +#: ../../build/doc/release_notes.rst:1004 msgid "Changes for release 1.0" msgstr "" -#: ../../build/doc/release_notes.rst:954 +#: ../../build/doc/release_notes.rst:1006 msgid "Core and extra functions are separated" msgstr "" -#: ../../build/doc/release_notes.rst:955 +#: ../../build/doc/release_notes.rst:1007 msgid "Cmake build process" msgstr "" -#: ../../build/doc/release_notes.rst:960 +#: ../../build/doc/release_notes.rst:1012 msgid "Changes for release 1.0.0b" msgstr "" -#: ../../build/doc/release_notes.rst:962 +#: ../../build/doc/release_notes.rst:1014 msgid "Additional SQL file with more simple names for wrapper functions" msgstr "" -#: ../../build/doc/release_notes.rst:967 +#: ../../build/doc/release_notes.rst:1019 msgid "Changes for release 1.0.0a" msgstr "" -#: ../../build/doc/release_notes.rst:969 +#: ../../build/doc/release_notes.rst:1021 msgid "Shooting* shortest path algorithm for real road networks" msgstr "" -#: ../../build/doc/release_notes.rst:970 +#: ../../build/doc/release_notes.rst:1022 msgid "Several SQL bugs were fixed" msgstr "" -#: ../../build/doc/release_notes.rst:974 +#: ../../build/doc/release_notes.rst:1026 msgid "Changes for release 0.9.9" msgstr "" -#: ../../build/doc/release_notes.rst:976 +#: ../../build/doc/release_notes.rst:1028 msgid "PostgreSQL 8.2 support" msgstr "" -#: ../../build/doc/release_notes.rst:977 +#: ../../build/doc/release_notes.rst:1029 msgid "Shortest path functions return empty result if they could not find any path" msgstr "" -#: ../../build/doc/release_notes.rst:981 +#: ../../build/doc/release_notes.rst:1033 msgid "Changes for release 0.9.8" msgstr "" -#: ../../build/doc/release_notes.rst:983 +#: ../../build/doc/release_notes.rst:1035 msgid "Renumbering scheme was added to shortest path functions" msgstr "" -#: ../../build/doc/release_notes.rst:984 +#: ../../build/doc/release_notes.rst:1036 msgid "Directed shortest path functions were added" msgstr "" -#: ../../build/doc/release_notes.rst:985 +#: ../../build/doc/release_notes.rst:1037 msgid "routing_postgis.sql was modified to use dijkstra in TSP search" msgstr "" diff --git a/locale/pot/routingFunctions.pot b/locale/pot/routingFunctions.pot index 7da4e683df7..21a9544d9f0 100644 --- a/locale/pot/routingFunctions.pot +++ b/locale/pot/routingFunctions.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/sampledata.pot b/locale/pot/sampledata.pot index da99a024418..76bfbfbd817 100644 --- a/locale/pot/sampledata.pot +++ b/locale/pot/sampledata.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/spanningTree-family.pot b/locale/pot/spanningTree-family.pot index 1397eca816c..9f2a5e60ae6 100644 --- a/locale/pot/spanningTree-family.pot +++ b/locale/pot/spanningTree-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/support.pot b/locale/pot/support.pot index 8c5b8205ad1..34f4c06035b 100644 --- a/locale/pot/support.pot +++ b/locale/pot/support.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/topology-functions.pot b/locale/pot/topology-functions.pot index c65cda052ed..3b975f984ed 100644 --- a/locale/pot/topology-functions.pot +++ b/locale/pot/topology-functions.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/transformation-family.pot b/locale/pot/transformation-family.pot index 951fa8c3b7e..13623ecb00d 100644 --- a/locale/pot/transformation-family.pot +++ b/locale/pot/transformation-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/pot/traversal-family.pot b/locale/pot/traversal-family.pot new file mode 100644 index 00000000000..664a38e0969 --- /dev/null +++ b/locale/pot/traversal-family.pot @@ -0,0 +1,237 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../build/doc/traversal-family.rst:11 +msgid "Traversal - Family of functions (Experimental)" +msgstr "" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "" + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "" + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "" + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "" + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "" + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "" + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "" + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "" + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "" + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "" + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "" + +#: ../../build/doc/traversal-family.rst:19 +msgid ":doc:`pgr_depthFirstSearch` - Depth first search traversal of the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:30 +msgid "Versions of this page" +msgstr "" + +#: ../../build/doc/traversal-family.rst:31 +msgid "**Supported versions:** current(`3.2 `__)" +msgstr "" + +#: ../../build/doc/traversal-family.rst:36 +msgid "Inner query" +msgstr "" + +#: ../../build/doc/traversal-family.rst:39 +msgid "Edges SQL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Column" +msgstr "" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Type" +msgstr "" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Default" +msgstr "" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Description" +msgstr "" + +#: ../../build/doc/traversal-family.rst:45 +msgid "**id**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:45 +#: ../../build/doc/traversal-family.rst:46 +#: ../../build/doc/traversal-family.rst:47 +msgid "``ANY-INTEGER``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:45 +msgid "Identifier of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:46 +msgid "**source**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:46 +msgid "Identifier of the first end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:47 +msgid "**target**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:47 +msgid "Identifier of the second end point vertex of the edge." +msgstr "" + +#: ../../build/doc/traversal-family.rst:48 +msgid "**cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:48 +#: ../../build/doc/traversal-family.rst:51 +msgid "``ANY-NUMERICAL``" +msgstr "" + +#: ../../build/doc/traversal-family.rst:48 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:49 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:51 +msgid "**reverse_cost**" +msgstr "" + +#: ../../build/doc/traversal-family.rst:51 +msgid "-1" +msgstr "" + +#: ../../build/doc/traversal-family.rst:51 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:52 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" + +#: ../../build/doc/traversal-family.rst:56 +msgid "Where:" +msgstr "" + +#: ../../build/doc/traversal-family.rst:0 +msgid "ANY-INTEGER" +msgstr "" + +#: ../../build/doc/traversal-family.rst:58 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "" + +#: ../../build/doc/traversal-family.rst:0 +msgid "ANY-NUMERICAL" +msgstr "" + +#: ../../build/doc/traversal-family.rst:59 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "" + +#: ../../build/doc/traversal-family.rst:65 +msgid "See Also" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:3 +msgid "`Boost: Depth First Search algorithm documentation `__" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:4 +msgid "`Boost: Undirected DFS algorithm documentation `__" +msgstr "" + +#: ../../build/doc/pgr_depthFirstSearch.rst:5 +msgid "`Wikipedia: Depth First Search algorithm `__" +msgstr "" + +#: ../../build/doc/traversal-family.rst:73 +msgid "Indices and tables" +msgstr "" + +#: ../../build/doc/traversal-family.rst:74 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../build/doc/traversal-family.rst:75 +msgid ":ref:`search`" +msgstr "" + diff --git a/locale/pot/withPoints-family.pot b/locale/pot/withPoints-family.pot index 0446affe59c..eaff958169c 100644 --- a/locale/pot/withPoints-family.pot +++ b/locale/pot/withPoints-family.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From fba550226fd622ce90fae4272cc31ba2f927ee53 Mon Sep 17 00:00:00 2001 From: Vicky Vergara Date: Thu, 5 Nov 2020 08:16:30 -0600 Subject: [PATCH 0981/1360] Issue 1647 dev (#1721) * [contraction][C++] fixing issue 1647 * Updating release notes for 3.0 * updating release notes for 3.1 * [locale] updating the locale files --- NEWS | 2 + doc/src/release_notes.rst | 2 + include/contraction/pgr_contractionGraph.hpp | 5 +- locale/en/LC_MESSAGES/release_notes.po | 950 +++++++-------- locale/pot/release_notes.pot | 1051 +++++++++-------- .../linear/directed/issue-1647.sql | 31 + .../linear/undirected/issue-1647.sql | 31 + 7 files changed, 1075 insertions(+), 997 deletions(-) create mode 100644 pgtap/contraction/linear/directed/issue-1647.sql create mode 100644 pgtap/contraction/linear/undirected/issue-1647.sql diff --git a/NEWS b/NEWS index 37b1738dcea..8bdd84cf8e6 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,7 @@ To see all issues & pull requests closed by this release see the `Git closed mil *Issues fixes* +* [#1647 ](https://github.com/pgRouting/pgrouting/issues/1647)_: Linear Contraction contracts self loops * [#1616 ](https://github.com/pgRouting/pgrouting/issues/1616)_: Path evaluation on C++ not updated before the results go back to C * [#1300 ](https://github.com/pgRouting/pgrouting/issues/1300)_: pgr_chinesePostman crash on test data @@ -52,6 +53,7 @@ pgRouting 3.0.3 Release Notes *Backport issues fixes* +* [#1647 ](https://github.com/pgRouting/pgrouting/issues/1647)_: Linear Contraction contracts self loops * [#1616 ](https://github.com/pgRouting/pgrouting/issues/1616)_: Path evaluation on C++ not updated before the results go back to C * [#1300 ](https://github.com/pgRouting/pgrouting/issues/1300)_: pgr_chinesePostman crash on test data diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 8ec9e07074e..df44f44d880 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -84,6 +84,7 @@ To see all issues & pull requests closed by this release see the `Git closed mil .. rubric:: Issues fixes +* `#1647 `__: Linear Contraction contracts self loops * `#1616 `__: Path evaluation on C++ not updated before the results go back to C * `#1300 `__: pgr_chinesePostman crash on test data @@ -112,6 +113,7 @@ pgRouting 3.0.3 Release Notes .. rubric:: Backport issues fixes +* `#1647 `__: Linear Contraction contracts self loops * `#1616 `__: Path evaluation on C++ not updated before the results go back to C * `#1300 `__: pgr_chinesePostman crash on test data diff --git a/include/contraction/pgr_contractionGraph.hpp b/include/contraction/pgr_contractionGraph.hpp index 5b5e5b22295..a9059003916 100644 --- a/include/contraction/pgr_contractionGraph.hpp +++ b/include/contraction/pgr_contractionGraph.hpp @@ -206,9 +206,10 @@ class Pgr_contractionGraph : public Pgr_base_graph { @enddot */ bool is_shortcut_possible( - V v, V u, + V v, V w) { + if (u == v || v == w || u == w) return false; pgassert(u != v); pgassert(v != w); pgassert(u != w); @@ -247,7 +248,7 @@ class Pgr_contractionGraph : public Pgr_base_graph { adjacent_vertices.pop_front(); V w = adjacent_vertices.front(); adjacent_vertices.pop_front(); - if (is_shortcut_possible(v, u, w)) { + if (is_shortcut_possible(u, v, w)) { return true; } return false; diff --git a/locale/en/LC_MESSAGES/release_notes.po b/locale/en/LC_MESSAGES/release_notes.po index 3e1d57ca6dc..d0cbc2930f0 100644 --- a/locale/en/LC_MESSAGES/release_notes.po +++ b/locale/en/LC_MESSAGES/release_notes.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-11-05 07:29-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -228,28 +228,34 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:86 ../../build/doc/release_notes.rst:128 -#: ../../build/doc/release_notes.rst:140 +#: ../../build/doc/release_notes.rst:86 ../../build/doc/release_notes.rst:130 +#: ../../build/doc/release_notes.rst:142 msgid "Issues fixes" msgstr "" -#: ../../build/doc/release_notes.rst:87 ../../build/doc/release_notes.rst:115 +#: ../../build/doc/release_notes.rst:87 ../../build/doc/release_notes.rst:116 +msgid "" +"`#1647 `__: Linear " +"Contraction contracts self loops" +msgstr "" + +#: ../../build/doc/release_notes.rst:88 ../../build/doc/release_notes.rst:117 msgid "" "`#1616 `__: Path " "evaluation on C++ not updated before the results go back to C" msgstr "" -#: ../../build/doc/release_notes.rst:88 ../../build/doc/release_notes.rst:116 +#: ../../build/doc/release_notes.rst:89 ../../build/doc/release_notes.rst:118 msgid "" "`#1300 `__: " "pgr_chinesePostman crash on test data" msgstr "" -#: ../../build/doc/release_notes.rst:94 +#: ../../build/doc/release_notes.rst:95 msgid "pgRouting 3.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:96 +#: ../../build/doc/release_notes.rst:97 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -258,39 +264,39 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:100 +#: ../../build/doc/release_notes.rst:101 msgid "New proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:101 +#: ../../build/doc/release_notes.rst:102 msgid "pgr_dijkstra(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:102 +#: ../../build/doc/release_notes.rst:103 msgid "pgr_dijkstraCost(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:105 +#: ../../build/doc/release_notes.rst:106 msgid "Build changes" msgstr "" -#: ../../build/doc/release_notes.rst:106 +#: ../../build/doc/release_notes.rst:107 msgid "Minimal requirement for Sphinx: version 1.8" msgstr "" -#: ../../build/doc/release_notes.rst:111 +#: ../../build/doc/release_notes.rst:112 msgid "pgRouting 3.0.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:114 +#: ../../build/doc/release_notes.rst:115 msgid "Backport issues fixes" msgstr "" -#: ../../build/doc/release_notes.rst:122 +#: ../../build/doc/release_notes.rst:124 msgid "pgRouting 3.0.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:124 +#: ../../build/doc/release_notes.rst:126 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -299,17 +305,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:129 +#: ../../build/doc/release_notes.rst:131 msgid "" "`#1378 `__: Visual " "Studio build failing" msgstr "" -#: ../../build/doc/release_notes.rst:134 +#: ../../build/doc/release_notes.rst:136 msgid "pgRouting 3.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:136 +#: ../../build/doc/release_notes.rst:138 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -318,17 +324,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:141 +#: ../../build/doc/release_notes.rst:143 msgid "" "`#232 `__: Honor " "client cancel requests in C /C++ code" msgstr "" -#: ../../build/doc/release_notes.rst:146 +#: ../../build/doc/release_notes.rst:148 msgid "pgRouting 3.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:148 +#: ../../build/doc/release_notes.rst:150 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -337,495 +343,495 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:152 +#: ../../build/doc/release_notes.rst:154 msgid "Fixed Issues" msgstr "" -#: ../../build/doc/release_notes.rst:153 +#: ../../build/doc/release_notes.rst:155 msgid "" "`#1153 `__: Renamed " "pgr_eucledianTSP to pgr_TSPeuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:154 +#: ../../build/doc/release_notes.rst:156 msgid "" "`#1188 `__: Removed " "CGAL dependency" msgstr "" -#: ../../build/doc/release_notes.rst:155 +#: ../../build/doc/release_notes.rst:157 msgid "" "`#1002 `__: Fixed " "contraction issues:" msgstr "" -#: ../../build/doc/release_notes.rst:157 +#: ../../build/doc/release_notes.rst:159 msgid "" "`#1004 `__: Contracts" " when forbidden vertices do not belong to graph" msgstr "" -#: ../../build/doc/release_notes.rst:158 +#: ../../build/doc/release_notes.rst:160 msgid "" "`#1005 `__: " "Intermideate results eliminated" msgstr "" -#: ../../build/doc/release_notes.rst:159 +#: ../../build/doc/release_notes.rst:161 msgid "" "`#1006 `__: No loss " "of information" msgstr "" -#: ../../build/doc/release_notes.rst:162 +#: ../../build/doc/release_notes.rst:164 msgid "New functions" msgstr "" -#: ../../build/doc/release_notes.rst:163 +#: ../../build/doc/release_notes.rst:165 msgid "Kruskal family" msgstr "" -#: ../../build/doc/release_notes.rst:165 +#: ../../build/doc/release_notes.rst:167 msgid "pgr_kruskal" msgstr "" -#: ../../build/doc/release_notes.rst:166 +#: ../../build/doc/release_notes.rst:168 msgid "pgr_kruskalBFS" msgstr "" -#: ../../build/doc/release_notes.rst:167 +#: ../../build/doc/release_notes.rst:169 msgid "pgr_kruskalDD" msgstr "" -#: ../../build/doc/release_notes.rst:168 +#: ../../build/doc/release_notes.rst:170 msgid "pgr_kruskalDFS" msgstr "" -#: ../../build/doc/release_notes.rst:170 +#: ../../build/doc/release_notes.rst:172 msgid "Prim family" msgstr "" -#: ../../build/doc/release_notes.rst:172 +#: ../../build/doc/release_notes.rst:174 msgid "pgr_prim" msgstr "" -#: ../../build/doc/release_notes.rst:173 +#: ../../build/doc/release_notes.rst:175 msgid "pgr_primDD" msgstr "" -#: ../../build/doc/release_notes.rst:174 +#: ../../build/doc/release_notes.rst:176 msgid "pgr_primDFS" msgstr "" -#: ../../build/doc/release_notes.rst:175 +#: ../../build/doc/release_notes.rst:177 msgid "pgr_primBFS" msgstr "" -#: ../../build/doc/release_notes.rst:179 +#: ../../build/doc/release_notes.rst:181 msgid "Proposed moved to official on pgRouting" msgstr "" -#: ../../build/doc/release_notes.rst:180 +#: ../../build/doc/release_notes.rst:182 msgid "aStar Family" msgstr "" -#: ../../build/doc/release_notes.rst:182 +#: ../../build/doc/release_notes.rst:184 msgid "pgr_aStar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:183 +#: ../../build/doc/release_notes.rst:185 msgid "pgr_aStar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:184 +#: ../../build/doc/release_notes.rst:186 msgid "pgr_aStar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:185 +#: ../../build/doc/release_notes.rst:187 msgid "pgr_aStarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:186 +#: ../../build/doc/release_notes.rst:188 msgid "pgr_aStarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:187 +#: ../../build/doc/release_notes.rst:189 msgid "pgr_aStarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:188 +#: ../../build/doc/release_notes.rst:190 msgid "pgr_aStarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:189 +#: ../../build/doc/release_notes.rst:191 msgid "pgr_aStarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:190 +#: ../../build/doc/release_notes.rst:192 msgid "pgr_aStarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:191 +#: ../../build/doc/release_notes.rst:193 msgid "pgr_aStarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:192 +#: ../../build/doc/release_notes.rst:194 msgid "pgr_aStarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:194 +#: ../../build/doc/release_notes.rst:196 msgid "bdAstar Family" msgstr "" -#: ../../build/doc/release_notes.rst:196 ../../build/doc/release_notes.rst:523 +#: ../../build/doc/release_notes.rst:198 ../../build/doc/release_notes.rst:525 msgid "pgr_bdAstar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:197 ../../build/doc/release_notes.rst:524 +#: ../../build/doc/release_notes.rst:199 ../../build/doc/release_notes.rst:526 msgid "pgr_bdAstar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:198 ../../build/doc/release_notes.rst:525 +#: ../../build/doc/release_notes.rst:200 ../../build/doc/release_notes.rst:527 msgid "pgr_bdAstar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:199 ../../build/doc/release_notes.rst:526 +#: ../../build/doc/release_notes.rst:201 ../../build/doc/release_notes.rst:528 msgid "pgr_bdAstarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:200 ../../build/doc/release_notes.rst:527 +#: ../../build/doc/release_notes.rst:202 ../../build/doc/release_notes.rst:529 msgid "pgr_bdAstarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:201 ../../build/doc/release_notes.rst:528 +#: ../../build/doc/release_notes.rst:203 ../../build/doc/release_notes.rst:530 msgid "pgr_bdAstarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:202 ../../build/doc/release_notes.rst:529 +#: ../../build/doc/release_notes.rst:204 ../../build/doc/release_notes.rst:531 msgid "pgr_bdAstarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:203 +#: ../../build/doc/release_notes.rst:205 msgid "pgr_bdAstarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:204 +#: ../../build/doc/release_notes.rst:206 msgid "pgr_bdAstarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:205 +#: ../../build/doc/release_notes.rst:207 msgid "pgr_bdAstarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:206 +#: ../../build/doc/release_notes.rst:208 msgid "pgr_bdAstarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:208 +#: ../../build/doc/release_notes.rst:210 msgid "bdDijkstra Family" msgstr "" -#: ../../build/doc/release_notes.rst:210 ../../build/doc/release_notes.rst:531 +#: ../../build/doc/release_notes.rst:212 ../../build/doc/release_notes.rst:533 msgid "pgr_bdDijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:211 ../../build/doc/release_notes.rst:532 +#: ../../build/doc/release_notes.rst:213 ../../build/doc/release_notes.rst:534 msgid "pgr_bdDijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:212 ../../build/doc/release_notes.rst:533 +#: ../../build/doc/release_notes.rst:214 ../../build/doc/release_notes.rst:535 msgid "pgr_bdDijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:213 ../../build/doc/release_notes.rst:534 +#: ../../build/doc/release_notes.rst:215 ../../build/doc/release_notes.rst:536 msgid "pgr_bdDijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:214 ../../build/doc/release_notes.rst:535 +#: ../../build/doc/release_notes.rst:216 ../../build/doc/release_notes.rst:537 msgid "pgr_bdDijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:215 ../../build/doc/release_notes.rst:536 +#: ../../build/doc/release_notes.rst:217 ../../build/doc/release_notes.rst:538 msgid "pgr_bdDijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:216 ../../build/doc/release_notes.rst:537 +#: ../../build/doc/release_notes.rst:218 ../../build/doc/release_notes.rst:539 msgid "pgr_bdDijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:217 +#: ../../build/doc/release_notes.rst:219 msgid "pgr_bdDijkstraCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:218 +#: ../../build/doc/release_notes.rst:220 msgid "pgr_bdDijkstraCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:219 +#: ../../build/doc/release_notes.rst:221 msgid "pgr_bdDijkstraCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:220 +#: ../../build/doc/release_notes.rst:222 msgid "pgr_bdDijkstraCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:222 +#: ../../build/doc/release_notes.rst:224 msgid "Flow Family" msgstr "" -#: ../../build/doc/release_notes.rst:224 +#: ../../build/doc/release_notes.rst:226 msgid "pgr_pushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:225 +#: ../../build/doc/release_notes.rst:227 msgid "pgr_pushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:226 +#: ../../build/doc/release_notes.rst:228 msgid "pgr_pushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:227 +#: ../../build/doc/release_notes.rst:229 msgid "pgr_pushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:228 +#: ../../build/doc/release_notes.rst:230 msgid "pgr_edmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:229 +#: ../../build/doc/release_notes.rst:231 msgid "pgr_edmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:230 +#: ../../build/doc/release_notes.rst:232 msgid "pgr_edmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:231 +#: ../../build/doc/release_notes.rst:233 msgid "pgr_edmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:232 +#: ../../build/doc/release_notes.rst:234 msgid "pgr_boykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:233 +#: ../../build/doc/release_notes.rst:235 msgid "pgr_boykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:234 +#: ../../build/doc/release_notes.rst:236 msgid "pgr_boykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:235 +#: ../../build/doc/release_notes.rst:237 msgid "pgr_boykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:236 +#: ../../build/doc/release_notes.rst:238 msgid "pgr_maxCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:237 ../../build/doc/release_notes.rst:607 +#: ../../build/doc/release_notes.rst:239 ../../build/doc/release_notes.rst:609 msgid "pgr_maxFlow" msgstr "" -#: ../../build/doc/release_notes.rst:238 ../../build/doc/release_notes.rst:697 +#: ../../build/doc/release_notes.rst:240 ../../build/doc/release_notes.rst:699 msgid "pgr_edgeDisjointPaths(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:239 ../../build/doc/release_notes.rst:698 +#: ../../build/doc/release_notes.rst:241 ../../build/doc/release_notes.rst:700 msgid "pgr_edgeDisjointPaths(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:240 ../../build/doc/release_notes.rst:699 +#: ../../build/doc/release_notes.rst:242 ../../build/doc/release_notes.rst:701 msgid "pgr_edgeDisjointPaths(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:241 ../../build/doc/release_notes.rst:700 +#: ../../build/doc/release_notes.rst:243 ../../build/doc/release_notes.rst:702 msgid "pgr_edgeDisjointPaths(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:243 +#: ../../build/doc/release_notes.rst:245 msgid "Components family" msgstr "" -#: ../../build/doc/release_notes.rst:245 ../../build/doc/release_notes.rst:541 +#: ../../build/doc/release_notes.rst:247 ../../build/doc/release_notes.rst:543 msgid "pgr_connectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:246 ../../build/doc/release_notes.rst:542 +#: ../../build/doc/release_notes.rst:248 ../../build/doc/release_notes.rst:544 msgid "pgr_strongComponents" msgstr "" -#: ../../build/doc/release_notes.rst:247 ../../build/doc/release_notes.rst:543 +#: ../../build/doc/release_notes.rst:249 ../../build/doc/release_notes.rst:545 msgid "pgr_biconnectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:248 ../../build/doc/release_notes.rst:544 +#: ../../build/doc/release_notes.rst:250 ../../build/doc/release_notes.rst:546 msgid "pgr_articulationPoints" msgstr "" -#: ../../build/doc/release_notes.rst:249 ../../build/doc/release_notes.rst:545 +#: ../../build/doc/release_notes.rst:251 ../../build/doc/release_notes.rst:547 msgid "pgr_bridges" msgstr "" -#: ../../build/doc/release_notes.rst:251 +#: ../../build/doc/release_notes.rst:253 msgid "Contraction:" msgstr "" -#: ../../build/doc/release_notes.rst:253 +#: ../../build/doc/release_notes.rst:255 msgid "Removed unnecessary column seq" msgstr "" -#: ../../build/doc/release_notes.rst:254 ../../build/doc/release_notes.rst:641 -#: ../../build/doc/release_notes.rst:657 ../../build/doc/release_notes.rst:727 -#: ../../build/doc/release_notes.rst:740 ../../build/doc/release_notes.rst:751 -#: ../../build/doc/release_notes.rst:763 ../../build/doc/release_notes.rst:882 -#: ../../build/doc/release_notes.rst:913 +#: ../../build/doc/release_notes.rst:256 ../../build/doc/release_notes.rst:643 +#: ../../build/doc/release_notes.rst:659 ../../build/doc/release_notes.rst:729 +#: ../../build/doc/release_notes.rst:742 ../../build/doc/release_notes.rst:753 +#: ../../build/doc/release_notes.rst:765 ../../build/doc/release_notes.rst:884 +#: ../../build/doc/release_notes.rst:915 msgid "Bug Fixes" msgstr "" -#: ../../build/doc/release_notes.rst:258 +#: ../../build/doc/release_notes.rst:260 msgid "New Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:259 +#: ../../build/doc/release_notes.rst:261 msgid "pgr_maxFlowMinCost" msgstr "" -#: ../../build/doc/release_notes.rst:260 +#: ../../build/doc/release_notes.rst:262 msgid "pgr_maxFlowMinCost_Cost" msgstr "" -#: ../../build/doc/release_notes.rst:261 +#: ../../build/doc/release_notes.rst:263 msgid "pgr_extractVertices" msgstr "" -#: ../../build/doc/release_notes.rst:262 +#: ../../build/doc/release_notes.rst:264 msgid "pgr_turnRestrictedPath" msgstr "" -#: ../../build/doc/release_notes.rst:263 +#: ../../build/doc/release_notes.rst:265 msgid "pgr_stoerWagner" msgstr "" -#: ../../build/doc/release_notes.rst:264 +#: ../../build/doc/release_notes.rst:266 msgid "pgr_dagShortestpath" msgstr "" -#: ../../build/doc/release_notes.rst:265 +#: ../../build/doc/release_notes.rst:267 msgid "pgr_topologicalSort" msgstr "" -#: ../../build/doc/release_notes.rst:266 +#: ../../build/doc/release_notes.rst:268 msgid "pgr_transitiveClosure" msgstr "" -#: ../../build/doc/release_notes.rst:267 +#: ../../build/doc/release_notes.rst:269 msgid "VRP category" msgstr "" -#: ../../build/doc/release_notes.rst:269 +#: ../../build/doc/release_notes.rst:271 msgid "pgr_pickDeliverEuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:270 +#: ../../build/doc/release_notes.rst:272 msgid "pgr_pickDeliver" msgstr "" -#: ../../build/doc/release_notes.rst:272 +#: ../../build/doc/release_notes.rst:274 msgid "Chinese Postman family" msgstr "" -#: ../../build/doc/release_notes.rst:274 +#: ../../build/doc/release_notes.rst:276 msgid "pgr_chinesePostman" msgstr "" -#: ../../build/doc/release_notes.rst:275 +#: ../../build/doc/release_notes.rst:277 msgid "pgr_chinesePostmanCost" msgstr "" -#: ../../build/doc/release_notes.rst:277 +#: ../../build/doc/release_notes.rst:279 msgid "Breadth First Search family" msgstr "" -#: ../../build/doc/release_notes.rst:279 +#: ../../build/doc/release_notes.rst:281 msgid "pgr_breadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:280 +#: ../../build/doc/release_notes.rst:282 msgid "pgr_binaryBreadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:282 +#: ../../build/doc/release_notes.rst:284 msgid "Bellman Ford family" msgstr "" -#: ../../build/doc/release_notes.rst:284 +#: ../../build/doc/release_notes.rst:286 msgid "pgr_bellmanFord" msgstr "" -#: ../../build/doc/release_notes.rst:285 +#: ../../build/doc/release_notes.rst:287 msgid "pgr_edwardMoore" msgstr "" -#: ../../build/doc/release_notes.rst:288 +#: ../../build/doc/release_notes.rst:290 msgid "Moved to legacy" msgstr "" -#: ../../build/doc/release_notes.rst:289 +#: ../../build/doc/release_notes.rst:291 msgid "Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:291 +#: ../../build/doc/release_notes.rst:293 msgid "pgr_labelGraph - Use the components family of functions instead." msgstr "" -#: ../../build/doc/release_notes.rst:292 +#: ../../build/doc/release_notes.rst:294 msgid "Max flow - functions were renamed on v2.5.0" msgstr "" -#: ../../build/doc/release_notes.rst:294 +#: ../../build/doc/release_notes.rst:296 msgid "pgr_maxFlowPushRelabel" msgstr "" -#: ../../build/doc/release_notes.rst:295 +#: ../../build/doc/release_notes.rst:297 msgid "pgr_maxFlowBoykovKolmogorov" msgstr "" -#: ../../build/doc/release_notes.rst:296 +#: ../../build/doc/release_notes.rst:298 msgid "pgr_maxFlowEdmondsKarp" msgstr "" -#: ../../build/doc/release_notes.rst:297 +#: ../../build/doc/release_notes.rst:299 msgid "pgr_maximumcardinalitymatching" msgstr "" -#: ../../build/doc/release_notes.rst:299 +#: ../../build/doc/release_notes.rst:301 msgid "VRP" msgstr "" -#: ../../build/doc/release_notes.rst:301 +#: ../../build/doc/release_notes.rst:303 msgid "pgr_gsoc_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:303 +#: ../../build/doc/release_notes.rst:305 msgid "TSP old signatures" msgstr "" -#: ../../build/doc/release_notes.rst:304 +#: ../../build/doc/release_notes.rst:306 msgid "pgr_pointsAsPolygon" msgstr "" -#: ../../build/doc/release_notes.rst:305 +#: ../../build/doc/release_notes.rst:307 msgid "pgr_alphaShape old signature" msgstr "" -#: ../../build/doc/release_notes.rst:311 +#: ../../build/doc/release_notes.rst:313 msgid "pgRouting 2.6.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:313 +#: ../../build/doc/release_notes.rst:315 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -834,40 +840,40 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:316 ../../build/doc/release_notes.rst:330 -#: ../../build/doc/release_notes.rst:388 ../../build/doc/release_notes.rst:417 -#: ../../build/doc/release_notes.rst:470 ../../build/doc/release_notes.rst:481 -#: ../../build/doc/release_notes.rst:493 ../../build/doc/release_notes.rst:575 -#: ../../build/doc/release_notes.rst:589 ../../build/doc/release_notes.rst:626 -#: ../../build/doc/release_notes.rst:980 ../../build/doc/release_notes.rst:987 -#: ../../build/doc/release_notes.rst:1008 -#: ../../build/doc/release_notes.rst:1015 +#: ../../build/doc/release_notes.rst:318 ../../build/doc/release_notes.rst:332 +#: ../../build/doc/release_notes.rst:390 ../../build/doc/release_notes.rst:419 +#: ../../build/doc/release_notes.rst:472 ../../build/doc/release_notes.rst:483 +#: ../../build/doc/release_notes.rst:495 ../../build/doc/release_notes.rst:577 +#: ../../build/doc/release_notes.rst:591 ../../build/doc/release_notes.rst:628 +#: ../../build/doc/release_notes.rst:982 ../../build/doc/release_notes.rst:989 +#: ../../build/doc/release_notes.rst:1010 +#: ../../build/doc/release_notes.rst:1017 msgid "Bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:317 +#: ../../build/doc/release_notes.rst:319 msgid "" "`#1219 `__ Implicit " "cast for via_path integer to text" msgstr "" -#: ../../build/doc/release_notes.rst:318 +#: ../../build/doc/release_notes.rst:320 msgid "" "`#1193 `__ Fixed " "pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" msgstr "" -#: ../../build/doc/release_notes.rst:319 +#: ../../build/doc/release_notes.rst:321 msgid "" "`#1185 `__ Improve " "FindPostgreSQL.cmake" msgstr "" -#: ../../build/doc/release_notes.rst:325 +#: ../../build/doc/release_notes.rst:327 msgid "pgRouting 2.6.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:327 +#: ../../build/doc/release_notes.rst:329 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -876,29 +882,29 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:331 +#: ../../build/doc/release_notes.rst:333 msgid "" "`#1152 `__ Fixes " "driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:332 +#: ../../build/doc/release_notes.rst:334 msgid "" "`#1098 `__ Fixes " "windows test" msgstr "" -#: ../../build/doc/release_notes.rst:333 +#: ../../build/doc/release_notes.rst:335 msgid "" "`#1165 `__ Fixes " "build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:338 +#: ../../build/doc/release_notes.rst:340 msgid "pgRouting 2.6.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:340 +#: ../../build/doc/release_notes.rst:342 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -907,133 +913,133 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:342 ../../build/doc/release_notes.rst:429 +#: ../../build/doc/release_notes.rst:344 ../../build/doc/release_notes.rst:431 msgid "Fixes server crash on several functions." msgstr "" -#: ../../build/doc/release_notes.rst:344 ../../build/doc/release_notes.rst:431 -#: ../../build/doc/release_notes.rst:789 +#: ../../build/doc/release_notes.rst:346 ../../build/doc/release_notes.rst:433 +#: ../../build/doc/release_notes.rst:791 msgid "pgr_floydWarshall" msgstr "" -#: ../../build/doc/release_notes.rst:345 ../../build/doc/release_notes.rst:432 +#: ../../build/doc/release_notes.rst:347 ../../build/doc/release_notes.rst:434 msgid "pgr_johnson" msgstr "" -#: ../../build/doc/release_notes.rst:346 ../../build/doc/release_notes.rst:433 +#: ../../build/doc/release_notes.rst:348 ../../build/doc/release_notes.rst:435 msgid "pgr_astar" msgstr "" -#: ../../build/doc/release_notes.rst:347 ../../build/doc/release_notes.rst:434 +#: ../../build/doc/release_notes.rst:349 ../../build/doc/release_notes.rst:436 msgid "pgr_bdAstar" msgstr "" -#: ../../build/doc/release_notes.rst:348 ../../build/doc/release_notes.rst:435 +#: ../../build/doc/release_notes.rst:350 ../../build/doc/release_notes.rst:437 msgid "pgr_bdDijstra" msgstr "" -#: ../../build/doc/release_notes.rst:349 ../../build/doc/release_notes.rst:436 +#: ../../build/doc/release_notes.rst:351 ../../build/doc/release_notes.rst:438 msgid "pgr_alphashape" msgstr "" -#: ../../build/doc/release_notes.rst:350 ../../build/doc/release_notes.rst:437 -#: ../../build/doc/release_notes.rst:682 +#: ../../build/doc/release_notes.rst:352 ../../build/doc/release_notes.rst:439 +#: ../../build/doc/release_notes.rst:684 msgid "pgr_dijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:351 ../../build/doc/release_notes.rst:438 +#: ../../build/doc/release_notes.rst:353 ../../build/doc/release_notes.rst:440 msgid "pgr_dijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:352 ../../build/doc/release_notes.rst:439 +#: ../../build/doc/release_notes.rst:354 ../../build/doc/release_notes.rst:441 msgid "pgr_dijkstraCost" msgstr "" -#: ../../build/doc/release_notes.rst:353 ../../build/doc/release_notes.rst:440 +#: ../../build/doc/release_notes.rst:355 ../../build/doc/release_notes.rst:442 msgid "pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:354 ../../build/doc/release_notes.rst:441 +#: ../../build/doc/release_notes.rst:356 ../../build/doc/release_notes.rst:443 msgid "pgr_KSP" msgstr "" -#: ../../build/doc/release_notes.rst:355 ../../build/doc/release_notes.rst:442 +#: ../../build/doc/release_notes.rst:357 ../../build/doc/release_notes.rst:444 msgid "pgr_dijkstraVia (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:356 ../../build/doc/release_notes.rst:443 +#: ../../build/doc/release_notes.rst:358 ../../build/doc/release_notes.rst:445 msgid "pgr_boykovKolmogorov (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:357 ../../build/doc/release_notes.rst:444 +#: ../../build/doc/release_notes.rst:359 ../../build/doc/release_notes.rst:446 msgid "pgr_edgeDisjointPaths (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:358 ../../build/doc/release_notes.rst:445 +#: ../../build/doc/release_notes.rst:360 ../../build/doc/release_notes.rst:447 msgid "pgr_edmondsKarp (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:359 ../../build/doc/release_notes.rst:446 +#: ../../build/doc/release_notes.rst:361 ../../build/doc/release_notes.rst:448 msgid "pgr_maxCardinalityMatch (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:360 ../../build/doc/release_notes.rst:447 +#: ../../build/doc/release_notes.rst:362 ../../build/doc/release_notes.rst:449 msgid "pgr_maxFlow (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:361 ../../build/doc/release_notes.rst:448 +#: ../../build/doc/release_notes.rst:363 ../../build/doc/release_notes.rst:450 msgid "pgr_withPoints (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:362 ../../build/doc/release_notes.rst:449 +#: ../../build/doc/release_notes.rst:364 ../../build/doc/release_notes.rst:451 msgid "pgr_withPointsCost (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:363 ../../build/doc/release_notes.rst:450 +#: ../../build/doc/release_notes.rst:365 ../../build/doc/release_notes.rst:452 msgid "pgr_withPointsKSP (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:364 ../../build/doc/release_notes.rst:451 +#: ../../build/doc/release_notes.rst:366 ../../build/doc/release_notes.rst:453 msgid "pgr_withPointsDD (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:365 ../../build/doc/release_notes.rst:452 +#: ../../build/doc/release_notes.rst:367 ../../build/doc/release_notes.rst:454 msgid "pgr_withPointsCostMatrix (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:366 ../../build/doc/release_notes.rst:453 +#: ../../build/doc/release_notes.rst:368 ../../build/doc/release_notes.rst:455 msgid "pgr_contractGraph (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:367 ../../build/doc/release_notes.rst:454 +#: ../../build/doc/release_notes.rst:369 ../../build/doc/release_notes.rst:456 msgid "pgr_pushRelabel (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:368 ../../build/doc/release_notes.rst:455 +#: ../../build/doc/release_notes.rst:370 ../../build/doc/release_notes.rst:457 msgid "pgr_vrpOneDepot (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:369 ../../build/doc/release_notes.rst:456 +#: ../../build/doc/release_notes.rst:371 ../../build/doc/release_notes.rst:458 msgid "pgr_gsoc_vrppdtw (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:370 ../../build/doc/release_notes.rst:457 +#: ../../build/doc/release_notes.rst:372 ../../build/doc/release_notes.rst:459 msgid "Fixes for deprecated functions where also applied but not tested" msgstr "" -#: ../../build/doc/release_notes.rst:372 ../../build/doc/release_notes.rst:459 +#: ../../build/doc/release_notes.rst:374 ../../build/doc/release_notes.rst:461 msgid "Removed compilation warning for g++8" msgstr "" -#: ../../build/doc/release_notes.rst:373 ../../build/doc/release_notes.rst:460 +#: ../../build/doc/release_notes.rst:375 ../../build/doc/release_notes.rst:462 msgid "Fixed a fallthrugh on Astar and bdAstar." msgstr "" -#: ../../build/doc/release_notes.rst:378 +#: ../../build/doc/release_notes.rst:380 msgid "pgRouting 2.6.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:380 +#: ../../build/doc/release_notes.rst:382 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1042,67 +1048,67 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:384 +#: ../../build/doc/release_notes.rst:386 msgid "New fexperimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:385 ../../build/doc/release_notes.rst:540 +#: ../../build/doc/release_notes.rst:387 ../../build/doc/release_notes.rst:542 msgid "pgr_lineGraphFull" msgstr "" -#: ../../build/doc/release_notes.rst:389 +#: ../../build/doc/release_notes.rst:391 msgid "" "Fix pgr_trsp(text,integer,double precision,integer,double " "precision,boolean,boolean[,text])" msgstr "" -#: ../../build/doc/release_notes.rst:391 +#: ../../build/doc/release_notes.rst:393 msgid "without restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:393 +#: ../../build/doc/release_notes.rst:395 msgid "calls pgr_dijkstra when both end points have a fraction IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:394 +#: ../../build/doc/release_notes.rst:396 msgid "calls pgr_withPoints when at least one fraction NOT IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:396 +#: ../../build/doc/release_notes.rst:398 msgid "with restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:398 +#: ../../build/doc/release_notes.rst:400 msgid "calls original trsp code" msgstr "" -#: ../../build/doc/release_notes.rst:401 +#: ../../build/doc/release_notes.rst:403 msgid "Internal code" msgstr "" -#: ../../build/doc/release_notes.rst:402 +#: ../../build/doc/release_notes.rst:404 msgid "" "Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [," " text])" msgstr "" -#: ../../build/doc/release_notes.rst:404 +#: ../../build/doc/release_notes.rst:406 msgid "Removed the use of pointers" msgstr "" -#: ../../build/doc/release_notes.rst:405 +#: ../../build/doc/release_notes.rst:407 msgid "Internal code can accept BIGINT" msgstr "" -#: ../../build/doc/release_notes.rst:407 +#: ../../build/doc/release_notes.rst:409 msgid "Cleaned the internal code of withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:412 +#: ../../build/doc/release_notes.rst:414 msgid "pgRouting 2.5.5 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:414 +#: ../../build/doc/release_notes.rst:416 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1111,23 +1117,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:418 +#: ../../build/doc/release_notes.rst:420 msgid "Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:419 +#: ../../build/doc/release_notes.rst:421 msgid "Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:420 +#: ../../build/doc/release_notes.rst:422 msgid "Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:425 +#: ../../build/doc/release_notes.rst:427 msgid "pgRouting 2.5.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:427 +#: ../../build/doc/release_notes.rst:429 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1136,11 +1142,11 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:465 +#: ../../build/doc/release_notes.rst:467 msgid "pgRouting 2.5.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:467 +#: ../../build/doc/release_notes.rst:469 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1149,17 +1155,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:471 +#: ../../build/doc/release_notes.rst:473 msgid "" "Fix for postgresql 11: Removed a compilation error when compiling with " "postgreSQL" msgstr "" -#: ../../build/doc/release_notes.rst:476 +#: ../../build/doc/release_notes.rst:478 msgid "pgRouting 2.5.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:478 +#: ../../build/doc/release_notes.rst:480 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1168,15 +1174,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:482 +#: ../../build/doc/release_notes.rst:484 msgid "Fix for postgresql 10.1: Removed a compiler condition" msgstr "" -#: ../../build/doc/release_notes.rst:488 +#: ../../build/doc/release_notes.rst:490 msgid "pgRouting 2.5.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:490 +#: ../../build/doc/release_notes.rst:492 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1185,15 +1191,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:494 +#: ../../build/doc/release_notes.rst:496 msgid "Fixed prerequisite minimum version of: cmake" msgstr "" -#: ../../build/doc/release_notes.rst:500 +#: ../../build/doc/release_notes.rst:502 msgid "pgRouting 2.5.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:504 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.5.0 " @@ -1201,100 +1207,100 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:506 +#: ../../build/doc/release_notes.rst:508 msgid "enhancement:" msgstr "" -#: ../../build/doc/release_notes.rst:507 +#: ../../build/doc/release_notes.rst:509 msgid "pgr_version is now on SQL language" msgstr "" -#: ../../build/doc/release_notes.rst:510 +#: ../../build/doc/release_notes.rst:512 msgid "Breaking change on:" msgstr "" -#: ../../build/doc/release_notes.rst:511 +#: ../../build/doc/release_notes.rst:513 msgid "pgr_edgeDisjointPaths:" msgstr "" -#: ../../build/doc/release_notes.rst:513 +#: ../../build/doc/release_notes.rst:515 msgid "Added path_id, cost and agg_cost columns on the result" msgstr "" -#: ../../build/doc/release_notes.rst:514 +#: ../../build/doc/release_notes.rst:516 msgid "Parameter names changed" msgstr "" -#: ../../build/doc/release_notes.rst:515 +#: ../../build/doc/release_notes.rst:517 msgid "The many version results are the union of the one to one version" msgstr "" -#: ../../build/doc/release_notes.rst:518 +#: ../../build/doc/release_notes.rst:520 msgid "New Signatures:" msgstr "" -#: ../../build/doc/release_notes.rst:519 +#: ../../build/doc/release_notes.rst:521 msgid "pgr_bdAstar(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:522 ../../build/doc/release_notes.rst:681 +#: ../../build/doc/release_notes.rst:524 ../../build/doc/release_notes.rst:683 msgid "New Proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:530 +#: ../../build/doc/release_notes.rst:532 msgid "pgr_bdAstarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:538 +#: ../../build/doc/release_notes.rst:540 msgid "pgr_bdDijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:539 +#: ../../build/doc/release_notes.rst:541 msgid "pgr_lineGraph" msgstr "" -#: ../../build/doc/release_notes.rst:548 ../../build/doc/release_notes.rst:618 -#: ../../build/doc/release_notes.rst:705 +#: ../../build/doc/release_notes.rst:550 ../../build/doc/release_notes.rst:620 +#: ../../build/doc/release_notes.rst:707 msgid "Deprecated Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:549 +#: ../../build/doc/release_notes.rst:551 msgid "pgr_bdastar - use pgr_bdAstar instead" msgstr "" -#: ../../build/doc/release_notes.rst:552 +#: ../../build/doc/release_notes.rst:554 msgid "Renamed Functions" msgstr "" -#: ../../build/doc/release_notes.rst:553 +#: ../../build/doc/release_notes.rst:555 msgid "pgr_maxFlowPushRelabel - use pgr_pushRelabel instead" msgstr "" -#: ../../build/doc/release_notes.rst:554 +#: ../../build/doc/release_notes.rst:556 msgid "pgr_maxFlowEdmondsKarp -use pgr_edmondsKarp instead" msgstr "" -#: ../../build/doc/release_notes.rst:555 +#: ../../build/doc/release_notes.rst:557 msgid "pgr_maxFlowBoykovKolmogorov - use pgr_boykovKolmogorov instead" msgstr "" -#: ../../build/doc/release_notes.rst:556 +#: ../../build/doc/release_notes.rst:558 msgid "pgr_maximumCardinalityMatching - use pgr_maxCardinalityMatch instead" msgstr "" -#: ../../build/doc/release_notes.rst:559 +#: ../../build/doc/release_notes.rst:561 msgid "Deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:560 +#: ../../build/doc/release_notes.rst:562 msgid "pgr_pointToEdgeNode" msgstr "" -#: ../../build/doc/release_notes.rst:566 +#: ../../build/doc/release_notes.rst:568 msgid "pgRouting 2.4.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:568 +#: ../../build/doc/release_notes.rst:570 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1303,27 +1309,27 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:571 +#: ../../build/doc/release_notes.rst:573 msgid "Improvement" msgstr "" -#: ../../build/doc/release_notes.rst:572 +#: ../../build/doc/release_notes.rst:574 msgid "Works for postgreSQL 10" msgstr "" -#: ../../build/doc/release_notes.rst:576 +#: ../../build/doc/release_notes.rst:578 msgid "Fixed: Unexpected error column \"cname\"" msgstr "" -#: ../../build/doc/release_notes.rst:577 +#: ../../build/doc/release_notes.rst:579 msgid "Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" msgstr "" -#: ../../build/doc/release_notes.rst:584 +#: ../../build/doc/release_notes.rst:586 msgid "pgRouting 2.4.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:586 +#: ../../build/doc/release_notes.rst:588 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1332,19 +1338,19 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:590 +#: ../../build/doc/release_notes.rst:592 msgid "Fixed compiling error on macOS" msgstr "" -#: ../../build/doc/release_notes.rst:591 +#: ../../build/doc/release_notes.rst:593 msgid "Condition error on pgr_withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:596 +#: ../../build/doc/release_notes.rst:598 msgid "pgRouting 2.4.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:598 +#: ../../build/doc/release_notes.rst:600 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.4.0 " @@ -1352,80 +1358,80 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:601 ../../build/doc/release_notes.rst:671 -#: ../../build/doc/release_notes.rst:832 +#: ../../build/doc/release_notes.rst:603 ../../build/doc/release_notes.rst:673 +#: ../../build/doc/release_notes.rst:834 msgid "New Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:602 +#: ../../build/doc/release_notes.rst:604 msgid "pgr_bdDijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:606 +#: ../../build/doc/release_notes.rst:608 msgid "New Proposed Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:608 +#: ../../build/doc/release_notes.rst:610 msgid "pgr_astar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:609 +#: ../../build/doc/release_notes.rst:611 msgid "pgr_astar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:610 +#: ../../build/doc/release_notes.rst:612 msgid "pgr_astar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:611 +#: ../../build/doc/release_notes.rst:613 msgid "pgr_astarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:612 +#: ../../build/doc/release_notes.rst:614 msgid "pgr_astarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:613 +#: ../../build/doc/release_notes.rst:615 msgid "pgr_astarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:614 +#: ../../build/doc/release_notes.rst:616 msgid "pgr_astarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:615 +#: ../../build/doc/release_notes.rst:617 msgid "pgr_astarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:619 +#: ../../build/doc/release_notes.rst:621 msgid "pgr_bddijkstra - use pgr_bdDijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:622 ../../build/doc/release_notes.rst:711 +#: ../../build/doc/release_notes.rst:624 ../../build/doc/release_notes.rst:713 msgid "Deprecated Functions" msgstr "" -#: ../../build/doc/release_notes.rst:623 +#: ../../build/doc/release_notes.rst:625 msgid "pgr_pointsToVids" msgstr "" -#: ../../build/doc/release_notes.rst:627 +#: ../../build/doc/release_notes.rst:629 msgid "Bug fixes on proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:629 +#: ../../build/doc/release_notes.rst:631 msgid "pgr_withPointsKSP: fixed ordering" msgstr "" -#: ../../build/doc/release_notes.rst:631 +#: ../../build/doc/release_notes.rst:633 msgid "TRSP original code is used with no changes on the compilation warnings" msgstr "" -#: ../../build/doc/release_notes.rst:636 +#: ../../build/doc/release_notes.rst:638 msgid "pgRouting 2.3.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:638 +#: ../../build/doc/release_notes.rst:640 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.2 " @@ -1433,27 +1439,27 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:642 +#: ../../build/doc/release_notes.rst:644 msgid "Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck." msgstr "" -#: ../../build/doc/release_notes.rst:643 +#: ../../build/doc/release_notes.rst:645 msgid "Fixed pgr_trsp:" msgstr "" -#: ../../build/doc/release_notes.rst:645 +#: ../../build/doc/release_notes.rst:647 msgid "Alternate code is not executed when the point is in reality a vertex" msgstr "" -#: ../../build/doc/release_notes.rst:646 +#: ../../build/doc/release_notes.rst:648 msgid "Fixed ambiguity on seq" msgstr "" -#: ../../build/doc/release_notes.rst:652 +#: ../../build/doc/release_notes.rst:654 msgid "pgRouting 2.3.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:654 +#: ../../build/doc/release_notes.rst:656 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.1 " @@ -1461,23 +1467,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:658 +#: ../../build/doc/release_notes.rst:660 msgid "Leaks on proposed max_flow functions" msgstr "" -#: ../../build/doc/release_notes.rst:659 +#: ../../build/doc/release_notes.rst:661 msgid "Regression error on pgr_trsp" msgstr "" -#: ../../build/doc/release_notes.rst:660 +#: ../../build/doc/release_notes.rst:662 msgid "Types discrepancy on pgr_createVerticesTable" msgstr "" -#: ../../build/doc/release_notes.rst:666 +#: ../../build/doc/release_notes.rst:668 msgid "pgRouting 2.3.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:668 +#: ../../build/doc/release_notes.rst:670 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.0 " @@ -1485,111 +1491,111 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:672 +#: ../../build/doc/release_notes.rst:674 msgid "pgr_TSP" msgstr "" -#: ../../build/doc/release_notes.rst:673 +#: ../../build/doc/release_notes.rst:675 msgid "pgr_aStar" msgstr "" -#: ../../build/doc/release_notes.rst:676 ../../build/doc/release_notes.rst:788 +#: ../../build/doc/release_notes.rst:678 ../../build/doc/release_notes.rst:790 msgid "New Functions" msgstr "" -#: ../../build/doc/release_notes.rst:677 +#: ../../build/doc/release_notes.rst:679 msgid "pgr_eucledianTSP" msgstr "" -#: ../../build/doc/release_notes.rst:683 +#: ../../build/doc/release_notes.rst:685 msgid "pgr_withPointsCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:684 +#: ../../build/doc/release_notes.rst:686 msgid "pgr_maxFlowPushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:685 +#: ../../build/doc/release_notes.rst:687 msgid "pgr_maxFlowPushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:686 +#: ../../build/doc/release_notes.rst:688 msgid "pgr_maxFlowPushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:687 +#: ../../build/doc/release_notes.rst:689 msgid "pgr_maxFlowPushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:688 +#: ../../build/doc/release_notes.rst:690 msgid "pgr_maxFlowEdmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:689 +#: ../../build/doc/release_notes.rst:691 msgid "pgr_maxFlowEdmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:690 +#: ../../build/doc/release_notes.rst:692 msgid "pgr_maxFlowEdmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:691 +#: ../../build/doc/release_notes.rst:693 msgid "pgr_maxFlowEdmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:692 +#: ../../build/doc/release_notes.rst:694 msgid "pgr_maxFlowBoykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:693 +#: ../../build/doc/release_notes.rst:695 msgid "pgr_maxFlowBoykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:694 +#: ../../build/doc/release_notes.rst:696 msgid "pgr_maxFlowBoykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:695 +#: ../../build/doc/release_notes.rst:697 msgid "pgr_maxFlowBoykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:696 +#: ../../build/doc/release_notes.rst:698 msgid "pgr_maximumCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:701 +#: ../../build/doc/release_notes.rst:703 msgid "pgr_contractGraph" msgstr "" -#: ../../build/doc/release_notes.rst:706 +#: ../../build/doc/release_notes.rst:708 msgid "pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead" msgstr "" -#: ../../build/doc/release_notes.rst:707 +#: ../../build/doc/release_notes.rst:709 msgid "pgr_astar - use pgr_aStar instead" msgstr "" -#: ../../build/doc/release_notes.rst:712 +#: ../../build/doc/release_notes.rst:714 msgid "pgr_flip_edges" msgstr "" -#: ../../build/doc/release_notes.rst:713 +#: ../../build/doc/release_notes.rst:715 msgid "pgr_vidsToDmatrix" msgstr "" -#: ../../build/doc/release_notes.rst:714 +#: ../../build/doc/release_notes.rst:716 msgid "pgr_pointsToDMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:715 +#: ../../build/doc/release_notes.rst:717 msgid "pgr_textToPoints" msgstr "" -#: ../../build/doc/release_notes.rst:722 +#: ../../build/doc/release_notes.rst:724 msgid "pgRouting 2.2.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:724 +#: ../../build/doc/release_notes.rst:726 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.4 " @@ -1597,23 +1603,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:728 +#: ../../build/doc/release_notes.rst:730 msgid "Bogus uses of extern \"C\"" msgstr "" -#: ../../build/doc/release_notes.rst:729 +#: ../../build/doc/release_notes.rst:731 msgid "Build error on Fedora 24 + GCC 6.0" msgstr "" -#: ../../build/doc/release_notes.rst:730 +#: ../../build/doc/release_notes.rst:732 msgid "Regression error pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:735 +#: ../../build/doc/release_notes.rst:737 msgid "pgRouting 2.2.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:737 +#: ../../build/doc/release_notes.rst:739 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.3 " @@ -1621,15 +1627,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:741 +#: ../../build/doc/release_notes.rst:743 msgid "Fixed compatibility issues with PostgreSQL 9.6." msgstr "" -#: ../../build/doc/release_notes.rst:746 +#: ../../build/doc/release_notes.rst:748 msgid "pgRouting 2.2.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:748 +#: ../../build/doc/release_notes.rst:750 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.2 " @@ -1637,15 +1643,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:752 +#: ../../build/doc/release_notes.rst:754 msgid "Fixed regression error on pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:758 +#: ../../build/doc/release_notes.rst:760 msgid "pgRouting 2.2.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:760 +#: ../../build/doc/release_notes.rst:762 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.1 " @@ -1653,19 +1659,19 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:764 +#: ../../build/doc/release_notes.rst:766 msgid "Server crash fix on pgr_alphaShape" msgstr "" -#: ../../build/doc/release_notes.rst:765 +#: ../../build/doc/release_notes.rst:767 msgid "Bug fix on With Points family of functions" msgstr "" -#: ../../build/doc/release_notes.rst:771 +#: ../../build/doc/release_notes.rst:773 msgid "pgRouting 2.2.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:773 +#: ../../build/doc/release_notes.rst:775 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.0 " @@ -1673,131 +1679,131 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:777 ../../build/doc/release_notes.rst:845 +#: ../../build/doc/release_notes.rst:779 ../../build/doc/release_notes.rst:847 msgid "Improvements" msgstr "" -#: ../../build/doc/release_notes.rst:778 +#: ../../build/doc/release_notes.rst:780 msgid "pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:780 +#: ../../build/doc/release_notes.rst:782 msgid "Adding a row_where and outall optional parameters" msgstr "" -#: ../../build/doc/release_notes.rst:782 +#: ../../build/doc/release_notes.rst:784 msgid "Signature fix" msgstr "" -#: ../../build/doc/release_notes.rst:784 +#: ../../build/doc/release_notes.rst:786 msgid "pgr_dijkstra -- to match what is documented" msgstr "" -#: ../../build/doc/release_notes.rst:790 +#: ../../build/doc/release_notes.rst:792 msgid "pgr_Johnson" msgstr "" -#: ../../build/doc/release_notes.rst:791 +#: ../../build/doc/release_notes.rst:793 msgid "pgr_dijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:792 +#: ../../build/doc/release_notes.rst:794 msgid "pgr_dijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:793 +#: ../../build/doc/release_notes.rst:795 msgid "pgr_dijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:794 +#: ../../build/doc/release_notes.rst:796 msgid "pgr_dijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:797 ../../build/doc/release_notes.rst:849 +#: ../../build/doc/release_notes.rst:799 ../../build/doc/release_notes.rst:851 msgid "Proposed functionality" msgstr "" -#: ../../build/doc/release_notes.rst:798 +#: ../../build/doc/release_notes.rst:800 msgid "pgr_withPoints(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:799 +#: ../../build/doc/release_notes.rst:801 msgid "pgr_withPoints(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:800 +#: ../../build/doc/release_notes.rst:802 msgid "pgr_withPoints(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:801 +#: ../../build/doc/release_notes.rst:803 msgid "pgr_withPoints(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:802 +#: ../../build/doc/release_notes.rst:804 msgid "pgr_withPointsCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:803 +#: ../../build/doc/release_notes.rst:805 msgid "pgr_withPointsCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:804 +#: ../../build/doc/release_notes.rst:806 msgid "pgr_withPointsCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:805 +#: ../../build/doc/release_notes.rst:807 msgid "pgr_withPointsCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:806 +#: ../../build/doc/release_notes.rst:808 msgid "pgr_withPointsDD(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:807 +#: ../../build/doc/release_notes.rst:809 msgid "pgr_withPointsDD(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:808 +#: ../../build/doc/release_notes.rst:810 msgid "pgr_withPointsKSP" msgstr "" -#: ../../build/doc/release_notes.rst:809 +#: ../../build/doc/release_notes.rst:811 msgid "pgr_dijkstraVia" msgstr "" -#: ../../build/doc/release_notes.rst:813 +#: ../../build/doc/release_notes.rst:815 msgid "Deprecated functions:" msgstr "" -#: ../../build/doc/release_notes.rst:814 +#: ../../build/doc/release_notes.rst:816 msgid "pgr_apspWarshall use pgr_floydWarshall instead" msgstr "" -#: ../../build/doc/release_notes.rst:815 +#: ../../build/doc/release_notes.rst:817 msgid "pgr_apspJohnson use pgr_Johnson instead" msgstr "" -#: ../../build/doc/release_notes.rst:816 +#: ../../build/doc/release_notes.rst:818 msgid "pgr_kDijkstraCost use pgr_dijkstraCost instead" msgstr "" -#: ../../build/doc/release_notes.rst:817 +#: ../../build/doc/release_notes.rst:819 msgid "pgr_kDijkstraPath use pgr_dijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:820 +#: ../../build/doc/release_notes.rst:822 msgid "Renamed and deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:821 +#: ../../build/doc/release_notes.rst:823 msgid "pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:827 +#: ../../build/doc/release_notes.rst:829 msgid "pgRouting 2.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:829 +#: ../../build/doc/release_notes.rst:831 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.1.0 " @@ -1805,199 +1811,199 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:833 +#: ../../build/doc/release_notes.rst:835 msgid "pgr_dijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:834 +#: ../../build/doc/release_notes.rst:836 msgid "pgr_dijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:835 +#: ../../build/doc/release_notes.rst:837 msgid "pgr_dijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:836 +#: ../../build/doc/release_notes.rst:838 msgid "pgr_drivingDistance(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:839 +#: ../../build/doc/release_notes.rst:841 msgid "Refactored" msgstr "" -#: ../../build/doc/release_notes.rst:840 +#: ../../build/doc/release_notes.rst:842 msgid "pgr_dijkstra(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:841 +#: ../../build/doc/release_notes.rst:843 msgid "pgr_ksp" msgstr "" -#: ../../build/doc/release_notes.rst:842 +#: ../../build/doc/release_notes.rst:844 msgid "pgr_drivingDistance(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:846 +#: ../../build/doc/release_notes.rst:848 msgid "" "pgr_alphaShape function now can generate better (multi)polygon with holes" " and alpha parameter." msgstr "" -#: ../../build/doc/release_notes.rst:850 +#: ../../build/doc/release_notes.rst:852 msgid "" "Proposed functions from Steve Woodbridge, (Classified as Convenience by " "the author.)" msgstr "" -#: ../../build/doc/release_notes.rst:852 +#: ../../build/doc/release_notes.rst:854 msgid "" "pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on " "closest edge." msgstr "" -#: ../../build/doc/release_notes.rst:853 +#: ../../build/doc/release_notes.rst:855 msgid "" "pgr_flipEdges - flip the edges in an array of geometries so the connect " "end to end." msgstr "" -#: ../../build/doc/release_notes.rst:854 +#: ../../build/doc/release_notes.rst:856 msgid "" "pgr_textToPoints - convert a string of x,y;x,y;... locations into point " "geometries." msgstr "" -#: ../../build/doc/release_notes.rst:855 +#: ../../build/doc/release_notes.rst:857 msgid "pgr_pointsToVids - convert an array of point geometries into vertex ids." msgstr "" -#: ../../build/doc/release_notes.rst:856 +#: ../../build/doc/release_notes.rst:858 msgid "pgr_pointsToDMatrix - Create a distance matrix from an array of points." msgstr "" -#: ../../build/doc/release_notes.rst:857 ../../build/doc/release_notes.rst:858 +#: ../../build/doc/release_notes.rst:859 ../../build/doc/release_notes.rst:860 msgid "pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." msgstr "" -#: ../../build/doc/release_notes.rst:860 +#: ../../build/doc/release_notes.rst:862 msgid "Added proposed functions from GSoc Projects:" msgstr "" -#: ../../build/doc/release_notes.rst:862 +#: ../../build/doc/release_notes.rst:864 msgid "pgr_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:863 +#: ../../build/doc/release_notes.rst:865 msgid "pgr_vrponedepot" msgstr "" -#: ../../build/doc/release_notes.rst:866 +#: ../../build/doc/release_notes.rst:868 msgid "Deprecated functions" msgstr "" -#: ../../build/doc/release_notes.rst:867 +#: ../../build/doc/release_notes.rst:869 msgid "pgr_getColumnName" msgstr "" -#: ../../build/doc/release_notes.rst:868 +#: ../../build/doc/release_notes.rst:870 msgid "pgr_getTableName" msgstr "" -#: ../../build/doc/release_notes.rst:869 +#: ../../build/doc/release_notes.rst:871 msgid "pgr_isColumnCndexed" msgstr "" -#: ../../build/doc/release_notes.rst:870 +#: ../../build/doc/release_notes.rst:872 msgid "pgr_isColumnInTable" msgstr "" -#: ../../build/doc/release_notes.rst:871 +#: ../../build/doc/release_notes.rst:873 msgid "pgr_quote_ident" msgstr "" -#: ../../build/doc/release_notes.rst:872 +#: ../../build/doc/release_notes.rst:874 msgid "pgr_versionless" msgstr "" -#: ../../build/doc/release_notes.rst:873 +#: ../../build/doc/release_notes.rst:875 msgid "pgr_startPoint" msgstr "" -#: ../../build/doc/release_notes.rst:874 +#: ../../build/doc/release_notes.rst:876 msgid "pgr_endPoint" msgstr "" -#: ../../build/doc/release_notes.rst:875 +#: ../../build/doc/release_notes.rst:877 msgid "pgr_pointToId" msgstr "" -#: ../../build/doc/release_notes.rst:878 +#: ../../build/doc/release_notes.rst:880 msgid "No longer supported" msgstr "" -#: ../../build/doc/release_notes.rst:879 +#: ../../build/doc/release_notes.rst:881 msgid "Removed the 1.x legacy functions" msgstr "" -#: ../../build/doc/release_notes.rst:883 +#: ../../build/doc/release_notes.rst:885 msgid "Some bug fixes in other functions" msgstr "" -#: ../../build/doc/release_notes.rst:887 +#: ../../build/doc/release_notes.rst:889 msgid "Refactoring Internal Code" msgstr "" -#: ../../build/doc/release_notes.rst:888 +#: ../../build/doc/release_notes.rst:890 msgid "A C and C++ library for developer was created" msgstr "" -#: ../../build/doc/release_notes.rst:890 +#: ../../build/doc/release_notes.rst:892 msgid "encapsulates postgreSQL related functions" msgstr "" -#: ../../build/doc/release_notes.rst:891 +#: ../../build/doc/release_notes.rst:893 msgid "encapsulates Boost.Graph graphs" msgstr "" -#: ../../build/doc/release_notes.rst:893 +#: ../../build/doc/release_notes.rst:895 msgid "Directed Boost.Graph" msgstr "" -#: ../../build/doc/release_notes.rst:894 +#: ../../build/doc/release_notes.rst:896 msgid "Undirected Boost.graph." msgstr "" -#: ../../build/doc/release_notes.rst:896 +#: ../../build/doc/release_notes.rst:898 msgid "allow any-integer in the id's" msgstr "" -#: ../../build/doc/release_notes.rst:897 +#: ../../build/doc/release_notes.rst:899 msgid "allow any-numerical on the cost/reverse_cost columns" msgstr "" -#: ../../build/doc/release_notes.rst:899 +#: ../../build/doc/release_notes.rst:901 msgid "" "Instead of generating many libraries: - All functions are encapsulated in" " one library - The library has the prefix 2-1-0" msgstr "" -#: ../../build/doc/release_notes.rst:908 +#: ../../build/doc/release_notes.rst:910 msgid "pgRouting 2.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:910 +#: ../../build/doc/release_notes.rst:912 msgid "Minor bug fixes." msgstr "" -#: ../../build/doc/release_notes.rst:914 +#: ../../build/doc/release_notes.rst:916 msgid "No track of the bug fixes were kept." msgstr "" -#: ../../build/doc/release_notes.rst:920 +#: ../../build/doc/release_notes.rst:922 msgid "pgRouting 2.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:922 +#: ../../build/doc/release_notes.rst:924 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.0.0 " @@ -2005,162 +2011,162 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:924 +#: ../../build/doc/release_notes.rst:926 msgid "" "With the release of pgRouting 2.0.0 the library has abandoned backwards " "compatibility to :ref:`pgRouting 1.x ` releases. The main " "Goals for this release are:" msgstr "" -#: ../../build/doc/release_notes.rst:927 +#: ../../build/doc/release_notes.rst:929 msgid "Major restructuring of pgRouting." msgstr "" -#: ../../build/doc/release_notes.rst:928 +#: ../../build/doc/release_notes.rst:930 msgid "Standardization of the function naming" msgstr "" -#: ../../build/doc/release_notes.rst:929 +#: ../../build/doc/release_notes.rst:931 msgid "Preparation of the project for future development." msgstr "" -#: ../../build/doc/release_notes.rst:931 +#: ../../build/doc/release_notes.rst:933 msgid "As a result of this effort:" msgstr "" -#: ../../build/doc/release_notes.rst:933 +#: ../../build/doc/release_notes.rst:935 msgid "pgRouting has a simplified structure" msgstr "" -#: ../../build/doc/release_notes.rst:934 +#: ../../build/doc/release_notes.rst:936 msgid "Significant new functionality has being added" msgstr "" -#: ../../build/doc/release_notes.rst:935 +#: ../../build/doc/release_notes.rst:937 msgid "Documentation has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:936 +#: ../../build/doc/release_notes.rst:938 msgid "Testing has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:937 +#: ../../build/doc/release_notes.rst:939 msgid "And made it easier for multiple developers to make contributions." msgstr "" -#: ../../build/doc/release_notes.rst:941 +#: ../../build/doc/release_notes.rst:943 msgid "Important Changes" msgstr "" -#: ../../build/doc/release_notes.rst:942 +#: ../../build/doc/release_notes.rst:944 msgid "" "Graph Analytics - tools for detecting and fixing connection some problems" " in a graph" msgstr "" -#: ../../build/doc/release_notes.rst:943 +#: ../../build/doc/release_notes.rst:945 msgid "A collection of useful utility functions" msgstr "" -#: ../../build/doc/release_notes.rst:944 +#: ../../build/doc/release_notes.rst:946 msgid "" "Two new All Pairs Short Path algorithms (pgr_apspJohnson, " "pgr_apspWarshall)" msgstr "" -#: ../../build/doc/release_notes.rst:945 +#: ../../build/doc/release_notes.rst:947 msgid "" "Bi-directional Dijkstra and A-star search algorithms (pgr_bdAstar, " "pgr_bdDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:946 +#: ../../build/doc/release_notes.rst:948 msgid "One to many nodes search (pgr_kDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:947 +#: ../../build/doc/release_notes.rst:949 msgid "K alternate paths shortest path (pgr_ksp)" msgstr "" -#: ../../build/doc/release_notes.rst:948 +#: ../../build/doc/release_notes.rst:950 msgid "" "New TSP solver that simplifies the code and the build process (pgr_tsp), " "dropped \"Gaul Library\" dependency" msgstr "" -#: ../../build/doc/release_notes.rst:949 +#: ../../build/doc/release_notes.rst:951 msgid "Turn Restricted shortest path (pgr_trsp) that replaces Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:950 +#: ../../build/doc/release_notes.rst:952 msgid "Dropped support for Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:951 +#: ../../build/doc/release_notes.rst:953 msgid "" "Built a test infrastructure that is run before major code changes are " "checked in" msgstr "" -#: ../../build/doc/release_notes.rst:952 +#: ../../build/doc/release_notes.rst:954 msgid "" "Tested and fixed most all of the outstanding bugs reported against 1.x " "that existing in the 2.0-dev code base." msgstr "" -#: ../../build/doc/release_notes.rst:953 +#: ../../build/doc/release_notes.rst:955 msgid "Improved build process for Windows" msgstr "" -#: ../../build/doc/release_notes.rst:954 +#: ../../build/doc/release_notes.rst:956 msgid "Automated testing on Linux and Windows platforms trigger by every commit" msgstr "" -#: ../../build/doc/release_notes.rst:955 +#: ../../build/doc/release_notes.rst:957 msgid "Modular library design" msgstr "" -#: ../../build/doc/release_notes.rst:956 +#: ../../build/doc/release_notes.rst:958 msgid "Compatibility with PostgreSQL 9.1 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:957 +#: ../../build/doc/release_notes.rst:959 msgid "Compatibility with PostGIS 2.0 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:958 +#: ../../build/doc/release_notes.rst:960 msgid "Installs as PostgreSQL EXTENSION" msgstr "" -#: ../../build/doc/release_notes.rst:959 +#: ../../build/doc/release_notes.rst:961 msgid "Return types re factored and unified" msgstr "" -#: ../../build/doc/release_notes.rst:960 +#: ../../build/doc/release_notes.rst:962 msgid "Support for table SCHEMA in function parameters" msgstr "" -#: ../../build/doc/release_notes.rst:961 +#: ../../build/doc/release_notes.rst:963 msgid "Support for ``st_`` PostGIS function prefix" msgstr "" -#: ../../build/doc/release_notes.rst:962 +#: ../../build/doc/release_notes.rst:964 msgid "Added ``pgr_`` prefix to functions and types" msgstr "" -#: ../../build/doc/release_notes.rst:963 +#: ../../build/doc/release_notes.rst:965 msgid "Better documentation: https://docs.pgrouting.org" msgstr "" -#: ../../build/doc/release_notes.rst:964 +#: ../../build/doc/release_notes.rst:966 msgid "shooting_star is discontinued" msgstr "" -#: ../../build/doc/release_notes.rst:971 +#: ../../build/doc/release_notes.rst:973 msgid "pgRouting 1.x Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:973 +#: ../../build/doc/release_notes.rst:975 msgid "" "To see the issues closed by this release see the `Git closed issues for " "1.x " @@ -2169,93 +2175,93 @@ msgid "" "previous ``RELEASE_NOTES`` file and are kept as a reference." msgstr "" -#: ../../build/doc/release_notes.rst:978 +#: ../../build/doc/release_notes.rst:980 msgid "Changes for release 1.05" msgstr "" -#: ../../build/doc/release_notes.rst:984 +#: ../../build/doc/release_notes.rst:986 msgid "Changes for release 1.03" msgstr "" -#: ../../build/doc/release_notes.rst:986 +#: ../../build/doc/release_notes.rst:988 msgid "Much faster topology creation" msgstr "" -#: ../../build/doc/release_notes.rst:991 +#: ../../build/doc/release_notes.rst:993 msgid "Changes for release 1.02" msgstr "" -#: ../../build/doc/release_notes.rst:993 ../../build/doc/release_notes.rst:1000 +#: ../../build/doc/release_notes.rst:995 ../../build/doc/release_notes.rst:1002 msgid "Shooting* bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:994 +#: ../../build/doc/release_notes.rst:996 msgid "Compilation problems solved" msgstr "" -#: ../../build/doc/release_notes.rst:998 +#: ../../build/doc/release_notes.rst:1000 msgid "Changes for release 1.01" msgstr "" -#: ../../build/doc/release_notes.rst:1004 +#: ../../build/doc/release_notes.rst:1006 msgid "Changes for release 1.0" msgstr "" -#: ../../build/doc/release_notes.rst:1006 +#: ../../build/doc/release_notes.rst:1008 msgid "Core and extra functions are separated" msgstr "" -#: ../../build/doc/release_notes.rst:1007 +#: ../../build/doc/release_notes.rst:1009 msgid "Cmake build process" msgstr "" -#: ../../build/doc/release_notes.rst:1012 +#: ../../build/doc/release_notes.rst:1014 msgid "Changes for release 1.0.0b" msgstr "" -#: ../../build/doc/release_notes.rst:1014 +#: ../../build/doc/release_notes.rst:1016 msgid "Additional SQL file with more simple names for wrapper functions" msgstr "" -#: ../../build/doc/release_notes.rst:1019 +#: ../../build/doc/release_notes.rst:1021 msgid "Changes for release 1.0.0a" msgstr "" -#: ../../build/doc/release_notes.rst:1021 +#: ../../build/doc/release_notes.rst:1023 msgid "Shooting* shortest path algorithm for real road networks" msgstr "" -#: ../../build/doc/release_notes.rst:1022 +#: ../../build/doc/release_notes.rst:1024 msgid "Several SQL bugs were fixed" msgstr "" -#: ../../build/doc/release_notes.rst:1026 +#: ../../build/doc/release_notes.rst:1028 msgid "Changes for release 0.9.9" msgstr "" -#: ../../build/doc/release_notes.rst:1028 +#: ../../build/doc/release_notes.rst:1030 msgid "PostgreSQL 8.2 support" msgstr "" -#: ../../build/doc/release_notes.rst:1029 +#: ../../build/doc/release_notes.rst:1031 msgid "" "Shortest path functions return empty result if they could not find any " "path" msgstr "" -#: ../../build/doc/release_notes.rst:1033 +#: ../../build/doc/release_notes.rst:1035 msgid "Changes for release 0.9.8" msgstr "" -#: ../../build/doc/release_notes.rst:1035 +#: ../../build/doc/release_notes.rst:1037 msgid "Renumbering scheme was added to shortest path functions" msgstr "" -#: ../../build/doc/release_notes.rst:1036 +#: ../../build/doc/release_notes.rst:1038 msgid "Directed shortest path functions were added" msgstr "" -#: ../../build/doc/release_notes.rst:1037 +#: ../../build/doc/release_notes.rst:1039 msgid "routing_postgis.sql was modified to use dijkstra in TSP search" msgstr "" diff --git a/locale/pot/release_notes.pot b/locale/pot/release_notes.pot index 1368d991983..ecde0d8cc6b 100644 --- a/locale/pot/release_notes.pot +++ b/locale/pot/release_notes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-11-05 07:29-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -221,1915 +221,1920 @@ msgid "To see all issues & pull requests closed by this release see the `Git clo msgstr "" #: ../../build/doc/release_notes.rst:86 -#: ../../build/doc/release_notes.rst:128 -#: ../../build/doc/release_notes.rst:140 +#: ../../build/doc/release_notes.rst:130 +#: ../../build/doc/release_notes.rst:142 msgid "Issues fixes" msgstr "" #: ../../build/doc/release_notes.rst:87 -#: ../../build/doc/release_notes.rst:115 -msgid "`#1616 `__: Path evaluation on C++ not updated before the results go back to C" +#: ../../build/doc/release_notes.rst:116 +msgid "`#1647 `__: Linear Contraction contracts self loops" msgstr "" #: ../../build/doc/release_notes.rst:88 -#: ../../build/doc/release_notes.rst:116 +#: ../../build/doc/release_notes.rst:117 +msgid "`#1616 `__: Path evaluation on C++ not updated before the results go back to C" +msgstr "" + +#: ../../build/doc/release_notes.rst:89 +#: ../../build/doc/release_notes.rst:118 msgid "`#1300 `__: pgr_chinesePostman crash on test data" msgstr "" -#: ../../build/doc/release_notes.rst:94 +#: ../../build/doc/release_notes.rst:95 msgid "pgRouting 3.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:96 +#: ../../build/doc/release_notes.rst:97 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:100 +#: ../../build/doc/release_notes.rst:101 msgid "New proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:101 +#: ../../build/doc/release_notes.rst:102 msgid "pgr_dijkstra(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:102 +#: ../../build/doc/release_notes.rst:103 msgid "pgr_dijkstraCost(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:105 +#: ../../build/doc/release_notes.rst:106 msgid "Build changes" msgstr "" -#: ../../build/doc/release_notes.rst:106 +#: ../../build/doc/release_notes.rst:107 msgid "Minimal requirement for Sphinx: version 1.8" msgstr "" -#: ../../build/doc/release_notes.rst:111 +#: ../../build/doc/release_notes.rst:112 msgid "pgRouting 3.0.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:114 +#: ../../build/doc/release_notes.rst:115 msgid "Backport issues fixes" msgstr "" -#: ../../build/doc/release_notes.rst:122 +#: ../../build/doc/release_notes.rst:124 msgid "pgRouting 3.0.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:124 +#: ../../build/doc/release_notes.rst:126 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:129 +#: ../../build/doc/release_notes.rst:131 msgid "`#1378 `__: Visual Studio build failing" msgstr "" -#: ../../build/doc/release_notes.rst:134 +#: ../../build/doc/release_notes.rst:136 msgid "pgRouting 3.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:136 +#: ../../build/doc/release_notes.rst:138 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:141 +#: ../../build/doc/release_notes.rst:143 msgid "`#232 `__: Honor client cancel requests in C /C++ code" msgstr "" -#: ../../build/doc/release_notes.rst:146 +#: ../../build/doc/release_notes.rst:148 msgid "pgRouting 3.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:148 +#: ../../build/doc/release_notes.rst:150 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:152 +#: ../../build/doc/release_notes.rst:154 msgid "Fixed Issues" msgstr "" -#: ../../build/doc/release_notes.rst:153 +#: ../../build/doc/release_notes.rst:155 msgid "`#1153 `__: Renamed pgr_eucledianTSP to pgr_TSPeuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:154 +#: ../../build/doc/release_notes.rst:156 msgid "`#1188 `__: Removed CGAL dependency" msgstr "" -#: ../../build/doc/release_notes.rst:155 +#: ../../build/doc/release_notes.rst:157 msgid "`#1002 `__: Fixed contraction issues:" msgstr "" -#: ../../build/doc/release_notes.rst:157 +#: ../../build/doc/release_notes.rst:159 msgid "`#1004 `__: Contracts when forbidden vertices do not belong to graph" msgstr "" -#: ../../build/doc/release_notes.rst:158 +#: ../../build/doc/release_notes.rst:160 msgid "`#1005 `__: Intermideate results eliminated" msgstr "" -#: ../../build/doc/release_notes.rst:159 +#: ../../build/doc/release_notes.rst:161 msgid "`#1006 `__: No loss of information" msgstr "" -#: ../../build/doc/release_notes.rst:162 +#: ../../build/doc/release_notes.rst:164 msgid "New functions" msgstr "" -#: ../../build/doc/release_notes.rst:163 +#: ../../build/doc/release_notes.rst:165 msgid "Kruskal family" msgstr "" -#: ../../build/doc/release_notes.rst:165 +#: ../../build/doc/release_notes.rst:167 msgid "pgr_kruskal" msgstr "" -#: ../../build/doc/release_notes.rst:166 +#: ../../build/doc/release_notes.rst:168 msgid "pgr_kruskalBFS" msgstr "" -#: ../../build/doc/release_notes.rst:167 +#: ../../build/doc/release_notes.rst:169 msgid "pgr_kruskalDD" msgstr "" -#: ../../build/doc/release_notes.rst:168 +#: ../../build/doc/release_notes.rst:170 msgid "pgr_kruskalDFS" msgstr "" -#: ../../build/doc/release_notes.rst:170 +#: ../../build/doc/release_notes.rst:172 msgid "Prim family" msgstr "" -#: ../../build/doc/release_notes.rst:172 +#: ../../build/doc/release_notes.rst:174 msgid "pgr_prim" msgstr "" -#: ../../build/doc/release_notes.rst:173 +#: ../../build/doc/release_notes.rst:175 msgid "pgr_primDD" msgstr "" -#: ../../build/doc/release_notes.rst:174 +#: ../../build/doc/release_notes.rst:176 msgid "pgr_primDFS" msgstr "" -#: ../../build/doc/release_notes.rst:175 +#: ../../build/doc/release_notes.rst:177 msgid "pgr_primBFS" msgstr "" -#: ../../build/doc/release_notes.rst:179 +#: ../../build/doc/release_notes.rst:181 msgid "Proposed moved to official on pgRouting" msgstr "" -#: ../../build/doc/release_notes.rst:180 +#: ../../build/doc/release_notes.rst:182 msgid "aStar Family" msgstr "" -#: ../../build/doc/release_notes.rst:182 +#: ../../build/doc/release_notes.rst:184 msgid "pgr_aStar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:183 +#: ../../build/doc/release_notes.rst:185 msgid "pgr_aStar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:184 +#: ../../build/doc/release_notes.rst:186 msgid "pgr_aStar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:185 +#: ../../build/doc/release_notes.rst:187 msgid "pgr_aStarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:186 +#: ../../build/doc/release_notes.rst:188 msgid "pgr_aStarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:187 +#: ../../build/doc/release_notes.rst:189 msgid "pgr_aStarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:188 +#: ../../build/doc/release_notes.rst:190 msgid "pgr_aStarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:189 +#: ../../build/doc/release_notes.rst:191 msgid "pgr_aStarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:190 +#: ../../build/doc/release_notes.rst:192 msgid "pgr_aStarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:191 +#: ../../build/doc/release_notes.rst:193 msgid "pgr_aStarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:192 -msgid "pgr_aStarCostMatrix(many to many)" -msgstr "" - #: ../../build/doc/release_notes.rst:194 -msgid "bdAstar Family" +msgid "pgr_aStarCostMatrix(many to many)" msgstr "" #: ../../build/doc/release_notes.rst:196 -#: ../../build/doc/release_notes.rst:523 -msgid "pgr_bdAstar(one to many)" -msgstr "" - -#: ../../build/doc/release_notes.rst:197 -#: ../../build/doc/release_notes.rst:524 -msgid "pgr_bdAstar(many to one)" +msgid "bdAstar Family" msgstr "" #: ../../build/doc/release_notes.rst:198 #: ../../build/doc/release_notes.rst:525 -msgid "pgr_bdAstar(many to many)" +msgid "pgr_bdAstar(one to many)" msgstr "" #: ../../build/doc/release_notes.rst:199 #: ../../build/doc/release_notes.rst:526 -msgid "pgr_bdAstarCost(one to one)" +msgid "pgr_bdAstar(many to one)" msgstr "" #: ../../build/doc/release_notes.rst:200 #: ../../build/doc/release_notes.rst:527 -msgid "pgr_bdAstarCost(one to many)" +msgid "pgr_bdAstar(many to many)" msgstr "" #: ../../build/doc/release_notes.rst:201 #: ../../build/doc/release_notes.rst:528 -msgid "pgr_bdAstarCost(many to one)" +msgid "pgr_bdAstarCost(one to one)" msgstr "" #: ../../build/doc/release_notes.rst:202 #: ../../build/doc/release_notes.rst:529 -msgid "pgr_bdAstarCost(many to many)" +msgid "pgr_bdAstarCost(one to many)" msgstr "" #: ../../build/doc/release_notes.rst:203 -msgid "pgr_bdAstarCostMatrix(one to one)" +#: ../../build/doc/release_notes.rst:530 +msgid "pgr_bdAstarCost(many to one)" msgstr "" #: ../../build/doc/release_notes.rst:204 -msgid "pgr_bdAstarCostMatrix(one to many)" +#: ../../build/doc/release_notes.rst:531 +msgid "pgr_bdAstarCost(many to many)" msgstr "" #: ../../build/doc/release_notes.rst:205 -msgid "pgr_bdAstarCostMatrix(many to one)" +msgid "pgr_bdAstarCostMatrix(one to one)" msgstr "" #: ../../build/doc/release_notes.rst:206 -msgid "pgr_bdAstarCostMatrix(many to many)" +msgid "pgr_bdAstarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:208 -msgid "bdDijkstra Family" +#: ../../build/doc/release_notes.rst:207 +msgid "pgr_bdAstarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:210 -#: ../../build/doc/release_notes.rst:531 -msgid "pgr_bdDijkstra(one to many)" +#: ../../build/doc/release_notes.rst:208 +msgid "pgr_bdAstarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:211 -#: ../../build/doc/release_notes.rst:532 -msgid "pgr_bdDijkstra(many to one)" +#: ../../build/doc/release_notes.rst:210 +msgid "bdDijkstra Family" msgstr "" #: ../../build/doc/release_notes.rst:212 #: ../../build/doc/release_notes.rst:533 -msgid "pgr_bdDijkstra(many to many)" +msgid "pgr_bdDijkstra(one to many)" msgstr "" #: ../../build/doc/release_notes.rst:213 #: ../../build/doc/release_notes.rst:534 -msgid "pgr_bdDijkstraCost(one to one)" +msgid "pgr_bdDijkstra(many to one)" msgstr "" #: ../../build/doc/release_notes.rst:214 #: ../../build/doc/release_notes.rst:535 -msgid "pgr_bdDijkstraCost(one to many)" +msgid "pgr_bdDijkstra(many to many)" msgstr "" #: ../../build/doc/release_notes.rst:215 #: ../../build/doc/release_notes.rst:536 -msgid "pgr_bdDijkstraCost(many to one)" +msgid "pgr_bdDijkstraCost(one to one)" msgstr "" #: ../../build/doc/release_notes.rst:216 #: ../../build/doc/release_notes.rst:537 -msgid "pgr_bdDijkstraCost(many to many)" +msgid "pgr_bdDijkstraCost(one to many)" msgstr "" #: ../../build/doc/release_notes.rst:217 -msgid "pgr_bdDijkstraCostMatrix(one to one)" +#: ../../build/doc/release_notes.rst:538 +msgid "pgr_bdDijkstraCost(many to one)" msgstr "" #: ../../build/doc/release_notes.rst:218 -msgid "pgr_bdDijkstraCostMatrix(one to many)" +#: ../../build/doc/release_notes.rst:539 +msgid "pgr_bdDijkstraCost(many to many)" msgstr "" #: ../../build/doc/release_notes.rst:219 -msgid "pgr_bdDijkstraCostMatrix(many to one)" +msgid "pgr_bdDijkstraCostMatrix(one to one)" msgstr "" #: ../../build/doc/release_notes.rst:220 -msgid "pgr_bdDijkstraCostMatrix(many to many)" +msgid "pgr_bdDijkstraCostMatrix(one to many)" +msgstr "" + +#: ../../build/doc/release_notes.rst:221 +msgid "pgr_bdDijkstraCostMatrix(many to one)" msgstr "" #: ../../build/doc/release_notes.rst:222 -msgid "Flow Family" +msgid "pgr_bdDijkstraCostMatrix(many to many)" msgstr "" #: ../../build/doc/release_notes.rst:224 +msgid "Flow Family" +msgstr "" + +#: ../../build/doc/release_notes.rst:226 msgid "pgr_pushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:225 +#: ../../build/doc/release_notes.rst:227 msgid "pgr_pushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:226 +#: ../../build/doc/release_notes.rst:228 msgid "pgr_pushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:227 +#: ../../build/doc/release_notes.rst:229 msgid "pgr_pushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:228 +#: ../../build/doc/release_notes.rst:230 msgid "pgr_edmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:229 +#: ../../build/doc/release_notes.rst:231 msgid "pgr_edmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:230 +#: ../../build/doc/release_notes.rst:232 msgid "pgr_edmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:231 +#: ../../build/doc/release_notes.rst:233 msgid "pgr_edmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:232 +#: ../../build/doc/release_notes.rst:234 msgid "pgr_boykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:233 +#: ../../build/doc/release_notes.rst:235 msgid "pgr_boykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:234 +#: ../../build/doc/release_notes.rst:236 msgid "pgr_boykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:235 +#: ../../build/doc/release_notes.rst:237 msgid "pgr_boykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:236 +#: ../../build/doc/release_notes.rst:238 msgid "pgr_maxCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:237 -#: ../../build/doc/release_notes.rst:607 +#: ../../build/doc/release_notes.rst:239 +#: ../../build/doc/release_notes.rst:609 msgid "pgr_maxFlow" msgstr "" -#: ../../build/doc/release_notes.rst:238 -#: ../../build/doc/release_notes.rst:697 +#: ../../build/doc/release_notes.rst:240 +#: ../../build/doc/release_notes.rst:699 msgid "pgr_edgeDisjointPaths(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:239 -#: ../../build/doc/release_notes.rst:698 +#: ../../build/doc/release_notes.rst:241 +#: ../../build/doc/release_notes.rst:700 msgid "pgr_edgeDisjointPaths(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:240 -#: ../../build/doc/release_notes.rst:699 +#: ../../build/doc/release_notes.rst:242 +#: ../../build/doc/release_notes.rst:701 msgid "pgr_edgeDisjointPaths(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:241 -#: ../../build/doc/release_notes.rst:700 +#: ../../build/doc/release_notes.rst:243 +#: ../../build/doc/release_notes.rst:702 msgid "pgr_edgeDisjointPaths(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:243 +#: ../../build/doc/release_notes.rst:245 msgid "Components family" msgstr "" -#: ../../build/doc/release_notes.rst:245 -#: ../../build/doc/release_notes.rst:541 +#: ../../build/doc/release_notes.rst:247 +#: ../../build/doc/release_notes.rst:543 msgid "pgr_connectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:246 -#: ../../build/doc/release_notes.rst:542 +#: ../../build/doc/release_notes.rst:248 +#: ../../build/doc/release_notes.rst:544 msgid "pgr_strongComponents" msgstr "" -#: ../../build/doc/release_notes.rst:247 -#: ../../build/doc/release_notes.rst:543 +#: ../../build/doc/release_notes.rst:249 +#: ../../build/doc/release_notes.rst:545 msgid "pgr_biconnectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:248 -#: ../../build/doc/release_notes.rst:544 +#: ../../build/doc/release_notes.rst:250 +#: ../../build/doc/release_notes.rst:546 msgid "pgr_articulationPoints" msgstr "" -#: ../../build/doc/release_notes.rst:249 -#: ../../build/doc/release_notes.rst:545 +#: ../../build/doc/release_notes.rst:251 +#: ../../build/doc/release_notes.rst:547 msgid "pgr_bridges" msgstr "" -#: ../../build/doc/release_notes.rst:251 +#: ../../build/doc/release_notes.rst:253 msgid "Contraction:" msgstr "" -#: ../../build/doc/release_notes.rst:253 +#: ../../build/doc/release_notes.rst:255 msgid "Removed unnecessary column seq" msgstr "" -#: ../../build/doc/release_notes.rst:254 -#: ../../build/doc/release_notes.rst:641 -#: ../../build/doc/release_notes.rst:657 -#: ../../build/doc/release_notes.rst:727 -#: ../../build/doc/release_notes.rst:740 -#: ../../build/doc/release_notes.rst:751 -#: ../../build/doc/release_notes.rst:763 -#: ../../build/doc/release_notes.rst:882 -#: ../../build/doc/release_notes.rst:913 +#: ../../build/doc/release_notes.rst:256 +#: ../../build/doc/release_notes.rst:643 +#: ../../build/doc/release_notes.rst:659 +#: ../../build/doc/release_notes.rst:729 +#: ../../build/doc/release_notes.rst:742 +#: ../../build/doc/release_notes.rst:753 +#: ../../build/doc/release_notes.rst:765 +#: ../../build/doc/release_notes.rst:884 +#: ../../build/doc/release_notes.rst:915 msgid "Bug Fixes" msgstr "" -#: ../../build/doc/release_notes.rst:258 +#: ../../build/doc/release_notes.rst:260 msgid "New Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:259 +#: ../../build/doc/release_notes.rst:261 msgid "pgr_maxFlowMinCost" msgstr "" -#: ../../build/doc/release_notes.rst:260 +#: ../../build/doc/release_notes.rst:262 msgid "pgr_maxFlowMinCost_Cost" msgstr "" -#: ../../build/doc/release_notes.rst:261 +#: ../../build/doc/release_notes.rst:263 msgid "pgr_extractVertices" msgstr "" -#: ../../build/doc/release_notes.rst:262 +#: ../../build/doc/release_notes.rst:264 msgid "pgr_turnRestrictedPath" msgstr "" -#: ../../build/doc/release_notes.rst:263 +#: ../../build/doc/release_notes.rst:265 msgid "pgr_stoerWagner" msgstr "" -#: ../../build/doc/release_notes.rst:264 +#: ../../build/doc/release_notes.rst:266 msgid "pgr_dagShortestpath" msgstr "" -#: ../../build/doc/release_notes.rst:265 +#: ../../build/doc/release_notes.rst:267 msgid "pgr_topologicalSort" msgstr "" -#: ../../build/doc/release_notes.rst:266 +#: ../../build/doc/release_notes.rst:268 msgid "pgr_transitiveClosure" msgstr "" -#: ../../build/doc/release_notes.rst:267 +#: ../../build/doc/release_notes.rst:269 msgid "VRP category" msgstr "" -#: ../../build/doc/release_notes.rst:269 +#: ../../build/doc/release_notes.rst:271 msgid "pgr_pickDeliverEuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:270 +#: ../../build/doc/release_notes.rst:272 msgid "pgr_pickDeliver" msgstr "" -#: ../../build/doc/release_notes.rst:272 +#: ../../build/doc/release_notes.rst:274 msgid "Chinese Postman family" msgstr "" -#: ../../build/doc/release_notes.rst:274 +#: ../../build/doc/release_notes.rst:276 msgid "pgr_chinesePostman" msgstr "" -#: ../../build/doc/release_notes.rst:275 +#: ../../build/doc/release_notes.rst:277 msgid "pgr_chinesePostmanCost" msgstr "" -#: ../../build/doc/release_notes.rst:277 +#: ../../build/doc/release_notes.rst:279 msgid "Breadth First Search family" msgstr "" -#: ../../build/doc/release_notes.rst:279 +#: ../../build/doc/release_notes.rst:281 msgid "pgr_breadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:280 +#: ../../build/doc/release_notes.rst:282 msgid "pgr_binaryBreadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:282 +#: ../../build/doc/release_notes.rst:284 msgid "Bellman Ford family" msgstr "" -#: ../../build/doc/release_notes.rst:284 +#: ../../build/doc/release_notes.rst:286 msgid "pgr_bellmanFord" msgstr "" -#: ../../build/doc/release_notes.rst:285 +#: ../../build/doc/release_notes.rst:287 msgid "pgr_edwardMoore" msgstr "" -#: ../../build/doc/release_notes.rst:288 +#: ../../build/doc/release_notes.rst:290 msgid "Moved to legacy" msgstr "" -#: ../../build/doc/release_notes.rst:289 +#: ../../build/doc/release_notes.rst:291 msgid "Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:291 +#: ../../build/doc/release_notes.rst:293 msgid "pgr_labelGraph - Use the components family of functions instead." msgstr "" -#: ../../build/doc/release_notes.rst:292 +#: ../../build/doc/release_notes.rst:294 msgid "Max flow - functions were renamed on v2.5.0" msgstr "" -#: ../../build/doc/release_notes.rst:294 +#: ../../build/doc/release_notes.rst:296 msgid "pgr_maxFlowPushRelabel" msgstr "" -#: ../../build/doc/release_notes.rst:295 +#: ../../build/doc/release_notes.rst:297 msgid "pgr_maxFlowBoykovKolmogorov" msgstr "" -#: ../../build/doc/release_notes.rst:296 +#: ../../build/doc/release_notes.rst:298 msgid "pgr_maxFlowEdmondsKarp" msgstr "" -#: ../../build/doc/release_notes.rst:297 +#: ../../build/doc/release_notes.rst:299 msgid "pgr_maximumcardinalitymatching" msgstr "" -#: ../../build/doc/release_notes.rst:299 +#: ../../build/doc/release_notes.rst:301 msgid "VRP" msgstr "" -#: ../../build/doc/release_notes.rst:301 +#: ../../build/doc/release_notes.rst:303 msgid "pgr_gsoc_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:303 +#: ../../build/doc/release_notes.rst:305 msgid "TSP old signatures" msgstr "" -#: ../../build/doc/release_notes.rst:304 +#: ../../build/doc/release_notes.rst:306 msgid "pgr_pointsAsPolygon" msgstr "" -#: ../../build/doc/release_notes.rst:305 +#: ../../build/doc/release_notes.rst:307 msgid "pgr_alphaShape old signature" msgstr "" -#: ../../build/doc/release_notes.rst:311 +#: ../../build/doc/release_notes.rst:313 msgid "pgRouting 2.6.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:313 +#: ../../build/doc/release_notes.rst:315 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:316 -#: ../../build/doc/release_notes.rst:330 -#: ../../build/doc/release_notes.rst:388 -#: ../../build/doc/release_notes.rst:417 -#: ../../build/doc/release_notes.rst:470 -#: ../../build/doc/release_notes.rst:481 -#: ../../build/doc/release_notes.rst:493 -#: ../../build/doc/release_notes.rst:575 -#: ../../build/doc/release_notes.rst:589 -#: ../../build/doc/release_notes.rst:626 -#: ../../build/doc/release_notes.rst:980 -#: ../../build/doc/release_notes.rst:987 -#: ../../build/doc/release_notes.rst:1008 -#: ../../build/doc/release_notes.rst:1015 +#: ../../build/doc/release_notes.rst:318 +#: ../../build/doc/release_notes.rst:332 +#: ../../build/doc/release_notes.rst:390 +#: ../../build/doc/release_notes.rst:419 +#: ../../build/doc/release_notes.rst:472 +#: ../../build/doc/release_notes.rst:483 +#: ../../build/doc/release_notes.rst:495 +#: ../../build/doc/release_notes.rst:577 +#: ../../build/doc/release_notes.rst:591 +#: ../../build/doc/release_notes.rst:628 +#: ../../build/doc/release_notes.rst:982 +#: ../../build/doc/release_notes.rst:989 +#: ../../build/doc/release_notes.rst:1010 +#: ../../build/doc/release_notes.rst:1017 msgid "Bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:317 +#: ../../build/doc/release_notes.rst:319 msgid "`#1219 `__ Implicit cast for via_path integer to text" msgstr "" -#: ../../build/doc/release_notes.rst:318 +#: ../../build/doc/release_notes.rst:320 msgid "`#1193 `__ Fixed pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" msgstr "" -#: ../../build/doc/release_notes.rst:319 +#: ../../build/doc/release_notes.rst:321 msgid "`#1185 `__ Improve FindPostgreSQL.cmake" msgstr "" -#: ../../build/doc/release_notes.rst:325 +#: ../../build/doc/release_notes.rst:327 msgid "pgRouting 2.6.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:327 +#: ../../build/doc/release_notes.rst:329 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:331 +#: ../../build/doc/release_notes.rst:333 msgid "`#1152 `__ Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:332 +#: ../../build/doc/release_notes.rst:334 msgid "`#1098 `__ Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:333 +#: ../../build/doc/release_notes.rst:335 msgid "`#1165 `__ Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:338 -msgid "pgRouting 2.6.1 Release Notes" -msgstr "" - #: ../../build/doc/release_notes.rst:340 -msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.1 `_ on Github." +msgid "pgRouting 2.6.1 Release Notes" msgstr "" #: ../../build/doc/release_notes.rst:342 -#: ../../build/doc/release_notes.rst:429 -msgid "Fixes server crash on several functions." +msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.1 `_ on Github." msgstr "" #: ../../build/doc/release_notes.rst:344 #: ../../build/doc/release_notes.rst:431 -#: ../../build/doc/release_notes.rst:789 -msgid "pgr_floydWarshall" -msgstr "" - -#: ../../build/doc/release_notes.rst:345 -#: ../../build/doc/release_notes.rst:432 -msgid "pgr_johnson" +msgid "Fixes server crash on several functions." msgstr "" #: ../../build/doc/release_notes.rst:346 #: ../../build/doc/release_notes.rst:433 -msgid "pgr_astar" +#: ../../build/doc/release_notes.rst:791 +msgid "pgr_floydWarshall" msgstr "" #: ../../build/doc/release_notes.rst:347 #: ../../build/doc/release_notes.rst:434 -msgid "pgr_bdAstar" +msgid "pgr_johnson" msgstr "" #: ../../build/doc/release_notes.rst:348 #: ../../build/doc/release_notes.rst:435 -msgid "pgr_bdDijstra" +msgid "pgr_astar" msgstr "" #: ../../build/doc/release_notes.rst:349 #: ../../build/doc/release_notes.rst:436 -msgid "pgr_alphashape" +msgid "pgr_bdAstar" msgstr "" #: ../../build/doc/release_notes.rst:350 #: ../../build/doc/release_notes.rst:437 -#: ../../build/doc/release_notes.rst:682 -msgid "pgr_dijkstraCostMatrix" +msgid "pgr_bdDijstra" msgstr "" #: ../../build/doc/release_notes.rst:351 #: ../../build/doc/release_notes.rst:438 -msgid "pgr_dijkstra" +msgid "pgr_alphashape" msgstr "" #: ../../build/doc/release_notes.rst:352 #: ../../build/doc/release_notes.rst:439 -msgid "pgr_dijkstraCost" +#: ../../build/doc/release_notes.rst:684 +msgid "pgr_dijkstraCostMatrix" msgstr "" #: ../../build/doc/release_notes.rst:353 #: ../../build/doc/release_notes.rst:440 -msgid "pgr_drivingDistance" +msgid "pgr_dijkstra" msgstr "" #: ../../build/doc/release_notes.rst:354 #: ../../build/doc/release_notes.rst:441 -msgid "pgr_KSP" +msgid "pgr_dijkstraCost" msgstr "" #: ../../build/doc/release_notes.rst:355 #: ../../build/doc/release_notes.rst:442 -msgid "pgr_dijkstraVia (proposed)" +msgid "pgr_drivingDistance" msgstr "" #: ../../build/doc/release_notes.rst:356 #: ../../build/doc/release_notes.rst:443 -msgid "pgr_boykovKolmogorov (proposed)" +msgid "pgr_KSP" msgstr "" #: ../../build/doc/release_notes.rst:357 #: ../../build/doc/release_notes.rst:444 -msgid "pgr_edgeDisjointPaths (proposed)" +msgid "pgr_dijkstraVia (proposed)" msgstr "" #: ../../build/doc/release_notes.rst:358 #: ../../build/doc/release_notes.rst:445 -msgid "pgr_edmondsKarp (proposed)" +msgid "pgr_boykovKolmogorov (proposed)" msgstr "" #: ../../build/doc/release_notes.rst:359 #: ../../build/doc/release_notes.rst:446 -msgid "pgr_maxCardinalityMatch (proposed)" +msgid "pgr_edgeDisjointPaths (proposed)" msgstr "" #: ../../build/doc/release_notes.rst:360 #: ../../build/doc/release_notes.rst:447 -msgid "pgr_maxFlow (proposed)" +msgid "pgr_edmondsKarp (proposed)" msgstr "" #: ../../build/doc/release_notes.rst:361 #: ../../build/doc/release_notes.rst:448 -msgid "pgr_withPoints (proposed)" +msgid "pgr_maxCardinalityMatch (proposed)" msgstr "" #: ../../build/doc/release_notes.rst:362 #: ../../build/doc/release_notes.rst:449 -msgid "pgr_withPointsCost (proposed)" +msgid "pgr_maxFlow (proposed)" msgstr "" #: ../../build/doc/release_notes.rst:363 #: ../../build/doc/release_notes.rst:450 -msgid "pgr_withPointsKSP (proposed)" +msgid "pgr_withPoints (proposed)" msgstr "" #: ../../build/doc/release_notes.rst:364 #: ../../build/doc/release_notes.rst:451 -msgid "pgr_withPointsDD (proposed)" +msgid "pgr_withPointsCost (proposed)" msgstr "" #: ../../build/doc/release_notes.rst:365 #: ../../build/doc/release_notes.rst:452 -msgid "pgr_withPointsCostMatrix (proposed)" +msgid "pgr_withPointsKSP (proposed)" msgstr "" #: ../../build/doc/release_notes.rst:366 #: ../../build/doc/release_notes.rst:453 -msgid "pgr_contractGraph (experimental)" +msgid "pgr_withPointsDD (proposed)" msgstr "" #: ../../build/doc/release_notes.rst:367 #: ../../build/doc/release_notes.rst:454 -msgid "pgr_pushRelabel (experimental)" +msgid "pgr_withPointsCostMatrix (proposed)" msgstr "" #: ../../build/doc/release_notes.rst:368 #: ../../build/doc/release_notes.rst:455 -msgid "pgr_vrpOneDepot (experimental)" +msgid "pgr_contractGraph (experimental)" msgstr "" #: ../../build/doc/release_notes.rst:369 #: ../../build/doc/release_notes.rst:456 -msgid "pgr_gsoc_vrppdtw (experimental)" +msgid "pgr_pushRelabel (experimental)" msgstr "" #: ../../build/doc/release_notes.rst:370 #: ../../build/doc/release_notes.rst:457 -msgid "Fixes for deprecated functions where also applied but not tested" +msgid "pgr_vrpOneDepot (experimental)" +msgstr "" + +#: ../../build/doc/release_notes.rst:371 +#: ../../build/doc/release_notes.rst:458 +msgid "pgr_gsoc_vrppdtw (experimental)" msgstr "" #: ../../build/doc/release_notes.rst:372 #: ../../build/doc/release_notes.rst:459 +msgid "Fixes for deprecated functions where also applied but not tested" +msgstr "" + +#: ../../build/doc/release_notes.rst:374 +#: ../../build/doc/release_notes.rst:461 msgid "Removed compilation warning for g++8" msgstr "" -#: ../../build/doc/release_notes.rst:373 -#: ../../build/doc/release_notes.rst:460 +#: ../../build/doc/release_notes.rst:375 +#: ../../build/doc/release_notes.rst:462 msgid "Fixed a fallthrugh on Astar and bdAstar." msgstr "" -#: ../../build/doc/release_notes.rst:378 +#: ../../build/doc/release_notes.rst:380 msgid "pgRouting 2.6.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:380 +#: ../../build/doc/release_notes.rst:382 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:384 +#: ../../build/doc/release_notes.rst:386 msgid "New fexperimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:385 -#: ../../build/doc/release_notes.rst:540 +#: ../../build/doc/release_notes.rst:387 +#: ../../build/doc/release_notes.rst:542 msgid "pgr_lineGraphFull" msgstr "" -#: ../../build/doc/release_notes.rst:389 +#: ../../build/doc/release_notes.rst:391 msgid "Fix pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean[,text])" msgstr "" -#: ../../build/doc/release_notes.rst:391 +#: ../../build/doc/release_notes.rst:393 msgid "without restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:393 +#: ../../build/doc/release_notes.rst:395 msgid "calls pgr_dijkstra when both end points have a fraction IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:394 +#: ../../build/doc/release_notes.rst:396 msgid "calls pgr_withPoints when at least one fraction NOT IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:396 +#: ../../build/doc/release_notes.rst:398 msgid "with restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:398 +#: ../../build/doc/release_notes.rst:400 msgid "calls original trsp code" msgstr "" -#: ../../build/doc/release_notes.rst:401 +#: ../../build/doc/release_notes.rst:403 msgid "Internal code" msgstr "" -#: ../../build/doc/release_notes.rst:402 +#: ../../build/doc/release_notes.rst:404 msgid "Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [, text])" msgstr "" -#: ../../build/doc/release_notes.rst:404 +#: ../../build/doc/release_notes.rst:406 msgid "Removed the use of pointers" msgstr "" -#: ../../build/doc/release_notes.rst:405 +#: ../../build/doc/release_notes.rst:407 msgid "Internal code can accept BIGINT" msgstr "" -#: ../../build/doc/release_notes.rst:407 +#: ../../build/doc/release_notes.rst:409 msgid "Cleaned the internal code of withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:412 +#: ../../build/doc/release_notes.rst:414 msgid "pgRouting 2.5.5 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:414 +#: ../../build/doc/release_notes.rst:416 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.5 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:418 +#: ../../build/doc/release_notes.rst:420 msgid "Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:419 +#: ../../build/doc/release_notes.rst:421 msgid "Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:420 +#: ../../build/doc/release_notes.rst:422 msgid "Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:425 +#: ../../build/doc/release_notes.rst:427 msgid "pgRouting 2.5.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:427 +#: ../../build/doc/release_notes.rst:429 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.4 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:465 +#: ../../build/doc/release_notes.rst:467 msgid "pgRouting 2.5.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:467 +#: ../../build/doc/release_notes.rst:469 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:471 +#: ../../build/doc/release_notes.rst:473 msgid "Fix for postgresql 11: Removed a compilation error when compiling with postgreSQL" msgstr "" -#: ../../build/doc/release_notes.rst:476 +#: ../../build/doc/release_notes.rst:478 msgid "pgRouting 2.5.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:478 +#: ../../build/doc/release_notes.rst:480 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:482 +#: ../../build/doc/release_notes.rst:484 msgid "Fix for postgresql 10.1: Removed a compiler condition" msgstr "" -#: ../../build/doc/release_notes.rst:488 +#: ../../build/doc/release_notes.rst:490 msgid "pgRouting 2.5.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:490 +#: ../../build/doc/release_notes.rst:492 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:494 +#: ../../build/doc/release_notes.rst:496 msgid "Fixed prerequisite minimum version of: cmake" msgstr "" -#: ../../build/doc/release_notes.rst:500 +#: ../../build/doc/release_notes.rst:502 msgid "pgRouting 2.5.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:504 msgid "To see the issues closed by this release see the `Git closed issues for 2.5.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:506 +#: ../../build/doc/release_notes.rst:508 msgid "enhancement:" msgstr "" -#: ../../build/doc/release_notes.rst:507 +#: ../../build/doc/release_notes.rst:509 msgid "pgr_version is now on SQL language" msgstr "" -#: ../../build/doc/release_notes.rst:510 +#: ../../build/doc/release_notes.rst:512 msgid "Breaking change on:" msgstr "" -#: ../../build/doc/release_notes.rst:511 +#: ../../build/doc/release_notes.rst:513 msgid "pgr_edgeDisjointPaths:" msgstr "" -#: ../../build/doc/release_notes.rst:513 +#: ../../build/doc/release_notes.rst:515 msgid "Added path_id, cost and agg_cost columns on the result" msgstr "" -#: ../../build/doc/release_notes.rst:514 +#: ../../build/doc/release_notes.rst:516 msgid "Parameter names changed" msgstr "" -#: ../../build/doc/release_notes.rst:515 +#: ../../build/doc/release_notes.rst:517 msgid "The many version results are the union of the one to one version" msgstr "" -#: ../../build/doc/release_notes.rst:518 +#: ../../build/doc/release_notes.rst:520 msgid "New Signatures:" msgstr "" -#: ../../build/doc/release_notes.rst:519 +#: ../../build/doc/release_notes.rst:521 msgid "pgr_bdAstar(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:522 -#: ../../build/doc/release_notes.rst:681 +#: ../../build/doc/release_notes.rst:524 +#: ../../build/doc/release_notes.rst:683 msgid "New Proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:530 +#: ../../build/doc/release_notes.rst:532 msgid "pgr_bdAstarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:538 +#: ../../build/doc/release_notes.rst:540 msgid "pgr_bdDijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:539 +#: ../../build/doc/release_notes.rst:541 msgid "pgr_lineGraph" msgstr "" -#: ../../build/doc/release_notes.rst:548 -#: ../../build/doc/release_notes.rst:618 -#: ../../build/doc/release_notes.rst:705 +#: ../../build/doc/release_notes.rst:550 +#: ../../build/doc/release_notes.rst:620 +#: ../../build/doc/release_notes.rst:707 msgid "Deprecated Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:549 +#: ../../build/doc/release_notes.rst:551 msgid "pgr_bdastar - use pgr_bdAstar instead" msgstr "" -#: ../../build/doc/release_notes.rst:552 +#: ../../build/doc/release_notes.rst:554 msgid "Renamed Functions" msgstr "" -#: ../../build/doc/release_notes.rst:553 +#: ../../build/doc/release_notes.rst:555 msgid "pgr_maxFlowPushRelabel - use pgr_pushRelabel instead" msgstr "" -#: ../../build/doc/release_notes.rst:554 +#: ../../build/doc/release_notes.rst:556 msgid "pgr_maxFlowEdmondsKarp -use pgr_edmondsKarp instead" msgstr "" -#: ../../build/doc/release_notes.rst:555 +#: ../../build/doc/release_notes.rst:557 msgid "pgr_maxFlowBoykovKolmogorov - use pgr_boykovKolmogorov instead" msgstr "" -#: ../../build/doc/release_notes.rst:556 +#: ../../build/doc/release_notes.rst:558 msgid "pgr_maximumCardinalityMatching - use pgr_maxCardinalityMatch instead" msgstr "" -#: ../../build/doc/release_notes.rst:559 +#: ../../build/doc/release_notes.rst:561 msgid "Deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:560 +#: ../../build/doc/release_notes.rst:562 msgid "pgr_pointToEdgeNode" msgstr "" -#: ../../build/doc/release_notes.rst:566 +#: ../../build/doc/release_notes.rst:568 msgid "pgRouting 2.4.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:568 +#: ../../build/doc/release_notes.rst:570 msgid "To see the issues closed by this release see the `Git closed milestone for 2.4.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:571 +#: ../../build/doc/release_notes.rst:573 msgid "Improvement" msgstr "" -#: ../../build/doc/release_notes.rst:572 +#: ../../build/doc/release_notes.rst:574 msgid "Works for postgreSQL 10" msgstr "" -#: ../../build/doc/release_notes.rst:576 +#: ../../build/doc/release_notes.rst:578 msgid "Fixed: Unexpected error column \"cname\"" msgstr "" -#: ../../build/doc/release_notes.rst:577 +#: ../../build/doc/release_notes.rst:579 msgid "Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" msgstr "" -#: ../../build/doc/release_notes.rst:584 +#: ../../build/doc/release_notes.rst:586 msgid "pgRouting 2.4.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:586 +#: ../../build/doc/release_notes.rst:588 msgid "To see the issues closed by this release see the `Git closed milestone for 2.4.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:590 +#: ../../build/doc/release_notes.rst:592 msgid "Fixed compiling error on macOS" msgstr "" -#: ../../build/doc/release_notes.rst:591 +#: ../../build/doc/release_notes.rst:593 msgid "Condition error on pgr_withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:596 +#: ../../build/doc/release_notes.rst:598 msgid "pgRouting 2.4.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:598 +#: ../../build/doc/release_notes.rst:600 msgid "To see the issues closed by this release see the `Git closed issues for 2.4.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:601 -#: ../../build/doc/release_notes.rst:671 -#: ../../build/doc/release_notes.rst:832 +#: ../../build/doc/release_notes.rst:603 +#: ../../build/doc/release_notes.rst:673 +#: ../../build/doc/release_notes.rst:834 msgid "New Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:602 +#: ../../build/doc/release_notes.rst:604 msgid "pgr_bdDijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:606 +#: ../../build/doc/release_notes.rst:608 msgid "New Proposed Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:608 +#: ../../build/doc/release_notes.rst:610 msgid "pgr_astar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:609 +#: ../../build/doc/release_notes.rst:611 msgid "pgr_astar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:610 +#: ../../build/doc/release_notes.rst:612 msgid "pgr_astar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:611 +#: ../../build/doc/release_notes.rst:613 msgid "pgr_astarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:612 +#: ../../build/doc/release_notes.rst:614 msgid "pgr_astarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:613 +#: ../../build/doc/release_notes.rst:615 msgid "pgr_astarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:614 +#: ../../build/doc/release_notes.rst:616 msgid "pgr_astarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:615 +#: ../../build/doc/release_notes.rst:617 msgid "pgr_astarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:619 +#: ../../build/doc/release_notes.rst:621 msgid "pgr_bddijkstra - use pgr_bdDijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:622 -#: ../../build/doc/release_notes.rst:711 +#: ../../build/doc/release_notes.rst:624 +#: ../../build/doc/release_notes.rst:713 msgid "Deprecated Functions" msgstr "" -#: ../../build/doc/release_notes.rst:623 +#: ../../build/doc/release_notes.rst:625 msgid "pgr_pointsToVids" msgstr "" -#: ../../build/doc/release_notes.rst:627 +#: ../../build/doc/release_notes.rst:629 msgid "Bug fixes on proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:629 +#: ../../build/doc/release_notes.rst:631 msgid "pgr_withPointsKSP: fixed ordering" msgstr "" -#: ../../build/doc/release_notes.rst:631 +#: ../../build/doc/release_notes.rst:633 msgid "TRSP original code is used with no changes on the compilation warnings" msgstr "" -#: ../../build/doc/release_notes.rst:636 +#: ../../build/doc/release_notes.rst:638 msgid "pgRouting 2.3.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:638 +#: ../../build/doc/release_notes.rst:640 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:642 +#: ../../build/doc/release_notes.rst:644 msgid "Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck." msgstr "" -#: ../../build/doc/release_notes.rst:643 +#: ../../build/doc/release_notes.rst:645 msgid "Fixed pgr_trsp:" msgstr "" -#: ../../build/doc/release_notes.rst:645 +#: ../../build/doc/release_notes.rst:647 msgid "Alternate code is not executed when the point is in reality a vertex" msgstr "" -#: ../../build/doc/release_notes.rst:646 +#: ../../build/doc/release_notes.rst:648 msgid "Fixed ambiguity on seq" msgstr "" -#: ../../build/doc/release_notes.rst:652 +#: ../../build/doc/release_notes.rst:654 msgid "pgRouting 2.3.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:654 +#: ../../build/doc/release_notes.rst:656 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:658 +#: ../../build/doc/release_notes.rst:660 msgid "Leaks on proposed max_flow functions" msgstr "" -#: ../../build/doc/release_notes.rst:659 +#: ../../build/doc/release_notes.rst:661 msgid "Regression error on pgr_trsp" msgstr "" -#: ../../build/doc/release_notes.rst:660 +#: ../../build/doc/release_notes.rst:662 msgid "Types discrepancy on pgr_createVerticesTable" msgstr "" -#: ../../build/doc/release_notes.rst:666 +#: ../../build/doc/release_notes.rst:668 msgid "pgRouting 2.3.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:668 +#: ../../build/doc/release_notes.rst:670 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:672 +#: ../../build/doc/release_notes.rst:674 msgid "pgr_TSP" msgstr "" -#: ../../build/doc/release_notes.rst:673 +#: ../../build/doc/release_notes.rst:675 msgid "pgr_aStar" msgstr "" -#: ../../build/doc/release_notes.rst:676 -#: ../../build/doc/release_notes.rst:788 +#: ../../build/doc/release_notes.rst:678 +#: ../../build/doc/release_notes.rst:790 msgid "New Functions" msgstr "" -#: ../../build/doc/release_notes.rst:677 +#: ../../build/doc/release_notes.rst:679 msgid "pgr_eucledianTSP" msgstr "" -#: ../../build/doc/release_notes.rst:683 +#: ../../build/doc/release_notes.rst:685 msgid "pgr_withPointsCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:684 +#: ../../build/doc/release_notes.rst:686 msgid "pgr_maxFlowPushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:685 +#: ../../build/doc/release_notes.rst:687 msgid "pgr_maxFlowPushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:686 +#: ../../build/doc/release_notes.rst:688 msgid "pgr_maxFlowPushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:687 +#: ../../build/doc/release_notes.rst:689 msgid "pgr_maxFlowPushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:688 +#: ../../build/doc/release_notes.rst:690 msgid "pgr_maxFlowEdmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:689 +#: ../../build/doc/release_notes.rst:691 msgid "pgr_maxFlowEdmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:690 +#: ../../build/doc/release_notes.rst:692 msgid "pgr_maxFlowEdmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:691 +#: ../../build/doc/release_notes.rst:693 msgid "pgr_maxFlowEdmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:692 +#: ../../build/doc/release_notes.rst:694 msgid "pgr_maxFlowBoykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:693 +#: ../../build/doc/release_notes.rst:695 msgid "pgr_maxFlowBoykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:694 +#: ../../build/doc/release_notes.rst:696 msgid "pgr_maxFlowBoykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:695 +#: ../../build/doc/release_notes.rst:697 msgid "pgr_maxFlowBoykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:696 +#: ../../build/doc/release_notes.rst:698 msgid "pgr_maximumCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:701 +#: ../../build/doc/release_notes.rst:703 msgid "pgr_contractGraph" msgstr "" -#: ../../build/doc/release_notes.rst:706 +#: ../../build/doc/release_notes.rst:708 msgid "pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead" msgstr "" -#: ../../build/doc/release_notes.rst:707 +#: ../../build/doc/release_notes.rst:709 msgid "pgr_astar - use pgr_aStar instead" msgstr "" -#: ../../build/doc/release_notes.rst:712 +#: ../../build/doc/release_notes.rst:714 msgid "pgr_flip_edges" msgstr "" -#: ../../build/doc/release_notes.rst:713 +#: ../../build/doc/release_notes.rst:715 msgid "pgr_vidsToDmatrix" msgstr "" -#: ../../build/doc/release_notes.rst:714 +#: ../../build/doc/release_notes.rst:716 msgid "pgr_pointsToDMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:715 +#: ../../build/doc/release_notes.rst:717 msgid "pgr_textToPoints" msgstr "" -#: ../../build/doc/release_notes.rst:722 +#: ../../build/doc/release_notes.rst:724 msgid "pgRouting 2.2.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:724 +#: ../../build/doc/release_notes.rst:726 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.4 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:728 +#: ../../build/doc/release_notes.rst:730 msgid "Bogus uses of extern \"C\"" msgstr "" -#: ../../build/doc/release_notes.rst:729 +#: ../../build/doc/release_notes.rst:731 msgid "Build error on Fedora 24 + GCC 6.0" msgstr "" -#: ../../build/doc/release_notes.rst:730 +#: ../../build/doc/release_notes.rst:732 msgid "Regression error pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:735 +#: ../../build/doc/release_notes.rst:737 msgid "pgRouting 2.2.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:737 +#: ../../build/doc/release_notes.rst:739 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:741 +#: ../../build/doc/release_notes.rst:743 msgid "Fixed compatibility issues with PostgreSQL 9.6." msgstr "" -#: ../../build/doc/release_notes.rst:746 +#: ../../build/doc/release_notes.rst:748 msgid "pgRouting 2.2.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:748 +#: ../../build/doc/release_notes.rst:750 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:752 +#: ../../build/doc/release_notes.rst:754 msgid "Fixed regression error on pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:758 +#: ../../build/doc/release_notes.rst:760 msgid "pgRouting 2.2.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:760 +#: ../../build/doc/release_notes.rst:762 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:764 +#: ../../build/doc/release_notes.rst:766 msgid "Server crash fix on pgr_alphaShape" msgstr "" -#: ../../build/doc/release_notes.rst:765 +#: ../../build/doc/release_notes.rst:767 msgid "Bug fix on With Points family of functions" msgstr "" -#: ../../build/doc/release_notes.rst:771 +#: ../../build/doc/release_notes.rst:773 msgid "pgRouting 2.2.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:773 +#: ../../build/doc/release_notes.rst:775 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:777 -#: ../../build/doc/release_notes.rst:845 +#: ../../build/doc/release_notes.rst:779 +#: ../../build/doc/release_notes.rst:847 msgid "Improvements" msgstr "" -#: ../../build/doc/release_notes.rst:778 +#: ../../build/doc/release_notes.rst:780 msgid "pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:780 +#: ../../build/doc/release_notes.rst:782 msgid "Adding a row_where and outall optional parameters" msgstr "" -#: ../../build/doc/release_notes.rst:782 +#: ../../build/doc/release_notes.rst:784 msgid "Signature fix" msgstr "" -#: ../../build/doc/release_notes.rst:784 +#: ../../build/doc/release_notes.rst:786 msgid "pgr_dijkstra -- to match what is documented" msgstr "" -#: ../../build/doc/release_notes.rst:790 +#: ../../build/doc/release_notes.rst:792 msgid "pgr_Johnson" msgstr "" -#: ../../build/doc/release_notes.rst:791 +#: ../../build/doc/release_notes.rst:793 msgid "pgr_dijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:792 +#: ../../build/doc/release_notes.rst:794 msgid "pgr_dijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:793 +#: ../../build/doc/release_notes.rst:795 msgid "pgr_dijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:794 +#: ../../build/doc/release_notes.rst:796 msgid "pgr_dijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:797 -#: ../../build/doc/release_notes.rst:849 +#: ../../build/doc/release_notes.rst:799 +#: ../../build/doc/release_notes.rst:851 msgid "Proposed functionality" msgstr "" -#: ../../build/doc/release_notes.rst:798 +#: ../../build/doc/release_notes.rst:800 msgid "pgr_withPoints(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:799 +#: ../../build/doc/release_notes.rst:801 msgid "pgr_withPoints(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:800 +#: ../../build/doc/release_notes.rst:802 msgid "pgr_withPoints(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:801 +#: ../../build/doc/release_notes.rst:803 msgid "pgr_withPoints(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:802 +#: ../../build/doc/release_notes.rst:804 msgid "pgr_withPointsCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:803 +#: ../../build/doc/release_notes.rst:805 msgid "pgr_withPointsCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:804 +#: ../../build/doc/release_notes.rst:806 msgid "pgr_withPointsCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:805 +#: ../../build/doc/release_notes.rst:807 msgid "pgr_withPointsCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:806 +#: ../../build/doc/release_notes.rst:808 msgid "pgr_withPointsDD(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:807 +#: ../../build/doc/release_notes.rst:809 msgid "pgr_withPointsDD(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:808 +#: ../../build/doc/release_notes.rst:810 msgid "pgr_withPointsKSP" msgstr "" -#: ../../build/doc/release_notes.rst:809 +#: ../../build/doc/release_notes.rst:811 msgid "pgr_dijkstraVia" msgstr "" -#: ../../build/doc/release_notes.rst:813 +#: ../../build/doc/release_notes.rst:815 msgid "Deprecated functions:" msgstr "" -#: ../../build/doc/release_notes.rst:814 +#: ../../build/doc/release_notes.rst:816 msgid "pgr_apspWarshall use pgr_floydWarshall instead" msgstr "" -#: ../../build/doc/release_notes.rst:815 +#: ../../build/doc/release_notes.rst:817 msgid "pgr_apspJohnson use pgr_Johnson instead" msgstr "" -#: ../../build/doc/release_notes.rst:816 +#: ../../build/doc/release_notes.rst:818 msgid "pgr_kDijkstraCost use pgr_dijkstraCost instead" msgstr "" -#: ../../build/doc/release_notes.rst:817 +#: ../../build/doc/release_notes.rst:819 msgid "pgr_kDijkstraPath use pgr_dijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:820 +#: ../../build/doc/release_notes.rst:822 msgid "Renamed and deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:821 +#: ../../build/doc/release_notes.rst:823 msgid "pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:827 +#: ../../build/doc/release_notes.rst:829 msgid "pgRouting 2.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:829 +#: ../../build/doc/release_notes.rst:831 msgid "To see the issues closed by this release see the `Git closed issues for 2.1.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:833 +#: ../../build/doc/release_notes.rst:835 msgid "pgr_dijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:834 +#: ../../build/doc/release_notes.rst:836 msgid "pgr_dijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:835 +#: ../../build/doc/release_notes.rst:837 msgid "pgr_dijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:836 +#: ../../build/doc/release_notes.rst:838 msgid "pgr_drivingDistance(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:839 +#: ../../build/doc/release_notes.rst:841 msgid "Refactored" msgstr "" -#: ../../build/doc/release_notes.rst:840 +#: ../../build/doc/release_notes.rst:842 msgid "pgr_dijkstra(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:841 +#: ../../build/doc/release_notes.rst:843 msgid "pgr_ksp" msgstr "" -#: ../../build/doc/release_notes.rst:842 +#: ../../build/doc/release_notes.rst:844 msgid "pgr_drivingDistance(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:846 +#: ../../build/doc/release_notes.rst:848 msgid "pgr_alphaShape function now can generate better (multi)polygon with holes and alpha parameter." msgstr "" -#: ../../build/doc/release_notes.rst:850 +#: ../../build/doc/release_notes.rst:852 msgid "Proposed functions from Steve Woodbridge, (Classified as Convenience by the author.)" msgstr "" -#: ../../build/doc/release_notes.rst:852 +#: ../../build/doc/release_notes.rst:854 msgid "pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on closest edge." msgstr "" -#: ../../build/doc/release_notes.rst:853 +#: ../../build/doc/release_notes.rst:855 msgid "pgr_flipEdges - flip the edges in an array of geometries so the connect end to end." msgstr "" -#: ../../build/doc/release_notes.rst:854 +#: ../../build/doc/release_notes.rst:856 msgid "pgr_textToPoints - convert a string of x,y;x,y;... locations into point geometries." msgstr "" -#: ../../build/doc/release_notes.rst:855 +#: ../../build/doc/release_notes.rst:857 msgid "pgr_pointsToVids - convert an array of point geometries into vertex ids." msgstr "" -#: ../../build/doc/release_notes.rst:856 +#: ../../build/doc/release_notes.rst:858 msgid "pgr_pointsToDMatrix - Create a distance matrix from an array of points." msgstr "" -#: ../../build/doc/release_notes.rst:857 -#: ../../build/doc/release_notes.rst:858 +#: ../../build/doc/release_notes.rst:859 +#: ../../build/doc/release_notes.rst:860 msgid "pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." msgstr "" -#: ../../build/doc/release_notes.rst:860 +#: ../../build/doc/release_notes.rst:862 msgid "Added proposed functions from GSoc Projects:" msgstr "" -#: ../../build/doc/release_notes.rst:862 +#: ../../build/doc/release_notes.rst:864 msgid "pgr_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:863 +#: ../../build/doc/release_notes.rst:865 msgid "pgr_vrponedepot" msgstr "" -#: ../../build/doc/release_notes.rst:866 +#: ../../build/doc/release_notes.rst:868 msgid "Deprecated functions" msgstr "" -#: ../../build/doc/release_notes.rst:867 +#: ../../build/doc/release_notes.rst:869 msgid "pgr_getColumnName" msgstr "" -#: ../../build/doc/release_notes.rst:868 +#: ../../build/doc/release_notes.rst:870 msgid "pgr_getTableName" msgstr "" -#: ../../build/doc/release_notes.rst:869 +#: ../../build/doc/release_notes.rst:871 msgid "pgr_isColumnCndexed" msgstr "" -#: ../../build/doc/release_notes.rst:870 +#: ../../build/doc/release_notes.rst:872 msgid "pgr_isColumnInTable" msgstr "" -#: ../../build/doc/release_notes.rst:871 +#: ../../build/doc/release_notes.rst:873 msgid "pgr_quote_ident" msgstr "" -#: ../../build/doc/release_notes.rst:872 +#: ../../build/doc/release_notes.rst:874 msgid "pgr_versionless" msgstr "" -#: ../../build/doc/release_notes.rst:873 +#: ../../build/doc/release_notes.rst:875 msgid "pgr_startPoint" msgstr "" -#: ../../build/doc/release_notes.rst:874 +#: ../../build/doc/release_notes.rst:876 msgid "pgr_endPoint" msgstr "" -#: ../../build/doc/release_notes.rst:875 +#: ../../build/doc/release_notes.rst:877 msgid "pgr_pointToId" msgstr "" -#: ../../build/doc/release_notes.rst:878 +#: ../../build/doc/release_notes.rst:880 msgid "No longer supported" msgstr "" -#: ../../build/doc/release_notes.rst:879 +#: ../../build/doc/release_notes.rst:881 msgid "Removed the 1.x legacy functions" msgstr "" -#: ../../build/doc/release_notes.rst:883 +#: ../../build/doc/release_notes.rst:885 msgid "Some bug fixes in other functions" msgstr "" -#: ../../build/doc/release_notes.rst:887 +#: ../../build/doc/release_notes.rst:889 msgid "Refactoring Internal Code" msgstr "" -#: ../../build/doc/release_notes.rst:888 +#: ../../build/doc/release_notes.rst:890 msgid "A C and C++ library for developer was created" msgstr "" -#: ../../build/doc/release_notes.rst:890 +#: ../../build/doc/release_notes.rst:892 msgid "encapsulates postgreSQL related functions" msgstr "" -#: ../../build/doc/release_notes.rst:891 +#: ../../build/doc/release_notes.rst:893 msgid "encapsulates Boost.Graph graphs" msgstr "" -#: ../../build/doc/release_notes.rst:893 +#: ../../build/doc/release_notes.rst:895 msgid "Directed Boost.Graph" msgstr "" -#: ../../build/doc/release_notes.rst:894 +#: ../../build/doc/release_notes.rst:896 msgid "Undirected Boost.graph." msgstr "" -#: ../../build/doc/release_notes.rst:896 +#: ../../build/doc/release_notes.rst:898 msgid "allow any-integer in the id's" msgstr "" -#: ../../build/doc/release_notes.rst:897 +#: ../../build/doc/release_notes.rst:899 msgid "allow any-numerical on the cost/reverse_cost columns" msgstr "" -#: ../../build/doc/release_notes.rst:899 +#: ../../build/doc/release_notes.rst:901 msgid "Instead of generating many libraries: - All functions are encapsulated in one library - The library has the prefix 2-1-0" msgstr "" -#: ../../build/doc/release_notes.rst:908 +#: ../../build/doc/release_notes.rst:910 msgid "pgRouting 2.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:910 +#: ../../build/doc/release_notes.rst:912 msgid "Minor bug fixes." msgstr "" -#: ../../build/doc/release_notes.rst:914 +#: ../../build/doc/release_notes.rst:916 msgid "No track of the bug fixes were kept." msgstr "" -#: ../../build/doc/release_notes.rst:920 +#: ../../build/doc/release_notes.rst:922 msgid "pgRouting 2.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:922 +#: ../../build/doc/release_notes.rst:924 msgid "To see the issues closed by this release see the `Git closed issues for 2.0.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:924 +#: ../../build/doc/release_notes.rst:926 msgid "With the release of pgRouting 2.0.0 the library has abandoned backwards compatibility to :ref:`pgRouting 1.x ` releases. The main Goals for this release are:" msgstr "" -#: ../../build/doc/release_notes.rst:927 +#: ../../build/doc/release_notes.rst:929 msgid "Major restructuring of pgRouting." msgstr "" -#: ../../build/doc/release_notes.rst:928 +#: ../../build/doc/release_notes.rst:930 msgid "Standardization of the function naming" msgstr "" -#: ../../build/doc/release_notes.rst:929 +#: ../../build/doc/release_notes.rst:931 msgid "Preparation of the project for future development." msgstr "" -#: ../../build/doc/release_notes.rst:931 +#: ../../build/doc/release_notes.rst:933 msgid "As a result of this effort:" msgstr "" -#: ../../build/doc/release_notes.rst:933 +#: ../../build/doc/release_notes.rst:935 msgid "pgRouting has a simplified structure" msgstr "" -#: ../../build/doc/release_notes.rst:934 +#: ../../build/doc/release_notes.rst:936 msgid "Significant new functionality has being added" msgstr "" -#: ../../build/doc/release_notes.rst:935 +#: ../../build/doc/release_notes.rst:937 msgid "Documentation has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:936 +#: ../../build/doc/release_notes.rst:938 msgid "Testing has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:937 +#: ../../build/doc/release_notes.rst:939 msgid "And made it easier for multiple developers to make contributions." msgstr "" -#: ../../build/doc/release_notes.rst:941 +#: ../../build/doc/release_notes.rst:943 msgid "Important Changes" msgstr "" -#: ../../build/doc/release_notes.rst:942 +#: ../../build/doc/release_notes.rst:944 msgid "Graph Analytics - tools for detecting and fixing connection some problems in a graph" msgstr "" -#: ../../build/doc/release_notes.rst:943 +#: ../../build/doc/release_notes.rst:945 msgid "A collection of useful utility functions" msgstr "" -#: ../../build/doc/release_notes.rst:944 +#: ../../build/doc/release_notes.rst:946 msgid "Two new All Pairs Short Path algorithms (pgr_apspJohnson, pgr_apspWarshall)" msgstr "" -#: ../../build/doc/release_notes.rst:945 +#: ../../build/doc/release_notes.rst:947 msgid "Bi-directional Dijkstra and A-star search algorithms (pgr_bdAstar, pgr_bdDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:946 +#: ../../build/doc/release_notes.rst:948 msgid "One to many nodes search (pgr_kDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:947 +#: ../../build/doc/release_notes.rst:949 msgid "K alternate paths shortest path (pgr_ksp)" msgstr "" -#: ../../build/doc/release_notes.rst:948 +#: ../../build/doc/release_notes.rst:950 msgid "New TSP solver that simplifies the code and the build process (pgr_tsp), dropped \"Gaul Library\" dependency" msgstr "" -#: ../../build/doc/release_notes.rst:949 +#: ../../build/doc/release_notes.rst:951 msgid "Turn Restricted shortest path (pgr_trsp) that replaces Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:950 +#: ../../build/doc/release_notes.rst:952 msgid "Dropped support for Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:951 +#: ../../build/doc/release_notes.rst:953 msgid "Built a test infrastructure that is run before major code changes are checked in" msgstr "" -#: ../../build/doc/release_notes.rst:952 +#: ../../build/doc/release_notes.rst:954 msgid "Tested and fixed most all of the outstanding bugs reported against 1.x that existing in the 2.0-dev code base." msgstr "" -#: ../../build/doc/release_notes.rst:953 +#: ../../build/doc/release_notes.rst:955 msgid "Improved build process for Windows" msgstr "" -#: ../../build/doc/release_notes.rst:954 +#: ../../build/doc/release_notes.rst:956 msgid "Automated testing on Linux and Windows platforms trigger by every commit" msgstr "" -#: ../../build/doc/release_notes.rst:955 +#: ../../build/doc/release_notes.rst:957 msgid "Modular library design" msgstr "" -#: ../../build/doc/release_notes.rst:956 +#: ../../build/doc/release_notes.rst:958 msgid "Compatibility with PostgreSQL 9.1 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:957 +#: ../../build/doc/release_notes.rst:959 msgid "Compatibility with PostGIS 2.0 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:958 +#: ../../build/doc/release_notes.rst:960 msgid "Installs as PostgreSQL EXTENSION" msgstr "" -#: ../../build/doc/release_notes.rst:959 +#: ../../build/doc/release_notes.rst:961 msgid "Return types re factored and unified" msgstr "" -#: ../../build/doc/release_notes.rst:960 +#: ../../build/doc/release_notes.rst:962 msgid "Support for table SCHEMA in function parameters" msgstr "" -#: ../../build/doc/release_notes.rst:961 +#: ../../build/doc/release_notes.rst:963 msgid "Support for ``st_`` PostGIS function prefix" msgstr "" -#: ../../build/doc/release_notes.rst:962 +#: ../../build/doc/release_notes.rst:964 msgid "Added ``pgr_`` prefix to functions and types" msgstr "" -#: ../../build/doc/release_notes.rst:963 +#: ../../build/doc/release_notes.rst:965 msgid "Better documentation: https://docs.pgrouting.org" msgstr "" -#: ../../build/doc/release_notes.rst:964 +#: ../../build/doc/release_notes.rst:966 msgid "shooting_star is discontinued" msgstr "" -#: ../../build/doc/release_notes.rst:971 +#: ../../build/doc/release_notes.rst:973 msgid "pgRouting 1.x Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:973 +#: ../../build/doc/release_notes.rst:975 msgid "To see the issues closed by this release see the `Git closed issues for 1.x `_ on Github. The following release notes have been copied from the previous ``RELEASE_NOTES`` file and are kept as a reference." msgstr "" -#: ../../build/doc/release_notes.rst:978 +#: ../../build/doc/release_notes.rst:980 msgid "Changes for release 1.05" msgstr "" -#: ../../build/doc/release_notes.rst:984 +#: ../../build/doc/release_notes.rst:986 msgid "Changes for release 1.03" msgstr "" -#: ../../build/doc/release_notes.rst:986 +#: ../../build/doc/release_notes.rst:988 msgid "Much faster topology creation" msgstr "" -#: ../../build/doc/release_notes.rst:991 +#: ../../build/doc/release_notes.rst:993 msgid "Changes for release 1.02" msgstr "" -#: ../../build/doc/release_notes.rst:993 -#: ../../build/doc/release_notes.rst:1000 +#: ../../build/doc/release_notes.rst:995 +#: ../../build/doc/release_notes.rst:1002 msgid "Shooting* bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:994 +#: ../../build/doc/release_notes.rst:996 msgid "Compilation problems solved" msgstr "" -#: ../../build/doc/release_notes.rst:998 +#: ../../build/doc/release_notes.rst:1000 msgid "Changes for release 1.01" msgstr "" -#: ../../build/doc/release_notes.rst:1004 +#: ../../build/doc/release_notes.rst:1006 msgid "Changes for release 1.0" msgstr "" -#: ../../build/doc/release_notes.rst:1006 +#: ../../build/doc/release_notes.rst:1008 msgid "Core and extra functions are separated" msgstr "" -#: ../../build/doc/release_notes.rst:1007 +#: ../../build/doc/release_notes.rst:1009 msgid "Cmake build process" msgstr "" -#: ../../build/doc/release_notes.rst:1012 +#: ../../build/doc/release_notes.rst:1014 msgid "Changes for release 1.0.0b" msgstr "" -#: ../../build/doc/release_notes.rst:1014 +#: ../../build/doc/release_notes.rst:1016 msgid "Additional SQL file with more simple names for wrapper functions" msgstr "" -#: ../../build/doc/release_notes.rst:1019 +#: ../../build/doc/release_notes.rst:1021 msgid "Changes for release 1.0.0a" msgstr "" -#: ../../build/doc/release_notes.rst:1021 +#: ../../build/doc/release_notes.rst:1023 msgid "Shooting* shortest path algorithm for real road networks" msgstr "" -#: ../../build/doc/release_notes.rst:1022 +#: ../../build/doc/release_notes.rst:1024 msgid "Several SQL bugs were fixed" msgstr "" -#: ../../build/doc/release_notes.rst:1026 +#: ../../build/doc/release_notes.rst:1028 msgid "Changes for release 0.9.9" msgstr "" -#: ../../build/doc/release_notes.rst:1028 +#: ../../build/doc/release_notes.rst:1030 msgid "PostgreSQL 8.2 support" msgstr "" -#: ../../build/doc/release_notes.rst:1029 +#: ../../build/doc/release_notes.rst:1031 msgid "Shortest path functions return empty result if they could not find any path" msgstr "" -#: ../../build/doc/release_notes.rst:1033 +#: ../../build/doc/release_notes.rst:1035 msgid "Changes for release 0.9.8" msgstr "" -#: ../../build/doc/release_notes.rst:1035 +#: ../../build/doc/release_notes.rst:1037 msgid "Renumbering scheme was added to shortest path functions" msgstr "" -#: ../../build/doc/release_notes.rst:1036 +#: ../../build/doc/release_notes.rst:1038 msgid "Directed shortest path functions were added" msgstr "" -#: ../../build/doc/release_notes.rst:1037 +#: ../../build/doc/release_notes.rst:1039 msgid "routing_postgis.sql was modified to use dijkstra in TSP search" msgstr "" diff --git a/pgtap/contraction/linear/directed/issue-1647.sql b/pgtap/contraction/linear/directed/issue-1647.sql new file mode 100644 index 00000000000..be9c2170ed8 --- /dev/null +++ b/pgtap/contraction/linear/directed/issue-1647.sql @@ -0,0 +1,31 @@ +\i setup.sql + +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); + +SELECT plan(4); + + +PREPARE allgraph AS +SELECT type, id, contracted_vertices, source, target, cost +FROM pgr_contraction( + $$SELECT * FROM edge_table$$, + ARRAY[2]::INTEGER[], 1, ARRAY[]::INTEGER[], true); + +PREPARE minigraph AS +SELECT type, id, contracted_vertices, source, target, cost +FROM pgr_contraction( + $$SELECT * FROM edge_table WHERE source IN(1,2) OR target IN(1,2)$$, + ARRAY[2]::INTEGER[], 1, ARRAY[]::INTEGER[], true); + +SELECT lives_ok('allgraph', 'allgraph QUERY 1: Graph with no loop cycle'); +SELECT lives_ok('minigraph', 'minigraph QUERY 1: Graph with no loop cycle'); + +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1, 1, 1, 1); + +SELECT lives_ok('allgraph', 'allgraph QUERY 1: Graph with no loop cycle'); +SELECT lives_ok('minigraph', 'minigraph QUERY 1: Graph with no loop cycle'); + +SELECT finish(); +DELETE FROM edge_table WHERE id > 18; +ROLLBACK; diff --git a/pgtap/contraction/linear/undirected/issue-1647.sql b/pgtap/contraction/linear/undirected/issue-1647.sql new file mode 100644 index 00000000000..d7df219fbd7 --- /dev/null +++ b/pgtap/contraction/linear/undirected/issue-1647.sql @@ -0,0 +1,31 @@ +\i setup.sql + +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); + +SELECT plan(4); + + +PREPARE allgraph AS +SELECT type, id, contracted_vertices, source, target, cost +FROM pgr_contraction( + $$SELECT * FROM edge_table$$, + ARRAY[2]::INTEGER[], 1, ARRAY[]::INTEGER[], false); + +PREPARE minigraph AS +SELECT type, id, contracted_vertices, source, target, cost +FROM pgr_contraction( + $$SELECT * FROM edge_table WHERE source IN(1,2) OR target IN(1,2)$$, + ARRAY[2]::INTEGER[], 1, ARRAY[]::INTEGER[], false); + +SELECT lives_ok('allgraph', 'allgraph QUERY 1: Graph with no loop cycle'); +SELECT lives_ok('minigraph', 'minigraph QUERY 1: Graph with no loop cycle'); + +INSERT INTO edge_table (source, target, cost, reverse_cost) VALUES +(1, 1, 1, 1); + +SELECT lives_ok('allgraph', 'allgraph QUERY 1: Graph with no loop cycle'); +SELECT lives_ok('minigraph', 'minigraph QUERY 1: Graph with no loop cycle'); + +SELECT finish(); +DELETE FROM edge_table WHERE id > 18; +ROLLBACK; From d9294ab3b16ff137396f590ea0057740e11163d2 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Thu, 5 Nov 2020 10:54:20 -0600 Subject: [PATCH 0982/1360] [chinese] fixing server crash --- include/chinese/pgr_chinesePostman.hpp | 44 ++++++++++++++----------- include/max_flow/pgr_minCostMaxFlow.hpp | 2 +- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/include/chinese/pgr_chinesePostman.hpp b/include/chinese/pgr_chinesePostman.hpp index 2c015faa50a..090b5983c1e 100644 --- a/include/chinese/pgr_chinesePostman.hpp +++ b/include/chinese/pgr_chinesePostman.hpp @@ -52,19 +52,14 @@ class PgrDirectedChPPGraph { const pgr_edge_t *dataEdges, const size_t totalEdges); - double DirectedChPP() { - try { - pgrouting::graph::PgrCostFlowGraph digraph1(edges, sources, targets); - auto minAddedCost = digraph1.MinCostMaxFlow(); - auto maxFlow = digraph1.GetMaxFlow(); - m_cost = (maxFlow == totalDeg)? minAddedCost + totalCost : -1.0; - } catch (...) { - return m_cost = -1; - } + double DirectedChPP() const { return m_cost; } - std::vector GetPathEdges(); + std::vector GetPathEdges() const { + return resultPath; + } + ~PgrDirectedChPPGraph(); @@ -72,6 +67,7 @@ class PgrDirectedChPPGraph { bool EulerCircuitDFS(int64_t p); void BuildResultGraph(); void BuildResultPath(); + void setPathEdges(graph::PgrCostFlowGraph &flowGraph); private: int64_t totalDeg; @@ -104,7 +100,6 @@ class PgrDirectedChPPGraph { std::vector edges; std::set sources; std::set targets; - graph::PgrCostFlowGraph flowGraph; }; PgrDirectedChPPGraph::~PgrDirectedChPPGraph() { @@ -210,16 +205,25 @@ PgrDirectedChPPGraph::PgrDirectedChPPGraph( edges.push_back(edge); } - PgrCostFlowGraph graph(edges, sources, targets); - flowGraph = graph; + PgrCostFlowGraph flowGraph(edges, sources, targets); pgassert(pathStack.empty()); + try { + pgrouting::graph::PgrCostFlowGraph digraph1(edges, sources, targets); + auto minAddedCost = digraph1.MinCostMaxFlow(); + auto maxFlow = digraph1.GetMaxFlow(); + m_cost = (maxFlow == totalDeg)? minAddedCost + totalCost : -1.0; + } catch (...) { + m_cost = -1; + } + setPathEdges(flowGraph); } -std::vector -PgrDirectedChPPGraph::GetPathEdges() { +void +PgrDirectedChPPGraph::setPathEdges(graph::PgrCostFlowGraph &flowGraph) { pgassert(pathStack.empty()); - if (m_cost == -1) return std::vector(); + resultPath.clear(); + if (m_cost == -1) return; // catch new edges try { flowGraph.MinCostMaxFlow(); @@ -236,7 +240,8 @@ PgrDirectedChPPGraph::GetPathEdges() { } } } catch (...) { - return std::vector(); + resultPath.clear(); + return; } pgassert(pathStack.empty()); @@ -249,14 +254,15 @@ PgrDirectedChPPGraph::GetPathEdges() { EulerCircuitDFS(startPoint); if (!(vertices - vertexVisited).empty()) { - return std::vector(); + resultPath.clear(); + return; } pgassert(!pathStack.empty()); BuildResultPath(); - return resultPath; + return; } void diff --git a/include/max_flow/pgr_minCostMaxFlow.hpp b/include/max_flow/pgr_minCostMaxFlow.hpp index 9ec13a47191..685184df51b 100644 --- a/include/max_flow/pgr_minCostMaxFlow.hpp +++ b/include/max_flow/pgr_minCostMaxFlow.hpp @@ -72,7 +72,7 @@ class PgrCostFlowGraph { return boost::find_flow_cost(graph); } - PgrCostFlowGraph() = default; + PgrCostFlowGraph() = delete; PgrCostFlowGraph( const std::vector &edges, From 57aae043f87418fc586b597fb4ffeb22032732ef Mon Sep 17 00:00:00 2001 From: cvvergara Date: Fri, 6 Nov 2020 11:30:47 -0600 Subject: [PATCH 0983/1360] checking & fixing licenses Adding code to check licenses modified: .github/workflows/check-files.yml modified: tools/scripts/README.txt new file: tools/scripts/test_license.sh Fixing Licenses modified: doc/conf.py.in modified: sql/scripts/build-extension-file.pl modified: sql/scripts/build-extension-update-files1.pl Deleting unused files deleted: doc/CNAME deleted: doc/make.bat Deleting wronly placed files deleted: doc/dagShortestPath/doc-pgr_dagShortestPath.queries deleted: doc/mincut/doc-pgr_stoerWagner.queries modified: doc/mincut/CMakeLists.txt Using correct queries modified: doc/mincut/pgr_stoerWagner.rst Fixing extension name renamed: doc/_templates/layout.thml -> doc/_templates/layout.html --- .github/workflows/check-files.yml | 16 +- doc/CNAME | 1 - doc/_templates/{layout.thml => layout.html} | 0 doc/conf.py.in | 22 ++ .../doc-pgr_dagShortestPath.queries | 71 ------ doc/make.bat | 210 ------------------ doc/mincut/CMakeLists.txt | 3 +- doc/mincut/doc-pgr_stoerWagner.queries | 47 ---- doc/mincut/pgr_stoerWagner.rst | 6 +- sql/scripts/build-extension-file.pl | 25 ++- sql/scripts/build-extension-update-files1.pl | 30 +++ tools/scripts/README.txt | 14 ++ tools/scripts/test_license.sh | 45 ++++ 13 files changed, 152 insertions(+), 338 deletions(-) delete mode 100644 doc/CNAME rename doc/_templates/{layout.thml => layout.html} (100%) delete mode 100644 doc/dagShortestPath/doc-pgr_dagShortestPath.queries delete mode 100644 doc/make.bat delete mode 100644 doc/mincut/doc-pgr_stoerWagner.queries create mode 100644 tools/scripts/test_license.sh diff --git a/.github/workflows/check-files.yml b/.github/workflows/check-files.yml index 31e9df92ab9..51b23f1cc32 100644 --- a/.github/workflows/check-files.yml +++ b/.github/workflows/check-files.yml @@ -10,14 +10,13 @@ on: - '**.po' jobs: - build: - name: Build + signature_check: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - releases: ["(2.6.0 2.6.1 2.6.2 2.6.3)","(3.0.0 3.0.1 3.0.2)"] + releases: ["(2.6.0 2.6.1 2.6.2 2.6.3)","(3.0.0 3.0.1 3.0.2 3.0.3)","(3.1.0 3.1.1)"] os: [ubuntu-latest] steps: @@ -41,3 +40,14 @@ jobs: run: | tools/release-scripts/notes2news.pl ! git status | grep 'NEWS' + + license_check: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Install Requirements + run: | + sudo apt install -y licensecheck + - name: Run License Check + run: bash ./tools/scripts/test_license.sh diff --git a/doc/CNAME b/doc/CNAME deleted file mode 100644 index dc1333d7b5e..00000000000 --- a/doc/CNAME +++ /dev/null @@ -1 +0,0 @@ -docs.pgrouting.org \ No newline at end of file diff --git a/doc/_templates/layout.thml b/doc/_templates/layout.html similarity index 100% rename from doc/_templates/layout.thml rename to doc/_templates/layout.html diff --git a/doc/conf.py.in b/doc/conf.py.in index 523ed804620..4860f2b0e84 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -1,4 +1,26 @@ # -*- coding: utf-8 -*- +''' + +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +''' + # # pgRouting Documentation documentation build configuration file, created by # sphinx-quickstart on Sat Mar 23 16:03:51 2013. diff --git a/doc/dagShortestPath/doc-pgr_dagShortestPath.queries b/doc/dagShortestPath/doc-pgr_dagShortestPath.queries deleted file mode 100644 index 55511397d78..00000000000 --- a/doc/dagShortestPath/doc-pgr_dagShortestPath.queries +++ /dev/null @@ -1,71 +0,0 @@ -BEGIN; -BEGIN --- q1 -SELECT * FROM pgr_bellmanFord( - 'SELECT id, source, target, cost FROM edge_table', - 1, 6 -); - seq | path_seq | node | edge | cost | agg_cost ------+----------+------+------+------+---------- - 1 | 1 | 1 | 1 | 1 | 0 - 2 | 2 | 2 | 4 | 1 | 1 - 3 | 3 | 5 | 8 | 1 | 2 - 4 | 4 | 6 | -1 | 0 | 3 -(4 rows) - --- q2 -SELECT * FROM pgr_dagShortestPath( - 'SELECT id, source, target, cost FROM edge_table', - 1, ARRAY[5,6] -); - seq | path_seq | node | edge | cost | agg_cost ------+----------+------+------+------+---------- - 1 | 1 | 1 | 1 | 1 | 0 - 2 | 2 | 2 | 4 | 1 | 1 - 3 | 3 | 5 | -1 | 0 | 2 - 4 | 1 | 1 | 1 | 1 | 0 - 5 | 2 | 2 | 4 | 1 | 1 - 6 | 3 | 5 | 8 | 1 | 2 - 7 | 4 | 6 | -1 | 0 | 3 -(7 rows) - --- q3 -SELECT * FROM pgr_dagShortestPath( - 'SELECT id, source, target, cost FROM edge_table', - ARRAY[1,3], 6 -); - seq | path_seq | node | edge | cost | agg_cost ------+----------+------+------+------+---------- - 1 | 1 | 1 | 1 | 1 | 0 - 2 | 2 | 2 | 4 | 1 | 1 - 3 | 3 | 5 | 8 | 1 | 2 - 4 | 4 | 6 | -1 | 0 | 3 - 5 | 1 | 3 | 5 | 1 | 0 - 6 | 2 | 6 | -1 | 0 | 1 -(6 rows) - --- q4 -SELECT * FROM pgr_dagShortestPath( -'SELECT id, source, target, cost FROM edge_table', -ARRAY[1, 4],ARRAY[12,6] -); - seq | path_seq | node | edge | cost | agg_cost ------+----------+------+------+------+---------- - 1 | 1 | 1 | 1 | 1 | 0 - 2 | 2 | 2 | 4 | 1 | 1 - 3 | 3 | 5 | 8 | 1 | 2 - 4 | 4 | 6 | -1 | 0 | 3 - 5 | 1 | 1 | 1 | 1 | 0 - 6 | 2 | 2 | 4 | 1 | 1 - 7 | 3 | 5 | 10 | 1 | 2 - 8 | 4 | 10 | 12 | 1 | 3 - 9 | 5 | 11 | 13 | 1 | 4 - 10 | 6 | 12 | -1 | 0 | 5 - 11 | 1 | 4 | 16 | 1 | 0 - 12 | 2 | 9 | 15 | 1 | 1 - 13 | 3 | 12 | -1 | 0 | 2 -(13 rows) - --- q5 -ROLLBACK; -ROLLBACK diff --git a/doc/make.bat b/doc/make.bat deleted file mode 100644 index 24a4ce5102f..00000000000 --- a/doc/make.bat +++ /dev/null @@ -1,210 +0,0 @@ -@ECHO OFF - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set BUILDDIR=_build -set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . -set I18NSPHINXOPTS=%SPHINXOPTS% . -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% - set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% -) - -if "%1" == "" goto help - -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. singlehtml to make a single large HTML file - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. devhelp to make HTML files and a Devhelp project - echo. epub to make an epub - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. text to make text files - echo. man to make manual pages - echo. texinfo to make Texinfo files - echo. gettext to make PO message catalogs - echo. changes to make an overview over all changed/added/deprecated items - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i - del /q /s %BUILDDIR%\* - goto end -) - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/html. - goto end -) - -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. - goto end -) - -if "%1" == "singlehtml" ( - %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in %BUILDDIR%/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in %BUILDDIR%/qthelp, like this: - echo.^> qcollectiongenerator %BUILDDIR%\qthelp\pgRoutingDocumentation.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile %BUILDDIR%\qthelp\pgRoutingDocumentation.ghc - goto end -) - -if "%1" == "devhelp" ( - %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. - goto end -) - -if "%1" == "epub" ( - %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The epub file is in %BUILDDIR%/epub. - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdf" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf - cd %BUILDDIR%/.. - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdfja" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf-ja - cd %BUILDDIR%/.. - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "text" ( - %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The text files are in %BUILDDIR%/text. - goto end -) - -if "%1" == "man" ( - %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The manual pages are in %BUILDDIR%/man. - goto end -) - -if "%1" == "texinfo" ( - %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. - goto end -) - -if "%1" == "gettext" ( - %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The message catalogs are in %BUILDDIR%/locale. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes - if errorlevel 1 exit /b 1 - echo. - echo.The overview file is in %BUILDDIR%/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck - if errorlevel 1 exit /b 1 - echo. - echo.Link check complete; look for any errors in the above output ^ -or in %BUILDDIR%/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest - if errorlevel 1 exit /b 1 - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in %BUILDDIR%/doctest/output.txt. - goto end -) - -:end diff --git a/doc/mincut/CMakeLists.txt b/doc/mincut/CMakeLists.txt index 9f35481b2e0..290da840320 100644 --- a/doc/mincut/CMakeLists.txt +++ b/doc/mincut/CMakeLists.txt @@ -1,7 +1,6 @@ SET(LOCAL_FILES - doc-pgr_stoerWagner.queries - pgr_stoerWagner.rst + pgr_stoerWagner.rst ) foreach (f ${LOCAL_FILES}) diff --git a/doc/mincut/doc-pgr_stoerWagner.queries b/doc/mincut/doc-pgr_stoerWagner.queries deleted file mode 100644 index 5ce48c8962f..00000000000 --- a/doc/mincut/doc-pgr_stoerWagner.queries +++ /dev/null @@ -1,47 +0,0 @@ -BEGIN; -BEGIN --- q1 -SELECT * FROM pgr_stoerWagner( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id < 17' -); - seq | edge | cost | mincut ------+------+------+-------- - 1 | 1 | 1 | 1 -(1 row) - --- q2 -SELECT * FROM pgr_stoerWagner( - 'SELECT id, source, target, cost, reverse_cost - FROM edge_table - WHERE id = 18' -); - seq | edge | cost | mincut ------+------+------+-------- - 1 | 18 | 1 | 1 -(1 row) - --- q3 -SELECT * FROM pgr_stoerWagner( -$$ - SELECT id, source, target, cost, reverse_cost FROM edge_table - where source = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) - OR - target = any (ARRAY(SELECT node FROM pgr_connectedComponents( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table ') - WHERE component = 14) - ) -$$ - ); - seq | edge | cost | mincut ------+------+------+-------- - 1 | 17 | 1 | 1 -(1 row) - --- q4 -ROLLBACK; -ROLLBACK diff --git a/doc/mincut/pgr_stoerWagner.rst b/doc/mincut/pgr_stoerWagner.rst index 3531e5d89d3..d12573187df 100644 --- a/doc/mincut/pgr_stoerWagner.rst +++ b/doc/mincut/pgr_stoerWagner.rst @@ -90,7 +90,7 @@ Signatures RETURNS SET OF (seq, edge, cost, mincut) OR EMPTY SET -.. literalinclude:: doc-pgr_stoerWagner.queries +.. literalinclude:: doc-stoerWagner.queries :start-after: -- q1 :end-before: -- q2 @@ -146,13 +146,13 @@ Column Type Description Additional Example: ------------------------------------------------------------------------------- -.. literalinclude:: doc-pgr_stoerWagner.queries +.. literalinclude:: doc-stoerWagner.queries :start-after: -- q2 :end-before: -- q3 Use pgr_connectedComponents( ) function in query: -.. literalinclude:: doc-pgr_stoerWagner.queries +.. literalinclude:: doc-stoerWagner.queries :start-after: -- q3 :end-before: -- q4 diff --git a/sql/scripts/build-extension-file.pl b/sql/scripts/build-extension-file.pl index 2a9967127b1..51b278c8a9d 100755 --- a/sql/scripts/build-extension-file.pl +++ b/sql/scripts/build-extension-file.pl @@ -1,4 +1,27 @@ #!/usr/bin/perl -w +=pod + +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +=cut + eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if 0; #$running_under_some_shell @@ -6,7 +29,7 @@ # Almost files in the src/*/sql are part of the extension # The files indicated on the CMakelists of the subdirectory: # Are going to be included (when not commented out) -# The generated file is going to be used to compare VS the generated file on cmake +# Used on cmake use strict; use Data::Dumper; diff --git a/sql/scripts/build-extension-update-files1.pl b/sql/scripts/build-extension-update-files1.pl index 70a3abe30b9..d23079aba3f 100755 --- a/sql/scripts/build-extension-update-files1.pl +++ b/sql/scripts/build-extension-update-files1.pl @@ -1,4 +1,34 @@ #!/usr/bin/perl -w +=pod + +Copyright (c) 2015 pgRouting developers +Mail: project@pgrouting.org + +------ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +=cut + +eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' + if 0; #$running_under_some_shell + +# Extension files almost do not change +# Almost files in the src/*/sql are part of the extension +# The files indicated on the CMakelists of the subdirectory: +# Are going to be included (when not commented out) eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if 0; #$running_under_some_shell diff --git a/tools/scripts/README.txt b/tools/scripts/README.txt index 4568f62f81e..74d3a3c4e18 100644 --- a/tools/scripts/README.txt +++ b/tools/scripts/README.txt @@ -30,3 +30,17 @@ sh tools/scripts/code_checker.sh - it works on all src/*/src - output is grouped by extension + +License Checker +............... + +Requirements + +``` +sudo apt install -y licensecheck +``` + +Execution +``` +bash ./tools/scripts/test_license.sh +``` diff --git a/tools/scripts/test_license.sh b/tools/scripts/test_license.sh new file mode 100644 index 00000000000..b1f553dbeed --- /dev/null +++ b/tools/scripts/test_license.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +# This test checks that all source files correctly have license headers + +EXCLUDE_LIST="txt|sig|png|jpeg|_static|md|control|html" + +mylicensecheck() { + licensecheck -r --copyright -l 30 --tail 0 -i "$EXCLUDE_LIST" $1 +} + +DIR=$(git rev-parse --show-toplevel) + +pushd "${DIR}" > /dev/null || exit +missing=$(! { mylicensecheck src & mylicensecheck sql & mylicensecheck inlucde;} | grep "No copyright\|UNKNOWN") +missing1=$(mylicensecheck doc | grep "No copyright") +missing2=$(grep --files-without-match 'Creative Commons' doc/*/*.rst) +popd > /dev/null || exit + +#mylicensecheck doc +error=0 +if [[ $missing ]]; then + echo " ****************************************************" + echo " *** Found source files without valid license headers" + echo " ****************************************************" + echo "$missing" + error=1 +fi + +if [[ $missing1 ]]; then + echo " ****************************************************" + echo " *** Found documentation files without copyright" + echo " ****************************************************" + echo "$missing1" + error=1 +fi + +if [[ $missing2 ]]; then + echo " ****************************************************" + echo " *** Found documentation files without valid license headers" + echo " ****************************************************" + echo "$missing2" + error=1 +fi +exit $error + From f74aea0a7f815eafe4553510072f85896d063a44 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Thu, 6 Aug 2020 23:40:50 -0500 Subject: [PATCH 0984/1360] [withPoints][Code] Added for combination signatures --- .../drivers/withPoints/withPoints_driver.h | 4 ++ .../many_to_many_eq_combinations.test.sql | 0 ...t_empty_combinations_empty_result.test.sql | 0 ...s_empty_combinations_empty_result.test.sql | 0 sql/withPoints/_withPoints.sql | 27 +++++++- sql/withPoints/withPoints.sql | 43 ++++++++++++ src/withPoints/withPoints.c | 67 +++++++++++++------ src/withPoints/withPoints_driver.cpp | 13 +++- 8 files changed, 132 insertions(+), 22 deletions(-) create mode 100644 pgtap/withPoints/many_to_many_eq_combinations.test.sql create mode 100644 pgtap/withPoints/withPointsCost_empty_combinations_empty_result.test.sql create mode 100644 pgtap/withPoints/withPoints_empty_combinations_empty_result.test.sql diff --git a/include/drivers/withPoints/withPoints_driver.h b/include/drivers/withPoints/withPoints_driver.h index 311d976443b..8abad65bc6b 100644 --- a/include/drivers/withPoints/withPoints_driver.h +++ b/include/drivers/withPoints/withPoints_driver.h @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/point_on_edge_t.h" #include "c_types/pgr_edge_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/general_path_element_t.h" #ifdef __cplusplus @@ -61,6 +62,9 @@ extern "C" { pgr_edge_t *edges_of_points, size_t total_edges_of_points, + pgr_combination_t *combinations, + size_t total_combinations, + int64_t *start_pidsArr, size_t size_start_pidsArr, diff --git a/pgtap/withPoints/many_to_many_eq_combinations.test.sql b/pgtap/withPoints/many_to_many_eq_combinations.test.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pgtap/withPoints/withPointsCost_empty_combinations_empty_result.test.sql b/pgtap/withPoints/withPointsCost_empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pgtap/withPoints/withPoints_empty_combinations_empty_result.test.sql b/pgtap/withPoints/withPoints_empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/sql/withPoints/_withPoints.sql b/sql/withPoints/_withPoints.sql index 92d565d7d9e..bd113cfe6b2 100644 --- a/sql/withPoints/_withPoints.sql +++ b/sql/withPoints/_withPoints.sql @@ -66,8 +66,33 @@ RETURNS SETOF RECORD AS LANGUAGE c VOLATILE; --- COMMENTS +CREATE OR REPLACE FUNCTION _pgr_withPoints( + edges_sql TEXT, + points_sql TEXT, + combinations_sql TEXT, + + directed BOOLEAN, + driving_side CHAR, + details BOOLEAN, + only_cost BOOLEAN DEFAULT false, + + OUT seq INTEGER, + OUT path_seq INTEGER, + OUT start_pid BIGINT, + OUT end_pid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +'MODULE_PATHNAME' +LANGUAGE C VOLATILE STRICT; + +-- COMMENTS COMMENT ON FUNCTION _pgr_withPoints(TEXT, TEXT, ANYARRAY, ANYARRAY, BOOLEAN, CHAR, BOOLEAN, BOOLEAN, BOOLEAN) IS 'pgRouting internal function'; + +COMMENT ON FUNCTION _pgr_withPoints(TEXT, TEXT, TEXT, BOOLEAN, CHAR, BOOLEAN, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/withPoints/withPoints.sql b/sql/withPoints/withPoints.sql index 03433a070c2..d23302e968b 100644 --- a/sql/withPoints/withPoints.sql +++ b/sql/withPoints/withPoints.sql @@ -146,6 +146,35 @@ COST 100 ROWS 1000; +-- Combinations SQL signature +CREATE OR REPLACE FUNCTION pgr_withPoints( + TEXT, -- edges_sql (required) + TEXT, -- points_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + driving_side CHAR DEFAULT 'b', -- 'r'/'l'/'b'/NULL + details BOOLEAN DEFAULT false, + + OUT seq INTEGER, + OUT path_seq INTEGER, + OUT start_pid BIGINT, + OUT end_pid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT a.seq, a.path_seq, a.start_pid, a.end_pid, a.node, a.edge, a.cost, a.agg_cost + FROM _pgr_withPoints(_pgr_get_statement($1), _pgr_get_statement($2), _pgr_get_statement($3), + $4, $5, $6) AS a; +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + + -- COMMENTS @@ -215,3 +244,17 @@ IS 'pgr_withPoints (Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_withPoints.html '; + +COMMENT ON FUNCTION pgr_withPoints(TEXT, TEXT, TEXT, BOOLEAN, CHAR, BOOLEAN) +IS 'pgr_withPoints(Combinations) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Points SQL with columns: [pid], edge_id, fraction [,side] + - Combinations SQL with columns: source, target +- Optional Parameters + - directed := ''true'' + - driving_side := ''b'' + - details := ''false'' +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_withPoints.html +'; diff --git a/src/withPoints/withPoints.c b/src/withPoints/withPoints.c index 9ff7813ab26..5cfca4cf571 100644 --- a/src/withPoints/withPoints.c +++ b/src/withPoints/withPoints.c @@ -38,6 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" #include "c_common/points_input.h" +#include "c_common/combinations_input.h" #include "drivers/withPoints/get_new_queries.h" #include "drivers/withPoints/withPoints_driver.h" @@ -50,6 +51,7 @@ void process( char* edges_sql, char* points_sql, + char* combinations_sql, ArrayType *starts, ArrayType *ends, @@ -72,6 +74,9 @@ process( size_t size_end_pidsArr = 0; int64_t* end_pidsArr = NULL; + pgr_combination_t *combinations = NULL; + size_t total_combinations = 0; + Point_on_edge_t *points = NULL; size_t total_points = 0; pgr_get_points(points_sql, &points, &total_points); @@ -103,10 +108,14 @@ process( &total_edges_of_points); pgr_get_edges(edges_no_points_query, &edges, &total_edges); - start_pidsArr = (int64_t*) - pgr_get_bigIntArray(&size_start_pidsArr, starts); - end_pidsArr = (int64_t*) - pgr_get_bigIntArray(&size_end_pidsArr, ends); + if (starts && ends) { + start_pidsArr = (int64_t*) + pgr_get_bigIntArray(&size_start_pidsArr, starts); + end_pidsArr = (int64_t*) + pgr_get_bigIntArray(&size_end_pidsArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + } } else { pgr_get_edges_reversed( edges_of_points_query, @@ -140,6 +149,9 @@ process( edges, total_edges, points, total_points, edges_of_points, total_edges_of_points, + + combinations, total_combinations, + start_pidsArr, size_start_pidsArr, end_pidsArr, size_end_pidsArr, @@ -155,9 +167,9 @@ process( &err_msg); if (only_cost) { - time_msg("processing pgr_withPointsCost(one to one)", start_t, clock()); + time_msg("processing pgr_withPointsCost", start_t, clock()); } else { - time_msg("processing pgr_withPoints(one to one)", start_t, clock()); + time_msg("processing pgr_withPoints", start_t, clock()); } if (err_msg && (*result_tuples)) { @@ -182,6 +194,8 @@ process( } + + PGDLLEXPORT Datum _pgr_withpoints(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; @@ -198,22 +212,15 @@ _pgr_withpoints(PG_FUNCTION_ARGS) { oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - // CREATE OR REPLACE FUNCTION pgr_withPoint( - // edges_sql TEXT, - // points_sql TEXT, - // start_pid ANYARRAY, - // end_pids ANYARRAY, - // driving_side CHAR -- DEFAULT 'b', - // details BOOLEAN -- DEFAULT false, - // directed BOOLEAN -- DEFAULT true, - // only_cost BOOLEAN DEFAULT false, - // normal BOOLEAN DEFAULT true, - - - process( + if (PG_NARGS() == 9) { + /* + * many to many + */ + + process( text_to_cstring(PG_GETARG_TEXT_P(0)), text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, PG_GETARG_ARRAYTYPE_P(2), PG_GETARG_ARRAYTYPE_P(3), PG_GETARG_BOOL(4), @@ -224,6 +231,26 @@ _pgr_withpoints(PG_FUNCTION_ARGS) { &result_tuples, &result_count); + } else if (PG_NARGS() == 7) { + /* + * Combinations + */ + + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + text_to_cstring(PG_GETARG_TEXT_P(2)), + NULL, + NULL, + PG_GETARG_BOOL(3), + text_to_cstring(PG_GETARG_TEXT_P(4)), + PG_GETARG_BOOL(5), + PG_GETARG_BOOL(6), + true, + &result_tuples, + &result_count); + } + /**********************************************************************/ #if PGSQL_VERSION > 95 diff --git a/src/withPoints/withPoints_driver.cpp b/src/withPoints/withPoints_driver.cpp index 994afc4f433..eedb604cba5 100644 --- a/src/withPoints/withPoints_driver.cpp +++ b/src/withPoints/withPoints_driver.cpp @@ -46,10 +46,12 @@ template < class G > std::deque< Path > pgr_dijkstra( G &graph, + std::vector < pgr_combination_t > &combinations, std::vector < int64_t > sources, std::vector < int64_t > targets, bool only_cost, bool normal) { + pgassert((!combinations.empty() && normal) || (!sources.empty() && !targets.empty())); std::sort(sources.begin(), sources.end()); sources.erase( std::unique(sources.begin(), sources.end()), @@ -61,7 +63,9 @@ pgr_dijkstra( targets.end()); pgrouting::Pgr_dijkstra< G > fn_dijkstra; - auto paths = fn_dijkstra.dijkstra(graph, sources, targets, only_cost); + auto paths = combinations.empty()? + fn_dijkstra.dijkstra(graph, sources, targets, only_cost) + : fn_dijkstra.dijkstra(graph, combinations, only_cost); if (!normal) { for (auto &path : paths) { @@ -89,6 +93,9 @@ do_pgr_withPoints( pgr_edge_t *edges, size_t total_edges, Point_on_edge_t *points_p, size_t total_points, pgr_edge_t *edges_of_points, size_t total_edges_of_points, + + pgr_combination_t *combinations, size_t total_combinations, + int64_t *start_pidsArr, size_t size_start_pidsArr, int64_t *end_pidsArr, size_t size_end_pidsArr, @@ -136,6 +143,8 @@ do_pgr_withPoints( } + std::vector + combinations_vector(combinations, combinations + total_combinations); std::vector start_vertices(start_pidsArr, start_pidsArr + size_start_pidsArr); std::vector< int64_t > @@ -156,6 +165,7 @@ do_pgr_withPoints( paths = pgr_dijkstra( digraph, + combinations_vector, start_vertices, end_vertices, only_cost, normal); } else { @@ -165,6 +175,7 @@ do_pgr_withPoints( undigraph.insert_edges(pg_graph.new_edges()); paths = pgr_dijkstra( undigraph, + combinations_vector, start_vertices, end_vertices, only_cost, normal); } From 308400150dd9aa6052f58ed77eaad5ddc3481337 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Thu, 6 Aug 2020 23:41:46 -0500 Subject: [PATCH 0985/1360] [withPoints][docqueries] Added for combination signature --- .../withPoints/doc-pgr_withPoints.result | 25 +++++++++++++++++++ .../withPoints/doc-pgr_withPoints.test.sql | 7 ++++++ 2 files changed, 32 insertions(+) diff --git a/docqueries/withPoints/doc-pgr_withPoints.result b/docqueries/withPoints/doc-pgr_withPoints.result index 622d3da2980..cbcdc33697a 100644 --- a/docqueries/withPoints/doc-pgr_withPoints.result +++ b/docqueries/withPoints/doc-pgr_withPoints.result @@ -206,5 +206,30 @@ SELECT * FROM pgr_withPoints( (24 rows) --q5 +SELECT * FROM pgr_withPoints( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 'SELECT pid, edge_id, fraction, side from pointsOfInterest', + 'SELECT * FROM ( VALUES (-1, 3), (2, -3) ) AS t(source, target)', + driving_side => 'r', + details => true); + seq | path_seq | start_pid | end_pid | node | edge | cost | agg_cost +-----+----------+-----------+---------+------+------+------+---------- + 1 | 1 | -1 | 3 | -1 | 1 | 0.4 | 0 + 2 | 2 | -1 | 3 | 1 | 1 | 1 | 0.4 + 3 | 3 | -1 | 3 | 2 | 4 | 0.7 | 1.4 + 4 | 4 | -1 | 3 | -6 | 4 | 0.3 | 2.1 + 5 | 5 | -1 | 3 | 5 | 8 | 1 | 2.4 + 6 | 6 | -1 | 3 | 6 | 9 | 1 | 3.4 + 7 | 7 | -1 | 3 | 9 | 16 | 1 | 4.4 + 8 | 8 | -1 | 3 | 4 | 3 | 1 | 5.4 + 9 | 9 | -1 | 3 | 3 | -1 | 0 | 6.4 + 10 | 1 | 2 | -3 | 2 | 4 | 0.7 | 0 + 11 | 2 | 2 | -3 | -6 | 4 | 0.3 | 0.7 + 12 | 3 | 2 | -3 | 5 | 10 | 1 | 1 + 13 | 4 | 2 | -3 | 10 | 12 | 0.6 | 2 + 14 | 5 | 2 | -3 | -3 | -1 | 0 | 2.6 +(14 rows) + +--q6 ROLLBACK; ROLLBACK diff --git a/docqueries/withPoints/doc-pgr_withPoints.test.sql b/docqueries/withPoints/doc-pgr_withPoints.test.sql index ff0c9199863..32aa4391fa1 100644 --- a/docqueries/withPoints/doc-pgr_withPoints.test.sql +++ b/docqueries/withPoints/doc-pgr_withPoints.test.sql @@ -69,3 +69,10 @@ SELECT * FROM pgr_withPoints( \echo --q5 +SELECT * FROM pgr_withPoints( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 'SELECT pid, edge_id, fraction, side from pointsOfInterest', + 'SELECT * FROM ( VALUES (-1, 3), (2, -3) ) AS t(source, target)', + driving_side => 'r', + details => true); +\echo --q6 From 6475c2952b2b895656585efaedbcef88b7e063ff Mon Sep 17 00:00:00 2001 From: cvvergara Date: Thu, 6 Aug 2020 23:42:53 -0500 Subject: [PATCH 0986/1360] [dijkstra][sql] Fixed comment --- sql/dijkstra/dijkstra.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/dijkstra/dijkstra.sql b/sql/dijkstra/dijkstra.sql index e6918a4f81a..623bf4c9d71 100644 --- a/sql/dijkstra/dijkstra.sql +++ b/sql/dijkstra/dijkstra.sql @@ -204,7 +204,7 @@ IS 'pgr_dijkstra(Many to Many) '; COMMENT ON FUNCTION pgr_dijkstra(TEXT, TEXT, BOOLEAN) -IS 'pgr_dijkstra(One to One) +IS 'pgr_dijkstra(Combinations) - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Combinations SQL with columns: source, target From d145e5e56a9250251e7d49231e71b23240cf52fe Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 8 Oct 2020 22:41:35 +0530 Subject: [PATCH 0987/1360] [withPointsCost][Code] Added for combinations signature --- sql/sigs/pgrouting--3.2.0.sig | 3 +++ sql/withPoints/withPointsCost.sql | 35 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.0.sig index 7c70edb7978..f4f194325d6 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.0.sig @@ -248,6 +248,7 @@ pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) pgr_withpointscost(text,text,anyarray,bigint,boolean,character) pgr_withpointscost(text,text,bigint,anyarray,boolean,character) pgr_withpointscost(text,text,bigint,bigint,boolean,character) +pgr_withpointscost(text,text,text,boolean,character) _pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) @@ -258,5 +259,7 @@ _pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,bo pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) +pgr_withpoints(text,text,text,boolean,character,boolean) +_pgr_withpoints(text,text,text,boolean,character,boolean,boolean) _pgr_withpointsvia(text,bigint[],double precision[],boolean) _trsp(text,text,anyarray,anyarray,boolean) diff --git a/sql/withPoints/withPointsCost.sql b/sql/withPoints/withPointsCost.sql index 86bf33f1d9b..bf317715e83 100644 --- a/sql/withPoints/withPointsCost.sql +++ b/sql/withPoints/withPointsCost.sql @@ -125,6 +125,28 @@ COST 100 ROWS 1000; +-- Combinations SQL signature +CREATE OR REPLACE FUNCTION pgr_withPointsCost( + TEXT, -- edges_sql (required) + TEXT, -- points_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + driving_side CHAR DEFAULT 'b', -- 'r'/'l'/'b'/NULL + + OUT start_pid BIGINT, + OUT end_pid BIGINT, + OUT agg_cost float) +RETURNS SETOF RECORD AS +$BODY$ + SELECT a.start_pid, a.end_pid, a.agg_cost + FROM _pgr_withPoints(_pgr_get_statement($1), _pgr_get_statement($2), _pgr_get_statement($3), $4, $5, TRUE, TRUE) AS a; +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + + -- COMMENTS @@ -189,3 +211,16 @@ IS 'pgr_withPointsCost (Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_withPointsCost.html '; + +COMMENT ON FUNCTION pgr_withPointsCost(TEXT, TEXT, TEXT, BOOLEAN, CHAR) +IS 'pgr_withPointsCost(Combinations) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Points SQL with columns: [pid], edge_id, fraction [,side] + - Combinations SQL with columns: source, target +- Optional Parameters + - directed := ''true'' + - driving_side := ''b'' +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_withPointsCost.html +'; From a25d84ccd7b6aa449241e4614a7f990e634ff8e0 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 8 Oct 2020 22:41:59 +0530 Subject: [PATCH 0988/1360] [withPointsCost][docqueries] Added for combinations signature --- docqueries/withPoints/doc-pgr_withPointsCost.result | 12 ++++++++++++ .../withPoints/doc-pgr_withPointsCost.test.sql | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/docqueries/withPoints/doc-pgr_withPointsCost.result b/docqueries/withPoints/doc-pgr_withPointsCost.result index 1f30516f7f5..6c1bdfac220 100644 --- a/docqueries/withPoints/doc-pgr_withPointsCost.result +++ b/docqueries/withPoints/doc-pgr_withPointsCost.result @@ -103,5 +103,17 @@ SELECT * FROM pgr_withPointsCost( (4 rows) --q5 +SELECT * FROM pgr_withPointsCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 'SELECT pid, edge_id, fraction, side from pointsOfInterest', + 'SELECT * FROM ( VALUES (-1, 3), (2, -3) ) AS t(source, target)', + driving_side => 'r'); + start_pid | end_pid | agg_cost +-----------+---------+---------- + -1 | 3 | 6.4 + 2 | -3 | 2.6 +(2 rows) + +--q6 ROLLBACK; ROLLBACK diff --git a/docqueries/withPoints/doc-pgr_withPointsCost.test.sql b/docqueries/withPoints/doc-pgr_withPointsCost.test.sql index 451a8f1d668..f5057ec93b6 100644 --- a/docqueries/withPoints/doc-pgr_withPointsCost.test.sql +++ b/docqueries/withPoints/doc-pgr_withPointsCost.test.sql @@ -46,3 +46,11 @@ SELECT * FROM pgr_withPointsCost( ARRAY[-1,2], ARRAY[-3,7], driving_side := 'b'); \echo --q5 + + +SELECT * FROM pgr_withPointsCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table ORDER BY id', + 'SELECT pid, edge_id, fraction, side from pointsOfInterest', + 'SELECT * FROM ( VALUES (-1, 3), (2, -3) ) AS t(source, target)', + driving_side => 'r'); +\echo --q6 From c503eac96efbebe002219dd7d2755677be6b809b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 7 Nov 2020 20:09:12 +0530 Subject: [PATCH 0989/1360] [withPoints] Fixed code --- src/withPoints/withPoints_driver.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/withPoints/withPoints_driver.cpp b/src/withPoints/withPoints_driver.cpp index eedb604cba5..f89f726f264 100644 --- a/src/withPoints/withPoints_driver.cpp +++ b/src/withPoints/withPoints_driver.cpp @@ -51,7 +51,6 @@ pgr_dijkstra( std::vector < int64_t > targets, bool only_cost, bool normal) { - pgassert((!combinations.empty() && normal) || (!sources.empty() && !targets.empty())); std::sort(sources.begin(), sources.end()); sources.erase( std::unique(sources.begin(), sources.end()), @@ -63,9 +62,10 @@ pgr_dijkstra( targets.end()); pgrouting::Pgr_dijkstra< G > fn_dijkstra; + size_t n_goals = (std::numeric_limits::max)(); auto paths = combinations.empty()? fn_dijkstra.dijkstra(graph, sources, targets, only_cost) - : fn_dijkstra.dijkstra(graph, combinations, only_cost); + : fn_dijkstra.dijkstra(graph, combinations, only_cost, n_goals); if (!normal) { for (auto &path : paths) { @@ -120,8 +120,6 @@ do_pgr_withPoints( pgassert(!(*return_tuples)); pgassert((*return_count) == 0); pgassert(edges || edges_of_points); - pgassert(start_pidsArr); - pgassert(end_pidsArr); pgrouting::Pg_points_graph pg_graph( std::vector( From 3ebc8aadae40d66f85a7e58540421ef9ff3f1897 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 7 Nov 2020 20:11:44 +0530 Subject: [PATCH 0990/1360] [withPoints][pgtap] Added the tests --- .../many_to_many_eq_combinations.test.sql | 59 +++++++++++++++++++ pgtap/withPoints/no_crash_test-withPoints.sql | 29 ++++++++- .../withPoints-group-innerQuery.sql | 7 ++- ...s_empty_combinations_empty_result.test.sql | 26 ++++++++ 4 files changed, 119 insertions(+), 2 deletions(-) diff --git a/pgtap/withPoints/many_to_many_eq_combinations.test.sql b/pgtap/withPoints/many_to_many_eq_combinations.test.sql index e69de29bb2d..4cf7c86cf7a 100644 --- a/pgtap/withPoints/many_to_many_eq_combinations.test.sql +++ b/pgtap/withPoints/many_to_many_eq_combinations.test.sql @@ -0,0 +1,59 @@ + +\i setup.sql + +SELECT plan(2); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +create or REPLACE FUNCTION foo( sql_TestFunction TEXT, cant INTEGER default 18 ) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +sql_Combinations TEXT; +sql_Many TEXT; +BEGIN + + sql_Combinations := ''; + sql_Many := ''; + FOR i IN 1.. cant LOOP + IF (i > 1) THEN + sql_Many := sql_Many ||', '; + END IF; + sql_Many := sql_Many || i ; + END LOOP; + + FOR i IN 1.. cant LOOP + FOR j IN 1..cant LOOP + IF NOT (i = j) THEN + sql_Combinations := sql_Combinations || '(' || i || ',' || j || '),' ; + END IF; + END LOOP; + END LOOP; + sql_Combinations := trim(trailing ',' from sql_Combinations); + + sql_Many := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table''::text, + ''SELECT pid, edge_id, fraction, side from pointsOfInterest'', + ARRAY[' || sql_Many ||'], ARRAY[' || sql_Many || '] ) '); + + sql_Combinations := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table''::text, + ''SELECT pid, edge_id, fraction, side from pointsOfInterest'', + ''SELECT * FROM (VALUES' || sql_Combinations ||') AS combinations (source, target)'' ) '); + + RETURN query SELECT set_eq( sql_Many, sql_Combinations ); + RETURN; +END +$BODY$ +language plpgsql; + +-- test pgr_withPoints +select * from foo('SELECT path_seq, start_pid, end_pid, node, edge, cost, agg_cost FROM pgr_withPoints'); + +-- test pgr_withPointsCost +select * from foo('SELECT start_pid, end_pid, agg_cost FROM pgr_withPointsCost'); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; + diff --git a/pgtap/withPoints/no_crash_test-withPoints.sql b/pgtap/withPoints/no_crash_test-withPoints.sql index 98349f4fdc6..33179c5b326 100644 --- a/pgtap/withPoints/no_crash_test-withPoints.sql +++ b/pgtap/withPoints/no_crash_test-withPoints.sql @@ -1,11 +1,14 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(84); +SELECT plan(102); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; +PREPARE combinations AS +SELECT source, target FROM combinations_table; + PREPARE pois AS SELECT pid, edge_id, fraction from pointsOfInterest; @@ -15,9 +18,14 @@ SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT isnt_empty('pois', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -115,6 +123,25 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_withPoints', params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', + '$$SELECT pid, edge_id, fraction from pointsOfInterest$$', + '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_withPoints', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_withPoints', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; diff --git a/pgtap/withPoints/withPoints-group-innerQuery.sql b/pgtap/withPoints/withPoints-group-innerQuery.sql index df23c54cd9f..d55f4197deb 100644 --- a/pgtap/withPoints/withPoints-group-innerQuery.sql +++ b/pgtap/withPoints/withPoints-group-innerQuery.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(656); +SELECT plan(658); SET client_min_messages TO ERROR; @@ -13,6 +13,8 @@ SELECT has_function('pgr_withpoints', ARRAY['text', 'text', 'anyarray', 'bigint', 'boolean','character', 'boolean']); SELECT has_function('pgr_withpoints', ARRAY['text', 'text', 'anyarray', 'anyarray', 'boolean','character', 'boolean']); +SELECT has_function('pgr_withpoints', + ARRAY['text', 'text', 'text', 'boolean','character', 'boolean']); SELECT function_returns('pgr_withpoints', ARRAY['text', 'text', 'bigint', 'bigint', 'boolean','character', 'boolean'], @@ -26,6 +28,9 @@ SELECT function_returns('pgr_withpoints', SELECT function_returns('pgr_withpoints', ARRAY['text', 'text', 'anyarray', 'anyarray', 'boolean','character', 'boolean'], 'setof record'); +SELECT function_returns('pgr_withpoints', + ARRAY['text', 'text', 'text', 'boolean','character', 'boolean'], + 'setof record'); -- DIRECTED diff --git a/pgtap/withPoints/withPoints_empty_combinations_empty_result.test.sql b/pgtap/withPoints/withPoints_empty_combinations_empty_result.test.sql index e69de29bb2d..cf3815d2045 100644 --- a/pgtap/withPoints/withPoints_empty_combinations_empty_result.test.sql +++ b/pgtap/withPoints/withPoints_empty_combinations_empty_result.test.sql @@ -0,0 +1,26 @@ + +\i setup.sql + +SELECT plan(1); + +create or REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT path_seq, start_pid, end_pid, node, edge, cost, agg_cost FROM pgr_withPoints( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ''SELECT pid, edge_id, fraction, side from pointsOfInterest'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +select * from foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; From ee22e11ff583b2a0dd4a850832456295f8b21f74 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 7 Nov 2020 20:11:51 +0530 Subject: [PATCH 0991/1360] [withPointsCost][pgtap] Added the tests --- .../no_crash_test-withPointsCost.sql | 29 ++++++++++++++++++- .../withPointsCost-group-innerQuery.sql | 7 ++++- ...t_empty_combinations_empty_result.test.sql | 26 +++++++++++++++++ 3 files changed, 60 insertions(+), 2 deletions(-) diff --git a/pgtap/withPoints/no_crash_test-withPointsCost.sql b/pgtap/withPoints/no_crash_test-withPointsCost.sql index a5571d0d8e0..8d8ae90a721 100644 --- a/pgtap/withPoints/no_crash_test-withPointsCost.sql +++ b/pgtap/withPoints/no_crash_test-withPointsCost.sql @@ -1,11 +1,14 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(84); +SELECT plan(102); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; +PREPARE combinations AS +SELECT source, target FROM combinations_table; + PREPARE pois AS SELECT pid, edge_id, fraction from pointsOfInterest; @@ -15,9 +18,14 @@ SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT isnt_empty('pois', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -115,6 +123,25 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_withPointsCost', params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', + '$$SELECT pid, edge_id, fraction from pointsOfInterest$$', + '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_withPointsCost', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_withPointsCost', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; diff --git a/pgtap/withPoints/withPointsCost-group-innerQuery.sql b/pgtap/withPoints/withPointsCost-group-innerQuery.sql index 37d1e21c9f0..baf338cb84c 100644 --- a/pgtap/withPoints/withPointsCost-group-innerQuery.sql +++ b/pgtap/withPoints/withPointsCost-group-innerQuery.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(656); +SELECT plan(658); SET client_min_messages TO ERROR; @@ -13,6 +13,8 @@ SELECT has_function('pgr_withpointscost', ARRAY['text', 'text', 'anyarray', 'bigint', 'boolean','character']); SELECT has_function('pgr_withpointscost', ARRAY['text', 'text', 'anyarray', 'anyarray', 'boolean','character']); +SELECT has_function('pgr_withpointscost', + ARRAY['text', 'text', 'text', 'boolean','character']); SELECT function_returns('pgr_withpointscost', ARRAY['text', 'text', 'bigint', 'bigint', 'boolean','character'], @@ -26,6 +28,9 @@ SELECT function_returns('pgr_withpointscost', SELECT function_returns('pgr_withpointscost', ARRAY['text', 'text', 'anyarray', 'anyarray', 'boolean','character'], 'setof record'); +SELECT function_returns('pgr_withpointscost', + ARRAY['text', 'text', 'text', 'boolean','character'], + 'setof record'); -- DIRECTED diff --git a/pgtap/withPoints/withPointsCost_empty_combinations_empty_result.test.sql b/pgtap/withPoints/withPointsCost_empty_combinations_empty_result.test.sql index e69de29bb2d..4ebe2eff355 100644 --- a/pgtap/withPoints/withPointsCost_empty_combinations_empty_result.test.sql +++ b/pgtap/withPoints/withPointsCost_empty_combinations_empty_result.test.sql @@ -0,0 +1,26 @@ + +\i setup.sql + +SELECT plan(1); + +create or REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT start_pid, end_pid, agg_cost FROM pgr_withPointsCost( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ''SELECT pid, edge_id, fraction, side from pointsOfInterest'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +select * from foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; From db2290e83fffcd3e7f9beeecfadc0a783927245f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 7 Nov 2020 20:12:42 +0530 Subject: [PATCH 0992/1360] [withPoints][doc] Added documentation --- doc/withPoints/pgr_withPoints.rst | 78 +++++++++++++++++++++++-------- 1 file changed, 59 insertions(+), 19 deletions(-) diff --git a/doc/withPoints/pgr_withPoints.rst b/doc/withPoints/pgr_withPoints.rst index 13131c26cdc..52faae23842 100644 --- a/doc/withPoints/pgr_withPoints.rst +++ b/doc/withPoints/pgr_withPoints.rst @@ -23,6 +23,12 @@ pgr_withPoints - Proposed .. rubric:: Availability +* Version 3.2.0 + + * New **proposed** function: + + * pgr_withPoints(Combinations) + * Version 2.2.0 * New **proposed** function @@ -30,7 +36,8 @@ pgr_withPoints - Proposed .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__) `3.0 `__ * **Unsupported versions:** @@ -80,6 +87,7 @@ Signatures pgr_withPoints(edges_sql, points_sql, from_vid, to_vids [, directed] [, driving_side] [, details]) pgr_withPoints(edges_sql, points_sql, from_vids, to_vid [, directed] [, driving_side] [, details]) pgr_withPoints(edges_sql, points_sql, from_vids, to_vids [, directed] [, driving_side] [, details]) + pgr_withPoints(Edges SQL, Points SQL, Combinations SQL [, directed] [, driving_side] [, details]) RETURNS SET OF (seq, path_seq, [start_vid,] [end_vid,] node, edge, cost, agg_cost) .. rubric:: Using defaults @@ -167,27 +175,46 @@ Many to Many :start-after: --e5 :end-before: --q2 +.. index:: + single: withPoints(Combinations) - Proposed + +Combinations SQL +............................................................................... + +.. code-block:: none + + pgr_withPoints(Edges SQL, Points SQL, Combinations SQL [, directed] [, driving_side] [, details]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + +:Example: Two (source, target) combinations: (from point :math:`1` to vertex :math:`3`), and (from vertex :math:`2` to point :math:`3`) with **right** side driving topology. + + +.. literalinclude:: doc-pgr_withPoints.queries + :start-after: -- q5 + :end-before: -- q6 + Parameters ------------------------------------------------------------------------------- -================ ====================== ================================================= -Parameter Type Description -================ ====================== ================================================= -**edges_sql** ``TEXT`` Edges SQL query as described above. -**points_sql** ``TEXT`` Points SQL query as described above. -**start_vid** ``ANY-INTEGER`` Starting vertex identifier. When negative: is a point's pid. -**end_vid** ``ANY-INTEGER`` Ending vertex identifier. When negative: is a point's pid. -**start_vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of starting vertices. When negative: is a point's pid. -**end_vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of ending vertices. When negative: is a point's pid. -**directed** ``BOOLEAN`` (optional). When ``false`` the graph is considered as Undirected. Default is ``true`` which considers the graph as Directed. -**driving_side** ``CHAR`` (optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is: - - In the right or left or - - If it doesn't matter with 'b' or NULL. - - If column not present 'b' is considered. - -**details** ``BOOLEAN`` (optional). When ``true`` the results will include the points in points_sql that are in the path. - Default is ``false`` which ignores other points of the points_sql. -================ ====================== ================================================= +====================== ====================== ================================================= +Parameter Type Description +====================== ====================== ================================================= +**Edges SQL** ``TEXT`` `Edges query` as described above. +**Points SQL** ``TEXT`` `Points query` as described above. +**Combinations SQL** ``TEXT`` `Combinations query` as described below. +**start_vid** ``ANY-INTEGER`` Starting vertex identifier. When negative: is a point's pid. +**end_vid** ``ANY-INTEGER`` Ending vertex identifier. When negative: is a point's pid. +**start_vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of starting vertices. When negative: is a point's pid. +**end_vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of ending vertices. When negative: is a point's pid. +**directed** ``BOOLEAN`` (optional). When ``false`` the graph is considered as Undirected. Default is ``true`` which considers the graph as Directed. +**driving_side** ``CHAR`` (optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is: + - In the right or left or + - If it doesn't matter with 'b' or NULL. + - If column not present 'b' is considered. + +**details** ``BOOLEAN`` (optional). When ``true`` the results will include the points in points_sql that are in the path. + Default is ``false`` which ignores other points of the points_sql. +====================== ====================== ================================================= Inner query ------------------------------------------------------------------------------- @@ -195,14 +222,27 @@ Inner query .. description of the sql queries +Edges query +............................................................................... + .. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start :end-before: basic_edges_sql_end +Points query +............................................................................... + .. include:: pgRouting-concepts.rst :start-after: points_sql_start :end-before: points_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From b509b11869c8822928a7a76051396f07582c98d2 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 7 Nov 2020 20:12:52 +0530 Subject: [PATCH 0993/1360] [withPointsCost][doc] Added documentation --- doc/withPoints/pgr_withPointsCost.rst | 75 +++++++++++++++++++++------ 1 file changed, 58 insertions(+), 17 deletions(-) diff --git a/doc/withPoints/pgr_withPointsCost.rst b/doc/withPoints/pgr_withPointsCost.rst index e9b179bdd6e..73f8d4c6356 100644 --- a/doc/withPoints/pgr_withPointsCost.rst +++ b/doc/withPoints/pgr_withPointsCost.rst @@ -23,6 +23,12 @@ pgr_withPointsCost - Proposed .. rubric:: Availability +* Version 3.2.0 + + * New **proposed** function: + + * pgr_withPointsCost(Combinations) + * Version 2.2.0 * New **proposed** function @@ -30,7 +36,8 @@ pgr_withPointsCost - Proposed .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ * **Unsupported versions:** @@ -94,6 +101,7 @@ Signatures pgr_withPointsCost(edges_sql, points_sql, from_vid, to_vids [, directed] [, driving_side]) pgr_withPointsCost(edges_sql, points_sql, from_vids, to_vid [, directed] [, driving_side]) pgr_withPointsCost(edges_sql, points_sql, from_vids, to_vids [, directed] [, driving_side]) + pgr_withPointsCost(Edges SQL, Points SQL, Combinations SQL [, directed] [, driving_side] [, details]) RETURNS SET OF (start_vid, end_vid, agg_cost) .. note:: There is no **details** flag, unlike the other members of the withPoints family of functions. @@ -186,39 +194,72 @@ Many to Many :start-after: --e5 :end-before: --q2 +.. index:: + single: withPointsCost(Combinations) - Proposed + +Combinations SQL +............................................................................... + +.. code-block:: none + + pgr_withPointsCost(Edges SQL, Points SQL, Combinations SQL [, directed] [, driving_side] [, details]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + +:Example: Two (source, target) combinations: (from point :math:`1` to vertex :math:`3`), and (from vertex :math:`2` to point :math:`3`) with **right** side driving topology. + + +.. literalinclude:: doc-pgr_withPointsCost.queries + :start-after: -- q5 + :end-before: -- q6 + + Parameters ------------------------------------------------------------------------------- -================ ====================== ================================================= -Parameter Type Description -================ ====================== ================================================= -**edges_sql** ``TEXT`` Edges SQL query as described above. -**points_sql** ``TEXT`` Points SQL query as described above. -**start_vid** ``ANY-INTEGER`` Starting vertex identifier. When negative: is a point's pid. -**end_vid** ``ANY-INTEGER`` Ending vertex identifier. When negative: is a point's pid. -**start_vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of starting vertices. When negative: is a point's pid. -**end_vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of ending vertices. When negative: is a point's pid. -**directed** ``BOOLEAN`` (optional). When ``false`` the graph is considered as Undirected. Default is ``true`` which considers the graph as Directed. -**driving_side** ``CHAR`` (optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is: - - In the right or left or - - If it doesn't matter with 'b' or NULL. - - If column not present 'b' is considered. - -================ ====================== ================================================= +====================== ====================== ================================================= +Parameter Type Description +====================== ====================== ================================================= +**Edges SQL** ``TEXT`` `Edges query` as described above. +**Points SQL** ``TEXT`` `Points query` as described above. +**Combinations SQL** ``TEXT`` `Combinations query` as described below. +**start_vid** ``ANY-INTEGER`` Starting vertex identifier. When negative: is a point's pid. +**end_vid** ``ANY-INTEGER`` Ending vertex identifier. When negative: is a point's pid. +**start_vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of starting vertices. When negative: is a point's pid. +**end_vids** ``ARRAY[ANY-INTEGER]`` Array of identifiers of ending vertices. When negative: is a point's pid. +**directed** ``BOOLEAN`` (optional). When ``false`` the graph is considered as Undirected. Default is ``true`` which considers the graph as Directed. +**driving_side** ``CHAR`` (optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is: + - In the right or left or + - If it doesn't matter with 'b' or NULL. + - If column not present 'b' is considered. + +====================== ====================== ================================================= Inner query ------------------------------------------------------------------------------- .. description of the sql queries +Edges query +............................................................................... + .. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start :end-before: basic_edges_sql_end +Points query +............................................................................... + .. include:: pgRouting-concepts.rst :start-after: points_sql_start :end-before: points_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From 75b5ef9c877a4411b2b0ec4ad0bcc08659d17a7e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 7 Nov 2020 20:13:16 +0530 Subject: [PATCH 0994/1360] [links] Ignoring links of non existing doc on website --- doc/conf.py.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/conf.py.in b/doc/conf.py.in index 4860f2b0e84..0d176865ba1 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -321,6 +321,8 @@ linkcheck_ignore = [ # might not exist yet (we are generating it!) 'https://docs.pgrouting.org/3.2/en/pgr_dijkstraNear.html', 'https://docs.pgrouting.org/3.2/en/pgr_dijkstraNearCost.html', + 'https://docs.pgrouting.org/3.2/en/pgr_withPoints.html', + 'https://docs.pgrouting.org/3.2/en/pgr_withPointsCost.html', # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected # (see: https://github.com/sphinx-doc/sphinx/issues/7388) From 1533afce72cf7945c01ca761126d87715f637041 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 7 Nov 2020 20:13:31 +0530 Subject: [PATCH 0995/1360] Added release notes and news --- NEWS | 5 +++++ doc/src/release_notes.rst | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/NEWS b/NEWS index 8bdd84cf8e6..39c49963049 100644 --- a/NEWS +++ b/NEWS @@ -17,6 +17,11 @@ pgRouting 3.2.0 Release Notes * pgr_makeConnected * pgr_sequentialVertexColoring +*New proposed functions* + +* pgr_withPoints(Combinations) +* pgr_withPointsCost(Combinations) + pgRouting 3.1.1 Release Notes ------------------------------------------------------------------------------- diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index df44f44d880..444ac600c1c 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -74,6 +74,11 @@ pgRouting 3.2.0 Release Notes * pgr_makeConnected * pgr_sequentialVertexColoring +.. rubric:: New proposed functions + +* pgr_withPoints(Combinations) +* pgr_withPointsCost(Combinations) + .. _changelog_3_1_1: pgRouting 3.1.1 Release Notes From e26d2f84f4cca02c491bbef612e31f3e93f4813d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 7 Nov 2020 20:41:21 +0530 Subject: [PATCH 0996/1360] [withPoints][doc] Fixed --- doc/withPoints/pgr_withPoints.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/withPoints/pgr_withPoints.rst b/doc/withPoints/pgr_withPoints.rst index 52faae23842..54a55c9b7e2 100644 --- a/doc/withPoints/pgr_withPoints.rst +++ b/doc/withPoints/pgr_withPoints.rst @@ -190,8 +190,8 @@ Combinations SQL .. literalinclude:: doc-pgr_withPoints.queries - :start-after: -- q5 - :end-before: -- q6 + :start-after: --q5 + :end-before: --q6 Parameters ------------------------------------------------------------------------------- From 79eec1fa363e06bc48bfda259e9fd0e7931c6c1d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 7 Nov 2020 20:41:31 +0530 Subject: [PATCH 0997/1360] [withPointsCost][doc] Fixed --- doc/withPoints/pgr_withPointsCost.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/withPoints/pgr_withPointsCost.rst b/doc/withPoints/pgr_withPointsCost.rst index 73f8d4c6356..59a4ad64193 100644 --- a/doc/withPoints/pgr_withPointsCost.rst +++ b/doc/withPoints/pgr_withPointsCost.rst @@ -209,8 +209,8 @@ Combinations SQL .. literalinclude:: doc-pgr_withPointsCost.queries - :start-after: -- q5 - :end-before: -- q6 + :start-after: --q5 + :end-before: --q6 Parameters From d0a480d888575a8c09661fb550224a93a8ac3156 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Sat, 7 Nov 2020 09:56:32 -0600 Subject: [PATCH 0998/1360] [CI] testing and fixing shell code * Action test for shell code * new file: tools/scripts/test_shell.sh * modified: .github/workflows/check-files.yml * fixing shell warnings * modified: ci/bessie/regress.sh * modified: ci/bessie32/regress.sh * modified: ci/debbie/regress.sh * modified: tools/developer/run.sh * modified: tools/release-scripts/check-release.sh * modified: tools/release-scripts/get_signatures.sh * modified: tools/scripts/code_checker.sh * modified: tools/scripts/fix_typos.sh * modified: tools/scripts/test_license.sh * modified: tools/testers/update-tester.sh * modified: tools/transifex/build_translations.sh * modified: tools/transifex/create_translations.sh * modified: tools/winnie/build_pgrouting.sh * modified: tools/winnie/package_pgrouting.sh * modified: .github/workflows/check-queries.yml * Deleting unused files * deleted: ci/travis/doc-quieries_test.sh --- .github/workflows/check-files.yml | 13 ++++- .github/workflows/check-queries.yml | 2 +- ci/bessie/regress.sh | 6 +-- ci/bessie32/regress.sh | 6 +-- ci/debbie/regress.sh | 8 +-- ci/travis/doc-quieries_test.sh | 71 ------------------------- tools/developer/run.sh | 17 +++--- tools/release-scripts/check-release.sh | 24 ++++++--- tools/release-scripts/get_signatures.sh | 20 +++---- tools/scripts/code_checker.sh | 6 +-- tools/scripts/fix_typos.sh | 8 +-- tools/scripts/test_license.sh | 6 +-- tools/scripts/test_shell.sh | 16 ++++++ tools/testers/update-tester.sh | 2 +- tools/transifex/build_translations.sh | 4 +- tools/transifex/create_translations.sh | 4 +- tools/winnie/build_pgrouting.sh | 10 ++-- tools/winnie/package_pgrouting.sh | 8 +-- 18 files changed, 97 insertions(+), 134 deletions(-) delete mode 100755 ci/travis/doc-quieries_test.sh mode change 100644 => 100755 tools/scripts/fix_typos.sh mode change 100644 => 100755 tools/scripts/test_license.sh create mode 100755 tools/scripts/test_shell.sh diff --git a/.github/workflows/check-files.yml b/.github/workflows/check-files.yml index 51b23f1cc32..52e7984f4e3 100644 --- a/.github/workflows/check-files.yml +++ b/.github/workflows/check-files.yml @@ -50,4 +50,15 @@ jobs: run: | sudo apt install -y licensecheck - name: Run License Check - run: bash ./tools/scripts/test_license.sh + run: ./tools/scripts/test_license.sh + + shell_check: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Install Requirements + run: | + sudo apt install -y shellcheck + - name: Run Shell Check + run: ./tools/scripts/test_shell.sh diff --git a/.github/workflows/check-queries.yml b/.github/workflows/check-queries.yml index 70ab9ce5570..ceda2ec631c 100644 --- a/.github/workflows/check-queries.yml +++ b/.github/workflows/check-queries.yml @@ -69,7 +69,7 @@ jobs: sudo service postgresql start sudo -u postgres createdb -p ${PGPORT} ____sigs_routing____ sudo -u postgres psql -p ${PGPORT} -c "CREATE ROLE runner SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN" -d ____sigs_routing____ - sh tools/release-scripts/get_signatures.sh -p ${PGPORT} + tools/release-scripts/get_signatures.sh -p ${PGPORT} git diff --exit-code --quiet sql/sigs/*.sig - name: Test documentation queries are up to date diff --git a/ci/bessie/regress.sh b/ci/bessie/regress.sh index 40326aa5eb8..44878582959 100644 --- a/ci/bessie/regress.sh +++ b/ci/bessie/regress.sh @@ -19,14 +19,14 @@ mkdir "${WORKSPACE}/build${BRANCH}" cmake --version -cd "../build${BRANCH}" +cd "../build${BRANCH}" || exit 1 cmake "../${BRANCH}" make sudo make install -cd "../${BRANCH}" +cd "../${BRANCH}" || exit 1 perl tools/testers/doc_queries_generator.pl psql -c "CREATE DATABASE ___pgr___test___" -sh tools/testers/pg_prove_tests.sh "${PGUSER}" +tools/testers/pg_prove_tests.sh "${PGUSER}" psql -c "DROP DATABASE ___pgr___test___" diff --git a/ci/bessie32/regress.sh b/ci/bessie32/regress.sh index 40326aa5eb8..44878582959 100644 --- a/ci/bessie32/regress.sh +++ b/ci/bessie32/regress.sh @@ -19,14 +19,14 @@ mkdir "${WORKSPACE}/build${BRANCH}" cmake --version -cd "../build${BRANCH}" +cd "../build${BRANCH}" || exit 1 cmake "../${BRANCH}" make sudo make install -cd "../${BRANCH}" +cd "../${BRANCH}" || exit 1 perl tools/testers/doc_queries_generator.pl psql -c "CREATE DATABASE ___pgr___test___" -sh tools/testers/pg_prove_tests.sh "${PGUSER}" +tools/testers/pg_prove_tests.sh "${PGUSER}" psql -c "DROP DATABASE ___pgr___test___" diff --git a/ci/debbie/regress.sh b/ci/debbie/regress.sh index be2ac535856..5b908c63f10 100644 --- a/ci/debbie/regress.sh +++ b/ci/debbie/regress.sh @@ -59,20 +59,20 @@ mkdir "${WORKSPACE}/build${BRANCH}" cmake --version -cd ../build"${BRANCH}" +cd ../build"${BRANCH}" || exit 1 cmake "../${BRANCH}" make make install -cd ../"${BRANCH}" -PERL5LIB=$(echo pwd) +cd ../"${BRANCH}" || exit 1 +PERL5LIB=$(pwd) export PERL5LIB perl tools/testers/doc_queries_generator.pl -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}" #pgTap tests disable for now until we have installed if false; then psql -c "CREATE DATABASE ___pgr___test___" -sh tools/testers/pg_prove_tests.sh "${PGUSER}" +tools/testers/pg_prove_tests.sh "${PGUSER}" psql -c "DROP DATABASE ___pgr___test___" fi diff --git a/ci/travis/doc-quieries_test.sh b/ci/travis/doc-quieries_test.sh deleted file mode 100755 index 69cb80d9ec2..00000000000 --- a/ci/travis/doc-quieries_test.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash -# ------------------------------------------------------------------------------ -# Travis CI scripts -# Copyright(c) pgRouting Contributors -# -# Test pgRouting -# ------------------------------------------------------------------------------ - -if [[ "$DOCUMENTATION" == "ON" ]] -then - exit 0 -fi - - -PGDATABASE="pgr_test__db__test" - -POSTGRESQL_VERSION="$1" -PGUSER="$2" - -#POSTGIS_VERSION="$2" - -echo "POSTGRESQL_VERSION $POSTGRESQL_VERSION" - -# exit script on error -set -e -ERROR=0 - -# Define alias function for psql command -run_psql () { - PGOPTIONS='--client-min-messages=warning' psql -U "${PGUSER}" -d "${PGDATABASE}" -X -q -v ON_ERROR_STOP=1 --pset pager=off "$@" - if [ "$?" -ne 0 ] - then - echo "Query failed:" "$@" - exit 1 - fi -} - -# ------------------------------------------------------------------------------ -# CREATE EXTENSION -# ------------------------------------------------------------------------------ -run_psql -c "CREATE EXTENSION postgis;" -run_psql -c "CREATE EXTENSION pgrouting;" - -# ------------------------------------------------------------------------------ -# Get version information -# ------------------------------------------------------------------------------ -run_psql -c "SELECT version();" -run_psql -c "SELECT postgis_full_version();" -run_psql -c "SELECT pgr_full_version();" - - -# ------------------------------------------------------------------------------ -# Regenerate the signature file & check if it was updated -# ------------------------------------------------------------------------------ -VERSION=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) -DIFF=$(git diff "sql/sigs/pgrouting--${VERSION}.sig") - -if [[ ! -z "${DIFF}" ]] -then - echo Signature file not updated - echo "${DIFF}" - exit 1 -fi - -TESTDIRS="version" -for d in ${TESTDIRS} -do - ./tools/testers/doc_queries_generator.pl -pgver "${POSTGRESQL_VERSION}" -pguser "${PGUSER}" -documentation -alg "${d}" -done - -./tools/testers/doc_queries_generator.pl -pgver "${POSTGRESQL_VERSION}" -pguser "${PGUSER}" diff --git a/tools/developer/run.sh b/tools/developer/run.sh index 4a2fc8f53b0..37c2f8b372e 100755 --- a/tools/developer/run.sh +++ b/tools/developer/run.sh @@ -20,10 +20,6 @@ PGBIN="/usr/lib/postgresql/${PGVERSION}/bin" # When more than one compiler is installed GCC="8" -# Using the default compiler version -unset GCC - - ALLDIRS=" allpairs alpha_shape @@ -66,7 +62,7 @@ echo ------------------------------------ echo "Compiling with G++-$1" echo ------------------------------------ -if [ ! -z "$1" ]; then +if [ -n "$1" ]; then update-alternatives --set gcc "/usr/bin/gcc-$1" fi @@ -119,10 +115,10 @@ echo -------------------------------------------- echo Update signatures echo -------------------------------------------- -sh tools/release-scripts/get_signatures.sh -p ${PGPORT} +tools/release-scripts/get_signatures.sh -p ${PGPORT} -if [[ $(git status | grep 'pgrouting--') ]]; then +if git status | grep 'pgrouting--' ; then echo "**************************************************" echo " WARNING" echo "the signatures changed, copyed the generated files" @@ -144,7 +140,7 @@ echo -------------------------------------------- echo Update / Verify NEWS echo -------------------------------------------- tools/release-scripts/notes2news.pl -if [[ $(git status | grep 'NEWS') ]]; then +if git status | grep 'NEWS'; then echo "**************************************************" echo " WARNING" echo "the signatures changed, copying generated files" @@ -157,7 +153,6 @@ fi # Execute documentation queries for the whole project ######################################################## tools/testers/doc_queries_generator.pl -documentation -pgport $PGPORT - tools/testers/doc_queries_generator.pl -pgport $PGPORT cd build @@ -174,7 +169,7 @@ cd .. dropdb --if-exists -p $PGPORT ___pgr___test___ createdb -p $PGPORT ___pgr___test___ echo $PGPORT -sh ./tools/testers/pg_prove_tests.sh vicky $PGPORT +tools/testers/pg_prove_tests.sh vicky $PGPORT dropdb -p $PGPORT ___pgr___test___ #tools/testers/update-tester.sh @@ -184,7 +179,7 @@ dropdb -p $PGPORT ___pgr___test___ # Uncomment what you need for compiler in ${GCC} do - if [ ! -z "$1" ]; then + if [ -n "$1" ]; then echo "Fresh build" rm -rf build/* fi diff --git a/tools/release-scripts/check-release.sh b/tools/release-scripts/check-release.sh index 4d05ee036e3..04457411f57 100755 --- a/tools/release-scripts/check-release.sh +++ b/tools/release-scripts/check-release.sh @@ -21,7 +21,7 @@ function error_msg() { function git_no_change { -if [[ $(git status | grep 'Changes not staged for commit:') ]]; then +if git status | grep 'Changes not staged for commit:'; then error_msg " There are changes staged on git" echo echo "HINT: Verify the changes and commit them" @@ -89,12 +89,12 @@ echo if [[ -n $DEBUG ]]; then echo echo "\`\`\`" - echo sh tools/scripts/fix_typos.sh + echo tools/scripts/fix_typos.sh echo "\`\`\`" echo fi -sh tools/scripts/fix_typos.sh +tools/scripts/fix_typos.sh if [[ -z "$DEBUG" ]]; then git_no_change @@ -217,9 +217,15 @@ done echo "### checking the signature files dont change" #--------------------------------------------------------------------- +<<<<<<< HEAD bash tools/release-scripts/compile-release.sh bash tools/release-scripts/get_signatures.sh if [[ $(git diff "sql/sigs/pgrouting--$MAYOR.$MINOR.$MICRO.sig") ]]; then +======= +tools/release-scripts/compile-release.sh +tools/release-scripts/get_signatures.sh +if [[ -z $(git diff "sql/sigs/pgrouting--$MAYOR.$MINOR.$MICRO.sig") ]]; then +>>>>>>> f062925ed... [CI] testing and fixing shell code echo signature changed at: "sql/sigs/pgrouting--$MAYOR.$MINOR.$MICRO.sig" fi @@ -231,12 +237,16 @@ echo echo "### Locally run the update tester" #--------------------------------------------------------------------- echo "\`\`\`" -echo bash tools/testers/update-tester.sh +echo tools/testers/update-tester.sh echo "\`\`\`" for r in ${PREV_RELS} do +<<<<<<< HEAD if ! bash tools/testers/update-tester.sh "$r" 12; then +======= + if ! tools/testers/update-tester.sh "$r"; then +>>>>>>> f062925ed... [CI] testing and fixing shell code echo "FATAL updating from $r" exit 1 fi @@ -255,7 +265,7 @@ tools/testers/doc_queries_generator.pl -documentation if [[ -z "$DEBUG" ]]; then git_no_change -elif [[ $(git status | grep 'Changes not staged for commit:') ]]; then +elif git status | grep 'Changes not staged for commit:'; then echo "DEBUG WARNING: at least one file changed" git status exit 1 @@ -272,10 +282,10 @@ echo if [[ -z "$DEBUG" ]]; then echo "\`\`\`" - echo "bash tools/release-scripts/compile-release.sh" + echo "tools/release-scripts/compile-release.sh" echo "\`\`\`" fi -bash tools/release-scripts/compile-release.sh +tools/release-scripts/compile-release.sh echo - [x] completed local builds diff --git a/tools/release-scripts/get_signatures.sh b/tools/release-scripts/get_signatures.sh index f001ab4586d..4099d676ff3 100755 --- a/tools/release-scripts/get_signatures.sh +++ b/tools/release-scripts/get_signatures.sh @@ -17,14 +17,14 @@ DB_NAME="____sigs_routing____" DIR="sql/sigs" # DB_ARGS are the remaining of the arguments -DB_ARGS="$*" +read -ra DB_ARGS <<< "$*" FILE="$DIR/pgrouting--$VERSION.sig" -dropdb --if-exists $DB_ARGS $DB_NAME -createdb $DB_ARGS $DB_NAME +dropdb --if-exists "${DB_ARGS[@]}" "$DB_NAME" +createdb "${DB_ARGS[@]}" "$DB_NAME" -psql $DB_ARGS $DB_NAME < "$FILE" -echo "#TYPES" >> $FILE -psql $DB_ARGS $DB_NAME -c '\dx+ pgrouting' -A | grep '^type' | cut -d ' ' -f2- | sort -d >> $FILE -echo "#FUNCTIONS" >> "$FILE" -psql $DB_ARGS $DB_NAME -c '\dx+ pgrouting' -A | grep '^function' | cut -d ' ' -f2- | sort -d >> $FILE +{ + echo "#VERSION pgrouting $VERSION" + echo "#TYPES" + psql "${DB_ARGS[@]}" "$DB_NAME" -c '\dx+ pgrouting' -A | grep '^type' | cut -d ' ' -f2- | sort -d + echo "#FUNCTIONS" + psql "${DB_ARGS[@]}" "$DB_NAME" -c '\dx+ pgrouting' -A | grep '^function' | cut -d ' ' -f2- | sort -d +} > "$FILE" diff --git a/tools/scripts/code_checker.sh b/tools/scripts/code_checker.sh index 2c0a59e5a81..f6704547241 100644 --- a/tools/scripts/code_checker.sh +++ b/tools/scripts/code_checker.sh @@ -31,11 +31,11 @@ if ! test -d code_linter; then # Get our fork of codespell that adds --words-white-list and full filename support for -S option mkdir code_linter - cd code_linter + cd code_linter || exit 1 git clone https://github.com/google/styleguide - cd styleguide + cd styleguide || exit 1 git checkout gh-pages - cd ../.. + cd ../.. || exit 1 echo code_linter installed fi diff --git a/tools/scripts/fix_typos.sh b/tools/scripts/fix_typos.sh old mode 100644 new mode 100755 index 8f982eb949a..ffa5a46a342 --- a/tools/scripts/fix_typos.sh +++ b/tools/scripts/fix_typos.sh @@ -32,11 +32,11 @@ if ! test -d fix_typos; then # Get our fork of codespell that adds --words-white-list and full filename support for -S option mkdir fix_typos - cd fix_typos + cd fix_typos || exit 1 git clone https://github.com/rouault/codespell - cd codespell + cd codespell || exit 1 git checkout gdal_improvements - cd .. + cd .. || exit 1 # Aggregate base dictionary + QGIS one + Debian Lintian one curl https://raw.githubusercontent.com/qgis/QGIS/master/scripts/spelling.dat | sed "s/:/->/" | grep -v "colour->" | grep -v "colours->" > qgis.txt curl https://anonscm.debian.org/cgit/lintian/lintian.git/plain/data/spelling/corrections| grep "||" | grep -v "#" | sed "s/||/->/" > debian.txt @@ -44,7 +44,7 @@ if ! test -d fix_typos; then cat codespell/data/dictionary.txt qgis.txt debian.txt originaldict.txt | awk 'NF' > gdal_dict.txt echo "difered->deferred" >> gdal_dict.txt echo "differed->deferred" >> gdal_dict.txt - cd .. + cd .. || exit 1 fi EXCLUDED_FILES="*/code_linter/*" diff --git a/tools/scripts/test_license.sh b/tools/scripts/test_license.sh old mode 100644 new mode 100755 index b1f553dbeed..16cde0047c7 --- a/tools/scripts/test_license.sh +++ b/tools/scripts/test_license.sh @@ -2,16 +2,16 @@ # This test checks that all source files correctly have license headers -EXCLUDE_LIST="txt|sig|png|jpeg|_static|md|control|html" +EXCLUDE_LIST="txt|sig|png|jpeg|_static|md|control|html|cfg" mylicensecheck() { - licensecheck -r --copyright -l 30 --tail 0 -i "$EXCLUDE_LIST" $1 + licensecheck -r --copyright -l 30 --tail 0 -i "$EXCLUDE_LIST" "$1" } DIR=$(git rev-parse --show-toplevel) pushd "${DIR}" > /dev/null || exit -missing=$(! { mylicensecheck src & mylicensecheck sql & mylicensecheck inlucde;} | grep "No copyright\|UNKNOWN") +missing=$(! { mylicensecheck src & mylicensecheck sql & mylicensecheck include;} | grep "No copyright\|UNKNOWN") missing1=$(mylicensecheck doc | grep "No copyright") missing2=$(grep --files-without-match 'Creative Commons' doc/*/*.rst) popd > /dev/null || exit diff --git a/tools/scripts/test_shell.sh b/tools/scripts/test_shell.sh new file mode 100755 index 00000000000..d6a9575c5e4 --- /dev/null +++ b/tools/scripts/test_shell.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# This runs shellcheck on all sh files + + +DIR=$(git rev-parse --show-toplevel) + +pushd "${DIR}" > /dev/null || exit +read -ra files < <(git ls-files | grep '\.sh') + +result=$(shellcheck "${files[@]}") +if [[ $result ]]; then + echo "$result" + echo " *** shellcheck found script errors" + exit 1 +fi diff --git a/tools/testers/update-tester.sh b/tools/testers/update-tester.sh index b7487282315..e088f5559e0 100755 --- a/tools/testers/update-tester.sh +++ b/tools/testers/update-tester.sh @@ -129,7 +129,7 @@ fi if [ -n "$LONG" ] then - sh ./tools/testers/pg_prove_tests.sh $PGUSER $PGPORT Release + ./tools/testers/pg_prove_tests.sh $PGUSER $PGPORT Release fi dropdb "$DB" diff --git a/tools/transifex/build_translations.sh b/tools/transifex/build_translations.sh index 69222423783..57c029f6de3 100755 --- a/tools/transifex/build_translations.sh +++ b/tools/transifex/build_translations.sh @@ -43,9 +43,9 @@ echo "*************************************************************************" for i in ${LANGUAGES}; do DESTINATION="build/doc/latex/${i}" sphinx-build -b html -a -E -D language="${i}" -c "${CONFIG}" "${ROOT}" "${DESTINATION}" - cd "${DESTINATION}" + cd "${DESTINATION}" || exit 1 pdflatex -interaction=nonstopmode pgRoutingDocumentation.tex > /dev/null 2>&1 - cd "${ROOT}" + cd "${ROOT}" || exit 1 done echo "*************************************************************************" diff --git a/tools/transifex/create_translations.sh b/tools/transifex/create_translations.sh index d90801f9267..88c132d1e86 100755 --- a/tools/transifex/create_translations.sh +++ b/tools/transifex/create_translations.sh @@ -36,9 +36,9 @@ echo "*************************************************************************" for i in ${LANGUAGES}; do DESTINATION="build/doc/latex/${i}" sphinx-build -b html -a -E -D language="${i}" -c "${CONFIG}" "${ROOT}" "${DESTINATION}" - cd "${DESTINATION}" + cd "${DESTINATION}" || exit 1 pdflatex -interaction=nonstopmode pgRoutingDocumentation.tex > /dev/null 2>&1 - cd "${ROOT}" + cd "${ROOT}" || exit 1 done echo "*************************************************************************" diff --git a/tools/winnie/build_pgrouting.sh b/tools/winnie/build_pgrouting.sh index 53061f28aa0..1243065d9a3 100644 --- a/tools/winnie/build_pgrouting.sh +++ b/tools/winnie/build_pgrouting.sh @@ -95,10 +95,10 @@ cmake --version echo "PATH ${PATH}" -cd "${PROJECTS}/pgrouting" +cd "${PROJECTS}/pgrouting" || exit 1 rm -rf "build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}" mkdir "build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}" -cd "build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}" +cd "build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}" || exit 1 #--------------- @@ -201,7 +201,7 @@ echo "***************************" ls "${PGPATHEDB}/lib/libpgrouting*" ls "${PGPATHEDB}/share/extension/pgrouting*" -cd "${PROJECTS}/pgrouting/branches/${PGROUTING_VER}" +cd "${PROJECTS}/pgrouting/branches/${PGROUTING_VER}" || exit 1 #perl tools/test-runner.pl -pgver ${PG_VER} -pgport "${PGPORT}" -clean #perl tools/testers/doc_queries_generator.pl -pgver ${PG_VER} -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}" -alg common -clean -v @@ -218,10 +218,10 @@ then else psql -c "CREATE DATABASE ___pgr___test___" - sh tools/testers/pg_prove_tests.sh "${PGUSER}" + tools/testers/pg_prove_tests.sh "${PGUSER}" psql -c "DROP DATABASE ___pgr___test___" fi -cd "${PROJECTS}/pgrouting/build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}/lib" +cd "${PROJECTS}/pgrouting/build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}/lib" || exit 1 strip ./*.dll diff --git a/tools/winnie/package_pgrouting.sh b/tools/winnie/package_pgrouting.sh index 161bf3a87c6..e8af64d0fdd 100644 --- a/tools/winnie/package_pgrouting.sh +++ b/tools/winnie/package_pgrouting.sh @@ -43,7 +43,7 @@ else fi; #cd ${PROJECTS}/pgrouting/branches/${PGROUTING_VER}/build/lib -cd "${PROJECTS}/pgrouting/build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}" +cd "${PROJECTS}/pgrouting/build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}" || exit 1 export REL_PGVER=${PG_VER//./} #strip the period @@ -68,11 +68,11 @@ mkdir -p "${outdir}/share/extension" mkdir "${outdir}/bin" mkdir "${outdir}/lib" -cd "${PROJECTS}/pgrouting/build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}/sql" +cd "${PROJECTS}/pgrouting/build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}/sql" || exit 1 cp ./*.sql "${outdir}/share/extension" cp "${PostgreSQL_ROOT}/share/extension/pgrouting.control" "${outdir}/share/extension" -cd "${PROJECTS}/pgrouting/build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}/lib" +cd "${PROJECTS}/pgrouting/build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}/lib" || exit 1 strip ./*.dll cp -r ./*.dll "${outdir}/lib" @@ -95,7 +95,7 @@ echo "pgRouting http://pgrouting.org : ${PGROUTING_VER}.${PGROUTING_MICRO_VER} $ echo "Built: ${date_built}" } >> "${verfile}" -cd "${RELDIR}" +cd "${RELDIR}" || exit 1 zip -r "${package}" "${RELVERDIR}" cp "${package}" "${PROJECTS}/postgis/win_web/download/windows/pg${REL_PGVER}/buildbot" From 169a4753ea2d80ebf9ae40f2a6ed4f35f0ff31a8 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 16 Nov 2020 20:41:42 +0530 Subject: [PATCH 0999/1360] [bdAstar] Added pgTAP test for issue1733 --- pgtap/bdAstar/issue1733.sql | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 pgtap/bdAstar/issue1733.sql diff --git a/pgtap/bdAstar/issue1733.sql b/pgtap/bdAstar/issue1733.sql new file mode 100644 index 00000000000..780624409b8 --- /dev/null +++ b/pgtap/bdAstar/issue1733.sql @@ -0,0 +1,24 @@ +\i setup.sql + +SELECT plan(3); + +SELECT is_empty( + 'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 + FROM edge_table + WHERE source = 100 OR target = 100', + 'Vertex 100 does not exist in sample data' +); + +PREPARE q1 AS +SELECT * FROM pgr_bdAstar( + 'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 + FROM edge_table', + 2, 100, + true, heuristic := 2 +); + +SELECT * FROM lives_ok('q1'); +SELECT * FROM is_empty('q1'); + + +SELECT finish(); From 3f55c76b82a876c75914bcd890686cfb8d134132 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 16 Nov 2020 20:56:34 +0530 Subject: [PATCH 1000/1360] [bdAstar] Fix issue1733 --- src/bdAstar/bdAstar_driver.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/bdAstar/bdAstar_driver.cpp b/src/bdAstar/bdAstar_driver.cpp index 034f2b02ea0..07d1297ee2a 100644 --- a/src/bdAstar/bdAstar_driver.cpp +++ b/src/bdAstar/bdAstar_driver.cpp @@ -82,6 +82,12 @@ pgr_bdAstar( for (const auto target : targets) { fn_bdAstar.clear(); + if (!graph.has_vertex(source) + || !graph.has_vertex(target)) { + paths.push_back(Path(source, target)); + continue; + } + paths.push_back(fn_bdAstar.pgr_bdAstar( graph.get_V(source), graph.get_V(target), heuristic, factor, epsilon, only_cost)); From 92855b8dd4d5381c7a80b3d5b14d0827ffdf4805 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 9 Nov 2020 14:14:16 -0600 Subject: [PATCH 1001/1360] [build] Improved update script generator 3.0 fns Update of the script generator * modified: sql/scripts/build-extension-update-files1.pl * modified: sql/sigs/CMakeLists.txt * renamed: sql/sigs/pgrouting--2.6.0.sig -> sql/sigs/pgrouting--2.6.sig * renamed: sql/sigs/pgrouting--3.0.0.sig -> sql/sigs/pgrouting--3.0.sig Updating the actions * modified: .github/workflows/check-files.yml * new file: tools/scripts/test_signatures.sh * modified: tools/release-scripts/get_signatures.sh Control on the updates * modified: CMakeLists.txt * modified: sql/CMakeLists.txt SQL files with marker for version of the signature of when it was created * modified: sql/*/*sql No longer needed files * deleted: sql/sigs/pgrouting--2.6.1.sig * deleted: sql/sigs/pgrouting--2.6.2.sig * deleted: sql/sigs/pgrouting--2.6.3.sig * deleted: sql/sigs/pgrouting--3.0.1.sig * deleted: sql/sigs/pgrouting--3.0.2.sig * deleted: sql/sigs/pgrouting--3.0.3.sig --- .github/workflows/check-files.yml | 33 +- CMakeLists.txt | 6 + sql/CMakeLists.txt | 7 +- sql/allpairs/_floydWarshall.sql | 3 +- sql/allpairs/_johnson.sql | 3 +- sql/allpairs/floydWarshall.sql | 3 +- sql/allpairs/johnson.sql | 3 +- sql/alpha_shape/_alphaShape.sql | 3 +- sql/alpha_shape/alphaShape.sql | 3 +- sql/astar/_astar.sql | 3 +- sql/astar/astar.sql | 12 +- sql/astar/astarCost.sql | 12 +- sql/astar/astarCostMatrix.sql | 9 +- sql/bdAstar/_bdAstar.sql | 3 +- sql/bdAstar/bdAstar.sql | 20 +- sql/bdAstar/bdAstarCost.sql | 22 +- sql/bdAstar/bdAstarCostMatrix.sql | 11 +- sql/bdDijkstra/_bdDijkstra.sql | 3 +- sql/bdDijkstra/bdDijkstra.sql | 14 +- sql/bdDijkstra/bdDijkstraCost.sql | 14 +- sql/bdDijkstra/bdDijkstraCostMatrix.sql | 7 +- sql/bellman_ford/_bellman_ford.sql | 3 +- sql/bellman_ford/_bellman_ford_neg.sql | 3 +- sql/bellman_ford/_edwardMoore.sql | 3 +- sql/bellman_ford/bellman_ford.sql | 12 +- sql/bellman_ford/bellman_ford_neg.sql | 12 +- sql/bellman_ford/edwardMoore.sql | 12 +- .../_binaryBreadthFirstSearch.sql | 3 +- .../_breadthFirstSearch.sql | 3 +- .../binaryBreadthFirstSearch.sql | 12 +- sql/breadthFirstSearch/breadthFirstSearch.sql | 6 +- sql/chinese/_pgr_chinesePostman.sql | 3 +- sql/chinese/pgr_chinesePostman.sql | 3 +- sql/chinese/pgr_chinesePostmanCost.sql | 3 +- sql/common/_endPoint.sql | 3 +- sql/common/_point_toId.sql | 3 +- sql/common/_startPoint.sql | 3 +- sql/common/createIndex.sql | 6 +- sql/common/findClosestEdge.sql | 3 +- sql/common/pgr_parameter_check.sql | 3 +- sql/common/pgrouting_utilities.sql | 24 +- sql/common/pgrouting_version.sql | 3 +- sql/common/utilities_pgr.sql | 18 +- sql/components/_articulationPoints.sql | 3 +- sql/components/_biconnectedComponents.sql | 3 +- sql/components/_bridges.sql | 3 +- sql/components/_connectedComponents.sql | 3 +- sql/components/_strongComponents.sql | 3 +- sql/components/articulationPoints.sql | 3 +- sql/components/biconnectedComponents.sql | 3 +- sql/components/bridges.sql | 3 +- sql/components/connectedComponents.sql | 3 +- sql/components/strongComponents.sql | 3 +- sql/contraction/_contraction.sql | 3 +- sql/contraction/contraction.sql | 3 +- sql/dagShortestPath/_dagShortestPath.sql | 3 +- sql/dagShortestPath/dagShortestPath.sql | 12 +- sql/dijkstra/_dijkstra.sql | 3 +- sql/dijkstra/_dijkstraNear.sql | 9 +- sql/dijkstra/_dijkstraVia.sql | 3 +- sql/dijkstra/dijkstra.sql | 12 +- sql/dijkstra/dijkstraCost.sql | 12 +- sql/dijkstra/dijkstraCostMatrix.sql | 7 +- sql/dijkstra/dijkstraVia.sql | 3 +- sql/driving_distance/_drivingDistance.sql | 3 +- sql/driving_distance/_withPointsDD.sql | 3 +- sql/driving_distance/drivingDistance.sql | 6 +- sql/driving_distance/withPointsDD.sql | 6 +- sql/ksp/_ksp.sql | 3 +- sql/ksp/_turnRestrictedPath.sql | 3 +- sql/ksp/_withPointsKSP.sql | 3 +- sql/ksp/ksp.sql | 3 +- sql/ksp/turnRestrictedPath.sql | 3 +- sql/ksp/withPointsKSP.sql | 3 +- sql/lineGraph/_lineGraph.sql | 3 +- sql/lineGraph/_lineGraphFull.sql | 3 +- sql/lineGraph/lineGraph.sql | 3 +- sql/lineGraph/lineGraphFull.sql | 3 +- sql/max_flow/_edgeDisjointPaths.sql | 3 +- sql/max_flow/_maxCardinalityMatch.sql | 3 +- sql/max_flow/_maxFlowMinCost.sql | 3 +- sql/max_flow/_maxflow.sql | 3 +- sql/max_flow/boykovKolmogorov.sql | 12 +- sql/max_flow/edgeDisjointPaths.sql | 12 +- sql/max_flow/edmondsKarp.sql | 12 +- sql/max_flow/maxCardinalityMatch.sql | 3 +- sql/max_flow/maxFlow.sql | 12 +- sql/max_flow/maxFlowMinCost.sql | 12 +- sql/max_flow/maxFlowMinCost_Cost.sql | 12 +- sql/max_flow/pushRelabel.sql | 12 +- sql/mincut/_stoerWagner.sql | 3 +- sql/mincut/stoerWagner.sql | 3 +- sql/pickDeliver/_pickDeliver.sql | 3 +- sql/pickDeliver/_pickDeliverEuclidean.sql | 3 +- sql/pickDeliver/pickDeliver.sql | 3 +- sql/pickDeliver/pickDeliverEuclidean.sql | 3 +- sql/scripts/build-extension-update-files1.pl | 954 +++++++++--------- sql/sigs/CMakeLists.txt | 19 +- sql/sigs/pgrouting--2.6.1.sig | 191 ---- sql/sigs/pgrouting--2.6.2.sig | 191 ---- sql/sigs/pgrouting--2.6.3.sig | 191 ---- ...grouting--2.6.0.sig => pgrouting--2.6.sig} | 6 - sql/sigs/pgrouting--3.0.1.sig | 236 ----- sql/sigs/pgrouting--3.0.2.sig | 236 ----- sql/sigs/pgrouting--3.0.3.sig | 236 ----- ...grouting--3.0.0.sig => pgrouting--3.0.sig} | 3 - sql/spanningTree/_kruskal.sql | 3 +- sql/spanningTree/_prim.sql | 3 +- sql/spanningTree/_randomSpanTree.sql | 3 +- sql/spanningTree/kruskal.sql | 3 +- sql/spanningTree/kruskalBFS.sql | 6 +- sql/spanningTree/kruskalDD.sql | 12 +- sql/spanningTree/kruskalDFS.sql | 6 +- sql/spanningTree/prim.sql | 3 +- sql/spanningTree/primBFS.sql | 6 +- sql/spanningTree/primDD.sql | 12 +- sql/spanningTree/primDFS.sql | 6 +- sql/spanningTree/randomSpanTree.sql | 3 +- sql/topologicalSort/_topologicalSort.sql | 3 +- sql/topologicalSort/topologicalSort.sql | 3 +- sql/topology/analyzeOneway.sql | 3 +- sql/topology/analyzegraph.sql | 3 +- sql/topology/createtopology.sql | 3 +- sql/topology/createverticestable.sql | 3 +- sql/topology/extractVertices.sql | 3 +- sql/topology/nodeNetwork.sql | 3 +- sql/transitiveClosure/_transitiveClosure.sql | 3 +- sql/transitiveClosure/transitiveClosure.sql | 3 +- sql/trsp/_array_reverse.sql | 3 +- sql/trsp/_pgr_trsp.sql | 3 +- sql/trsp/_pgr_trspViaVertices.sql | 3 +- sql/trsp/_trsp.sql | 3 +- sql/trsp/pgr_trsp.sql | 6 +- sql/trsp/pgr_trspViaEdges.sql | 4 +- sql/trsp/pgr_trspViaVertices.sql | 3 +- sql/trsp/trsp.sql | 12 +- sql/tsp/TSP.sql | 3 +- sql/tsp/TSPeuclidean.sql | 3 +- sql/tsp/_TSP.sql | 3 +- sql/tsp/_TSPeuclidean.sql | 3 +- sql/version/_version.sql | 24 +- sql/version/full_version.sql | 3 +- sql/version/version.sql | 3 +- sql/vrp_basic/_pgr_vrpOneDepot.sql | 3 +- sql/vrp_basic/pgr_vrpOneDepot.sql | 3 +- sql/withPoints/_withPoints.sql | 3 +- sql/withPoints/withPoints.sql | 12 +- sql/withPoints/withPointsCost.sql | 12 +- sql/withPoints/withPointsCostMatrix.sql | 9 +- sql/withPoints/withPointsVia.sql | 3 +- tools/release-scripts/get_signatures.sh | 17 +- tools/scripts/test_signatures.sh | 40 + 152 files changed, 1034 insertions(+), 2109 deletions(-) delete mode 100644 sql/sigs/pgrouting--2.6.1.sig delete mode 100644 sql/sigs/pgrouting--2.6.2.sig delete mode 100644 sql/sigs/pgrouting--2.6.3.sig rename sql/sigs/{pgrouting--2.6.0.sig => pgrouting--2.6.sig} (99%) delete mode 100644 sql/sigs/pgrouting--3.0.1.sig delete mode 100644 sql/sigs/pgrouting--3.0.2.sig delete mode 100644 sql/sigs/pgrouting--3.0.3.sig rename sql/sigs/{pgrouting--3.0.0.sig => pgrouting--3.0.sig} (99%) create mode 100755 tools/scripts/test_signatures.sh diff --git a/.github/workflows/check-files.yml b/.github/workflows/check-files.yml index 52e7984f4e3..199ca05dc77 100644 --- a/.github/workflows/check-files.yml +++ b/.github/workflows/check-files.yml @@ -2,40 +2,23 @@ name: Check files on: push: - branches-ignore: - - 'translations_*' - tags: [] pull_request: - paths-ignore: - - '**.po' jobs: signature_check: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - releases: ["(2.6.0 2.6.1 2.6.2 2.6.3)","(3.0.0 3.0.1 3.0.2 3.0.3)","(3.1.0 3.1.1)"] - os: [ubuntu-latest] - + runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - - - name: Signature files do not change within same minor + - name: Signatures are not removed run: | - tempvar=$(echo "${{ matrix.releases }}") - RELEASE=(${tempvar//[\(\)]/}) - for value in "${RELEASE[@]}"; do - if [ "$value" == "${RELEASE[0]}" ]; then continue; fi - if [ $(diff "sql/sigs/pgrouting--${value}.sig" "sql/sigs/pgrouting--${RELEASE[0]}.sig" | wc -l) != "4" ] ; - then - echo "sql/sigs/pgrouting--${value}.sig sql/sigs/pgrouting--${RELEASE[0]}.sig are different"; - exit 1; - fi - done + tools/scripts/test_signatures.sh + News_check: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 - name: News file up to date run: | tools/release-scripts/notes2news.pl diff --git a/CMakeLists.txt b/CMakeLists.txt index 52eac07708f..f6165545505 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,6 +45,12 @@ set(PGROUTING_LIB_NAME "pgrouting-${PGROUTING_LIB_VERSION}") string(TIMESTAMP COMPILATION_DATE "%Y/%m/%d") +set(MINORS 3.0 2.6) +set(OLD_SIGNATURES + 3.0.2 3.0.1 3.0.0 + 2.6.3 2.6.2 2.6.1 2.6.0 + ) + #============================================= diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt index 4f4e2db545c..7e180f7b3a8 100644 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt @@ -73,7 +73,6 @@ add_custom_target(PGROUTING_SQL_FILE ALL #------------------- # TARGET: update_files #------------------- - if (PGROUTING_DEBUG) message(STATUS "OLD_SIGNATURES=") foreach (s ${OLD_SIGNATURES}) @@ -82,16 +81,18 @@ if (PGROUTING_DEBUG) endif() foreach (old_s ${OLD_SIGNATURES}) + string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*" "\\1" minor_s ${old_s}) SET (UPDATE_FILES ${UPDATE_FILES} pgrouting--${old_s}--${PGROUTING_VERSION}.sql) SET (PGROUTING_SQL_FILES_TO_INSTALL ${PGROUTING_SQL_FILES_TO_INSTALL} "${CMAKE_CURRENT_BINARY_DIR}/pgrouting--${old_s}--${PGROUTING_VERSION}.sql") add_custom_command( OUTPUT pgrouting--${old_s}--${PGROUTING_VERSION}.sql - COMMAND ${PERL_EXECUTABLE} ./scripts/build-extension-update-files1.pl ${old_s} ${PGROUTING_DEBUG} + + COMMAND ${PERL_EXECUTABLE} ./scripts/build-extension-update-files1.pl "${PGROUTING_VERSION}" "${old_s}" "${CMAKE_CURRENT_BINARY_DIR}/sigs" "${CMAKE_CURRENT_BINARY_DIR}" "${PGROUTING_DEBUG}" DEPENDS ./scripts/build-extension-update-files1.pl ${PGROUTING_CURRENT_SQL_FILE} PGROUTING_SQL_FILE - ./sigs/pgrouting--${old_s}.sig + ./sigs/pgrouting--${minor_s}.sig ) endforeach() diff --git a/sql/allpairs/_floydWarshall.sql b/sql/allpairs/_floydWarshall.sql index 80029e497ef..2cdd4ed2755 100644 --- a/sql/allpairs/_floydWarshall.sql +++ b/sql/allpairs/_floydWarshall.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_floydWarshall --------------------- -CREATE OR REPLACE FUNCTION _pgr_floydWarshall( +--v3.0 +CREATE FUNCTION _pgr_floydWarshall( edges_sql TEXT, directed BOOLEAN, diff --git a/sql/allpairs/_johnson.sql b/sql/allpairs/_johnson.sql index 0a455a5037c..b4c274a9350 100644 --- a/sql/allpairs/_johnson.sql +++ b/sql/allpairs/_johnson.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_johnson ------------------ -CREATE OR REPLACE FUNCTION _pgr_johnson( +--v3.0 +CREATE FUNCTION _pgr_johnson( edges_sql TEXT, directed BOOLEAN, diff --git a/sql/allpairs/floydWarshall.sql b/sql/allpairs/floydWarshall.sql index 5f849f3d7a8..734a48a6745 100644 --- a/sql/allpairs/floydWarshall.sql +++ b/sql/allpairs/floydWarshall.sql @@ -28,7 +28,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_floydWarshall( +--v2.6 +CREATE FUNCTION pgr_floydWarshall( TEXT, -- edges_sql (required) directed BOOLEAN DEFAULT true, diff --git a/sql/allpairs/johnson.sql b/sql/allpairs/johnson.sql index d8eb2e20112..f13bf03eead 100644 --- a/sql/allpairs/johnson.sql +++ b/sql/allpairs/johnson.sql @@ -28,7 +28,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_johnson( +--v2.6 +CREATE FUNCTION pgr_johnson( TEXT, -- edges_sql (required) directed BOOLEAN DEFAULT true, diff --git a/sql/alpha_shape/_alphaShape.sql b/sql/alpha_shape/_alphaShape.sql index 7e772cd1d70..bde51747e24 100644 --- a/sql/alpha_shape/_alphaShape.sql +++ b/sql/alpha_shape/_alphaShape.sql @@ -26,7 +26,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------- -------------- -CREATE OR REPLACE FUNCTION _pgr_alphaShape( +--v3.0 +CREATE FUNCTION _pgr_alphaShape( TEXT, -- edges sql alpha FLOAT DEFAULT 0, diff --git a/sql/alpha_shape/alphaShape.sql b/sql/alpha_shape/alphaShape.sql index 20d35421ec4..f4c18b4e670 100644 --- a/sql/alpha_shape/alphaShape.sql +++ b/sql/alpha_shape/alphaShape.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------- -CREATE OR REPLACE FUNCTION pgr_alphaShape( +--v3.0 +CREATE FUNCTION pgr_alphaShape( geometry, -- geometry alpha FLOAT DEFAULT 0 ) diff --git a/sql/astar/_astar.sql b/sql/astar/_astar.sql index 1f89e663ba8..37a27922c6d 100644 --- a/sql/astar/_astar.sql +++ b/sql/astar/_astar.sql @@ -39,7 +39,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ----------------- -CREATE OR REPLACE FUNCTION _pgr_astar( +--v2.6 +CREATE FUNCTION _pgr_astar( edges_sql TEXT, -- XY edges sql start_vids ANYARRAY, end_vids ANYARRAY, diff --git a/sql/astar/astar.sql b/sql/astar/astar.sql index bde76e03fe6..eeb02a8bfe7 100644 --- a/sql/astar/astar.sql +++ b/sql/astar/astar.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ----------------- -CREATE OR REPLACE FUNCTION pgr_aStar( +--v2.6 +CREATE FUNCTION pgr_aStar( TEXT, -- edges sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -59,7 +60,8 @@ COST 100 ROWS 1000; -CREATE OR REPLACE FUNCTION pgr_aStar( +--v2.6 +CREATE FUNCTION pgr_aStar( TEXT, -- edges sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -87,7 +89,8 @@ COST 100 ROWS 1000; -CREATE OR REPLACE FUNCTION pgr_aStar( +--v2.6 +CREATE FUNCTION pgr_aStar( TEXT, -- edges sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -115,7 +118,8 @@ COST 100 ROWS 1000; -CREATE OR REPLACE FUNCTION pgr_aStar( +--v2.6 +CREATE FUNCTION pgr_aStar( TEXT, -- edges sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/astar/astarCost.sql b/sql/astar/astarCost.sql index a72cb056c10..a45ac27d6bb 100644 --- a/sql/astar/astarCost.sql +++ b/sql/astar/astarCost.sql @@ -33,7 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ----------------- -CREATE OR REPLACE FUNCTION pgr_aStarCost( +--v2.6 +CREATE FUNCTION pgr_aStarCost( TEXT, -- edges sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -59,7 +60,8 @@ ROWS 1000; -CREATE OR REPLACE FUNCTION pgr_aStarCost( +--v2.6 +CREATE FUNCTION pgr_aStarCost( TEXT, -- edges sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -84,7 +86,8 @@ ROWS 1000; -CREATE OR REPLACE FUNCTION pgr_aStarCost( +--v2.6 +CREATE FUNCTION pgr_aStarCost( TEXT, -- edges sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -108,7 +111,8 @@ COST 100 ROWS 1000; -CREATE OR REPLACE FUNCTION pgr_aStarCost( +--v2.6 +CREATE FUNCTION pgr_aStarCost( TEXT, -- edges sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/astar/astarCostMatrix.sql b/sql/astar/astarCostMatrix.sql index eca89ac4859..a3a478562b9 100644 --- a/sql/astar/astarCostMatrix.sql +++ b/sql/astar/astarCostMatrix.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ----------------------------- -CREATE OR REPLACE FUNCTION pgr_aStarCostMatrix( +--v2.6 +CREATE FUNCTION pgr_aStarCostMatrix( TEXT, -- edges sql (required) ANYARRAY, -- vids (required) @@ -56,16 +57,16 @@ ROWS 1000; -- COMMENT -COMMENT ON FUNCTION pgr_aStarCostMatrix(TEXT, ANYARRAY, BOOLEAN, INTEGER, FLOAT, FLOAT) +COMMENT ON FUNCTION pgr_aStarCostMatrix(TEXT, ANYARRAY, BOOLEAN, INTEGER, FLOAT, FLOAT) IS 'pgr_aStarCostMatrix - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 - ARRAY [vertices identifiers] -- Optional Parameters: +- Optional Parameters: - directed := true - heuristic := 5 - factor := 1 - epsilon := 1 - Documentation: - ${PGROUTING_DOC_LINK}/pgr_aStarCostMatrix.html -'; \ No newline at end of file +'; diff --git a/sql/bdAstar/_bdAstar.sql b/sql/bdAstar/_bdAstar.sql index 52c45317726..40c7fab92c5 100644 --- a/sql/bdAstar/_bdAstar.sql +++ b/sql/bdAstar/_bdAstar.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -CREATE OR REPLACE FUNCTION _pgr_bdAstar( +--v2.6 +CREATE FUNCTION _pgr_bdAstar( TEXT, ANYARRAY, ANYARRAY, diff --git a/sql/bdAstar/bdAstar.sql b/sql/bdAstar/bdAstar.sql index e8da9583817..28bcf0ff01b 100644 --- a/sql/bdAstar/bdAstar.sql +++ b/sql/bdAstar/bdAstar.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- one to one -CREATE OR REPLACE FUNCTION pgr_bdAstar( +--v2.6 +CREATE FUNCTION pgr_bdAstar( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -55,7 +56,8 @@ COST 100 ROWS 1000; -- one to many -CREATE OR REPLACE FUNCTION pgr_bdAstar( +--v2.6 +CREATE FUNCTION pgr_bdAstar( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -82,7 +84,8 @@ COST 100 ROWS 1000; -- many to one -CREATE OR REPLACE FUNCTION pgr_bdAstar( +--v2.6 +CREATE FUNCTION pgr_bdAstar( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -109,7 +112,8 @@ COST 100 ROWS 1000; -- many to many -CREATE OR REPLACE FUNCTION pgr_bdAstar( +--v2.6 +CREATE FUNCTION pgr_bdAstar( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) @@ -144,7 +148,7 @@ IS 'pgr_bdAstar(One to One) - edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 - From vertex identifier - To vertex identifier -- Optional Parameters: +- Optional Parameters: - directed := true - heuristic := 5 - factor := 1 @@ -159,7 +163,7 @@ IS 'pgr_bdAstar(One to Many) - edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 - From vertex identifier - To ARRAY[vertices identifiers] -- Optional Parameters: +- Optional Parameters: - directed := true - heuristic := 5 - factor := 1 @@ -175,7 +179,7 @@ IS 'pgr_bdAstar(Many to One) - edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 - From ARRAY[vertices identifiers] - To vertex identifier -- Optional Parameters: +- Optional Parameters: - directed := true - heuristic := 5 - factor := 1 @@ -190,7 +194,7 @@ IS 'pgr_bdAstar(Many to Many) - edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 - From ARRAY[vertices identifiers] - To ARRAY[vertices identifiers] -- Optional Parameters: +- Optional Parameters: - directed := true - heuristic := 5 - factor := 1 diff --git a/sql/bdAstar/bdAstarCost.sql b/sql/bdAstar/bdAstarCost.sql index e26536ecc63..404199fab9f 100644 --- a/sql/bdAstar/bdAstarCost.sql +++ b/sql/bdAstar/bdAstarCost.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------------- -- one to one -CREATE OR REPLACE FUNCTION pgr_bdAstarCost( +--v2.6 +CREATE FUNCTION pgr_bdAstarCost( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -53,7 +54,8 @@ ROWS 1000; -- one to many -CREATE OR REPLACE FUNCTION pgr_bdAstarCost( +--v2.6 +CREATE FUNCTION pgr_bdAstarCost( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vidd (required) @@ -77,7 +79,8 @@ ROWS 1000; -- many to one -CREATE OR REPLACE FUNCTION pgr_bdAstarCost( +--v2.6 +CREATE FUNCTION pgr_bdAstarCost( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -102,7 +105,8 @@ ROWS 1000; -- many to many -CREATE OR REPLACE FUNCTION pgr_bdAstarCost( +--v2.6 +CREATE FUNCTION pgr_bdAstarCost( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) @@ -133,7 +137,7 @@ IS 'pgr_bdAstarCost(One to One) - edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 - From vertex identifier - To vertex identifier -- Optional Parameters: +- Optional Parameters: - directed := true - heuristic := 5 - factor := 1 @@ -149,7 +153,7 @@ IS 'pgr_bdAstarCost(One to Many) - edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 - From vertex identifier - To ARRAY[vertices identifiers] -- Optional Parameters: +- Optional Parameters: - directed := true - heuristic := 5 - factor := 1 @@ -165,7 +169,7 @@ IS 'pgr_bdAstarCost(Many to One) - edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 - From ARRAY[vertices identifiers] - To vertex identifier -- Optional Parameters: +- Optional Parameters: - directed := true - heuristic := 5 - factor := 1 @@ -181,11 +185,11 @@ IS 'pgr_bdAstarCost(Many to Many) - edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 - From ARRAY[vertices identifiers] - To ARRAY[vertices identifiers] -- Optional Parameters: +- Optional Parameters: - directed := true - heuristic := 5 - factor := 1 - epsilon := 1 - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bdAstarCost.html -'; \ No newline at end of file +'; diff --git a/sql/bdAstar/bdAstarCostMatrix.sql b/sql/bdAstar/bdAstarCostMatrix.sql index e9dde33f345..50cb8ff1941 100644 --- a/sql/bdAstar/bdAstarCostMatrix.sql +++ b/sql/bdAstar/bdAstarCostMatrix.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ----------------------------- -CREATE OR REPLACE FUNCTION pgr_bdAstarCostMatrix( +--v2.6 +CREATE FUNCTION pgr_bdAstarCostMatrix( TEXT, -- edges sql (required) ANYARRAY, -- vids (required) @@ -52,18 +53,18 @@ COST 100 ROWS 1000; --- COMMENT +-- COMMENT -COMMENT ON FUNCTION pgr_bdAstarCostMatrix(TEXT, ANYARRAY, BOOLEAN, INTEGER, NUMERIC, NUMERIC) +COMMENT ON FUNCTION pgr_bdAstarCostMatrix(TEXT, ANYARRAY, BOOLEAN, INTEGER, NUMERIC, NUMERIC) IS 'pgr_bdAstarCostMatrix - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 - ARRAY [vertices identifiers] -- Optional Parameters: +- Optional Parameters: - directed := true - heuristic := 5 - factor := 1 - epsilon := 1 - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bdAstarCostMatrix.html -'; \ No newline at end of file +'; diff --git a/sql/bdDijkstra/_bdDijkstra.sql b/sql/bdDijkstra/_bdDijkstra.sql index b6fc716d7af..f07207b0d3d 100644 --- a/sql/bdDijkstra/_bdDijkstra.sql +++ b/sql/bdDijkstra/_bdDijkstra.sql @@ -31,7 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------- -CREATE OR REPLACE FUNCTION _pgr_bdDijkstra( +--v3.0 +CREATE FUNCTION _pgr_bdDijkstra( TEXT, -- edges_sql (required) ANYARRAY, -- start_vids (required) ANYARRAY, -- end_vids (required) diff --git a/sql/bdDijkstra/bdDijkstra.sql b/sql/bdDijkstra/bdDijkstra.sql index b5e1336d06e..05f98b70f74 100644 --- a/sql/bdDijkstra/bdDijkstra.sql +++ b/sql/bdDijkstra/bdDijkstra.sql @@ -31,7 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- ONE TO ONE -CREATE OR REPLACE FUNCTION pgr_bdDijkstra( +--v2.6 +CREATE FUNCTION pgr_bdDijkstra( TEXT, -- edges_sql (required) BIGINT, -- from_vid BIGINT, -- to_vid @@ -55,7 +56,8 @@ ROWS 1000; -- ONE TO MANY -CREATE OR REPLACE FUNCTION pgr_bdDijkstra( +--v2.6 +CREATE FUNCTION pgr_bdDijkstra( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -80,7 +82,8 @@ ROWS 1000; -- MANY TO ONE -CREATE OR REPLACE FUNCTION pgr_bdDijkstra( +--v2.6 +CREATE FUNCTION pgr_bdDijkstra( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -106,7 +109,8 @@ ROWS 1000; -- MANY TO MANY -CREATE OR REPLACE FUNCTION pgr_bdDijkstra( +--v2.6 +CREATE FUNCTION pgr_bdDijkstra( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) @@ -138,7 +142,7 @@ IS 'pgr_bdDijkstra(One to One) - edges SQL with columns: id, source, target, cost [,reverse_cost] - From vertex identifier - To vertex identifier -- Optional Parameters: +- Optional Parameters: - directed := true - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bdDijkstra.html diff --git a/sql/bdDijkstra/bdDijkstraCost.sql b/sql/bdDijkstra/bdDijkstraCost.sql index be76e5ce63b..043fe1d69bc 100644 --- a/sql/bdDijkstra/bdDijkstraCost.sql +++ b/sql/bdDijkstra/bdDijkstraCost.sql @@ -31,7 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- ONE TO ONE -CREATE OR REPLACE FUNCTION pgr_bdDijkstraCost( +--v2.6 +CREATE FUNCTION pgr_bdDijkstraCost( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -52,7 +53,8 @@ ROWS 1000; -- ONE TO MANY -CREATE OR REPLACE FUNCTION pgr_bdDijkstraCost( +--v2.6 +CREATE FUNCTION pgr_bdDijkstraCost( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -73,7 +75,8 @@ ROWS 1000; -- MANY TO ONE -CREATE OR REPLACE FUNCTION pgr_bdDijkstraCost( +--v2.6 +CREATE FUNCTION pgr_bdDijkstraCost( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -94,7 +97,8 @@ ROWS 1000; -- MANY TO MANY -CREATE OR REPLACE FUNCTION pgr_bdDijkstraCost( +--v2.6 +CREATE FUNCTION pgr_bdDijkstraCost( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) @@ -165,4 +169,4 @@ IS 'pgr_bdDijkstraCost(Many to Many) - directed := true - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bdDijkstraCost.html -'; \ No newline at end of file +'; diff --git a/sql/bdDijkstra/bdDijkstraCostMatrix.sql b/sql/bdDijkstra/bdDijkstraCostMatrix.sql index dde02207c8d..32d8009b4d0 100644 --- a/sql/bdDijkstra/bdDijkstraCostMatrix.sql +++ b/sql/bdDijkstra/bdDijkstraCostMatrix.sql @@ -28,7 +28,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_bdDijkstraCostMatrix ----------------------------- -CREATE OR REPLACE FUNCTION pgr_bdDijkstraCostMatrix( +--v2.6 +CREATE FUNCTION pgr_bdDijkstraCostMatrix( TEXT, -- edges_sql (required) ANYARRAY, -- vids (required) @@ -48,7 +49,7 @@ ROWS 1000; -- COMMENT -COMMENT ON FUNCTION pgr_bdDijkstraCostMatrix(TEXT, ANYARRAY, BOOLEAN) +COMMENT ON FUNCTION pgr_bdDijkstraCostMatrix(TEXT, ANYARRAY, BOOLEAN) IS 'pgr_bdDijkstraCostMatrix - EXPERIMENTAL - Parameters: @@ -58,4 +59,4 @@ IS 'pgr_bdDijkstraCostMatrix - directed := true - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bdDijkstraCostMatrix.html -'; \ No newline at end of file +'; diff --git a/sql/bellman_ford/_bellman_ford.sql b/sql/bellman_ford/_bellman_ford.sql index d69141d2fdb..2c45eb17cb6 100644 --- a/sql/bellman_ford/_bellman_ford.sql +++ b/sql/bellman_ford/_bellman_ford.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------- ------------------------- -CREATE OR REPLACE FUNCTION _pgr_bellmanFord( +--v3.0 +CREATE FUNCTION _pgr_bellmanFord( edges_sql TEXT, from_vids ANYARRAY, to_vids ANYARRAY, diff --git a/sql/bellman_ford/_bellman_ford_neg.sql b/sql/bellman_ford/_bellman_ford_neg.sql index f2665c9ec8e..ceb08d77367 100644 --- a/sql/bellman_ford/_bellman_ford_neg.sql +++ b/sql/bellman_ford/_bellman_ford_neg.sql @@ -28,7 +28,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_bellmanFordNeg ------------------------- -CREATE OR REPLACE FUNCTION _pgr_bellmanFordNeg( +--v3.0 +CREATE FUNCTION _pgr_bellmanFordNeg( edges_sql TEXT, neg_edges_sql TEXT, from_vid ANYARRAY, diff --git a/sql/bellman_ford/_edwardMoore.sql b/sql/bellman_ford/_edwardMoore.sql index 1a8c51b2df7..c8e537d6688 100644 --- a/sql/bellman_ford/_edwardMoore.sql +++ b/sql/bellman_ford/_edwardMoore.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------- ------------------------- -CREATE OR REPLACE FUNCTION _pgr_edwardMoore( +--v3.0 +CREATE FUNCTION _pgr_edwardMoore( edges_sql TEXT, from_vids ANYARRAY, to_vids ANYARRAY, diff --git a/sql/bellman_ford/bellman_ford.sql b/sql/bellman_ford/bellman_ford.sql index 287f4381097..6e9a4156cd5 100644 --- a/sql/bellman_ford/bellman_ford.sql +++ b/sql/bellman_ford/bellman_ford.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --ONE TO ONE -CREATE OR REPLACE FUNCTION pgr_bellmanFord( +--v3.0 +CREATE FUNCTION pgr_bellmanFord( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -55,7 +56,8 @@ LANGUAGE SQL VOLATILE STRICT; --ONE TO MANY -CREATE OR REPLACE FUNCTION pgr_bellmanFord( +--v3.0 +CREATE FUNCTION pgr_bellmanFord( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -80,7 +82,8 @@ LANGUAGE SQL VOLATILE STRICT; --MANY TO ONE -CREATE OR REPLACE FUNCTION pgr_bellmanFord( +--v3.0 +CREATE FUNCTION pgr_bellmanFord( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -104,7 +107,8 @@ LANGUAGE SQL VOLATILE STRICT; --MANY TO MANY -CREATE OR REPLACE FUNCTION pgr_bellmanFord( +--v3.0 +CREATE FUNCTION pgr_bellmanFord( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/bellman_ford/bellman_ford_neg.sql b/sql/bellman_ford/bellman_ford_neg.sql index 4c7559ca241..cea067c15b4 100644 --- a/sql/bellman_ford/bellman_ford_neg.sql +++ b/sql/bellman_ford/bellman_ford_neg.sql @@ -33,7 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --ONE TO ONE -CREATE OR REPLACE FUNCTION pgr_bellmanFord( +--v3.0 +CREATE FUNCTION pgr_bellmanFord( TEXT, -- edges_sql (required) TEXT, -- neg_edges_sql (required) BIGINT, -- from_vids (required) @@ -57,7 +58,8 @@ LANGUAGE SQL VOLATILE STRICT; --ONE TO MANY -CREATE OR REPLACE FUNCTION pgr_bellmanFord( +--v3.0 +CREATE FUNCTION pgr_bellmanFord( TEXT, -- edges_sql (required) TEXT, -- neg_edges_sql (required) BIGINT, -- from_vids (required) @@ -81,7 +83,8 @@ $BODY$ LANGUAGE SQL VOLATILE STRICT; --MANY TO ONE -CREATE OR REPLACE FUNCTION pgr_bellmanFord( +--v3.0 +CREATE FUNCTION pgr_bellmanFord( TEXT, -- edges_sql (required) TEXT, -- neg_edges_sql (required) ANYARRAY, -- from_vids (required) @@ -105,7 +108,8 @@ $BODY$ LANGUAGE SQL VOLATILE STRICT; -- MANY TO MANY -CREATE OR REPLACE FUNCTION pgr_bellmanFord( +--v3.0 +CREATE FUNCTION pgr_bellmanFord( TEXT, -- edges_sql (required) TEXT, -- neg_edges_sql (required) ANYARRAY, -- from_vids (required) diff --git a/sql/bellman_ford/edwardMoore.sql b/sql/bellman_ford/edwardMoore.sql index f71b7e95c23..54303140433 100644 --- a/sql/bellman_ford/edwardMoore.sql +++ b/sql/bellman_ford/edwardMoore.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_edwardMoore( +--v3.0 +CREATE FUNCTION pgr_edwardMoore( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -51,7 +52,8 @@ LANGUAGE sql VOLATILE STRICT; -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_edwardMoore( +--v3.0 +CREATE FUNCTION pgr_edwardMoore( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -74,7 +76,8 @@ LANGUAGE sql VOLATILE STRICT; -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_edwardMoore( +--v3.0 +CREATE FUNCTION pgr_edwardMoore( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -97,7 +100,8 @@ LANGUAGE sql VOLATILE STRICT; -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_edwardMoore( +--v3.0 +CREATE FUNCTION pgr_edwardMoore( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/breadthFirstSearch/_binaryBreadthFirstSearch.sql b/sql/breadthFirstSearch/_binaryBreadthFirstSearch.sql index 3cdbf9d06e1..fd3880a9391 100644 --- a/sql/breadthFirstSearch/_binaryBreadthFirstSearch.sql +++ b/sql/breadthFirstSearch/_binaryBreadthFirstSearch.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------- ------------------------- -CREATE OR REPLACE FUNCTION _pgr_binaryBreadthFirstSearch( +--v3.0 +CREATE FUNCTION _pgr_binaryBreadthFirstSearch( edges_sql TEXT, from_vids ANYARRAY, to_vids ANYARRAY, diff --git a/sql/breadthFirstSearch/_breadthFirstSearch.sql b/sql/breadthFirstSearch/_breadthFirstSearch.sql index 4b106867649..523610077d4 100644 --- a/sql/breadthFirstSearch/_breadthFirstSearch.sql +++ b/sql/breadthFirstSearch/_breadthFirstSearch.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------- ------------------------- -CREATE OR REPLACE FUNCTION _pgr_breadthFirstSearch( +--v3.0 +CREATE FUNCTION _pgr_breadthFirstSearch( edges_sql TEXT, from_vids ANYARRAY, max_depth BIGINT, diff --git a/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql b/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql index 12b44dea94b..2d6070e3f78 100644 --- a/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql +++ b/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_binaryBreadthFirstSearch( +--v3.0 +CREATE FUNCTION pgr_binaryBreadthFirstSearch( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -51,7 +52,8 @@ LANGUAGE sql VOLATILE STRICT; -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_binaryBreadthFirstSearch( +--v3.0 +CREATE FUNCTION pgr_binaryBreadthFirstSearch( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -74,7 +76,8 @@ LANGUAGE sql VOLATILE STRICT; -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_binaryBreadthFirstSearch( +--v3.0 +CREATE FUNCTION pgr_binaryBreadthFirstSearch( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -97,7 +100,8 @@ LANGUAGE sql VOLATILE STRICT; -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_binaryBreadthFirstSearch( +--v3.0 +CREATE FUNCTION pgr_binaryBreadthFirstSearch( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/breadthFirstSearch/breadthFirstSearch.sql b/sql/breadthFirstSearch/breadthFirstSearch.sql index b226d0c608c..1fe8aa049c5 100644 --- a/sql/breadthFirstSearch/breadthFirstSearch.sql +++ b/sql/breadthFirstSearch/breadthFirstSearch.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --ONE TO DEPTH -CREATE OR REPLACE FUNCTION pgr_breadthFirstSearch( +--v3.0 +CREATE FUNCTION pgr_breadthFirstSearch( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) @@ -65,7 +66,8 @@ LANGUAGE plpgsql VOLATILE STRICT; --MANY TO DEPTH -CREATE OR REPLACE FUNCTION pgr_breadthFirstSearch( +--v3.0 +CREATE FUNCTION pgr_breadthFirstSearch( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) diff --git a/sql/chinese/_pgr_chinesePostman.sql b/sql/chinese/_pgr_chinesePostman.sql index ee850938694..5b6afe71e56 100644 --- a/sql/chinese/_pgr_chinesePostman.sql +++ b/sql/chinese/_pgr_chinesePostman.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------- ---------- -CREATE OR REPLACE FUNCTION _pgr_chinesePostman( +--v3.0 +CREATE FUNCTION _pgr_chinesePostman( edges_sql TEXT, only_cost BOOLEAN, diff --git a/sql/chinese/pgr_chinesePostman.sql b/sql/chinese/pgr_chinesePostman.sql index 612bbc0ed39..c952a989ecc 100644 --- a/sql/chinese/pgr_chinesePostman.sql +++ b/sql/chinese/pgr_chinesePostman.sql @@ -34,7 +34,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -CREATE OR REPLACE FUNCTION pgr_chinesePostman( +--v3.0 +CREATE FUNCTION pgr_chinesePostman( TEXT, -- edges_sql (required) OUT seq INTEGER, diff --git a/sql/chinese/pgr_chinesePostmanCost.sql b/sql/chinese/pgr_chinesePostmanCost.sql index 4dcfd9e1566..ed9c07ade43 100644 --- a/sql/chinese/pgr_chinesePostmanCost.sql +++ b/sql/chinese/pgr_chinesePostmanCost.sql @@ -34,7 +34,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -CREATE OR REPLACE FUNCTION pgr_chinesePostmanCost( +--v3.0 +CREATE FUNCTION pgr_chinesePostmanCost( TEXT -- edges_sql (required) ) RETURNS FLOAT AS diff --git a/sql/common/_endPoint.sql b/sql/common/_endPoint.sql index dc393f86ce9..dada055e11a 100644 --- a/sql/common/_endPoint.sql +++ b/sql/common/_endPoint.sql @@ -22,7 +22,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION _pgr_endPoint(g geometry) +--v2.6 +CREATE FUNCTION _pgr_endPoint(g geometry) RETURNS geometry AS $$ SELECT CASE WHEN geometryType($1) ~ '^MULTI' THEN ST_EndPoint(st_geometryN($1,1)) diff --git a/sql/common/_point_toId.sql b/sql/common/_point_toId.sql index b341657b462..fd85bc5f081 100644 --- a/sql/common/_point_toId.sql +++ b/sql/common/_point_toId.sql @@ -39,7 +39,8 @@ Last changes: 2013-03-22 2013-08-19: handling schemas */ -CREATE OR REPLACE FUNCTION _pgr_pointToId( +--v2.6 +CREATE FUNCTION _pgr_pointToId( point geometry, tolerance double precision, vertname text, diff --git a/sql/common/_startPoint.sql b/sql/common/_startPoint.sql index c13da0d33aa..167958cd03a 100644 --- a/sql/common/_startPoint.sql +++ b/sql/common/_startPoint.sql @@ -22,7 +22,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION _pgr_startpoint(g geometry) +--v2.6 +CREATE FUNCTION _pgr_startpoint(g geometry) RETURNS geometry AS $$ SELECT CASE WHEN geometryType($1) ~ '^MULTI' THEN ST_StartPoint(ST_geometryN($1,1)) diff --git a/sql/common/createIndex.sql b/sql/common/createIndex.sql index 4b32c6dae59..77ea65fea14 100644 --- a/sql/common/createIndex.sql +++ b/sql/common/createIndex.sql @@ -48,7 +48,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Created: 2014/JUL/28 ************************************************************************/ -CREATE OR REPLACE FUNCTION _pgr_createIndex( +--v2.6 +CREATE FUNCTION _pgr_createIndex( sname text, tname text, colname text, indext text, IN reportErrs int default 1, IN fnName text default '_pgr_createIndex') RETURNS void AS @@ -93,7 +94,8 @@ $BODY$ LANGUAGE plpgsql VOLATILE STRICT; -CREATE OR REPLACE FUNCTION _pgr_createIndex(tabname text, colname text, indext text, +--v2.6 +CREATE FUNCTION _pgr_createIndex(tabname text, colname text, indext text, IN reportErrs int default 1, IN fnName text default '_pgr_createIndex') RETURNS void AS $BODY$ diff --git a/sql/common/findClosestEdge.sql b/sql/common/findClosestEdge.sql index 088a1b336b3..1656c308eaa 100644 --- a/sql/common/findClosestEdge.sql +++ b/sql/common/findClosestEdge.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. IF az > pi()/2 AND az < pi() OR az > 3 * pi()/2 THEN - then to the right */ -CREATE OR REPLACE FUNCTION pgr_findClosestEdge( +--v3.0 +CREATE FUNCTION pgr_findClosestEdge( edges_sql text, point_geom geometry, tolerance float8, diff --git a/sql/common/pgr_parameter_check.sql b/sql/common/pgr_parameter_check.sql index 01a81164717..7ef23b12f10 100644 --- a/sql/common/pgr_parameter_check.sql +++ b/sql/common/pgr_parameter_check.sql @@ -37,7 +37,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- johnson (source, target, cost, [reverse_cost]) */ -CREATE OR REPLACE FUNCTION _pgr_parameter_check(fn text, sql text, big boolean default false) +--v2.6 +CREATE FUNCTION _pgr_parameter_check(fn text, sql text, big boolean default false) RETURNS bool AS $BODY$ diff --git a/sql/common/pgrouting_utilities.sql b/sql/common/pgrouting_utilities.sql index a22aa9fd936..34172f3abbb 100644 --- a/sql/common/pgrouting_utilities.sql +++ b/sql/common/pgrouting_utilities.sql @@ -49,7 +49,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -CREATE OR REPLACE FUNCTION _pgr_getTableName(IN tab text, IN reportErrs int default 0, IN fnName text default '_pgr_getTableName', OUT sname text,OUT tname text) +--v2.6 +CREATE FUNCTION _pgr_getTableName(IN tab text, IN reportErrs int default 0, IN fnName text default '_pgr_getTableName', OUT sname text,OUT tname text) RETURNS RECORD AS $$ DECLARE @@ -158,7 +159,8 @@ IS 'pgRouting internal function'; */ -CREATE OR REPLACE FUNCTION _pgr_getColumnName(sname text, tname text, col text, IN reportErrs int default 1, IN fnName text default '_pgr_getColumnName') +--v2.6 +CREATE FUNCTION _pgr_getColumnName(sname text, tname text, col text, IN reportErrs int default 1, IN fnName text default '_pgr_getColumnName') RETURNS text AS $BODY$ DECLARE @@ -185,7 +187,8 @@ LANGUAGE plpgsql VOLATILE STRICT; -CREATE OR REPLACE FUNCTION _pgr_getColumnName(tab text, col text, IN reportErrs int default 1, IN fnName text default '_pgr_getColumnName') +--v2.6 +CREATE FUNCTION _pgr_getColumnName(tab text, col text, IN reportErrs int default 1, IN fnName text default '_pgr_getColumnName') RETURNS text AS $BODY$ DECLARE @@ -229,7 +232,8 @@ IS 'pgRouting internal function'; HISTORY Modified: 2013/08/19 for handling schemas */ -CREATE OR REPLACE FUNCTION _pgr_isColumnInTable(tab text, col text) +--v2.6 +CREATE FUNCTION _pgr_isColumnInTable(tab text, col text) RETURNS boolean AS $BODY$ DECLARE @@ -262,7 +266,8 @@ IS 'pgRouting internal function'; when column "col" is not indexed */ -CREATE OR REPLACE FUNCTION _pgr_isColumnIndexed(sname text, tname text, cname text, +--v2.6 +CREATE FUNCTION _pgr_isColumnIndexed(sname text, tname text, cname text, IN reportErrs int default 1, IN fnName text default '_pgr_isColumnIndexed') RETURNS boolean AS $BODY$ @@ -323,7 +328,8 @@ END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; -CREATE OR REPLACE FUNCTION _pgr_isColumnIndexed(tab text, col text, +--v2.6 +CREATE FUNCTION _pgr_isColumnIndexed(tab text, col text, IN reportErrs int default 1, IN fnName text default '_pgr_isColumnIndexed') RETURNS boolean AS $BODY$ @@ -369,7 +375,8 @@ IS 'pgRouting internal function'; */ -create or replace function _pgr_quote_ident(idname text) +--v2.6 +CREATE FUNCTION _pgr_quote_ident(idname text) returns text as $body$ declare @@ -404,7 +411,8 @@ IS 'pgRouting internal function'; * needed because postgis 2.1 deprecates some function names and * we need to detect the version at runtime */ -CREATE OR REPLACE FUNCTION _pgr_versionless(v1 text, v2 text) +--v2.6 +CREATE FUNCTION _pgr_versionless(v1 text, v2 text) RETURNS boolean AS $BODY$ diff --git a/sql/common/pgrouting_version.sql b/sql/common/pgrouting_version.sql index 59e05f22155..92779e4b8a7 100644 --- a/sql/common/pgrouting_version.sql +++ b/sql/common/pgrouting_version.sql @@ -31,7 +31,8 @@ THE SOFTWARE. ********************************************************************PGR-MIT*/ -CREATE OR REPLACE FUNCTION pgr_version() +--v3.0 +CREATE FUNCTION pgr_version() RETURNS TABLE( "version" varchar, tag varchar, diff --git a/sql/common/utilities_pgr.sql b/sql/common/utilities_pgr.sql index c1cc5fbf588..b5d18aad50a 100644 --- a/sql/common/utilities_pgr.sql +++ b/sql/common/utilities_pgr.sql @@ -50,7 +50,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ************************************************************************/ -CREATE OR REPLACE FUNCTION _pgr_onError( +--v2.6 +CREATE FUNCTION _pgr_onError( IN errCond boolean, -- true there is an error IN reportErrs int, -- 0, 1 or 2 IN fnName text, -- function name that generates the error @@ -103,7 +104,8 @@ IS 'pgRouting internal function'; ************************************************************************/ -CREATE OR REPLACE FUNCTION _pgr_msg(IN msgKind int, IN fnName text, IN msg text default '---->OK') +--v2.6 +CREATE FUNCTION _pgr_msg(IN msgKind int, IN fnName text, IN msg text default '---->OK') RETURNS void AS $BODY$ BEGIN @@ -140,7 +142,8 @@ IS 'pgRouting internal function'; Created: 2014/JUL/28 ************************************************************************/ -CREATE OR REPLACE FUNCTION _pgr_getColumnType(sname text, tname text, cname text, +--v2.6 +CREATE FUNCTION _pgr_getColumnType(sname text, tname text, cname text, IN reportErrs int default 0, IN fnName text default '_pgr_getColumnType') RETURNS text AS $BODY$ @@ -167,7 +170,8 @@ $BODY$ LANGUAGE plpgsql VOLATILE STRICT; -CREATE OR REPLACE FUNCTION _pgr_getColumnType(tab text, col text, +--v2.6 +CREATE FUNCTION _pgr_getColumnType(tab text, col text, IN reportErrs int default 0, IN fnName text default '_pgr_getColumnType') RETURNS text AS $BODY$ @@ -215,7 +219,8 @@ IS 'pgRouting internal function'; HISTORY Created: 2014/JUL/27 ************************************************************************/ -CREATE OR REPLACE FUNCTION _pgr_get_statement(o_sql text) +--v2.6 +CREATE FUNCTION _pgr_get_statement(o_sql text) RETURNS text AS $BODY$ DECLARE @@ -252,7 +257,8 @@ IS 'pgRouting internal function'; HISTORY Created: 2014/JUL/27 ************************************************************************/ -CREATE OR REPLACE FUNCTION _pgr_checkVertTab(vertname text, columnsArr text[], +--v2.6 +CREATE FUNCTION _pgr_checkVertTab(vertname text, columnsArr text[], IN reportErrs int default 1, IN fnName text default '_pgr_checkVertTab', OUT sname text,OUT vname text) RETURNS record AS diff --git a/sql/components/_articulationPoints.sql b/sql/components/_articulationPoints.sql index 2a3618a6d2d..45e1296c32b 100644 --- a/sql/components/_articulationPoints.sql +++ b/sql/components/_articulationPoints.sql @@ -31,7 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_articulationPoints ------------------------- -CREATE OR REPLACE FUNCTION _pgr_articulationPoints( +--v3.0 +CREATE FUNCTION _pgr_articulationPoints( edges_sql TEXT, OUT seq INTEGER, diff --git a/sql/components/_biconnectedComponents.sql b/sql/components/_biconnectedComponents.sql index 26b3d7db67c..584b6f81110 100644 --- a/sql/components/_biconnectedComponents.sql +++ b/sql/components/_biconnectedComponents.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------------------------- -CREATE OR REPLACE FUNCTION _pgr_biconnectedComponents( +--v3.0 +CREATE FUNCTION _pgr_biconnectedComponents( edges_sql TEXT, OUT seq BIGINT, diff --git a/sql/components/_bridges.sql b/sql/components/_bridges.sql index 0ea6020c6da..f6019ee2604 100644 --- a/sql/components/_bridges.sql +++ b/sql/components/_bridges.sql @@ -31,7 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_bridges -------------- -CREATE OR REPLACE FUNCTION _pgr_bridges( +--v3.0 +CREATE FUNCTION _pgr_bridges( edges_sql TEXT, OUT seq INTEGER, diff --git a/sql/components/_connectedComponents.sql b/sql/components/_connectedComponents.sql index 1bf6b37915d..979423e601c 100644 --- a/sql/components/_connectedComponents.sql +++ b/sql/components/_connectedComponents.sql @@ -37,7 +37,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_connectedComponents -------------------------- -CREATE OR REPLACE FUNCTION _pgr_connectedComponents( +--v3.0 +CREATE FUNCTION _pgr_connectedComponents( edges_sql TEXT, OUT seq BIGINT, diff --git a/sql/components/_strongComponents.sql b/sql/components/_strongComponents.sql index e83708332ee..da3b638f225 100644 --- a/sql/components/_strongComponents.sql +++ b/sql/components/_strongComponents.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ----------------------- -CREATE OR REPLACE FUNCTION _pgr_strongComponents( +--v3.0 +CREATE FUNCTION _pgr_strongComponents( edges_sql TEXT, OUT seq BIGINT, diff --git a/sql/components/articulationPoints.sql b/sql/components/articulationPoints.sql index 418699fde52..c3037a66624 100644 --- a/sql/components/articulationPoints.sql +++ b/sql/components/articulationPoints.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_articulationPoints( +--v3.0 +CREATE FUNCTION pgr_articulationPoints( TEXT, -- edges_sql (required) OUT node BIGINT) diff --git a/sql/components/biconnectedComponents.sql b/sql/components/biconnectedComponents.sql index 1c2af12e3e3..8aca3cf3aaf 100644 --- a/sql/components/biconnectedComponents.sql +++ b/sql/components/biconnectedComponents.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_biconnectedComponents( +--v3.0 +CREATE FUNCTION pgr_biconnectedComponents( TEXT, -- edges_sql (required) OUT seq BIGINT, diff --git a/sql/components/bridges.sql b/sql/components/bridges.sql index 80bc1d69b68..da30f3e4b52 100644 --- a/sql/components/bridges.sql +++ b/sql/components/bridges.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_bridges( +--v3.0 +CREATE FUNCTION pgr_bridges( TEXT, -- edges_sql (required) OUT edge BIGINT) diff --git a/sql/components/connectedComponents.sql b/sql/components/connectedComponents.sql index 055ed4939d0..3a681fe149c 100644 --- a/sql/components/connectedComponents.sql +++ b/sql/components/connectedComponents.sql @@ -37,7 +37,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_connectedComponents -------------------------- -CREATE OR REPLACE FUNCTION pgr_connectedComponents( +--v3.0 +CREATE FUNCTION pgr_connectedComponents( TEXT, -- edges_sql (required) OUT seq BIGINT, diff --git a/sql/components/strongComponents.sql b/sql/components/strongComponents.sql index 9d3de3a3400..03277a41c9b 100644 --- a/sql/components/strongComponents.sql +++ b/sql/components/strongComponents.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_strongComponents( +--v3.0 +CREATE FUNCTION pgr_strongComponents( TEXT, -- edges_sql (required) OUT seq BIGINT, diff --git a/sql/contraction/_contraction.sql b/sql/contraction/_contraction.sql index a52b83df919..e64c951c223 100644 --- a/sql/contraction/_contraction.sql +++ b/sql/contraction/_contraction.sql @@ -33,7 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------------- -------------------- -CREATE OR REPLACE FUNCTION _pgr_contraction( +--v3.0 +CREATE FUNCTION _pgr_contraction( edges_sql TEXT, contraction_order BIGINT[], max_cycles INTEGER DEFAULT 1, diff --git a/sql/contraction/contraction.sql b/sql/contraction/contraction.sql index 67823481657..f300e8be620 100644 --- a/sql/contraction/contraction.sql +++ b/sql/contraction/contraction.sql @@ -38,7 +38,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------------- -CREATE OR REPLACE FUNCTION pgr_contraction( +--v3.0 +CREATE FUNCTION pgr_contraction( TEXT, -- edges_sql (required) BIGINT[], -- contraction_order (required) diff --git a/sql/dagShortestPath/_dagShortestPath.sql b/sql/dagShortestPath/_dagShortestPath.sql index 0ea7bef935d..e01fc94246a 100644 --- a/sql/dagShortestPath/_dagShortestPath.sql +++ b/sql/dagShortestPath/_dagShortestPath.sql @@ -37,7 +37,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --_pgr_dagShortestPath --------------------------- -CREATE OR REPLACE FUNCTION _pgr_dagShortestPath( +--v3.0 +CREATE FUNCTION _pgr_dagShortestPath( TEXT, ANYARRAY, ANYARRAY, diff --git a/sql/dagShortestPath/dagShortestPath.sql b/sql/dagShortestPath/dagShortestPath.sql index 4c78064d308..f36f96feb24 100644 --- a/sql/dagShortestPath/dagShortestPath.sql +++ b/sql/dagShortestPath/dagShortestPath.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------------------- -- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_dagShortestPath( +--v3.0 +CREATE FUNCTION pgr_dagShortestPath( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- from_vid (required) @@ -55,7 +56,8 @@ ROWS 1000; -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_dagShortestPath( +--v3.0 +CREATE FUNCTION pgr_dagShortestPath( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -78,7 +80,8 @@ ROWS 1000; -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_dagShortestPath( +--v3.0 +CREATE FUNCTION pgr_dagShortestPath( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -101,7 +104,8 @@ ROWS 1000; -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_dagShortestPath( +--v3.0 +CREATE FUNCTION pgr_dagShortestPath( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/dijkstra/_dijkstra.sql b/sql/dijkstra/_dijkstra.sql index 635d170a576..1b9dedd62d4 100644 --- a/sql/dijkstra/_dijkstra.sql +++ b/sql/dijkstra/_dijkstra.sql @@ -34,7 +34,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- --------------- -CREATE OR REPLACE FUNCTION _pgr_dijkstra( +--v3.0 +CREATE FUNCTION _pgr_dijkstra( edges_sql TEXT, start_vids ANYARRAY, end_vids ANYARRAY, diff --git a/sql/dijkstra/_dijkstraNear.sql b/sql/dijkstra/_dijkstraNear.sql index e85f33f4c97..374398b1d7d 100644 --- a/sql/dijkstra/_dijkstraNear.sql +++ b/sql/dijkstra/_dijkstraNear.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /* this file is kept for backward compatibility */ -- ONE to MANY -CREATE OR REPLACE FUNCTION _pgr_dijkstraNear( +--v3.0 +CREATE FUNCTION _pgr_dijkstraNear( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -56,7 +57,8 @@ ROWS 1000; -- MANY to ONE -CREATE OR REPLACE FUNCTION _pgr_dijkstraNear( +--v3.0 +CREATE FUNCTION _pgr_dijkstraNear( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -81,7 +83,8 @@ COST 100 ROWS 1000; -- MANY to MANY -CREATE OR REPLACE FUNCTION _pgr_dijkstraNear( +--v3.0 +CREATE FUNCTION _pgr_dijkstraNear( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/dijkstra/_dijkstraVia.sql b/sql/dijkstra/_dijkstraVia.sql index 7bf57d6dac7..6ee20ca5a80 100644 --- a/sql/dijkstra/_dijkstraVia.sql +++ b/sql/dijkstra/_dijkstraVia.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_dijkstraVia ------------------ -CREATE OR REPLACE FUNCTION _pgr_dijkstraVia( +--v3.0 +CREATE FUNCTION _pgr_dijkstraVia( edges_sql TEXT, via_vids ANYARRAY, directed BOOLEAN, diff --git a/sql/dijkstra/dijkstra.sql b/sql/dijkstra/dijkstra.sql index 623bf4c9d71..d9ee1a1592c 100644 --- a/sql/dijkstra/dijkstra.sql +++ b/sql/dijkstra/dijkstra.sql @@ -33,7 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_dijkstra( +--v2.6 +CREATE FUNCTION pgr_dijkstra( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -56,7 +57,8 @@ COST 100 ROWS 1000; -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_dijkstra( +--v2.6 +CREATE FUNCTION pgr_dijkstra( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -80,7 +82,8 @@ COST 100 ROWS 1000; -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_dijkstra( +--v2.6 +CREATE FUNCTION pgr_dijkstra( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -104,7 +107,8 @@ COST 100 ROWS 1000; -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_dijkstra( +--v2.6 +CREATE FUNCTION pgr_dijkstra( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/dijkstra/dijkstraCost.sql b/sql/dijkstra/dijkstraCost.sql index 08386625c92..144f945a5fc 100644 --- a/sql/dijkstra/dijkstraCost.sql +++ b/sql/dijkstra/dijkstraCost.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------- -- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_dijkstraCost( +--v2.6 +CREATE FUNCTION pgr_dijkstraCost( TEXT, -- edges_sql (required) BIGINT, -- from_vids (required) BIGINT, -- to_vids (required) @@ -51,7 +52,8 @@ ROWS 1000; -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_dijkstraCost( +--v2.6 +CREATE FUNCTION pgr_dijkstraCost( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -74,7 +76,8 @@ ROWS 1000; -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_dijkstraCost( +--v2.6 +CREATE FUNCTION pgr_dijkstraCost( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -97,7 +100,8 @@ ROWS 1000; -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_dijkstraCost( +--v2.6 +CREATE FUNCTION pgr_dijkstraCost( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/dijkstra/dijkstraCostMatrix.sql b/sql/dijkstra/dijkstraCostMatrix.sql index f7d75b4e618..e3ae7b1933c 100644 --- a/sql/dijkstra/dijkstraCostMatrix.sql +++ b/sql/dijkstra/dijkstraCostMatrix.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ----------------------------- -CREATE OR REPLACE FUNCTION pgr_dijkstraCostMatrix( +--v2.6 +CREATE FUNCTION pgr_dijkstraCostMatrix( TEXT, -- edges_sql (required) ANYARRAY, -- vids (required) @@ -49,7 +50,7 @@ ROWS 1000; -- COMMENT -COMMENT ON FUNCTION pgr_dijkstraCostMatrix(TEXT, ANYARRAY, BOOLEAN) +COMMENT ON FUNCTION pgr_dijkstraCostMatrix(TEXT, ANYARRAY, BOOLEAN) IS 'pgr_dijkstraCostMatrix - EXPERIMENTAL - Parameters: @@ -59,4 +60,4 @@ IS 'pgr_dijkstraCostMatrix - directed := true - Documentation: - ${PGROUTING_DOC_LINK}/pgr_dijkstraCostMatrix.html -'; \ No newline at end of file +'; diff --git a/sql/dijkstra/dijkstraVia.sql b/sql/dijkstra/dijkstraVia.sql index 6ddde9c989e..892680ea938 100644 --- a/sql/dijkstra/dijkstraVia.sql +++ b/sql/dijkstra/dijkstraVia.sql @@ -25,7 +25,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_dijkstraVia( +--v2.6 +CREATE FUNCTION pgr_dijkstraVia( TEXT, -- edges_sql (required) ANYARRAY, -- via_vids (required) diff --git a/sql/driving_distance/_drivingDistance.sql b/sql/driving_distance/_drivingDistance.sql index 636a76c14b4..9917ed710a8 100644 --- a/sql/driving_distance/_drivingDistance.sql +++ b/sql/driving_distance/_drivingDistance.sql @@ -26,7 +26,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_drivingDistance ---------------------- -CREATE OR REPLACE FUNCTION _pgr_drivingDistance( +--v3.0 +CREATE FUNCTION _pgr_drivingDistance( edges_sql TEXT, start_vids ANYARRAY, distance FLOAT, diff --git a/sql/driving_distance/_withPointsDD.sql b/sql/driving_distance/_withPointsDD.sql index cd7fc7bc277..628665fa81d 100644 --- a/sql/driving_distance/_withPointsDD.sql +++ b/sql/driving_distance/_withPointsDD.sql @@ -26,7 +26,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_withPointsDD ------------------- -CREATE OR REPLACE FUNCTION _pgr_withPointsDD( +--v3.0 +CREATE FUNCTION _pgr_withPointsDD( edges_sql TEXT, points_sql TEXT, start_pid ANYARRAY, diff --git a/sql/driving_distance/drivingDistance.sql b/sql/driving_distance/drivingDistance.sql index d0defc22632..79bc503ec76 100644 --- a/sql/driving_distance/drivingDistance.sql +++ b/sql/driving_distance/drivingDistance.sql @@ -23,7 +23,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -- MULTIPLE -CREATE OR REPLACE FUNCTION pgr_drivingDistance( +--v2.6 +CREATE FUNCTION pgr_drivingDistance( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) FLOAT, -- distance (required) @@ -48,7 +49,8 @@ ROWS 1000; -- SINGLE -CREATE OR REPLACE FUNCTION pgr_drivingDistance( +--v3.0 +CREATE FUNCTION pgr_drivingDistance( TEXT, -- edges_sql (required) BIGINT, -- from_vid (requierd) FLOAT, -- distance (required) diff --git a/sql/driving_distance/withPointsDD.sql b/sql/driving_distance/withPointsDD.sql index 55f6805384b..0621def6c8f 100644 --- a/sql/driving_distance/withPointsDD.sql +++ b/sql/driving_distance/withPointsDD.sql @@ -23,7 +23,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -- SINGLE -CREATE OR REPLACE FUNCTION pgr_withPointsDD( +--v2.6 +CREATE FUNCTION pgr_withPointsDD( TEXT, --edges_sql (required) TEXT, -- points_sql (required) BIGINT, -- from_vid (required) @@ -48,7 +49,8 @@ COST 100 ROWS 1000; -- MULTIPLE -CREATE OR REPLACE FUNCTION pgr_withPointsDD( +--v2.6 +CREATE FUNCTION pgr_withPointsDD( TEXT, --edges_sql (required) TEXT, -- points_sql (required) ANYARRAY, -- from_vid (required) diff --git a/sql/ksp/_ksp.sql b/sql/ksp/_ksp.sql index a05b63774d6..dd6c180e0da 100644 --- a/sql/ksp/_ksp.sql +++ b/sql/ksp/_ksp.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- --------------- -CREATE OR REPLACE FUNCTION _pgr_ksp( +--v2.6 +CREATE FUNCTION _pgr_ksp( edges_sql TEXT, start_vid BIGINT, end_vid BIGINT, diff --git a/sql/ksp/_turnRestrictedPath.sql b/sql/ksp/_turnRestrictedPath.sql index 7e113965e17..3a348105d15 100644 --- a/sql/ksp/_turnRestrictedPath.sql +++ b/sql/ksp/_turnRestrictedPath.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION _pgr_turnRestrictedPath( +--v3.0 +CREATE FUNCTION _pgr_turnRestrictedPath( TEXT, -- edges_sql TEXT, -- restrictions_sql BIGINT, -- start_vertex diff --git a/sql/ksp/_withPointsKSP.sql b/sql/ksp/_withPointsKSP.sql index 1fbf1304779..95418692e1f 100644 --- a/sql/ksp/_withPointsKSP.sql +++ b/sql/ksp/_withPointsKSP.sql @@ -26,7 +26,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_withPointsKSP -------------------- -CREATE OR REPLACE FUNCTION _pgr_withPointsKSP( +--v3.0 +CREATE FUNCTION _pgr_withPointsKSP( edges_sql TEXT, points_sql TEXT, start_pid BIGINT, diff --git a/sql/ksp/ksp.sql b/sql/ksp/ksp.sql index 60d655a0262..c95a673c34f 100644 --- a/sql/ksp/ksp.sql +++ b/sql/ksp/ksp.sql @@ -22,7 +22,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_ksp( +--v2.6 +CREATE FUNCTION pgr_ksp( TEXT, -- edges_sql (required) BIGINT, -- from_vids (required) BIGINT, -- to_vids (required) diff --git a/sql/ksp/turnRestrictedPath.sql b/sql/ksp/turnRestrictedPath.sql index 54eb508e92d..2e6e4a238e2 100644 --- a/sql/ksp/turnRestrictedPath.sql +++ b/sql/ksp/turnRestrictedPath.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_turnRestrictedPath( +--v3.0 +CREATE FUNCTION pgr_turnRestrictedPath( TEXT, -- edges_sql (required) TEXT, -- restrictions_sql (required) BIGINT, -- start_vertex (required) diff --git a/sql/ksp/withPointsKSP.sql b/sql/ksp/withPointsKSP.sql index 7bdf79976eb..9da511bf67d 100644 --- a/sql/ksp/withPointsKSP.sql +++ b/sql/ksp/withPointsKSP.sql @@ -22,7 +22,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_withPointsKSP( +--v2.6 +CREATE FUNCTION pgr_withPointsKSP( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) BIGINT, -- from_vid (required) diff --git a/sql/lineGraph/_lineGraph.sql b/sql/lineGraph/_lineGraph.sql index e699e01d829..f4a273aa71b 100644 --- a/sql/lineGraph/_lineGraph.sql +++ b/sql/lineGraph/_lineGraph.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------------------- -CREATE OR REPLACE FUNCTION _pgr_lineGraph( +--v3.0 +CREATE FUNCTION _pgr_lineGraph( TEXT, -- edges_sql directed BOOLEAN, diff --git a/sql/lineGraph/_lineGraphFull.sql b/sql/lineGraph/_lineGraphFull.sql index 4699a195d4b..f414561ee1d 100644 --- a/sql/lineGraph/_lineGraphFull.sql +++ b/sql/lineGraph/_lineGraphFull.sql @@ -31,7 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_lineGraphFull ---------------------- -CREATE OR REPLACE FUNCTION _pgr_lineGraphFull( +--v3.0 +CREATE FUNCTION _pgr_lineGraphFull( TEXT, -- edges_sql OUT seq INTEGER, diff --git a/sql/lineGraph/lineGraph.sql b/sql/lineGraph/lineGraph.sql index 056e17a4ab4..e4ee6636115 100644 --- a/sql/lineGraph/lineGraph.sql +++ b/sql/lineGraph/lineGraph.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_lineGraph( +--v2.6 +CREATE FUNCTION pgr_lineGraph( TEXT, -- edges_sql (required) directed BOOLEAN DEFAULT true, diff --git a/sql/lineGraph/lineGraphFull.sql b/sql/lineGraph/lineGraphFull.sql index 8fca994b362..81a3ccb2c0c 100644 --- a/sql/lineGraph/lineGraphFull.sql +++ b/sql/lineGraph/lineGraphFull.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_lineGraphFull( +--v2.6 +CREATE FUNCTION pgr_lineGraphFull( TEXT, -- edges_sql (required) OUT seq INTEGER, diff --git a/sql/max_flow/_edgeDisjointPaths.sql b/sql/max_flow/_edgeDisjointPaths.sql index d371540d537..19203d63af1 100644 --- a/sql/max_flow/_edgeDisjointPaths.sql +++ b/sql/max_flow/_edgeDisjointPaths.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_edgeDisjointPaths ------------------------ -CREATE OR REPLACE FUNCTION _pgr_edgeDisjointPaths( +--v3.0 +CREATE FUNCTION _pgr_edgeDisjointPaths( TEXT, ANYARRAY, ANYARRAY, diff --git a/sql/max_flow/_maxCardinalityMatch.sql b/sql/max_flow/_maxCardinalityMatch.sql index aadd3b18726..a33abe84e32 100644 --- a/sql/max_flow/_maxCardinalityMatch.sql +++ b/sql/max_flow/_maxCardinalityMatch.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------------------- -CREATE OR REPLACE FUNCTION _pgr_maxCardinalityMatch( +--v3.0 +CREATE FUNCTION _pgr_maxCardinalityMatch( edges_sql TEXT, directed BOOLEAN, diff --git a/sql/max_flow/_maxFlowMinCost.sql b/sql/max_flow/_maxFlowMinCost.sql index 6132640317e..150f2ec01b9 100644 --- a/sql/max_flow/_maxFlowMinCost.sql +++ b/sql/max_flow/_maxFlowMinCost.sql @@ -39,7 +39,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------ -CREATE OR REPLACE FUNCTION _pgr_maxFlowMinCost( +--v3.0 +CREATE FUNCTION _pgr_maxFlowMinCost( edges_sql TEXT, sources ANYARRAY, targets ANYARRAY, diff --git a/sql/max_flow/_maxflow.sql b/sql/max_flow/_maxflow.sql index 2ac2789f0eb..8740d4b07e7 100644 --- a/sql/max_flow/_maxflow.sql +++ b/sql/max_flow/_maxflow.sql @@ -31,7 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------- -CREATE OR REPLACE FUNCTION _pgr_maxflow( +--v2.6 +CREATE FUNCTION _pgr_maxflow( edges_sql TEXT, sources ANYARRAY, targets ANYARRAY, diff --git a/sql/max_flow/boykovKolmogorov.sql b/sql/max_flow/boykovKolmogorov.sql index 64e0bb36fec..0f3c1c1147c 100644 --- a/sql/max_flow/boykovKolmogorov.sql +++ b/sql/max_flow/boykovKolmogorov.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_boykovKolmogorov( +--v2.6 +CREATE FUNCTION pgr_boykovKolmogorov( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -50,7 +51,8 @@ CREATE OR REPLACE FUNCTION pgr_boykovKolmogorov( -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_boykovKolmogorov( +--v2.6 +CREATE FUNCTION pgr_boykovKolmogorov( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -70,7 +72,8 @@ CREATE OR REPLACE FUNCTION pgr_boykovKolmogorov( -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_boykovKolmogorov( +--v2.6 +CREATE FUNCTION pgr_boykovKolmogorov( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -90,7 +93,8 @@ CREATE OR REPLACE FUNCTION pgr_boykovKolmogorov( -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_boykovKolmogorov( +--v2.6 +CREATE FUNCTION pgr_boykovKolmogorov( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/max_flow/edgeDisjointPaths.sql b/sql/max_flow/edgeDisjointPaths.sql index f1fa10d1621..2a903b7b216 100644 --- a/sql/max_flow/edgeDisjointPaths.sql +++ b/sql/max_flow/edgeDisjointPaths.sql @@ -26,7 +26,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_edgeDisjointPaths( +--v2.6 +CREATE FUNCTION pgr_edgeDisjointPaths( TEXT, --edges_sql (required) BIGINT, -- From_vid (required) BIGINT, -- to_vid (required) @@ -49,7 +50,8 @@ LANGUAGE SQL VOLATILE STRICT; -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_edgeDisjointPaths( +--v2.6 +CREATE FUNCTION pgr_edgeDisjointPaths( TEXT, --edges_sql (required) BIGINT, -- From_vid (required) ANYARRAY, -- to_vids (required) @@ -74,7 +76,8 @@ LANGUAGE SQL VOLATILE STRICT; -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_edgeDisjointPaths( +--v2.6 +CREATE FUNCTION pgr_edgeDisjointPaths( TEXT, --edges_sql (required) ANYARRAY, -- From_vids (required) BIGINT, -- to_vid (required) @@ -99,7 +102,8 @@ LANGUAGE SQL VOLATILE STRICT; -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_edgeDisjointPaths( +--v2.6 +CREATE FUNCTION pgr_edgeDisjointPaths( TEXT, --edges_sql (required) ANYARRAY, -- From_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/max_flow/edmondsKarp.sql b/sql/max_flow/edmondsKarp.sql index 5f5a918c0c4..213e5d8414e 100644 --- a/sql/max_flow/edmondsKarp.sql +++ b/sql/max_flow/edmondsKarp.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------- -- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_edmondsKarp( +--v2.6 +CREATE FUNCTION pgr_edmondsKarp( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -49,7 +50,8 @@ CREATE OR REPLACE FUNCTION pgr_edmondsKarp( -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_edmondsKarp( +--v2.6 +CREATE FUNCTION pgr_edmondsKarp( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -69,7 +71,8 @@ CREATE OR REPLACE FUNCTION pgr_edmondsKarp( -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_edmondsKarp( +--v2.6 +CREATE FUNCTION pgr_edmondsKarp( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -89,7 +92,8 @@ CREATE OR REPLACE FUNCTION pgr_edmondsKarp( -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_edmondsKarp( +--v2.6 +CREATE FUNCTION pgr_edmondsKarp( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/max_flow/maxCardinalityMatch.sql b/sql/max_flow/maxCardinalityMatch.sql index 3de29500b7d..696e3b50e5b 100644 --- a/sql/max_flow/maxCardinalityMatch.sql +++ b/sql/max_flow/maxCardinalityMatch.sql @@ -25,7 +25,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_maxCardinalityMatch( +--v2.6 +CREATE FUNCTION pgr_maxCardinalityMatch( TEXT, -- edges_sql (required) directed BOOLEAN DEFAULT true, diff --git a/sql/max_flow/maxFlow.sql b/sql/max_flow/maxFlow.sql index e63b39bcfcf..9721f50208c 100644 --- a/sql/max_flow/maxFlow.sql +++ b/sql/max_flow/maxFlow.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_maxFlow( +--v2.6 +CREATE FUNCTION pgr_maxFlow( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT) -- to_vid (required) @@ -43,7 +44,8 @@ CREATE OR REPLACE FUNCTION pgr_maxFlow( -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_maxFlow( +--v2.6 +CREATE FUNCTION pgr_maxFlow( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY) -- to_vids (required) @@ -56,7 +58,8 @@ CREATE OR REPLACE FUNCTION pgr_maxFlow( -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_maxFlow( +--v2.6 +CREATE FUNCTION pgr_maxFlow( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT) -- to_vid (required) @@ -69,7 +72,8 @@ CREATE OR REPLACE FUNCTION pgr_maxFlow( -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_maxFlow( +--v2.6 +CREATE FUNCTION pgr_maxFlow( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY) -- to_vids (required) diff --git a/sql/max_flow/maxFlowMinCost.sql b/sql/max_flow/maxFlowMinCost.sql index a8e64edd9fc..870a85408f9 100644 --- a/sql/max_flow/maxFlowMinCost.sql +++ b/sql/max_flow/maxFlowMinCost.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------ -- ONE TO ONE -CREATE OR REPLACE FUNCTION pgr_maxFlowMinCost( +--v3.0 +CREATE FUNCTION pgr_maxFlowMinCost( TEXT, -- edges_sql (required) BIGINT, -- source (required) BIGINT, -- target (required) @@ -55,7 +56,8 @@ LANGUAGE SQL VOLATILE; -- ONE TO MANY -CREATE OR REPLACE FUNCTION pgr_maxFlowMinCost( +--v3.0 +CREATE FUNCTION pgr_maxFlowMinCost( TEXT, -- edges_sql (required) BIGINT, -- sources (required) ANYARRAY, -- target (required) @@ -77,7 +79,8 @@ LANGUAGE SQL VOLATILE; -- MANY TO ONE -CREATE OR REPLACE FUNCTION pgr_maxFlowMinCost( +--v3.0 +CREATE FUNCTION pgr_maxFlowMinCost( TEXT, -- edges_sql (required) ANYARRAY, -- source (required) BIGINT, -- targets (required) @@ -98,7 +101,8 @@ $BODY$ LANGUAGE SQL VOLATILE; -- MANY TO MANY -CREATE OR REPLACE FUNCTION pgr_maxFlowMinCost( +--v3.0 +CREATE FUNCTION pgr_maxFlowMinCost( TEXT, -- edges_sql (required) ANYARRAY, -- sources (required) ANYARRAY, -- targets (required) diff --git a/sql/max_flow/maxFlowMinCost_Cost.sql b/sql/max_flow/maxFlowMinCost_Cost.sql index 1f50d8d9e43..c86416c678b 100644 --- a/sql/max_flow/maxFlowMinCost_Cost.sql +++ b/sql/max_flow/maxFlowMinCost_Cost.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------------------------- -- ONE TO ONE -CREATE OR REPLACE FUNCTION pgr_maxFlowMinCost_Cost( +--v3.0 +CREATE FUNCTION pgr_maxFlowMinCost_Cost( TEXT, -- edges_sql (required) BIGINT, -- source (required) BIGINT) -- target (required) @@ -46,7 +47,8 @@ LANGUAGE SQL VOLATILE; -- ONE TO MANY -CREATE OR REPLACE FUNCTION pgr_maxFlowMinCost_Cost( +--v3.0 +CREATE FUNCTION pgr_maxFlowMinCost_Cost( TEXT, -- edges_sql (required) BIGINT, -- source (required) ANYARRAY) -- targets (required) @@ -60,7 +62,8 @@ LANGUAGE SQL VOLATILE; -- MANY TO ONE -CREATE OR REPLACE FUNCTION pgr_maxFlowMinCost_Cost( +--v3.0 +CREATE FUNCTION pgr_maxFlowMinCost_Cost( TEXT, -- edges_sql (required) ANYARRAY, -- sources (required) BIGINT) -- target (required) @@ -74,7 +77,8 @@ LANGUAGE SQL VOLATILE; -- MANY TO MANY -CREATE OR REPLACE FUNCTION pgr_maxFlowMinCost_Cost( +--v3.0 +CREATE FUNCTION pgr_maxFlowMinCost_Cost( TEXT, -- edges_sql (required) ANYARRAY, -- sources (required) ANYARRAY) -- targets (required) diff --git a/sql/max_flow/pushRelabel.sql b/sql/max_flow/pushRelabel.sql index efe13280709..f1cd0c17e61 100644 --- a/sql/max_flow/pushRelabel.sql +++ b/sql/max_flow/pushRelabel.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- ONE to ONE -CREATE OR REPLACE FUNCTION pgr_pushRelabel( +--v2.6 +CREATE FUNCTION pgr_pushRelabel( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) BIGINT, -- to_vid (required) @@ -50,7 +51,8 @@ CREATE OR REPLACE FUNCTION pgr_pushRelabel( -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_pushRelabel( +--v2.6 +CREATE FUNCTION pgr_pushRelabel( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -70,7 +72,8 @@ CREATE OR REPLACE FUNCTION pgr_pushRelabel( -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_pushRelabel( +--v2.6 +CREATE FUNCTION pgr_pushRelabel( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -90,7 +93,8 @@ CREATE OR REPLACE FUNCTION pgr_pushRelabel( -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_pushRelabel( +--v2.6 +CREATE FUNCTION pgr_pushRelabel( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) diff --git a/sql/mincut/_stoerWagner.sql b/sql/mincut/_stoerWagner.sql index 3e9a993997a..3a5419d9f9a 100644 --- a/sql/mincut/_stoerWagner.sql +++ b/sql/mincut/_stoerWagner.sql @@ -37,7 +37,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_stoerWagner ------------------- -CREATE OR REPLACE FUNCTION _pgr_stoerWagner( +--v3.0 +CREATE FUNCTION _pgr_stoerWagner( edges_sql TEXT, OUT seq INTEGER, diff --git a/sql/mincut/stoerWagner.sql b/sql/mincut/stoerWagner.sql index 123a7779e75..83731020f9e 100644 --- a/sql/mincut/stoerWagner.sql +++ b/sql/mincut/stoerWagner.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_stoerWagner( +--v3.0 +CREATE FUNCTION pgr_stoerWagner( TEXT, -- edges_sql (required) OUT seq INTEGER, diff --git a/sql/pickDeliver/_pickDeliver.sql b/sql/pickDeliver/_pickDeliver.sql index 15af1a3c949..0287d46414b 100644 --- a/sql/pickDeliver/_pickDeliver.sql +++ b/sql/pickDeliver/_pickDeliver.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION _pgr_pickDeliver( +--v2.6 +CREATE FUNCTION _pgr_pickDeliver( TEXT, -- orders_sql TEXT, -- vehicles_sql TEXT, -- matrix_cell_sql diff --git a/sql/pickDeliver/_pickDeliverEuclidean.sql b/sql/pickDeliver/_pickDeliverEuclidean.sql index 8019856457c..53a6b1d71a7 100644 --- a/sql/pickDeliver/_pickDeliverEuclidean.sql +++ b/sql/pickDeliver/_pickDeliverEuclidean.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION _pgr_pickDeliverEuclidean ( +--v2.6 +CREATE FUNCTION _pgr_pickDeliverEuclidean ( TEXT, -- orders_sql TEXT, -- vehicles_sql diff --git a/sql/pickDeliver/pickDeliver.sql b/sql/pickDeliver/pickDeliver.sql index d1fc45cdebd..9a9179eeb22 100644 --- a/sql/pickDeliver/pickDeliver.sql +++ b/sql/pickDeliver/pickDeliver.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_pickDeliver( +--v3.0 +CREATE FUNCTION pgr_pickDeliver( TEXT, -- orders_sql (required) TEXT, -- vehicles_sql (required) TEXT, -- matrix_cell_sql diff --git a/sql/pickDeliver/pickDeliverEuclidean.sql b/sql/pickDeliver/pickDeliverEuclidean.sql index 689360927ad..47d57e45fa3 100644 --- a/sql/pickDeliver/pickDeliverEuclidean.sql +++ b/sql/pickDeliver/pickDeliverEuclidean.sql @@ -27,7 +27,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_pickDeliverEuclidean( +--v3.0 +CREATE FUNCTION pgr_pickDeliverEuclidean( TEXT, -- orders_sql (required) TEXT, -- vehicles_sql (required) diff --git a/sql/scripts/build-extension-update-files1.pl b/sql/scripts/build-extension-update-files1.pl index d23079aba3f..86a401a3a82 100755 --- a/sql/scripts/build-extension-update-files1.pl +++ b/sql/scripts/build-extension-update-files1.pl @@ -1,6 +1,5 @@ #!/usr/bin/perl -w =pod - Copyright (c) 2015 pgRouting developers Mail: project@pgrouting.org @@ -19,16 +18,22 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - =cut eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if 0; #$running_under_some_shell -# Extension files almost do not change -# Almost files in the src/*/sql are part of the extension -# The files indicated on the CMakelists of the subdirectory: -# Are going to be included (when not commented out) +=pod + +* Signature Changes within micros do no change +* Signature Changes within minors: + * The higher the number the more SQL functions it has + * The common functions signatures do not change +* Changes within Majors + * Anything can happen + +=cut + eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if 0; #$running_under_some_shell @@ -36,6 +41,7 @@ use strict; use Data::Dumper; use File::Find (); +use version 0.77; use vars qw/*name *dir *prune/; @@ -57,55 +63,70 @@ my $version_2 = qr/(2.[\d+].[\d+])/; my $version_3 = qr/(3.[\d+].[\d+])/; -# add mayor here +my $version_format = qr/([\d+].[\d+].[\d+])/; +my $minor_format = qr/([\d+].[\d+]).[\d+]/; +my $mayor_format = qr/([\d+]).[\d+].[\d+]/; + my $current = $version_3_2; sub Usage { die "Usage:\nFrom the cmake: - build-extension-update-files1 "; + build-extension-update-files1 "; } +# Get information from command line +my $new_version = shift @ARGV || die "Missing: new version to convert"; my $old_version = shift @ARGV || die "Missing: old version to convert"; -my $DEBUG = "@PGROUTING_DEBUG@"; -my $version = "@PGROUTING_VERSION@"; -my $signature_dir = '@CMAKE_CURRENT_BINARY_DIR@/../sigs'; -my $output_directory = '@CMAKE_CURRENT_BINARY_DIR@/..'; -my $curr_signature_file_name = "$signature_dir/pgrouting--$version.sig"; -my $old_signature_file_name = "$signature_dir/pgrouting--$old_version.sig"; -my $curr_sql_file_name = "$output_directory/pgrouting--$version.sql"; +my $signature_dir = shift @ARGV || die "Missing: signature directory"; +my $output_directory = shift @ARGV || die "Missing: output directory"; +my $DEBUG = shift @ARGV; +print "DEBUG is on\n" if $DEBUG; +print "build-extension-update-file $new_version $old_version $signature_dir $output_directory $DEBUG\n" if $DEBUG; -###################################################### -#VERIFICATION SECTION -###################################################### +die "ERROR: Wrong format for new version expected n.n.n got '$new_version'" unless $new_version =~ $version_format; +die "ERROR: Wrong format for old version expected n.n.n got '$old_version'" unless $old_version =~ $version_format; +die "ERROR: '$new_version' must be greater than '$old_version'" unless version->parse($new_version) > version->parse($old_version); +die "ERROR: Can not update from '$old_version' must be at least '2.6.0'" if version->parse($old_version) < version->parse("2.6.0"); -# Verify Currently accepted old and new versions -die "ERROR: 'build-extension-update-files1.pl' expected old version: 2.0.x ~~ 2.6.x\nHINT: Please check:\n file: sql/CMakeLists.txt\n Section: 'TARGET: update_files'" - unless $old_version =~ /$version_2_0|$version_2_1|$version_2_2|$version_2_3|$version_2_4|$version_2_5|$version_2_6|$version_3_0|$version_3_1|$version_3_2/; +my ($new_mayor) = $new_version =~ $mayor_format; +my ($old_mayor) = $old_version =~ $mayor_format; -die "ERROR: 'build-extension-update-files1.pl' expected version: 3.0.x\nHINT: ERROR on PGROUTING_VERSION variable\nor File sql/scripts/build-extension-update-files1.pl needs to be reviewed" - unless $version =~ /$current/; +die "ERROR: This script does not upgrade from $old_version to $new_version $new_mayor\n" if $new_mayor == 2; -die "ERROR: 'build-extension-update-files1.pl' can not upgrade from $old_version to $version\nHINT: Please check:\n file: sql/CMakeLists.txt\n Section: 'TARGET: update_files'" unless $version !~ $old_version; +my ($new_minor) = $new_version =~ $minor_format; +my ($old_minor) = $old_version =~ $minor_format; +my $curr_signature_file_name = "$signature_dir/pgrouting--$new_minor.sig"; +my $old_signature_file_name = "$signature_dir/pgrouting--$old_minor.sig"; +my $curr_sql_file_name = "$output_directory/pgrouting--$new_version.sql"; +my $output_file_name = "$output_directory/pgrouting--$old_version--$new_version.sql"; -# Verify directories exist -die "ERROR: Failed to find: input directory: '$signature_dir'\nHINT: 'sql/sigs' must exist in the repository" unless -d $signature_dir; -die "ERROR: Failed to find: output directory: '$output_directory'\nHINT: unexpected error, this should not happen" unless -d $output_directory; +# Verify directories exist +die "ERROR: Failed to find: input directory: '$signature_dir'\n" unless -d $signature_dir; +die "ERROR: Failed to find: output directory: '$output_directory'\n" unless -d $output_directory; -# Verify current $version files exist. +# Verify needed files exist. die "ERROR: Failed to find: old signature file: '$old_signature_file_name'\n" unless -f $old_signature_file_name; die "ERROR: Failed to find: current signature file: '$curr_signature_file_name'\n" unless -f $curr_signature_file_name; die "ERROR: Failed to find: current sql file: '$curr_sql_file_name'\n" unless -f $curr_sql_file_name; + ###################################################### # process section ###################################################### -# + +if ($new_minor == $old_minor) { + print "Same minor: The signatures didn't change\n" if $DEBUG; + my $curr_signature = read_and_parse_signature_file($curr_signature_file_name); + generate_upgrade_script($curr_signature, $curr_signature); + exit 0; +}; + print "Building the updating files\n" if $DEBUG; my $curr_signature = read_and_parse_signature_file($curr_signature_file_name); @@ -139,28 +160,8 @@ sub read_and_parse_signature_file { # 1 - processing types # 2 - processing functions # Other kinds of postgres objctes are not used in 2.x version of pgRouting - my $state = 0; + my $state = 2; while (my $line = ) { - if ($line =~ /^#VERSION pgrouting (\d+\.\d+\.\d+)\s*$/i) { - my $content_version = $1; - - $hash{VERSION} = $content_version; - - #check that the version is the same as the file - die "ERROR file $file has the version $1\n" unless $file =~ m/$content_version/ - } - elsif ($line =~ /^#TYPES\s*/i) { - $state = 1; - next; - } - elsif ($line =~ /^#FUNCTIONS\s*/i) { - $state = 2; - next; - } - elsif ($line =~ /^#/) { - next; - } - # Remove spaces from the line $line =~ s/\s*$//; @@ -187,10 +188,7 @@ sub generate_upgrade_script { my @types2remove = (); my @commands = (); - # fetch the VERSION numbers - my $new_version = $new->{VERSION}; - my $old_version = $old->{VERSION}; - + print "$new_version $old_version\n"; #------------------------------------ # analyze function signatures @@ -204,72 +202,31 @@ sub generate_upgrade_script { # in the new signatures. my %function_map = map { $_ => 1 } @{$new_signatures}; + if ($new_minor != $old_minor) { + for my $old_function (sort @{$old_signatures}) { + # Skip signatures from the old version that exist in the new version + next if $function_map{$old_function}; - for my $old_function (sort @{$old_signatures}) { - - # check if the old signature is in the new signature map - my $exists = $function_map{$old_function} || '0'; - print "$old_version **WARN: DROP $old_function (does not exists on $new_version)\n" - if $DEBUG and not $exists and $old_function !~ /^_/; - print "$old_version INFO: DROP $old_function (does not exists on $new_version)\n" - if $DEBUG and not $exists and $old_function =~ /^_/; + # Enforcing: When its the same mayor, the signatures should exist in the new version + die "$old_function should exist in $new_minor" if $new_mayor == $old_mayor; - # Nothing to do, the signature is valid on the current version - # Might not be the case because signature changes include - # - parameter names - # - different types of out parameters - # but the signature files do not catch that information (yet) - next if $function_map{$old_function}; - # The function does NOT exist in the current version - # -- Remove from the extension - push @commands, "\n\nALTER EXTENSION pgrouting DROP FUNCTION $old_function;\n"; - push @commands, "DROP FUNCTION IF EXISTS $old_function;\n"; + # Remove from the extension + push @commands, "-- $old_function does not exists on $new_version\n" if $DEBUG; + push @commands, "ALTER EXTENSION pgrouting DROP FUNCTION $old_function;\n"; + push @commands, "DROP FUNCTION IF EXISTS $old_function;\n\n"; + } } #------------------------------------ # Special cases #------------------------------------ - push @commands, dijkstra($old_version, $new_version); - push @commands, bddijkstra($old_version, $new_version); - push @commands, allpairs($old_version, $new_version); - push @commands, astar($old_version, $new_version); - push @commands, bdastar($old_version, $new_version); - push @commands, withpoints($old_version, $new_version); - push @commands, ksp($old_version, $new_version); - push @commands, flow($old_version, $new_version); - push @commands, components($old_version, $new_version); - push @commands, version($old_version, $new_version); - push @commands, drivingDistance($old_version, $new_version); - push @commands, vrp($old_version, $new_version); - push @commands, topology($old_version, $new_version); - push @commands, tsp($old_version, $new_version); - - #------------------------------------ - # analyze types - #------------------------------------ - - my $ntype = $new->{types}; - my $otype = $old->{types}; - - # create a hash like => for new types - my %ntype_h = (); - for my $x (@{$ntype}) { - #$x =~ m/(\w+)(\([^\)]+\))$/; - $ntype_h{lc($x)} = lc($x); + if ($old_mayor == 2) { + push @commands, update_from_version_2(); } - - # check if old type exists with different column types - for my $x (@{$otype}) { - my $name = lc($x); - if (!exists $ntype_h{$name}) { - #types no longer used are dropped form the extension - push @commands, "ALTER EXTENSION pgrouting DROP TYPE $name;\n"; - push @commands, "DROP TYPE $name CASCADE;\n"; - } else { - push @types2remove, $name; - } + if ("$old_version" eq "3.0.0") { + push @commands, update_from_version_3_0_0(); } # UGH! someone change the definition of the TYPE or reused an existing @@ -279,407 +236,500 @@ sub generate_upgrade_script { die "ERROR: pgrouting TYPE changed! Cannot continue!\n" if $err; - write_script($old_version, $new_version, \@types2remove, join('', @commands)); + write_script(join('', @commands)); } -sub version { - my ($old_version, $new_version) = @_; - my @commands = (); - if ($old_version =~ /$version_2_6|$version_2_5|$version_2_4|$version_2_3|$version_2_2/ and $new_version =~ /$version_3/) { - push @commands, drop_special_case_function("pgr_version()", $old_version, $new_version); - } - return @commands; +sub write_script { + my ($commands) = @_; + + my $contents = get_current_sql(); + + print "Creating '$output_file_name'\n" if $DEBUG; + + open(OUT, ">$output_file_name") + || die "ERROR: failed to create '$output_directory/pgrouting-pgrouting--$old_version--$new_version.sql' : $!\n"; + + my $header = "-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +-- pgRouting extension upgrade from $old_version to $new_version +-- generated by tools/build-extension-update-file +-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +"; + my $echo = "\\echo Use \"ALTER extension pgrouting update to '$new_version'\" to load this file. \\quit"; + + my $delete_msg =""; + $delete_msg = " +------------------------------------- +-- remove functions no longer in the $new_version extension +-------------------------------------" unless $new_mayor == $old_mayor; + + + # write out the header and the commands to clean up the old extension + print OUT <; + close(IN); + my $contents = join('', @file); + + # remove the header + $contents =~ s/\\echo Use "CREATE EXTENSION pgrouting" to load this file. \\quit//; + + my %seen = (); + print "HERE\n"; + while ($contents =~ /--v([\d+].[\d+])/g) { # scalar context + $seen{$1}++; + } + my @uniq = keys %seen; + print "@uniq\n"; + + foreach my $minor (@uniq) { + if ($old_minor >= $minor) { + print "$old_minor >= $minor\n"; + + $contents =~ s{ + --v$minor + .*? + FUNCTION + }[CREATE OR REPLACE FUNCTION]gsxi; } - my $update_command = update_pg_proc( - 'pgr_bddijkstra', - 'edges_sql,start_vid,end_vid,directed,seq,path_seq,node,edge,cost,agg_cost', - '"","","",directed,seq,path_seq,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_bddijkstra', - 'edges_sql,start_vid,end_vids,directed,seq,path_seq,end_vid,node,edge,cost,agg_cost', - '"","","",directed,seq,path_seq,node,end_vid,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_bddijkstra', - 'edges_sql,start_vids,end_vid,directed,seq,path_seq,start_vid,node,edge,cost,agg_cost', - '"","","",directed,seq,path_seq,start_vid,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_bddijkstra', - 'edges_sql,start_vids,end_vids,directed,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost', - '"","","",directed,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost'); - push @commands, $update_command; - - # pgr_BDdijkstraCost - $update_command = update_pg_proc_short( - 'pgr_bddijkstracost', - '"","","",directed,start_vid,end_vid,agg_cost'); - push @commands, $update_command; - - # pgr_BDdijkstraCostMatrix - $update_command = update_pg_proc( - 'pgr_bddijkstracostmatrix', - 'edges_sql,vids,directed,start_vid,end_vid,agg_cost', - '"","",directed,start_vid,end_vid,agg_cost'); - push @commands, $update_command; } + + return $contents +} + +=pod +***************************************************************** +functions to fix signatures +***************************************************************** +=cut + +sub drop_special_case_function { + my ($function) = @_; + my @commands = (); + + push @commands, "-- $old_version **WARN: DROP $function (something changed for $new_version)\n" if $DEBUG; + push @commands, "\nALTER EXTENSION pgrouting DROP FUNCTION $function;\n"; + push @commands, "DROP FUNCTION IF EXISTS $function;\n\n\n"; return @commands; } sub update_pg_proc_short { my ($func_name, $new_sig) = @_; - my $update_command = " + return " UPDATE pg_proc SET proargnames = '{$new_sig}' WHERE proname = '$func_name'; - "; - return $update_command; } sub update_pg_proc { my ($func_name, $old_sig, $new_sig) = @_; - my $update_command = " + return " UPDATE pg_proc SET proargnames = '{$new_sig}' WHERE proname = '$func_name' AND proargnames = '{$old_sig}'; + "; +} +sub update_proallargtypes{ + my ($func_name, $old_sig, $new_sig) = @_; + return " +UPDATE pg_proc SET +proallargtypes = '{$new_sig}' +WHERE proname = '$func_name' +AND proallargtypes = '{$old_sig}'; "; - return $update_command; } + +=pod +***************************************************************** +code beyond this point is v3.0.0 specific +***************************************************************** +=cut + +sub update_from_version_3_0_0 { + my @commands = (); + push @commands, " + +--------------------------------------------- +-- Updating from version 3.0.0 +--------------------------------------------- +" if $DEBUG; + + push @commands, tsp(); + push @commands, withpoints(); + push @commands, components(); + push @commands, flow(); + push @commands, others_3_0_0(); + return @commands; +} + +sub others_3_0_0 { + my @commands = (); + push @commands, update_pg_proc( + 'pgr_topologicalsort', + 'edges_sql,seq,sorted_v', + '"",seq,sorted_v'); + push @commands, update_pg_proc( + 'pgr_transitiveclosure', + 'edges_sql,seq,vid,target_array', + '"",seq,vid,target_array'); + return @commands; +} +=pod +***************************************************************** +code beyond this point is v2.6 specific +***************************************************************** +=cut + +sub update_from_version_2 { + my @commands = (); + push @commands, " +--------------------------------------------- +-- Updating from version 2.6 +--------------------------------------------- +" if $DEBUG; + push @commands, "ALTER EXTENSION pgrouting DROP TYPE pgr_costresult; DROP TYPE pgr_costresult CASCADE;\n"; + push @commands, "ALTER EXTENSION pgrouting DROP TYPE pgr_costresult3; DROP TYPE pgr_costresult3 CASCADE;\n"; + push @commands, "ALTER EXTENSION pgrouting DROP TYPE pgr_geomresult; DROP TYPE pgr_geomresult CASCADE;\n"; + push @commands, dijkstra(); + push @commands, allpairs(); + push @commands, astar(); + push @commands, withpoints(); + push @commands, drivingDistance(); + push @commands, ksp(); + push @commands, bddijkstra(); + push @commands, bdastar(); + push @commands, flow(); + push @commands, tsp(); + push @commands, components(); + push @commands, vrp(); + push @commands, topology(); + push @commands, version(); + return @commands; +} + +sub version { + my @commands = (); + push @commands, drop_special_case_function("pgr_version()"); + return @commands; +} + +sub bddijkstra { + my @commands = (); + + push @commands, drop_special_case_function("_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean)"); + push @commands, drop_special_case_function("pgr_bddijkstra(text,bigint,anyarray,boolean)"); + + push @commands, update_pg_proc( + 'pgr_bddijkstra', + 'edges_sql,start_vid,end_vid,directed,seq,path_seq,node,edge,cost,agg_cost', + '"","","",directed,seq,path_seq,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_bddijkstra', + 'edges_sql,start_vid,end_vids,directed,seq,path_seq,end_vid,node,edge,cost,agg_cost', + '"","","",directed,seq,path_seq,node,end_vid,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_bddijkstra', + 'edges_sql,start_vids,end_vid,directed,seq,path_seq,start_vid,node,edge,cost,agg_cost', + '"","","",directed,seq,path_seq,start_vid,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_bddijkstra', + 'edges_sql,start_vids,end_vids,directed,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost', + '"","","",directed,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost'); + + # pgr_BDdijkstraCost + push @commands, update_pg_proc_short( + 'pgr_bddijkstracost', + '"","","",directed,start_vid,end_vid,agg_cost'); + + # pgr_BDdijkstraCostMatrix + push @commands, update_pg_proc( + 'pgr_bddijkstracostmatrix', + 'edges_sql,vids,directed,start_vid,end_vid,agg_cost', + '"","",directed,start_vid,end_vid,agg_cost'); + + return @commands; +} + + sub withpoints { - my ($old_version, $new_version) = @_; my @commands = (); - if ($old_version =~ /$version_2_6|$version_2_5|$version_2_4|$version_2_3|$version_2_2/ and $new_version =~ /$version_3/) { - my $update_command = update_pg_proc( - 'pgr_withpoints', - 'edges_sql,points_sql,start_pid,end_pid,directed,driving_side,details,seq,path_seq,node,edge,cost,agg_cost', - '"","","","",directed,driving_side,details,seq,path_seq,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_withpoints', - 'edges_sql,points_sql,start_pid,end_pids,directed,driving_side,details,seq,path_seq,end_pid,node,edge,cost,agg_cost', - '"","","","",directed,driving_side,details,seq,path_seq,end_pid,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_withpoints', - 'edges_sql,points_sql,start_pids,end_pid,directed,driving_side,details,seq,path_seq,start_pid,node,edge,cost,agg_cost', - '"","","","",directed,driving_side,details,seq,path_seq,start_pid,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_withpoints', - 'edges_sql,points_sql,start_pids,end_pids,directed,driving_side,details,seq,path_seq,start_pid,end_pid,node,edge,cost,agg_cost', - '"","","","",directed,driving_side,details,seq,path_seq,start_pid,end_pid,node,edge,cost,agg_cost'); - push @commands, $update_command; - - # pgr_withPointsCost - $update_command = update_pg_proc_short( - 'pgr_withpointscost', - '"","","","",directed,driving_side,start_pid,end_pid,agg_cost'); - push @commands, $update_command; - - #pgr_withPointsCostMatrix - $update_command = update_pg_proc( - 'pgr_withpointscostmatrix', - 'edges_sql,points_sql,pids,directed,driving_side,start_vid,end_vid,agg_cost', - '"","","",directed,driving_side,start_vid,end_vid,agg_cost'); - push @commands, $update_command; - - # pgr_withPointsDD - $update_command = update_pg_proc( - 'pgr_withpointsdd', - 'edges_sql,points_sql,start_pid,distance,directed,driving_side,details,equicost,seq,start_vid,node,edge,cost,agg_cost', - '"","","","",directed,driving_side,details,equicost,seq,start_vid,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_withpointsdd', - 'edges_sql,points_sql,start_pid,distance,directed,driving_side,details,seq,node,edge,cost,agg_cost', - '"","","","",directed,driving_side,details,seq,node,edge,cost,agg_cost'); - push @commands, $update_command; - } + push @commands, update_pg_proc( + 'pgr_withpoints', + 'edges_sql,points_sql,start_pid,end_pid,directed,driving_side,details,seq,path_seq,node,edge,cost,agg_cost', + '"","","","",directed,driving_side,details,seq,path_seq,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_withpoints', + 'edges_sql,points_sql,start_pid,end_pids,directed,driving_side,details,seq,path_seq,end_pid,node,edge,cost,agg_cost', + '"","","","",directed,driving_side,details,seq,path_seq,end_pid,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_withpoints', + 'edges_sql,points_sql,start_pids,end_pid,directed,driving_side,details,seq,path_seq,start_pid,node,edge,cost,agg_cost', + '"","","","",directed,driving_side,details,seq,path_seq,start_pid,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_withpoints', + 'edges_sql,points_sql,start_pids,end_pids,directed,driving_side,details,seq,path_seq,start_pid,end_pid,node,edge,cost,agg_cost', + '"","","","",directed,driving_side,details,seq,path_seq,start_pid,end_pid,node,edge,cost,agg_cost'); + + # pgr_withPointsCost + push @commands, update_pg_proc_short( + 'pgr_withpointscost', + '"","","","",directed,driving_side,start_pid,end_pid,agg_cost'); + + #pgr_withPointsCostMatrix + push @commands, update_pg_proc( + 'pgr_withpointscostmatrix', + 'edges_sql,points_sql,pids,directed,driving_side,start_vid,end_vid,agg_cost', + '"","","",directed,driving_side,start_vid,end_vid,agg_cost'); + + # pgr_withPointsDD + push @commands, update_pg_proc( + 'pgr_withpointsdd', + 'edges_sql,points_sql,start_pid,distance,directed,driving_side,details,equicost,seq,start_vid,node,edge,cost,agg_cost', + '"","","","",directed,driving_side,details,equicost,seq,start_vid,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_withpointsdd', + 'edges_sql,points_sql,start_pid,distance,directed,driving_side,details,seq,node,edge,cost,agg_cost', + '"","","","",directed,driving_side,details,seq,node,edge,cost,agg_cost'); + return @commands; } sub drivingDistance { - my ($old_version, $new_version) = @_; my @commands = (); - if ($old_version =~ /$version_2_3|$version_2_2/ and $new_version =~ /$version_3/) { - my $update_command = update_pg_proc( - '_pgr_drivingdistance', - 'edges_sql,start_vids,distance,directed,equicost,seq,start_v,node,edge,cost,agg_cost', - 'edges_sql,start_vids,distance,directed,equicost,seq,from_v,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_drivingdistance', - 'edges_sql,start_v,distance,directed,seq,node,edge,cost,agg_cost', - '"","","",directed,seq,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_drivingdistance', - 'sql,start_v,distance,directed,equicost,seq,from_v,node,edge,cost,agg_cost', - '"","","",directed,equicost,seq,from_v,node,edge,cost,agg_cost'); - push @commands, $update_command; - } - - if ($old_version =~ /$version_2_6|$version_2_5|$version_2_4/ and $new_version =~ /$version_3/) { + push @commands, drop_special_case_function("pgr_drivingdistance(text,bigint,double precision,boolean)"); + push @commands, update_pg_proc( + 'pgr_drivingdistance', + 'edges_sql,start_vids,distance,directed,equicost,seq,from_v,node,edge,cost,agg_cost', + '"","","",directed,equicost,seq,from_v,node,edge,cost,agg_cost'); - push @commands, drop_special_case_function("pgr_drivingdistance(text,anyarray,double precision,boolean,boolean)", $old_version, $new_version); - push @commands, drop_special_case_function("pgr_drivingdistance(text,bigint,double precision,boolean)", $old_version, $new_version); - } return @commands; } sub topology { - my ($old_version, $new_version) = @_; my @commands = (); - if ($old_version =~ /$version_2_6|$version_2_5|$version_2_4|$version_2_3|$version_2_2/ and $new_version =~ /$version_3/) { - my $update_command = update_pg_proc( - 'pgr_nodenetwork', - 'edge_table,tolerance,id,the_geom,table_ending,rows_where,outall', - '"","",id,the_geom,table_ending,rows_where,outall'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_createverticestable', - 'edge_table,the_geom,source,target,rows_where', - '"",the_geom,source,target,rows_where'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_createtopology', - 'edge_table,tolerance,the_geom,id,source,target,rows_where,clean', - '"","",the_geom,id,source,target,rows_where,clean'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_analyzegraph', - 'edge_table,tolerance,the_geom,id,source,target,rows_where', - '"","",the_geom,id,source,target,rows_where'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_analyzeoneway', - 'edge_table,s_in_rules,s_out_rules,t_in_rules,t_out_rules,two_way_if_null,oneway,source,target', - '"","","","","",two_way_if_null,oneway,source,target'); - push @commands, $update_command; - } + push @commands, update_pg_proc( + 'pgr_nodenetwork', + 'edge_table,tolerance,id,the_geom,table_ending,rows_where,outall', + '"","",id,the_geom,table_ending,rows_where,outall'); + push @commands, update_pg_proc( + 'pgr_createverticestable', + 'edge_table,the_geom,source,target,rows_where', + '"",the_geom,source,target,rows_where'); + push @commands, update_pg_proc( + 'pgr_createtopology', + 'edge_table,tolerance,the_geom,id,source,target,rows_where,clean', + '"","",the_geom,id,source,target,rows_where,clean'); + push @commands, update_pg_proc( + 'pgr_analyzegraph', + 'edge_table,tolerance,the_geom,id,source,target,rows_where', + '"","",the_geom,id,source,target,rows_where'); + push @commands, update_pg_proc( + 'pgr_analyzeoneway', + 'edge_table,s_in_rules,s_out_rules,t_in_rules,t_out_rules,two_way_if_null,oneway,source,target', + '"","","","","",two_way_if_null,oneway,source,target'); return @commands; } sub allpairs { - my ($old_version, $new_version) = @_; my @commands = (); - if ($old_version =~ /$version_2_6|$version_2_5|$version_2_4|$version_2_3|$version_2_2/ and $new_version =~ /$version_3/) { - my $update_command = update_pg_proc( - 'pgr_johnson', - 'edges_sql,directed,start_vid,end_vid,agg_cost', - '"",directed,start_vid,end_vid,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_floydwarshall', - 'edges_sql,directed,start_vid,end_vid,agg_cost', - '"",directed,start_vid,end_vid,agg_cost'); - push @commands, $update_command; - } + push @commands, update_pg_proc( + 'pgr_johnson', + 'edges_sql,directed,start_vid,end_vid,agg_cost', + '"",directed,start_vid,end_vid,agg_cost'); + push @commands, update_pg_proc( + 'pgr_floydwarshall', + 'edges_sql,directed,start_vid,end_vid,agg_cost', + '"",directed,start_vid,end_vid,agg_cost'); return @commands; } sub components { - my ($old_version, $new_version) = @_; my @commands = (); + if ("$old_version" eq "3.0.0") { + push @commands, update_proallargtypes( + '_pgr_strongcomponents', + '25,23,20,20', + '25,20,20,20'); + push @commands, update_proallargtypes( + 'pgr_strongcomponents', + '25,23,20,20', + '25,20,20,20'); + push @commands, update_proallargtypes( + '_pgr_biconnectedcomponents', + '25,23,20,20', + '25,20,20,20'); + push @commands, update_proallargtypes( + 'pgr_biconnectedcomponents', + '25,23,20,20', + '25,20,20,20'); + } - if ($old_version =~ /$version_2_6|$version_2_5/ and $new_version =~ /$version_3/) { - push @commands, drop_special_case_function("pgr_connectedcomponents(text)", $old_version, $new_version); - push @commands, drop_special_case_function("pgr_strongcomponents(text)", $old_version, $new_version); - push @commands, drop_special_case_function("pgr_biconnectedcomponents(text)", $old_version, $new_version); - push @commands, drop_special_case_function("pgr_articulationpoints(text)", $old_version, $new_version); - push @commands, drop_special_case_function("pgr_bridges(text)", $old_version, $new_version); + if ($old_mayor == 2) { + push @commands, drop_special_case_function("pgr_connectedcomponents(text)"); + push @commands, drop_special_case_function("pgr_strongcomponents(text)"); + push @commands, drop_special_case_function("pgr_biconnectedcomponents(text)"); + push @commands, drop_special_case_function("pgr_articulationpoints(text)"); + push @commands, drop_special_case_function("pgr_bridges(text)"); } + return @commands; } sub tsp { - my ($old_version, $new_version) = @_; my @commands = (); + push @commands, update_pg_proc( + 'pgr_tsp', + 'matrix_row_sql,start_id,end_id,max_processing_time,tries_per_temperature,max_changes_per_temperature,max_consecutive_non_changes,initial_temperature,final_temperature,cooling_factor,randomize,seq,node,cost,agg_cost', + '"",start_id,end_id,max_processing_time,tries_per_temperature,max_changes_per_temperature,max_consecutive_non_changes,initial_temperature,final_temperature,cooling_factor,randomize,seq,node,cost,agg_cost'); - if ($old_version =~ /$version_2_6|$version_2_5|$version_2_4|$version_2_3|$version_2_2/ and $new_version =~ /$version_3/) { - - my $update_command = update_pg_proc( - 'pgr_tsp', - 'matrix_row_sql,start_id,end_id,max_processing_time,tries_per_temperature,max_changes_per_temperature,max_consecutive_non_changes,initial_temperature,final_temperature,cooling_factor,randomize,seq,node,cost,agg_cost', - '"",start_id,end_id,max_processing_time,tries_per_temperature,max_changes_per_temperature,max_consecutive_non_changes,initial_temperature,final_temperature,cooling_factor,randomize,seq,node,cost,agg_cost'); - push @commands, $update_command; - } return @commands; } sub dijkstra { - my ($old_version, $new_version) = @_; my @commands = (); + push @commands, drop_special_case_function("pgr_dijkstra(text,bigint,anyarray,boolean)"); + + push @commands, update_pg_proc( + 'pgr_dijkstra', + 'edges_sql,start_vid,end_vid,directed,seq,path_seq,node,edge,cost,agg_cost', + '"","","",directed,seq,path_seq,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_dijkstra', + 'edges_sql,start_vid,end_vids,directed,seq,path_seq,end_vid,node,edge,cost,agg_cost', + '"","","",directed,seq,path_seq,node,end_vid,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_dijkstra', + 'edges_sql,start_vids,end_vid,directed,seq,path_seq,start_vid,node,edge,cost,agg_cost', + '"","","",directed,seq,path_seq,start_vid,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_dijkstra', + 'edges_sql,start_vids,end_vids,directed,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost', + '"","","",directed,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost'); + + # pgr_dijkstraCost + push @commands, update_pg_proc_short( + 'pgr_dijkstracost', + '"","","",directed,start_vid,end_vid,agg_cost'); + + # pgr_dijkstraCostMatrix + push @commands, update_pg_proc( + 'pgr_dijkstracostmatrix', + 'edges_sql,vids,directed,start_vid,end_vid,agg_cost', + '"","",directed,start_vid,end_vid,agg_cost'); + + push @commands, update_pg_proc( + 'pgr_dijkstravia', + 'edges_sql,via_vertices,directed,strict,u_turn_on_edge,seq,path_id,path_seq,start_vid,end_vid,node,edge,cost,agg_cost,route_agg_cost', + '"","",directed,strict,u_turn_on_edge,seq,path_id,path_seq,start_vid,end_vid,node,edge,cost,agg_cost,route_agg_cost'); + - if ($old_version =~ /$version_2_6|$version_2_5|$version_2_4|$version_2_3|$version_2_2/ and $new_version =~ /$version_3/) { - push @commands, drop_special_case_function("pgr_dijkstra(text,bigint,anyarray,boolean)", $old_version, $new_version); - - my $update_command = update_pg_proc( - 'pgr_dijkstra', - 'edges_sql,start_vid,end_vid,directed,seq,path_seq,node,edge,cost,agg_cost', - '"","","",directed,seq,path_seq,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_dijkstra', - 'edges_sql,start_vid,end_vids,directed,seq,path_seq,end_vid,node,edge,cost,agg_cost', - '"","","",directed,seq,path_seq,node,end_vid,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_dijkstra', - 'edges_sql,start_vids,end_vid,directed,seq,path_seq,start_vid,node,edge,cost,agg_cost', - '"","","",directed,seq,path_seq,start_vid,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_dijkstra', - 'edges_sql,start_vids,end_vids,directed,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost', - '"","","",directed,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost'); - push @commands, $update_command; - - # pgr_dijkstraCost - $update_command = update_pg_proc_short( - 'pgr_dijkstracost', - '"","","",directed,start_vid,end_vid,agg_cost'); - push @commands, $update_command; - - # pgr_dijkstraCostMatrix - $update_command = update_pg_proc( - 'pgr_dijkstracostmatrix', - 'edges_sql,vids,directed,start_vid,end_vid,agg_cost', - '"","",directed,start_vid,end_vid,agg_cost'); - push @commands, $update_command; - - # pgr_dijkstraVia - $update_command = update_pg_proc( - 'pgr_dijkstravia', - 'edges_sql,via_vertices,directed,strict,u_turn_on_edge,seq,path_id,path_seq,start_vid,end_vid,node,edge,cost,agg_cost,route_agg_cost', - '"","",directed,strict,u_turn_on_edge,seq,path_id,path_seq,start_vid,end_vid,node,edge,cost,agg_cost,route_agg_cost'); - push @commands, $update_command; - } return @commands; } sub ksp { - my ($old_version, $new_version) = @_; my @commands = (); - if ($old_version =~ /$version_2_6|$version_2_5|$version_2_4|$version_2_3|$version_2_2/ and $new_version =~ /$version_3/) { - my $update_command = update_pg_proc( - 'pgr_ksp', - 'edges_sql,start_vid,end_vid,k,directed,heap_paths,seq,path_id,path_seq,node,edge,cost,agg_cost', - '"","","","",directed,heap_paths,seq,path_id,path_seq,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_withpointsksp', - 'edges_sql,points_sql,start_pid,end_pid,k,directed,heap_paths,driving_side,details,seq,path_id,path_seq,node,edge,cost,agg_cost', - '"","","","","",directed,heap_paths,driving_side,details,seq,path_id,path_seq,node,edge,cost,agg_cost'); - push @commands, $update_command; - } + push @commands, update_pg_proc( + 'pgr_ksp', + 'edges_sql,start_vid,end_vid,k,directed,heap_paths,seq,path_id,path_seq,node,edge,cost,agg_cost', + '"","","","",directed,heap_paths,seq,path_id,path_seq,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_withpointsksp', + 'edges_sql,points_sql,start_pid,end_pid,k,directed,heap_paths,driving_side,details,seq,path_id,path_seq,node,edge,cost,agg_cost', + '"","","","","",directed,heap_paths,driving_side,details,seq,path_id,path_seq,node,edge,cost,agg_cost'); return @commands; } sub vrp { - my ($old_version, $new_version) = @_; my @commands = (); - if ($old_version =~ /$version_2_6|$version_2_5|$version_2_4|$version_2_3|$version_2_2/ and $new_version =~ /$version_3/) { - my $update_command = update_pg_proc( - 'pgr_vrponedepot', - 'order_sql,vehicle_sql,cost_sql,depot_id,oid,opos,vid,tarrival,tdepart', - '"","","","",oid,opos,vid,tarrival,tdepart'); - push @commands, $update_command; - } + push @commands, update_pg_proc( + 'pgr_vrponedepot', + 'order_sql,vehicle_sql,cost_sql,depot_id,oid,opos,vid,tarrival,tdepart', + '"","","","",oid,opos,vid,tarrival,tdepart'); + return @commands; } sub bdastar { - my ($old_version, $new_version) = @_; my @commands = (); - if ($old_version =~ /$version_2_6|$version_2_5/ and $new_version =~ /$version_3/) { - #pgr_BDaStarCostMatrix - my $update_command = update_pg_proc( + push @commands, update_pg_proc( 'pgr_bdastarcostmatrix', 'edges_sql,vids,directed,heuristic,factor,epsilon,start_vid,end_vid,agg_cost', '"","",directed,heuristic,factor,epsilon,start_vid,end_vid,agg_cost'); - push @commands, $update_command; - } return @commands; } sub astar { - my ($old_version, $new_version) = @_; my @commands = (); - if ($old_version =~ /$version_2_6|$version_2_5|$version_2_4|$version_2_3/ and $new_version =~ /$version_3/) { - my $update_command = update_pg_proc( - 'pgr_astar', - 'edges_sql,start_vid,end_vid,directed,heuristic,factor,epsilon,seq,path_seq,node,edge,cost,agg_cost', - '"","","",directed,heuristic,factor,epsilon,seq,path_seq,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_astar', - 'edges_sql,start_vid,end_vids,directed,heuristic,factor,epsilon,seq,path_seq,end_vid,node,edge,cost,agg_cost', - '"","","",directed,heuristic,factor,epsilon,seq,path_seq,end_vid,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_astar', - 'edges_sql,start_vids,end_vid,directed,heuristic,factor,epsilon,seq,path_seq,start_vid,node,edge,cost,agg_cost', - '"","","",directed,heuristic,factor,epsilon,seq,path_seq,start_vid,node,edge,cost,agg_cost'); - push @commands, $update_command; - $update_command = update_pg_proc( - 'pgr_astar', - 'edges_sql,start_vids,end_vids,directed,heuristic,factor,epsilon,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost', - '"","","",directed,heuristic,factor,epsilon,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost'); - push @commands, $update_command; - - #pgr_astarCost - $update_command = update_pg_proc_short( - 'pgr_astarcost', - '"","","",directed,heuristic,factor,epsilon,start_vid,end_vid,agg_cost'); - push @commands, $update_command; - - #pgr_astarCostMatrix - $update_command = update_pg_proc( - 'pgr_astarcostmatrix', - 'edges_sql,vids,directed,heuristic,factor,epsilon,start_vid,end_vid,agg_cost', - '"","",directed,heuristic,factor,epsilon,start_vid,end_vid,agg_cost'); - push @commands, $update_command; - } + push @commands, update_pg_proc( + 'pgr_astar', + 'edges_sql,start_vid,end_vid,directed,heuristic,factor,epsilon,seq,path_seq,node,edge,cost,agg_cost', + '"","","",directed,heuristic,factor,epsilon,seq,path_seq,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_astar', + 'edges_sql,start_vid,end_vids,directed,heuristic,factor,epsilon,seq,path_seq,end_vid,node,edge,cost,agg_cost', + '"","","",directed,heuristic,factor,epsilon,seq,path_seq,end_vid,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_astar', + 'edges_sql,start_vids,end_vid,directed,heuristic,factor,epsilon,seq,path_seq,start_vid,node,edge,cost,agg_cost', + '"","","",directed,heuristic,factor,epsilon,seq,path_seq,start_vid,node,edge,cost,agg_cost'); + push @commands, update_pg_proc( + 'pgr_astar', + 'edges_sql,start_vids,end_vids,directed,heuristic,factor,epsilon,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost', + '"","","",directed,heuristic,factor,epsilon,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost'); + + #pgr_astarCost + push @commands, update_pg_proc_short( + 'pgr_astarcost', + '"","","",directed,heuristic,factor,epsilon,start_vid,end_vid,agg_cost'); + + #pgr_astarCostMatrix + push @commands, update_pg_proc( + 'pgr_astarcostmatrix', + 'edges_sql,vids,directed,heuristic,factor,epsilon,start_vid,end_vid,agg_cost', + '"","",directed,heuristic,factor,epsilon,start_vid,end_vid,agg_cost'); return @commands; } @@ -688,108 +738,26 @@ sub astar { sub flow { - my ($old_version, $new_version) = @_; my @commands = (); - if ($old_version =~ /$version_2_4|$version_2_3/ and $new_version =~ /$version_3/) { - push @commands, drop_special_case_function("pgr_edgedisjointpaths(text,bigint,bigint,boolean)",$old_version, $new_version); - push @commands, drop_special_case_function("pgr_edgedisjointpaths(text,bigint,anyarray,boolean)",$old_version, $new_version); - push @commands, drop_special_case_function("pgr_edgedisjointpaths(text,anyarray,bigint,boolean)",$old_version, $new_version); - push @commands, drop_special_case_function("pgr_edgedisjointpaths(text,anyarray,anyarray,boolean)",$old_version, $new_version); + if ("$old_version" eq "3.0.0") { + push @commands, update_pg_proc( + 'pgr_stoerwagner', + 'edges_sql,seq,edge,cost,mincut', + '"",seq,edge,cost,mincut'); } - - if ($old_version =~ /$version_2_6|$version_2_5/ and $new_version =~ /$version_3/) { - my $update_command = update_pg_proc( + if ($old_mayor == 2) { + push @commands, update_pg_proc( 'pgr_maxcardinalitymatch', - 'edges_sql,directed,seq,edge,source,target', - '"",directed,seq,edge,source,target'); - push @commands, $update_command; - } - - if ($old_version =~ /$version_2_6|$version_2_5|$version_2_4/ and $new_version =~ /$version_3/) { - my $update_command = update_pg_proc( + 'edges_sql,directed,seq,edge,source,target', + '"",directed,seq,edge,source,target'); + push @commands, update_pg_proc( 'pgr_maxflow', - 'edges_sql,source_vertices,sink_vertices', - '"","",""'); - push @commands, $update_command; + 'edges_sql,source_vertices,sink_vertices', + '"","",""'); } - return @commands; } -sub drop_special_case_function { - my ($function, $old_version, $new_version) = @_; - my @commands = (); - - print "$old_version **WARN: DROP $function (something changed for $new_version)\n" - if $DEBUG; - push @commands, "\nALTER EXTENSION pgrouting DROP FUNCTION $function;\n"; - push @commands, "DROP FUNCTION IF EXISTS $function;\n\n\n"; - return @commands; -} - - -sub write_script { - my ($old_version, $new_version, $types, $commands) = @_; - - my $contents = get_current_sql($types); - - open(OUT, ">$output_directory/pgrouting--$old_version--$new_version.sql") - || die "ERROR: failed to create '$output_directory/pgrouting-pgrouting--$old_version--$new_version.sql' : $!\n"; - - - # write out the header and the commands to clean up the old extension - print OUT <; - close(IN); - my $contents = join('', @file); - - #remove existing types - for my $type (@{$types}) { - $contents =~ s{ - create\s+type\s+$type - .*? - \); - }[]gsxi; - } - - - $contents =~ s/\\echo Use "CREATE EXTENSION pgrouting" to load this file. \\quit//; - - return $contents -} - - diff --git a/sql/sigs/CMakeLists.txt b/sql/sigs/CMakeLists.txt index 058ea4d7c15..7cb81f42c02 100644 --- a/sql/sigs/CMakeLists.txt +++ b/sql/sigs/CMakeLists.txt @@ -1,22 +1,5 @@ -SET(OLD_SIGNATURES - 3.1.1 - 3.1.0 - - 3.0.3 - 3.0.2 - 3.0.1 - 3.0.0 - - 2.6.3 - 2.6.2 - 2.6.1 - 2.6.0 - ) - -foreach (f ${OLD_SIGNATURES}) +foreach (f ${MINORS}) configure_file(pgrouting--${f}.sig pgrouting--${f}.sig COPYONLY) list(APPEND SIGNATURE_FILES pgrouting--${f}.sig) endforeach() -configure_file(pgrouting--${PGROUTING_VERSION}.sig pgrouting--${PGROUTING_VERSION}.sig COPYONLY) -set(OLD_SIGNATURES ${OLD_SIGNATURES} PARENT_SCOPE) diff --git a/sql/sigs/pgrouting--2.6.1.sig b/sql/sigs/pgrouting--2.6.1.sig deleted file mode 100644 index 8bb6ca0ee6a..00000000000 --- a/sql/sigs/pgrouting--2.6.1.sig +++ /dev/null @@ -1,191 +0,0 @@ -#VERSION pgrouting 2.6.1 -#TYPES -pgr_costresult -pgr_costresult3 -pgr_geomresult -#FUNCTIONS -pgr_alphashape(text,double precision) -pgr_analyzegraph(text,double precision,text,text,text,text,text) -pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) -pgr_apspjohnson(text) -pgr_apspwarshall(text,boolean,boolean) -_pgr_array_reverse(anyarray) -pgr_articulationpoints(text) -pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) -_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) -pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,integer,integer,boolean,boolean) -pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) -_pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) -pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,bigint) -pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) -pgr_bdastar(text,integer,integer,boolean,boolean) -pgr_bddijkstracostmatrix(text,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,bigint,boolean) -pgr_bddijkstracost(text,bigint,anyarray,boolean) -pgr_bddijkstracost(text,bigint,bigint,boolean) -pgr_bddijkstra(text,anyarray,anyarray,boolean) -_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) -pgr_bddijkstra(text,anyarray,bigint,boolean) -pgr_bddijkstra(text,bigint,anyarray,boolean) -pgr_bddijkstra(text,bigint,bigint) -pgr_bddijkstra(text,bigint,bigint,boolean) -pgr_bddijkstra(text,integer,integer,boolean,boolean) -pgr_biconnectedcomponents(text) -pgr_boykovkolmogorov(text,anyarray,anyarray) -pgr_boykovkolmogorov(text,anyarray,bigint) -pgr_boykovkolmogorov(text,bigint,anyarray) -pgr_boykovkolmogorov(text,bigint,bigint) -pgr_bridges(text) -_pgr_checkverttab(text,text[],integer,text) -pgr_connectedcomponents(text) -pgr_contractgraph(text,bigint[],integer,bigint[],boolean) -_pgr_createindex(text,text,text,integer,text) -_pgr_createindex(text,text,text,text,integer,text) -pgr_createtopology(text,double precision,text,text,text,text,text,boolean) -pgr_createverticestable(text,text,text,text,text) -pgr_dijkstracostmatrix(text,anyarray,boolean) -pgr_dijkstracost(text,anyarray,anyarray,boolean) -pgr_dijkstracost(text,anyarray,bigint,boolean) -pgr_dijkstracost(text,bigint,anyarray,boolean) -pgr_dijkstracost(text,bigint,bigint,boolean) -pgr_dijkstra(text,anyarray,anyarray,boolean) -_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean) -pgr_dijkstra(text,anyarray,bigint,boolean) -pgr_dijkstra(text,bigint,anyarray,boolean) -pgr_dijkstra(text,bigint,bigint) -pgr_dijkstra(text,bigint,bigint,boolean) -pgr_dijkstra(text,integer,integer,boolean,boolean) -pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,bigint,double precision,boolean) -pgr_drivingdistance(text,bigint,double precision,boolean,boolean) -pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,bigint,boolean) -pgr_edgedisjointpaths(text,bigint,anyarray,boolean) -pgr_edgedisjointpaths(text,bigint,bigint,boolean) -pgr_edmondskarp(text,anyarray,anyarray) -pgr_edmondskarp(text,anyarray,bigint) -pgr_edmondskarp(text,bigint,anyarray) -pgr_edmondskarp(text,bigint,bigint) -_pgr_endpoint(geometry) -pgr_endpoint(geometry) -pgr_euclediantsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_flipedges(geometry[]) -pgr_floydwarshall(text,boolean) -pgr_getcolumnname(text,text) -_pgr_getcolumnname(text,text,integer,text) -_pgr_getcolumnname(text,text,text,integer,text) -_pgr_getcolumntype(text,text,integer,text) -_pgr_getcolumntype(text,text,text,integer,text) -_pgr_get_statement(text) -pgr_gettablename(text) -_pgr_gettablename(text,integer,text) -_pgr_gsoc_vrppdtw(text,integer,double precision,double precision,integer) -pgr_gsoc_vrppdtw(text,integer,integer) -pgr_iscolumnindexed(text,text) -_pgr_iscolumnindexed(text,text,integer,text) -_pgr_iscolumnindexed(text,text,text,integer,text) -_pgr_iscolumnintable(text,text) -pgr_iscolumnintable(text,text) -pgr_johnson(text,boolean) -pgr_kdijkstracost(text,integer,integer[],boolean,boolean) -pgr_kdijkstrapath(text,integer,integer[],boolean,boolean) -_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -pgr_ksp(text,integer,integer,integer,boolean) -pgr_labelgraph(text,text,text,text,text,text) -pgr_linegraphfull(text) -pgr_linegraph(text,boolean) -_pgr_makedistancematrix(text) -pgr_maxcardinalitymatch(text,boolean) -pgr_maxflowboykovkolmogorov(text,anyarray,anyarray) -pgr_maxflowboykovkolmogorov(text,anyarray,bigint) -pgr_maxflowboykovkolmogorov(text,bigint,anyarray) -pgr_maxflowboykovkolmogorov(text,bigint,bigint) -pgr_maxflowedmondskarp(text,anyarray,anyarray) -pgr_maxflowedmondskarp(text,anyarray,bigint) -pgr_maxflowedmondskarp(text,bigint,anyarray) -pgr_maxflowedmondskarp(text,bigint,bigint) -pgr_maxflowpushrelabel(text,anyarray,anyarray) -pgr_maxflowpushrelabel(text,anyarray,bigint) -pgr_maxflowpushrelabel(text,bigint,anyarray) -pgr_maxflowpushrelabel(text,bigint,bigint) -pgr_maxflow(text,anyarray,anyarray) -_pgr_maxflow(text,anyarray,anyarray,integer,boolean) -pgr_maxflow(text,anyarray,bigint) -pgr_maxflow(text,bigint,anyarray) -pgr_maxflow(text,bigint,bigint) -pgr_maximumcardinalitymatching(text,boolean) -_pgr_msg(integer,text,text) -pgr_nodenetwork(text,double precision,text,text,text,text,boolean) -_pgr_onerror(boolean,integer,text,text,text,text) -_pgr_parameter_check(text,text,boolean) -_pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -_pgr_pickdeliver(text,text,text,double precision,integer,integer) -pgr_pointsaspolygon(character varying,double precision) -pgr_pointstodmatrix(geometry[],integer) -pgr_pointstovids(geometry[],text,double precision) -pgr_pointtoedgenode(text,geometry,double precision) -_pgr_pointtoid(geometry,double precision,text,integer) -pgr_pushrelabel(text,anyarray,anyarray) -pgr_pushrelabel(text,anyarray,bigint) -pgr_pushrelabel(text,bigint,anyarray) -pgr_pushrelabel(text,bigint,bigint) -_pgr_quote_ident(text) -pgr_quote_ident(text) -_pgr_startpoint(geometry) -pgr_startpoint(geometry) -pgr_strongcomponents(text) -pgr_texttopoints(text,integer) -_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,integer,boolean,boolean,text) -_pgr_trsp(text,text,anyarray,anyarray,boolean) -_pgr_trsp(text,text,anyarray,bigint,boolean) -_pgr_trsp(text,text,bigint,anyarray,boolean) -_pgr_trsp(text,text,bigint,bigint,boolean) -pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) -pgr_trspviavertices(text,anyarray,boolean,boolean,text) -_pgr_trspviavertices(text,integer[],boolean,boolean,text) -pgr_tsp(double precision[],integer,integer) -pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tsp(text,integer,integer) -_pgr_unnest_matrix(double precision[]) -pgr_version() -_pgr_versionless(text,text) -pgr_versionless(text,text) -pgr_vidstodmatrix(integer[],geometry[],text,double precision) -pgr_vidstodmatrix(text,integer[],boolean,boolean,boolean) -_pgr_vrponedepot(text,text,text,integer) -pgr_vrponedepot(text,text,text,integer) -pgr_withpointscostmatrix(text,text,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,bigint,boolean,character) -pgr_withpointscost(text,text,bigint,anyarray,boolean,character) -pgr_withpointscost(text,text,bigint,bigint,boolean,character) -pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) -pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) -_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,boolean) -pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) -pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) -pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) -_pgr_withpointsvia(text,bigint[],double precision[],boolean) -_trsp(text,text,anyarray,anyarray,boolean) diff --git a/sql/sigs/pgrouting--2.6.2.sig b/sql/sigs/pgrouting--2.6.2.sig deleted file mode 100644 index db2736e34ae..00000000000 --- a/sql/sigs/pgrouting--2.6.2.sig +++ /dev/null @@ -1,191 +0,0 @@ -#VERSION pgrouting 2.6.2 -#TYPES -pgr_costresult -pgr_costresult3 -pgr_geomresult -#FUNCTIONS -pgr_alphashape(text,double precision) -pgr_analyzegraph(text,double precision,text,text,text,text,text) -pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) -pgr_apspjohnson(text) -pgr_apspwarshall(text,boolean,boolean) -_pgr_array_reverse(anyarray) -pgr_articulationpoints(text) -pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) -_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) -pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,integer,integer,boolean,boolean) -pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) -_pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) -pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,bigint) -pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) -pgr_bdastar(text,integer,integer,boolean,boolean) -pgr_bddijkstracostmatrix(text,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,bigint,boolean) -pgr_bddijkstracost(text,bigint,anyarray,boolean) -pgr_bddijkstracost(text,bigint,bigint,boolean) -pgr_bddijkstra(text,anyarray,anyarray,boolean) -_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) -pgr_bddijkstra(text,anyarray,bigint,boolean) -pgr_bddijkstra(text,bigint,anyarray,boolean) -pgr_bddijkstra(text,bigint,bigint) -pgr_bddijkstra(text,bigint,bigint,boolean) -pgr_bddijkstra(text,integer,integer,boolean,boolean) -pgr_biconnectedcomponents(text) -pgr_boykovkolmogorov(text,anyarray,anyarray) -pgr_boykovkolmogorov(text,anyarray,bigint) -pgr_boykovkolmogorov(text,bigint,anyarray) -pgr_boykovkolmogorov(text,bigint,bigint) -pgr_bridges(text) -_pgr_checkverttab(text,text[],integer,text) -pgr_connectedcomponents(text) -pgr_contractgraph(text,bigint[],integer,bigint[],boolean) -_pgr_createindex(text,text,text,integer,text) -_pgr_createindex(text,text,text,text,integer,text) -pgr_createtopology(text,double precision,text,text,text,text,text,boolean) -pgr_createverticestable(text,text,text,text,text) -pgr_dijkstracostmatrix(text,anyarray,boolean) -pgr_dijkstracost(text,anyarray,anyarray,boolean) -pgr_dijkstracost(text,anyarray,bigint,boolean) -pgr_dijkstracost(text,bigint,anyarray,boolean) -pgr_dijkstracost(text,bigint,bigint,boolean) -pgr_dijkstra(text,anyarray,anyarray,boolean) -_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean) -pgr_dijkstra(text,anyarray,bigint,boolean) -pgr_dijkstra(text,bigint,anyarray,boolean) -pgr_dijkstra(text,bigint,bigint) -pgr_dijkstra(text,bigint,bigint,boolean) -pgr_dijkstra(text,integer,integer,boolean,boolean) -pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,bigint,double precision,boolean) -pgr_drivingdistance(text,bigint,double precision,boolean,boolean) -pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,bigint,boolean) -pgr_edgedisjointpaths(text,bigint,anyarray,boolean) -pgr_edgedisjointpaths(text,bigint,bigint,boolean) -pgr_edmondskarp(text,anyarray,anyarray) -pgr_edmondskarp(text,anyarray,bigint) -pgr_edmondskarp(text,bigint,anyarray) -pgr_edmondskarp(text,bigint,bigint) -_pgr_endpoint(geometry) -pgr_endpoint(geometry) -pgr_euclediantsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_flipedges(geometry[]) -pgr_floydwarshall(text,boolean) -pgr_getcolumnname(text,text) -_pgr_getcolumnname(text,text,integer,text) -_pgr_getcolumnname(text,text,text,integer,text) -_pgr_getcolumntype(text,text,integer,text) -_pgr_getcolumntype(text,text,text,integer,text) -_pgr_get_statement(text) -pgr_gettablename(text) -_pgr_gettablename(text,integer,text) -_pgr_gsoc_vrppdtw(text,integer,double precision,double precision,integer) -pgr_gsoc_vrppdtw(text,integer,integer) -pgr_iscolumnindexed(text,text) -_pgr_iscolumnindexed(text,text,integer,text) -_pgr_iscolumnindexed(text,text,text,integer,text) -_pgr_iscolumnintable(text,text) -pgr_iscolumnintable(text,text) -pgr_johnson(text,boolean) -pgr_kdijkstracost(text,integer,integer[],boolean,boolean) -pgr_kdijkstrapath(text,integer,integer[],boolean,boolean) -_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -pgr_ksp(text,integer,integer,integer,boolean) -pgr_labelgraph(text,text,text,text,text,text) -pgr_linegraphfull(text) -pgr_linegraph(text,boolean) -_pgr_makedistancematrix(text) -pgr_maxcardinalitymatch(text,boolean) -pgr_maxflowboykovkolmogorov(text,anyarray,anyarray) -pgr_maxflowboykovkolmogorov(text,anyarray,bigint) -pgr_maxflowboykovkolmogorov(text,bigint,anyarray) -pgr_maxflowboykovkolmogorov(text,bigint,bigint) -pgr_maxflowedmondskarp(text,anyarray,anyarray) -pgr_maxflowedmondskarp(text,anyarray,bigint) -pgr_maxflowedmondskarp(text,bigint,anyarray) -pgr_maxflowedmondskarp(text,bigint,bigint) -pgr_maxflowpushrelabel(text,anyarray,anyarray) -pgr_maxflowpushrelabel(text,anyarray,bigint) -pgr_maxflowpushrelabel(text,bigint,anyarray) -pgr_maxflowpushrelabel(text,bigint,bigint) -pgr_maxflow(text,anyarray,anyarray) -_pgr_maxflow(text,anyarray,anyarray,integer,boolean) -pgr_maxflow(text,anyarray,bigint) -pgr_maxflow(text,bigint,anyarray) -pgr_maxflow(text,bigint,bigint) -pgr_maximumcardinalitymatching(text,boolean) -_pgr_msg(integer,text,text) -pgr_nodenetwork(text,double precision,text,text,text,text,boolean) -_pgr_onerror(boolean,integer,text,text,text,text) -_pgr_parameter_check(text,text,boolean) -_pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -_pgr_pickdeliver(text,text,text,double precision,integer,integer) -pgr_pointsaspolygon(character varying,double precision) -pgr_pointstodmatrix(geometry[],integer) -pgr_pointstovids(geometry[],text,double precision) -pgr_pointtoedgenode(text,geometry,double precision) -_pgr_pointtoid(geometry,double precision,text,integer) -pgr_pushrelabel(text,anyarray,anyarray) -pgr_pushrelabel(text,anyarray,bigint) -pgr_pushrelabel(text,bigint,anyarray) -pgr_pushrelabel(text,bigint,bigint) -_pgr_quote_ident(text) -pgr_quote_ident(text) -_pgr_startpoint(geometry) -pgr_startpoint(geometry) -pgr_strongcomponents(text) -pgr_texttopoints(text,integer) -_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,integer,boolean,boolean,text) -_pgr_trsp(text,text,anyarray,anyarray,boolean) -_pgr_trsp(text,text,anyarray,bigint,boolean) -_pgr_trsp(text,text,bigint,anyarray,boolean) -_pgr_trsp(text,text,bigint,bigint,boolean) -pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) -pgr_trspviavertices(text,anyarray,boolean,boolean,text) -_pgr_trspviavertices(text,integer[],boolean,boolean,text) -pgr_tsp(double precision[],integer,integer) -pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tsp(text,integer,integer) -_pgr_unnest_matrix(double precision[]) -pgr_version() -_pgr_versionless(text,text) -pgr_versionless(text,text) -pgr_vidstodmatrix(integer[],geometry[],text,double precision) -pgr_vidstodmatrix(text,integer[],boolean,boolean,boolean) -_pgr_vrponedepot(text,text,text,integer) -pgr_vrponedepot(text,text,text,integer) -pgr_withpointscostmatrix(text,text,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,bigint,boolean,character) -pgr_withpointscost(text,text,bigint,anyarray,boolean,character) -pgr_withpointscost(text,text,bigint,bigint,boolean,character) -pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) -pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) -_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,boolean) -pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) -pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) -pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) -_pgr_withpointsvia(text,bigint[],double precision[],boolean) -_trsp(text,text,anyarray,anyarray,boolean) diff --git a/sql/sigs/pgrouting--2.6.3.sig b/sql/sigs/pgrouting--2.6.3.sig deleted file mode 100644 index 069e6eb86ea..00000000000 --- a/sql/sigs/pgrouting--2.6.3.sig +++ /dev/null @@ -1,191 +0,0 @@ -#VERSION pgrouting 2.6.3 -#TYPES -pgr_costresult -pgr_costresult3 -pgr_geomresult -#FUNCTIONS -pgr_alphashape(text,double precision) -pgr_analyzegraph(text,double precision,text,text,text,text,text) -pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) -pgr_apspjohnson(text) -pgr_apspwarshall(text,boolean,boolean) -_pgr_array_reverse(anyarray) -pgr_articulationpoints(text) -pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) -_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) -pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,integer,integer,boolean,boolean) -pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) -_pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) -pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,bigint) -pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) -pgr_bdastar(text,integer,integer,boolean,boolean) -pgr_bddijkstracostmatrix(text,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,bigint,boolean) -pgr_bddijkstracost(text,bigint,anyarray,boolean) -pgr_bddijkstracost(text,bigint,bigint,boolean) -pgr_bddijkstra(text,anyarray,anyarray,boolean) -_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) -pgr_bddijkstra(text,anyarray,bigint,boolean) -pgr_bddijkstra(text,bigint,anyarray,boolean) -pgr_bddijkstra(text,bigint,bigint) -pgr_bddijkstra(text,bigint,bigint,boolean) -pgr_bddijkstra(text,integer,integer,boolean,boolean) -pgr_biconnectedcomponents(text) -pgr_boykovkolmogorov(text,anyarray,anyarray) -pgr_boykovkolmogorov(text,anyarray,bigint) -pgr_boykovkolmogorov(text,bigint,anyarray) -pgr_boykovkolmogorov(text,bigint,bigint) -pgr_bridges(text) -_pgr_checkverttab(text,text[],integer,text) -pgr_connectedcomponents(text) -pgr_contractgraph(text,bigint[],integer,bigint[],boolean) -_pgr_createindex(text,text,text,integer,text) -_pgr_createindex(text,text,text,text,integer,text) -pgr_createtopology(text,double precision,text,text,text,text,text,boolean) -pgr_createverticestable(text,text,text,text,text) -pgr_dijkstracostmatrix(text,anyarray,boolean) -pgr_dijkstracost(text,anyarray,anyarray,boolean) -pgr_dijkstracost(text,anyarray,bigint,boolean) -pgr_dijkstracost(text,bigint,anyarray,boolean) -pgr_dijkstracost(text,bigint,bigint,boolean) -pgr_dijkstra(text,anyarray,anyarray,boolean) -_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean) -pgr_dijkstra(text,anyarray,bigint,boolean) -pgr_dijkstra(text,bigint,anyarray,boolean) -pgr_dijkstra(text,bigint,bigint) -pgr_dijkstra(text,bigint,bigint,boolean) -pgr_dijkstra(text,integer,integer,boolean,boolean) -pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,bigint,double precision,boolean) -pgr_drivingdistance(text,bigint,double precision,boolean,boolean) -pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,bigint,boolean) -pgr_edgedisjointpaths(text,bigint,anyarray,boolean) -pgr_edgedisjointpaths(text,bigint,bigint,boolean) -pgr_edmondskarp(text,anyarray,anyarray) -pgr_edmondskarp(text,anyarray,bigint) -pgr_edmondskarp(text,bigint,anyarray) -pgr_edmondskarp(text,bigint,bigint) -_pgr_endpoint(geometry) -pgr_endpoint(geometry) -pgr_euclediantsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_flipedges(geometry[]) -pgr_floydwarshall(text,boolean) -pgr_getcolumnname(text,text) -_pgr_getcolumnname(text,text,integer,text) -_pgr_getcolumnname(text,text,text,integer,text) -_pgr_getcolumntype(text,text,integer,text) -_pgr_getcolumntype(text,text,text,integer,text) -_pgr_get_statement(text) -pgr_gettablename(text) -_pgr_gettablename(text,integer,text) -_pgr_gsoc_vrppdtw(text,integer,double precision,double precision,integer) -pgr_gsoc_vrppdtw(text,integer,integer) -pgr_iscolumnindexed(text,text) -_pgr_iscolumnindexed(text,text,integer,text) -_pgr_iscolumnindexed(text,text,text,integer,text) -_pgr_iscolumnintable(text,text) -pgr_iscolumnintable(text,text) -pgr_johnson(text,boolean) -pgr_kdijkstracost(text,integer,integer[],boolean,boolean) -pgr_kdijkstrapath(text,integer,integer[],boolean,boolean) -_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -pgr_ksp(text,integer,integer,integer,boolean) -pgr_labelgraph(text,text,text,text,text,text) -pgr_linegraphfull(text) -pgr_linegraph(text,boolean) -_pgr_makedistancematrix(text) -pgr_maxcardinalitymatch(text,boolean) -pgr_maxflowboykovkolmogorov(text,anyarray,anyarray) -pgr_maxflowboykovkolmogorov(text,anyarray,bigint) -pgr_maxflowboykovkolmogorov(text,bigint,anyarray) -pgr_maxflowboykovkolmogorov(text,bigint,bigint) -pgr_maxflowedmondskarp(text,anyarray,anyarray) -pgr_maxflowedmondskarp(text,anyarray,bigint) -pgr_maxflowedmondskarp(text,bigint,anyarray) -pgr_maxflowedmondskarp(text,bigint,bigint) -pgr_maxflowpushrelabel(text,anyarray,anyarray) -pgr_maxflowpushrelabel(text,anyarray,bigint) -pgr_maxflowpushrelabel(text,bigint,anyarray) -pgr_maxflowpushrelabel(text,bigint,bigint) -pgr_maxflow(text,anyarray,anyarray) -_pgr_maxflow(text,anyarray,anyarray,integer,boolean) -pgr_maxflow(text,anyarray,bigint) -pgr_maxflow(text,bigint,anyarray) -pgr_maxflow(text,bigint,bigint) -pgr_maximumcardinalitymatching(text,boolean) -_pgr_msg(integer,text,text) -pgr_nodenetwork(text,double precision,text,text,text,text,boolean) -_pgr_onerror(boolean,integer,text,text,text,text) -_pgr_parameter_check(text,text,boolean) -_pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -_pgr_pickdeliver(text,text,text,double precision,integer,integer) -pgr_pointsaspolygon(character varying,double precision) -pgr_pointstodmatrix(geometry[],integer) -pgr_pointstovids(geometry[],text,double precision) -pgr_pointtoedgenode(text,geometry,double precision) -_pgr_pointtoid(geometry,double precision,text,integer) -pgr_pushrelabel(text,anyarray,anyarray) -pgr_pushrelabel(text,anyarray,bigint) -pgr_pushrelabel(text,bigint,anyarray) -pgr_pushrelabel(text,bigint,bigint) -_pgr_quote_ident(text) -pgr_quote_ident(text) -_pgr_startpoint(geometry) -pgr_startpoint(geometry) -pgr_strongcomponents(text) -pgr_texttopoints(text,integer) -_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,integer,boolean,boolean,text) -_pgr_trsp(text,text,anyarray,anyarray,boolean) -_pgr_trsp(text,text,anyarray,bigint,boolean) -_pgr_trsp(text,text,bigint,anyarray,boolean) -_pgr_trsp(text,text,bigint,bigint,boolean) -pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) -pgr_trspviavertices(text,anyarray,boolean,boolean,text) -_pgr_trspviavertices(text,integer[],boolean,boolean,text) -pgr_tsp(double precision[],integer,integer) -pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tsp(text,integer,integer) -_pgr_unnest_matrix(double precision[]) -pgr_version() -_pgr_versionless(text,text) -pgr_versionless(text,text) -pgr_vidstodmatrix(integer[],geometry[],text,double precision) -pgr_vidstodmatrix(text,integer[],boolean,boolean,boolean) -_pgr_vrponedepot(text,text,text,integer) -pgr_vrponedepot(text,text,text,integer) -pgr_withpointscostmatrix(text,text,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,bigint,boolean,character) -pgr_withpointscost(text,text,bigint,anyarray,boolean,character) -pgr_withpointscost(text,text,bigint,bigint,boolean,character) -pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) -pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) -_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,boolean) -pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) -pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) -pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) -_pgr_withpointsvia(text,bigint[],double precision[],boolean) -_trsp(text,text,anyarray,anyarray,boolean) diff --git a/sql/sigs/pgrouting--2.6.0.sig b/sql/sigs/pgrouting--2.6.sig similarity index 99% rename from sql/sigs/pgrouting--2.6.0.sig rename to sql/sigs/pgrouting--2.6.sig index ef75f6cb4c7..01a93d3da61 100644 --- a/sql/sigs/pgrouting--2.6.0.sig +++ b/sql/sigs/pgrouting--2.6.sig @@ -1,9 +1,3 @@ -#VERSION pgrouting 2.6.0 -#TYPES -pgr_costresult -pgr_costresult3 -pgr_geomresult -#FUNCTIONS pgr_alphashape(text,double precision) pgr_analyzegraph(text,double precision,text,text,text,text,text) pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) diff --git a/sql/sigs/pgrouting--3.0.1.sig b/sql/sigs/pgrouting--3.0.1.sig deleted file mode 100644 index 30b98511373..00000000000 --- a/sql/sigs/pgrouting--3.0.1.sig +++ /dev/null @@ -1,236 +0,0 @@ -#VERSION pgrouting 3.0.1 -#TYPES -#FUNCTIONS -pgr_alphashape(geometry,double precision) -_pgr_alphashape(text,double precision) -pgr_analyzegraph(text,double precision,text,text,text,text,text) -pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) -_pgr_array_reverse(anyarray) -_pgr_articulationpoints(text) -pgr_articulationpoints(text) -pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) -_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) -pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) -_pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) -pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) -pgr_bddijkstracostmatrix(text,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,bigint,boolean) -pgr_bddijkstracost(text,bigint,anyarray,boolean) -pgr_bddijkstracost(text,bigint,bigint,boolean) -pgr_bddijkstra(text,anyarray,anyarray,boolean) -_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) -pgr_bddijkstra(text,anyarray,bigint,boolean) -pgr_bddijkstra(text,bigint,anyarray,boolean) -pgr_bddijkstra(text,bigint,bigint,boolean) -pgr_bellmanford(text,anyarray,anyarray,boolean) -_pgr_bellmanford(text,anyarray,anyarray,boolean,boolean) -pgr_bellmanford(text,anyarray,bigint,boolean) -pgr_bellmanford(text,bigint,anyarray,boolean) -pgr_bellmanford(text,bigint,bigint,boolean) -_pgr_biconnectedcomponents(text) -pgr_biconnectedcomponents(text) -_pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) -pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) -_pgr_boost_version() -pgr_boykovkolmogorov(text,anyarray,anyarray) -pgr_boykovkolmogorov(text,anyarray,bigint) -pgr_boykovkolmogorov(text,bigint,anyarray) -pgr_boykovkolmogorov(text,bigint,bigint) -_pgr_breadthfirstsearch(text,anyarray,bigint,boolean) -pgr_breadthfirstsearch(text,anyarray,bigint,boolean) -pgr_breadthfirstsearch(text,bigint,bigint,boolean) -_pgr_bridges(text) -pgr_bridges(text) -_pgr_build_type() -_pgr_checkverttab(text,text[],integer,text) -pgr_chinesepostmancost(text) -pgr_chinesepostman(text) -_pgr_chinesepostman(text,boolean) -_pgr_compilation_date() -_pgr_compiler_version() -_pgr_connectedcomponents(text) -pgr_connectedcomponents(text) -_pgr_contraction(text,bigint[],integer,bigint[],boolean) -pgr_contraction(text,bigint[],integer,bigint[],boolean) -_pgr_createindex(text,text,text,integer,text) -_pgr_createindex(text,text,text,text,integer,text) -pgr_createtopology(text,double precision,text,text,text,text,text,boolean) -pgr_createverticestable(text,text,text,text,text) -pgr_dagshortestpath(text,anyarray,anyarray) -_pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) -pgr_dagshortestpath(text,anyarray,bigint) -pgr_dagshortestpath(text,bigint,anyarray) -pgr_dagshortestpath(text,bigint,bigint) -pgr_dijkstracostmatrix(text,anyarray,boolean) -pgr_dijkstracost(text,anyarray,anyarray,boolean) -pgr_dijkstracost(text,anyarray,bigint,boolean) -pgr_dijkstracost(text,bigint,anyarray,boolean) -pgr_dijkstracost(text,bigint,bigint,boolean) -_pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean) -_pgr_dijkstranear(text,anyarray,bigint,bigint,boolean) -_pgr_dijkstranear(text,bigint,anyarray,bigint,boolean) -pgr_dijkstra(text,anyarray,anyarray,boolean) -_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint) -pgr_dijkstra(text,anyarray,bigint,boolean) -pgr_dijkstra(text,bigint,anyarray,boolean) -pgr_dijkstra(text,bigint,bigint,boolean) -_pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -_pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,bigint,double precision,boolean) -_pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,bigint,boolean) -pgr_edgedisjointpaths(text,bigint,anyarray,boolean) -pgr_edgedisjointpaths(text,bigint,bigint,boolean) -pgr_edmondskarp(text,anyarray,anyarray) -pgr_edmondskarp(text,anyarray,bigint) -pgr_edmondskarp(text,bigint,anyarray) -pgr_edmondskarp(text,bigint,bigint) -_pgr_edwardmoore(text,anyarray,anyarray,boolean) -pgr_edwardmoore(text,anyarray,anyarray,boolean) -pgr_edwardmoore(text,anyarray,bigint,boolean) -pgr_edwardmoore(text,bigint,anyarray,boolean) -pgr_edwardmoore(text,bigint,bigint,boolean) -_pgr_endpoint(geometry) -pgr_extractvertices(text,boolean) -_pgr_floydwarshall(text,boolean) -pgr_floydwarshall(text,boolean) -pgr_full_version() -_pgr_getcolumnname(text,text,integer,text) -_pgr_getcolumnname(text,text,text,integer,text) -_pgr_getcolumntype(text,text,integer,text) -_pgr_getcolumntype(text,text,text,integer,text) -_pgr_get_statement(text) -_pgr_gettablename(text,integer,text) -_pgr_git_hash() -_pgr_iscolumnindexed(text,text,integer,text) -_pgr_iscolumnindexed(text,text,text,integer,text) -_pgr_iscolumnintable(text,text) -_pgr_johnson(text,boolean) -pgr_johnson(text,boolean) -pgr_kruskalbfs(text,anyarray,bigint) -pgr_kruskalbfs(text,bigint,bigint) -pgr_kruskaldd(text,anyarray,double precision) -pgr_kruskaldd(text,anyarray,numeric) -pgr_kruskaldd(text,bigint,double precision) -pgr_kruskaldd(text,bigint,numeric) -pgr_kruskaldfs(text,anyarray,bigint) -pgr_kruskaldfs(text,bigint,bigint) -pgr_kruskal(text) -_pgr_kruskal(text,anyarray,text,bigint,double precision) -_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -_pgr_lib_version() -_pgr_linegraphfull(text) -pgr_linegraphfull(text) -_pgr_linegraph(text,boolean) -pgr_linegraph(text,boolean) -_pgr_maxcardinalitymatch(text,boolean) -pgr_maxcardinalitymatch(text,boolean) -pgr_maxflowmincost_cost(text,anyarray,anyarray) -pgr_maxflowmincost_cost(text,anyarray,bigint) -pgr_maxflowmincost_cost(text,bigint,anyarray) -pgr_maxflowmincost_cost(text,bigint,bigint) -pgr_maxflowmincost(text,anyarray,anyarray) -_pgr_maxflowmincost(text,anyarray,anyarray,boolean) -pgr_maxflowmincost(text,anyarray,bigint) -pgr_maxflowmincost(text,bigint,anyarray) -pgr_maxflowmincost(text,bigint,bigint) -pgr_maxflow(text,anyarray,anyarray) -_pgr_maxflow(text,anyarray,anyarray,integer,boolean) -pgr_maxflow(text,anyarray,bigint) -pgr_maxflow(text,bigint,anyarray) -pgr_maxflow(text,bigint,bigint) -_pgr_msg(integer,text,text) -pgr_nodenetwork(text,double precision,text,text,text,text,boolean) -_pgr_onerror(boolean,integer,text,text,text,text) -_pgr_operating_system() -_pgr_parameter_check(text,text,boolean) -_pgr_pgsql_version() -_pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -_pgr_pickdeliver(text,text,text,double precision,integer,integer) -pgr_pickdeliver(text,text,text,double precision,integer,integer) -_pgr_pointtoid(geometry,double precision,text,integer) -pgr_primbfs(text,anyarray,bigint) -pgr_primbfs(text,bigint,bigint) -pgr_primdd(text,anyarray,double precision) -pgr_primdd(text,anyarray,numeric) -pgr_primdd(text,bigint,double precision) -pgr_primdd(text,bigint,numeric) -pgr_primdfs(text,anyarray,bigint) -pgr_primdfs(text,bigint,bigint) -pgr_prim(text) -_pgr_prim(text,anyarray,text,bigint,double precision) -pgr_pushrelabel(text,anyarray,anyarray) -pgr_pushrelabel(text,anyarray,bigint) -pgr_pushrelabel(text,bigint,anyarray) -pgr_pushrelabel(text,bigint,bigint) -_pgr_quote_ident(text) -_pgr_startpoint(geometry) -_pgr_stoerwagner(text) -pgr_stoerwagner(text) -_pgr_strongcomponents(text) -pgr_strongcomponents(text) -_pgr_topologicalsort(text) -pgr_topologicalsort(text) -_pgr_transitiveclosure(text) -pgr_transitiveclosure(text) -_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,integer,boolean,boolean,text) -_pgr_trsp(text,text,anyarray,anyarray,boolean) -_pgr_trsp(text,text,anyarray,bigint,boolean) -_pgr_trsp(text,text,bigint,anyarray,boolean) -_pgr_trsp(text,text,bigint,bigint,boolean) -pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) -pgr_trspviavertices(text,anyarray,boolean,boolean,text) -_pgr_trspviavertices(text,integer[],boolean,boolean,text) -_pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -_pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -_pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) -pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) -pgr_version() -_pgr_versionless(text,text) -_pgr_vrponedepot(text,text,text,integer) -pgr_vrponedepot(text,text,text,integer) -pgr_withpointscostmatrix(text,text,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,bigint,boolean,character) -pgr_withpointscost(text,text,bigint,anyarray,boolean,character) -pgr_withpointscost(text,text,bigint,bigint,boolean,character) -_pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) -_pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) -_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,boolean) -pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) -pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) -pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) -_pgr_withpointsvia(text,bigint[],double precision[],boolean) -_trsp(text,text,anyarray,anyarray,boolean) diff --git a/sql/sigs/pgrouting--3.0.2.sig b/sql/sigs/pgrouting--3.0.2.sig deleted file mode 100644 index 420899e8a44..00000000000 --- a/sql/sigs/pgrouting--3.0.2.sig +++ /dev/null @@ -1,236 +0,0 @@ -#VERSION pgrouting 3.0.2 -#TYPES -#FUNCTIONS -pgr_alphashape(geometry,double precision) -_pgr_alphashape(text,double precision) -pgr_analyzegraph(text,double precision,text,text,text,text,text) -pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) -_pgr_array_reverse(anyarray) -_pgr_articulationpoints(text) -pgr_articulationpoints(text) -pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) -_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) -pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) -_pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) -pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) -pgr_bddijkstracostmatrix(text,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,bigint,boolean) -pgr_bddijkstracost(text,bigint,anyarray,boolean) -pgr_bddijkstracost(text,bigint,bigint,boolean) -pgr_bddijkstra(text,anyarray,anyarray,boolean) -_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) -pgr_bddijkstra(text,anyarray,bigint,boolean) -pgr_bddijkstra(text,bigint,anyarray,boolean) -pgr_bddijkstra(text,bigint,bigint,boolean) -pgr_bellmanford(text,anyarray,anyarray,boolean) -_pgr_bellmanford(text,anyarray,anyarray,boolean,boolean) -pgr_bellmanford(text,anyarray,bigint,boolean) -pgr_bellmanford(text,bigint,anyarray,boolean) -pgr_bellmanford(text,bigint,bigint,boolean) -_pgr_biconnectedcomponents(text) -pgr_biconnectedcomponents(text) -_pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) -pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) -_pgr_boost_version() -pgr_boykovkolmogorov(text,anyarray,anyarray) -pgr_boykovkolmogorov(text,anyarray,bigint) -pgr_boykovkolmogorov(text,bigint,anyarray) -pgr_boykovkolmogorov(text,bigint,bigint) -_pgr_breadthfirstsearch(text,anyarray,bigint,boolean) -pgr_breadthfirstsearch(text,anyarray,bigint,boolean) -pgr_breadthfirstsearch(text,bigint,bigint,boolean) -_pgr_bridges(text) -pgr_bridges(text) -_pgr_build_type() -_pgr_checkverttab(text,text[],integer,text) -pgr_chinesepostmancost(text) -pgr_chinesepostman(text) -_pgr_chinesepostman(text,boolean) -_pgr_compilation_date() -_pgr_compiler_version() -_pgr_connectedcomponents(text) -pgr_connectedcomponents(text) -_pgr_contraction(text,bigint[],integer,bigint[],boolean) -pgr_contraction(text,bigint[],integer,bigint[],boolean) -_pgr_createindex(text,text,text,integer,text) -_pgr_createindex(text,text,text,text,integer,text) -pgr_createtopology(text,double precision,text,text,text,text,text,boolean) -pgr_createverticestable(text,text,text,text,text) -pgr_dagshortestpath(text,anyarray,anyarray) -_pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) -pgr_dagshortestpath(text,anyarray,bigint) -pgr_dagshortestpath(text,bigint,anyarray) -pgr_dagshortestpath(text,bigint,bigint) -pgr_dijkstracostmatrix(text,anyarray,boolean) -pgr_dijkstracost(text,anyarray,anyarray,boolean) -pgr_dijkstracost(text,anyarray,bigint,boolean) -pgr_dijkstracost(text,bigint,anyarray,boolean) -pgr_dijkstracost(text,bigint,bigint,boolean) -_pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean) -_pgr_dijkstranear(text,anyarray,bigint,bigint,boolean) -_pgr_dijkstranear(text,bigint,anyarray,bigint,boolean) -pgr_dijkstra(text,anyarray,anyarray,boolean) -_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint) -pgr_dijkstra(text,anyarray,bigint,boolean) -pgr_dijkstra(text,bigint,anyarray,boolean) -pgr_dijkstra(text,bigint,bigint,boolean) -_pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -_pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,bigint,double precision,boolean) -_pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,bigint,boolean) -pgr_edgedisjointpaths(text,bigint,anyarray,boolean) -pgr_edgedisjointpaths(text,bigint,bigint,boolean) -pgr_edmondskarp(text,anyarray,anyarray) -pgr_edmondskarp(text,anyarray,bigint) -pgr_edmondskarp(text,bigint,anyarray) -pgr_edmondskarp(text,bigint,bigint) -_pgr_edwardmoore(text,anyarray,anyarray,boolean) -pgr_edwardmoore(text,anyarray,anyarray,boolean) -pgr_edwardmoore(text,anyarray,bigint,boolean) -pgr_edwardmoore(text,bigint,anyarray,boolean) -pgr_edwardmoore(text,bigint,bigint,boolean) -_pgr_endpoint(geometry) -pgr_extractvertices(text,boolean) -_pgr_floydwarshall(text,boolean) -pgr_floydwarshall(text,boolean) -pgr_full_version() -_pgr_getcolumnname(text,text,integer,text) -_pgr_getcolumnname(text,text,text,integer,text) -_pgr_getcolumntype(text,text,integer,text) -_pgr_getcolumntype(text,text,text,integer,text) -_pgr_get_statement(text) -_pgr_gettablename(text,integer,text) -_pgr_git_hash() -_pgr_iscolumnindexed(text,text,integer,text) -_pgr_iscolumnindexed(text,text,text,integer,text) -_pgr_iscolumnintable(text,text) -_pgr_johnson(text,boolean) -pgr_johnson(text,boolean) -pgr_kruskalbfs(text,anyarray,bigint) -pgr_kruskalbfs(text,bigint,bigint) -pgr_kruskaldd(text,anyarray,double precision) -pgr_kruskaldd(text,anyarray,numeric) -pgr_kruskaldd(text,bigint,double precision) -pgr_kruskaldd(text,bigint,numeric) -pgr_kruskaldfs(text,anyarray,bigint) -pgr_kruskaldfs(text,bigint,bigint) -pgr_kruskal(text) -_pgr_kruskal(text,anyarray,text,bigint,double precision) -_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -_pgr_lib_version() -_pgr_linegraphfull(text) -pgr_linegraphfull(text) -_pgr_linegraph(text,boolean) -pgr_linegraph(text,boolean) -_pgr_maxcardinalitymatch(text,boolean) -pgr_maxcardinalitymatch(text,boolean) -pgr_maxflowmincost_cost(text,anyarray,anyarray) -pgr_maxflowmincost_cost(text,anyarray,bigint) -pgr_maxflowmincost_cost(text,bigint,anyarray) -pgr_maxflowmincost_cost(text,bigint,bigint) -pgr_maxflowmincost(text,anyarray,anyarray) -_pgr_maxflowmincost(text,anyarray,anyarray,boolean) -pgr_maxflowmincost(text,anyarray,bigint) -pgr_maxflowmincost(text,bigint,anyarray) -pgr_maxflowmincost(text,bigint,bigint) -pgr_maxflow(text,anyarray,anyarray) -_pgr_maxflow(text,anyarray,anyarray,integer,boolean) -pgr_maxflow(text,anyarray,bigint) -pgr_maxflow(text,bigint,anyarray) -pgr_maxflow(text,bigint,bigint) -_pgr_msg(integer,text,text) -pgr_nodenetwork(text,double precision,text,text,text,text,boolean) -_pgr_onerror(boolean,integer,text,text,text,text) -_pgr_operating_system() -_pgr_parameter_check(text,text,boolean) -_pgr_pgsql_version() -_pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -_pgr_pickdeliver(text,text,text,double precision,integer,integer) -pgr_pickdeliver(text,text,text,double precision,integer,integer) -_pgr_pointtoid(geometry,double precision,text,integer) -pgr_primbfs(text,anyarray,bigint) -pgr_primbfs(text,bigint,bigint) -pgr_primdd(text,anyarray,double precision) -pgr_primdd(text,anyarray,numeric) -pgr_primdd(text,bigint,double precision) -pgr_primdd(text,bigint,numeric) -pgr_primdfs(text,anyarray,bigint) -pgr_primdfs(text,bigint,bigint) -pgr_prim(text) -_pgr_prim(text,anyarray,text,bigint,double precision) -pgr_pushrelabel(text,anyarray,anyarray) -pgr_pushrelabel(text,anyarray,bigint) -pgr_pushrelabel(text,bigint,anyarray) -pgr_pushrelabel(text,bigint,bigint) -_pgr_quote_ident(text) -_pgr_startpoint(geometry) -_pgr_stoerwagner(text) -pgr_stoerwagner(text) -_pgr_strongcomponents(text) -pgr_strongcomponents(text) -_pgr_topologicalsort(text) -pgr_topologicalsort(text) -_pgr_transitiveclosure(text) -pgr_transitiveclosure(text) -_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,integer,boolean,boolean,text) -_pgr_trsp(text,text,anyarray,anyarray,boolean) -_pgr_trsp(text,text,anyarray,bigint,boolean) -_pgr_trsp(text,text,bigint,anyarray,boolean) -_pgr_trsp(text,text,bigint,bigint,boolean) -pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) -pgr_trspviavertices(text,anyarray,boolean,boolean,text) -_pgr_trspviavertices(text,integer[],boolean,boolean,text) -_pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -_pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -_pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) -pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) -pgr_version() -_pgr_versionless(text,text) -_pgr_vrponedepot(text,text,text,integer) -pgr_vrponedepot(text,text,text,integer) -pgr_withpointscostmatrix(text,text,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,bigint,boolean,character) -pgr_withpointscost(text,text,bigint,anyarray,boolean,character) -pgr_withpointscost(text,text,bigint,bigint,boolean,character) -_pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) -_pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) -_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,boolean) -pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) -pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) -pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) -_pgr_withpointsvia(text,bigint[],double precision[],boolean) -_trsp(text,text,anyarray,anyarray,boolean) diff --git a/sql/sigs/pgrouting--3.0.3.sig b/sql/sigs/pgrouting--3.0.3.sig deleted file mode 100644 index 5a8efb01b9c..00000000000 --- a/sql/sigs/pgrouting--3.0.3.sig +++ /dev/null @@ -1,236 +0,0 @@ -#VERSION pgrouting 3.0.3 -#TYPES -#FUNCTIONS -pgr_alphashape(geometry,double precision) -_pgr_alphashape(text,double precision) -pgr_analyzegraph(text,double precision,text,text,text,text,text) -pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) -_pgr_array_reverse(anyarray) -_pgr_articulationpoints(text) -pgr_articulationpoints(text) -pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) -_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) -pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) -_pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) -pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) -pgr_bddijkstracostmatrix(text,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,bigint,boolean) -pgr_bddijkstracost(text,bigint,anyarray,boolean) -pgr_bddijkstracost(text,bigint,bigint,boolean) -pgr_bddijkstra(text,anyarray,anyarray,boolean) -_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) -pgr_bddijkstra(text,anyarray,bigint,boolean) -pgr_bddijkstra(text,bigint,anyarray,boolean) -pgr_bddijkstra(text,bigint,bigint,boolean) -pgr_bellmanford(text,anyarray,anyarray,boolean) -_pgr_bellmanford(text,anyarray,anyarray,boolean,boolean) -pgr_bellmanford(text,anyarray,bigint,boolean) -pgr_bellmanford(text,bigint,anyarray,boolean) -pgr_bellmanford(text,bigint,bigint,boolean) -_pgr_biconnectedcomponents(text) -pgr_biconnectedcomponents(text) -_pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) -pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) -_pgr_boost_version() -pgr_boykovkolmogorov(text,anyarray,anyarray) -pgr_boykovkolmogorov(text,anyarray,bigint) -pgr_boykovkolmogorov(text,bigint,anyarray) -pgr_boykovkolmogorov(text,bigint,bigint) -_pgr_breadthfirstsearch(text,anyarray,bigint,boolean) -pgr_breadthfirstsearch(text,anyarray,bigint,boolean) -pgr_breadthfirstsearch(text,bigint,bigint,boolean) -_pgr_bridges(text) -pgr_bridges(text) -_pgr_build_type() -_pgr_checkverttab(text,text[],integer,text) -pgr_chinesepostmancost(text) -pgr_chinesepostman(text) -_pgr_chinesepostman(text,boolean) -_pgr_compilation_date() -_pgr_compiler_version() -_pgr_connectedcomponents(text) -pgr_connectedcomponents(text) -_pgr_contraction(text,bigint[],integer,bigint[],boolean) -pgr_contraction(text,bigint[],integer,bigint[],boolean) -_pgr_createindex(text,text,text,integer,text) -_pgr_createindex(text,text,text,text,integer,text) -pgr_createtopology(text,double precision,text,text,text,text,text,boolean) -pgr_createverticestable(text,text,text,text,text) -pgr_dagshortestpath(text,anyarray,anyarray) -_pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) -pgr_dagshortestpath(text,anyarray,bigint) -pgr_dagshortestpath(text,bigint,anyarray) -pgr_dagshortestpath(text,bigint,bigint) -pgr_dijkstracostmatrix(text,anyarray,boolean) -pgr_dijkstracost(text,anyarray,anyarray,boolean) -pgr_dijkstracost(text,anyarray,bigint,boolean) -pgr_dijkstracost(text,bigint,anyarray,boolean) -pgr_dijkstracost(text,bigint,bigint,boolean) -_pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean) -_pgr_dijkstranear(text,anyarray,bigint,bigint,boolean) -_pgr_dijkstranear(text,bigint,anyarray,bigint,boolean) -pgr_dijkstra(text,anyarray,anyarray,boolean) -_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint) -pgr_dijkstra(text,anyarray,bigint,boolean) -pgr_dijkstra(text,bigint,anyarray,boolean) -pgr_dijkstra(text,bigint,bigint,boolean) -_pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -_pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,bigint,double precision,boolean) -_pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,bigint,boolean) -pgr_edgedisjointpaths(text,bigint,anyarray,boolean) -pgr_edgedisjointpaths(text,bigint,bigint,boolean) -pgr_edmondskarp(text,anyarray,anyarray) -pgr_edmondskarp(text,anyarray,bigint) -pgr_edmondskarp(text,bigint,anyarray) -pgr_edmondskarp(text,bigint,bigint) -_pgr_edwardmoore(text,anyarray,anyarray,boolean) -pgr_edwardmoore(text,anyarray,anyarray,boolean) -pgr_edwardmoore(text,anyarray,bigint,boolean) -pgr_edwardmoore(text,bigint,anyarray,boolean) -pgr_edwardmoore(text,bigint,bigint,boolean) -_pgr_endpoint(geometry) -pgr_extractvertices(text,boolean) -_pgr_floydwarshall(text,boolean) -pgr_floydwarshall(text,boolean) -pgr_full_version() -_pgr_getcolumnname(text,text,integer,text) -_pgr_getcolumnname(text,text,text,integer,text) -_pgr_getcolumntype(text,text,integer,text) -_pgr_getcolumntype(text,text,text,integer,text) -_pgr_get_statement(text) -_pgr_gettablename(text,integer,text) -_pgr_git_hash() -_pgr_iscolumnindexed(text,text,integer,text) -_pgr_iscolumnindexed(text,text,text,integer,text) -_pgr_iscolumnintable(text,text) -_pgr_johnson(text,boolean) -pgr_johnson(text,boolean) -pgr_kruskalbfs(text,anyarray,bigint) -pgr_kruskalbfs(text,bigint,bigint) -pgr_kruskaldd(text,anyarray,double precision) -pgr_kruskaldd(text,anyarray,numeric) -pgr_kruskaldd(text,bigint,double precision) -pgr_kruskaldd(text,bigint,numeric) -pgr_kruskaldfs(text,anyarray,bigint) -pgr_kruskaldfs(text,bigint,bigint) -pgr_kruskal(text) -_pgr_kruskal(text,anyarray,text,bigint,double precision) -_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -_pgr_lib_version() -_pgr_linegraphfull(text) -pgr_linegraphfull(text) -_pgr_linegraph(text,boolean) -pgr_linegraph(text,boolean) -_pgr_maxcardinalitymatch(text,boolean) -pgr_maxcardinalitymatch(text,boolean) -pgr_maxflowmincost_cost(text,anyarray,anyarray) -pgr_maxflowmincost_cost(text,anyarray,bigint) -pgr_maxflowmincost_cost(text,bigint,anyarray) -pgr_maxflowmincost_cost(text,bigint,bigint) -pgr_maxflowmincost(text,anyarray,anyarray) -_pgr_maxflowmincost(text,anyarray,anyarray,boolean) -pgr_maxflowmincost(text,anyarray,bigint) -pgr_maxflowmincost(text,bigint,anyarray) -pgr_maxflowmincost(text,bigint,bigint) -pgr_maxflow(text,anyarray,anyarray) -_pgr_maxflow(text,anyarray,anyarray,integer,boolean) -pgr_maxflow(text,anyarray,bigint) -pgr_maxflow(text,bigint,anyarray) -pgr_maxflow(text,bigint,bigint) -_pgr_msg(integer,text,text) -pgr_nodenetwork(text,double precision,text,text,text,text,boolean) -_pgr_onerror(boolean,integer,text,text,text,text) -_pgr_operating_system() -_pgr_parameter_check(text,text,boolean) -_pgr_pgsql_version() -_pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -_pgr_pickdeliver(text,text,text,double precision,integer,integer) -pgr_pickdeliver(text,text,text,double precision,integer,integer) -_pgr_pointtoid(geometry,double precision,text,integer) -pgr_primbfs(text,anyarray,bigint) -pgr_primbfs(text,bigint,bigint) -pgr_primdd(text,anyarray,double precision) -pgr_primdd(text,anyarray,numeric) -pgr_primdd(text,bigint,double precision) -pgr_primdd(text,bigint,numeric) -pgr_primdfs(text,anyarray,bigint) -pgr_primdfs(text,bigint,bigint) -pgr_prim(text) -_pgr_prim(text,anyarray,text,bigint,double precision) -pgr_pushrelabel(text,anyarray,anyarray) -pgr_pushrelabel(text,anyarray,bigint) -pgr_pushrelabel(text,bigint,anyarray) -pgr_pushrelabel(text,bigint,bigint) -_pgr_quote_ident(text) -_pgr_startpoint(geometry) -_pgr_stoerwagner(text) -pgr_stoerwagner(text) -_pgr_strongcomponents(text) -pgr_strongcomponents(text) -_pgr_topologicalsort(text) -pgr_topologicalsort(text) -_pgr_transitiveclosure(text) -pgr_transitiveclosure(text) -_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,integer,boolean,boolean,text) -_pgr_trsp(text,text,anyarray,anyarray,boolean) -_pgr_trsp(text,text,anyarray,bigint,boolean) -_pgr_trsp(text,text,bigint,anyarray,boolean) -_pgr_trsp(text,text,bigint,bigint,boolean) -pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) -pgr_trspviavertices(text,anyarray,boolean,boolean,text) -_pgr_trspviavertices(text,integer[],boolean,boolean,text) -_pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -_pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -_pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) -pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) -pgr_version() -_pgr_versionless(text,text) -_pgr_vrponedepot(text,text,text,integer) -pgr_vrponedepot(text,text,text,integer) -pgr_withpointscostmatrix(text,text,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,bigint,boolean,character) -pgr_withpointscost(text,text,bigint,anyarray,boolean,character) -pgr_withpointscost(text,text,bigint,bigint,boolean,character) -_pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) -_pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) -_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,boolean) -pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) -pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) -pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) -_pgr_withpointsvia(text,bigint[],double precision[],boolean) -_trsp(text,text,anyarray,anyarray,boolean) diff --git a/sql/sigs/pgrouting--3.0.0.sig b/sql/sigs/pgrouting--3.0.sig similarity index 99% rename from sql/sigs/pgrouting--3.0.0.sig rename to sql/sigs/pgrouting--3.0.sig index 2e0fce72901..4a56a626a4f 100644 --- a/sql/sigs/pgrouting--3.0.0.sig +++ b/sql/sigs/pgrouting--3.0.sig @@ -1,6 +1,3 @@ -#VERSION pgrouting 3.0.0 -#TYPES -#FUNCTIONS pgr_alphashape(geometry,double precision) _pgr_alphashape(text,double precision) pgr_analyzegraph(text,double precision,text,text,text,text,text) diff --git a/sql/spanningTree/_kruskal.sql b/sql/spanningTree/_kruskal.sql index bedcad27a7d..4ae8d7d4716 100644 --- a/sql/spanningTree/_kruskal.sql +++ b/sql/spanningTree/_kruskal.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------------- -CREATE OR REPLACE FUNCTION _pgr_kruskal( +--v3.0 +CREATE FUNCTION _pgr_kruskal( TEXT, -- Edge sql ANYARRAY, -- tree root for traversal fn_suffix TEXT, diff --git a/sql/spanningTree/_prim.sql b/sql/spanningTree/_prim.sql index b4299f52be4..4d519320a64 100644 --- a/sql/spanningTree/_prim.sql +++ b/sql/spanningTree/_prim.sql @@ -39,7 +39,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------------- -CREATE OR REPLACE FUNCTION _pgr_prim( +--v3.0 +CREATE FUNCTION _pgr_prim( TEXT, -- Edge sql ANYARRAY, -- tree root for traversal order_by TEXT, diff --git a/sql/spanningTree/_randomSpanTree.sql b/sql/spanningTree/_randomSpanTree.sql index f926011bd8d..597abc72ba5 100644 --- a/sql/spanningTree/_randomSpanTree.sql +++ b/sql/spanningTree/_randomSpanTree.sql @@ -31,7 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- _pgr_randomSpanTree ----------------------- -CREATE OR REPLACE FUNCTION _pgr_randomSpanTree( +--v3.0 +CREATE FUNCTION _pgr_randomSpanTree( TEXT, -- Edge sql BIGINT, -- Root BOOLEAN, -- directed diff --git a/sql/spanningTree/kruskal.sql b/sql/spanningTree/kruskal.sql index 0e13d8efaa2..3141c72ec9c 100644 --- a/sql/spanningTree/kruskal.sql +++ b/sql/spanningTree/kruskal.sql @@ -33,7 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -CREATE OR REPLACE FUNCTION pgr_kruskal( +--v3.0 +CREATE FUNCTION pgr_kruskal( TEXT, -- edges-sql (required) OUT edge BIGINT, diff --git a/sql/spanningTree/kruskalBFS.sql b/sql/spanningTree/kruskalBFS.sql index 11842a372c9..0b32e77a689 100644 --- a/sql/spanningTree/kruskalBFS.sql +++ b/sql/spanningTree/kruskalBFS.sql @@ -33,7 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ----------------- -CREATE OR REPLACE FUNCTION pgr_kruskalBFS( +--v3.0 +CREATE FUNCTION pgr_kruskalBFS( TEXT, -- Edge sql (required) BIGINT, -- root vertex (required) @@ -63,7 +64,8 @@ $BODY$ LANGUAGE plpgsql VOLATILE STRICT; -CREATE OR REPLACE FUNCTION pgr_kruskalBFS( +--v3.0 +CREATE FUNCTION pgr_kruskalBFS( TEXT, -- Edge sql (required) ANYARRAY, -- root vertices (required) diff --git a/sql/spanningTree/kruskalDD.sql b/sql/spanningTree/kruskalDD.sql index 0cb46b842d5..ceb434c8e72 100644 --- a/sql/spanningTree/kruskalDD.sql +++ b/sql/spanningTree/kruskalDD.sql @@ -34,7 +34,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- SINGLE VERTEX -CREATE OR REPLACE FUNCTION pgr_kruskalDD ( +--v3.0 +CREATE FUNCTION pgr_kruskalDD ( TEXT, -- Edge sql BIGINT, -- root vertex NUMERIC, -- distance @@ -61,7 +62,8 @@ END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; -CREATE OR REPLACE FUNCTION pgr_kruskalDD ( +--v3.0 +CREATE FUNCTION pgr_kruskalDD ( TEXT, -- Edge sql BIGINT, -- root vertex FLOAT, -- distance @@ -90,7 +92,8 @@ LANGUAGE plpgsql VOLATILE STRICT; -- MULTIPLE VERTICES -CREATE OR REPLACE FUNCTION pgr_kruskalDD ( +--v3.0 +CREATE FUNCTION pgr_kruskalDD ( TEXT, -- Edge sql ANYARRAY, -- root vertex @@ -119,7 +122,8 @@ $BODY$ LANGUAGE plpgsql VOLATILE STRICT; -CREATE OR REPLACE FUNCTION pgr_kruskalDD ( +--v3.0 +CREATE FUNCTION pgr_kruskalDD ( TEXT, -- Edge sql ANYARRAY, -- root vertex diff --git a/sql/spanningTree/kruskalDFS.sql b/sql/spanningTree/kruskalDFS.sql index c084b3e50ea..fe084452e49 100644 --- a/sql/spanningTree/kruskalDFS.sql +++ b/sql/spanningTree/kruskalDFS.sql @@ -34,7 +34,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- SINGLE VERTEX -CREATE OR REPLACE FUNCTION pgr_kruskalDFS( +--v3.0 +CREATE FUNCTION pgr_kruskalDFS( TEXT, -- Edge sql BIGINT, -- root vertex @@ -64,7 +65,8 @@ $BODY$ LANGUAGE plpgsql VOLATILE STRICT; -- MULTIPLE VERTICES -CREATE OR REPLACE FUNCTION pgr_kruskalDFS( +--v3.0 +CREATE FUNCTION pgr_kruskalDFS( TEXT, -- Edge sql ANYARRAY, -- root vertices diff --git a/sql/spanningTree/prim.sql b/sql/spanningTree/prim.sql index 5f28ae27d6f..802e2114a86 100644 --- a/sql/spanningTree/prim.sql +++ b/sql/spanningTree/prim.sql @@ -33,7 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------ -CREATE OR REPLACE FUNCTION pgr_prim( +--v3.0 +CREATE FUNCTION pgr_prim( TEXT, -- edges_sql (required) OUT edge BIGINT, diff --git a/sql/spanningTree/primBFS.sql b/sql/spanningTree/primBFS.sql index 59841830e1d..89eefc208c2 100644 --- a/sql/spanningTree/primBFS.sql +++ b/sql/spanningTree/primBFS.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- SINGLE VERTEX -CREATE OR REPLACE FUNCTION pgr_primBFS( +--v3.0 +CREATE FUNCTION pgr_primBFS( TEXT, -- Edge sql BIGINT, -- root vertex @@ -60,7 +61,8 @@ LANGUAGE plpgsql VOLATILE STRICT; -- MULTIPLE VERTICES -CREATE OR REPLACE FUNCTION pgr_primBFS( +--v3.0 +CREATE FUNCTION pgr_primBFS( TEXT, -- Edge sql ANYARRAY, -- root vertices diff --git a/sql/spanningTree/primDD.sql b/sql/spanningTree/primDD.sql index 9a602e48e27..5eb747fc610 100644 --- a/sql/spanningTree/primDD.sql +++ b/sql/spanningTree/primDD.sql @@ -28,7 +28,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- SINGLE VERTEX -CREATE OR REPLACE FUNCTION pgr_primDD ( +--v3.0 +CREATE FUNCTION pgr_primDD ( TEXT, -- Edge sql BIGINT, -- root vertex NUMERIC, -- distance @@ -55,7 +56,8 @@ END; $BODY$ LANGUAGE plpgsql VOLATILE STRICT; -CREATE OR REPLACE FUNCTION pgr_primDD ( +--v3.0 +CREATE FUNCTION pgr_primDD ( TEXT, -- Edge sql BIGINT, -- root vertex FLOAT, -- distance @@ -84,7 +86,8 @@ LANGUAGE plpgsql VOLATILE STRICT; -- MULTIPLE VERTICES -CREATE OR REPLACE FUNCTION pgr_primDD ( +--v3.0 +CREATE FUNCTION pgr_primDD ( TEXT, -- Edge sql ANYARRAY, -- root vertex @@ -113,7 +116,8 @@ $BODY$ LANGUAGE plpgsql VOLATILE STRICT; -CREATE OR REPLACE FUNCTION pgr_primDD ( +--v3.0 +CREATE FUNCTION pgr_primDD ( TEXT, -- Edge sql ANYARRAY, -- root vertex diff --git a/sql/spanningTree/primDFS.sql b/sql/spanningTree/primDFS.sql index df9125de405..112ccb4c489 100644 --- a/sql/spanningTree/primDFS.sql +++ b/sql/spanningTree/primDFS.sql @@ -28,7 +28,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- SINGLE VERTEX -CREATE OR REPLACE FUNCTION pgr_primDFS( +--v3.0 +CREATE FUNCTION pgr_primDFS( TEXT, -- Edge sql BIGINT, -- root vertex @@ -59,7 +60,8 @@ LANGUAGE plpgsql VOLATILE STRICT; -- MULTIPLE VERTICES -CREATE OR REPLACE FUNCTION pgr_primDFS( +--v3.0 +CREATE FUNCTION pgr_primDFS( TEXT, -- Edge sql ANYARRAY, -- root vertices diff --git a/sql/spanningTree/randomSpanTree.sql b/sql/spanningTree/randomSpanTree.sql index c0004754639..976d6d937ce 100644 --- a/sql/spanningTree/randomSpanTree.sql +++ b/sql/spanningTree/randomSpanTree.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ----------------------- -CREATE OR REPLACE FUNCTION pgr_randomSpanTree( +--v3.0 +CREATE FUNCTION pgr_randomSpanTree( TEXT, -- edges_sql (required) BIGINT, -- root (required) diff --git a/sql/topologicalSort/_topologicalSort.sql b/sql/topologicalSort/_topologicalSort.sql index 3640b6eb8fc..5eba4f9b81d 100644 --- a/sql/topologicalSort/_topologicalSort.sql +++ b/sql/topologicalSort/_topologicalSort.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -CREATE OR REPLACE FUNCTION _pgr_topologicalSort( +--v3.0 +CREATE FUNCTION _pgr_topologicalSort( edges_sql TEXT, OUT seq INTEGER, diff --git a/sql/topologicalSort/topologicalSort.sql b/sql/topologicalSort/topologicalSort.sql index 5eef2ec93a3..8533694bc9a 100644 --- a/sql/topologicalSort/topologicalSort.sql +++ b/sql/topologicalSort/topologicalSort.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -CREATE OR REPLACE FUNCTION pgr_topologicalSort( +--v3.0 +CREATE FUNCTION pgr_topologicalSort( TEXT, -- edges_sql (required) OUT seq INTEGER, diff --git a/sql/topology/analyzeOneway.sql b/sql/topology/analyzeOneway.sql index f8690c31f2d..5a36ba36910 100644 --- a/sql/topology/analyzeOneway.sql +++ b/sql/topology/analyzeOneway.sql @@ -104,7 +104,8 @@ a network that is not properly noded. */ -CREATE OR REPLACE FUNCTION pgr_analyzeOneway( +--v2.6 +CREATE FUNCTION pgr_analyzeOneway( TEXT, TEXT[], -- s_in_rules (required) TEXT[], -- s_out_rules (required) diff --git a/sql/topology/analyzegraph.sql b/sql/topology/analyzegraph.sql index 097be0f123a..fcce2a41e87 100644 --- a/sql/topology/analyzegraph.sql +++ b/sql/topology/analyzegraph.sql @@ -84,7 +84,8 @@ Makes more checks: ----------------------- -CREATE OR REPLACE FUNCTION pgr_analyzeGraph( +--v2.6 +CREATE FUNCTION pgr_analyzeGraph( TEXT, -- edge table (required) double precision, -- tolerance (required) diff --git a/sql/topology/createtopology.sql b/sql/topology/createtopology.sql index b9145709f9c..2aaf2300733 100644 --- a/sql/topology/createtopology.sql +++ b/sql/topology/createtopology.sql @@ -53,7 +53,8 @@ Last changes: 2013-03-22 ----------------------- -CREATE OR REPLACE FUNCTION pgr_createTopology( +--v2.6 +CREATE FUNCTION pgr_createTopology( TEXT, -- edge table (required) double precision, -- tolerance (required) the_geom TEXT default 'the_geom', diff --git a/sql/topology/createverticestable.sql b/sql/topology/createverticestable.sql index 1fddc8e96ff..c6785089388 100644 --- a/sql/topology/createverticestable.sql +++ b/sql/topology/createverticestable.sql @@ -55,7 +55,8 @@ Last changes: 2013-03-22 --------------------------- -CREATE OR REPLACE FUNCTION pgr_createverticestable( +--v2.6 +CREATE FUNCTION pgr_createverticestable( TEXT, -- edge table (required) the_geom TEXT DEFAULT 'the_geom'::TEXT, source TEXT DEFAULT 'source'::TEXT, diff --git a/sql/topology/extractVertices.sql b/sql/topology/extractVertices.sql index a1b081a9092..b7c85f248a1 100644 --- a/sql/topology/extractVertices.sql +++ b/sql/topology/extractVertices.sql @@ -25,7 +25,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_extractVertices( +--v3.0 +CREATE FUNCTION pgr_extractVertices( TEXT, -- SQL inner query (required) dryrun BOOLEAN DEFAULT false, diff --git a/sql/topology/nodeNetwork.sql b/sql/topology/nodeNetwork.sql index 2ba36b8c155..f1b6d78a80b 100644 --- a/sql/topology/nodeNetwork.sql +++ b/sql/topology/nodeNetwork.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------------------- -CREATE OR REPLACE FUNCTION pgr_nodeNetwork( +--v2.6 +CREATE FUNCTION pgr_nodeNetwork( TEXT, -- edge table (required) DOUBLE PRECISION, -- tolerance (required) id TEXT DEFAULT 'id', diff --git a/sql/transitiveClosure/_transitiveClosure.sql b/sql/transitiveClosure/_transitiveClosure.sql index 9a299d600dc..9922c5873b2 100644 --- a/sql/transitiveClosure/_transitiveClosure.sql +++ b/sql/transitiveClosure/_transitiveClosure.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -CREATE OR REPLACE FUNCTION _pgr_transitiveClosure( +--v3.0 +CREATE FUNCTION _pgr_transitiveClosure( edges_sql TEXT, OUT seq INTEGER, diff --git a/sql/transitiveClosure/transitiveClosure.sql b/sql/transitiveClosure/transitiveClosure.sql index 46f7ffc6e8e..f25611e83a9 100644 --- a/sql/transitiveClosure/transitiveClosure.sql +++ b/sql/transitiveClosure/transitiveClosure.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -CREATE OR REPLACE FUNCTION pgr_transitiveClosure( +--v3.0 +CREATE FUNCTION pgr_transitiveClosure( TEXT, -- edges_sql (required) OUT seq INTEGER, diff --git a/sql/trsp/_array_reverse.sql b/sql/trsp/_array_reverse.sql index b4b05ed621b..64802a33a4d 100644 --- a/sql/trsp/_array_reverse.sql +++ b/sql/trsp/_array_reverse.sql @@ -21,7 +21,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION _pgr_array_reverse(anyarray) RETURNS anyarray AS $$ +--v2.6 +CREATE FUNCTION _pgr_array_reverse(anyarray) RETURNS anyarray AS $$ SELECT ARRAY( SELECT $1[i] FROM generate_subscripts($1,1) AS s(i) diff --git a/sql/trsp/_pgr_trsp.sql b/sql/trsp/_pgr_trsp.sql index 791a562736b..aa5b119eca7 100644 --- a/sql/trsp/_pgr_trsp.sql +++ b/sql/trsp/_pgr_trsp.sql @@ -25,7 +25,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------- -CREATE OR REPLACE FUNCTION _pgr_trsp( +--v2.6 +CREATE FUNCTION _pgr_trsp( sql text, source_eid integer, source_pos float8, diff --git a/sql/trsp/_pgr_trspViaVertices.sql b/sql/trsp/_pgr_trspViaVertices.sql index 6e5d7b40ffd..28b49342e8d 100644 --- a/sql/trsp/_pgr_trspViaVertices.sql +++ b/sql/trsp/_pgr_trspViaVertices.sql @@ -26,7 +26,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ----------------------- -CREATE OR REPLACE FUNCTION _pgr_trspViaVertices +--v3.0 +CREATE FUNCTION _pgr_trspViaVertices (sql text, vids integer[], directed boolean, diff --git a/sql/trsp/_trsp.sql b/sql/trsp/_trsp.sql index 26814171e0b..733ae17ed65 100644 --- a/sql/trsp/_trsp.sql +++ b/sql/trsp/_trsp.sql @@ -33,7 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------- -CREATE OR REPLACE FUNCTION _trsp( +--v2.6 +CREATE FUNCTION _trsp( TEXT, -- edges_sql TEXT, -- restrictions_sql ANYARRAY, diff --git a/sql/trsp/pgr_trsp.sql b/sql/trsp/pgr_trsp.sql index 9f6782e4d91..66150a13373 100644 --- a/sql/trsp/pgr_trsp.sql +++ b/sql/trsp/pgr_trsp.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - put all data costs in one cost column and - a call is made to trsp without only the positive values */ -CREATE OR REPLACE FUNCTION pgr_trsp( +--v3.0 +CREATE FUNCTION pgr_trsp( TEXT, -- edges SQL (required) INTEGER, -- from_vid (required) INTEGER, -- to_vid (required) @@ -115,7 +116,8 @@ ROWS 1000; - with restrictions - calls original trsp code */ -CREATE OR REPLACE FUNCTION pgr_trsp( +--v3.0 +CREATE FUNCTION pgr_trsp( TEXT, -- sql (required) INTEGER, -- source_eid (required) FLOAT, -- source_pos (required) diff --git a/sql/trsp/pgr_trspViaEdges.sql b/sql/trsp/pgr_trspViaEdges.sql index ec9f10d542a..e646a89640f 100644 --- a/sql/trsp/pgr_trspViaEdges.sql +++ b/sql/trsp/pgr_trspViaEdges.sql @@ -22,7 +22,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -create or replace function pgr_trspViaEdges( +--v3.0 +--v3.0 +CREATE FUNCTION pgr_trspViaEdges( text, -- SQL (required) integer[], -- eids (required) FLOAT[], -- pcts (required) diff --git a/sql/trsp/pgr_trspViaVertices.sql b/sql/trsp/pgr_trspViaVertices.sql index e031fe0335b..bca4e31c7e6 100644 --- a/sql/trsp/pgr_trspViaVertices.sql +++ b/sql/trsp/pgr_trspViaVertices.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - put all data costs in one cost column and - a call is made to original code in _pgr_trspViaVertices without only the positive values */ -CREATE OR REPLACE FUNCTION pgr_trspViaVertices( +--v3.0 +CREATE FUNCTION pgr_trspViaVertices( TEXT, -- edges SQL (required) ANYARRAY, -- via vids (required) BOOLEAN, -- directed (required) diff --git a/sql/trsp/trsp.sql b/sql/trsp/trsp.sql index 8fea861b868..d90ad3ebb3b 100644 --- a/sql/trsp/trsp.sql +++ b/sql/trsp/trsp.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- ONE to ONE -CREATE OR REPLACE FUNCTION _pgr_trsp( +--v2.6 +CREATE FUNCTION _pgr_trsp( TEXT, -- edges_sql TEXT, -- restrictions_sql BIGINT, -- start_vid @@ -59,7 +60,8 @@ ROWS 1000; -- ONE to MANY -CREATE OR REPLACE FUNCTION _pgr_trsp( +--v2.6 +CREATE FUNCTION _pgr_trsp( TEXT, -- edges_sql TEXT, -- restrictions_sql BIGINT, -- start_vid @@ -90,7 +92,8 @@ ROWS 1000; -- MANY to ONE -CREATE OR REPLACE FUNCTION _pgr_trsp( +--v2.6 +CREATE FUNCTION _pgr_trsp( TEXT, -- edges_sql TEXT, -- restrictions_sql ANYARRAY, -- start_vids @@ -121,7 +124,8 @@ ROWS 1000; -- MANY to MANY -CREATE OR REPLACE FUNCTION _pgr_trsp( +--v2.6 +CREATE FUNCTION _pgr_trsp( TEXT, -- edges_sql TEXT, -- restrictions_sql ANYARRAY, -- start_vids diff --git a/sql/tsp/TSP.sql b/sql/tsp/TSP.sql index 3debd262ae9..bab349e7e18 100644 --- a/sql/tsp/TSP.sql +++ b/sql/tsp/TSP.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------- -CREATE OR REPLACE FUNCTION pgr_TSP( +--v2.6 +CREATE FUNCTION pgr_TSP( TEXT, -- matrix_row_sql (required) start_id BIGINT DEFAULT 0, diff --git a/sql/tsp/TSPeuclidean.sql b/sql/tsp/TSPeuclidean.sql index be30ebcc45e..ac74277a75b 100644 --- a/sql/tsp/TSPeuclidean.sql +++ b/sql/tsp/TSPeuclidean.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------------- -CREATE OR REPLACE FUNCTION pgr_TSPeuclidean( +--v3.0 +CREATE FUNCTION pgr_TSPeuclidean( TEXT, -- coordinates_sql (required) start_id BIGINT DEFAULT 0, diff --git a/sql/tsp/_TSP.sql b/sql/tsp/_TSP.sql index 6753074acf0..23785b3a639 100644 --- a/sql/tsp/_TSP.sql +++ b/sql/tsp/_TSP.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------- -CREATE OR REPLACE FUNCTION _pgr_TSP( +--v3.0 +CREATE FUNCTION _pgr_TSP( matrix_row_sql TEXT, start_id BIGINT DEFAULT 0, end_id BIGINT DEFAULT 0, diff --git a/sql/tsp/_TSPeuclidean.sql b/sql/tsp/_TSPeuclidean.sql index a58401350e8..e8c0220aa3c 100644 --- a/sql/tsp/_TSPeuclidean.sql +++ b/sql/tsp/_TSPeuclidean.sql @@ -25,7 +25,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION _pgr_TSPeuclidean( +--v3.0 +CREATE FUNCTION _pgr_TSPeuclidean( coordinates_sql TEXT, start_id BIGINT DEFAULT 0, end_id BIGINT DEFAULT 0, diff --git a/sql/version/_version.sql b/sql/version/_version.sql index e9d24b5525e..b84a3af12a4 100644 --- a/sql/version/_version.sql +++ b/sql/version/_version.sql @@ -24,7 +24,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION _pgr_boost_version() +--v3.0 +CREATE FUNCTION _pgr_boost_version() RETURNS TEXT AS 'MODULE_PATHNAME' LANGUAGE C VOLATILE STRICT; @@ -34,7 +35,8 @@ COMMENT ON FUNCTION _pgr_boost_version() IS --- -CREATE OR REPLACE FUNCTION _pgr_build_type() +--v3.0 +CREATE FUNCTION _pgr_build_type() RETURNS TEXT AS 'MODULE_PATHNAME' LANGUAGE C VOLATILE STRICT; @@ -44,7 +46,8 @@ COMMENT ON FUNCTION _pgr_build_type() IS --- -CREATE OR REPLACE FUNCTION _pgr_compilation_date() +--v3.0 +CREATE FUNCTION _pgr_compilation_date() RETURNS TEXT AS 'MODULE_PATHNAME' LANGUAGE C VOLATILE STRICT; @@ -54,7 +57,8 @@ COMMENT ON FUNCTION _pgr_compilation_date() IS --- -CREATE OR REPLACE FUNCTION _pgr_compiler_version() +--v3.0 +CREATE FUNCTION _pgr_compiler_version() RETURNS TEXT AS 'MODULE_PATHNAME' LANGUAGE C VOLATILE STRICT; @@ -64,7 +68,8 @@ COMMENT ON FUNCTION _pgr_compiler_version() IS --- -CREATE OR REPLACE FUNCTION _pgr_git_hash() +--v3.0 +CREATE FUNCTION _pgr_git_hash() RETURNS TEXT AS 'MODULE_PATHNAME' LANGUAGE C VOLATILE STRICT; @@ -74,7 +79,8 @@ COMMENT ON FUNCTION _pgr_compilation_date() IS --- -CREATE OR REPLACE FUNCTION _pgr_lib_version() +--v3.0 +CREATE FUNCTION _pgr_lib_version() RETURNS TEXT AS 'MODULE_PATHNAME' LANGUAGE C VOLATILE STRICT; @@ -85,7 +91,8 @@ COMMENT ON FUNCTION _pgr_lib_version() IS --- -CREATE OR REPLACE FUNCTION _pgr_operating_system() +--v3.0 +CREATE FUNCTION _pgr_operating_system() RETURNS TEXT AS 'MODULE_PATHNAME' LANGUAGE C VOLATILE STRICT; @@ -94,7 +101,8 @@ COMMENT ON FUNCTION _pgr_operating_system() IS 'pgRouting internal function'; --- -CREATE OR REPLACE FUNCTION _pgr_pgsql_version() +--v3.0 +CREATE FUNCTION _pgr_pgsql_version() RETURNS TEXT AS 'MODULE_PATHNAME' LANGUAGE C VOLATILE STRICT; diff --git a/sql/version/full_version.sql b/sql/version/full_version.sql index f76fcb41939..f2c75552cbe 100644 --- a/sql/version/full_version.sql +++ b/sql/version/full_version.sql @@ -26,7 +26,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -CREATE OR REPLACE FUNCTION pgr_full_version( +--v3.0 +CREATE FUNCTION pgr_full_version( OUT version TEXT, OUT build_type TEXT, OUT compile_date TEXT, diff --git a/sql/version/version.sql b/sql/version/version.sql index 2a178a0f01f..158863d3326 100644 --- a/sql/version/version.sql +++ b/sql/version/version.sql @@ -24,7 +24,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -CREATE OR REPLACE FUNCTION pgr_version() +--v3.0 +CREATE FUNCTION pgr_version() RETURNS TEXT AS $BODY$ SELECT '${PGROUTING_VERSION}${PGROUTING_VERSION_DEV}'::varchar AS pgr_version; diff --git a/sql/vrp_basic/_pgr_vrpOneDepot.sql b/sql/vrp_basic/_pgr_vrpOneDepot.sql index 5039efbd4c1..8ffcec1f7a5 100644 --- a/sql/vrp_basic/_pgr_vrpOneDepot.sql +++ b/sql/vrp_basic/_pgr_vrpOneDepot.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------------- -CREATE OR REPLACE FUNCTION _pgr_vrpOneDepot( +--v2.6 +CREATE FUNCTION _pgr_vrpOneDepot( TEXT, -- customers_sql TEXT, -- vehicles_sql TEXT, -- matrix_sql diff --git a/sql/vrp_basic/pgr_vrpOneDepot.sql b/sql/vrp_basic/pgr_vrpOneDepot.sql index 216b83741c7..7adcf0b09f7 100644 --- a/sql/vrp_basic/pgr_vrpOneDepot.sql +++ b/sql/vrp_basic/pgr_vrpOneDepot.sql @@ -31,7 +31,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------------- -CREATE OR REPLACE FUNCTION pgr_vrpOneDepot( +--v2.6 +CREATE FUNCTION pgr_vrpOneDepot( text, -- order_sql text, -- vehicle_sql text, -- cost_sql diff --git a/sql/withPoints/_withPoints.sql b/sql/withPoints/_withPoints.sql index bd113cfe6b2..83255069afd 100644 --- a/sql/withPoints/_withPoints.sql +++ b/sql/withPoints/_withPoints.sql @@ -40,7 +40,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------ -CREATE OR REPLACE FUNCTION _pgr_withPoints( +--v2.6 +CREATE FUNCTION _pgr_withPoints( edges_sql TEXT, points_sql TEXT, start_pids ANYARRAY, diff --git a/sql/withPoints/withPoints.sql b/sql/withPoints/withPoints.sql index d23302e968b..e8afcc90a53 100644 --- a/sql/withPoints/withPoints.sql +++ b/sql/withPoints/withPoints.sql @@ -34,7 +34,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- ONE TO ONE -CREATE OR REPLACE FUNCTION pgr_withPoints( +--v2.6 +CREATE FUNCTION pgr_withPoints( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) BIGINT, -- end_pid (required) @@ -62,7 +63,8 @@ ROWS 1000; -- ONE TO MANY -CREATE OR REPLACE FUNCTION pgr_withPoints( +--v2.6 +CREATE FUNCTION pgr_withPoints( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) BIGINT, -- end_pid (required) @@ -90,7 +92,8 @@ ROWS 1000; -- MANY TO ONE -CREATE OR REPLACE FUNCTION pgr_withPoints( +--v2.6 +CREATE FUNCTION pgr_withPoints( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) ANYARRAY, -- end_pid (required) @@ -118,7 +121,8 @@ ROWS 1000; -- MANY TO MANY -CREATE OR REPLACE FUNCTION pgr_withPoints( +--v2.6 +CREATE FUNCTION pgr_withPoints( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) ANYARRAY, -- end_pid (required) diff --git a/sql/withPoints/withPointsCost.sql b/sql/withPoints/withPointsCost.sql index bf317715e83..233667b8748 100644 --- a/sql/withPoints/withPointsCost.sql +++ b/sql/withPoints/withPointsCost.sql @@ -34,7 +34,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- ONE TO ONE -CREATE OR REPLACE FUNCTION pgr_withPointsCost( +--v2.6 +CREATE FUNCTION pgr_withPointsCost( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) BIGINT, -- end_pid (required) @@ -57,7 +58,8 @@ ROWS 1000; -- ONE TO MANY -CREATE OR REPLACE FUNCTION pgr_withPointsCost( +--v2.6 +CREATE FUNCTION pgr_withPointsCost( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) BIGINT, -- end_pid (required) @@ -80,7 +82,8 @@ ROWS 1000; -- MANY TO ONE -CREATE OR REPLACE FUNCTION pgr_withPointsCost( +--v2.6 +CREATE FUNCTION pgr_withPointsCost( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) ANYARRAY, -- end_pid (required) @@ -103,7 +106,8 @@ ROWS 1000; -- MANY TO MANY -CREATE OR REPLACE FUNCTION pgr_withPointsCost( +--v2.6 +CREATE FUNCTION pgr_withPointsCost( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) ANYARRAY, -- end_pid (required) diff --git a/sql/withPoints/withPointsCostMatrix.sql b/sql/withPoints/withPointsCostMatrix.sql index 68f6a6370de..11412d3c402 100644 --- a/sql/withPoints/withPointsCostMatrix.sql +++ b/sql/withPoints/withPointsCostMatrix.sql @@ -38,7 +38,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------------------- -CREATE OR REPLACE FUNCTION pgr_withPointsCostMatrix( +--v2.6 +CREATE FUNCTION pgr_withPointsCostMatrix( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) ANYARRAY, -- pids (required) @@ -60,16 +61,16 @@ ROWS 1000; -- COMMENTS -COMMENT ON FUNCTION pgr_withPointsCostMatrix(TEXT, TEXT, ANYARRAY, BOOLEAN, CHAR) +COMMENT ON FUNCTION pgr_withPointsCostMatrix(TEXT, TEXT, ANYARRAY, BOOLEAN, CHAR) IS'pgr_withPointsCostMatrix - PROPOSED - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Points SQL with columns: [pid], edge_id, fraction[,side] - - ARRAY [points identifiers], + - ARRAY [points identifiers], - Optional Parameters - directed := true - driving_side := ''b'' - Documentation: - ${PGROUTING_DOC_LINK}/pgr_withPointsCostMatrix.html -'; \ No newline at end of file +'; diff --git a/sql/withPoints/withPointsVia.sql b/sql/withPoints/withPointsVia.sql index 051f352c283..dd60f5632a3 100644 --- a/sql/withPoints/withPointsVia.sql +++ b/sql/withPoints/withPointsVia.sql @@ -33,7 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------------------- -CREATE OR REPLACE FUNCTION _pgr_withPointsVia( +--v2.6 +CREATE FUNCTION _pgr_withPointsVia( sql TEXT, via_edges BIGINT[], fraction FLOAT[], diff --git a/tools/release-scripts/get_signatures.sh b/tools/release-scripts/get_signatures.sh index 4099d676ff3..823996b5841 100755 --- a/tools/release-scripts/get_signatures.sh +++ b/tools/release-scripts/get_signatures.sh @@ -12,6 +12,7 @@ if [ "$1" = "--help" ] ; then fi VERSION=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) +MINOR=${VERSION%.*} DB_NAME="____sigs_routing____" DIR="sql/sigs" @@ -19,24 +20,14 @@ DIR="sql/sigs" # DB_ARGS are the remaining of the arguments read -ra DB_ARGS <<< "$*" -FILE="$DIR/pgrouting--$VERSION.sig" +FILE="$DIR/pgrouting--$MINOR.sig" dropdb --if-exists "${DB_ARGS[@]}" "$DB_NAME" createdb "${DB_ARGS[@]}" "$DB_NAME" psql "${DB_ARGS[@]}" "$DB_NAME" < "$FILE" - +psql "${DB_ARGS[@]}" "$DB_NAME" -c '\dx+ pgrouting' -A | grep '^function' | cut -d ' ' -f2- | sort -d > "$FILE" diff --git a/tools/scripts/test_signatures.sh b/tools/scripts/test_signatures.sh new file mode 100755 index 00000000000..b9ace604e01 --- /dev/null +++ b/tools/scripts/test_signatures.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# This test checks that signatures within mayors +# Call from the root of the repository + +DIR=$(git rev-parse --show-toplevel)/sql/sigs + +pushd "${DIR}" > /dev/null || exit +SIGNATURES=$(git ls-files *.sig | perl -pe 's/pgrouting--(.*)\.sig/$1/') +for s1 in ${SIGNATURES[@]} +do + for s2 in ${SIGNATURES[@]} + do + # only comparing lower version with higher version + if (( $(echo "$s1 >= $s2" | bc -l) )); then continue; fi + + mayor1=$(echo "$s1" | perl -pe 's/([0-9]+).*/$1/') + mayor2=$(echo "$s2" | perl -pe 's/([0-9]+).*/$1/') + + # comparing within same mayors only + if [ "$mayor1" != "$mayor2" ]; then continue; fi + + missing+=$(diff "pgrouting--$s1.sig" "pgrouting--$s2.sig" | grep '<') + done +done + +popd > /dev/null || exit + +#mylicensecheck doc +error=0 +if [[ $missing ]]; then + echo " ****************************************************" + echo " *** Found removed signatures" + echo " ****************************************************" + echo "$missing" + error=1 +fi + +exit $error + From 00ec2dabcba36f1a7f451c3d2197cb559335f7e5 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 16 Nov 2020 19:36:53 -0600 Subject: [PATCH 1002/1360] [build] Improved update script generator 3.1 fns --- CMakeLists.txt | 5 +- sql/dijkstra/_dijkstra.sql | 3 +- sql/dijkstra/dijkstra.sql | 3 +- sql/dijkstra/dijkstraCost.sql | 3 +- sql/sigs/pgrouting--3.1.1.sig | 239 ------------------ ...grouting--3.1.0.sig => pgrouting--3.1.sig} | 3 - 6 files changed, 9 insertions(+), 247 deletions(-) delete mode 100644 sql/sigs/pgrouting--3.1.1.sig rename sql/sigs/{pgrouting--3.1.0.sig => pgrouting--3.1.sig} (99%) diff --git a/CMakeLists.txt b/CMakeLists.txt index f6165545505..7e2abc822d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,9 +45,10 @@ set(PGROUTING_LIB_NAME "pgrouting-${PGROUTING_LIB_VERSION}") string(TIMESTAMP COMPILATION_DATE "%Y/%m/%d") -set(MINORS 3.0 2.6) +set(MINORS 3.1 3.0 2.6) set(OLD_SIGNATURES - 3.0.2 3.0.1 3.0.0 + 3.1.0 + 3.0.3 3.0.2 3.0.1 3.0.0 2.6.3 2.6.2 2.6.1 2.6.0 ) diff --git a/sql/dijkstra/_dijkstra.sql b/sql/dijkstra/_dijkstra.sql index 1b9dedd62d4..6d6e9adee6d 100644 --- a/sql/dijkstra/_dijkstra.sql +++ b/sql/dijkstra/_dijkstra.sql @@ -110,7 +110,8 @@ RETURNS SETOF RECORD AS LANGUAGE C VOLATILE STRICT; -CREATE OR REPLACE FUNCTION _pgr_dijkstra( +--v3.1 +CREATE FUNCTION _pgr_dijkstra( edges_sql TEXT, combinations_sql TEXT, directed BOOLEAN DEFAULT true, diff --git a/sql/dijkstra/dijkstra.sql b/sql/dijkstra/dijkstra.sql index d9ee1a1592c..84d61cceeed 100644 --- a/sql/dijkstra/dijkstra.sql +++ b/sql/dijkstra/dijkstra.sql @@ -133,7 +133,8 @@ COST 100 ROWS 1000; -- Combinations SQL signature -CREATE OR REPLACE FUNCTION pgr_dijkstra( +--v3.1 +CREATE FUNCTION pgr_dijkstra( TEXT, -- edges_sql (required) TEXT, -- combinations_sql (required) diff --git a/sql/dijkstra/dijkstraCost.sql b/sql/dijkstra/dijkstraCost.sql index 144f945a5fc..09247ad2059 100644 --- a/sql/dijkstra/dijkstraCost.sql +++ b/sql/dijkstra/dijkstraCost.sql @@ -121,7 +121,8 @@ COST 100 ROWS 1000; -- Combinations SQL signature -CREATE OR REPLACE FUNCTION pgr_dijkstraCost( +--v3.1 +CREATE FUNCTION pgr_dijkstraCost( TEXT, -- edges_sql (required) TEXT, -- combinations_sql (required) diff --git a/sql/sigs/pgrouting--3.1.1.sig b/sql/sigs/pgrouting--3.1.1.sig deleted file mode 100644 index 20f8a111bec..00000000000 --- a/sql/sigs/pgrouting--3.1.1.sig +++ /dev/null @@ -1,239 +0,0 @@ -#VERSION pgrouting 3.1.1 -#TYPES -#FUNCTIONS -pgr_alphashape(geometry,double precision) -_pgr_alphashape(text,double precision) -pgr_analyzegraph(text,double precision,text,text,text,text,text) -pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) -_pgr_array_reverse(anyarray) -_pgr_articulationpoints(text) -pgr_articulationpoints(text) -pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) -_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) -pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) -pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) -pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) -_pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) -pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) -pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) -pgr_bddijkstracostmatrix(text,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,anyarray,boolean) -pgr_bddijkstracost(text,anyarray,bigint,boolean) -pgr_bddijkstracost(text,bigint,anyarray,boolean) -pgr_bddijkstracost(text,bigint,bigint,boolean) -pgr_bddijkstra(text,anyarray,anyarray,boolean) -_pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) -pgr_bddijkstra(text,anyarray,bigint,boolean) -pgr_bddijkstra(text,bigint,anyarray,boolean) -pgr_bddijkstra(text,bigint,bigint,boolean) -pgr_bellmanford(text,anyarray,anyarray,boolean) -_pgr_bellmanford(text,anyarray,anyarray,boolean,boolean) -pgr_bellmanford(text,anyarray,bigint,boolean) -pgr_bellmanford(text,bigint,anyarray,boolean) -pgr_bellmanford(text,bigint,bigint,boolean) -_pgr_biconnectedcomponents(text) -pgr_biconnectedcomponents(text) -_pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) -pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) -pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) -_pgr_boost_version() -pgr_boykovkolmogorov(text,anyarray,anyarray) -pgr_boykovkolmogorov(text,anyarray,bigint) -pgr_boykovkolmogorov(text,bigint,anyarray) -pgr_boykovkolmogorov(text,bigint,bigint) -_pgr_breadthfirstsearch(text,anyarray,bigint,boolean) -pgr_breadthfirstsearch(text,anyarray,bigint,boolean) -pgr_breadthfirstsearch(text,bigint,bigint,boolean) -_pgr_bridges(text) -pgr_bridges(text) -_pgr_build_type() -_pgr_checkverttab(text,text[],integer,text) -pgr_chinesepostmancost(text) -pgr_chinesepostman(text) -_pgr_chinesepostman(text,boolean) -_pgr_compilation_date() -_pgr_compiler_version() -_pgr_connectedcomponents(text) -pgr_connectedcomponents(text) -_pgr_contraction(text,bigint[],integer,bigint[],boolean) -pgr_contraction(text,bigint[],integer,bigint[],boolean) -_pgr_createindex(text,text,text,integer,text) -_pgr_createindex(text,text,text,text,integer,text) -pgr_createtopology(text,double precision,text,text,text,text,text,boolean) -pgr_createverticestable(text,text,text,text,text) -pgr_dagshortestpath(text,anyarray,anyarray) -_pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) -pgr_dagshortestpath(text,anyarray,bigint) -pgr_dagshortestpath(text,bigint,anyarray) -pgr_dagshortestpath(text,bigint,bigint) -pgr_dijkstracostmatrix(text,anyarray,boolean) -pgr_dijkstracost(text,anyarray,anyarray,boolean) -pgr_dijkstracost(text,anyarray,bigint,boolean) -pgr_dijkstracost(text,bigint,anyarray,boolean) -pgr_dijkstracost(text,bigint,bigint,boolean) -pgr_dijkstracost(text,text,boolean) -_pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean) -_pgr_dijkstranear(text,anyarray,bigint,bigint,boolean) -_pgr_dijkstranear(text,bigint,anyarray,bigint,boolean) -pgr_dijkstra(text,anyarray,anyarray,boolean) -_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint) -pgr_dijkstra(text,anyarray,bigint,boolean) -pgr_dijkstra(text,bigint,anyarray,boolean) -pgr_dijkstra(text,bigint,bigint,boolean) -pgr_dijkstra(text,text,boolean) -_pgr_dijkstra(text,text,boolean,boolean,boolean) -_pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) -_pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) -pgr_drivingdistance(text,bigint,double precision,boolean) -_pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) -pgr_edgedisjointpaths(text,anyarray,bigint,boolean) -pgr_edgedisjointpaths(text,bigint,anyarray,boolean) -pgr_edgedisjointpaths(text,bigint,bigint,boolean) -pgr_edmondskarp(text,anyarray,anyarray) -pgr_edmondskarp(text,anyarray,bigint) -pgr_edmondskarp(text,bigint,anyarray) -pgr_edmondskarp(text,bigint,bigint) -_pgr_edwardmoore(text,anyarray,anyarray,boolean) -pgr_edwardmoore(text,anyarray,anyarray,boolean) -pgr_edwardmoore(text,anyarray,bigint,boolean) -pgr_edwardmoore(text,bigint,anyarray,boolean) -pgr_edwardmoore(text,bigint,bigint,boolean) -_pgr_endpoint(geometry) -pgr_extractvertices(text,boolean) -_pgr_floydwarshall(text,boolean) -pgr_floydwarshall(text,boolean) -pgr_full_version() -_pgr_getcolumnname(text,text,integer,text) -_pgr_getcolumnname(text,text,text,integer,text) -_pgr_getcolumntype(text,text,integer,text) -_pgr_getcolumntype(text,text,text,integer,text) -_pgr_get_statement(text) -_pgr_gettablename(text,integer,text) -_pgr_git_hash() -_pgr_iscolumnindexed(text,text,integer,text) -_pgr_iscolumnindexed(text,text,text,integer,text) -_pgr_iscolumnintable(text,text) -_pgr_johnson(text,boolean) -pgr_johnson(text,boolean) -pgr_kruskalbfs(text,anyarray,bigint) -pgr_kruskalbfs(text,bigint,bigint) -pgr_kruskaldd(text,anyarray,double precision) -pgr_kruskaldd(text,anyarray,numeric) -pgr_kruskaldd(text,bigint,double precision) -pgr_kruskaldd(text,bigint,numeric) -pgr_kruskaldfs(text,anyarray,bigint) -pgr_kruskaldfs(text,bigint,bigint) -pgr_kruskal(text) -_pgr_kruskal(text,anyarray,text,bigint,double precision) -_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -pgr_ksp(text,bigint,bigint,integer,boolean,boolean) -_pgr_lib_version() -_pgr_linegraphfull(text) -pgr_linegraphfull(text) -_pgr_linegraph(text,boolean) -pgr_linegraph(text,boolean) -_pgr_maxcardinalitymatch(text,boolean) -pgr_maxcardinalitymatch(text,boolean) -pgr_maxflowmincost_cost(text,anyarray,anyarray) -pgr_maxflowmincost_cost(text,anyarray,bigint) -pgr_maxflowmincost_cost(text,bigint,anyarray) -pgr_maxflowmincost_cost(text,bigint,bigint) -pgr_maxflowmincost(text,anyarray,anyarray) -_pgr_maxflowmincost(text,anyarray,anyarray,boolean) -pgr_maxflowmincost(text,anyarray,bigint) -pgr_maxflowmincost(text,bigint,anyarray) -pgr_maxflowmincost(text,bigint,bigint) -pgr_maxflow(text,anyarray,anyarray) -_pgr_maxflow(text,anyarray,anyarray,integer,boolean) -pgr_maxflow(text,anyarray,bigint) -pgr_maxflow(text,bigint,anyarray) -pgr_maxflow(text,bigint,bigint) -_pgr_msg(integer,text,text) -pgr_nodenetwork(text,double precision,text,text,text,text,boolean) -_pgr_onerror(boolean,integer,text,text,text,text) -_pgr_operating_system() -_pgr_parameter_check(text,text,boolean) -_pgr_pgsql_version() -_pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -pgr_pickdelivereuclidean(text,text,double precision,integer,integer) -_pgr_pickdeliver(text,text,text,double precision,integer,integer) -pgr_pickdeliver(text,text,text,double precision,integer,integer) -_pgr_pointtoid(geometry,double precision,text,integer) -pgr_primbfs(text,anyarray,bigint) -pgr_primbfs(text,bigint,bigint) -pgr_primdd(text,anyarray,double precision) -pgr_primdd(text,anyarray,numeric) -pgr_primdd(text,bigint,double precision) -pgr_primdd(text,bigint,numeric) -pgr_primdfs(text,anyarray,bigint) -pgr_primdfs(text,bigint,bigint) -pgr_prim(text) -_pgr_prim(text,anyarray,text,bigint,double precision) -pgr_pushrelabel(text,anyarray,anyarray) -pgr_pushrelabel(text,anyarray,bigint) -pgr_pushrelabel(text,bigint,anyarray) -pgr_pushrelabel(text,bigint,bigint) -_pgr_quote_ident(text) -_pgr_startpoint(geometry) -_pgr_stoerwagner(text) -pgr_stoerwagner(text) -_pgr_strongcomponents(text) -pgr_strongcomponents(text) -_pgr_topologicalsort(text) -pgr_topologicalsort(text) -_pgr_transitiveclosure(text) -pgr_transitiveclosure(text) -_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) -pgr_trsp(text,integer,integer,boolean,boolean,text) -_pgr_trsp(text,text,anyarray,anyarray,boolean) -_pgr_trsp(text,text,anyarray,bigint,boolean) -_pgr_trsp(text,text,bigint,anyarray,boolean) -_pgr_trsp(text,text,bigint,bigint,boolean) -pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) -pgr_trspviavertices(text,anyarray,boolean,boolean,text) -_pgr_trspviavertices(text,integer[],boolean,boolean,text) -_pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -_pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) -_pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) -pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) -pgr_version() -_pgr_versionless(text,text) -_pgr_vrponedepot(text,text,text,integer) -pgr_vrponedepot(text,text,text,integer) -pgr_withpointscostmatrix(text,text,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) -pgr_withpointscost(text,text,anyarray,bigint,boolean,character) -pgr_withpointscost(text,text,bigint,anyarray,boolean,character) -pgr_withpointscost(text,text,bigint,bigint,boolean,character) -_pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) -pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) -_pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) -pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) -_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean,boolean) -pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) -pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) -pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) -_pgr_withpointsvia(text,bigint[],double precision[],boolean) -_trsp(text,text,anyarray,anyarray,boolean) diff --git a/sql/sigs/pgrouting--3.1.0.sig b/sql/sigs/pgrouting--3.1.sig similarity index 99% rename from sql/sigs/pgrouting--3.1.0.sig rename to sql/sigs/pgrouting--3.1.sig index a4442e2cc14..672270ff22d 100644 --- a/sql/sigs/pgrouting--3.1.0.sig +++ b/sql/sigs/pgrouting--3.1.sig @@ -1,6 +1,3 @@ -#VERSION pgrouting 3.1.0 -#TYPES -#FUNCTIONS pgr_alphashape(geometry,double precision) _pgr_alphashape(text,double precision) pgr_analyzegraph(text,double precision,text,text,text,text,text) From 92bd7068f5a61a828fbca3c2ad66bd78abbe06db Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 16 Nov 2020 20:22:20 -0600 Subject: [PATCH 1003/1360] [build] Improved update script generator 3.2 fns --- CMakeLists.txt | 4 ++-- sql/coloring/_bipartite.sql | 3 ++- sql/coloring/_sequentialVertexColoring.sql | 3 ++- sql/coloring/bipartite.sql | 3 ++- sql/coloring/sequentialVertexColoring.sql | 3 ++- sql/components/_makeConnected.sql | 3 ++- sql/components/makeConnected.sql | 3 ++- sql/dijkstra/_dijkstra.sql | 8 +++++--- sql/dijkstra/dijkstraNear.sql | 12 ++++++++---- sql/dijkstra/dijkstraNearCost.sql | 12 ++++++++---- sql/dominator/_lengauerTarjanDominatorTree.sql | 3 ++- sql/dominator/lengauerTarjanDominatorTree.sql | 3 ++- sql/planar/_boyerMyrvold.sql | 3 ++- sql/planar/_isPlanar.sql | 3 ++- sql/planar/boyerMyrvold.sql | 3 ++- sql/planar/isPlanar.sql | 3 ++- .../{pgrouting--3.2.0.sig => pgrouting--3.2.sig} | 3 --- sql/traversal/_depthFirstSearch.sql | 3 ++- sql/traversal/depthFirstSearch.sql | 6 ++++-- sql/withPoints/_withPoints.sql | 3 ++- sql/withPoints/withPoints.sql | 3 ++- sql/withPoints/withPointsCost.sql | 3 ++- 22 files changed, 59 insertions(+), 34 deletions(-) rename sql/sigs/{pgrouting--3.2.0.sig => pgrouting--3.2.sig} (99%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e2abc822d9..9a11bcb664c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,9 +45,9 @@ set(PGROUTING_LIB_NAME "pgrouting-${PGROUTING_LIB_VERSION}") string(TIMESTAMP COMPILATION_DATE "%Y/%m/%d") -set(MINORS 3.1 3.0 2.6) +set(MINORS 3.2 3.1 3.0 2.6) set(OLD_SIGNATURES - 3.1.0 + 3.1.1 3.1.0 3.0.3 3.0.2 3.0.1 3.0.0 2.6.3 2.6.2 2.6.1 2.6.0 ) diff --git a/sql/coloring/_bipartite.sql b/sql/coloring/_bipartite.sql index 37a41d76083..213afa6970f 100644 --- a/sql/coloring/_bipartite.sql +++ b/sql/coloring/_bipartite.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- _pgr_bipartite --------------- -CREATE OR REPLACE FUNCTION _pgr_bipartite( +--v3.2 +CREATE FUNCTION _pgr_bipartite( edges_sql TEXT, OUT node BIGINT, diff --git a/sql/coloring/_sequentialVertexColoring.sql b/sql/coloring/_sequentialVertexColoring.sql index 2e39f917f0c..0790a3d923e 100644 --- a/sql/coloring/_sequentialVertexColoring.sql +++ b/sql/coloring/_sequentialVertexColoring.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------------------------------- -CREATE OR REPLACE FUNCTION _pgr_sequentialVertexColoring( +--v3.2 +CREATE FUNCTION _pgr_sequentialVertexColoring( edges_sql TEXT, OUT vertex_id BIGINT, diff --git a/sql/coloring/bipartite.sql b/sql/coloring/bipartite.sql index ffc727033af..f6dc5089efe 100644 --- a/sql/coloring/bipartite.sql +++ b/sql/coloring/bipartite.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_bipartite --------------- -CREATE OR REPLACE FUNCTION pgr_bipartite( +--v3.2 +CREATE FUNCTION pgr_bipartite( TEXT, -- edges_sql (required) OUT vertex_id BIGINT, diff --git a/sql/coloring/sequentialVertexColoring.sql b/sql/coloring/sequentialVertexColoring.sql index 5dfb23899c4..2f53413da23 100644 --- a/sql/coloring/sequentialVertexColoring.sql +++ b/sql/coloring/sequentialVertexColoring.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ---------------------------------- -CREATE OR REPLACE FUNCTION pgr_sequentialVertexColoring( +--v3.2 +CREATE FUNCTION pgr_sequentialVertexColoring( TEXT, -- edges_sql (required) OUT vertex_id BIGINT, diff --git a/sql/components/_makeConnected.sql b/sql/components/_makeConnected.sql index 2b9e068f456..873e7294db5 100644 --- a/sql/components/_makeConnected.sql +++ b/sql/components/_makeConnected.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------- ------------------------- -CREATE OR REPLACE FUNCTION _pgr_makeConnected( +--v3.2 +CREATE FUNCTION _pgr_makeConnected( TEXT, -- edges_sql (required) OUT seq BIGINT, diff --git a/sql/components/makeConnected.sql b/sql/components/makeConnected.sql index 6091179f794..ee5991d6be2 100644 --- a/sql/components/makeConnected.sql +++ b/sql/components/makeConnected.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_makeConnected ------------------ -CREATE OR REPLACE FUNCTION pgr_makeConnected( +--v3.2 +CREATE FUNCTION pgr_makeConnected( TEXT, -- edges_sql (required) OUT seq BIGINT, OUT start_vid BIGINT, diff --git a/sql/dijkstra/_dijkstra.sql b/sql/dijkstra/_dijkstra.sql index 6d6e9adee6d..524cb99d718 100644 --- a/sql/dijkstra/_dijkstra.sql +++ b/sql/dijkstra/_dijkstra.sql @@ -34,7 +34,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- --------------- ---v3.0 +--v3.2 CREATE FUNCTION _pgr_dijkstra( edges_sql TEXT, start_vids ANYARRAY, @@ -58,7 +58,8 @@ RETURNS SETOF RECORD AS LANGUAGE C VOLATILE STRICT; -CREATE OR REPLACE FUNCTION _pgr_dijkstra( +--v3.2 +CREATE FUNCTION _pgr_dijkstra( edges_sql TEXT, combinations_sql TEXT, directed BOOLEAN, @@ -88,7 +89,8 @@ IS 'pgRouting internal function'; /** The following are kept for backward compatibility on signatures **/ -CREATE OR REPLACE FUNCTION _pgr_dijkstra( +--v3.0 +CREATE FUNCTION _pgr_dijkstra( edges_sql TEXT, start_vids ANYARRAY, end_vids ANYARRAY, diff --git a/sql/dijkstra/dijkstraNear.sql b/sql/dijkstra/dijkstraNear.sql index 4e7cc80a0ed..91c9aa195b9 100644 --- a/sql/dijkstra/dijkstraNear.sql +++ b/sql/dijkstra/dijkstraNear.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------------- -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_dijkstraNear( +--v3.2 +CREATE FUNCTION pgr_dijkstraNear( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -55,7 +56,8 @@ COST 100 ROWS 1000; -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_dijkstraNear( +--v3.2 +CREATE FUNCTION pgr_dijkstraNear( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -81,7 +83,8 @@ COST 100 ROWS 1000; -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_dijkstraNear( +--v3.2 +CREATE FUNCTION pgr_dijkstraNear( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) @@ -108,7 +111,8 @@ COST 100 ROWS 1000; -- Combinations SQL signature -CREATE OR REPLACE FUNCTION pgr_dijkstraNear( +--v3.2 +CREATE FUNCTION pgr_dijkstraNear( TEXT, -- edges_sql (required) TEXT, -- combinations_sql (required) diff --git a/sql/dijkstra/dijkstraNearCost.sql b/sql/dijkstra/dijkstraNearCost.sql index b16703581cc..ec4f2aa1842 100644 --- a/sql/dijkstra/dijkstraNearCost.sql +++ b/sql/dijkstra/dijkstraNearCost.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -------------------- -- ONE to MANY -CREATE OR REPLACE FUNCTION pgr_dijkstraNearCost( +--v3.2 +CREATE FUNCTION pgr_dijkstraNearCost( TEXT, -- edges_sql (required) BIGINT, -- from_vid (required) ANYARRAY, -- to_vids (required) @@ -50,7 +51,8 @@ COST 100 ROWS 1000; -- MANY to ONE -CREATE OR REPLACE FUNCTION pgr_dijkstraNearCost( +--v3.2 +CREATE FUNCTION pgr_dijkstraNearCost( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) BIGINT, -- to_vid (required) @@ -71,7 +73,8 @@ COST 100 ROWS 1000; -- MANY to MANY -CREATE OR REPLACE FUNCTION pgr_dijkstraNearCost( +--v3.2 +CREATE FUNCTION pgr_dijkstraNearCost( TEXT, -- edges_sql (required) ANYARRAY, -- from_vids (required) ANYARRAY, -- to_vids (required) @@ -93,7 +96,8 @@ COST 100 ROWS 1000; -- Combinations SQL signature -CREATE OR REPLACE FUNCTION pgr_dijkstraNearCost( +--v3.2 +CREATE FUNCTION pgr_dijkstraNearCost( TEXT, -- edges_sql (required) TEXT, -- combinations_sql (required) diff --git a/sql/dominator/_lengauerTarjanDominatorTree.sql b/sql/dominator/_lengauerTarjanDominatorTree.sql index 8fad6bee81a..e245ffe73ab 100644 --- a/sql/dominator/_lengauerTarjanDominatorTree.sql +++ b/sql/dominator/_lengauerTarjanDominatorTree.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -- _pgr_lengauerTarjanDominatorTree --------------- -CREATE OR REPLACE FUNCTION _pgr_lengauerTarjanDominatorTree ( +--v3.2 +CREATE FUNCTION _pgr_lengauerTarjanDominatorTree ( edges_sql TEXT, -- edges_sql (required) root_vid BIGINT , -- vertex (required) OUT seq integer, diff --git a/sql/dominator/lengauerTarjanDominatorTree.sql b/sql/dominator/lengauerTarjanDominatorTree.sql index 5b2e94a9210..f3442d12976 100644 --- a/sql/dominator/lengauerTarjanDominatorTree.sql +++ b/sql/dominator/lengauerTarjanDominatorTree.sql @@ -29,7 +29,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------- -- pgr_lengauerTarjanDominatorTree --------------- -CREATE OR REPLACE FUNCTION pgr_lengauerTarjanDominatorTree( +--v3.2 +CREATE FUNCTION pgr_lengauerTarjanDominatorTree( TEXT, -- edges_sql (required) BIGINT, -- start_vid (required) OUT seq integer, diff --git a/sql/planar/_boyerMyrvold.sql b/sql/planar/_boyerMyrvold.sql index fd8a7d1876c..9856406a37a 100644 --- a/sql/planar/_boyerMyrvold.sql +++ b/sql/planar/_boyerMyrvold.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------- ------------------------- -CREATE OR REPLACE FUNCTION _pgr_boyerMyrvold( +--v3.2 +CREATE FUNCTION _pgr_boyerMyrvold( TEXT, -- edges_sql (required) OUT seq BIGINT, diff --git a/sql/planar/_isPlanar.sql b/sql/planar/_isPlanar.sql index 928e41ca9dc..250b0aab357 100644 --- a/sql/planar/_isPlanar.sql +++ b/sql/planar/_isPlanar.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ------------------------- ------------------------- -CREATE OR REPLACE FUNCTION _pgr_isPlanar( +--v3.2 +CREATE FUNCTION _pgr_isPlanar( TEXT -- edges_sql (required) ) diff --git a/sql/planar/boyerMyrvold.sql b/sql/planar/boyerMyrvold.sql index ca7af1628b7..1817116b5fd 100644 --- a/sql/planar/boyerMyrvold.sql +++ b/sql/planar/boyerMyrvold.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_boyerMyrvold ------------------ -CREATE OR REPLACE FUNCTION pgr_boyerMyrvold( +--v3.2 +CREATE FUNCTION pgr_boyerMyrvold( TEXT, -- edges_sql (required) OUT seq BIGINT, OUT source BIGINT, diff --git a/sql/planar/isPlanar.sql b/sql/planar/isPlanar.sql index 19acf5f761b..13f6027afde 100644 --- a/sql/planar/isPlanar.sql +++ b/sql/planar/isPlanar.sql @@ -30,7 +30,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- pgr_isPlanar ------------------ -CREATE OR REPLACE FUNCTION pgr_isPlanar( +--v3.2 +CREATE FUNCTION pgr_isPlanar( TEXT -- edges_sql (required) ) diff --git a/sql/sigs/pgrouting--3.2.0.sig b/sql/sigs/pgrouting--3.2.sig similarity index 99% rename from sql/sigs/pgrouting--3.2.0.sig rename to sql/sigs/pgrouting--3.2.sig index f4f194325d6..c390dfacd9d 100644 --- a/sql/sigs/pgrouting--3.2.0.sig +++ b/sql/sigs/pgrouting--3.2.sig @@ -1,6 +1,3 @@ -#VERSION pgrouting 3.2.0 -#TYPES -#FUNCTIONS pgr_alphashape(geometry,double precision) _pgr_alphashape(text,double precision) pgr_analyzegraph(text,double precision,text,text,text,text,text) diff --git a/sql/traversal/_depthFirstSearch.sql b/sql/traversal/_depthFirstSearch.sql index 05f07c5d9e0..40e33b5ff30 100644 --- a/sql/traversal/_depthFirstSearch.sql +++ b/sql/traversal/_depthFirstSearch.sql @@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------------------- -CREATE OR REPLACE FUNCTION _pgr_depthFirstSearch( +--v3.2 +CREATE FUNCTION _pgr_depthFirstSearch( edges_sql TEXT, root_vids ANYARRAY, diff --git a/sql/traversal/depthFirstSearch.sql b/sql/traversal/depthFirstSearch.sql index 0115c040839..00bb1f4878c 100644 --- a/sql/traversal/depthFirstSearch.sql +++ b/sql/traversal/depthFirstSearch.sql @@ -33,7 +33,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- SINGLE VERTEX -CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( +--v3.2 +CREATE FUNCTION pgr_depthFirstSearch( TEXT, -- edges_sql (required) BIGINT, -- root_vid (required) @@ -65,7 +66,8 @@ LANGUAGE plpgsql VOLATILE STRICT; -- MULTIPLE VERTICES -CREATE OR REPLACE FUNCTION pgr_depthFirstSearch( +--v3.2 +CREATE FUNCTION pgr_depthFirstSearch( TEXT, -- edges_sql (required) ANYARRAY, -- root_vids (required) diff --git a/sql/withPoints/_withPoints.sql b/sql/withPoints/_withPoints.sql index 83255069afd..b107e0dcb8d 100644 --- a/sql/withPoints/_withPoints.sql +++ b/sql/withPoints/_withPoints.sql @@ -67,7 +67,8 @@ RETURNS SETOF RECORD AS LANGUAGE c VOLATILE; -CREATE OR REPLACE FUNCTION _pgr_withPoints( +--v3.2 +CREATE FUNCTION _pgr_withPoints( edges_sql TEXT, points_sql TEXT, combinations_sql TEXT, diff --git a/sql/withPoints/withPoints.sql b/sql/withPoints/withPoints.sql index e8afcc90a53..0e4349bfc3e 100644 --- a/sql/withPoints/withPoints.sql +++ b/sql/withPoints/withPoints.sql @@ -151,7 +151,8 @@ ROWS 1000; -- Combinations SQL signature -CREATE OR REPLACE FUNCTION pgr_withPoints( +--v3.2 +CREATE FUNCTION pgr_withPoints( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) TEXT, -- combinations_sql (required) diff --git a/sql/withPoints/withPointsCost.sql b/sql/withPoints/withPointsCost.sql index 233667b8748..2f1a51d976e 100644 --- a/sql/withPoints/withPointsCost.sql +++ b/sql/withPoints/withPointsCost.sql @@ -130,7 +130,8 @@ ROWS 1000; -- Combinations SQL signature -CREATE OR REPLACE FUNCTION pgr_withPointsCost( +--v3.2 +CREATE FUNCTION pgr_withPointsCost( TEXT, -- edges_sql (required) TEXT, -- points_sql (required) TEXT, -- combinations_sql (required) From 228187506c07b22d7419f9033f65cce9563fc2a9 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 9 Nov 2020 18:08:54 +0530 Subject: [PATCH 1004/1360] [astar][sql] Added Combinations SQL signature --- sql/astar/_astar.sql | 26 ++++++++++++++++++++++++++ sql/astar/astar.sql | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/sql/astar/_astar.sql b/sql/astar/_astar.sql index 37a27922c6d..8166ea955f7 100644 --- a/sql/astar/_astar.sql +++ b/sql/astar/_astar.sql @@ -64,7 +64,33 @@ RETURNS SETOF RECORD AS 'MODULE_PATHNAME' LANGUAGE c VOLATILE STRICT; + +CREATE OR REPLACE FUNCTION _pgr_astar( + edges_sql TEXT, -- XY edges sql + combinations_sql TEXT, + + directed BOOLEAN DEFAULT true, + heuristic INTEGER DEFAULT 5, + factor FLOAT DEFAULT 1.0, + epsilon FLOAT DEFAULT 1.0, + only_cost BOOLEAN DEFAULT false, + + OUT seq 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 VOLATILE STRICT; + -- COMMENTS COMMENT ON FUNCTION _pgr_astar(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, INTEGER, FLOAT, FLOAT, BOOLEAN, BOOLEAN) IS 'pgRouting internal function'; + +COMMENT ON FUNCTION _pgr_astar(TEXT, TEXT, BOOLEAN, INTEGER, FLOAT, FLOAT, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/astar/astar.sql b/sql/astar/astar.sql index eeb02a8bfe7..d429f1f421f 100644 --- a/sql/astar/astar.sql +++ b/sql/astar/astar.sql @@ -148,6 +148,35 @@ COST 100 ROWS 1000; +-- Combanations SQL signature +CREATE OR REPLACE FUNCTION pgr_aStar( + TEXT, -- edges sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + heuristic INTEGER DEFAULT 5, + factor FLOAT DEFAULT 1.0, + epsilon FLOAT DEFAULT 1.0, + + OUT seq 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 * + FROM _pgr_aStar(_pgr_get_statement($1), _pgr_get_statement($2), $3, $4, $5::FLOAT, $6::FLOAT) AS a; +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + + -- COMMENTS @@ -213,3 +242,18 @@ IS 'pgr_aStar(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_aStar.html '; + + +COMMENT ON FUNCTION pgr_aStar(TEXT, TEXT, BOOLEAN, INTEGER, FLOAT, FLOAT) +IS 'pgr_aStar(Combinations) + - Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 + - Combinations SQL with columns: source, target + - Optional Parameters: + - directed := true + - heuristic := 5 + - factor := 1 + - epsilon := 1 + - Documentation: + - ${PGROUTING_DOC_LINK}/pgr_aStar.html +'; From 6efc7c97aabaabc86d136f0ae9f5dea9df74bd1f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 9 Nov 2020 18:09:33 +0530 Subject: [PATCH 1005/1360] [astarCost][sql] Added Combinations SQL signature --- sql/astar/astarCost.sql | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/sql/astar/astarCost.sql b/sql/astar/astarCost.sql index a45ac27d6bb..30afbb66a4c 100644 --- a/sql/astar/astarCost.sql +++ b/sql/astar/astarCost.sql @@ -137,6 +137,30 @@ COST 100 ROWS 1000; +CREATE OR REPLACE FUNCTION pgr_aStarCost( + TEXT, -- edges sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + heuristic INTEGER DEFAULT 5, + factor FLOAT DEFAULT 1.0, + epsilon FLOAT DEFAULT 1.0, + + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT agg_cost FLOAT) + +RETURNS SETOF RECORD AS +$BODY$ + SELECT a.start_vid, a.end_vid, a.agg_cost + FROM _pgr_aStar(_pgr_get_statement($1), _pgr_get_statement($2), $3, $4, $5::FLOAT, $6::FLOAT, true) AS a + ORDER BY a.start_vid, a.end_vid; +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + + -- COMMENTS COMMENT ON FUNCTION pgr_aStarCost(TEXT, BIGINT, BIGINT, BOOLEAN, INTEGER, FLOAT, FLOAT) @@ -201,3 +225,18 @@ IS 'pgr_aStarCost(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_aStarCost.html '; + + +COMMENT ON FUNCTION pgr_aStarCost(TEXT, TEXT, BOOLEAN, INTEGER, FLOAT, FLOAT) +IS 'pgr_aStarCost(Combinations) + - Parameters: + - edges SQL with columns: id, source, target, cost [,reverse_cost], x1, y1, x2, y2 + - Combinations SQL with columns: source, target + - Optional Parameters: + - directed := true + - heuristic := 5 + - factor := 1 + - epsilon := 1 + - Documentation: + - ${PGROUTING_DOC_LINK}/pgr_aStarCost.html +'; From ce0942610559a83e3647fe78adf5a439cd469011 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 10 Nov 2020 01:13:41 +0530 Subject: [PATCH 1006/1360] [astar] Updated v3.2.0 signature file --- sql/sigs/pgrouting--3.2.sig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sql/sigs/pgrouting--3.2.sig b/sql/sigs/pgrouting--3.2.sig index c390dfacd9d..759e1df9b12 100644 --- a/sql/sigs/pgrouting--3.2.sig +++ b/sql/sigs/pgrouting--3.2.sig @@ -10,11 +10,14 @@ pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double pre pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) +pgr_astarcost(text,text,boolean,integer,double precision,double precision) pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) _pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean,boolean) pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) +pgr_astar(text,text,boolean,integer,double precision,double precision) +_pgr_astar(text,text,boolean,integer,double precision,double precision,boolean) pgr_bdastarcostmatrix(text,anyarray,boolean,integer,numeric,numeric) pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) From b1cf2f9d24a7f9d3a68359b232e0a431bb8d2143 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 10 Nov 2020 15:21:50 +0530 Subject: [PATCH 1007/1360] [astar][code] Updated code for combinations signature --- include/astar/pgr_astar.hpp | 34 +++++++++++++++ include/drivers/astar/astar_driver.h | 5 +++ src/astar/astar.c | 63 ++++++++++++++++++++-------- src/astar/astar_driver.cpp | 15 +++++-- 4 files changed, 95 insertions(+), 22 deletions(-) diff --git a/include/astar/pgr_astar.hpp b/include/astar/pgr_astar.hpp index 0a9c464098e..30ae0080f95 100644 --- a/include/astar/pgr_astar.hpp +++ b/include/astar/pgr_astar.hpp @@ -164,6 +164,40 @@ class Pgr_astar { }); return paths; } + + // preparation for parallel arrays + std::deque astar( + G &graph, + const std::vector &combinations, + int heuristic, + double factor, + double epsilon, + bool only_cost) { + // a call to 1 to many is faster for each of the sources + std::deque paths; + + // group targets per distinct source + std::map< int64_t, std::vector > vertex_map; + for (const pgr_combination_t &comb : combinations) { + std::map< int64_t, std::vector >::iterator it = vertex_map.find(comb.source); + if (it != vertex_map.end()) { + it->second.push_back(comb.target); + } else { + std::vector targets{comb.target}; + vertex_map[comb.source] = targets; + } + } + + for (const auto &start_ends : vertex_map) { + auto r_paths = astar( + graph, + start_ends.first, start_ends.second, + heuristic, factor, epsilon, only_cost); + paths.insert(paths.begin(), r_paths.begin(), r_paths.end()); + } + + return paths; + } //@} diff --git a/include/drivers/astar/astar_driver.h b/include/drivers/astar/astar_driver.h index e26d1c09214..141ea3ace68 100644 --- a/include/drivers/astar/astar_driver.h +++ b/include/drivers/astar/astar_driver.h @@ -38,6 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_xy_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/general_path_element_t.h" @@ -54,6 +55,10 @@ extern "C" { void do_pgr_astarManyToMany( Pgr_edge_xy_t *data_edges, size_t total_edges, + + pgr_combination_t *combinations, + size_t total_combinations, + int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, size_t size_end_vidsArr, bool directed, diff --git a/src/astar/astar.c b/src/astar/astar.c index 5632ecc1285..1ca4941569b 100644 --- a/src/astar/astar.c +++ b/src/astar/astar.c @@ -36,6 +36,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/time_msg.h" #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "c_common/combinations_input.h" #include "c_common/check_parameters.h" #include "drivers/astar/astar_driver.h" @@ -70,6 +71,7 @@ check_parameters( static void process(char* edges_sql, + char* combinations_sql, ArrayType *starts, ArrayType *ends, bool directed, @@ -93,12 +95,19 @@ process(char* edges_sql, Pgr_edge_xy_t *edges = NULL; size_t total_edges = 0; + pgr_combination_t *combinations = NULL; + size_t total_combinations = 0; + if (normal) { pgr_get_edges_xy(edges_sql, &edges, &total_edges); - start_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_start_vidsArr, starts); - end_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_end_vidsArr, ends); + if (starts && ends) { + start_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_start_vidsArr, starts); + end_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_end_vidsArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + } } else { pgr_get_edges_xy_reversed(edges_sql, &edges, &total_edges); end_vidsArr = (int64_t*) @@ -122,6 +131,9 @@ process(char* edges_sql, clock_t start_t = clock(); do_pgr_astarManyToMany( edges, total_edges, + + combinations, total_combinations, + start_vidsArr, size_start_vidsArr, end_vidsArr, size_end_vidsArr, directed, @@ -136,9 +148,9 @@ process(char* edges_sql, &err_msg); if (only_cost) { - time_msg("processing pgr_astarCost(many to many)", start_t, clock()); + time_msg("processing pgr_astarCost", start_t, clock()); } else { - time_msg("processing pgr_astar(many to many)", start_t, clock()); + time_msg("processing pgr_astar", start_t, clock()); } @@ -176,20 +188,14 @@ _pgr_astar(PG_FUNCTION_ARGS) { oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - /* - edges_sql TEXT, - start_vids ARRAY[ANY_INTEGER], -- anyarray - end_vids ARRAY[ANY_INTEGER], -- anyarray - directed BOOLEAN DEFAULT true, - heuristic INTEGER DEFAULT 0, - factor FLOAT DEFAULT 1.0, - epsilon FLOAT DEFAULT 1.0, - - **********************************************************************/ + if (PG_NARGS() == 9) { + /* + * many to many + */ - process( + process( text_to_cstring(PG_GETARG_TEXT_P(0)), + NULL, PG_GETARG_ARRAYTYPE_P(1), PG_GETARG_ARRAYTYPE_P(2), PG_GETARG_BOOL(3), @@ -201,6 +207,27 @@ _pgr_astar(PG_FUNCTION_ARGS) { &result_tuples, &result_count); + } else if (PG_NARGS() == 7) { + /* + * Combinations + */ + + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, + NULL, + PG_GETARG_BOOL(2), + PG_GETARG_INT32(3), + PG_GETARG_FLOAT8(4), + PG_GETARG_FLOAT8(5), + PG_GETARG_BOOL(6), + true, + &result_tuples, + &result_count); + + } + #if PGSQL_VERSION > 95 funcctx->max_calls = result_count; diff --git a/src/astar/astar_driver.cpp b/src/astar/astar_driver.cpp index 10099dc3cd5..cee5fb5d3d2 100644 --- a/src/astar/astar_driver.cpp +++ b/src/astar/astar_driver.cpp @@ -45,6 +45,7 @@ template < class G > std::deque pgr_astar( G &graph, + std::vector &combinations, std::vector sources, std::vector targets, int heuristic, @@ -63,8 +64,9 @@ pgr_astar( targets.end()); pgrouting::algorithms::Pgr_astar< G > fn_astar; - auto paths = fn_astar.astar(graph, sources, targets, - heuristic, factor, epsilon, only_cost); + auto paths = combinations.empty() ? + fn_astar.astar(graph, sources, targets, heuristic, factor, epsilon, only_cost) + : fn_astar.astar(graph, combinations, heuristic, factor, epsilon, only_cost); if (!normal) { for (auto &path : paths) { @@ -83,6 +85,9 @@ pgr_astar( ***********************************************************/ void do_pgr_astarManyToMany( Pgr_edge_xy_t *edges, size_t total_edges, + + pgr_combination_t *combinations, size_t total_combinations, + int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, size_t size_end_vidsArr, bool directed, @@ -108,6 +113,8 @@ void do_pgr_astarManyToMany( log << "Inserting target vertices into a c++ vector structure\n"; + std::vector + combinations_vector(combinations, combinations + total_combinations); std::vector< int64_t > end_vids( end_vidsArr, end_vidsArr + size_end_vidsArr); @@ -124,7 +131,7 @@ void do_pgr_astarManyToMany( pgrouting::extract_vertices(edges, total_edges), gType); digraph.insert_edges(edges, total_edges); - paths = pgr_astar(digraph, start_vids, end_vids, + paths = pgr_astar(digraph, combinations_vector, start_vids, end_vids, heuristic, factor, epsilon, only_cost, normal); } else { log << "Working with Undirected Graph\n"; @@ -132,7 +139,7 @@ void do_pgr_astarManyToMany( pgrouting::extract_vertices(edges, total_edges), gType); undigraph.insert_edges(edges, total_edges); - paths = pgr_astar(undigraph, start_vids, end_vids, + paths = pgr_astar(undigraph, combinations_vector, start_vids, end_vids, heuristic, factor, epsilon, only_cost, normal); } From 92c95a8a23186c1df39967a2a04062068bdea7cd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 10 Nov 2020 16:21:51 +0530 Subject: [PATCH 1008/1360] [astar][pgtap] Added the tests --- pgtap/astar/aStar-group-innerQuery.sql | 7 ++- ...r_empty_combinations_empty_result.test.sql | 25 +++++++++ .../many_to_many_eq_combinations.test.sql | 53 +++++++++++++++++++ pgtap/astar/no_crash_test-astar.sql | 25 ++++++++- 4 files changed, 108 insertions(+), 2 deletions(-) create mode 100644 pgtap/astar/aStar_empty_combinations_empty_result.test.sql create mode 100644 pgtap/astar/many_to_many_eq_combinations.test.sql diff --git a/pgtap/astar/aStar-group-innerQuery.sql b/pgtap/astar/aStar-group-innerQuery.sql index 9a218ed26be..7b539405879 100644 --- a/pgtap/astar/aStar-group-innerQuery.sql +++ b/pgtap/astar/aStar-group-innerQuery.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(416); +SELECT plan(418); SELECT has_function('pgr_astar', @@ -12,6 +12,8 @@ SELECT has_function('pgr_astar', ARRAY['text', 'anyarray', 'bigint', 'boolean', 'integer', 'double precision', 'double precision']); SELECT has_function('pgr_astar', ARRAY['text', 'anyarray', 'anyarray', 'boolean', 'integer', 'double precision', 'double precision']); +SELECT has_function('pgr_astar', + ARRAY['text', 'text', 'boolean', 'integer', 'double precision', 'double precision']); SELECT function_returns('pgr_astar', ARRAY['text', 'bigint', 'bigint', 'boolean', 'integer', 'double precision', 'double precision'], @@ -25,6 +27,9 @@ SELECT function_returns('pgr_astar', SELECT function_returns('pgr_astar', ARRAY['text', 'anyarray', 'anyarray', 'boolean', 'integer', 'double precision', 'double precision'], 'setof record'); +SELECT function_returns('pgr_astar', + ARRAY['text', 'text', 'boolean', 'integer', 'double precision', 'double precision'], + 'setof record'); diff --git a/pgtap/astar/aStar_empty_combinations_empty_result.test.sql b/pgtap/astar/aStar_empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..b5da7e0878a --- /dev/null +++ b/pgtap/astar/aStar_empty_combinations_empty_result.test.sql @@ -0,0 +1,25 @@ + +\i setup.sql + +SELECT plan(1); + +create or REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_aStar( + ''SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +select * from foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/astar/many_to_many_eq_combinations.test.sql b/pgtap/astar/many_to_many_eq_combinations.test.sql new file mode 100644 index 00000000000..1debfdcec54 --- /dev/null +++ b/pgtap/astar/many_to_many_eq_combinations.test.sql @@ -0,0 +1,53 @@ + +\i setup.sql + +SELECT plan(1); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +create or REPLACE FUNCTION foo( sql_TestFunction TEXT, cant INTEGER default 18 ) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +sql_Combinations TEXT; +sql_Many TEXT; +BEGIN + + sql_Combinations := ''; + sql_Many := ''; + FOR i IN 1.. cant LOOP + IF (i > 1) THEN + sql_Many := sql_Many ||', '; + END IF; + sql_Many := sql_Many || i ; + END LOOP; + + FOR i IN 1.. cant LOOP + FOR j IN 1..cant LOOP + IF NOT (i = j) THEN + sql_Combinations := sql_Combinations || '(' || i || ',' || j || '),' ; + END IF; + END LOOP; + END LOOP; + sql_Combinations := trim(trailing ',' from sql_Combinations); + + sql_Many := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table'', + ARRAY[' || sql_Many ||'], ARRAY[' || sql_Many || '] ) '); + + sql_Combinations := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table'', + ''SELECT * FROM (VALUES' || sql_Combinations ||') AS combinations (source, target)'' ) '); + + RETURN query SELECT set_eq( sql_Many, sql_Combinations ); + RETURN; +END +$BODY$ +language plpgsql; + +-- test pgr_aStar +select * from foo('SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_aStar'); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/astar/no_crash_test-astar.sql b/pgtap/astar/no_crash_test-astar.sql index 68f2695333e..be6715e3cc9 100644 --- a/pgtap/astar/no_crash_test-astar.sql +++ b/pgtap/astar/no_crash_test-astar.sql @@ -1,19 +1,27 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table; +PREPARE combinations AS +SELECT source, target FROM combinations_table; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -92,6 +100,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_astar', params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_aStar', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_aStar', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From 8ecfd4c44f4296b4512c69dd7d543cb6c3798786 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 10 Nov 2020 16:22:02 +0530 Subject: [PATCH 1009/1360] [astarCost][pgtap] Added the tests --- pgtap/astar/aStarCost-group-innerQuery.sql | 7 +++++- ...t_empty_combinations_empty_result.test.sql | 25 +++++++++++++++++++ .../many_to_many_eq_combinations.test.sql | 5 +++- pgtap/astar/no_crash_test-astarCost.sql | 25 ++++++++++++++++++- 4 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 pgtap/astar/aStarCost_empty_combinations_empty_result.test.sql diff --git a/pgtap/astar/aStarCost-group-innerQuery.sql b/pgtap/astar/aStarCost-group-innerQuery.sql index c6e8e29ece6..d939971e1ec 100644 --- a/pgtap/astar/aStarCost-group-innerQuery.sql +++ b/pgtap/astar/aStarCost-group-innerQuery.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(416); +SELECT plan(418); SELECT has_function('pgr_astarcost', @@ -12,6 +12,8 @@ SELECT has_function('pgr_astarcost', ARRAY['text', 'anyarray', 'bigint', 'boolean', 'integer', 'double precision', 'double precision']); SELECT has_function('pgr_astarcost', ARRAY['text', 'anyarray', 'anyarray', 'boolean', 'integer', 'double precision', 'double precision']); +SELECT has_function('pgr_astarcost', + ARRAY['text', 'text', 'boolean', 'integer', 'double precision', 'double precision']); SELECT function_returns('pgr_astarcost', ARRAY['text', 'bigint', 'bigint', 'boolean', 'integer', 'double precision', 'double precision'], @@ -25,6 +27,9 @@ SELECT function_returns('pgr_astarcost', SELECT function_returns('pgr_astarcost', ARRAY['text', 'anyarray', 'anyarray', 'boolean', 'integer', 'double precision', 'double precision'], 'setof record'); +SELECT function_returns('pgr_astarcost', + ARRAY['text', 'text', 'boolean', 'integer', 'double precision', 'double precision'], + 'setof record'); -- ONE TO ONE SELECT style_astar('pgr_astarcost', ', 2, 3, true)'); diff --git a/pgtap/astar/aStarCost_empty_combinations_empty_result.test.sql b/pgtap/astar/aStarCost_empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..99903c3131b --- /dev/null +++ b/pgtap/astar/aStarCost_empty_combinations_empty_result.test.sql @@ -0,0 +1,25 @@ + +\i setup.sql + +SELECT plan(1); + +create or REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT start_vid, end_vid, agg_cost FROM pgr_aStarCost( + ''SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +select * from foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/astar/many_to_many_eq_combinations.test.sql b/pgtap/astar/many_to_many_eq_combinations.test.sql index 1debfdcec54..0ad1a755919 100644 --- a/pgtap/astar/many_to_many_eq_combinations.test.sql +++ b/pgtap/astar/many_to_many_eq_combinations.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(1); +SELECT plan(2); UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; @@ -48,6 +48,9 @@ language plpgsql; -- test pgr_aStar select * from foo('SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_aStar'); +-- test pgr_aStarCost +select * from foo('SELECT start_vid, end_vid, agg_cost FROM pgr_aStarCost'); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/astar/no_crash_test-astarCost.sql b/pgtap/astar/no_crash_test-astarCost.sql index d2bc9935bc0..500b808ad83 100644 --- a/pgtap/astar/no_crash_test-astarCost.sql +++ b/pgtap/astar/no_crash_test-astarCost.sql @@ -1,19 +1,27 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table; +PREPARE combinations AS +SELECT source, target FROM combinations_table; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -92,6 +100,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_astarCost', params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_aStarCost', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_aStarCost', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From cc84b9743e3f0fcbc26d3c47d01967a39f5d7bfe Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 13 Nov 2020 22:05:28 +0530 Subject: [PATCH 1010/1360] [astar] Fix code --- include/astar/pgr_astar.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/astar/pgr_astar.hpp b/include/astar/pgr_astar.hpp index 30ae0080f95..81209a19a62 100644 --- a/include/astar/pgr_astar.hpp +++ b/include/astar/pgr_astar.hpp @@ -193,7 +193,7 @@ class Pgr_astar { graph, start_ends.first, start_ends.second, heuristic, factor, epsilon, only_cost); - paths.insert(paths.begin(), r_paths.begin(), r_paths.end()); + paths.insert(paths.end(), r_paths.begin(), r_paths.end()); } return paths; From 09896c551b2dd01488720da7c2b6ba17536f29a6 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 13 Nov 2020 22:07:03 +0530 Subject: [PATCH 1011/1360] [astar][docqueries] Added for combinations signature --- docqueries/astar/doc-astar.result | 21 +++++++++++++++++++++ docqueries/astar/doc-astar.test.sql | 5 +++++ 2 files changed, 26 insertions(+) diff --git a/docqueries/astar/doc-astar.result b/docqueries/astar/doc-astar.result index 2f294349328..dc097243841 100644 --- a/docqueries/astar/doc-astar.result +++ b/docqueries/astar/doc-astar.result @@ -100,5 +100,26 @@ SELECT * FROM pgr_astar( (24 rows) --q6 +SELECT * FROM pgr_astar( + 'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table', + 'SELECT * FROM ( VALUES (7, 3), (2, 12) ) AS t(source, target)', + heuristic := 2); + seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 2 | 12 | 2 | 4 | 1 | 0 + 2 | 2 | 2 | 12 | 5 | 10 | 1 | 1 + 3 | 3 | 2 | 12 | 10 | 12 | 1 | 2 + 4 | 4 | 2 | 12 | 11 | 13 | 1 | 3 + 5 | 5 | 2 | 12 | 12 | -1 | 0 | 4 + 6 | 1 | 7 | 3 | 7 | 6 | 1 | 0 + 7 | 2 | 7 | 3 | 8 | 7 | 1 | 1 + 8 | 3 | 7 | 3 | 5 | 8 | 1 | 2 + 9 | 4 | 7 | 3 | 6 | 9 | 1 | 3 + 10 | 5 | 7 | 3 | 9 | 16 | 1 | 4 + 11 | 6 | 7 | 3 | 4 | 3 | 1 | 5 + 12 | 7 | 7 | 3 | 3 | -1 | 0 | 6 +(12 rows) + +--q7 ROLLBACK; ROLLBACK diff --git a/docqueries/astar/doc-astar.test.sql b/docqueries/astar/doc-astar.test.sql index a66419eb38a..5fc32498eea 100644 --- a/docqueries/astar/doc-astar.test.sql +++ b/docqueries/astar/doc-astar.test.sql @@ -20,3 +20,8 @@ SELECT * FROM pgr_astar( 'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table', ARRAY[7, 2], ARRAY[3, 12], heuristic := 2); \echo --q6 +SELECT * FROM pgr_astar( + 'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table', + 'SELECT * FROM ( VALUES (7, 3), (2, 12) ) AS t(source, target)', + heuristic := 2); +\echo --q7 From 4579c33e9558f26de782f3ddafc817908af97df8 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 13 Nov 2020 22:07:15 +0530 Subject: [PATCH 1012/1360] [astarCost][docqueries] Added for combinations signature --- docqueries/astar/doc-aStarCost.result | 11 +++++++++++ docqueries/astar/doc-aStarCost.test.sql | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/docqueries/astar/doc-aStarCost.result b/docqueries/astar/doc-aStarCost.result index bc1a339ae1a..3adf7600353 100644 --- a/docqueries/astar/doc-aStarCost.result +++ b/docqueries/astar/doc-aStarCost.result @@ -54,5 +54,16 @@ SELECT * FROM pgr_aStarCost( (4 rows) --q6 +SELECT * FROM pgr_aStarCost( + 'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table', + 'SELECT * FROM ( VALUES (7, 3), (2, 12) ) AS t(source, target)', + heuristic := 2); + start_vid | end_vid | agg_cost +-----------+---------+---------- + 2 | 12 | 4 + 7 | 3 | 6 +(2 rows) + +--q7 ROLLBACK; ROLLBACK diff --git a/docqueries/astar/doc-aStarCost.test.sql b/docqueries/astar/doc-aStarCost.test.sql index 8837a17704d..9dfae634eda 100644 --- a/docqueries/astar/doc-aStarCost.test.sql +++ b/docqueries/astar/doc-aStarCost.test.sql @@ -20,3 +20,8 @@ SELECT * FROM pgr_aStarCost( 'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table', ARRAY[7, 2], ARRAY[3, 12], heuristic := 2); \echo --q6 +SELECT * FROM pgr_aStarCost( + 'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table', + 'SELECT * FROM ( VALUES (7, 3), (2, 12) ) AS t(source, target)', + heuristic := 2); +\echo --q7 From 228e5782f442581eeb83a5e37c4eff1602e47a4f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 13 Nov 2020 22:09:50 +0530 Subject: [PATCH 1013/1360] [astar][doc] Added for combinations signature --- doc/astar/pgr_aStar.rst | 93 ++++++++++++++++++++++++++++------------- 1 file changed, 64 insertions(+), 29 deletions(-) diff --git a/doc/astar/pgr_aStar.rst b/doc/astar/pgr_aStar.rst index 0f62a6b77f2..c799b065810 100644 --- a/doc/astar/pgr_aStar.rst +++ b/doc/astar/pgr_aStar.rst @@ -19,6 +19,12 @@ pgr_aStar .. rubric:: Availability +* Version 3.2.0 + + * New **proposed** function: + + * pgr_aStar(Combinations) + * Version 3.0.0 * **Official** function @@ -44,7 +50,8 @@ pgr_aStar .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ `2.6 `__ @@ -80,10 +87,11 @@ Signatures .. code-block:: none - pgr_aStar(edges_sql, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_aStar(edges_sql, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_aStar(edges_sql, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_aStar(edges_sql, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStar(Edges SQL, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStar(Edges SQL, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStar(Edges SQL, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStar(Edges SQL, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStar(Edges SQL, Combinations SQL [, directed] [, heuristic] [, factor] [, epsilon]) -- Proposed on v3.2 RETURNS SET OF (seq, path_seq [, start_vid] [, end_vid], node, edge, cost, agg_cost) OR EMPTY SET @@ -94,7 +102,7 @@ Optional parameters are `named parameters` and have a default value. .. code-block:: none - pgr_aStar(edges_sql, from_vid, to_vid) + pgr_aStar(Edges SQL, from_vid, to_vid) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -112,7 +120,7 @@ One to One .. code-block:: none - pgr_aStar(edges_sql, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStar(Edges SQL, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -131,7 +139,7 @@ One to many .. code-block:: none - pgr_aStar(edges_sql, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStar(Edges SQL, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (seq, path_seq, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -149,7 +157,7 @@ Many to One .. code-block:: none - pgr_aStar(edges_sql, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStar(Edges SQL, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (seq, path_seq, start_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -167,7 +175,7 @@ Many to Many .. code-block:: none - pgr_aStar(edges_sql, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStar(Edges SQL, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -177,36 +185,56 @@ Many to Many :start-after: --q5 :end-before: --q6 +.. index:: + single: aStar(Combinations) - Proposed + +Combinations +............................................................................... + +.. code-block:: none + + pgr_aStar(Edges SQL, Combinations SQL [, directed] [, heuristic] [, factor] [, epsilon]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table on a **directed** graph using heuristic :math:`2`. + + +.. literalinclude:: doc-astar.queries + :start-after: --q6 + :end-before: --q7 + Parameters ------------------------------------------------------------------------------- .. aStar parameters start -================ ====================== ================================================= -Parameter Type Description -================ ====================== ================================================= -**edges_sql** ``TEXT`` `edges_sql`_ inner query. -**from_vid** ``ANY-INTEGER`` Starting vertex identifier. Parameter in: +======================= ====================== ================================================= +Parameter Type Description +======================= ====================== ================================================= +**Edges SQL** ``TEXT`` `Edges query` as described below. +**Combinations SQL** ``TEXT`` `Combinations query` as described below. +**from_vid** ``ANY-INTEGER`` Starting vertex identifier. Parameter in: - * `One to One`_ - * `One to Many`_ + * `One to One`_ + * `One to Many`_ -**from_vids** ``ARRAY[ANY-INTEGER]`` Array of starting vertices identifiers. Parameter in: +**from_vids** ``ARRAY[ANY-INTEGER]`` Array of starting vertices identifiers. Parameter in: - * `Many to One`_ - * `Many to Many`_ + * `Many to One`_ + * `Many to Many`_ -**to_vid** ``ANY-INTEGER`` Ending vertex identifier. Parameter in: +**to_vid** ``ANY-INTEGER`` Ending vertex identifier. Parameter in: - * `One to One`_ - * `Many to One`_ + * `One to One`_ + * `Many to One`_ -**to_vids** ``ARRAY[ANY-INTEGER]`` Array of ending vertices identifiers. Parameter in: +**to_vids** ``ARRAY[ANY-INTEGER]`` Array of ending vertices identifiers. Parameter in: - * `One to Many`_ - * `Many to Many`_ + * `One to Many`_ + * `Many to Many`_ -================ ====================== ================================================= +======================= ====================== ================================================= .. aStar parameters end @@ -236,16 +264,23 @@ Parameter Type Default Description .. aStar optional parameters end -Inner query +Inner queries ------------------------------------------------------------------------------- -edges_sql +Edges query ............................................................................... .. include:: pgRouting-concepts.rst :start-after: xy_edges_sql_start :end-before: xy_edges_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From c555ccf7631ac6811078351cbaac610f789a6d77 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 13 Nov 2020 22:10:09 +0530 Subject: [PATCH 1014/1360] [astarCost][doc] Added for combinations signature --- doc/astar/pgr_aStarCost.rst | 58 +++++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 12 deletions(-) diff --git a/doc/astar/pgr_aStarCost.rst b/doc/astar/pgr_aStarCost.rst index 9864558a1fe..6867e96022a 100644 --- a/doc/astar/pgr_aStarCost.rst +++ b/doc/astar/pgr_aStarCost.rst @@ -19,6 +19,12 @@ pgr_aStarCost .. rubric:: Availability +* Version 3.2.0 + + * New **proposed** function: + + * pgr_aStarCost(Combinations) + * Version 3.0.0 * **Official** function @@ -30,7 +36,8 @@ pgr_aStarCost .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ `2.6 `__ @@ -60,10 +67,11 @@ Signatures .. code-block:: none - pgr_aStarCost(edges_sql, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_aStarCost(edges_sql, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_aStarCost(edges_sql, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_aStarCost(edges_sql, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStarCost(Edges SQL, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStarCost(Edges SQL, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStarCost(Edges SQL, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStarCost(Edges SQL, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStarCost(Edges SQL, Combinations SQL [, directed] [, heuristic] [, factor] [, epsilon]) -- Proposed on v3.2 RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -74,7 +82,7 @@ Optional parameters are `named parameters` and have a default value. .. code-block:: none - pgr_aStarCost(edges_sql, start_vid, end_vid) + pgr_aStarCost(Edges SQL, start_vid, end_vid) RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -92,7 +100,7 @@ One to One .. code-block:: none - pgr_aStarCost(edges_sql, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStarCost(Edges SQL, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -110,7 +118,7 @@ One to many .. code-block:: none - pgr_aStarCost(edges_sql, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStarCost(Edges SQL, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -128,7 +136,7 @@ Many to One .. code-block:: none - pgr_aStarCost(edges_sql, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStarCost(Edges SQL, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -146,7 +154,7 @@ Many to Many .. code-block:: none - pgr_aStarCost(edges_sql, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_aStarCost(Edges SQL, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -156,6 +164,25 @@ Many to Many :start-after: --q5 :end-before: --q6 +.. index:: + single: aStarCost(Combinations) - Proposed + +Combinations +............................................................................... + +.. code-block:: none + + pgr_aStarCost(Edges SQL, Combinations SQL [, directed] [, heuristic] [, factor] [, epsilon]) + RETURNS SET OF (start_vid, end_vid, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table on a **directed** graph using heuristic :math:`2`. + + +.. literalinclude:: doc-aStarCost.queries + :start-after: --q6 + :end-before: --q7 + Parameters ------------------------------------------------------------------------------- @@ -170,16 +197,23 @@ Optional Parameters :start-after: aStar optional parameters start :end-before: aStar optional parameters end -Inner query +Inner queries ------------------------------------------------------------------------------- -edges_sql +Edges query ............................................................................... .. include:: pgRouting-concepts.rst :start-after: xy_edges_sql_start :end-before: xy_edges_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Result Columns -------------------------------------------------------------------------------- From b09d8622cfc94bdc7dffb037b9505db8511568a4 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 13 Nov 2020 22:10:30 +0530 Subject: [PATCH 1015/1360] Updated release notes and news --- NEWS | 2 ++ doc/src/release_notes.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 39c49963049..fcef95fbd35 100644 --- a/NEWS +++ b/NEWS @@ -19,6 +19,8 @@ pgRouting 3.2.0 Release Notes *New proposed functions* +* pgr_aStar(Combinations) +* pgr_aStarCost(Combinations) * pgr_withPoints(Combinations) * pgr_withPointsCost(Combinations) diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 444ac600c1c..9ef1710fd0d 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -76,6 +76,8 @@ pgRouting 3.2.0 Release Notes .. rubric:: New proposed functions +* pgr_aStar(Combinations) +* pgr_aStarCost(Combinations) * pgr_withPoints(Combinations) * pgr_withPointsCost(Combinations) From af0cee2b2fd38a14f0ab0f8cc145e9becdfd171a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Wed, 18 Nov 2020 00:23:40 +0530 Subject: [PATCH 1016/1360] [astar][sql] Added v3.2 before new function --- sql/astar/_astar.sql | 3 ++- sql/astar/astar.sql | 4 ++-- sql/astar/astarCost.sql | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sql/astar/_astar.sql b/sql/astar/_astar.sql index 8166ea955f7..14ad4398da0 100644 --- a/sql/astar/_astar.sql +++ b/sql/astar/_astar.sql @@ -65,7 +65,8 @@ RETURNS SETOF RECORD AS LANGUAGE c VOLATILE STRICT; -CREATE OR REPLACE FUNCTION _pgr_astar( +--v3.2 +CREATE FUNCTION _pgr_astar( edges_sql TEXT, -- XY edges sql combinations_sql TEXT, diff --git a/sql/astar/astar.sql b/sql/astar/astar.sql index d429f1f421f..0187f6c6bad 100644 --- a/sql/astar/astar.sql +++ b/sql/astar/astar.sql @@ -148,8 +148,8 @@ COST 100 ROWS 1000; --- Combanations SQL signature -CREATE OR REPLACE FUNCTION pgr_aStar( +--v3.2 +CREATE FUNCTION pgr_aStar( TEXT, -- edges sql (required) TEXT, -- combinations_sql (required) diff --git a/sql/astar/astarCost.sql b/sql/astar/astarCost.sql index 30afbb66a4c..b38ffd9c528 100644 --- a/sql/astar/astarCost.sql +++ b/sql/astar/astarCost.sql @@ -137,7 +137,8 @@ COST 100 ROWS 1000; -CREATE OR REPLACE FUNCTION pgr_aStarCost( +--v3.2 +CREATE FUNCTION pgr_aStarCost( TEXT, -- edges sql (required) TEXT, -- combinations_sql (required) From 380506679f2bd6c3b677c54e65849ede15029e39 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 19 Nov 2020 08:52:02 +0530 Subject: [PATCH 1017/1360] Update NEWS with issue 1640 and issue 1733 --- NEWS | 2 ++ doc/src/release_notes.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/NEWS b/NEWS index fcef95fbd35..5ab616140cc 100644 --- a/NEWS +++ b/NEWS @@ -60,7 +60,9 @@ pgRouting 3.0.3 Release Notes *Backport issues fixes* +* [#1733 ](https://github.com/pgRouting/pgrouting/issues/1733)_: pgr_bdAstar fails when source or target vertex does not exist in the graph * [#1647 ](https://github.com/pgRouting/pgrouting/issues/1647)_: Linear Contraction contracts self loops +* [#1640 ](https://github.com/pgRouting/pgrouting/issues/1640)_: pgr_withPoints fails when points_sql is empty * [#1616 ](https://github.com/pgRouting/pgrouting/issues/1616)_: Path evaluation on C++ not updated before the results go back to C * [#1300 ](https://github.com/pgRouting/pgrouting/issues/1300)_: pgr_chinesePostman crash on test data diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 9ef1710fd0d..3e8239beb67 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -120,7 +120,9 @@ pgRouting 3.0.3 Release Notes .. rubric:: Backport issues fixes +* `#1733 `__: pgr_bdAstar fails when source or target vertex does not exist in the graph * `#1647 `__: Linear Contraction contracts self loops +* `#1640 `__: pgr_withPoints fails when points_sql is empty * `#1616 `__: Path evaluation on C++ not updated before the results go back to C * `#1300 `__: pgr_chinesePostman crash on test data From d0666a1119cad16c8af600184eab64cb9d5d267e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 19 Nov 2020 10:12:47 +0530 Subject: [PATCH 1018/1360] Added #1640 and #1733 on 3.1.1 release notes --- NEWS | 2 ++ doc/src/release_notes.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 5ab616140cc..9dd0ddb3b1a 100644 --- a/NEWS +++ b/NEWS @@ -33,7 +33,9 @@ To see all issues & pull requests closed by this release see the `Git closed mil *Issues fixes* +* [#1733 ](https://github.com/pgRouting/pgrouting/issues/1733)_: pgr_bdAstar fails when source or target vertex does not exist in the graph * [#1647 ](https://github.com/pgRouting/pgrouting/issues/1647)_: Linear Contraction contracts self loops +* [#1640 ](https://github.com/pgRouting/pgrouting/issues/1640)_: pgr_withPoints fails when points_sql is empty * [#1616 ](https://github.com/pgRouting/pgrouting/issues/1616)_: Path evaluation on C++ not updated before the results go back to C * [#1300 ](https://github.com/pgRouting/pgrouting/issues/1300)_: pgr_chinesePostman crash on test data diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 3e8239beb67..1d01b0c3fb7 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -91,7 +91,9 @@ To see all issues & pull requests closed by this release see the `Git closed mil .. rubric:: Issues fixes +* `#1733 `__: pgr_bdAstar fails when source or target vertex does not exist in the graph * `#1647 `__: Linear Contraction contracts self loops +* `#1640 `__: pgr_withPoints fails when points_sql is empty * `#1616 `__: Path evaluation on C++ not updated before the results go back to C * `#1300 `__: pgr_chinesePostman crash on test data From 5b8b736f9886abb91c2dd23d47fcec8fe148a8e1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 19 Nov 2020 00:09:08 +0530 Subject: [PATCH 1019/1360] [bdAstar][sql] Added Combinations SQL signature --- sql/bdAstar/_bdAstar.sql | 25 ++++++++++++++++++++++++ sql/bdAstar/bdAstar.sql | 42 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/sql/bdAstar/_bdAstar.sql b/sql/bdAstar/_bdAstar.sql index 40c7fab92c5..0317ad5e7b9 100644 --- a/sql/bdAstar/_bdAstar.sql +++ b/sql/bdAstar/_bdAstar.sql @@ -56,8 +56,33 @@ RETURNS SETOF RECORD AS LANGUAGE C VOLATILE STRICT; +--v3.2 +CREATE FUNCTION _pgr_bdAstar( + TEXT, + TEXT, + directed BOOLEAN DEFAULT true, + heuristic INTEGER DEFAULT 5, + factor FLOAT DEFAULT 1.0, + epsilon FLOAT DEFAULT 1.0, + only_cost BOOLEAN DEFAULT false, + + OUT seq 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 VOLATILE STRICT; + + -- COMMENTS COMMENT ON FUNCTION _pgr_bdAstar(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, INTEGER, FLOAT, FLOAT, BOOLEAN) IS 'pgRouting internal function'; +COMMENT ON FUNCTION _pgr_bdAstar(TEXT, TEXT, BOOLEAN, INTEGER, FLOAT, FLOAT, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/bdAstar/bdAstar.sql b/sql/bdAstar/bdAstar.sql index 28bcf0ff01b..94cdcbce248 100644 --- a/sql/bdAstar/bdAstar.sql +++ b/sql/bdAstar/bdAstar.sql @@ -140,6 +140,34 @@ LANGUAGE sql VOLATILE STRICT COST 100 ROWS 1000; +-- combinations +--v3.2 +CREATE FUNCTION pgr_bdAstar( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + heuristic INTEGER DEFAULT 5, + factor NUMERIC DEFAULT 1.0, + epsilon NUMERIC DEFAULT 1.0, + + OUT seq 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 * + FROM _pgr_bdAstar(_pgr_get_statement($1), _pgr_get_statement($2), $3, $4, $5::FLOAT, $6::FLOAT, false); +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + -- COMMENTS COMMENT ON FUNCTION pgr_bdAstar(TEXT, BIGINT, BIGINT, BOOLEAN, INTEGER, NUMERIC, NUMERIC) @@ -202,3 +230,17 @@ IS 'pgr_bdAstar(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bdAstar.html '; + +COMMENT ON FUNCTION pgr_bdAstar(TEXT, TEXT, BOOLEAN, INTEGER, NUMERIC, NUMERIC) +IS 'pgr_bdAstar(Combinations) +- Parameters: + - Edges SQL with columns: id, source, target, cost [, reverse_cost], x1, y1, x2, y2 + - Combinations SQL with columns: source, target +- Optional Parameters: + - directed := true + - heuristic := 5 + - factor := 1 + - epsilon := 1 +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_bdAstar.html +'; From 3283874d1521328a7e4cade3bc7106c5a73b7fbd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 19 Nov 2020 00:09:20 +0530 Subject: [PATCH 1020/1360] [bdAstarCost][sql] Added Combinations SQL signature --- sql/bdAstar/bdAstarCost.sql | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/sql/bdAstar/bdAstarCost.sql b/sql/bdAstar/bdAstarCost.sql index 404199fab9f..1bf092f1465 100644 --- a/sql/bdAstar/bdAstarCost.sql +++ b/sql/bdAstar/bdAstarCost.sql @@ -129,6 +129,30 @@ COST 100 ROWS 1000; +-- combinations +--v3.2 +CREATE FUNCTION pgr_bdAstarCost( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + heuristic INTEGER DEFAULT 5, + factor NUMERIC DEFAULT 1.0, + epsilon NUMERIC DEFAULT 1.0, + + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT a.start_vid, a.end_vid, a.agg_cost + FROM _pgr_bdAstar(_pgr_get_statement($1), _pgr_get_statement($2), $3, $4, $5::FLOAT, $6::FLOAT, true) AS a; +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + + -- COMMENTS COMMENT ON FUNCTION pgr_bdAstarCost(TEXT, BIGINT, BIGINT, BOOLEAN, INTEGER, NUMERIC, NUMERIC) @@ -193,3 +217,18 @@ IS 'pgr_bdAstarCost(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bdAstarCost.html '; + + +COMMENT ON FUNCTION pgr_bdAstarCost(TEXT, TEXT, BOOLEAN, INTEGER, NUMERIC, NUMERIC) +IS 'pgr_bdAstarCost(Combinations) +- Parameters: + - Edges SQL with columns: id, source, target, cost [, reverse_cost], x1, y1, x2, y2 + - Combinations SQL with columns: source, target +- Optional Parameters: + - directed := true + - heuristic := 5 + - factor := 1 + - epsilon := 1 +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_bdAstarCost.html +'; From 87c0007845a5204ab24d0f21badd2274e05fb8c6 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 19 Nov 2020 00:09:47 +0530 Subject: [PATCH 1021/1360] [bdAstar] Updated v3.2 signature file --- sql/sigs/pgrouting--3.2.sig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sql/sigs/pgrouting--3.2.sig b/sql/sigs/pgrouting--3.2.sig index 759e1df9b12..6a09929d8d3 100644 --- a/sql/sigs/pgrouting--3.2.sig +++ b/sql/sigs/pgrouting--3.2.sig @@ -23,11 +23,14 @@ pgr_bdastarcost(text,anyarray,anyarray,boolean,integer,numeric,numeric) pgr_bdastarcost(text,anyarray,bigint,boolean,integer,numeric,numeric) pgr_bdastarcost(text,bigint,anyarray,boolean,integer,numeric,numeric) pgr_bdastarcost(text,bigint,bigint,boolean,integer,numeric,numeric) +pgr_bdastarcost(text,text,boolean,integer,numeric,numeric) _pgr_bdastar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) pgr_bdastar(text,anyarray,anyarray,boolean,integer,numeric,numeric) pgr_bdastar(text,anyarray,bigint,boolean,integer,numeric,numeric) pgr_bdastar(text,bigint,anyarray,boolean,integer,numeric,numeric) pgr_bdastar(text,bigint,bigint,boolean,integer,numeric,numeric) +_pgr_bdastar(text,text,boolean,integer,double precision,double precision,boolean) +pgr_bdastar(text,text,boolean,integer,numeric,numeric) pgr_bddijkstracostmatrix(text,anyarray,boolean) pgr_bddijkstracost(text,anyarray,anyarray,boolean) pgr_bddijkstracost(text,anyarray,bigint,boolean) From 380cbb72e5f31f92ebece2c57d622ceb57f844dc Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 19 Nov 2020 00:10:17 +0530 Subject: [PATCH 1022/1360] [bdAstar][code] Updated code for combinations signature --- include/drivers/bdAstar/bdAstar_driver.h | 5 ++ src/bdAstar/bdAstar.c | 62 +++++++++++++------ src/bdAstar/bdAstar_driver.cpp | 79 +++++++++++++++++++----- 3 files changed, 111 insertions(+), 35 deletions(-) diff --git a/include/drivers/bdAstar/bdAstar_driver.h b/include/drivers/bdAstar/bdAstar_driver.h index bd29662bb39..946f2881fcc 100644 --- a/include/drivers/bdAstar/bdAstar_driver.h +++ b/include/drivers/bdAstar/bdAstar_driver.h @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_xy_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/general_path_element_t.h" @@ -58,6 +59,10 @@ extern "C" { void do_pgr_bdAstar( Pgr_edge_xy_t *data_edges, size_t total_edges, + + pgr_combination_t *combinations, + size_t total_combinations, + int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, diff --git a/src/bdAstar/bdAstar.c b/src/bdAstar/bdAstar.c index 20680d4fbf5..b0a9a5b57c8 100644 --- a/src/bdAstar/bdAstar.c +++ b/src/bdAstar/bdAstar.c @@ -37,6 +37,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "c_common/combinations_input.h" #include "c_common/check_parameters.h" @@ -51,6 +52,7 @@ PG_FUNCTION_INFO_V1(_pgr_bdastar); static void process(char* edges_sql, + char* combinations_sql, ArrayType *starts, ArrayType *ends, bool directed, @@ -64,15 +66,24 @@ process(char* edges_sql, pgr_SPI_connect(); + int64_t* start_vidsArr = NULL; size_t size_start_vidsArr = 0; - int64_t* start_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_start_vidsArr, starts); + int64_t* end_vidsArr = NULL; size_t size_end_vidsArr = 0; - int64_t* end_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_end_vidsArr, ends); - PGR_DBG("Load data"); + pgr_combination_t *combinations = NULL; + size_t total_combinations = 0; + + if (starts && ends) { + start_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_start_vidsArr, starts); + end_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_end_vidsArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + } + Pgr_edge_xy_t *edges = NULL; size_t total_edges = 0; @@ -94,6 +105,7 @@ process(char* edges_sql, clock_t start_t = clock(); do_pgr_bdAstar( edges, total_edges, + combinations, total_combinations, start_vidsArr, size_start_vidsArr, end_vidsArr, size_end_vidsArr, @@ -145,20 +157,13 @@ _pgr_bdastar(PG_FUNCTION_ARGS) { oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /********************************************************************** - edges_sql TEXT, - start_vid BIGINT, - end_vid BIGINT, - directed BOOLEAN DEFAULT true, - heuristic INTEGER DEFAULT 0, - factor FLOAT DEFAULT 1.0, - epsilon FLOAT DEFAULT 1.0, - - **********************************************************************/ - - PGR_DBG("Calling process"); - process( + if (PG_NARGS() == 8) { + /* + * many to many + */ + process( text_to_cstring(PG_GETARG_TEXT_P(0)), + NULL, PG_GETARG_ARRAYTYPE_P(1), PG_GETARG_ARRAYTYPE_P(2), @@ -170,6 +175,27 @@ _pgr_bdastar(PG_FUNCTION_ARGS) { &result_tuples, &result_count); + } else if (PG_NARGS() == 7) { + /* + * combinations + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, + NULL, + + PG_GETARG_BOOL(2), + PG_GETARG_INT32(3), + PG_GETARG_FLOAT8(4), + PG_GETARG_FLOAT8(5), + PG_GETARG_BOOL(6), + &result_tuples, + &result_count); + + } + + #if PGSQL_VERSION > 95 funcctx->max_calls = result_count; diff --git a/src/bdAstar/bdAstar_driver.cpp b/src/bdAstar/bdAstar_driver.cpp index 07d1297ee2a..f604c4c3740 100644 --- a/src/bdAstar/bdAstar_driver.cpp +++ b/src/bdAstar/bdAstar_driver.cpp @@ -56,6 +56,7 @@ static std::deque pgr_bdAstar( G &graph, + std::vector < pgr_combination_t > &combinations, std::vector < int64_t > sources, std::vector < int64_t > targets, @@ -65,34 +66,72 @@ pgr_bdAstar( std::ostream &log, bool only_cost) { log << "entering static function\n"; - std::sort(sources.begin(), sources.end()); - sources.erase( - std::unique(sources.begin(), sources.end()), - sources.end()); - - std::sort(targets.begin(), targets.end()); - targets.erase( - std::unique(targets.begin(), targets.end()), - targets.end()); - pgrouting::bidirectional::Pgr_bdAstar fn_bdAstar(graph); std::deque paths; - for (const auto source : sources) { - for (const auto target : targets) { + + if (combinations.empty()) { + std::sort(sources.begin(), sources.end()); + sources.erase( + std::unique(sources.begin(), sources.end()), + sources.end()); + + std::sort(targets.begin(), targets.end()); + targets.erase( + std::unique(targets.begin(), targets.end()), + targets.end()); + + for (const auto source : sources) { + for (const auto target : targets) { + fn_bdAstar.clear(); + + if (!graph.has_vertex(source) + || !graph.has_vertex(target)) { + paths.push_back(Path(source, target)); + continue; + } + + paths.push_back(fn_bdAstar.pgr_bdAstar( + graph.get_V(source), graph.get_V(target), + heuristic, factor, epsilon, only_cost)); + } + } + + } else { + std::sort(combinations.begin(), combinations.end(), + [](const pgr_combination_t &lhs, const pgr_combination_t &rhs)->bool { + return lhs.target < rhs.target; + }); + std::stable_sort(combinations.begin(), combinations.end(), + [](const pgr_combination_t &lhs, const pgr_combination_t &rhs)->bool { + return lhs.source < rhs.source; + }); + + pgr_combination_t previousCombination{0, 0}; + + for (const pgr_combination_t &comb : combinations) { fn_bdAstar.clear(); - if (!graph.has_vertex(source) - || !graph.has_vertex(target)) { - paths.push_back(Path(source, target)); + if (comb.source == previousCombination.source && + comb.target == previousCombination.target) { + continue; + } + + if (!graph.has_vertex(comb.source) + || !graph.has_vertex(comb.target)) { + paths.push_back(Path(comb.source, comb.target)); continue; } paths.push_back(fn_bdAstar.pgr_bdAstar( - graph.get_V(source), graph.get_V(target), - heuristic, factor, epsilon, only_cost)); + graph.get_V(comb.source), graph.get_V(comb.target), + heuristic, factor, epsilon, only_cost)); + + previousCombination = comb; } + } + log << fn_bdAstar.log(); return paths; @@ -103,6 +142,8 @@ void do_pgr_bdAstar( Pgr_edge_xy_t *edges, size_t total_edges, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, @@ -138,6 +179,8 @@ do_pgr_bdAstar( start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); std::vector< int64_t > end_vertices(end_vidsArr, end_vidsArr + size_end_vidsArr); + std::vector< pgr_combination_t > + combinations_vector(combinations, combinations + total_combinations); graphType gType = directed? DIRECTED: UNDIRECTED; @@ -151,6 +194,7 @@ do_pgr_bdAstar( digraph.insert_edges(edges, total_edges); paths = pgr_bdAstar(digraph, + combinations_vector, start_vertices, end_vertices, heuristic, @@ -167,6 +211,7 @@ do_pgr_bdAstar( paths = pgr_bdAstar( undigraph, + combinations_vector, start_vertices, end_vertices, heuristic, From 647500feeb5d52df0c37fc58fb918db043c4c5a1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 19 Nov 2020 00:11:48 +0530 Subject: [PATCH 1023/1360] [bdAstar][pgtap] Added the tests --- pgtap/bdAstar/bdAstar-innerQuery.sql | 5 +- ...r_empty_combinations_empty_result.test.sql | 25 +++++++++ .../many_to_many_eq_combinations.test.sql | 53 +++++++++++++++++++ pgtap/bdAstar/no_crash_test-bdastar.sql | 25 ++++++++- 4 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 pgtap/bdAstar/bdAstar_empty_combinations_empty_result.test.sql create mode 100644 pgtap/bdAstar/many_to_many_eq_combinations.test.sql diff --git a/pgtap/bdAstar/bdAstar-innerQuery.sql b/pgtap/bdAstar/bdAstar-innerQuery.sql index 3aa96324930..c7492f26640 100644 --- a/pgtap/bdAstar/bdAstar-innerQuery.sql +++ b/pgtap/bdAstar/bdAstar-innerQuery.sql @@ -1,13 +1,14 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(416); +SELECT plan(418); SELECT has_function('pgr_bdastar', ARRAY['text', 'bigint', 'bigint', 'boolean', 'integer', 'numeric', 'numeric']); SELECT has_function('pgr_bdastar', ARRAY['text', 'bigint', 'anyarray', 'boolean', 'integer', 'numeric', 'numeric']); SELECT has_function('pgr_bdastar', ARRAY['text', 'anyarray', 'bigint', 'boolean', 'integer', 'numeric', 'numeric']); SELECT has_function('pgr_bdastar', ARRAY['text', 'anyarray', 'anyarray', 'boolean', 'integer', 'numeric', 'numeric']); +SELECT has_function('pgr_bdastar', ARRAY['text', 'text', 'boolean', 'integer', 'numeric', 'numeric']); SELECT function_returns('pgr_bdastar', ARRAY['text', 'bigint', 'bigint', 'boolean', 'integer', 'numeric', 'numeric'], 'setof record'); @@ -17,6 +18,8 @@ SELECT function_returns('pgr_bdastar', ARRAY['text', 'anyarray', 'bigint', 'bool 'setof record'); SELECT function_returns('pgr_bdastar', ARRAY['text', 'anyarray', 'anyarray', 'boolean', 'integer', 'numeric', 'numeric'], 'setof record'); +SELECT function_returns('pgr_bdastar', ARRAY['text', 'text', 'boolean', 'integer', 'numeric', 'numeric'], + 'setof record'); SELECT style_astar('pgr_bdastar', ', 2, 3, true)'); SELECT style_astar('pgr_bdastar', ', 2, ARRAY[3], true)'); diff --git a/pgtap/bdAstar/bdAstar_empty_combinations_empty_result.test.sql b/pgtap/bdAstar/bdAstar_empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..8ea3d024c16 --- /dev/null +++ b/pgtap/bdAstar/bdAstar_empty_combinations_empty_result.test.sql @@ -0,0 +1,25 @@ + +\i setup.sql + +SELECT plan(1); + +create or REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_bdAstar( + ''SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +select * from foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/bdAstar/many_to_many_eq_combinations.test.sql b/pgtap/bdAstar/many_to_many_eq_combinations.test.sql new file mode 100644 index 00000000000..1c1ef9f5c46 --- /dev/null +++ b/pgtap/bdAstar/many_to_many_eq_combinations.test.sql @@ -0,0 +1,53 @@ + +\i setup.sql + +SELECT plan(2); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +create or REPLACE FUNCTION foo( sql_TestFunction TEXT, cant INTEGER default 18 ) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +sql_Combinations TEXT; +sql_Many TEXT; +BEGIN + + sql_Combinations := ''; + sql_Many := ''; + FOR i IN 1.. cant LOOP + IF (i > 1) THEN + sql_Many := sql_Many ||', '; + END IF; + sql_Many := sql_Many || i ; + END LOOP; + + FOR i IN 1.. cant LOOP + FOR j IN 1..cant LOOP + IF NOT (i = j) THEN + sql_Combinations := sql_Combinations || '(' || i || ',' || j || '),' ; + END IF; + END LOOP; + END LOOP; + sql_Combinations := trim(trailing ',' from sql_Combinations); + + sql_Many := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table'', + ARRAY[' || sql_Many ||'], ARRAY[' || sql_Many || '] ) '); + + sql_Combinations := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table'', + ''SELECT * FROM (VALUES' || sql_Combinations ||') AS combinations (source, target)'' ) '); + + RETURN query SELECT set_eq( sql_Many, sql_Combinations ); + RETURN; +END +$BODY$ +language plpgsql; + +-- test pgr_bdAstar +select * from foo('SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_bdAstar'); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/bdAstar/no_crash_test-bdastar.sql b/pgtap/bdAstar/no_crash_test-bdastar.sql index f4c72b81cb8..469430e8367 100644 --- a/pgtap/bdAstar/no_crash_test-bdastar.sql +++ b/pgtap/bdAstar/no_crash_test-bdastar.sql @@ -1,19 +1,27 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table; +PREPARE combinations AS +SELECT source, target FROM combinations_table; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -92,6 +100,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_bdAstar', params, subs); + -- combinations + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_bdAstar', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_bdAstar', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From d1e8e035651892a3a986ee717cd75e035c565408 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 19 Nov 2020 00:12:00 +0530 Subject: [PATCH 1024/1360] [bdAstarCost][pgtap] Added the tests --- pgtap/bdAstar/bdAstarCost-innerQuery.sql | 5 +++- ...t_empty_combinations_empty_result.test.sql | 25 +++++++++++++++++++ .../many_to_many_eq_combinations.test.sql | 3 +++ pgtap/bdAstar/no_crash_test-bdastarCost.sql | 25 ++++++++++++++++++- 4 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 pgtap/bdAstar/bdAstarCost_empty_combinations_empty_result.test.sql diff --git a/pgtap/bdAstar/bdAstarCost-innerQuery.sql b/pgtap/bdAstar/bdAstarCost-innerQuery.sql index 8c7b2e0bb20..ed2ab0dc039 100644 --- a/pgtap/bdAstar/bdAstarCost-innerQuery.sql +++ b/pgtap/bdAstar/bdAstarCost-innerQuery.sql @@ -1,13 +1,14 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(416); +SELECT plan(418); SELECT has_function('pgr_bdastarcost', ARRAY['text', 'bigint', 'bigint', 'boolean', 'integer', 'numeric', 'numeric']); SELECT has_function('pgr_bdastarcost', ARRAY['text', 'bigint', 'anyarray', 'boolean', 'integer', 'numeric', 'numeric']); SELECT has_function('pgr_bdastarcost', ARRAY['text', 'anyarray', 'bigint', 'boolean', 'integer', 'numeric', 'numeric']); SELECT has_function('pgr_bdastarcost', ARRAY['text', 'anyarray', 'anyarray', 'boolean', 'integer', 'numeric', 'numeric']); +SELECT has_function('pgr_bdastarcost', ARRAY['text', 'text', 'boolean', 'integer', 'numeric', 'numeric']); SELECT function_returns('pgr_bdastarcost', ARRAY['text', 'bigint', 'bigint', 'boolean', 'integer', 'numeric', 'numeric'], 'setof record'); @@ -17,6 +18,8 @@ SELECT function_returns('pgr_bdastarcost', ARRAY['text', 'anyarray', 'bigint', ' 'setof record'); SELECT function_returns('pgr_bdastarcost', ARRAY['text', 'anyarray', 'anyarray', 'boolean', 'integer', 'numeric', 'numeric'], 'setof record'); +SELECT function_returns('pgr_bdastarcost', ARRAY['text', 'text', 'boolean', 'integer', 'numeric', 'numeric'], + 'setof record'); SELECT style_astar('pgr_bdastarcost', ', 2, 3, true)'); SELECT style_astar('pgr_bdastarcost', ', 2, ARRAY[3], true)'); diff --git a/pgtap/bdAstar/bdAstarCost_empty_combinations_empty_result.test.sql b/pgtap/bdAstar/bdAstarCost_empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..ecb0b43337a --- /dev/null +++ b/pgtap/bdAstar/bdAstarCost_empty_combinations_empty_result.test.sql @@ -0,0 +1,25 @@ + +\i setup.sql + +SELECT plan(1); + +create or REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT start_vid, end_vid, agg_cost FROM pgr_bdAstarCost( + ''SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +select * from foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/bdAstar/many_to_many_eq_combinations.test.sql b/pgtap/bdAstar/many_to_many_eq_combinations.test.sql index 1c1ef9f5c46..21cf146b2cc 100644 --- a/pgtap/bdAstar/many_to_many_eq_combinations.test.sql +++ b/pgtap/bdAstar/many_to_many_eq_combinations.test.sql @@ -48,6 +48,9 @@ language plpgsql; -- test pgr_bdAstar select * from foo('SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_bdAstar'); +-- test pgr_bdAstarCost +select * from foo('SELECT start_vid, end_vid, agg_cost FROM pgr_bdAstarCost'); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/bdAstar/no_crash_test-bdastarCost.sql b/pgtap/bdAstar/no_crash_test-bdastarCost.sql index ad420da951f..20a38cae7cf 100644 --- a/pgtap/bdAstar/no_crash_test-bdastarCost.sql +++ b/pgtap/bdAstar/no_crash_test-bdastarCost.sql @@ -1,19 +1,27 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table; +PREPARE combinations AS +SELECT source, target FROM combinations_table; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -92,6 +100,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_bdAstarCost', params, subs); + -- combinations + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_bdAstarCost', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_bdAstarCost', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From af938f40ee1cf78ab708c088c25d10987b9c5e75 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 19 Nov 2020 00:12:30 +0530 Subject: [PATCH 1025/1360] [bdAstar][docqueries] Added for combinations signature --- docqueries/bdAstar/doc-pgr_bdAstar.result | 22 +++++++++++++++++++++ docqueries/bdAstar/doc-pgr_bdAstar.test.sql | 8 +++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/docqueries/bdAstar/doc-pgr_bdAstar.result b/docqueries/bdAstar/doc-pgr_bdAstar.result index e89d3f1e2d9..220ad10e35c 100644 --- a/docqueries/bdAstar/doc-pgr_bdAstar.result +++ b/docqueries/bdAstar/doc-pgr_bdAstar.result @@ -108,5 +108,27 @@ SELECT * FROM pgr_bdAstar( (22 rows) -- q6 +SELECT * FROM pgr_bdAstar( + 'SELECT id, source, target, cost, reverse_cost, x1,y1,x2,y2 + FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (7, 11) ) AS t(source, target)', + factor := 0.5 +); + seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 2 | 3 | 2 | 4 | 1 | 0 + 2 | 2 | 2 | 3 | 5 | 8 | 1 | 1 + 3 | 3 | 2 | 3 | 6 | 9 | 1 | 2 + 4 | 4 | 2 | 3 | 9 | 16 | 1 | 3 + 5 | 5 | 2 | 3 | 4 | 3 | 1 | 4 + 6 | 6 | 2 | 3 | 3 | -1 | 0 | 5 + 7 | 1 | 7 | 11 | 7 | 6 | 1 | 0 + 8 | 2 | 7 | 11 | 8 | 7 | 1 | 1 + 9 | 3 | 7 | 11 | 5 | 8 | 1 | 2 + 10 | 4 | 7 | 11 | 6 | 11 | 1 | 3 + 11 | 5 | 7 | 11 | 11 | -1 | 0 | 4 +(11 rows) + +-- q7 ROLLBACK; ROLLBACK diff --git a/docqueries/bdAstar/doc-pgr_bdAstar.test.sql b/docqueries/bdAstar/doc-pgr_bdAstar.test.sql index 3aca178248b..99e9e32ea16 100644 --- a/docqueries/bdAstar/doc-pgr_bdAstar.test.sql +++ b/docqueries/bdAstar/doc-pgr_bdAstar.test.sql @@ -35,4 +35,10 @@ SELECT * FROM pgr_bdAstar( factor := 0.5 ); \echo -- q6 - +SELECT * FROM pgr_bdAstar( + 'SELECT id, source, target, cost, reverse_cost, x1,y1,x2,y2 + FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (7, 11) ) AS t(source, target)', + factor := 0.5 +); +\echo -- q7 From ed735b85820d4cec83a50fbf70bec6a5f12c7717 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 19 Nov 2020 00:12:38 +0530 Subject: [PATCH 1026/1360] [bdAstarCost][docqueries] Added for combinations signature --- docqueries/bdAstar/doc-pgr_bdAstarCost.result | 13 +++++++++++++ docqueries/bdAstar/doc-pgr_bdAstarCost.test.sql | 7 +++++++ 2 files changed, 20 insertions(+) diff --git a/docqueries/bdAstar/doc-pgr_bdAstarCost.result b/docqueries/bdAstar/doc-pgr_bdAstarCost.result index eeaa0fc7efb..1df516def24 100644 --- a/docqueries/bdAstar/doc-pgr_bdAstarCost.result +++ b/docqueries/bdAstar/doc-pgr_bdAstarCost.result @@ -67,5 +67,18 @@ SELECT * FROM pgr_bdAstarCost( (4 rows) -- q6 +SELECT * FROM pgr_bdAstarCost( + 'SELECT id, source, target, cost, reverse_cost, x1,y1,x2,y2 + FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (7, 11) ) AS t(source, target)', + factor := 0.5 +); + start_vid | end_vid | agg_cost +-----------+---------+---------- + 2 | 3 | 5 + 7 | 11 | 4 +(2 rows) + +-- q7 ROLLBACK; ROLLBACK diff --git a/docqueries/bdAstar/doc-pgr_bdAstarCost.test.sql b/docqueries/bdAstar/doc-pgr_bdAstarCost.test.sql index 1a49bfc5d3c..5598794ada7 100644 --- a/docqueries/bdAstar/doc-pgr_bdAstarCost.test.sql +++ b/docqueries/bdAstar/doc-pgr_bdAstarCost.test.sql @@ -35,3 +35,10 @@ SELECT * FROM pgr_bdAstarCost( factor := 0.5 ); \echo -- q6 +SELECT * FROM pgr_bdAstarCost( + 'SELECT id, source, target, cost, reverse_cost, x1,y1,x2,y2 + FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (7, 11) ) AS t(source, target)', + factor := 0.5 +); +\echo -- q7 From 2fab35a947595871fe581f9d6603689ea41e1d99 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 5 Dec 2020 18:08:39 +0530 Subject: [PATCH 1027/1360] [bdAstar][doc] Added for combinations signature --- doc/bdAstar/pgr_bdAstar.rst | 58 +++++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 12 deletions(-) diff --git a/doc/bdAstar/pgr_bdAstar.rst b/doc/bdAstar/pgr_bdAstar.rst index e663cea3338..ab5f8e67de9 100644 --- a/doc/bdAstar/pgr_bdAstar.rst +++ b/doc/bdAstar/pgr_bdAstar.rst @@ -19,6 +19,12 @@ pgr_bdAstar .. rubric:: Availability: +* Version 3.2.0 + + * New **proposed** function: + + * pgr_bdAstar(Combinations) + * Version 3.0.0 * **Official** function @@ -42,7 +48,8 @@ pgr_bdAstar .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ `2.6 `__ @@ -78,10 +85,11 @@ Signature .. code-block:: none - pgr_bdAstar(edges_sql, from_vid, to_vid, [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_bdAstar(edges_sql, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_bdAstar(edges_sql, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_bdAstar(edges_sql, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstar(Edges SQL, from_vid, to_vid, [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstar(Edges SQL, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstar(Edges SQL, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstar(Edges SQL, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstar(Edges SQL, Combinations SQL [, directed] [, heuristic] [, factor] [, epsilon]) -- Proposed on v3.2 RETURNS SET OF (seq, path_seq [, start_vid] [, end_vid], node, edge, cost, agg_cost) OR EMPTY SET @@ -92,7 +100,7 @@ Optional parameters are `named parameters` and have a default value. .. code-block:: none - pgr_bdAstar(edges_sql, start_vid, end_vid) + pgr_bdAstar(Edges SQL, start_vid, end_vid) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) :Example: From vertex :math:`2` to vertex :math:`3` on a **directed** graph @@ -108,7 +116,7 @@ One to One ............................................................................... .. code-block:: none - pgr_bdAstar(edges_sql, from_vid, to_vid, [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstar(Edges SQL, from_vid, to_vid, [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) :Example: From vertex :math:`2` to vertex :math:`3` on a **directed** graph using heuristic :math:`2` @@ -125,7 +133,7 @@ One to many .. code-block:: none - pgr_bdAstar(edges_sql, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstar(Edges SQL, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (seq, path_seq, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -143,7 +151,7 @@ Many to One .. code-block:: none - pgr_bdAstar(edges_sql, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstar(Edges SQL, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (seq, path_seq, start_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -161,7 +169,7 @@ Many to Many .. code-block:: none - pgr_bdAstar(edges_sql, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstar(Edges SQL, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -171,6 +179,25 @@ Many to Many :start-after: -- q5 :end-before: -- q6 +.. index:: + single: bdAstar(Combinations) - Proposed + +Combinations +............................................................................... + +.. code-block:: none + + pgr_bdAstar(Edges SQL, Combinations SQL [, directed] [, heuristic] [, factor] [, epsilon]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table on a **directed** graph using factor :math:`0.5`. + + +.. literalinclude:: doc-pgr_bdAstar.queries + :start-after: -- q6 + :end-before: -- q7 + Parameters ------------------------------------------------------------------------------- @@ -186,16 +213,23 @@ Optional Parameters :end-before: aStar optional parameters end -Inner query +Inner queries ------------------------------------------------------------------------------- -edges_sql +Edges query ............................................................................... .. include:: pgRouting-concepts.rst :start-after: xy_edges_sql_start :end-before: xy_edges_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From 8ace35f4cd945f4ae37217f80fbff8bc5be44742 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 5 Dec 2020 18:17:21 +0530 Subject: [PATCH 1028/1360] [bdAstarCost][doc] Added for combinations signature --- doc/bdAstar/pgr_bdAstarCost.rst | 55 ++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 12 deletions(-) diff --git a/doc/bdAstar/pgr_bdAstarCost.rst b/doc/bdAstar/pgr_bdAstarCost.rst index 981ffd92f13..6ca2b8a6a37 100644 --- a/doc/bdAstar/pgr_bdAstarCost.rst +++ b/doc/bdAstar/pgr_bdAstarCost.rst @@ -19,6 +19,12 @@ pgr_bdAstarCost .. rubric:: Availability +* Version 3.2.0 + + * New **proposed** function: + + * pgr_bdAstarCost(Combinations) + * Version 3.0.0 * **Official** function @@ -28,7 +34,8 @@ pgr_bdAstarCost * New **Proposed** function * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ `2.6 `__ @@ -55,10 +62,11 @@ Signatures .. code-block:: none - pgr_bdAstarCost(edges_sql, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_bdAstarCost(edges_sql, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_bdAstarCost(edges_sql, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) - pgr_bdAstarCost(edges_sql, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstarCost(Edges SQL, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstarCost(Edges SQL, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstarCost(Edges SQL, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstarCost(Edges SQL, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstarCost(Edges SQL, Combinations SQL [, directed] [, heuristic] [, factor] [, epsilon]) -- Proposed on v3.2 RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -69,7 +77,7 @@ Optional parameters are `named parameters` and have a default value. .. code-block:: none - pgr_bdAstarCost(edges_sql, from_vid, to_vid) + pgr_bdAstarCost(Edges SQL, from_vid, to_vid) RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -87,7 +95,7 @@ One to One .. code-block:: none - pgr_bdAstarCost(edges_sql, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstarCost(Edges SQL, from_vid, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -105,7 +113,7 @@ One to many .. code-block:: none - pgr_bdAstarCost(edges_sql, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstarCost(Edges SQL, from_vid, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -123,7 +131,7 @@ Many to One .. code-block:: none - pgr_bdAstarCost(edges_sql, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstarCost(Edges SQL, from_vids, to_vid [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -141,7 +149,7 @@ Many to Many .. code-block:: none - pgr_bdAstarCost(edges_sql, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstarCost(Edges SQL, from_vids, to_vids [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -151,6 +159,22 @@ Many to Many :start-after: -- q5 :end-before: -- q6 +Combinations +............................................................................... + +.. code-block:: none + + pgr_bdAstar(Edges SQL, Combinations SQL [, directed] [, heuristic] [, factor] [, epsilon]) + RETURNS SET OF (start_vid, end_vid, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table on a **directed** graph using factor :math:`0.5`. + + +.. literalinclude:: doc-pgr_bdAstarCost.queries + :start-after: -- q6 + :end-before: -- q7 + Parameters ------------------------------------------------------------------------------- @@ -166,16 +190,23 @@ Optional Parameters :end-before: aStar optional parameters end -Inner query +Inner queries ------------------------------------------------------------------------------- -edges_sql +Edges query ............................................................................... .. include:: pgRouting-concepts.rst :start-after: xy_edges_sql_start :end-before: xy_edges_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From 0feedd9c962221725ca1e1a16db96a90cecc99d3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 5 Dec 2020 18:18:13 +0530 Subject: [PATCH 1029/1360] [bdAstar][doc] Added combinations signature in bdAstar family --- doc/bdAstar/bdAstar-family.rst | 61 ++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/doc/bdAstar/bdAstar-family.rst b/doc/bdAstar/bdAstar-family.rst index b8aad39fe24..b996bf4b43a 100644 --- a/doc/bdAstar/bdAstar-family.rst +++ b/doc/bdAstar/bdAstar-family.rst @@ -65,40 +65,51 @@ The main Characteristics are: Signatures ------------------------------------------------------------------------------- +Edges query +............................................................................... + .. include:: pgRouting-concepts.rst :start-after: xy_edges_sql_start :end-before: xy_edges_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + .. parameters_begin Parameters ------------------------------------------------------------------------------- -================ ====================== ================================================= -Parameter Type Description -================ ====================== ================================================= -**edges_sql** ``TEXT`` Edges SQL query as described above. -**start_vid** ``ANY-INTEGER`` Starting vertex identifier. -**start_vids** ``ARRAY[ANY-INTEGER]`` Starting vertices identifierers. -**end_vid** ``ANY-INTEGER`` Ending vertex identifier. -**end_vids** ``ARRAY[ANY-INTEGER]`` Ending vertices identifiers. -**directed** ``BOOLEAN`` - Optional. - - - When ``false`` the graph is considered as Undirected. - - Default is ``true`` which considers the graph as Directed. - -**heuristic** ``INTEGER`` (optional). Heuristic number. Current valid values 0~5. Default ``5`` - - - 0: h(v) = 0 (Use this value to compare with pgr_dijkstra) - - 1: h(v) abs(max(dx, dy)) - - 2: h(v) abs(min(dx, dy)) - - 3: h(v) = dx * dx + dy * dy - - 4: h(v) = sqrt(dx * dx + dy * dy) - - 5: h(v) = abs(dx) + abs(dy) - -**factor** ``FLOAT`` (optional). For units manipulation. :math:`factor > 0`. Default ``1``. see :ref:`astar_factor` -**epsilon** ``FLOAT`` (optional). For less restricted results. :math:`epsilon >= 1`. Default ``1``. -================ ====================== ================================================= +======================= ====================== ================================================= +Parameter Type Description +======================= ====================== ================================================= +**Edges SQL** ``TEXT`` Edges query as described above. +**Combinations SQL** ``TEXT`` Combinations query as described above. +**start_vid** ``ANY-INTEGER`` Starting vertex identifier. +**start_vids** ``ARRAY[ANY-INTEGER]`` Starting vertices identifierers. +**end_vid** ``ANY-INTEGER`` Ending vertex identifier. +**end_vids** ``ARRAY[ANY-INTEGER]`` Ending vertices identifiers. +**directed** ``BOOLEAN`` - Optional. + + - When ``false`` the graph is considered as Undirected. + - Default is ``true`` which considers the graph as Directed. + +**heuristic** ``INTEGER`` (optional). Heuristic number. Current valid values 0~5. Default ``5`` + + - 0: h(v) = 0 (Use this value to compare with pgr_dijkstra) + - 1: h(v) abs(max(dx, dy)) + - 2: h(v) abs(min(dx, dy)) + - 3: h(v) = dx * dx + dy * dy + - 4: h(v) = sqrt(dx * dx + dy * dy) + - 5: h(v) = abs(dx) + abs(dy) + +**factor** ``FLOAT`` (optional). For units manipulation. :math:`factor > 0`. Default ``1``. see :ref:`astar_factor` +**epsilon** ``FLOAT`` (optional). For less restricted results. :math:`epsilon >= 1`. Default ``1``. +======================= ====================== ================================================= .. parameters_end From e7a3acb0fc62915c04e3a105703c97475013e989 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 5 Dec 2020 18:19:48 +0530 Subject: [PATCH 1030/1360] [doc] Updated release notes and news --- NEWS | 2 ++ doc/src/release_notes.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 9dd0ddb3b1a..6c9f9eeb008 100644 --- a/NEWS +++ b/NEWS @@ -21,6 +21,8 @@ pgRouting 3.2.0 Release Notes * pgr_aStar(Combinations) * pgr_aStarCost(Combinations) +* pgr_bdAstar(Combinations) +* pgr_bdAstarCost(Combinations) * pgr_withPoints(Combinations) * pgr_withPointsCost(Combinations) diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 1d01b0c3fb7..26f41d39a99 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -78,6 +78,8 @@ pgRouting 3.2.0 Release Notes * pgr_aStar(Combinations) * pgr_aStarCost(Combinations) +* pgr_bdAstar(Combinations) +* pgr_bdAstarCost(Combinations) * pgr_withPoints(Combinations) * pgr_withPointsCost(Combinations) From 3b253df0af355481cc7d735ffba699eee0bb96d7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 6 Dec 2020 15:41:13 +0530 Subject: [PATCH 1031/1360] [bdDijkstra][sql] Added Combinations SQL signature --- sql/bdDijkstra/_bdDijkstra.sql | 24 +++++++++++++++++++++ sql/bdDijkstra/bdDijkstra.sql | 38 ++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/sql/bdDijkstra/_bdDijkstra.sql b/sql/bdDijkstra/_bdDijkstra.sql index f07207b0d3d..c607d1a641f 100644 --- a/sql/bdDijkstra/_bdDijkstra.sql +++ b/sql/bdDijkstra/_bdDijkstra.sql @@ -53,7 +53,31 @@ RETURNS SETOF RECORD AS LANGUAGE c VOLATILE STRICT; +--v3.2 +CREATE FUNCTION _pgr_bdDijkstra( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN, + only_cost BOOLEAN DEFAULT false, + + OUT seq 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 VOLATILE STRICT; + + -- COMMENTS COMMENT ON FUNCTION _pgr_bdDijkstra(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, BOOLEAN) IS 'pgRouting internal function'; + +COMMENT ON FUNCTION _pgr_bdDijkstra(TEXT, TEXT, BOOLEAN, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/bdDijkstra/bdDijkstra.sql b/sql/bdDijkstra/bdDijkstra.sql index 05f98b70f74..727e65a1521 100644 --- a/sql/bdDijkstra/bdDijkstra.sql +++ b/sql/bdDijkstra/bdDijkstra.sql @@ -134,6 +134,33 @@ LANGUAGE SQL VOLATILE STRICT COST 100 ROWS 1000; + +-- COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_bdDijkstra( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT TRUE, + + OUT seq 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 * + FROM _pgr_bdDijkstra(_pgr_get_statement($1), _pgr_get_statement($2), directed, false) as a; +$BODY$ +LANGUAGE SQL VOLATILE STRICT +COST 100 +ROWS 1000; + + -- COMMENTS COMMENT ON FUNCTION pgr_bdDijkstra(TEXT, BIGINT, BIGINT, BOOLEAN) @@ -183,3 +210,14 @@ IS 'pgr_bdDijkstra(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bdDijkstra.html '; + +COMMENT ON FUNCTION pgr_bdDijkstra(TEXT, TEXT, BOOLEAN) +IS 'pgr_bdDijkstra(Combinations) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Combinations SQL with columns: source, target +- Optional Parameters + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_bdDijkstra.html +'; From 94849fa5d44607149ac12891d19b3a99fcdad23d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 6 Dec 2020 15:41:24 +0530 Subject: [PATCH 1032/1360] [bdDijkstraCost][sql] Added Combinations SQL signature --- sql/bdDijkstra/bdDijkstraCost.sql | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/sql/bdDijkstra/bdDijkstraCost.sql b/sql/bdDijkstra/bdDijkstraCost.sql index 043fe1d69bc..7aa07d9ee4b 100644 --- a/sql/bdDijkstra/bdDijkstraCost.sql +++ b/sql/bdDijkstra/bdDijkstraCost.sql @@ -118,6 +118,27 @@ COST 100 ROWS 1000; +-- COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_bdDijkstraCost( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT a.start_vid, a.end_vid, a.agg_cost + FROM _pgr_bdDijkstra(_pgr_get_statement($1), _pgr_get_statement($2), directed, true) as a; +$BODY$ +LANGUAGE SQL VOLATILE STRICT +COST 100 +ROWS 1000; + + -- COMMENTS COMMENT ON FUNCTION pgr_bdDijkstraCost(TEXT, BIGINT, BIGINT, BOOLEAN) @@ -170,3 +191,14 @@ IS 'pgr_bdDijkstraCost(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bdDijkstraCost.html '; + +COMMENT ON FUNCTION pgr_bdDijkstraCost(TEXT, TEXT, BOOLEAN) +IS 'pgr_bdDijkstraCost(Combinations) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Combinations SQL with columns: source, target +- Optional Parameters + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_bdDijkstraCost.html +'; From cd3f178db60243ab8798e91e73d43b5b01ae5035 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 6 Dec 2020 15:41:42 +0530 Subject: [PATCH 1033/1360] [bdDijkstra] Updated v3.2 signature file --- sql/sigs/pgrouting--3.2.sig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sql/sigs/pgrouting--3.2.sig b/sql/sigs/pgrouting--3.2.sig index 6a09929d8d3..b6c9a7e6d58 100644 --- a/sql/sigs/pgrouting--3.2.sig +++ b/sql/sigs/pgrouting--3.2.sig @@ -36,11 +36,14 @@ pgr_bddijkstracost(text,anyarray,anyarray,boolean) pgr_bddijkstracost(text,anyarray,bigint,boolean) pgr_bddijkstracost(text,bigint,anyarray,boolean) pgr_bddijkstracost(text,bigint,bigint,boolean) +pgr_bddijkstracost(text,text,boolean) pgr_bddijkstra(text,anyarray,anyarray,boolean) _pgr_bddijkstra(text,anyarray,anyarray,boolean,boolean) pgr_bddijkstra(text,anyarray,bigint,boolean) pgr_bddijkstra(text,bigint,anyarray,boolean) pgr_bddijkstra(text,bigint,bigint,boolean) +pgr_bddijkstra(text,text,boolean) +_pgr_bddijkstra(text,text,boolean,boolean) pgr_bellmanford(text,anyarray,anyarray,boolean) _pgr_bellmanford(text,anyarray,anyarray,boolean,boolean) pgr_bellmanford(text,anyarray,bigint,boolean) From fbb1e4e202024b925a36fdbb8edd6be605b41177 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 6 Dec 2020 15:42:05 +0530 Subject: [PATCH 1034/1360] [bdDijkstra][code] Updated code for combinations signature --- .../drivers/bdDijkstra/bdDijkstra_driver.h | 5 ++ src/bdDijkstra/bdDijkstra.c | 54 +++++++++---- src/bdDijkstra/bdDijkstra_driver.cpp | 77 +++++++++++++++---- 3 files changed, 104 insertions(+), 32 deletions(-) diff --git a/include/drivers/bdDijkstra/bdDijkstra_driver.h b/include/drivers/bdDijkstra/bdDijkstra_driver.h index 93facc2406a..b6a533801e1 100644 --- a/include/drivers/bdDijkstra/bdDijkstra_driver.h +++ b/include/drivers/bdDijkstra/bdDijkstra_driver.h @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/general_path_element_t.h" @@ -50,6 +51,10 @@ extern "C" { void do_pgr_bdDijkstra( pgr_edge_t *data_edges, size_t total_edges, + + pgr_combination_t *combinations, + size_t total_combinations, + int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, diff --git a/src/bdDijkstra/bdDijkstra.c b/src/bdDijkstra/bdDijkstra.c index 32e7736dd45..7165cd2796e 100644 --- a/src/bdDijkstra/bdDijkstra.c +++ b/src/bdDijkstra/bdDijkstra.c @@ -38,6 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "c_common/combinations_input.h" #include "drivers/bdDijkstra/bdDijkstra_driver.h" @@ -51,6 +52,7 @@ static void process( char* edges_sql, + char* combinations_sql, ArrayType *starts, ArrayType *ends, bool directed, @@ -59,17 +61,27 @@ process( size_t *result_count) { pgr_SPI_connect(); + int64_t* start_vidsArr = NULL; size_t size_start_vidsArr = 0; - int64_t* start_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_start_vidsArr, starts); + int64_t* end_vidsArr = NULL; size_t size_end_vidsArr = 0; - int64_t* end_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_end_vidsArr, ends); pgr_edge_t *edges = NULL; size_t total_edges = 0; + pgr_combination_t *combinations = NULL; + size_t total_combinations = 0; + + if (starts && ends) { + start_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_start_vidsArr, starts); + end_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_end_vidsArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + } + pgr_get_edges(edges_sql, &edges, &total_edges); PGR_DBG("Total %ld edges in query:", total_edges); @@ -86,6 +98,7 @@ process( char *err_msg = NULL; do_pgr_bdDijkstra( edges, total_edges, + combinations, total_combinations, start_vidsArr, size_start_vidsArr, end_vidsArr, size_end_vidsArr, @@ -137,19 +150,13 @@ PGDLLEXPORT Datum _pgr_bddijkstra(PG_FUNCTION_ARGS) { oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - /* MODIFY AS NEEDED */ - /* - edges_sql TEXT, - start_vid BIGINT, - end_vid BIGINT, - directed BOOLEAN DEFAULT true, - only_cost BOOLEAN DEFAULT false, - **********************************************************************/ - - - process( + if (PG_NARGS() == 5) { + /* + * many to many + */ + process( text_to_cstring(PG_GETARG_TEXT_P(0)), + NULL, PG_GETARG_ARRAYTYPE_P(1), PG_GETARG_ARRAYTYPE_P(2), PG_GETARG_BOOL(3), @@ -157,6 +164,21 @@ PGDLLEXPORT Datum _pgr_bddijkstra(PG_FUNCTION_ARGS) { &result_tuples, &result_count); + } else if (PG_NARGS() == 4) { + /* + * combinations + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, + NULL, + PG_GETARG_BOOL(2), + PG_GETARG_BOOL(3), + &result_tuples, + &result_count); + } + /* */ /**********************************************************************/ diff --git a/src/bdDijkstra/bdDijkstra_driver.cpp b/src/bdDijkstra/bdDijkstra_driver.cpp index 1cd9a272610..b5b9cf9e7f4 100644 --- a/src/bdDijkstra/bdDijkstra_driver.cpp +++ b/src/bdDijkstra/bdDijkstra_driver.cpp @@ -50,30 +50,72 @@ static std::deque pgr_bdDijkstra( G &graph, + std::vector < pgr_combination_t > &combinations, std::vector < int64_t > sources, std::vector < int64_t > targets, std::ostream &log, bool only_cost) { log << "entering static function\n"; - std::sort(sources.begin(), sources.end()); - sources.erase( - std::unique(sources.begin(), sources.end()), - sources.end()); - - std::sort(targets.begin(), targets.end()); - targets.erase( - std::unique(targets.begin(), targets.end()), - targets.end()); pgrouting::bidirectional::Pgr_bdDijkstra fn_bdDijkstra(graph); - std::deque paths; - for (const auto source : sources) { - for (const auto target : targets) { + + if (combinations.empty()) { + std::sort(sources.begin(), sources.end()); + sources.erase( + std::unique(sources.begin(), sources.end()), + sources.end()); + + std::sort(targets.begin(), targets.end()); + targets.erase( + std::unique(targets.begin(), targets.end()), + targets.end()); + + for (const auto source : sources) { + for (const auto target : targets) { + fn_bdDijkstra.clear(); + + if (!graph.has_vertex(source) + || !graph.has_vertex(target)) { + paths.push_back(Path(source, target)); + continue; + } + + paths.push_back(fn_bdDijkstra.pgr_bdDijkstra( + graph.get_V(source), graph.get_V(target), only_cost)); + } + } + + } else { + std::sort(combinations.begin(), combinations.end(), + [](const pgr_combination_t &lhs, const pgr_combination_t &rhs)->bool { + return lhs.target < rhs.target; + }); + std::stable_sort(combinations.begin(), combinations.end(), + [](const pgr_combination_t &lhs, const pgr_combination_t &rhs)->bool { + return lhs.source < rhs.source; + }); + + pgr_combination_t previousCombination{0, 0}; + + for (const pgr_combination_t &comb : combinations) { fn_bdDijkstra.clear(); + if (comb.source == previousCombination.source && + comb.target == previousCombination.target) { + continue; + } + + if (!graph.has_vertex(comb.source) + || !graph.has_vertex(comb.target)) { + paths.push_back(Path(comb.source, comb.target)); + continue; + } + paths.push_back(fn_bdDijkstra.pgr_bdDijkstra( - graph.get_V(source), graph.get_V(target), only_cost)); + graph.get_V(comb.source), graph.get_V(comb.target), only_cost)); + + previousCombination = comb; } } @@ -87,6 +129,8 @@ void do_pgr_bdDijkstra( pgr_edge_t *data_edges, size_t total_edges, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, @@ -105,9 +149,6 @@ do_pgr_bdDijkstra( std::ostringstream notice; try { pgassert(total_edges != 0); - pgassert(size_start_vidsArr != 0); - pgassert(size_end_vidsArr != 0); - pgassert(!(*log_msg)); pgassert(!(*notice_msg)); pgassert(!(*err_msg)); @@ -119,6 +160,8 @@ do_pgr_bdDijkstra( start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); std::vector< int64_t > end_vertices(end_vidsArr, end_vidsArr + size_end_vidsArr); + std::vector< pgr_combination_t > + combinations_vector(combinations, combinations + total_combinations); graphType gType = directed? DIRECTED: UNDIRECTED; @@ -130,6 +173,7 @@ do_pgr_bdDijkstra( pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); paths = pgr_bdDijkstra(digraph, + combinations_vector, start_vertices, end_vertices, log, @@ -140,6 +184,7 @@ do_pgr_bdDijkstra( undigraph.insert_edges(data_edges, total_edges); paths = pgr_bdDijkstra( undigraph, + combinations_vector, start_vertices, end_vertices, log, From 67edb9e8797ff0d36ce9377f1b7a726fd156200e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 6 Dec 2020 15:43:21 +0530 Subject: [PATCH 1035/1360] [bdDijkstra][pgtap] Added the tests --- pgtap/bdDijkstra/bdDijkstra-innerQuery.sql | 5 +- ...a_empty_combinations_empty_result.test.sql | 25 +++++++++ .../many_to_many_eq_combinations.test.sql | 53 +++++++++++++++++++ pgtap/bdDijkstra/no_crash_test-bdDijkstra.sql | 25 ++++++++- 4 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 pgtap/bdDijkstra/bdDijkstra_empty_combinations_empty_result.test.sql create mode 100644 pgtap/bdDijkstra/many_to_many_eq_combinations.test.sql diff --git a/pgtap/bdDijkstra/bdDijkstra-innerQuery.sql b/pgtap/bdDijkstra/bdDijkstra-innerQuery.sql index dcd81020e4d..e56c41568e3 100644 --- a/pgtap/bdDijkstra/bdDijkstra-innerQuery.sql +++ b/pgtap/bdDijkstra/bdDijkstra-innerQuery.sql @@ -1,12 +1,13 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(656); +SELECT plan(658); SELECT has_function('pgr_bddijkstra', ARRAY['text', 'bigint', 'bigint', 'boolean']); SELECT has_function('pgr_bddijkstra', ARRAY['text', 'bigint', 'anyarray', 'boolean']); SELECT has_function('pgr_bddijkstra', ARRAY['text', 'anyarray', 'bigint', 'boolean']); SELECT has_function('pgr_bddijkstra', ARRAY['text', 'anyarray', 'anyarray', 'boolean']); +SELECT has_function('pgr_bddijkstra', ARRAY['text', 'text', 'boolean']); SELECT function_returns('pgr_bddijkstra', ARRAY['text', 'bigint', 'bigint', 'boolean'], 'setof record'); @@ -16,6 +17,8 @@ SELECT function_returns('pgr_bddijkstra', ARRAY['text', 'anyarray', 'bigint', 'b 'setof record'); SELECT function_returns('pgr_bddijkstra', ARRAY['text', 'anyarray', 'anyarray', 'boolean'], 'setof record'); +SELECT function_returns('pgr_bddijkstra', ARRAY['text', 'text', 'boolean'], + 'setof record'); diff --git a/pgtap/bdDijkstra/bdDijkstra_empty_combinations_empty_result.test.sql b/pgtap/bdDijkstra/bdDijkstra_empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..e3cf853a98b --- /dev/null +++ b/pgtap/bdDijkstra/bdDijkstra_empty_combinations_empty_result.test.sql @@ -0,0 +1,25 @@ + +\i setup.sql + +SELECT plan(1); + +create or REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_bdDijkstra( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +select * from foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/bdDijkstra/many_to_many_eq_combinations.test.sql b/pgtap/bdDijkstra/many_to_many_eq_combinations.test.sql new file mode 100644 index 00000000000..368b57137d5 --- /dev/null +++ b/pgtap/bdDijkstra/many_to_many_eq_combinations.test.sql @@ -0,0 +1,53 @@ + +\i setup.sql + +SELECT plan(2); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +create or REPLACE FUNCTION foo( sql_TestFunction TEXT, cant INTEGER default 18 ) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +sql_Combinations TEXT; +sql_Many TEXT; +BEGIN + + sql_Combinations := ''; + sql_Many := ''; + FOR i IN 1.. cant LOOP + IF (i > 1) THEN + sql_Many := sql_Many ||', '; + END IF; + sql_Many := sql_Many || i ; + END LOOP; + + FOR i IN 1.. cant LOOP + FOR j IN 1..cant LOOP + IF NOT (i = j) THEN + sql_Combinations := sql_Combinations || '(' || i || ',' || j || '),' ; + END IF; + END LOOP; + END LOOP; + sql_Combinations := trim(trailing ',' from sql_Combinations); + + sql_Many := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ARRAY[' || sql_Many ||'], ARRAY[' || sql_Many || '] ) '); + + sql_Combinations := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ''SELECT * FROM (VALUES' || sql_Combinations ||') AS combinations (source, target)'' ) '); + + RETURN query SELECT set_eq( sql_Many, sql_Combinations ); + RETURN; +END +$BODY$ +language plpgsql; + +-- test pgr_bdDijkstra +select * from foo('SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_bdDijkstra'); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/bdDijkstra/no_crash_test-bdDijkstra.sql b/pgtap/bdDijkstra/no_crash_test-bdDijkstra.sql index 7812ce7a952..4f6ca4d463d 100644 --- a/pgtap/bdDijkstra/no_crash_test-bdDijkstra.sql +++ b/pgtap/bdDijkstra/no_crash_test-bdDijkstra.sql @@ -1,19 +1,27 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; +PREPARE combinations AS +SELECT source, target FROM combinations_table; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -96,6 +104,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_bdDijkstra', params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_bdDijkstra', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_bdDijkstra', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From 30169cc4ddffef7ba800e3be7cc737afe94a5276 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 6 Dec 2020 15:43:46 +0530 Subject: [PATCH 1036/1360] [bdDijkstraCost][pgtap] Added the tests --- .../bdDijkstra/bdDijkstraCost-innerQuery.sql | 5 +++- ...t_empty_combinations_empty_result.test.sql | 25 +++++++++++++++++++ .../many_to_many_eq_combinations.test.sql | 3 +++ .../no_crash_test-bdDijkstraCost.sql | 25 ++++++++++++++++++- 4 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 pgtap/bdDijkstra/bdDijkstraCost_empty_combinations_empty_result.test.sql diff --git a/pgtap/bdDijkstra/bdDijkstraCost-innerQuery.sql b/pgtap/bdDijkstra/bdDijkstraCost-innerQuery.sql index 4abd1b16bab..21f433b8b35 100644 --- a/pgtap/bdDijkstra/bdDijkstraCost-innerQuery.sql +++ b/pgtap/bdDijkstra/bdDijkstraCost-innerQuery.sql @@ -1,12 +1,13 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(656); +SELECT plan(658); SELECT has_function('pgr_bddijkstracost', ARRAY['text', 'bigint', 'bigint', 'boolean']); SELECT has_function('pgr_bddijkstracost', ARRAY['text', 'anyarray', 'bigint', 'boolean']); SELECT has_function('pgr_bddijkstracost', ARRAY['text', 'bigint', 'anyarray', 'boolean']); SELECT has_function('pgr_bddijkstracost', ARRAY['text', 'anyarray', 'anyarray', 'boolean']); +SELECT has_function('pgr_bddijkstracost', ARRAY['text', 'text', 'boolean']); SELECT function_returns('pgr_bddijkstracost', ARRAY['text', 'bigint', 'bigint', 'boolean'], 'setof record'); @@ -16,6 +17,8 @@ SELECT function_returns('pgr_bddijkstracost', ARRAY['text', 'anyarray', 'bigint' 'setof record'); SELECT function_returns('pgr_bddijkstracost', ARRAY['text', 'anyarray', 'anyarray', 'boolean'], 'setof record'); +SELECT function_returns('pgr_bddijkstracost', ARRAY['text', 'text', 'boolean'], + 'setof record'); diff --git a/pgtap/bdDijkstra/bdDijkstraCost_empty_combinations_empty_result.test.sql b/pgtap/bdDijkstra/bdDijkstraCost_empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..3f79fca1946 --- /dev/null +++ b/pgtap/bdDijkstra/bdDijkstraCost_empty_combinations_empty_result.test.sql @@ -0,0 +1,25 @@ + +\i setup.sql + +SELECT plan(1); + +create or REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT start_vid, end_vid, agg_cost FROM pgr_bdDijkstraCost( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +select * from foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/bdDijkstra/many_to_many_eq_combinations.test.sql b/pgtap/bdDijkstra/many_to_many_eq_combinations.test.sql index 368b57137d5..07632ffdc3d 100644 --- a/pgtap/bdDijkstra/many_to_many_eq_combinations.test.sql +++ b/pgtap/bdDijkstra/many_to_many_eq_combinations.test.sql @@ -48,6 +48,9 @@ language plpgsql; -- test pgr_bdDijkstra select * from foo('SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_bdDijkstra'); +-- test pgr_bdDijkstraCost +select * from foo('SELECT start_vid, end_vid, agg_cost FROM pgr_bdDijkstraCost'); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/bdDijkstra/no_crash_test-bdDijkstraCost.sql b/pgtap/bdDijkstra/no_crash_test-bdDijkstraCost.sql index 71448a7325b..5e2572b3177 100644 --- a/pgtap/bdDijkstra/no_crash_test-bdDijkstraCost.sql +++ b/pgtap/bdDijkstra/no_crash_test-bdDijkstraCost.sql @@ -1,19 +1,27 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; +PREPARE combinations AS +SELECT source, target FROM combinations_table; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -96,6 +104,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_bdDijkstraCost', params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_bdDijkstraCost', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_bdDijkstraCost', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From 66c00af4696242b17009290f225126630072c133 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 6 Dec 2020 15:44:04 +0530 Subject: [PATCH 1037/1360] [bdDijkstra][docqueries] Added for combinations signature --- .../bdDijkstra/doc-pgr_bdDijkstra.result | 19 +++++++++++++++++++ .../bdDijkstra/doc-pgr_bdDijkstra.test.sql | 4 ++++ 2 files changed, 23 insertions(+) diff --git a/docqueries/bdDijkstra/doc-pgr_bdDijkstra.result b/docqueries/bdDijkstra/doc-pgr_bdDijkstra.result index 20db79a8f3c..f07bec3ec7f 100644 --- a/docqueries/bdDijkstra/doc-pgr_bdDijkstra.result +++ b/docqueries/bdDijkstra/doc-pgr_bdDijkstra.result @@ -99,5 +99,24 @@ SELECT * FROM pgr_bdDijkstra( (22 rows) -- q6 +SELECT * FROM pgr_bdDijkstra( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (7, 11) ) AS t(source, target)'); + seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 2 | 3 | 2 | 4 | 1 | 0 + 2 | 2 | 2 | 3 | 5 | 8 | 1 | 1 + 3 | 3 | 2 | 3 | 6 | 9 | 1 | 2 + 4 | 4 | 2 | 3 | 9 | 16 | 1 | 3 + 5 | 5 | 2 | 3 | 4 | 3 | 1 | 4 + 6 | 6 | 2 | 3 | 3 | -1 | 0 | 5 + 7 | 1 | 7 | 11 | 7 | 6 | 1 | 0 + 8 | 2 | 7 | 11 | 8 | 7 | 1 | 1 + 9 | 3 | 7 | 11 | 5 | 10 | 1 | 2 + 10 | 4 | 7 | 11 | 10 | 12 | 1 | 3 + 11 | 5 | 7 | 11 | 11 | -1 | 0 | 4 +(11 rows) + +-- q7 ROLLBACK; ROLLBACK diff --git a/docqueries/bdDijkstra/doc-pgr_bdDijkstra.test.sql b/docqueries/bdDijkstra/doc-pgr_bdDijkstra.test.sql index 02643f0269c..162994782c8 100644 --- a/docqueries/bdDijkstra/doc-pgr_bdDijkstra.test.sql +++ b/docqueries/bdDijkstra/doc-pgr_bdDijkstra.test.sql @@ -24,3 +24,7 @@ SELECT * FROM pgr_bdDijkstra( 'SELECT id, source, target, cost, reverse_cost FROM edge_table', ARRAY[2, 7], ARRAY[3, 11]); \echo -- q6 +SELECT * FROM pgr_bdDijkstra( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (7, 11) ) AS t(source, target)'); +\echo -- q7 From 373522a76026969c5a748834a848d3cd6cf6976b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 6 Dec 2020 15:44:12 +0530 Subject: [PATCH 1038/1360] [bdDijkstraCost][docqueries] Added for combinations signature --- docqueries/bdDijkstra/doc-pgr_bdDijkstraCost.result | 10 ++++++++++ docqueries/bdDijkstra/doc-pgr_bdDijkstraCost.test.sql | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/docqueries/bdDijkstra/doc-pgr_bdDijkstraCost.result b/docqueries/bdDijkstra/doc-pgr_bdDijkstraCost.result index abc3a6ec3c3..a6cbed768a1 100644 --- a/docqueries/bdDijkstra/doc-pgr_bdDijkstraCost.result +++ b/docqueries/bdDijkstra/doc-pgr_bdDijkstraCost.result @@ -56,5 +56,15 @@ SELECT * FROM pgr_bdDijkstraCost( (4 rows) -- q6 +SELECT * FROM pgr_bdDijkstraCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (7, 11) ) AS t(source, target)'); + start_vid | end_vid | agg_cost +-----------+---------+---------- + 2 | 3 | 5 + 7 | 11 | 4 +(2 rows) + +-- q7 ROLLBACK; ROLLBACK diff --git a/docqueries/bdDijkstra/doc-pgr_bdDijkstraCost.test.sql b/docqueries/bdDijkstra/doc-pgr_bdDijkstraCost.test.sql index d9f6919c12d..26200454376 100644 --- a/docqueries/bdDijkstra/doc-pgr_bdDijkstraCost.test.sql +++ b/docqueries/bdDijkstra/doc-pgr_bdDijkstraCost.test.sql @@ -24,3 +24,7 @@ SELECT * FROM pgr_bdDijkstraCost( 'SELECT id, source, target, cost, reverse_cost FROM edge_table', ARRAY[2, 7], ARRAY[3, 11]); \echo -- q6 +SELECT * FROM pgr_bdDijkstraCost( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (7, 11) ) AS t(source, target)'); +\echo -- q7 From 6460963595149e72f2c64dc9af8d188fb7cd9d6b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 6 Dec 2020 15:44:25 +0530 Subject: [PATCH 1039/1360] [bdDijkstra][doc] Added for combinations signature --- doc/bdDijkstra/pgr_bdDijkstra.rst | 75 ++++++++++++++++++++++--------- 1 file changed, 53 insertions(+), 22 deletions(-) diff --git a/doc/bdDijkstra/pgr_bdDijkstra.rst b/doc/bdDijkstra/pgr_bdDijkstra.rst index 049ad3213bd..83ed15c6518 100644 --- a/doc/bdDijkstra/pgr_bdDijkstra.rst +++ b/doc/bdDijkstra/pgr_bdDijkstra.rst @@ -19,6 +19,12 @@ pgr_bdDijkstra .. rubric:: Availability: +* Version 3.2.0 + + * New **proposed** function: + + * pgr_bdDijkstra(Combinations) + * Version 3.0.0 * **Official** function @@ -44,7 +50,8 @@ pgr_bdDijkstra .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ `2.6 `__ @@ -72,10 +79,11 @@ Signatures .. code-block:: none - pgr_bdDijkstra(edges_sql, start_vid, end_vid [, directed]) - pgr_bdDijkstra(edges_sql, start_vid, end_vids [, directed]) - pgr_bdDijkstra(edges_sql, start_vids, end_vid [, directed]) - pgr_bdDijkstra(edges_sql, start_vids, end_vids [, directed]) + pgr_bdDijkstra(Edges SQL, start_vid, end_vid [, directed]) + pgr_bdDijkstra(Edges SQL, start_vid, end_vids [, directed]) + pgr_bdDijkstra(Edges SQL, start_vids, end_vid [, directed]) + pgr_bdDijkstra(Edges SQL, start_vids, end_vids [, directed]) + pgr_bdDijkstra(Edges SQL, Combinations SQL [, directed]) -- Proposed on v3.2 RETURNS SET OF (seq, path_seq [, start_vid] [, end_vid], node, edge, cost, agg_cost) OR EMPTY SET @@ -84,7 +92,7 @@ Signatures .. code-block:: none - pgr_bdDijkstra(edges_sql, start_vid, end_vid) + pgr_bdDijkstra(Edges SQL, start_vid, end_vid) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -102,7 +110,7 @@ One to One .. code-block:: none - pgr_bdDijkstra(edges_sql, start_vid, end_vid [, directed]) + pgr_bdDijkstra(Edges SQL, start_vid, end_vid [, directed]) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -120,7 +128,7 @@ One to many .. code-block:: none - pgr_bdDijkstra(edges_sql, start_vid, end_vids [, directed]) + pgr_bdDijkstra(Edges SQL, start_vid, end_vids [, directed]) RETURNS SET OF (seq, path_seq, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -138,7 +146,7 @@ Many to One .. code-block:: none - pgr_bdDijkstra(edges_sql, start_vids, end_vid [, directed]) + pgr_bdDijkstra(Edges SQL, start_vids, end_vid [, directed]) RETURNS SET OF (seq, path_seq, start_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -156,7 +164,7 @@ Many to Many .. code-block:: none - pgr_bdDijkstra(edges_sql, start_vids, end_vids [, directed]) + pgr_bdDijkstra(Edges SQL, start_vids, end_vids [, directed]) RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -166,26 +174,42 @@ Many to Many :start-after: -- q5 :end-before: -- q6 +Combinations +............................................................................... + +.. code-block:: none + + pgr_bdDijkstra(Edges SQL, Combinations SQL [, directed]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table on a **directed** graph. + +.. literalinclude:: doc-pgr_bdDijkstra.queries + :start-after: -- q6 + :end-before: -- q7 + Parameters ------------------------------------------------------------------------------- .. bdDijkstra_parameters_start -====================== ================== ======== ================================================= -Parameter Type Default Description -====================== ================== ======== ================================================= -**Edges SQL** ``TEXT`` `Edges query`_ as described below -**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. -**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. -**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. -**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. -**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` - - When ``false`` the graph is considered as `Undirected`. -====================== ================== ======== ================================================= +============================= ================== ======== ================================================= +Parameter Type Default Description +============================= ================== ======== ================================================= +**Edges SQL** ``TEXT`` `Edges query` as described below +**Combinations SQL** ``TEXT`` `Combinations query` as described below +**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. +**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. +**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. +**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. +**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` + - When ``false`` the graph is considered as `Undirected`. +============================= ================== ======== ================================================= .. bdDijkstra_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- Edges query @@ -195,6 +219,13 @@ Edges query :start-after: basic_edges_sql_start :end-before: basic_edges_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From 282d2aec21dd4094e7b477dbafdee6946d48ad32 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 6 Dec 2020 15:44:32 +0530 Subject: [PATCH 1040/1360] [bdDijkstraCost][doc] Added for combinations signature --- doc/bdDijkstra/pgr_bdDijkstraCost.rst | 54 +++++++++++++++++++++------ 1 file changed, 42 insertions(+), 12 deletions(-) diff --git a/doc/bdDijkstra/pgr_bdDijkstraCost.rst b/doc/bdDijkstra/pgr_bdDijkstraCost.rst index 9a2e3e88816..09839c19e8a 100644 --- a/doc/bdDijkstra/pgr_bdDijkstraCost.rst +++ b/doc/bdDijkstra/pgr_bdDijkstraCost.rst @@ -19,6 +19,12 @@ pgr_bdDijkstraCost .. rubric:: Availability: +* Version 3.2.0 + + * New **proposed** function: + + * pgr_bdDijkstraCost(Combinations) + * Version 3.0.0 * **Official** function @@ -30,7 +36,8 @@ pgr_bdDijkstraCost .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ `2.6 `__ @@ -54,10 +61,11 @@ Signatures .. code-block:: none - pgr_bdDijkstraCost(edges_sql, from_vid, to_vid [, directed]) - pgr_bdDijkstraCost(edges_sql, from_vid, to_vids [, directed]) - pgr_bdDijkstraCost(edges_sql, from_vids, to_vid [, directed]) - pgr_bdDijkstraCost(edges_sql, from_vids, to_vids [, directed]) + pgr_bdDijkstraCost(Edges SQL, from_vid, to_vid [, directed]) + pgr_bdDijkstraCost(Edges SQL, from_vid, to_vids [, directed]) + pgr_bdDijkstraCost(Edges SQL, from_vids, to_vid [, directed]) + pgr_bdDijkstraCost(Edges SQL, from_vids, to_vids [, directed]) + pgr_bdDijkstraCost(Edges SQL, Combinations SQL [, directed]) -- Proposed on v3.2 RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET @@ -66,7 +74,7 @@ Signatures .. code-block:: none - pgr_bdDijkstraCost(edges_sql, from_vid, to_vid) + pgr_bdDijkstraCost(Edges SQL, from_vid, to_vid) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -84,7 +92,7 @@ One to One .. code-block:: none - pgr_bdDijkstraCost(edges_sql, from_vid, to_vid [, directed]) + pgr_bdDijkstraCost(Edges SQL, from_vid, to_vid [, directed]) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -102,7 +110,7 @@ One to Many .. code-block:: none - pgr_bdDijkstraCost(edges_sql, from_vid, to_vids [, directed]) + pgr_bdDijkstraCost(Edges SQL, from_vid, to_vids [, directed]) RETURNS SET OF (seq, path_seq, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -120,7 +128,7 @@ Many to One .. code-block:: none - pgr_bdDijkstraCost(edges_sql, from_vids, to_vids [, directed]) + pgr_bdDijkstraCost(Edges SQL, from_vids, to_vids [, directed]) RETURNS SET OF (seq, path_seq, start_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -138,7 +146,7 @@ Many to Many .. code-block:: none - pgr_bdDijkstraCost(edges_sql, start_vids, end_vids [, directed]) + pgr_bdDijkstraCost(Edges SQL, start_vids, end_vids [, directed]) RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -148,6 +156,21 @@ Many to Many :start-after: -- q5 :end-before: -- q6 +Combinations +............................................................................... + +.. code-block:: none + + pgr_bdDijkstra(Edges SQL, Combinations SQL [, directed]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table on a **directed** graph. + +.. literalinclude:: doc-pgr_bdDijkstraCost.queries + :start-after: -- q6 + :end-before: -- q7 + Parameters ------------------------------------------------------------------------------- @@ -155,16 +178,23 @@ Parameters :start-after: bdDijkstra_parameters_start :end-before: bdDijkstra_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- Edges query ............................................................................... -.. include:: pgRouting-concepts.rst +.. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start :end-before: basic_edges_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From 29b35dc382a24728990189c0cf8ed1f010f0b1f3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 6 Dec 2020 15:44:45 +0530 Subject: [PATCH 1041/1360] [doc] Updated release notes and news --- NEWS | 2 ++ doc/src/release_notes.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 6c9f9eeb008..4dec16a6792 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,8 @@ pgRouting 3.2.0 Release Notes * pgr_aStarCost(Combinations) * pgr_bdAstar(Combinations) * pgr_bdAstarCost(Combinations) +* pgr_bdDijkstra(Combinations) +* pgr_bdDijkstraCost(Combinations) * pgr_withPoints(Combinations) * pgr_withPointsCost(Combinations) diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 26f41d39a99..e73e3643de7 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -80,6 +80,8 @@ pgRouting 3.2.0 Release Notes * pgr_aStarCost(Combinations) * pgr_bdAstar(Combinations) * pgr_bdAstarCost(Combinations) +* pgr_bdDijkstra(Combinations) +* pgr_bdDijkstraCost(Combinations) * pgr_withPoints(Combinations) * pgr_withPointsCost(Combinations) From c87ec6014ae3f2d594fb83387769c2091c322d25 Mon Sep 17 00:00:00 2001 From: Vicky Vergara Date: Wed, 9 Dec 2020 09:02:28 -0600 Subject: [PATCH 1042/1360] Frontporting bug fixes to 3.2 dev (#1765) Fixes for #1770 #1760 #1356 on 3.2 * [admin] proting fixes from master * [locale] Updating locale changes * [doc] updating release notes with fixed issues * [tsp][C++] fixing for 20.04 * [tsp][pgtap] testing issue * [doc] updating NEWS and full version results * Porting Fixes for Issue 1770 on 3.2 * [CI] adding action for clang compiler * [C] Ingnoring postgres warnings * [dijkstra] compiling with clang * [common] compiling with clang * [astar] compiles with clang * [ksp] compiles with clang * [tsp] compiles with clang * [alpha_shape] compiles with clang * [tspEuclidean] compiles with clang * [witPoints] compiles with clang * [bellman_ford] compiles with clang * [chinese] compiles with clang * [transitiveClosure] compiles with clang * [breadthFirstSearch] compiles with clang * [components] compiles with clang * [maxflow] pgr_maxflow.hpp compiles with clang * [maxflow] compiles with clang * [lineGraph] compiles with clang * [bdAstar] compiles with clang * [bdDijkstra] compiles with clang * [trsp] compiles with clang * [pickDeliver] compiles with clang * [dijkstra][docqueries] giving a new correct alternate result * Removing a test of a function that does not exist on pgRouting * removing internal query tests that were created when developing contraction and are not used * [tsp][docqueries] Modification of rand() gives new results * roll back changes that affect ksp * [C++] moving pgr_messages.cpp to cpp_common * roll back changes that affect trsp * src/common/basePath_SSEC.cpp compiles with clang * src/trsp/pgr_trspHandler.cpp compiles with clang * [ci][pgtap] adding testing after clang compilation * [doc] adding NEWS & Release notes * Also updating compilation_time and compiler & hash on pgr_full_version * [build] rolling back build-extension-update-files1.pl * [C++] adding some minimal changes from the comments of the PR * Fixing merge conflicts * [clang] Some additional fixes for clang compilation * [doc] updating full version execution for this PR * [locale] updating latest documentation for translations --- .github/workflows/clang.yml | 75 + .tx/config | 366 +++-- CMakeLists.txt | 4 +- NEWS | 27 + doc/src/release_notes.rst | 31 + .../dijkstra/doc-pgr_dijkstraVia.result | 4 +- docqueries/internalQueryTests/XYedge.result | 1 - docqueries/internalQueryTests/XYedge.test.sql | 4 - .../pgtap/matrixRows_types_check.sql | 94 -- .../pgtap/testXYedges_types_check.sql | 133 -- docqueries/internalQueryTests/test.conf | 20 - .../internalQueryTests/testCHedges.result | 1 - .../internalQueryTests/testCHedges.test.sql | 3 - docqueries/tsp/doc-pgr_TSP.result | 36 +- docqueries/tsp/doc-pgr_TSPeuclidean.result | 30 +- docqueries/version/doc-full_version.result | 6 +- include/alphaShape/pgr_alphaShape.h | 2 +- include/bdAstar/pgr_bdAstar.hpp | 3 - include/bdDijkstra/pgr_bdDijkstra.hpp | 3 - include/bellman_ford/pgr_bellman_ford.hpp | 6 +- include/bellman_ford/pgr_edwardMoore.hpp | 18 +- .../pgr_binaryBreadthFirstSearch.hpp | 19 +- include/c_common/arrays_input.h | 30 +- include/c_common/postgres_connection.h | 61 +- include/chinese/pgr_chinesePostman.hpp | 2 +- .../coloring/pgr_sequentialVertexColoring.hpp | 4 +- include/components/pgr_makeConnected.hpp | 10 +- include/cpp_common/Dmatrix.h | 2 +- include/cpp_common/basic_vertex.h | 6 +- include/cpp_common/interruption.h | 16 +- include/cpp_common/pgr_base_graph.hpp | 14 +- include/cpp_common/pgr_bidirectional.hpp | 2 +- include/cpp_common/xy_vertex.h | 2 +- include/lineGraph/pgr_lineGraph.hpp | 2 +- include/lineGraph/pgr_lineGraphFull.hpp | 9 +- include/max_flow/pgr_maxflow.hpp | 6 +- .../pgr_maximumcardinalitymatching.hpp | 18 +- include/trsp/pgr_trspHandler.h | 3 +- include/tsp/pgr_tsp.hpp | 12 +- include/tsp/tour.h | 1 + include/vrp/base_node.h | 1 + include/vrp/book_keeping.h | 2 +- include/vrp/fleet.h | 4 +- include/vrp/pd_orders.h | 4 +- include/vrp/pd_problem.h | 1 + include/vrp/vehicle.h | 3 +- include/withPoints/pgr_withPoints.hpp | 1 - include/yen/pgr_turnRestrictedPath.hpp | 6 +- locale/en/LC_MESSAGES/bdAstar-family.po | 123 +- locale/en/LC_MESSAGES/index.po | 70 +- locale/en/LC_MESSAGES/pgr_aStar.po | 271 ++-- locale/en/LC_MESSAGES/pgr_aStarCost.po | 185 ++- locale/en/LC_MESSAGES/pgr_bdAstar.po | 211 ++- locale/en/LC_MESSAGES/pgr_bdAstarCost.po | 180 ++- locale/en/LC_MESSAGES/pgr_bdDijkstra.po | 191 ++- locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po | 159 +- .../en/LC_MESSAGES/pgr_edgeDisjointPaths.po | 49 +- locale/en/LC_MESSAGES/pgr_withPoints.po | 301 ++-- locale/en/LC_MESSAGES/pgr_withPointsCost.po | 280 ++-- locale/en/LC_MESSAGES/release_notes.po | 1147 ++++++++------- locale/pot/bdAstar-family.pot | 122 +- locale/pot/index.pot | 70 +- locale/pot/pgr_aStar.pot | 260 ++-- locale/pot/pgr_aStarCost.pot | 174 ++- locale/pot/pgr_bdAstar.pot | 192 ++- locale/pot/pgr_bdAstarCost.pot | 170 ++- locale/pot/pgr_bdDijkstra.pot | 183 ++- locale/pot/pgr_bdDijkstraCost.pot | 151 +- locale/pot/pgr_edgeDisjointPaths.pot | 45 +- locale/pot/pgr_withPoints.pot | 287 ++-- locale/pot/pgr_withPointsCost.pot | 261 ++-- locale/pot/release_notes.pot | 1280 +++++++++-------- .../bellman_ford_neg_edges-typesCheck.sql | 39 - pgtap/tsp/issues/issue-1760.sql | 51 + src/alpha_shape/alphaShape_driver.cpp | 6 +- src/alpha_shape/pgr_alphaShape.cpp | 14 +- src/common/arrays_input.c | 8 + src/common/basePath_SSEC.cpp | 10 +- src/common/basic_vertex.cpp | 4 +- src/common/xy_vertex.cpp | 4 +- src/components/componentsResult.cpp | 2 +- src/components/pgr_components.cpp | 6 +- src/cpp_common/CMakeLists.txt | 1 + src/cpp_common/Dmatrix.cpp | 10 +- .../pgr_messages.cpp | 0 src/dijkstra/dijkstraVia_driver.cpp | 4 +- src/dijkstra/dijkstra_driver.cpp | 3 +- src/ksp/withPoints_ksp_driver.cpp | 2 +- src/lineGraph/lineGraphFull_driver.cpp | 4 +- src/lineGraph/lineGraph_driver.cpp | 4 +- .../maximum_cardinality_matching_driver.cpp | 16 +- src/max_flow/pgr_maxflow.cpp | 11 +- src/pickDeliver/CMakeLists.txt | 1 - src/pickDeliver/fleet.cpp | 8 +- src/pickDeliver/pd_orders.cpp | 4 +- src/pickDeliver/pgr_pickDeliver.cpp | 4 +- .../pickDeliverEuclidean_driver.cpp | 2 +- src/pickDeliver/pickDeliver_driver.cpp | 6 +- src/pickDeliver/solution.cpp | 23 +- src/pickDeliver/vehicle.cpp | 12 +- src/pickDeliver/vehicle_pickDeliver.cpp | 8 +- .../transitiveClosure_driver.cpp | 14 +- src/trsp/GraphDefinition.cpp | 40 +- src/trsp/pgr_trspHandler.cpp | 39 +- src/tsp/TSP_driver.cpp | 4 +- src/tsp/euclideanDmatrix.cpp | 12 +- src/tsp/euclideanTSP_driver.cpp | 4 +- src/tsp/tour.cpp | 24 +- src/withPoints/pgr_withPoints.cpp | 1 - tools/testers/pg_prove_tests.sh | 4 +- 110 files changed, 4526 insertions(+), 3353 deletions(-) create mode 100644 .github/workflows/clang.yml delete mode 100644 docqueries/internalQueryTests/XYedge.result delete mode 100644 docqueries/internalQueryTests/XYedge.test.sql delete mode 100644 docqueries/internalQueryTests/pgtap/matrixRows_types_check.sql delete mode 100644 docqueries/internalQueryTests/pgtap/testXYedges_types_check.sql delete mode 100644 docqueries/internalQueryTests/test.conf delete mode 100644 docqueries/internalQueryTests/testCHedges.result delete mode 100644 docqueries/internalQueryTests/testCHedges.test.sql delete mode 100644 pgtap/bellman_ford/bellman_ford/bellman_ford_neg_edges-typesCheck.sql create mode 100644 pgtap/tsp/issues/issue-1760.sql rename src/{pickDeliver => cpp_common}/pgr_messages.cpp (100%) diff --git a/.github/workflows/clang.yml b/.github/workflows/clang.yml new file mode 100644 index 00000000000..94fd11f579f --- /dev/null +++ b/.github/workflows/clang.yml @@ -0,0 +1,75 @@ +name: Build for Ubuntu with clang + +on: + push: + branches-ignore: + - 'translations_*' + tags: [] + pull_request: + paths-ignore: + - '**.po' + + +jobs: + build: + name: Build + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + psql: [12] + postgis: [3] + os: [ubuntu-latest] + + steps: + - uses: actions/checkout@v2 + + - name: get postgres version + run: | + sudo service postgresql start + pgver=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d \()') + echo "PGVER=${pgver}" >> $GITHUB_ENV + PGP=5433 + if [ "${{ matrix.psql }}" == "${pgver}" ]; then PGP=5432; fi + echo "PGPORT=${PGP}" >> $GITHUB_ENV + + - name: Add PostgreSQL APT repository + run: | + sudo apt-get install curl ca-certificates gnupg + curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - + sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \ + $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + clang \ + libboost-graph-dev \ + libtap-parser-sourcehandler-pgtap-perl \ + postgresql-${{ matrix.psql }} \ + postgresql-${{ matrix.psql }}-pgtap \ + postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }} \ + postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }}-scripts \ + postgresql-server-dev-${{ matrix.psql }} + + - name: Configure + run: | + export PATH=/usr/lib/postgresql/${{ matrix.psql }}/bin:$PATH + mkdir build + cd build + CXX=clang++ CC=clang cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=Debug -DWITH_DOC=OFF .. + + - name: Build + run: | + cd build + make -j 4 + sudo make install + + - name: Test + run: | + echo "test pending" + sudo service postgresql start + sudo -u postgres createdb -p ${PGPORT} ___pgr___test___ + sudo -u postgres bash ./tools/testers/pg_prove_tests.sh postgres ${PGPORT} Debug diff --git a/.tx/config b/.tx/config index 28b34765f31..348df909a51 100644 --- a/.tx/config +++ b/.tx/config @@ -1,519 +1,569 @@ [main] host = https://www.transifex.com -type = PO +type = po -[pgrouting.pgr-analyzegraph-po--master] +[pgrouting.locale-en-lc-messages-pgr-analyzegraph-po--develop] file_filter = locale//LC_MESSAGES/pgr_analyzeGraph.po source_file = locale/pot/pgr_analyzeGraph.pot source_lang = en -[pgrouting.pgr-primbfs-po--master] +[pgrouting.locale-en-lc-messages-pgr-primbfs-po--develop] file_filter = locale//LC_MESSAGES/pgr_primBFS.po source_file = locale/pot/pgr_primBFS.pot source_lang = en -[pgrouting.pgr-contraction-po--master] +[pgrouting.locale-en-lc-messages-pgr-contraction-po--develop] file_filter = locale//LC_MESSAGES/pgr_contraction.po source_file = locale/pot/pgr_contraction.pot source_lang = en -[pgrouting.pgr-dagshortestpath-po--master] +[pgrouting.locale-en-lc-messages-pgr-dagshortestpath-po--develop] file_filter = locale//LC_MESSAGES/pgr_dagShortestPath.po source_file = locale/pot/pgr_dagShortestPath.pot source_lang = en -[pgrouting.pgr-boykovkolmogorov-po--master] +[pgrouting.locale-en-lc-messages-pgr-boykovkolmogorov-po--develop] file_filter = locale//LC_MESSAGES/pgr_boykovKolmogorov.po source_file = locale/pot/pgr_boykovKolmogorov.pot source_lang = en -[pgrouting.withpoints-family-po--master] +[pgrouting.locale-en-lc-messages-withpoints-family-po--develop] file_filter = locale//LC_MESSAGES/withPoints-family.po source_file = locale/pot/withPoints-family.pot source_lang = en -[pgrouting.cost-category-po--master] +[pgrouting.locale-en-lc-messages-cost-category-po--develop] file_filter = locale//LC_MESSAGES/cost-category.po source_file = locale/pot/cost-category.pot source_lang = en -[pgrouting.costmatrix-category-po--master] +[pgrouting.locale-en-lc-messages-costmatrix-category-po--develop] file_filter = locale//LC_MESSAGES/costMatrix-category.po source_file = locale/pot/costMatrix-category.pot source_lang = en -[pgrouting.pgr-maxflow-po--master] +[pgrouting.locale-en-lc-messages-pgr-maxflow-po--develop] file_filter = locale//LC_MESSAGES/pgr_maxFlow.po source_file = locale/pot/pgr_maxFlow.pot source_lang = en -[pgrouting.pgr-withpointsdd-po--master] +[pgrouting.locale-en-lc-messages-pgr-withpointsdd-po--develop] file_filter = locale//LC_MESSAGES/pgr_withPointsDD.po source_file = locale/pot/pgr_withPointsDD.pot source_lang = en -[pgrouting.transformation-family-po--master] +[pgrouting.locale-en-lc-messages-transformation-family-po--develop] file_filter = locale//LC_MESSAGES/transformation-family.po source_file = locale/pot/transformation-family.pot source_lang = en -[pgrouting.pgr-prim-po--master] +[pgrouting.locale-en-lc-messages-pgr-prim-po--develop] file_filter = locale//LC_MESSAGES/pgr_prim.po source_file = locale/pot/pgr_prim.pot source_lang = en -[pgrouting.pgr-kruskaldd-po--master] +[pgrouting.locale-en-lc-messages-pgr-kruskaldd-po--develop] file_filter = locale//LC_MESSAGES/pgr_kruskalDD.po source_file = locale/pot/pgr_kruskalDD.pot source_lang = en -[pgrouting.pgrouting-concepts-po--master] +[pgrouting.locale-en-lc-messages-pgrouting-concepts-po--develop] file_filter = locale//LC_MESSAGES/pgRouting-concepts.po source_file = locale/pot/pgRouting-concepts.pot source_lang = en -[pgrouting.bddijkstra-family-po--master] +[pgrouting.locale-en-lc-messages-bddijkstra-family-po--develop] file_filter = locale//LC_MESSAGES/bdDijkstra-family.po source_file = locale/pot/bdDijkstra-family.pot source_lang = en -[pgrouting.components-family-po--master] +[pgrouting.locale-en-lc-messages-components-family-po--develop] file_filter = locale//LC_MESSAGES/components-family.po source_file = locale/pot/components-family.pot source_lang = en -[pgrouting.pgr-chinesepostmancost-po--master] -file_filter = locale//LC_MESSAGES/pgr_chinesePostmanCost.po -source_file = locale/pot/pgr_chinesePostmanCost.pot -source_lang = en - -[pgrouting.pgr-withpointsksp-po--master] +[pgrouting.locale-en-lc-messages-pgr-withpointsksp-po--develop] file_filter = locale//LC_MESSAGES/pgr_withPointsKSP.po source_file = locale/pot/pgr_withPointsKSP.pot source_lang = en -[pgrouting.pgr-dijkstracostmatrix-po--master] +[pgrouting.locale-en-lc-messages-pgr-dijkstracostmatrix-po--develop] file_filter = locale//LC_MESSAGES/pgr_dijkstraCostMatrix.po source_file = locale/pot/pgr_dijkstraCostMatrix.pot source_lang = en -[pgrouting.pgr-dijkstracost-po--master] +[pgrouting.locale-en-lc-messages-pgr-edwardmoore-po--develop] +file_filter = locale//LC_MESSAGES/pgr_edwardMoore.po +source_file = locale/pot/pgr_edwardMoore.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-dijkstracost-po--develop] file_filter = locale//LC_MESSAGES/pgr_dijkstraCost.po source_file = locale/pot/pgr_dijkstraCost.pot source_lang = en -[pgrouting.pgr-astar-po--master] +[pgrouting.locale-en-lc-messages-pgr-astar-po--develop] file_filter = locale//LC_MESSAGES/pgr_aStar.po source_file = locale/pot/pgr_aStar.pot source_lang = en -[pgrouting.pgr-drivingdistance-po--master] +[pgrouting.locale-en-lc-messages-pgr-drivingdistance-po--develop] file_filter = locale//LC_MESSAGES/pgr_drivingDistance.po source_file = locale/pot/pgr_drivingDistance.pot source_lang = en -[pgrouting.astar-family-po--master] +[pgrouting.locale-en-lc-messages-astar-family-po--develop] file_filter = locale//LC_MESSAGES/aStar-family.po source_file = locale/pot/aStar-family.pot source_lang = en -[pgrouting.pgr-withpointscostmatrix-po--master] +[pgrouting.locale-en-lc-messages-pgr-makeconnected-po--develop] +file_filter = locale//LC_MESSAGES/pgr_makeConnected.po +source_file = locale/pot/pgr_makeConnected.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-withpointscostmatrix-po--develop] file_filter = locale//LC_MESSAGES/pgr_withPointsCostMatrix.po source_file = locale/pot/pgr_withPointsCostMatrix.pot source_lang = en -[pgrouting.pgr-kruskal-po--master] +[pgrouting.locale-en-lc-messages-coloring-family-po--develop] +file_filter = locale//LC_MESSAGES/coloring-family.po +source_file = locale/pot/coloring-family.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-isplanar-po--develop] +file_filter = locale//LC_MESSAGES/pgr_isPlanar.po +source_file = locale/pot/pgr_isPlanar.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-kruskal-po--develop] file_filter = locale//LC_MESSAGES/pgr_kruskal.po source_file = locale/pot/pgr_kruskal.pot source_lang = en -[pgrouting.index-po--master] +[pgrouting.locale-en-lc-messages-experimental-po--develop] +file_filter = locale//LC_MESSAGES/experimental.po +source_file = locale/pot/experimental.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-binarybreadthfirstsearch-po--develop] +file_filter = locale//LC_MESSAGES/pgr_binaryBreadthFirstSearch.po +source_file = locale/pot/pgr_binaryBreadthFirstSearch.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-index-po--develop] file_filter = locale//LC_MESSAGES/index.po source_file = locale/pot/index.pot source_lang = en -[pgrouting.pgr-trsp-po--master] +[pgrouting.locale-en-lc-messages-pgr_full-version-po--develop] +file_filter = locale//LC_MESSAGES/pgr_full_version.po +source_file = locale/pot/pgr_full_version.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-trsp-po--develop] file_filter = locale//LC_MESSAGES/pgr_trsp.po source_file = locale/pot/pgr_trsp.pot source_lang = en -[pgrouting.pgr-primdd-po--master] +[pgrouting.locale-en-lc-messages-pgr-primdd-po--develop] file_filter = locale//LC_MESSAGES/pgr_primDD.po source_file = locale/pot/pgr_primDD.pot source_lang = en -[pgrouting.pgr-maxflowmincost-cost-po--master] -file_filter = locale//LC_MESSAGES/pgr_maxFlowMinCost_Cost.po -source_file = locale/pot/pgr_maxFlowMinCost_Cost.pot +[pgrouting.locale-en-lc-messages-pgr-dijkstranearcost-po--develop] +file_filter = locale//LC_MESSAGES/pgr_dijkstraNearCost.po +source_file = locale/pot/pgr_dijkstraNearCost.pot source_lang = en -[pgrouting.pgr-linegraphfull-po--master] +[pgrouting.locale-en-lc-messages-pgr-linegraphfull-po--develop] file_filter = locale//LC_MESSAGES/pgr_lineGraphFull.po source_file = locale/pot/pgr_lineGraphFull.pot source_lang = en -[pgrouting.pgr-withpoints-po--master] +[pgrouting.locale-en-lc-messages-pgr-withpoints-po--develop] file_filter = locale//LC_MESSAGES/pgr_withPoints.po source_file = locale/pot/pgr_withPoints.pot source_lang = en -[pgrouting.pgr-bddijkstra-po--master] +[pgrouting.locale-en-lc-messages-pgr-bddijkstra-po--develop] file_filter = locale//LC_MESSAGES/pgr_bdDijkstra.po source_file = locale/pot/pgr_bdDijkstra.pot source_lang = en -[pgrouting.routingfunctions-po--master] +[pgrouting.locale-en-lc-messages-routingfunctions-po--develop] file_filter = locale//LC_MESSAGES/routingFunctions.po source_file = locale/pot/routingFunctions.pot source_lang = en -[pgrouting.spanningtree-family-po--master] +[pgrouting.locale-en-lc-messages-spanningtree-family-po--develop] file_filter = locale//LC_MESSAGES/spanningTree-family.po source_file = locale/pot/spanningTree-family.pot source_lang = en -[pgrouting.pgr-vrponedepot-po--master] +[pgrouting.locale-en-lc-messages-pgr-vrponedepot-po--develop] file_filter = locale//LC_MESSAGES/pgr_vrpOneDepot.po source_file = locale/pot/pgr_vrpOneDepot.pot source_lang = en -[pgrouting.pgr-stoerwagner-po--master] +[pgrouting.locale-en-lc-messages-pgr-topologicalsort-po--develop] +file_filter = locale//LC_MESSAGES/pgr_topologicalSort.po +source_file = locale/pot/pgr_topologicalSort.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr_maxflowmincost-cost-po--develop] +file_filter = locale//LC_MESSAGES/pgr_maxFlowMinCost_Cost.po +source_file = locale/pot/pgr_maxFlowMinCost_Cost.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-stoerwagner-po--develop] file_filter = locale//LC_MESSAGES/pgr_stoerWagner.po source_file = locale/pot/pgr_stoerWagner.pot source_lang = en -[pgrouting.pgr-connectedcomponents-po--master] +[pgrouting.locale-en-lc-messages-pgr-connectedcomponents-po--develop] file_filter = locale//LC_MESSAGES/pgr_connectedComponents.po source_file = locale/pot/pgr_connectedComponents.pot source_lang = en -[pgrouting.pgr-kruskaldfs-po--master] +[pgrouting.locale-en-lc-messages-pgr-kruskaldfs-po--develop] file_filter = locale//LC_MESSAGES/pgr_kruskalDFS.po source_file = locale/pot/pgr_kruskalDFS.pot source_lang = en -[pgrouting.pgr-tsp-po--master] +[pgrouting.locale-en-lc-messages-pgr-tsp-po--develop] file_filter = locale//LC_MESSAGES/pgr_TSP.po source_file = locale/pot/pgr_TSP.pot source_lang = en -[pgrouting.drivingdistance-category-po--master] +[pgrouting.locale-en-lc-messages-drivingdistance-category-po--develop] file_filter = locale//LC_MESSAGES/drivingDistance-category.po source_file = locale/pot/drivingDistance-category.pot source_lang = en -[pgrouting.contraction-family-po--master] +[pgrouting.locale-en-lc-messages-pgr-chinesepostmancost-po--develop] +file_filter = locale//LC_MESSAGES/pgr_chinesePostmanCost.po +source_file = locale/pot/pgr_chinesePostmanCost.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-contraction-family-po--develop] file_filter = locale//LC_MESSAGES/contraction-family.po source_file = locale/pot/contraction-family.pot source_lang = en -[pgrouting.bdastar-family-po--master] +[pgrouting.locale-en-lc-messages-bdastar-family-po--develop] file_filter = locale//LC_MESSAGES/bdAstar-family.po source_file = locale/pot/bdAstar-family.pot source_lang = en -[pgrouting.sampledata-po--master] +[pgrouting.locale-en-lc-messages-traversal-family-po--develop] +file_filter = locale//LC_MESSAGES/traversal-family.po +source_file = locale/pot/traversal-family.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-sampledata-po--develop] file_filter = locale//LC_MESSAGES/sampledata.po source_file = locale/pot/sampledata.pot source_lang = en -[pgrouting.pgr-pushrelabel-po--master] +[pgrouting.locale-en-lc-messages-vrp-category-po--develop] +file_filter = locale//LC_MESSAGES/VRP-category.po +source_file = locale/pot/VRP-category.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-pushrelabel-po--develop] file_filter = locale//LC_MESSAGES/pgr_pushRelabel.po source_file = locale/pot/pgr_pushRelabel.pot source_lang = en -[pgrouting.pgr-primdfs-po--master] +[pgrouting.locale-en-lc-messages-pgr-primdfs-po--develop] file_filter = locale//LC_MESSAGES/pgr_primDFS.po source_file = locale/pot/pgr_primDFS.pot source_lang = en -[pgrouting.chinesepostmanproblem-family-po--master] +[pgrouting.locale-en-lc-messages-pgr-maxflowmincost-po--develop] +file_filter = locale//LC_MESSAGES/pgr_maxFlowMinCost.po +source_file = locale/pot/pgr_maxFlowMinCost.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-breadthfirstsearch-po--develop] +file_filter = locale//LC_MESSAGES/pgr_breadthFirstSearch.po +source_file = locale/pot/pgr_breadthFirstSearch.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-chinesepostmanproblem-family-po--develop] file_filter = locale//LC_MESSAGES/chinesePostmanProblem-family.po source_file = locale/pot/chinesePostmanProblem-family.pot source_lang = en -[pgrouting.pgr-biconnectedcomponents-po--master] +[pgrouting.locale-en-lc-messages-pgr-biconnectedcomponents-po--develop] file_filter = locale//LC_MESSAGES/pgr_biconnectedComponents.po source_file = locale/pot/pgr_biconnectedComponents.pot source_lang = en -[pgrouting.pgr-nodenetwork-po--master] +[pgrouting.locale-en-lc-messages-pgr-nodenetwork-po--develop] file_filter = locale//LC_MESSAGES/pgr_nodeNetwork.po source_file = locale/pot/pgr_nodeNetwork.pot source_lang = en -[pgrouting.pgr-chinesepostman-po--master] -file_filter = locale//LC_MESSAGES/pgr_chinesePostman.po -source_file = locale/pot/pgr_chinesePostman.pot -source_lang = en - -[pgrouting.proposed-po--master] +[pgrouting.locale-en-lc-messages-proposed-po--develop] file_filter = locale//LC_MESSAGES/proposed.po source_file = locale/pot/proposed.pot source_lang = en -[pgrouting.experimental-po--master] -file_filter = locale//LC_MESSAGES/experimental.po -source_file = locale/pot/experimental.pot -source_lang = en - -[pgrouting.pgrouting-installation-po--master] +[pgrouting.locale-en-lc-messages-pgrouting-installation-po--develop] file_filter = locale//LC_MESSAGES/pgRouting-installation.po source_file = locale/pot/pgRouting-installation.pot source_lang = en -[pgrouting.pgr-linegraph-po--master] +[pgrouting.locale-en-lc-messages-pgr-linegraph-po--develop] file_filter = locale//LC_MESSAGES/pgr_lineGraph.po source_file = locale/pot/pgr_lineGraph.pot source_lang = en -[pgrouting.prim-family-po--master] +[pgrouting.locale-en-lc-messages-pgr-transitiveclosure-po--develop] +file_filter = locale//LC_MESSAGES/pgr_transitiveClosure.po +source_file = locale/pot/pgr_transitiveClosure.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-turnrestrictedpath-po--develop] +file_filter = locale//LC_MESSAGES/pgr_turnRestrictedPath.po +source_file = locale/pot/pgr_turnRestrictedPath.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-prim-family-po--develop] file_filter = locale//LC_MESSAGES/prim-family.po source_file = locale/pot/prim-family.pot source_lang = en -[pgrouting.pgr-alphashape-po--master] +[pgrouting.locale-en-lc-messages-pgr-alphashape-po--develop] file_filter = locale//LC_MESSAGES/pgr_alphaShape.po source_file = locale/pot/pgr_alphaShape.pot source_lang = en -[pgrouting.pgr-astarcost-po--master] +[pgrouting.locale-en-lc-messages-pgr-astarcost-po--develop] file_filter = locale//LC_MESSAGES/pgr_aStarCost.po source_file = locale/pot/pgr_aStarCost.pot source_lang = en -[pgrouting.pgr-kruskalbfs-po--master] +[pgrouting.locale-en-lc-messages-pgr-kruskalbfs-po--develop] file_filter = locale//LC_MESSAGES/pgr_kruskalBFS.po source_file = locale/pot/pgr_kruskalBFS.pot source_lang = en -[pgrouting.dijkstra-family-po--master] +[pgrouting.locale-en-lc-messages-dijkstra-family-po--develop] file_filter = locale//LC_MESSAGES/dijkstra-family.po source_file = locale/pot/dijkstra-family.pot source_lang = en -[pgrouting.kruskal-family-po--master] +[pgrouting.locale-en-lc-messages-kruskal-family-po--develop] file_filter = locale//LC_MESSAGES/kruskal-family.po source_file = locale/pot/kruskal-family.pot source_lang = en -[pgrouting.pgr-dijkstra-po--master] +[pgrouting.locale-en-lc-messages-pgr-dijkstra-po--develop] file_filter = locale//LC_MESSAGES/pgr_dijkstra.po source_file = locale/pot/pgr_dijkstra.pot source_lang = en -[pgrouting.pgr-withpointscost-po--master] +[pgrouting.locale-en-lc-messages-pgr-withpointscost-po--develop] file_filter = locale//LC_MESSAGES/pgr_withPointsCost.po source_file = locale/pot/pgr_withPointsCost.pot source_lang = en -[pgrouting.pgr-bddijkstracostmatrix-po--master] +[pgrouting.locale-en-lc-messages-pgr-bddijkstracostmatrix-po--develop] file_filter = locale//LC_MESSAGES/pgr_bdDijkstraCostMatrix.po source_file = locale/pot/pgr_bdDijkstraCostMatrix.pot source_lang = en -[pgrouting.pgr-strongcomponents-po--master] +[pgrouting.locale-en-lc-messages-pgr-strongcomponents-po--develop] file_filter = locale//LC_MESSAGES/pgr_strongComponents.po source_file = locale/pot/pgr_strongComponents.pot source_lang = en -[pgrouting.pgr-version-po--master] +[pgrouting.locale-en-lc-messages-pgr-version-po--develop] file_filter = locale//LC_MESSAGES/pgr_version.po source_file = locale/pot/pgr_version.pot source_lang = en -[pgrouting.pgrouting-introduction-po--master] +[pgrouting.locale-en-lc-messages-pgr-pickdeliver-po--develop] +file_filter = locale//LC_MESSAGES/pgr_pickDeliver.po +source_file = locale/pot/pgr_pickDeliver.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgrouting-introduction-po--develop] file_filter = locale//LC_MESSAGES/pgRouting-introduction.po source_file = locale/pot/pgRouting-introduction.pot source_lang = en -[pgrouting.pgr-floydwarshall-po--master] +[pgrouting.locale-en-lc-messages-pgr-floydwarshall-po--develop] file_filter = locale//LC_MESSAGES/pgr_floydWarshall.po source_file = locale/pot/pgr_floydWarshall.pot source_lang = en -[pgrouting.pgr-astarcostmatrix-po--master] +[pgrouting.locale-en-lc-messages-pgr-astarcostmatrix-po--develop] file_filter = locale//LC_MESSAGES/pgr_aStarCostMatrix.po source_file = locale/pot/pgr_aStarCostMatrix.pot source_lang = en -[pgrouting.pgr-edmondskarp-po--master] +[pgrouting.locale-en-lc-messages-pgr-edmondskarp-po--develop] file_filter = locale//LC_MESSAGES/pgr_edmondsKarp.po source_file = locale/pot/pgr_edmondsKarp.pot source_lang = en -[pgrouting.release-notes-po--master] +[pgrouting.locale-en-lc-messages-release-notes-po--develop] file_filter = locale//LC_MESSAGES/release_notes.po source_file = locale/pot/release_notes.pot source_lang = en -[pgrouting.pgr-bdastarcost-po--master] +[pgrouting.locale-en-lc-messages-pgr-bdastarcost-po--develop] file_filter = locale//LC_MESSAGES/pgr_bdAstarCost.po source_file = locale/pot/pgr_bdAstarCost.pot source_lang = en -[pgrouting.support-po--master] +[pgrouting.locale-en-lc-messages-support-po--develop] file_filter = locale//LC_MESSAGES/support.po source_file = locale/pot/support.pot source_lang = en -[pgrouting.pgr-dijkstravia-po--master] +[pgrouting.locale-en-lc-messages-pgr-dijkstravia-po--develop] file_filter = locale//LC_MESSAGES/pgr_dijkstraVia.po source_file = locale/pot/pgr_dijkstraVia.pot source_lang = en -[pgrouting.pgr-bddijkstracost-po--master] +[pgrouting.locale-en-lc-messages-pgr-bddijkstracost-po--develop] file_filter = locale//LC_MESSAGES/pgr_bdDijkstraCost.po source_file = locale/pot/pgr_bdDijkstraCost.pot source_lang = en -[pgrouting.flow-family-po--master] +[pgrouting.locale-en-lc-messages-flow-family-po--develop] file_filter = locale//LC_MESSAGES/flow-family.po source_file = locale/pot/flow-family.pot source_lang = en -[pgrouting.pgr-tspeuclidean-po--master] +[pgrouting.locale-en-lc-messages-pgr-tspeuclidean-po--develop] file_filter = locale//LC_MESSAGES/pgr_TSPeuclidean.po source_file = locale/pot/pgr_TSPeuclidean.pot source_lang = en -[pgrouting.pgr-extractvertices-po--master] +[pgrouting.locale-en-lc-messages-pgr-extractvertices-po--develop] file_filter = locale//LC_MESSAGES/pgr_extractVertices.po source_file = locale/pot/pgr_extractVertices.pot source_lang = en -[pgrouting.pgr-edgedisjointpaths-po--master] +[pgrouting.locale-en-lc-messages-pgr-lengauertarjandominatortree-po--develop] +file_filter = locale//LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po +source_file = locale/pot/pgr_lengauerTarjanDominatorTree.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-edgedisjointpaths-po--develop] file_filter = locale//LC_MESSAGES/pgr_edgeDisjointPaths.po source_file = locale/pot/pgr_edgeDisjointPaths.pot source_lang = en -[pgrouting.allpairs-family-po--master] +[pgrouting.locale-en-lc-messages-allpairs-family-po--develop] file_filter = locale//LC_MESSAGES/allpairs-family.po source_file = locale/pot/allpairs-family.pot source_lang = en -[pgrouting.pgr-ksp-po--master] +[pgrouting.locale-en-lc-messages-pgr-ksp-po--develop] file_filter = locale//LC_MESSAGES/pgr_KSP.po source_file = locale/pot/pgr_KSP.pot source_lang = en -[pgrouting.pgr-maxflowmincost-po--master] -file_filter = locale//LC_MESSAGES/pgr_maxFlowMinCost.po -source_file = locale/pot/pgr_maxFlowMinCost.pot +[pgrouting.locale-en-lc-messages-pgr-depthfirstsearch-po--develop] +file_filter = locale//LC_MESSAGES/pgr_depthFirstSearch.po +source_file = locale/pot/pgr_depthFirstSearch.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-pickdelivereuclidean-po--develop] +file_filter = locale//LC_MESSAGES/pgr_pickDeliverEuclidean.po +source_file = locale/pot/pgr_pickDeliverEuclidean.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-chinesepostman-po--develop] +file_filter = locale//LC_MESSAGES/pgr_chinesePostman.po +source_file = locale/pot/pgr_chinesePostman.pot source_lang = en -[pgrouting.pgr-analyzeoneway-po--master] +[pgrouting.locale-en-lc-messages-pgr-analyzeoneway-po--develop] file_filter = locale//LC_MESSAGES/pgr_analyzeOneWay.po source_file = locale/pot/pgr_analyzeOneWay.pot source_lang = en -[pgrouting.pgr-bdastar-po--master] +[pgrouting.locale-en-lc-messages-pgr-bdastar-po--develop] file_filter = locale//LC_MESSAGES/pgr_bdAstar.po source_file = locale/pot/pgr_bdAstar.pot source_lang = en -[pgrouting.pgr-bdastarcostmatrix-po--master] +[pgrouting.locale-en-lc-messages-pgr-bdastarcostmatrix-po--develop] file_filter = locale//LC_MESSAGES/pgr_bdAstarCostMatrix.po source_file = locale/pot/pgr_bdAstarCostMatrix.pot source_lang = en -[pgrouting.pgr-createverticestable-po--master] +[pgrouting.locale-en-lc-messages-pgr-createverticestable-po--develop] file_filter = locale//LC_MESSAGES/pgr_createVerticesTable.po source_file = locale/pot/pgr_createVerticesTable.pot source_lang = en -[pgrouting.topology-functions-po--master] +[pgrouting.locale-en-lc-messages-topology-functions-po--develop] file_filter = locale//LC_MESSAGES/topology-functions.po source_file = locale/pot/topology-functions.pot source_lang = en -[pgrouting.pgr-bridges-po--master] +[pgrouting.locale-en-lc-messages-pgr-dijkstranear-po--develop] +file_filter = locale//LC_MESSAGES/pgr_dijkstraNear.po +source_file = locale/pot/pgr_dijkstraNear.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-bridges-po--develop] file_filter = locale//LC_MESSAGES/pgr_bridges.po source_file = locale/pot/pgr_bridges.pot source_lang = en -[pgrouting.pgr-johnson-po--master] +[pgrouting.locale-en-lc-messages-pgr-johnson-po--develop] file_filter = locale//LC_MESSAGES/pgr_johnson.po source_file = locale/pot/pgr_johnson.pot source_lang = en -[pgrouting.pgr-bellmanford-po--master] +[pgrouting.locale-en-lc-messages-pgr-bellmanford-po--develop] file_filter = locale//LC_MESSAGES/pgr_bellmanFord.po source_file = locale/pot/pgr_bellmanFord.pot source_lang = en -[pgrouting.pgr-createtopology-po--master] +[pgrouting.locale-en-lc-messages-pgr-sequentialvertexcoloring-po--develop] +file_filter = locale//LC_MESSAGES/pgr_sequentialVertexColoring.po +source_file = locale/pot/pgr_sequentialVertexColoring.pot +source_lang = en + +[pgrouting.locale-en-lc-messages-pgr-createtopology-po--develop] file_filter = locale//LC_MESSAGES/pgr_createTopology.po source_file = locale/pot/pgr_createTopology.pot source_lang = en -[pgrouting.tsp-family-po--master] +[pgrouting.locale-en-lc-messages-tsp-family-po--develop] file_filter = locale//LC_MESSAGES/TSP-family.po source_file = locale/pot/TSP-family.pot source_lang = en -[pgrouting.pgr-maxcardinalitymatch-po--master] +[pgrouting.locale-en-lc-messages-pgr-maxcardinalitymatch-po--develop] file_filter = locale//LC_MESSAGES/pgr_maxCardinalityMatch.po source_file = locale/pot/pgr_maxCardinalityMatch.pot source_lang = en -[pgrouting.pgr-articulationpoints-po--master] +[pgrouting.locale-en-lc-messages-pgr-articulationpoints-po--develop] file_filter = locale//LC_MESSAGES/pgr_articulationPoints.po source_file = locale/pot/pgr_articulationPoints.pot source_lang = en -[pgrouting.ksp-category-po--master] +[pgrouting.locale-en-lc-messages-ksp-category-po--develop] file_filter = locale//LC_MESSAGES/KSP-category.po source_file = locale/pot/KSP-category.pot source_lang = en -[pgrouting.pgr-full-version-po--master] -file_filter = locale//LC_MESSAGES/pgr_full_version.po -source_file = locale/pot/pgr_full_version.pot -source_lang = en - -[pgrouting.vrp-category-po--master] -file_filter = locale//LC_MESSAGES/VRP-category.po -source_file = locale/pot/VRP-category.pot -source_lang = en - -[pgrouting.pgr-turnrestrictedpath-po--master] -file_filter = locale//LC_MESSAGES/pgr_turnRestrictedPath.po -source_file = locale/pot/pgr_turnRestrictedPath.pot -source_lang = en - -[pgrouting.pgr-pickdeliver-po--master] -file_filter = locale//LC_MESSAGES/pgr_pickDeliver.po -source_file = locale/pot/pgr_pickDeliver.pot -source_lang = en - -[pgrouting.pgr-pickdelivereuclidean-po--master] -file_filter = locale//LC_MESSAGES/pgr_pickDeliverEuclidean.po -source_file = locale/pot/pgr_pickDeliverEuclidean.pot -source_lang = en - -[pgrouting.pgr-edwardmoore-po--master] -file_filter = locale//LC_MESSAGES/pgr_edwardMoore.po -source_file = locale/pot/pgr_edwardMoore.pot -source_lang = en - -[pgrouting.pgr-binarybreadthfirstsearch-po--master] -file_filter = locale//LC_MESSAGES/pgr_binaryBreadthFirstSearch.po -source_file = locale/pot/pgr_binaryBreadthFirstSearch.pot -source_lang = en - -[pgrouting.pgr-topologicalsort-po--master] -file_filter = locale//LC_MESSAGES/pgr_topologicalSort.po -source_file = locale/pot/pgr_topologicalSort.pot -source_lang = en - -[pgrouting.pgr-breadthfirstsearch-po--master] -file_filter = locale//LC_MESSAGES/pgr_breadthFirstSearch.po -source_file = locale/pot/pgr_breadthFirstSearch.pot -source_lang = en - -[pgrouting.pgr-transitiveclosure-po--master] -file_filter = locale//LC_MESSAGES/pgr_transitiveClosure.po -source_file = locale/pot/pgr_transitiveClosure.pot +[pgrouting.locale-en-lc-messages-pgr-bipartite-po--develop] +file_filter = locale//LC_MESSAGES/pgr_bipartite.po +source_file = locale/pot/pgr_bipartite.pot source_lang = en diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a11bcb664c..af93bc42484 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,8 +47,8 @@ string(TIMESTAMP COMPILATION_DATE "%Y/%m/%d") set(MINORS 3.2 3.1 3.0 2.6) set(OLD_SIGNATURES - 3.1.1 3.1.0 - 3.0.3 3.0.2 3.0.1 3.0.0 + 3.1.2 3.1.1 3.1.0 + 3.0.4 3.0.3 3.0.2 3.0.1 3.0.0 2.6.3 2.6.2 2.6.1 2.6.0 ) diff --git a/NEWS b/NEWS index 4dec16a6792..b4237eb294c 100644 --- a/NEWS +++ b/NEWS @@ -29,6 +29,19 @@ pgRouting 3.2.0 Release Notes * pgr_withPointsCost(Combinations) +pgRouting 3.1.2 Release Notes +------------------------------------------------------------------------------- + +To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.2 +`_ on Github. + +*Issues fixes* + +* [#1356 ](https://github.com/pgRouting/pgrouting/issues/1356)_: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed +* [#1760 ](https://github.com/pgRouting/pgrouting/issues/1760)_: TSP server crash on ubuntu 20.04 #1760 +* [#1770 ](https://github.com/pgRouting/pgrouting/issues/1770)_: Remove warnings when using clang compiler + + pgRouting 3.1.1 Release Notes ------------------------------------------------------------------------------- @@ -61,6 +74,20 @@ To see all issues & pull requests closed by this release see the `Git closed mil * Minimal requirement for Sphinx: version 1.8 +pgRouting 3.0.4 Release Notes +------------------------------------------------------------------------------- + +To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.4 +`_ on Github. + +*Backport issues fixes* + +* [#1356 ](https://github.com/pgRouting/pgrouting/issues/1356)_: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed +* [#1760 ](https://github.com/pgRouting/pgrouting/issues/1760)_: TSP server crash on ubuntu 20.04 #1760 +* [#1770 ](https://github.com/pgRouting/pgrouting/issues/1770)_: Remove warnings when using clang compiler + + + pgRouting 3.0.3 Release Notes ------------------------------------------------------------------------------- diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index e73e3643de7..26dfc4df360 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -19,8 +19,10 @@ To see the full list of changes check the list of `Git commits `_ on Github. + +.. rubric:: Issues fixes + +* `#1356 `__: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed +* `#1760 `__: TSP server crash on ubuntu 20.04 #1760 +* `#1770 `__: Remove warnings when using clang compiler + .. _changelog_3_1_1: pgRouting 3.1.1 Release Notes @@ -119,6 +135,21 @@ To see all issues & pull requests closed by this release see the `Git closed mil * Minimal requirement for Sphinx: version 1.8 +.. _changelog_3_0_4: + +pgRouting 3.0.4 Release Notes +------------------------------------------------------------------------------- + +To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.4 +`_ on Github. + +.. rubric:: Backport issues fixes + +* `#1356 `__: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed +* `#1760 `__: TSP server crash on ubuntu 20.04 #1760 +* `#1770 `__: Remove warnings when using clang compiler + + .. _changelog_3_0_3: pgRouting 3.0.3 Release Notes diff --git a/docqueries/dijkstra/doc-pgr_dijkstraVia.result b/docqueries/dijkstra/doc-pgr_dijkstraVia.result index 8b8add1bf47..1e896225e13 100644 --- a/docqueries/dijkstra/doc-pgr_dijkstraVia.result +++ b/docqueries/dijkstra/doc-pgr_dijkstraVia.result @@ -31,8 +31,8 @@ SELECT * FROM pgr_dijkstraVia( 1 | 1 | 1 | 1 | 3 | 1 | 1 | 1 | 0 | 0 2 | 1 | 2 | 1 | 3 | 2 | 2 | 1 | 1 | 1 3 | 1 | 3 | 1 | 3 | 3 | -1 | 0 | 2 | 2 - 4 | 2 | 1 | 3 | 9 | 3 | 5 | 1 | 0 | 2 - 5 | 2 | 2 | 3 | 9 | 6 | 9 | 1 | 1 | 3 + 4 | 2 | 1 | 3 | 9 | 3 | 3 | 1 | 0 | 2 + 5 | 2 | 2 | 3 | 9 | 4 | 16 | 1 | 1 | 3 6 | 2 | 3 | 3 | 9 | 9 | -2 | 0 | 2 | 4 (6 rows) diff --git a/docqueries/internalQueryTests/XYedge.result b/docqueries/internalQueryTests/XYedge.result deleted file mode 100644 index 718f4d2ff53..00000000000 --- a/docqueries/internalQueryTests/XYedge.result +++ /dev/null @@ -1 +0,0 @@ -t diff --git a/docqueries/internalQueryTests/XYedge.test.sql b/docqueries/internalQueryTests/XYedge.test.sql deleted file mode 100644 index 6a4cf17923e..00000000000 --- a/docqueries/internalQueryTests/XYedge.test.sql +++ /dev/null @@ -1,4 +0,0 @@ -SELECT * FROM _pgr_testXYedges( - 'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edge_table' -); - diff --git a/docqueries/internalQueryTests/pgtap/matrixRows_types_check.sql b/docqueries/internalQueryTests/pgtap/matrixRows_types_check.sql deleted file mode 100644 index 03ff2a9168a..00000000000 --- a/docqueries/internalQueryTests/pgtap/matrixRows_types_check.sql +++ /dev/null @@ -1,94 +0,0 @@ - -\i setup.sql - -SELECT plan(17); - -SELECT has_function('_pgr_test_matrixrows', ARRAY['text']); -SELECT function_returns('_pgr_test_matrixrows', ARRAY['text'],'boolean'); - -CREATE TEMP TABLE matrix AS -SELECT * FROM pgr_dijkstracostMatrix(' - SELECT id, source, target, cost, reverse_cost - FROM edge_table', - (SELECT array_agg(id) FROM edge_table_vertices_pgr)); - -CREATE OR REPLACE FUNCTION test_anyInteger(fn TEXT, params TEXT[], parameter TEXT) -RETURNS SETOF TEXT AS -$BODY$ -DECLARE -start_sql TEXT; -end_sql TEXT; -query TEXT; -p TEXT; -BEGIN - start_sql = 'select * from ' || fn || '($$ SELECT '; - FOREACH p IN ARRAY params LOOP - IF p = parameter THEN CONTINUE; - END IF; - start_sql = start_sql || p || ', '; - END LOOP; - end_sql = ' FROM matrix $$ )'; - - query := start_sql || parameter || '::SMALLINT ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::INTEGER ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::BIGINT ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::REAL ' || end_sql; - RETURN query SELECT throws_ok(query); - - query := start_sql || parameter || '::FLOAT8 ' || end_sql; - RETURN query SELECT throws_ok(query); -END; -$BODY$ LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION test_anyNumerical(fn TEXT, params TEXT[], parameter TEXT) -RETURNS SETOF TEXT AS -$BODY$ -DECLARE -start_sql TEXT; -end_sql TEXT; -query TEXT; -p TEXT; -BEGIN - start_sql = 'select * from ' || fn || '($$ SELECT '; - FOREACH p IN ARRAY params LOOP - IF p = parameter THEN CONTINUE; - END IF; - start_sql = start_sql || p || ', '; - END LOOP; - end_sql = ' FROM matrix $$ )'; - - query := start_sql || parameter || '::SMALLINT ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::INTEGER ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::BIGINT ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::REAL ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::FLOAT8 ' || end_sql; - RETURN query SELECT lives_ok(query); -END; -$BODY$ LANGUAGE plpgsql; - -SELECT test_anyInteger('_pgr_test_matrixrows', - ARRAY['start_vid', 'end_vid', 'agg_cost'], - 'start_vid'); -SELECT test_anyInteger('_pgr_test_matrixrows', - ARRAY['start_vid', 'end_vid', 'agg_cost'], - 'end_vid'); -SELECT test_anyNumerical('_pgr_test_matrixrows', - ARRAY['start_vid', 'end_vid', 'agg_cost'], - 'agg_cost'); - -SELECT finish(); -ROLLBACK; diff --git a/docqueries/internalQueryTests/pgtap/testXYedges_types_check.sql b/docqueries/internalQueryTests/pgtap/testXYedges_types_check.sql deleted file mode 100644 index eec4192750f..00000000000 --- a/docqueries/internalQueryTests/pgtap/testXYedges_types_check.sql +++ /dev/null @@ -1,133 +0,0 @@ - -\i setup.sql - -SELECT plan(87); - -SELECT has_function('_pgr_testxyedges', ARRAY['text']); -SELECT function_returns('_pgr_testxyedges', ARRAY['text'],'boolean'); - -CREATE OR REPLACE FUNCTION test_anyInteger(fn TEXT, params TEXT[], parameter TEXT) -RETURNS SETOF TEXT AS -$BODY$ -DECLARE -start_sql TEXT; -end_sql TEXT; -query TEXT; -p TEXT; -BEGIN - start_sql = 'select * from ' || fn || '($$ SELECT '; - FOREACH p IN ARRAY params LOOP - IF p = parameter THEN CONTINUE; - END IF; - start_sql = start_sql || p || ', '; - END LOOP; - end_sql = ' FROM edge_table $$ )'; - - query := start_sql || parameter || '::SMALLINT ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::INTEGER ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::BIGINT ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::REAL ' || end_sql; - RETURN query SELECT throws_ok(query); - - query := start_sql || parameter || '::FLOAT8 ' || end_sql; - RETURN query SELECT throws_ok(query); -END; -$BODY$ LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION test_anyNumerical(fn TEXT, params TEXT[], parameter TEXT) -RETURNS SETOF TEXT AS -$BODY$ -DECLARE -start_sql TEXT; -end_sql TEXT; -query TEXT; -p TEXT; -BEGIN - start_sql = 'select * from ' || fn || '($$ SELECT '; - FOREACH p IN ARRAY params LOOP - IF p = parameter THEN CONTINUE; - END IF; - start_sql = start_sql || p || ', '; - END LOOP; - end_sql = ' FROM edge_table $$ )'; - - query := start_sql || parameter || '::SMALLINT ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::INTEGER ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::BIGINT ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::REAL ' || end_sql; - RETURN query SELECT lives_ok(query); - - query := start_sql || parameter || '::FLOAT8 ' || end_sql; - RETURN query SELECT lives_ok(query); -END; -$BODY$ LANGUAGE plpgsql; - -SELECT test_anyInteger('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], - 'id'); -SELECT test_anyInteger('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], - 'source'); -SELECT test_anyInteger('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], - 'target'); -SELECT test_anyNumerical('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], - 'cost'); -SELECT test_anyNumerical('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], - 'reverse_cost'); -SELECT test_anyNumerical('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], - 'x1'); -SELECT test_anyNumerical('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], - 'y1'); -SELECT test_anyNumerical('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], - 'x2'); -SELECT test_anyNumerical('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'reverse_cost', 'x1', 'y1', 'x2', 'y2'], - 'y2'); - - -SELECT test_anyInteger('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], - 'id'); -SELECT test_anyInteger('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], - 'source'); -SELECT test_anyInteger('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], - 'target'); -SELECT test_anyNumerical('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], - 'cost'); -SELECT test_anyNumerical('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], - 'x1'); -SELECT test_anyNumerical('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], - 'y1'); -SELECT test_anyNumerical('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], - 'x2'); -SELECT test_anyNumerical('_pgr_testxyedges', - ARRAY['id', 'source', 'target', 'cost', 'x1', 'y1', 'x2', 'y2'], - 'y2'); - - -SELECT finish(); -ROLLBACK; diff --git a/docqueries/internalQueryTests/test.conf b/docqueries/internalQueryTests/test.conf deleted file mode 100644 index 416e03e6bac..00000000000 --- a/docqueries/internalQueryTests/test.conf +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/perl -w - -%main::tests = ( - 'any' => { - 'comment' => 'XY edges test', - 'data' => [ ], - 'debugtests' => [qw( - XYedge - testCHedges - )], - 'tests' => [qw( - )], - 'documentation' => [qw( - )], - 'nottested' => [qw( - )] - }, -); - -1; diff --git a/docqueries/internalQueryTests/testCHedges.result b/docqueries/internalQueryTests/testCHedges.result deleted file mode 100644 index 718f4d2ff53..00000000000 --- a/docqueries/internalQueryTests/testCHedges.result +++ /dev/null @@ -1 +0,0 @@ -t diff --git a/docqueries/internalQueryTests/testCHedges.test.sql b/docqueries/internalQueryTests/testCHedges.test.sql deleted file mode 100644 index ae50891ed2b..00000000000 --- a/docqueries/internalQueryTests/testCHedges.test.sql +++ /dev/null @@ -1,3 +0,0 @@ -SELECT * FROM _pgr_test_c_edges( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table' -); diff --git a/docqueries/tsp/doc-pgr_TSP.result b/docqueries/tsp/doc-pgr_TSP.result index b13d3a16342..80978d0f36d 100644 --- a/docqueries/tsp/doc-pgr_TSP.result +++ b/docqueries/tsp/doc-pgr_TSP.result @@ -15,19 +15,19 @@ SELECT * FROM pgr_TSP( randomize := false); seq | node | cost | agg_cost -----+------+------+---------- - 1 | 1 | 3 | 0 - 2 | 4 | 1 | 3 - 3 | 9 | 1 | 4 - 4 | 12 | 1 | 5 - 5 | 11 | 2 | 6 - 6 | 13 | 1 | 8 - 7 | 10 | 1 | 9 - 8 | 5 | 2 | 10 - 9 | 7 | 1 | 12 - 10 | 8 | 2 | 13 - 11 | 6 | 1 | 15 - 12 | 3 | 1 | 16 - 13 | 2 | 1 | 17 + 1 | 1 | 1 | 0 + 2 | 2 | 1 | 1 + 3 | 3 | 1 | 2 + 4 | 4 | 1 | 3 + 5 | 9 | 1 | 4 + 6 | 6 | 1 | 5 + 7 | 11 | 1 | 6 + 8 | 12 | 2 | 7 + 9 | 10 | 1 | 9 + 10 | 13 | 4 | 10 + 11 | 7 | 1 | 14 + 12 | 8 | 1 | 15 + 13 | 5 | 2 | 16 14 | 1 | 0 | 18 (14 rows) @@ -74,11 +74,11 @@ SELECT * FROM pgr_TSP( ); seq | node | cost | agg_cost -----+------+------+---------- - 1 | 5 | 1 | 0 - 2 | 6 | 1 | 1 - 3 | 3 | 1.6 | 2 - 4 | -1 | 1.3 | 3.6 - 5 | -6 | 0.3 | 4.9 + 1 | 5 | 0.3 | 0 + 2 | -6 | 1.3 | 0.3 + 3 | -1 | 1.6 | 1.6 + 4 | 3 | 1 | 3.2 + 5 | 6 | 1 | 4.2 6 | 5 | 0 | 5.2 (6 rows) diff --git a/docqueries/tsp/doc-pgr_TSPeuclidean.result b/docqueries/tsp/doc-pgr_TSPeuclidean.result index d5c1f67a948..327d4cc5fef 100644 --- a/docqueries/tsp/doc-pgr_TSPeuclidean.result +++ b/docqueries/tsp/doc-pgr_TSPeuclidean.result @@ -17,21 +17,21 @@ SELECT * FROM pgr_TSPeuclidean( 1 | 1 | 1.41421356237 | 0 2 | 3 | 1 | 1.41421356237 3 | 4 | 1 | 2.41421356237 - 4 | 9 | 1 | 3.41421356237 - 5 | 6 | 0.583095189485 | 4.41421356237 - 6 | 16 | 0.860232526704 | 4.99730875186 - 7 | 12 | 1.11803398875 | 5.85754127856 - 8 | 17 | 1.11803398875 | 6.97557526731 - 9 | 11 | 1 | 8.09360925606 - 10 | 10 | 0.5 | 9.09360925606 - 11 | 15 | 0.5 | 9.59360925606 - 12 | 13 | 1.58113883008 | 10.0936092561 - 13 | 14 | 1.58113883008 | 11.6747480861 - 14 | 7 | 1 | 13.2558869162 - 15 | 8 | 1 | 14.2558869162 - 16 | 5 | 1 | 15.2558869162 - 17 | 2 | 1 | 16.2558869162 - 18 | 1 | 0 | 17.2558869162 + 4 | 9 | 0.583095189485 | 3.41421356237 + 5 | 16 | 0.583095189485 | 3.99730875186 + 6 | 6 | 1 | 4.58040394134 + 7 | 11 | 1 | 5.58040394134 + 8 | 12 | 1.11803398875 | 6.58040394134 + 9 | 17 | 1.5 | 7.69843793009 + 10 | 13 | 0.5 | 9.19843793009 + 11 | 15 | 0.5 | 9.69843793009 + 12 | 10 | 1.58113883008 | 10.1984379301 + 13 | 14 | 1.58113883008 | 11.7795767602 + 14 | 7 | 1 | 13.3607155903 + 15 | 8 | 1 | 14.3607155903 + 16 | 5 | 1 | 15.3607155903 + 17 | 2 | 1 | 16.3607155903 + 18 | 1 | 0 | 17.3607155903 (18 rows) -- q2 diff --git a/docqueries/version/doc-full_version.result b/docqueries/version/doc-full_version.result index c1dc2d2a3d7..df42e1e65a8 100644 --- a/docqueries/version/doc-full_version.result +++ b/docqueries/version/doc-full_version.result @@ -4,9 +4,9 @@ SET client_min_messages TO NOTICE; SET -- q1 SELECT * FROM pgr_full_version(); - version | build_type | compile_date | library | system | postgresql | compiler | boost | hash ------------+------------+--------------+-----------------+------------------------+---------------------------------------------+-----------+--------+------------ - 3.2.0-dev | Debug | 2020/10/07 | pgrouting-3.2.0 | Linux-5.4.0-48-generic | PostgreSQL 12.4 (Ubuntu 12.4-1.pgdg20.04+1) | GNU-8.4.0 | 1.71.0 | ed122decfb + version | build_type | compile_date | library | system | postgresql | compiler | boost | hash +-----------+------------+--------------+-----------------+------------------------+------------------------------------------------+-----------+--------+----------- + 3.2.0-dev | Debug | 2020/12/08 | pgrouting-3.2.0 | Linux-5.4.0-56-generic | PostgreSQL 12.5 (Ubuntu 12.5-0ubuntu0.20.04.1) | GNU-8.4.0 | 1.71.0 | 5ac0944cd (1 row) -- q2 diff --git a/include/alphaShape/pgr_alphaShape.h b/include/alphaShape/pgr_alphaShape.h index af9b6e3aa53..0ba8602b26f 100644 --- a/include/alphaShape/pgr_alphaShape.h +++ b/include/alphaShape/pgr_alphaShape.h @@ -62,7 +62,7 @@ using Triangle = std::set; class Pgr_alphaShape : public Pgr_messages { public: - Pgr_alphaShape() = default; + Pgr_alphaShape() = delete; explicit Pgr_alphaShape(const std::vector &edges); std::vector operator() (double alpha) const; diff --git a/include/bdAstar/pgr_bdAstar.hpp b/include/bdAstar/pgr_bdAstar.hpp index 573e0a24339..2f1e61fa1fa 100644 --- a/include/bdAstar/pgr_bdAstar.hpp +++ b/include/bdAstar/pgr_bdAstar.hpp @@ -94,9 +94,6 @@ class Pgr_bdAstar : public Pgr_bidirectional { m_heuristic = heuristic; m_factor = factor * epsilon; - if (v_source == v_target) { - return Path(v_source, v_target); - } return bidirectional(only_cost); } diff --git a/include/bdDijkstra/pgr_bdDijkstra.hpp b/include/bdDijkstra/pgr_bdDijkstra.hpp index 0ae28d858bb..0ad693d38c0 100644 --- a/include/bdDijkstra/pgr_bdDijkstra.hpp +++ b/include/bdDijkstra/pgr_bdDijkstra.hpp @@ -84,9 +84,6 @@ class Pgr_bdDijkstra : public Pgr_bidirectional { v_source = start_vertex; v_target = end_vertex; - if (v_source == v_target) { - return Path(v_source, v_target); - } return bidirectional(only_cost); } diff --git a/include/bellman_ford/pgr_bellman_ford.hpp b/include/bellman_ford/pgr_bellman_ford.hpp index 5da33da60dc..a3d9260565d 100644 --- a/include/bellman_ford/pgr_bellman_ford.hpp +++ b/include/bellman_ford/pgr_bellman_ford.hpp @@ -186,13 +186,13 @@ class Pgr_bellman_ford : public pgrouting::Pgr_messages { //! Call to BellmanFord 1 source to 1 target bool bellman_ford_1_to_1( G &graph, - V source, - V target) { + V source + ) { log << std::string(__FUNCTION__) << "\n"; /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); try { - bool negative = boost::bellman_ford_shortest_paths( + boost::bellman_ford_shortest_paths( graph.graph, static_cast(graph.num_vertices()), boost::predecessor_map(&predecessors[0]) diff --git a/include/bellman_ford/pgr_edwardMoore.hpp b/include/bellman_ford/pgr_edwardMoore.hpp index 1fe0a3890c2..ea8c36bc2b9 100644 --- a/include/bellman_ford/pgr_edwardMoore.hpp +++ b/include/bellman_ford/pgr_edwardMoore.hpp @@ -91,17 +91,17 @@ class Pgr_edwardMoore { std::vector current_cost(graph.num_vertices(), std::numeric_limits::infinity()); std::vector isInQ(graph.num_vertices(), false); std::vector from_edge(graph.num_vertices()); - std::deque dq; + std::deque dq; DEFAULT_EDGE = from_edge[0]; - int64_t bgl_start_vertex = graph.get_V(start_vertex); + auto bgl_start_vertex = graph.get_V(start_vertex); current_cost[bgl_start_vertex] = 0; isInQ[bgl_start_vertex] = true; dq.push_front(bgl_start_vertex); while (dq.empty() == false) { - int64_t head_vertex = dq.front(); + auto head_vertex = dq.front(); dq.pop_front(); isInQ[head_vertex] = false; @@ -114,7 +114,7 @@ class Pgr_edwardMoore { continue; } - int64_t bgl_target_vertex = graph.get_V(target_vertex); + auto bgl_target_vertex = graph.get_V(target_vertex); if (from_edge[bgl_target_vertex] == DEFAULT_EDGE) { continue; @@ -129,12 +129,12 @@ class Pgr_edwardMoore { Path getPath( G &graph, - int64_t bgl_start_vertex, + V bgl_start_vertex, int64_t target, - int64_t bgl_target_vertex, + V bgl_target_vertex, std::vector &from_edge, std::vector ¤t_cost) { - int64_t current_node = bgl_target_vertex; + auto current_node = bgl_target_vertex; Path path = Path(graph[bgl_start_vertex].id, graph[current_node].id); @@ -158,8 +158,8 @@ class Pgr_edwardMoore { std::vector ¤t_cost, std::vector &isInQ, std::vector &from_edge, - std::deque &dq, - int64_t &head_vertex) { + std::deque &dq, + V &head_vertex) { /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); diff --git a/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp b/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp index a0816c8121f..5ecbf1727d9 100644 --- a/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp +++ b/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp @@ -92,16 +92,16 @@ class Pgr_binaryBreadthFirstSearch { std::vector current_cost(graph.num_vertices(), std::numeric_limits::infinity()); std::vector from_edge(graph.num_vertices()); - std::deque dq; + std::deque dq; DEFAULT_EDGE = from_edge[0]; - int64_t bgl_start_vertex = graph.get_V(start_vertex); + auto bgl_start_vertex = graph.get_V(start_vertex); current_cost[bgl_start_vertex] = 0; dq.push_front(bgl_start_vertex); while (dq.empty() == false) { - int64_t head_vertex = dq.front(); + auto head_vertex = dq.front(); dq.pop_front(); @@ -113,7 +113,7 @@ class Pgr_binaryBreadthFirstSearch { continue; } - int64_t bgl_target_vertex = graph.get_V(target_vertex); + auto bgl_target_vertex = graph.get_V(target_vertex); if (from_edge[bgl_target_vertex] == DEFAULT_EDGE) { continue; @@ -128,12 +128,12 @@ class Pgr_binaryBreadthFirstSearch { Path getPath( G &graph, - int64_t bgl_start_vertex, + V bgl_start_vertex, int64_t target, - int64_t bgl_target_vertex, + V bgl_target_vertex, std::vector &from_edge, std::vector ¤t_cost) { - int64_t current_node = bgl_target_vertex; + auto current_node = bgl_target_vertex; Path path = Path(graph[bgl_start_vertex].id, graph[current_node].id); @@ -152,12 +152,13 @@ class Pgr_binaryBreadthFirstSearch { return path; } + void updateVertexCosts( G &graph, std::vector ¤t_cost, std::vector &from_edge, - std::deque &dq, - int64_t &head_vertex) { + std::deque &dq, + V &head_vertex) { auto out_edges = boost::out_edges(head_vertex, graph.graph); E e; EO_i out_i; diff --git a/include/c_common/arrays_input.h b/include/c_common/arrays_input.h index 0d4a83f5d84..aff19c3583d 100644 --- a/include/c_common/arrays_input.h +++ b/include/c_common/arrays_input.h @@ -29,23 +29,43 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include -#ifdef __GNUC__ -# if __GNUC__ > 5 -# pragma GCC diagnostic ignored "-Wpedantic" -# else + +#ifdef __clang__ +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wpedantic" +# pragma clang diagnostic ignored "-Wignored-attributes" +#else +# ifdef __GNUC__ +# if __GNUC__ > 5 +# pragma GCC diagnostic ignored "-Wpedantic" +# else # pragma GCC diagnostic ignored "-pedantic" -# endif +# endif +# endif #endif #include +#ifdef __clang__ +#pragma clang diagnostic pop +#else #ifdef __GNUC__ #pragma GCC diagnostic pop #endif +#endif + // for ArrayType +#ifdef __clang__ +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wignored-attributes" +#endif + #include "utils/array.h" +#ifdef __clang__ +#pragma clang diagnostic pop +#endif /** @brief enforces the input array to be @b NOT empty */ int64_t* pgr_get_bigIntArray(size_t *arrlen, ArrayType *input); diff --git a/include/c_common/postgres_connection.h b/include/c_common/postgres_connection.h index 340c7aab943..40e414fba70 100644 --- a/include/c_common/postgres_connection.h +++ b/include/c_common/postgres_connection.h @@ -26,20 +26,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #pragma once - -#ifdef __GNUC__ -#if __GNUC__ > 5 -#pragma GCC diagnostic ignored "-Wpedantic" -#else -#pragma GCC diagnostic ignored "-pedantic" -#endif -#endif - #ifdef __clang__ #pragma clang diagnostic push -#pragma clang diagnostic ignored "-pedantic" +#pragma clang diagnostic ignored "-Wpedantic" +#pragma clang diagnostic ignored "-Wignored-attributes" +#else +#pragma GCC diagnostic ignored "-Wpedantic" #endif + #ifdef __MSVC__ #pragma warning(disable : 4200) #endif @@ -47,36 +42,41 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include +#ifdef __clang__ +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wsign-conversion" +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wunused-parameter" +# pragma clang diagnostic push +# pragma GCC diagnostic ignored "-Wconversion" -#ifdef __GNUC__ -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-parameter" +#else +# ifdef __GNUC__ +# pragma GCC diagnostic ignored "-Wsign-conversion" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-parameter" +# endif #endif -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wsign-conversion" -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-parameter" -#endif #include #include +#ifdef __clang__ +#pragma clang diagnostic pop +#pragma clang diagnostic pop +#pragma clang diagnostic pop +#pragma clang diagnostic pop +#else #ifdef __GNUC__ #pragma GCC diagnostic pop #pragma GCC diagnostic pop #pragma GCC diagnostic pop #pragma GCC diagnostic pop #endif - -#ifdef __clang__ -#pragma clang diagnostic pop -#pragma clang diagnostic pop -#pragma clang diagnostic pop #endif + #include "utils/builtins.h" // for text_to_cstring #if PGSQL_VERSION > 92 @@ -86,23 +86,24 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-parameter" -#endif - +#else #ifdef __GNUC__ #pragma GCC diagnostic ignored "-Wunused-parameter" #endif +#endif #include +#ifdef __clang__ +#pragma clang diagnostic pop +#else #ifdef __GNUC__ #pragma GCC diagnostic pop #endif - -#ifdef __clang__ -#pragma clang diagnostic pop #endif + void pgr_send_error(int errcode); void pgr_SPI_finish(void); void pgr_SPI_connect(void); diff --git a/include/chinese/pgr_chinesePostman.hpp b/include/chinese/pgr_chinesePostman.hpp index 090b5983c1e..6988294da99 100644 --- a/include/chinese/pgr_chinesePostman.hpp +++ b/include/chinese/pgr_chinesePostman.hpp @@ -90,7 +90,7 @@ class PgrDirectedChPPGraph { /** vector of vertex -> vector of edges **/ std::vector>> resultGraph; std::map VToVecid; - Identifiers edgeVisited; + Identifiers edgeVisited; Identifiers vertexVisited; std::stack pathStack; // node stack diff --git a/include/coloring/pgr_sequentialVertexColoring.hpp b/include/coloring/pgr_sequentialVertexColoring.hpp index 35f2170bd1b..f0fe87cd81e 100644 --- a/include/coloring/pgr_sequentialVertexColoring.hpp +++ b/include/coloring/pgr_sequentialVertexColoring.hpp @@ -130,8 +130,8 @@ class Pgr_sequentialVertexColoring { for (boost::tie(v, vend) = vertices(graph.graph); v != vend; ++v) { int64_t node = graph[*v].id; - int64_t color = colors[*v]; - results.push_back({ node, color + 1 }); + auto color = colors[*v]; + results.push_back({ node, static_cast(color + 1) }); } // ordering the results in an increasing order of the node id diff --git a/include/components/pgr_makeConnected.hpp b/include/components/pgr_makeConnected.hpp index ead61cf5215..6a7930bc72e 100644 --- a/include/components/pgr_makeConnected.hpp +++ b/include/components/pgr_makeConnected.hpp @@ -57,13 +57,13 @@ class Pgr_makeConnected : public pgrouting::Pgr_messages { private: std::vector< pgr_makeConnected_t > generatemakeConnected(G &graph ) { - std::vector< int >component(boost::num_vertices(graph.graph)); - size_t comp = boost::connected_components(graph.graph, &component[0]); + std::vector component(boost::num_vertices(graph.graph)); + auto comp = boost::connected_components(graph.graph, &component[0]); comp--; - int64_t edgeCount = boost::num_edges(graph.graph); - int64_t newEdge = 0; + auto edgeCount = boost::num_edges(graph.graph); + size_t newEdge = 0; log << "Number of Components before: " << boost::connected_components(graph.graph, &component[0]) << "\n"; - int64_t i = 0; + size_t i = 0; /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); diff --git a/include/cpp_common/Dmatrix.h b/include/cpp_common/Dmatrix.h index a2f594b46c5..7fabed0ac07 100644 --- a/include/cpp_common/Dmatrix.h +++ b/include/cpp_common/Dmatrix.h @@ -113,7 +113,7 @@ class Dmatrix { std::ostream &log, const Dmatrix &matrix); - double empty() const { + bool empty() const { return ids.empty(); } diff --git a/include/cpp_common/basic_vertex.h b/include/cpp_common/basic_vertex.h index e700a147593..a50e97e9cf9 100644 --- a/include/cpp_common/basic_vertex.h +++ b/include/cpp_common/basic_vertex.h @@ -47,6 +47,8 @@ class Basic_vertex { explicit Basic_vertex(const int64_t _id) : id(_id) {} + Basic_vertex& operator=(const Basic_vertex&)=default; + Basic_vertex(const pgr_edge_t &other, bool is_source) : id(is_source? other.source : other.target) {} @@ -66,14 +68,14 @@ size_t check_vertices(std::vector < Basic_vertex > vertices); std::vector < Basic_vertex > extract_vertices( std::vector < Basic_vertex > vertices, - const pgr_edge_t *data_edges, int64_t count); + const pgr_edge_t *data_edges, size_t count); std::vector < Basic_vertex > extract_vertices( std::vector < Basic_vertex > vertices, const std::vector < pgr_edge_t > data_edges); std::vector < Basic_vertex > extract_vertices( - const pgr_edge_t *data_edges, int64_t count); + const pgr_edge_t *data_edges, size_t count); std::vector < Basic_vertex > extract_vertices( const std::vector < pgr_edge_t > &data_edges); diff --git a/include/cpp_common/interruption.h b/include/cpp_common/interruption.h index 3d8ffa014c5..db56b186f3f 100644 --- a/include/cpp_common/interruption.h +++ b/include/cpp_common/interruption.h @@ -29,6 +29,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. /* * Suppress the -Wpedantic warning temporarily about the postgres file */ +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wpedantic" +#pragma clang diagnostic ignored "-Wignored-attributes" +#else #ifdef __GNUC__ #if __GNUC__ > 5 #pragma GCC diagnostic ignored "-Wpedantic" @@ -36,10 +41,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #pragma GCC diagnostic ignored "-pedantic" #endif #endif - -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-pedantic" #endif #ifdef __MSVC__ @@ -51,14 +52,15 @@ extern "C" { #include } +#ifdef __clang__ +#pragma clang diagnostic pop +#else #ifdef __GNUC__ #pragma GCC diagnostic pop #endif - -#ifdef __clang__ -#pragma clang diagnostic pop #endif + #ifdef __MSVC__ #pragma warning(default : 4200) #endif diff --git a/include/cpp_common/pgr_base_graph.hpp b/include/cpp_common/pgr_base_graph.hpp index d1d67c8b6b2..e45c59a3149 100644 --- a/include/cpp_common/pgr_base_graph.hpp +++ b/include/cpp_common/pgr_base_graph.hpp @@ -354,18 +354,18 @@ class Pgr_base_graph { * @param count */ template < typename T > - void insert_edges(const T *edges, int64_t count) { + void insert_edges(const T *edges, size_t count) { insert_edges(std::vector < T >(edges, edges + count)); } template < typename T > - void insert_edges_neg(const T *edges, int64_t count) { + void insert_edges_neg(const T *edges, size_t count) { insert_edges(std::vector < T >(edges, edges + count), false); } template < typename T> - void insert_edges(T *edges, int64_t count, bool) { - for (int64_t i = 0; i < count; ++i) { + void insert_edges(T *edges, size_t count, bool) { + for (size_t i = 0; i < count; ++i) { pgassert(has_vertex(edges[i].source)); pgassert(has_vertex(edges[i].target)); graph_add_edge_no_create_vertex(edges[i]); @@ -407,7 +407,7 @@ class Pgr_base_graph { } template - void insert_min_edges_no_parallel(const T *edges, int64_t count) { + void insert_min_edges_no_parallel(const T *edges, size_t count) { insert_edges(std::vector(edges, edges + count)); } @@ -490,7 +490,9 @@ class Pgr_base_graph { if (!has_vertex(vertex_id)) { return 0; } - return out_degree(get_V(vertex_id)); + auto v = get_V(vertex_id); + auto d = out_degree(v); + return d; } degree_size_type in_degree(int64_t vertex_id) const { if (!has_vertex(vertex_id)) { diff --git a/include/cpp_common/pgr_bidirectional.hpp b/include/cpp_common/pgr_bidirectional.hpp index 13d1fce568f..9108716719c 100644 --- a/include/cpp_common/pgr_bidirectional.hpp +++ b/include/cpp_common/pgr_bidirectional.hpp @@ -120,7 +120,7 @@ class Pgr_bidirectional { backward_cost.resize(graph.num_vertices(), INF); std::iota(backward_predecessor.begin(), backward_predecessor.end(), 0); - v_min_node = -1; + v_min_node = 0; best_cost = INF; } diff --git a/include/cpp_common/xy_vertex.h b/include/cpp_common/xy_vertex.h index d0a48487608..ad5cd09f923 100644 --- a/include/cpp_common/xy_vertex.h +++ b/include/cpp_common/xy_vertex.h @@ -72,7 +72,7 @@ check_vertices(std::vector < XY_vertex > vertices); std::vector < XY_vertex > extract_vertices( - const Pgr_edge_xy_t *data_edges, int64_t count); + const Pgr_edge_xy_t *data_edges, size_t count); std::vector < XY_vertex > extract_vertices( diff --git a/include/lineGraph/pgr_lineGraph.hpp b/include/lineGraph/pgr_lineGraph.hpp index 24346fb9102..7f93b130022 100644 --- a/include/lineGraph/pgr_lineGraph.hpp +++ b/include/lineGraph/pgr_lineGraph.hpp @@ -163,7 +163,7 @@ class Pgr_lineGraph : public Pgr_base_graph { boost::tie(e, inserted) = boost::add_edge(vm_s, vm_t, this->graph); - this->graph[e].id = this->num_edges(); + this->graph[e].id = static_cast(this->num_edges()); } void create_edges( diff --git a/include/lineGraph/pgr_lineGraphFull.hpp b/include/lineGraph/pgr_lineGraphFull.hpp index 89b56b56e73..786f9dd7162 100644 --- a/include/lineGraph/pgr_lineGraphFull.hpp +++ b/include/lineGraph/pgr_lineGraphFull.hpp @@ -169,15 +169,16 @@ class Pgr_lineGraphFull : public Pgr_base_graph { void insert_vertex( int64_t original_vertex_id, int64_t original_edge_id) { - m_transformation_map[this->num_vertices() + 1] = + auto new_id = static_cast(this->num_vertices() + 1); + m_transformation_map[new_id] = std::pair(original_vertex_id, original_edge_id); m_vertex_map[std::pair(original_vertex_id, original_edge_id)] = - this->num_vertices() + 1; + new_id; auto v = add_vertex(this->graph); this->graph[v].cp_members(original_vertex_id, original_edge_id); - this->graph[v].vertex_id = this->num_vertices(); - this->vertices_map[this->num_vertices()] = v; + this->graph[v].vertex_id = new_id; + this->vertices_map[new_id] = v; } void store_edge_costs( diff --git a/include/max_flow/pgr_maxflow.hpp b/include/max_flow/pgr_maxflow.hpp index edc6dc1baca..b8a040dcb3e 100644 --- a/include/max_flow/pgr_maxflow.hpp +++ b/include/max_flow/pgr_maxflow.hpp @@ -103,7 +103,7 @@ class PgrFlowGraph { graph, supersource, supersink); - return get_edge_disjoint_paths(flow); + return get_edge_disjoint_paths(static_cast(flow)); } PgrFlowGraph( @@ -122,7 +122,7 @@ class PgrFlowGraph { std::vector get_flow_edges() const; std::vector get_edge_disjoint_paths( - int64_t flow); + size_t flow); private: V get_boost_vertex(int64_t id) const { @@ -152,7 +152,7 @@ class PgrFlowGraph { void flow_dfs( V vertex, - int64_t path_id, + size_t path_id, std::vector > &paths); /* diff --git a/include/max_flow/pgr_maximumcardinalitymatching.hpp b/include/max_flow/pgr_maximumcardinalitymatching.hpp index 4f046784991..f57a5601ee1 100644 --- a/include/max_flow/pgr_maximumcardinalitymatching.hpp +++ b/include/max_flow/pgr_maximumcardinalitymatching.hpp @@ -77,8 +77,7 @@ class PgrCardinalityGraph { return E_to_id[e]; } - void create_max_cardinality_graph(pgr_basic_edge_t *data_edges, - size_t total_tuples) { + PgrCardinalityGraph(pgr_basic_edge_t *data_edges, size_t total_tuples) { std::set vertices; for (size_t i = 0; i < total_tuples; ++i) { vertices.insert(data_edges[i].source); @@ -107,8 +106,13 @@ class PgrCardinalityGraph { } } - void get_matched_vertices(std::vector &matched_vertices, - const std::vector &mate_map) { + std::vector + get_matched_vertices() { + + std::vector mate_map(boost::num_vertices(boost_graph)); + std::vector matched_vertices; + maximum_cardinality_matching(mate_map); + V_it vi, vi_end; E e; bool exists; @@ -125,8 +129,7 @@ class PgrCardinalityGraph { * (this last point prevents having double output with reversed * source and target) */ - boost::tie(e, exists) = - boost::edge(*vi, mate_map[*vi], boost_graph); + boost::tie(e, exists) = boost::edge(*vi, mate_map[*vi], boost_graph); if (((uint64_t)mate_map[*vi] != boost::graph_traits::null_vertex()) && exists && !already_matched[*vi] @@ -157,9 +160,10 @@ class PgrCardinalityGraph { } } } + return matched_vertices; } - void maximum_cardinality_matching(std::vector &mate_map) { + void maximum_cardinality_matching(std::vector &mate_map) { edmonds_maximum_cardinality_matching(boost_graph, &mate_map[0]); } diff --git a/include/trsp/pgr_trspHandler.h b/include/trsp/pgr_trspHandler.h index 2d768f352d1..d9226be03b6 100644 --- a/include/trsp/pgr_trspHandler.h +++ b/include/trsp/pgr_trspHandler.h @@ -79,7 +79,8 @@ class Pgr_trspHandler { bool isIllegal(size_t i) {return v_pos[i] == ILLEGAL;} bool isIllegal(Position i) { pgassert(i != ILLEGAL); - return v_pos[i] == ILLEGAL;} + if (i == ILLEGAL) return true; + return v_pos[static_cast(i)] == ILLEGAL;} std::vector e_idx; std::vector v_pos; diff --git a/include/tsp/pgr_tsp.hpp b/include/tsp/pgr_tsp.hpp index 988aa004327..58792ffcfe5 100644 --- a/include/tsp/pgr_tsp.hpp +++ b/include/tsp/pgr_tsp.hpp @@ -52,7 +52,7 @@ static size_t rand(size_t n) { pgassert(n > 0); - return static_cast< size_t >(std::rand() % n); + return static_cast< size_t >(std::rand())/((RAND_MAX + 1u)/n); } @@ -573,8 +573,8 @@ TSP::annealing( /* reverse */ pgassert(n > 2); - auto c1 = std::rand() % n; - auto c2 = std::rand() % n; + auto c1 = rand(n); + auto c2 = rand(n); if (c1 == c2) c2 = succ(c2, n); if (c1 == (c2 - 1)) c2 = succ(c2, n); @@ -611,8 +611,8 @@ TSP::annealing( pgassert(n > 3); - auto first = std::rand() % n; - auto last = std::rand() % n; + auto first = rand(n); + auto last = rand(n); if (first == last) last = succ(last, n); if (first > last) std::swap(first, last); @@ -621,7 +621,7 @@ TSP::annealing( } pgassert((n - (last - first) - 1) > 0); - auto place = std::rand() % (n - (last - first) - 1); + auto place = rand((n - (last - first) - 1)); place = place < first? place : last + (place - first) + 1; diff --git a/include/tsp/tour.h b/include/tsp/tour.h index 72f37285458..a1ab6411703 100644 --- a/include/tsp/tour.h +++ b/include/tsp/tour.h @@ -40,6 +40,7 @@ namespace tsp { class Tour { + using difference_type = std::vector::difference_type; public: Tour(const Tour &) = default; diff --git a/include/vrp/base_node.h b/include/vrp/base_node.h index e8678bf8f20..e40970756bc 100644 --- a/include/vrp/base_node.h +++ b/include/vrp/base_node.h @@ -48,6 +48,7 @@ class Base_node : public Identifier { public: Base_node() = default; Base_node(size_t, int64_t); + virtual ~Base_node() = default; /** @name to be or not to be */ diff --git a/include/vrp/book_keeping.h b/include/vrp/book_keeping.h index 53b8b2ee0df..0ebecbfd932 100644 --- a/include/vrp/book_keeping.h +++ b/include/vrp/book_keeping.h @@ -45,7 +45,7 @@ class Swap_info { friend class Swap_bk; public: - Swap_info() = default; + Swap_info() = delete; Swap_info(const Swap_info &) = default; Swap_info(const Vehicle_pickDeliver &from, const Vehicle_pickDeliver &to, diff --git a/include/vrp/fleet.h b/include/vrp/fleet.h index 589db315b3a..6a097104be4 100644 --- a/include/vrp/fleet.h +++ b/include/vrp/fleet.h @@ -119,7 +119,7 @@ class Fleet : public PD_problem { vehicle.start_node_id, vehicle.start_x, vehicle.start_y)); - return std::move(b_start); + return b_start; } template std::unique_ptr create_b_end( @@ -130,7 +130,7 @@ class Fleet : public PD_problem { vehicle.end_node_id, vehicle.end_x, vehicle.end_y)); - return std::move(b_end); + return b_end; } }; diff --git a/include/vrp/pd_orders.h b/include/vrp/pd_orders.h index cc1806b9ba8..5406fbb952e 100644 --- a/include/vrp/pd_orders.h +++ b/include/vrp/pd_orders.h @@ -101,7 +101,7 @@ class PD_Orders : public PD_problem { order.pick_node_id, order.pick_x, order.pick_y)); - return std::move(b_pick); + return b_pick; } template std::unique_ptr create_b_deliver( @@ -112,7 +112,7 @@ class PD_Orders : public PD_problem { order.deliver_node_id, order.deliver_x, order.deliver_y)); - return std::move(b_drop); + return b_drop; } private: diff --git a/include/vrp/pd_problem.h b/include/vrp/pd_problem.h index 16cd8849865..8698e8410e8 100644 --- a/include/vrp/pd_problem.h +++ b/include/vrp/pd_problem.h @@ -50,6 +50,7 @@ class PD_problem { protected: static Pgr_pickDeliver* problem; + PD_problem& operator=(const PD_problem &) {return *this;}; }; } // namespace vrp diff --git a/include/vrp/vehicle.h b/include/vrp/vehicle.h index d244875b4ec..020f3293ea5 100644 --- a/include/vrp/vehicle.h +++ b/include/vrp/vehicle.h @@ -72,6 +72,7 @@ namespace vrp { class Vehicle : public Identifier, public PD_problem { protected: typedef size_t POS; + using difference_type = std::deque::difference_type; std::deque< Vehicle_node > m_path; private: @@ -87,7 +88,7 @@ class Vehicle : public Identifier, public PD_problem { std::vector get_postgres_result(int vid) const; - Vehicle(const Vehicle &); + Vehicle(const Vehicle &) = default; Vehicle( size_t idx, int64_t kind, diff --git a/include/withPoints/pgr_withPoints.hpp b/include/withPoints/pgr_withPoints.hpp index 09982b44cb5..770bea066bc 100644 --- a/include/withPoints/pgr_withPoints.hpp +++ b/include/withPoints/pgr_withPoints.hpp @@ -92,7 +92,6 @@ class Pg_points_graph : public Pgr_messages { std::vector m_o_points; std::vector m_edges_of_points; std::vector m_new_edges; - bool m_normal; char m_driving_side; bool m_directed; }; diff --git a/include/yen/pgr_turnRestrictedPath.hpp b/include/yen/pgr_turnRestrictedPath.hpp index edc6f1eba7f..d468f4a84ec 100644 --- a/include/yen/pgr_turnRestrictedPath.hpp +++ b/include/yen/pgr_turnRestrictedPath.hpp @@ -88,7 +88,7 @@ class Pgr_turnRestrictedPath : public Pgr_ksp< G > { private: bool has_restriction(const Path &path) const { - for (const auto r : m_restrictions) { + for (const auto &r : m_restrictions) { if (path.has_restriction(r)) { return true; } @@ -139,7 +139,7 @@ class Pgr_turnRestrictedPath : public Pgr_ksp< G > { /* * No path: already in destination */ - if ((start_vertex == end_vertex)) { + if (start_vertex == end_vertex) { return std::deque(); } @@ -245,7 +245,7 @@ class Pgr_turnRestrictedPath : public Pgr_ksp< G > { std::deque inf_cost_on_restriction(std::deque &paths) { if (paths.empty()) return paths; for (auto &p : paths) { - for (const auto r : m_restrictions) { + for (const auto &r : m_restrictions) { p = p.inf_cost_on_restriction(r); } } diff --git a/locale/en/LC_MESSAGES/bdAstar-family.po b/locale/en/LC_MESSAGES/bdAstar-family.po index 2f3567b5a66..5082ff50992 100644 --- a/locale/en/LC_MESSAGES/bdAstar-family.po +++ b/locale/en/LC_MESSAGES/bdAstar-family.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/bdAstar-family.rst:11 msgid "Bidirectional A* - Family of functions" @@ -55,7 +55,8 @@ msgid "" "/bdAstar-family.html>`__" msgstr "" -#: ../../build/doc/bdAstar-family.rst:39 ../../build/doc/bdAstar-family.rst:78 +#: ../../build/doc/bdAstar-family.rst:39 ../../build/doc/bdAstar-family.rst:88 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" @@ -118,6 +119,10 @@ msgstr "" msgid "Signatures" msgstr "" +#: ../../build/doc/bdAstar-family.rst:69 +msgid "Edges query" +msgstr "" + #: ../../build/doc/pgRouting-concepts.rst msgid "edges_sql" msgstr "" @@ -128,15 +133,18 @@ msgid "" "columns:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "" -#: ../../build/doc/bdAstar-family.rst:78 +#: ../../build/doc/bdAstar-family.rst:88 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Default" msgstr "" @@ -145,7 +153,9 @@ msgstr "" msgid "**id**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:81 ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/bdAstar-family.rst:92 ../../build/doc/bdAstar-family.rst:94 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:10 @@ -156,18 +166,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -245,6 +259,7 @@ msgstr "" msgid "Y coordinate of `target` vertex." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" msgstr "" @@ -253,6 +268,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:27 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -265,155 +281,174 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/bdAstar-family.rst:75 +#: ../../build/doc/bdAstar-family.rst:76 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/bdAstar-family.rst:85 msgid "Parameters" msgstr "" -#: ../../build/doc/bdAstar-family.rst:78 +#: ../../build/doc/bdAstar-family.rst:88 msgid "Parameter" msgstr "" -#: ../../build/doc/bdAstar-family.rst:80 -msgid "**edges_sql**" +#: ../../build/doc/bdAstar-family.rst:90 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:80 +#: ../../build/doc/bdAstar-family.rst:90 ../../build/doc/bdAstar-family.rst:91 msgid "``TEXT``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:80 -msgid "Edges SQL query as described above." +#: ../../build/doc/bdAstar-family.rst:90 +msgid "Edges query as described above." +msgstr "" + +#: ../../build/doc/bdAstar-family.rst:91 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/bdAstar-family.rst:91 +msgid "Combinations query as described above." msgstr "" -#: ../../build/doc/bdAstar-family.rst:81 +#: ../../build/doc/bdAstar-family.rst:92 msgid "**start_vid**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:81 +#: ../../build/doc/bdAstar-family.rst:92 msgid "Starting vertex identifier." msgstr "" -#: ../../build/doc/bdAstar-family.rst:82 +#: ../../build/doc/bdAstar-family.rst:93 msgid "**start_vids**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:82 ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:93 ../../build/doc/bdAstar-family.rst:95 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:82 +#: ../../build/doc/bdAstar-family.rst:93 msgid "Starting vertices identifierers." msgstr "" -#: ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/bdAstar-family.rst:94 msgid "**end_vid**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/bdAstar-family.rst:94 msgid "Ending vertex identifier." msgstr "" -#: ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:95 msgid "**end_vids**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:95 msgid "Ending vertices identifiers." msgstr "" -#: ../../build/doc/bdAstar-family.rst:85 +#: ../../build/doc/bdAstar-family.rst:96 msgid "**directed**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:85 +#: ../../build/doc/bdAstar-family.rst:96 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:85 +#: ../../build/doc/bdAstar-family.rst:96 msgid "Optional." msgstr "" -#: ../../build/doc/bdAstar-family.rst:87 +#: ../../build/doc/bdAstar-family.rst:98 msgid "When ``false`` the graph is considered as Undirected." msgstr "" -#: ../../build/doc/bdAstar-family.rst:88 +#: ../../build/doc/bdAstar-family.rst:99 msgid "Default is ``true`` which considers the graph as Directed." msgstr "" -#: ../../build/doc/bdAstar-family.rst:90 +#: ../../build/doc/bdAstar-family.rst:101 msgid "**heuristic**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:90 +#: ../../build/doc/bdAstar-family.rst:101 msgid "``INTEGER``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:90 +#: ../../build/doc/bdAstar-family.rst:101 msgid "(optional). Heuristic number. Current valid values 0~5. Default ``5``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:92 +#: ../../build/doc/bdAstar-family.rst:103 msgid "0: h(v) = 0 (Use this value to compare with pgr_dijkstra)" msgstr "" -#: ../../build/doc/bdAstar-family.rst:93 +#: ../../build/doc/bdAstar-family.rst:104 msgid "1: h(v) abs(max(dx, dy))" msgstr "" -#: ../../build/doc/bdAstar-family.rst:94 +#: ../../build/doc/bdAstar-family.rst:105 msgid "2: h(v) abs(min(dx, dy))" msgstr "" -#: ../../build/doc/bdAstar-family.rst:95 +#: ../../build/doc/bdAstar-family.rst:106 msgid "3: h(v) = dx * dx + dy * dy" msgstr "" -#: ../../build/doc/bdAstar-family.rst:96 +#: ../../build/doc/bdAstar-family.rst:107 msgid "4: h(v) = sqrt(dx * dx + dy * dy)" msgstr "" -#: ../../build/doc/bdAstar-family.rst:97 +#: ../../build/doc/bdAstar-family.rst:108 msgid "5: h(v) = abs(dx) + abs(dy)" msgstr "" -#: ../../build/doc/bdAstar-family.rst:99 +#: ../../build/doc/bdAstar-family.rst:110 msgid "**factor**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:99 ../../build/doc/bdAstar-family.rst:100 +#: ../../build/doc/bdAstar-family.rst:110 +#: ../../build/doc/bdAstar-family.rst:111 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:99 +#: ../../build/doc/bdAstar-family.rst:110 msgid "" "(optional). For units manipulation. :math:`factor > 0`. Default ``1``. " "see :ref:`astar_factor`" msgstr "" -#: ../../build/doc/bdAstar-family.rst:100 +#: ../../build/doc/bdAstar-family.rst:111 msgid "**epsilon**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:100 +#: ../../build/doc/bdAstar-family.rst:111 msgid "" "(optional). For less restricted results. :math:`epsilon >= 1`. Default " "``1``." msgstr "" -#: ../../build/doc/bdAstar-family.rst:106 +#: ../../build/doc/bdAstar-family.rst:117 msgid "See Also" msgstr "" -#: ../../build/doc/bdAstar-family.rst:109 +#: ../../build/doc/bdAstar-family.rst:120 msgid "Indices and tables" msgstr "" -#: ../../build/doc/bdAstar-family.rst:110 +#: ../../build/doc/bdAstar-family.rst:121 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/bdAstar-family.rst:111 +#: ../../build/doc/bdAstar-family.rst:122 msgid ":ref:`search`" msgstr "" +#~ msgid "**edges_sql**" +#~ msgstr "" + +#~ msgid "Edges SQL query as described above." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/index.po b/locale/en/LC_MESSAGES/index.po index 7841104127d..4c4806fa5cb 100644 --- a/locale/en/LC_MESSAGES/index.po +++ b/locale/en/LC_MESSAGES/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -425,126 +425,134 @@ msgid ":ref:`changelog_3_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:4 -msgid ":ref:`changelog_3_1_1`" +msgid ":ref:`changelog_3_1_2`" msgstr "" #: ../../build/doc/release_notes.rst:5 -msgid ":ref:`changelog_3_1_0`" +msgid ":ref:`changelog_3_1_1`" msgstr "" #: ../../build/doc/release_notes.rst:6 -msgid ":ref:`changelog_3_0_3`" +msgid ":ref:`changelog_3_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:7 -msgid ":ref:`changelog_3_0_2`" +msgid ":ref:`changelog_3_0_4`" msgstr "" #: ../../build/doc/release_notes.rst:8 -msgid ":ref:`changelog_3_0_1`" +msgid ":ref:`changelog_3_0_3`" msgstr "" #: ../../build/doc/release_notes.rst:9 -msgid ":ref:`changelog_3_0_0`" +msgid ":ref:`changelog_3_0_2`" msgstr "" #: ../../build/doc/release_notes.rst:10 -msgid ":ref:`changelog_2_6_3`" +msgid ":ref:`changelog_3_0_1`" msgstr "" #: ../../build/doc/release_notes.rst:11 -msgid ":ref:`changelog_2_6_2`" +msgid ":ref:`changelog_3_0_0`" msgstr "" #: ../../build/doc/release_notes.rst:12 -msgid ":ref:`changelog_2_6_1`" +msgid ":ref:`changelog_2_6_3`" msgstr "" #: ../../build/doc/release_notes.rst:13 -msgid ":ref:`changelog_2_6_0`" +msgid ":ref:`changelog_2_6_2`" msgstr "" #: ../../build/doc/release_notes.rst:14 -msgid ":ref:`changelog_2_5_5`" +msgid ":ref:`changelog_2_6_1`" msgstr "" #: ../../build/doc/release_notes.rst:15 -msgid ":ref:`changelog_2_5_4`" +msgid ":ref:`changelog_2_6_0`" msgstr "" #: ../../build/doc/release_notes.rst:16 -msgid ":ref:`changelog_2_5_3`" +msgid ":ref:`changelog_2_5_5`" msgstr "" #: ../../build/doc/release_notes.rst:17 -msgid ":ref:`changelog_2_5_2`" +msgid ":ref:`changelog_2_5_4`" msgstr "" #: ../../build/doc/release_notes.rst:18 -msgid ":ref:`changelog_2_5_1`" +msgid ":ref:`changelog_2_5_3`" msgstr "" #: ../../build/doc/release_notes.rst:19 -msgid ":ref:`changelog_2_5_0`" +msgid ":ref:`changelog_2_5_2`" msgstr "" #: ../../build/doc/release_notes.rst:20 -msgid ":ref:`changelog_2_4_2`" +msgid ":ref:`changelog_2_5_1`" msgstr "" #: ../../build/doc/release_notes.rst:21 -msgid ":ref:`changelog_2_4_1`" +msgid ":ref:`changelog_2_5_0`" msgstr "" #: ../../build/doc/release_notes.rst:22 -msgid ":ref:`changelog_2_4_0`" +msgid ":ref:`changelog_2_4_2`" msgstr "" #: ../../build/doc/release_notes.rst:23 -msgid ":ref:`changelog_2_3_2`" +msgid ":ref:`changelog_2_4_1`" msgstr "" #: ../../build/doc/release_notes.rst:24 -msgid ":ref:`changelog_2_3_1`" +msgid ":ref:`changelog_2_4_0`" msgstr "" #: ../../build/doc/release_notes.rst:25 -msgid ":ref:`changelog_2_3_0`" +msgid ":ref:`changelog_2_3_2`" msgstr "" #: ../../build/doc/release_notes.rst:26 -msgid ":ref:`changelog_2_2_4`" +msgid ":ref:`changelog_2_3_1`" msgstr "" #: ../../build/doc/release_notes.rst:27 -msgid ":ref:`changelog_2_2_3`" +msgid ":ref:`changelog_2_3_0`" msgstr "" #: ../../build/doc/release_notes.rst:28 -msgid ":ref:`changelog_2_2_2`" +msgid ":ref:`changelog_2_2_4`" msgstr "" #: ../../build/doc/release_notes.rst:29 -msgid ":ref:`changelog_2_2_1`" +msgid ":ref:`changelog_2_2_3`" msgstr "" #: ../../build/doc/release_notes.rst:30 -msgid ":ref:`changelog_2_2_0`" +msgid ":ref:`changelog_2_2_2`" msgstr "" #: ../../build/doc/release_notes.rst:31 -msgid ":ref:`changelog_2_1_0`" +msgid ":ref:`changelog_2_2_1`" msgstr "" #: ../../build/doc/release_notes.rst:32 -msgid ":ref:`changelog_2_0_1`" +msgid ":ref:`changelog_2_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:33 -msgid ":ref:`changelog_2_0_0`" +msgid ":ref:`changelog_2_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:34 +msgid ":ref:`changelog_2_0_1`" +msgstr "" + +#: ../../build/doc/release_notes.rst:35 +msgid ":ref:`changelog_2_0_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:36 msgid ":ref:`changelog_1_x`" msgstr "" diff --git a/locale/en/LC_MESSAGES/pgr_aStar.po b/locale/en/LC_MESSAGES/pgr_aStar.po index 3c8e1d8120f..86e826c3baf 100644 --- a/locale/en/LC_MESSAGES/pgr_aStar.po +++ b/locale/en/LC_MESSAGES/pgr_aStar.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_aStar.rst:11 msgid "pgr_aStar" @@ -34,66 +34,79 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_aStar.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_aStar.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_aStar.rst:26 -msgid "Version 2.4.0" +msgid "pgr_aStar(Combinations)" msgstr "" #: ../../build/doc/pgr_aStar.rst:28 -msgid "New **Proposed** functions:" +msgid "Version 3.0.0" msgstr "" #: ../../build/doc/pgr_aStar.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:32 +msgid "Version 2.4.0" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:34 +msgid "New **Proposed** functions:" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:36 msgid "pgr_aStar(One to Many)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:31 +#: ../../build/doc/pgr_aStar.rst:37 msgid "pgr_aStar(Many to One)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:32 +#: ../../build/doc/pgr_aStar.rst:38 msgid "pgr_aStar(Many to Many)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:34 +#: ../../build/doc/pgr_aStar.rst:40 msgid "Version 2.3.0" msgstr "" -#: ../../build/doc/pgr_aStar.rst:36 +#: ../../build/doc/pgr_aStar.rst:42 msgid "Signature change on pgr_astar(One to One)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:38 +#: ../../build/doc/pgr_aStar.rst:44 msgid "Old signature no longer supported" msgstr "" -#: ../../build/doc/pgr_aStar.rst:40 +#: ../../build/doc/pgr_aStar.rst:46 msgid "Version 2.0.0" msgstr "" -#: ../../build/doc/pgr_aStar.rst:42 +#: ../../build/doc/pgr_aStar.rst:48 msgid "**Official** pgr_aStar(One to One)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:45 +#: ../../build/doc/pgr_aStar.rst:51 msgid "Support" msgstr "" -#: ../../build/doc/pgr_aStar.rst:46 +#: ../../build/doc/pgr_aStar.rst:52 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -#: ../../build/doc/pgr_aStar.rst:51 +#: ../../build/doc/pgr_aStar.rst:58 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -104,12 +117,13 @@ msgid "" "`__" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:60 -#: ../../build/doc/pgr_aStar.rst:186 ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:67 +#: ../../build/doc/pgr_aStar.rst:213 ../../build/doc/pgr_aStar.rst:247 msgid "Description" msgstr "" -#: ../../build/doc/pgr_aStar.rst:62 +#: ../../build/doc/pgr_aStar.rst:69 msgid "**The main characteristics are:**" msgstr "" @@ -181,43 +195,43 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:68 +#: ../../build/doc/pgr_aStar.rst:75 msgid "" "The results are equivalent to the union of the results of the " "`pgr_aStar(` `One to One`_ `)` on the:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:70 +#: ../../build/doc/pgr_aStar.rst:77 msgid "`pgr_aStar(` `One to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:71 +#: ../../build/doc/pgr_aStar.rst:78 msgid "`pgr_aStar(` `Many to One`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:72 +#: ../../build/doc/pgr_aStar.rst:79 msgid "`pgr_aStar(` `Many to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:74 +#: ../../build/doc/pgr_aStar.rst:81 msgid "" "``start_vid`` and ``end_vid`` in the result is used to distinguish to " "which path it belongs." msgstr "" -#: ../../build/doc/pgr_aStar.rst:77 +#: ../../build/doc/pgr_aStar.rst:84 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_aStar.rst:80 +#: ../../build/doc/pgr_aStar.rst:87 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_aStar.rst:91 +#: ../../build/doc/pgr_aStar.rst:99 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" -#: ../../build/doc/pgr_aStar.rst:94 +#: ../../build/doc/pgr_aStar.rst:102 msgid "Using defaults" msgstr "" @@ -225,237 +239,263 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_aStar.rst:101 +#: ../../build/doc/pgr_aStar.rst:109 msgid "From vertex :math:`2` to vertex :math:`12` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_aStar.rst:111 +#: ../../build/doc/pgr_aStar.rst:119 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_aStar.rst:120 +#: ../../build/doc/pgr_aStar.rst:128 msgid "" "From vertex :math:`2` to vertex :math:`12` on an **undirected** graph " "using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:130 +#: ../../build/doc/pgr_aStar.rst:138 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_aStar.rst:138 +#: ../../build/doc/pgr_aStar.rst:146 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 12\\}` on a **directed** " "graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:148 +#: ../../build/doc/pgr_aStar.rst:156 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_aStar.rst:156 +#: ../../build/doc/pgr_aStar.rst:164 msgid "" "From vertices :math:`\\{7, 2\\}` to vertex :math:`12` on a **directed** " "graph using heuristic :math:`0`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:166 +#: ../../build/doc/pgr_aStar.rst:174 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_aStar.rst:174 +#: ../../build/doc/pgr_aStar.rst:182 msgid "" "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 12\\}` on a " "**directed** graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:181 +#: ../../build/doc/pgr_aStar.rst:192 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:200 +msgid "" +"Using a combinations table on a **directed** graph using heuristic " +":math:`2`." +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:208 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_aStar.rst:186 ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgr_aStar.rst:213 ../../build/doc/pgr_aStar.rst:247 msgid "Parameter" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:186 -#: ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:213 +#: ../../build/doc/pgr_aStar.rst:247 msgid "Type" msgstr "" -#: ../../build/doc/pgr_aStar.rst:188 -msgid "**edges_sql**" +#: ../../build/doc/pgr_aStar.rst:215 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:188 +#: ../../build/doc/pgr_aStar.rst:215 ../../build/doc/pgr_aStar.rst:216 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:188 -msgid "`edges_sql`_ inner query." +#: ../../build/doc/pgr_aStar.rst:215 +msgid "`Edges query` as described below." msgstr "" -#: ../../build/doc/pgr_aStar.rst:189 +#: ../../build/doc/pgr_aStar.rst:216 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:216 +msgid "`Combinations query` as described below." +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:217 msgid "**from_vid**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:189 -#: ../../build/doc/pgr_aStar.rst:199 +#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:217 +#: ../../build/doc/pgr_aStar.rst:227 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:189 +#: ../../build/doc/pgr_aStar.rst:217 msgid "Starting vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:191 ../../build/doc/pgr_aStar.rst:201 +#: ../../build/doc/pgr_aStar.rst:219 ../../build/doc/pgr_aStar.rst:229 msgid "`One to One`_" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst:19 ../../build/doc/pgr_aStar.rst:192 -#: ../../build/doc/pgr_aStar.rst:206 +#: ../../build/doc/pgRouting-concepts.rst:19 ../../build/doc/pgr_aStar.rst:220 +#: ../../build/doc/pgr_aStar.rst:234 msgid "`One to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:194 +#: ../../build/doc/pgr_aStar.rst:222 msgid "**from_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:194 ../../build/doc/pgr_aStar.rst:204 +#: ../../build/doc/pgr_aStar.rst:222 ../../build/doc/pgr_aStar.rst:232 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:194 +#: ../../build/doc/pgr_aStar.rst:222 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst:13 ../../build/doc/pgr_aStar.rst:196 -#: ../../build/doc/pgr_aStar.rst:202 +#: ../../build/doc/pgRouting-concepts.rst:13 ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:230 msgid "`Many to One`_" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:14 -#: ../../build/doc/pgRouting-concepts.rst:20 ../../build/doc/pgr_aStar.rst:197 -#: ../../build/doc/pgr_aStar.rst:207 +#: ../../build/doc/pgRouting-concepts.rst:20 ../../build/doc/pgr_aStar.rst:225 +#: ../../build/doc/pgr_aStar.rst:235 msgid "`Many to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:199 +#: ../../build/doc/pgr_aStar.rst:227 msgid "**to_vid**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:199 +#: ../../build/doc/pgr_aStar.rst:227 msgid "Ending vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:204 +#: ../../build/doc/pgr_aStar.rst:232 msgid "**to_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:204 +#: ../../build/doc/pgr_aStar.rst:232 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:214 +#: ../../build/doc/pgr_aStar.rst:242 msgid "Optional Parameters" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:247 msgid "Default" msgstr "" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "When ``true`` the graph is considered as Directed." msgstr "" -#: ../../build/doc/pgr_aStar.rst:222 +#: ../../build/doc/pgr_aStar.rst:250 msgid "When ``false`` the graph is considered as Undirected." msgstr "" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "**heuristic**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "``INTEGER``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "``5``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "Heuristic number. Current valid values 0~5. Default ``5``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:226 +#: ../../build/doc/pgr_aStar.rst:254 msgid "0: h(v) = 0 (Use this value to compare with pgr_dijkstra)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:227 +#: ../../build/doc/pgr_aStar.rst:255 msgid "1: h(v) abs(max(dx, dy))" msgstr "" -#: ../../build/doc/pgr_aStar.rst:228 +#: ../../build/doc/pgr_aStar.rst:256 msgid "2: h(v) abs(min(dx, dy))" msgstr "" -#: ../../build/doc/pgr_aStar.rst:229 +#: ../../build/doc/pgr_aStar.rst:257 msgid "3: h(v) = dx * dx + dy * dy" msgstr "" -#: ../../build/doc/pgr_aStar.rst:230 +#: ../../build/doc/pgr_aStar.rst:258 msgid "4: h(v) = sqrt(dx * dx + dy * dy)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:231 +#: ../../build/doc/pgr_aStar.rst:259 msgid "5: h(v) = abs(dx) + abs(dy)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:233 +#: ../../build/doc/pgr_aStar.rst:261 msgid "**factor**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:24 -#: ../../build/doc/pgRouting-concepts.rst:25 ../../build/doc/pgr_aStar.rst:233 -#: ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgRouting-concepts.rst:25 ../../build/doc/pgr_aStar.rst:261 +#: ../../build/doc/pgr_aStar.rst:262 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:233 ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgr_aStar.rst:261 ../../build/doc/pgr_aStar.rst:262 msgid "``1``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:233 +#: ../../build/doc/pgr_aStar.rst:261 msgid "For units manipulation. :math:`factor > 0`. See :ref:`astar_factor`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgr_aStar.rst:262 msgid "**epsilon**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgr_aStar.rst:262 msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "" -#: ../../build/doc/pgr_aStar.rst:240 -msgid "Inner query" +#: ../../build/doc/pgr_aStar.rst:268 +msgid "Inner queries" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst ../../build/doc/pgr_aStar.rst:243 +#: ../../build/doc/pgr_aStar.rst:271 +msgid "Edges query" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst msgid "edges_sql" msgstr "" @@ -465,6 +505,7 @@ msgid "" "columns:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "" @@ -477,18 +518,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -567,6 +612,7 @@ msgstr "" msgid "Y coordinate of `target` vertex." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" msgstr "" @@ -575,6 +621,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:27 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -587,7 +634,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_aStar.rst:250 +#: ../../build/doc/pgr_aStar.rst:278 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:285 msgid "Result Columns" msgstr "" @@ -679,35 +730,51 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_aStar.rst:257 +#: ../../build/doc/pgr_aStar.rst:292 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_aStar.rst:259 +#: ../../build/doc/pgr_aStar.rst:294 msgid ":doc:`aStar-family`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:260 +#: ../../build/doc/pgr_aStar.rst:295 msgid ":doc:`sampledata`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:261 +#: ../../build/doc/pgr_aStar.rst:296 msgid "https://www.boost.org/libs/graph/doc/astar_search.html" msgstr "" -#: ../../build/doc/pgr_aStar.rst:262 +#: ../../build/doc/pgr_aStar.rst:297 msgid "https://en.wikipedia.org/wiki/A*_search_algorithm" msgstr "" -#: ../../build/doc/pgr_aStar.rst:265 +#: ../../build/doc/pgr_aStar.rst:300 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_aStar.rst:266 +#: ../../build/doc/pgr_aStar.rst:301 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:267 +#: ../../build/doc/pgr_aStar.rst:302 msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" +#~ msgstr "" + +#~ msgid "**edges_sql**" +#~ msgstr "" + +#~ msgid "`edges_sql`_ inner query." +#~ msgstr "" + +#~ msgid "Inner query" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_aStarCost.po b/locale/en/LC_MESSAGES/pgr_aStarCost.po index d096218f7fd..453651cd898 100644 --- a/locale/en/LC_MESSAGES/pgr_aStarCost.po +++ b/locale/en/LC_MESSAGES/pgr_aStarCost.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,46 +36,60 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:26 -msgid "Version 2.4.0" +msgid "pgr_aStarCost(Combinations)" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:28 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:32 +msgid "Version 2.4.0" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:34 msgid "New **proposed** function" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:31 +#: ../../build/doc/pgr_aStarCost.rst:37 msgid "Support" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:32 +#: ../../build/doc/pgr_aStarCost.rst:38 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:37 +#: ../../build/doc/pgr_aStarCost.rst:44 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " "`__" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_aStarCost.rst:42 +#: ../../build/doc/pgr_aStarCost.rst:49 msgid "Description" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:44 +#: ../../build/doc/pgr_aStarCost.rst:51 msgid "**The main characteristics are:**" msgstr "" @@ -147,37 +161,37 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:50 +#: ../../build/doc/pgr_aStarCost.rst:57 msgid "" "The results are equivalent to the union of the results of the " "`pgr_aStarCost(` `One to One`_ `)` on the:" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:52 +#: ../../build/doc/pgr_aStarCost.rst:59 msgid "`pgr_aStarCost(` `One to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:53 +#: ../../build/doc/pgr_aStarCost.rst:60 msgid "`pgr_aStarCost(` `Many to One`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:54 +#: ../../build/doc/pgr_aStarCost.rst:61 msgid "`pgr_aStarCost(` `Many to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:57 +#: ../../build/doc/pgr_aStarCost.rst:64 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:60 +#: ../../build/doc/pgr_aStarCost.rst:67 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:71 +#: ../../build/doc/pgr_aStarCost.rst:79 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:74 +#: ../../build/doc/pgr_aStarCost.rst:82 msgid "Using defaults" msgstr "" @@ -185,51 +199,61 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:81 +#: ../../build/doc/pgr_aStarCost.rst:89 msgid "From vertex :math:`2` to vertex :math:`12` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:91 +#: ../../build/doc/pgr_aStarCost.rst:99 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:99 +#: ../../build/doc/pgr_aStarCost.rst:107 msgid "" "From vertex :math:`2` to vertex :math:`12` on an **undirected** graph " "using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:109 +#: ../../build/doc/pgr_aStarCost.rst:117 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:117 +#: ../../build/doc/pgr_aStarCost.rst:125 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 12\\}` on a **directed** " "graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:127 +#: ../../build/doc/pgr_aStarCost.rst:135 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:135 +#: ../../build/doc/pgr_aStarCost.rst:143 msgid "" "From vertices :math:`\\{7, 2\\}` to vertex :math:`12` on a **directed** " "graph using heuristic :math:`0`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:145 +#: ../../build/doc/pgr_aStarCost.rst:153 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:153 +#: ../../build/doc/pgr_aStarCost.rst:161 msgid "" "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 12\\}` on a " "**directed** graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:160 +#: ../../build/doc/pgr_aStarCost.rst:171 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:179 +msgid "" +"Using a combinations table on a **directed** graph using heuristic " +":math:`2`." +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:187 msgid "Parameters" msgstr "" @@ -237,85 +261,97 @@ msgstr "" msgid "Parameter" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Type" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "**edges_sql**" +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:6 +#: ../../build/doc/pgr_aStar.rst:6 ../../build/doc/pgr_aStar.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "`edges_sql`_ inner query." +msgid "`Edges query` as described below." msgstr "" #: ../../build/doc/pgr_aStar.rst:7 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:7 +msgid "`Combinations query` as described below." +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:8 msgid "**from_vid**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:7 -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:8 +#: ../../build/doc/pgr_aStar.rst:18 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:7 +#: ../../build/doc/pgr_aStar.rst:8 msgid "Starting vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:9 ../../build/doc/pgr_aStar.rst:19 +#: ../../build/doc/pgr_aStar.rst:10 ../../build/doc/pgr_aStar.rst:20 msgid "`One to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:10 ../../build/doc/pgr_aStar.rst:24 +#: ../../build/doc/pgr_aStar.rst:11 ../../build/doc/pgr_aStar.rst:25 msgid "`One to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "**from_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:13 ../../build/doc/pgr_aStar.rst:23 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:14 ../../build/doc/pgr_aStar.rst:20 +#: ../../build/doc/pgr_aStar.rst:15 ../../build/doc/pgr_aStar.rst:21 msgid "`Many to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:15 ../../build/doc/pgr_aStar.rst:25 +#: ../../build/doc/pgr_aStar.rst:16 ../../build/doc/pgr_aStar.rst:26 msgid "`Many to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "**to_vid**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "Ending vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "**to_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:167 +#: ../../build/doc/pgr_aStarCost.rst:194 msgid "Optional Parameters" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Default" msgstr "" @@ -405,11 +441,15 @@ msgstr "" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:174 -msgid "Inner query" +#: ../../build/doc/pgr_aStarCost.rst:201 +msgid "Inner queries" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:204 +msgid "Edges query" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst ../../build/doc/pgr_aStarCost.rst:177 +#: ../../build/doc/pgRouting-concepts.rst msgid "edges_sql" msgstr "" @@ -419,6 +459,7 @@ msgid "" "columns:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "" @@ -431,18 +472,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -520,6 +565,7 @@ msgstr "" msgid "Y coordinate of `target` vertex." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" msgstr "" @@ -528,6 +574,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:27 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -540,7 +587,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:184 +#: ../../build/doc/pgr_aStarCost.rst:211 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:218 msgid "Result Columns" msgstr "" @@ -577,35 +628,35 @@ msgstr "" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:191 +#: ../../build/doc/pgr_aStarCost.rst:225 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:193 +#: ../../build/doc/pgr_aStarCost.rst:227 msgid ":doc:`aStar-family`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:194 +#: ../../build/doc/pgr_aStarCost.rst:228 msgid ":doc:`cost-category`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:195 +#: ../../build/doc/pgr_aStarCost.rst:229 msgid ":doc:`costMatrix-category`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:196 +#: ../../build/doc/pgr_aStarCost.rst:230 msgid "Examples use :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:199 +#: ../../build/doc/pgr_aStarCost.rst:233 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:200 +#: ../../build/doc/pgr_aStarCost.rst:234 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:201 +#: ../../build/doc/pgr_aStarCost.rst:235 msgid ":ref:`search`" msgstr "" @@ -621,3 +672,19 @@ msgstr "" #~ " the query." #~ msgstr "" +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0" +#~ " `__ " +#~ "`2.6 `__" +#~ msgstr "" + +#~ msgid "**edges_sql**" +#~ msgstr "" + +#~ msgid "`edges_sql`_ inner query." +#~ msgstr "" + +#~ msgid "Inner query" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdAstar.po b/locale/en/LC_MESSAGES/pgr_bdAstar.po index 3919e83800f..681ff8788bf 100644 --- a/locale/en/LC_MESSAGES/pgr_bdAstar.po +++ b/locale/en/LC_MESSAGES/pgr_bdAstar.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_bdAstar.rst:11 msgid "pgr_bdAstar" @@ -36,62 +36,75 @@ msgid "Availability:" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:26 -msgid "Version 2.5.0" +msgid "pgr_bdAstar(Combinations)" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:28 -msgid "Signature change on pgr_bdAstar(One to One)" +msgid "Version 3.0.0" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:30 -msgid "Old signature no longer supported" +msgid "**Official** function" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:32 -msgid "New **Proposed** functions:" +msgid "Version 2.5.0" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:34 +msgid "Signature change on pgr_bdAstar(One to One)" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:36 +msgid "Old signature no longer supported" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:38 +msgid "New **Proposed** functions:" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:40 msgid "pgr_bdAstar(One to Many)" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:35 +#: ../../build/doc/pgr_bdAstar.rst:41 msgid "pgr_bdAstar(Many to One)" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:36 +#: ../../build/doc/pgr_bdAstar.rst:42 msgid "pgr_bdAstar(Many to Many)" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:38 +#: ../../build/doc/pgr_bdAstar.rst:44 msgid "Version 2.0.0" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:40 +#: ../../build/doc/pgr_bdAstar.rst:46 msgid "**Official** pgr_bdAstar(One to One)" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:43 +#: ../../build/doc/pgr_bdAstar.rst:49 msgid "Support" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:44 +#: ../../build/doc/pgr_bdAstar.rst:50 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:49 +#: ../../build/doc/pgr_bdAstar.rst:56 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -103,12 +116,13 @@ msgid "" " `__" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_bdAstar.rst:58 +#: ../../build/doc/pgr_bdAstar.rst:65 msgid "Description" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:60 +#: ../../build/doc/pgr_bdAstar.rst:67 msgid "**The main characteristics are:**" msgstr "" @@ -180,43 +194,43 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:66 +#: ../../build/doc/pgr_bdAstar.rst:73 msgid "" "The results are equivalent to the union of the results of the " "`pgr_bdAStar(` `One to One`_ `)` on the:" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:68 +#: ../../build/doc/pgr_bdAstar.rst:75 msgid "`pgr_bdAstar(` `One to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:69 +#: ../../build/doc/pgr_bdAstar.rst:76 msgid "`pgr_bdAstar(` `Many to One`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:70 +#: ../../build/doc/pgr_bdAstar.rst:77 msgid "`pgr_bdAstar(` `Many to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:72 +#: ../../build/doc/pgr_bdAstar.rst:79 msgid "" "``start_vid`` and ``end_vid`` in the result is used to distinguish to " "which path it belongs." msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:75 +#: ../../build/doc/pgr_bdAstar.rst:82 msgid "Signature" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:78 +#: ../../build/doc/pgr_bdAstar.rst:85 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:89 +#: ../../build/doc/pgr_bdAstar.rst:97 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:92 +#: ../../build/doc/pgr_bdAstar.rst:100 msgid "Using defaults" msgstr "" @@ -224,51 +238,61 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:98 +#: ../../build/doc/pgr_bdAstar.rst:106 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:108 +#: ../../build/doc/pgr_bdAstar.rst:116 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:114 +#: ../../build/doc/pgr_bdAstar.rst:122 msgid "" "From vertex :math:`2` to vertex :math:`3` on a **directed** graph using " "heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:124 +#: ../../build/doc/pgr_bdAstar.rst:132 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:132 +#: ../../build/doc/pgr_bdAstar.rst:140 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " "graph using heuristic :math:`3` and factor :math:`3.5`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:142 +#: ../../build/doc/pgr_bdAstar.rst:150 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:150 +#: ../../build/doc/pgr_bdAstar.rst:158 msgid "" "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on an **undirected**" " graph using heuristic :math:`4`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:160 +#: ../../build/doc/pgr_bdAstar.rst:168 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:168 +#: ../../build/doc/pgr_bdAstar.rst:176 msgid "" "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** graph using factor :math:`0.5`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:175 +#: ../../build/doc/pgr_bdAstar.rst:186 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:194 +msgid "" +"Using a combinations table on a **directed** graph using factor " +":math:`0.5`." +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:202 msgid "Parameters" msgstr "" @@ -276,89 +300,101 @@ msgstr "" msgid "Parameter" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Type" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "**edges_sql**" +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:6 +#: ../../build/doc/pgr_aStar.rst:6 ../../build/doc/pgr_aStar.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "`edges_sql`_ inner query." +msgid "`Edges query` as described below." +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:7 +msgid "**Combinations SQL**" msgstr "" #: ../../build/doc/pgr_aStar.rst:7 +msgid "`Combinations query` as described below." +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:8 msgid "**from_vid**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:7 -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:8 +#: ../../build/doc/pgr_aStar.rst:18 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:7 +#: ../../build/doc/pgr_aStar.rst:8 msgid "Starting vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:9 ../../build/doc/pgr_aStar.rst:19 +#: ../../build/doc/pgr_aStar.rst:10 ../../build/doc/pgr_aStar.rst:20 msgid "`One to One`_" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst:21 ../../build/doc/pgr_aStar.rst:10 -#: ../../build/doc/pgr_aStar.rst:24 +#: ../../build/doc/pgRouting-concepts.rst:21 ../../build/doc/pgr_aStar.rst:11 +#: ../../build/doc/pgr_aStar.rst:25 msgid "`One to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "**from_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:13 ../../build/doc/pgr_aStar.rst:23 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst:14 ../../build/doc/pgr_aStar.rst:14 -#: ../../build/doc/pgr_aStar.rst:20 +#: ../../build/doc/pgRouting-concepts.rst:14 ../../build/doc/pgr_aStar.rst:15 +#: ../../build/doc/pgr_aStar.rst:21 msgid "`Many to One`_" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:15 -#: ../../build/doc/pgRouting-concepts.rst:22 ../../build/doc/pgr_aStar.rst:15 -#: ../../build/doc/pgr_aStar.rst:25 +#: ../../build/doc/pgRouting-concepts.rst:22 ../../build/doc/pgr_aStar.rst:16 +#: ../../build/doc/pgr_aStar.rst:26 msgid "`Many to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "**to_vid**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "Ending vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "**to_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:182 +#: ../../build/doc/pgr_bdAstar.rst:209 msgid "Optional Parameters" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Default" msgstr "" @@ -449,11 +485,15 @@ msgstr "" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:190 -msgid "Inner query" +#: ../../build/doc/pgr_bdAstar.rst:217 +msgid "Inner queries" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:220 +msgid "Edges query" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst ../../build/doc/pgr_bdAstar.rst:193 +#: ../../build/doc/pgRouting-concepts.rst msgid "edges_sql" msgstr "" @@ -463,6 +503,7 @@ msgid "" "columns:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "" @@ -475,18 +516,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -565,6 +610,7 @@ msgstr "" msgid "Y coordinate of `target` vertex." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" msgstr "" @@ -573,6 +619,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:27 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -585,7 +632,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:200 +#: ../../build/doc/pgr_bdAstar.rst:227 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:234 msgid "Result Columns" msgstr "" @@ -689,39 +740,55 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:207 +#: ../../build/doc/pgr_bdAstar.rst:241 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:209 +#: ../../build/doc/pgr_bdAstar.rst:243 msgid ":doc:`aStar-family`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:210 +#: ../../build/doc/pgr_bdAstar.rst:244 msgid ":doc:`bdAstar-family`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:211 +#: ../../build/doc/pgr_bdAstar.rst:245 msgid ":doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:212 +#: ../../build/doc/pgr_bdAstar.rst:246 msgid "https://www.boost.org/libs/graph/doc/astar_search.html" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:213 +#: ../../build/doc/pgr_bdAstar.rst:247 msgid "https://en.wikipedia.org/wiki/A*_search_algorithm" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:216 +#: ../../build/doc/pgr_bdAstar.rst:250 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:217 +#: ../../build/doc/pgr_bdAstar.rst:251 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:218 +#: ../../build/doc/pgr_bdAstar.rst:252 msgid ":ref:`search`" msgstr "" +#~ msgid "**edges_sql**" +#~ msgstr "" + +#~ msgid "`edges_sql`_ inner query." +#~ msgstr "" + +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0" +#~ " `__ `2.6" +#~ " `__" +#~ msgstr "" + +#~ msgid "Inner query" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdAstarCost.po b/locale/en/LC_MESSAGES/pgr_bdAstarCost.po index 95c866e7cad..2231af9c337 100644 --- a/locale/en/LC_MESSAGES/pgr_bdAstarCost.po +++ b/locale/en/LC_MESSAGES/pgr_bdAstarCost.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,37 +36,51 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:26 -msgid "Version 2.5.0" +msgid "pgr_bdAstarCost(Combinations)" msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:28 -msgid "New **Proposed** function" +msgid "Version 3.0.0" msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:32 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:34 +msgid "New **Proposed** function" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:36 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:35 +#: ../../build/doc/pgr_bdAstarCost.rst:42 msgid "" "**Unsupported versions:** `2.5 " "`__" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_bdAstarCost.rst:39 +#: ../../build/doc/pgr_bdAstarCost.rst:46 msgid "Description" msgstr "" @@ -138,37 +152,37 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:45 +#: ../../build/doc/pgr_bdAstarCost.rst:52 msgid "" "The results are equivalent to the union of the results of the " "`pgr_bdAstarCost(` `One to One`_ `)` on the:" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:47 +#: ../../build/doc/pgr_bdAstarCost.rst:54 msgid "`pgr_bdAstarCost(` `One to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:48 +#: ../../build/doc/pgr_bdAstarCost.rst:55 msgid "`pgr_bdAstarCost(` `Many to One`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:49 +#: ../../build/doc/pgr_bdAstarCost.rst:56 msgid "`pgr_bdAstarCost(` `Many to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:52 +#: ../../build/doc/pgr_bdAstarCost.rst:59 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:55 +#: ../../build/doc/pgr_bdAstarCost.rst:62 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:66 +#: ../../build/doc/pgr_bdAstarCost.rst:74 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:69 +#: ../../build/doc/pgr_bdAstarCost.rst:77 msgid "Using defaults" msgstr "" @@ -176,51 +190,61 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:76 +#: ../../build/doc/pgr_bdAstarCost.rst:84 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:86 +#: ../../build/doc/pgr_bdAstarCost.rst:94 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:94 +#: ../../build/doc/pgr_bdAstarCost.rst:102 msgid "" "From vertex :math:`2` to vertex :math:`3` on an **directed** graph using " "heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:104 +#: ../../build/doc/pgr_bdAstarCost.rst:112 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:112 +#: ../../build/doc/pgr_bdAstarCost.rst:120 msgid "" "From vertex `2` to vertices :math:`\\{3, 11\\}` on a **directed** graph " "using heuristic `3` and factor :math:`3.5`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:122 +#: ../../build/doc/pgr_bdAstarCost.rst:130 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:130 +#: ../../build/doc/pgr_bdAstarCost.rst:138 msgid "" "From vertices :math:`\\{7, 2\\}` to vertex :math:`3` on a **undirected** " "graph using heuristic :math:`4`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:140 +#: ../../build/doc/pgr_bdAstarCost.rst:148 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:148 +#: ../../build/doc/pgr_bdAstarCost.rst:156 msgid "" "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** using heuristic :math:`5` and factor :math:`0.5`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:155 +#: ../../build/doc/pgr_bdAstarCost.rst:163 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:171 +msgid "" +"Using a combinations table on a **directed** graph using factor " +":math:`0.5`." +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:179 msgid "Parameters" msgstr "" @@ -228,85 +252,97 @@ msgstr "" msgid "Parameter" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Type" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "**edges_sql**" +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:6 +#: ../../build/doc/pgr_aStar.rst:6 ../../build/doc/pgr_aStar.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "`edges_sql`_ inner query." +msgid "`Edges query` as described below." msgstr "" #: ../../build/doc/pgr_aStar.rst:7 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:7 +msgid "`Combinations query` as described below." +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:8 msgid "**from_vid**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:7 -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:8 +#: ../../build/doc/pgr_aStar.rst:18 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:7 +#: ../../build/doc/pgr_aStar.rst:8 msgid "Starting vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:9 ../../build/doc/pgr_aStar.rst:19 +#: ../../build/doc/pgr_aStar.rst:10 ../../build/doc/pgr_aStar.rst:20 msgid "`One to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:10 ../../build/doc/pgr_aStar.rst:24 +#: ../../build/doc/pgr_aStar.rst:11 ../../build/doc/pgr_aStar.rst:25 msgid "`One to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "**from_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:13 ../../build/doc/pgr_aStar.rst:23 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:14 ../../build/doc/pgr_aStar.rst:20 +#: ../../build/doc/pgr_aStar.rst:15 ../../build/doc/pgr_aStar.rst:21 msgid "`Many to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:15 ../../build/doc/pgr_aStar.rst:25 +#: ../../build/doc/pgr_aStar.rst:16 ../../build/doc/pgr_aStar.rst:26 msgid "`Many to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "**to_vid**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "Ending vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "**to_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:162 +#: ../../build/doc/pgr_bdAstarCost.rst:186 msgid "Optional Parameters" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Default" msgstr "" @@ -396,12 +432,15 @@ msgstr "" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:170 -msgid "Inner query" +#: ../../build/doc/pgr_bdAstarCost.rst:194 +msgid "Inner queries" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:197 +msgid "Edges query" msgstr "" #: ../../build/doc/pgRouting-concepts.rst -#: ../../build/doc/pgr_bdAstarCost.rst:173 msgid "edges_sql" msgstr "" @@ -411,6 +450,7 @@ msgid "" "columns:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "" @@ -423,18 +463,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -512,6 +556,7 @@ msgstr "" msgid "Y coordinate of `target` vertex." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" msgstr "" @@ -520,6 +565,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:27 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -532,7 +578,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:180 +#: ../../build/doc/pgr_bdAstarCost.rst:204 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:211 msgid "Result Columns" msgstr "" @@ -569,35 +619,35 @@ msgstr "" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:187 +#: ../../build/doc/pgr_bdAstarCost.rst:218 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:189 +#: ../../build/doc/pgr_bdAstarCost.rst:220 msgid ":doc:`bdAstar-family`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:190 +#: ../../build/doc/pgr_bdAstarCost.rst:221 msgid ":doc:`cost-category`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:191 +#: ../../build/doc/pgr_bdAstarCost.rst:222 msgid ":doc:`costMatrix-category`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:192 +#: ../../build/doc/pgr_bdAstarCost.rst:223 msgid "Examples use :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:195 +#: ../../build/doc/pgr_bdAstarCost.rst:226 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:196 +#: ../../build/doc/pgr_bdAstarCost.rst:227 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:197 +#: ../../build/doc/pgr_bdAstarCost.rst:228 msgid ":ref:`search`" msgstr "" @@ -613,3 +663,19 @@ msgstr "" #~ " the query." #~ msgstr "" +#~ msgid "**edges_sql**" +#~ msgstr "" + +#~ msgid "`edges_sql`_ inner query." +#~ msgstr "" + +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) " +#~ "`3.0 `__" +#~ " `2.6 `__" +#~ msgstr "" + +#~ msgid "Inner query" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdDijkstra.po b/locale/en/LC_MESSAGES/pgr_bdDijkstra.po index 3281f70eb2f..acc83ee483a 100644 --- a/locale/en/LC_MESSAGES/pgr_bdDijkstra.po +++ b/locale/en/LC_MESSAGES/pgr_bdDijkstra.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "pgr_bdDijkstra" @@ -36,66 +36,79 @@ msgid "Availability:" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:26 -msgid "Version 2.5.0" +msgid "pgr_bdDijkstra(Combinations)" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:28 -msgid "New **Proposed** functions:" +msgid "Version 3.0.0" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:32 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:34 +msgid "New **Proposed** functions:" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:36 msgid "pgr_bdDijkstra(One to Many)" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:31 +#: ../../build/doc/pgr_bdDijkstra.rst:37 msgid "pgr_bdDijkstra(Many to One)" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:32 +#: ../../build/doc/pgr_bdDijkstra.rst:38 msgid "pgr_bdDijkstra(Many to Many)" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:34 +#: ../../build/doc/pgr_bdDijkstra.rst:40 msgid "Version 2.4.0" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:36 +#: ../../build/doc/pgr_bdDijkstra.rst:42 msgid "Signature change on pgr_bdDijsktra(One to One)" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:38 +#: ../../build/doc/pgr_bdDijkstra.rst:44 msgid "Old signature no longer supported" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:40 +#: ../../build/doc/pgr_bdDijkstra.rst:46 msgid "Version 2.0.0" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:42 +#: ../../build/doc/pgr_bdDijkstra.rst:48 msgid "**Official** pgr_bdDijkstra(One to One)" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:45 +#: ../../build/doc/pgr_bdDijkstra.rst:51 msgid "Support" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:46 +#: ../../build/doc/pgr_bdDijkstra.rst:52 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:51 +#: ../../build/doc/pgr_bdDijkstra.rst:58 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -111,11 +124,11 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bdDijkstra.rst:60 ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:67 ../../build/doc/pgr_bdDijkstra.rst:198 msgid "Description" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:62 +#: ../../build/doc/pgr_bdDijkstra.rst:69 msgid "**The main characteristics are:**" msgstr "" @@ -159,15 +172,15 @@ msgstr "" msgid "It is expected to terminate faster than pgr_dijkstra" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:69 +#: ../../build/doc/pgr_bdDijkstra.rst:76 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:72 +#: ../../build/doc/pgr_bdDijkstra.rst:79 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:84 +#: ../../build/doc/pgr_bdDijkstra.rst:92 msgid "Using defaults" msgstr "" @@ -175,81 +188,98 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:91 +#: ../../build/doc/pgr_bdDijkstra.rst:99 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:101 +#: ../../build/doc/pgr_bdDijkstra.rst:109 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:109 +#: ../../build/doc/pgr_bdDijkstra.rst:117 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:119 +#: ../../build/doc/pgr_bdDijkstra.rst:127 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:127 +#: ../../build/doc/pgr_bdDijkstra.rst:135 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " "graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:137 +#: ../../build/doc/pgr_bdDijkstra.rst:145 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:145 +#: ../../build/doc/pgr_bdDijkstra.rst:153 msgid "" "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** " "graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:155 +#: ../../build/doc/pgr_bdDijkstra.rst:163 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:163 +#: ../../build/doc/pgr_bdDijkstra.rst:171 msgid "" "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:170 +#: ../../build/doc/pgr_bdDijkstra.rst:178 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:186 +msgid "Using a combinations table on a **directed** graph." +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:193 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:198 msgid "Parameter" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:198 msgid "Type" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:198 msgid "Default" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:177 +#: ../../build/doc/pgr_bdDijkstra.rst:200 msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:177 +#: ../../build/doc/pgr_bdDijkstra.rst:200 +#: ../../build/doc/pgr_bdDijkstra.rst:201 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:177 -msgid "`Edges query`_ as described below" +#: ../../build/doc/pgr_bdDijkstra.rst:200 +msgid "`Edges query` as described below" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:201 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:201 +msgid "`Combinations query` as described below" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 -#: ../../build/doc/pgr_bdDijkstra.rst:178 +#: ../../build/doc/pgr_bdDijkstra.rst:202 msgid "**start_vid**" msgstr "" @@ -257,70 +287,70 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 -#: ../../build/doc/pgr_bdDijkstra.rst:178 -#: ../../build/doc/pgr_bdDijkstra.rst:180 +#: ../../build/doc/pgr_bdDijkstra.rst:202 +#: ../../build/doc/pgr_bdDijkstra.rst:204 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:178 +#: ../../build/doc/pgr_bdDijkstra.rst:202 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:179 +#: ../../build/doc/pgr_bdDijkstra.rst:203 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:179 -#: ../../build/doc/pgr_bdDijkstra.rst:181 +#: ../../build/doc/pgr_bdDijkstra.rst:203 +#: ../../build/doc/pgr_bdDijkstra.rst:205 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:179 +#: ../../build/doc/pgr_bdDijkstra.rst:203 msgid "Array of identifiers of starting vertices." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 -#: ../../build/doc/pgr_bdDijkstra.rst:180 +#: ../../build/doc/pgr_bdDijkstra.rst:204 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:180 +#: ../../build/doc/pgr_bdDijkstra.rst:204 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:181 +#: ../../build/doc/pgr_bdDijkstra.rst:205 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:181 +#: ../../build/doc/pgr_bdDijkstra.rst:205 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:183 +#: ../../build/doc/pgr_bdDijkstra.rst:207 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:189 -msgid "Inner query" +#: ../../build/doc/pgr_bdDijkstra.rst:213 +msgid "Inner queries" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:192 +#: ../../build/doc/pgr_bdDijkstra.rst:216 msgid "Edges query" msgstr "" @@ -343,18 +373,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -397,6 +431,7 @@ msgid "" " part of the graph." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "" @@ -405,6 +440,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -417,7 +453,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:199 +#: ../../build/doc/pgr_bdDijkstra.rst:223 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:230 msgid "Result Columns" msgstr "" @@ -524,36 +564,49 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:206 +#: ../../build/doc/pgr_bdDijkstra.rst:237 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:208 +#: ../../build/doc/pgr_bdDijkstra.rst:239 msgid "The queries use the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:209 +#: ../../build/doc/pgr_bdDijkstra.rst:240 msgid ":doc:`bdDijkstra-family`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:210 +#: ../../build/doc/pgr_bdDijkstra.rst:241 #, python-format msgid "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:211 +#: ../../build/doc/pgr_bdDijkstra.rst:242 msgid "https://en.wikipedia.org/wiki/Bidirectional_search" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:214 +#: ../../build/doc/pgr_bdDijkstra.rst:245 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:215 +#: ../../build/doc/pgr_bdDijkstra.rst:246 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:216 +#: ../../build/doc/pgr_bdDijkstra.rst:247 msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0" +#~ " `__ " +#~ "`2.6 `__" +#~ msgstr "" + +#~ msgid "`Edges query`_ as described below" +#~ msgstr "" + +#~ msgid "Inner query" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po b/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po index ce5640901ea..a744c1ee1d9 100644 --- a/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po +++ b/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,34 +36,47 @@ msgid "Availability:" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:26 -msgid "Version 2.5.0" +msgid "pgr_bdDijkstraCost(Combinations)" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:28 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:32 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:34 msgid "New **proposed** function" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:31 +#: ../../build/doc/pgr_bdDijkstraCost.rst:37 msgid "Support" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:32 +#: ../../build/doc/pgr_bdDijkstraCost.rst:38 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:37 +#: ../../build/doc/pgr_bdDijkstraCost.rst:44 msgid "" "**Unsupported versions:** `2.5 " "`__" @@ -72,11 +85,11 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgr_bdDijkstra.rst:4 -#: ../../build/doc/pgr_bdDijkstraCost.rst:42 +#: ../../build/doc/pgr_bdDijkstraCost.rst:49 msgid "Description" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:44 +#: ../../build/doc/pgr_bdDijkstraCost.rst:51 msgid "**The main characteristics are:**" msgstr "" @@ -120,15 +133,15 @@ msgstr "" msgid "It is expected to terminate faster than pgr_dijkstra" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:51 +#: ../../build/doc/pgr_bdDijkstraCost.rst:58 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:54 +#: ../../build/doc/pgr_bdDijkstraCost.rst:61 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:66 +#: ../../build/doc/pgr_bdDijkstraCost.rst:74 msgid "Using default" msgstr "" @@ -136,49 +149,57 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:73 +#: ../../build/doc/pgr_bdDijkstraCost.rst:81 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:83 +#: ../../build/doc/pgr_bdDijkstraCost.rst:91 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:91 +#: ../../build/doc/pgr_bdDijkstraCost.rst:99 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:101 +#: ../../build/doc/pgr_bdDijkstraCost.rst:109 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:109 +#: ../../build/doc/pgr_bdDijkstraCost.rst:117 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " "graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:119 +#: ../../build/doc/pgr_bdDijkstraCost.rst:127 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:127 +#: ../../build/doc/pgr_bdDijkstraCost.rst:135 msgid "" "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** " "graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:137 +#: ../../build/doc/pgr_bdDijkstraCost.rst:145 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:145 +#: ../../build/doc/pgr_bdDijkstraCost.rst:153 msgid "" "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:152 +#: ../../build/doc/pgr_bdDijkstraCost.rst:160 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:168 +msgid "Using a combinations table on a **directed** graph." +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:175 msgid "Parameters" msgstr "" @@ -201,83 +222,91 @@ msgstr "" msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:6 ../../build/doc/pgr_bdDijkstra.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:6 -msgid "`Edges query`_ as described below" +msgid "`Edges query` as described below" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "**Combinations SQL**" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "`Combinations query` as described below" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "**start_vid**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_bdDijkstra.rst:7 ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:8 ../../build/doc/pgr_bdDijkstra.rst:10 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:7 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:9 ../../build/doc/pgr_bdDijkstra.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "Array of identifiers of starting vertices." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:12 +#: ../../build/doc/pgr_bdDijkstra.rst:13 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:159 -msgid "Inner query" +#: ../../build/doc/pgr_bdDijkstraCost.rst:182 +msgid "Inner queries" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:162 +#: ../../build/doc/pgr_bdDijkstraCost.rst:185 msgid "Edges query" msgstr "" @@ -300,18 +329,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -353,6 +386,7 @@ msgid "" " part of the graph." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "" @@ -361,6 +395,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -373,7 +408,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:169 +#: ../../build/doc/pgr_bdDijkstraCost.rst:192 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:199 msgid "Result Columns" msgstr "" @@ -401,36 +440,36 @@ msgstr "" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:176 +#: ../../build/doc/pgr_bdDijkstraCost.rst:206 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:178 +#: ../../build/doc/pgr_bdDijkstraCost.rst:208 msgid "The queries use the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:179 +#: ../../build/doc/pgr_bdDijkstraCost.rst:209 msgid ":doc:`pgr_bdDijkstra`" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:180 +#: ../../build/doc/pgr_bdDijkstraCost.rst:210 #, python-format msgid "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:181 +#: ../../build/doc/pgr_bdDijkstraCost.rst:211 msgid "https://en.wikipedia.org/wiki/Bidirectional_search" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:184 +#: ../../build/doc/pgr_bdDijkstraCost.rst:214 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:185 +#: ../../build/doc/pgr_bdDijkstraCost.rst:215 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:186 +#: ../../build/doc/pgr_bdDijkstraCost.rst:216 msgid ":ref:`search`" msgstr "" @@ -446,3 +485,17 @@ msgstr "" #~ " the query." #~ msgstr "" +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) " +#~ "`3.0 " +#~ "`__ " +#~ "`2.6 `__" +#~ msgstr "" + +#~ msgid "`Edges query`_ as described below" +#~ msgstr "" + +#~ msgid "Inner query" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po b/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po index 4f3bb656268..9c609662c71 100644 --- a/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po +++ b/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_edgeDisjointPaths.rst:11 msgid "pgr_edgeDisjointPaths" @@ -199,16 +199,24 @@ msgstr "" msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:6 ../../build/doc/pgr_bdDijkstra.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:6 -msgid "`Edges query`_ as described below" +msgid "`Edges query` as described below" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "**Combinations SQL**" msgstr "" -#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "`Combinations query` as described below" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "**start_vid**" msgstr "" @@ -216,60 +224,60 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 -#: ../../build/doc/pgr_bdDijkstra.rst:7 ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:8 ../../build/doc/pgr_bdDijkstra.rst:10 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:7 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:9 ../../build/doc/pgr_bdDijkstra.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "Array of identifiers of starting vertices." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:12 +#: ../../build/doc/pgr_bdDijkstra.rst:13 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" @@ -501,3 +509,6 @@ msgstr "" msgid ":ref:`search`" msgstr "" +#~ msgid "`Edges query`_ as described below" +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_withPoints.po b/locale/en/LC_MESSAGES/pgr_withPoints.po index 8fc7289178f..d3f6bfdfc90 100644 --- a/locale/en/LC_MESSAGES/pgr_withPoints.po +++ b/locale/en/LC_MESSAGES/pgr_withPoints.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_withPoints.rst:11 msgid "pgr_withPoints - Proposed" @@ -72,25 +72,38 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_withPoints.rst:26 -msgid "Version 2.2.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_withPoints.rst:28 +msgid "New **proposed** function:" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:30 +msgid "pgr_withPoints(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:32 +msgid "Version 2.2.0" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:34 msgid "New **proposed** function" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:31 +#: ../../build/doc/pgr_withPoints.rst:37 msgid "Support" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:32 +#: ../../build/doc/pgr_withPoints.rst:38 msgid "" -"**Supported versions:** current(`3.1 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " "`__) `3.0 " "`__" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:36 +#: ../../build/doc/pgr_withPoints.rst:43 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -103,76 +116,76 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:44 ../../build/doc/pgr_withPoints.rst:174 -#: ../../build/doc/pgr_withPoints.rst:210 +#: ../../build/doc/pgr_withPoints.rst:51 ../../build/doc/pgr_withPoints.rst:200 +#: ../../build/doc/pgr_withPoints.rst:250 msgid "Description" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:46 +#: ../../build/doc/pgr_withPoints.rst:53 msgid "" "Modify the graph to include points defined by points_sql. Using Dijkstra " "algorithm, find the shortest path(s)" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:49 +#: ../../build/doc/pgr_withPoints.rst:56 msgid "**The main characteristics are:**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:51 +#: ../../build/doc/pgr_withPoints.rst:58 msgid "Process is done only on edges with positive costs." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:52 +#: ../../build/doc/pgr_withPoints.rst:59 msgid "Vertices of the graph are:" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:54 +#: ../../build/doc/pgr_withPoints.rst:61 msgid "**positive** when it belongs to the edges_sql" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:55 +#: ../../build/doc/pgr_withPoints.rst:62 msgid "**negative** when it belongs to the points_sql" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:57 +#: ../../build/doc/pgr_withPoints.rst:64 msgid "Values are returned when there is a path." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:59 +#: ../../build/doc/pgr_withPoints.rst:66 msgid "" "When the starting vertex and ending vertex are the same, there is no " "path. - The agg_cost the non included values (v, v) is 0" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:62 +#: ../../build/doc/pgr_withPoints.rst:69 msgid "" "When the starting vertex and ending vertex are the different and there is" " no path: - The agg_cost the non included values (u, v) is ∞" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:65 +#: ../../build/doc/pgr_withPoints.rst:72 msgid "" "For optimization purposes, any duplicated value in the start_vids or " "end_vids are ignored." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:66 +#: ../../build/doc/pgr_withPoints.rst:73 msgid "The returned values are ordered: - start_vid ascending - end_vid ascending" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:70 +#: ../../build/doc/pgr_withPoints.rst:77 msgid "Running time: :math:`O(|start\\_vids|\\times(V \\log V + E))`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:73 +#: ../../build/doc/pgr_withPoints.rst:80 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:76 +#: ../../build/doc/pgr_withPoints.rst:83 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:86 +#: ../../build/doc/pgr_withPoints.rst:94 msgid "Using defaults" msgstr "" @@ -180,98 +193,118 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:92 +#: ../../build/doc/pgr_withPoints.rst:100 msgid "From point :math:`1` to point :math:`3`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:94 +#: ../../build/doc/pgr_withPoints.rst:102 msgid "For a **directed** graph." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:95 +#: ../../build/doc/pgr_withPoints.rst:103 msgid "" "The driving side is set as **b** both. So arriving/departing to/from the " "point(s) can be in any direction." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:96 +#: ../../build/doc/pgr_withPoints.rst:104 msgid "" "No **details** are given about distance of other points of points_sql " "query." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:106 +#: ../../build/doc/pgr_withPoints.rst:114 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:113 +#: ../../build/doc/pgr_withPoints.rst:121 msgid "From point :math:`1` to vertex :math:`3` with details of passing points" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:123 +#: ../../build/doc/pgr_withPoints.rst:131 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:130 +#: ../../build/doc/pgr_withPoints.rst:138 msgid "From point :math:`1` to point :math:`3` and vertex :math:`5`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:140 +#: ../../build/doc/pgr_withPoints.rst:148 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:147 +#: ../../build/doc/pgr_withPoints.rst:155 msgid "From point :math:`1` and vertex :math:`2` to point :math:`3`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:157 +#: ../../build/doc/pgr_withPoints.rst:165 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:164 +#: ../../build/doc/pgr_withPoints.rst:172 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:171 +#: ../../build/doc/pgr_withPoints.rst:182 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:189 +msgid "" +"Two (source, target) combinations: (from point :math:`1` to vertex " +":math:`3`), and (from vertex :math:`2` to point :math:`3`) with **right**" +" side driving topology." +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:197 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:174 +#: ../../build/doc/pgr_withPoints.rst:200 msgid "Parameter" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:174 -#: ../../build/doc/pgr_withPoints.rst:210 +#: ../../build/doc/pgr_withPoints.rst:200 +#: ../../build/doc/pgr_withPoints.rst:250 msgid "Type" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:176 -msgid "**edges_sql**" +#: ../../build/doc/pgr_withPoints.rst:202 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:176 -#: ../../build/doc/pgr_withPoints.rst:177 +#: ../../build/doc/pgr_withPoints.rst:202 +#: ../../build/doc/pgr_withPoints.rst:203 +#: ../../build/doc/pgr_withPoints.rst:204 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:176 -msgid "Edges SQL query as described above." +#: ../../build/doc/pgr_withPoints.rst:202 +msgid "`Edges query` as described above." +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:203 +msgid "**Points SQL**" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:203 +msgid "`Points query` as described above." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:177 -msgid "**points_sql**" +#: ../../build/doc/pgr_withPoints.rst:204 +msgid "**Combinations SQL**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:177 -msgid "Points SQL query as described above." +#: ../../build/doc/pgr_withPoints.rst:204 +msgid "`Combinations query` as described below." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:178 -#: ../../build/doc/pgr_withPoints.rst:214 +#: ../../build/doc/pgr_withPoints.rst:205 +#: ../../build/doc/pgr_withPoints.rst:254 msgid "**start_vid**" msgstr "" @@ -280,109 +313,113 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:15 -#: ../../build/doc/pgr_withPoints.rst:178 -#: ../../build/doc/pgr_withPoints.rst:179 +#: ../../build/doc/pgr_withPoints.rst:205 +#: ../../build/doc/pgr_withPoints.rst:206 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:178 +#: ../../build/doc/pgr_withPoints.rst:205 msgid "Starting vertex identifier. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:179 -#: ../../build/doc/pgr_withPoints.rst:215 +#: ../../build/doc/pgr_withPoints.rst:206 +#: ../../build/doc/pgr_withPoints.rst:255 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:179 +#: ../../build/doc/pgr_withPoints.rst:206 msgid "Ending vertex identifier. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:180 +#: ../../build/doc/pgr_withPoints.rst:207 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:180 -#: ../../build/doc/pgr_withPoints.rst:181 +#: ../../build/doc/pgr_withPoints.rst:207 +#: ../../build/doc/pgr_withPoints.rst:208 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:180 +#: ../../build/doc/pgr_withPoints.rst:207 msgid "" "Array of identifiers of starting vertices. When negative: is a point's " "pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:181 +#: ../../build/doc/pgr_withPoints.rst:208 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:181 +#: ../../build/doc/pgr_withPoints.rst:208 msgid "Array of identifiers of ending vertices. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:182 +#: ../../build/doc/pgr_withPoints.rst:209 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:182 -#: ../../build/doc/pgr_withPoints.rst:188 +#: ../../build/doc/pgr_withPoints.rst:209 +#: ../../build/doc/pgr_withPoints.rst:215 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:182 +#: ../../build/doc/pgr_withPoints.rst:209 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default" " is ``true`` which considers the graph as Directed." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:183 +#: ../../build/doc/pgr_withPoints.rst:210 msgid "**driving_side**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:17 -#: ../../build/doc/pgr_withPoints.rst:183 +#: ../../build/doc/pgr_withPoints.rst:210 msgid "``CHAR``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:186 +#: ../../build/doc/pgr_withPoints.rst:213 msgid "" "(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side " "is:" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:184 +#: ../../build/doc/pgr_withPoints.rst:211 msgid "In the right or left or" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:20 -#: ../../build/doc/pgr_withPoints.rst:185 +#: ../../build/doc/pgr_withPoints.rst:212 msgid "If it doesn't matter with 'b' or NULL." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 -#: ../../build/doc/pgr_withPoints.rst:186 +#: ../../build/doc/pgr_withPoints.rst:213 msgid "If column not present 'b' is considered." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:188 +#: ../../build/doc/pgr_withPoints.rst:215 msgid "**details**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:188 +#: ../../build/doc/pgr_withPoints.rst:215 msgid "" "(optional). When ``true`` the results will include the points in " "points_sql that are in the path. Default is ``false`` which ignores other" " points of the points_sql." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:193 +#: ../../build/doc/pgr_withPoints.rst:220 msgid "Inner query" msgstr "" +#: ../../build/doc/pgr_withPoints.rst:226 +msgid "Edges query" +msgstr "" + #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:210 +#: ../../build/doc/pgr_withPoints.rst:250 msgid "Column" msgstr "" @@ -398,24 +435,28 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_withPoints.rst:223 +#: ../../build/doc/pgr_withPoints.rst:263 msgid "**cost**" msgstr "" @@ -453,6 +494,7 @@ msgid "" " part of the graph." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" @@ -462,6 +504,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -474,6 +517,10 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" +#: ../../build/doc/pgr_withPoints.rst:233 +msgid "Points query" +msgstr "" + #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Description of the Points SQL query" msgstr "" @@ -544,146 +591,168 @@ msgstr "" msgid "smallint, int, bigint, real, float" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:207 +#: ../../build/doc/pgr_withPoints.rst:240 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:247 msgid "Result Columns" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:212 +#: ../../build/doc/pgr_withPoints.rst:252 msgid "**seq**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:212 -#: ../../build/doc/pgr_withPoints.rst:213 +#: ../../build/doc/pgr_withPoints.rst:252 +#: ../../build/doc/pgr_withPoints.rst:253 msgid "``INTEGER``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:212 +#: ../../build/doc/pgr_withPoints.rst:252 msgid "Row sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:213 +#: ../../build/doc/pgr_withPoints.rst:253 msgid "**path_seq**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:213 +#: ../../build/doc/pgr_withPoints.rst:253 msgid "Path sequence that indicates the relative position on the path." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:214 -#: ../../build/doc/pgr_withPoints.rst:215 -#: ../../build/doc/pgr_withPoints.rst:216 -#: ../../build/doc/pgr_withPoints.rst:220 +#: ../../build/doc/pgr_withPoints.rst:254 +#: ../../build/doc/pgr_withPoints.rst:255 +#: ../../build/doc/pgr_withPoints.rst:256 +#: ../../build/doc/pgr_withPoints.rst:260 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:214 +#: ../../build/doc/pgr_withPoints.rst:254 msgid "Identifier of the starting vertex. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:215 +#: ../../build/doc/pgr_withPoints.rst:255 msgid "Identifier of the ending vertex. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:216 +#: ../../build/doc/pgr_withPoints.rst:256 msgid "**node**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:218 +#: ../../build/doc/pgr_withPoints.rst:258 msgid "Identifier of the node:" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:217 +#: ../../build/doc/pgr_withPoints.rst:257 msgid "A positive value indicates the node is a vertex of edges_sql." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:218 +#: ../../build/doc/pgr_withPoints.rst:258 msgid "A negative value indicates the node is a point of points_sql." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:220 +#: ../../build/doc/pgr_withPoints.rst:260 msgid "**edge**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:221 +#: ../../build/doc/pgr_withPoints.rst:261 msgid "" "Identifier of the edge used to go from ``node`` to the next node in the " "path sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:221 +#: ../../build/doc/pgr_withPoints.rst:261 msgid "``-1`` for the last row in the path sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:223 -#: ../../build/doc/pgr_withPoints.rst:226 +#: ../../build/doc/pgr_withPoints.rst:263 +#: ../../build/doc/pgr_withPoints.rst:266 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:224 +#: ../../build/doc/pgr_withPoints.rst:264 msgid "" "Cost to traverse from ``node`` using ``edge`` to the next ``node`` in the" " path sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:224 +#: ../../build/doc/pgr_withPoints.rst:264 msgid "``0`` for the last row in the path sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:226 +#: ../../build/doc/pgr_withPoints.rst:266 msgid "**agg_cost**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:227 +#: ../../build/doc/pgr_withPoints.rst:267 msgid "Aggregate cost from ``start_pid`` to ``node``." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:227 +#: ../../build/doc/pgr_withPoints.rst:267 msgid "``0`` for the first row in the path sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:232 +#: ../../build/doc/pgr_withPoints.rst:272 msgid "Additional Examples" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:234 +#: ../../build/doc/pgr_withPoints.rst:274 msgid "" "Which path (if any) passes in front of point :math:`6` or vertex " ":math:`6` with **right** side driving topology." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:240 +#: ../../build/doc/pgr_withPoints.rst:280 msgid "" "Which path (if any) passes in front of point :math:`6` or vertex " ":math:`6` with **left** side driving topology." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:246 +#: ../../build/doc/pgr_withPoints.rst:286 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` to vertex " ":math:`7` on an **undirected** graph, with details." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:252 +#: ../../build/doc/pgr_withPoints.rst:292 msgid "The queries use the :doc:`sampledata` network" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:255 +#: ../../build/doc/pgr_withPoints.rst:295 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:257 +#: ../../build/doc/pgr_withPoints.rst:297 msgid ":doc:`withPoints-family`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:260 +#: ../../build/doc/pgr_withPoints.rst:300 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:261 +#: ../../build/doc/pgr_withPoints.rst:301 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:262 +#: ../../build/doc/pgr_withPoints.rst:302 msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0" +#~ " `__" +#~ msgstr "" + +#~ msgid "**edges_sql**" +#~ msgstr "" + +#~ msgid "Edges SQL query as described above." +#~ msgstr "" + +#~ msgid "**points_sql**" +#~ msgstr "" + +#~ msgid "Points SQL query as described above." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/pgr_withPointsCost.po b/locale/en/LC_MESSAGES/pgr_withPointsCost.po index 320f6beeb8e..2d9ec26effc 100644 --- a/locale/en/LC_MESSAGES/pgr_withPointsCost.po +++ b/locale/en/LC_MESSAGES/pgr_withPointsCost.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_withPointsCost.rst:11 msgid "pgr_withPointsCost - Proposed" @@ -73,25 +73,38 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:26 -msgid "Version 2.2.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:28 +msgid "New **proposed** function:" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:30 +msgid "pgr_withPointsCost(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:32 +msgid "Version 2.2.0" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:34 msgid "New **proposed** function" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:31 +#: ../../build/doc/pgr_withPointsCost.rst:37 msgid "Support" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:32 +#: ../../build/doc/pgr_withPointsCost.rst:38 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:36 +#: ../../build/doc/pgr_withPointsCost.rst:43 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -104,127 +117,127 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:44 -#: ../../build/doc/pgr_withPointsCost.rst:193 -#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgr_withPointsCost.rst:51 +#: ../../build/doc/pgr_withPointsCost.rst:220 +#: ../../build/doc/pgr_withPointsCost.rst:267 msgid "Description" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:46 +#: ../../build/doc/pgr_withPointsCost.rst:53 msgid "" "Modify the graph to include points defined by points_sql. Using Dijkstra " "algorithm, return only the aggregate cost of the shortest path(s) found." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:84 +#: ../../build/doc/pgr_withPointsCost.rst:91 msgid "The main characteristics are:" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:50 +#: ../../build/doc/pgr_withPointsCost.rst:57 msgid "It does not return a path." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:51 +#: ../../build/doc/pgr_withPointsCost.rst:58 msgid "" "Returns the sum of the costs of the shortest path for pair combination of" " vertices in the modified graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:52 +#: ../../build/doc/pgr_withPointsCost.rst:59 msgid "Vertices of the graph are:" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:54 +#: ../../build/doc/pgr_withPointsCost.rst:61 msgid "**positive** when it belongs to the edges_sql" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:55 +#: ../../build/doc/pgr_withPointsCost.rst:62 msgid "**negative** when it belongs to the points_sql" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:57 +#: ../../build/doc/pgr_withPointsCost.rst:64 msgid "Process is done only on edges with positive costs." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:58 +#: ../../build/doc/pgr_withPointsCost.rst:65 msgid "Values are returned when there is a path." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:60 +#: ../../build/doc/pgr_withPointsCost.rst:67 msgid "" "The returned values are in the form of a set of `(start_vid, end_vid, " "agg_cost)`." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:62 +#: ../../build/doc/pgr_withPointsCost.rst:69 msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:64 +#: ../../build/doc/pgr_withPointsCost.rst:71 msgid "The `agg_cost` in the non included values `(v, v)` is `0`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:66 +#: ../../build/doc/pgr_withPointsCost.rst:73 msgid "" "When the starting vertex and ending vertex are the different and there is" " no path." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:68 +#: ../../build/doc/pgr_withPointsCost.rst:75 msgid "The `agg_cost` in the non included values `(u, v)` is :math:`\\infty`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:70 +#: ../../build/doc/pgr_withPointsCost.rst:77 msgid "" "If the values returned are stored in a table, the unique index would be " "the pair: `(start_vid, end_vid)`." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:73 +#: ../../build/doc/pgr_withPointsCost.rst:80 msgid "For **undirected** graphs, the results are **symmetric**." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:75 +#: ../../build/doc/pgr_withPointsCost.rst:82 msgid "The `agg_cost` of `(u, v)` is the same as for `(v, u)`." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:77 +#: ../../build/doc/pgr_withPointsCost.rst:84 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` is ignored." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:79 +#: ../../build/doc/pgr_withPointsCost.rst:86 msgid "The returned values are ordered:" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:81 +#: ../../build/doc/pgr_withPointsCost.rst:88 msgid "`start_vid` ascending" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:82 +#: ../../build/doc/pgr_withPointsCost.rst:89 msgid "`end_vid` ascending" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:84 +#: ../../build/doc/pgr_withPointsCost.rst:91 msgid "Running time: :math:`O(| start\\_vids | * (V \\log V + E))`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:87 +#: ../../build/doc/pgr_withPointsCost.rst:94 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:90 +#: ../../build/doc/pgr_withPointsCost.rst:97 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:99 +#: ../../build/doc/pgr_withPointsCost.rst:107 msgid "" "There is no **details** flag, unlike the other members of the withPoints " "family of functions." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:105 +#: ../../build/doc/pgr_withPointsCost.rst:113 msgid "Using defaults" msgstr "" @@ -232,96 +245,116 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:111 +#: ../../build/doc/pgr_withPointsCost.rst:119 msgid "From point :math:`1` to point :math:`3`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:113 +#: ../../build/doc/pgr_withPointsCost.rst:121 msgid "For a **directed** graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:114 +#: ../../build/doc/pgr_withPointsCost.rst:122 msgid "" "The driving side is set as **b** both. So arriving/departing to/from the " "point(s) can be in any direction." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:125 +#: ../../build/doc/pgr_withPointsCost.rst:133 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:132 +#: ../../build/doc/pgr_withPointsCost.rst:140 msgid "From point :math:`1` to vertex :math:`3` on an **undirected** graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:142 +#: ../../build/doc/pgr_withPointsCost.rst:150 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:149 +#: ../../build/doc/pgr_withPointsCost.rst:157 msgid "" "From point :math:`1` to point :math:`3` and vertex :math:`5` on a " "**directed** graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:159 +#: ../../build/doc/pgr_withPointsCost.rst:167 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:166 +#: ../../build/doc/pgr_withPointsCost.rst:174 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` on a " "**directed** graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:176 +#: ../../build/doc/pgr_withPointsCost.rst:184 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:183 +#: ../../build/doc/pgr_withPointsCost.rst:191 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7` on a **directed** graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:190 +#: ../../build/doc/pgr_withPointsCost.rst:201 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:208 +msgid "" +"Two (source, target) combinations: (from point :math:`1` to vertex " +":math:`3`), and (from vertex :math:`2` to point :math:`3`) with **right**" +" side driving topology." +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:217 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:193 +#: ../../build/doc/pgr_withPointsCost.rst:220 msgid "Parameter" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:193 -#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgr_withPointsCost.rst:220 +#: ../../build/doc/pgr_withPointsCost.rst:267 msgid "Type" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:195 -msgid "**edges_sql**" +#: ../../build/doc/pgr_withPointsCost.rst:222 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:195 -#: ../../build/doc/pgr_withPointsCost.rst:196 +#: ../../build/doc/pgr_withPointsCost.rst:222 +#: ../../build/doc/pgr_withPointsCost.rst:223 +#: ../../build/doc/pgr_withPointsCost.rst:224 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:195 -msgid "Edges SQL query as described above." +#: ../../build/doc/pgr_withPointsCost.rst:222 +msgid "`Edges query` as described above." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:196 -msgid "**points_sql**" +#: ../../build/doc/pgr_withPointsCost.rst:223 +msgid "**Points SQL**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:196 -msgid "Points SQL query as described above." +#: ../../build/doc/pgr_withPointsCost.rst:223 +msgid "`Points query` as described above." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:197 -#: ../../build/doc/pgr_withPointsCost.rst:228 +#: ../../build/doc/pgr_withPointsCost.rst:224 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:224 +msgid "`Combinations query` as described below." +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:225 +#: ../../build/doc/pgr_withPointsCost.rst:269 msgid "**start_vid**" msgstr "" @@ -330,97 +363,101 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:15 -#: ../../build/doc/pgr_withPointsCost.rst:197 -#: ../../build/doc/pgr_withPointsCost.rst:198 +#: ../../build/doc/pgr_withPointsCost.rst:225 +#: ../../build/doc/pgr_withPointsCost.rst:226 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:197 +#: ../../build/doc/pgr_withPointsCost.rst:225 msgid "Starting vertex identifier. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:198 -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgr_withPointsCost.rst:270 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:198 +#: ../../build/doc/pgr_withPointsCost.rst:226 msgid "Ending vertex identifier. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:199 +#: ../../build/doc/pgr_withPointsCost.rst:227 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:199 -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:227 +#: ../../build/doc/pgr_withPointsCost.rst:228 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:199 +#: ../../build/doc/pgr_withPointsCost.rst:227 msgid "" "Array of identifiers of starting vertices. When negative: is a point's " "pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:228 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:228 msgid "Array of identifiers of ending vertices. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:201 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:201 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:201 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default" " is ``true`` which considers the graph as Directed." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:202 +#: ../../build/doc/pgr_withPointsCost.rst:230 msgid "**driving_side**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:17 -#: ../../build/doc/pgr_withPointsCost.rst:202 +#: ../../build/doc/pgr_withPointsCost.rst:230 msgid "``CHAR``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:205 +#: ../../build/doc/pgr_withPointsCost.rst:233 msgid "" "(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side " "is:" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:203 +#: ../../build/doc/pgr_withPointsCost.rst:231 msgid "In the right or left or" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:20 -#: ../../build/doc/pgr_withPointsCost.rst:204 +#: ../../build/doc/pgr_withPointsCost.rst:232 msgid "If it doesn't matter with 'b' or NULL." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 -#: ../../build/doc/pgr_withPointsCost.rst:205 +#: ../../build/doc/pgr_withPointsCost.rst:233 msgid "If column not present 'b' is considered." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:210 +#: ../../build/doc/pgr_withPointsCost.rst:238 msgid "Inner query" msgstr "" +#: ../../build/doc/pgr_withPointsCost.rst:243 +msgid "Edges query" +msgstr "" + #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgr_withPointsCost.rst:267 msgid "Column" msgstr "" @@ -436,18 +473,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -490,6 +531,7 @@ msgid "" " part of the graph." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" @@ -499,6 +541,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -511,6 +554,10 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" +#: ../../build/doc/pgr_withPointsCost.rst:250 +msgid "Points query" +msgstr "" + #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Description of the Points SQL query" msgstr "" @@ -581,78 +628,101 @@ msgstr "" msgid "smallint, int, bigint, real, float" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:223 +#: ../../build/doc/pgr_withPointsCost.rst:257 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:264 msgid "Result Columns" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:228 -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:269 +#: ../../build/doc/pgr_withPointsCost.rst:270 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:228 +#: ../../build/doc/pgr_withPointsCost.rst:269 msgid "Identifier of the starting vertex. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:270 msgid "Identifier of the ending point. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:230 +#: ../../build/doc/pgr_withPointsCost.rst:271 msgid "**agg_cost**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:230 +#: ../../build/doc/pgr_withPointsCost.rst:271 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:230 +#: ../../build/doc/pgr_withPointsCost.rst:271 msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:234 +#: ../../build/doc/pgr_withPointsCost.rst:275 msgid "Additional Examples" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:236 +#: ../../build/doc/pgr_withPointsCost.rst:277 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`, with **right** side driving topology" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:242 +#: ../../build/doc/pgr_withPointsCost.rst:283 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`, with **left** side driving topology" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:248 +#: ../../build/doc/pgr_withPointsCost.rst:289 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`, does not matter driving side." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:254 +#: ../../build/doc/pgr_withPointsCost.rst:295 msgid "The queries use the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:257 +#: ../../build/doc/pgr_withPointsCost.rst:298 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:259 +#: ../../build/doc/pgr_withPointsCost.rst:300 msgid ":doc:`withPoints-family`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:262 +#: ../../build/doc/pgr_withPointsCost.rst:303 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:263 +#: ../../build/doc/pgr_withPointsCost.rst:304 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:264 +#: ../../build/doc/pgr_withPointsCost.rst:305 msgid ":ref:`search`" msgstr "" +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) " +#~ "`3.0 " +#~ "`__" +#~ msgstr "" + +#~ msgid "**edges_sql**" +#~ msgstr "" + +#~ msgid "Edges SQL query as described above." +#~ msgstr "" + +#~ msgid "**points_sql**" +#~ msgstr "" + +#~ msgid "Points SQL query as described above." +#~ msgstr "" + diff --git a/locale/en/LC_MESSAGES/release_notes.po b/locale/en/LC_MESSAGES/release_notes.po index d0cbc2930f0..01f3bcdd731 100644 --- a/locale/en/LC_MESSAGES/release_notes.po +++ b/locale/en/LC_MESSAGES/release_notes.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-05 07:29-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,190 +36,270 @@ msgid ":ref:`changelog_3_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:22 -msgid ":ref:`changelog_3_1_1`" +msgid ":ref:`changelog_3_1_2`" msgstr "" #: ../../build/doc/release_notes.rst:23 -msgid ":ref:`changelog_3_1_0`" +msgid ":ref:`changelog_3_1_1`" msgstr "" #: ../../build/doc/release_notes.rst:24 -msgid ":ref:`changelog_3_0_3`" +msgid ":ref:`changelog_3_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:25 -msgid ":ref:`changelog_3_0_2`" +msgid ":ref:`changelog_3_0_4`" msgstr "" #: ../../build/doc/release_notes.rst:26 -msgid ":ref:`changelog_3_0_1`" +msgid ":ref:`changelog_3_0_3`" msgstr "" #: ../../build/doc/release_notes.rst:27 -msgid ":ref:`changelog_3_0_0`" +msgid ":ref:`changelog_3_0_2`" msgstr "" #: ../../build/doc/release_notes.rst:28 -msgid ":ref:`changelog_2_6_3`" +msgid ":ref:`changelog_3_0_1`" msgstr "" #: ../../build/doc/release_notes.rst:29 -msgid ":ref:`changelog_2_6_2`" +msgid ":ref:`changelog_3_0_0`" msgstr "" #: ../../build/doc/release_notes.rst:30 -msgid ":ref:`changelog_2_6_1`" +msgid ":ref:`changelog_2_6_3`" msgstr "" #: ../../build/doc/release_notes.rst:31 -msgid ":ref:`changelog_2_6_0`" +msgid ":ref:`changelog_2_6_2`" msgstr "" #: ../../build/doc/release_notes.rst:32 -msgid ":ref:`changelog_2_5_5`" +msgid ":ref:`changelog_2_6_1`" msgstr "" #: ../../build/doc/release_notes.rst:33 -msgid ":ref:`changelog_2_5_4`" +msgid ":ref:`changelog_2_6_0`" msgstr "" #: ../../build/doc/release_notes.rst:34 -msgid ":ref:`changelog_2_5_3`" +msgid ":ref:`changelog_2_5_5`" msgstr "" #: ../../build/doc/release_notes.rst:35 -msgid ":ref:`changelog_2_5_2`" +msgid ":ref:`changelog_2_5_4`" msgstr "" #: ../../build/doc/release_notes.rst:36 -msgid ":ref:`changelog_2_5_1`" +msgid ":ref:`changelog_2_5_3`" msgstr "" #: ../../build/doc/release_notes.rst:37 -msgid ":ref:`changelog_2_5_0`" +msgid ":ref:`changelog_2_5_2`" msgstr "" #: ../../build/doc/release_notes.rst:38 -msgid ":ref:`changelog_2_4_2`" +msgid ":ref:`changelog_2_5_1`" msgstr "" #: ../../build/doc/release_notes.rst:39 -msgid ":ref:`changelog_2_4_1`" +msgid ":ref:`changelog_2_5_0`" msgstr "" #: ../../build/doc/release_notes.rst:40 -msgid ":ref:`changelog_2_4_0`" +msgid ":ref:`changelog_2_4_2`" msgstr "" #: ../../build/doc/release_notes.rst:41 -msgid ":ref:`changelog_2_3_2`" +msgid ":ref:`changelog_2_4_1`" msgstr "" #: ../../build/doc/release_notes.rst:42 -msgid ":ref:`changelog_2_3_1`" +msgid ":ref:`changelog_2_4_0`" msgstr "" #: ../../build/doc/release_notes.rst:43 -msgid ":ref:`changelog_2_3_0`" +msgid ":ref:`changelog_2_3_2`" msgstr "" #: ../../build/doc/release_notes.rst:44 -msgid ":ref:`changelog_2_2_4`" +msgid ":ref:`changelog_2_3_1`" msgstr "" #: ../../build/doc/release_notes.rst:45 -msgid ":ref:`changelog_2_2_3`" +msgid ":ref:`changelog_2_3_0`" msgstr "" #: ../../build/doc/release_notes.rst:46 -msgid ":ref:`changelog_2_2_2`" +msgid ":ref:`changelog_2_2_4`" msgstr "" #: ../../build/doc/release_notes.rst:47 -msgid ":ref:`changelog_2_2_1`" +msgid ":ref:`changelog_2_2_3`" msgstr "" #: ../../build/doc/release_notes.rst:48 -msgid ":ref:`changelog_2_2_0`" +msgid ":ref:`changelog_2_2_2`" msgstr "" #: ../../build/doc/release_notes.rst:49 -msgid ":ref:`changelog_2_1_0`" +msgid ":ref:`changelog_2_2_1`" msgstr "" #: ../../build/doc/release_notes.rst:50 -msgid ":ref:`changelog_2_0_1`" +msgid ":ref:`changelog_2_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:51 -msgid ":ref:`changelog_2_0_0`" +msgid ":ref:`changelog_2_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:52 +msgid ":ref:`changelog_2_0_1`" +msgstr "" + +#: ../../build/doc/release_notes.rst:53 +msgid ":ref:`changelog_2_0_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:54 msgid ":ref:`changelog_1_x`" msgstr "" -#: ../../build/doc/release_notes.rst:60 +#: ../../build/doc/release_notes.rst:62 msgid "pgRouting 3.2.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:63 +#: ../../build/doc/release_notes.rst:65 msgid "New experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:64 +#: ../../build/doc/release_notes.rst:66 msgid "pgr_depthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:65 +#: ../../build/doc/release_notes.rst:67 msgid "pgr_dijkstraNear(One to Many)" msgstr "" -#: ../../build/doc/release_notes.rst:66 +#: ../../build/doc/release_notes.rst:68 msgid "pgr_dijkstraNear(Many to One)" msgstr "" -#: ../../build/doc/release_notes.rst:67 +#: ../../build/doc/release_notes.rst:69 msgid "pgr_dijkstraNear(Many to Many)" msgstr "" -#: ../../build/doc/release_notes.rst:68 +#: ../../build/doc/release_notes.rst:70 msgid "pgr_dijkstraNear(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:69 +#: ../../build/doc/release_notes.rst:71 msgid "pgr_dijkstraNearCost(One to Many)" msgstr "" -#: ../../build/doc/release_notes.rst:70 +#: ../../build/doc/release_notes.rst:72 msgid "pgr_dijkstraNearCost(Many to One)" msgstr "" -#: ../../build/doc/release_notes.rst:71 +#: ../../build/doc/release_notes.rst:73 msgid "pgr_dijkstraNearCost(Many to Many)" msgstr "" -#: ../../build/doc/release_notes.rst:72 +#: ../../build/doc/release_notes.rst:74 msgid "pgr_dijkstraNearCost(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:73 +#: ../../build/doc/release_notes.rst:75 msgid "pgr_isPlanar" msgstr "" -#: ../../build/doc/release_notes.rst:74 +#: ../../build/doc/release_notes.rst:76 msgid "pgr_makeConnected" msgstr "" -#: ../../build/doc/release_notes.rst:75 +#: ../../build/doc/release_notes.rst:77 msgid "pgr_sequentialVertexColoring" msgstr "" -#: ../../build/doc/release_notes.rst:80 -msgid "pgRouting 3.1.1 Release Notes" +#: ../../build/doc/release_notes.rst:80 ../../build/doc/release_notes.rst:130 +msgid "New proposed functions" +msgstr "" + +#: ../../build/doc/release_notes.rst:81 +msgid "pgr_aStar(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:82 +msgid "pgr_aStarCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:83 +msgid "pgr_bdAstar(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:84 +msgid "pgr_bdAstarCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:85 +msgid "pgr_bdDijkstra(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:86 +msgid "pgr_bdDijkstraCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:87 +msgid "pgr_withPoints(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:88 +msgid "pgr_withPointsCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:93 +msgid "pgRouting 3.1.2 Release Notes" +msgstr "" + +#: ../../build/doc/release_notes.rst:95 +#, python-format +msgid "" +"To see all issues & pull requests closed by this release see the `Git " +"closed milestone for 3.1.2 " +"`_" +" on Github." +msgstr "" + +#: ../../build/doc/release_notes.rst:99 ../../build/doc/release_notes.rst:113 +#: ../../build/doc/release_notes.rst:176 ../../build/doc/release_notes.rst:188 +msgid "Issues fixes" +msgstr "" + +#: ../../build/doc/release_notes.rst:100 ../../build/doc/release_notes.rst:148 +msgid "" +"`#1356 `__: " +"tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed" +msgstr "" + +#: ../../build/doc/release_notes.rst:101 ../../build/doc/release_notes.rst:149 +msgid "" +"`#1760 `__: TSP " +"server crash on ubuntu 20.04 #1760" +msgstr "" + +#: ../../build/doc/release_notes.rst:102 ../../build/doc/release_notes.rst:150 +msgid "" +"`#1770 `__: Remove " +"warnings when using clang compiler" +msgstr "" + +#: ../../build/doc/release_notes.rst:107 +msgid "pgRouting 3.1.1 Release Notes" +msgstr "" + +#: ../../build/doc/release_notes.rst:109 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -228,34 +308,42 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:86 ../../build/doc/release_notes.rst:130 -#: ../../build/doc/release_notes.rst:142 -msgid "Issues fixes" +#: ../../build/doc/release_notes.rst:114 ../../build/doc/release_notes.rst:160 +msgid "" +"`#1733 `__: " +"pgr_bdAstar fails when source or target vertex does not exist in the " +"graph" msgstr "" -#: ../../build/doc/release_notes.rst:87 ../../build/doc/release_notes.rst:116 +#: ../../build/doc/release_notes.rst:115 ../../build/doc/release_notes.rst:161 msgid "" "`#1647 `__: Linear " "Contraction contracts self loops" msgstr "" -#: ../../build/doc/release_notes.rst:88 ../../build/doc/release_notes.rst:117 +#: ../../build/doc/release_notes.rst:116 ../../build/doc/release_notes.rst:162 +msgid "" +"`#1640 `__: " +"pgr_withPoints fails when points_sql is empty" +msgstr "" + +#: ../../build/doc/release_notes.rst:117 ../../build/doc/release_notes.rst:163 msgid "" "`#1616 `__: Path " "evaluation on C++ not updated before the results go back to C" msgstr "" -#: ../../build/doc/release_notes.rst:89 ../../build/doc/release_notes.rst:118 +#: ../../build/doc/release_notes.rst:118 ../../build/doc/release_notes.rst:164 msgid "" "`#1300 `__: " "pgr_chinesePostman crash on test data" msgstr "" -#: ../../build/doc/release_notes.rst:95 +#: ../../build/doc/release_notes.rst:124 msgid "pgRouting 3.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:97 +#: ../../build/doc/release_notes.rst:126 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -264,39 +352,48 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:101 -msgid "New proposed functions" -msgstr "" - -#: ../../build/doc/release_notes.rst:102 +#: ../../build/doc/release_notes.rst:131 msgid "pgr_dijkstra(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:103 +#: ../../build/doc/release_notes.rst:132 msgid "pgr_dijkstraCost(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:106 +#: ../../build/doc/release_notes.rst:135 msgid "Build changes" msgstr "" -#: ../../build/doc/release_notes.rst:107 +#: ../../build/doc/release_notes.rst:136 msgid "Minimal requirement for Sphinx: version 1.8" msgstr "" -#: ../../build/doc/release_notes.rst:112 -msgid "pgRouting 3.0.3 Release Notes" +#: ../../build/doc/release_notes.rst:141 +msgid "pgRouting 3.0.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:115 +#: ../../build/doc/release_notes.rst:143 +#, python-format +msgid "" +"To see all issues & pull requests closed by this release see the `Git " +"closed milestone for 3.0.4 " +"`_" +" on Github." +msgstr "" + +#: ../../build/doc/release_notes.rst:147 ../../build/doc/release_notes.rst:159 msgid "Backport issues fixes" msgstr "" -#: ../../build/doc/release_notes.rst:124 +#: ../../build/doc/release_notes.rst:156 +msgid "pgRouting 3.0.3 Release Notes" +msgstr "" + +#: ../../build/doc/release_notes.rst:170 msgid "pgRouting 3.0.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:126 +#: ../../build/doc/release_notes.rst:172 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -305,17 +402,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:131 +#: ../../build/doc/release_notes.rst:177 msgid "" "`#1378 `__: Visual " "Studio build failing" msgstr "" -#: ../../build/doc/release_notes.rst:136 +#: ../../build/doc/release_notes.rst:182 msgid "pgRouting 3.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:138 +#: ../../build/doc/release_notes.rst:184 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -324,17 +421,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:143 +#: ../../build/doc/release_notes.rst:189 msgid "" "`#232 `__: Honor " "client cancel requests in C /C++ code" msgstr "" -#: ../../build/doc/release_notes.rst:148 +#: ../../build/doc/release_notes.rst:194 msgid "pgRouting 3.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:150 +#: ../../build/doc/release_notes.rst:196 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -343,495 +440,495 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:154 +#: ../../build/doc/release_notes.rst:200 msgid "Fixed Issues" msgstr "" -#: ../../build/doc/release_notes.rst:155 +#: ../../build/doc/release_notes.rst:201 msgid "" "`#1153 `__: Renamed " "pgr_eucledianTSP to pgr_TSPeuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:156 +#: ../../build/doc/release_notes.rst:202 msgid "" "`#1188 `__: Removed " "CGAL dependency" msgstr "" -#: ../../build/doc/release_notes.rst:157 +#: ../../build/doc/release_notes.rst:203 msgid "" "`#1002 `__: Fixed " "contraction issues:" msgstr "" -#: ../../build/doc/release_notes.rst:159 +#: ../../build/doc/release_notes.rst:205 msgid "" "`#1004 `__: Contracts" " when forbidden vertices do not belong to graph" msgstr "" -#: ../../build/doc/release_notes.rst:160 +#: ../../build/doc/release_notes.rst:206 msgid "" "`#1005 `__: " "Intermideate results eliminated" msgstr "" -#: ../../build/doc/release_notes.rst:161 +#: ../../build/doc/release_notes.rst:207 msgid "" "`#1006 `__: No loss " "of information" msgstr "" -#: ../../build/doc/release_notes.rst:164 +#: ../../build/doc/release_notes.rst:210 msgid "New functions" msgstr "" -#: ../../build/doc/release_notes.rst:165 +#: ../../build/doc/release_notes.rst:211 msgid "Kruskal family" msgstr "" -#: ../../build/doc/release_notes.rst:167 +#: ../../build/doc/release_notes.rst:213 msgid "pgr_kruskal" msgstr "" -#: ../../build/doc/release_notes.rst:168 +#: ../../build/doc/release_notes.rst:214 msgid "pgr_kruskalBFS" msgstr "" -#: ../../build/doc/release_notes.rst:169 +#: ../../build/doc/release_notes.rst:215 msgid "pgr_kruskalDD" msgstr "" -#: ../../build/doc/release_notes.rst:170 +#: ../../build/doc/release_notes.rst:216 msgid "pgr_kruskalDFS" msgstr "" -#: ../../build/doc/release_notes.rst:172 +#: ../../build/doc/release_notes.rst:218 msgid "Prim family" msgstr "" -#: ../../build/doc/release_notes.rst:174 +#: ../../build/doc/release_notes.rst:220 msgid "pgr_prim" msgstr "" -#: ../../build/doc/release_notes.rst:175 +#: ../../build/doc/release_notes.rst:221 msgid "pgr_primDD" msgstr "" -#: ../../build/doc/release_notes.rst:176 +#: ../../build/doc/release_notes.rst:222 msgid "pgr_primDFS" msgstr "" -#: ../../build/doc/release_notes.rst:177 +#: ../../build/doc/release_notes.rst:223 msgid "pgr_primBFS" msgstr "" -#: ../../build/doc/release_notes.rst:181 +#: ../../build/doc/release_notes.rst:227 msgid "Proposed moved to official on pgRouting" msgstr "" -#: ../../build/doc/release_notes.rst:182 +#: ../../build/doc/release_notes.rst:228 msgid "aStar Family" msgstr "" -#: ../../build/doc/release_notes.rst:184 +#: ../../build/doc/release_notes.rst:230 msgid "pgr_aStar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:185 +#: ../../build/doc/release_notes.rst:231 msgid "pgr_aStar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:186 +#: ../../build/doc/release_notes.rst:232 msgid "pgr_aStar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:187 +#: ../../build/doc/release_notes.rst:233 msgid "pgr_aStarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:188 +#: ../../build/doc/release_notes.rst:234 msgid "pgr_aStarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:189 +#: ../../build/doc/release_notes.rst:235 msgid "pgr_aStarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:190 +#: ../../build/doc/release_notes.rst:236 msgid "pgr_aStarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:191 +#: ../../build/doc/release_notes.rst:237 msgid "pgr_aStarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:192 +#: ../../build/doc/release_notes.rst:238 msgid "pgr_aStarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:193 +#: ../../build/doc/release_notes.rst:239 msgid "pgr_aStarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:194 +#: ../../build/doc/release_notes.rst:240 msgid "pgr_aStarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:196 +#: ../../build/doc/release_notes.rst:242 msgid "bdAstar Family" msgstr "" -#: ../../build/doc/release_notes.rst:198 ../../build/doc/release_notes.rst:525 +#: ../../build/doc/release_notes.rst:244 ../../build/doc/release_notes.rst:571 msgid "pgr_bdAstar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:199 ../../build/doc/release_notes.rst:526 +#: ../../build/doc/release_notes.rst:245 ../../build/doc/release_notes.rst:572 msgid "pgr_bdAstar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:200 ../../build/doc/release_notes.rst:527 +#: ../../build/doc/release_notes.rst:246 ../../build/doc/release_notes.rst:573 msgid "pgr_bdAstar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:201 ../../build/doc/release_notes.rst:528 +#: ../../build/doc/release_notes.rst:247 ../../build/doc/release_notes.rst:574 msgid "pgr_bdAstarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:202 ../../build/doc/release_notes.rst:529 +#: ../../build/doc/release_notes.rst:248 ../../build/doc/release_notes.rst:575 msgid "pgr_bdAstarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:203 ../../build/doc/release_notes.rst:530 +#: ../../build/doc/release_notes.rst:249 ../../build/doc/release_notes.rst:576 msgid "pgr_bdAstarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:204 ../../build/doc/release_notes.rst:531 +#: ../../build/doc/release_notes.rst:250 ../../build/doc/release_notes.rst:577 msgid "pgr_bdAstarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:205 +#: ../../build/doc/release_notes.rst:251 msgid "pgr_bdAstarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:206 +#: ../../build/doc/release_notes.rst:252 msgid "pgr_bdAstarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:207 +#: ../../build/doc/release_notes.rst:253 msgid "pgr_bdAstarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:208 +#: ../../build/doc/release_notes.rst:254 msgid "pgr_bdAstarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:210 +#: ../../build/doc/release_notes.rst:256 msgid "bdDijkstra Family" msgstr "" -#: ../../build/doc/release_notes.rst:212 ../../build/doc/release_notes.rst:533 +#: ../../build/doc/release_notes.rst:258 ../../build/doc/release_notes.rst:579 msgid "pgr_bdDijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:213 ../../build/doc/release_notes.rst:534 +#: ../../build/doc/release_notes.rst:259 ../../build/doc/release_notes.rst:580 msgid "pgr_bdDijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:214 ../../build/doc/release_notes.rst:535 +#: ../../build/doc/release_notes.rst:260 ../../build/doc/release_notes.rst:581 msgid "pgr_bdDijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:215 ../../build/doc/release_notes.rst:536 +#: ../../build/doc/release_notes.rst:261 ../../build/doc/release_notes.rst:582 msgid "pgr_bdDijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:216 ../../build/doc/release_notes.rst:537 +#: ../../build/doc/release_notes.rst:262 ../../build/doc/release_notes.rst:583 msgid "pgr_bdDijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:217 ../../build/doc/release_notes.rst:538 +#: ../../build/doc/release_notes.rst:263 ../../build/doc/release_notes.rst:584 msgid "pgr_bdDijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:218 ../../build/doc/release_notes.rst:539 +#: ../../build/doc/release_notes.rst:264 ../../build/doc/release_notes.rst:585 msgid "pgr_bdDijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:219 +#: ../../build/doc/release_notes.rst:265 msgid "pgr_bdDijkstraCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:220 +#: ../../build/doc/release_notes.rst:266 msgid "pgr_bdDijkstraCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:221 +#: ../../build/doc/release_notes.rst:267 msgid "pgr_bdDijkstraCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:222 +#: ../../build/doc/release_notes.rst:268 msgid "pgr_bdDijkstraCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:224 +#: ../../build/doc/release_notes.rst:270 msgid "Flow Family" msgstr "" -#: ../../build/doc/release_notes.rst:226 +#: ../../build/doc/release_notes.rst:272 msgid "pgr_pushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:227 +#: ../../build/doc/release_notes.rst:273 msgid "pgr_pushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:228 +#: ../../build/doc/release_notes.rst:274 msgid "pgr_pushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:229 +#: ../../build/doc/release_notes.rst:275 msgid "pgr_pushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:230 +#: ../../build/doc/release_notes.rst:276 msgid "pgr_edmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:231 +#: ../../build/doc/release_notes.rst:277 msgid "pgr_edmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:232 +#: ../../build/doc/release_notes.rst:278 msgid "pgr_edmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:233 +#: ../../build/doc/release_notes.rst:279 msgid "pgr_edmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:234 +#: ../../build/doc/release_notes.rst:280 msgid "pgr_boykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:235 +#: ../../build/doc/release_notes.rst:281 msgid "pgr_boykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:236 +#: ../../build/doc/release_notes.rst:282 msgid "pgr_boykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:237 +#: ../../build/doc/release_notes.rst:283 msgid "pgr_boykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:238 +#: ../../build/doc/release_notes.rst:284 msgid "pgr_maxCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:239 ../../build/doc/release_notes.rst:609 +#: ../../build/doc/release_notes.rst:285 ../../build/doc/release_notes.rst:655 msgid "pgr_maxFlow" msgstr "" -#: ../../build/doc/release_notes.rst:240 ../../build/doc/release_notes.rst:699 +#: ../../build/doc/release_notes.rst:286 ../../build/doc/release_notes.rst:745 msgid "pgr_edgeDisjointPaths(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:241 ../../build/doc/release_notes.rst:700 +#: ../../build/doc/release_notes.rst:287 ../../build/doc/release_notes.rst:746 msgid "pgr_edgeDisjointPaths(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:242 ../../build/doc/release_notes.rst:701 +#: ../../build/doc/release_notes.rst:288 ../../build/doc/release_notes.rst:747 msgid "pgr_edgeDisjointPaths(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:243 ../../build/doc/release_notes.rst:702 +#: ../../build/doc/release_notes.rst:289 ../../build/doc/release_notes.rst:748 msgid "pgr_edgeDisjointPaths(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:245 +#: ../../build/doc/release_notes.rst:291 msgid "Components family" msgstr "" -#: ../../build/doc/release_notes.rst:247 ../../build/doc/release_notes.rst:543 +#: ../../build/doc/release_notes.rst:293 ../../build/doc/release_notes.rst:589 msgid "pgr_connectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:248 ../../build/doc/release_notes.rst:544 +#: ../../build/doc/release_notes.rst:294 ../../build/doc/release_notes.rst:590 msgid "pgr_strongComponents" msgstr "" -#: ../../build/doc/release_notes.rst:249 ../../build/doc/release_notes.rst:545 +#: ../../build/doc/release_notes.rst:295 ../../build/doc/release_notes.rst:591 msgid "pgr_biconnectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:250 ../../build/doc/release_notes.rst:546 +#: ../../build/doc/release_notes.rst:296 ../../build/doc/release_notes.rst:592 msgid "pgr_articulationPoints" msgstr "" -#: ../../build/doc/release_notes.rst:251 ../../build/doc/release_notes.rst:547 +#: ../../build/doc/release_notes.rst:297 ../../build/doc/release_notes.rst:593 msgid "pgr_bridges" msgstr "" -#: ../../build/doc/release_notes.rst:253 +#: ../../build/doc/release_notes.rst:299 msgid "Contraction:" msgstr "" -#: ../../build/doc/release_notes.rst:255 +#: ../../build/doc/release_notes.rst:301 msgid "Removed unnecessary column seq" msgstr "" -#: ../../build/doc/release_notes.rst:256 ../../build/doc/release_notes.rst:643 -#: ../../build/doc/release_notes.rst:659 ../../build/doc/release_notes.rst:729 -#: ../../build/doc/release_notes.rst:742 ../../build/doc/release_notes.rst:753 -#: ../../build/doc/release_notes.rst:765 ../../build/doc/release_notes.rst:884 -#: ../../build/doc/release_notes.rst:915 +#: ../../build/doc/release_notes.rst:302 ../../build/doc/release_notes.rst:689 +#: ../../build/doc/release_notes.rst:705 ../../build/doc/release_notes.rst:775 +#: ../../build/doc/release_notes.rst:788 ../../build/doc/release_notes.rst:799 +#: ../../build/doc/release_notes.rst:811 ../../build/doc/release_notes.rst:930 +#: ../../build/doc/release_notes.rst:961 msgid "Bug Fixes" msgstr "" -#: ../../build/doc/release_notes.rst:260 +#: ../../build/doc/release_notes.rst:306 msgid "New Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:261 +#: ../../build/doc/release_notes.rst:307 msgid "pgr_maxFlowMinCost" msgstr "" -#: ../../build/doc/release_notes.rst:262 +#: ../../build/doc/release_notes.rst:308 msgid "pgr_maxFlowMinCost_Cost" msgstr "" -#: ../../build/doc/release_notes.rst:263 +#: ../../build/doc/release_notes.rst:309 msgid "pgr_extractVertices" msgstr "" -#: ../../build/doc/release_notes.rst:264 +#: ../../build/doc/release_notes.rst:310 msgid "pgr_turnRestrictedPath" msgstr "" -#: ../../build/doc/release_notes.rst:265 +#: ../../build/doc/release_notes.rst:311 msgid "pgr_stoerWagner" msgstr "" -#: ../../build/doc/release_notes.rst:266 +#: ../../build/doc/release_notes.rst:312 msgid "pgr_dagShortestpath" msgstr "" -#: ../../build/doc/release_notes.rst:267 +#: ../../build/doc/release_notes.rst:313 msgid "pgr_topologicalSort" msgstr "" -#: ../../build/doc/release_notes.rst:268 +#: ../../build/doc/release_notes.rst:314 msgid "pgr_transitiveClosure" msgstr "" -#: ../../build/doc/release_notes.rst:269 +#: ../../build/doc/release_notes.rst:315 msgid "VRP category" msgstr "" -#: ../../build/doc/release_notes.rst:271 +#: ../../build/doc/release_notes.rst:317 msgid "pgr_pickDeliverEuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:272 +#: ../../build/doc/release_notes.rst:318 msgid "pgr_pickDeliver" msgstr "" -#: ../../build/doc/release_notes.rst:274 +#: ../../build/doc/release_notes.rst:320 msgid "Chinese Postman family" msgstr "" -#: ../../build/doc/release_notes.rst:276 +#: ../../build/doc/release_notes.rst:322 msgid "pgr_chinesePostman" msgstr "" -#: ../../build/doc/release_notes.rst:277 +#: ../../build/doc/release_notes.rst:323 msgid "pgr_chinesePostmanCost" msgstr "" -#: ../../build/doc/release_notes.rst:279 +#: ../../build/doc/release_notes.rst:325 msgid "Breadth First Search family" msgstr "" -#: ../../build/doc/release_notes.rst:281 +#: ../../build/doc/release_notes.rst:327 msgid "pgr_breadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:282 +#: ../../build/doc/release_notes.rst:328 msgid "pgr_binaryBreadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:284 +#: ../../build/doc/release_notes.rst:330 msgid "Bellman Ford family" msgstr "" -#: ../../build/doc/release_notes.rst:286 +#: ../../build/doc/release_notes.rst:332 msgid "pgr_bellmanFord" msgstr "" -#: ../../build/doc/release_notes.rst:287 +#: ../../build/doc/release_notes.rst:333 msgid "pgr_edwardMoore" msgstr "" -#: ../../build/doc/release_notes.rst:290 +#: ../../build/doc/release_notes.rst:336 msgid "Moved to legacy" msgstr "" -#: ../../build/doc/release_notes.rst:291 +#: ../../build/doc/release_notes.rst:337 msgid "Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:293 +#: ../../build/doc/release_notes.rst:339 msgid "pgr_labelGraph - Use the components family of functions instead." msgstr "" -#: ../../build/doc/release_notes.rst:294 +#: ../../build/doc/release_notes.rst:340 msgid "Max flow - functions were renamed on v2.5.0" msgstr "" -#: ../../build/doc/release_notes.rst:296 +#: ../../build/doc/release_notes.rst:342 msgid "pgr_maxFlowPushRelabel" msgstr "" -#: ../../build/doc/release_notes.rst:297 +#: ../../build/doc/release_notes.rst:343 msgid "pgr_maxFlowBoykovKolmogorov" msgstr "" -#: ../../build/doc/release_notes.rst:298 +#: ../../build/doc/release_notes.rst:344 msgid "pgr_maxFlowEdmondsKarp" msgstr "" -#: ../../build/doc/release_notes.rst:299 +#: ../../build/doc/release_notes.rst:345 msgid "pgr_maximumcardinalitymatching" msgstr "" -#: ../../build/doc/release_notes.rst:301 +#: ../../build/doc/release_notes.rst:347 msgid "VRP" msgstr "" -#: ../../build/doc/release_notes.rst:303 +#: ../../build/doc/release_notes.rst:349 msgid "pgr_gsoc_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:305 +#: ../../build/doc/release_notes.rst:351 msgid "TSP old signatures" msgstr "" -#: ../../build/doc/release_notes.rst:306 +#: ../../build/doc/release_notes.rst:352 msgid "pgr_pointsAsPolygon" msgstr "" -#: ../../build/doc/release_notes.rst:307 +#: ../../build/doc/release_notes.rst:353 msgid "pgr_alphaShape old signature" msgstr "" -#: ../../build/doc/release_notes.rst:313 +#: ../../build/doc/release_notes.rst:359 msgid "pgRouting 2.6.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:315 +#: ../../build/doc/release_notes.rst:361 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -840,40 +937,41 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:318 ../../build/doc/release_notes.rst:332 -#: ../../build/doc/release_notes.rst:390 ../../build/doc/release_notes.rst:419 -#: ../../build/doc/release_notes.rst:472 ../../build/doc/release_notes.rst:483 -#: ../../build/doc/release_notes.rst:495 ../../build/doc/release_notes.rst:577 -#: ../../build/doc/release_notes.rst:591 ../../build/doc/release_notes.rst:628 -#: ../../build/doc/release_notes.rst:982 ../../build/doc/release_notes.rst:989 -#: ../../build/doc/release_notes.rst:1010 -#: ../../build/doc/release_notes.rst:1017 +#: ../../build/doc/release_notes.rst:364 ../../build/doc/release_notes.rst:378 +#: ../../build/doc/release_notes.rst:436 ../../build/doc/release_notes.rst:465 +#: ../../build/doc/release_notes.rst:518 ../../build/doc/release_notes.rst:529 +#: ../../build/doc/release_notes.rst:541 ../../build/doc/release_notes.rst:623 +#: ../../build/doc/release_notes.rst:637 ../../build/doc/release_notes.rst:674 +#: ../../build/doc/release_notes.rst:1028 +#: ../../build/doc/release_notes.rst:1035 +#: ../../build/doc/release_notes.rst:1056 +#: ../../build/doc/release_notes.rst:1063 msgid "Bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:319 +#: ../../build/doc/release_notes.rst:365 msgid "" "`#1219 `__ Implicit " "cast for via_path integer to text" msgstr "" -#: ../../build/doc/release_notes.rst:320 +#: ../../build/doc/release_notes.rst:366 msgid "" "`#1193 `__ Fixed " "pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" msgstr "" -#: ../../build/doc/release_notes.rst:321 +#: ../../build/doc/release_notes.rst:367 msgid "" "`#1185 `__ Improve " "FindPostgreSQL.cmake" msgstr "" -#: ../../build/doc/release_notes.rst:327 +#: ../../build/doc/release_notes.rst:373 msgid "pgRouting 2.6.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:329 +#: ../../build/doc/release_notes.rst:375 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -882,29 +980,29 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:333 +#: ../../build/doc/release_notes.rst:379 msgid "" "`#1152 `__ Fixes " "driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:334 +#: ../../build/doc/release_notes.rst:380 msgid "" "`#1098 `__ Fixes " "windows test" msgstr "" -#: ../../build/doc/release_notes.rst:335 +#: ../../build/doc/release_notes.rst:381 msgid "" "`#1165 `__ Fixes " "build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:340 +#: ../../build/doc/release_notes.rst:386 msgid "pgRouting 2.6.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:342 +#: ../../build/doc/release_notes.rst:388 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -913,133 +1011,133 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:344 ../../build/doc/release_notes.rst:431 +#: ../../build/doc/release_notes.rst:390 ../../build/doc/release_notes.rst:477 msgid "Fixes server crash on several functions." msgstr "" -#: ../../build/doc/release_notes.rst:346 ../../build/doc/release_notes.rst:433 -#: ../../build/doc/release_notes.rst:791 +#: ../../build/doc/release_notes.rst:392 ../../build/doc/release_notes.rst:479 +#: ../../build/doc/release_notes.rst:837 msgid "pgr_floydWarshall" msgstr "" -#: ../../build/doc/release_notes.rst:347 ../../build/doc/release_notes.rst:434 +#: ../../build/doc/release_notes.rst:393 ../../build/doc/release_notes.rst:480 msgid "pgr_johnson" msgstr "" -#: ../../build/doc/release_notes.rst:348 ../../build/doc/release_notes.rst:435 +#: ../../build/doc/release_notes.rst:394 ../../build/doc/release_notes.rst:481 msgid "pgr_astar" msgstr "" -#: ../../build/doc/release_notes.rst:349 ../../build/doc/release_notes.rst:436 +#: ../../build/doc/release_notes.rst:395 ../../build/doc/release_notes.rst:482 msgid "pgr_bdAstar" msgstr "" -#: ../../build/doc/release_notes.rst:350 ../../build/doc/release_notes.rst:437 +#: ../../build/doc/release_notes.rst:396 ../../build/doc/release_notes.rst:483 msgid "pgr_bdDijstra" msgstr "" -#: ../../build/doc/release_notes.rst:351 ../../build/doc/release_notes.rst:438 +#: ../../build/doc/release_notes.rst:397 ../../build/doc/release_notes.rst:484 msgid "pgr_alphashape" msgstr "" -#: ../../build/doc/release_notes.rst:352 ../../build/doc/release_notes.rst:439 -#: ../../build/doc/release_notes.rst:684 +#: ../../build/doc/release_notes.rst:398 ../../build/doc/release_notes.rst:485 +#: ../../build/doc/release_notes.rst:730 msgid "pgr_dijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:353 ../../build/doc/release_notes.rst:440 +#: ../../build/doc/release_notes.rst:399 ../../build/doc/release_notes.rst:486 msgid "pgr_dijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:354 ../../build/doc/release_notes.rst:441 +#: ../../build/doc/release_notes.rst:400 ../../build/doc/release_notes.rst:487 msgid "pgr_dijkstraCost" msgstr "" -#: ../../build/doc/release_notes.rst:355 ../../build/doc/release_notes.rst:442 +#: ../../build/doc/release_notes.rst:401 ../../build/doc/release_notes.rst:488 msgid "pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:356 ../../build/doc/release_notes.rst:443 +#: ../../build/doc/release_notes.rst:402 ../../build/doc/release_notes.rst:489 msgid "pgr_KSP" msgstr "" -#: ../../build/doc/release_notes.rst:357 ../../build/doc/release_notes.rst:444 +#: ../../build/doc/release_notes.rst:403 ../../build/doc/release_notes.rst:490 msgid "pgr_dijkstraVia (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:358 ../../build/doc/release_notes.rst:445 +#: ../../build/doc/release_notes.rst:404 ../../build/doc/release_notes.rst:491 msgid "pgr_boykovKolmogorov (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:359 ../../build/doc/release_notes.rst:446 +#: ../../build/doc/release_notes.rst:405 ../../build/doc/release_notes.rst:492 msgid "pgr_edgeDisjointPaths (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:360 ../../build/doc/release_notes.rst:447 +#: ../../build/doc/release_notes.rst:406 ../../build/doc/release_notes.rst:493 msgid "pgr_edmondsKarp (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:361 ../../build/doc/release_notes.rst:448 +#: ../../build/doc/release_notes.rst:407 ../../build/doc/release_notes.rst:494 msgid "pgr_maxCardinalityMatch (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:362 ../../build/doc/release_notes.rst:449 +#: ../../build/doc/release_notes.rst:408 ../../build/doc/release_notes.rst:495 msgid "pgr_maxFlow (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:363 ../../build/doc/release_notes.rst:450 +#: ../../build/doc/release_notes.rst:409 ../../build/doc/release_notes.rst:496 msgid "pgr_withPoints (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:364 ../../build/doc/release_notes.rst:451 +#: ../../build/doc/release_notes.rst:410 ../../build/doc/release_notes.rst:497 msgid "pgr_withPointsCost (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:365 ../../build/doc/release_notes.rst:452 +#: ../../build/doc/release_notes.rst:411 ../../build/doc/release_notes.rst:498 msgid "pgr_withPointsKSP (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:366 ../../build/doc/release_notes.rst:453 +#: ../../build/doc/release_notes.rst:412 ../../build/doc/release_notes.rst:499 msgid "pgr_withPointsDD (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:367 ../../build/doc/release_notes.rst:454 +#: ../../build/doc/release_notes.rst:413 ../../build/doc/release_notes.rst:500 msgid "pgr_withPointsCostMatrix (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:368 ../../build/doc/release_notes.rst:455 +#: ../../build/doc/release_notes.rst:414 ../../build/doc/release_notes.rst:501 msgid "pgr_contractGraph (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:369 ../../build/doc/release_notes.rst:456 +#: ../../build/doc/release_notes.rst:415 ../../build/doc/release_notes.rst:502 msgid "pgr_pushRelabel (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:370 ../../build/doc/release_notes.rst:457 +#: ../../build/doc/release_notes.rst:416 ../../build/doc/release_notes.rst:503 msgid "pgr_vrpOneDepot (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:371 ../../build/doc/release_notes.rst:458 +#: ../../build/doc/release_notes.rst:417 ../../build/doc/release_notes.rst:504 msgid "pgr_gsoc_vrppdtw (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:372 ../../build/doc/release_notes.rst:459 +#: ../../build/doc/release_notes.rst:418 ../../build/doc/release_notes.rst:505 msgid "Fixes for deprecated functions where also applied but not tested" msgstr "" -#: ../../build/doc/release_notes.rst:374 ../../build/doc/release_notes.rst:461 +#: ../../build/doc/release_notes.rst:420 ../../build/doc/release_notes.rst:507 msgid "Removed compilation warning for g++8" msgstr "" -#: ../../build/doc/release_notes.rst:375 ../../build/doc/release_notes.rst:462 +#: ../../build/doc/release_notes.rst:421 ../../build/doc/release_notes.rst:508 msgid "Fixed a fallthrugh on Astar and bdAstar." msgstr "" -#: ../../build/doc/release_notes.rst:380 +#: ../../build/doc/release_notes.rst:426 msgid "pgRouting 2.6.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:382 +#: ../../build/doc/release_notes.rst:428 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1048,67 +1146,67 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:386 +#: ../../build/doc/release_notes.rst:432 msgid "New fexperimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:387 ../../build/doc/release_notes.rst:542 +#: ../../build/doc/release_notes.rst:433 ../../build/doc/release_notes.rst:588 msgid "pgr_lineGraphFull" msgstr "" -#: ../../build/doc/release_notes.rst:391 +#: ../../build/doc/release_notes.rst:437 msgid "" "Fix pgr_trsp(text,integer,double precision,integer,double " "precision,boolean,boolean[,text])" msgstr "" -#: ../../build/doc/release_notes.rst:393 +#: ../../build/doc/release_notes.rst:439 msgid "without restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:395 +#: ../../build/doc/release_notes.rst:441 msgid "calls pgr_dijkstra when both end points have a fraction IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:396 +#: ../../build/doc/release_notes.rst:442 msgid "calls pgr_withPoints when at least one fraction NOT IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:398 +#: ../../build/doc/release_notes.rst:444 msgid "with restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:400 +#: ../../build/doc/release_notes.rst:446 msgid "calls original trsp code" msgstr "" -#: ../../build/doc/release_notes.rst:403 +#: ../../build/doc/release_notes.rst:449 msgid "Internal code" msgstr "" -#: ../../build/doc/release_notes.rst:404 +#: ../../build/doc/release_notes.rst:450 msgid "" "Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [," " text])" msgstr "" -#: ../../build/doc/release_notes.rst:406 +#: ../../build/doc/release_notes.rst:452 msgid "Removed the use of pointers" msgstr "" -#: ../../build/doc/release_notes.rst:407 +#: ../../build/doc/release_notes.rst:453 msgid "Internal code can accept BIGINT" msgstr "" -#: ../../build/doc/release_notes.rst:409 +#: ../../build/doc/release_notes.rst:455 msgid "Cleaned the internal code of withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:414 +#: ../../build/doc/release_notes.rst:460 msgid "pgRouting 2.5.5 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:416 +#: ../../build/doc/release_notes.rst:462 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1117,23 +1215,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:420 +#: ../../build/doc/release_notes.rst:466 msgid "Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:421 +#: ../../build/doc/release_notes.rst:467 msgid "Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:422 +#: ../../build/doc/release_notes.rst:468 msgid "Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:427 +#: ../../build/doc/release_notes.rst:473 msgid "pgRouting 2.5.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:429 +#: ../../build/doc/release_notes.rst:475 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1142,11 +1240,11 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:467 +#: ../../build/doc/release_notes.rst:513 msgid "pgRouting 2.5.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:469 +#: ../../build/doc/release_notes.rst:515 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1155,17 +1253,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:473 +#: ../../build/doc/release_notes.rst:519 msgid "" "Fix for postgresql 11: Removed a compilation error when compiling with " "postgreSQL" msgstr "" -#: ../../build/doc/release_notes.rst:478 +#: ../../build/doc/release_notes.rst:524 msgid "pgRouting 2.5.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:480 +#: ../../build/doc/release_notes.rst:526 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1174,15 +1272,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:484 +#: ../../build/doc/release_notes.rst:530 msgid "Fix for postgresql 10.1: Removed a compiler condition" msgstr "" -#: ../../build/doc/release_notes.rst:490 +#: ../../build/doc/release_notes.rst:536 msgid "pgRouting 2.5.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:492 +#: ../../build/doc/release_notes.rst:538 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1191,15 +1289,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:496 +#: ../../build/doc/release_notes.rst:542 msgid "Fixed prerequisite minimum version of: cmake" msgstr "" -#: ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:548 msgid "pgRouting 2.5.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:504 +#: ../../build/doc/release_notes.rst:550 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.5.0 " @@ -1207,100 +1305,100 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:508 +#: ../../build/doc/release_notes.rst:554 msgid "enhancement:" msgstr "" -#: ../../build/doc/release_notes.rst:509 +#: ../../build/doc/release_notes.rst:555 msgid "pgr_version is now on SQL language" msgstr "" -#: ../../build/doc/release_notes.rst:512 +#: ../../build/doc/release_notes.rst:558 msgid "Breaking change on:" msgstr "" -#: ../../build/doc/release_notes.rst:513 +#: ../../build/doc/release_notes.rst:559 msgid "pgr_edgeDisjointPaths:" msgstr "" -#: ../../build/doc/release_notes.rst:515 +#: ../../build/doc/release_notes.rst:561 msgid "Added path_id, cost and agg_cost columns on the result" msgstr "" -#: ../../build/doc/release_notes.rst:516 +#: ../../build/doc/release_notes.rst:562 msgid "Parameter names changed" msgstr "" -#: ../../build/doc/release_notes.rst:517 +#: ../../build/doc/release_notes.rst:563 msgid "The many version results are the union of the one to one version" msgstr "" -#: ../../build/doc/release_notes.rst:520 +#: ../../build/doc/release_notes.rst:566 msgid "New Signatures:" msgstr "" -#: ../../build/doc/release_notes.rst:521 +#: ../../build/doc/release_notes.rst:567 msgid "pgr_bdAstar(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:524 ../../build/doc/release_notes.rst:683 +#: ../../build/doc/release_notes.rst:570 ../../build/doc/release_notes.rst:729 msgid "New Proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:532 +#: ../../build/doc/release_notes.rst:578 msgid "pgr_bdAstarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:540 +#: ../../build/doc/release_notes.rst:586 msgid "pgr_bdDijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:541 +#: ../../build/doc/release_notes.rst:587 msgid "pgr_lineGraph" msgstr "" -#: ../../build/doc/release_notes.rst:550 ../../build/doc/release_notes.rst:620 -#: ../../build/doc/release_notes.rst:707 +#: ../../build/doc/release_notes.rst:596 ../../build/doc/release_notes.rst:666 +#: ../../build/doc/release_notes.rst:753 msgid "Deprecated Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:551 +#: ../../build/doc/release_notes.rst:597 msgid "pgr_bdastar - use pgr_bdAstar instead" msgstr "" -#: ../../build/doc/release_notes.rst:554 +#: ../../build/doc/release_notes.rst:600 msgid "Renamed Functions" msgstr "" -#: ../../build/doc/release_notes.rst:555 +#: ../../build/doc/release_notes.rst:601 msgid "pgr_maxFlowPushRelabel - use pgr_pushRelabel instead" msgstr "" -#: ../../build/doc/release_notes.rst:556 +#: ../../build/doc/release_notes.rst:602 msgid "pgr_maxFlowEdmondsKarp -use pgr_edmondsKarp instead" msgstr "" -#: ../../build/doc/release_notes.rst:557 +#: ../../build/doc/release_notes.rst:603 msgid "pgr_maxFlowBoykovKolmogorov - use pgr_boykovKolmogorov instead" msgstr "" -#: ../../build/doc/release_notes.rst:558 +#: ../../build/doc/release_notes.rst:604 msgid "pgr_maximumCardinalityMatching - use pgr_maxCardinalityMatch instead" msgstr "" -#: ../../build/doc/release_notes.rst:561 +#: ../../build/doc/release_notes.rst:607 msgid "Deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:562 +#: ../../build/doc/release_notes.rst:608 msgid "pgr_pointToEdgeNode" msgstr "" -#: ../../build/doc/release_notes.rst:568 +#: ../../build/doc/release_notes.rst:614 msgid "pgRouting 2.4.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:570 +#: ../../build/doc/release_notes.rst:616 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1309,27 +1407,27 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:573 +#: ../../build/doc/release_notes.rst:619 msgid "Improvement" msgstr "" -#: ../../build/doc/release_notes.rst:574 +#: ../../build/doc/release_notes.rst:620 msgid "Works for postgreSQL 10" msgstr "" -#: ../../build/doc/release_notes.rst:578 +#: ../../build/doc/release_notes.rst:624 msgid "Fixed: Unexpected error column \"cname\"" msgstr "" -#: ../../build/doc/release_notes.rst:579 +#: ../../build/doc/release_notes.rst:625 msgid "Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" msgstr "" -#: ../../build/doc/release_notes.rst:586 +#: ../../build/doc/release_notes.rst:632 msgid "pgRouting 2.4.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:588 +#: ../../build/doc/release_notes.rst:634 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1338,19 +1436,19 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:592 +#: ../../build/doc/release_notes.rst:638 msgid "Fixed compiling error on macOS" msgstr "" -#: ../../build/doc/release_notes.rst:593 +#: ../../build/doc/release_notes.rst:639 msgid "Condition error on pgr_withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:598 +#: ../../build/doc/release_notes.rst:644 msgid "pgRouting 2.4.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:600 +#: ../../build/doc/release_notes.rst:646 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.4.0 " @@ -1358,80 +1456,80 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:603 ../../build/doc/release_notes.rst:673 -#: ../../build/doc/release_notes.rst:834 +#: ../../build/doc/release_notes.rst:649 ../../build/doc/release_notes.rst:719 +#: ../../build/doc/release_notes.rst:880 msgid "New Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:604 +#: ../../build/doc/release_notes.rst:650 msgid "pgr_bdDijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:608 +#: ../../build/doc/release_notes.rst:654 msgid "New Proposed Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:610 +#: ../../build/doc/release_notes.rst:656 msgid "pgr_astar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:611 +#: ../../build/doc/release_notes.rst:657 msgid "pgr_astar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:612 +#: ../../build/doc/release_notes.rst:658 msgid "pgr_astar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:613 +#: ../../build/doc/release_notes.rst:659 msgid "pgr_astarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:614 +#: ../../build/doc/release_notes.rst:660 msgid "pgr_astarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:615 +#: ../../build/doc/release_notes.rst:661 msgid "pgr_astarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:616 +#: ../../build/doc/release_notes.rst:662 msgid "pgr_astarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:617 +#: ../../build/doc/release_notes.rst:663 msgid "pgr_astarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:621 +#: ../../build/doc/release_notes.rst:667 msgid "pgr_bddijkstra - use pgr_bdDijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:624 ../../build/doc/release_notes.rst:713 +#: ../../build/doc/release_notes.rst:670 ../../build/doc/release_notes.rst:759 msgid "Deprecated Functions" msgstr "" -#: ../../build/doc/release_notes.rst:625 +#: ../../build/doc/release_notes.rst:671 msgid "pgr_pointsToVids" msgstr "" -#: ../../build/doc/release_notes.rst:629 +#: ../../build/doc/release_notes.rst:675 msgid "Bug fixes on proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:631 +#: ../../build/doc/release_notes.rst:677 msgid "pgr_withPointsKSP: fixed ordering" msgstr "" -#: ../../build/doc/release_notes.rst:633 +#: ../../build/doc/release_notes.rst:679 msgid "TRSP original code is used with no changes on the compilation warnings" msgstr "" -#: ../../build/doc/release_notes.rst:638 +#: ../../build/doc/release_notes.rst:684 msgid "pgRouting 2.3.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:640 +#: ../../build/doc/release_notes.rst:686 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.2 " @@ -1439,27 +1537,27 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:644 +#: ../../build/doc/release_notes.rst:690 msgid "Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck." msgstr "" -#: ../../build/doc/release_notes.rst:645 +#: ../../build/doc/release_notes.rst:691 msgid "Fixed pgr_trsp:" msgstr "" -#: ../../build/doc/release_notes.rst:647 +#: ../../build/doc/release_notes.rst:693 msgid "Alternate code is not executed when the point is in reality a vertex" msgstr "" -#: ../../build/doc/release_notes.rst:648 +#: ../../build/doc/release_notes.rst:694 msgid "Fixed ambiguity on seq" msgstr "" -#: ../../build/doc/release_notes.rst:654 +#: ../../build/doc/release_notes.rst:700 msgid "pgRouting 2.3.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:656 +#: ../../build/doc/release_notes.rst:702 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.1 " @@ -1467,23 +1565,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:660 +#: ../../build/doc/release_notes.rst:706 msgid "Leaks on proposed max_flow functions" msgstr "" -#: ../../build/doc/release_notes.rst:661 +#: ../../build/doc/release_notes.rst:707 msgid "Regression error on pgr_trsp" msgstr "" -#: ../../build/doc/release_notes.rst:662 +#: ../../build/doc/release_notes.rst:708 msgid "Types discrepancy on pgr_createVerticesTable" msgstr "" -#: ../../build/doc/release_notes.rst:668 +#: ../../build/doc/release_notes.rst:714 msgid "pgRouting 2.3.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:670 +#: ../../build/doc/release_notes.rst:716 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.0 " @@ -1491,111 +1589,111 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:674 +#: ../../build/doc/release_notes.rst:720 msgid "pgr_TSP" msgstr "" -#: ../../build/doc/release_notes.rst:675 +#: ../../build/doc/release_notes.rst:721 msgid "pgr_aStar" msgstr "" -#: ../../build/doc/release_notes.rst:678 ../../build/doc/release_notes.rst:790 +#: ../../build/doc/release_notes.rst:724 ../../build/doc/release_notes.rst:836 msgid "New Functions" msgstr "" -#: ../../build/doc/release_notes.rst:679 +#: ../../build/doc/release_notes.rst:725 msgid "pgr_eucledianTSP" msgstr "" -#: ../../build/doc/release_notes.rst:685 +#: ../../build/doc/release_notes.rst:731 msgid "pgr_withPointsCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:686 +#: ../../build/doc/release_notes.rst:732 msgid "pgr_maxFlowPushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:687 +#: ../../build/doc/release_notes.rst:733 msgid "pgr_maxFlowPushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:688 +#: ../../build/doc/release_notes.rst:734 msgid "pgr_maxFlowPushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:689 +#: ../../build/doc/release_notes.rst:735 msgid "pgr_maxFlowPushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:690 +#: ../../build/doc/release_notes.rst:736 msgid "pgr_maxFlowEdmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:691 +#: ../../build/doc/release_notes.rst:737 msgid "pgr_maxFlowEdmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:692 +#: ../../build/doc/release_notes.rst:738 msgid "pgr_maxFlowEdmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:693 +#: ../../build/doc/release_notes.rst:739 msgid "pgr_maxFlowEdmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:694 +#: ../../build/doc/release_notes.rst:740 msgid "pgr_maxFlowBoykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:695 +#: ../../build/doc/release_notes.rst:741 msgid "pgr_maxFlowBoykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:696 +#: ../../build/doc/release_notes.rst:742 msgid "pgr_maxFlowBoykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:697 +#: ../../build/doc/release_notes.rst:743 msgid "pgr_maxFlowBoykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:698 +#: ../../build/doc/release_notes.rst:744 msgid "pgr_maximumCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:703 +#: ../../build/doc/release_notes.rst:749 msgid "pgr_contractGraph" msgstr "" -#: ../../build/doc/release_notes.rst:708 +#: ../../build/doc/release_notes.rst:754 msgid "pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead" msgstr "" -#: ../../build/doc/release_notes.rst:709 +#: ../../build/doc/release_notes.rst:755 msgid "pgr_astar - use pgr_aStar instead" msgstr "" -#: ../../build/doc/release_notes.rst:714 +#: ../../build/doc/release_notes.rst:760 msgid "pgr_flip_edges" msgstr "" -#: ../../build/doc/release_notes.rst:715 +#: ../../build/doc/release_notes.rst:761 msgid "pgr_vidsToDmatrix" msgstr "" -#: ../../build/doc/release_notes.rst:716 +#: ../../build/doc/release_notes.rst:762 msgid "pgr_pointsToDMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:717 +#: ../../build/doc/release_notes.rst:763 msgid "pgr_textToPoints" msgstr "" -#: ../../build/doc/release_notes.rst:724 +#: ../../build/doc/release_notes.rst:770 msgid "pgRouting 2.2.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:726 +#: ../../build/doc/release_notes.rst:772 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.4 " @@ -1603,23 +1701,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:730 +#: ../../build/doc/release_notes.rst:776 msgid "Bogus uses of extern \"C\"" msgstr "" -#: ../../build/doc/release_notes.rst:731 +#: ../../build/doc/release_notes.rst:777 msgid "Build error on Fedora 24 + GCC 6.0" msgstr "" -#: ../../build/doc/release_notes.rst:732 +#: ../../build/doc/release_notes.rst:778 msgid "Regression error pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:737 +#: ../../build/doc/release_notes.rst:783 msgid "pgRouting 2.2.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:739 +#: ../../build/doc/release_notes.rst:785 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.3 " @@ -1627,15 +1725,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:743 +#: ../../build/doc/release_notes.rst:789 msgid "Fixed compatibility issues with PostgreSQL 9.6." msgstr "" -#: ../../build/doc/release_notes.rst:748 +#: ../../build/doc/release_notes.rst:794 msgid "pgRouting 2.2.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:750 +#: ../../build/doc/release_notes.rst:796 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.2 " @@ -1643,15 +1741,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:754 +#: ../../build/doc/release_notes.rst:800 msgid "Fixed regression error on pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:760 +#: ../../build/doc/release_notes.rst:806 msgid "pgRouting 2.2.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:762 +#: ../../build/doc/release_notes.rst:808 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.1 " @@ -1659,19 +1757,19 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:766 +#: ../../build/doc/release_notes.rst:812 msgid "Server crash fix on pgr_alphaShape" msgstr "" -#: ../../build/doc/release_notes.rst:767 +#: ../../build/doc/release_notes.rst:813 msgid "Bug fix on With Points family of functions" msgstr "" -#: ../../build/doc/release_notes.rst:773 +#: ../../build/doc/release_notes.rst:819 msgid "pgRouting 2.2.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:775 +#: ../../build/doc/release_notes.rst:821 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.0 " @@ -1679,131 +1777,131 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:779 ../../build/doc/release_notes.rst:847 +#: ../../build/doc/release_notes.rst:825 ../../build/doc/release_notes.rst:893 msgid "Improvements" msgstr "" -#: ../../build/doc/release_notes.rst:780 +#: ../../build/doc/release_notes.rst:826 msgid "pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:782 +#: ../../build/doc/release_notes.rst:828 msgid "Adding a row_where and outall optional parameters" msgstr "" -#: ../../build/doc/release_notes.rst:784 +#: ../../build/doc/release_notes.rst:830 msgid "Signature fix" msgstr "" -#: ../../build/doc/release_notes.rst:786 +#: ../../build/doc/release_notes.rst:832 msgid "pgr_dijkstra -- to match what is documented" msgstr "" -#: ../../build/doc/release_notes.rst:792 +#: ../../build/doc/release_notes.rst:838 msgid "pgr_Johnson" msgstr "" -#: ../../build/doc/release_notes.rst:793 +#: ../../build/doc/release_notes.rst:839 msgid "pgr_dijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:794 +#: ../../build/doc/release_notes.rst:840 msgid "pgr_dijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:795 +#: ../../build/doc/release_notes.rst:841 msgid "pgr_dijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:796 +#: ../../build/doc/release_notes.rst:842 msgid "pgr_dijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:799 ../../build/doc/release_notes.rst:851 +#: ../../build/doc/release_notes.rst:845 ../../build/doc/release_notes.rst:897 msgid "Proposed functionality" msgstr "" -#: ../../build/doc/release_notes.rst:800 +#: ../../build/doc/release_notes.rst:846 msgid "pgr_withPoints(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:801 +#: ../../build/doc/release_notes.rst:847 msgid "pgr_withPoints(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:802 +#: ../../build/doc/release_notes.rst:848 msgid "pgr_withPoints(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:803 +#: ../../build/doc/release_notes.rst:849 msgid "pgr_withPoints(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:804 +#: ../../build/doc/release_notes.rst:850 msgid "pgr_withPointsCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:805 +#: ../../build/doc/release_notes.rst:851 msgid "pgr_withPointsCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:806 +#: ../../build/doc/release_notes.rst:852 msgid "pgr_withPointsCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:807 +#: ../../build/doc/release_notes.rst:853 msgid "pgr_withPointsCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:808 +#: ../../build/doc/release_notes.rst:854 msgid "pgr_withPointsDD(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:809 +#: ../../build/doc/release_notes.rst:855 msgid "pgr_withPointsDD(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:810 +#: ../../build/doc/release_notes.rst:856 msgid "pgr_withPointsKSP" msgstr "" -#: ../../build/doc/release_notes.rst:811 +#: ../../build/doc/release_notes.rst:857 msgid "pgr_dijkstraVia" msgstr "" -#: ../../build/doc/release_notes.rst:815 +#: ../../build/doc/release_notes.rst:861 msgid "Deprecated functions:" msgstr "" -#: ../../build/doc/release_notes.rst:816 +#: ../../build/doc/release_notes.rst:862 msgid "pgr_apspWarshall use pgr_floydWarshall instead" msgstr "" -#: ../../build/doc/release_notes.rst:817 +#: ../../build/doc/release_notes.rst:863 msgid "pgr_apspJohnson use pgr_Johnson instead" msgstr "" -#: ../../build/doc/release_notes.rst:818 +#: ../../build/doc/release_notes.rst:864 msgid "pgr_kDijkstraCost use pgr_dijkstraCost instead" msgstr "" -#: ../../build/doc/release_notes.rst:819 +#: ../../build/doc/release_notes.rst:865 msgid "pgr_kDijkstraPath use pgr_dijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:822 +#: ../../build/doc/release_notes.rst:868 msgid "Renamed and deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:823 +#: ../../build/doc/release_notes.rst:869 msgid "pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:829 +#: ../../build/doc/release_notes.rst:875 msgid "pgRouting 2.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:831 +#: ../../build/doc/release_notes.rst:877 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.1.0 " @@ -1811,199 +1909,199 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:835 +#: ../../build/doc/release_notes.rst:881 msgid "pgr_dijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:836 +#: ../../build/doc/release_notes.rst:882 msgid "pgr_dijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:837 +#: ../../build/doc/release_notes.rst:883 msgid "pgr_dijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:838 +#: ../../build/doc/release_notes.rst:884 msgid "pgr_drivingDistance(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:841 +#: ../../build/doc/release_notes.rst:887 msgid "Refactored" msgstr "" -#: ../../build/doc/release_notes.rst:842 +#: ../../build/doc/release_notes.rst:888 msgid "pgr_dijkstra(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:843 +#: ../../build/doc/release_notes.rst:889 msgid "pgr_ksp" msgstr "" -#: ../../build/doc/release_notes.rst:844 +#: ../../build/doc/release_notes.rst:890 msgid "pgr_drivingDistance(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:848 +#: ../../build/doc/release_notes.rst:894 msgid "" "pgr_alphaShape function now can generate better (multi)polygon with holes" " and alpha parameter." msgstr "" -#: ../../build/doc/release_notes.rst:852 +#: ../../build/doc/release_notes.rst:898 msgid "" "Proposed functions from Steve Woodbridge, (Classified as Convenience by " "the author.)" msgstr "" -#: ../../build/doc/release_notes.rst:854 +#: ../../build/doc/release_notes.rst:900 msgid "" "pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on " "closest edge." msgstr "" -#: ../../build/doc/release_notes.rst:855 +#: ../../build/doc/release_notes.rst:901 msgid "" "pgr_flipEdges - flip the edges in an array of geometries so the connect " "end to end." msgstr "" -#: ../../build/doc/release_notes.rst:856 +#: ../../build/doc/release_notes.rst:902 msgid "" "pgr_textToPoints - convert a string of x,y;x,y;... locations into point " "geometries." msgstr "" -#: ../../build/doc/release_notes.rst:857 +#: ../../build/doc/release_notes.rst:903 msgid "pgr_pointsToVids - convert an array of point geometries into vertex ids." msgstr "" -#: ../../build/doc/release_notes.rst:858 +#: ../../build/doc/release_notes.rst:904 msgid "pgr_pointsToDMatrix - Create a distance matrix from an array of points." msgstr "" -#: ../../build/doc/release_notes.rst:859 ../../build/doc/release_notes.rst:860 +#: ../../build/doc/release_notes.rst:905 ../../build/doc/release_notes.rst:906 msgid "pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." msgstr "" -#: ../../build/doc/release_notes.rst:862 +#: ../../build/doc/release_notes.rst:908 msgid "Added proposed functions from GSoc Projects:" msgstr "" -#: ../../build/doc/release_notes.rst:864 +#: ../../build/doc/release_notes.rst:910 msgid "pgr_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:865 +#: ../../build/doc/release_notes.rst:911 msgid "pgr_vrponedepot" msgstr "" -#: ../../build/doc/release_notes.rst:868 +#: ../../build/doc/release_notes.rst:914 msgid "Deprecated functions" msgstr "" -#: ../../build/doc/release_notes.rst:869 +#: ../../build/doc/release_notes.rst:915 msgid "pgr_getColumnName" msgstr "" -#: ../../build/doc/release_notes.rst:870 +#: ../../build/doc/release_notes.rst:916 msgid "pgr_getTableName" msgstr "" -#: ../../build/doc/release_notes.rst:871 +#: ../../build/doc/release_notes.rst:917 msgid "pgr_isColumnCndexed" msgstr "" -#: ../../build/doc/release_notes.rst:872 +#: ../../build/doc/release_notes.rst:918 msgid "pgr_isColumnInTable" msgstr "" -#: ../../build/doc/release_notes.rst:873 +#: ../../build/doc/release_notes.rst:919 msgid "pgr_quote_ident" msgstr "" -#: ../../build/doc/release_notes.rst:874 +#: ../../build/doc/release_notes.rst:920 msgid "pgr_versionless" msgstr "" -#: ../../build/doc/release_notes.rst:875 +#: ../../build/doc/release_notes.rst:921 msgid "pgr_startPoint" msgstr "" -#: ../../build/doc/release_notes.rst:876 +#: ../../build/doc/release_notes.rst:922 msgid "pgr_endPoint" msgstr "" -#: ../../build/doc/release_notes.rst:877 +#: ../../build/doc/release_notes.rst:923 msgid "pgr_pointToId" msgstr "" -#: ../../build/doc/release_notes.rst:880 +#: ../../build/doc/release_notes.rst:926 msgid "No longer supported" msgstr "" -#: ../../build/doc/release_notes.rst:881 +#: ../../build/doc/release_notes.rst:927 msgid "Removed the 1.x legacy functions" msgstr "" -#: ../../build/doc/release_notes.rst:885 +#: ../../build/doc/release_notes.rst:931 msgid "Some bug fixes in other functions" msgstr "" -#: ../../build/doc/release_notes.rst:889 +#: ../../build/doc/release_notes.rst:935 msgid "Refactoring Internal Code" msgstr "" -#: ../../build/doc/release_notes.rst:890 +#: ../../build/doc/release_notes.rst:936 msgid "A C and C++ library for developer was created" msgstr "" -#: ../../build/doc/release_notes.rst:892 +#: ../../build/doc/release_notes.rst:938 msgid "encapsulates postgreSQL related functions" msgstr "" -#: ../../build/doc/release_notes.rst:893 +#: ../../build/doc/release_notes.rst:939 msgid "encapsulates Boost.Graph graphs" msgstr "" -#: ../../build/doc/release_notes.rst:895 +#: ../../build/doc/release_notes.rst:941 msgid "Directed Boost.Graph" msgstr "" -#: ../../build/doc/release_notes.rst:896 +#: ../../build/doc/release_notes.rst:942 msgid "Undirected Boost.graph." msgstr "" -#: ../../build/doc/release_notes.rst:898 +#: ../../build/doc/release_notes.rst:944 msgid "allow any-integer in the id's" msgstr "" -#: ../../build/doc/release_notes.rst:899 +#: ../../build/doc/release_notes.rst:945 msgid "allow any-numerical on the cost/reverse_cost columns" msgstr "" -#: ../../build/doc/release_notes.rst:901 +#: ../../build/doc/release_notes.rst:947 msgid "" "Instead of generating many libraries: - All functions are encapsulated in" " one library - The library has the prefix 2-1-0" msgstr "" -#: ../../build/doc/release_notes.rst:910 +#: ../../build/doc/release_notes.rst:956 msgid "pgRouting 2.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:912 +#: ../../build/doc/release_notes.rst:958 msgid "Minor bug fixes." msgstr "" -#: ../../build/doc/release_notes.rst:916 +#: ../../build/doc/release_notes.rst:962 msgid "No track of the bug fixes were kept." msgstr "" -#: ../../build/doc/release_notes.rst:922 +#: ../../build/doc/release_notes.rst:968 msgid "pgRouting 2.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:924 +#: ../../build/doc/release_notes.rst:970 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.0.0 " @@ -2011,162 +2109,162 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:926 +#: ../../build/doc/release_notes.rst:972 msgid "" "With the release of pgRouting 2.0.0 the library has abandoned backwards " "compatibility to :ref:`pgRouting 1.x ` releases. The main " "Goals for this release are:" msgstr "" -#: ../../build/doc/release_notes.rst:929 +#: ../../build/doc/release_notes.rst:975 msgid "Major restructuring of pgRouting." msgstr "" -#: ../../build/doc/release_notes.rst:930 +#: ../../build/doc/release_notes.rst:976 msgid "Standardization of the function naming" msgstr "" -#: ../../build/doc/release_notes.rst:931 +#: ../../build/doc/release_notes.rst:977 msgid "Preparation of the project for future development." msgstr "" -#: ../../build/doc/release_notes.rst:933 +#: ../../build/doc/release_notes.rst:979 msgid "As a result of this effort:" msgstr "" -#: ../../build/doc/release_notes.rst:935 +#: ../../build/doc/release_notes.rst:981 msgid "pgRouting has a simplified structure" msgstr "" -#: ../../build/doc/release_notes.rst:936 +#: ../../build/doc/release_notes.rst:982 msgid "Significant new functionality has being added" msgstr "" -#: ../../build/doc/release_notes.rst:937 +#: ../../build/doc/release_notes.rst:983 msgid "Documentation has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:938 +#: ../../build/doc/release_notes.rst:984 msgid "Testing has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:939 +#: ../../build/doc/release_notes.rst:985 msgid "And made it easier for multiple developers to make contributions." msgstr "" -#: ../../build/doc/release_notes.rst:943 +#: ../../build/doc/release_notes.rst:989 msgid "Important Changes" msgstr "" -#: ../../build/doc/release_notes.rst:944 +#: ../../build/doc/release_notes.rst:990 msgid "" "Graph Analytics - tools for detecting and fixing connection some problems" " in a graph" msgstr "" -#: ../../build/doc/release_notes.rst:945 +#: ../../build/doc/release_notes.rst:991 msgid "A collection of useful utility functions" msgstr "" -#: ../../build/doc/release_notes.rst:946 +#: ../../build/doc/release_notes.rst:992 msgid "" "Two new All Pairs Short Path algorithms (pgr_apspJohnson, " "pgr_apspWarshall)" msgstr "" -#: ../../build/doc/release_notes.rst:947 +#: ../../build/doc/release_notes.rst:993 msgid "" "Bi-directional Dijkstra and A-star search algorithms (pgr_bdAstar, " "pgr_bdDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:948 +#: ../../build/doc/release_notes.rst:994 msgid "One to many nodes search (pgr_kDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:949 +#: ../../build/doc/release_notes.rst:995 msgid "K alternate paths shortest path (pgr_ksp)" msgstr "" -#: ../../build/doc/release_notes.rst:950 +#: ../../build/doc/release_notes.rst:996 msgid "" "New TSP solver that simplifies the code and the build process (pgr_tsp), " "dropped \"Gaul Library\" dependency" msgstr "" -#: ../../build/doc/release_notes.rst:951 +#: ../../build/doc/release_notes.rst:997 msgid "Turn Restricted shortest path (pgr_trsp) that replaces Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:952 +#: ../../build/doc/release_notes.rst:998 msgid "Dropped support for Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:953 +#: ../../build/doc/release_notes.rst:999 msgid "" "Built a test infrastructure that is run before major code changes are " "checked in" msgstr "" -#: ../../build/doc/release_notes.rst:954 +#: ../../build/doc/release_notes.rst:1000 msgid "" "Tested and fixed most all of the outstanding bugs reported against 1.x " "that existing in the 2.0-dev code base." msgstr "" -#: ../../build/doc/release_notes.rst:955 +#: ../../build/doc/release_notes.rst:1001 msgid "Improved build process for Windows" msgstr "" -#: ../../build/doc/release_notes.rst:956 +#: ../../build/doc/release_notes.rst:1002 msgid "Automated testing on Linux and Windows platforms trigger by every commit" msgstr "" -#: ../../build/doc/release_notes.rst:957 +#: ../../build/doc/release_notes.rst:1003 msgid "Modular library design" msgstr "" -#: ../../build/doc/release_notes.rst:958 +#: ../../build/doc/release_notes.rst:1004 msgid "Compatibility with PostgreSQL 9.1 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:959 +#: ../../build/doc/release_notes.rst:1005 msgid "Compatibility with PostGIS 2.0 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:960 +#: ../../build/doc/release_notes.rst:1006 msgid "Installs as PostgreSQL EXTENSION" msgstr "" -#: ../../build/doc/release_notes.rst:961 +#: ../../build/doc/release_notes.rst:1007 msgid "Return types re factored and unified" msgstr "" -#: ../../build/doc/release_notes.rst:962 +#: ../../build/doc/release_notes.rst:1008 msgid "Support for table SCHEMA in function parameters" msgstr "" -#: ../../build/doc/release_notes.rst:963 +#: ../../build/doc/release_notes.rst:1009 msgid "Support for ``st_`` PostGIS function prefix" msgstr "" -#: ../../build/doc/release_notes.rst:964 +#: ../../build/doc/release_notes.rst:1010 msgid "Added ``pgr_`` prefix to functions and types" msgstr "" -#: ../../build/doc/release_notes.rst:965 +#: ../../build/doc/release_notes.rst:1011 msgid "Better documentation: https://docs.pgrouting.org" msgstr "" -#: ../../build/doc/release_notes.rst:966 +#: ../../build/doc/release_notes.rst:1012 msgid "shooting_star is discontinued" msgstr "" -#: ../../build/doc/release_notes.rst:973 +#: ../../build/doc/release_notes.rst:1019 msgid "pgRouting 1.x Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:975 +#: ../../build/doc/release_notes.rst:1021 msgid "" "To see the issues closed by this release see the `Git closed issues for " "1.x " @@ -2175,93 +2273,94 @@ msgid "" "previous ``RELEASE_NOTES`` file and are kept as a reference." msgstr "" -#: ../../build/doc/release_notes.rst:980 +#: ../../build/doc/release_notes.rst:1026 msgid "Changes for release 1.05" msgstr "" -#: ../../build/doc/release_notes.rst:986 +#: ../../build/doc/release_notes.rst:1032 msgid "Changes for release 1.03" msgstr "" -#: ../../build/doc/release_notes.rst:988 +#: ../../build/doc/release_notes.rst:1034 msgid "Much faster topology creation" msgstr "" -#: ../../build/doc/release_notes.rst:993 +#: ../../build/doc/release_notes.rst:1039 msgid "Changes for release 1.02" msgstr "" -#: ../../build/doc/release_notes.rst:995 ../../build/doc/release_notes.rst:1002 +#: ../../build/doc/release_notes.rst:1041 +#: ../../build/doc/release_notes.rst:1048 msgid "Shooting* bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:996 +#: ../../build/doc/release_notes.rst:1042 msgid "Compilation problems solved" msgstr "" -#: ../../build/doc/release_notes.rst:1000 +#: ../../build/doc/release_notes.rst:1046 msgid "Changes for release 1.01" msgstr "" -#: ../../build/doc/release_notes.rst:1006 +#: ../../build/doc/release_notes.rst:1052 msgid "Changes for release 1.0" msgstr "" -#: ../../build/doc/release_notes.rst:1008 +#: ../../build/doc/release_notes.rst:1054 msgid "Core and extra functions are separated" msgstr "" -#: ../../build/doc/release_notes.rst:1009 +#: ../../build/doc/release_notes.rst:1055 msgid "Cmake build process" msgstr "" -#: ../../build/doc/release_notes.rst:1014 +#: ../../build/doc/release_notes.rst:1060 msgid "Changes for release 1.0.0b" msgstr "" -#: ../../build/doc/release_notes.rst:1016 +#: ../../build/doc/release_notes.rst:1062 msgid "Additional SQL file with more simple names for wrapper functions" msgstr "" -#: ../../build/doc/release_notes.rst:1021 +#: ../../build/doc/release_notes.rst:1067 msgid "Changes for release 1.0.0a" msgstr "" -#: ../../build/doc/release_notes.rst:1023 +#: ../../build/doc/release_notes.rst:1069 msgid "Shooting* shortest path algorithm for real road networks" msgstr "" -#: ../../build/doc/release_notes.rst:1024 +#: ../../build/doc/release_notes.rst:1070 msgid "Several SQL bugs were fixed" msgstr "" -#: ../../build/doc/release_notes.rst:1028 +#: ../../build/doc/release_notes.rst:1074 msgid "Changes for release 0.9.9" msgstr "" -#: ../../build/doc/release_notes.rst:1030 +#: ../../build/doc/release_notes.rst:1076 msgid "PostgreSQL 8.2 support" msgstr "" -#: ../../build/doc/release_notes.rst:1031 +#: ../../build/doc/release_notes.rst:1077 msgid "" "Shortest path functions return empty result if they could not find any " "path" msgstr "" -#: ../../build/doc/release_notes.rst:1035 +#: ../../build/doc/release_notes.rst:1081 msgid "Changes for release 0.9.8" msgstr "" -#: ../../build/doc/release_notes.rst:1037 +#: ../../build/doc/release_notes.rst:1083 msgid "Renumbering scheme was added to shortest path functions" msgstr "" -#: ../../build/doc/release_notes.rst:1038 +#: ../../build/doc/release_notes.rst:1084 msgid "Directed shortest path functions were added" msgstr "" -#: ../../build/doc/release_notes.rst:1039 +#: ../../build/doc/release_notes.rst:1085 msgid "routing_postgis.sql was modified to use dijkstra in TSP search" msgstr "" diff --git a/locale/pot/bdAstar-family.pot b/locale/pot/bdAstar-family.pot index 30d827ff406..6960f25d7c1 100644 --- a/locale/pot/bdAstar-family.pot +++ b/locale/pot/bdAstar-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -46,7 +46,8 @@ msgstr "" #: ../../build/doc/bdAstar-family.rst:39 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/bdAstar-family.rst:78 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/bdAstar-family.rst:88 msgid "Description" msgstr "" @@ -98,6 +99,10 @@ msgstr "" msgid "Signatures" msgstr "" +#: ../../build/doc/bdAstar-family.rst:69 +msgid "Edges query" +msgstr "" + #: ../../build/doc/pgRouting-concepts.rst:0 msgid "edges_sql" msgstr "" @@ -107,15 +112,18 @@ msgid "an SQL query, which should return a set of rows with the following column msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/bdAstar-family.rst:78 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/bdAstar-family.rst:88 msgid "Type" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -126,8 +134,10 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:10 -#: ../../build/doc/bdAstar-family.rst:81 -#: ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/bdAstar-family.rst:92 +#: ../../build/doc/bdAstar-family.rst:94 msgid "``ANY-INTEGER``" msgstr "" @@ -136,18 +146,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -221,14 +235,17 @@ msgid "Y coordinate of `target` vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:27 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -240,153 +257,166 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/bdAstar-family.rst:75 +#: ../../build/doc/bdAstar-family.rst:76 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/bdAstar-family.rst:85 msgid "Parameters" msgstr "" -#: ../../build/doc/bdAstar-family.rst:78 +#: ../../build/doc/bdAstar-family.rst:88 msgid "Parameter" msgstr "" -#: ../../build/doc/bdAstar-family.rst:80 -msgid "**edges_sql**" +#: ../../build/doc/bdAstar-family.rst:90 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:80 +#: ../../build/doc/bdAstar-family.rst:90 +#: ../../build/doc/bdAstar-family.rst:91 msgid "``TEXT``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:80 -msgid "Edges SQL query as described above." +#: ../../build/doc/bdAstar-family.rst:90 +msgid "Edges query as described above." +msgstr "" + +#: ../../build/doc/bdAstar-family.rst:91 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/bdAstar-family.rst:91 +msgid "Combinations query as described above." msgstr "" -#: ../../build/doc/bdAstar-family.rst:81 +#: ../../build/doc/bdAstar-family.rst:92 msgid "**start_vid**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:81 +#: ../../build/doc/bdAstar-family.rst:92 msgid "Starting vertex identifier." msgstr "" -#: ../../build/doc/bdAstar-family.rst:82 +#: ../../build/doc/bdAstar-family.rst:93 msgid "**start_vids**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:82 -#: ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:93 +#: ../../build/doc/bdAstar-family.rst:95 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:82 +#: ../../build/doc/bdAstar-family.rst:93 msgid "Starting vertices identifierers." msgstr "" -#: ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/bdAstar-family.rst:94 msgid "**end_vid**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/bdAstar-family.rst:94 msgid "Ending vertex identifier." msgstr "" -#: ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:95 msgid "**end_vids**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:95 msgid "Ending vertices identifiers." msgstr "" -#: ../../build/doc/bdAstar-family.rst:85 +#: ../../build/doc/bdAstar-family.rst:96 msgid "**directed**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:85 +#: ../../build/doc/bdAstar-family.rst:96 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:85 +#: ../../build/doc/bdAstar-family.rst:96 msgid "Optional." msgstr "" -#: ../../build/doc/bdAstar-family.rst:87 +#: ../../build/doc/bdAstar-family.rst:98 msgid "When ``false`` the graph is considered as Undirected." msgstr "" -#: ../../build/doc/bdAstar-family.rst:88 +#: ../../build/doc/bdAstar-family.rst:99 msgid "Default is ``true`` which considers the graph as Directed." msgstr "" -#: ../../build/doc/bdAstar-family.rst:90 +#: ../../build/doc/bdAstar-family.rst:101 msgid "**heuristic**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:90 +#: ../../build/doc/bdAstar-family.rst:101 msgid "``INTEGER``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:90 +#: ../../build/doc/bdAstar-family.rst:101 msgid "(optional). Heuristic number. Current valid values 0~5. Default ``5``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:92 +#: ../../build/doc/bdAstar-family.rst:103 msgid "0: h(v) = 0 (Use this value to compare with pgr_dijkstra)" msgstr "" -#: ../../build/doc/bdAstar-family.rst:93 +#: ../../build/doc/bdAstar-family.rst:104 msgid "1: h(v) abs(max(dx, dy))" msgstr "" -#: ../../build/doc/bdAstar-family.rst:94 +#: ../../build/doc/bdAstar-family.rst:105 msgid "2: h(v) abs(min(dx, dy))" msgstr "" -#: ../../build/doc/bdAstar-family.rst:95 +#: ../../build/doc/bdAstar-family.rst:106 msgid "3: h(v) = dx * dx + dy * dy" msgstr "" -#: ../../build/doc/bdAstar-family.rst:96 +#: ../../build/doc/bdAstar-family.rst:107 msgid "4: h(v) = sqrt(dx * dx + dy * dy)" msgstr "" -#: ../../build/doc/bdAstar-family.rst:97 +#: ../../build/doc/bdAstar-family.rst:108 msgid "5: h(v) = abs(dx) + abs(dy)" msgstr "" -#: ../../build/doc/bdAstar-family.rst:99 +#: ../../build/doc/bdAstar-family.rst:110 msgid "**factor**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:99 -#: ../../build/doc/bdAstar-family.rst:100 +#: ../../build/doc/bdAstar-family.rst:110 +#: ../../build/doc/bdAstar-family.rst:111 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/bdAstar-family.rst:99 +#: ../../build/doc/bdAstar-family.rst:110 msgid "(optional). For units manipulation. :math:`factor > 0`. Default ``1``. see :ref:`astar_factor`" msgstr "" -#: ../../build/doc/bdAstar-family.rst:100 +#: ../../build/doc/bdAstar-family.rst:111 msgid "**epsilon**" msgstr "" -#: ../../build/doc/bdAstar-family.rst:100 +#: ../../build/doc/bdAstar-family.rst:111 msgid "(optional). For less restricted results. :math:`epsilon >= 1`. Default ``1``." msgstr "" -#: ../../build/doc/bdAstar-family.rst:106 +#: ../../build/doc/bdAstar-family.rst:117 msgid "See Also" msgstr "" -#: ../../build/doc/bdAstar-family.rst:109 +#: ../../build/doc/bdAstar-family.rst:120 msgid "Indices and tables" msgstr "" -#: ../../build/doc/bdAstar-family.rst:110 +#: ../../build/doc/bdAstar-family.rst:121 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/bdAstar-family.rst:111 +#: ../../build/doc/bdAstar-family.rst:122 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/index.pot b/locale/pot/index.pot index 2c776f2dd01..21f8fbfe31a 100644 --- a/locale/pot/index.pot +++ b/locale/pot/index.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -375,126 +375,134 @@ msgid ":ref:`changelog_3_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:4 -msgid ":ref:`changelog_3_1_1`" +msgid ":ref:`changelog_3_1_2`" msgstr "" #: ../../build/doc/release_notes.rst:5 -msgid ":ref:`changelog_3_1_0`" +msgid ":ref:`changelog_3_1_1`" msgstr "" #: ../../build/doc/release_notes.rst:6 -msgid ":ref:`changelog_3_0_3`" +msgid ":ref:`changelog_3_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:7 -msgid ":ref:`changelog_3_0_2`" +msgid ":ref:`changelog_3_0_4`" msgstr "" #: ../../build/doc/release_notes.rst:8 -msgid ":ref:`changelog_3_0_1`" +msgid ":ref:`changelog_3_0_3`" msgstr "" #: ../../build/doc/release_notes.rst:9 -msgid ":ref:`changelog_3_0_0`" +msgid ":ref:`changelog_3_0_2`" msgstr "" #: ../../build/doc/release_notes.rst:10 -msgid ":ref:`changelog_2_6_3`" +msgid ":ref:`changelog_3_0_1`" msgstr "" #: ../../build/doc/release_notes.rst:11 -msgid ":ref:`changelog_2_6_2`" +msgid ":ref:`changelog_3_0_0`" msgstr "" #: ../../build/doc/release_notes.rst:12 -msgid ":ref:`changelog_2_6_1`" +msgid ":ref:`changelog_2_6_3`" msgstr "" #: ../../build/doc/release_notes.rst:13 -msgid ":ref:`changelog_2_6_0`" +msgid ":ref:`changelog_2_6_2`" msgstr "" #: ../../build/doc/release_notes.rst:14 -msgid ":ref:`changelog_2_5_5`" +msgid ":ref:`changelog_2_6_1`" msgstr "" #: ../../build/doc/release_notes.rst:15 -msgid ":ref:`changelog_2_5_4`" +msgid ":ref:`changelog_2_6_0`" msgstr "" #: ../../build/doc/release_notes.rst:16 -msgid ":ref:`changelog_2_5_3`" +msgid ":ref:`changelog_2_5_5`" msgstr "" #: ../../build/doc/release_notes.rst:17 -msgid ":ref:`changelog_2_5_2`" +msgid ":ref:`changelog_2_5_4`" msgstr "" #: ../../build/doc/release_notes.rst:18 -msgid ":ref:`changelog_2_5_1`" +msgid ":ref:`changelog_2_5_3`" msgstr "" #: ../../build/doc/release_notes.rst:19 -msgid ":ref:`changelog_2_5_0`" +msgid ":ref:`changelog_2_5_2`" msgstr "" #: ../../build/doc/release_notes.rst:20 -msgid ":ref:`changelog_2_4_2`" +msgid ":ref:`changelog_2_5_1`" msgstr "" #: ../../build/doc/release_notes.rst:21 -msgid ":ref:`changelog_2_4_1`" +msgid ":ref:`changelog_2_5_0`" msgstr "" #: ../../build/doc/release_notes.rst:22 -msgid ":ref:`changelog_2_4_0`" +msgid ":ref:`changelog_2_4_2`" msgstr "" #: ../../build/doc/release_notes.rst:23 -msgid ":ref:`changelog_2_3_2`" +msgid ":ref:`changelog_2_4_1`" msgstr "" #: ../../build/doc/release_notes.rst:24 -msgid ":ref:`changelog_2_3_1`" +msgid ":ref:`changelog_2_4_0`" msgstr "" #: ../../build/doc/release_notes.rst:25 -msgid ":ref:`changelog_2_3_0`" +msgid ":ref:`changelog_2_3_2`" msgstr "" #: ../../build/doc/release_notes.rst:26 -msgid ":ref:`changelog_2_2_4`" +msgid ":ref:`changelog_2_3_1`" msgstr "" #: ../../build/doc/release_notes.rst:27 -msgid ":ref:`changelog_2_2_3`" +msgid ":ref:`changelog_2_3_0`" msgstr "" #: ../../build/doc/release_notes.rst:28 -msgid ":ref:`changelog_2_2_2`" +msgid ":ref:`changelog_2_2_4`" msgstr "" #: ../../build/doc/release_notes.rst:29 -msgid ":ref:`changelog_2_2_1`" +msgid ":ref:`changelog_2_2_3`" msgstr "" #: ../../build/doc/release_notes.rst:30 -msgid ":ref:`changelog_2_2_0`" +msgid ":ref:`changelog_2_2_2`" msgstr "" #: ../../build/doc/release_notes.rst:31 -msgid ":ref:`changelog_2_1_0`" +msgid ":ref:`changelog_2_2_1`" msgstr "" #: ../../build/doc/release_notes.rst:32 -msgid ":ref:`changelog_2_0_1`" +msgid ":ref:`changelog_2_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:33 -msgid ":ref:`changelog_2_0_0`" +msgid ":ref:`changelog_2_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:34 +msgid ":ref:`changelog_2_0_1`" +msgstr "" + +#: ../../build/doc/release_notes.rst:35 +msgid ":ref:`changelog_2_0_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:36 msgid ":ref:`changelog_1_x`" msgstr "" diff --git a/locale/pot/pgr_aStar.pot b/locale/pot/pgr_aStar.pot index 11cd3031c99..264e92c51ec 100644 --- a/locale/pot/pgr_aStar.pot +++ b/locale/pot/pgr_aStar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,74 +33,87 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_aStar.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_aStar.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_aStar.rst:26 -msgid "Version 2.4.0" +msgid "pgr_aStar(Combinations)" msgstr "" #: ../../build/doc/pgr_aStar.rst:28 -msgid "New **Proposed** functions:" +msgid "Version 3.0.0" msgstr "" #: ../../build/doc/pgr_aStar.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:32 +msgid "Version 2.4.0" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:34 +msgid "New **Proposed** functions:" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:36 msgid "pgr_aStar(One to Many)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:31 +#: ../../build/doc/pgr_aStar.rst:37 msgid "pgr_aStar(Many to One)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:32 +#: ../../build/doc/pgr_aStar.rst:38 msgid "pgr_aStar(Many to Many)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:34 +#: ../../build/doc/pgr_aStar.rst:40 msgid "Version 2.3.0" msgstr "" -#: ../../build/doc/pgr_aStar.rst:36 +#: ../../build/doc/pgr_aStar.rst:42 msgid "Signature change on pgr_astar(One to One)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:38 +#: ../../build/doc/pgr_aStar.rst:44 msgid "Old signature no longer supported" msgstr "" -#: ../../build/doc/pgr_aStar.rst:40 +#: ../../build/doc/pgr_aStar.rst:46 msgid "Version 2.0.0" msgstr "" -#: ../../build/doc/pgr_aStar.rst:42 +#: ../../build/doc/pgr_aStar.rst:48 msgid "**Official** pgr_aStar(One to One)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:45 +#: ../../build/doc/pgr_aStar.rst:51 msgid "Support" msgstr "" -#: ../../build/doc/pgr_aStar.rst:46 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +#: ../../build/doc/pgr_aStar.rst:52 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__ `2.6 `__" msgstr "" -#: ../../build/doc/pgr_aStar.rst:51 +#: ../../build/doc/pgr_aStar.rst:58 msgid "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" msgstr "" -#: ../../build/doc/pgr_aStar.rst:60 -#: ../../build/doc/pgr_aStar.rst:186 -#: ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgr_aStar.rst:67 +#: ../../build/doc/pgr_aStar.rst:213 +#: ../../build/doc/pgr_aStar.rst:247 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/pgr_aStar.rst:62 +#: ../../build/doc/pgr_aStar.rst:69 msgid "**The main characteristics are:**" msgstr "" @@ -173,39 +186,39 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:68 +#: ../../build/doc/pgr_aStar.rst:75 msgid "The results are equivalent to the union of the results of the `pgr_aStar(` `One to One`_ `)` on the:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:70 +#: ../../build/doc/pgr_aStar.rst:77 msgid "`pgr_aStar(` `One to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:71 +#: ../../build/doc/pgr_aStar.rst:78 msgid "`pgr_aStar(` `Many to One`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:72 +#: ../../build/doc/pgr_aStar.rst:79 msgid "`pgr_aStar(` `Many to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:74 +#: ../../build/doc/pgr_aStar.rst:81 msgid "``start_vid`` and ``end_vid`` in the result is used to distinguish to which path it belongs." msgstr "" -#: ../../build/doc/pgr_aStar.rst:77 +#: ../../build/doc/pgr_aStar.rst:84 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_aStar.rst:80 +#: ../../build/doc/pgr_aStar.rst:87 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_aStar.rst:91 +#: ../../build/doc/pgr_aStar.rst:99 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" -#: ../../build/doc/pgr_aStar.rst:94 +#: ../../build/doc/pgr_aStar.rst:102 msgid "Using defaults" msgstr "" @@ -214,244 +227,269 @@ msgstr "" #: ../../build/doc/pgr_aStar.rst:0 #: ../../build/doc/pgr_aStar.rst:0 #: ../../build/doc/pgr_aStar.rst:0 +#: ../../build/doc/pgr_aStar.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_aStar.rst:101 +#: ../../build/doc/pgr_aStar.rst:109 msgid "From vertex :math:`2` to vertex :math:`12` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_aStar.rst:111 +#: ../../build/doc/pgr_aStar.rst:119 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_aStar.rst:120 +#: ../../build/doc/pgr_aStar.rst:128 msgid "From vertex :math:`2` to vertex :math:`12` on an **undirected** graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:130 +#: ../../build/doc/pgr_aStar.rst:138 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_aStar.rst:138 +#: ../../build/doc/pgr_aStar.rst:146 msgid "From vertex :math:`2` to vertices :math:`\\{3, 12\\}` on a **directed** graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:148 +#: ../../build/doc/pgr_aStar.rst:156 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_aStar.rst:156 +#: ../../build/doc/pgr_aStar.rst:164 msgid "From vertices :math:`\\{7, 2\\}` to vertex :math:`12` on a **directed** graph using heuristic :math:`0`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:166 +#: ../../build/doc/pgr_aStar.rst:174 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_aStar.rst:174 +#: ../../build/doc/pgr_aStar.rst:182 msgid "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 12\\}` on a **directed** graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:181 +#: ../../build/doc/pgr_aStar.rst:192 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:200 +msgid "Using a combinations table on a **directed** graph using heuristic :math:`2`." +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:208 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_aStar.rst:186 -#: ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgr_aStar.rst:213 +#: ../../build/doc/pgr_aStar.rst:247 msgid "Parameter" msgstr "" -#: ../../build/doc/pgr_aStar.rst:186 -#: ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgr_aStar.rst:213 +#: ../../build/doc/pgr_aStar.rst:247 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" -#: ../../build/doc/pgr_aStar.rst:188 -msgid "**edges_sql**" +#: ../../build/doc/pgr_aStar.rst:215 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:188 +#: ../../build/doc/pgr_aStar.rst:215 +#: ../../build/doc/pgr_aStar.rst:216 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:188 -msgid "`edges_sql`_ inner query." +#: ../../build/doc/pgr_aStar.rst:215 +msgid "`Edges query` as described below." +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:216 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:216 +msgid "`Combinations query` as described below." msgstr "" -#: ../../build/doc/pgr_aStar.rst:189 +#: ../../build/doc/pgr_aStar.rst:217 msgid "**from_vid**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:189 -#: ../../build/doc/pgr_aStar.rst:199 +#: ../../build/doc/pgr_aStar.rst:217 +#: ../../build/doc/pgr_aStar.rst:227 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:189 +#: ../../build/doc/pgr_aStar.rst:217 msgid "Starting vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:191 -#: ../../build/doc/pgr_aStar.rst:201 +#: ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgr_aStar.rst:229 msgid "`One to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:192 -#: ../../build/doc/pgr_aStar.rst:206 +#: ../../build/doc/pgr_aStar.rst:220 +#: ../../build/doc/pgr_aStar.rst:234 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "`One to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:194 +#: ../../build/doc/pgr_aStar.rst:222 msgid "**from_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:194 -#: ../../build/doc/pgr_aStar.rst:204 +#: ../../build/doc/pgr_aStar.rst:222 +#: ../../build/doc/pgr_aStar.rst:232 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:194 +#: ../../build/doc/pgr_aStar.rst:222 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:196 -#: ../../build/doc/pgr_aStar.rst:202 +#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:230 #: ../../build/doc/pgRouting-concepts.rst:13 msgid "`Many to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:197 -#: ../../build/doc/pgr_aStar.rst:207 +#: ../../build/doc/pgr_aStar.rst:225 +#: ../../build/doc/pgr_aStar.rst:235 #: ../../build/doc/pgRouting-concepts.rst:14 #: ../../build/doc/pgRouting-concepts.rst:20 msgid "`Many to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:199 +#: ../../build/doc/pgr_aStar.rst:227 msgid "**to_vid**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:199 +#: ../../build/doc/pgr_aStar.rst:227 msgid "Ending vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:204 +#: ../../build/doc/pgr_aStar.rst:232 msgid "**to_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:204 +#: ../../build/doc/pgr_aStar.rst:232 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:214 +#: ../../build/doc/pgr_aStar.rst:242 msgid "Optional Parameters" msgstr "" -#: ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgr_aStar.rst:247 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "When ``true`` the graph is considered as Directed." msgstr "" -#: ../../build/doc/pgr_aStar.rst:222 +#: ../../build/doc/pgr_aStar.rst:250 msgid "When ``false`` the graph is considered as Undirected." msgstr "" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "**heuristic**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "``INTEGER``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "``5``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "Heuristic number. Current valid values 0~5. Default ``5``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:226 +#: ../../build/doc/pgr_aStar.rst:254 msgid "0: h(v) = 0 (Use this value to compare with pgr_dijkstra)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:227 +#: ../../build/doc/pgr_aStar.rst:255 msgid "1: h(v) abs(max(dx, dy))" msgstr "" -#: ../../build/doc/pgr_aStar.rst:228 +#: ../../build/doc/pgr_aStar.rst:256 msgid "2: h(v) abs(min(dx, dy))" msgstr "" -#: ../../build/doc/pgr_aStar.rst:229 +#: ../../build/doc/pgr_aStar.rst:257 msgid "3: h(v) = dx * dx + dy * dy" msgstr "" -#: ../../build/doc/pgr_aStar.rst:230 +#: ../../build/doc/pgr_aStar.rst:258 msgid "4: h(v) = sqrt(dx * dx + dy * dy)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:231 +#: ../../build/doc/pgr_aStar.rst:259 msgid "5: h(v) = abs(dx) + abs(dy)" msgstr "" -#: ../../build/doc/pgr_aStar.rst:233 +#: ../../build/doc/pgr_aStar.rst:261 msgid "**factor**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:233 -#: ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgr_aStar.rst:261 +#: ../../build/doc/pgr_aStar.rst:262 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:233 -#: ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgr_aStar.rst:261 +#: ../../build/doc/pgr_aStar.rst:262 msgid "``1``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:233 +#: ../../build/doc/pgr_aStar.rst:261 msgid "For units manipulation. :math:`factor > 0`. See :ref:`astar_factor`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgr_aStar.rst:262 msgid "**epsilon**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgr_aStar.rst:262 msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "" -#: ../../build/doc/pgr_aStar.rst:240 -msgid "Inner query" +#: ../../build/doc/pgr_aStar.rst:268 +msgid "Inner queries" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:271 +msgid "Edges query" msgstr "" -#: ../../build/doc/pgr_aStar.rst:243 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "edges_sql" msgstr "" @@ -461,6 +499,7 @@ msgid "an SQL query, which should return a set of rows with the following column msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "" @@ -474,18 +513,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -560,14 +603,17 @@ msgid "Y coordinate of `target` vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:27 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -579,7 +625,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_aStar.rst:250 +#: ../../build/doc/pgr_aStar.rst:278 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:285 msgid "Result Columns" msgstr "" @@ -659,35 +709,35 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_aStar.rst:257 +#: ../../build/doc/pgr_aStar.rst:292 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_aStar.rst:259 +#: ../../build/doc/pgr_aStar.rst:294 msgid ":doc:`aStar-family`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:260 +#: ../../build/doc/pgr_aStar.rst:295 msgid ":doc:`sampledata`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:261 +#: ../../build/doc/pgr_aStar.rst:296 msgid "https://www.boost.org/libs/graph/doc/astar_search.html" msgstr "" -#: ../../build/doc/pgr_aStar.rst:262 +#: ../../build/doc/pgr_aStar.rst:297 msgid "https://en.wikipedia.org/wiki/A*_search_algorithm" msgstr "" -#: ../../build/doc/pgr_aStar.rst:265 +#: ../../build/doc/pgr_aStar.rst:300 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_aStar.rst:266 +#: ../../build/doc/pgr_aStar.rst:301 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_aStar.rst:267 +#: ../../build/doc/pgr_aStar.rst:302 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_aStarCost.pot b/locale/pot/pgr_aStarCost.pot index 6a3e0c39dad..6da954da205 100644 --- a/locale/pot/pgr_aStarCost.pot +++ b/locale/pot/pgr_aStarCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,42 +33,55 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:26 -msgid "Version 2.4.0" +msgid "pgr_aStarCost(Combinations)" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:28 -msgid "New **proposed** function" +msgid "Version 3.0.0" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:31 -msgid "Support" +#: ../../build/doc/pgr_aStarCost.rst:30 +msgid "**Official** function" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:32 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +msgid "Version 2.4.0" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:34 +msgid "New **proposed** function" msgstr "" #: ../../build/doc/pgr_aStarCost.rst:37 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:38 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__ `2.6 `__" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:44 msgid "**Unsupported versions:** `2.5 `__ `2.4 `__" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:42 +#: ../../build/doc/pgr_aStarCost.rst:49 #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:44 +#: ../../build/doc/pgr_aStarCost.rst:51 msgid "**The main characteristics are:**" msgstr "" @@ -141,35 +154,35 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:50 +#: ../../build/doc/pgr_aStarCost.rst:57 msgid "The results are equivalent to the union of the results of the `pgr_aStarCost(` `One to One`_ `)` on the:" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:52 +#: ../../build/doc/pgr_aStarCost.rst:59 msgid "`pgr_aStarCost(` `One to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:53 +#: ../../build/doc/pgr_aStarCost.rst:60 msgid "`pgr_aStarCost(` `Many to One`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:54 +#: ../../build/doc/pgr_aStarCost.rst:61 msgid "`pgr_aStarCost(` `Many to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:57 +#: ../../build/doc/pgr_aStarCost.rst:64 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:60 +#: ../../build/doc/pgr_aStarCost.rst:67 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:71 +#: ../../build/doc/pgr_aStarCost.rst:79 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:74 +#: ../../build/doc/pgr_aStarCost.rst:82 msgid "Using defaults" msgstr "" @@ -178,46 +191,55 @@ msgstr "" #: ../../build/doc/pgr_aStarCost.rst:0 #: ../../build/doc/pgr_aStarCost.rst:0 #: ../../build/doc/pgr_aStarCost.rst:0 +#: ../../build/doc/pgr_aStarCost.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:81 +#: ../../build/doc/pgr_aStarCost.rst:89 msgid "From vertex :math:`2` to vertex :math:`12` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:91 +#: ../../build/doc/pgr_aStarCost.rst:99 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:99 +#: ../../build/doc/pgr_aStarCost.rst:107 msgid "From vertex :math:`2` to vertex :math:`12` on an **undirected** graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:109 +#: ../../build/doc/pgr_aStarCost.rst:117 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:117 +#: ../../build/doc/pgr_aStarCost.rst:125 msgid "From vertex :math:`2` to vertices :math:`\\{3, 12\\}` on a **directed** graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:127 +#: ../../build/doc/pgr_aStarCost.rst:135 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:135 +#: ../../build/doc/pgr_aStarCost.rst:143 msgid "From vertices :math:`\\{7, 2\\}` to vertex :math:`12` on a **directed** graph using heuristic :math:`0`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:145 +#: ../../build/doc/pgr_aStarCost.rst:153 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:153 +#: ../../build/doc/pgr_aStarCost.rst:161 msgid "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 12\\}` on a **directed** graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:160 +#: ../../build/doc/pgr_aStarCost.rst:171 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:179 +msgid "Using a combinations table on a **directed** graph using heuristic :math:`2`." +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:187 msgid "Parameters" msgstr "" @@ -229,93 +251,106 @@ msgstr "" #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "**edges_sql**" +msgid "**Edges SQL**" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 +#: ../../build/doc/pgr_aStar.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "`edges_sql`_ inner query." +msgid "`Edges query` as described below." msgstr "" #: ../../build/doc/pgr_aStar.rst:7 -msgid "**from_vid**" +msgid "**Combinations SQL**" msgstr "" #: ../../build/doc/pgr_aStar.rst:7 -#: ../../build/doc/pgr_aStar.rst:17 +msgid "`Combinations query` as described below." +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:8 +msgid "**from_vid**" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:8 +#: ../../build/doc/pgr_aStar.rst:18 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:7 +#: ../../build/doc/pgr_aStar.rst:8 msgid "Starting vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:9 -#: ../../build/doc/pgr_aStar.rst:19 +#: ../../build/doc/pgr_aStar.rst:10 +#: ../../build/doc/pgr_aStar.rst:20 msgid "`One to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:10 -#: ../../build/doc/pgr_aStar.rst:24 +#: ../../build/doc/pgr_aStar.rst:11 +#: ../../build/doc/pgr_aStar.rst:25 msgid "`One to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "**from_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:13 +#: ../../build/doc/pgr_aStar.rst:23 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:14 -#: ../../build/doc/pgr_aStar.rst:20 +#: ../../build/doc/pgr_aStar.rst:15 +#: ../../build/doc/pgr_aStar.rst:21 msgid "`Many to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:15 -#: ../../build/doc/pgr_aStar.rst:25 +#: ../../build/doc/pgr_aStar.rst:16 +#: ../../build/doc/pgr_aStar.rst:26 msgid "`Many to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "**to_vid**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "Ending vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "**to_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:167 +#: ../../build/doc/pgr_aStarCost.rst:194 msgid "Optional Parameters" msgstr "" #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -406,11 +441,14 @@ msgstr "" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:174 -msgid "Inner query" +#: ../../build/doc/pgr_aStarCost.rst:201 +msgid "Inner queries" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:204 +msgid "Edges query" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:177 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "edges_sql" msgstr "" @@ -420,6 +458,7 @@ msgid "an SQL query, which should return a set of rows with the following column msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "" @@ -433,18 +472,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -518,14 +561,17 @@ msgid "Y coordinate of `target` vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:27 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -537,7 +583,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:184 +#: ../../build/doc/pgr_aStarCost.rst:211 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_aStarCost.rst:218 msgid "Result Columns" msgstr "" @@ -574,35 +624,35 @@ msgstr "" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:191 +#: ../../build/doc/pgr_aStarCost.rst:225 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:193 +#: ../../build/doc/pgr_aStarCost.rst:227 msgid ":doc:`aStar-family`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:194 +#: ../../build/doc/pgr_aStarCost.rst:228 msgid ":doc:`cost-category`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:195 +#: ../../build/doc/pgr_aStarCost.rst:229 msgid ":doc:`costMatrix-category`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:196 +#: ../../build/doc/pgr_aStarCost.rst:230 msgid "Examples use :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:199 +#: ../../build/doc/pgr_aStarCost.rst:233 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:200 +#: ../../build/doc/pgr_aStarCost.rst:234 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_aStarCost.rst:201 +#: ../../build/doc/pgr_aStarCost.rst:235 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_bdAstar.pot b/locale/pot/pgr_bdAstar.pot index 172c99e6536..065d729a4a7 100644 --- a/locale/pot/pgr_bdAstar.pot +++ b/locale/pot/pgr_bdAstar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,70 +33,83 @@ msgid "Availability:" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:26 -msgid "Version 2.5.0" +msgid "pgr_bdAstar(Combinations)" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:28 -msgid "Signature change on pgr_bdAstar(One to One)" +msgid "Version 3.0.0" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:30 -msgid "Old signature no longer supported" +msgid "**Official** function" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:32 -msgid "New **Proposed** functions:" +msgid "Version 2.5.0" msgstr "" #: ../../build/doc/pgr_bdAstar.rst:34 +msgid "Signature change on pgr_bdAstar(One to One)" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:36 +msgid "Old signature no longer supported" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:38 +msgid "New **Proposed** functions:" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:40 msgid "pgr_bdAstar(One to Many)" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:35 +#: ../../build/doc/pgr_bdAstar.rst:41 msgid "pgr_bdAstar(Many to One)" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:36 +#: ../../build/doc/pgr_bdAstar.rst:42 msgid "pgr_bdAstar(Many to Many)" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:38 +#: ../../build/doc/pgr_bdAstar.rst:44 msgid "Version 2.0.0" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:40 +#: ../../build/doc/pgr_bdAstar.rst:46 msgid "**Official** pgr_bdAstar(One to One)" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:43 +#: ../../build/doc/pgr_bdAstar.rst:49 msgid "Support" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:44 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +#: ../../build/doc/pgr_bdAstar.rst:50 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__ `2.6 `__" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:49 +#: ../../build/doc/pgr_bdAstar.rst:56 msgid "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:58 +#: ../../build/doc/pgr_bdAstar.rst:65 #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:60 +#: ../../build/doc/pgr_bdAstar.rst:67 msgid "**The main characteristics are:**" msgstr "" @@ -169,39 +182,39 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:66 +#: ../../build/doc/pgr_bdAstar.rst:73 msgid "The results are equivalent to the union of the results of the `pgr_bdAStar(` `One to One`_ `)` on the:" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:68 +#: ../../build/doc/pgr_bdAstar.rst:75 msgid "`pgr_bdAstar(` `One to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:69 +#: ../../build/doc/pgr_bdAstar.rst:76 msgid "`pgr_bdAstar(` `Many to One`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:70 +#: ../../build/doc/pgr_bdAstar.rst:77 msgid "`pgr_bdAstar(` `Many to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:72 +#: ../../build/doc/pgr_bdAstar.rst:79 msgid "``start_vid`` and ``end_vid`` in the result is used to distinguish to which path it belongs." msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:75 +#: ../../build/doc/pgr_bdAstar.rst:82 msgid "Signature" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:78 +#: ../../build/doc/pgr_bdAstar.rst:85 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:89 +#: ../../build/doc/pgr_bdAstar.rst:97 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:92 +#: ../../build/doc/pgr_bdAstar.rst:100 msgid "Using defaults" msgstr "" @@ -210,46 +223,55 @@ msgstr "" #: ../../build/doc/pgr_bdAstar.rst:0 #: ../../build/doc/pgr_bdAstar.rst:0 #: ../../build/doc/pgr_bdAstar.rst:0 +#: ../../build/doc/pgr_bdAstar.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:98 +#: ../../build/doc/pgr_bdAstar.rst:106 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:108 +#: ../../build/doc/pgr_bdAstar.rst:116 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:114 +#: ../../build/doc/pgr_bdAstar.rst:122 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:124 +#: ../../build/doc/pgr_bdAstar.rst:132 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:132 +#: ../../build/doc/pgr_bdAstar.rst:140 msgid "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** graph using heuristic :math:`3` and factor :math:`3.5`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:142 +#: ../../build/doc/pgr_bdAstar.rst:150 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:150 +#: ../../build/doc/pgr_bdAstar.rst:158 msgid "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on an **undirected** graph using heuristic :math:`4`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:160 +#: ../../build/doc/pgr_bdAstar.rst:168 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:168 +#: ../../build/doc/pgr_bdAstar.rst:176 msgid "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a **directed** graph using factor :math:`0.5`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:175 +#: ../../build/doc/pgr_bdAstar.rst:186 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:194 +msgid "Using a combinations table on a **directed** graph using factor :math:`0.5`." +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:202 msgid "Parameters" msgstr "" @@ -261,97 +283,110 @@ msgstr "" #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "**edges_sql**" +msgid "**Edges SQL**" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 +#: ../../build/doc/pgr_aStar.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "`edges_sql`_ inner query." +msgid "`Edges query` as described below." msgstr "" #: ../../build/doc/pgr_aStar.rst:7 -msgid "**from_vid**" +msgid "**Combinations SQL**" msgstr "" #: ../../build/doc/pgr_aStar.rst:7 -#: ../../build/doc/pgr_aStar.rst:17 +msgid "`Combinations query` as described below." +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:8 +msgid "**from_vid**" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:8 +#: ../../build/doc/pgr_aStar.rst:18 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:7 +#: ../../build/doc/pgr_aStar.rst:8 msgid "Starting vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:9 -#: ../../build/doc/pgr_aStar.rst:19 +#: ../../build/doc/pgr_aStar.rst:10 +#: ../../build/doc/pgr_aStar.rst:20 msgid "`One to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:10 -#: ../../build/doc/pgr_aStar.rst:24 +#: ../../build/doc/pgr_aStar.rst:11 +#: ../../build/doc/pgr_aStar.rst:25 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "`One to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "**from_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:13 +#: ../../build/doc/pgr_aStar.rst:23 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:14 -#: ../../build/doc/pgr_aStar.rst:20 +#: ../../build/doc/pgr_aStar.rst:15 +#: ../../build/doc/pgr_aStar.rst:21 #: ../../build/doc/pgRouting-concepts.rst:14 msgid "`Many to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:15 -#: ../../build/doc/pgr_aStar.rst:25 +#: ../../build/doc/pgr_aStar.rst:16 +#: ../../build/doc/pgr_aStar.rst:26 #: ../../build/doc/pgRouting-concepts.rst:15 #: ../../build/doc/pgRouting-concepts.rst:22 msgid "`Many to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "**to_vid**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "Ending vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "**to_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:182 +#: ../../build/doc/pgr_bdAstar.rst:209 msgid "Optional Parameters" msgstr "" #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -443,11 +478,14 @@ msgstr "" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:190 -msgid "Inner query" +#: ../../build/doc/pgr_bdAstar.rst:217 +msgid "Inner queries" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:220 +msgid "Edges query" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:193 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "edges_sql" msgstr "" @@ -457,6 +495,7 @@ msgid "an SQL query, which should return a set of rows with the following column msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "" @@ -470,18 +509,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -556,14 +599,17 @@ msgid "Y coordinate of `target` vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:27 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -575,7 +621,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:200 +#: ../../build/doc/pgr_bdAstar.rst:227 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_bdAstar.rst:234 msgid "Result Columns" msgstr "" @@ -664,39 +714,39 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:207 +#: ../../build/doc/pgr_bdAstar.rst:241 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:209 +#: ../../build/doc/pgr_bdAstar.rst:243 msgid ":doc:`aStar-family`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:210 +#: ../../build/doc/pgr_bdAstar.rst:244 msgid ":doc:`bdAstar-family`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:211 +#: ../../build/doc/pgr_bdAstar.rst:245 msgid ":doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:212 +#: ../../build/doc/pgr_bdAstar.rst:246 msgid "https://www.boost.org/libs/graph/doc/astar_search.html" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:213 +#: ../../build/doc/pgr_bdAstar.rst:247 msgid "https://en.wikipedia.org/wiki/A*_search_algorithm" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:216 +#: ../../build/doc/pgr_bdAstar.rst:250 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:217 +#: ../../build/doc/pgr_bdAstar.rst:251 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bdAstar.rst:218 +#: ../../build/doc/pgr_bdAstar.rst:252 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_bdAstarCost.pot b/locale/pot/pgr_bdAstarCost.pot index 739c7bb1d28..d713dfc15e2 100644 --- a/locale/pot/pgr_bdAstarCost.pot +++ b/locale/pot/pgr_bdAstarCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,33 +33,46 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:26 -msgid "Version 2.5.0" +msgid "pgr_bdAstarCost(Combinations)" msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:28 -msgid "New **Proposed** function" +msgid "Version 3.0.0" msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:30 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +msgid "**Official** function" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:35 +#: ../../build/doc/pgr_bdAstarCost.rst:32 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:34 +msgid "New **Proposed** function" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:36 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__ `2.6 `__" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:42 msgid "**Unsupported versions:** `2.5 `__" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:39 +#: ../../build/doc/pgr_bdAstarCost.rst:46 #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" @@ -133,35 +146,35 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:45 +#: ../../build/doc/pgr_bdAstarCost.rst:52 msgid "The results are equivalent to the union of the results of the `pgr_bdAstarCost(` `One to One`_ `)` on the:" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:47 +#: ../../build/doc/pgr_bdAstarCost.rst:54 msgid "`pgr_bdAstarCost(` `One to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:48 +#: ../../build/doc/pgr_bdAstarCost.rst:55 msgid "`pgr_bdAstarCost(` `Many to One`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:49 +#: ../../build/doc/pgr_bdAstarCost.rst:56 msgid "`pgr_bdAstarCost(` `Many to Many`_ `)`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:52 +#: ../../build/doc/pgr_bdAstarCost.rst:59 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:55 +#: ../../build/doc/pgr_bdAstarCost.rst:62 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:66 +#: ../../build/doc/pgr_bdAstarCost.rst:74 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:69 +#: ../../build/doc/pgr_bdAstarCost.rst:77 msgid "Using defaults" msgstr "" @@ -170,46 +183,55 @@ msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:0 #: ../../build/doc/pgr_bdAstarCost.rst:0 #: ../../build/doc/pgr_bdAstarCost.rst:0 +#: ../../build/doc/pgr_bdAstarCost.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:76 +#: ../../build/doc/pgr_bdAstarCost.rst:84 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:86 +#: ../../build/doc/pgr_bdAstarCost.rst:94 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:94 +#: ../../build/doc/pgr_bdAstarCost.rst:102 msgid "From vertex :math:`2` to vertex :math:`3` on an **directed** graph using heuristic :math:`2`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:104 +#: ../../build/doc/pgr_bdAstarCost.rst:112 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:112 +#: ../../build/doc/pgr_bdAstarCost.rst:120 msgid "From vertex `2` to vertices :math:`\\{3, 11\\}` on a **directed** graph using heuristic `3` and factor :math:`3.5`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:122 +#: ../../build/doc/pgr_bdAstarCost.rst:130 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:130 +#: ../../build/doc/pgr_bdAstarCost.rst:138 msgid "From vertices :math:`\\{7, 2\\}` to vertex :math:`3` on a **undirected** graph using heuristic :math:`4`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:140 +#: ../../build/doc/pgr_bdAstarCost.rst:148 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:148 +#: ../../build/doc/pgr_bdAstarCost.rst:156 msgid "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 11\\}` on a **directed** using heuristic :math:`5` and factor :math:`0.5`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:155 +#: ../../build/doc/pgr_bdAstarCost.rst:163 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:171 +msgid "Using a combinations table on a **directed** graph using factor :math:`0.5`." +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:179 msgid "Parameters" msgstr "" @@ -221,93 +243,106 @@ msgstr "" #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "**edges_sql**" +msgid "**Edges SQL**" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 +#: ../../build/doc/pgr_aStar.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_aStar.rst:6 -msgid "`edges_sql`_ inner query." +msgid "`Edges query` as described below." msgstr "" #: ../../build/doc/pgr_aStar.rst:7 -msgid "**from_vid**" +msgid "**Combinations SQL**" msgstr "" #: ../../build/doc/pgr_aStar.rst:7 -#: ../../build/doc/pgr_aStar.rst:17 +msgid "`Combinations query` as described below." +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:8 +msgid "**from_vid**" +msgstr "" + +#: ../../build/doc/pgr_aStar.rst:8 +#: ../../build/doc/pgr_aStar.rst:18 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:7 +#: ../../build/doc/pgr_aStar.rst:8 msgid "Starting vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:9 -#: ../../build/doc/pgr_aStar.rst:19 +#: ../../build/doc/pgr_aStar.rst:10 +#: ../../build/doc/pgr_aStar.rst:20 msgid "`One to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:10 -#: ../../build/doc/pgr_aStar.rst:24 +#: ../../build/doc/pgr_aStar.rst:11 +#: ../../build/doc/pgr_aStar.rst:25 msgid "`One to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "**from_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:13 +#: ../../build/doc/pgr_aStar.rst:23 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:14 -#: ../../build/doc/pgr_aStar.rst:20 +#: ../../build/doc/pgr_aStar.rst:15 +#: ../../build/doc/pgr_aStar.rst:21 msgid "`Many to One`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:15 -#: ../../build/doc/pgr_aStar.rst:25 +#: ../../build/doc/pgr_aStar.rst:16 +#: ../../build/doc/pgr_aStar.rst:26 msgid "`Many to Many`_" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "**to_vid**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "Ending vertex identifier. Parameter in:" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "**to_vids**" msgstr "" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:162 +#: ../../build/doc/pgr_bdAstarCost.rst:186 msgid "Optional Parameters" msgstr "" #: ../../build/doc/pgr_aStar.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -398,11 +433,14 @@ msgstr "" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:170 -msgid "Inner query" +#: ../../build/doc/pgr_bdAstarCost.rst:194 +msgid "Inner queries" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:197 +msgid "Edges query" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:173 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "edges_sql" msgstr "" @@ -412,6 +450,7 @@ msgid "an SQL query, which should return a set of rows with the following column msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "" @@ -425,18 +464,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -510,14 +553,17 @@ msgid "Y coordinate of `target` vertex." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:25 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:27 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -529,7 +575,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:180 +#: ../../build/doc/pgr_bdAstarCost.rst:204 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_bdAstarCost.rst:211 msgid "Result Columns" msgstr "" @@ -566,35 +616,35 @@ msgstr "" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:187 +#: ../../build/doc/pgr_bdAstarCost.rst:218 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:189 +#: ../../build/doc/pgr_bdAstarCost.rst:220 msgid ":doc:`bdAstar-family`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:190 +#: ../../build/doc/pgr_bdAstarCost.rst:221 msgid ":doc:`cost-category`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:191 +#: ../../build/doc/pgr_bdAstarCost.rst:222 msgid ":doc:`costMatrix-category`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:192 +#: ../../build/doc/pgr_bdAstarCost.rst:223 msgid "Examples use :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:195 +#: ../../build/doc/pgr_bdAstarCost.rst:226 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:196 +#: ../../build/doc/pgr_bdAstarCost.rst:227 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:197 +#: ../../build/doc/pgr_bdAstarCost.rst:228 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_bdDijkstra.pot b/locale/pot/pgr_bdDijkstra.pot index 3368ac2f6ee..af0cd288486 100644 --- a/locale/pot/pgr_bdDijkstra.pot +++ b/locale/pot/pgr_bdDijkstra.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,73 +33,86 @@ msgid "Availability:" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:26 -msgid "Version 2.5.0" +msgid "pgr_bdDijkstra(Combinations)" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:28 -msgid "New **Proposed** functions:" +msgid "Version 3.0.0" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:32 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:34 +msgid "New **Proposed** functions:" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:36 msgid "pgr_bdDijkstra(One to Many)" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:31 +#: ../../build/doc/pgr_bdDijkstra.rst:37 msgid "pgr_bdDijkstra(Many to One)" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:32 +#: ../../build/doc/pgr_bdDijkstra.rst:38 msgid "pgr_bdDijkstra(Many to Many)" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:34 +#: ../../build/doc/pgr_bdDijkstra.rst:40 msgid "Version 2.4.0" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:36 +#: ../../build/doc/pgr_bdDijkstra.rst:42 msgid "Signature change on pgr_bdDijsktra(One to One)" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:38 +#: ../../build/doc/pgr_bdDijkstra.rst:44 msgid "Old signature no longer supported" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:40 +#: ../../build/doc/pgr_bdDijkstra.rst:46 msgid "Version 2.0.0" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:42 +#: ../../build/doc/pgr_bdDijkstra.rst:48 msgid "**Official** pgr_bdDijkstra(One to One)" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:45 +#: ../../build/doc/pgr_bdDijkstra.rst:51 msgid "Support" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:46 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +#: ../../build/doc/pgr_bdDijkstra.rst:52 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__ `2.6 `__" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:51 +#: ../../build/doc/pgr_bdDijkstra.rst:58 msgid "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__ `2.1 `__ `2.0 `__" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:60 -#: ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:67 +#: ../../build/doc/pgr_bdDijkstra.rst:198 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:62 +#: ../../build/doc/pgr_bdDijkstra.rst:69 msgid "**The main characteristics are:**" msgstr "" @@ -139,15 +152,15 @@ msgstr "" msgid "It is expected to terminate faster than pgr_dijkstra" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:69 +#: ../../build/doc/pgr_bdDijkstra.rst:76 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:72 +#: ../../build/doc/pgr_bdDijkstra.rst:79 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:84 +#: ../../build/doc/pgr_bdDijkstra.rst:92 msgid "Using defaults" msgstr "" @@ -156,83 +169,103 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:0 #: ../../build/doc/pgr_bdDijkstra.rst:0 #: ../../build/doc/pgr_bdDijkstra.rst:0 +#: ../../build/doc/pgr_bdDijkstra.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:91 +#: ../../build/doc/pgr_bdDijkstra.rst:99 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:101 +#: ../../build/doc/pgr_bdDijkstra.rst:109 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:109 +#: ../../build/doc/pgr_bdDijkstra.rst:117 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:119 +#: ../../build/doc/pgr_bdDijkstra.rst:127 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:127 +#: ../../build/doc/pgr_bdDijkstra.rst:135 msgid "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:137 +#: ../../build/doc/pgr_bdDijkstra.rst:145 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:145 +#: ../../build/doc/pgr_bdDijkstra.rst:153 msgid "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:155 +#: ../../build/doc/pgr_bdDijkstra.rst:163 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:163 +#: ../../build/doc/pgr_bdDijkstra.rst:171 msgid "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:170 +#: ../../build/doc/pgr_bdDijkstra.rst:178 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:186 +msgid "Using a combinations table on a **directed** graph." +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:193 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:198 msgid "Parameter" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:198 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:198 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:177 +#: ../../build/doc/pgr_bdDijkstra.rst:200 msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:177 +#: ../../build/doc/pgr_bdDijkstra.rst:200 +#: ../../build/doc/pgr_bdDijkstra.rst:201 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:177 -msgid "`Edges query`_ as described below" +#: ../../build/doc/pgr_bdDijkstra.rst:200 +msgid "`Edges query` as described below" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:178 +#: ../../build/doc/pgr_bdDijkstra.rst:201 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:201 +msgid "`Combinations query` as described below" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:202 #: ../../build/doc/pgRouting-concepts.rst:11 msgid "**start_vid**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:178 -#: ../../build/doc/pgr_bdDijkstra.rst:180 +#: ../../build/doc/pgr_bdDijkstra.rst:202 +#: ../../build/doc/pgr_bdDijkstra.rst:204 #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 @@ -240,68 +273,69 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:178 +#: ../../build/doc/pgr_bdDijkstra.rst:202 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:179 +#: ../../build/doc/pgr_bdDijkstra.rst:203 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:179 -#: ../../build/doc/pgr_bdDijkstra.rst:181 +#: ../../build/doc/pgr_bdDijkstra.rst:203 +#: ../../build/doc/pgr_bdDijkstra.rst:205 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:179 +#: ../../build/doc/pgr_bdDijkstra.rst:203 msgid "Array of identifiers of starting vertices." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:180 +#: ../../build/doc/pgr_bdDijkstra.rst:204 #: ../../build/doc/pgRouting-concepts.rst:18 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:180 +#: ../../build/doc/pgr_bdDijkstra.rst:204 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:181 +#: ../../build/doc/pgr_bdDijkstra.rst:205 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:181 +#: ../../build/doc/pgr_bdDijkstra.rst:205 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:183 +#: ../../build/doc/pgr_bdDijkstra.rst:207 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:189 -msgid "Inner query" +#: ../../build/doc/pgr_bdDijkstra.rst:213 +msgid "Inner queries" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:192 +#: ../../build/doc/pgr_bdDijkstra.rst:216 msgid "Edges query" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" @@ -314,6 +348,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -322,18 +358,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -372,14 +412,17 @@ msgid "When negative: edge `(target, source)` does not exist, therefore it's not msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -391,7 +434,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:199 +#: ../../build/doc/pgr_bdDijkstra.rst:223 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:230 msgid "Result Columns" msgstr "" @@ -483,35 +530,35 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:206 +#: ../../build/doc/pgr_bdDijkstra.rst:237 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:208 +#: ../../build/doc/pgr_bdDijkstra.rst:239 msgid "The queries use the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:209 +#: ../../build/doc/pgr_bdDijkstra.rst:240 msgid ":doc:`bdDijkstra-family`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:210 +#: ../../build/doc/pgr_bdDijkstra.rst:241 msgid "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:211 +#: ../../build/doc/pgr_bdDijkstra.rst:242 msgid "https://en.wikipedia.org/wiki/Bidirectional_search" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:214 +#: ../../build/doc/pgr_bdDijkstra.rst:245 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:215 +#: ../../build/doc/pgr_bdDijkstra.rst:246 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:216 +#: ../../build/doc/pgr_bdDijkstra.rst:247 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_bdDijkstraCost.pot b/locale/pot/pgr_bdDijkstraCost.pot index b499542103e..1bd38fa3d83 100644 --- a/locale/pot/pgr_bdDijkstraCost.pot +++ b/locale/pot/pgr_bdDijkstraCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,41 +33,54 @@ msgid "Availability:" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:26 -msgid "Version 2.5.0" +msgid "pgr_bdDijkstraCost(Combinations)" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:28 -msgid "New **proposed** function" +msgid "Version 3.0.0" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:31 -msgid "Support" +#: ../../build/doc/pgr_bdDijkstraCost.rst:30 +msgid "**Official** function" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:32 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:34 +msgid "New **proposed** function" msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:37 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:38 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__ `2.6 `__" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:44 msgid "**Unsupported versions:** `2.5 `__" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:42 +#: ../../build/doc/pgr_bdDijkstraCost.rst:49 #: ../../build/doc/pgr_bdDijkstra.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:44 +#: ../../build/doc/pgr_bdDijkstraCost.rst:51 msgid "**The main characteristics are:**" msgstr "" @@ -107,15 +120,15 @@ msgstr "" msgid "It is expected to terminate faster than pgr_dijkstra" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:51 +#: ../../build/doc/pgr_bdDijkstraCost.rst:58 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:54 +#: ../../build/doc/pgr_bdDijkstraCost.rst:61 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:66 +#: ../../build/doc/pgr_bdDijkstraCost.rst:74 msgid "Using default" msgstr "" @@ -124,46 +137,55 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCost.rst:0 #: ../../build/doc/pgr_bdDijkstraCost.rst:0 #: ../../build/doc/pgr_bdDijkstraCost.rst:0 +#: ../../build/doc/pgr_bdDijkstraCost.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:73 +#: ../../build/doc/pgr_bdDijkstraCost.rst:81 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:83 +#: ../../build/doc/pgr_bdDijkstraCost.rst:91 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:91 +#: ../../build/doc/pgr_bdDijkstraCost.rst:99 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:101 +#: ../../build/doc/pgr_bdDijkstraCost.rst:109 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:109 +#: ../../build/doc/pgr_bdDijkstraCost.rst:117 msgid "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:119 +#: ../../build/doc/pgr_bdDijkstraCost.rst:127 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:127 +#: ../../build/doc/pgr_bdDijkstraCost.rst:135 msgid "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:137 +#: ../../build/doc/pgr_bdDijkstraCost.rst:145 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:145 +#: ../../build/doc/pgr_bdDijkstraCost.rst:153 msgid "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:152 +#: ../../build/doc/pgr_bdDijkstraCost.rst:160 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:168 +msgid "Using a combinations table on a **directed** graph." +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:175 msgid "Parameters" msgstr "" @@ -173,12 +195,14 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -187,87 +211,97 @@ msgid "**Edges SQL**" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:6 -msgid "`Edges query`_ as described below" +msgid "`Edges query` as described below" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "`Combinations query` as described below" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:8 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**start_vid**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:7 -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:10 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:7 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "Array of identifiers of starting vertices." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:12 +#: ../../build/doc/pgr_bdDijkstra.rst:13 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:159 -msgid "Inner query" +#: ../../build/doc/pgr_bdDijkstraCost.rst:182 +msgid "Inner queries" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:162 +#: ../../build/doc/pgr_bdDijkstraCost.rst:185 msgid "Edges query" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" @@ -280,6 +314,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -288,18 +324,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -337,14 +377,17 @@ msgid "When negative: edge `(target, source)` does not exist, therefore it's not msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -356,7 +399,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:169 +#: ../../build/doc/pgr_bdDijkstraCost.rst:192 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:199 msgid "Result Columns" msgstr "" @@ -384,35 +431,35 @@ msgstr "" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:176 +#: ../../build/doc/pgr_bdDijkstraCost.rst:206 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:178 +#: ../../build/doc/pgr_bdDijkstraCost.rst:208 msgid "The queries use the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:179 +#: ../../build/doc/pgr_bdDijkstraCost.rst:209 msgid ":doc:`pgr_bdDijkstra`" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:180 +#: ../../build/doc/pgr_bdDijkstraCost.rst:210 msgid "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:181 +#: ../../build/doc/pgr_bdDijkstraCost.rst:211 msgid "https://en.wikipedia.org/wiki/Bidirectional_search" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:184 +#: ../../build/doc/pgr_bdDijkstraCost.rst:214 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:185 +#: ../../build/doc/pgr_bdDijkstraCost.rst:215 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:186 +#: ../../build/doc/pgr_bdDijkstraCost.rst:216 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_edgeDisjointPaths.pot b/locale/pot/pgr_edgeDisjointPaths.pot index 9ae0a0e98c9..90963a41e50 100644 --- a/locale/pot/pgr_edgeDisjointPaths.pot +++ b/locale/pot/pgr_edgeDisjointPaths.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -183,20 +183,29 @@ msgid "**Edges SQL**" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:6 -msgid "`Edges query`_ as described below" +msgid "`Edges query` as described below" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "`Combinations query` as described below" +msgstr "" + +#: ../../build/doc/pgr_bdDijkstra.rst:8 #: ../../build/doc/pgRouting-concepts.rst:11 msgid "**start_vid**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:7 -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:10 #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 @@ -204,57 +213,57 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:7 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "Array of identifiers of starting vertices." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 #: ../../build/doc/pgRouting-concepts.rst:18 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_bdDijkstra.rst:12 +#: ../../build/doc/pgr_bdDijkstra.rst:13 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" diff --git a/locale/pot/pgr_withPoints.pot b/locale/pot/pgr_withPoints.pot index b8258f5fd61..dec23df206b 100644 --- a/locale/pot/pgr_withPoints.pot +++ b/locale/pot/pgr_withPoints.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -69,90 +69,103 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_withPoints.rst:26 -msgid "Version 2.2.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_withPoints.rst:28 +msgid "New **proposed** function:" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:30 +msgid "pgr_withPoints(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:32 +msgid "Version 2.2.0" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:34 msgid "New **proposed** function" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:31 +#: ../../build/doc/pgr_withPoints.rst:37 msgid "Support" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:32 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__" +#: ../../build/doc/pgr_withPoints.rst:38 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__) `3.0 `__" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:36 +#: ../../build/doc/pgr_withPoints.rst:43 msgid "**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:44 -#: ../../build/doc/pgr_withPoints.rst:174 +#: ../../build/doc/pgr_withPoints.rst:51 +#: ../../build/doc/pgr_withPoints.rst:200 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:210 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_withPoints.rst:250 msgid "Description" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:46 +#: ../../build/doc/pgr_withPoints.rst:53 msgid "Modify the graph to include points defined by points_sql. Using Dijkstra algorithm, find the shortest path(s)" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:49 +#: ../../build/doc/pgr_withPoints.rst:56 msgid "**The main characteristics are:**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:51 +#: ../../build/doc/pgr_withPoints.rst:58 msgid "Process is done only on edges with positive costs." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:52 +#: ../../build/doc/pgr_withPoints.rst:59 msgid "Vertices of the graph are:" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:54 +#: ../../build/doc/pgr_withPoints.rst:61 msgid "**positive** when it belongs to the edges_sql" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:55 +#: ../../build/doc/pgr_withPoints.rst:62 msgid "**negative** when it belongs to the points_sql" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:57 +#: ../../build/doc/pgr_withPoints.rst:64 msgid "Values are returned when there is a path." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:59 +#: ../../build/doc/pgr_withPoints.rst:66 msgid "When the starting vertex and ending vertex are the same, there is no path. - The agg_cost the non included values (v, v) is 0" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:62 +#: ../../build/doc/pgr_withPoints.rst:69 msgid "When the starting vertex and ending vertex are the different and there is no path: - The agg_cost the non included values (u, v) is ∞" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:65 +#: ../../build/doc/pgr_withPoints.rst:72 msgid "For optimization purposes, any duplicated value in the start_vids or end_vids are ignored." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:66 +#: ../../build/doc/pgr_withPoints.rst:73 msgid "The returned values are ordered: - start_vid ascending - end_vid ascending" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:70 +#: ../../build/doc/pgr_withPoints.rst:77 msgid "Running time: :math:`O(|start\\_vids|\\times(V \\log V + E))`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:73 +#: ../../build/doc/pgr_withPoints.rst:80 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:76 +#: ../../build/doc/pgr_withPoints.rst:83 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:86 +#: ../../build/doc/pgr_withPoints.rst:94 msgid "Using defaults" msgstr "" @@ -164,200 +177,227 @@ msgstr "" #: ../../build/doc/pgr_withPoints.rst:0 #: ../../build/doc/pgr_withPoints.rst:0 #: ../../build/doc/pgr_withPoints.rst:0 +#: ../../build/doc/pgr_withPoints.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:92 +#: ../../build/doc/pgr_withPoints.rst:100 msgid "From point :math:`1` to point :math:`3`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:94 +#: ../../build/doc/pgr_withPoints.rst:102 msgid "For a **directed** graph." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:95 +#: ../../build/doc/pgr_withPoints.rst:103 msgid "The driving side is set as **b** both. So arriving/departing to/from the point(s) can be in any direction." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:96 +#: ../../build/doc/pgr_withPoints.rst:104 msgid "No **details** are given about distance of other points of points_sql query." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:106 +#: ../../build/doc/pgr_withPoints.rst:114 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:113 +#: ../../build/doc/pgr_withPoints.rst:121 msgid "From point :math:`1` to vertex :math:`3` with details of passing points" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:123 +#: ../../build/doc/pgr_withPoints.rst:131 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:130 +#: ../../build/doc/pgr_withPoints.rst:138 msgid "From point :math:`1` to point :math:`3` and vertex :math:`5`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:140 +#: ../../build/doc/pgr_withPoints.rst:148 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:147 +#: ../../build/doc/pgr_withPoints.rst:155 msgid "From point :math:`1` and vertex :math:`2` to point :math:`3`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:157 +#: ../../build/doc/pgr_withPoints.rst:165 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:164 +#: ../../build/doc/pgr_withPoints.rst:172 msgid "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex :math:`7`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:171 +#: ../../build/doc/pgr_withPoints.rst:182 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:189 +msgid "Two (source, target) combinations: (from point :math:`1` to vertex :math:`3`), and (from vertex :math:`2` to point :math:`3`) with **right** side driving topology." +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:197 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:174 +#: ../../build/doc/pgr_withPoints.rst:200 msgid "Parameter" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:174 +#: ../../build/doc/pgr_withPoints.rst:200 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:210 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_withPoints.rst:250 msgid "Type" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:176 -msgid "**edges_sql**" +#: ../../build/doc/pgr_withPoints.rst:202 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:176 -#: ../../build/doc/pgr_withPoints.rst:177 +#: ../../build/doc/pgr_withPoints.rst:202 +#: ../../build/doc/pgr_withPoints.rst:203 +#: ../../build/doc/pgr_withPoints.rst:204 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:176 -msgid "Edges SQL query as described above." +#: ../../build/doc/pgr_withPoints.rst:202 +msgid "`Edges query` as described above." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:177 -msgid "**points_sql**" +#: ../../build/doc/pgr_withPoints.rst:203 +msgid "**Points SQL**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:177 -msgid "Points SQL query as described above." +#: ../../build/doc/pgr_withPoints.rst:203 +msgid "`Points query` as described above." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:178 -#: ../../build/doc/pgr_withPoints.rst:214 +#: ../../build/doc/pgr_withPoints.rst:204 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:204 +msgid "`Combinations query` as described below." +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:205 +#: ../../build/doc/pgr_withPoints.rst:254 msgid "**start_vid**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:178 -#: ../../build/doc/pgr_withPoints.rst:179 +#: ../../build/doc/pgr_withPoints.rst:205 +#: ../../build/doc/pgr_withPoints.rst:206 #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:15 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:178 +#: ../../build/doc/pgr_withPoints.rst:205 msgid "Starting vertex identifier. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:179 -#: ../../build/doc/pgr_withPoints.rst:215 +#: ../../build/doc/pgr_withPoints.rst:206 +#: ../../build/doc/pgr_withPoints.rst:255 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:179 +#: ../../build/doc/pgr_withPoints.rst:206 msgid "Ending vertex identifier. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:180 +#: ../../build/doc/pgr_withPoints.rst:207 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:180 -#: ../../build/doc/pgr_withPoints.rst:181 +#: ../../build/doc/pgr_withPoints.rst:207 +#: ../../build/doc/pgr_withPoints.rst:208 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:180 +#: ../../build/doc/pgr_withPoints.rst:207 msgid "Array of identifiers of starting vertices. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:181 +#: ../../build/doc/pgr_withPoints.rst:208 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:181 +#: ../../build/doc/pgr_withPoints.rst:208 msgid "Array of identifiers of ending vertices. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:182 +#: ../../build/doc/pgr_withPoints.rst:209 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:182 -#: ../../build/doc/pgr_withPoints.rst:188 +#: ../../build/doc/pgr_withPoints.rst:209 +#: ../../build/doc/pgr_withPoints.rst:215 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:182 +#: ../../build/doc/pgr_withPoints.rst:209 msgid "(optional). When ``false`` the graph is considered as Undirected. Default is ``true`` which considers the graph as Directed." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:183 +#: ../../build/doc/pgr_withPoints.rst:210 msgid "**driving_side**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:183 +#: ../../build/doc/pgr_withPoints.rst:210 #: ../../build/doc/pgRouting-concepts.rst:17 msgid "``CHAR``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:186 +#: ../../build/doc/pgr_withPoints.rst:213 msgid "(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:184 +#: ../../build/doc/pgr_withPoints.rst:211 msgid "In the right or left or" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:185 +#: ../../build/doc/pgr_withPoints.rst:212 #: ../../build/doc/pgRouting-concepts.rst:20 msgid "If it doesn't matter with 'b' or NULL." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:186 +#: ../../build/doc/pgr_withPoints.rst:213 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "If column not present 'b' is considered." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:188 +#: ../../build/doc/pgr_withPoints.rst:215 msgid "**details**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:188 +#: ../../build/doc/pgr_withPoints.rst:215 msgid "(optional). When ``true`` the results will include the points in points_sql that are in the path. Default is ``false`` which ignores other points of the points_sql." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:193 +#: ../../build/doc/pgr_withPoints.rst:220 msgid "Inner query" msgstr "" +#: ../../build/doc/pgr_withPoints.rst:226 +msgid "Edges query" +msgstr "" + #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:210 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_withPoints.rst:250 msgid "Column" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -371,23 +411,27 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_withPoints.rst:223 +#: ../../build/doc/pgr_withPoints.rst:263 msgid "**cost**" msgstr "" @@ -423,15 +467,18 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 #: ../../build/doc/pgRouting-concepts.rst:25 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -444,6 +491,10 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" +#: ../../build/doc/pgr_withPoints.rst:233 +msgid "Points query" +msgstr "" + #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Description of the Points SQL query" msgstr "" @@ -508,136 +559,140 @@ msgstr "" msgid "smallint, int, bigint, real, float" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:207 +#: ../../build/doc/pgr_withPoints.rst:240 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_withPoints.rst:247 msgid "Result Columns" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:212 +#: ../../build/doc/pgr_withPoints.rst:252 msgid "**seq**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:212 -#: ../../build/doc/pgr_withPoints.rst:213 +#: ../../build/doc/pgr_withPoints.rst:252 +#: ../../build/doc/pgr_withPoints.rst:253 msgid "``INTEGER``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:212 +#: ../../build/doc/pgr_withPoints.rst:252 msgid "Row sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:213 +#: ../../build/doc/pgr_withPoints.rst:253 msgid "**path_seq**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:213 +#: ../../build/doc/pgr_withPoints.rst:253 msgid "Path sequence that indicates the relative position on the path." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:214 -#: ../../build/doc/pgr_withPoints.rst:215 -#: ../../build/doc/pgr_withPoints.rst:216 -#: ../../build/doc/pgr_withPoints.rst:220 +#: ../../build/doc/pgr_withPoints.rst:254 +#: ../../build/doc/pgr_withPoints.rst:255 +#: ../../build/doc/pgr_withPoints.rst:256 +#: ../../build/doc/pgr_withPoints.rst:260 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:214 +#: ../../build/doc/pgr_withPoints.rst:254 msgid "Identifier of the starting vertex. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:215 +#: ../../build/doc/pgr_withPoints.rst:255 msgid "Identifier of the ending vertex. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:216 +#: ../../build/doc/pgr_withPoints.rst:256 msgid "**node**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:218 +#: ../../build/doc/pgr_withPoints.rst:258 msgid "Identifier of the node:" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:217 +#: ../../build/doc/pgr_withPoints.rst:257 msgid "A positive value indicates the node is a vertex of edges_sql." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:218 +#: ../../build/doc/pgr_withPoints.rst:258 msgid "A negative value indicates the node is a point of points_sql." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:220 +#: ../../build/doc/pgr_withPoints.rst:260 msgid "**edge**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:221 +#: ../../build/doc/pgr_withPoints.rst:261 msgid "Identifier of the edge used to go from ``node`` to the next node in the path sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:221 +#: ../../build/doc/pgr_withPoints.rst:261 msgid "``-1`` for the last row in the path sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:223 -#: ../../build/doc/pgr_withPoints.rst:226 +#: ../../build/doc/pgr_withPoints.rst:263 +#: ../../build/doc/pgr_withPoints.rst:266 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:224 +#: ../../build/doc/pgr_withPoints.rst:264 msgid "Cost to traverse from ``node`` using ``edge`` to the next ``node`` in the path sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:224 +#: ../../build/doc/pgr_withPoints.rst:264 msgid "``0`` for the last row in the path sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:226 +#: ../../build/doc/pgr_withPoints.rst:266 msgid "**agg_cost**" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:227 +#: ../../build/doc/pgr_withPoints.rst:267 msgid "Aggregate cost from ``start_pid`` to ``node``." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:227 +#: ../../build/doc/pgr_withPoints.rst:267 msgid "``0`` for the first row in the path sequence." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:232 +#: ../../build/doc/pgr_withPoints.rst:272 msgid "Additional Examples" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:234 +#: ../../build/doc/pgr_withPoints.rst:274 msgid "Which path (if any) passes in front of point :math:`6` or vertex :math:`6` with **right** side driving topology." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:240 +#: ../../build/doc/pgr_withPoints.rst:280 msgid "Which path (if any) passes in front of point :math:`6` or vertex :math:`6` with **left** side driving topology." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:246 +#: ../../build/doc/pgr_withPoints.rst:286 msgid "From point :math:`1` and vertex :math:`2` to point :math:`3` to vertex :math:`7` on an **undirected** graph, with details." msgstr "" -#: ../../build/doc/pgr_withPoints.rst:252 +#: ../../build/doc/pgr_withPoints.rst:292 msgid "The queries use the :doc:`sampledata` network" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:255 +#: ../../build/doc/pgr_withPoints.rst:295 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:257 +#: ../../build/doc/pgr_withPoints.rst:297 msgid ":doc:`withPoints-family`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:260 +#: ../../build/doc/pgr_withPoints.rst:300 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:261 +#: ../../build/doc/pgr_withPoints.rst:301 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_withPoints.rst:262 +#: ../../build/doc/pgr_withPoints.rst:302 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_withPointsCost.pot b/locale/pot/pgr_withPointsCost.pot index d95688454a9..6ea8827d58c 100644 --- a/locale/pot/pgr_withPointsCost.pot +++ b/locale/pot/pgr_withPointsCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -69,134 +69,147 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:26 -msgid "Version 2.2.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:28 +msgid "New **proposed** function:" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:30 +msgid "pgr_withPointsCost(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:32 +msgid "Version 2.2.0" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:34 msgid "New **proposed** function" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:31 +#: ../../build/doc/pgr_withPointsCost.rst:37 msgid "Support" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:32 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__" +#: ../../build/doc/pgr_withPointsCost.rst:38 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:36 +#: ../../build/doc/pgr_withPointsCost.rst:43 msgid "**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__ `2.2 `__" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:44 -#: ../../build/doc/pgr_withPointsCost.rst:193 +#: ../../build/doc/pgr_withPointsCost.rst:51 +#: ../../build/doc/pgr_withPointsCost.rst:220 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_withPointsCost.rst:267 msgid "Description" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:46 +#: ../../build/doc/pgr_withPointsCost.rst:53 msgid "Modify the graph to include points defined by points_sql. Using Dijkstra algorithm, return only the aggregate cost of the shortest path(s) found." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:84 +#: ../../build/doc/pgr_withPointsCost.rst:91 msgid "The main characteristics are:" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:50 +#: ../../build/doc/pgr_withPointsCost.rst:57 msgid "It does not return a path." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:51 +#: ../../build/doc/pgr_withPointsCost.rst:58 msgid "Returns the sum of the costs of the shortest path for pair combination of vertices in the modified graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:52 +#: ../../build/doc/pgr_withPointsCost.rst:59 msgid "Vertices of the graph are:" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:54 +#: ../../build/doc/pgr_withPointsCost.rst:61 msgid "**positive** when it belongs to the edges_sql" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:55 +#: ../../build/doc/pgr_withPointsCost.rst:62 msgid "**negative** when it belongs to the points_sql" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:57 +#: ../../build/doc/pgr_withPointsCost.rst:64 msgid "Process is done only on edges with positive costs." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:58 +#: ../../build/doc/pgr_withPointsCost.rst:65 msgid "Values are returned when there is a path." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:60 +#: ../../build/doc/pgr_withPointsCost.rst:67 msgid "The returned values are in the form of a set of `(start_vid, end_vid, agg_cost)`." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:62 +#: ../../build/doc/pgr_withPointsCost.rst:69 msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:64 +#: ../../build/doc/pgr_withPointsCost.rst:71 msgid "The `agg_cost` in the non included values `(v, v)` is `0`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:66 +#: ../../build/doc/pgr_withPointsCost.rst:73 msgid "When the starting vertex and ending vertex are the different and there is no path." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:68 +#: ../../build/doc/pgr_withPointsCost.rst:75 msgid "The `agg_cost` in the non included values `(u, v)` is :math:`\\infty`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:70 +#: ../../build/doc/pgr_withPointsCost.rst:77 msgid "If the values returned are stored in a table, the unique index would be the pair: `(start_vid, end_vid)`." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:73 +#: ../../build/doc/pgr_withPointsCost.rst:80 msgid "For **undirected** graphs, the results are **symmetric**." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:75 +#: ../../build/doc/pgr_withPointsCost.rst:82 msgid "The `agg_cost` of `(u, v)` is the same as for `(v, u)`." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:77 +#: ../../build/doc/pgr_withPointsCost.rst:84 msgid "For optimization purposes, any duplicated value in the `start_vids` or `end_vids` is ignored." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:79 +#: ../../build/doc/pgr_withPointsCost.rst:86 msgid "The returned values are ordered:" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:81 +#: ../../build/doc/pgr_withPointsCost.rst:88 msgid "`start_vid` ascending" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:82 +#: ../../build/doc/pgr_withPointsCost.rst:89 msgid "`end_vid` ascending" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:84 +#: ../../build/doc/pgr_withPointsCost.rst:91 msgid "Running time: :math:`O(| start\\_vids | * (V \\log V + E))`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:87 +#: ../../build/doc/pgr_withPointsCost.rst:94 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:90 +#: ../../build/doc/pgr_withPointsCost.rst:97 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:99 +#: ../../build/doc/pgr_withPointsCost.rst:107 msgid "There is no **details** flag, unlike the other members of the withPoints family of functions." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:105 +#: ../../build/doc/pgr_withPointsCost.rst:113 msgid "Using defaults" msgstr "" @@ -208,187 +221,214 @@ msgstr "" #: ../../build/doc/pgr_withPointsCost.rst:0 #: ../../build/doc/pgr_withPointsCost.rst:0 #: ../../build/doc/pgr_withPointsCost.rst:0 +#: ../../build/doc/pgr_withPointsCost.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:111 +#: ../../build/doc/pgr_withPointsCost.rst:119 msgid "From point :math:`1` to point :math:`3`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:113 +#: ../../build/doc/pgr_withPointsCost.rst:121 msgid "For a **directed** graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:114 +#: ../../build/doc/pgr_withPointsCost.rst:122 msgid "The driving side is set as **b** both. So arriving/departing to/from the point(s) can be in any direction." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:125 +#: ../../build/doc/pgr_withPointsCost.rst:133 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:132 +#: ../../build/doc/pgr_withPointsCost.rst:140 msgid "From point :math:`1` to vertex :math:`3` on an **undirected** graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:142 +#: ../../build/doc/pgr_withPointsCost.rst:150 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:149 +#: ../../build/doc/pgr_withPointsCost.rst:157 msgid "From point :math:`1` to point :math:`3` and vertex :math:`5` on a **directed** graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:159 +#: ../../build/doc/pgr_withPointsCost.rst:167 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:166 +#: ../../build/doc/pgr_withPointsCost.rst:174 msgid "From point :math:`1` and vertex :math:`2` to point :math:`3` on a **directed** graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:176 +#: ../../build/doc/pgr_withPointsCost.rst:184 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:183 +#: ../../build/doc/pgr_withPointsCost.rst:191 msgid "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex :math:`7` on a **directed** graph." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:190 +#: ../../build/doc/pgr_withPointsCost.rst:201 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:208 +msgid "Two (source, target) combinations: (from point :math:`1` to vertex :math:`3`), and (from vertex :math:`2` to point :math:`3`) with **right** side driving topology." +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:217 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:193 +#: ../../build/doc/pgr_withPointsCost.rst:220 msgid "Parameter" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:193 +#: ../../build/doc/pgr_withPointsCost.rst:220 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_withPointsCost.rst:267 msgid "Type" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:195 -msgid "**edges_sql**" +#: ../../build/doc/pgr_withPointsCost.rst:222 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:195 -#: ../../build/doc/pgr_withPointsCost.rst:196 +#: ../../build/doc/pgr_withPointsCost.rst:222 +#: ../../build/doc/pgr_withPointsCost.rst:223 +#: ../../build/doc/pgr_withPointsCost.rst:224 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:195 -msgid "Edges SQL query as described above." +#: ../../build/doc/pgr_withPointsCost.rst:222 +msgid "`Edges query` as described above." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:196 -msgid "**points_sql**" +#: ../../build/doc/pgr_withPointsCost.rst:223 +msgid "**Points SQL**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:196 -msgid "Points SQL query as described above." +#: ../../build/doc/pgr_withPointsCost.rst:223 +msgid "`Points query` as described above." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:197 -#: ../../build/doc/pgr_withPointsCost.rst:228 +#: ../../build/doc/pgr_withPointsCost.rst:224 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:224 +msgid "`Combinations query` as described below." +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:225 +#: ../../build/doc/pgr_withPointsCost.rst:269 msgid "**start_vid**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:197 -#: ../../build/doc/pgr_withPointsCost.rst:198 +#: ../../build/doc/pgr_withPointsCost.rst:225 +#: ../../build/doc/pgr_withPointsCost.rst:226 #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:15 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:197 +#: ../../build/doc/pgr_withPointsCost.rst:225 msgid "Starting vertex identifier. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:198 -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgr_withPointsCost.rst:270 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:198 +#: ../../build/doc/pgr_withPointsCost.rst:226 msgid "Ending vertex identifier. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:199 +#: ../../build/doc/pgr_withPointsCost.rst:227 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:199 -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:227 +#: ../../build/doc/pgr_withPointsCost.rst:228 msgid "``ARRAY[ANY-INTEGER]``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:199 +#: ../../build/doc/pgr_withPointsCost.rst:227 msgid "Array of identifiers of starting vertices. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:228 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:228 msgid "Array of identifiers of ending vertices. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:201 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:201 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:201 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "(optional). When ``false`` the graph is considered as Undirected. Default is ``true`` which considers the graph as Directed." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:202 +#: ../../build/doc/pgr_withPointsCost.rst:230 msgid "**driving_side**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:202 +#: ../../build/doc/pgr_withPointsCost.rst:230 #: ../../build/doc/pgRouting-concepts.rst:17 msgid "``CHAR``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:205 +#: ../../build/doc/pgr_withPointsCost.rst:233 msgid "(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:203 +#: ../../build/doc/pgr_withPointsCost.rst:231 msgid "In the right or left or" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:204 +#: ../../build/doc/pgr_withPointsCost.rst:232 #: ../../build/doc/pgRouting-concepts.rst:20 msgid "If it doesn't matter with 'b' or NULL." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:205 +#: ../../build/doc/pgr_withPointsCost.rst:233 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "If column not present 'b' is considered." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:210 +#: ../../build/doc/pgr_withPointsCost.rst:238 msgid "Inner query" msgstr "" +#: ../../build/doc/pgr_withPointsCost.rst:243 +msgid "Edges query" +msgstr "" + #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_withPointsCost.rst:267 msgid "Column" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -402,18 +442,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -453,15 +497,18 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 #: ../../build/doc/pgRouting-concepts.rst:25 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -474,6 +521,10 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" +#: ../../build/doc/pgr_withPointsCost.rst:250 +msgid "Points query" +msgstr "" + #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Description of the Points SQL query" msgstr "" @@ -538,72 +589,76 @@ msgstr "" msgid "smallint, int, bigint, real, float" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:223 +#: ../../build/doc/pgr_withPointsCost.rst:257 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_withPointsCost.rst:264 msgid "Result Columns" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:228 -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:269 +#: ../../build/doc/pgr_withPointsCost.rst:270 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:228 +#: ../../build/doc/pgr_withPointsCost.rst:269 msgid "Identifier of the starting vertex. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:270 msgid "Identifier of the ending point. When negative: is a point's pid." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:230 +#: ../../build/doc/pgr_withPointsCost.rst:271 msgid "**agg_cost**" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:230 +#: ../../build/doc/pgr_withPointsCost.rst:271 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:230 +#: ../../build/doc/pgr_withPointsCost.rst:271 msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:234 +#: ../../build/doc/pgr_withPointsCost.rst:275 msgid "Additional Examples" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:236 +#: ../../build/doc/pgr_withPointsCost.rst:277 msgid "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex :math:`7`, with **right** side driving topology" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:242 +#: ../../build/doc/pgr_withPointsCost.rst:283 msgid "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex :math:`7`, with **left** side driving topology" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:248 +#: ../../build/doc/pgr_withPointsCost.rst:289 msgid "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex :math:`7`, does not matter driving side." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:254 +#: ../../build/doc/pgr_withPointsCost.rst:295 msgid "The queries use the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:257 +#: ../../build/doc/pgr_withPointsCost.rst:298 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:259 +#: ../../build/doc/pgr_withPointsCost.rst:300 msgid ":doc:`withPoints-family`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:262 +#: ../../build/doc/pgr_withPointsCost.rst:303 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:263 +#: ../../build/doc/pgr_withPointsCost.rst:304 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_withPointsCost.rst:264 +#: ../../build/doc/pgr_withPointsCost.rst:305 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/release_notes.pot b/locale/pot/release_notes.pot index ecde0d8cc6b..aaeb16e6d64 100644 --- a/locale/pot/release_notes.pot +++ b/locale/pot/release_notes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-05 07:29-0600\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,2108 +33,2192 @@ msgid ":ref:`changelog_3_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:22 -msgid ":ref:`changelog_3_1_1`" +msgid ":ref:`changelog_3_1_2`" msgstr "" #: ../../build/doc/release_notes.rst:23 -msgid ":ref:`changelog_3_1_0`" +msgid ":ref:`changelog_3_1_1`" msgstr "" #: ../../build/doc/release_notes.rst:24 -msgid ":ref:`changelog_3_0_3`" +msgid ":ref:`changelog_3_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:25 -msgid ":ref:`changelog_3_0_2`" +msgid ":ref:`changelog_3_0_4`" msgstr "" #: ../../build/doc/release_notes.rst:26 -msgid ":ref:`changelog_3_0_1`" +msgid ":ref:`changelog_3_0_3`" msgstr "" #: ../../build/doc/release_notes.rst:27 -msgid ":ref:`changelog_3_0_0`" +msgid ":ref:`changelog_3_0_2`" msgstr "" #: ../../build/doc/release_notes.rst:28 -msgid ":ref:`changelog_2_6_3`" +msgid ":ref:`changelog_3_0_1`" msgstr "" #: ../../build/doc/release_notes.rst:29 -msgid ":ref:`changelog_2_6_2`" +msgid ":ref:`changelog_3_0_0`" msgstr "" #: ../../build/doc/release_notes.rst:30 -msgid ":ref:`changelog_2_6_1`" +msgid ":ref:`changelog_2_6_3`" msgstr "" #: ../../build/doc/release_notes.rst:31 -msgid ":ref:`changelog_2_6_0`" +msgid ":ref:`changelog_2_6_2`" msgstr "" #: ../../build/doc/release_notes.rst:32 -msgid ":ref:`changelog_2_5_5`" +msgid ":ref:`changelog_2_6_1`" msgstr "" #: ../../build/doc/release_notes.rst:33 -msgid ":ref:`changelog_2_5_4`" +msgid ":ref:`changelog_2_6_0`" msgstr "" #: ../../build/doc/release_notes.rst:34 -msgid ":ref:`changelog_2_5_3`" +msgid ":ref:`changelog_2_5_5`" msgstr "" #: ../../build/doc/release_notes.rst:35 -msgid ":ref:`changelog_2_5_2`" +msgid ":ref:`changelog_2_5_4`" msgstr "" #: ../../build/doc/release_notes.rst:36 -msgid ":ref:`changelog_2_5_1`" +msgid ":ref:`changelog_2_5_3`" msgstr "" #: ../../build/doc/release_notes.rst:37 -msgid ":ref:`changelog_2_5_0`" +msgid ":ref:`changelog_2_5_2`" msgstr "" #: ../../build/doc/release_notes.rst:38 -msgid ":ref:`changelog_2_4_2`" +msgid ":ref:`changelog_2_5_1`" msgstr "" #: ../../build/doc/release_notes.rst:39 -msgid ":ref:`changelog_2_4_1`" +msgid ":ref:`changelog_2_5_0`" msgstr "" #: ../../build/doc/release_notes.rst:40 -msgid ":ref:`changelog_2_4_0`" +msgid ":ref:`changelog_2_4_2`" msgstr "" #: ../../build/doc/release_notes.rst:41 -msgid ":ref:`changelog_2_3_2`" +msgid ":ref:`changelog_2_4_1`" msgstr "" #: ../../build/doc/release_notes.rst:42 -msgid ":ref:`changelog_2_3_1`" +msgid ":ref:`changelog_2_4_0`" msgstr "" #: ../../build/doc/release_notes.rst:43 -msgid ":ref:`changelog_2_3_0`" +msgid ":ref:`changelog_2_3_2`" msgstr "" #: ../../build/doc/release_notes.rst:44 -msgid ":ref:`changelog_2_2_4`" +msgid ":ref:`changelog_2_3_1`" msgstr "" #: ../../build/doc/release_notes.rst:45 -msgid ":ref:`changelog_2_2_3`" +msgid ":ref:`changelog_2_3_0`" msgstr "" #: ../../build/doc/release_notes.rst:46 -msgid ":ref:`changelog_2_2_2`" +msgid ":ref:`changelog_2_2_4`" msgstr "" #: ../../build/doc/release_notes.rst:47 -msgid ":ref:`changelog_2_2_1`" +msgid ":ref:`changelog_2_2_3`" msgstr "" #: ../../build/doc/release_notes.rst:48 -msgid ":ref:`changelog_2_2_0`" +msgid ":ref:`changelog_2_2_2`" msgstr "" #: ../../build/doc/release_notes.rst:49 -msgid ":ref:`changelog_2_1_0`" +msgid ":ref:`changelog_2_2_1`" msgstr "" #: ../../build/doc/release_notes.rst:50 -msgid ":ref:`changelog_2_0_1`" +msgid ":ref:`changelog_2_2_0`" msgstr "" #: ../../build/doc/release_notes.rst:51 -msgid ":ref:`changelog_2_0_0`" +msgid ":ref:`changelog_2_1_0`" msgstr "" #: ../../build/doc/release_notes.rst:52 +msgid ":ref:`changelog_2_0_1`" +msgstr "" + +#: ../../build/doc/release_notes.rst:53 +msgid ":ref:`changelog_2_0_0`" +msgstr "" + +#: ../../build/doc/release_notes.rst:54 msgid ":ref:`changelog_1_x`" msgstr "" -#: ../../build/doc/release_notes.rst:60 +#: ../../build/doc/release_notes.rst:62 msgid "pgRouting 3.2.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:63 +#: ../../build/doc/release_notes.rst:65 msgid "New experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:64 +#: ../../build/doc/release_notes.rst:66 msgid "pgr_depthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:65 +#: ../../build/doc/release_notes.rst:67 msgid "pgr_dijkstraNear(One to Many)" msgstr "" -#: ../../build/doc/release_notes.rst:66 +#: ../../build/doc/release_notes.rst:68 msgid "pgr_dijkstraNear(Many to One)" msgstr "" -#: ../../build/doc/release_notes.rst:67 +#: ../../build/doc/release_notes.rst:69 msgid "pgr_dijkstraNear(Many to Many)" msgstr "" -#: ../../build/doc/release_notes.rst:68 +#: ../../build/doc/release_notes.rst:70 msgid "pgr_dijkstraNear(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:69 +#: ../../build/doc/release_notes.rst:71 msgid "pgr_dijkstraNearCost(One to Many)" msgstr "" -#: ../../build/doc/release_notes.rst:70 +#: ../../build/doc/release_notes.rst:72 msgid "pgr_dijkstraNearCost(Many to One)" msgstr "" -#: ../../build/doc/release_notes.rst:71 +#: ../../build/doc/release_notes.rst:73 msgid "pgr_dijkstraNearCost(Many to Many)" msgstr "" -#: ../../build/doc/release_notes.rst:72 +#: ../../build/doc/release_notes.rst:74 msgid "pgr_dijkstraNearCost(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:73 +#: ../../build/doc/release_notes.rst:75 msgid "pgr_isPlanar" msgstr "" -#: ../../build/doc/release_notes.rst:74 +#: ../../build/doc/release_notes.rst:76 msgid "pgr_makeConnected" msgstr "" -#: ../../build/doc/release_notes.rst:75 +#: ../../build/doc/release_notes.rst:77 msgid "pgr_sequentialVertexColoring" msgstr "" #: ../../build/doc/release_notes.rst:80 -msgid "pgRouting 3.1.1 Release Notes" +#: ../../build/doc/release_notes.rst:130 +msgid "New proposed functions" +msgstr "" + +#: ../../build/doc/release_notes.rst:81 +msgid "pgr_aStar(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:82 -msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.1 `_ on Github." +msgid "pgr_aStarCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:83 +msgid "pgr_bdAstar(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:84 +msgid "pgr_bdAstarCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:85 +msgid "pgr_bdDijkstra(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:86 -#: ../../build/doc/release_notes.rst:130 -#: ../../build/doc/release_notes.rst:142 -msgid "Issues fixes" +msgid "pgr_bdDijkstraCost(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:87 -#: ../../build/doc/release_notes.rst:116 -msgid "`#1647 `__: Linear Contraction contracts self loops" +msgid "pgr_withPoints(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:88 +msgid "pgr_withPointsCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:93 +msgid "pgRouting 3.1.2 Release Notes" +msgstr "" + +#: ../../build/doc/release_notes.rst:95 +msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.2 `_ on Github." +msgstr "" + +#: ../../build/doc/release_notes.rst:99 +#: ../../build/doc/release_notes.rst:113 +#: ../../build/doc/release_notes.rst:176 +#: ../../build/doc/release_notes.rst:188 +msgid "Issues fixes" +msgstr "" + +#: ../../build/doc/release_notes.rst:100 +#: ../../build/doc/release_notes.rst:148 +msgid "`#1356 `__: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed" +msgstr "" + +#: ../../build/doc/release_notes.rst:101 +#: ../../build/doc/release_notes.rst:149 +msgid "`#1760 `__: TSP server crash on ubuntu 20.04 #1760" +msgstr "" + +#: ../../build/doc/release_notes.rst:102 +#: ../../build/doc/release_notes.rst:150 +msgid "`#1770 `__: Remove warnings when using clang compiler" +msgstr "" + +#: ../../build/doc/release_notes.rst:107 +msgid "pgRouting 3.1.1 Release Notes" +msgstr "" + +#: ../../build/doc/release_notes.rst:109 +msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.1 `_ on Github." +msgstr "" + +#: ../../build/doc/release_notes.rst:114 +#: ../../build/doc/release_notes.rst:160 +msgid "`#1733 `__: pgr_bdAstar fails when source or target vertex does not exist in the graph" +msgstr "" + +#: ../../build/doc/release_notes.rst:115 +#: ../../build/doc/release_notes.rst:161 +msgid "`#1647 `__: Linear Contraction contracts self loops" +msgstr "" + +#: ../../build/doc/release_notes.rst:116 +#: ../../build/doc/release_notes.rst:162 +msgid "`#1640 `__: pgr_withPoints fails when points_sql is empty" +msgstr "" + #: ../../build/doc/release_notes.rst:117 +#: ../../build/doc/release_notes.rst:163 msgid "`#1616 `__: Path evaluation on C++ not updated before the results go back to C" msgstr "" -#: ../../build/doc/release_notes.rst:89 #: ../../build/doc/release_notes.rst:118 +#: ../../build/doc/release_notes.rst:164 msgid "`#1300 `__: pgr_chinesePostman crash on test data" msgstr "" -#: ../../build/doc/release_notes.rst:95 +#: ../../build/doc/release_notes.rst:124 msgid "pgRouting 3.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:97 +#: ../../build/doc/release_notes.rst:126 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:101 -msgid "New proposed functions" -msgstr "" - -#: ../../build/doc/release_notes.rst:102 +#: ../../build/doc/release_notes.rst:131 msgid "pgr_dijkstra(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:103 +#: ../../build/doc/release_notes.rst:132 msgid "pgr_dijkstraCost(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:106 +#: ../../build/doc/release_notes.rst:135 msgid "Build changes" msgstr "" -#: ../../build/doc/release_notes.rst:107 +#: ../../build/doc/release_notes.rst:136 msgid "Minimal requirement for Sphinx: version 1.8" msgstr "" -#: ../../build/doc/release_notes.rst:112 -msgid "pgRouting 3.0.3 Release Notes" +#: ../../build/doc/release_notes.rst:141 +msgid "pgRouting 3.0.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:115 +#: ../../build/doc/release_notes.rst:143 +msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.4 `_ on Github." +msgstr "" + +#: ../../build/doc/release_notes.rst:147 +#: ../../build/doc/release_notes.rst:159 msgid "Backport issues fixes" msgstr "" -#: ../../build/doc/release_notes.rst:124 +#: ../../build/doc/release_notes.rst:156 +msgid "pgRouting 3.0.3 Release Notes" +msgstr "" + +#: ../../build/doc/release_notes.rst:170 msgid "pgRouting 3.0.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:126 +#: ../../build/doc/release_notes.rst:172 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:131 +#: ../../build/doc/release_notes.rst:177 msgid "`#1378 `__: Visual Studio build failing" msgstr "" -#: ../../build/doc/release_notes.rst:136 +#: ../../build/doc/release_notes.rst:182 msgid "pgRouting 3.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:138 +#: ../../build/doc/release_notes.rst:184 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:143 +#: ../../build/doc/release_notes.rst:189 msgid "`#232 `__: Honor client cancel requests in C /C++ code" msgstr "" -#: ../../build/doc/release_notes.rst:148 +#: ../../build/doc/release_notes.rst:194 msgid "pgRouting 3.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:150 +#: ../../build/doc/release_notes.rst:196 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:154 +#: ../../build/doc/release_notes.rst:200 msgid "Fixed Issues" msgstr "" -#: ../../build/doc/release_notes.rst:155 +#: ../../build/doc/release_notes.rst:201 msgid "`#1153 `__: Renamed pgr_eucledianTSP to pgr_TSPeuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:156 +#: ../../build/doc/release_notes.rst:202 msgid "`#1188 `__: Removed CGAL dependency" msgstr "" -#: ../../build/doc/release_notes.rst:157 +#: ../../build/doc/release_notes.rst:203 msgid "`#1002 `__: Fixed contraction issues:" msgstr "" -#: ../../build/doc/release_notes.rst:159 +#: ../../build/doc/release_notes.rst:205 msgid "`#1004 `__: Contracts when forbidden vertices do not belong to graph" msgstr "" -#: ../../build/doc/release_notes.rst:160 +#: ../../build/doc/release_notes.rst:206 msgid "`#1005 `__: Intermideate results eliminated" msgstr "" -#: ../../build/doc/release_notes.rst:161 +#: ../../build/doc/release_notes.rst:207 msgid "`#1006 `__: No loss of information" msgstr "" -#: ../../build/doc/release_notes.rst:164 +#: ../../build/doc/release_notes.rst:210 msgid "New functions" msgstr "" -#: ../../build/doc/release_notes.rst:165 +#: ../../build/doc/release_notes.rst:211 msgid "Kruskal family" msgstr "" -#: ../../build/doc/release_notes.rst:167 +#: ../../build/doc/release_notes.rst:213 msgid "pgr_kruskal" msgstr "" -#: ../../build/doc/release_notes.rst:168 +#: ../../build/doc/release_notes.rst:214 msgid "pgr_kruskalBFS" msgstr "" -#: ../../build/doc/release_notes.rst:169 +#: ../../build/doc/release_notes.rst:215 msgid "pgr_kruskalDD" msgstr "" -#: ../../build/doc/release_notes.rst:170 +#: ../../build/doc/release_notes.rst:216 msgid "pgr_kruskalDFS" msgstr "" -#: ../../build/doc/release_notes.rst:172 +#: ../../build/doc/release_notes.rst:218 msgid "Prim family" msgstr "" -#: ../../build/doc/release_notes.rst:174 +#: ../../build/doc/release_notes.rst:220 msgid "pgr_prim" msgstr "" -#: ../../build/doc/release_notes.rst:175 +#: ../../build/doc/release_notes.rst:221 msgid "pgr_primDD" msgstr "" -#: ../../build/doc/release_notes.rst:176 +#: ../../build/doc/release_notes.rst:222 msgid "pgr_primDFS" msgstr "" -#: ../../build/doc/release_notes.rst:177 +#: ../../build/doc/release_notes.rst:223 msgid "pgr_primBFS" msgstr "" -#: ../../build/doc/release_notes.rst:181 +#: ../../build/doc/release_notes.rst:227 msgid "Proposed moved to official on pgRouting" msgstr "" -#: ../../build/doc/release_notes.rst:182 +#: ../../build/doc/release_notes.rst:228 msgid "aStar Family" msgstr "" -#: ../../build/doc/release_notes.rst:184 +#: ../../build/doc/release_notes.rst:230 msgid "pgr_aStar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:185 +#: ../../build/doc/release_notes.rst:231 msgid "pgr_aStar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:186 +#: ../../build/doc/release_notes.rst:232 msgid "pgr_aStar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:187 +#: ../../build/doc/release_notes.rst:233 msgid "pgr_aStarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:188 +#: ../../build/doc/release_notes.rst:234 msgid "pgr_aStarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:189 +#: ../../build/doc/release_notes.rst:235 msgid "pgr_aStarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:190 +#: ../../build/doc/release_notes.rst:236 msgid "pgr_aStarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:191 +#: ../../build/doc/release_notes.rst:237 msgid "pgr_aStarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:192 +#: ../../build/doc/release_notes.rst:238 msgid "pgr_aStarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:193 +#: ../../build/doc/release_notes.rst:239 msgid "pgr_aStarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:194 +#: ../../build/doc/release_notes.rst:240 msgid "pgr_aStarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:196 +#: ../../build/doc/release_notes.rst:242 msgid "bdAstar Family" msgstr "" -#: ../../build/doc/release_notes.rst:198 -#: ../../build/doc/release_notes.rst:525 +#: ../../build/doc/release_notes.rst:244 +#: ../../build/doc/release_notes.rst:571 msgid "pgr_bdAstar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:199 -#: ../../build/doc/release_notes.rst:526 +#: ../../build/doc/release_notes.rst:245 +#: ../../build/doc/release_notes.rst:572 msgid "pgr_bdAstar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:200 -#: ../../build/doc/release_notes.rst:527 +#: ../../build/doc/release_notes.rst:246 +#: ../../build/doc/release_notes.rst:573 msgid "pgr_bdAstar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:201 -#: ../../build/doc/release_notes.rst:528 +#: ../../build/doc/release_notes.rst:247 +#: ../../build/doc/release_notes.rst:574 msgid "pgr_bdAstarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:202 -#: ../../build/doc/release_notes.rst:529 +#: ../../build/doc/release_notes.rst:248 +#: ../../build/doc/release_notes.rst:575 msgid "pgr_bdAstarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:203 -#: ../../build/doc/release_notes.rst:530 +#: ../../build/doc/release_notes.rst:249 +#: ../../build/doc/release_notes.rst:576 msgid "pgr_bdAstarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:204 -#: ../../build/doc/release_notes.rst:531 +#: ../../build/doc/release_notes.rst:250 +#: ../../build/doc/release_notes.rst:577 msgid "pgr_bdAstarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:205 +#: ../../build/doc/release_notes.rst:251 msgid "pgr_bdAstarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:206 +#: ../../build/doc/release_notes.rst:252 msgid "pgr_bdAstarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:207 +#: ../../build/doc/release_notes.rst:253 msgid "pgr_bdAstarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:208 +#: ../../build/doc/release_notes.rst:254 msgid "pgr_bdAstarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:210 +#: ../../build/doc/release_notes.rst:256 msgid "bdDijkstra Family" msgstr "" -#: ../../build/doc/release_notes.rst:212 -#: ../../build/doc/release_notes.rst:533 +#: ../../build/doc/release_notes.rst:258 +#: ../../build/doc/release_notes.rst:579 msgid "pgr_bdDijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:213 -#: ../../build/doc/release_notes.rst:534 +#: ../../build/doc/release_notes.rst:259 +#: ../../build/doc/release_notes.rst:580 msgid "pgr_bdDijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:214 -#: ../../build/doc/release_notes.rst:535 +#: ../../build/doc/release_notes.rst:260 +#: ../../build/doc/release_notes.rst:581 msgid "pgr_bdDijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:215 -#: ../../build/doc/release_notes.rst:536 +#: ../../build/doc/release_notes.rst:261 +#: ../../build/doc/release_notes.rst:582 msgid "pgr_bdDijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:216 -#: ../../build/doc/release_notes.rst:537 +#: ../../build/doc/release_notes.rst:262 +#: ../../build/doc/release_notes.rst:583 msgid "pgr_bdDijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:217 -#: ../../build/doc/release_notes.rst:538 +#: ../../build/doc/release_notes.rst:263 +#: ../../build/doc/release_notes.rst:584 msgid "pgr_bdDijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:218 -#: ../../build/doc/release_notes.rst:539 +#: ../../build/doc/release_notes.rst:264 +#: ../../build/doc/release_notes.rst:585 msgid "pgr_bdDijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:219 +#: ../../build/doc/release_notes.rst:265 msgid "pgr_bdDijkstraCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:220 +#: ../../build/doc/release_notes.rst:266 msgid "pgr_bdDijkstraCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:221 +#: ../../build/doc/release_notes.rst:267 msgid "pgr_bdDijkstraCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:222 +#: ../../build/doc/release_notes.rst:268 msgid "pgr_bdDijkstraCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:224 +#: ../../build/doc/release_notes.rst:270 msgid "Flow Family" msgstr "" -#: ../../build/doc/release_notes.rst:226 +#: ../../build/doc/release_notes.rst:272 msgid "pgr_pushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:227 +#: ../../build/doc/release_notes.rst:273 msgid "pgr_pushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:228 +#: ../../build/doc/release_notes.rst:274 msgid "pgr_pushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:229 +#: ../../build/doc/release_notes.rst:275 msgid "pgr_pushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:230 +#: ../../build/doc/release_notes.rst:276 msgid "pgr_edmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:231 +#: ../../build/doc/release_notes.rst:277 msgid "pgr_edmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:232 +#: ../../build/doc/release_notes.rst:278 msgid "pgr_edmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:233 +#: ../../build/doc/release_notes.rst:279 msgid "pgr_edmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:234 +#: ../../build/doc/release_notes.rst:280 msgid "pgr_boykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:235 +#: ../../build/doc/release_notes.rst:281 msgid "pgr_boykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:236 +#: ../../build/doc/release_notes.rst:282 msgid "pgr_boykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:237 +#: ../../build/doc/release_notes.rst:283 msgid "pgr_boykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:238 +#: ../../build/doc/release_notes.rst:284 msgid "pgr_maxCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:239 -#: ../../build/doc/release_notes.rst:609 +#: ../../build/doc/release_notes.rst:285 +#: ../../build/doc/release_notes.rst:655 msgid "pgr_maxFlow" msgstr "" -#: ../../build/doc/release_notes.rst:240 -#: ../../build/doc/release_notes.rst:699 +#: ../../build/doc/release_notes.rst:286 +#: ../../build/doc/release_notes.rst:745 msgid "pgr_edgeDisjointPaths(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:241 -#: ../../build/doc/release_notes.rst:700 +#: ../../build/doc/release_notes.rst:287 +#: ../../build/doc/release_notes.rst:746 msgid "pgr_edgeDisjointPaths(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:242 -#: ../../build/doc/release_notes.rst:701 +#: ../../build/doc/release_notes.rst:288 +#: ../../build/doc/release_notes.rst:747 msgid "pgr_edgeDisjointPaths(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:243 -#: ../../build/doc/release_notes.rst:702 +#: ../../build/doc/release_notes.rst:289 +#: ../../build/doc/release_notes.rst:748 msgid "pgr_edgeDisjointPaths(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:245 +#: ../../build/doc/release_notes.rst:291 msgid "Components family" msgstr "" -#: ../../build/doc/release_notes.rst:247 -#: ../../build/doc/release_notes.rst:543 +#: ../../build/doc/release_notes.rst:293 +#: ../../build/doc/release_notes.rst:589 msgid "pgr_connectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:248 -#: ../../build/doc/release_notes.rst:544 +#: ../../build/doc/release_notes.rst:294 +#: ../../build/doc/release_notes.rst:590 msgid "pgr_strongComponents" msgstr "" -#: ../../build/doc/release_notes.rst:249 -#: ../../build/doc/release_notes.rst:545 +#: ../../build/doc/release_notes.rst:295 +#: ../../build/doc/release_notes.rst:591 msgid "pgr_biconnectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:250 -#: ../../build/doc/release_notes.rst:546 +#: ../../build/doc/release_notes.rst:296 +#: ../../build/doc/release_notes.rst:592 msgid "pgr_articulationPoints" msgstr "" -#: ../../build/doc/release_notes.rst:251 -#: ../../build/doc/release_notes.rst:547 +#: ../../build/doc/release_notes.rst:297 +#: ../../build/doc/release_notes.rst:593 msgid "pgr_bridges" msgstr "" -#: ../../build/doc/release_notes.rst:253 +#: ../../build/doc/release_notes.rst:299 msgid "Contraction:" msgstr "" -#: ../../build/doc/release_notes.rst:255 +#: ../../build/doc/release_notes.rst:301 msgid "Removed unnecessary column seq" msgstr "" -#: ../../build/doc/release_notes.rst:256 -#: ../../build/doc/release_notes.rst:643 -#: ../../build/doc/release_notes.rst:659 -#: ../../build/doc/release_notes.rst:729 -#: ../../build/doc/release_notes.rst:742 -#: ../../build/doc/release_notes.rst:753 -#: ../../build/doc/release_notes.rst:765 -#: ../../build/doc/release_notes.rst:884 -#: ../../build/doc/release_notes.rst:915 +#: ../../build/doc/release_notes.rst:302 +#: ../../build/doc/release_notes.rst:689 +#: ../../build/doc/release_notes.rst:705 +#: ../../build/doc/release_notes.rst:775 +#: ../../build/doc/release_notes.rst:788 +#: ../../build/doc/release_notes.rst:799 +#: ../../build/doc/release_notes.rst:811 +#: ../../build/doc/release_notes.rst:930 +#: ../../build/doc/release_notes.rst:961 msgid "Bug Fixes" msgstr "" -#: ../../build/doc/release_notes.rst:260 +#: ../../build/doc/release_notes.rst:306 msgid "New Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:261 +#: ../../build/doc/release_notes.rst:307 msgid "pgr_maxFlowMinCost" msgstr "" -#: ../../build/doc/release_notes.rst:262 +#: ../../build/doc/release_notes.rst:308 msgid "pgr_maxFlowMinCost_Cost" msgstr "" -#: ../../build/doc/release_notes.rst:263 +#: ../../build/doc/release_notes.rst:309 msgid "pgr_extractVertices" msgstr "" -#: ../../build/doc/release_notes.rst:264 +#: ../../build/doc/release_notes.rst:310 msgid "pgr_turnRestrictedPath" msgstr "" -#: ../../build/doc/release_notes.rst:265 +#: ../../build/doc/release_notes.rst:311 msgid "pgr_stoerWagner" msgstr "" -#: ../../build/doc/release_notes.rst:266 +#: ../../build/doc/release_notes.rst:312 msgid "pgr_dagShortestpath" msgstr "" -#: ../../build/doc/release_notes.rst:267 +#: ../../build/doc/release_notes.rst:313 msgid "pgr_topologicalSort" msgstr "" -#: ../../build/doc/release_notes.rst:268 +#: ../../build/doc/release_notes.rst:314 msgid "pgr_transitiveClosure" msgstr "" -#: ../../build/doc/release_notes.rst:269 +#: ../../build/doc/release_notes.rst:315 msgid "VRP category" msgstr "" -#: ../../build/doc/release_notes.rst:271 +#: ../../build/doc/release_notes.rst:317 msgid "pgr_pickDeliverEuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:272 +#: ../../build/doc/release_notes.rst:318 msgid "pgr_pickDeliver" msgstr "" -#: ../../build/doc/release_notes.rst:274 +#: ../../build/doc/release_notes.rst:320 msgid "Chinese Postman family" msgstr "" -#: ../../build/doc/release_notes.rst:276 +#: ../../build/doc/release_notes.rst:322 msgid "pgr_chinesePostman" msgstr "" -#: ../../build/doc/release_notes.rst:277 +#: ../../build/doc/release_notes.rst:323 msgid "pgr_chinesePostmanCost" msgstr "" -#: ../../build/doc/release_notes.rst:279 +#: ../../build/doc/release_notes.rst:325 msgid "Breadth First Search family" msgstr "" -#: ../../build/doc/release_notes.rst:281 +#: ../../build/doc/release_notes.rst:327 msgid "pgr_breadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:282 +#: ../../build/doc/release_notes.rst:328 msgid "pgr_binaryBreadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:284 +#: ../../build/doc/release_notes.rst:330 msgid "Bellman Ford family" msgstr "" -#: ../../build/doc/release_notes.rst:286 +#: ../../build/doc/release_notes.rst:332 msgid "pgr_bellmanFord" msgstr "" -#: ../../build/doc/release_notes.rst:287 +#: ../../build/doc/release_notes.rst:333 msgid "pgr_edwardMoore" msgstr "" -#: ../../build/doc/release_notes.rst:290 +#: ../../build/doc/release_notes.rst:336 msgid "Moved to legacy" msgstr "" -#: ../../build/doc/release_notes.rst:291 +#: ../../build/doc/release_notes.rst:337 msgid "Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:293 +#: ../../build/doc/release_notes.rst:339 msgid "pgr_labelGraph - Use the components family of functions instead." msgstr "" -#: ../../build/doc/release_notes.rst:294 +#: ../../build/doc/release_notes.rst:340 msgid "Max flow - functions were renamed on v2.5.0" msgstr "" -#: ../../build/doc/release_notes.rst:296 +#: ../../build/doc/release_notes.rst:342 msgid "pgr_maxFlowPushRelabel" msgstr "" -#: ../../build/doc/release_notes.rst:297 +#: ../../build/doc/release_notes.rst:343 msgid "pgr_maxFlowBoykovKolmogorov" msgstr "" -#: ../../build/doc/release_notes.rst:298 +#: ../../build/doc/release_notes.rst:344 msgid "pgr_maxFlowEdmondsKarp" msgstr "" -#: ../../build/doc/release_notes.rst:299 +#: ../../build/doc/release_notes.rst:345 msgid "pgr_maximumcardinalitymatching" msgstr "" -#: ../../build/doc/release_notes.rst:301 +#: ../../build/doc/release_notes.rst:347 msgid "VRP" msgstr "" -#: ../../build/doc/release_notes.rst:303 +#: ../../build/doc/release_notes.rst:349 msgid "pgr_gsoc_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:305 +#: ../../build/doc/release_notes.rst:351 msgid "TSP old signatures" msgstr "" -#: ../../build/doc/release_notes.rst:306 +#: ../../build/doc/release_notes.rst:352 msgid "pgr_pointsAsPolygon" msgstr "" -#: ../../build/doc/release_notes.rst:307 +#: ../../build/doc/release_notes.rst:353 msgid "pgr_alphaShape old signature" msgstr "" -#: ../../build/doc/release_notes.rst:313 +#: ../../build/doc/release_notes.rst:359 msgid "pgRouting 2.6.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:315 +#: ../../build/doc/release_notes.rst:361 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:318 -#: ../../build/doc/release_notes.rst:332 -#: ../../build/doc/release_notes.rst:390 -#: ../../build/doc/release_notes.rst:419 -#: ../../build/doc/release_notes.rst:472 -#: ../../build/doc/release_notes.rst:483 -#: ../../build/doc/release_notes.rst:495 -#: ../../build/doc/release_notes.rst:577 -#: ../../build/doc/release_notes.rst:591 -#: ../../build/doc/release_notes.rst:628 -#: ../../build/doc/release_notes.rst:982 -#: ../../build/doc/release_notes.rst:989 -#: ../../build/doc/release_notes.rst:1010 -#: ../../build/doc/release_notes.rst:1017 +#: ../../build/doc/release_notes.rst:364 +#: ../../build/doc/release_notes.rst:378 +#: ../../build/doc/release_notes.rst:436 +#: ../../build/doc/release_notes.rst:465 +#: ../../build/doc/release_notes.rst:518 +#: ../../build/doc/release_notes.rst:529 +#: ../../build/doc/release_notes.rst:541 +#: ../../build/doc/release_notes.rst:623 +#: ../../build/doc/release_notes.rst:637 +#: ../../build/doc/release_notes.rst:674 +#: ../../build/doc/release_notes.rst:1028 +#: ../../build/doc/release_notes.rst:1035 +#: ../../build/doc/release_notes.rst:1056 +#: ../../build/doc/release_notes.rst:1063 msgid "Bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:319 +#: ../../build/doc/release_notes.rst:365 msgid "`#1219 `__ Implicit cast for via_path integer to text" msgstr "" -#: ../../build/doc/release_notes.rst:320 +#: ../../build/doc/release_notes.rst:366 msgid "`#1193 `__ Fixed pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" msgstr "" -#: ../../build/doc/release_notes.rst:321 +#: ../../build/doc/release_notes.rst:367 msgid "`#1185 `__ Improve FindPostgreSQL.cmake" msgstr "" -#: ../../build/doc/release_notes.rst:327 +#: ../../build/doc/release_notes.rst:373 msgid "pgRouting 2.6.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:329 +#: ../../build/doc/release_notes.rst:375 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:333 +#: ../../build/doc/release_notes.rst:379 msgid "`#1152 `__ Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:334 +#: ../../build/doc/release_notes.rst:380 msgid "`#1098 `__ Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:335 +#: ../../build/doc/release_notes.rst:381 msgid "`#1165 `__ Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:340 +#: ../../build/doc/release_notes.rst:386 msgid "pgRouting 2.6.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:342 +#: ../../build/doc/release_notes.rst:388 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:344 -#: ../../build/doc/release_notes.rst:431 +#: ../../build/doc/release_notes.rst:390 +#: ../../build/doc/release_notes.rst:477 msgid "Fixes server crash on several functions." msgstr "" -#: ../../build/doc/release_notes.rst:346 -#: ../../build/doc/release_notes.rst:433 -#: ../../build/doc/release_notes.rst:791 +#: ../../build/doc/release_notes.rst:392 +#: ../../build/doc/release_notes.rst:479 +#: ../../build/doc/release_notes.rst:837 msgid "pgr_floydWarshall" msgstr "" -#: ../../build/doc/release_notes.rst:347 -#: ../../build/doc/release_notes.rst:434 +#: ../../build/doc/release_notes.rst:393 +#: ../../build/doc/release_notes.rst:480 msgid "pgr_johnson" msgstr "" -#: ../../build/doc/release_notes.rst:348 -#: ../../build/doc/release_notes.rst:435 +#: ../../build/doc/release_notes.rst:394 +#: ../../build/doc/release_notes.rst:481 msgid "pgr_astar" msgstr "" -#: ../../build/doc/release_notes.rst:349 -#: ../../build/doc/release_notes.rst:436 +#: ../../build/doc/release_notes.rst:395 +#: ../../build/doc/release_notes.rst:482 msgid "pgr_bdAstar" msgstr "" -#: ../../build/doc/release_notes.rst:350 -#: ../../build/doc/release_notes.rst:437 +#: ../../build/doc/release_notes.rst:396 +#: ../../build/doc/release_notes.rst:483 msgid "pgr_bdDijstra" msgstr "" -#: ../../build/doc/release_notes.rst:351 -#: ../../build/doc/release_notes.rst:438 +#: ../../build/doc/release_notes.rst:397 +#: ../../build/doc/release_notes.rst:484 msgid "pgr_alphashape" msgstr "" -#: ../../build/doc/release_notes.rst:352 -#: ../../build/doc/release_notes.rst:439 -#: ../../build/doc/release_notes.rst:684 +#: ../../build/doc/release_notes.rst:398 +#: ../../build/doc/release_notes.rst:485 +#: ../../build/doc/release_notes.rst:730 msgid "pgr_dijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:353 -#: ../../build/doc/release_notes.rst:440 +#: ../../build/doc/release_notes.rst:399 +#: ../../build/doc/release_notes.rst:486 msgid "pgr_dijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:354 -#: ../../build/doc/release_notes.rst:441 +#: ../../build/doc/release_notes.rst:400 +#: ../../build/doc/release_notes.rst:487 msgid "pgr_dijkstraCost" msgstr "" -#: ../../build/doc/release_notes.rst:355 -#: ../../build/doc/release_notes.rst:442 +#: ../../build/doc/release_notes.rst:401 +#: ../../build/doc/release_notes.rst:488 msgid "pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:356 -#: ../../build/doc/release_notes.rst:443 +#: ../../build/doc/release_notes.rst:402 +#: ../../build/doc/release_notes.rst:489 msgid "pgr_KSP" msgstr "" -#: ../../build/doc/release_notes.rst:357 -#: ../../build/doc/release_notes.rst:444 +#: ../../build/doc/release_notes.rst:403 +#: ../../build/doc/release_notes.rst:490 msgid "pgr_dijkstraVia (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:358 -#: ../../build/doc/release_notes.rst:445 +#: ../../build/doc/release_notes.rst:404 +#: ../../build/doc/release_notes.rst:491 msgid "pgr_boykovKolmogorov (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:359 -#: ../../build/doc/release_notes.rst:446 +#: ../../build/doc/release_notes.rst:405 +#: ../../build/doc/release_notes.rst:492 msgid "pgr_edgeDisjointPaths (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:360 -#: ../../build/doc/release_notes.rst:447 +#: ../../build/doc/release_notes.rst:406 +#: ../../build/doc/release_notes.rst:493 msgid "pgr_edmondsKarp (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:361 -#: ../../build/doc/release_notes.rst:448 +#: ../../build/doc/release_notes.rst:407 +#: ../../build/doc/release_notes.rst:494 msgid "pgr_maxCardinalityMatch (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:362 -#: ../../build/doc/release_notes.rst:449 +#: ../../build/doc/release_notes.rst:408 +#: ../../build/doc/release_notes.rst:495 msgid "pgr_maxFlow (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:363 -#: ../../build/doc/release_notes.rst:450 +#: ../../build/doc/release_notes.rst:409 +#: ../../build/doc/release_notes.rst:496 msgid "pgr_withPoints (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:364 -#: ../../build/doc/release_notes.rst:451 +#: ../../build/doc/release_notes.rst:410 +#: ../../build/doc/release_notes.rst:497 msgid "pgr_withPointsCost (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:365 -#: ../../build/doc/release_notes.rst:452 +#: ../../build/doc/release_notes.rst:411 +#: ../../build/doc/release_notes.rst:498 msgid "pgr_withPointsKSP (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:366 -#: ../../build/doc/release_notes.rst:453 +#: ../../build/doc/release_notes.rst:412 +#: ../../build/doc/release_notes.rst:499 msgid "pgr_withPointsDD (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:367 -#: ../../build/doc/release_notes.rst:454 +#: ../../build/doc/release_notes.rst:413 +#: ../../build/doc/release_notes.rst:500 msgid "pgr_withPointsCostMatrix (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:368 -#: ../../build/doc/release_notes.rst:455 +#: ../../build/doc/release_notes.rst:414 +#: ../../build/doc/release_notes.rst:501 msgid "pgr_contractGraph (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:369 -#: ../../build/doc/release_notes.rst:456 +#: ../../build/doc/release_notes.rst:415 +#: ../../build/doc/release_notes.rst:502 msgid "pgr_pushRelabel (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:370 -#: ../../build/doc/release_notes.rst:457 +#: ../../build/doc/release_notes.rst:416 +#: ../../build/doc/release_notes.rst:503 msgid "pgr_vrpOneDepot (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:371 -#: ../../build/doc/release_notes.rst:458 +#: ../../build/doc/release_notes.rst:417 +#: ../../build/doc/release_notes.rst:504 msgid "pgr_gsoc_vrppdtw (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:372 -#: ../../build/doc/release_notes.rst:459 +#: ../../build/doc/release_notes.rst:418 +#: ../../build/doc/release_notes.rst:505 msgid "Fixes for deprecated functions where also applied but not tested" msgstr "" -#: ../../build/doc/release_notes.rst:374 -#: ../../build/doc/release_notes.rst:461 +#: ../../build/doc/release_notes.rst:420 +#: ../../build/doc/release_notes.rst:507 msgid "Removed compilation warning for g++8" msgstr "" -#: ../../build/doc/release_notes.rst:375 -#: ../../build/doc/release_notes.rst:462 +#: ../../build/doc/release_notes.rst:421 +#: ../../build/doc/release_notes.rst:508 msgid "Fixed a fallthrugh on Astar and bdAstar." msgstr "" -#: ../../build/doc/release_notes.rst:380 +#: ../../build/doc/release_notes.rst:426 msgid "pgRouting 2.6.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:382 +#: ../../build/doc/release_notes.rst:428 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:386 +#: ../../build/doc/release_notes.rst:432 msgid "New fexperimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:387 -#: ../../build/doc/release_notes.rst:542 +#: ../../build/doc/release_notes.rst:433 +#: ../../build/doc/release_notes.rst:588 msgid "pgr_lineGraphFull" msgstr "" -#: ../../build/doc/release_notes.rst:391 +#: ../../build/doc/release_notes.rst:437 msgid "Fix pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean[,text])" msgstr "" -#: ../../build/doc/release_notes.rst:393 +#: ../../build/doc/release_notes.rst:439 msgid "without restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:395 +#: ../../build/doc/release_notes.rst:441 msgid "calls pgr_dijkstra when both end points have a fraction IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:396 +#: ../../build/doc/release_notes.rst:442 msgid "calls pgr_withPoints when at least one fraction NOT IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:398 +#: ../../build/doc/release_notes.rst:444 msgid "with restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:400 +#: ../../build/doc/release_notes.rst:446 msgid "calls original trsp code" msgstr "" -#: ../../build/doc/release_notes.rst:403 +#: ../../build/doc/release_notes.rst:449 msgid "Internal code" msgstr "" -#: ../../build/doc/release_notes.rst:404 +#: ../../build/doc/release_notes.rst:450 msgid "Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [, text])" msgstr "" -#: ../../build/doc/release_notes.rst:406 +#: ../../build/doc/release_notes.rst:452 msgid "Removed the use of pointers" msgstr "" -#: ../../build/doc/release_notes.rst:407 +#: ../../build/doc/release_notes.rst:453 msgid "Internal code can accept BIGINT" msgstr "" -#: ../../build/doc/release_notes.rst:409 +#: ../../build/doc/release_notes.rst:455 msgid "Cleaned the internal code of withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:414 +#: ../../build/doc/release_notes.rst:460 msgid "pgRouting 2.5.5 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:416 +#: ../../build/doc/release_notes.rst:462 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.5 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:420 +#: ../../build/doc/release_notes.rst:466 msgid "Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:421 +#: ../../build/doc/release_notes.rst:467 msgid "Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:422 +#: ../../build/doc/release_notes.rst:468 msgid "Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:427 +#: ../../build/doc/release_notes.rst:473 msgid "pgRouting 2.5.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:429 +#: ../../build/doc/release_notes.rst:475 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.4 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:467 +#: ../../build/doc/release_notes.rst:513 msgid "pgRouting 2.5.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:469 +#: ../../build/doc/release_notes.rst:515 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:473 +#: ../../build/doc/release_notes.rst:519 msgid "Fix for postgresql 11: Removed a compilation error when compiling with postgreSQL" msgstr "" -#: ../../build/doc/release_notes.rst:478 +#: ../../build/doc/release_notes.rst:524 msgid "pgRouting 2.5.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:480 +#: ../../build/doc/release_notes.rst:526 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:484 +#: ../../build/doc/release_notes.rst:530 msgid "Fix for postgresql 10.1: Removed a compiler condition" msgstr "" -#: ../../build/doc/release_notes.rst:490 +#: ../../build/doc/release_notes.rst:536 msgid "pgRouting 2.5.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:492 +#: ../../build/doc/release_notes.rst:538 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:496 +#: ../../build/doc/release_notes.rst:542 msgid "Fixed prerequisite minimum version of: cmake" msgstr "" -#: ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:548 msgid "pgRouting 2.5.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:504 +#: ../../build/doc/release_notes.rst:550 msgid "To see the issues closed by this release see the `Git closed issues for 2.5.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:508 +#: ../../build/doc/release_notes.rst:554 msgid "enhancement:" msgstr "" -#: ../../build/doc/release_notes.rst:509 +#: ../../build/doc/release_notes.rst:555 msgid "pgr_version is now on SQL language" msgstr "" -#: ../../build/doc/release_notes.rst:512 +#: ../../build/doc/release_notes.rst:558 msgid "Breaking change on:" msgstr "" -#: ../../build/doc/release_notes.rst:513 +#: ../../build/doc/release_notes.rst:559 msgid "pgr_edgeDisjointPaths:" msgstr "" -#: ../../build/doc/release_notes.rst:515 +#: ../../build/doc/release_notes.rst:561 msgid "Added path_id, cost and agg_cost columns on the result" msgstr "" -#: ../../build/doc/release_notes.rst:516 +#: ../../build/doc/release_notes.rst:562 msgid "Parameter names changed" msgstr "" -#: ../../build/doc/release_notes.rst:517 +#: ../../build/doc/release_notes.rst:563 msgid "The many version results are the union of the one to one version" msgstr "" -#: ../../build/doc/release_notes.rst:520 +#: ../../build/doc/release_notes.rst:566 msgid "New Signatures:" msgstr "" -#: ../../build/doc/release_notes.rst:521 +#: ../../build/doc/release_notes.rst:567 msgid "pgr_bdAstar(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:524 -#: ../../build/doc/release_notes.rst:683 +#: ../../build/doc/release_notes.rst:570 +#: ../../build/doc/release_notes.rst:729 msgid "New Proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:532 +#: ../../build/doc/release_notes.rst:578 msgid "pgr_bdAstarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:540 +#: ../../build/doc/release_notes.rst:586 msgid "pgr_bdDijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:541 +#: ../../build/doc/release_notes.rst:587 msgid "pgr_lineGraph" msgstr "" -#: ../../build/doc/release_notes.rst:550 -#: ../../build/doc/release_notes.rst:620 -#: ../../build/doc/release_notes.rst:707 +#: ../../build/doc/release_notes.rst:596 +#: ../../build/doc/release_notes.rst:666 +#: ../../build/doc/release_notes.rst:753 msgid "Deprecated Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:551 +#: ../../build/doc/release_notes.rst:597 msgid "pgr_bdastar - use pgr_bdAstar instead" msgstr "" -#: ../../build/doc/release_notes.rst:554 +#: ../../build/doc/release_notes.rst:600 msgid "Renamed Functions" msgstr "" -#: ../../build/doc/release_notes.rst:555 +#: ../../build/doc/release_notes.rst:601 msgid "pgr_maxFlowPushRelabel - use pgr_pushRelabel instead" msgstr "" -#: ../../build/doc/release_notes.rst:556 +#: ../../build/doc/release_notes.rst:602 msgid "pgr_maxFlowEdmondsKarp -use pgr_edmondsKarp instead" msgstr "" -#: ../../build/doc/release_notes.rst:557 +#: ../../build/doc/release_notes.rst:603 msgid "pgr_maxFlowBoykovKolmogorov - use pgr_boykovKolmogorov instead" msgstr "" -#: ../../build/doc/release_notes.rst:558 +#: ../../build/doc/release_notes.rst:604 msgid "pgr_maximumCardinalityMatching - use pgr_maxCardinalityMatch instead" msgstr "" -#: ../../build/doc/release_notes.rst:561 +#: ../../build/doc/release_notes.rst:607 msgid "Deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:562 +#: ../../build/doc/release_notes.rst:608 msgid "pgr_pointToEdgeNode" msgstr "" -#: ../../build/doc/release_notes.rst:568 +#: ../../build/doc/release_notes.rst:614 msgid "pgRouting 2.4.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:570 +#: ../../build/doc/release_notes.rst:616 msgid "To see the issues closed by this release see the `Git closed milestone for 2.4.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:573 +#: ../../build/doc/release_notes.rst:619 msgid "Improvement" msgstr "" -#: ../../build/doc/release_notes.rst:574 +#: ../../build/doc/release_notes.rst:620 msgid "Works for postgreSQL 10" msgstr "" -#: ../../build/doc/release_notes.rst:578 +#: ../../build/doc/release_notes.rst:624 msgid "Fixed: Unexpected error column \"cname\"" msgstr "" -#: ../../build/doc/release_notes.rst:579 +#: ../../build/doc/release_notes.rst:625 msgid "Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" msgstr "" -#: ../../build/doc/release_notes.rst:586 +#: ../../build/doc/release_notes.rst:632 msgid "pgRouting 2.4.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:588 +#: ../../build/doc/release_notes.rst:634 msgid "To see the issues closed by this release see the `Git closed milestone for 2.4.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:592 +#: ../../build/doc/release_notes.rst:638 msgid "Fixed compiling error on macOS" msgstr "" -#: ../../build/doc/release_notes.rst:593 +#: ../../build/doc/release_notes.rst:639 msgid "Condition error on pgr_withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:598 +#: ../../build/doc/release_notes.rst:644 msgid "pgRouting 2.4.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:600 +#: ../../build/doc/release_notes.rst:646 msgid "To see the issues closed by this release see the `Git closed issues for 2.4.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:603 -#: ../../build/doc/release_notes.rst:673 -#: ../../build/doc/release_notes.rst:834 +#: ../../build/doc/release_notes.rst:649 +#: ../../build/doc/release_notes.rst:719 +#: ../../build/doc/release_notes.rst:880 msgid "New Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:604 +#: ../../build/doc/release_notes.rst:650 msgid "pgr_bdDijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:608 +#: ../../build/doc/release_notes.rst:654 msgid "New Proposed Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:610 +#: ../../build/doc/release_notes.rst:656 msgid "pgr_astar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:611 +#: ../../build/doc/release_notes.rst:657 msgid "pgr_astar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:612 +#: ../../build/doc/release_notes.rst:658 msgid "pgr_astar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:613 +#: ../../build/doc/release_notes.rst:659 msgid "pgr_astarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:614 +#: ../../build/doc/release_notes.rst:660 msgid "pgr_astarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:615 +#: ../../build/doc/release_notes.rst:661 msgid "pgr_astarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:616 +#: ../../build/doc/release_notes.rst:662 msgid "pgr_astarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:617 +#: ../../build/doc/release_notes.rst:663 msgid "pgr_astarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:621 +#: ../../build/doc/release_notes.rst:667 msgid "pgr_bddijkstra - use pgr_bdDijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:624 -#: ../../build/doc/release_notes.rst:713 +#: ../../build/doc/release_notes.rst:670 +#: ../../build/doc/release_notes.rst:759 msgid "Deprecated Functions" msgstr "" -#: ../../build/doc/release_notes.rst:625 +#: ../../build/doc/release_notes.rst:671 msgid "pgr_pointsToVids" msgstr "" -#: ../../build/doc/release_notes.rst:629 +#: ../../build/doc/release_notes.rst:675 msgid "Bug fixes on proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:631 +#: ../../build/doc/release_notes.rst:677 msgid "pgr_withPointsKSP: fixed ordering" msgstr "" -#: ../../build/doc/release_notes.rst:633 +#: ../../build/doc/release_notes.rst:679 msgid "TRSP original code is used with no changes on the compilation warnings" msgstr "" -#: ../../build/doc/release_notes.rst:638 +#: ../../build/doc/release_notes.rst:684 msgid "pgRouting 2.3.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:640 +#: ../../build/doc/release_notes.rst:686 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:644 +#: ../../build/doc/release_notes.rst:690 msgid "Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck." msgstr "" -#: ../../build/doc/release_notes.rst:645 +#: ../../build/doc/release_notes.rst:691 msgid "Fixed pgr_trsp:" msgstr "" -#: ../../build/doc/release_notes.rst:647 +#: ../../build/doc/release_notes.rst:693 msgid "Alternate code is not executed when the point is in reality a vertex" msgstr "" -#: ../../build/doc/release_notes.rst:648 +#: ../../build/doc/release_notes.rst:694 msgid "Fixed ambiguity on seq" msgstr "" -#: ../../build/doc/release_notes.rst:654 +#: ../../build/doc/release_notes.rst:700 msgid "pgRouting 2.3.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:656 +#: ../../build/doc/release_notes.rst:702 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:660 +#: ../../build/doc/release_notes.rst:706 msgid "Leaks on proposed max_flow functions" msgstr "" -#: ../../build/doc/release_notes.rst:661 +#: ../../build/doc/release_notes.rst:707 msgid "Regression error on pgr_trsp" msgstr "" -#: ../../build/doc/release_notes.rst:662 +#: ../../build/doc/release_notes.rst:708 msgid "Types discrepancy on pgr_createVerticesTable" msgstr "" -#: ../../build/doc/release_notes.rst:668 +#: ../../build/doc/release_notes.rst:714 msgid "pgRouting 2.3.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:670 +#: ../../build/doc/release_notes.rst:716 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:674 +#: ../../build/doc/release_notes.rst:720 msgid "pgr_TSP" msgstr "" -#: ../../build/doc/release_notes.rst:675 +#: ../../build/doc/release_notes.rst:721 msgid "pgr_aStar" msgstr "" -#: ../../build/doc/release_notes.rst:678 -#: ../../build/doc/release_notes.rst:790 +#: ../../build/doc/release_notes.rst:724 +#: ../../build/doc/release_notes.rst:836 msgid "New Functions" msgstr "" -#: ../../build/doc/release_notes.rst:679 +#: ../../build/doc/release_notes.rst:725 msgid "pgr_eucledianTSP" msgstr "" -#: ../../build/doc/release_notes.rst:685 +#: ../../build/doc/release_notes.rst:731 msgid "pgr_withPointsCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:686 +#: ../../build/doc/release_notes.rst:732 msgid "pgr_maxFlowPushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:687 +#: ../../build/doc/release_notes.rst:733 msgid "pgr_maxFlowPushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:688 +#: ../../build/doc/release_notes.rst:734 msgid "pgr_maxFlowPushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:689 +#: ../../build/doc/release_notes.rst:735 msgid "pgr_maxFlowPushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:690 +#: ../../build/doc/release_notes.rst:736 msgid "pgr_maxFlowEdmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:691 +#: ../../build/doc/release_notes.rst:737 msgid "pgr_maxFlowEdmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:692 +#: ../../build/doc/release_notes.rst:738 msgid "pgr_maxFlowEdmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:693 +#: ../../build/doc/release_notes.rst:739 msgid "pgr_maxFlowEdmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:694 +#: ../../build/doc/release_notes.rst:740 msgid "pgr_maxFlowBoykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:695 +#: ../../build/doc/release_notes.rst:741 msgid "pgr_maxFlowBoykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:696 +#: ../../build/doc/release_notes.rst:742 msgid "pgr_maxFlowBoykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:697 +#: ../../build/doc/release_notes.rst:743 msgid "pgr_maxFlowBoykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:698 +#: ../../build/doc/release_notes.rst:744 msgid "pgr_maximumCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:703 +#: ../../build/doc/release_notes.rst:749 msgid "pgr_contractGraph" msgstr "" -#: ../../build/doc/release_notes.rst:708 +#: ../../build/doc/release_notes.rst:754 msgid "pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead" msgstr "" -#: ../../build/doc/release_notes.rst:709 +#: ../../build/doc/release_notes.rst:755 msgid "pgr_astar - use pgr_aStar instead" msgstr "" -#: ../../build/doc/release_notes.rst:714 +#: ../../build/doc/release_notes.rst:760 msgid "pgr_flip_edges" msgstr "" -#: ../../build/doc/release_notes.rst:715 +#: ../../build/doc/release_notes.rst:761 msgid "pgr_vidsToDmatrix" msgstr "" -#: ../../build/doc/release_notes.rst:716 +#: ../../build/doc/release_notes.rst:762 msgid "pgr_pointsToDMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:717 +#: ../../build/doc/release_notes.rst:763 msgid "pgr_textToPoints" msgstr "" -#: ../../build/doc/release_notes.rst:724 +#: ../../build/doc/release_notes.rst:770 msgid "pgRouting 2.2.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:726 +#: ../../build/doc/release_notes.rst:772 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.4 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:730 +#: ../../build/doc/release_notes.rst:776 msgid "Bogus uses of extern \"C\"" msgstr "" -#: ../../build/doc/release_notes.rst:731 +#: ../../build/doc/release_notes.rst:777 msgid "Build error on Fedora 24 + GCC 6.0" msgstr "" -#: ../../build/doc/release_notes.rst:732 +#: ../../build/doc/release_notes.rst:778 msgid "Regression error pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:737 +#: ../../build/doc/release_notes.rst:783 msgid "pgRouting 2.2.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:739 +#: ../../build/doc/release_notes.rst:785 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:743 +#: ../../build/doc/release_notes.rst:789 msgid "Fixed compatibility issues with PostgreSQL 9.6." msgstr "" -#: ../../build/doc/release_notes.rst:748 +#: ../../build/doc/release_notes.rst:794 msgid "pgRouting 2.2.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:750 +#: ../../build/doc/release_notes.rst:796 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:754 +#: ../../build/doc/release_notes.rst:800 msgid "Fixed regression error on pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:760 +#: ../../build/doc/release_notes.rst:806 msgid "pgRouting 2.2.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:762 +#: ../../build/doc/release_notes.rst:808 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:766 +#: ../../build/doc/release_notes.rst:812 msgid "Server crash fix on pgr_alphaShape" msgstr "" -#: ../../build/doc/release_notes.rst:767 +#: ../../build/doc/release_notes.rst:813 msgid "Bug fix on With Points family of functions" msgstr "" -#: ../../build/doc/release_notes.rst:773 +#: ../../build/doc/release_notes.rst:819 msgid "pgRouting 2.2.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:775 +#: ../../build/doc/release_notes.rst:821 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:779 -#: ../../build/doc/release_notes.rst:847 +#: ../../build/doc/release_notes.rst:825 +#: ../../build/doc/release_notes.rst:893 msgid "Improvements" msgstr "" -#: ../../build/doc/release_notes.rst:780 +#: ../../build/doc/release_notes.rst:826 msgid "pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:782 +#: ../../build/doc/release_notes.rst:828 msgid "Adding a row_where and outall optional parameters" msgstr "" -#: ../../build/doc/release_notes.rst:784 +#: ../../build/doc/release_notes.rst:830 msgid "Signature fix" msgstr "" -#: ../../build/doc/release_notes.rst:786 +#: ../../build/doc/release_notes.rst:832 msgid "pgr_dijkstra -- to match what is documented" msgstr "" -#: ../../build/doc/release_notes.rst:792 +#: ../../build/doc/release_notes.rst:838 msgid "pgr_Johnson" msgstr "" -#: ../../build/doc/release_notes.rst:793 +#: ../../build/doc/release_notes.rst:839 msgid "pgr_dijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:794 +#: ../../build/doc/release_notes.rst:840 msgid "pgr_dijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:795 +#: ../../build/doc/release_notes.rst:841 msgid "pgr_dijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:796 +#: ../../build/doc/release_notes.rst:842 msgid "pgr_dijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:799 -#: ../../build/doc/release_notes.rst:851 +#: ../../build/doc/release_notes.rst:845 +#: ../../build/doc/release_notes.rst:897 msgid "Proposed functionality" msgstr "" -#: ../../build/doc/release_notes.rst:800 +#: ../../build/doc/release_notes.rst:846 msgid "pgr_withPoints(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:801 +#: ../../build/doc/release_notes.rst:847 msgid "pgr_withPoints(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:802 +#: ../../build/doc/release_notes.rst:848 msgid "pgr_withPoints(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:803 +#: ../../build/doc/release_notes.rst:849 msgid "pgr_withPoints(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:804 +#: ../../build/doc/release_notes.rst:850 msgid "pgr_withPointsCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:805 +#: ../../build/doc/release_notes.rst:851 msgid "pgr_withPointsCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:806 +#: ../../build/doc/release_notes.rst:852 msgid "pgr_withPointsCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:807 +#: ../../build/doc/release_notes.rst:853 msgid "pgr_withPointsCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:808 +#: ../../build/doc/release_notes.rst:854 msgid "pgr_withPointsDD(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:809 +#: ../../build/doc/release_notes.rst:855 msgid "pgr_withPointsDD(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:810 +#: ../../build/doc/release_notes.rst:856 msgid "pgr_withPointsKSP" msgstr "" -#: ../../build/doc/release_notes.rst:811 +#: ../../build/doc/release_notes.rst:857 msgid "pgr_dijkstraVia" msgstr "" -#: ../../build/doc/release_notes.rst:815 +#: ../../build/doc/release_notes.rst:861 msgid "Deprecated functions:" msgstr "" -#: ../../build/doc/release_notes.rst:816 +#: ../../build/doc/release_notes.rst:862 msgid "pgr_apspWarshall use pgr_floydWarshall instead" msgstr "" -#: ../../build/doc/release_notes.rst:817 +#: ../../build/doc/release_notes.rst:863 msgid "pgr_apspJohnson use pgr_Johnson instead" msgstr "" -#: ../../build/doc/release_notes.rst:818 +#: ../../build/doc/release_notes.rst:864 msgid "pgr_kDijkstraCost use pgr_dijkstraCost instead" msgstr "" -#: ../../build/doc/release_notes.rst:819 +#: ../../build/doc/release_notes.rst:865 msgid "pgr_kDijkstraPath use pgr_dijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:822 +#: ../../build/doc/release_notes.rst:868 msgid "Renamed and deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:823 +#: ../../build/doc/release_notes.rst:869 msgid "pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:829 +#: ../../build/doc/release_notes.rst:875 msgid "pgRouting 2.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:831 +#: ../../build/doc/release_notes.rst:877 msgid "To see the issues closed by this release see the `Git closed issues for 2.1.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:835 +#: ../../build/doc/release_notes.rst:881 msgid "pgr_dijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:836 +#: ../../build/doc/release_notes.rst:882 msgid "pgr_dijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:837 +#: ../../build/doc/release_notes.rst:883 msgid "pgr_dijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:838 +#: ../../build/doc/release_notes.rst:884 msgid "pgr_drivingDistance(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:841 +#: ../../build/doc/release_notes.rst:887 msgid "Refactored" msgstr "" -#: ../../build/doc/release_notes.rst:842 +#: ../../build/doc/release_notes.rst:888 msgid "pgr_dijkstra(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:843 +#: ../../build/doc/release_notes.rst:889 msgid "pgr_ksp" msgstr "" -#: ../../build/doc/release_notes.rst:844 +#: ../../build/doc/release_notes.rst:890 msgid "pgr_drivingDistance(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:848 +#: ../../build/doc/release_notes.rst:894 msgid "pgr_alphaShape function now can generate better (multi)polygon with holes and alpha parameter." msgstr "" -#: ../../build/doc/release_notes.rst:852 +#: ../../build/doc/release_notes.rst:898 msgid "Proposed functions from Steve Woodbridge, (Classified as Convenience by the author.)" msgstr "" -#: ../../build/doc/release_notes.rst:854 +#: ../../build/doc/release_notes.rst:900 msgid "pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on closest edge." msgstr "" -#: ../../build/doc/release_notes.rst:855 +#: ../../build/doc/release_notes.rst:901 msgid "pgr_flipEdges - flip the edges in an array of geometries so the connect end to end." msgstr "" -#: ../../build/doc/release_notes.rst:856 +#: ../../build/doc/release_notes.rst:902 msgid "pgr_textToPoints - convert a string of x,y;x,y;... locations into point geometries." msgstr "" -#: ../../build/doc/release_notes.rst:857 +#: ../../build/doc/release_notes.rst:903 msgid "pgr_pointsToVids - convert an array of point geometries into vertex ids." msgstr "" -#: ../../build/doc/release_notes.rst:858 +#: ../../build/doc/release_notes.rst:904 msgid "pgr_pointsToDMatrix - Create a distance matrix from an array of points." msgstr "" -#: ../../build/doc/release_notes.rst:859 -#: ../../build/doc/release_notes.rst:860 +#: ../../build/doc/release_notes.rst:905 +#: ../../build/doc/release_notes.rst:906 msgid "pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." msgstr "" -#: ../../build/doc/release_notes.rst:862 +#: ../../build/doc/release_notes.rst:908 msgid "Added proposed functions from GSoc Projects:" msgstr "" -#: ../../build/doc/release_notes.rst:864 +#: ../../build/doc/release_notes.rst:910 msgid "pgr_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:865 +#: ../../build/doc/release_notes.rst:911 msgid "pgr_vrponedepot" msgstr "" -#: ../../build/doc/release_notes.rst:868 +#: ../../build/doc/release_notes.rst:914 msgid "Deprecated functions" msgstr "" -#: ../../build/doc/release_notes.rst:869 +#: ../../build/doc/release_notes.rst:915 msgid "pgr_getColumnName" msgstr "" -#: ../../build/doc/release_notes.rst:870 +#: ../../build/doc/release_notes.rst:916 msgid "pgr_getTableName" msgstr "" -#: ../../build/doc/release_notes.rst:871 +#: ../../build/doc/release_notes.rst:917 msgid "pgr_isColumnCndexed" msgstr "" -#: ../../build/doc/release_notes.rst:872 +#: ../../build/doc/release_notes.rst:918 msgid "pgr_isColumnInTable" msgstr "" -#: ../../build/doc/release_notes.rst:873 +#: ../../build/doc/release_notes.rst:919 msgid "pgr_quote_ident" msgstr "" -#: ../../build/doc/release_notes.rst:874 +#: ../../build/doc/release_notes.rst:920 msgid "pgr_versionless" msgstr "" -#: ../../build/doc/release_notes.rst:875 +#: ../../build/doc/release_notes.rst:921 msgid "pgr_startPoint" msgstr "" -#: ../../build/doc/release_notes.rst:876 +#: ../../build/doc/release_notes.rst:922 msgid "pgr_endPoint" msgstr "" -#: ../../build/doc/release_notes.rst:877 +#: ../../build/doc/release_notes.rst:923 msgid "pgr_pointToId" msgstr "" -#: ../../build/doc/release_notes.rst:880 +#: ../../build/doc/release_notes.rst:926 msgid "No longer supported" msgstr "" -#: ../../build/doc/release_notes.rst:881 +#: ../../build/doc/release_notes.rst:927 msgid "Removed the 1.x legacy functions" msgstr "" -#: ../../build/doc/release_notes.rst:885 +#: ../../build/doc/release_notes.rst:931 msgid "Some bug fixes in other functions" msgstr "" -#: ../../build/doc/release_notes.rst:889 +#: ../../build/doc/release_notes.rst:935 msgid "Refactoring Internal Code" msgstr "" -#: ../../build/doc/release_notes.rst:890 +#: ../../build/doc/release_notes.rst:936 msgid "A C and C++ library for developer was created" msgstr "" -#: ../../build/doc/release_notes.rst:892 +#: ../../build/doc/release_notes.rst:938 msgid "encapsulates postgreSQL related functions" msgstr "" -#: ../../build/doc/release_notes.rst:893 +#: ../../build/doc/release_notes.rst:939 msgid "encapsulates Boost.Graph graphs" msgstr "" -#: ../../build/doc/release_notes.rst:895 +#: ../../build/doc/release_notes.rst:941 msgid "Directed Boost.Graph" msgstr "" -#: ../../build/doc/release_notes.rst:896 +#: ../../build/doc/release_notes.rst:942 msgid "Undirected Boost.graph." msgstr "" -#: ../../build/doc/release_notes.rst:898 +#: ../../build/doc/release_notes.rst:944 msgid "allow any-integer in the id's" msgstr "" -#: ../../build/doc/release_notes.rst:899 +#: ../../build/doc/release_notes.rst:945 msgid "allow any-numerical on the cost/reverse_cost columns" msgstr "" -#: ../../build/doc/release_notes.rst:901 +#: ../../build/doc/release_notes.rst:947 msgid "Instead of generating many libraries: - All functions are encapsulated in one library - The library has the prefix 2-1-0" msgstr "" -#: ../../build/doc/release_notes.rst:910 +#: ../../build/doc/release_notes.rst:956 msgid "pgRouting 2.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:912 +#: ../../build/doc/release_notes.rst:958 msgid "Minor bug fixes." msgstr "" -#: ../../build/doc/release_notes.rst:916 +#: ../../build/doc/release_notes.rst:962 msgid "No track of the bug fixes were kept." msgstr "" -#: ../../build/doc/release_notes.rst:922 +#: ../../build/doc/release_notes.rst:968 msgid "pgRouting 2.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:924 +#: ../../build/doc/release_notes.rst:970 msgid "To see the issues closed by this release see the `Git closed issues for 2.0.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:926 +#: ../../build/doc/release_notes.rst:972 msgid "With the release of pgRouting 2.0.0 the library has abandoned backwards compatibility to :ref:`pgRouting 1.x ` releases. The main Goals for this release are:" msgstr "" -#: ../../build/doc/release_notes.rst:929 +#: ../../build/doc/release_notes.rst:975 msgid "Major restructuring of pgRouting." msgstr "" -#: ../../build/doc/release_notes.rst:930 +#: ../../build/doc/release_notes.rst:976 msgid "Standardization of the function naming" msgstr "" -#: ../../build/doc/release_notes.rst:931 +#: ../../build/doc/release_notes.rst:977 msgid "Preparation of the project for future development." msgstr "" -#: ../../build/doc/release_notes.rst:933 +#: ../../build/doc/release_notes.rst:979 msgid "As a result of this effort:" msgstr "" -#: ../../build/doc/release_notes.rst:935 +#: ../../build/doc/release_notes.rst:981 msgid "pgRouting has a simplified structure" msgstr "" -#: ../../build/doc/release_notes.rst:936 +#: ../../build/doc/release_notes.rst:982 msgid "Significant new functionality has being added" msgstr "" -#: ../../build/doc/release_notes.rst:937 +#: ../../build/doc/release_notes.rst:983 msgid "Documentation has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:938 +#: ../../build/doc/release_notes.rst:984 msgid "Testing has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:939 +#: ../../build/doc/release_notes.rst:985 msgid "And made it easier for multiple developers to make contributions." msgstr "" -#: ../../build/doc/release_notes.rst:943 +#: ../../build/doc/release_notes.rst:989 msgid "Important Changes" msgstr "" -#: ../../build/doc/release_notes.rst:944 +#: ../../build/doc/release_notes.rst:990 msgid "Graph Analytics - tools for detecting and fixing connection some problems in a graph" msgstr "" -#: ../../build/doc/release_notes.rst:945 +#: ../../build/doc/release_notes.rst:991 msgid "A collection of useful utility functions" msgstr "" -#: ../../build/doc/release_notes.rst:946 +#: ../../build/doc/release_notes.rst:992 msgid "Two new All Pairs Short Path algorithms (pgr_apspJohnson, pgr_apspWarshall)" msgstr "" -#: ../../build/doc/release_notes.rst:947 +#: ../../build/doc/release_notes.rst:993 msgid "Bi-directional Dijkstra and A-star search algorithms (pgr_bdAstar, pgr_bdDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:948 +#: ../../build/doc/release_notes.rst:994 msgid "One to many nodes search (pgr_kDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:949 +#: ../../build/doc/release_notes.rst:995 msgid "K alternate paths shortest path (pgr_ksp)" msgstr "" -#: ../../build/doc/release_notes.rst:950 +#: ../../build/doc/release_notes.rst:996 msgid "New TSP solver that simplifies the code and the build process (pgr_tsp), dropped \"Gaul Library\" dependency" msgstr "" -#: ../../build/doc/release_notes.rst:951 +#: ../../build/doc/release_notes.rst:997 msgid "Turn Restricted shortest path (pgr_trsp) that replaces Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:952 +#: ../../build/doc/release_notes.rst:998 msgid "Dropped support for Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:953 +#: ../../build/doc/release_notes.rst:999 msgid "Built a test infrastructure that is run before major code changes are checked in" msgstr "" -#: ../../build/doc/release_notes.rst:954 +#: ../../build/doc/release_notes.rst:1000 msgid "Tested and fixed most all of the outstanding bugs reported against 1.x that existing in the 2.0-dev code base." msgstr "" -#: ../../build/doc/release_notes.rst:955 +#: ../../build/doc/release_notes.rst:1001 msgid "Improved build process for Windows" msgstr "" -#: ../../build/doc/release_notes.rst:956 +#: ../../build/doc/release_notes.rst:1002 msgid "Automated testing on Linux and Windows platforms trigger by every commit" msgstr "" -#: ../../build/doc/release_notes.rst:957 +#: ../../build/doc/release_notes.rst:1003 msgid "Modular library design" msgstr "" -#: ../../build/doc/release_notes.rst:958 +#: ../../build/doc/release_notes.rst:1004 msgid "Compatibility with PostgreSQL 9.1 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:959 +#: ../../build/doc/release_notes.rst:1005 msgid "Compatibility with PostGIS 2.0 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:960 +#: ../../build/doc/release_notes.rst:1006 msgid "Installs as PostgreSQL EXTENSION" msgstr "" -#: ../../build/doc/release_notes.rst:961 +#: ../../build/doc/release_notes.rst:1007 msgid "Return types re factored and unified" msgstr "" -#: ../../build/doc/release_notes.rst:962 +#: ../../build/doc/release_notes.rst:1008 msgid "Support for table SCHEMA in function parameters" msgstr "" -#: ../../build/doc/release_notes.rst:963 +#: ../../build/doc/release_notes.rst:1009 msgid "Support for ``st_`` PostGIS function prefix" msgstr "" -#: ../../build/doc/release_notes.rst:964 +#: ../../build/doc/release_notes.rst:1010 msgid "Added ``pgr_`` prefix to functions and types" msgstr "" -#: ../../build/doc/release_notes.rst:965 +#: ../../build/doc/release_notes.rst:1011 msgid "Better documentation: https://docs.pgrouting.org" msgstr "" -#: ../../build/doc/release_notes.rst:966 +#: ../../build/doc/release_notes.rst:1012 msgid "shooting_star is discontinued" msgstr "" -#: ../../build/doc/release_notes.rst:973 +#: ../../build/doc/release_notes.rst:1019 msgid "pgRouting 1.x Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:975 +#: ../../build/doc/release_notes.rst:1021 msgid "To see the issues closed by this release see the `Git closed issues for 1.x `_ on Github. The following release notes have been copied from the previous ``RELEASE_NOTES`` file and are kept as a reference." msgstr "" -#: ../../build/doc/release_notes.rst:980 +#: ../../build/doc/release_notes.rst:1026 msgid "Changes for release 1.05" msgstr "" -#: ../../build/doc/release_notes.rst:986 +#: ../../build/doc/release_notes.rst:1032 msgid "Changes for release 1.03" msgstr "" -#: ../../build/doc/release_notes.rst:988 +#: ../../build/doc/release_notes.rst:1034 msgid "Much faster topology creation" msgstr "" -#: ../../build/doc/release_notes.rst:993 +#: ../../build/doc/release_notes.rst:1039 msgid "Changes for release 1.02" msgstr "" -#: ../../build/doc/release_notes.rst:995 -#: ../../build/doc/release_notes.rst:1002 +#: ../../build/doc/release_notes.rst:1041 +#: ../../build/doc/release_notes.rst:1048 msgid "Shooting* bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:996 +#: ../../build/doc/release_notes.rst:1042 msgid "Compilation problems solved" msgstr "" -#: ../../build/doc/release_notes.rst:1000 +#: ../../build/doc/release_notes.rst:1046 msgid "Changes for release 1.01" msgstr "" -#: ../../build/doc/release_notes.rst:1006 +#: ../../build/doc/release_notes.rst:1052 msgid "Changes for release 1.0" msgstr "" -#: ../../build/doc/release_notes.rst:1008 +#: ../../build/doc/release_notes.rst:1054 msgid "Core and extra functions are separated" msgstr "" -#: ../../build/doc/release_notes.rst:1009 +#: ../../build/doc/release_notes.rst:1055 msgid "Cmake build process" msgstr "" -#: ../../build/doc/release_notes.rst:1014 +#: ../../build/doc/release_notes.rst:1060 msgid "Changes for release 1.0.0b" msgstr "" -#: ../../build/doc/release_notes.rst:1016 +#: ../../build/doc/release_notes.rst:1062 msgid "Additional SQL file with more simple names for wrapper functions" msgstr "" -#: ../../build/doc/release_notes.rst:1021 +#: ../../build/doc/release_notes.rst:1067 msgid "Changes for release 1.0.0a" msgstr "" -#: ../../build/doc/release_notes.rst:1023 +#: ../../build/doc/release_notes.rst:1069 msgid "Shooting* shortest path algorithm for real road networks" msgstr "" -#: ../../build/doc/release_notes.rst:1024 +#: ../../build/doc/release_notes.rst:1070 msgid "Several SQL bugs were fixed" msgstr "" -#: ../../build/doc/release_notes.rst:1028 +#: ../../build/doc/release_notes.rst:1074 msgid "Changes for release 0.9.9" msgstr "" -#: ../../build/doc/release_notes.rst:1030 +#: ../../build/doc/release_notes.rst:1076 msgid "PostgreSQL 8.2 support" msgstr "" -#: ../../build/doc/release_notes.rst:1031 +#: ../../build/doc/release_notes.rst:1077 msgid "Shortest path functions return empty result if they could not find any path" msgstr "" -#: ../../build/doc/release_notes.rst:1035 +#: ../../build/doc/release_notes.rst:1081 msgid "Changes for release 0.9.8" msgstr "" -#: ../../build/doc/release_notes.rst:1037 +#: ../../build/doc/release_notes.rst:1083 msgid "Renumbering scheme was added to shortest path functions" msgstr "" -#: ../../build/doc/release_notes.rst:1038 +#: ../../build/doc/release_notes.rst:1084 msgid "Directed shortest path functions were added" msgstr "" -#: ../../build/doc/release_notes.rst:1039 +#: ../../build/doc/release_notes.rst:1085 msgid "routing_postgis.sql was modified to use dijkstra in TSP search" msgstr "" diff --git a/pgtap/bellman_ford/bellman_ford/bellman_ford_neg_edges-typesCheck.sql b/pgtap/bellman_ford/bellman_ford/bellman_ford_neg_edges-typesCheck.sql deleted file mode 100644 index cb900431a17..00000000000 --- a/pgtap/bellman_ford/bellman_ford/bellman_ford_neg_edges-typesCheck.sql +++ /dev/null @@ -1,39 +0,0 @@ - -\i setup.sql - -UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(9); - -SELECT has_function('pgr_bellmanford'); - -SELECT todo_start('not implemented yet'); -SELECT function_returns('pgr_bellmanford', ARRAY['text','text','bigint','bigint','boolean'],'setof record'); -SELECT function_returns('pgr_bellmanford', ARRAY['text','text','bigint','anyarray','boolean'],'setof record'); -SELECT function_returns('pgr_bellmanford', ARRAY['text','text','anyarray','bigint','boolean'],'setof record'); -SELECT function_returns('pgr_bellmanford', ARRAY['text','text','anyarray','anyarray','boolean'],'setof record'); - --- testing column names on the negative edges function -SELECT bag_has( - $$SELECT proargnames from pg_proc where proname = 'pgr_bellmanford'$$, - $$SELECT '{"","","","","directed","seq","path_seq","node","edge","cost","agg_cost"}'::TEXT[] $$ -); - -SELECT bag_has( - $$SELECT proargnames from pg_proc where proname = 'pgr_bellmanford'$$, - $$SELECT '{"","","","","directed","seq","path_seq","start_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ -); - -SELECT bag_has( - $$SELECT proargnames from pg_proc where proname = 'pgr_bellmanford'$$, - $$SELECT '{"","","","","directed","seq","path_seq","end_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ -); - -SELECT bag_has( - $$SELECT proargnames from pg_proc where proname = 'pgr_bellmanford'$$, - $$SELECT '{"","","","","directed","seq","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ -); - -SELECT todo_end(); - -SELECT * FROM finish(); -ROLLBACK; diff --git a/pgtap/tsp/issues/issue-1760.sql b/pgtap/tsp/issues/issue-1760.sql new file mode 100644 index 00000000000..95648f00607 --- /dev/null +++ b/pgtap/tsp/issues/issue-1760.sql @@ -0,0 +1,51 @@ + +\i setup.sql + +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); +SELECT plan(11); + +DROP TABLE IF EXISTS tsp_issue_numb; +CREATE TABLE tsp_issue_numb AS +SELECT start_vid, end_vid, agg_cost +FROM (VALUES + (-2, -1, 0.005665599374822598), + (-1, -2, 0.005665599374822598)) +AS t (start_vid, end_vid, agg_cost); + +SELECT * FROM tsp_issue_numb; + +PREPARE test1 AS +SELECT seq, node + FROM pgr_TSP( + $matrix$ + SELECT * + FROM tsp_issue_numb + $matrix$, + start_id => -1 + ); + + +PREPARE result1 AS +SELECT seq::INTEGER, node::BIGINT +FROM (VALUES + (1, -1), + (2, -2), + (3, -1)) +AS t (seq, node); + +SELECT set_eq('test1', 'result1'); +SELECT set_eq('test1', 'result1'); +SELECT set_eq('test1', 'result1'); +SELECT set_eq('test1', 'result1'); +SELECT set_eq('test1', 'result1'); +SELECT set_eq('test1', 'result1'); +SELECT set_eq('test1', 'result1'); +SELECT set_eq('test1', 'result1'); +SELECT set_eq('test1', 'result1'); +SELECT set_eq('test1', 'result1'); +SELECT set_eq('test1', 'result1'); + +DROP TABLE tsp_issue_numb; +SELECT finish(); + + diff --git a/src/alpha_shape/alphaShape_driver.cpp b/src/alpha_shape/alphaShape_driver.cpp index 05a326bbbb4..c42eae5d576 100644 --- a/src/alpha_shape/alphaShape_driver.cpp +++ b/src/alpha_shape/alphaShape_driver.cpp @@ -90,12 +90,12 @@ do_alphaShape( */ std::sort(edges.begin(), edges.end(), - [&round](const Pgr_edge_xy_t &lhs, const Pgr_edge_xy_t &rhs) { + [&](const Pgr_edge_xy_t &lhs, const Pgr_edge_xy_t &rhs) { return std::floor(lhs.y1 * static_cast(round)) < std::floor(rhs.y1 * static_cast(round)); }); std::stable_sort(edges.begin(), edges.end(), - [&round](const Pgr_edge_xy_t &lhs, const Pgr_edge_xy_t &rhs) { + [&](const Pgr_edge_xy_t &lhs, const Pgr_edge_xy_t &rhs) { return std::floor(lhs.x1 * static_cast(round)) < std::floor(rhs.x1 * static_cast(round)); }); @@ -173,7 +173,7 @@ do_alphaShape( *return_count = results.size(); *return_tuples = pgr_alloc(*return_count, (*return_tuples)); size_t row = 0; - for (const auto r : results) { + for (const auto &r : results) { std::stringstream ss; ss << bg::wkt(r); (*return_tuples)[row].geom = pgr_msg(ss.str().c_str()); diff --git a/src/alpha_shape/pgr_alphaShape.cpp b/src/alpha_shape/pgr_alphaShape.cpp index a5956f0ea7d..8c2f7bfe3b9 100644 --- a/src/alpha_shape/pgr_alphaShape.cpp +++ b/src/alpha_shape/pgr_alphaShape.cpp @@ -259,7 +259,7 @@ Pgr_alphaShape::build_best_alpha() const { std::map inner_triangles; size_t i(0); - for (const auto t : m_adjacent_triangles) { + for (const auto &t : m_adjacent_triangles) { if (t.second.size() == 2) { border_triangles[t.first] = radius(t.first); } else { @@ -290,7 +290,7 @@ Pgr_alphaShape::build_best_alpha() const { * - are no longer inner triangles * - are now border triangles */ - for (const auto t : m_adjacent_triangles.at(max_border_triangle.first)) { + for (const auto &t : m_adjacent_triangles.at(max_border_triangle.first)) { if (inner_triangles.find(t) != inner_triangles.end()) { inner_triangles.erase(t); border_triangles[t] = radius(t); @@ -306,7 +306,7 @@ Pgr_alphaShape::build_best_alpha() const { /* * Roll back and exit loop */ - for (const auto t : m_adjacent_triangles.at(max_border_triangle.first)) { + for (const auto &t : m_adjacent_triangles.at(max_border_triangle.first)) { border_triangles.erase(t); inner_triangles[t] = radius(t); } @@ -343,7 +343,7 @@ Pgr_alphaShape::recursive_build( if (original == used.size()) return; std::set common_sides; - for (const auto adj_t : m_adjacent_triangles.at(face)) { + for (const auto &adj_t : m_adjacent_triangles.at(face)) { if (!faceBelongs(adj_t, alpha)) { /* * Adjacent face is not on shape @@ -382,7 +382,7 @@ Pgr_alphaShape::operator() (double alpha) const { std::set used; using Subgraph = boost::filtered_graph; - for (const auto t : m_adjacent_triangles) { + for (const auto &t : m_adjacent_triangles) { EdgesFilter border_edges; /* * Recurse through the triangles to get the border sides @@ -455,8 +455,8 @@ Pgr_alphaShape::operator() (double alpha) const { */ if (!polys.empty()) { polygon.inners().resize(polys.size()); - int i(0); - for (const auto inner_ring : polys) { + size_t i(0); + for (const auto &inner_ring : polys) { bg::assign(polygon.inners()[i++], inner_ring); } } diff --git a/src/common/arrays_input.c b/src/common/arrays_input.c index af11a6fbee2..af07ffdf735 100644 --- a/src/common/arrays_input.c +++ b/src/common/arrays_input.c @@ -26,8 +26,16 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "utils/lsyscache.h" +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wignored-attributes" +#endif #include "catalog/pg_type.h" +#ifdef __clang__ +# pragma clang diagnostic pop +#endif + #include "c_common/time_msg.h" #include "c_common/debug_macro.h" diff --git a/src/common/basePath_SSEC.cpp b/src/common/basePath_SSEC.cpp index 4a3562ddb96..81639579ad0 100644 --- a/src/common/basePath_SSEC.cpp +++ b/src/common/basePath_SSEC.cpp @@ -131,10 +131,10 @@ std::ostream& operator<<(std::ostream &log, const Path &path) { } size_t Path::countInfinityCost() const { - return std::count_if(path.begin(), path.end(), + return static_cast(std::count_if(path.begin(), path.end(), [](Path_t const&p) -> size_t { return std::isinf(p.agg_cost); - }); + })); } @@ -240,7 +240,7 @@ void Path::get_pg_dd_path( General_path_element_t **ret_path, size_t &sequence) const { for (unsigned int i = 0; i < path.size(); i++) { - (*ret_path)[sequence].seq = i; + (*ret_path)[sequence].seq = static_cast(i); (*ret_path)[sequence].start_id = start_id(); (*ret_path)[sequence].end_id = start_id(); (*ret_path)[sequence].node = path[i].node; @@ -256,7 +256,7 @@ void Path::get_pg_ksp_path( General_path_element_t **ret_path, size_t &sequence, int routeId) const { for (unsigned int i = 0; i < path.size(); i++) { - (*ret_path)[sequence].seq = i + 1; + (*ret_path)[sequence].seq = static_cast(i + 1); (*ret_path)[sequence].start_id = routeId; (*ret_path)[sequence].end_id = end_id(); (*ret_path)[sequence].node = path[i].node; @@ -274,7 +274,7 @@ void Path::get_pg_turn_restricted_path( General_path_element_t **ret_path, size_t &sequence, int routeId) const { for (unsigned int i = 0; i < path.size(); i++) { - (*ret_path)[sequence].seq = i + 1; + (*ret_path)[sequence].seq = static_cast(i + 1); (*ret_path)[sequence].start_id = routeId; (*ret_path)[sequence].end_id = end_id(); (*ret_path)[sequence].node = path[i].node; diff --git a/src/common/basic_vertex.cpp b/src/common/basic_vertex.cpp index 6c71b1c4069..e261d4a13a9 100644 --- a/src/common/basic_vertex.cpp +++ b/src/common/basic_vertex.cpp @@ -122,7 +122,7 @@ namespace pgrouting { } std::vector < Basic_vertex > extract_vertices( - const pgr_edge_t *data_edges, int64_t count) { + const pgr_edge_t *data_edges, size_t count) { return extract_vertices( std::vector < pgr_edge_t >( data_edges, data_edges + count)); @@ -130,7 +130,7 @@ namespace pgrouting { std::vector < Basic_vertex > extract_vertices( const std::vector < Basic_vertex > &vertices, - const pgr_edge_t *data_edges, int64_t count) { + const pgr_edge_t *data_edges, size_t count) { return extract_vertices( vertices, std::vector < pgr_edge_t >( data_edges, data_edges + count)); diff --git a/src/common/xy_vertex.cpp b/src/common/xy_vertex.cpp index 59ecb36b892..e83baff85e5 100644 --- a/src/common/xy_vertex.cpp +++ b/src/common/xy_vertex.cpp @@ -91,7 +91,7 @@ extract_vertices( vertices.reserve(data_edges.size() * 2); - for (const auto edge : data_edges) { + for (const auto &edge : data_edges) { XY_vertex v_source(edge, true); vertices.push_back(v_source); @@ -116,7 +116,7 @@ extract_vertices( std::vector < XY_vertex > extract_vertices( - const Pgr_edge_xy_t *data_edges, int64_t count) { + const Pgr_edge_xy_t *data_edges, size_t count) { return extract_vertices( std::vector < Pgr_edge_xy_t >(data_edges, data_edges + count)); } diff --git a/src/components/componentsResult.cpp b/src/components/componentsResult.cpp index a09995e5dd3..061516511a8 100644 --- a/src/components/componentsResult.cpp +++ b/src/components/componentsResult.cpp @@ -45,7 +45,7 @@ componentsResult( // generate results std::vector< pgr_components_rt > results; - for (const auto component : components) { + for (const auto& component : components) { auto component_id = component[0]; for (const auto element : component) { results.push_back({component_id, element}); diff --git a/src/components/pgr_components.cpp b/src/components/pgr_components.cpp index f085303019a..f641b303bc2 100644 --- a/src/components/pgr_components.cpp +++ b/src/components/pgr_components.cpp @@ -45,8 +45,9 @@ namespace algorithms { std::vector pgr_connectedComponents(pgrouting::UndirectedGraph &graph) { + typedef typename pgrouting::UndirectedGraph::V V; // perform the algorithm - std::vector< int > components(num_vertices(graph.graph)); + std::vector components(num_vertices(graph.graph)); size_t num_comps; /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); @@ -69,8 +70,9 @@ pgr_connectedComponents(pgrouting::UndirectedGraph &graph) { std::vector strongComponents( pgrouting::DirectedGraph &graph) { + typedef typename pgrouting::UndirectedGraph::V V; // perform the algorithm - std::vector< int > components(num_vertices(graph.graph)); + std::vector components(num_vertices(graph.graph)); size_t num_comps; /* abort in case of an interruption occurs (e.g. the query is being cancelled) */ CHECK_FOR_INTERRUPTS(); diff --git a/src/cpp_common/CMakeLists.txt b/src/cpp_common/CMakeLists.txt index 3a20bfbe0b7..598ccae9736 100644 --- a/src/cpp_common/CMakeLists.txt +++ b/src/cpp_common/CMakeLists.txt @@ -3,4 +3,5 @@ ADD_LIBRARY(cpp_common OBJECT compPaths.cpp rule.cpp bpoint.cpp + pgr_messages.cpp ) diff --git a/src/cpp_common/Dmatrix.cpp b/src/cpp_common/Dmatrix.cpp index bfa811cc3de..037c74fc300 100644 --- a/src/cpp_common/Dmatrix.cpp +++ b/src/cpp_common/Dmatrix.cpp @@ -76,8 +76,10 @@ Dmatrix::set_ids(const std::vector < Matrix_cell_t > &data_costs) { bool Dmatrix::has_id(int64_t id) const { - auto pos = std::lower_bound(ids.begin(), ids.end(), id); - return *pos == id; + for (const auto &i : ids) { + if (i == id) return true; + } + return false; } @@ -89,7 +91,7 @@ Dmatrix::has_id(int64_t id) const { size_t Dmatrix::get_index(int64_t id) const { auto pos = std::lower_bound(ids.begin(), ids.end(), id); - return pos - ids.begin(); + return static_cast(pos - ids.begin()); } int64_t @@ -178,7 +180,7 @@ std::ostream& operator<<(std::ostream &log, const Dmatrix &matrix) { } log << "\n"; size_t i = 0; - for (const auto row : matrix.costs) { + for (const auto &row : matrix.costs) { size_t j = 0; for (const auto cost : row) { log << "Internal(" << i << "," << j << ")" diff --git a/src/pickDeliver/pgr_messages.cpp b/src/cpp_common/pgr_messages.cpp similarity index 100% rename from src/pickDeliver/pgr_messages.cpp rename to src/cpp_common/pgr_messages.cpp diff --git a/src/dijkstra/dijkstraVia_driver.cpp b/src/dijkstra/dijkstraVia_driver.cpp index 655ade33550..d6ece601339 100644 --- a/src/dijkstra/dijkstraVia_driver.cpp +++ b/src/dijkstra/dijkstraVia_driver.cpp @@ -46,12 +46,12 @@ get_path( Routes_t **postgres_data, double &route_cost, size_t &sequence) { - int i = 0; + size_t i = 0; for (const auto e : path) { (*postgres_data)[sequence] = { route_id, path_id, - i, + static_cast(i), path.start_id(), path.end_id(), e.node, diff --git a/src/dijkstra/dijkstra_driver.cpp b/src/dijkstra/dijkstra_driver.cpp index 9472663404a..e59bb771082 100644 --- a/src/dijkstra/dijkstra_driver.cpp +++ b/src/dijkstra/dijkstra_driver.cpp @@ -53,6 +53,7 @@ post_process(std::deque &paths, bool only_cost, bool normal, size_t n_goal [](const Path &p){ return p.size()==0;}), paths.end()); + using difference_type = std::deque::difference_type; if (!normal) { for (auto &path : paths) path.reverse(); @@ -78,7 +79,7 @@ post_process(std::deque &paths, bool only_cost, bool normal, size_t n_goal return e1.tot_cost() < e2.tot_cost(); }); if (global && n_goals < paths.size()) { - paths.erase(paths.begin() + n_goals, paths.end()); + paths.erase(paths.begin() + static_cast(n_goals), paths.end()); } } else { std::sort(paths.begin(), paths.end(), diff --git a/src/ksp/withPoints_ksp_driver.cpp b/src/ksp/withPoints_ksp_driver.cpp index 78756e84e9c..0c7555538c0 100644 --- a/src/ksp/withPoints_ksp_driver.cpp +++ b/src/ksp/withPoints_ksp_driver.cpp @@ -114,7 +114,7 @@ do_pgr_withPointsKsp( vertices = pgrouting::extract_vertices(vertices, pg_graph.new_edges()); log << "extracted vertices: "; - for (const auto v : vertices) { + for (const auto& v : vertices) { log << v.id << ", "; } log << "\n"; diff --git a/src/lineGraph/lineGraphFull_driver.cpp b/src/lineGraph/lineGraphFull_driver.cpp index f0e1702a57c..d7b93f180de 100644 --- a/src/lineGraph/lineGraphFull_driver.cpp +++ b/src/lineGraph/lineGraphFull_driver.cpp @@ -45,9 +45,7 @@ void get_turn_penalty_postgres_result( std::vector< Line_graph_full_rt > edge_result, Line_graph_full_rt **return_tuples, size_t &sequence) { - (*return_tuples) = pgr_alloc( - static_cast(edge_result.size()), - (*return_tuples)); + (*return_tuples) = pgr_alloc(edge_result.size(), (*return_tuples)); for (const auto &edge : edge_result) { (*return_tuples)[sequence] = diff --git a/src/lineGraph/lineGraph_driver.cpp b/src/lineGraph/lineGraph_driver.cpp index e55c5c128b5..b4595054204 100644 --- a/src/lineGraph/lineGraph_driver.cpp +++ b/src/lineGraph/lineGraph_driver.cpp @@ -47,9 +47,7 @@ void get_postgres_result( std::vector< Line_graph_rt > edge_result, Line_graph_rt **return_tuples, size_t &sequence) { - (*return_tuples) = pgr_alloc( - static_cast(edge_result.size()), - (*return_tuples)); + (*return_tuples) = pgr_alloc(edge_result.size(), (*return_tuples)); for (const auto &edge : edge_result) { (*return_tuples)[sequence] = {edge.id, edge.source, edge.target, diff --git a/src/max_flow/maximum_cardinality_matching_driver.cpp b/src/max_flow/maximum_cardinality_matching_driver.cpp index a83295f4256..cbf4084dad9 100644 --- a/src/max_flow/maximum_cardinality_matching_driver.cpp +++ b/src/max_flow/maximum_cardinality_matching_driver.cpp @@ -58,19 +58,11 @@ do_pgr_maximum_cardinality_matching( std::vector matched_vertices; if (directed) { - pgrouting::flow::PgrCardinalityGraph< - pgrouting::BasicDirectedGraph> G; - G.create_max_cardinality_graph(data_edges, total_tuples); - std::vector mate_map(boost::num_vertices(G.boost_graph)); - G.maximum_cardinality_matching(mate_map); - G.get_matched_vertices(matched_vertices, mate_map); + pgrouting::flow::PgrCardinalityGraph G(data_edges, total_tuples); + matched_vertices = G.get_matched_vertices(); } else { - pgrouting::flow::PgrCardinalityGraph< - pgrouting::BasicUndirectedGraph> G; - G.create_max_cardinality_graph(data_edges, total_tuples); - std::vector mate_map(boost::num_vertices(G.boost_graph)); - G.maximum_cardinality_matching(mate_map); - G.get_matched_vertices(matched_vertices, mate_map); + pgrouting::flow::PgrCardinalityGraph< pgrouting::BasicUndirectedGraph> G(data_edges, total_tuples); + matched_vertices = G.get_matched_vertices(); } (*return_tuples) = pgr_alloc(matched_vertices.size(), (*return_tuples)); diff --git a/src/max_flow/pgr_maxflow.cpp b/src/max_flow/pgr_maxflow.cpp index 37dacea6d5d..4b37106c453 100644 --- a/src/max_flow/pgr_maxflow.cpp +++ b/src/max_flow/pgr_maxflow.cpp @@ -226,7 +226,7 @@ PgrFlowGraph::get_flow_edges() const { void PgrFlowGraph::flow_dfs(V vertex, - int64_t path_id, + size_t path_id, std::vector > &paths) { Eout_it ei, e_end; if (boost::edge(vertex, supersink, graph).second) { @@ -252,11 +252,11 @@ PgrFlowGraph::flow_dfs(V vertex, std::vector PgrFlowGraph::get_edge_disjoint_paths( - int64_t flow) { + size_t flow) { std::vector path_elements; std::vector > paths(flow, std::vector()); - int64_t path_id = 0; + size_t path_id = 0; Eout_it ei, e_end, ei2, e2_end; for (boost::tie(ei, e_end) = boost::out_edges(supersource, graph); @@ -274,7 +274,7 @@ PgrFlowGraph::get_edge_disjoint_paths( } } } - for (int i = 0; i < flow; i++) { + for (size_t i = 0; i < flow; i++) { size_t size = paths[i].size(); E e; bool exists; @@ -286,8 +286,7 @@ PgrFlowGraph::get_edge_disjoint_paths( edge.end_id = paths[i][size - 1]; edge.node = paths[i][j]; boost::tie(e, exists) = boost::edge(get_boost_vertex(paths[i][j]), - get_boost_vertex(paths[i][j - + 1]), + get_boost_vertex(paths[i][j + 1]), graph); edge.edge = get_edge_id(e); path_elements.push_back(edge); diff --git a/src/pickDeliver/CMakeLists.txt b/src/pickDeliver/CMakeLists.txt index 4187ef2efad..32eda0f06ec 100644 --- a/src/pickDeliver/CMakeLists.txt +++ b/src/pickDeliver/CMakeLists.txt @@ -17,7 +17,6 @@ ADD_LIBRARY(pickDeliver OBJECT initial_solution.cpp optimize.cpp - pgr_messages.cpp pgr_pickDeliver.cpp diff --git a/src/pickDeliver/fleet.cpp b/src/pickDeliver/fleet.cpp index 296edeac99d..6a1527a57b6 100644 --- a/src/pickDeliver/fleet.cpp +++ b/src/pickDeliver/fleet.cpp @@ -83,7 +83,7 @@ Fleet::get_truck(size_t order) { #endif auto idx = un_used.front(); - for (const auto i : un_used) { + for (const auto &i : un_used) { if (m_trucks[i].feasable_orders().has(order)) { idx = i; msg.log << "getting idx" << idx << "\n"; @@ -151,7 +151,7 @@ Fleet::add_vehicle( for (int i = 0; i < vehicle.cant_v; ++i) { m_trucks.push_back(Vehicle_pickDeliver( m_trucks.size(), - vehicle.id, + static_cast(vehicle.id), starting_site, ending_site, vehicle.capacity, @@ -353,7 +353,7 @@ Fleet::is_fleet_ok() const { */ bool Fleet::is_order_ok(const Order &order) const { - for (const auto truck : m_trucks) { + for (const auto &truck : m_trucks) { if (!order.is_valid(truck.speed())) continue; if (truck.is_order_feasable(order)) { return true; @@ -382,7 +382,7 @@ Fleet::set_compatibles(const PD_Orders &orders) { std::ostream& operator << (std::ostream &log, const Fleet &f) { log << "fleet\n"; - for (const auto v : f.m_trucks) { + for (const auto &v : f.m_trucks) { log << v; } log << "end fleet\n"; diff --git a/src/pickDeliver/pd_orders.cpp b/src/pickDeliver/pd_orders.cpp index 49458f68e4a..0d1bea5ca3b 100644 --- a/src/pickDeliver/pd_orders.cpp +++ b/src/pickDeliver/pd_orders.cpp @@ -72,7 +72,7 @@ PD_Orders::build_orders( #if 0 ENTERING(); #endif - for (const auto order : pd_orders) { + for (const auto &order : pd_orders) { /* * SAMPLE CORRECT INFORMATION * @@ -161,7 +161,7 @@ PD_Orders::operator[](size_t i) const { void PD_Orders::set_compatibles(double speed) { for (auto &I : m_orders) { - for (const auto J : m_orders) { + for (const auto &J : m_orders) { I.set_compatibles(J, speed); } } diff --git a/src/pickDeliver/pgr_pickDeliver.cpp b/src/pickDeliver/pgr_pickDeliver.cpp index e995223cc52..7ba85f81d80 100644 --- a/src/pickDeliver/pgr_pickDeliver.cpp +++ b/src/pickDeliver/pgr_pickDeliver.cpp @@ -150,7 +150,7 @@ Pgr_pickDeliver::get_postgres_result() const { #ifndef NDEBUG - for (const auto sol : solutions) { + for (const auto &sol : solutions) { msg.log << sol.tau(); } #endif @@ -303,7 +303,7 @@ Pgr_pickDeliver::Pgr_pickDeliver( #ifndef NDEBUG - for (const auto t : m_trucks) { + for (const auto &t : m_trucks) { msg.log << t << "\n"; } for (const auto &o : m_orders) { diff --git a/src/pickDeliver/pickDeliverEuclidean_driver.cpp b/src/pickDeliver/pickDeliverEuclidean_driver.cpp index b812e3c2bd1..f046e7ff0f9 100644 --- a/src/pickDeliver/pickDeliverEuclidean_driver.cpp +++ b/src/pickDeliver/pickDeliverEuclidean_driver.cpp @@ -86,7 +86,7 @@ do_pgr_pickDeliverEuclidean( orders, vehicles, factor, - max_cycles, + static_cast(max_cycles), initial_solution_id); err << pd_problem.msg.get_error(); diff --git a/src/pickDeliver/pickDeliver_driver.cpp b/src/pickDeliver/pickDeliver_driver.cpp index 69113be89e4..d2dc6baa90c 100644 --- a/src/pickDeliver/pickDeliver_driver.cpp +++ b/src/pickDeliver/pickDeliver_driver.cpp @@ -103,7 +103,7 @@ do_pgr_pickDeliver( /* * All Vehicles must depart from same location */ - for (const auto v : vehicles) { + for (const auto &v : vehicles) { if (v.start_node_id != depot_node && v.end_node_id != depot_node) { err << "All vehicles must depart & arrive to same node"; *err_msg = pgr_msg(err.str().c_str()); @@ -114,7 +114,7 @@ do_pgr_pickDeliver( /* * All Orders must depart from depot */ - for (const auto o : orders) { + for (const auto &o : orders) { if (o.pick_node_id != depot_node) { err << "All orders must be picked at depot"; *err_msg = pgr_msg(err.str().c_str()); @@ -136,7 +136,7 @@ do_pgr_pickDeliver( vehicles, cost_matrix, factor, - max_cycles, + static_cast(max_cycles), initial_solution_id); err << pd_problem.msg.get_error(); diff --git a/src/pickDeliver/solution.cpp b/src/pickDeliver/solution.cpp index f215db637b5..045e2135c4c 100644 --- a/src/pickDeliver/solution.cpp +++ b/src/pickDeliver/solution.cpp @@ -40,7 +40,7 @@ Solution::get_postgres_result() const { std::vector result; /* postgres numbering starts with 1 */ int i(1); - for (const auto truck : fleet) { + for (const auto& truck : fleet) { std::vector data = truck.get_postgres_result(i); result.insert(result.end(), data.begin(), data.end()); @@ -54,7 +54,7 @@ Solution::get_postgres_result() const { bool Solution::is_feasable() const { - for (const auto v : fleet) { + for (const auto& v : fleet) { if (v.is_feasable()) continue; return false; } @@ -64,7 +64,7 @@ Solution::is_feasable() const { double Solution::duration() const { double total(0); - for (const auto v : fleet) { + for (const auto &v : fleet) { total += v.duration(); } return total; @@ -73,7 +73,7 @@ Solution::duration() const { int Solution::twvTot() const { int total(0); - for (const auto v : fleet) { + for (const auto &v : fleet) { total += v.twvTot(); } return total; @@ -82,7 +82,7 @@ Solution::twvTot() const { double Solution::wait_time() const { double total(0); - for (const auto v : fleet) { + for (const auto &v : fleet) { total += v.total_wait_time(); } return total; @@ -91,7 +91,7 @@ Solution::wait_time() const { double Solution::total_travel_time() const { double total(0); - for (const auto v : fleet) { + for (const auto &v : fleet) { total += v.total_travel_time(); } return total; @@ -100,7 +100,7 @@ Solution::total_travel_time() const { double Solution::total_service_time() const { double total(0); - for (const auto v : fleet) { + for (const auto &v : fleet) { total += v.total_service_time(); } return total; @@ -109,7 +109,7 @@ Solution::total_service_time() const { int Solution::cvTot() const { int total(0); - for (const auto v : fleet) { + for (const auto &v : fleet) { total += v.cvTot(); } return total; @@ -121,7 +121,7 @@ Solution::cost() const { double total_wait_time(0); int total_twv(0); int total_cv(0); - for (const auto v : fleet) { + for (const auto &v : fleet) { total_duration += v.duration(); total_wait_time += v.total_wait_time(); total_twv += v.twvTot(); @@ -151,11 +151,10 @@ Solution::cost_str() const { std::string Solution::tau(const std::string &title) const { - Vehicle::Cost s_cost(cost()); std::ostringstream log; log << "\n" << title << ": " << std::endl; - for (const auto v : fleet) { + for (const auto &v : fleet) { log << "\n" << v.tau(); } log << "\n" << cost_str() << "\n"; @@ -173,7 +172,7 @@ Solution::sort_by_id() { std::ostream& operator << (std::ostream &log, const Solution &solution) { - for (const auto vehicle : solution.fleet) { + for (const auto &vehicle : solution.fleet) { log << vehicle; } diff --git a/src/pickDeliver/vehicle.cpp b/src/pickDeliver/vehicle.cpp index f8bd997e10f..68274f16b36 100644 --- a/src/pickDeliver/vehicle.cpp +++ b/src/pickDeliver/vehicle.cpp @@ -138,7 +138,7 @@ Vehicle::get_postgres_result( /* postgres numbering starts with 1 */ int stop_seq(1); msg.log << "getting solution: " << tau() << "\n"; - for (const auto p_stop : m_path) { + for (const auto &p_stop : m_path) { General_vehicle_orders_t data = { vid, id(), @@ -175,7 +175,7 @@ Vehicle::insert(POS at, Vehicle_node node) { invariant(); pgassert(at <= m_path.size()); - m_path.insert(m_path.begin() + at, node); + m_path.insert(m_path.begin() + static_cast(at), node); evaluate(at); pgassert(at < m_path.size()); @@ -319,7 +319,7 @@ Vehicle::erase(POS at) { pgassert(!m_path[at].is_start()); pgassert(!m_path[at].is_end()); - m_path.erase(m_path.begin() + at); + m_path.erase(m_path.begin() + static_cast(at)); evaluate(at); invariant(); @@ -369,7 +369,7 @@ Vehicle::evaluate(POS from) { pgassert(from < m_path.size()); - auto node = m_path.begin() + from; + auto node = m_path.begin() + static_cast(from); while (node != m_path.end()) { if (node == m_path.begin()) { @@ -546,6 +546,7 @@ Vehicle::Vehicle( #endif } +#if 0 Vehicle::Vehicle(const Vehicle &v) : Identifier(v.idx(), v.id()), PD_problem(), @@ -560,6 +561,7 @@ Vehicle::Vehicle(const Vehicle &v) : EXITING(); #endif } +#endif @@ -569,7 +571,7 @@ Vehicle::tau() const { std::ostringstream log; log << "Truck " << id() << "(" << idx() << ")" << " ("; - for (const auto p_stop : m_path) { + for (const auto &p_stop : m_path) { if (!(p_stop == m_path.front())) log << ", "; log << p_stop.id(); diff --git a/src/pickDeliver/vehicle_pickDeliver.cpp b/src/pickDeliver/vehicle_pickDeliver.cpp index d4c6e950036..c27090a246b 100644 --- a/src/pickDeliver/vehicle_pickDeliver.cpp +++ b/src/pickDeliver/vehicle_pickDeliver.cpp @@ -85,7 +85,7 @@ Vehicle_pickDeliver::Vehicle_pickDeliver( double p_capacity, double p_speed, double factor) : - Vehicle(id, kind, starting_site, ending_site, p_capacity, p_speed, factor), + Vehicle(id, static_cast(kind), starting_site, ending_site, p_capacity, p_speed, factor), cost((std::numeric_limits::max)()) { #if 0 ENTERING(); @@ -367,7 +367,7 @@ Vehicle_pickDeliver::pop_back() { auto deleted_pick_idx = pick_itr->idx(); - for (const auto o : m_orders) { + for (const auto &o : m_orders) { if (o.pickup().idx() == deleted_pick_idx) { erase(o); invariant(); @@ -394,7 +394,7 @@ Vehicle_pickDeliver::pop_front() { auto deleted_pick_idx = pick_itr->idx(); - for (const auto o : m_orders) { + for (const auto &o : m_orders) { if (o.pickup().idx() == deleted_pick_idx) { erase(o); invariant(); @@ -409,7 +409,7 @@ Vehicle_pickDeliver::pop_front() { void Vehicle_pickDeliver::set_compatibles(const PD_Orders &orders) { m_orders = orders; - for (const auto o : orders) { + for (const auto &o : orders) { if (is_order_feasable(o)) m_feasable_orders += o.idx(); } m_orders.set_compatibles(speed()); diff --git a/src/transitiveClosure/transitiveClosure_driver.cpp b/src/transitiveClosure/transitiveClosure_driver.cpp index 6803b872f2c..76df0eccaf6 100644 --- a/src/transitiveClosure/transitiveClosure_driver.cpp +++ b/src/transitiveClosure/transitiveClosure_driver.cpp @@ -63,23 +63,23 @@ void get_postgres_result( int ii = 1; for (boost::tie(i, end) = boost::vertices(TC); i != end; ++i) { auto u = *i; - int64_t* target_array = NULL; - int64_t uid = graph.graph[u].id; - boost::tie(ai, a_end) = adjacent_vertices(*i, TC); - auto adj_siz = a_end - ai; + int64_t* target_array = nullptr; + auto uid = graph.graph[u].id; + boost::tie(ai, a_end) = adjacent_vertices(u, TC); + size_t adj_siz = static_cast(a_end - ai); target_array = pgr_alloc(adj_siz , target_array); - int count = 0; + int number = 0; for (; ai != a_end; ++ai) { auto v = *ai; int64_t vid = graph.graph[v].id; - target_array[count++] = vid; + target_array[number++] = vid; } (*return_tuples)[sequence] = { ii++, uid, target_array, - count}; + number}; ++sequence; } diff --git a/src/trsp/GraphDefinition.cpp b/src/trsp/GraphDefinition.cpp index a6b81225a48..4d20bd1f35d 100644 --- a/src/trsp/GraphDefinition.cpp +++ b/src/trsp/GraphDefinition.cpp @@ -79,7 +79,7 @@ void GraphDefinition::deleteall() { double GraphDefinition::construct_path(int64 ed_id, int64 v_pos) { if (parent[ed_id].ed_ind[v_pos] == -1) { path_element_tt pelement; - GraphEdgeInfo* cur_edge = m_vecEdgeVector[ed_id]; + GraphEdgeInfo* cur_edge = m_vecEdgeVector[static_cast(ed_id)]; if (v_pos == 0) { pelement.vertex_id = cur_edge->m_lStartNode; pelement.cost = cur_edge->m_dCost; @@ -95,7 +95,7 @@ double GraphDefinition::construct_path(int64 ed_id, int64 v_pos) { double ret = construct_path(parent[ed_id].ed_ind[v_pos], parent[ed_id].v_pos[v_pos]); path_element_tt pelement; - GraphEdgeInfo* cur_edge = m_vecEdgeVector[ed_id]; + GraphEdgeInfo* cur_edge = m_vecEdgeVector[static_cast(ed_id)]; if (v_pos == 0) { pelement.vertex_id = cur_edge->m_lStartNode; pelement.cost = m_dCost[ed_id].endCost - ret; // cur_edge.m_dCost; @@ -134,11 +134,11 @@ double GraphDefinition::getRestrictionCost( flag = false; break; } - if (precedence != m_vecEdgeVector[edge_ind]->m_lEdgeID) { + if (precedence != m_vecEdgeVector[static_cast(edge_ind)]->m_lEdgeID) { flag = false; break; } - auto parent_ind = parent[edge_ind].ed_ind[v_pos]; + auto parent_ind = parent[static_cast(edge_ind)].ed_ind[static_cast(v_pos)]; v_pos = parent[edge_ind].v_pos[v_pos]; edge_ind = parent_ind; } @@ -159,7 +159,7 @@ void GraphDefinition::explore( std::greater > &que) { double totalCost; for (const auto &index : vecIndex) { - auto new_edge = m_vecEdgeVector[index]; + auto new_edge = m_vecEdgeVector[static_cast(index)]; double extCost = 0.0; if (m_bIsturnRestrictOn) { extCost = getRestrictionCost(cur_edge.m_lEdgeIndex, @@ -223,7 +223,7 @@ int GraphDefinition::my_dijkstra1( m_bIsGraphConstructed = true; } GraphEdgeInfo* start_edge_info = - m_vecEdgeVector[m_mapEdgeId2Index[start_edge_id]]; + m_vecEdgeVector[static_cast(m_mapEdgeId2Index[static_cast(start_edge_id)])]; edge_t start_edge; int64 start_vertex, end_vertex; m_dStartpart = start_part; @@ -261,7 +261,7 @@ int GraphDefinition::my_dijkstra1( } GraphEdgeInfo* end_edge_info = - m_vecEdgeVector[m_mapEdgeId2Index[end_edge_id]]; + m_vecEdgeVector[static_cast(m_mapEdgeId2Index[static_cast(end_edge_id)])]; edge_t end_edge; if (end_part == 0.0) { @@ -339,7 +339,7 @@ int GraphDefinition:: my_dijkstra2( for (const auto &source : vecsource) { temp_precedencelist.clear(); temp_precedencelist.push_back( - m_vecEdgeVector[source]->m_lEdgeID); + m_vecEdgeVector[static_cast(source)]->m_lEdgeID); m_ruleTable[dest_edge_id].push_back(Rule(rule.first, temp_precedencelist)); } @@ -352,7 +352,7 @@ int GraphDefinition:: my_dijkstra2( vecsource = m_mapNodeId2Edge[end_vertex]; for (const auto &source : vecsource) { m_ruleTable.insert(std::make_pair( - m_vecEdgeVector[source]->m_lEdgeID, tmpRules)); + m_vecEdgeVector[static_cast(source)]->m_lEdgeID, tmpRules)); } } } @@ -404,7 +404,7 @@ int GraphDefinition:: my_dijkstra3( GraphEdgeInfo* cur_edge = NULL; for (const auto &source : vecsource) { - cur_edge = m_vecEdgeVector[source]; + cur_edge = m_vecEdgeVector[static_cast(source)]; if (cur_edge->m_lStartNode == start_vertex) { if (cur_edge->m_dCost >= 0.0) { m_dCost[cur_edge->m_lEdgeIndex].endCost = cur_edge->m_dCost; @@ -430,7 +430,7 @@ int GraphDefinition:: my_dijkstra3( PDP cur_pos = que.top(); que.pop(); int64 cured_index = cur_pos.second.first; - cur_edge = m_vecEdgeVector[cured_index]; + cur_edge = m_vecEdgeVector[static_cast(cured_index)]; if (cur_pos.second.second) { // explore edges connected to end node cur_node = cur_edge->m_lEndNode; @@ -482,7 +482,7 @@ int GraphDefinition:: my_dijkstra3( *path = reinterpret_cast( malloc(sizeof(path_element_tt) * (m_vecPath.size() + 1))); - *path_count = static_cast(m_vecPath.size()); + *path_count = m_vecPath.size(); for (size_t i = 0; i < *path_count; i++) { (*path)[i].vertex_id = m_vecPath[i].vertex_id; @@ -506,7 +506,7 @@ int GraphDefinition:: my_dijkstra3( bool GraphDefinition::get_single_cost(double total_cost, path_element_tt **path, size_t *path_count) { GraphEdgeInfo* start_edge_info = - m_vecEdgeVector[m_mapEdgeId2Index[m_lStartEdgeId]]; + m_vecEdgeVector[static_cast(m_mapEdgeId2Index[m_lStartEdgeId])]; if (m_dEndPart >= m_dStartpart) { if (start_edge_info->m_dCost >= 0.0 && start_edge_info->m_dCost * (m_dEndPart - m_dStartpart) <= total_cost) { @@ -603,7 +603,7 @@ bool GraphDefinition::addEdge(edge_t edgeIn) { newEdge->m_vecEndConnedtedEdge.clear(); newEdge->m_vecRestrictedEdge.clear(); newEdge->m_lEdgeID = edgeIn.id; - newEdge->m_lEdgeIndex = m_vecEdgeVector.size(); + newEdge->m_lEdgeIndex = static_cast(m_vecEdgeVector.size()); newEdge->m_lStartNode = edgeIn.source; newEdge->m_lEndNode = edgeIn.target; newEdge->m_dCost = edgeIn.cost; @@ -626,11 +626,11 @@ bool GraphDefinition::addEdge(edge_t edgeIn) { if (itNodeMap != m_mapNodeId2Edge.end()) { // Connect current edge with existing edge with start node // connectEdge( - int64 lEdgeCount = itNodeMap->second.size(); + int64 lEdgeCount = static_cast(itNodeMap->second.size()); int64 lEdgeIndex; for (lEdgeIndex = 0; lEdgeIndex < lEdgeCount; lEdgeIndex++) { - int64 lEdge = itNodeMap->second.at(lEdgeIndex); - connectEdge(*newEdge, *m_vecEdgeVector[lEdge], true); + int64 lEdge = itNodeMap->second.at(static_cast(lEdgeIndex)); + connectEdge(*newEdge, *m_vecEdgeVector[static_cast(lEdge)], true); } } @@ -640,11 +640,11 @@ bool GraphDefinition::addEdge(edge_t edgeIn) { if (itNodeMap != m_mapNodeId2Edge.end()) { // Connect current edge with existing edge with end node // connectEdge( - int64 lEdgeCount = itNodeMap->second.size(); + int64 lEdgeCount = static_cast(itNodeMap->second.size()); int64 lEdgeIndex; for (lEdgeIndex = 0; lEdgeIndex < lEdgeCount; lEdgeIndex++) { - int64 lEdge = itNodeMap->second.at(lEdgeIndex); - connectEdge(*newEdge, *m_vecEdgeVector[lEdge], false); + int64 lEdge = itNodeMap->second.at(static_cast(lEdgeIndex)); + connectEdge(*newEdge, *m_vecEdgeVector[static_cast(lEdge)], false); } } diff --git a/src/trsp/pgr_trspHandler.cpp b/src/trsp/pgr_trspHandler.cpp index 4b00d7dbd79..c7c0fdfe39a 100644 --- a/src/trsp/pgr_trspHandler.cpp +++ b/src/trsp/pgr_trspHandler.cpp @@ -62,7 +62,7 @@ Pgr_trspHandler::Pgr_trspHandler( int64_t Pgr_trspHandler::renumber_edges( pgr_edge_t *edges, size_t total_edges) const { - int64_t v_min_id = UINT64_MAX; + int64_t v_min_id = INT64_MAX; size_t z; for (z = 0; z < total_edges; z++) { if (edges[z].source < v_min_id) @@ -94,10 +94,11 @@ void Pgr_trspHandler::clear() { // ------------------------------------------------------------------------- double Pgr_trspHandler::construct_path(int64_t ed_id, Position pos) { pgassert(pos != ILLEGAL); + if (pos == ILLEGAL) return (std::numeric_limits::max)(); - if (m_parent[ed_id].isIllegal(pos)) { + if (m_parent[static_cast(ed_id)].isIllegal(pos)) { Path_t pelement; - auto cur_edge = &m_edges[ed_id]; + auto cur_edge = &m_edges[static_cast(ed_id)]; if (pos == RC_EDGE) { pelement.node = cur_edge->startNode(); pelement.cost = cur_edge->cost(); @@ -112,18 +113,18 @@ double Pgr_trspHandler::construct_path(int64_t ed_id, Position pos) { return pelement.cost; } - double ret = construct_path(m_parent[ed_id].e_idx[pos], - m_parent[ed_id].v_pos[pos]); + double ret = construct_path(static_cast(m_parent[static_cast(ed_id)].e_idx[static_cast(pos)]), + static_cast(m_parent[static_cast(ed_id)].v_pos[static_cast(pos)])); Path_t pelement; - auto cur_edge = &m_edges[ed_id]; + auto cur_edge = &m_edges[static_cast(ed_id)]; if (pos == RC_EDGE) { pelement.node = cur_edge->startNode(); - pelement.cost = m_dCost[ed_id].endCost - ret; - ret = m_dCost[ed_id].endCost; + pelement.cost = m_dCost[static_cast(ed_id)].endCost - ret; + ret = m_dCost[static_cast(ed_id)].endCost; } else { pelement.node = cur_edge->endNode(); - pelement.cost = m_dCost[ed_id].startCost - ret; - ret = m_dCost[ed_id].startCost; + pelement.cost = m_dCost[static_cast(ed_id)].startCost - ret; + ret = m_dCost[static_cast(ed_id)].startCost; } pelement.edge = cur_edge->edgeID(); @@ -152,13 +153,13 @@ double Pgr_trspHandler::getRestrictionCost( pgassert(!(edge_ind == -1)); for (auto const &precedence : rule.precedencelist()) { - if (precedence != m_edges[edge_ind].edgeID()) { + if (precedence != m_edges[static_cast(edge_ind)].edgeID()) { flag = false; break; } - auto m_parent_ind = m_parent[edge_ind].e_idx[v_pos]; - v_pos = m_parent[edge_ind].v_pos[v_pos]; - edge_ind = m_parent_ind; + auto m_parent_ind = m_parent[static_cast(edge_ind)].e_idx[static_cast(v_pos)]; + v_pos = m_parent[static_cast(edge_ind)].v_pos[static_cast(v_pos)]; + edge_ind = static_cast(m_parent_ind); } if (flag) cost += rule.cost(); @@ -193,7 +194,7 @@ void Pgr_trspHandler::explore( auto edge = m_edges[index]; auto extra_cost = getRestrictionCost( - cur_edge.idx(), + static_cast(cur_edge.idx()), edge, isStart); if ((edge.startNode() == cur_node) && (edge.cost() >= 0.0)) { @@ -234,7 +235,7 @@ void Pgr_trspHandler::explore( // ------------------------------------------------------------------------- int Pgr_trspHandler::initialize_restrictions( const std::vector &ruleList) { - for (const auto rule : ruleList) { + for (const auto &rule : ruleList) { auto dest_edge_id = rule.dest_id(); if (m_ruleTable.find(dest_edge_id) != m_ruleTable.end()) { m_ruleTable[dest_edge_id].push_back(rule); @@ -357,7 +358,7 @@ EdgeInfo Pgr_trspHandler::dijkstra_exploration() { que.pop(); auto cure_idxex = cur_pos.second.first; - cur_edge = m_edges[cure_idxex]; + cur_edge = m_edges[static_cast(cure_idxex)]; if (cur_pos.second.second) { /* @@ -410,9 +411,9 @@ Pgr_trspHandler::process_trsp( pgassert(m_path.start_id() == m_start_vertex); if (current_node == cur_edge.startNode()) { - construct_path(cur_edge.idx(), C_EDGE); + construct_path(static_cast(cur_edge.idx()), C_EDGE); } else { - construct_path(cur_edge.idx(), RC_EDGE); + construct_path(static_cast(cur_edge.idx()), RC_EDGE); } Path_t pelement; diff --git a/src/tsp/TSP_driver.cpp b/src/tsp/TSP_driver.cpp index 87773206dc1..f885a410028 100644 --- a/src/tsp/TSP_driver.cpp +++ b/src/tsp/TSP_driver.cpp @@ -171,7 +171,7 @@ do_pgr_tsp( if (id == prev_id) continue; General_path_element_t data; data.node = costs.get_id(prev_id); - data.edge = prev_id; + data.edge = static_cast(prev_id); data.cost = costs.distance(prev_id, id); data.agg_cost = agg_cost; result.push_back(data); @@ -183,7 +183,7 @@ do_pgr_tsp( { General_path_element_t data; data.node = costs.get_id(bestTour.cities.front()); - data.edge = bestTour.cities.front(); + data.edge = static_cast(bestTour.cities.front()); data.cost = costs.distance(prev_id, bestTour.cities.front()); agg_cost += data.cost; data.agg_cost = agg_cost; diff --git a/src/tsp/euclideanDmatrix.cpp b/src/tsp/euclideanDmatrix.cpp index b93cf11fc88..aaeb89410d6 100644 --- a/src/tsp/euclideanDmatrix.cpp +++ b/src/tsp/euclideanDmatrix.cpp @@ -94,14 +94,18 @@ EuclideanDmatrix::tourCost(const Tour &tour) const { bool EuclideanDmatrix::has_id(int64_t id) const { - auto pos = std::lower_bound(ids.begin(), ids.end(), id); - return *pos == id; + for (const auto &i : ids) { + if (i == id) return true; + } + return false; } size_t EuclideanDmatrix::get_index(int64_t id) const { - auto pos = std::lower_bound(ids.begin(), ids.end(), id); - return pos - ids.begin(); + for (size_t pos = 0; pos < ids.size(); ++pos) { + if (ids[pos] == id) return pos; + } + return ids.size() + 1; } int64_t diff --git a/src/tsp/euclideanTSP_driver.cpp b/src/tsp/euclideanTSP_driver.cpp index c78abbed763..ad04ab0671b 100644 --- a/src/tsp/euclideanTSP_driver.cpp +++ b/src/tsp/euclideanTSP_driver.cpp @@ -168,7 +168,7 @@ do_pgr_euclideanTSP( if (id == prev_id) continue; General_path_element_t data; data.node = costs.get_id(prev_id); - data.edge = prev_id; + data.edge = static_cast(prev_id); data.cost = costs.distance(prev_id, id); data.agg_cost = agg_cost; result.push_back(data); @@ -180,7 +180,7 @@ do_pgr_euclideanTSP( { General_path_element_t data; data.node = costs.get_id(bestTour.cities.front()); - data.edge = bestTour.cities.front(); + data.edge = static_cast(bestTour.cities.front()); data.cost = costs.distance(prev_id, bestTour.cities.front()); agg_cost += data.cost; data.agg_cost = agg_cost; diff --git a/src/tsp/tour.cpp b/src/tsp/tour.cpp index a94f5fde7fc..f5e70ac5f41 100644 --- a/src/tsp/tour.cpp +++ b/src/tsp/tour.cpp @@ -49,8 +49,8 @@ void Tour::reverse( size_t c2) { pgassert(c1 < c2 && c2 < cities.size()); std::reverse( - cities.begin() + (c1 + 1), - cities.begin() + (c2 + 1)); + cities.begin() + static_cast(c1 + 1), + cities.begin() + static_cast(c2 + 1)); } void Tour::slide( @@ -63,14 +63,14 @@ void Tour::slide( if (place < first) { std::rotate( - cities.begin() + (place + 1), - cities.begin() + (first + 1), - cities.begin() + (last + 1)); + cities.begin() + static_cast(place + 1), + cities.begin() + static_cast(first + 1), + cities.begin() + static_cast(last + 1)); } else { std::rotate( - cities.begin() + (first + 1), - cities.begin() + (last + 1), - cities.begin() + (place + 1)); + cities.begin() + static_cast(first + 1), + cities.begin() + static_cast(last + 1), + cities.begin() + static_cast(place + 1)); } } @@ -81,9 +81,9 @@ void Tour::rotate( pgassert(c1 < c2 && c2 < c3 && c3 < cities.size()); std::rotate( - cities.begin() + (c1 + 1), - cities.begin() + (c2 + 1), - cities.begin() + (c3 + 1)); + cities.begin() + static_cast(c1 + 1), + cities.begin() + static_cast(c2 + 1), + cities.begin() + static_cast(c3 + 1)); } @@ -92,7 +92,7 @@ void Tour::swap( size_t c2 ) { pgassert(c1 < c2); - std::iter_swap(cities.begin() + c1, cities.begin() + c2); + std::iter_swap(cities.begin() + static_cast(c1), cities.begin() + static_cast(c2)); } diff --git a/src/withPoints/pgr_withPoints.cpp b/src/withPoints/pgr_withPoints.cpp index 142540ca11b..5826974fddb 100644 --- a/src/withPoints/pgr_withPoints.cpp +++ b/src/withPoints/pgr_withPoints.cpp @@ -77,7 +77,6 @@ Pg_points_graph::Pg_points_graph( m_points(p_points), m_o_points(p_points), m_edges_of_points(p_edges_of_points), - m_normal(p_normal), m_driving_side(p_driving_side), m_directed(p_directed) { if (!p_normal) { diff --git a/tools/testers/pg_prove_tests.sh b/tools/testers/pg_prove_tests.sh index 490e6278fbb..b74160569ce 100755 --- a/tools/testers/pg_prove_tests.sh +++ b/tools/testers/pg_prove_tests.sh @@ -10,11 +10,9 @@ set -e PGUSER=$1 PGPORT=$2 -RELEASE_TYPE="b$3" -echo "RELEASE_TYPE $RELEASE_TYPE" if [ "b$PGPORT" = "b" ] then - PGPORT="" + PGPORT="-p 5432" else PGPORT="-p $PGPORT" fi From d75356010a09753779ea98eaeb662056d70d3309 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 20:50:04 +0530 Subject: [PATCH 1043/1360] [maxFlow][sql] Added combinations signature --- sql/max_flow/_maxflow.sql | 22 ++++++++++++++++++++++ sql/max_flow/maxFlow.sql | 23 +++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/sql/max_flow/_maxflow.sql b/sql/max_flow/_maxflow.sql index 8740d4b07e7..45f48461d1e 100644 --- a/sql/max_flow/_maxflow.sql +++ b/sql/max_flow/_maxflow.sql @@ -51,8 +51,30 @@ CREATE FUNCTION _pgr_maxflow( 'MODULE_PATHNAME' LANGUAGE c VOLATILE STRICT; + +--v3.2 +CREATE FUNCTION _pgr_maxflow( + edges_sql TEXT, + combinations_sql TEXT, + + algorithm INTEGER DEFAULT 1, + only_flow BOOLEAN DEFAULT false, + + OUT seq INTEGER, + OUT edge_id BIGINT, + OUT source BIGINT, + OUT target BIGINT, + OUT flow BIGINT, + OUT residual_capacity BIGINT + ) + RETURNS SETOF RECORD AS + 'MODULE_PATHNAME' + LANGUAGE c VOLATILE STRICT; + -- COMMENTS COMMENT ON FUNCTION _pgr_maxflow(TEXT, ANYARRAY, ANYARRAY, INTEGER, BOOLEAN) IS 'pgRouting internal function'; +COMMENT ON FUNCTION _pgr_maxflow(TEXT, TEXT, INTEGER, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/max_flow/maxFlow.sql b/sql/max_flow/maxFlow.sql index 9721f50208c..a1731d6049d 100644 --- a/sql/max_flow/maxFlow.sql +++ b/sql/max_flow/maxFlow.sql @@ -85,6 +85,19 @@ CREATE FUNCTION pgr_maxFlow( LANGUAGE sql VOLATILE STRICT; +-- COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_maxFlow( + TEXT, -- edges_sql (required) + TEXT) -- combinations_sql (required) + RETURNS BIGINT AS + $BODY$ + SELECT flow + FROM _pgr_maxflow(_pgr_get_statement($1), _pgr_get_statement($2), algorithm := 1, only_flow := true); + $BODY$ + LANGUAGE sql VOLATILE STRICT; + + -- COMMENTS @@ -131,3 +144,13 @@ IS 'pgr_maxFlow(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_maxFlow.html '; + +COMMENT ON FUNCTION pgr_maxFlow(TEXT, TEXT) +IS 'pgr_maxFlow(Combinations) +- Directed graph +- Parameters: + - Edges SQL with columns: id, source, target, capacity [,reverse_capacity] + - Combinations SQL with columns: source, target +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_maxFlow.html +'; From 00ca0afe2e382a7069b3cde24fa4c15a79ab6ea1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 20:51:04 +0530 Subject: [PATCH 1044/1360] [boykovKolmogorov][sql] Added combinations signature --- sql/max_flow/boykovKolmogorov.sql | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/sql/max_flow/boykovKolmogorov.sql b/sql/max_flow/boykovKolmogorov.sql index 0f3c1c1147c..7357d28722b 100644 --- a/sql/max_flow/boykovKolmogorov.sql +++ b/sql/max_flow/boykovKolmogorov.sql @@ -113,6 +113,26 @@ CREATE FUNCTION pgr_boykovKolmogorov( LANGUAGE sql VOLATILE STRICT; +-- COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_boykovKolmogorov( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + OUT seq INTEGER, + OUT edge BIGINT, + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT flow BIGINT, + OUT residual_capacity BIGINT) + RETURNS SETOF RECORD AS + $BODY$ + SELECT * + FROM _pgr_maxflow(_pgr_get_statement($1), _pgr_get_statement($2), 2); + $BODY$ + LANGUAGE sql VOLATILE STRICT; + + -- COMMENTS @@ -163,3 +183,12 @@ IS 'pgr_boykovKolmogorov(Many to Many) - ${PGROUTING_DOC_LINK}/pgr_boykovKolmogorov.html '; +COMMENT ON FUNCTION pgr_boykovKolmogorov(TEXT, TEXT) +IS 'pgr_boykovKolmogorov(Combinations) + - Directed graph + - Parameters: + - Edges SQL with columns: id, source, target, capacity [,reverse_capacity] + - Combinations SQL with columns: source, target +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_boykovKolmogorov.html +'; From 9f90a6828f44f203098c7f7b0db4c7236618c6a4 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 20:51:40 +0530 Subject: [PATCH 1045/1360] [edmondsKarp][sql] Added combinations signature --- sql/max_flow/edmondsKarp.sql | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/sql/max_flow/edmondsKarp.sql b/sql/max_flow/edmondsKarp.sql index 213e5d8414e..4eecc8da84f 100644 --- a/sql/max_flow/edmondsKarp.sql +++ b/sql/max_flow/edmondsKarp.sql @@ -111,6 +111,25 @@ CREATE FUNCTION pgr_edmondsKarp( $BODY$ LANGUAGE sql VOLATILE STRICT; +-- COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_edmondsKarp( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + OUT seq INTEGER, + OUT edge BIGINT, + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT flow BIGINT, + OUT residual_capacity BIGINT) + RETURNS SEtoF RECORD AS + $BODY$ + SELECT * + FROM _pgr_maxflow(_pgr_get_statement($1), _pgr_get_statement($2), 3); + $BODY$ + LANGUAGE sql VOLATILE STRICT; + -- COMMENTS @@ -161,3 +180,13 @@ IS 'pgr_edmondsKarp(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_edmondsKarp.html '; + +COMMENT ON FUNCTION pgr_edmondsKarp(TEXT, TEXT) +IS 'pgr_edmondsKarp(Combinations) +- Directed graph +- Parameters: + - Edges SQL with columns: id, source, target, capacity [,reverse_capacity] + - Combinations SQL with columns: source, target +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_edmondsKarp.html +'; From 6313646995e0934aa1b784a5e7fc5a752b9bdcde Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 20:52:02 +0530 Subject: [PATCH 1046/1360] [pushRelabel][sql] Added combinations signature --- sql/max_flow/pushRelabel.sql | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/sql/max_flow/pushRelabel.sql b/sql/max_flow/pushRelabel.sql index f1cd0c17e61..53d8cc451d9 100644 --- a/sql/max_flow/pushRelabel.sql +++ b/sql/max_flow/pushRelabel.sql @@ -113,6 +113,26 @@ CREATE FUNCTION pgr_pushRelabel( LANGUAGE sql VOLATILE STRICT; +-- COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_pushRelabel( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + OUT seq INTEGER, + OUT edge BIGINT, + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT flow BIGINT, + OUT residual_capacity BIGINT) + RETURNS SETOF RECORD AS + $BODY$ + SELECT * + FROM _pgr_maxflow(_pgr_get_statement($1), _pgr_get_statement($2), 1); + $BODY$ + LANGUAGE sql VOLATILE STRICT; + + -- COMMENTS @@ -162,3 +182,13 @@ IS 'pgr_pushRelabel(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_pushRelabel.html '; + +COMMENT ON FUNCTION pgr_pushRelabel(TEXT, TEXT) +IS 'pgr_pushRelabel(Combinations) +- Directed graph +- Parameters: + - Edges SQL with columns: id, source, target, capacity [,reverse_capacity] + - Combinations SQL with columns: source, target +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_pushRelabel.html +'; From c17af3dcd6febdacf5869977085c1f7806fb0332 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 20:52:39 +0530 Subject: [PATCH 1047/1360] [edgeDisjointPaths][sql] Added combinations signature --- sql/max_flow/_edgeDisjointPaths.sql | 23 +++++++++++++++++++ sql/max_flow/edgeDisjointPaths.sql | 35 +++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/sql/max_flow/_edgeDisjointPaths.sql b/sql/max_flow/_edgeDisjointPaths.sql index 19203d63af1..0cd2cfaf138 100644 --- a/sql/max_flow/_edgeDisjointPaths.sql +++ b/sql/max_flow/_edgeDisjointPaths.sql @@ -50,7 +50,30 @@ RETURNS SEtoF RECORD AS 'MODULE_PATHNAME' LANGUAGE C VOLATILE STRICT; +--v3.2 +CREATE FUNCTION _pgr_edgeDisjointPaths( + TEXT, + TEXT, + + directed 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 VOLATILE STRICT; + -- COMMENTS COMMENT ON FUNCTION _pgr_edgeDisjointPaths(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) IS 'pgRouting internal function'; + +COMMENT ON FUNCTION _pgr_edgeDisjointPaths(TEXT, TEXT, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/max_flow/edgeDisjointPaths.sql b/sql/max_flow/edgeDisjointPaths.sql index 2a903b7b216..e8ab688ba1a 100644 --- a/sql/max_flow/edgeDisjointPaths.sql +++ b/sql/max_flow/edgeDisjointPaths.sql @@ -127,6 +127,30 @@ CREATE FUNCTION pgr_edgeDisjointPaths( LANGUAGE SQL VOLATILE STRICT; +-- COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_edgeDisjointPaths( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + + 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 * + From _pgr_edgeDisjointPaths(_pgr_get_statement($1), _pgr_get_statement($2), $3) AS a; + $BODY$ +LANGUAGE SQL VOLATILE STRICT; + -- COMMENTS COMMENT ON FUNCTION pgr_edgeDisjointPaths(TEXT, BIGINT, BIGINT, BOOLEAN) @@ -179,3 +203,14 @@ IS 'pgr_edgeDisjointPaths(Many to Many) - Documentation: - ${PGROUTING_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 +- Optional Parameters + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_edgeDisjointPaths.html +'; From e10f8ce35c652e87570e9f33cf2aff31e20fa76e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 20:53:52 +0530 Subject: [PATCH 1048/1360] [maxFlowMinCost][sql] Added combinations signature --- sql/max_flow/_maxFlowMinCost.sql | 21 ++++++++++++++++- sql/max_flow/maxFlowMinCost.sql | 40 ++++++++++++++++++++++++++++---- 2 files changed, 56 insertions(+), 5 deletions(-) diff --git a/sql/max_flow/_maxFlowMinCost.sql b/sql/max_flow/_maxFlowMinCost.sql index 150f2ec01b9..ff748f15962 100644 --- a/sql/max_flow/_maxFlowMinCost.sql +++ b/sql/max_flow/_maxFlowMinCost.sql @@ -59,9 +59,28 @@ RETURNS SETOF RECORD AS 'MODULE_PATHNAME' LANGUAGE c IMMUTABLE STRICT; +--v3.2 +CREATE FUNCTION _pgr_maxFlowMinCost( + edges_sql TEXT, + combinations_sql TEXT, + only_cost BOOLEAN DEFAULT false, + + OUT seq INTEGER, + OUT edge BIGINT, + OUT source BIGINT, + OUT target BIGINT, + OUT flow BIGINT, + OUT residual_capacity BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +'MODULE_PATHNAME' +LANGUAGE c IMMUTABLE STRICT; + -- COMMENTS COMMENT ON FUNCTION _pgr_maxFlowMinCost(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) IS 'pgRouting internal function'; - +COMMENT ON FUNCTION _pgr_maxFlowMinCost(TEXT, TEXT, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/max_flow/maxFlowMinCost.sql b/sql/max_flow/maxFlowMinCost.sql index 870a85408f9..999fc93974e 100644 --- a/sql/max_flow/maxFlowMinCost.sql +++ b/sql/max_flow/maxFlowMinCost.sql @@ -52,7 +52,7 @@ $BODY$ SELECT * FROM _pgr_maxFlowMinCost(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], ARRAY[$3]::BIGINT[], only_cost := false); $BODY$ -LANGUAGE SQL VOLATILE; +LANGUAGE SQL VOLATILE STRICT; -- ONE TO MANY @@ -75,7 +75,7 @@ $BODY$ SELECT * FROM _pgr_maxFlowMinCost(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], $3::BIGINT[], only_cost := false); $BODY$ -LANGUAGE SQL VOLATILE; +LANGUAGE SQL VOLATILE STRICT; -- MANY TO ONE @@ -98,7 +98,7 @@ $BODY$ SELECT * FROM _pgr_maxFlowMinCost(_pgr_get_statement($1), $2::BIGINT[], ARRAY[$3]::BIGINT[], only_cost := false); $BODY$ -LANGUAGE SQL VOLATILE; +LANGUAGE SQL VOLATILE STRICT; -- MANY TO MANY --v3.0 @@ -120,7 +120,29 @@ $BODY$ SELECT * FROM _pgr_maxFlowMinCost(_pgr_get_statement($1), $2::BIGINT[], $3::BIGINT[], only_cost := false); $BODY$ -LANGUAGE SQL VOLATILE; +LANGUAGE SQL VOLATILE STRICT; + + +-- COMBINATIONS +--v3.0 +CREATE FUNCTION pgr_maxFlowMinCost( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + OUT seq INTEGER, + OUT edge BIGINT, + OUT source BIGINT, + OUT target BIGINT, + OUT flow BIGINT, + OUT residual_capacity BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT * + FROM _pgr_maxFlowMinCost(_pgr_get_statement($1), _pgr_get_statement($2), only_cost := false); +$BODY$ +LANGUAGE SQL VOLATILE STRICT; -- COMMENTS @@ -168,3 +190,13 @@ IS 'EXPERIMENTAL pgr_maxFlowMinCost(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost.html '; + +COMMENT ON FUNCTION pgr_maxFlowMinCost(TEXT, TEXT) +IS 'EXPERIMENTAL pgr_maxFlowMinCost(Combinations) +- EXPERIMENTAL +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Combinations SQL with columns: source, target +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost.html +'; From 78fe55787762e0d3b9e2e861274ce8e8a783b4ba Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 20:54:11 +0530 Subject: [PATCH 1049/1360] [maxFlowMinCost_Cost][sql] Added combinations signature --- sql/max_flow/maxFlowMinCost_Cost.sql | 32 ++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/sql/max_flow/maxFlowMinCost_Cost.sql b/sql/max_flow/maxFlowMinCost_Cost.sql index c86416c678b..2d7028a4595 100644 --- a/sql/max_flow/maxFlowMinCost_Cost.sql +++ b/sql/max_flow/maxFlowMinCost_Cost.sql @@ -43,7 +43,7 @@ $BODY$ SELECT cost FROM _pgr_maxFlowMinCost(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], ARRAY[$3]::BIGINT[], only_cost := true); $BODY$ -LANGUAGE SQL VOLATILE; +LANGUAGE SQL VOLATILE STRICT; -- ONE TO MANY @@ -58,7 +58,7 @@ $BODY$ SELECT cost FROM _pgr_maxFlowMinCost(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], $3::BIGINT[], only_cost := true); $BODY$ -LANGUAGE SQL VOLATILE; +LANGUAGE SQL VOLATILE STRICT; -- MANY TO ONE @@ -73,7 +73,7 @@ $BODY$ SELECT cost FROM _pgr_maxFlowMinCost(_pgr_get_statement($1), $2::BIGINT[], ARRAY[$3]::BIGINT[], only_cost := true); $BODY$ -LANGUAGE SQL VOLATILE; +LANGUAGE SQL VOLATILE STRICT; -- MANY TO MANY @@ -88,7 +88,21 @@ $BODY$ SELECT cost FROM _pgr_maxFlowMinCost(_pgr_get_statement($1), $2::BIGINT[], $3::BIGINT[], only_cost := true); $BODY$ -LANGUAGE SQL VOLATILE; +LANGUAGE SQL VOLATILE STRICT; + + +-- COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_maxFlowMinCost_Cost( + TEXT, -- edges_sql (required) + TEXT) -- combinations_sql (required) + +RETURNS FLOAT AS +$BODY$ + SELECT cost + FROM _pgr_maxFlowMinCost(_pgr_get_statement($1), _pgr_get_statement($2), only_cost := true); +$BODY$ +LANGUAGE SQL VOLATILE STRICT; -- COMMENTS @@ -136,3 +150,13 @@ IS 'EXPERIMENTAL pgr_maxFlowMinCost_Cost (Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost_Cost.html '; + +COMMENT ON FUNCTION pgr_maxFlowMinCost_Cost(TEXT, TEXT) +IS 'EXPERIMENTAL pgr_maxFlowMinCost_Cost (Combinations) +- EXPERIMENTAL +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Combinations SQL with columns: source, target +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost_Cost.html +'; From 5515fda27141b1e4170674e163c05c10db4603aa Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 20:58:54 +0530 Subject: [PATCH 1050/1360] [maxFlow][code] Updated code for combinations signature pgr_maxFlow pgr_boykovKolmogorov pgr_edmondsKarp pgr_pushRelabel --- include/drivers/max_flow/max_flow_driver.h | 5 +++ src/max_flow/max_flow.c | 46 ++++++++++++++++++---- src/max_flow/max_flow_driver.cpp | 15 ++++++- 3 files changed, 57 insertions(+), 9 deletions(-) diff --git a/include/drivers/max_flow/max_flow_driver.h b/include/drivers/max_flow/max_flow_driver.h index 7c0c16fd692..2950fa8ada7 100644 --- a/include/drivers/max_flow/max_flow_driver.h +++ b/include/drivers/max_flow/max_flow_driver.h @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_flow_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/pgr_edge_t.h" #ifdef __cplusplus @@ -49,6 +50,10 @@ extern "C" { do_pgr_max_flow( pgr_edge_t *data_edges, size_t total_tuples, + + pgr_combination_t *combinations, + size_t total_combinations, + int64_t* source_vertices, size_t size_source_verticesArr, int64_t* sink_vertices, diff --git a/src/max_flow/max_flow.c b/src/max_flow/max_flow.c index 46de879d8e5..54bd986f7ac 100644 --- a/src/max_flow/max_flow.c +++ b/src/max_flow/max_flow.c @@ -38,6 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/time_msg.h" #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "c_common/combinations_input.h" #include "drivers/max_flow/max_flow_driver.h" PGDLLEXPORT Datum @@ -47,6 +48,7 @@ static void process( char *edges_sql, + char *combinations_sql, ArrayType *starts, ArrayType *ends, int algorithm, @@ -59,24 +61,33 @@ process( pgr_SPI_connect(); + int64_t *source_vertices = NULL; size_t size_source_verticesArr = 0; - int64_t* source_vertices = - pgr_get_bigIntArray(&size_source_verticesArr, starts); + int64_t *sink_vertices = NULL; size_t size_sink_verticesArr = 0; - int64_t* sink_vertices = - pgr_get_bigIntArray(&size_sink_verticesArr, ends); pgr_edge_t *edges = NULL; - size_t total_edges = 0; + pgr_combination_t *combinations = NULL; + size_t total_combinations = 0; + + if (starts && ends) { + source_vertices = (int64_t*) + pgr_get_bigIntArray(&size_source_verticesArr, starts); + sink_vertices = (int64_t*) + pgr_get_bigIntArray(&size_sink_verticesArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + } + /* NOTE: * For flow, cost and reverse_cost are really capacity and reverse_capacity */ pgr_get_flow_edges(edges_sql, &edges, &total_edges); - if (total_edges == 0) { + if (total_edges == 0 || (combinations_sql && total_combinations == 0)) { if (source_vertices) pfree(source_vertices); if (sink_vertices) pfree(sink_vertices); pgr_SPI_finish(); @@ -92,6 +103,7 @@ process( do_pgr_max_flow( edges, total_edges, + combinations, total_combinations, source_vertices, size_source_verticesArr, sink_vertices, size_sink_verticesArr, algorithm, @@ -157,8 +169,13 @@ _pgr_maxflow(PG_FUNCTION_ARGS) { /**********************************************************************/ - process( + if (PG_NARGS() == 5) { + /* + * many to many + */ + process( text_to_cstring(PG_GETARG_TEXT_P(0)), + NULL, PG_GETARG_ARRAYTYPE_P(1), PG_GETARG_ARRAYTYPE_P(2), PG_GETARG_INT32(3), @@ -166,6 +183,21 @@ _pgr_maxflow(PG_FUNCTION_ARGS) { &result_tuples, &result_count); + } else if (PG_NARGS() == 4) { + /* + * combinations + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, + NULL, + PG_GETARG_INT32(2), + PG_GETARG_BOOL(3), + &result_tuples, + &result_count); + } + /* */ /**********************************************************************/ diff --git a/src/max_flow/max_flow_driver.cpp b/src/max_flow/max_flow_driver.cpp index 2833f4d055e..e56a352d473 100644 --- a/src/max_flow/max_flow_driver.cpp +++ b/src/max_flow/max_flow_driver.cpp @@ -42,6 +42,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. void do_pgr_max_flow( pgr_edge_t *data_edges, size_t total_edges, + pgr_combination_t *combinations, size_t total_combinations, int64_t *source_vertices, size_t size_source_verticesArr, int64_t *sink_vertices, size_t size_sink_verticesArr, int algorithm, @@ -57,14 +58,24 @@ do_pgr_max_flow( try { pgassert(data_edges); - pgassert(source_vertices); - pgassert(sink_vertices); std::vector edges(data_edges, data_edges + total_edges); std::set sources( source_vertices, source_vertices + size_source_verticesArr); std::set targets( sink_vertices, sink_vertices + size_sink_verticesArr); + std::vector< pgr_combination_t > combinations_vector( + combinations, combinations + total_combinations); + + if (!combinations_vector.empty()) { + pgassert(sources.empty()); + pgassert(targets.empty()); + + for (const pgr_combination_t &comb : combinations_vector) { + sources.insert(comb.source); + targets.insert(comb.target); + } + } std::set vertices(sources); vertices.insert(targets.begin(), targets.end()); From a6b764a5dc541bfebd7b9e80982c8bf5777ac2f0 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 21:03:02 +0530 Subject: [PATCH 1051/1360] [edgeDisjointPaths][code] Updated code for combinations signature --- .../max_flow/edge_disjoint_paths_driver.h | 3 ++ src/max_flow/edge_disjoint_paths.c | 43 ++++++++++++++++--- src/max_flow/edge_disjoint_paths_driver.cpp | 14 ++++++ 3 files changed, 54 insertions(+), 6 deletions(-) diff --git a/include/drivers/max_flow/edge_disjoint_paths_driver.h b/include/drivers/max_flow/edge_disjoint_paths_driver.h index c3e7700b429..a78b20a6080 100644 --- a/include/drivers/max_flow/edge_disjoint_paths_driver.h +++ b/include/drivers/max_flow/edge_disjoint_paths_driver.h @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/general_path_element_t.h" @@ -50,6 +51,8 @@ extern "C" { do_pgr_edge_disjoint_paths( pgr_edge_t *data_edges, size_t total_tuples, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *source_vertices, size_t size_source_verticesArr, int64_t *sink_vertices, diff --git a/src/max_flow/edge_disjoint_paths.c b/src/max_flow/edge_disjoint_paths.c index 4264d03c71e..ae84c5466e0 100644 --- a/src/max_flow/edge_disjoint_paths.c +++ b/src/max_flow/edge_disjoint_paths.c @@ -37,6 +37,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/time_msg.h" #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "c_common/combinations_input.h" #include "drivers/max_flow/edge_disjoint_paths_driver.h" PGDLLEXPORT Datum @@ -46,6 +47,7 @@ static void process( char *edges_sql, + char *combinations_sql, ArrayType *starts, ArrayType *ends, @@ -54,18 +56,28 @@ process( size_t *result_count) { pgr_SPI_connect(); + int64_t *source_vertices = NULL; size_t size_source_verticesArr = 0; - int64_t* source_vertices = - pgr_get_bigIntArray(&size_source_verticesArr, starts); + int64_t *sink_vertices = NULL; size_t size_sink_verticesArr = 0; - int64_t* sink_vertices = - pgr_get_bigIntArray(&size_sink_verticesArr, ends); pgr_edge_t *edges = NULL; size_t total_edges = 0; + pgr_combination_t *combinations = NULL; + size_t total_combinations = 0; + + if (starts && ends) { + source_vertices = (int64_t*) + pgr_get_bigIntArray(&size_source_verticesArr, starts); + sink_vertices = (int64_t*) + pgr_get_bigIntArray(&size_sink_verticesArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + } + pgr_get_edges(edges_sql, &edges, &total_edges); if (total_edges == 0) { @@ -84,6 +96,7 @@ process( do_pgr_edge_disjoint_paths( edges, total_edges, + combinations, total_combinations, source_vertices, size_source_verticesArr, sink_vertices, size_sink_verticesArr, directed, @@ -129,15 +142,33 @@ _pgr_edgedisjointpaths(PG_FUNCTION_ARGS) { oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - - process( + if (PG_NARGS() == 4) { + /* + * many to many + */ + process( text_to_cstring(PG_GETARG_TEXT_P(0)), + NULL, PG_GETARG_ARRAYTYPE_P(1), PG_GETARG_ARRAYTYPE_P(2), PG_GETARG_BOOL(3), &result_tuples, &result_count); + } else if (PG_NARGS() == 3) { + /* + * combinations + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, + NULL, + PG_GETARG_BOOL(2), + &result_tuples, + &result_count); + } + #if PGSQL_VERSION > 95 funcctx->max_calls = result_count; diff --git a/src/max_flow/edge_disjoint_paths_driver.cpp b/src/max_flow/edge_disjoint_paths_driver.cpp index 0551f941387..b0ad8c5c935 100644 --- a/src/max_flow/edge_disjoint_paths_driver.cpp +++ b/src/max_flow/edge_disjoint_paths_driver.cpp @@ -66,6 +66,8 @@ void do_pgr_edge_disjoint_paths( pgr_edge_t *data_edges, size_t total_edges, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *sources, size_t size_source_verticesArr, int64_t *sinks, @@ -84,9 +86,21 @@ do_pgr_edge_disjoint_paths( sources, sources + size_source_verticesArr); std::set set_sink_vertices( sinks, sinks + size_sink_verticesArr); + std::vector< pgr_combination_t > combinations_vector( + combinations, combinations + total_combinations); std::vector edges( data_edges, data_edges + total_edges); + if (!combinations_vector.empty()) { + pgassert(set_source_vertices.empty()); + pgassert(set_sink_vertices.empty()); + + for (const pgr_combination_t &comb : combinations_vector) { + set_source_vertices.insert(comb.source); + set_sink_vertices.insert(comb.target); + } + } + std::vector paths; for (const auto &s : set_source_vertices) { From d14a072e2a9d963114e7152dec0b3c2d16e38c46 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 21:03:31 +0530 Subject: [PATCH 1052/1360] [minCostMaxFlow][code] Updated code for combinations signature --- .../drivers/max_flow/minCostMaxFlow_driver.h | 3 ++ src/max_flow/minCostMaxFlow.c | 46 ++++++++++++++++--- src/max_flow/minCostMaxFlow_driver.cpp | 13 ++++++ 3 files changed, 55 insertions(+), 7 deletions(-) diff --git a/include/drivers/max_flow/minCostMaxFlow_driver.h b/include/drivers/max_flow/minCostMaxFlow_driver.h index 59c5e9a427b..d914faed805 100644 --- a/include/drivers/max_flow/minCostMaxFlow_driver.h +++ b/include/drivers/max_flow/minCostMaxFlow_driver.h @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_flow_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/pgr_costFlow_t.h" #ifdef __cplusplus @@ -56,6 +57,8 @@ extern "C" { do_pgr_minCostMaxFlow( pgr_costFlow_t *data_edges, size_t total_edges, + pgr_combination_t *combinations, + size_t total_combinations, int64_t* source_vertices, size_t size_source_verticesArr, int64_t* sink_vertices, diff --git a/src/max_flow/minCostMaxFlow.c b/src/max_flow/minCostMaxFlow.c index b0c70dda0d8..ecb8ba29a89 100644 --- a/src/max_flow/minCostMaxFlow.c +++ b/src/max_flow/minCostMaxFlow.c @@ -58,6 +58,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" /* for functions to get array input */ #include "c_common/arrays_input.h" +#include "c_common/combinations_input.h" #include "drivers/max_flow/minCostMaxFlow_driver.h" // the link to the C++ code of the function @@ -71,6 +72,7 @@ static void process( char* edges_sql, + char* combinations_sql, ArrayType *starts, ArrayType *ends, bool only_cost, @@ -81,23 +83,32 @@ process( */ pgr_SPI_connect(); + int64_t *sourceVertices = NULL; size_t sizeSourceVerticesArr = 0; - int64_t* sourceVertices = - pgr_get_bigIntArray(&sizeSourceVerticesArr, starts); + int64_t *sinkVertices = NULL; size_t sizeSinkVerticesArr = 0; - int64_t* sinkVertices = - pgr_get_bigIntArray(&sizeSinkVerticesArr, ends); PGR_DBG("Load data"); pgr_costFlow_t *edges = NULL; - size_t total_edges = 0; + pgr_combination_t *combinations = NULL; + size_t total_combinations = 0; + + if (starts && ends) { + sourceVertices = (int64_t*) + pgr_get_bigIntArray(&sizeSourceVerticesArr, starts); + sinkVertices = (int64_t*) + pgr_get_bigIntArray(&sizeSinkVerticesArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + } + pgr_get_costFlow_edges(edges_sql, &edges, &total_edges); PGR_DBG("Total %ld edges in query:", total_edges); - if (total_edges == 0) { + if (total_edges == 0 || (combinations_sql && total_combinations == 0)) { if (sourceVertices) pfree(sourceVertices); if (sinkVertices) @@ -115,6 +126,7 @@ process( do_pgr_minCostMaxFlow( edges, total_edges, + combinations, total_combinations, sourceVertices, sizeSourceVerticesArr, sinkVertices, sizeSinkVerticesArr, only_cost, @@ -185,14 +197,34 @@ PGDLLEXPORT Datum _pgr_maxflowmincost(PG_FUNCTION_ARGS) { PGR_DBG("Calling process"); - process( + + if (PG_NARGS() == 4) { + /* + * many to many + */ + process( text_to_cstring(PG_GETARG_TEXT_P(0)), + NULL, PG_GETARG_ARRAYTYPE_P(1), PG_GETARG_ARRAYTYPE_P(2), PG_GETARG_BOOL(3), &result_tuples, &result_count); + } else if (PG_NARGS() == 3) { + /* + * combinations + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, + NULL, + PG_GETARG_BOOL(2), + &result_tuples, + &result_count); + } + /* */ /**********************************************************************/ diff --git a/src/max_flow/minCostMaxFlow_driver.cpp b/src/max_flow/minCostMaxFlow_driver.cpp index 7ab41fb4906..f2d671b49e6 100644 --- a/src/max_flow/minCostMaxFlow_driver.cpp +++ b/src/max_flow/minCostMaxFlow_driver.cpp @@ -42,6 +42,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. void do_pgr_minCostMaxFlow( pgr_costFlow_t *data_edges, size_t total_edges, + pgr_combination_t *combinations, size_t total_combinations, int64_t *sourceVertices, size_t sizeSourceVerticesArr, int64_t *sinkVertices, size_t sizeSinkVerticesArr, bool only_cost, @@ -66,6 +67,18 @@ do_pgr_minCostMaxFlow( sourceVertices, sourceVertices + sizeSourceVerticesArr); std::set targets( sinkVertices, sinkVertices + sizeSinkVerticesArr); + std::vector< pgr_combination_t > combinations_vector( + combinations, combinations + total_combinations); + + if (!combinations_vector.empty()) { + pgassert(sources.empty()); + pgassert(targets.empty()); + + for (const pgr_combination_t &comb : combinations_vector) { + sources.insert(comb.source); + targets.insert(comb.target); + } + } std::set vertices(sources); vertices.insert(targets.begin(), targets.end()); From 9724efe69289b36bb7f2fc65ba23ab39fc7f3e14 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 22:01:46 +0530 Subject: [PATCH 1053/1360] [maxFlow][pgtap] Added tests for combinations signature --- .../empty_combinations_empty_result.test.sql | 39 ++++++++++++ .../many_to_many_eq_combinations.test.sql | 62 +++++++++++++++++++ .../maxFlow/maxflow-group-innerQuery.sql | 7 ++- .../maxFlow/no_crash_test-maxFlow.sql | 44 ++++++++++--- 4 files changed, 143 insertions(+), 9 deletions(-) create mode 100644 pgtap/max_flow/empty_combinations_empty_result.test.sql create mode 100644 pgtap/max_flow/many_to_many_eq_combinations.test.sql diff --git a/pgtap/max_flow/empty_combinations_empty_result.test.sql b/pgtap/max_flow/empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..7b9e931c2a4 --- /dev/null +++ b/pgtap/max_flow/empty_combinations_empty_result.test.sql @@ -0,0 +1,39 @@ + +\i setup.sql + +SELECT plan(1); + +create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT ) +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + IF TestFunction = 'pgr_maxFlow' THEN + RETURN query SELECT set_eq( 'SELECT * FROM ' || TestFunction || '( $$' || sql_EdgesQuery || '$$, + $$SELECT * FROM combinations_table WHERE source IN (-1)$$ ) ', + 'SELECT NULL::BIGINT' + ); + ELSIF TestFunction = 'pgr_maxFlowMinCost_Cost' THEN + RETURN query SELECT set_eq( 'SELECT * FROM ' || TestFunction || '( $$' || sql_EdgesQuery || '$$, + $$SELECT * FROM combinations_table WHERE source IN (-1)$$ ) ', + 'SELECT NULL::FLOAT' + ); + ELSE + RETURN query SELECT is_empty( 'SELECT * FROM ' || TestFunction || '( $$' || sql_EdgesQuery || '$$, + $$SELECT * FROM combinations_table WHERE source IN (-1)$$ ) ' + ); + END IF; + RETURN; +END +$BODY$ +language plpgsql; + +-- test pgr_maxFlow +select * from foo( + 'pgr_maxFlow', + 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' +); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/max_flow/many_to_many_eq_combinations.test.sql b/pgtap/max_flow/many_to_many_eq_combinations.test.sql new file mode 100644 index 00000000000..fdf4b6c177b --- /dev/null +++ b/pgtap/max_flow/many_to_many_eq_combinations.test.sql @@ -0,0 +1,62 @@ + +\i setup.sql + +SELECT plan(17); + +create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT, cant INTEGER default 18 ) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +sql_Combinations TEXT; +sql_ManySource TEXT; +sql_ManyTarget TEXT; +sql_Many TEXT; +BEGIN + + FOR id IN 1.. (cant - 1) LOOP + sql_Combinations := ''; + sql_ManySource := ''; + sql_ManyTarget := ''; + + FOR i IN 1.. id LOOP + IF (i > 1) THEN + sql_ManySource := sql_ManySource ||', '; + END IF; + sql_ManySource := sql_ManySource || i ; + END LOOP; + + FOR i IN (id + 1).. cant LOOP + IF (i > id + 1) THEN + sql_ManyTarget := sql_ManyTarget ||', '; + END IF; + sql_ManyTarget := sql_ManyTarget || i ; + END LOOP; + + FOR i IN 1.. id LOOP + FOR j IN (id + 1).. cant LOOP + sql_Combinations := sql_Combinations || '(' || i || ',' || j || '),' ; + END LOOP; + END LOOP; + sql_Combinations := trim(trailing ',' from sql_Combinations); + + sql_Many := ( 'SELECT * FROM ' || TestFunction || '( $$' || sql_EdgesQuery || '$$, + ARRAY[' || sql_ManySource ||'], ARRAY[' || sql_ManyTarget || '] ) '); + + sql_Combinations := ( 'SELECT * FROM ' || TestFunction || '( $$' || sql_EdgesQuery || '$$, + $$SELECT * FROM (VALUES' || sql_Combinations ||') AS combinations (source, target)$$ ) '); + + RETURN query SELECT set_eq( sql_Many, sql_Combinations ); + END LOOP; +END +$BODY$ +language plpgsql; + +-- test pgr_maxFlow +select * from foo( + 'pgr_maxFlow', + 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' +); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/max_flow/maxFlow/maxflow-group-innerQuery.sql b/pgtap/max_flow/maxFlow/maxflow-group-innerQuery.sql index c894d7ed134..2811af4f186 100644 --- a/pgtap/max_flow/maxFlow/maxflow-group-innerQuery.sql +++ b/pgtap/max_flow/maxFlow/maxflow-group-innerQuery.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(224); +SELECT plan(226); SELECT has_function('pgr_maxflow', @@ -12,6 +12,8 @@ SELECT has_function('pgr_maxflow', ARRAY['text', 'anyarray', 'bigint']); SELECT has_function('pgr_maxflow', ARRAY['text', 'anyarray', 'anyarray']); +SELECT has_function('pgr_maxflow', + ARRAY['text', 'text']); SELECT function_returns('pgr_maxflow', ARRAY['text', 'bigint', 'bigint'], @@ -25,6 +27,9 @@ SELECT function_returns('pgr_maxflow', SELECT function_returns('pgr_maxflow', ARRAY['text', 'anyarray', 'anyarray'], 'bigint'); +SELECT function_returns('pgr_maxflow', + ARRAY['text', 'text'], + 'bigint'); -- ONLY WORKS ON DIRECTED GRAPH diff --git a/pgtap/max_flow/maxFlow/no_crash_test-maxFlow.sql b/pgtap/max_flow/maxFlow/no_crash_test-maxFlow.sql index 136fd147985..8a243c65816 100644 --- a/pgtap/max_flow/maxFlow/no_crash_test-maxFlow.sql +++ b/pgtap/max_flow/maxFlow/no_crash_test-maxFlow.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, @@ -12,14 +12,23 @@ SELECT id, FROM edge_table ORDER BY id; +-- A source should not be a sink +PREPARE combinations AS +SELECT source, target FROM combinations_table WHERE target > 2; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); CREATE OR REPLACE FUNCTION test(params TEXT[], subs TEXT[]) @@ -29,20 +38,23 @@ DECLARE mp TEXT[]; q1 TEXT; q TEXT; +separator TEXT; BEGIN FOR i IN 0..array_length(params, 1) LOOP + separator = ' '; mp := params; IF i != 0 THEN mp[i] = subs[i]; END IF; - q1 := format($$ - SELECT * FROM pgr_maxFlow( - %1$s, %2$s, %3$s - ) - $$, - mp[1], mp[2], mp[3] - ); + q1 := 'SELECT * FROM pgr_maxFlow ('; + + FOR i IN 1..array_length(mp, 1) LOOP + q1 := q1 || separator || mp[i]; + separator := ','; + END LOOP; + + q1 := q1 || ')'; RETURN query SELECT * FROM lives_ok(q1); IF i = 0 THEN @@ -139,6 +151,22 @@ BEGIN 'NULL::BIGINT[]' ]::TEXT[]; RETURN query SELECT * FROM test(params, subs); + + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM test(params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM test(params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From c60edfa7071a89da0f66f10dbddc054f14e59642 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 22:03:36 +0530 Subject: [PATCH 1054/1360] [boykovKolmogorov][pgtap] Added tests for combinations signature --- .../max_flow/boykovKolmogorov-innerQuery.sql | 7 ++++- .../empty_combinations_empty_result.test.sql | 8 +++++- .../many_to_many_eq_combinations.test.sql | 8 +++++- .../no_crash_test-boykovKolmogorov.sql | 27 ++++++++++++++++++- 4 files changed, 46 insertions(+), 4 deletions(-) diff --git a/pgtap/max_flow/boykovKolmogorov-innerQuery.sql b/pgtap/max_flow/boykovKolmogorov-innerQuery.sql index 75a2d1ba0a4..e93dec4b4bc 100644 --- a/pgtap/max_flow/boykovKolmogorov-innerQuery.sql +++ b/pgtap/max_flow/boykovKolmogorov-innerQuery.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(224); +SELECT plan(226); SELECT has_function('pgr_boykovkolmogorov', @@ -12,6 +12,8 @@ SELECT has_function('pgr_boykovkolmogorov', ARRAY['text', 'anyarray', 'bigint']); SELECT has_function('pgr_boykovkolmogorov', ARRAY['text', 'anyarray', 'anyarray']); +SELECT has_function('pgr_boykovkolmogorov', + ARRAY['text', 'text']); SELECT function_returns('pgr_boykovkolmogorov', ARRAY['text', 'bigint', 'bigint'], @@ -25,6 +27,9 @@ SELECT function_returns('pgr_boykovkolmogorov', SELECT function_returns('pgr_boykovkolmogorov', ARRAY['text', 'anyarray', 'anyarray'], 'setof record'); +SELECT function_returns('pgr_boykovkolmogorov', + ARRAY['text', 'text'], + 'setof record'); -- ONLY WORKS ON DIRECTED GRAPH diff --git a/pgtap/max_flow/empty_combinations_empty_result.test.sql b/pgtap/max_flow/empty_combinations_empty_result.test.sql index 7b9e931c2a4..b85cb974cb0 100644 --- a/pgtap/max_flow/empty_combinations_empty_result.test.sql +++ b/pgtap/max_flow/empty_combinations_empty_result.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(1); +SELECT plan(2); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT ) RETURNS SETOF TEXT AS @@ -34,6 +34,12 @@ select * from foo( 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); +-- test pgr_boykovKolmogorov +select * from foo( + 'pgr_boykovKolmogorov', + 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/many_to_many_eq_combinations.test.sql b/pgtap/max_flow/many_to_many_eq_combinations.test.sql index fdf4b6c177b..3f6545d8b8c 100644 --- a/pgtap/max_flow/many_to_many_eq_combinations.test.sql +++ b/pgtap/max_flow/many_to_many_eq_combinations.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(17); +SELECT plan(34); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT, cant INTEGER default 18 ) RETURNS SETOF TEXT AS @@ -57,6 +57,12 @@ select * from foo( 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); +-- test pgr_boykovKolmogorov +select * from foo( + 'pgr_boykovKolmogorov', + 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/no_crash_test-boykovKolmogorov.sql b/pgtap/max_flow/no_crash_test-boykovKolmogorov.sql index dc77eff373a..f8d856b67af 100644 --- a/pgtap/max_flow/no_crash_test-boykovKolmogorov.sql +++ b/pgtap/max_flow/no_crash_test-boykovKolmogorov.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, @@ -12,14 +12,23 @@ SELECT id, FROM edge_table ORDER BY id; +-- A source should not be a sink +PREPARE combinations AS +SELECT source, target FROM combinations_table WHERE target > 2; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -109,6 +118,22 @@ BEGIN 'NULL::BIGINT[]' ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_boykovKolmogorov',params, subs); + + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_boykovKolmogorov', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_boykovKolmogorov', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From 21fe6e89231ac74128d1bb6bfb0d173993cc8874 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 22:05:07 +0530 Subject: [PATCH 1055/1360] [edmondsKarp][pgtap] Added tests for combinations signature --- pgtap/max_flow/edmondsKarp-innerQuery.sql | 7 ++++- .../empty_combinations_empty_result.test.sql | 8 +++++- .../many_to_many_eq_combinations.test.sql | 8 +++++- pgtap/max_flow/no_crash_test-edmondsKarp.sql | 27 ++++++++++++++++++- 4 files changed, 46 insertions(+), 4 deletions(-) diff --git a/pgtap/max_flow/edmondsKarp-innerQuery.sql b/pgtap/max_flow/edmondsKarp-innerQuery.sql index 7379517db31..5c47adf82a0 100644 --- a/pgtap/max_flow/edmondsKarp-innerQuery.sql +++ b/pgtap/max_flow/edmondsKarp-innerQuery.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(224); +SELECT plan(226); SELECT has_function('pgr_edmondskarp', @@ -12,6 +12,8 @@ SELECT has_function('pgr_edmondskarp', ARRAY['text', 'anyarray', 'bigint']); SELECT has_function('pgr_edmondskarp', ARRAY['text', 'anyarray', 'anyarray']); +SELECT has_function('pgr_edmondskarp', + ARRAY['text', 'text']); SELECT function_returns('pgr_edmondskarp', ARRAY['text', 'bigint', 'bigint'], @@ -25,6 +27,9 @@ SELECT function_returns('pgr_edmondskarp', SELECT function_returns('pgr_edmondskarp', ARRAY['text', 'anyarray', 'anyarray'], 'setof record'); +SELECT function_returns('pgr_edmondskarp', + ARRAY['text', 'text'], + 'setof record'); -- ONLY WORKS ON DIRECTED GRAPH diff --git a/pgtap/max_flow/empty_combinations_empty_result.test.sql b/pgtap/max_flow/empty_combinations_empty_result.test.sql index b85cb974cb0..5752bf7f712 100644 --- a/pgtap/max_flow/empty_combinations_empty_result.test.sql +++ b/pgtap/max_flow/empty_combinations_empty_result.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(2); +SELECT plan(3); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT ) RETURNS SETOF TEXT AS @@ -40,6 +40,12 @@ select * from foo( 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); +-- test pgr_edmondsKarp +select * from foo( + 'pgr_edmondsKarp', + 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/many_to_many_eq_combinations.test.sql b/pgtap/max_flow/many_to_many_eq_combinations.test.sql index 3f6545d8b8c..ffd75dbe010 100644 --- a/pgtap/max_flow/many_to_many_eq_combinations.test.sql +++ b/pgtap/max_flow/many_to_many_eq_combinations.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(34); +SELECT plan(51); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT, cant INTEGER default 18 ) RETURNS SETOF TEXT AS @@ -63,6 +63,12 @@ select * from foo( 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); +-- test pgr_edmondsKarp +select * from foo( + 'pgr_edmondsKarp', + 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/no_crash_test-edmondsKarp.sql b/pgtap/max_flow/no_crash_test-edmondsKarp.sql index 20bc3c1dd94..f66e7ed615d 100644 --- a/pgtap/max_flow/no_crash_test-edmondsKarp.sql +++ b/pgtap/max_flow/no_crash_test-edmondsKarp.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, @@ -12,14 +12,23 @@ SELECT id, FROM edge_table ORDER BY id; +-- A source should not be a sink +PREPARE combinations AS +SELECT source, target FROM combinations_table WHERE target > 2; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -109,6 +118,22 @@ BEGIN 'NULL::BIGINT[]' ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_edmondsKarp',params, subs); + + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_edmondsKarp', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_edmondsKarp', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From 89fe6cc7ad3c8a934fb5d891e775e5036574d839 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 22:09:38 +0530 Subject: [PATCH 1056/1360] [pushRelabel][pgtap] Added tests for combinations signature --- .../empty_combinations_empty_result.test.sql | 8 +++++- .../many_to_many_eq_combinations.test.sql | 8 +++++- pgtap/max_flow/no_crash_test-pushRelabel.sql | 27 ++++++++++++++++++- pgtap/max_flow/pushRelabel-innerQuery.sql | 7 ++++- 4 files changed, 46 insertions(+), 4 deletions(-) diff --git a/pgtap/max_flow/empty_combinations_empty_result.test.sql b/pgtap/max_flow/empty_combinations_empty_result.test.sql index 5752bf7f712..f02aedf31d4 100644 --- a/pgtap/max_flow/empty_combinations_empty_result.test.sql +++ b/pgtap/max_flow/empty_combinations_empty_result.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(3); +SELECT plan(4); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT ) RETURNS SETOF TEXT AS @@ -46,6 +46,12 @@ select * from foo( 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); +-- test pgr_pushRelabel +select * from foo( + 'pgr_pushRelabel', + 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/many_to_many_eq_combinations.test.sql b/pgtap/max_flow/many_to_many_eq_combinations.test.sql index ffd75dbe010..812038de967 100644 --- a/pgtap/max_flow/many_to_many_eq_combinations.test.sql +++ b/pgtap/max_flow/many_to_many_eq_combinations.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(51); +SELECT plan(68); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT, cant INTEGER default 18 ) RETURNS SETOF TEXT AS @@ -69,6 +69,12 @@ select * from foo( 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); +-- test pgr_pushRelabel +select * from foo( + 'pgr_pushRelabel', + 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/no_crash_test-pushRelabel.sql b/pgtap/max_flow/no_crash_test-pushRelabel.sql index c672780126f..af3ad7c23d2 100644 --- a/pgtap/max_flow/no_crash_test-pushRelabel.sql +++ b/pgtap/max_flow/no_crash_test-pushRelabel.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, @@ -12,14 +12,23 @@ SELECT id, FROM edge_table ORDER BY id; +-- A source should not be a sink +PREPARE combinations AS +SELECT source, target FROM combinations_table WHERE target > 2; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -109,6 +118,22 @@ BEGIN 'NULL::BIGINT[]' ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_pushRelabel',params, subs); + + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_pushRelabel', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_pushRelabel', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; diff --git a/pgtap/max_flow/pushRelabel-innerQuery.sql b/pgtap/max_flow/pushRelabel-innerQuery.sql index deca9e96115..a605c5f99cf 100644 --- a/pgtap/max_flow/pushRelabel-innerQuery.sql +++ b/pgtap/max_flow/pushRelabel-innerQuery.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(224); +SELECT plan(226); SELECT has_function('pgr_pushrelabel', @@ -12,6 +12,8 @@ SELECT has_function('pgr_pushrelabel', ARRAY['text', 'anyarray', 'bigint']); SELECT has_function('pgr_pushrelabel', ARRAY['text', 'anyarray', 'anyarray']); +SELECT has_function('pgr_pushrelabel', + ARRAY['text', 'text']); SELECT function_returns('pgr_pushrelabel', ARRAY['text', 'bigint', 'bigint'], @@ -25,6 +27,9 @@ SELECT function_returns('pgr_pushrelabel', SELECT function_returns('pgr_pushrelabel', ARRAY['text', 'anyarray', 'anyarray'], 'setof record'); +SELECT function_returns('pgr_pushrelabel', + ARRAY['text', 'text'], + 'setof record'); -- ONLY WORKS ON DIRECTED GRAPH From 559777fff48bbdc39121cf8fd1d5188f286ab2af Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 22:13:25 +0530 Subject: [PATCH 1057/1360] [edgeDisjointPaths][pgtap] Added tests for combinations signature --- .../edgedisjointpaths-group-innerQuery.sql | 7 ++++- .../empty_combinations_empty_result.test.sql | 8 +++++- .../many_to_many_eq_combinations.test.sql | 8 +++++- .../no_crash_test-edgeDisjointPaths.sql | 26 ++++++++++++++++++- 4 files changed, 45 insertions(+), 4 deletions(-) diff --git a/pgtap/max_flow/edgedisjointpaths-group-innerQuery.sql b/pgtap/max_flow/edgedisjointpaths-group-innerQuery.sql index 8af51ad77cc..ff258602365 100644 --- a/pgtap/max_flow/edgedisjointpaths-group-innerQuery.sql +++ b/pgtap/max_flow/edgedisjointpaths-group-innerQuery.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(656); +SELECT plan(658); SELECT has_function('pgr_edgedisjointpaths', @@ -12,6 +12,8 @@ SELECT has_function('pgr_edgedisjointpaths', ARRAY['text', 'anyarray', 'bigint', 'boolean']); SELECT has_function('pgr_edgedisjointpaths', ARRAY['text', 'anyarray', 'anyarray', 'boolean']); +SELECT has_function('pgr_edgedisjointpaths', + ARRAY['text', 'text', 'boolean']); SELECT function_returns('pgr_edgedisjointpaths', ARRAY['text', 'bigint', 'bigint', 'boolean'], @@ -25,6 +27,9 @@ SELECT function_returns('pgr_edgedisjointpaths', SELECT function_returns('pgr_edgedisjointpaths', ARRAY['text', 'anyarray', 'anyarray', 'boolean'], 'setof record'); +SELECT function_returns('pgr_edgedisjointpaths', + ARRAY['text', 'text', 'boolean'], + 'setof record'); -- DIRECTED diff --git a/pgtap/max_flow/empty_combinations_empty_result.test.sql b/pgtap/max_flow/empty_combinations_empty_result.test.sql index f02aedf31d4..7ada9bad6cd 100644 --- a/pgtap/max_flow/empty_combinations_empty_result.test.sql +++ b/pgtap/max_flow/empty_combinations_empty_result.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(4); +SELECT plan(5); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT ) RETURNS SETOF TEXT AS @@ -52,6 +52,12 @@ select * from foo( 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); +-- test pgr_edgeDisjointPaths +select * from foo( + 'pgr_edgeDisjointPaths', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/many_to_many_eq_combinations.test.sql b/pgtap/max_flow/many_to_many_eq_combinations.test.sql index 812038de967..0e55894d339 100644 --- a/pgtap/max_flow/many_to_many_eq_combinations.test.sql +++ b/pgtap/max_flow/many_to_many_eq_combinations.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(68); +SELECT plan(85); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT, cant INTEGER default 18 ) RETURNS SETOF TEXT AS @@ -75,6 +75,12 @@ select * from foo( 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); +-- test pgr_edgeDisjointPaths +select * from foo( + 'pgr_edgeDisjointPaths', + 'SELECT id, source, target, cost, reverse_cost FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/no_crash_test-edgeDisjointPaths.sql b/pgtap/max_flow/no_crash_test-edgeDisjointPaths.sql index 39a5b34088f..33eec254efd 100644 --- a/pgtap/max_flow/no_crash_test-edgeDisjointPaths.sql +++ b/pgtap/max_flow/no_crash_test-edgeDisjointPaths.sql @@ -1,19 +1,28 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; +-- A source should not be a sink +PREPARE combinations AS +SELECT source, target FROM combinations_table WHERE target > 2; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -98,6 +107,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_edgeDisjointPaths', params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_edgeDisjointPaths', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_edgeDisjointPaths', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From a5c392f120f623e517d37c093452546eca5865de Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 22:31:33 +0530 Subject: [PATCH 1058/1360] [maxFlowMinCost][pgtap] Added no crash tests --- .../no_crash_test-maxFlowMinCost.sql | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost.sql diff --git a/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost.sql b/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost.sql new file mode 100644 index 00000000000..c40e185650e --- /dev/null +++ b/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost.sql @@ -0,0 +1,130 @@ +\i setup.sql + +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); +SELECT plan(67); + +PREPARE edges AS +SELECT id, + source, + target, + capacity, + reverse_capacity, + cost, + reverse_cost +FROM edge_table +ORDER BY id; + +PREPARE combinations AS +SELECT source, target FROM combinations_table; + +PREPARE null_ret AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); + +PREPARE null_ret_arr AS +SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); + +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); +SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); +SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); + + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + -- one to one + params = ARRAY['$$edges$$', + '1::BIGINT', + '2::BIGINT' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_maxFlowMinCost',params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_maxFlowMinCost',params, subs); + -- one to many + + params = ARRAY['$$edges$$', + '1::BIGINT', + 'ARRAY[2,5]::BIGINT[]' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_maxFlowMinCost',params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT[]' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_maxFlowMinCost',params, subs); + + -- many to one + params = ARRAY['$$edges$$', + 'ARRAY[2,5]::BIGINT[]', + '1' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_maxFlowMinCost',params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_maxFlowMinCost',params, subs); + + -- many to many + params = ARRAY['$$edges$$', + 'ARRAY[1]::BIGINT[]', + 'ARRAY[2,5]::BIGINT[]' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_maxFlowMinCost',params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT[]' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_maxFlowMinCost',params, subs); + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + +ROLLBACK; From 6f9acab87a488352f3206e2d0f83314662c150ec Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 22:31:42 +0530 Subject: [PATCH 1059/1360] [maxFlowMinCost_Cost][pgtap] Added no crash tests --- .../no_crash_test-maxFlowMinCost_Cost.sql | 166 ++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost_Cost.sql diff --git a/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost_Cost.sql b/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost_Cost.sql new file mode 100644 index 00000000000..512083b5663 --- /dev/null +++ b/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost_Cost.sql @@ -0,0 +1,166 @@ +\i setup.sql + +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); +SELECT plan(67); + +PREPARE edges AS +SELECT id, + source, + target, + capacity, + reverse_capacity, + cost, + reverse_cost +FROM edge_table +ORDER BY id; + +PREPARE combinations AS +SELECT source, target FROM combinations_table; + +PREPARE null_ret AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); + +PREPARE null_ret_arr AS +SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); + +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); +SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); +SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); + +CREATE OR REPLACE FUNCTION test(params TEXT[], subs TEXT[]) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +mp TEXT[]; +q1 TEXT; +q TEXT; +separator TEXT; +BEGIN + FOR i IN 0..array_length(params, 1) LOOP + separator = ' '; + mp := params; + IF i != 0 THEN + mp[i] = subs[i]; + END IF; + + q1 := 'SELECT * FROM pgr_maxFlowMinCost_Cost ('; + + FOR i IN 1..array_length(mp, 1) LOOP + q1 := q1 || separator || mp[i]; + separator := ','; + END LOOP; + + q1 := q1 || ')'; + + RETURN query SELECT * FROM lives_ok(q1); + IF i = 0 THEN + RETURN query SELECT * FROM isnt_empty(q1); + ELSE + RETURN query SELECT * FROM set_eq(q1, 'SELECT NULL::FLOAT'); + END IF; + END LOOP; + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + -- one to one + params = ARRAY['$$edges$$', + '1::BIGINT', + '2::BIGINT' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM test(params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT' + ]::TEXT[]; + RETURN query SELECT * FROM test(params, subs); + -- one to many + + params = ARRAY['$$edges$$', + '1::BIGINT', + 'ARRAY[2,5]::BIGINT[]' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM test(params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT[]' + ]::TEXT[]; + RETURN query SELECT * FROM test(params, subs); + + -- many to one + params = ARRAY['$$edges$$', + 'ARRAY[2,5]::BIGINT[]', + '1' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM test(params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT' + ]::TEXT[]; + RETURN query SELECT * FROM test(params, subs); + + -- many to many + params = ARRAY['$$edges$$', + 'ARRAY[1]::BIGINT[]', + 'ARRAY[2,5]::BIGINT[]' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM test(params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT[]' + ]::TEXT[]; + RETURN query SELECT * FROM test(params, subs); + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + +ROLLBACK; From 6923bc33c9c568d291e2f5f0a03eca90befe3d7c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 22:38:14 +0530 Subject: [PATCH 1060/1360] [maxFlowMinCost][pgtap] Added tests for combinations signature --- .../empty_combinations_empty_result.test.sql | 8 +++++++- .../many_to_many_eq_combinations.test.sql | 8 +++++++- .../maxFlowMinCost-innerQuery.sql | 7 ++++++- .../maxFlowMinCost-types-check.sql | 3 ++- .../no_crash_test-maxFlowMinCost.sql | 20 +++++++++++++++++-- 5 files changed, 40 insertions(+), 6 deletions(-) diff --git a/pgtap/max_flow/empty_combinations_empty_result.test.sql b/pgtap/max_flow/empty_combinations_empty_result.test.sql index 7ada9bad6cd..881624d29cc 100644 --- a/pgtap/max_flow/empty_combinations_empty_result.test.sql +++ b/pgtap/max_flow/empty_combinations_empty_result.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(5); +SELECT plan(6); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT ) RETURNS SETOF TEXT AS @@ -58,6 +58,12 @@ select * from foo( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); +-- test pgr_maxFlowMinCost +select * from foo( + 'pgr_maxFlowMinCost', + 'SELECT id, source, target, capacity, reverse_capacity, cost, reverse_cost FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/many_to_many_eq_combinations.test.sql b/pgtap/max_flow/many_to_many_eq_combinations.test.sql index 0e55894d339..c914c735aa4 100644 --- a/pgtap/max_flow/many_to_many_eq_combinations.test.sql +++ b/pgtap/max_flow/many_to_many_eq_combinations.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(85); +SELECT plan(102); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT, cant INTEGER default 18 ) RETURNS SETOF TEXT AS @@ -81,6 +81,12 @@ select * from foo( 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); +-- test pgr_maxFlowMinCost +select * from foo( + 'pgr_maxFlowMinCost', + 'SELECT id, source, target, capacity, reverse_capacity, cost, reverse_cost FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-innerQuery.sql b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-innerQuery.sql index dc3ac10f970..0218e1c13e0 100644 --- a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-innerQuery.sql +++ b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-innerQuery.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(584); +SELECT plan(586); SELECT has_function('pgr_maxflowmincost', @@ -12,6 +12,8 @@ SELECT has_function('pgr_maxflowmincost', ARRAY['text', 'anyarray', 'bigint']); SELECT has_function('pgr_maxflowmincost', ARRAY['text', 'anyarray', 'anyarray']); +SELECT has_function('pgr_maxflowmincost', + ARRAY['text', 'text']); SELECT function_returns('pgr_maxflowmincost', ARRAY['text', 'bigint', 'bigint'], @@ -25,6 +27,9 @@ SELECT function_returns('pgr_maxflowmincost', SELECT function_returns('pgr_maxflowmincost', ARRAY['text', 'anyarray', 'anyarray'], 'setof record'); +SELECT function_returns('pgr_maxflowmincost', + ARRAY['text', 'text'], + 'setof record'); -- ONLY WORKS ON DIRECTED GRAPH diff --git a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-types-check.sql b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-types-check.sql index bc106d2072a..58740194356 100644 --- a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-types-check.sql +++ b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost-types-check.sql @@ -19,7 +19,8 @@ SELECT function_returns('pgr_maxflowmincost', ARRAY['text', 'anyarray', 'anyarra SELECT set_eq( $$SELECT proargnames from pg_proc where proname = 'pgr_maxflowmincost'$$, $$VALUES - ('{"","","", "seq", "edge", "source", "target", "flow", "residual_capacity", "cost", "agg_cost"}'::TEXT[]) + ('{"","","", "seq", "edge", "source", "target", "flow", "residual_capacity", "cost", "agg_cost"}'::TEXT[]), + ('{"","", "seq", "edge", "source", "target", "flow", "residual_capacity", "cost", "agg_cost"}'::TEXT[]) $$ ); diff --git a/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost.sql b/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost.sql index c40e185650e..58f69b8ca2c 100644 --- a/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost.sql +++ b/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, @@ -14,8 +14,9 @@ SELECT id, FROM edge_table ORDER BY id; +-- A source should not be a sink PREPARE combinations AS -SELECT source, target FROM combinations_table; +SELECT source, target FROM combinations_table WHERE target > 2; PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); @@ -120,6 +121,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_maxFlowMinCost',params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_maxFlowMinCost', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_maxFlowMinCost', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From a096c530e65fde8e287abb7bd1815b40c0720edc Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 7 Dec 2020 22:39:47 +0530 Subject: [PATCH 1061/1360] [maxFlowMinCost_Cost][pgtap] Added tests for combinations signature --- .../empty_combinations_empty_result.test.sql | 8 +++++++- .../many_to_many_eq_combinations.test.sql | 8 +++++++- .../maxFlowMinCost_Cost-innerquery.sql | 7 ++++++- .../no_crash_test-maxFlowMinCost_Cost.sql | 20 +++++++++++++++++-- 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/pgtap/max_flow/empty_combinations_empty_result.test.sql b/pgtap/max_flow/empty_combinations_empty_result.test.sql index 881624d29cc..83d67e83908 100644 --- a/pgtap/max_flow/empty_combinations_empty_result.test.sql +++ b/pgtap/max_flow/empty_combinations_empty_result.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(6); +SELECT plan(7); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT ) RETURNS SETOF TEXT AS @@ -64,6 +64,12 @@ select * from foo( 'SELECT id, source, target, capacity, reverse_capacity, cost, reverse_cost FROM edge_table' ); +-- test pgr_maxFlowMinCost_Cost +select * from foo( + 'pgr_maxFlowMinCost_Cost', + 'SELECT id, source, target, capacity, reverse_capacity, cost, reverse_cost FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/many_to_many_eq_combinations.test.sql b/pgtap/max_flow/many_to_many_eq_combinations.test.sql index c914c735aa4..059bfb3b054 100644 --- a/pgtap/max_flow/many_to_many_eq_combinations.test.sql +++ b/pgtap/max_flow/many_to_many_eq_combinations.test.sql @@ -1,7 +1,7 @@ \i setup.sql -SELECT plan(102); +SELECT plan(119); create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT, cant INTEGER default 18 ) RETURNS SETOF TEXT AS @@ -87,6 +87,12 @@ select * from foo( 'SELECT id, source, target, capacity, reverse_capacity, cost, reverse_cost FROM edge_table' ); +-- test pgr_maxFlowMinCost_Cost +select * from foo( + 'pgr_maxFlowMinCost_Cost', + 'SELECT id, source, target, capacity, reverse_capacity, cost, reverse_cost FROM edge_table' +); + -- Finish the tests and clean up. SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-innerquery.sql b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-innerquery.sql index 2d73f31a795..76d3c33ac62 100644 --- a/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-innerquery.sql +++ b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost-innerquery.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(584); +SELECT plan(586); SELECT has_function('pgr_maxflowmincost_cost', @@ -12,6 +12,8 @@ SELECT has_function('pgr_maxflowmincost_cost', ARRAY['text', 'anyarray', 'bigint']); SELECT has_function('pgr_maxflowmincost_cost', ARRAY['text', 'anyarray', 'anyarray']); +SELECT has_function('pgr_maxflowmincost_cost', + ARRAY['text', 'text']); SELECT function_returns('pgr_maxflowmincost_cost', ARRAY['text', 'bigint', 'bigint'], @@ -25,6 +27,9 @@ SELECT function_returns('pgr_maxflowmincost_cost', SELECT function_returns('pgr_maxflowmincost_cost', ARRAY['text', 'anyarray', 'anyarray'], 'double precision'); +SELECT function_returns('pgr_maxflowmincost_cost', + ARRAY['text', 'text'], + 'double precision'); -- ONLY WORKS ON DIRECTED GRAPH diff --git a/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost_Cost.sql b/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost_Cost.sql index 512083b5663..4b97a18c7b4 100644 --- a/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost_Cost.sql +++ b/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost_Cost.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, @@ -14,8 +14,9 @@ SELECT id, FROM edge_table ORDER BY id; +-- A source should not be a sink PREPARE combinations AS -SELECT source, target FROM combinations_table; +SELECT source, target FROM combinations_table WHERE target > 2; PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); @@ -156,6 +157,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM test(params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM test(params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM test(params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From 7d03bfe3370e542909cd869a4971908041297406 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 22:34:42 +0530 Subject: [PATCH 1062/1360] [sig] Updated v3.2 signature file --- sql/sigs/pgrouting--3.2.sig | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sql/sigs/pgrouting--3.2.sig b/sql/sigs/pgrouting--3.2.sig index b6c9a7e6d58..f5e4fceaddc 100644 --- a/sql/sigs/pgrouting--3.2.sig +++ b/sql/sigs/pgrouting--3.2.sig @@ -63,6 +63,7 @@ pgr_boykovkolmogorov(text,anyarray,anyarray) pgr_boykovkolmogorov(text,anyarray,bigint) pgr_boykovkolmogorov(text,bigint,anyarray) pgr_boykovkolmogorov(text,bigint,bigint) +pgr_boykovkolmogorov(text,text) _pgr_breadthfirstsearch(text,anyarray,bigint,boolean) pgr_breadthfirstsearch(text,anyarray,bigint,boolean) pgr_breadthfirstsearch(text,bigint,bigint,boolean) @@ -127,10 +128,13 @@ pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) pgr_edgedisjointpaths(text,anyarray,bigint,boolean) pgr_edgedisjointpaths(text,bigint,anyarray,boolean) pgr_edgedisjointpaths(text,bigint,bigint,boolean) +_pgr_edgedisjointpaths(text,text,boolean) +pgr_edgedisjointpaths(text,text,boolean) pgr_edmondskarp(text,anyarray,anyarray) pgr_edmondskarp(text,anyarray,bigint) pgr_edmondskarp(text,bigint,anyarray) pgr_edmondskarp(text,bigint,bigint) +pgr_edmondskarp(text,text) _pgr_edwardmoore(text,anyarray,anyarray,boolean) pgr_edwardmoore(text,anyarray,anyarray,boolean) pgr_edwardmoore(text,anyarray,bigint,boolean) @@ -182,16 +186,21 @@ pgr_maxflowmincost_cost(text,anyarray,anyarray) pgr_maxflowmincost_cost(text,anyarray,bigint) pgr_maxflowmincost_cost(text,bigint,anyarray) pgr_maxflowmincost_cost(text,bigint,bigint) +pgr_maxflowmincost_cost(text,text) pgr_maxflowmincost(text,anyarray,anyarray) _pgr_maxflowmincost(text,anyarray,anyarray,boolean) pgr_maxflowmincost(text,anyarray,bigint) pgr_maxflowmincost(text,bigint,anyarray) pgr_maxflowmincost(text,bigint,bigint) +pgr_maxflowmincost(text,text) +_pgr_maxflowmincost(text,text,boolean) pgr_maxflow(text,anyarray,anyarray) _pgr_maxflow(text,anyarray,anyarray,integer,boolean) pgr_maxflow(text,anyarray,bigint) pgr_maxflow(text,bigint,anyarray) pgr_maxflow(text,bigint,bigint) +pgr_maxflow(text,text) +_pgr_maxflow(text,text,integer,boolean) _pgr_msg(integer,text,text) pgr_nodenetwork(text,double precision,text,text,text,text,boolean) _pgr_onerror(boolean,integer,text,text,text,text) @@ -217,6 +226,7 @@ pgr_pushrelabel(text,anyarray,anyarray) pgr_pushrelabel(text,anyarray,bigint) pgr_pushrelabel(text,bigint,anyarray) pgr_pushrelabel(text,bigint,bigint) +pgr_pushrelabel(text,text) _pgr_quote_ident(text) _pgr_sequentialvertexcoloring(text) pgr_sequentialvertexcoloring(text) From 70b892206a11b1e066979130f2b90546d2527fec Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 22:54:19 +0530 Subject: [PATCH 1063/1360] [maxFlow][docqueries] Added combinations signature --- docqueries/max_flow/doc-pgr_maxFlow.result | 15 +++++++++++++++ docqueries/max_flow/doc-pgr_maxFlow.test.sql | 10 ++++++++++ 2 files changed, 25 insertions(+) diff --git a/docqueries/max_flow/doc-pgr_maxFlow.result b/docqueries/max_flow/doc-pgr_maxFlow.result index 24d27980b02..da761071a9d 100644 --- a/docqueries/max_flow/doc-pgr_maxFlow.result +++ b/docqueries/max_flow/doc-pgr_maxFlow.result @@ -63,5 +63,20 @@ SELECT * FROM pgr_maxFlow( (1 row) -- q5 +SELECT * FROM pgr_maxFlow( + 'SELECT id, + source, + target, + capacity, + reverse_capacity + FROM edge_table', + 'SELECT * FROM ( VALUES (6, 1), (8, 3), (12, 11), (8, 1) ) AS t(source, target)' +); + pgr_maxflow +------------- + 360 +(1 row) + +-- q6 ROLLBACK; ROLLBACK diff --git a/docqueries/max_flow/doc-pgr_maxFlow.test.sql b/docqueries/max_flow/doc-pgr_maxFlow.test.sql index 075b837d280..75b07c448e2 100644 --- a/docqueries/max_flow/doc-pgr_maxFlow.test.sql +++ b/docqueries/max_flow/doc-pgr_maxFlow.test.sql @@ -48,4 +48,14 @@ SELECT * FROM pgr_maxFlow( ); \echo -- q5 +SELECT * FROM pgr_maxFlow( + 'SELECT id, + source, + target, + capacity, + reverse_capacity + FROM edge_table', + 'SELECT * FROM ( VALUES (6, 1), (8, 3), (12, 11), (8, 1) ) AS t(source, target)' +); +\echo -- q6 From 23fe72f81c75296d8fab88e6b3ae74da6d1bd5f8 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 22:54:32 +0530 Subject: [PATCH 1064/1360] [boykovKolmogorov][docqueries] Added combinations signature --- .../max_flow/doc-pgr_boykovKolmogorov.result | 24 +++++++++++++++++++ .../doc-pgr_boykovKolmogorov.test.sql | 11 +++++++++ 2 files changed, 35 insertions(+) diff --git a/docqueries/max_flow/doc-pgr_boykovKolmogorov.result b/docqueries/max_flow/doc-pgr_boykovKolmogorov.result index c9475f207d8..c4002259eec 100644 --- a/docqueries/max_flow/doc-pgr_boykovKolmogorov.result +++ b/docqueries/max_flow/doc-pgr_boykovKolmogorov.result @@ -86,5 +86,29 @@ SELECT * FROM pgr_boykovKolmogorov( (10 rows) -- q5 +SELECT * FROM pgr_boykovKolmogorov( + 'SELECT id, + source, + target, + capacity, + reverse_capacity + FROM edge_table', + 'SELECT * FROM ( VALUES (6, 1), (8, 3), (12, 11), (8, 1) ) AS t(source, target)' +); + seq | edge | start_vid | end_vid | flow | residual_capacity +-----+------+-----------+---------+------+------------------- + 1 | 1 | 2 | 1 | 50 | 80 + 2 | 3 | 4 | 3 | 80 | 50 + 3 | 4 | 5 | 2 | 50 | 0 + 4 | 10 | 5 | 10 | 100 | 30 + 5 | 8 | 6 | 5 | 130 | 0 + 6 | 9 | 6 | 9 | 80 | 50 + 7 | 11 | 6 | 11 | 130 | 0 + 8 | 7 | 8 | 5 | 20 | 30 + 9 | 16 | 9 | 4 | 80 | 0 + 10 | 12 | 10 | 11 | 100 | 0 +(10 rows) + +-- q6 ROLLBACK; ROLLBACK diff --git a/docqueries/max_flow/doc-pgr_boykovKolmogorov.test.sql b/docqueries/max_flow/doc-pgr_boykovKolmogorov.test.sql index 42b9352f9a7..fda3308f3ab 100644 --- a/docqueries/max_flow/doc-pgr_boykovKolmogorov.test.sql +++ b/docqueries/max_flow/doc-pgr_boykovKolmogorov.test.sql @@ -44,3 +44,14 @@ SELECT * FROM pgr_boykovKolmogorov( ); \echo -- q5 +SELECT * FROM pgr_boykovKolmogorov( + 'SELECT id, + source, + target, + capacity, + reverse_capacity + FROM edge_table', + 'SELECT * FROM ( VALUES (6, 1), (8, 3), (12, 11), (8, 1) ) AS t(source, target)' +); + +\echo -- q6 From eecc5a53fea1b4f0c38c120c5b9f28fb31aed68c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 22:54:42 +0530 Subject: [PATCH 1065/1360] [edmondsKarp][docqueries] Added combinations signature --- .../max_flow/doc-pgr_edmondsKarp.result | 24 +++++++++++++++++++ .../max_flow/doc-pgr_edmondsKarp.test.sql | 11 +++++++++ 2 files changed, 35 insertions(+) diff --git a/docqueries/max_flow/doc-pgr_edmondsKarp.result b/docqueries/max_flow/doc-pgr_edmondsKarp.result index 4a5aff5bb65..ad0bee3fa08 100644 --- a/docqueries/max_flow/doc-pgr_edmondsKarp.result +++ b/docqueries/max_flow/doc-pgr_edmondsKarp.result @@ -86,5 +86,29 @@ SELECT * FROM pgr_edmondsKarp( (10 rows) -- q5 +SELECT * FROM pgr_edmondsKarp( + 'SELECT id, + source, + target, + capacity, + reverse_capacity + FROM edge_table', + 'SELECT * FROM ( VALUES (6, 1), (8, 3), (12, 11), (8, 1) ) AS t(source, target)' +); + seq | edge | start_vid | end_vid | flow | residual_capacity +-----+------+-----------+---------+------+------------------- + 1 | 1 | 2 | 1 | 50 | 80 + 2 | 3 | 4 | 3 | 80 | 50 + 3 | 4 | 5 | 2 | 50 | 0 + 4 | 10 | 5 | 10 | 100 | 30 + 5 | 8 | 6 | 5 | 130 | 0 + 6 | 9 | 6 | 9 | 80 | 50 + 7 | 11 | 6 | 11 | 130 | 0 + 8 | 7 | 8 | 5 | 20 | 30 + 9 | 16 | 9 | 4 | 80 | 0 + 10 | 12 | 10 | 11 | 100 | 0 +(10 rows) + +-- q6 ROLLBACK; ROLLBACK diff --git a/docqueries/max_flow/doc-pgr_edmondsKarp.test.sql b/docqueries/max_flow/doc-pgr_edmondsKarp.test.sql index bc07c5c4bf6..e6b2d040b37 100644 --- a/docqueries/max_flow/doc-pgr_edmondsKarp.test.sql +++ b/docqueries/max_flow/doc-pgr_edmondsKarp.test.sql @@ -44,3 +44,14 @@ SELECT * FROM pgr_edmondsKarp( ); \echo -- q5 +SELECT * FROM pgr_edmondsKarp( + 'SELECT id, + source, + target, + capacity, + reverse_capacity + FROM edge_table', + 'SELECT * FROM ( VALUES (6, 1), (8, 3), (12, 11), (8, 1) ) AS t(source, target)' +); + +\echo -- q6 From 2eec7a8c6ef3a59323b39aa3eac02f7fa27a554f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 22:54:53 +0530 Subject: [PATCH 1066/1360] [pushRelabel][docqueries] Added combinations signature --- .../max_flow/doc-pgr_pushRelabel.result | 25 +++++++++++++++++++ .../max_flow/doc-pgr_pushRelabel.test.sql | 10 ++++++++ 2 files changed, 35 insertions(+) diff --git a/docqueries/max_flow/doc-pgr_pushRelabel.result b/docqueries/max_flow/doc-pgr_pushRelabel.result index bc9a77a8d11..3ed71e3511b 100644 --- a/docqueries/max_flow/doc-pgr_pushRelabel.result +++ b/docqueries/max_flow/doc-pgr_pushRelabel.result @@ -92,5 +92,30 @@ SELECT * FROM pgr_pushRelabel( (11 rows) -- q5 +SELECT * FROM pgr_pushRelabel( + 'SELECT id, + source, + target, + capacity, + reverse_capacity + FROM edge_table', + 'SELECT * FROM ( VALUES (6, 1), (8, 3), (12, 11), (8, 1) ) AS t(source, target)' +); + seq | edge | start_vid | end_vid | flow | residual_capacity +-----+------+-----------+---------+------+------------------- + 1 | 1 | 2 | 1 | 50 | 80 + 2 | 3 | 4 | 3 | 80 | 50 + 3 | 4 | 5 | 2 | 50 | 0 + 4 | 10 | 5 | 10 | 100 | 30 + 5 | 8 | 6 | 5 | 130 | 0 + 6 | 9 | 6 | 9 | 30 | 100 + 7 | 11 | 6 | 11 | 130 | 0 + 8 | 7 | 8 | 5 | 20 | 30 + 9 | 16 | 9 | 4 | 80 | 0 + 10 | 12 | 10 | 11 | 100 | 0 + 11 | 15 | 12 | 9 | 50 | 0 +(11 rows) + +-- q6 ROLLBACK; ROLLBACK diff --git a/docqueries/max_flow/doc-pgr_pushRelabel.test.sql b/docqueries/max_flow/doc-pgr_pushRelabel.test.sql index b37f9c1256b..5b8cf76d83d 100644 --- a/docqueries/max_flow/doc-pgr_pushRelabel.test.sql +++ b/docqueries/max_flow/doc-pgr_pushRelabel.test.sql @@ -48,4 +48,14 @@ SELECT * FROM pgr_pushRelabel( ); \echo -- q5 +SELECT * FROM pgr_pushRelabel( + 'SELECT id, + source, + target, + capacity, + reverse_capacity + FROM edge_table', + 'SELECT * FROM ( VALUES (6, 1), (8, 3), (12, 11), (8, 1) ) AS t(source, target)' +); +\echo -- q6 From b80e150ebf2f0f7295fbe5be09a375944565e586 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 22:55:03 +0530 Subject: [PATCH 1067/1360] [edgeDisjointPaths][docqueries] Added combinations signature --- .../max_flow/doc-pgr_edgeDisjointPaths.result | 37 +++++++++++++++++++ .../doc-pgr_edgeDisjointPaths.test.sql | 6 +++ 2 files changed, 43 insertions(+) diff --git a/docqueries/max_flow/doc-pgr_edgeDisjointPaths.result b/docqueries/max_flow/doc-pgr_edgeDisjointPaths.result index 3f9b3a64297..4ba7f5b5af6 100644 --- a/docqueries/max_flow/doc-pgr_edgeDisjointPaths.result +++ b/docqueries/max_flow/doc-pgr_edgeDisjointPaths.result @@ -124,5 +124,42 @@ SELECT * FROM pgr_edgeDisjointPaths( (28 rows) -- q6 +SELECT * FROM pgr_edgeDisjointPaths( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (3, 4), (6, 5), (3, 10) ) AS t(source, target)' +); + seq | path_id | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+---------+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 1 | 0 | 4 | 3 | 5 | 1 | 0 + 2 | 1 | 2 | 0 | 4 | 6 | 9 | 1 | 1 + 3 | 1 | 3 | 0 | 4 | 9 | 16 | 1 | 2 + 4 | 1 | 4 | 0 | 4 | 4 | -1 | 0 | 3 + 5 | 2 | 1 | 1 | 5 | 3 | 2 | 1 | 0 + 6 | 2 | 2 | 1 | 5 | 2 | 4 | 1 | 1 + 7 | 2 | 3 | 1 | 5 | 5 | -1 | 0 | 2 + 8 | 3 | 1 | 2 | 5 | 3 | 5 | 1 | 0 + 9 | 3 | 2 | 2 | 5 | 6 | 8 | 1 | 1 + 10 | 3 | 3 | 2 | 5 | 5 | -1 | 0 | 2 + 11 | 4 | 1 | 3 | 10 | 3 | 2 | 1 | 0 + 12 | 4 | 2 | 3 | 10 | 2 | 4 | 1 | 1 + 13 | 4 | 3 | 3 | 10 | 5 | 10 | 1 | 2 + 14 | 4 | 4 | 3 | 10 | 10 | -1 | 0 | 3 + 15 | 5 | 1 | 4 | 4 | 6 | 9 | 1 | 0 + 16 | 5 | 2 | 4 | 4 | 9 | 16 | 1 | 1 + 17 | 5 | 3 | 4 | 4 | 4 | -1 | 0 | 2 + 18 | 6 | 1 | 5 | 5 | 6 | 8 | 1 | 0 + 19 | 6 | 2 | 5 | 5 | 5 | -1 | 0 | 1 + 20 | 7 | 1 | 6 | 5 | 6 | 9 | 1 | 0 + 21 | 7 | 2 | 6 | 5 | 9 | 16 | 1 | 1 + 22 | 7 | 3 | 6 | 5 | 4 | 3 | 1 | 2 + 23 | 7 | 4 | 6 | 5 | 3 | 2 | 1 | 3 + 24 | 7 | 5 | 6 | 5 | 2 | 4 | 1 | 4 + 25 | 7 | 6 | 6 | 5 | 5 | -1 | 0 | 5 + 26 | 8 | 1 | 7 | 10 | 6 | 8 | 1 | 0 + 27 | 8 | 2 | 7 | 10 | 5 | 10 | 1 | 1 + 28 | 8 | 3 | 7 | 10 | 10 | -1 | 0 | 2 +(28 rows) + +-- q7 ROLLBACK; ROLLBACK diff --git a/docqueries/max_flow/doc-pgr_edgeDisjointPaths.test.sql b/docqueries/max_flow/doc-pgr_edgeDisjointPaths.test.sql index 6442bb06013..ff5cf717fc0 100644 --- a/docqueries/max_flow/doc-pgr_edgeDisjointPaths.test.sql +++ b/docqueries/max_flow/doc-pgr_edgeDisjointPaths.test.sql @@ -31,3 +31,9 @@ SELECT * FROM pgr_edgeDisjointPaths( ); \echo -- q6 +SELECT * FROM pgr_edgeDisjointPaths( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (3, 4), (6, 5), (3, 10) ) AS t(source, target)' +); + +\echo -- q7 From c299052f12eff0a96df2cf9bb9406ab12b297c5a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 22:55:16 +0530 Subject: [PATCH 1068/1360] [maxFlowMinCost][docqueries] Added combinations signature --- .../max_flow/doc-pgr_maxFlowMinCost.result | 21 +++++++++++++++++++ .../max_flow/doc-pgr_maxFlowMinCost.test.sql | 9 ++++++++ 2 files changed, 30 insertions(+) diff --git a/docqueries/max_flow/doc-pgr_maxFlowMinCost.result b/docqueries/max_flow/doc-pgr_maxFlowMinCost.result index a7c773631b9..54b91f1d6ea 100644 --- a/docqueries/max_flow/doc-pgr_maxFlowMinCost.result +++ b/docqueries/max_flow/doc-pgr_maxFlowMinCost.result @@ -84,5 +84,26 @@ SELECT * FROM pgr_MaxFlowMinCost( (9 rows) -- q5 +SELECT * FROM pgr_MaxFlowMinCost( + 'SELECT id, + source, target, + capacity, reverse_capacity, + cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (7, 3), (13, 9) ) AS t(source, target)' +); + seq | edge | source | target | flow | residual_capacity | cost | agg_cost +-----+------+--------+--------+------+-------------------+------+---------- + 1 | 8 | 5 | 6 | 100 | 0 | 100 | 100 + 2 | 9 | 6 | 9 | 100 | 30 | 100 | 200 + 3 | 6 | 7 | 8 | 50 | 0 | 50 | 250 + 4 | 7 | 8 | 5 | 50 | 0 | 50 | 300 + 5 | 10 | 10 | 5 | 50 | 0 | 50 | 350 + 6 | 12 | 10 | 11 | 50 | 50 | 50 | 400 + 7 | 13 | 11 | 12 | 50 | 50 | 50 | 450 + 8 | 15 | 12 | 9 | 50 | 0 | 50 | 500 + 9 | 14 | 13 | 10 | 100 | 30 | 100 | 600 +(9 rows) + +-- q6 ROLLBACK; ROLLBACK diff --git a/docqueries/max_flow/doc-pgr_maxFlowMinCost.test.sql b/docqueries/max_flow/doc-pgr_maxFlowMinCost.test.sql index 37e91244a55..d6cf8fd7229 100644 --- a/docqueries/max_flow/doc-pgr_maxFlowMinCost.test.sql +++ b/docqueries/max_flow/doc-pgr_maxFlowMinCost.test.sql @@ -36,3 +36,12 @@ SELECT * FROM pgr_MaxFlowMinCost( ); \echo -- q5 +SELECT * FROM pgr_MaxFlowMinCost( + 'SELECT id, + source, target, + capacity, reverse_capacity, + cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (7, 3), (13, 9) ) AS t(source, target)' +); + +\echo -- q6 From 7d6cd81b4043982bd014f6a43610aaac8bb93394 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 22:55:36 +0530 Subject: [PATCH 1069/1360] [maxFlowMinCost_Cost][docqueries] Added combinations signature --- .../max_flow/doc-pgr_maxFlowMinCost_Cost.result | 13 +++++++++++++ .../max_flow/doc-pgr_maxFlowMinCost_Cost.test.sql | 9 +++++++++ 2 files changed, 22 insertions(+) diff --git a/docqueries/max_flow/doc-pgr_maxFlowMinCost_Cost.result b/docqueries/max_flow/doc-pgr_maxFlowMinCost_Cost.result index 78710d82421..fed6cadadc4 100644 --- a/docqueries/max_flow/doc-pgr_maxFlowMinCost_Cost.result +++ b/docqueries/max_flow/doc-pgr_maxFlowMinCost_Cost.result @@ -55,5 +55,18 @@ SELECT * FROM pgr_MaxFlowMinCost_Cost( (1 row) -- q5 +SELECT * FROM pgr_MaxFlowMinCost_Cost( + 'SELECT id, + source, target, + capacity, reverse_capacity, + cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (7, 3), (13, 9) ) AS t(source, target)' +); + pgr_maxflowmincost_cost +------------------------- + 600 +(1 row) + +-- q6 ROLLBACK; ROLLBACK diff --git a/docqueries/max_flow/doc-pgr_maxFlowMinCost_Cost.test.sql b/docqueries/max_flow/doc-pgr_maxFlowMinCost_Cost.test.sql index 3bce2abb8d7..2437ddd61e0 100644 --- a/docqueries/max_flow/doc-pgr_maxFlowMinCost_Cost.test.sql +++ b/docqueries/max_flow/doc-pgr_maxFlowMinCost_Cost.test.sql @@ -36,3 +36,12 @@ SELECT * FROM pgr_MaxFlowMinCost_Cost( ); \echo -- q5 +SELECT * FROM pgr_MaxFlowMinCost_Cost( + 'SELECT id, + source, target, + capacity, reverse_capacity, + cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (7, 3), (13, 9) ) AS t(source, target)' +); + +\echo -- q6 From b31bcda169a7a3ff10e8618e310fecd7d2302b4b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 23:51:22 +0530 Subject: [PATCH 1070/1360] [flow][doc] Added combinations signature in flow family --- doc/max_flow/flow-family.rst | 38 +++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/doc/max_flow/flow-family.rst b/doc/max_flow/flow-family.rst index 216f3fe8069..0ecd0c05c01 100644 --- a/doc/max_flow/flow-family.rst +++ b/doc/max_flow/flow-family.rst @@ -52,7 +52,8 @@ Flow - Family of functions .. rubric:: Previous versions of this page * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ `2.6 `__ @@ -96,19 +97,20 @@ Parameters .. pgr_flow_parameters_start -============== ================== ======== ================================================= -Column Type Default Description -============== ================== ======== ================================================= -**Edges SQL** ``TEXT`` The edges SQL query as described in `Inner Query`_. -**source** ``BIGINT`` Identifier of the starting vertex of the flow. -**sources** ``ARRAY[BIGINT]`` Array of identifiers of the starting vertices of the flow. -**target** ``BIGINT`` Identifier of the ending vertex of the flow. -**targets** ``ARRAY[BIGINT]`` Array of identifiers of the ending vertices of the flow. -============== ================== ======== ================================================= +===================== ================== ======== ================================================= +Column Type Default Description +===================== ================== ======== ================================================= +**Edges SQL** ``TEXT`` Edges query as described in `Inner Queries`_. +**Combinations SQL** ``TEXT`` Combinations query as described in `Inner Queries`_. +**source** ``BIGINT`` Identifier of the starting vertex of the flow. +**sources** ``ARRAY[BIGINT]`` Array of identifiers of the starting vertices of the flow. +**target** ``BIGINT`` Identifier of the ending vertex of the flow. +**targets** ``ARRAY[BIGINT]`` Array of identifiers of the ending vertices of the flow. +===================== ================== ======== ================================================= .. pgr_flow_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- .. rubric:: For :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp `, :doc:`pgr_boykovKolmogorov ` : @@ -168,6 +170,20 @@ Where: .. costFlow_edges_sql_end +For :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp `, :doc:`pgr_boykovKolmogorov `, :doc:`pgr_edgeDisjointPaths `, :doc:`pgr_maxFlowMinCost ` and :doc:`pgr_maxFlowMinCost_Cost ` : + +.. flow_combinations_sql_start + +:Combinations SQL: an SQL query which should return a set of rows with the following columns: + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + +The function aggregates the sources and the targets, removes the duplicates, and then it calculates the result from the resultant source vertices to the target vertices. + +.. flow_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From 877632c2615fea83ec5c76c38b498ac84ff5b99e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 23:51:31 +0530 Subject: [PATCH 1071/1360] [maxFlow][doc] Added combinations signature --- doc/max_flow/pgr_maxFlow.rst | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/doc/max_flow/pgr_maxFlow.rst b/doc/max_flow/pgr_maxFlow.rst index cdd7a868c47..ee47982508c 100644 --- a/doc/max_flow/pgr_maxFlow.rst +++ b/doc/max_flow/pgr_maxFlow.rst @@ -19,6 +19,12 @@ pgr_maxFlow .. Rubric:: Availability +* Version 3.2.0 + + * New **proposed** function: + + * pgr_maxFlow(Combinations) + * Version 3.0.0 * **Official** function @@ -30,7 +36,8 @@ pgr_maxFlow .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ * **Unsupported versions:** @@ -65,6 +72,7 @@ Signatures pgr_maxFlow(Edges SQL, sources, target) pgr_maxFlow(Edges SQL, source, targets) pgr_maxFlow(Edges SQL, sources, targets) + pgr_maxFlow(Edges SQL, Combinations SQL) -- Proposed on v3.2 RETURNS BIGINT .. index:: @@ -135,6 +143,23 @@ Many to Many :start-after: -- q4 :end-before: -- q5 +.. index:: + single: maxFlow(Combinations) -- Proposed on v3.2 + +Combinations +............................................................................... + +.. code-block:: none + + pgr_maxFlow(Edges SQL, Combinations SQL) + RETURNS BIGINT + +:Example: Using a combinations table, equivalent to calculating result from vertices :math:`\{6, 8, 12\}` to vertices :math:`\{1, 3, 11\}`. + +.. literalinclude:: doc-pgr_maxFlow.queries + :start-after: -- q5 + :end-before: -- q6 + Parameters ------------------------------------------------------------------------------- @@ -142,13 +167,17 @@ Parameters :start-after: pgr_flow_parameters_start :end-before: pgr_flow_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- .. include:: flow-family.rst :start-after: flow_edges_sql_start :end-before: flow_edges_sql_end +.. include:: flow-family.rst + :start-after: flow_combinations_sql_start + :end-before: flow_combinations_sql_end + Return Columns ------------------------------------------------------------------------------- From 2024e65b493f2f382bf9160e708d6433a1b94e67 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 23:51:39 +0530 Subject: [PATCH 1072/1360] [boykovKolmogorov][doc] Added combinations signature --- doc/max_flow/pgr_boykovKolmogorov.rst | 34 +++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/doc/max_flow/pgr_boykovKolmogorov.rst b/doc/max_flow/pgr_boykovKolmogorov.rst index d0e0f46114d..dfec7de3f87 100644 --- a/doc/max_flow/pgr_boykovKolmogorov.rst +++ b/doc/max_flow/pgr_boykovKolmogorov.rst @@ -19,6 +19,12 @@ pgr_boykovKolmogorov .. Rubric:: Availability: +* Version 3.2.0 + + * New **proposed** function: + + * pgr_boykovKolmogorov(Combinations) + * Version 3.0.0 * **Official** function @@ -35,7 +41,8 @@ pgr_boykovKolmogorov .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ * **Unsupported versions:** @@ -65,6 +72,7 @@ Signatures pgr_boykovKolmogorov(Edges SQL, sources, target) pgr_boykovKolmogorov(Edges SQL, source, targets) pgr_boykovKolmogorov(Edges SQL, sources, targets) + pgr_boykovKolmogorov(Edges SQL, Combinations SQL) -- Proposed on v3.2 RETURNS SET OF (seq, edge, start_vid, end_vid, flow, residual_capacity) OR EMPTY SET @@ -140,6 +148,24 @@ Many to Many :start-after: -- q4 :end-before: -- q5 +.. index:: + single: boykovKolmogorov(Combinations) -- Proposed on v3.2 + +Combinations +............................................................................... + +.. code-block:: none + + pgr_boykovKolmogorov(Edges SQL, Combinations SQL) + RETURNS SET OF (seq, edge, start_vid, end_vid, flow, residual_capacity) + OR EMPTY SET + +:Example: Using a combinations table, equivalent to calculating result from vertices :math:`\{6, 8, 12\}` to vertices :math:`\{1, 3, 11\}`. + +.. literalinclude:: doc-pgr_boykovKolmogorov.queries + :start-after: -- q5 + :end-before: -- q6 + Parameters ------------------------------------------------------------------------------- @@ -147,13 +173,17 @@ Parameters :start-after: pgr_flow_parameters_start :end-before: pgr_flow_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- .. include:: flow-family.rst :start-after: flow_edges_sql_start :end-before: flow_edges_sql_end +.. include:: flow-family.rst + :start-after: flow_combinations_sql_start + :end-before: flow_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From 20de7da6342767a31c2a336baea412d38cd49139 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 23:53:10 +0530 Subject: [PATCH 1073/1360] [edmondsKarp][doc] Added combinations signature --- doc/max_flow/pgr_edmondsKarp.rst | 34 ++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/doc/max_flow/pgr_edmondsKarp.rst b/doc/max_flow/pgr_edmondsKarp.rst index f7e1ec05a75..1831e5df5f2 100644 --- a/doc/max_flow/pgr_edmondsKarp.rst +++ b/doc/max_flow/pgr_edmondsKarp.rst @@ -20,6 +20,12 @@ pgr_edmondsKarp .. Rubric:: Availability +* Version 3.2.0 + + * New **proposed** function: + + * pgr_edmondsKarp(Combinations) + * Version 3.0.0 * **Official** function @@ -36,7 +42,8 @@ pgr_edmondsKarp .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ * **Unsupported versions:** @@ -65,6 +72,7 @@ Signatures pgr_edmondsKarp(Edges SQL, sources, target) pgr_edmondsKarp(Edges SQL, source, targets) pgr_edmondsKarp(Edges SQL, sources, targets) + pgr_edmondsKarp(Edges SQL, Combinations SQL) -- Proposed on v3.2 RETURNS SET OF (seq, edge, start_vid, end_vid, flow, residual_capacity) OR EMPTY SET @@ -140,6 +148,24 @@ Many to Many :start-after: -- q4 :end-before: -- q5 +.. index:: + single: edmondsKarp(Combinations) -- Proposed on v3.2 + +Combinations +............................................................................... + +.. code-block:: none + + pgr_edmondsKarp(Edges SQL, Combinations SQL) + RETURNS SET OF (seq, edge, start_vid, end_vid, flow, residual_capacity) + OR EMPTY SET + +:Example: Using a combinations table, equivalent to calculating result from vertices :math:`\{6, 8, 12\}` to vertices :math:`\{1, 3, 11\}`. + +.. literalinclude:: doc-pgr_edmondsKarp.queries + :start-after: -- q5 + :end-before: -- q6 + Parameters ------------------------------------------------------------------------------- @@ -147,13 +173,17 @@ Parameters :start-after: pgr_flow_parameters_start :end-before: pgr_flow_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- .. include:: flow-family.rst :start-after: flow_edges_sql_start :end-before: flow_edges_sql_end +.. include:: flow-family.rst + :start-after: flow_combinations_sql_start + :end-before: flow_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From 66629b8f389cddb61b899b9072ba14a88a60cbec Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 23:53:17 +0530 Subject: [PATCH 1074/1360] [pushRelabel][doc] Added combinations signature --- doc/max_flow/pgr_pushRelabel.rst | 34 ++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/doc/max_flow/pgr_pushRelabel.rst b/doc/max_flow/pgr_pushRelabel.rst index c9c7aa569ae..4587ff35701 100644 --- a/doc/max_flow/pgr_pushRelabel.rst +++ b/doc/max_flow/pgr_pushRelabel.rst @@ -19,6 +19,12 @@ pgr_pushRelabel .. Rubric:: Availability +* Version 3.2.0 + + * New **proposed** function: + + * pgr_pushRelabel(Combinations) + * Version 3.0.0 * **Official** function @@ -35,7 +41,8 @@ pgr_pushRelabel .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ * **Unsupported versions:** @@ -64,6 +71,7 @@ Signatures pgr_pushRelabel(Edges SQL, sources, target) pgr_pushRelabel(Edges SQL, source, targets) pgr_pushRelabel(Edges SQL, sources, targets) + pgr_pushRelabel(Edges SQL, Combinations SQL) -- Proposed on v3.2 RETURNS SET OF (seq, edge, start_vid, end_vid, flow, residual_capacity) OR EMPTY SET @@ -141,6 +149,24 @@ Many to Many :start-after: -- q4 :end-before: -- q5 +.. index:: + single: pushRelabel(Combinations) -- Proposed on v3.2 + +Combinations +............................................................................... + +.. code-block:: none + + pgr_pushRelabel(Edges SQL, Combinations SQL) + RETURNS SET OF (seq, edge, start_vid, end_vid, flow, residual_capacity) + OR EMPTY SET + +:Example: Using a combinations table, equivalent to calculating result from vertices :math:`\{6, 8, 12\}` to vertices :math:`\{1, 3, 11\}`. + +.. literalinclude:: doc-pgr_pushRelabel.queries + :start-after: -- q5 + :end-before: -- q6 + Parameters ------------------------------------------------------------------------------- @@ -148,13 +174,17 @@ Parameters :start-after: pgr_flow_parameters_start :end-before: pgr_flow_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- .. include:: flow-family.rst :start-after: flow_edges_sql_start :end-before: flow_edges_sql_end +.. include:: flow-family.rst + :start-after: flow_combinations_sql_start + :end-before: flow_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From 14bdd7433ae450767dd1806877758769a785c4cc Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 23:53:24 +0530 Subject: [PATCH 1075/1360] [edgeDisjointPaths][doc] Added combinations signature --- doc/max_flow/pgr_edgeDisjointPaths.rst | 37 ++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/doc/max_flow/pgr_edgeDisjointPaths.rst b/doc/max_flow/pgr_edgeDisjointPaths.rst index c60d116c8d9..ee65390b744 100644 --- a/doc/max_flow/pgr_edgeDisjointPaths.rst +++ b/doc/max_flow/pgr_edgeDisjointPaths.rst @@ -20,6 +20,12 @@ pgr_edgeDisjointPaths .. Rubric:: Availability +* Version 3.2.0 + + * New **proposed** function: + + * pgr_edgeDisjointPaths(Combinations) + * Version 3.0.0 * **Official** function @@ -35,7 +41,8 @@ pgr_edgeDisjointPaths .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ * **Unsupported versions:** @@ -69,6 +76,7 @@ Signatures pgr_edgeDisjointPaths(Edges SQL, start_vid, end_vids [, directed]) pgr_edgeDisjointPaths(Edges SQL, start_vids, end_vid [, directed]) pgr_edgeDisjointPaths(Edges SQL, start_vids, end_vids [, directed]) + pgr_edgeDisjointPaths(Edges SQL, Combinations SQL [, directed]) -- Proposed on v3.2 RETURNS SET OF (seq, path_id, path_seq, [start_vid,] [end_vid,] node, edge, cost, agg_cost) OR EMPTY SET @@ -162,6 +170,24 @@ Many to Many :start-after: -- q5 :end-before: -- q6 +.. index:: + single: edgeDisjointPaths(Combinations) -- Proposed on v3.2 + +Combinations +............................................................................... + +.. code-block:: none + + pgr_edgeDisjointPaths(Edges SQL, Combinations SQL, directed) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table, equivalent to calculating result from vertices :math:`\{3, 6\}` to vertices :math:`\{4, 5, 10\}` on a **directed** graph. + +.. literalinclude:: doc-pgr_edgeDisjointPaths.queries + :start-after: -- q6 + :end-before: -- q7 + Parameters ------------------------------------------------------------------------------- @@ -169,7 +195,7 @@ Parameters :start-after: bdDijkstra_parameters_start :end-before: bdDijkstra_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- Edges query @@ -179,6 +205,13 @@ Edges query :start-after: basic_edges_sql_start :end-before: basic_edges_sql_end +Combinations query +............................................................................... + +.. include:: flow-family.rst + :start-after: flow_combinations_sql_start + :end-before: flow_combinations_sql_end + Return Columns ------------------------------------------------------------------------------- From 162859a9f27176568e4fa76805e22af8b97330f2 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 23:53:33 +0530 Subject: [PATCH 1076/1360] [maxFlowMinCost][doc] Added combinations signature --- doc/max_flow/pgr_maxFlowMinCost.rst | 34 +++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/doc/max_flow/pgr_maxFlowMinCost.rst b/doc/max_flow/pgr_maxFlowMinCost.rst index c53044bbe7d..e809830786c 100644 --- a/doc/max_flow/pgr_maxFlowMinCost.rst +++ b/doc/max_flow/pgr_maxFlowMinCost.rst @@ -24,6 +24,12 @@ the flow and minimizes the cost from the sources to the targets. .. rubric:: Availability +* Version 3.2.0 + + * New **experimental** function: + + * pgr_maxFlowMinCost(Combinations) + * Version 3.0.0 * New **experimental** function @@ -31,7 +37,8 @@ the flow and minimizes the cost from the sources to the targets. .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ Description @@ -64,6 +71,7 @@ Signatures pgr_maxFlowMinCost(Edges SQL, sources, target) pgr_maxFlowMinCost(Edges SQL, source, targets) pgr_maxFlowMinCost(Edges SQL, sources, targets) + pgr_maxFlowMinCost(Edges SQL, Combinations SQL) -- Experimental on v3.2 RETURNS SET OF (seq, edge, source, target, flow, residual_capacity, cost, agg_cost) OR EMPTY SET @@ -139,6 +147,24 @@ Many to Many :start-after: -- q4 :end-before: -- q5 +.. index:: + single: maxFlowMinCost(Combinations) -- Experimental on v3.2 + +Combinations +............................................................................... + +.. code-block:: none + + pgr_maxFlowMinCost(Edges SQL, Combinations SQL) + RETURNS SET OF (seq, edge, source, target, flow, residual_capacity, cost, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table, equivalent to calculating result from vertices :math:`\{7, 13\}` to vertices :math:`\{3, 9\}`. + +.. literalinclude:: doc-pgr_maxFlowMinCost.queries + :start-after: -- q5 + :end-before: -- q6 + Parameters ------------------------------------------------------------------------------- @@ -146,13 +172,17 @@ Parameters :start-after: pgr_flow_parameters_start :end-before: pgr_flow_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- .. include:: flow-family.rst :start-after: costFlow_edges_sql_start :end-before: costFlow_edges_sql_end +.. include:: flow-family.rst + :start-after: flow_combinations_sql_start + :end-before: flow_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- .. include:: flow-family.rst From de399bf81e66fcd148618e426f4d2c8574d346ed Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 11 Dec 2020 23:53:45 +0530 Subject: [PATCH 1077/1360] [maxFlowMinCost_Cost][doc] Added combinations signature --- doc/max_flow/pgr_maxFlowMinCost_Cost.rst | 32 ++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/doc/max_flow/pgr_maxFlowMinCost_Cost.rst b/doc/max_flow/pgr_maxFlowMinCost_Cost.rst index fbf79c44223..5e885cf0d2f 100644 --- a/doc/max_flow/pgr_maxFlowMinCost_Cost.rst +++ b/doc/max_flow/pgr_maxFlowMinCost_Cost.rst @@ -25,6 +25,12 @@ pgr_maxFlowMinCost_Cost - Experimental .. rubric:: Availability +* Version 3.2.0 + + * New **experimental** function: + + * pgr_maxFlowMinCost_Cost(Combinations) + * Version 3.0.0 * New **experimental** function @@ -32,7 +38,8 @@ pgr_maxFlowMinCost_Cost - Experimental .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ Description @@ -62,6 +69,7 @@ Signatures pgr_maxFlowMinCost_Cost(Edges SQL, sources, target) pgr_maxFlowMinCost_Cost(Edges SQL, source, targets) pgr_maxFlowMinCost_Cost(Edges SQL, sources, targets) + pgr_maxFlowMinCost_Cost(Edges SQL, Combinations SQL) -- Experimental on v3.2 RETURNS FLOAT .. index:: @@ -133,6 +141,22 @@ Many to Many :start-after: -- q4 :end-before: -- q5 +.. index:: + single: maxFlowMinCost_Cost(Combinations) -- Experimental on v3.2 + +Combinations +............................................................................... + +.. code-block:: none + + pgr_maxFlowMinCost_Cost(Edges SQL, Combinations SQL) + RETURNS FLOAT + +:Example: Using a combinations table, equivalent to calculating result from vertices :math:`\{7, 13\}` to vertices :math:`\{3, 9\}`. + +.. literalinclude:: doc-pgr_maxFlowMinCost_Cost.queries + :start-after: -- q5 + :end-before: -- q6 Parameters ------------------------------------------------------------------------------- @@ -141,13 +165,17 @@ Parameters :start-after: pgr_flow_parameters_start :end-before: pgr_flow_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- .. include:: flow-family.rst :start-after: costFlow_edges_sql_start :end-before: costFlow_edges_sql_end +.. include:: flow-family.rst + :start-after: flow_combinations_sql_start + :end-before: flow_combinations_sql_end + Result Columns ------------------------------------------------------------------------------- From ee65aed50c79bdf7bc66f4a903e8d5f4d667ede8 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 12 Dec 2020 00:20:40 +0530 Subject: [PATCH 1078/1360] [doc] Updated release_notes and NEWS --- NEWS | 7 +++++++ doc/src/release_notes.rst | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/NEWS b/NEWS index b4237eb294c..7d73930e13c 100644 --- a/NEWS +++ b/NEWS @@ -15,6 +15,8 @@ pgRouting 3.2.0 Release Notes * pgr_dijkstraNearCost(Combinations) * pgr_isPlanar * pgr_makeConnected +* pgr_maxFlowMinCost(Combinations) +* pgr_maxFlowMinCost_Cost(Combinations) * pgr_sequentialVertexColoring *New proposed functions* @@ -25,6 +27,11 @@ pgRouting 3.2.0 Release Notes * pgr_bdAstarCost(Combinations) * pgr_bdDijkstra(Combinations) * pgr_bdDijkstraCost(Combinations) +* pgr_boykovKolmogorov(Combinations) +* pgr_edgeDisjointPaths(Combinations) +* pgr_edmondsKarp(Combinations) +* pgr_maxFlow(Combinations) +* pgr_pushRelabel(Combinations) * pgr_withPoints(Combinations) * pgr_withPointsCost(Combinations) diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 26dfc4df360..dc5c895cf79 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -74,6 +74,8 @@ pgRouting 3.2.0 Release Notes * pgr_dijkstraNearCost(Combinations) * pgr_isPlanar * pgr_makeConnected +* pgr_maxFlowMinCost(Combinations) +* pgr_maxFlowMinCost_Cost(Combinations) * pgr_sequentialVertexColoring .. rubric:: New proposed functions @@ -84,6 +86,11 @@ pgRouting 3.2.0 Release Notes * pgr_bdAstarCost(Combinations) * pgr_bdDijkstra(Combinations) * pgr_bdDijkstraCost(Combinations) +* pgr_boykovKolmogorov(Combinations) +* pgr_edgeDisjointPaths(Combinations) +* pgr_edmondsKarp(Combinations) +* pgr_maxFlow(Combinations) +* pgr_pushRelabel(Combinations) * pgr_withPoints(Combinations) * pgr_withPointsCost(Combinations) From 41134a1c6b1f8648fe2590a72346bd9d58796978 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 12 Dec 2020 09:51:29 +0530 Subject: [PATCH 1079/1360] [maxFlow][pgtap] Changed SQL commands to uppercase --- .../empty_combinations_empty_result.test.sql | 16 ++++++++-------- .../many_to_many_eq_combinations.test.sql | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/pgtap/max_flow/empty_combinations_empty_result.test.sql b/pgtap/max_flow/empty_combinations_empty_result.test.sql index 83d67e83908..dfb4829293e 100644 --- a/pgtap/max_flow/empty_combinations_empty_result.test.sql +++ b/pgtap/max_flow/empty_combinations_empty_result.test.sql @@ -3,7 +3,7 @@ SELECT plan(7); -create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT ) +CREATE OR REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT ) RETURNS SETOF TEXT AS $BODY$ BEGIN @@ -29,43 +29,43 @@ $BODY$ language plpgsql; -- test pgr_maxFlow -select * from foo( +SELECT * FROM foo( 'pgr_maxFlow', 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); -- test pgr_boykovKolmogorov -select * from foo( +SELECT * FROM foo( 'pgr_boykovKolmogorov', 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); -- test pgr_edmondsKarp -select * from foo( +SELECT * FROM foo( 'pgr_edmondsKarp', 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); -- test pgr_pushRelabel -select * from foo( +SELECT * FROM foo( 'pgr_pushRelabel', 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); -- test pgr_edgeDisjointPaths -select * from foo( +SELECT * FROM foo( 'pgr_edgeDisjointPaths', 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); -- test pgr_maxFlowMinCost -select * from foo( +SELECT * FROM foo( 'pgr_maxFlowMinCost', 'SELECT id, source, target, capacity, reverse_capacity, cost, reverse_cost FROM edge_table' ); -- test pgr_maxFlowMinCost_Cost -select * from foo( +SELECT * FROM foo( 'pgr_maxFlowMinCost_Cost', 'SELECT id, source, target, capacity, reverse_capacity, cost, reverse_cost FROM edge_table' ); diff --git a/pgtap/max_flow/many_to_many_eq_combinations.test.sql b/pgtap/max_flow/many_to_many_eq_combinations.test.sql index 059bfb3b054..dc6eff6b5d9 100644 --- a/pgtap/max_flow/many_to_many_eq_combinations.test.sql +++ b/pgtap/max_flow/many_to_many_eq_combinations.test.sql @@ -3,7 +3,7 @@ SELECT plan(119); -create or REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT, cant INTEGER default 18 ) +CREATE OR REPLACE FUNCTION foo( TestFunction TEXT, sql_EdgesQuery TEXT, cant INTEGER default 18 ) RETURNS SETOF TEXT AS $BODY$ DECLARE @@ -52,43 +52,43 @@ $BODY$ language plpgsql; -- test pgr_maxFlow -select * from foo( +SELECT * FROM foo( 'pgr_maxFlow', 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); -- test pgr_boykovKolmogorov -select * from foo( +SELECT * FROM foo( 'pgr_boykovKolmogorov', 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); -- test pgr_edmondsKarp -select * from foo( +SELECT * FROM foo( 'pgr_edmondsKarp', 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); -- test pgr_pushRelabel -select * from foo( +SELECT * FROM foo( 'pgr_pushRelabel', 'SELECT id, source, target, capacity, reverse_capacity FROM edge_table' ); -- test pgr_edgeDisjointPaths -select * from foo( +SELECT * FROM foo( 'pgr_edgeDisjointPaths', 'SELECT id, source, target, cost, reverse_cost FROM edge_table' ); -- test pgr_maxFlowMinCost -select * from foo( +SELECT * FROM foo( 'pgr_maxFlowMinCost', 'SELECT id, source, target, capacity, reverse_capacity, cost, reverse_cost FROM edge_table' ); -- test pgr_maxFlowMinCost_Cost -select * from foo( +SELECT * FROM foo( 'pgr_maxFlowMinCost_Cost', 'SELECT id, source, target, capacity, reverse_capacity, cost, reverse_cost FROM edge_table' ); From 7495da7de88f12ef476ceec8abb0bd2b71fcbae7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 12 Dec 2020 09:53:50 +0530 Subject: [PATCH 1080/1360] [maxFlowMinCost][pgtap] Moved the files --- .../no_crash_test.sql} | 0 .../no_crash_test.sql} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename pgtap/max_flow/maxFlowMinCost/{no_crash_test-maxFlowMinCost.sql => maxFlowMinCost/no_crash_test.sql} (100%) rename pgtap/max_flow/maxFlowMinCost/{no_crash_test-maxFlowMinCost_Cost.sql => maxFlowMinCost_Cost/no_crash_test.sql} (100%) diff --git a/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost.sql b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost/no_crash_test.sql similarity index 100% rename from pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost.sql rename to pgtap/max_flow/maxFlowMinCost/maxFlowMinCost/no_crash_test.sql diff --git a/pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost_Cost.sql b/pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost/no_crash_test.sql similarity index 100% rename from pgtap/max_flow/maxFlowMinCost/no_crash_test-maxFlowMinCost_Cost.sql rename to pgtap/max_flow/maxFlowMinCost/maxFlowMinCost_Cost/no_crash_test.sql From 4f95aa8c46fa0b70cc67ae225e823190d2212536 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 12 Dec 2020 10:05:29 +0530 Subject: [PATCH 1081/1360] [maxFlow] Returning before reading edges, if combinations is empty --- src/max_flow/edge_disjoint_paths.c | 6 ++++++ src/max_flow/max_flow.c | 8 +++++++- src/max_flow/minCostMaxFlow.c | 8 +++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/max_flow/edge_disjoint_paths.c b/src/max_flow/edge_disjoint_paths.c index ae84c5466e0..d24bc3f9918 100644 --- a/src/max_flow/edge_disjoint_paths.c +++ b/src/max_flow/edge_disjoint_paths.c @@ -76,6 +76,12 @@ process( pgr_get_bigIntArray(&size_sink_verticesArr, ends); } else if (combinations_sql) { pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + if (total_combinations == 0) { + if (combinations) + pfree(combinations); + pgr_SPI_finish(); + return; + } } pgr_get_edges(edges_sql, &edges, &total_edges); diff --git a/src/max_flow/max_flow.c b/src/max_flow/max_flow.c index 54bd986f7ac..e797349804b 100644 --- a/src/max_flow/max_flow.c +++ b/src/max_flow/max_flow.c @@ -80,6 +80,12 @@ process( pgr_get_bigIntArray(&size_sink_verticesArr, ends); } else if (combinations_sql) { pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + if (total_combinations == 0) { + if (combinations) + pfree(combinations); + pgr_SPI_finish(); + return; + } } /* NOTE: @@ -87,7 +93,7 @@ process( */ pgr_get_flow_edges(edges_sql, &edges, &total_edges); - if (total_edges == 0 || (combinations_sql && total_combinations == 0)) { + if (total_edges == 0) { if (source_vertices) pfree(source_vertices); if (sink_vertices) pfree(sink_vertices); pgr_SPI_finish(); diff --git a/src/max_flow/minCostMaxFlow.c b/src/max_flow/minCostMaxFlow.c index ecb8ba29a89..c9b15cffef8 100644 --- a/src/max_flow/minCostMaxFlow.c +++ b/src/max_flow/minCostMaxFlow.c @@ -103,12 +103,18 @@ process( pgr_get_bigIntArray(&sizeSinkVerticesArr, ends); } else if (combinations_sql) { pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + if (total_combinations == 0) { + if (combinations) + pfree(combinations); + pgr_SPI_finish(); + return; + } } pgr_get_costFlow_edges(edges_sql, &edges, &total_edges); PGR_DBG("Total %ld edges in query:", total_edges); - if (total_edges == 0 || (combinations_sql && total_combinations == 0)) { + if (total_edges == 0) { if (sourceVertices) pfree(sourceVertices); if (sinkVertices) From b94c97439060e4b9171e9bab42bbebcd41c55b3e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 12 Dec 2020 10:17:47 +0530 Subject: [PATCH 1082/1360] [flow][code] Added missing assertions in driver --- src/max_flow/edge_disjoint_paths_driver.cpp | 10 ++++++++++ src/max_flow/max_flow_driver.cpp | 8 ++++++++ src/max_flow/minCostMaxFlow_driver.cpp | 3 +++ 3 files changed, 21 insertions(+) diff --git a/src/max_flow/edge_disjoint_paths_driver.cpp b/src/max_flow/edge_disjoint_paths_driver.cpp index b0ad8c5c935..b62520ea651 100644 --- a/src/max_flow/edge_disjoint_paths_driver.cpp +++ b/src/max_flow/edge_disjoint_paths_driver.cpp @@ -82,6 +82,16 @@ do_pgr_edge_disjoint_paths( std::ostringstream notice; std::ostringstream err; try { + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); + pgassert(data_edges); + pgassert(total_edges != 0); + pgassert((sources && sinks) || combinations); + pgassert((size_source_verticesArr && size_sink_verticesArr) || total_combinations); + std::set set_source_vertices( sources, sources + size_source_verticesArr); std::set set_sink_vertices( diff --git a/src/max_flow/max_flow_driver.cpp b/src/max_flow/max_flow_driver.cpp index e56a352d473..cdda8ee6412 100644 --- a/src/max_flow/max_flow_driver.cpp +++ b/src/max_flow/max_flow_driver.cpp @@ -57,7 +57,15 @@ do_pgr_max_flow( std::ostringstream err; try { + pgassert(!(*log_msg)); + pgassert(!(*notice_msg)); + pgassert(!(*err_msg)); + pgassert(!(*return_tuples)); + pgassert(*return_count == 0); pgassert(data_edges); + pgassert(total_edges != 0); + pgassert((source_vertices && sink_vertices) || combinations); + pgassert((size_source_verticesArr && size_sink_verticesArr) || total_combinations); std::vector edges(data_edges, data_edges + total_edges); std::set sources( diff --git a/src/max_flow/minCostMaxFlow_driver.cpp b/src/max_flow/minCostMaxFlow_driver.cpp index f2d671b49e6..bc0859a567e 100644 --- a/src/max_flow/minCostMaxFlow_driver.cpp +++ b/src/max_flow/minCostMaxFlow_driver.cpp @@ -60,7 +60,10 @@ do_pgr_minCostMaxFlow( pgassert(!(*err_msg)); pgassert(!(*return_tuples)); pgassert(*return_count == 0); + pgassert(data_edges); pgassert(total_edges != 0); + pgassert((sourceVertices && sinkVertices) || combinations); + pgassert((sizeSourceVerticesArr && sizeSinkVerticesArr) || total_combinations); std::vector edges(data_edges, data_edges + total_edges); std::set sources( From 79f6522704debe45885b098093b503dc9f273405 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 20:33:30 +0530 Subject: [PATCH 1083/1360] [bellmanFord][sql] Added combinations signature --- sql/bellman_ford/_bellman_ford.sql | 24 +++++++++++++++++ sql/bellman_ford/bellman_ford.sql | 42 ++++++++++++++++++++++++++++-- 2 files changed, 64 insertions(+), 2 deletions(-) diff --git a/sql/bellman_ford/_bellman_ford.sql b/sql/bellman_ford/_bellman_ford.sql index 2c45eb17cb6..7ff3ad6fa5b 100644 --- a/sql/bellman_ford/_bellman_ford.sql +++ b/sql/bellman_ford/_bellman_ford.sql @@ -52,7 +52,31 @@ RETURNS SETOF RECORD AS LANGUAGE c IMMUTABLE STRICT; +--v3.2 +CREATE FUNCTION _pgr_bellmanFord( + edges_sql TEXT, + combinations_sql TEXT, + directed BOOLEAN, + only_cost BOOLEAN, + + OUT seq 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 COMMENT ON FUNCTION _pgr_bellmanFord(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, BOOLEAN) IS 'pgRouting internal function'; + +COMMENT ON FUNCTION _pgr_bellmanFord(TEXT, TEXT, BOOLEAN, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/bellman_ford/bellman_ford.sql b/sql/bellman_ford/bellman_ford.sql index 6e9a4156cd5..be578bb9b21 100644 --- a/sql/bellman_ford/bellman_ford.sql +++ b/sql/bellman_ford/bellman_ford.sql @@ -132,6 +132,31 @@ $BODY$ LANGUAGE sql VOLATILE STRICT; +--COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_bellmanFord( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + + OUT seq 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 a.seq, a.path_seq, a.start_vid, a.end_vid, a.node, a.edge, a.cost, a.agg_cost + FROM _pgr_bellmanFord(_pgr_get_statement($1), _pgr_get_statement($2), directed, false ) AS a; +$BODY$ +LANGUAGE SQL VOLATILE STRICT; + + -- COMMENTS @@ -142,7 +167,7 @@ IS 'pgr_bellmanFord(One to One) - edges SQL with columns: id, source, target, cost [,reverse_cost] - From vertex identifier - To vertex identifier -- Optional Parameters: +- Optional Parameters: - directed := true - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html @@ -188,4 +213,17 @@ IS 'pgr_bellmanFord(Many to Many) - directed := true - Documentation: - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html -'; \ No newline at end of file +'; + + +COMMENT ON FUNCTION pgr_bellmanFord(TEXT, TEXT, BOOLEAN) +IS 'pgr_bellmanFord(Combinations) +- EXPERIMENTAL +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Combinations SQL with columns: source, target +- Optional Parameters + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html +'; From 6905601c1935413255e7e70057274c2cca7ab738 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 20:38:17 +0530 Subject: [PATCH 1084/1360] [bellmanFord][sig] Updated v3.2 signature file --- sql/sigs/pgrouting--3.2.sig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sigs/pgrouting--3.2.sig b/sql/sigs/pgrouting--3.2.sig index f5e4fceaddc..33fd3df5ea4 100644 --- a/sql/sigs/pgrouting--3.2.sig +++ b/sql/sigs/pgrouting--3.2.sig @@ -49,6 +49,8 @@ _pgr_bellmanford(text,anyarray,anyarray,boolean,boolean) pgr_bellmanford(text,anyarray,bigint,boolean) pgr_bellmanford(text,bigint,anyarray,boolean) pgr_bellmanford(text,bigint,bigint,boolean) +pgr_bellmanford(text,text,boolean) +_pgr_bellmanford(text,text,boolean,boolean) _pgr_biconnectedcomponents(text) pgr_biconnectedcomponents(text) _pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) From 7fc9739229c07a41bf98423980a6f35b5aa5cc5d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 22:53:12 +0530 Subject: [PATCH 1085/1360] [bellmanFord][code] Updated code for combinations signature --- include/bellman_ford/pgr_bellman_ford.hpp | 36 ++++++++++ .../bellman_ford/bellman_ford_driver.h | 11 ++-- .../bellman_ford/bellman_ford_neg_driver.h | 3 + src/bellman_ford/bellman_ford.c | 65 +++++++++++++------ src/bellman_ford/bellman_ford_driver.cpp | 17 ++++- src/bellman_ford/bellman_ford_neg.c | 65 +++++++++++++------ src/bellman_ford/bellman_ford_neg_driver.cpp | 15 ++++- 7 files changed, 165 insertions(+), 47 deletions(-) diff --git a/include/bellman_ford/pgr_bellman_ford.hpp b/include/bellman_ford/pgr_bellman_ford.hpp index a3d9260565d..9ac7121134e 100644 --- a/include/bellman_ford/pgr_bellman_ford.hpp +++ b/include/bellman_ford/pgr_bellman_ford.hpp @@ -180,6 +180,42 @@ class Pgr_bellman_ford : public pgrouting::Pgr_messages { return paths; } + // BellmanFord combinations + std::deque bellman_ford( + G &graph, + const std::vector &combinations, + bool only_cost = false) { + // a call to 1 to many is faster for each of the sources + std::deque paths; + log << std::string(__FUNCTION__) << "\n"; + + // group targets per distinct source + std::map< int64_t, std::vector > vertex_map; + for (const pgr_combination_t &comb : combinations) { + std::map< int64_t, std::vector >::iterator it = vertex_map.find(comb.source); + if (it != vertex_map.end()) { + it->second.push_back(comb.target); + } else { + std::vector targets{comb.target}; + vertex_map[comb.source] = targets; + } + } + + for (const auto &start_ends : vertex_map) { + std::deque result_paths = bellman_ford( + graph, + start_ends.first, + start_ends.second, + only_cost); + paths.insert( + paths.end(), + std::make_move_iterator(result_paths.begin()), + std::make_move_iterator(result_paths.end())); + } + + return paths; + } + //@} private: diff --git a/include/drivers/bellman_ford/bellman_ford_driver.h b/include/drivers/bellman_ford/bellman_ford_driver.h index 0124ac68bed..5aa73d6d0ce 100644 --- a/include/drivers/bellman_ford/bellman_ford_driver.h +++ b/include/drivers/bellman_ford/bellman_ford_driver.h @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/general_path_element_t.h" #ifdef __cplusplus @@ -58,10 +59,12 @@ extern "C" { do_pgr_bellman_ford( pgr_edge_t *data_edges, size_t total_tuples, - int64_t *start_vidsArr, - size_t size_start_vidsArr, - int64_t *end_vidsArr, - size_t size_end_vidsArr, + pgr_combination_t *combinations, + size_t total_combinations, + int64_t *start_vidsArr, + size_t size_start_vidsArr, + int64_t *end_vidsArr, + size_t size_end_vidsArr, bool directed, bool only_cost, General_path_element_t **return_tuples, diff --git a/include/drivers/bellman_ford/bellman_ford_neg_driver.h b/include/drivers/bellman_ford/bellman_ford_neg_driver.h index c23317a150b..d45d2f9d4ec 100644 --- a/include/drivers/bellman_ford/bellman_ford_neg_driver.h +++ b/include/drivers/bellman_ford/bellman_ford_neg_driver.h @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/general_path_element_t.h" #ifdef __cplusplus @@ -60,6 +61,8 @@ extern "C" { size_t total_positive_edges, pgr_edge_t *negative_edges, size_t total_negative_edges, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, diff --git a/src/bellman_ford/bellman_ford.c b/src/bellman_ford/bellman_ford.c index 74f86605d2f..5f5f15fc248 100644 --- a/src/bellman_ford/bellman_ford.c +++ b/src/bellman_ford/bellman_ford.c @@ -38,6 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "c_common/combinations_input.h" #include "drivers/bellman_ford/bellman_ford_driver.h" @@ -48,6 +49,7 @@ static void process( char* edges_sql, + char *combinations_sql, ArrayType *starts, ArrayType *ends, bool directed, @@ -60,15 +62,28 @@ process( PGR_DBG("Initializing arrays"); size_t size_start_vidsArr = 0; - int64_t* start_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_start_vidsArr, starts); - PGR_DBG("start_vidsArr size %ld ", size_start_vidsArr); + int64_t* start_vidsArr = NULL; size_t size_end_vidsArr = 0; - int64_t* end_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_end_vidsArr, ends); - PGR_DBG("end_vidsArr size %ld ", size_end_vidsArr); - + int64_t* end_vidsArr = NULL; + + size_t total_combinations = 0; + pgr_combination_t *combinations = NULL; + + if (starts && ends) { + start_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_start_vidsArr, starts); + end_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_end_vidsArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + if (total_combinations == 0) { + if (combinations) + pfree(combinations); + pgr_SPI_finish(); + return; + } + } (*result_tuples) = NULL; (*result_count) = 0; @@ -95,6 +110,8 @@ process( do_pgr_bellman_ford( edges, total_edges, + combinations, + total_combinations, start_vidsArr, size_start_vidsArr, end_vidsArr, size_end_vidsArr, directed, @@ -142,20 +159,14 @@ PGDLLEXPORT Datum _pgr_bellmanford(PG_FUNCTION_ARGS) { oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - /* - pgr_bellman_ford( - edge_sql TEXT, - start_vids ANYARRAY, - end_vids ANYARRAY, - directed BOOLEAN DEFAULT true) - */ - /**********************************************************************/ - - PGR_DBG("Calling process"); - process( + if (PG_NARGS() == 5) { + /* + * many to many + */ + process( text_to_cstring(PG_GETARG_TEXT_P(0)), + NULL, PG_GETARG_ARRAYTYPE_P(1), PG_GETARG_ARRAYTYPE_P(2), PG_GETARG_BOOL(3), @@ -163,6 +174,22 @@ PGDLLEXPORT Datum _pgr_bellmanford(PG_FUNCTION_ARGS) { &result_tuples, &result_count); + } else if (PG_NARGS() == 4) { + /* + * combinations + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, + NULL, + PG_GETARG_BOOL(2), + PG_GETARG_BOOL(3), + &result_tuples, + &result_count); + } + + /**********************************************************************/ #if PGSQL_VERSION > 95 diff --git a/src/bellman_ford/bellman_ford_driver.cpp b/src/bellman_ford/bellman_ford_driver.cpp index 977434b8142..c278042d490 100644 --- a/src/bellman_ford/bellman_ford_driver.cpp +++ b/src/bellman_ford/bellman_ford_driver.cpp @@ -53,6 +53,7 @@ template < class G > std::deque< Path > pgr_bellman_ford( G &graph, + std::vector &combinations, std::vector < int64_t > sources, std::vector < int64_t > targets, std::string &log, @@ -68,8 +69,9 @@ pgr_bellman_ford( targets.end()); Pgr_bellman_ford< G > fn_bellman_ford; - auto paths = fn_bellman_ford.bellman_ford( - graph, sources, targets, only_cost); + auto paths = combinations.empty() ? + fn_bellman_ford.bellman_ford(graph, sources, targets, only_cost) + : fn_bellman_ford.bellman_ford(graph, combinations, only_cost); log += fn_bellman_ford.get_log(); for (auto &p : paths) { p.recalculate_agg_cost(); @@ -79,8 +81,10 @@ pgr_bellman_ford( void do_pgr_bellman_ford( - pgr_edge_t *data_edges, + pgr_edge_t *data_edges, size_t total_edges, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, @@ -103,6 +107,9 @@ do_pgr_bellman_ford( pgassert(!(*return_tuples)); pgassert(*return_count == 0); pgassert(total_edges != 0); + pgassert(data_edges); + pgassert((start_vidsArr && end_vidsArr) || combinations); + pgassert((size_start_vidsArr && size_end_vidsArr) || total_combinations); graphType gType = directed? DIRECTED: UNDIRECTED; @@ -111,6 +118,8 @@ do_pgr_bellman_ford( start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); std::vector< int64_t > end_vertices(end_vidsArr, end_vidsArr + size_end_vidsArr); + std::vector< pgr_combination_t > + combinations_vector(combinations, combinations + total_combinations); std::deque< Path >paths; std::string logstr; @@ -119,6 +128,7 @@ do_pgr_bellman_ford( pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); paths = pgr_bellman_ford(digraph, + combinations_vector, start_vertices, end_vertices, logstr, @@ -129,6 +139,7 @@ do_pgr_bellman_ford( undigraph.insert_edges(data_edges, total_edges); paths = pgr_bellman_ford( undigraph, + combinations_vector, start_vertices, end_vertices, logstr, diff --git a/src/bellman_ford/bellman_ford_neg.c b/src/bellman_ford/bellman_ford_neg.c index 4ed271b71a2..49cc3b2b6ed 100644 --- a/src/bellman_ford/bellman_ford_neg.c +++ b/src/bellman_ford/bellman_ford_neg.c @@ -38,6 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "c_common/combinations_input.h" #include "drivers/bellman_ford/bellman_ford_neg_driver.h" // the link to the C++ code of the function @@ -49,6 +50,7 @@ void process( char* edges_sql, char* neg_edges_sql, + char *combinations_sql, ArrayType *starts, ArrayType *ends, bool directed, @@ -61,15 +63,28 @@ process( PGR_DBG("Initializing arrays"); size_t size_start_vidsArr = 0; - int64_t* start_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_start_vidsArr, starts); - PGR_DBG("start_vidsArr size %ld ", size_start_vidsArr); + int64_t* start_vidsArr = NULL; size_t size_end_vidsArr = 0; - int64_t* end_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_end_vidsArr, ends); - PGR_DBG("end_vidsArr size %ld ", size_end_vidsArr); - + int64_t* end_vidsArr = NULL; + + size_t total_combinations = 0; + pgr_combination_t *combinations = NULL; + + if (starts && ends) { + start_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_start_vidsArr, starts); + end_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_end_vidsArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + if (total_combinations == 0) { + if (combinations) + pfree(combinations); + pgr_SPI_finish(); + return; + } + } (*result_tuples) = NULL; (*result_count) = 0; @@ -110,6 +125,8 @@ process( total_positive_edges, negative_edges, total_negative_edges, + combinations, + total_combinations, start_vidsArr, size_start_vidsArr, end_vidsArr, @@ -160,27 +177,37 @@ PGDLLEXPORT Datum _pgr_bellmanfordneg(PG_FUNCTION_ARGS) { oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - /* - pgr_bellman_ford( - edge_sql TEXT, - start_vids ANYARRAY, - end_vids ANYARRAY, - directed BOOLEAN DEFAULT true) - */ - /**********************************************************************/ - - PGR_DBG("Calling process"); - process( + if (PG_NARGS() == 6) { + /* + * many to many + */ + process( text_to_cstring(PG_GETARG_TEXT_P(0)), text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, PG_GETARG_ARRAYTYPE_P(2), PG_GETARG_ARRAYTYPE_P(3), PG_GETARG_BOOL(4), PG_GETARG_BOOL(5), &result_tuples, &result_count); + } else if (PG_NARGS() == 5) { + /* + * combinations + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + text_to_cstring(PG_GETARG_TEXT_P(2)), + NULL, + NULL, + PG_GETARG_BOOL(3), + PG_GETARG_BOOL(4), + &result_tuples, + &result_count); + } + /**********************************************************************/ diff --git a/src/bellman_ford/bellman_ford_neg_driver.cpp b/src/bellman_ford/bellman_ford_neg_driver.cpp index c17deaa2c53..6269debaea6 100644 --- a/src/bellman_ford/bellman_ford_neg_driver.cpp +++ b/src/bellman_ford/bellman_ford_neg_driver.cpp @@ -53,6 +53,7 @@ template < class G > std::deque< Path > pgr_bellman_ford( G &graph, + std::vector &combinations, std::vector < int64_t > sources, std::vector < int64_t > targets, std::string &log, @@ -68,8 +69,9 @@ pgr_bellman_ford( targets.end()); Pgr_bellman_ford< G > fn_bellman_ford; - auto paths = fn_bellman_ford.bellman_ford( - graph, sources, targets, only_cost); + auto paths = combinations.empty() ? + fn_bellman_ford.bellman_ford(graph, sources, targets, only_cost) + : fn_bellman_ford.bellman_ford(graph, combinations, only_cost); log += fn_bellman_ford.get_log(); return paths; } @@ -80,6 +82,8 @@ do_pgr_bellman_ford_neg( size_t total_positive_edges, pgr_edge_t *negative_edges, size_t total_negative_edges, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, @@ -103,6 +107,9 @@ do_pgr_bellman_ford_neg( pgassert(!(*return_tuples)); pgassert(*return_count == 0); pgassert(total_edges != 0); + pgassert(total_positive_edges || total_negative_edges); + pgassert((start_vidsArr && end_vidsArr) || combinations); + pgassert((size_start_vidsArr && size_end_vidsArr) || total_combinations); graphType gType = directed? DIRECTED: UNDIRECTED; @@ -112,6 +119,8 @@ do_pgr_bellman_ford_neg( start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); std::vector< int64_t > end_vertices(end_vidsArr, end_vidsArr + size_end_vidsArr); + std::vector< pgr_combination_t > + combinations_vector(combinations, combinations + total_combinations); std::deque< Path >paths; std::string logstr; @@ -122,6 +131,7 @@ do_pgr_bellman_ford_neg( digraph.insert_negative_edges(negative_edges, total_negative_edges); log << digraph; paths = pgr_bellman_ford(digraph, + combinations_vector, start_vertices, end_vertices, logstr, @@ -136,6 +146,7 @@ do_pgr_bellman_ford_neg( log << undigraph; paths = pgr_bellman_ford( undigraph, + combinations_vector, start_vertices, end_vertices, logstr, From 24524e7af66d2ad8119bb6ea62410589f4e7b957 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 22:54:07 +0530 Subject: [PATCH 1086/1360] [bellmanFord][pgtap] Added missing no crash test --- .../no_crash_test-bellmanFord.test.sql | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 pgtap/bellman_ford/bellman_ford/no_crash_test-bellmanFord.test.sql diff --git a/pgtap/bellman_ford/bellman_ford/no_crash_test-bellmanFord.test.sql b/pgtap/bellman_ford/bellman_ford/no_crash_test-bellmanFord.test.sql new file mode 100644 index 00000000000..8cdcfa9d233 --- /dev/null +++ b/pgtap/bellman_ford/bellman_ford/no_crash_test-bellmanFord.test.sql @@ -0,0 +1,114 @@ +\i setup.sql + +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); +SELECT plan(67); + +PREPARE edges AS +SELECT id, source, target, cost, reverse_cost FROM edge_table; + +PREPARE combinations AS +SELECT source, target FROM combinations_table; + +PREPARE null_ret AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); + +PREPARE null_ret_arr AS +SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); + +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); +SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); +SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); + + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + -- one to one + params = ARRAY[ + '$$SELECT id, source, target, cost, reverse_cost FROM edge_table$$' + ,'1::BIGINT', + '2::BIGINT' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_bellmanFord', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_bellmanFord', params, subs); + + -- one to many + params = ARRAY['$$edges$$','1', 'ARRAY[2,5]::BIGINT[]']::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_bellmanFord', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT[]' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_bellmanFord', params, subs); + + -- many to one + params = ARRAY['$$edges$$', 'ARRAY[2,5]::BIGINT[]', '1']::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_bellmanFord', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_bellmanFord', params, subs); + + -- many to many + params = ARRAY['$$edges$$','ARRAY[1]::BIGINT[]', 'ARRAY[2,5]::BIGINT[]']::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_bellmanFord', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT[]' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_bellmanFord', params, subs); + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + +ROLLBACK; From 194e8a805dccbb6fca9b9f6f09e6157185c36c88 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 22:55:42 +0530 Subject: [PATCH 1087/1360] [bellmanFord][pgtap] Added missing types check --- .../bellman_ford/bellman_ford-typesCheck.sql | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql b/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql index cb08043abbd..e3dbe55cfef 100644 --- a/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql +++ b/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql @@ -1,6 +1,6 @@ UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(9); +SELECT plan(14); SELECT has_function('pgr_bellmanford'); @@ -8,6 +8,10 @@ SELECT has_function('pgr_bellmanford', ARRAY['text','bigint','bigint','boolean'] SELECT has_function('pgr_bellmanford', ARRAY['text','bigint','anyarray','boolean']); SELECT has_function('pgr_bellmanford', ARRAY['text','anyarray','bigint','boolean']); SELECT has_function('pgr_bellmanford', ARRAY['text','anyarray','anyarray','boolean']); +SELECT function_returns('pgr_bellmanford', ARRAY['text','bigint','bigint','boolean'], 'setof record'); +SELECT function_returns('pgr_bellmanford', ARRAY['text','bigint','anyarray','boolean'], 'setof record'); +SELECT function_returns('pgr_bellmanford', ARRAY['text','anyarray','bigint','boolean'], 'setof record'); +SELECT function_returns('pgr_bellmanford', ARRAY['text','anyarray','anyarray','boolean'], 'setof record'); -- testing column names SELECT bag_has( @@ -30,4 +34,13 @@ SELECT bag_has( $$SELECT '{"","","","directed","seq","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ ); - +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_bellmanford'$$, + $$VALUES + ('{25,20,20,16,23,23,20,20,701,701}'::OID[]), + ('{25,20,2277,16,23,23,20,20,20,701,701}'::OID[]), + ('{25,2277,20,16,23,23,20,20,20,701,701}'::OID[]), + ('{25,2277,2277,16,23,23,20,20,20,20,701,701}'::OID[]) + $$ +); From 51cc68a5b82e9fcb22b40ad8276e5daea494a1e9 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 22:56:10 +0530 Subject: [PATCH 1088/1360] [bellmanFord][pgtap] Added tests for combinations signature --- .../bellman_ford/bellman_ford-typesCheck.sql | 12 ++++- .../empty_combinations_empty_result.test.sql | 24 +++++++++ .../many_to_many_eq_combinations.test.sql | 51 +++++++++++++++++++ .../no_crash_test-bellmanFord.test.sql | 17 ++++++- 4 files changed, 101 insertions(+), 3 deletions(-) create mode 100644 pgtap/bellman_ford/bellman_ford/empty_combinations_empty_result.test.sql create mode 100644 pgtap/bellman_ford/bellman_ford/many_to_many_eq_combinations.test.sql diff --git a/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql b/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql index e3dbe55cfef..7521a2f5924 100644 --- a/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql +++ b/pgtap/bellman_ford/bellman_ford/bellman_ford-typesCheck.sql @@ -1,6 +1,6 @@ UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(14); +SELECT plan(17); SELECT has_function('pgr_bellmanford'); @@ -8,10 +8,12 @@ SELECT has_function('pgr_bellmanford', ARRAY['text','bigint','bigint','boolean'] SELECT has_function('pgr_bellmanford', ARRAY['text','bigint','anyarray','boolean']); SELECT has_function('pgr_bellmanford', ARRAY['text','anyarray','bigint','boolean']); SELECT has_function('pgr_bellmanford', ARRAY['text','anyarray','anyarray','boolean']); +SELECT has_function('pgr_bellmanford', ARRAY['text','text','boolean']); SELECT function_returns('pgr_bellmanford', ARRAY['text','bigint','bigint','boolean'], 'setof record'); SELECT function_returns('pgr_bellmanford', ARRAY['text','bigint','anyarray','boolean'], 'setof record'); SELECT function_returns('pgr_bellmanford', ARRAY['text','anyarray','bigint','boolean'], 'setof record'); SELECT function_returns('pgr_bellmanford', ARRAY['text','anyarray','anyarray','boolean'], 'setof record'); +SELECT function_returns('pgr_bellmanford', ARRAY['text','text','boolean'], 'setof record'); -- testing column names SELECT bag_has( @@ -34,6 +36,11 @@ SELECT bag_has( $$SELECT '{"","","","directed","seq","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ ); +SELECT bag_has( + $$SELECT proargnames from pg_proc where proname = 'pgr_bellmanford'$$, + $$SELECT '{"","",directed,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost}'::TEXT[] $$ +); + -- parameter types SELECT set_eq( $$SELECT proallargtypes from pg_proc where proname = 'pgr_bellmanford'$$, @@ -41,6 +48,7 @@ SELECT set_eq( ('{25,20,20,16,23,23,20,20,701,701}'::OID[]), ('{25,20,2277,16,23,23,20,20,20,701,701}'::OID[]), ('{25,2277,20,16,23,23,20,20,20,701,701}'::OID[]), - ('{25,2277,2277,16,23,23,20,20,20,20,701,701}'::OID[]) + ('{25,2277,2277,16,23,23,20,20,20,20,701,701}'::OID[]), + ('{25,25,16,23,23,20,20,20,20,701,701}'::OID[]) $$ ); diff --git a/pgtap/bellman_ford/bellman_ford/empty_combinations_empty_result.test.sql b/pgtap/bellman_ford/bellman_ford/empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..a5fd54ec091 --- /dev/null +++ b/pgtap/bellman_ford/bellman_ford/empty_combinations_empty_result.test.sql @@ -0,0 +1,24 @@ +\i setup.sql + +SELECT plan(1); + +CREATE OR REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT seq, path_seq, node, edge, cost, agg_cost FROM pgr_bellmanFord( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +SELECT * FROM foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/bellman_ford/bellman_ford/many_to_many_eq_combinations.test.sql b/pgtap/bellman_ford/bellman_ford/many_to_many_eq_combinations.test.sql new file mode 100644 index 00000000000..7b1eedef612 --- /dev/null +++ b/pgtap/bellman_ford/bellman_ford/many_to_many_eq_combinations.test.sql @@ -0,0 +1,51 @@ +\i setup.sql + +SELECT plan(1); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +CREATE OR REPLACE FUNCTION foo( sql_TestFunction TEXT, cant INTEGER default 18 ) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +sql_Combinations TEXT; +sql_Many TEXT; +BEGIN + + sql_Combinations := ''; + sql_Many := ''; + FOR i IN 1.. cant LOOP + IF (i > 1) THEN + sql_Many := sql_Many ||', '; + END IF; + sql_Many := sql_Many || i ; + END LOOP; + + FOR i IN 1.. cant LOOP + FOR j IN 1..cant LOOP + IF NOT (i = j) THEN + sql_Combinations := sql_Combinations || '(' || i || ',' || j || '),' ; + END IF; + END LOOP; + END LOOP; + sql_Combinations := trim(trailing ',' from sql_Combinations); + + sql_Many := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ARRAY[' || sql_Many ||'], ARRAY[' || sql_Many || '] ) '); + + sql_Combinations := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ''SELECT * FROM (VALUES' || sql_Combinations ||') AS combinations (source, target)'' ) '); + + RETURN query SELECT set_eq( sql_Many, sql_Combinations ); + RETURN; +END +$BODY$ +language plpgsql; + +SELECT * FROM foo('SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_bellmanFord'); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/bellman_ford/bellman_ford/no_crash_test-bellmanFord.test.sql b/pgtap/bellman_ford/bellman_ford/no_crash_test-bellmanFord.test.sql index 8cdcfa9d233..e53fd797780 100644 --- a/pgtap/bellman_ford/bellman_ford/no_crash_test-bellmanFord.test.sql +++ b/pgtap/bellman_ford/bellman_ford/no_crash_test-bellmanFord.test.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; @@ -104,6 +104,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_bellmanFord', params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_bellmanFord', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_bellmanFord', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From 66e37a375438584106c483636442a6b399f1c54c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 23:08:23 +0530 Subject: [PATCH 1089/1360] [bellmanFord][docqueries] Added for combinations signature --- .../bellman_ford/doc-pgr_bellmanFord.result | 20 +++++++++++++++++++ .../bellman_ford/doc-pgr_bellmanFord.test.sql | 5 +++++ 2 files changed, 25 insertions(+) diff --git a/docqueries/bellman_ford/doc-pgr_bellmanFord.result b/docqueries/bellman_ford/doc-pgr_bellmanFord.result index d6e2b1f2616..00c09206825 100644 --- a/docqueries/bellman_ford/doc-pgr_bellmanFord.result +++ b/docqueries/bellman_ford/doc-pgr_bellmanFord.result @@ -87,5 +87,25 @@ SELECT * FROM pgr_bellmanFord( (18 rows) -- q6 +SELECT * FROM pgr_bellmanFord( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (11, 5) ) AS t(source, target)' +); + seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 2 | 3 | 2 | 4 | 1 | 0 + 2 | 2 | 2 | 3 | 5 | 8 | 1 | 1 + 3 | 3 | 2 | 3 | 6 | 9 | 1 | 2 + 4 | 4 | 2 | 3 | 9 | 16 | 1 | 3 + 5 | 5 | 2 | 3 | 4 | 3 | 1 | 4 + 6 | 6 | 2 | 3 | 3 | -1 | 0 | 5 + 7 | 1 | 11 | 5 | 11 | 13 | 1 | 0 + 8 | 2 | 11 | 5 | 12 | 15 | 1 | 1 + 9 | 3 | 11 | 5 | 9 | 9 | 1 | 2 + 10 | 4 | 11 | 5 | 6 | 8 | 1 | 3 + 11 | 5 | 11 | 5 | 5 | -1 | 0 | 4 +(11 rows) + +-- q7 ROLLBACK; ROLLBACK diff --git a/docqueries/bellman_ford/doc-pgr_bellmanFord.test.sql b/docqueries/bellman_ford/doc-pgr_bellmanFord.test.sql index cf331f032a2..f5532dde714 100644 --- a/docqueries/bellman_ford/doc-pgr_bellmanFord.test.sql +++ b/docqueries/bellman_ford/doc-pgr_bellmanFord.test.sql @@ -28,3 +28,8 @@ SELECT * FROM pgr_bellmanFord( ARRAY[2,11], ARRAY[3,5] ); \echo -- q6 +SELECT * FROM pgr_bellmanFord( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (11, 5) ) AS t(source, target)' +); +\echo -- q7 From 87c327635d4068a3c5945ab1c8e6538f361631d5 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 23:15:28 +0530 Subject: [PATCH 1090/1360] [bellmanFord][doc] Added combinations signature --- doc/bellman_ford/pgr_bellmanFord.rst | 80 ++++++++++++++++++++-------- 1 file changed, 58 insertions(+), 22 deletions(-) diff --git a/doc/bellman_ford/pgr_bellmanFord.rst b/doc/bellman_ford/pgr_bellmanFord.rst index 9653a5ddc5f..3d8128b759d 100644 --- a/doc/bellman_ford/pgr_bellmanFord.rst +++ b/doc/bellman_ford/pgr_bellmanFord.rst @@ -24,6 +24,12 @@ In particular, the Bellman-Ford algorithm implemented by Boost.Graph. .. rubric:: Availability +* Version 3.2.0 + + * New **experimental** function: + + * pgr_bellmanFord(Combinations) + * Version 3.0.0 * New **experimental** function @@ -31,7 +37,8 @@ In particular, the Bellman-Ford algorithm implemented by Boost.Graph. .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ Description @@ -70,10 +77,11 @@ Signatures .. code-block:: none - pgr_bellmanFord(edges_sql, from_vid, to_vid [, directed]) - pgr_bellmanFord(edges_sql, from_vid, to_vids [, directed]) - pgr_bellmanFord(edges_sql, from_vids, to_vid [, directed]) - pgr_bellmanFord(edges_sql, from_vids, to_vids [, directed]) + pgr_bellmanFord(Edges SQL, from_vid, to_vid [, directed]) + pgr_bellmanFord(Edges SQL, from_vid, to_vids [, directed]) + pgr_bellmanFord(Edges SQL, from_vids, to_vid [, directed]) + pgr_bellmanFord(Edges SQL, from_vids, to_vids [, directed]) + pgr_bellmanFord(Edges SQL, Combinations SQL [, directed]) -- Experimental on v3.2 RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -82,7 +90,7 @@ Signatures .. code-block:: none - pgr_bellmanFord(TEXT edges_sql, BIGINT start_vid, BIGINT end_vid) + pgr_bellmanFord(TEXT Edges SQL, BIGINT start_vid, BIGINT end_vid) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -100,7 +108,7 @@ One to One .. code-block:: none - pgr_bellmanFord(edges_sql, from_vid, to_vid [, directed]) + pgr_bellmanFord(Edges SQL, from_vid, to_vid [, directed]) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -118,7 +126,7 @@ One to many .. code-block:: none - pgr_bellmanFord(edges_sql, from_vid, to_vids [, directed]) + pgr_bellmanFord(Edges SQL, from_vid, to_vids [, directed]) RETURNS SET OF (seq, path_seq, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -136,7 +144,7 @@ Many to One .. code-block:: none - pgr_bellmanFord(edges_sql, from_vids, to_vid [, directed]) + pgr_bellmanFord(Edges SQL, from_vids, to_vid [, directed]) RETURNS SET OF (seq, path_seq, start_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -154,7 +162,7 @@ Many to Many .. code-block:: none - pgr_bellmanFord(edges_sql, from_vids, to_vids [, directed]) + pgr_bellmanFord(Edges SQL, from_vids, to_vids [, directed]) RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -164,6 +172,24 @@ Many to Many :start-after: -- q5 :end-before: -- q6 +.. index:: + single: bellmanFord(Combinations) -- Experimental on v3.2 + +Combinations +............................................................................... + +.. code-block:: none + + pgr_bellmanFord(Edges SQL, Combinations SQL [, directed]) + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table on an **undirected** graph. + +.. literalinclude:: doc-pgr_bellmanFord.queries + :start-after: -- q6 + :end-before: -- q7 + Parameters ------------------------------------------------------------------------------- @@ -171,27 +197,37 @@ Parameters .. rubric:: Description of the parameters of the signatures -============== ================== ======== ================================================= -Parameter Type Default Description -============== ================== ======== ================================================= -**edges_sql** ``TEXT`` SQL query as described above. -**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. -**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. -**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. -**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. -**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` - - When ``false`` the graph is considered as `Undirected`. -============== ================== ======== ================================================= +===================== ================== ======== ================================================= +Parameter Type Default Description +===================== ================== ======== ================================================= +**Edges SQL** ``TEXT`` Edges query as described below. +**Combinations SQL** ``TEXT`` Combinations query as described below. +**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. +**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. +**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. +**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. +**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` + - When ``false`` the graph is considered as `Undirected`. +===================== ================== ======== ================================================= .. pgr_bellmanFord_parameters_end -Inner Query +Inner Queries ------------------------------------------------------------------------------- +Edges query +------------------------------------------------------------------------------- .. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start :end-before: basic_edges_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Results Columns ------------------------------------------------------------------------------- From 52e25184d20f87916c517ef489178cac1616c827 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 23:16:51 +0530 Subject: [PATCH 1091/1360] [bellmanFord][doc] Updated release_notes and NEWS --- NEWS | 1 + doc/src/release_notes.rst | 1 + 2 files changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 7d73930e13c..d020fddf474 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ pgRouting 3.2.0 Release Notes *New experimental functions* +* pgr_bellmanFord(Combinations) * pgr_depthFirstSearch * pgr_dijkstraNear(One to Many) * pgr_dijkstraNear(Many to One) diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index dc5c895cf79..5f7b0374c33 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -63,6 +63,7 @@ pgRouting 3.2.0 Release Notes .. rubric:: New experimental functions +* pgr_bellmanFord(Combinations) * pgr_depthFirstSearch * pgr_dijkstraNear(One to Many) * pgr_dijkstraNear(Many to One) From 5a8680ccf71c996d56e577ee732c257a6ed23ed2 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 23:22:42 +0530 Subject: [PATCH 1092/1360] [CI] Fixed merge conflict in the shell code --- tools/release-scripts/check-release.sh | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/tools/release-scripts/check-release.sh b/tools/release-scripts/check-release.sh index 04457411f57..db81c8fe040 100755 --- a/tools/release-scripts/check-release.sh +++ b/tools/release-scripts/check-release.sh @@ -217,15 +217,9 @@ done echo "### checking the signature files dont change" #--------------------------------------------------------------------- -<<<<<<< HEAD -bash tools/release-scripts/compile-release.sh -bash tools/release-scripts/get_signatures.sh -if [[ $(git diff "sql/sigs/pgrouting--$MAYOR.$MINOR.$MICRO.sig") ]]; then -======= tools/release-scripts/compile-release.sh tools/release-scripts/get_signatures.sh if [[ -z $(git diff "sql/sigs/pgrouting--$MAYOR.$MINOR.$MICRO.sig") ]]; then ->>>>>>> f062925ed... [CI] testing and fixing shell code echo signature changed at: "sql/sigs/pgrouting--$MAYOR.$MINOR.$MICRO.sig" fi @@ -242,11 +236,7 @@ echo "\`\`\`" for r in ${PREV_RELS} do -<<<<<<< HEAD - if ! bash tools/testers/update-tester.sh "$r" 12; then -======= if ! tools/testers/update-tester.sh "$r"; then ->>>>>>> f062925ed... [CI] testing and fixing shell code echo "FATAL updating from $r" exit 1 fi From 41b18851aa916ee1a7fd5d6dfff6dfbcbbe80f74 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 00:55:23 +0530 Subject: [PATCH 1093/1360] [bellmanFord][doc] Minor fixes --- doc/bellman_ford/pgr_bellmanFord.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/bellman_ford/pgr_bellmanFord.rst b/doc/bellman_ford/pgr_bellmanFord.rst index 3d8128b759d..496c782df5d 100644 --- a/doc/bellman_ford/pgr_bellmanFord.rst +++ b/doc/bellman_ford/pgr_bellmanFord.rst @@ -90,7 +90,7 @@ Signatures .. code-block:: none - pgr_bellmanFord(TEXT Edges SQL, BIGINT start_vid, BIGINT end_vid) + pgr_bellmanFord(Edges SQL, start_vid, end_vid) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -216,7 +216,8 @@ Inner Queries ------------------------------------------------------------------------------- Edges query -------------------------------------------------------------------------------- +............................................................................... + .. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start :end-before: basic_edges_sql_end From 1c3aa907577edde7b2c02259eb39cefeb87b27e7 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Fri, 11 Dec 2020 20:13:21 -0600 Subject: [PATCH 1094/1360] removing warnings from postgres & from boost --- CMakeLists.txt | 25 ++++----- include/c_common/arrays_input.h | 38 +------------ include/c_common/postgres_connection.h | 74 +------------------------- include/cpp_common/interruption.h | 33 ------------ src/common/arrays_input.c | 13 +---- src/common/get_check_data.c | 2 +- 6 files changed, 19 insertions(+), 166 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index af93bc42484..a813cb557d4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -209,11 +209,11 @@ if("${POSTGRESQL_VERSION}" VERSION_LESS "${POSTGRESQL_MINIMUM_VERSION}") endif("${POSTGRESQL_VERSION}" VERSION_LESS "${POSTGRESQL_MINIMUM_VERSION}") #------- -include_directories(${POSTGRESQL_INCLUDE_DIR}) +include_directories(SYSTEM ${POSTGRESQL_INCLUDE_DIR}) if(WIN32) - include_directories(${POSTGRESQL_INCLUDE_DIR}/port/win32) + include_directories(SYSTEM ${POSTGRESQL_INCLUDE_DIR}/port/win32) if(MSVC) - include_directories(${POSTGRESQL_INCLUDE_DIR}/port/win32_msvc/) + include_directories(SYSTEM ${POSTGRESQL_INCLUDE_DIR}/port/win32_msvc/) endif(MSVC) endif(WIN32) @@ -228,7 +228,7 @@ message(STATUS "PGSQL_VERSION=${PGSQL_VERSION}") #--------------------------------------------- find_package(Boost ${BOOST_MINIMUM_VERSION}) if(Boost_FOUND) - include_directories(${Boost_INCLUDE_DIRS}) + include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) message(STATUS "Boost headers were found here: ${Boost_INCLUDE_DIRS}") else() message(FATAL_ERROR " Please check your Boost installation ") @@ -378,16 +378,17 @@ if(WIN32 AND MSVC) endif() if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") - CHECK_C_COMPILER_FLAG("-frounding-math" C_COMPILER_SUPPORTS_ROUNDING_MATH) - CHECK_CXX_COMPILER_FLAG("-frounding-math" CXX_COMPILER_SUPPORTS_ROUNDING_MATH) - if(C_COMPILER_SUPPORTS_ROUNDING_MATH) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -frounding-math ") - endif() - if(CXX_COMPILER_SUPPORTS_ROUNDING_MATH) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -frounding-math ") + if (CMAKE_CXX_COMPILER_ID MATCHES "GNU") + CHECK_C_COMPILER_FLAG("-frounding-math" C_COMPILER_SUPPORTS_ROUNDING_MATH) + CHECK_CXX_COMPILER_FLAG("-frounding-math" CXX_COMPILER_SUPPORTS_ROUNDING_MATH) + if(C_COMPILER_SUPPORTS_ROUNDING_MATH) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -frounding-math ") + endif() + if(CXX_COMPILER_SUPPORTS_ROUNDING_MATH) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -frounding-math ") + endif() endif() - # TODO use -Werror when TRSP gets rewritten set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall -Wconversion -Wmissing-prototypes -W -Wunused -Wuninitialized -Wextra -Wdouble-promotion") if(BOOST_Geometry_VERSION_OK) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -Wconversion -pedantic -W -Wunused -Wuninitialized -Wextra -Wdouble-promotion") diff --git a/include/c_common/arrays_input.h b/include/c_common/arrays_input.h index aff19c3583d..f5677d0e08b 100644 --- a/include/c_common/arrays_input.h +++ b/include/c_common/arrays_input.h @@ -28,44 +28,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include - - -#ifdef __clang__ -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wpedantic" -# pragma clang diagnostic ignored "-Wignored-attributes" -#else -# ifdef __GNUC__ -# if __GNUC__ > 5 -# pragma GCC diagnostic ignored "-Wpedantic" -# else -# pragma GCC diagnostic ignored "-pedantic" -# endif -# endif -#endif - #include - -#ifdef __clang__ -#pragma clang diagnostic pop -#else -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif -#endif - - -// for ArrayType -#ifdef __clang__ -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wignored-attributes" -#endif - -#include "utils/array.h" - -#ifdef __clang__ -#pragma clang diagnostic pop -#endif +#include /** @brief enforces the input array to be @b NOT empty */ int64_t* pgr_get_bigIntArray(size_t *arrlen, ArrayType *input); diff --git a/include/c_common/postgres_connection.h b/include/c_common/postgres_connection.h index 40e414fba70..177d283dc0e 100644 --- a/include/c_common/postgres_connection.h +++ b/include/c_common/postgres_connection.h @@ -26,83 +26,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #pragma once -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wpedantic" -#pragma clang diagnostic ignored "-Wignored-attributes" -#else -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - - -#ifdef __MSVC__ -#pragma warning(disable : 4200) -#endif - #include - - -#ifdef __clang__ -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wsign-conversion" -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wunused-parameter" -# pragma clang diagnostic push -# pragma GCC diagnostic ignored "-Wconversion" - -#else -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wsign-conversion" -# pragma GCC diagnostic ignored "-Wconversion" -# pragma GCC diagnostic ignored "-Wunused-parameter" -# endif -#endif - - #include #include - -#ifdef __clang__ -#pragma clang diagnostic pop -#pragma clang diagnostic pop -#pragma clang diagnostic pop -#pragma clang diagnostic pop -#else -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#pragma GCC diagnostic pop -#pragma GCC diagnostic pop -#pragma GCC diagnostic pop -#endif -#endif - - -#include "utils/builtins.h" // for text_to_cstring - -#if PGSQL_VERSION > 92 -#include "access/htup_details.h" -#endif - -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-parameter" -#else -#ifdef __GNUC__ -#pragma GCC diagnostic ignored "-Wunused-parameter" -#endif -#endif - +#include // for text_to_cstring +#include #include -#ifdef __clang__ -#pragma clang diagnostic pop -#else -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif -#endif - - void pgr_send_error(int errcode); void pgr_SPI_finish(void); diff --git a/include/cpp_common/interruption.h b/include/cpp_common/interruption.h index db56b186f3f..c0968614102 100644 --- a/include/cpp_common/interruption.h +++ b/include/cpp_common/interruption.h @@ -26,43 +26,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #ifndef INCLUDE_CPP_COMMON_INTERRUPTION_H_ #define INCLUDE_CPP_COMMON_INTERRUPTION_H_ -/* - * Suppress the -Wpedantic warning temporarily about the postgres file - */ -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wpedantic" -#pragma clang diagnostic ignored "-Wignored-attributes" -#else -#ifdef __GNUC__ -#if __GNUC__ > 5 -#pragma GCC diagnostic ignored "-Wpedantic" -#else -#pragma GCC diagnostic ignored "-pedantic" -#endif -#endif -#endif - -#ifdef __MSVC__ -#pragma warning(disable : 4200) -#endif extern "C" { #include #include } -#ifdef __clang__ -#pragma clang diagnostic pop -#else -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif -#endif - - -#ifdef __MSVC__ -#pragma warning(default : 4200) -#endif - #endif // INCLUDE_CPP_COMMON_INTERRUPTION_H_ diff --git a/src/common/arrays_input.c b/src/common/arrays_input.c index af07ffdf735..8fd59adf04d 100644 --- a/src/common/arrays_input.c +++ b/src/common/arrays_input.c @@ -25,17 +25,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/arrays_input.h" #include -#include "utils/lsyscache.h" -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wignored-attributes" -#endif -#include "catalog/pg_type.h" - -#ifdef __clang__ -# pragma clang diagnostic pop -#endif - +#include +#include #include "c_common/time_msg.h" #include "c_common/debug_macro.h" diff --git a/src/common/get_check_data.c b/src/common/get_check_data.c index 78afdab422b..54dc2771b8a 100644 --- a/src/common/get_check_data.c +++ b/src/common/get_check_data.c @@ -207,7 +207,7 @@ pgr_SPI_getBigIntArr( */ ArrayType *pg_array = DatumGetArrayTypeP(raw_array); - return (int64_t*) pgr_get_bigIntArray(the_size, pg_array); + return pgr_get_bigIntArray((size_t*)the_size, pg_array); } From 4dd14804c328ceafde2193bc01e30529de678611 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 20:34:37 +0530 Subject: [PATCH 1095/1360] [binaryBreadthFirstSearch][sql] Added combinations signature --- .../_binaryBreadthFirstSearch.sql | 24 ++++++++++++- .../binaryBreadthFirstSearch.sql | 35 +++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/sql/breadthFirstSearch/_binaryBreadthFirstSearch.sql b/sql/breadthFirstSearch/_binaryBreadthFirstSearch.sql index fd3880a9391..70d82ad02fc 100644 --- a/sql/breadthFirstSearch/_binaryBreadthFirstSearch.sql +++ b/sql/breadthFirstSearch/_binaryBreadthFirstSearch.sql @@ -51,7 +51,29 @@ RETURNS SETOF RECORD AS LANGUAGE c IMMUTABLE STRICT; +--v3.2 +CREATE FUNCTION _pgr_binaryBreadthFirstSearch( + edges_sql TEXT, + combinations_sql TEXT, + directed BOOLEAN DEFAULT true, + + OUT seq 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 COMMENT ON FUNCTION _pgr_binaryBreadthFirstSearch(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) -IS 'pgRouting internal function'; \ No newline at end of file +IS 'pgRouting internal function'; + +COMMENT ON FUNCTION _pgr_binaryBreadthFirstSearch(TEXT, TEXT, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql b/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql index 2d6070e3f78..b2572cce6a9 100644 --- a/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql +++ b/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql @@ -123,6 +123,30 @@ $BODY$ $BODY$ LANGUAGE sql VOLATILE STRICT; + +-- COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_binaryBreadthFirstSearch( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + + OUT seq 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 a.seq, a.path_seq, a.start_vid, a.end_vid, a.node, a.edge, a.cost, a.agg_cost + FROM _pgr_binaryBreadthFirstSearch(_pgr_get_statement($1), _pgr_get_statement($2), $3) AS a; +$BODY$ +LANGUAGE SQL VOLATILE STRICT; + -- COMMENTS COMMENT ON FUNCTION pgr_binaryBreadthFirstSearch(TEXT, BIGINT, BIGINT, BOOLEAN) @@ -172,3 +196,14 @@ IS 'pgr_binaryBreadthFirstSearch(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_binaryBreadthFirstSearch.html '; + +COMMENT ON FUNCTION pgr_binaryBreadthFirstSearch(TEXT, TEXT, BOOLEAN) +IS 'pgr_binaryBreadthFirstSearch(Combinations) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Combinations SQL with columns: source, target +- Optional Parameters + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_binaryBreadthFirstSearch.html +'; From 539ea77ba332a4ce21a37e56b70ee8b4fafb4fff Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 20:38:36 +0530 Subject: [PATCH 1096/1360] [binaryBreadthFirstSearch][sig] Updated v3.2 signature file --- sql/sigs/pgrouting--3.2.sig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sigs/pgrouting--3.2.sig b/sql/sigs/pgrouting--3.2.sig index 33fd3df5ea4..291e0489326 100644 --- a/sql/sigs/pgrouting--3.2.sig +++ b/sql/sigs/pgrouting--3.2.sig @@ -58,6 +58,8 @@ pgr_binarybreadthfirstsearch(text,anyarray,anyarray,boolean) pgr_binarybreadthfirstsearch(text,anyarray,bigint,boolean) pgr_binarybreadthfirstsearch(text,bigint,anyarray,boolean) pgr_binarybreadthfirstsearch(text,bigint,bigint,boolean) +_pgr_binarybreadthfirstsearch(text,text,boolean) +pgr_binarybreadthfirstsearch(text,text,boolean) _pgr_bipartite(text) pgr_bipartite(text) _pgr_boost_version() From 6e390039508533cd970a5440bd17033de480fd11 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 21:53:05 +0530 Subject: [PATCH 1097/1360] [binaryBreadthFirstSearch][code] Updated code for combinations signature --- .../pgr_binaryBreadthFirstSearch.hpp | 41 ++++++++++++ .../binaryBreadthFirstSearch_driver.h | 3 + .../binaryBreadthFirstSearch.c | 65 +++++++++++++++---- .../binaryBreadthFirstSearch_driver.cpp | 17 +++-- 4 files changed, 109 insertions(+), 17 deletions(-) diff --git a/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp b/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp index 5ecbf1727d9..a8dcdd66a22 100644 --- a/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp +++ b/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp @@ -77,6 +77,47 @@ class Pgr_binaryBreadthFirstSearch { return paths; } + // preparation for parallel arrays + std::deque binaryBreadthFirstSearch( + G &graph, + const std::vector &combinations) { + std::deque paths; + + // group targets per distinct source + std::map< int64_t, std::vector > vertex_map; + for (const pgr_combination_t &comb : combinations) { + std::map< int64_t, std::vector >::iterator it = vertex_map.find(comb.source); + if (it != vertex_map.end()) { + it->second.push_back(comb.target); + } else { + std::vector targets{comb.target}; + vertex_map[comb.source] = targets; + } + } + + for (const auto &start_ends : vertex_map) { + std::deque result_paths = one_to_many_binaryBreadthFirstSearch( + graph, + start_ends.first, + start_ends.second); + paths.insert( + paths.begin(), + std::make_move_iterator(result_paths.begin()), + std::make_move_iterator(result_paths.end())); + } + + std::sort(paths.begin(), paths.end(), + [](const Path &e1, const Path &e2) -> bool { + return e1.end_id() < e2.end_id(); + }); + std::stable_sort(paths.begin(), paths.end(), + [](const Path &e1, const Path &e2) -> bool { + return e1.start_id() < e2.start_id(); + }); + + return paths; + } + private: E DEFAULT_EDGE; diff --git a/include/drivers/breadthFirstSearch/binaryBreadthFirstSearch_driver.h b/include/drivers/breadthFirstSearch/binaryBreadthFirstSearch_driver.h index 0e6e3ca3f06..8ca19929ced 100644 --- a/include/drivers/breadthFirstSearch/binaryBreadthFirstSearch_driver.h +++ b/include/drivers/breadthFirstSearch/binaryBreadthFirstSearch_driver.h @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/general_path_element_t.h" @@ -57,6 +58,8 @@ extern "C" { void do_pgr_binaryBreadthFirstSearch( pgr_edge_t *data_edges, size_t total_tuples, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, diff --git a/src/breadthFirstSearch/binaryBreadthFirstSearch.c b/src/breadthFirstSearch/binaryBreadthFirstSearch.c index f57b951f46f..6d7bb5d9e4c 100644 --- a/src/breadthFirstSearch/binaryBreadthFirstSearch.c +++ b/src/breadthFirstSearch/binaryBreadthFirstSearch.c @@ -38,6 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "c_common/combinations_input.h" #include "drivers/breadthFirstSearch/binaryBreadthFirstSearch_driver.h" @@ -47,6 +48,7 @@ PG_FUNCTION_INFO_V1(_pgr_binarybreadthfirstsearch); static void process( char *edges_sql, + char *combinations_sql, ArrayType *starts, ArrayType *ends, bool directed, @@ -58,14 +60,28 @@ process( PGR_DBG("Initializing arrays"); size_t size_start_vidsArr = 0; - int64_t *start_vidsArr = (int64_t *) - pgr_get_bigIntArray(&size_start_vidsArr, starts); - PGR_DBG("start_vidsArr size %ld ", size_start_vidsArr); + int64_t *start_vidsArr = NULL; size_t size_end_vidsArr = 0; - int64_t *end_vidsArr = (int64_t *) - pgr_get_bigIntArray(&size_end_vidsArr, ends); - PGR_DBG("end_vidsArr size %ld ", size_end_vidsArr); + int64_t *end_vidsArr = NULL; + + size_t total_combinations = 0; + pgr_combination_t *combinations = NULL; + + if (starts && ends) { + start_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_start_vidsArr, starts); + end_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_end_vidsArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + if (total_combinations == 0) { + if (combinations) + pfree(combinations); + pgr_SPI_finish(); + return; + } + } (*result_tuples) = NULL; (*result_count) = 0; @@ -94,6 +110,8 @@ process( do_pgr_binaryBreadthFirstSearch( edges, total_edges, + combinations, + total_combinations, start_vidsArr, size_start_vidsArr, end_vidsArr, size_end_vidsArr, @@ -154,13 +172,34 @@ PGDLLEXPORT Datum _pgr_binarybreadthfirstsearch(PG_FUNCTION_ARGS) { // directed BOOLEAN default true, PGR_DBG("Calling process"); - process( - text_to_cstring(PG_GETARG_TEXT_P(0)), - PG_GETARG_ARRAYTYPE_P(1), - PG_GETARG_ARRAYTYPE_P(2), - PG_GETARG_BOOL(3), - &result_tuples, - &result_count); + + if (PG_NARGS() == 4) { + /* + * many to many + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + NULL, + PG_GETARG_ARRAYTYPE_P(1), + PG_GETARG_ARRAYTYPE_P(2), + PG_GETARG_BOOL(3), + &result_tuples, + &result_count); + + } else if (PG_NARGS() == 3) { + /* + * combinations + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, + NULL, + PG_GETARG_BOOL(2), + &result_tuples, + &result_count); + } + /**********************************************************************/ diff --git a/src/breadthFirstSearch/binaryBreadthFirstSearch_driver.cpp b/src/breadthFirstSearch/binaryBreadthFirstSearch_driver.cpp index efcfbe846b2..b6551fc153e 100644 --- a/src/breadthFirstSearch/binaryBreadthFirstSearch_driver.cpp +++ b/src/breadthFirstSearch/binaryBreadthFirstSearch_driver.cpp @@ -46,6 +46,7 @@ template < class G > std::deque< Path > pgr_binaryBreadthFirstSearch( G &graph, + std::vector &combinations, std::vector < int64_t > sources, std::vector < int64_t > targets) { std::sort(sources.begin(), sources.end()); @@ -59,9 +60,9 @@ pgr_binaryBreadthFirstSearch( targets.end()); pgrouting::functions::Pgr_binaryBreadthFirstSearch< G > fn_binaryBreadthFirstSearch; - auto paths = fn_binaryBreadthFirstSearch.binaryBreadthFirstSearch( - graph, - sources, targets); + auto paths = combinations.empty() ? + fn_binaryBreadthFirstSearch.binaryBreadthFirstSearch(graph, sources, targets) + : fn_binaryBreadthFirstSearch.binaryBreadthFirstSearch(graph, combinations); return paths; } @@ -105,6 +106,8 @@ void do_pgr_binaryBreadthFirstSearch( pgr_edge_t *data_edges, size_t total_edges, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, @@ -127,6 +130,9 @@ do_pgr_binaryBreadthFirstSearch( pgassert(!(*err_msg)); pgassert(!(*return_tuples)); pgassert(*return_count == 0); + pgassert(data_edges); + pgassert((start_vidsArr && end_vidsArr) || combinations); + pgassert((size_start_vidsArr && size_end_vidsArr) || total_combinations); graphType gType = directed? DIRECTED: UNDIRECTED; @@ -135,7 +141,8 @@ do_pgr_binaryBreadthFirstSearch( start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); std::vector< int64_t > end_vertices(end_vidsArr, end_vidsArr + size_end_vidsArr); - + std::vector< pgr_combination_t > + combinations_vector(combinations, combinations + total_combinations); std::deque< Path >paths; if (directed) { @@ -150,6 +157,7 @@ do_pgr_binaryBreadthFirstSearch( } paths = pgr_binaryBreadthFirstSearch( digraph, + combinations_vector, start_vertices, end_vertices); @@ -166,6 +174,7 @@ do_pgr_binaryBreadthFirstSearch( paths = pgr_binaryBreadthFirstSearch( undigraph, + combinations_vector, start_vertices, end_vertices); } From 4a8be92066253ac0e9ffeeed87617912b9ebe780 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 21:54:17 +0530 Subject: [PATCH 1098/1360] [binaryBreadthFirstSearch][pgtap] Added tests for combinations signature --- .../binaryBreadthFirstSearch-types-check.sql | 12 ++++- .../empty_combinations_empty_result.test.sql | 24 +++++++++ .../many_to_many_eq_combinations.test.sql | 51 +++++++++++++++++++ ...no_crash_test-binaryBreadthFirstSearch.sql | 43 +++++++++++++++- 4 files changed, 127 insertions(+), 3 deletions(-) create mode 100644 pgtap/breadthFirstSearch/binaryBreadthFirstSearch/empty_combinations_empty_result.test.sql create mode 100644 pgtap/breadthFirstSearch/binaryBreadthFirstSearch/many_to_many_eq_combinations.test.sql diff --git a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-types-check.sql b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-types-check.sql index a51c10d4069..0ef52f47aed 100644 --- a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-types-check.sql +++ b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/binaryBreadthFirstSearch-types-check.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(14); +SELECT plan(17); SET client_min_messages TO ERROR; @@ -12,10 +12,12 @@ SELECT has_function('pgr_binarybreadthfirstsearch', ARRAY['text','bigint','bigin SELECT has_function('pgr_binarybreadthfirstsearch', ARRAY['text','bigint','anyarray','boolean']); SELECT has_function('pgr_binarybreadthfirstsearch', ARRAY['text','anyarray','bigint','boolean']); SELECT has_function('pgr_binarybreadthfirstsearch', ARRAY['text','anyarray','anyarray','boolean']); +SELECT has_function('pgr_binarybreadthfirstsearch', ARRAY['text','text','boolean']); SELECT function_returns('pgr_binarybreadthfirstsearch', ARRAY['text','bigint','bigint','boolean'], 'setof record'); SELECT function_returns('pgr_binarybreadthfirstsearch', ARRAY['text','bigint','anyarray','boolean'], 'setof record'); SELECT function_returns('pgr_binarybreadthfirstsearch', ARRAY['text','anyarray','bigint','boolean'], 'setof record'); SELECT function_returns('pgr_binarybreadthfirstsearch', ARRAY['text','anyarray','anyarray','boolean'], 'setof record'); +SELECT function_returns('pgr_binarybreadthfirstsearch', ARRAY['text','text','boolean'], 'setof record'); -- pgr_binarybreadthfirstsearch -- parameter names @@ -39,6 +41,11 @@ SELECT bag_has( $$SELECT '{"","","","directed","seq","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ ); +SELECT bag_has( + $$SELECT proargnames from pg_proc where proname = 'pgr_binarybreadthfirstsearch'$$, + $$SELECT '{"","",directed,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost}'::TEXT[] $$ +); + -- parameter types SELECT set_eq( $$SELECT proallargtypes from pg_proc where proname = 'pgr_binarybreadthfirstsearch'$$, @@ -46,7 +53,8 @@ SELECT set_eq( ('{25,20,20,16,23,23,20,20,701,701}'::OID[]), ('{25,20,2277,16,23,23,20,20,20,701,701}'::OID[]), ('{25,2277,20,16,23,23,20,20,20,701,701}'::OID[]), - ('{25,2277,2277,16,23,23,20,20,20,20,701,701}'::OID[]) + ('{25,2277,2277,16,23,23,20,20,20,20,701,701}'::OID[]), + ('{25,25,16,23,23,20,20,20,20,701,701}'::OID[]) $$ ); diff --git a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/empty_combinations_empty_result.test.sql b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..d93bfd73ce5 --- /dev/null +++ b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/empty_combinations_empty_result.test.sql @@ -0,0 +1,24 @@ +\i setup.sql + +SELECT plan(1); + +CREATE OR REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT seq, path_seq, node, edge, cost, agg_cost FROM pgr_binaryBreadthFirstSearch( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +SELECT * FROM foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/many_to_many_eq_combinations.test.sql b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/many_to_many_eq_combinations.test.sql new file mode 100644 index 00000000000..9f6938a8026 --- /dev/null +++ b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/many_to_many_eq_combinations.test.sql @@ -0,0 +1,51 @@ +\i setup.sql + +SELECT plan(1); + +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); + +CREATE OR REPLACE FUNCTION foo( sql_TestFunction TEXT, cant INTEGER default 18 ) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +sql_Combinations TEXT; +sql_Many TEXT; +BEGIN + + sql_Combinations := ''; + sql_Many := ''; + FOR i IN 1.. cant LOOP + IF (i > 1) THEN + sql_Many := sql_Many ||', '; + END IF; + sql_Many := sql_Many || i ; + END LOOP; + + FOR i IN 1.. cant LOOP + FOR j IN 1..cant LOOP + IF NOT (i = j) THEN + sql_Combinations := sql_Combinations || '(' || i || ',' || j || '),' ; + END IF; + END LOOP; + END LOOP; + sql_Combinations := trim(trailing ',' from sql_Combinations); + + sql_Many := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ARRAY[' || sql_Many ||'], ARRAY[' || sql_Many || '] ) '); + + sql_Combinations := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ''SELECT * FROM (VALUES' || sql_Combinations ||') AS combinations (source, target)'' ) '); + + RETURN query SELECT set_eq( sql_Many, sql_Combinations ); + RETURN; +END +$BODY$ +language plpgsql; + +SELECT * FROM foo('SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_binaryBreadthFirstSearch'); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/no_crash_test-binaryBreadthFirstSearch.sql b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/no_crash_test-binaryBreadthFirstSearch.sql index f10a1d3639f..39855ebb74f 100644 --- a/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/no_crash_test-binaryBreadthFirstSearch.sql +++ b/pgtap/breadthFirstSearch/binaryBreadthFirstSearch/no_crash_test-binaryBreadthFirstSearch.sql @@ -1,19 +1,27 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(131); +SELECT plan(157); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; +PREPARE combinations AS +SELECT source, target FROM combinations_table; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -98,6 +106,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_binaryBreadthFirstSearch', params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_binaryBreadthFirstSearch', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_binaryBreadthFirstSearch', params, subs); + -- using roadworks -- one to one params_roadworks = ARRAY[ @@ -171,6 +194,24 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_binaryBreadthFirstSearch', params_roadworks, subs_roadworks); + -- Combinations SQL + params_roadworks = ARRAY[ + '$$SELECT id, source, target, road_work as cost, reverse_road_work as reverse_cost FROM roadworks$$', + '$$combinations$$' + ]::TEXT[]; + subs_roadworks = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_binaryBreadthFirstSearch', params_roadworks, subs_roadworks); + + subs_roadworks = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_binaryBreadthFirstSearch', params_roadworks, subs_roadworks); + END $BODY$ LANGUAGE plpgsql VOLATILE; From 51a49698bd577a9daf9982c50c008f394408590a Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 00:11:50 +0530 Subject: [PATCH 1099/1360] [binaryBreadthFirstSearch][docqueries] Added for combinations signature --- .../doc-pgr_binaryBreadthFirstSearch.result | 15 +++++++ .../doc-pgr_binaryBreadthFirstSearch.test.sql | 42 +++++++++++-------- 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/docqueries/breadthFirstSearch/doc-pgr_binaryBreadthFirstSearch.result b/docqueries/breadthFirstSearch/doc-pgr_binaryBreadthFirstSearch.result index a1da4383be4..82e1d67bc7c 100644 --- a/docqueries/breadthFirstSearch/doc-pgr_binaryBreadthFirstSearch.result +++ b/docqueries/breadthFirstSearch/doc-pgr_binaryBreadthFirstSearch.result @@ -120,5 +120,20 @@ SELECT * FROM pgr_binaryBreadthFirstSearch( (12 rows) -- q6 +SELECT * FROM pgr_binaryBreadthFirstSearch( + 'SELECT id, source, target, road_work as cost, reverse_road_work as reverse_cost FROM roadworks', + 'SELECT * FROM ( VALUES (2, 3), (11, 5) ) AS t(source, target)', + FALSE +); + seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 2 | 3 | 2 | 2 | 1 | 0 + 2 | 2 | 2 | 3 | 3 | -1 | 0 | 1 + 3 | 1 | 11 | 5 | 11 | 12 | 0 | 0 + 4 | 2 | 11 | 5 | 10 | 10 | 1 | 0 + 5 | 3 | 11 | 5 | 5 | -1 | 0 | 1 +(5 rows) + +-- q7 ROLLBACK; ROLLBACK diff --git a/docqueries/breadthFirstSearch/doc-pgr_binaryBreadthFirstSearch.test.sql b/docqueries/breadthFirstSearch/doc-pgr_binaryBreadthFirstSearch.test.sql index f8984a3be9c..f9e9241f507 100644 --- a/docqueries/breadthFirstSearch/doc-pgr_binaryBreadthFirstSearch.test.sql +++ b/docqueries/breadthFirstSearch/doc-pgr_binaryBreadthFirstSearch.test.sql @@ -13,23 +13,23 @@ CREATE table roadworks ( INSERT INTO roadworks( id, source, target, road_work, reverse_road_work) VALUES - (1, 1, 2, 0, 0), - (2, 2, 3, -1, 1), - (3, 3, 4, -1, 0), - (4, 2, 5, 0, 0), - (5, 3, 6, 1, -1), - (6, 7, 8, 1, 1), - (7, 8, 5, 0, 0), - (8, 5, 6, 1, 1), - (9, 6, 9, 1, 1), - (10, 5, 10, 1, 1), - (11, 6, 11, 1, -1), - (12, 10, 11, 0, -1), - (13, 11, 12, 1, -1), - (14, 10, 13, 1, 1), - (15, 9, 12, 0, 0), - (16, 4, 9, 0, 0), - (17, 14, 15, 0, 0), + (1, 1, 2, 0, 0), + (2, 2, 3, -1, 1), + (3, 3, 4, -1, 0), + (4, 2, 5, 0, 0), + (5, 3, 6, 1, -1), + (6, 7, 8, 1, 1), + (7, 8, 5, 0, 0), + (8, 5, 6, 1, 1), + (9, 6, 9, 1, 1), + (10, 5, 10, 1, 1), + (11, 6, 11, 1, -1), + (12, 10, 11, 0, -1), + (13, 11, 12, 1, -1), + (14, 10, 13, 1, 1), + (15, 9, 12, 0, 0), + (16, 4, 9, 0, 0), + (17, 14, 15, 0, 0), (18, 16, 17, 0, 0); \echo --data-end @@ -62,4 +62,10 @@ SELECT * FROM pgr_binaryBreadthFirstSearch( ARRAY[2,11], ARRAY[3,5], FALSE ); -\echo -- q6 \ No newline at end of file +\echo -- q6 +SELECT * FROM pgr_binaryBreadthFirstSearch( + 'SELECT id, source, target, road_work as cost, reverse_road_work as reverse_cost FROM roadworks', + 'SELECT * FROM ( VALUES (2, 3), (11, 5) ) AS t(source, target)', + FALSE +); +\echo -- q7 From 3894518c5fa5252013698630b0b44fcb20247b08 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 00:17:29 +0530 Subject: [PATCH 1100/1360] [binaryBreadthFirstSearch][doc] Added combinations signature --- .../pgr_binaryBreadthFirstSearch.rst | 86 +++++++++++++------ 1 file changed, 59 insertions(+), 27 deletions(-) diff --git a/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst b/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst index a78df1d8b35..afedae24ab1 100644 --- a/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst +++ b/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst @@ -24,7 +24,15 @@ Any graph whose edge-weights belongs to the set {0,X}, where 'X' is any non-nega .. rubric:: Availability -* To-be experimental on v3.0.0 +* Version 3.2.0 + + * New **experimental** function: + + * pgr_binaryBreadthFirstSearch(Combinations) + +* Version 3.0.0 + + * New **experimental** function Description ------------------------------------------------------------------------------- @@ -52,16 +60,17 @@ Signatures .. code-block:: none - pgr_binaryBreadthFirstSearch(edges_sql, start_vid, end_vid [, directed]) - pgr_binaryBreadthFirstSearch(edges_sql, start_vid, end_vids [, directed]) - pgr_binaryBreadthFirstSearch(edges_sql, start_vids, end_vid [, directed]) - pgr_binaryBreadthFirstSearch(edges_sql, start_vids, end_vids [, directed]) + pgr_binaryBreadthFirstSearch(Edges SQL, start_vid, end_vid [, directed]) + pgr_binaryBreadthFirstSearch(Edges SQL, start_vid, end_vids [, directed]) + pgr_binaryBreadthFirstSearch(Edges SQL, start_vids, end_vid [, directed]) + pgr_binaryBreadthFirstSearch(Edges SQL, start_vids, end_vids [, directed]) + pgr_binaryBreadthFirstSearch(Edges SQL, Combinations SQL [, directed]) -- Proposed on v3.2 RETURNS SET OF (seq, path_seq [, start_vid] [, end_vid], node, edge, cost, agg_cost) OR EMPTY SET .. code-block:: none - pgr_binaryBreadthFirstSearch(TEXT edges_sql, BIGINT start_vid, BIGINT end_vid) + pgr_binaryBreadthFirstSearch(Edges SQL, start_vid, end_vid) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) or EMPTY SET :Example: From vertex :math:`2` to vertex :math:`3` on a **directed** binary graph @@ -78,8 +87,7 @@ One to One .. code-block:: none - pgr_binaryBreadthFirstSearch(TEXT edges_sql, BIGINT start_vid, BIGINT end_vid, - BOOLEAN directed:=true); + pgr_binaryBreadthFirstSearch(Edges SQL, start_vid, end_vid [, directed]); RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -97,8 +105,7 @@ One to many .. code-block:: none - pgr_binaryBreadthFirstSearch(TEXT edges_sql, BIGINT start_vid, ARRAY[ANY_INTEGER] end_vids, - BOOLEAN directed:=true); + pgr_binaryBreadthFirstSearch(Edges SQL, start_vid, end_vids [, directed]); RETURNS SET OF (seq, path_seq, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -116,8 +123,7 @@ Many to One .. code-block:: none - pgr_binaryBreadthFirstSearch(TEXT edges_sql, ARRAY[ANY_INTEGER] start_vids, BIGINT end_vid, - BOOLEAN directed:=true); + pgr_binaryBreadthFirstSearch(Edges SQL, start_vids, end_vid [, directed]); RETURNS SET OF (seq, path_seq, start_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -135,8 +141,7 @@ Many to Many .. code-block:: none - pgr_binaryBreadthFirstSearch(TEXT edges_sql, ARRAY[ANY_INTEGER] start_vids, ARRAY[ANY_INTEGER] end_vids, - BOOLEAN directed:=true); + pgr_binaryBreadthFirstSearch(Edges SQL, start_vids, end_vids [, directed]); RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -146,34 +151,61 @@ Many to Many :start-after: -- q5 :end-before: -- q6 +.. index:: + single: Binary Breadth First Search(Combinations) -- Experimental on v3.2 + +Combinations +............................................................................... + +.. code-block:: none + + pgr_binaryBreadthFirstSearch(Edges SQL, Combinations SQL [, directed]); + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table on an **undirected** binary graph. + +.. literalinclude:: doc-pgr_binaryBreadthFirstSearch.queries + :start-after: -- q6 + :end-before: -- q7 + Parameters ------------------------------------------------------------------------------- .. pgr_binaryBreadthFirstSearch_parameters_start -============== ================== ======== ================================================= -Parameter Type Default Description -============== ================== ======== ================================================= -**edges_sql** ``TEXT`` Inner SQL query as described below. -**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. -**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. -**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. -**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. -**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` - - When ``false`` the graph is considered as `Undirected`. -============== ================== ======== ================================================= +===================== ================== ======== ================================================= +Parameter Type Default Description +===================== ================== ======== ================================================= +**Edges SQL** ``TEXT`` Edges query as described below. +**Combinations SQL** ``TEXT`` Combinations query as described below. +**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. +**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. +**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. +**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. +**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` + - When ``false`` the graph is considered as `Undirected`. +===================== ================== ======== ================================================= .. pgr_binaryBreadthFirstSearch_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- -.. rubric::edges_sql +Edges query +............................................................................... .. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start :end-before: basic_edges_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Return Columns ------------------------------------------------------------------------------- From db9598c1c7012444f4ea7c04f87c93d4b5a494f4 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 00:18:22 +0530 Subject: [PATCH 1101/1360] [binaryBreadthFirstSearch][doc] Updated release_notes and NEWS --- NEWS | 1 + doc/src/release_notes.rst | 1 + 2 files changed, 2 insertions(+) diff --git a/NEWS b/NEWS index d020fddf474..fe5b3857194 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ pgRouting 3.2.0 Release Notes *New experimental functions* * pgr_bellmanFord(Combinations) +* pgr_binaryBreadthFirstSearch(Combinations) * pgr_depthFirstSearch * pgr_dijkstraNear(One to Many) * pgr_dijkstraNear(Many to One) diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 5f7b0374c33..8a9410b703e 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -64,6 +64,7 @@ pgRouting 3.2.0 Release Notes .. rubric:: New experimental functions * pgr_bellmanFord(Combinations) +* pgr_binaryBreadthFirstSearch(Combinations) * pgr_depthFirstSearch * pgr_dijkstraNear(One to Many) * pgr_dijkstraNear(Many to One) From e90d53d19df0be8b9114740c190c4ecce22888dc Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 11:30:21 +0530 Subject: [PATCH 1102/1360] [dagShortestPath][sql] Added combinations signature --- sql/dagShortestPath/_dagShortestPath.sql | 21 +++++++++++++++ sql/dagShortestPath/dagShortestPath.sql | 34 +++++++++++++++++++++++- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/sql/dagShortestPath/_dagShortestPath.sql b/sql/dagShortestPath/_dagShortestPath.sql index e01fc94246a..9b4756edf40 100644 --- a/sql/dagShortestPath/_dagShortestPath.sql +++ b/sql/dagShortestPath/_dagShortestPath.sql @@ -56,7 +56,28 @@ RETURNS SETOF RECORD AS 'MODULE_PATHNAME' LANGUAGE c IMMUTABLE STRICT; +--v3.2 +CREATE FUNCTION _pgr_dagShortestPath( + TEXT, + TEXT, + directed BOOLEAN DEFAULT true, + only_cost BOOLEAN DEFAULT false, + + OUT seq INTEGER, + OUT path_seq INTEGER, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) + +RETURNS SETOF RECORD AS +'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + -- COMMENTS COMMENT ON FUNCTION _pgr_dagShortestPath(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, BOOLEAN) IS 'pgRouting internal function'; + +COMMENT ON FUNCTION _pgr_dagShortestPath(TEXT, TEXT, BOOLEAN, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/dagShortestPath/dagShortestPath.sql b/sql/dagShortestPath/dagShortestPath.sql index f36f96feb24..aae63953102 100644 --- a/sql/dagShortestPath/dagShortestPath.sql +++ b/sql/dagShortestPath/dagShortestPath.sql @@ -126,6 +126,29 @@ LANGUAGE sql VOLATILE STRICT COST 100 ROWS 1000; + +-- COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_dagShortestPath( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + OUT seq INTEGER, + OUT path_seq INTEGER, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) + +RETURNS SETOF RECORD AS +$BODY$ + SELECT a.seq, a.path_seq, a.node, a.edge, a.cost, a.agg_cost + FROM _pgr_dagShortestPath(_pgr_get_statement($1), _pgr_get_statement($2), true, false ) AS a; +$BODY$ +LANGUAGE sql VOLATILE STRICT +COST 100 +ROWS 1000; + -- COMMENTS COMMENT ON FUNCTION pgr_dagShortestPath(TEXT, BIGINT, BIGINT) @@ -156,7 +179,7 @@ IS 'pgr_dagShortestPath(Many to One) - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - From ARRAY[vertices identifiers] - - To vertex identifier + - To vertex identifier - Documentation: - ${PGROUTING_DOC_LINK}/pgr_dagShortestPath.html '; @@ -172,3 +195,12 @@ IS 'pgr_dagShortestPath(Many to Many) - ${PGROUTING_DOC_LINK}/pgr_dagShortestPath.html '; +COMMENT ON FUNCTION pgr_dagShortestPath(TEXT, TEXT) +IS 'pgr_dagShortestPath(Combinations) +- EXPERIMENTAL +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Combinations SQL with columns: source, target +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_dagShortestPath.html +'; From 2211a51de2fbcf2c5304d532a1a12c25f938ba3d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 20:38:47 +0530 Subject: [PATCH 1103/1360] [dagShortestPath][sig] Updated v3.2 signature file --- sql/sigs/pgrouting--3.2.sig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sigs/pgrouting--3.2.sig b/sql/sigs/pgrouting--3.2.sig index 291e0489326..c98826b4d15 100644 --- a/sql/sigs/pgrouting--3.2.sig +++ b/sql/sigs/pgrouting--3.2.sig @@ -93,6 +93,8 @@ _pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean) pgr_dagshortestpath(text,anyarray,bigint) pgr_dagshortestpath(text,bigint,anyarray) pgr_dagshortestpath(text,bigint,bigint) +pgr_dagshortestpath(text,text) +_pgr_dagshortestpath(text,text,boolean,boolean) _pgr_depthfirstsearch(text,anyarray,boolean,bigint) pgr_depthfirstsearch(text,anyarray,boolean,bigint) pgr_depthfirstsearch(text,bigint,boolean,bigint) From 8e74d0552f7c3cb50611b9e9903b453204b0a314 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 01:32:52 +0530 Subject: [PATCH 1104/1360] [dagShortestPath][code] Updated code for combinations signature --- .../dagShortestPath/pgr_dagShortestPath.hpp | 34 +++++++ .../dagShortestPath/dagShortestPath_driver.h | 11 +-- src/dagShortestPath/dagShortestPath.c | 92 +++++++++---------- .../dagShortestPath_driver.cpp | 23 +++-- 4 files changed, 96 insertions(+), 64 deletions(-) diff --git a/include/dagShortestPath/pgr_dagShortestPath.hpp b/include/dagShortestPath/pgr_dagShortestPath.hpp index 5937737f44e..81c25484213 100644 --- a/include/dagShortestPath/pgr_dagShortestPath.hpp +++ b/include/dagShortestPath/pgr_dagShortestPath.hpp @@ -183,6 +183,40 @@ class Pgr_dag { return paths; } + // preparation for parallel arrays + std::deque dag( + G &graph, + const std::vector &combinations, + bool only_cost) { + std::deque paths; + + // group targets per distinct source + std::map< int64_t, std::vector > vertex_map; + for (const pgr_combination_t &comb : combinations) { + std::map< int64_t, std::vector >::iterator it = vertex_map.find(comb.source); + if (it != vertex_map.end()) { + it->second.push_back(comb.target); + } else { + std::vector targets{comb.target}; + vertex_map[comb.source] = targets; + } + } + + for (const auto &start_ends : vertex_map) { + auto result_paths = dag( + graph, + start_ends.first, + start_ends.second, + only_cost); + paths.insert( + paths.end(), + std::make_move_iterator(result_paths.begin()), + std::make_move_iterator(result_paths.end())); + } + + return paths; + } + //@} private: diff --git a/include/drivers/dagShortestPath/dagShortestPath_driver.h b/include/drivers/dagShortestPath/dagShortestPath_driver.h index f5abc34e330..20f7dbdc9d9 100644 --- a/include/drivers/dagShortestPath/dagShortestPath_driver.h +++ b/include/drivers/dagShortestPath/dagShortestPath_driver.h @@ -39,25 +39,20 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/general_path_element_t.h" #ifdef __cplusplus extern "C" { #endif - /********************************************************* - TEXT, - BIGINT, - BIGINT, - directed BOOLEAN DEFAULT true, - only_cost BOOLEAN DEFAULT false, - ********************************************************/ - void do_pgr_dagShortestPath( pgr_edge_t *data_edges, size_t total_tuples, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, diff --git a/src/dagShortestPath/dagShortestPath.c b/src/dagShortestPath/dagShortestPath.c index 1559e06c244..10f6da4647f 100644 --- a/src/dagShortestPath/dagShortestPath.c +++ b/src/dagShortestPath/dagShortestPath.c @@ -37,20 +37,18 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/time_msg.h" #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "c_common/combinations_input.h" #include "drivers/dagShortestPath/dagShortestPath_driver.h" // the link to the C++ code of the function PGDLLEXPORT Datum _pgr_dagshortestpath(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(_pgr_dagshortestpath); -/******************************************************************************/ -/* MODIFY AS NEEDED */ static void process( char* edges_sql, - /* int64_t start_vid, - int64_t end_vid,*/ + char* combinations_sql, ArrayType *starts, ArrayType *ends, bool directed, @@ -67,15 +65,28 @@ process( PGR_DBG("Initializing arrays"); size_t size_start_vidsArr = 0; - int64_t* start_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_start_vidsArr, starts); - PGR_DBG("start_vidsArr size %ld ", size_start_vidsArr); + int64_t* start_vidsArr = NULL; size_t size_end_vidsArr = 0; - int64_t* end_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_end_vidsArr, ends); - PGR_DBG("end_vidsArr size %ld ", size_end_vidsArr); - + int64_t* end_vidsArr = NULL; + + size_t total_combinations = 0; + pgr_combination_t *combinations = NULL; + + if (starts && ends) { + start_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_start_vidsArr, starts); + end_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_end_vidsArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + if (total_combinations == 0) { + if (combinations) + pfree(combinations); + pgr_SPI_finish(); + return; + } + } (*result_tuples) = NULL; (*result_count) = 0; @@ -101,6 +112,8 @@ process( do_pgr_dagShortestPath( edges, total_edges, + combinations, + total_combinations, start_vidsArr, size_start_vidsArr, end_vidsArr, size_end_vidsArr, @@ -138,13 +151,8 @@ PGDLLEXPORT Datum _pgr_dagshortestpath(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; TupleDesc tuple_desc; - /**************************************************************************/ - /* MODIFY AS NEEDED */ - /* */ General_path_element_t *result_tuples = NULL; size_t result_count = 0; - /* */ - /**************************************************************************/ if (SRF_IS_FIRSTCALL()) { MemoryContext oldcontext; @@ -152,20 +160,14 @@ PGDLLEXPORT Datum _pgr_dagshortestpath(PG_FUNCTION_ARGS) { oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - /* MODIFY AS NEEDED */ - /* - TEXT, - BIGINT, - BIGINT, - directed BOOLEAN DEFAULT true, - only_cost BOOLEAN DEFAULT false, - **********************************************************************/ - - PGR_DBG("Calling process"); - process( + if (PG_NARGS() == 5) { + /* + * many to many + */ + process( text_to_cstring(PG_GETARG_TEXT_P(0)), + NULL, PG_GETARG_ARRAYTYPE_P(1), PG_GETARG_ARRAYTYPE_P(2), PG_GETARG_BOOL(3), @@ -173,9 +175,23 @@ PGDLLEXPORT Datum _pgr_dagshortestpath(PG_FUNCTION_ARGS) { &result_tuples, &result_count); + } else if (PG_NARGS() == 4) { + /* + * combinations + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, + NULL, + PG_GETARG_BOOL(2), + PG_GETARG_BOOL(3), + &result_tuples, + &result_count); + } + + - /* */ - /**********************************************************************/ #if PGSQL_VERSION > 95 funcctx->max_calls = result_count; @@ -205,16 +221,6 @@ PGDLLEXPORT Datum _pgr_dagshortestpath(PG_FUNCTION_ARGS) { Datum *values; bool* nulls; - /**********************************************************************/ - /* MODIFY AS NEEDED */ - /* - OUT seq INTEGER, - OUT path_seq INTEGER, - OUT node BIGINT, - OUT edge BIGINT, - OUT cost FLOAT, - OUT agg_cost FLOAT - ***********************************************************************/ values = palloc(6 * sizeof(Datum)); nulls = palloc(6 * sizeof(bool)); @@ -232,19 +238,13 @@ PGDLLEXPORT Datum _pgr_dagshortestpath(PG_FUNCTION_ARGS) { values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); values[4] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); values[5] = Float8GetDatum(result_tuples[funcctx->call_cntr].agg_cost); - /**********************************************************************/ tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); } else { - /**********************************************************************/ - /* MODIFY AS NEEDED */ PGR_DBG("Clean up code"); - - /**********************************************************************/ - SRF_RETURN_DONE(funcctx); } } diff --git a/src/dagShortestPath/dagShortestPath_driver.cpp b/src/dagShortestPath/dagShortestPath_driver.cpp index 2db49422368..2be2580d610 100644 --- a/src/dagShortestPath/dagShortestPath_driver.cpp +++ b/src/dagShortestPath/dagShortestPath_driver.cpp @@ -42,19 +42,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -/************************************************************ - TEXT, - BIGINT, - BIGINT, - directed BOOLEAN DEFAULT true, - only_cost BOOLEAN DEFAULT false, - ***********************************************************/ - template < class G > std::deque< Path > pgr_dagShortestPath( G &graph, + std::vector &combinations, std::vector < int64_t > sources, std::vector < int64_t > targets, bool only_cost = false) { @@ -70,7 +62,9 @@ pgr_dagShortestPath( Pgr_dag< G > fn_dag; - auto paths = fn_dag.dag(graph, sources, targets, only_cost); + auto paths = combinations.empty() ? + fn_dag.dag(graph, sources, targets, only_cost) + : fn_dag.dag(graph, combinations, only_cost); return paths; } @@ -80,6 +74,8 @@ void do_pgr_dagShortestPath( pgr_edge_t *data_edges, size_t total_edges, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, @@ -102,6 +98,9 @@ do_pgr_dagShortestPath( pgassert(!(*return_tuples)); pgassert(*return_count == 0); pgassert(total_edges != 0); + pgassert(data_edges); + pgassert((start_vidsArr && end_vidsArr) || combinations); + pgassert((size_start_vidsArr && size_end_vidsArr) || total_combinations); graphType gType = directed? DIRECTED: UNDIRECTED; @@ -110,6 +109,8 @@ do_pgr_dagShortestPath( start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); std::vector< int64_t > end_vertices(end_vidsArr, end_vidsArr + size_end_vidsArr); + std::vector< pgr_combination_t > + combinations_vector(combinations, combinations + total_combinations); std::deque< Path >paths; @@ -118,6 +119,7 @@ do_pgr_dagShortestPath( pgrouting::DirectedGraph digraph(gType); digraph.insert_edges(data_edges, total_edges); paths = pgr_dagShortestPath(digraph, + combinations_vector, start_vertices, end_vertices, only_cost); @@ -127,6 +129,7 @@ do_pgr_dagShortestPath( undigraph.insert_edges(data_edges, total_edges); paths = pgr_dagShortestPath( undigraph, + combinations_vector, start_vertices, end_vertices, only_cost); From 13ae9524060a66230ee3bdd19e5b8c894e3a8304 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 01:34:42 +0530 Subject: [PATCH 1105/1360] [dagShortestPath][pgtap] Added missing types check --- pgtap/dagShortestPath/dagShortestPath-typesCheck.sql | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql b/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql index aa060207e42..4b7cbc2553d 100644 --- a/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql +++ b/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql @@ -1,6 +1,6 @@ UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(10); +SELECT plan(11); SELECT has_function('pgr_dagshortestpath'); @@ -20,3 +20,13 @@ SELECT bag_has( $$SELECT '{"","","","seq","path_seq","node","edge","cost","agg_cost"}'::TEXT[] $$ ); +-- parameter types +SELECT set_eq( + $$SELECT proallargtypes from pg_proc where proname = 'pgr_dagshortestpath'$$, + $$VALUES + ('{25,20,20,23,23,20,20,701,701}'::OID[]), + ('{25,20,2277,23,23,20,20,701,701}'::OID[]), + ('{25,2277,20,23,23,20,20,701,701}'::OID[]), + ('{25,2277,2277,23,23,20,20,701,701}'::OID[]) + $$ +); From a211b646eb03a5012ecb81dc414cf3233c281325 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 12:00:58 +0530 Subject: [PATCH 1106/1360] [dagShortestPath][pgtap] Added missing no crash tests --- .../no_crash_test-dagShortestPath.test.sql | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 pgtap/dagShortestPath/no_crash_test-dagShortestPath.test.sql diff --git a/pgtap/dagShortestPath/no_crash_test-dagShortestPath.test.sql b/pgtap/dagShortestPath/no_crash_test-dagShortestPath.test.sql new file mode 100644 index 00000000000..f707e3bed4f --- /dev/null +++ b/pgtap/dagShortestPath/no_crash_test-dagShortestPath.test.sql @@ -0,0 +1,106 @@ +\i setup.sql + +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); +SELECT plan(67); + +PREPARE edges AS +SELECT id, source, target, cost FROM edge_table; + +PREPARE null_ret AS +SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); + +PREPARE null_ret_arr AS +SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); + +SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); + + +CREATE OR REPLACE FUNCTION test_function() +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +params TEXT[]; +subs TEXT[]; +BEGIN + -- one to one + params = ARRAY[ + '$$SELECT id, source, target, cost FROM edge_table$$' + ,'1::BIGINT', + '2::BIGINT' + ]::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dagShortestPath', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_dagShortestPath', params, subs); + + -- one to many + params = ARRAY['$$edges$$','1', 'ARRAY[2,5]::BIGINT[]']::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dagShortestPath', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT', + 'NULL::BIGINT[]' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_dagShortestPath', params, subs); + + -- many to one + params = ARRAY['$$edges$$', 'ARRAY[1]::BIGINT[]', '2']::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dagShortestPath', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_dagShortestPath', params, subs); + + -- many to many + params = ARRAY['$$edges$$','ARRAY[1]::BIGINT[]', 'ARRAY[2,5]::BIGINT[]']::TEXT[]; + subs = ARRAY[ + 'NULL', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))', + '(SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1))' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dagShortestPath', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::BIGINT[]', + 'NULL::BIGINT[]' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_dagShortestPath', params, subs); + +END +$BODY$ +LANGUAGE plpgsql VOLATILE; + + +SELECT * FROM test_function(); + +ROLLBACK; From 05551b0d45414686e8f3f6bf0c379515f6802d8c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 12:01:45 +0530 Subject: [PATCH 1107/1360] [dagShortestPath][pgtap] Added tests for combinations signature --- .../dagShortestPath-typesCheck.sql | 12 ++++- .../empty_combinations_empty_result.test.sql | 24 +++++++++ .../many_to_many_eq_combinations.test.sql | 51 +++++++++++++++++++ .../no_crash_test-dagShortestPath.test.sql | 25 ++++++++- 4 files changed, 109 insertions(+), 3 deletions(-) create mode 100644 pgtap/dagShortestPath/empty_combinations_empty_result.test.sql create mode 100644 pgtap/dagShortestPath/many_to_many_eq_combinations.test.sql diff --git a/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql b/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql index 4b7cbc2553d..10cede96203 100644 --- a/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql +++ b/pgtap/dagShortestPath/dagShortestPath-typesCheck.sql @@ -1,6 +1,6 @@ UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(11); +SELECT plan(14); SELECT has_function('pgr_dagshortestpath'); @@ -8,11 +8,13 @@ SELECT has_function('pgr_dagshortestpath', ARRAY[ 'text', 'bigint', 'bigint' ]); SELECT has_function('pgr_dagshortestpath', ARRAY[ 'text', 'anyarray', 'bigint' ]); SELECT has_function('pgr_dagshortestpath', ARRAY[ 'text', 'bigint', 'anyarray' ]); SELECT has_function('pgr_dagshortestpath', ARRAY[ 'text', 'anyarray', 'anyarray' ]); +SELECT has_function('pgr_dagshortestpath', ARRAY[ 'text', 'text' ]); SELECT function_returns('pgr_dagshortestpath', ARRAY[ 'text', 'bigint', 'bigint' ], 'setof record'); SELECT function_returns('pgr_dagshortestpath', ARRAY[ 'text', 'anyarray', 'bigint' ], 'setof record'); SELECT function_returns('pgr_dagshortestpath', ARRAY[ 'text', 'bigint', 'anyarray' ], 'setof record'); SELECT function_returns('pgr_dagshortestpath', ARRAY[ 'text', 'anyarray', 'anyarray' ], 'setof record'); +SELECT function_returns('pgr_dagshortestpath', ARRAY[ 'text', 'text' ], 'setof record'); -- testing column names SELECT bag_has( @@ -20,6 +22,11 @@ SELECT bag_has( $$SELECT '{"","","","seq","path_seq","node","edge","cost","agg_cost"}'::TEXT[] $$ ); +SELECT bag_has( + $$SELECT proargnames from pg_proc where proname = 'pgr_dagshortestpath'$$, + $$SELECT '{"","",seq,path_seq,node,edge,cost,agg_cost}'::TEXT[] $$ +); + -- parameter types SELECT set_eq( $$SELECT proallargtypes from pg_proc where proname = 'pgr_dagshortestpath'$$, @@ -27,6 +34,7 @@ SELECT set_eq( ('{25,20,20,23,23,20,20,701,701}'::OID[]), ('{25,20,2277,23,23,20,20,701,701}'::OID[]), ('{25,2277,20,23,23,20,20,701,701}'::OID[]), - ('{25,2277,2277,23,23,20,20,701,701}'::OID[]) + ('{25,2277,2277,23,23,20,20,701,701}'::OID[]), + ('{25,25,23,23,20,20,701,701}'::OID[]) $$ ); diff --git a/pgtap/dagShortestPath/empty_combinations_empty_result.test.sql b/pgtap/dagShortestPath/empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..10feb70c75d --- /dev/null +++ b/pgtap/dagShortestPath/empty_combinations_empty_result.test.sql @@ -0,0 +1,24 @@ +\i setup.sql + +SELECT plan(1); + +CREATE OR REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT seq, path_seq, node, edge, cost, agg_cost FROM pgr_dagShortestPath( + ''SELECT id, source, target, cost FROM edge_table'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +SELECT * FROM foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/dagShortestPath/many_to_many_eq_combinations.test.sql b/pgtap/dagShortestPath/many_to_many_eq_combinations.test.sql new file mode 100644 index 00000000000..48ac8f3a1bc --- /dev/null +++ b/pgtap/dagShortestPath/many_to_many_eq_combinations.test.sql @@ -0,0 +1,51 @@ +\i setup.sql + +SELECT plan(1); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +CREATE OR REPLACE FUNCTION foo( sql_TestFunction TEXT, cant INTEGER default 18 ) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +sql_Combinations TEXT; +sql_Many TEXT; +BEGIN + + sql_Combinations := ''; + sql_Many := ''; + FOR i IN 1.. cant LOOP + IF (i > 1) THEN + sql_Many := sql_Many ||', '; + END IF; + sql_Many := sql_Many || i ; + END LOOP; + + FOR i IN 1.. cant LOOP + FOR j IN 1..cant LOOP + IF NOT (i = j) THEN + sql_Combinations := sql_Combinations || '(' || i || ',' || j || '),' ; + END IF; + END LOOP; + END LOOP; + sql_Combinations := trim(trailing ',' from sql_Combinations); + + sql_Many := ( sql_TestFunction || '( + ''SELECT id, source, target, cost FROM edge_table'', + ARRAY[' || sql_Many ||'], ARRAY[' || sql_Many || '] ) '); + + sql_Combinations := ( sql_TestFunction || '( + ''SELECT id, source, target, cost FROM edge_table'', + ''SELECT * FROM (VALUES' || sql_Combinations ||') AS combinations (source, target)'' ) '); + + RETURN query SELECT set_eq( sql_Many, sql_Combinations ); + RETURN; +END +$BODY$ +language plpgsql; + +SELECT * FROM foo('SELECT path_seq, node, edge, cost, agg_cost FROM pgr_dagShortestPath'); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/dagShortestPath/no_crash_test-dagShortestPath.test.sql b/pgtap/dagShortestPath/no_crash_test-dagShortestPath.test.sql index f707e3bed4f..f2269df3c73 100644 --- a/pgtap/dagShortestPath/no_crash_test-dagShortestPath.test.sql +++ b/pgtap/dagShortestPath/no_crash_test-dagShortestPath.test.sql @@ -1,19 +1,27 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, source, target, cost FROM edge_table; +PREPARE combinations AS +SELECT source, target FROM combinations_table; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -96,6 +104,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_dagShortestPath', params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_dagShortestPath', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_dagShortestPath', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From b50a7a461d8ce8a022ff41f98e61b11845ed1eaa Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 12:08:34 +0530 Subject: [PATCH 1108/1360] [dagShortestPath][docqueries] Added for combinations signature --- .../doc-pgr_dagShortestPath.result | 16 ++++++++++++++++ .../doc-pgr_dagShortestPath.test.sql | 6 +++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/docqueries/dagShortestPath/doc-pgr_dagShortestPath.result b/docqueries/dagShortestPath/doc-pgr_dagShortestPath.result index 28eabeda018..fa6563a8c6b 100644 --- a/docqueries/dagShortestPath/doc-pgr_dagShortestPath.result +++ b/docqueries/dagShortestPath/doc-pgr_dagShortestPath.result @@ -69,5 +69,21 @@ SELECT * FROM pgr_dagShortestPath( (13 rows) -- q5 +SELECT * FROM pgr_dagShortestPath( + 'SELECT id, source, target, cost FROM edge_table', + 'SELECT * FROM ( VALUES (1, 6), (4, 12) ) AS t(source, target)' +); + seq | path_seq | node | edge | cost | agg_cost +-----+----------+------+------+------+---------- + 1 | 1 | 1 | 1 | 1 | 0 + 2 | 2 | 2 | 4 | 1 | 1 + 3 | 3 | 5 | 8 | 1 | 2 + 4 | 4 | 6 | -1 | 0 | 3 + 5 | 1 | 4 | 16 | 1 | 0 + 6 | 2 | 9 | 15 | 1 | 1 + 7 | 3 | 12 | -1 | 0 | 2 +(7 rows) + +-- q6 ROLLBACK; ROLLBACK diff --git a/docqueries/dagShortestPath/doc-pgr_dagShortestPath.test.sql b/docqueries/dagShortestPath/doc-pgr_dagShortestPath.test.sql index 699621a1db5..0a6a8b1714c 100644 --- a/docqueries/dagShortestPath/doc-pgr_dagShortestPath.test.sql +++ b/docqueries/dagShortestPath/doc-pgr_dagShortestPath.test.sql @@ -22,4 +22,8 @@ SELECT * FROM pgr_dagShortestPath( ARRAY[1, 4],ARRAY[12,6] ); \echo -- q5 - +SELECT * FROM pgr_dagShortestPath( + 'SELECT id, source, target, cost FROM edge_table', + 'SELECT * FROM ( VALUES (1, 6), (4, 12) ) AS t(source, target)' +); +\echo -- q6 From aafd3ced7bd252a48951c2eabde188c65a5b4ff5 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 12:13:25 +0530 Subject: [PATCH 1109/1360] [dagShortestPath][doc] Added combinations signature --- doc/dagShortestPath/pgr_dagShortestPath.rst | 76 +++++++++++++++------ 1 file changed, 57 insertions(+), 19 deletions(-) diff --git a/doc/dagShortestPath/pgr_dagShortestPath.rst b/doc/dagShortestPath/pgr_dagShortestPath.rst index c2c5a6c090b..429d07e3194 100644 --- a/doc/dagShortestPath/pgr_dagShortestPath.rst +++ b/doc/dagShortestPath/pgr_dagShortestPath.rst @@ -24,6 +24,12 @@ In particular, the DAG shortest paths algorithm implemented by Boost.Graph. .. rubric:: Availability +* Version 3.2.0 + + * New **experimental** function: + + * pgr_dagShortestPath(Combinations) + * Version 3.0.0 * New **experimental** function @@ -31,7 +37,8 @@ In particular, the DAG shortest paths algorithm implemented by Boost.Graph. .. rubric:: Support * **Supported versions:** - current(`3.1 `__) + current(`3.2 `__) + `3.1 `__ `3.0 `__ Description @@ -74,10 +81,11 @@ Signatures .. code-block:: none - pgr_dagShortestPath(edges_sql, from_vid, to_vid) - pgr_dagShortestPath(edges_sql, from_vid, to_vids) - pgr_dagShortestPath(edges_sql, from_vids, to_vid) - pgr_dagShortestPath(edges_sql, from_vids, to_vids) + pgr_dagShortestPath(Edges SQL, from_vid, to_vid) + pgr_dagShortestPath(Edges SQL, from_vid, to_vids) + pgr_dagShortestPath(Edges SQL, from_vids, to_vid) + pgr_dagShortestPath(Edges SQL, from_vids, to_vids) + pgr_dagShortestPath(Edges SQL, Combinations) -- Experimental on v3.2 RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -91,7 +99,7 @@ One to One .. code-block:: none - pgr_dagShortestPath(edges_sql, from_vid, to_vid) + pgr_dagShortestPath(Edges SQL, from_vid, to_vid) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -109,7 +117,7 @@ One to Many .. code-block:: none - pgr_dagShortestPath(edges_sql, from_vid, to_vids) + pgr_dagShortestPath(Edges SQL, from_vid, to_vids) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -127,7 +135,7 @@ Many to One .. code-block:: none - pgr_dagShortestPath(edges_sql, from_vids, to_vid) + pgr_dagShortestPath(Edges SQL, from_vids, to_vid) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -145,7 +153,7 @@ Many to Many .. code-block:: none - pgr_dagShortestPath(edges_sql, from_vids, to_vids) + pgr_dagShortestPath(Edges SQL, from_vids, to_vids) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -156,6 +164,25 @@ Many to Many :start-after: -- q4 :end-before: -- q5 +.. index:: + single: dagShortestPath(Combinations) -- Experimental on v3.2 + +Combinations +............................................................................... + +.. code-block:: none + + pgr_dagShortestPath(Edges SQL, Combinations) + RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table on a Directed Acyclic Graph. + + +.. literalinclude:: doc-pgr_dagShortestPath.queries + :start-after: -- q5 + :end-before: -- q6 + Parameters ------------------------------------------------------------------------------- @@ -163,25 +190,36 @@ Parameters .. rubric:: Description of the parameters of the signatures -============== ================== ======== ================================================= -Parameter Type Default Description -============== ================== ======== ================================================= -**edges_sql** ``TEXT`` SQL query as described above. -**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. -**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. -**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. -**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. -============== ================== ======== ================================================= +===================== ================== ======== ================================================= +Parameter Type Default Description +===================== ================== ======== ================================================= +**Edges SQL** ``TEXT`` Edges query as described below. +**Combinations SQL** ``TEXT`` Combinations query as described above. +**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. +**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. +**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. +**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. +===================== ================== ======== ================================================= .. pgr_dagShortestPath_parameters_end -Inner Query +Inner Queries ------------------------------------------------------------------------------- +Edges query +............................................................................... + .. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start :end-before: basic_edges_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Results Columns ------------------------------------------------------------------------------- From 0c9af36149aa8f402821a58ccdabd5ee06bfade7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 12:14:20 +0530 Subject: [PATCH 1110/1360] [dagShortestPath][doc] Updated release_notes and NEWS --- NEWS | 1 + doc/src/release_notes.rst | 1 + 2 files changed, 2 insertions(+) diff --git a/NEWS b/NEWS index fe5b3857194..9459d280d50 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,7 @@ pgRouting 3.2.0 Release Notes * pgr_bellmanFord(Combinations) * pgr_binaryBreadthFirstSearch(Combinations) +* pgr_dagShortestPath(Combinations) * pgr_depthFirstSearch * pgr_dijkstraNear(One to Many) * pgr_dijkstraNear(Many to One) diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 8a9410b703e..62c562eb07f 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -65,6 +65,7 @@ pgRouting 3.2.0 Release Notes * pgr_bellmanFord(Combinations) * pgr_binaryBreadthFirstSearch(Combinations) +* pgr_dagShortestPath(Combinations) * pgr_depthFirstSearch * pgr_dijkstraNear(One to Many) * pgr_dijkstraNear(Many to One) From f8cb906a619a019e436f427c4fc9ed9b51fb8578 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 20:33:43 +0530 Subject: [PATCH 1111/1360] [edwardMoore][sql] Added combinations signature --- sql/bellman_ford/_edwardMoore.sql | 24 ++++++++++++++++++++- sql/bellman_ford/edwardMoore.sql | 35 +++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/sql/bellman_ford/_edwardMoore.sql b/sql/bellman_ford/_edwardMoore.sql index c8e537d6688..ad66ef640b8 100644 --- a/sql/bellman_ford/_edwardMoore.sql +++ b/sql/bellman_ford/_edwardMoore.sql @@ -51,7 +51,29 @@ RETURNS SETOF RECORD AS LANGUAGE c IMMUTABLE STRICT; +--v3.2 +CREATE FUNCTION _pgr_edwardMoore( + edges_sql TEXT, + combinations_sql TEXT, + directed BOOLEAN DEFAULT true, + + OUT seq 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 COMMENT ON FUNCTION _pgr_edwardMoore(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) -IS 'pgRouting internal function'; \ No newline at end of file +IS 'pgRouting internal function'; + +COMMENT ON FUNCTION _pgr_edwardMoore(TEXT, TEXT, BOOLEAN) +IS 'pgRouting internal function'; diff --git a/sql/bellman_ford/edwardMoore.sql b/sql/bellman_ford/edwardMoore.sql index 54303140433..b25998cc512 100644 --- a/sql/bellman_ford/edwardMoore.sql +++ b/sql/bellman_ford/edwardMoore.sql @@ -123,6 +123,30 @@ $BODY$ $BODY$ LANGUAGE sql VOLATILE STRICT; + +-- COMBINATIONS +--v3.2 +CREATE FUNCTION pgr_edwardMoore( + TEXT, -- edges_sql (required) + TEXT, -- combinations_sql (required) + + directed BOOLEAN DEFAULT true, + + OUT seq 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 a.seq, a.path_seq, a.start_vid, a.end_vid, a.node, a.edge, a.cost, a.agg_cost + FROM _pgr_edwardMoore(_pgr_get_statement($1), _pgr_get_statement($2), $3) AS a; +$BODY$ +LANGUAGE SQL VOLATILE STRICT; + -- COMMENTS COMMENT ON FUNCTION pgr_edwardMoore(TEXT, BIGINT, BIGINT, BOOLEAN) @@ -172,3 +196,14 @@ IS 'pgr_edwardMoore(Many to Many) - Documentation: - ${PGROUTING_DOC_LINK}/pgr_edwardMoore.html '; + +COMMENT ON FUNCTION pgr_edwardMoore(TEXT, TEXT, BOOLEAN) +IS 'pgr_edwardMoore(Combinations) +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Combinations SQL with columns: source, target +- Optional Parameters + - directed := true +- Documentation: + - ${PGROUTING_DOC_LINK}/pgr_edwardMoore.html +'; From cd4652fe39d7bc8aead46991406d373a80d871d8 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sun, 13 Dec 2020 20:38:57 +0530 Subject: [PATCH 1112/1360] [edwardMoore][sig] Updated v3.2 signature file --- sql/sigs/pgrouting--3.2.sig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sigs/pgrouting--3.2.sig b/sql/sigs/pgrouting--3.2.sig index c98826b4d15..cfb75f38fd7 100644 --- a/sql/sigs/pgrouting--3.2.sig +++ b/sql/sigs/pgrouting--3.2.sig @@ -146,6 +146,8 @@ pgr_edwardmoore(text,anyarray,anyarray,boolean) pgr_edwardmoore(text,anyarray,bigint,boolean) pgr_edwardmoore(text,bigint,anyarray,boolean) pgr_edwardmoore(text,bigint,bigint,boolean) +_pgr_edwardmoore(text,text,boolean) +pgr_edwardmoore(text,text,boolean) _pgr_endpoint(geometry) pgr_extractvertices(text,boolean) _pgr_floydwarshall(text,boolean) From f99791bc34c409046c3971e6d3f9e6ddb3a1e836 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 00:39:08 +0530 Subject: [PATCH 1113/1360] [edwardMoore][code] Updated code for combinations signature --- include/bellman_ford/pgr_edwardMoore.hpp | 42 +++++++++++ .../drivers/bellman_ford/edwardMoore_driver.h | 10 +-- src/bellman_ford/edwardMoore.c | 71 +++++++++++++------ src/bellman_ford/edwardMoore_driver.cpp | 16 ++++- 4 files changed, 109 insertions(+), 30 deletions(-) diff --git a/include/bellman_ford/pgr_edwardMoore.hpp b/include/bellman_ford/pgr_edwardMoore.hpp index ea8c36bc2b9..360ff2cfb23 100644 --- a/include/bellman_ford/pgr_edwardMoore.hpp +++ b/include/bellman_ford/pgr_edwardMoore.hpp @@ -75,6 +75,48 @@ class Pgr_edwardMoore { return paths; } + // preparation for the parallel arrays + std::deque edwardMoore( + G &graph, + const std::vector &combinations) { + std::deque paths; + + // group targets per distinct source + std::map< int64_t, std::vector > vertex_map; + for (const pgr_combination_t &comb : combinations) { + std::map< int64_t, std::vector >::iterator it = vertex_map.find(comb.source); + if (it != vertex_map.end()) { + it->second.push_back(comb.target); + } else { + std::vector targets{comb.target}; + vertex_map[comb.source] = targets; + } + } + + for (const auto &start_ends : vertex_map) { + std::deque result_paths = one_to_many_edwardMoore( + graph, + start_ends.first, + start_ends.second); + + paths.insert( + paths.end(), + std::make_move_iterator(result_paths.begin()), + std::make_move_iterator(result_paths.end())); + } + + std::sort(paths.begin(), paths.end(), + [](const Path &e1, const Path &e2) -> bool { + return e1.end_id() < e2.end_id(); + }); + std::stable_sort(paths.begin(), paths.end(), + [](const Path &e1, const Path &e2) -> bool { + return e1.start_id() < e2.start_id(); + }); + + return paths; + } + private: E DEFAULT_EDGE; diff --git a/include/drivers/bellman_ford/edwardMoore_driver.h b/include/drivers/bellman_ford/edwardMoore_driver.h index 7a1840a06f6..fd2e8d02141 100644 --- a/include/drivers/bellman_ford/edwardMoore_driver.h +++ b/include/drivers/bellman_ford/edwardMoore_driver.h @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif #include "c_types/pgr_edge_t.h" +#include "c_types/pgr_combination_t.h" #include "c_types/general_path_element_t.h" @@ -46,17 +47,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. extern "C" { #endif - /********************************************************* - TEXT, - ANYARRAY, - ANYARRAY, - directed BOOLEAN DEFAULT true - ********************************************************/ - void do_pgr_edwardMoore( pgr_edge_t *data_edges, size_t total_tuples, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, diff --git a/src/bellman_ford/edwardMoore.c b/src/bellman_ford/edwardMoore.c index 5d809fed3f7..34aea9d6a1b 100644 --- a/src/bellman_ford/edwardMoore.c +++ b/src/bellman_ford/edwardMoore.c @@ -38,6 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_common/arrays_input.h" +#include "c_common/combinations_input.h" #include "drivers/bellman_ford/edwardMoore_driver.h" @@ -47,6 +48,7 @@ PG_FUNCTION_INFO_V1(_pgr_edwardmoore); static void process( char *edges_sql, + char *combinations_sql, ArrayType *starts, ArrayType *ends, bool directed, @@ -58,14 +60,28 @@ process( PGR_DBG("Initializing arrays"); size_t size_start_vidsArr = 0; - int64_t *start_vidsArr = (int64_t *) - pgr_get_bigIntArray(&size_start_vidsArr, starts); - PGR_DBG("start_vidsArr size %ld ", size_start_vidsArr); + int64_t *start_vidsArr = NULL; size_t size_end_vidsArr = 0; - int64_t *end_vidsArr = (int64_t *) - pgr_get_bigIntArray(&size_end_vidsArr, ends); - PGR_DBG("end_vidsArr size %ld ", size_end_vidsArr); + int64_t *end_vidsArr = NULL; + + size_t total_combinations = 0; + pgr_combination_t *combinations = NULL; + + if (starts && ends) { + start_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_start_vidsArr, starts); + end_vidsArr = (int64_t*) + pgr_get_bigIntArray(&size_end_vidsArr, ends); + } else if (combinations_sql) { + pgr_get_combinations(combinations_sql, &combinations, &total_combinations); + if (total_combinations == 0) { + if (combinations) + pfree(combinations); + pgr_SPI_finish(); + return; + } + } (*result_tuples) = NULL; (*result_count) = 0; @@ -94,6 +110,8 @@ process( do_pgr_edwardMoore( edges, total_edges, + combinations, + total_combinations, start_vidsArr, size_start_vidsArr, end_vidsArr, size_end_vidsArr, @@ -146,21 +164,34 @@ PGDLLEXPORT Datum _pgr_edwardmoore(PG_FUNCTION_ARGS) { funcctx = SRF_FIRSTCALL_INIT(); oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - /**********************************************************************/ - // pgr_edwardMoore( - // sql TEXT, - // start_vids ANYARRAY, - // end_vids ANYARRAY, - // directed BOOLEAN default true, - PGR_DBG("Calling process"); - process( - text_to_cstring(PG_GETARG_TEXT_P(0)), - PG_GETARG_ARRAYTYPE_P(1), - PG_GETARG_ARRAYTYPE_P(2), - PG_GETARG_BOOL(3), - &result_tuples, - &result_count); + if (PG_NARGS() == 4) { + /* + * many to many + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + NULL, + PG_GETARG_ARRAYTYPE_P(1), + PG_GETARG_ARRAYTYPE_P(2), + PG_GETARG_BOOL(3), + &result_tuples, + &result_count); + + } else if (PG_NARGS() == 3) { + /* + * combinations + */ + process( + text_to_cstring(PG_GETARG_TEXT_P(0)), + text_to_cstring(PG_GETARG_TEXT_P(1)), + NULL, + NULL, + PG_GETARG_BOOL(2), + &result_tuples, + &result_count); + } + /**********************************************************************/ diff --git a/src/bellman_ford/edwardMoore_driver.cpp b/src/bellman_ford/edwardMoore_driver.cpp index 992092b87e5..f518a1660d4 100644 --- a/src/bellman_ford/edwardMoore_driver.cpp +++ b/src/bellman_ford/edwardMoore_driver.cpp @@ -57,6 +57,7 @@ template < class G > std::deque< Path > pgr_edwardMoore( G &graph, + std::vector &combinations, std::vector < int64_t > sources, std::vector < int64_t > targets) { std::sort(sources.begin(), sources.end()); @@ -70,9 +71,9 @@ pgr_edwardMoore( targets.end()); pgrouting::functions::Pgr_edwardMoore< G > fn_edwardMoore; - auto paths = fn_edwardMoore.edwardMoore( - graph, - sources, targets); + auto paths = combinations.empty() ? + fn_edwardMoore.edwardMoore(graph, sources, targets) + : fn_edwardMoore.edwardMoore(graph, combinations); return paths; } @@ -81,6 +82,8 @@ void do_pgr_edwardMoore( pgr_edge_t *data_edges, size_t total_edges, + pgr_combination_t *combinations, + size_t total_combinations, int64_t *start_vidsArr, size_t size_start_vidsArr, int64_t *end_vidsArr, @@ -103,6 +106,9 @@ do_pgr_edwardMoore( pgassert(!(*err_msg)); pgassert(!(*return_tuples)); pgassert(*return_count == 0); + pgassert(data_edges); + pgassert((start_vidsArr && end_vidsArr) || combinations); + pgassert((size_start_vidsArr && size_end_vidsArr) || total_combinations); graphType gType = directed? DIRECTED: UNDIRECTED; @@ -111,6 +117,8 @@ do_pgr_edwardMoore( start_vertices(start_vidsArr, start_vidsArr + size_start_vidsArr); std::vector< int64_t > end_vertices(end_vidsArr, end_vidsArr + size_end_vidsArr); + std::vector< pgr_combination_t > + combinations_vector(combinations, combinations + total_combinations); std::deque< Path >paths; @@ -120,6 +128,7 @@ do_pgr_edwardMoore( digraph.insert_edges(data_edges, total_edges); paths = pgr_edwardMoore( digraph, + combinations_vector, start_vertices, end_vertices); } else { @@ -129,6 +138,7 @@ do_pgr_edwardMoore( paths = pgr_edwardMoore( undigraph, + combinations_vector, start_vertices, end_vertices); } From 2c7bf7055d3c908eb6b67b09736dc59e18c7f334 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 00:39:46 +0530 Subject: [PATCH 1114/1360] [edwardMoore][pgtap] Added tests for combinations signature --- .../edwardMoore/edwardMoore-types-check.sql | 12 ++++- .../empty_combinations_empty_result.test.sql | 24 +++++++++ .../many_to_many_eq_combinations.test.sql | 51 +++++++++++++++++++ .../edwardMoore/no_crash_test-edwardMoore.sql | 25 ++++++++- 4 files changed, 109 insertions(+), 3 deletions(-) create mode 100644 pgtap/bellman_ford/edwardMoore/empty_combinations_empty_result.test.sql create mode 100644 pgtap/bellman_ford/edwardMoore/many_to_many_eq_combinations.test.sql diff --git a/pgtap/bellman_ford/edwardMoore/edwardMoore-types-check.sql b/pgtap/bellman_ford/edwardMoore/edwardMoore-types-check.sql index ed527d5d157..12d21be3d94 100644 --- a/pgtap/bellman_ford/edwardMoore/edwardMoore-types-check.sql +++ b/pgtap/bellman_ford/edwardMoore/edwardMoore-types-check.sql @@ -1,7 +1,7 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(14); +SELECT plan(17); SET client_min_messages TO ERROR; @@ -12,10 +12,12 @@ SELECT has_function('pgr_edwardmoore', ARRAY['text','bigint','bigint','boolean'] SELECT has_function('pgr_edwardmoore', ARRAY['text','bigint','anyarray','boolean']); SELECT has_function('pgr_edwardmoore', ARRAY['text','anyarray','bigint','boolean']); SELECT has_function('pgr_edwardmoore', ARRAY['text','anyarray','anyarray','boolean']); +SELECT has_function('pgr_edwardmoore', ARRAY['text','text','boolean']); SELECT function_returns('pgr_edwardmoore', ARRAY['text','bigint','bigint','boolean'], 'setof record'); SELECT function_returns('pgr_edwardmoore', ARRAY['text','bigint','anyarray','boolean'], 'setof record'); SELECT function_returns('pgr_edwardmoore', ARRAY['text','anyarray','bigint','boolean'], 'setof record'); SELECT function_returns('pgr_edwardmoore', ARRAY['text','anyarray','anyarray','boolean'], 'setof record'); +SELECT function_returns('pgr_edwardmoore', ARRAY['text','text','boolean'], 'setof record'); -- pgr_edwardmoore -- parameter names @@ -39,6 +41,11 @@ SELECT bag_has( $$SELECT '{"","","","directed","seq","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[] $$ ); +SELECT bag_has( + $$SELECT proargnames from pg_proc where proname = 'pgr_edwardmoore'$$, + $$SELECT '{"","",directed,seq,path_seq,start_vid,end_vid,node,edge,cost,agg_cost}'::TEXT[] $$ +); + -- parameter types SELECT set_eq( $$SELECT proallargtypes from pg_proc where proname = 'pgr_edwardmoore'$$, @@ -46,7 +53,8 @@ SELECT set_eq( ('{25,20,20,16,23,23,20,20,701,701}'::OID[]), ('{25,20,2277,16,23,23,20,20,20,701,701}'::OID[]), ('{25,2277,20,16,23,23,20,20,20,701,701}'::OID[]), - ('{25,2277,2277,16,23,23,20,20,20,20,701,701}'::OID[]) + ('{25,2277,2277,16,23,23,20,20,20,20,701,701}'::OID[]), + ('{25,25,16,23,23,20,20,20,20,701,701}'::OID[]) $$ ); diff --git a/pgtap/bellman_ford/edwardMoore/empty_combinations_empty_result.test.sql b/pgtap/bellman_ford/edwardMoore/empty_combinations_empty_result.test.sql new file mode 100644 index 00000000000..681a503fdd3 --- /dev/null +++ b/pgtap/bellman_ford/edwardMoore/empty_combinations_empty_result.test.sql @@ -0,0 +1,24 @@ +\i setup.sql + +SELECT plan(1); + +CREATE OR REPLACE FUNCTION foo() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + RETURN query SELECT is_empty( + 'SELECT seq, path_seq, node, edge, cost, agg_cost FROM pgr_edwardMoore( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ''SELECT * FROM combinations_table WHERE source IN (-1)'' ) ' + ); + RETURN; +END +$BODY$ +language plpgsql; + +SELECT * FROM foo(); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/bellman_ford/edwardMoore/many_to_many_eq_combinations.test.sql b/pgtap/bellman_ford/edwardMoore/many_to_many_eq_combinations.test.sql new file mode 100644 index 00000000000..f3586d2a302 --- /dev/null +++ b/pgtap/bellman_ford/edwardMoore/many_to_many_eq_combinations.test.sql @@ -0,0 +1,51 @@ +\i setup.sql + +SELECT plan(1); + +UPDATE edge_table SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; + +CREATE OR REPLACE FUNCTION foo( sql_TestFunction TEXT, cant INTEGER default 18 ) +RETURNS SETOF TEXT AS +$BODY$ +DECLARE +sql_Combinations TEXT; +sql_Many TEXT; +BEGIN + + sql_Combinations := ''; + sql_Many := ''; + FOR i IN 1.. cant LOOP + IF (i > 1) THEN + sql_Many := sql_Many ||', '; + END IF; + sql_Many := sql_Many || i ; + END LOOP; + + FOR i IN 1.. cant LOOP + FOR j IN 1..cant LOOP + IF NOT (i = j) THEN + sql_Combinations := sql_Combinations || '(' || i || ',' || j || '),' ; + END IF; + END LOOP; + END LOOP; + sql_Combinations := trim(trailing ',' from sql_Combinations); + + sql_Many := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ARRAY[' || sql_Many ||'], ARRAY[' || sql_Many || '] ) '); + + sql_Combinations := ( sql_TestFunction || '( + ''SELECT id, source, target, cost, reverse_cost FROM edge_table'', + ''SELECT * FROM (VALUES' || sql_Combinations ||') AS combinations (source, target)'' ) '); + + RETURN query SELECT set_eq( sql_Many, sql_Combinations ); + RETURN; +END +$BODY$ +language plpgsql; + +SELECT * FROM foo('SELECT path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM pgr_edwardMoore'); + +-- Finish the tests and clean up. +SELECT * FROM finish(); +ROLLBACK; diff --git a/pgtap/bellman_ford/edwardMoore/no_crash_test-edwardMoore.sql b/pgtap/bellman_ford/edwardMoore/no_crash_test-edwardMoore.sql index f640a6b0465..5ab8ff48cf9 100644 --- a/pgtap/bellman_ford/edwardMoore/no_crash_test-edwardMoore.sql +++ b/pgtap/bellman_ford/edwardMoore/no_crash_test-edwardMoore.sql @@ -1,19 +1,27 @@ \i setup.sql UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(67); +SELECT plan(81); PREPARE edges AS SELECT id, source, target, cost, reverse_cost FROM edge_table; +PREPARE combinations AS +SELECT source, target FROM combinations_table; + PREPARE null_ret AS SELECT id FROM edge_table_vertices_pgr WHERE id IN (-1); PREPARE null_ret_arr AS SELECT array_agg(id) FROM edge_table_vertices_pgr WHERE id IN (-1); +PREPARE null_combinations AS +SELECT source, target FROM combinations_table WHERE source IN (-1); + SELECT isnt_empty('edges', 'Should be not empty to tests be meaningful'); +SELECT isnt_empty('combinations', 'Should be not empty to tests be meaningful'); SELECT is_empty('null_ret', 'Should be empty to tests be meaningful'); +SELECT is_empty('null_combinations', 'Should be empty to tests be meaningful'); SELECT set_eq('null_ret_arr', 'SELECT NULL::BIGINT[]', 'Should be empty to tests be meaningful'); @@ -96,6 +104,21 @@ BEGIN ]::TEXT[]; RETURN query SELECT * FROM no_crash_test('pgr_edwardMoore', params, subs); + -- Combinations SQL + params = ARRAY['$$edges$$', '$$combinations$$']::TEXT[]; + subs = ARRAY[ + 'NULL', + '$$(SELECT source, target FROM combinations_table WHERE source IN (-1))$$' + ]::TEXT[]; + + RETURN query SELECT * FROM no_crash_test('pgr_edwardMoore', params, subs); + + subs = ARRAY[ + 'NULL', + 'NULL::TEXT' + ]::TEXT[]; + RETURN query SELECT * FROM no_crash_test('pgr_edwardMoore', params, subs); + END $BODY$ LANGUAGE plpgsql VOLATILE; From 6a74bd80cb6c1d3804e15d771f57b6053489b0b3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 00:46:33 +0530 Subject: [PATCH 1115/1360] [edwardMoore][docqueries] Added for combinations signature --- .../bellman_ford/doc-pgr_edwardMoore.result | 23 +++++++++++++++---- .../bellman_ford/doc-pgr_edwardMoore.test.sql | 22 +++++++++++------- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/docqueries/bellman_ford/doc-pgr_edwardMoore.result b/docqueries/bellman_ford/doc-pgr_edwardMoore.result index 270898e18e7..731579730e6 100644 --- a/docqueries/bellman_ford/doc-pgr_edwardMoore.result +++ b/docqueries/bellman_ford/doc-pgr_edwardMoore.result @@ -82,7 +82,22 @@ SELECT * FROM pgr_edwardMoore( (10 rows) -- q6 +SELECT * FROM pgr_edwardMoore( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (11, 5) ) AS t(source, target)', + FALSE +); + seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 2 | 3 | 2 | 2 | 1 | 0 + 2 | 2 | 2 | 3 | 3 | -1 | 0 | 1 + 3 | 1 | 11 | 5 | 11 | 11 | 1 | 0 + 4 | 2 | 11 | 5 | 6 | 8 | 1 | 1 + 5 | 3 | 11 | 5 | 5 | -1 | 0 | 2 +(5 rows) + -- q7 +-- q8 SELECT * FROM pgr_edwardMoore( 'SELECT id, source, target, cost, reverse_cost FROM edge_table', 2, 3 @@ -190,8 +205,8 @@ SELECT * FROM pgr_edwardMoore( 18 | 5 | 11 | 5 | 5 | -1 | 0 | 4 (18 rows) --- q8 -- q9 +-- q10 SELECT * FROM pgr_edwardMoore( 'SELECT id, source, target, cost, reverse_cost FROM edge_table', 2, 3, @@ -284,8 +299,8 @@ SELECT * FROM pgr_edwardMoore( 10 | 3 | 11 | 5 | 5 | -1 | 0 | 2 (10 rows) --- q10 -- q11 +-- q12 SELECT * FROM pgr_edwardMoore( 'SELECT id, source, target, cost FROM edge_table', 2, 3 @@ -350,8 +365,8 @@ SELECT * FROM pgr_edwardMoore( 2 | 2 | 2 | 5 | 5 | -1 | 0 | 1 (2 rows) --- q12 -- q13 +-- q14 SELECT * FROM pgr_edwardMoore( 'SELECT id, source, target, cost FROM edge_table', 2, 3, @@ -450,6 +465,6 @@ SELECT * FROM pgr_edwardMoore( 12 | 3 | 11 | 5 | 5 | -1 | 0 | 2 (12 rows) --- q14 +-- q15 ROLLBACK; ROLLBACK diff --git a/docqueries/bellman_ford/doc-pgr_edwardMoore.test.sql b/docqueries/bellman_ford/doc-pgr_edwardMoore.test.sql index 2d582a0d4db..4b04fe904a7 100644 --- a/docqueries/bellman_ford/doc-pgr_edwardMoore.test.sql +++ b/docqueries/bellman_ford/doc-pgr_edwardMoore.test.sql @@ -27,11 +27,17 @@ SELECT * FROM pgr_edwardMoore( FALSE ); \echo -- q6 +SELECT * FROM pgr_edwardMoore( + 'SELECT id, source, target, cost, reverse_cost FROM edge_table', + 'SELECT * FROM ( VALUES (2, 3), (11, 5) ) AS t(source, target)', + FALSE +); +\echo -- q7 -- Examples for :ref:`fig1-direct-Cost-Reverse` ------------------------------------------------------------------------------- -\echo -- q7 +\echo -- q8 SELECT * FROM pgr_edwardMoore( 'SELECT id, source, target, cost, reverse_cost FROM edge_table', 2, 3 @@ -60,14 +66,14 @@ SELECT * FROM pgr_edwardMoore( 'SELECT id, source, target, cost, reverse_cost FROM edge_table', ARRAY[2, 11], ARRAY[3,5] ); -\echo -- q8 +\echo -- q9 -- Examples for :ref:`fig2-undirect-Cost-Reverse` ------------------------------------------------------------------------------- -\echo -- q9 +\echo -- q10 SELECT * FROM pgr_edwardMoore( 'SELECT id, source, target, cost, reverse_cost FROM edge_table', 2, 3, @@ -103,14 +109,14 @@ SELECT * FROM pgr_edwardMoore( ARRAY[2, 11], ARRAY[3,5], FALSE ); -\echo -- q10 +\echo -- q11 -- Examples for :ref:`fig3-direct-Cost` ------------------------------------------------------------------------------- -\echo -- q11 +\echo -- q12 SELECT * FROM pgr_edwardMoore( 'SELECT id, source, target, cost FROM edge_table', 2, 3 @@ -139,13 +145,13 @@ SELECT * FROM pgr_edwardMoore( 'SELECT id, source, target, cost FROM edge_table', ARRAY[2, 11], ARRAY[3,5] ); -\echo -- q12 +\echo -- q13 -- Examples for :ref:`fig4-undirect-Cost` ------------------------------------------------------------------------------- -\echo -- q13 +\echo -- q14 SELECT * FROM pgr_edwardMoore( 'SELECT id, source, target, cost FROM edge_table', 2, 3, @@ -181,4 +187,4 @@ SELECT * FROM pgr_edwardMoore( ARRAY[2, 11], ARRAY[3,5], FALSE ); -\echo -- q14 +\echo -- q15 From 61b0bea99f2c746cca347ac0ae600035f9400909 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 00:53:01 +0530 Subject: [PATCH 1116/1360] [edwardMoore][doc] Added combinations signature --- doc/bellman_ford/pgr_edwardMoore.rst | 98 ++++++++++++++++++---------- 1 file changed, 64 insertions(+), 34 deletions(-) diff --git a/doc/bellman_ford/pgr_edwardMoore.rst b/doc/bellman_ford/pgr_edwardMoore.rst index bddc83b58a7..cc91cedc14b 100644 --- a/doc/bellman_ford/pgr_edwardMoore.rst +++ b/doc/bellman_ford/pgr_edwardMoore.rst @@ -20,6 +20,12 @@ Edward Moore’s ​ Algorithm is an improvement of the Bellman-Ford Algorithm. .. rubric:: Availability +* Version 3.2.0 + + * New **experimental** function: + + * pgr_edwardMoore(Combinations) + * Version 3.0.0 * New **experimental** function @@ -66,16 +72,17 @@ Signatures .. code-block:: none - pgr_edwardMoore(edges_sql, start_vid, end_vid [, directed]) - pgr_edwardMoore(edges_sql, start_vid, end_vids [, directed]) - pgr_edwardMoore(edges_sql, start_vids, end_vid [, directed]) - pgr_edwardMoore(edges_sql, start_vids, end_vids [, directed]) + pgr_edwardMoore(Edges SQL, start_vid, end_vid [, directed]) + pgr_edwardMoore(Edges SQL, start_vid, end_vids [, directed]) + pgr_edwardMoore(Edges SQL, start_vids, end_vid [, directed]) + pgr_edwardMoore(Edges SQL, start_vids, end_vids [, directed]) + pgr_edwardMoore(Edges SQL, Combinations SQL [, directed]) RETURNS SET OF (seq, path_seq [, start_vid] [, end_vid], node, edge, cost, agg_cost) OR EMPTY SET .. code-block:: none - pgr_edwardMoore(TEXT edges_sql, BIGINT start_vid, BIGINT end_vid) + pgr_edwardMoore(Edges SQL, start_vid, end_vid) RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) or EMPTY SET :Example: From vertex :math:`2` to vertex :math:`3` on a **directed** graph @@ -92,8 +99,7 @@ One to One .. code-block:: none - pgr_edwardMoore(TEXT edges_sql, BIGINT start_vid, BIGINT end_vid, - BOOLEAN directed:=true); + pgr_edwardMoore(Edges SQL, start_vid, end_vid [, directed]); RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) OR EMPTY SET @@ -111,8 +117,7 @@ One to many .. code-block:: none - pgr_edwardMoore(TEXT edges_sql, BIGINT start_vid, ARRAY[ANY_INTEGER] end_vids, - BOOLEAN directed:=true); + pgr_edwardMoore(Edges SQL, start_vid, end_vids [, directed]); RETURNS SET OF (seq, path_seq, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -130,8 +135,7 @@ Many to One .. code-block:: none - pgr_edwardMoore(TEXT edges_sql, ARRAY[ANY_INTEGER] start_vids, BIGINT end_vid, - BOOLEAN directed:=true); + pgr_edwardMoore(Edges SQL, start_vids, end_vid [, directed]); RETURNS SET OF (seq, path_seq, start_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -149,8 +153,7 @@ Many to Many .. code-block:: none - pgr_edwardMoore(TEXT edges_sql, ARRAY[ANY_INTEGER] start_vids, ARRAY[ANY_INTEGER] end_vids, - BOOLEAN directed:=true); + pgr_edwardMoore(Edges SQL, start_vids, end_vids [, directed]); RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) OR EMPTY SET @@ -160,34 +163,61 @@ Many to Many :start-after: -- q5 :end-before: -- q6 +.. index:: + single: edwardMoore(Combinations) -- Experimental on v3.2 + +Combinations +............................................................................... + +.. code-block:: none + + pgr_edwardMoore(Edges SQL, Combinations SQL [, directed]); + RETURNS SET OF (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost) + OR EMPTY SET + +:Example: Using a combinations table on an **undirected** graph. + +.. literalinclude:: doc-pgr_edwardMoore.queries + :start-after: -- q6 + :end-before: -- q7 + Parameters ------------------------------------------------------------------------------- .. pgr_edwardMoore_parameters_start -============== ================== ======== ================================================= -Parameter Type Default Description -============== ================== ======== ================================================= -**edges_sql** ``TEXT`` Inner SQL query as described below. -**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. -**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. -**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. -**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. -**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` - - When ``false`` the graph is considered as `Undirected`. -============== ================== ======== ================================================= +===================== ================== ======== ================================================= +Parameter Type Default Description +===================== ================== ======== ================================================= +**Edges SQL** ``TEXT`` Edges query as described below. +**Combinations SQL** ``TEXT`` Combinations query as described below. +**start_vid** ``BIGINT`` Identifier of the starting vertex of the path. +**start_vids** ``ARRAY[BIGINT]`` Array of identifiers of starting vertices. +**end_vid** ``BIGINT`` Identifier of the ending vertex of the path. +**end_vids** ``ARRAY[BIGINT]`` Array of identifiers of ending vertices. +**directed** ``BOOLEAN`` ``true`` - When ``true`` Graph is considered `Directed` + - When ``false`` the graph is considered as `Undirected`. +===================== ================== ======== ================================================= .. pgr_edwardMoore_parameters_end -Inner query +Inner queries ------------------------------------------------------------------------------- -.. rubric::edges_sql +Edges query +............................................................................... .. include:: pgRouting-concepts.rst :start-after: basic_edges_sql_start :end-before: basic_edges_sql_end +Combinations query +............................................................................... + +.. include:: pgRouting-concepts.rst + :start-after: basic_combinations_sql_start + :end-before: basic_combinations_sql_end + Return Columns ------------------------------------------------------------------------------- @@ -209,32 +239,32 @@ undirected graph with and with out reverse_cost. The examples in this section use the following :ref:`fig1` .. literalinclude:: doc-pgr_edwardMoore.queries - :start-after: -- q7 - :end-before: -- q8 + :start-after: -- q8 + :end-before: -- q9 :Examples: For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns The examples in this section use the following :ref:`fig2` .. literalinclude:: doc-pgr_edwardMoore.queries - :start-after: -- q9 - :end-before: -- q10 + :start-after: -- q10 + :end-before: -- q11 :Examples: For queries marked as ``directed`` with ``cost`` column The examples in this section use the following :ref:`fig3` .. literalinclude:: doc-pgr_edwardMoore.queries - :start-after: -- q11 - :end-before: -- q12 + :start-after: -- q12 + :end-before: -- q13 :Examples: For queries marked as ``undirected`` with ``cost`` column The examples in this section use the following :ref:`fig4` .. literalinclude:: doc-pgr_edwardMoore.queries - :start-after: -- q13 - :end-before: -- q14 + :start-after: -- q14 + :end-before: -- q15 See Also ------------------------------------------------------------------------------- From 0013d0fc3ecc1bf7b9515acc30e9361cefbfa03f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Mon, 14 Dec 2020 00:53:48 +0530 Subject: [PATCH 1117/1360] [edwardMoore][doc] Updated release_notes and NEWS --- NEWS | 1 + doc/src/release_notes.rst | 1 + 2 files changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 9459d280d50..92080e2d4d7 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,7 @@ pgRouting 3.2.0 Release Notes * pgr_dijkstraNearCost(Many to One) * pgr_dijkstraNearCost(Many to Many) * pgr_dijkstraNearCost(Combinations) +* pgr_edwardMoore(Combinations) * pgr_isPlanar * pgr_makeConnected * pgr_maxFlowMinCost(Combinations) diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 62c562eb07f..b7bb3fa2f65 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -75,6 +75,7 @@ pgRouting 3.2.0 Release Notes * pgr_dijkstraNearCost(Many to One) * pgr_dijkstraNearCost(Many to Many) * pgr_dijkstraNearCost(Combinations) +* pgr_edwardMoore(Combinations) * pgr_isPlanar * pgr_makeConnected * pgr_maxFlowMinCost(Combinations) From 7339e43a9dc0506e99ef73958ba01c6cc39a1aa1 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 15 Dec 2020 09:27:25 +0530 Subject: [PATCH 1118/1360] Remove existing link from linkcheck_ignore --- doc/conf.py.in | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/conf.py.in b/doc/conf.py.in index 0d176865ba1..4860f2b0e84 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -321,8 +321,6 @@ linkcheck_ignore = [ # might not exist yet (we are generating it!) 'https://docs.pgrouting.org/3.2/en/pgr_dijkstraNear.html', 'https://docs.pgrouting.org/3.2/en/pgr_dijkstraNearCost.html', - 'https://docs.pgrouting.org/3.2/en/pgr_withPoints.html', - 'https://docs.pgrouting.org/3.2/en/pgr_withPointsCost.html', # FIXME: tmp disable due to Retry-After header for rate-limiting by Github not respected # (see: https://github.com/sphinx-doc/sphinx/issues/7388) From b1dcb28516e38215d7b2f887b8eda3ecf5408150 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 15 Dec 2020 10:53:02 +0530 Subject: [PATCH 1119/1360] [lint] Fix code checker warnings --- include/astar/pgr_astar.hpp | 1 + include/bellman_ford/pgr_bellman_ford.hpp | 1 + include/bellman_ford/pgr_edwardMoore.hpp | 7 ++++--- .../pgr_binaryBreadthFirstSearch.hpp | 1 + include/chinese/pgr_chinesePostman.hpp | 3 +-- include/cpp_common/basic_vertex.h | 2 +- include/dagShortestPath/pgr_dagShortestPath.hpp | 1 + include/dijkstra/pgr_dijkstra.hpp | 2 +- .../max_flow/pgr_maximumcardinalitymatching.hpp | 1 - include/tsp/tour.h | 1 + include/vrp/pd_problem.h | 2 +- src/astar/astar.c | 1 - src/bdAstar/bdAstar.c | 1 - src/bdAstar/bdAstar_driver.cpp | 1 - src/dagShortestPath/dagShortestPath.c | 1 - src/dijkstra/dijkstra.c | 14 +++++++------- src/dijkstra/dijkstra_driver.cpp | 7 ++++--- src/trsp/pgr_trspHandler.cpp | 3 ++- src/tsp/tour.cpp | 5 ++++- src/withPoints/withPoints_driver.cpp | 1 + 20 files changed, 31 insertions(+), 25 deletions(-) diff --git a/include/astar/pgr_astar.hpp b/include/astar/pgr_astar.hpp index 81209a19a62..b56cea9a9e9 100644 --- a/include/astar/pgr_astar.hpp +++ b/include/astar/pgr_astar.hpp @@ -41,6 +41,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include #include "cpp_common/basePath_SSEC.hpp" #include "cpp_common/pgr_base_graph.hpp" diff --git a/include/bellman_ford/pgr_bellman_ford.hpp b/include/bellman_ford/pgr_bellman_ford.hpp index 9ac7121134e..09b53e6628c 100644 --- a/include/bellman_ford/pgr_bellman_ford.hpp +++ b/include/bellman_ford/pgr_bellman_ford.hpp @@ -39,6 +39,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include #include "cpp_common/pgr_messages.h" #include "cpp_common/basePath_SSEC.hpp" #include "cpp_common/pgr_base_graph.hpp" diff --git a/include/bellman_ford/pgr_edwardMoore.hpp b/include/bellman_ford/pgr_edwardMoore.hpp index 360ff2cfb23..eae9e81f764 100644 --- a/include/bellman_ford/pgr_edwardMoore.hpp +++ b/include/bellman_ford/pgr_edwardMoore.hpp @@ -22,10 +22,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #define INCLUDE_BELLMAN_FORD_PGR_EDWARDMOORE_HPP_ #pragma once -#include -#include -#include +#include +#include +#include #include +#include #include "cpp_common/basePath_SSEC.hpp" diff --git a/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp b/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp index a8dcdd66a22..7ac033eaaf0 100644 --- a/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp +++ b/include/breadthFirstSearch/pgr_binaryBreadthFirstSearch.hpp @@ -30,6 +30,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include #include "cpp_common/basePath_SSEC.hpp" #include "cpp_common/pgr_base_graph.hpp" diff --git a/include/chinese/pgr_chinesePostman.hpp b/include/chinese/pgr_chinesePostman.hpp index 6988294da99..adff1ba6736 100644 --- a/include/chinese/pgr_chinesePostman.hpp +++ b/include/chinese/pgr_chinesePostman.hpp @@ -112,8 +112,7 @@ PgrDirectedChPPGraph::PgrDirectedChPPGraph( edgeToIdx(), originalEdges(), resultGraph(), VToVecid(), edgeVisited(), pathStack(), resultPath(), - edges(), sources(), targets() -{ + edges(), sources(), targets() { pgassert(totalEdges > 0); pgassert(pathStack.empty()); diff --git a/include/cpp_common/basic_vertex.h b/include/cpp_common/basic_vertex.h index a50e97e9cf9..83b7e445d11 100644 --- a/include/cpp_common/basic_vertex.h +++ b/include/cpp_common/basic_vertex.h @@ -47,7 +47,7 @@ class Basic_vertex { explicit Basic_vertex(const int64_t _id) : id(_id) {} - Basic_vertex& operator=(const Basic_vertex&)=default; + Basic_vertex& operator=(const Basic_vertex&) = default; Basic_vertex(const pgr_edge_t &other, bool is_source) : id(is_source? other.source : other.target) {} diff --git a/include/dagShortestPath/pgr_dagShortestPath.hpp b/include/dagShortestPath/pgr_dagShortestPath.hpp index 81c25484213..d706062854e 100644 --- a/include/dagShortestPath/pgr_dagShortestPath.hpp +++ b/include/dagShortestPath/pgr_dagShortestPath.hpp @@ -43,6 +43,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include #include "cpp_common/basePath_SSEC.hpp" #include "cpp_common/pgr_base_graph.hpp" diff --git a/include/dijkstra/pgr_dijkstra.hpp b/include/dijkstra/pgr_dijkstra.hpp index 104c6b0d787..ad60203d976 100644 --- a/include/dijkstra/pgr_dijkstra.hpp +++ b/include/dijkstra/pgr_dijkstra.hpp @@ -691,7 +691,7 @@ class Pgr_dijkstra { .distance_inf(std::numeric_limits::infinity()) .visitor(dijkstra_many_goal_visitor(goals, n_goals, goals_found))); } catch(found_goals &) { - for(const auto &g : goals) { + for (const auto &g : goals) { if (goals_found.find(g) == goals_found.end()) { /* goal was not found */ predecessors[g] = g; diff --git a/include/max_flow/pgr_maximumcardinalitymatching.hpp b/include/max_flow/pgr_maximumcardinalitymatching.hpp index f57a5601ee1..779e9b0ee94 100644 --- a/include/max_flow/pgr_maximumcardinalitymatching.hpp +++ b/include/max_flow/pgr_maximumcardinalitymatching.hpp @@ -108,7 +108,6 @@ class PgrCardinalityGraph { std::vector get_matched_vertices() { - std::vector mate_map(boost::num_vertices(boost_graph)); std::vector matched_vertices; maximum_cardinality_matching(mate_map); diff --git a/include/tsp/tour.h b/include/tsp/tour.h index a1ab6411703..cdcd6c154b3 100644 --- a/include/tsp/tour.h +++ b/include/tsp/tour.h @@ -41,6 +41,7 @@ namespace tsp { class Tour { using difference_type = std::vector::difference_type; + public: Tour(const Tour &) = default; diff --git a/include/vrp/pd_problem.h b/include/vrp/pd_problem.h index 8698e8410e8..25679b92cf4 100644 --- a/include/vrp/pd_problem.h +++ b/include/vrp/pd_problem.h @@ -50,7 +50,7 @@ class PD_problem { protected: static Pgr_pickDeliver* problem; - PD_problem& operator=(const PD_problem &) {return *this;}; + PD_problem& operator=(const PD_problem &) {return *this;} }; } // namespace vrp diff --git a/src/astar/astar.c b/src/astar/astar.c index 1ca4941569b..341ec87d911 100644 --- a/src/astar/astar.c +++ b/src/astar/astar.c @@ -225,7 +225,6 @@ _pgr_astar(PG_FUNCTION_ARGS) { true, &result_tuples, &result_count); - } diff --git a/src/bdAstar/bdAstar.c b/src/bdAstar/bdAstar.c index b0a9a5b57c8..bd07ec06efe 100644 --- a/src/bdAstar/bdAstar.c +++ b/src/bdAstar/bdAstar.c @@ -192,7 +192,6 @@ _pgr_bdastar(PG_FUNCTION_ARGS) { PG_GETARG_BOOL(6), &result_tuples, &result_count); - } diff --git a/src/bdAstar/bdAstar_driver.cpp b/src/bdAstar/bdAstar_driver.cpp index f604c4c3740..f988650b086 100644 --- a/src/bdAstar/bdAstar_driver.cpp +++ b/src/bdAstar/bdAstar_driver.cpp @@ -129,7 +129,6 @@ pgr_bdAstar( previousCombination = comb; } - } log << fn_bdAstar.log(); diff --git a/src/dagShortestPath/dagShortestPath.c b/src/dagShortestPath/dagShortestPath.c index 10f6da4647f..1860f975e77 100644 --- a/src/dagShortestPath/dagShortestPath.c +++ b/src/dagShortestPath/dagShortestPath.c @@ -243,7 +243,6 @@ PGDLLEXPORT Datum _pgr_dagshortestpath(PG_FUNCTION_ARGS) { result = HeapTupleGetDatum(tuple); SRF_RETURN_NEXT(funcctx, result); } else { - PGR_DBG("Clean up code"); SRF_RETURN_DONE(funcctx); } diff --git a/src/dijkstra/dijkstra.c b/src/dijkstra/dijkstra.c index 29d72754454..44af5255d2b 100644 --- a/src/dijkstra/dijkstra.c +++ b/src/dijkstra/dijkstra.c @@ -122,14 +122,14 @@ process( time_msg("processing pgr_dijkstraNearCost", start_t, clock()); } else { time_msg("processing pgr_dijkstraCost", start_t, clock()); - }; + } } else { if (n_goals > 0) { time_msg("processing pgr_dijkstraNear", start_t, clock()); } else { time_msg("processing pgr_dijkstra", start_t, clock()); - }; - }; + } + } if (err_msg && (*result_tuples)) { @@ -175,7 +175,7 @@ process_combinations( if (total_edges == 0) { pgr_SPI_finish(); return; - }; + } pgr_get_combinations(combinations_sql, &combinations, &total_combinations); if (total_combinations == 0) { if (edges) pfree(edges); @@ -208,14 +208,14 @@ process_combinations( time_msg("Processing pgr_dijkstraNearCost", start_t, clock()); } else { time_msg("Processing pgr_dijkstraCost", start_t, clock()); - }; + } } else { if (n_goals > 0) { time_msg("Processing pgr_dijkstraNear", start_t, clock()); } else { time_msg("Processing pgr_dijkstra", start_t, clock()); - }; - }; + } + } if (err_msg && (*result_tuples)) { pfree(*result_tuples); diff --git a/src/dijkstra/dijkstra_driver.cpp b/src/dijkstra/dijkstra_driver.cpp index e59bb771082..a23e6adced8 100644 --- a/src/dijkstra/dijkstra_driver.cpp +++ b/src/dijkstra/dijkstra_driver.cpp @@ -50,9 +50,10 @@ namespace detail { void post_process(std::deque &paths, bool only_cost, bool normal, size_t n_goals, bool global) { paths.erase(std::remove_if(paths.begin(), paths.end(), - [](const Path &p){ - return p.size()==0;}), - paths.end()); + [](const Path &p) { + return p.size() == 0; + }), + paths.end()); using difference_type = std::deque::difference_type; if (!normal) { diff --git a/src/trsp/pgr_trspHandler.cpp b/src/trsp/pgr_trspHandler.cpp index c7c0fdfe39a..dadae6c292b 100644 --- a/src/trsp/pgr_trspHandler.cpp +++ b/src/trsp/pgr_trspHandler.cpp @@ -113,7 +113,8 @@ double Pgr_trspHandler::construct_path(int64_t ed_id, Position pos) { return pelement.cost; } - double ret = construct_path(static_cast(m_parent[static_cast(ed_id)].e_idx[static_cast(pos)]), + double ret = construct_path( + static_cast(m_parent[static_cast(ed_id)].e_idx[static_cast(pos)]), static_cast(m_parent[static_cast(ed_id)].v_pos[static_cast(pos)])); Path_t pelement; auto cur_edge = &m_edges[static_cast(ed_id)]; diff --git a/src/tsp/tour.cpp b/src/tsp/tour.cpp index f5e70ac5f41..111a2163dcb 100644 --- a/src/tsp/tour.cpp +++ b/src/tsp/tour.cpp @@ -92,7 +92,10 @@ void Tour::swap( size_t c2 ) { pgassert(c1 < c2); - std::iter_swap(cities.begin() + static_cast(c1), cities.begin() + static_cast(c2)); + std::iter_swap( + cities.begin() + + static_cast(c1), cities.begin() + + static_cast(c2)); } diff --git a/src/withPoints/withPoints_driver.cpp b/src/withPoints/withPoints_driver.cpp index f89f726f264..2bea28d1774 100644 --- a/src/withPoints/withPoints_driver.cpp +++ b/src/withPoints/withPoints_driver.cpp @@ -34,6 +34,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include #include "dijkstra/pgr_dijkstra.hpp" From 25466e9ecd160cb81408280853739e52013e7cb9 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 15 Dec 2020 11:16:39 +0530 Subject: [PATCH 1120/1360] [sphinx] Fix RemovedInSphinx40Warning: deprecated function --- doc/conf.py.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.py.in b/doc/conf.py.in index 4860f2b0e84..66acbcbb65b 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -164,7 +164,7 @@ html_favicon = "_static/images/favicon.ico" html_static_path = ["_static"] def setup(app): - app.add_stylesheet('custom.css') + app.add_css_file('custom.css') # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. From 4ba866bca78b76b1b7fdb59ffc50997b30c99107 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 15 Dec 2020 11:17:14 +0530 Subject: [PATCH 1121/1360] [doc] Fix documentation and indexes of functions --- doc/astar/pgr_aStar.rst | 2 +- doc/astar/pgr_aStarCost.rst | 2 +- doc/bdAstar/pgr_bdAstar.rst | 2 +- doc/bdAstar/pgr_bdAstarCost.rst | 5 ++++- doc/bdDijkstra/pgr_bdDijkstra.rst | 3 +++ doc/bdDijkstra/pgr_bdDijkstraCost.rst | 3 +++ doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst | 8 ++++---- doc/withPoints/pgr_withPoints.rst | 2 +- doc/withPoints/pgr_withPointsCost.rst | 2 +- 9 files changed, 19 insertions(+), 10 deletions(-) diff --git a/doc/astar/pgr_aStar.rst b/doc/astar/pgr_aStar.rst index c799b065810..ccd72f64a7f 100644 --- a/doc/astar/pgr_aStar.rst +++ b/doc/astar/pgr_aStar.rst @@ -186,7 +186,7 @@ Many to Many :end-before: --q6 .. index:: - single: aStar(Combinations) - Proposed + single: aStar(Combinations) -- Proposed on v3.2 Combinations ............................................................................... diff --git a/doc/astar/pgr_aStarCost.rst b/doc/astar/pgr_aStarCost.rst index 6867e96022a..c3489adc16c 100644 --- a/doc/astar/pgr_aStarCost.rst +++ b/doc/astar/pgr_aStarCost.rst @@ -165,7 +165,7 @@ Many to Many :end-before: --q6 .. index:: - single: aStarCost(Combinations) - Proposed + single: aStarCost(Combinations) -- Proposed on v3.2 Combinations ............................................................................... diff --git a/doc/bdAstar/pgr_bdAstar.rst b/doc/bdAstar/pgr_bdAstar.rst index ab5f8e67de9..0816ecceaee 100644 --- a/doc/bdAstar/pgr_bdAstar.rst +++ b/doc/bdAstar/pgr_bdAstar.rst @@ -180,7 +180,7 @@ Many to Many :end-before: -- q6 .. index:: - single: bdAstar(Combinations) - Proposed + single: bdAstar(Combinations) -- Proposed on v3.2 Combinations ............................................................................... diff --git a/doc/bdAstar/pgr_bdAstarCost.rst b/doc/bdAstar/pgr_bdAstarCost.rst index 6ca2b8a6a37..703deb7abd4 100644 --- a/doc/bdAstar/pgr_bdAstarCost.rst +++ b/doc/bdAstar/pgr_bdAstarCost.rst @@ -159,12 +159,15 @@ Many to Many :start-after: -- q5 :end-before: -- q6 +.. index:: + single: bdAstarCost(Combinations) -- Proposed on v3.2 + Combinations ............................................................................... .. code-block:: none - pgr_bdAstar(Edges SQL, Combinations SQL [, directed] [, heuristic] [, factor] [, epsilon]) + pgr_bdAstarCost(Edges SQL, Combinations SQL [, directed] [, heuristic] [, factor] [, epsilon]) RETURNS SET OF (start_vid, end_vid, agg_cost) OR EMPTY SET diff --git a/doc/bdDijkstra/pgr_bdDijkstra.rst b/doc/bdDijkstra/pgr_bdDijkstra.rst index 83ed15c6518..0b072a21d5f 100644 --- a/doc/bdDijkstra/pgr_bdDijkstra.rst +++ b/doc/bdDijkstra/pgr_bdDijkstra.rst @@ -174,6 +174,9 @@ Many to Many :start-after: -- q5 :end-before: -- q6 +.. index:: + single: bdDijkstra(Combinations) -- Proposed on v3.2 + Combinations ............................................................................... diff --git a/doc/bdDijkstra/pgr_bdDijkstraCost.rst b/doc/bdDijkstra/pgr_bdDijkstraCost.rst index 09839c19e8a..c1bd05dcc17 100644 --- a/doc/bdDijkstra/pgr_bdDijkstraCost.rst +++ b/doc/bdDijkstra/pgr_bdDijkstraCost.rst @@ -156,6 +156,9 @@ Many to Many :start-after: -- q5 :end-before: -- q6 +.. index:: + single: bdDijkstraCost(Combinations) -- Proposed on v3.2 + Combinations ............................................................................... diff --git a/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst b/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst index afedae24ab1..df64ddeeee3 100644 --- a/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst +++ b/doc/breadthFirstSearch/pgr_binaryBreadthFirstSearch.rst @@ -98,7 +98,7 @@ One to One :end-before: -- q3 .. index:: - single: Binary Breadth First Search(One to Many) - Experimental + single: binaryBreadthFirstSearch(One to Many) - Experimental One to many ............................................................................... @@ -116,7 +116,7 @@ One to many :end-before: -- q4 .. index:: - single: Binary Breadth First Search(Many to One) - Experimental + single: binaryBreadthFirstSearch(Many to One) - Experimental Many to One ............................................................................... @@ -134,7 +134,7 @@ Many to One :end-before: -- q5 .. index:: - single: Binary Breadth First Search(Many to Many) - Experimental + single: binaryBreadthFirstSearch(Many to Many) - Experimental Many to Many ............................................................................... @@ -152,7 +152,7 @@ Many to Many :end-before: -- q6 .. index:: - single: Binary Breadth First Search(Combinations) -- Experimental on v3.2 + single: binaryBreadthFirstSearch(Combinations) -- Experimental on v3.2 Combinations ............................................................................... diff --git a/doc/withPoints/pgr_withPoints.rst b/doc/withPoints/pgr_withPoints.rst index 54a55c9b7e2..a54d3909d7f 100644 --- a/doc/withPoints/pgr_withPoints.rst +++ b/doc/withPoints/pgr_withPoints.rst @@ -176,7 +176,7 @@ Many to Many :end-before: --q2 .. index:: - single: withPoints(Combinations) - Proposed + single: withPoints(Combinations) -- Proposed on v3.2 Combinations SQL ............................................................................... diff --git a/doc/withPoints/pgr_withPointsCost.rst b/doc/withPoints/pgr_withPointsCost.rst index 59a4ad64193..0d4793f8c7a 100644 --- a/doc/withPoints/pgr_withPointsCost.rst +++ b/doc/withPoints/pgr_withPointsCost.rst @@ -195,7 +195,7 @@ Many to Many :end-before: --q2 .. index:: - single: withPointsCost(Combinations) - Proposed + single: withPointsCost(Combinations) -- Proposed on v3.2 Combinations SQL ............................................................................... From 72827e5cb3e259c251bd5d77bc1aabdbe484b2e7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Tue, 15 Dec 2020 11:21:49 +0530 Subject: [PATCH 1122/1360] [doc] Update release_notes and NEWS * pgr_bipartite * pgr_lengauerTarjanDominatorTree --- NEWS | 2 ++ doc/src/release_notes.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 92080e2d4d7..b98e6a35faf 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,7 @@ pgRouting 3.2.0 Release Notes * pgr_bellmanFord(Combinations) * pgr_binaryBreadthFirstSearch(Combinations) +* pgr_bipartite * pgr_dagShortestPath(Combinations) * pgr_depthFirstSearch * pgr_dijkstraNear(One to Many) @@ -18,6 +19,7 @@ pgRouting 3.2.0 Release Notes * pgr_dijkstraNearCost(Combinations) * pgr_edwardMoore(Combinations) * pgr_isPlanar +* pgr_lengauerTarjanDominatorTree * pgr_makeConnected * pgr_maxFlowMinCost(Combinations) * pgr_maxFlowMinCost_Cost(Combinations) diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index b7bb3fa2f65..a83d0b05077 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -65,6 +65,7 @@ pgRouting 3.2.0 Release Notes * pgr_bellmanFord(Combinations) * pgr_binaryBreadthFirstSearch(Combinations) +* pgr_bipartite * pgr_dagShortestPath(Combinations) * pgr_depthFirstSearch * pgr_dijkstraNear(One to Many) @@ -77,6 +78,7 @@ pgRouting 3.2.0 Release Notes * pgr_dijkstraNearCost(Combinations) * pgr_edwardMoore(Combinations) * pgr_isPlanar +* pgr_lengauerTarjanDominatorTree * pgr_makeConnected * pgr_maxFlowMinCost(Combinations) * pgr_maxFlowMinCost_Cost(Combinations) From 155c8a1bdefeee8d5c76fa098dca6c74b0061cd3 Mon Sep 17 00:00:00 2001 From: Vicky Vergara Date: Tue, 15 Dec 2020 08:22:46 -0600 Subject: [PATCH 1123/1360] Issue 1725 3.2 (#1795) * [pickDeliver][pgtap] Expected tests to pass * [pickDeliver][docqueries] Fixing documentation query & updating expected results * [pickDeliver][C/C++] Fixing issue (wrapping unused code) * [doc] Updating NEWS, release notes and full_version * [locale] updating the locale --- NEWS | 4 + doc/src/release_notes.rst | 4 + docqueries/pickDeliver/design_pgtap.result | 13 +- docqueries/pickDeliver/doc-pickDeliver.result | 19 +- .../pickDeliver/doc-pickDeliver.test.sql | 9 +- docqueries/version/doc-full_version.result | 2 +- include/cpp_common/Dmatrix.h | 2 + include/vrp/dnode.h | 11 +- include/vrp/fleet.h | 4 +- include/vrp/pd_orders.h | 4 +- include/vrp/pgr_pickDeliver.h | 16 +- include/vrp/tw_node.h | 4 +- include/vrp/vehicle.h | 2 +- include/vrp/vehicle_node.h | 2 +- include/vrp/vehicle_pickDeliver.h | 4 +- locale/en/LC_MESSAGES/flow-family.po | 313 +++-- locale/en/LC_MESSAGES/pgr_bellmanFord.po | 188 ++- .../pgr_binaryBreadthFirstSearch.po | 190 ++- locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po | 158 ++- locale/en/LC_MESSAGES/pgr_dagShortestPath.po | 178 ++- .../en/LC_MESSAGES/pgr_edgeDisjointPaths.po | 138 +- locale/en/LC_MESSAGES/pgr_edmondsKarp.po | 160 ++- locale/en/LC_MESSAGES/pgr_edwardMoore.po | 195 ++- locale/en/LC_MESSAGES/pgr_maxFlow.po | 177 ++- locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po | 158 ++- .../en/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po | 172 ++- locale/en/LC_MESSAGES/pgr_pushRelabel.po | 162 ++- locale/en/LC_MESSAGES/release_notes.po | 1078 +++++++------- locale/pot/flow-family.pot | 380 ++--- locale/pot/pgr_bdAstarCost.pot | 34 +- locale/pot/pgr_bdDijkstra.pot | 86 +- locale/pot/pgr_bdDijkstraCost.pot | 32 +- locale/pot/pgr_bellmanFord.pot | 187 ++- locale/pot/pgr_binaryBreadthFirstSearch.pot | 191 ++- locale/pot/pgr_boykovKolmogorov.pot | 145 +- locale/pot/pgr_dagShortestPath.pot | 177 ++- locale/pot/pgr_edgeDisjointPaths.pot | 130 +- locale/pot/pgr_edmondsKarp.pot | 147 +- locale/pot/pgr_edwardMoore.pot | 197 ++- locale/pot/pgr_maxFlow.pot | 163 ++- locale/pot/pgr_maxFlowMinCost.pot | 145 +- locale/pot/pgr_maxFlowMinCost_Cost.pot | 155 ++- locale/pot/pgr_pushRelabel.pot | 149 +- locale/pot/release_notes.pot | 1240 +++++++++-------- pgtap/alpha_shape/notebook-test.sql | 6 +- pgtap/pickDeliver/pickDeliver/innerQuery.sql | 128 +- pgtap/pickDeliver/pickDeliver/issue-1725.sql | 20 + pgtap/pickDeliver/pickDeliver/many-calls.sql | 38 + src/cpp_common/Dmatrix.cpp | 43 +- src/pickDeliver/CMakeLists.txt | 4 +- src/pickDeliver/dnode.cpp | 22 +- src/pickDeliver/fleet.cpp | 54 +- src/pickDeliver/pd_orders.cpp | 23 +- src/pickDeliver/pgr_pickDeliver.cpp | 17 +- .../pickDeliverEuclidean_driver.cpp | 45 + src/pickDeliver/pickDeliver_driver.cpp | 17 + src/pickDeliver/tw_node.cpp | 21 +- src/pickDeliver/vehicle_pickDeliver.cpp | 12 +- 58 files changed, 4523 insertions(+), 2852 deletions(-) create mode 100644 pgtap/pickDeliver/pickDeliver/issue-1725.sql create mode 100644 pgtap/pickDeliver/pickDeliver/many-calls.sql diff --git a/NEWS b/NEWS index b98e6a35faf..9114b44c92b 100644 --- a/NEWS +++ b/NEWS @@ -50,7 +50,9 @@ To see all issues & pull requests closed by this release see the `Git closed mil *Issues fixes* +* [#1304 ](https://github.com/pgRouting/pgrouting/issues/1304)_: FreeBSD 12 64-bit crashes on pgr_vrOneDepot tests Experimental Function * [#1356 ](https://github.com/pgRouting/pgrouting/issues/1356)_: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed +* [#1725 ](https://github.com/pgRouting/pgrouting/issues/1725)_: Server crash on pgr_pickDeliver and pgr_vrpOneDepot on openbsd * [#1760 ](https://github.com/pgRouting/pgrouting/issues/1760)_: TSP server crash on ubuntu 20.04 #1760 * [#1770 ](https://github.com/pgRouting/pgrouting/issues/1770)_: Remove warnings when using clang compiler @@ -95,7 +97,9 @@ To see all issues & pull requests closed by this release see the `Git closed mil *Backport issues fixes* +* [#1304 ](https://github.com/pgRouting/pgrouting/issues/1304)_: FreeBSD 12 64-bit crashes on pgr_vrOneDepot tests Experimental Function * [#1356 ](https://github.com/pgRouting/pgrouting/issues/1356)_: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed +* [#1725 ](https://github.com/pgRouting/pgrouting/issues/1725)_: Server crash on pgr_pickDeliver and pgr_vrpOneDepot on openbsd * [#1760 ](https://github.com/pgRouting/pgrouting/issues/1760)_: TSP server crash on ubuntu 20.04 #1760 * [#1770 ](https://github.com/pgRouting/pgrouting/issues/1770)_: Remove warnings when using clang compiler diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index a83d0b05077..ab6fcd27567 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -110,7 +110,9 @@ To see all issues & pull requests closed by this release see the `Git closed mil .. rubric:: Issues fixes +* `#1304 `__: FreeBSD 12 64-bit crashes on pgr_vrOneDepot tests Experimental Function * `#1356 `__: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed +* `#1725 `__: Server crash on pgr_pickDeliver and pgr_vrpOneDepot on openbsd * `#1760 `__: TSP server crash on ubuntu 20.04 #1760 * `#1770 `__: Remove warnings when using clang compiler @@ -158,7 +160,9 @@ To see all issues & pull requests closed by this release see the `Git closed mil .. rubric:: Backport issues fixes +* `#1304 `__: FreeBSD 12 64-bit crashes on pgr_vrOneDepot tests Experimental Function * `#1356 `__: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed +* `#1725 `__: Server crash on pgr_pickDeliver and pgr_vrpOneDepot on openbsd * `#1760 `__: TSP server crash on ubuntu 20.04 #1760 * `#1770 `__: Remove warnings when using clang compiler diff --git a/docqueries/pickDeliver/design_pgtap.result b/docqueries/pickDeliver/design_pgtap.result index 64513af0289..854eb02c48f 100644 --- a/docqueries/pickDeliver/design_pgtap.result +++ b/docqueries/pickDeliver/design_pgtap.result @@ -8,15 +8,10 @@ SELECT * FROM _pgr_pickDeliverEuclidean( $$SELECT * FROM orders$$, $$SELECT * FROM vehicles$$); ERROR: Illegal values found on vehicle -HINT: Illegal values found on vehicleOn vehicle 1 a condition is not met: -starting_site.is_start: NO -ending_site.is_end: NO -verify that: -- start_open <= start_close: 5<4 -- end_open <= end_close: 5<4 -- capacity > 0 ---> pgrouting::vrp::Pgr_pickDeliver::Pgr_pickDeliver(const std::vector&, const std::vector&, double, size_t, int) - +HINT: On vehicle 1 a condition is not met, verify that: +vehicle.start_open_t <= vehicle.start_close_t 5 <= 4 +vehicle.end_open_t <= vehicle.end_close_t 5 <= 4 +vehicle.start_open_t <= vehicle.end_close_t 5 <= 4 UPDATE vehicles SET start_open = 0, start_close = 50 WHERE id = 1; ERROR: current transaction is aborted, commands ignored until end of transaction block ROLLBACK; diff --git a/docqueries/pickDeliver/doc-pickDeliver.result b/docqueries/pickDeliver/doc-pickDeliver.result index df38375096b..98706fb8791 100644 --- a/docqueries/pickDeliver/doc-pickDeliver.result +++ b/docqueries/pickDeliver/doc-pickDeliver.result @@ -38,9 +38,14 @@ SELECT * FROM pgr_pickDeliver( --q2 SELECT * FROM pgr_pickDeliver( $$ SELECT * FROM orders ORDER BY id $$, - $$ SELECT * FROM vehicles $$, + $$ SELECT * FROM vehicles ORDER BY id$$, $$ SELECT * from pgr_dijkstraCostMatrix( - ' SELECT * FROM edge_table ', ARRAY[3, 4, 5, 8, 9, 11]) + 'SELECT * FROM edge_table ', + (SELECT array_agg(id) FROM (SELECT p_node_id AS id FROM orders + UNION + SELECT d_node_id FROM orders + UNION + SELECT start_node_id FROM vehicles) a)) $$ ); seq | vehicle_seq | vehicle_id | stop_seq | stop_type | stop_id | order_id | cargo | travel_time | arrival_time | wait_time | service_time | departure_time @@ -50,12 +55,12 @@ SELECT * FROM pgr_pickDeliver( 3 | 1 | 1 | 3 | 3 | 11 | 3 | 0 | 2 | 7 | 0 | 3 | 10 4 | 1 | 1 | 4 | 2 | 9 | 2 | 20 | 2 | 12 | 0 | 2 | 14 5 | 1 | 1 | 5 | 3 | 4 | 2 | 0 | 1 | 15 | 0 | 3 | 18 - 6 | 1 | 1 | 6 | 6 | 6 | -1 | 0 | 4 | 22 | 0 | 0 | 22 + 6 | 1 | 1 | 6 | 6 | 6 | -1 | 0 | 2 | 20 | 0 | 0 | 20 7 | 2 | 1 | 1 | 1 | 6 | -1 | 0 | 0 | 0 | 0 | 0 | 0 - 8 | 2 | 1 | 2 | 2 | 3 | 1 | 10 | 5 | 5 | 0 | 3 | 8 - 9 | 2 | 1 | 3 | 3 | 8 | 1 | 0 | 3 | 11 | 0 | 3 | 14 - 10 | 2 | 1 | 4 | 6 | 6 | -1 | 0 | 0 | 14 | 0 | 0 | 14 - 11 | -2 | 0 | 0 | -1 | -1 | -1 | -1 | 18 | -1 | 1 | 17 | 36 + 8 | 2 | 1 | 2 | 2 | 3 | 1 | 10 | 3 | 3 | 0 | 3 | 6 + 9 | 2 | 1 | 3 | 3 | 8 | 1 | 0 | 3 | 9 | 0 | 3 | 12 + 10 | 2 | 1 | 4 | 6 | 6 | -1 | 0 | 2 | 14 | 0 | 0 | 14 + 11 | -2 | 0 | 0 | -1 | -1 | -1 | -1 | 16 | -1 | 1 | 17 | 34 (11 rows) --q3 diff --git a/docqueries/pickDeliver/doc-pickDeliver.test.sql b/docqueries/pickDeliver/doc-pickDeliver.test.sql index a5bdf1ca087..05f3074bf87 100644 --- a/docqueries/pickDeliver/doc-pickDeliver.test.sql +++ b/docqueries/pickDeliver/doc-pickDeliver.test.sql @@ -20,9 +20,14 @@ SELECT * FROM pgr_pickDeliver( SELECT * FROM pgr_pickDeliver( $$ SELECT * FROM orders ORDER BY id $$, - $$ SELECT * FROM vehicles $$, + $$ SELECT * FROM vehicles ORDER BY id$$, $$ SELECT * from pgr_dijkstraCostMatrix( - ' SELECT * FROM edge_table ', ARRAY[3, 4, 5, 8, 9, 11]) + 'SELECT * FROM edge_table ', + (SELECT array_agg(id) FROM (SELECT p_node_id AS id FROM orders + UNION + SELECT d_node_id FROM orders + UNION + SELECT start_node_id FROM vehicles) a)) $$ ); diff --git a/docqueries/version/doc-full_version.result b/docqueries/version/doc-full_version.result index df42e1e65a8..eca49818c25 100644 --- a/docqueries/version/doc-full_version.result +++ b/docqueries/version/doc-full_version.result @@ -6,7 +6,7 @@ SET SELECT * FROM pgr_full_version(); version | build_type | compile_date | library | system | postgresql | compiler | boost | hash -----------+------------+--------------+-----------------+------------------------+------------------------------------------------+-----------+--------+----------- - 3.2.0-dev | Debug | 2020/12/08 | pgrouting-3.2.0 | Linux-5.4.0-56-generic | PostgreSQL 12.5 (Ubuntu 12.5-0ubuntu0.20.04.1) | GNU-8.4.0 | 1.71.0 | 5ac0944cd + 3.2.0-dev | Debug | 2020/12/14 | pgrouting-3.2.0 | Linux-5.4.0-56-generic | PostgreSQL 12.5 (Ubuntu 12.5-0ubuntu0.20.04.1) | GNU-8.4.0 | 1.71.0 | 16aa0dfe8 (1 row) -- q2 diff --git a/include/cpp_common/Dmatrix.h b/include/cpp_common/Dmatrix.h index 7fabed0ac07..1b972f98cf2 100644 --- a/include/cpp_common/Dmatrix.h +++ b/include/cpp_common/Dmatrix.h @@ -31,6 +31,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include +#include #include "c_types/matrix_cell_t.h" @@ -43,6 +44,7 @@ class Dmatrix { public: Dmatrix() = default; explicit Dmatrix(const std::vector < Matrix_cell_t > &data_costs); + explicit Dmatrix(const std::map, int64_t> &euclidean_data); bool has_no_infinity() const; bool obeys_triangle_inequality() const; diff --git a/include/vrp/dnode.h b/include/vrp/dnode.h index ab3a5722486..ab9c9d8d551 100644 --- a/include/vrp/dnode.h +++ b/include/vrp/dnode.h @@ -42,22 +42,25 @@ namespace vrp { * * currently needs the PD_problem */ -class Dnode : public Base_node, public PD_problem { +class Dnode : public PD_problem, public Identifier { public: /*! @name constructors * @{ */ Dnode() = default; /*! @brief data constructor */ - Dnode(size_t id, int64_t original_id, double, double); + Dnode(size_t id, int64_t original_id); /*!@}*/ - using Base_node::operator==; + bool operator==(const Dnode &other) const; - double distance(const Base_node *) const; + double distance(const Dnode &other) const; friend std::ostream& operator << (std::ostream &log, const Dnode &node); + + protected: + static Pgr_messages& msg() ; }; } // namespace vrp diff --git a/include/vrp/fleet.h b/include/vrp/fleet.h index 6a097104be4..330a5289591 100644 --- a/include/vrp/fleet.h +++ b/include/vrp/fleet.h @@ -106,11 +106,10 @@ class Fleet : public PD_problem { void add_vehicle( Vehicle_t, double factor, - std::unique_ptr, const Vehicle_node&, - std::unique_ptr, const Vehicle_node&); +#if 0 template std::unique_ptr create_b_start( const Vehicle_t &vehicle, size_t node_id) { @@ -132,6 +131,7 @@ class Fleet : public PD_problem { vehicle.end_y)); return b_end; } +#endif }; diff --git a/include/vrp/pd_orders.h b/include/vrp/pd_orders.h index 5406fbb952e..9a70aedf2c9 100644 --- a/include/vrp/pd_orders.h +++ b/include/vrp/pd_orders.h @@ -88,11 +88,10 @@ class PD_Orders : public PD_problem { void add_order( const PickDeliveryOrders_t &, - std::unique_ptr, const Vehicle_node&, - std::unique_ptr, const Vehicle_node&); +#if 0 template std::unique_ptr create_b_pick( const PickDeliveryOrders_t &order, size_t node_id) { @@ -114,6 +113,7 @@ class PD_Orders : public PD_problem { order.deliver_y)); return b_drop; } +#endif private: Orders m_orders; diff --git a/include/vrp/pgr_pickDeliver.h b/include/vrp/pgr_pickDeliver.h index a9d411cb0e6..f3a805c44fd 100644 --- a/include/vrp/pgr_pickDeliver.h +++ b/include/vrp/pgr_pickDeliver.h @@ -53,12 +53,14 @@ class Base_node; class Pgr_pickDeliver : public PD_problem { public: +#if 0 Pgr_pickDeliver( const std::vector &pd_orders, const std::vector &vehicles, double factor, size_t max_cycles, int initial); +#endif Pgr_pickDeliver( const std::vector &pd_orders, @@ -77,15 +79,17 @@ class Pgr_pickDeliver : public PD_problem { Solution optimize(const Solution init_solution); size_t max_cycles() const {return m_max_cycles;} +#if 0 inline size_t& node_id() {return m_node_id;} +#endif - void add_node(const Vehicle_node &node) { - m_nodes.push_back(node); - } + void add_node(const Vehicle_node &node); +#if 0 void add_base_node(std::unique_ptr node_ptr) { m_base_nodes.push_back(std::move(node_ptr)); } +#endif Initials_code get_kind() const { return (Initials_code) problem->m_initial_id; @@ -104,14 +108,18 @@ class Pgr_pickDeliver : public PD_problem { //! maximum cycles in the optimization size_t m_max_cycles; +#if 0 //! used to keep track of the next id the node gets in the eucledian version size_t m_node_id; +#endif - std::vector m_nodes; public: // TODO(vicky) make this private + std::vector m_nodes; +#if 0 std::vector> m_base_nodes; +#endif pgrouting::tsp::Dmatrix m_cost_matrix; private: diff --git a/include/vrp/tw_node.h b/include/vrp/tw_node.h index 21ca82b2272..8b3d5ccbfed 100644 --- a/include/vrp/tw_node.h +++ b/include/vrp/tw_node.h @@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/identifier.h" #include "vrp/pd_problem.h" -#include "vrp/node.h" +#include "vrp/dnode.h" namespace pgrouting { namespace vrp { @@ -54,7 +54,7 @@ namespace vrp { * values and requirements for @c type and @c streetid. * */ -class Tw_node : public Identifier, public PD_problem { +class Tw_node : public Dnode { public: typedef enum { kStart = 0, ///< starting site diff --git a/include/vrp/vehicle.h b/include/vrp/vehicle.h index 020f3293ea5..37ee66c4d07 100644 --- a/include/vrp/vehicle.h +++ b/include/vrp/vehicle.h @@ -91,7 +91,7 @@ class Vehicle : public Identifier, public PD_problem { Vehicle(const Vehicle &) = default; Vehicle( size_t idx, - int64_t kind, + int64_t id, const Vehicle_node &starting_site, const Vehicle_node &ending_site, double p_capacity, diff --git a/include/vrp/vehicle_node.h b/include/vrp/vehicle_node.h index 44e7bc350b6..b6b4899136f 100644 --- a/include/vrp/vehicle_node.h +++ b/include/vrp/vehicle_node.h @@ -155,7 +155,7 @@ class Vehicle_node: public Tw_node { /*! \brief Construct from parameters */ - Vehicle_node() : Tw_node() {} + Vehicle_node() = delete; Vehicle_node(const Vehicle_node &) = default; explicit Vehicle_node(const Tw_node &node); diff --git a/include/vrp/vehicle_pickDeliver.h b/include/vrp/vehicle_pickDeliver.h index f9c3c99ae33..db5a9d0a6d7 100644 --- a/include/vrp/vehicle_pickDeliver.h +++ b/include/vrp/vehicle_pickDeliver.h @@ -59,8 +59,8 @@ class Vehicle_pickDeliver : public Vehicle { friend class Optimize; Vehicle_pickDeliver( - size_t id, - size_t kind, + size_t idx, + int64_t id, const Vehicle_node &starting_site, const Vehicle_node &ending_site, double p_capacity, diff --git a/locale/en/LC_MESSAGES/flow-family.po b/locale/en/LC_MESSAGES/flow-family.po index fb6984c0a72..c8c4e108e80 100644 --- a/locale/en/LC_MESSAGES/flow-family.po +++ b/locale/en/LC_MESSAGES/flow-family.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/flow-family.rst:11 msgid "Flow - Family of functions" @@ -147,13 +147,14 @@ msgstr "" #: ../../build/doc/flow-family.rst:54 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__) `3.1 `__ `3.0 `__ `2.6 `__" msgstr "" -#: ../../build/doc/flow-family.rst:59 +#: ../../build/doc/flow-family.rst:60 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__" msgstr "" -#: ../../build/doc/flow-family.rst:66 +#: ../../build/doc/flow-family.rst:67 msgid "Flow Functions General Information" msgstr "" -#: ../../build/doc/flow-family.rst:70 +#: ../../build/doc/flow-family.rst:71 msgid "**The main characteristics are:**" msgstr "" -#: ../../build/doc/flow-family.rst:72 +#: ../../build/doc/flow-family.rst:73 msgid "The graph is **directed**." msgstr "" -#: ../../build/doc/flow-family.rst:73 +#: ../../build/doc/flow-family.rst:74 msgid "Process is done only on edges with positive capacities." msgstr "" -#: ../../build/doc/flow-family.rst:74 +#: ../../build/doc/flow-family.rst:75 msgid "" "When the maximum flow is 0 then there is no flow and **EMPTY SET** is " "returned." msgstr "" -#: ../../build/doc/flow-family.rst:76 +#: ../../build/doc/flow-family.rst:77 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" -#: ../../build/doc/flow-family.rst:78 +#: ../../build/doc/flow-family.rst:79 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" -#: ../../build/doc/flow-family.rst:79 +#: ../../build/doc/flow-family.rst:80 msgid "Calculates the flow/residual capacity for each edge. In the output" msgstr "" -#: ../../build/doc/flow-family.rst:81 +#: ../../build/doc/flow-family.rst:82 msgid "Edges with zero flow are omitted." msgstr "" -#: ../../build/doc/flow-family.rst:83 +#: ../../build/doc/flow-family.rst:84 msgid "" "Creates a **super source** and edges to all the source(s), and a **super " "target** and the edges from all the targets(s)." msgstr "" -#: ../../build/doc/flow-family.rst:84 +#: ../../build/doc/flow-family.rst:85 msgid "" "The maximum flow through the graph is guaranteed to be the value returned" " by :doc:`pgr_maxFlow ` when executed with the same " "parameters and can be calculated:" msgstr "" -#: ../../build/doc/flow-family.rst:86 +#: ../../build/doc/flow-family.rst:87 msgid "By aggregation of the outgoing flow from the sources" msgstr "" -#: ../../build/doc/flow-family.rst:87 +#: ../../build/doc/flow-family.rst:88 msgid "By aggregation of the incoming flow to the targets" msgstr "" -#: ../../build/doc/flow-family.rst:92 +#: ../../build/doc/flow-family.rst:93 msgid "" ":doc:`pgr_maxFlow ` is the maximum Flow and that maximum " "is guaranteed to be the same on the functions :doc:`pgr_pushRelabel " @@ -229,97 +230,107 @@ msgid "" "through each edge may vary." msgstr "" -#: ../../build/doc/flow-family.rst:95 +#: ../../build/doc/flow-family.rst:96 msgid "Parameters" msgstr "" -#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 ../../build/doc/flow-family.rst:179 -#: ../../build/doc/flow-family.rst:196 +#: ../../build/doc/flow-family.rst:101 ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:212 ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "" -#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 ../../build/doc/flow-family.rst:179 -#: ../../build/doc/flow-family.rst:196 +#: ../../build/doc/flow-family.rst:101 ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:212 ../../build/doc/pgRouting-concepts.rst:4 msgid "Type" msgstr "" -#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 +#: ../../build/doc/flow-family.rst:101 ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" -#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 ../../build/doc/flow-family.rst:179 -#: ../../build/doc/flow-family.rst:196 +#: ../../build/doc/flow-family.rst:101 ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:212 ../../build/doc/pgRouting-concepts.rst:4 msgid "Description" msgstr "" -#: ../../build/doc/flow-family.rst:102 +#: ../../build/doc/flow-family.rst:103 msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/flow-family.rst:102 +#: ../../build/doc/flow-family.rst:103 ../../build/doc/flow-family.rst:104 msgid "``TEXT``" msgstr "" -#: ../../build/doc/flow-family.rst:102 -msgid "The edges SQL query as described in `Inner Query`_." +#: ../../build/doc/flow-family.rst:103 +msgid "Edges query as described in `Inner Queries`_." msgstr "" -#: ../../build/doc/flow-family.rst:103 ../../build/doc/flow-family.rst:124 -#: ../../build/doc/flow-family.rst:152 ../../build/doc/flow-family.rst:200 +#: ../../build/doc/flow-family.rst:104 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/flow-family.rst:104 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:105 ../../build/doc/flow-family.rst:126 +#: ../../build/doc/flow-family.rst:154 ../../build/doc/flow-family.rst:216 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" -#: ../../build/doc/flow-family.rst:103 ../../build/doc/flow-family.rst:105 -#: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:183 -#: ../../build/doc/flow-family.rst:184 ../../build/doc/flow-family.rst:185 -#: ../../build/doc/flow-family.rst:186 ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:105 ../../build/doc/flow-family.rst:107 +#: ../../build/doc/flow-family.rst:198 ../../build/doc/flow-family.rst:199 #: ../../build/doc/flow-family.rst:200 ../../build/doc/flow-family.rst:201 -#: ../../build/doc/flow-family.rst:202 ../../build/doc/flow-family.rst:203 +#: ../../build/doc/flow-family.rst:202 ../../build/doc/flow-family.rst:215 +#: ../../build/doc/flow-family.rst:216 ../../build/doc/flow-family.rst:217 +#: ../../build/doc/flow-family.rst:218 ../../build/doc/flow-family.rst:219 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:103 +#: ../../build/doc/flow-family.rst:105 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:104 +#: ../../build/doc/flow-family.rst:106 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:104 ../../build/doc/flow-family.rst:106 +#: ../../build/doc/flow-family.rst:106 ../../build/doc/flow-family.rst:108 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:104 +#: ../../build/doc/flow-family.rst:106 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:105 ../../build/doc/flow-family.rst:125 -#: ../../build/doc/flow-family.rst:153 ../../build/doc/flow-family.rst:201 +#: ../../build/doc/flow-family.rst:107 ../../build/doc/flow-family.rst:127 +#: ../../build/doc/flow-family.rst:155 ../../build/doc/flow-family.rst:217 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:105 +#: ../../build/doc/flow-family.rst:107 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:106 +#: ../../build/doc/flow-family.rst:108 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:106 +#: ../../build/doc/flow-family.rst:108 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:112 -msgid "Inner query" +#: ../../build/doc/flow-family.rst:114 +msgid "Inner queries" msgstr "" -#: ../../build/doc/flow-family.rst:115 ../../build/doc/flow-family.rst:175 +#: ../../build/doc/flow-family.rst:117 ../../build/doc/flow-family.rst:191 msgid "" "For :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp " "`, :doc:`pgr_boykovKolmogorov ` :" @@ -329,116 +340,122 @@ msgstr "" msgid "Edges SQL" msgstr "" -#: ../../build/doc/flow-family.rst:118 ../../build/doc/flow-family.rst:146 +#: ../../build/doc/flow-family.rst:120 ../../build/doc/flow-family.rst:148 msgid "" "an SQL query of a directed graph of capacities, which should return a set" " of rows with the following columns:" msgstr "" -#: ../../build/doc/flow-family.rst:123 ../../build/doc/flow-family.rst:151 +#: ../../build/doc/flow-family.rst:125 ../../build/doc/flow-family.rst:153 msgid "**id**" msgstr "" -#: ../../build/doc/flow-family.rst:123 ../../build/doc/flow-family.rst:124 #: ../../build/doc/flow-family.rst:125 ../../build/doc/flow-family.rst:126 -#: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:151 -#: ../../build/doc/flow-family.rst:152 ../../build/doc/flow-family.rst:153 -#: ../../build/doc/flow-family.rst:154 ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:127 ../../build/doc/flow-family.rst:128 +#: ../../build/doc/flow-family.rst:132 ../../build/doc/flow-family.rst:153 +#: ../../build/doc/flow-family.rst:154 ../../build/doc/flow-family.rst:155 +#: ../../build/doc/flow-family.rst:156 ../../build/doc/flow-family.rst:159 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/flow-family.rst:123 ../../build/doc/flow-family.rst:151 +#: ../../build/doc/flow-family.rst:125 ../../build/doc/flow-family.rst:153 msgid "Identifier of the edge." msgstr "" -#: ../../build/doc/flow-family.rst:124 ../../build/doc/flow-family.rst:152 -#: ../../build/doc/flow-family.rst:183 ../../build/doc/flow-family.rst:200 +#: ../../build/doc/flow-family.rst:126 ../../build/doc/flow-family.rst:154 +#: ../../build/doc/flow-family.rst:199 ../../build/doc/flow-family.rst:216 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" -#: ../../build/doc/flow-family.rst:125 ../../build/doc/flow-family.rst:153 -#: ../../build/doc/flow-family.rst:184 ../../build/doc/flow-family.rst:201 +#: ../../build/doc/flow-family.rst:127 ../../build/doc/flow-family.rst:155 +#: ../../build/doc/flow-family.rst:200 ../../build/doc/flow-family.rst:217 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" -#: ../../build/doc/flow-family.rst:126 ../../build/doc/flow-family.rst:154 +#: ../../build/doc/flow-family.rst:128 ../../build/doc/flow-family.rst:156 msgid "**capacity**" msgstr "" -#: ../../build/doc/flow-family.rst:126 +#: ../../build/doc/flow-family.rst:128 msgid "Weight of the edge `(source, target)`" msgstr "" -#: ../../build/doc/flow-family.rst:128 ../../build/doc/flow-family.rst:156 +#: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:158 msgid "" "When negative: edge `(source, target)` does not exist, therefore it's not" " part of the graph." msgstr "" -#: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:132 ../../build/doc/flow-family.rst:159 msgid "**reverse_capacity**" msgstr "" -#: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:132 ../../build/doc/flow-family.rst:159 msgid "-1" msgstr "" -#: ../../build/doc/flow-family.rst:130 +#: ../../build/doc/flow-family.rst:132 msgid "Weight of the edge `(target, source)`," msgstr "" -#: ../../build/doc/flow-family.rst:132 ../../build/doc/flow-family.rst:159 +#: ../../build/doc/flow-family.rst:134 ../../build/doc/flow-family.rst:161 msgid "" "When negative: edge `(target, source)` does not exist, therefore it's not" " part of the graph." msgstr "" -#: ../../build/doc/flow-family.rst:136 ../../build/doc/flow-family.rst:164 -#: ../../build/doc/flow-family.rst:261 +#: ../../build/doc/flow-family.rst:138 ../../build/doc/flow-family.rst:166 +#: ../../build/doc/flow-family.rst:277 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "" -#: ../../build/doc/flow-family.rst:138 ../../build/doc/flow-family.rst:166 +#: ../../build/doc/flow-family.rst:140 ../../build/doc/flow-family.rst:168 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" -#: ../../build/doc/flow-family.rst:142 +#: ../../build/doc/flow-family.rst:144 msgid "For :doc:`pgr_maxFlowMinCost` and :doc:`pgr_maxFlowMinCost_Cost`:" msgstr "" -#: ../../build/doc/flow-family.rst:154 +#: ../../build/doc/flow-family.rst:156 msgid "Capacity of the edge `(source, target)`" msgstr "" -#: ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:159 msgid "Capacity of the edge `(target, source)`," msgstr "" -#: ../../build/doc/flow-family.rst:160 ../../build/doc/flow-family.rst:204 +#: ../../build/doc/flow-family.rst:162 ../../build/doc/flow-family.rst:220 msgid "**cost**" msgstr "" -#: ../../build/doc/flow-family.rst:160 ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:162 ../../build/doc/flow-family.rst:163 msgid "``ANY-NUMERICAL``" msgstr "" -#: ../../build/doc/flow-family.rst:160 +#: ../../build/doc/flow-family.rst:162 msgid "Weight of the edge `(source, target)` if it exists." msgstr "" -#: ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:163 msgid "**reverse_cost**" msgstr "" -#: ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:163 msgid "0" msgstr "" -#: ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:163 msgid "Weight of the edge `(target, source)` if it exists." msgstr "" @@ -446,95 +463,119 @@ msgstr "" msgid "ANY-NUMERICAL" msgstr "" -#: ../../build/doc/flow-family.rst:167 +#: ../../build/doc/flow-family.rst:169 msgid "smallint, int, bigint, real, float" msgstr "" -#: ../../build/doc/flow-family.rst:172 +#: ../../build/doc/flow-family.rst:173 +msgid "" +"For :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp " +"`, :doc:`pgr_boykovKolmogorov `, " +":doc:`pgr_edgeDisjointPaths `, " +":doc:`pgr_maxFlowMinCost ` and " +":doc:`pgr_maxFlowMinCost_Cost ` :" +msgstr "" + +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:177 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:183 +msgid "" +"The function aggregates the sources and the targets, removes the " +"duplicates, and then it calculates the result from the resultant source " +"vertices to the target vertices." +msgstr "" + +#: ../../build/doc/flow-family.rst:188 msgid "Result Columns" msgstr "" -#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:197 ../../build/doc/flow-family.rst:214 msgid "**seq**" msgstr "" -#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:197 ../../build/doc/flow-family.rst:214 msgid "``INT``" msgstr "" -#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:197 ../../build/doc/flow-family.rst:214 msgid "Sequential value starting from **1**." msgstr "" -#: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:198 ../../build/doc/flow-family.rst:215 msgid "**edge**" msgstr "" -#: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:198 ../../build/doc/flow-family.rst:215 msgid "Identifier of the edge in the original query(edges_sql)." msgstr "" -#: ../../build/doc/flow-family.rst:183 +#: ../../build/doc/flow-family.rst:199 msgid "**start_vid**" msgstr "" -#: ../../build/doc/flow-family.rst:184 +#: ../../build/doc/flow-family.rst:200 msgid "**end_vid**" msgstr "" -#: ../../build/doc/flow-family.rst:185 ../../build/doc/flow-family.rst:202 +#: ../../build/doc/flow-family.rst:201 ../../build/doc/flow-family.rst:218 msgid "**flow**" msgstr "" -#: ../../build/doc/flow-family.rst:185 +#: ../../build/doc/flow-family.rst:201 msgid "Flow through the edge in the direction (``start_vid``, ``end_vid``)." msgstr "" -#: ../../build/doc/flow-family.rst:186 ../../build/doc/flow-family.rst:203 +#: ../../build/doc/flow-family.rst:202 ../../build/doc/flow-family.rst:219 msgid "**residual_capacity**" msgstr "" -#: ../../build/doc/flow-family.rst:186 +#: ../../build/doc/flow-family.rst:202 msgid "" "Residual capacity of the edge in the direction (``start_vid``, " "``end_vid``)." msgstr "" -#: ../../build/doc/flow-family.rst:192 +#: ../../build/doc/flow-family.rst:208 msgid "For :doc:`pgr_maxFlowMinCost`" msgstr "" -#: ../../build/doc/flow-family.rst:202 +#: ../../build/doc/flow-family.rst:218 msgid "Flow through the edge in the direction (source, target)." msgstr "" -#: ../../build/doc/flow-family.rst:203 +#: ../../build/doc/flow-family.rst:219 msgid "Residual capacity of the edge in the direction (source, target)." msgstr "" -#: ../../build/doc/flow-family.rst:204 ../../build/doc/flow-family.rst:205 +#: ../../build/doc/flow-family.rst:220 ../../build/doc/flow-family.rst:221 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/flow-family.rst:204 +#: ../../build/doc/flow-family.rst:220 msgid "" "The cost of sending this flow through the edge in the direction (source, " "target)." msgstr "" -#: ../../build/doc/flow-family.rst:205 +#: ../../build/doc/flow-family.rst:221 msgid "**agg_cost**" msgstr "" -#: ../../build/doc/flow-family.rst:205 +#: ../../build/doc/flow-family.rst:221 msgid "The aggregate cost." msgstr "" -#: ../../build/doc/flow-family.rst:212 +#: ../../build/doc/flow-family.rst:228 msgid "Adcanced Documentation" msgstr "" -#: ../../build/doc/flow-family.rst:214 +#: ../../build/doc/flow-family.rst:230 msgid "" "A flow network is a directed graph where each edge has a capacity and a " "flow. The flow through an edge must not exceed the capacity of the edge. " @@ -543,52 +584,52 @@ msgid "" " which only has incoming flow." msgstr "" -#: ../../build/doc/flow-family.rst:219 +#: ../../build/doc/flow-family.rst:235 msgid "" "Maximum flow algorithms calculate the maximum flow through the graph and " "the flow of each edge." msgstr "" -#: ../../build/doc/flow-family.rst:221 +#: ../../build/doc/flow-family.rst:237 msgid "" "The maximum flow through the graph is guaranteed to be the same with all " "implementations, but the actual flow through each edge may vary. Given " "the following query:" msgstr "" -#: ../../build/doc/flow-family.rst:225 +#: ../../build/doc/flow-family.rst:241 msgid "pgr_maxFlow :math:`(edges\\_sql, source\\_vertex, sink\\_vertex)`" msgstr "" -#: ../../build/doc/flow-family.rst:227 +#: ../../build/doc/flow-family.rst:243 msgid "" "where :math:`edges\\_sql = \\{(id_i, source_i, target_i, capacity_i, " "reverse\\_capacity_i)\\}`" msgstr "" -#: ../../build/doc/flow-family.rst:230 +#: ../../build/doc/flow-family.rst:246 msgid "Graph definition" msgstr "" -#: ../../build/doc/flow-family.rst:231 +#: ../../build/doc/flow-family.rst:247 msgid "The weighted directed graph, :math:`G(V,E)`, is defined as:" msgstr "" -#: ../../build/doc/flow-family.rst:233 +#: ../../build/doc/flow-family.rst:249 msgid "the set of vertices :math:`V`" msgstr "" -#: ../../build/doc/flow-family.rst:235 +#: ../../build/doc/flow-family.rst:251 msgid "" ":math:`source\\_vertex \\cup sink\\_vertex \\bigcup source_i " "\\bigcup target_i`" msgstr "" -#: ../../build/doc/flow-family.rst:237 +#: ../../build/doc/flow-family.rst:253 msgid "the set of edges :math:`E`" msgstr "" -#: ../../build/doc/flow-family.rst:239 +#: ../../build/doc/flow-family.rst:255 msgid "" ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, capacity_i) " "\\text{ when } capacity > 0 \\} & \\quad \\text{ if } reverse\\_capacity" @@ -599,41 +640,41 @@ msgid "" "\\neq \\varnothing \\\\ \\end{cases}`" msgstr "" -#: ../../build/doc/flow-family.rst:247 +#: ../../build/doc/flow-family.rst:263 msgid "Maximum flow problem" msgstr "" -#: ../../build/doc/flow-family.rst:248 +#: ../../build/doc/flow-family.rst:264 msgid "Given:" msgstr "" -#: ../../build/doc/flow-family.rst:251 +#: ../../build/doc/flow-family.rst:267 msgid ":math:`G(V,E)`" msgstr "" -#: ../../build/doc/flow-family.rst:252 +#: ../../build/doc/flow-family.rst:268 msgid ":math:`source\\_vertex \\in V` the source vertex" msgstr "" -#: ../../build/doc/flow-family.rst:253 +#: ../../build/doc/flow-family.rst:269 msgid ":math:`sink\\_vertex \\in V` the sink vertex" msgstr "" -#: ../../build/doc/flow-family.rst:255 +#: ../../build/doc/flow-family.rst:271 msgid "Then:" msgstr "" -#: ../../build/doc/flow-family.rst:257 +#: ../../build/doc/flow-family.rst:273 msgid ":math:`pgr\\_maxFlow(edges\\_sql, source, sink) = \\boldsymbol{\\Phi}`" msgstr "" -#: ../../build/doc/flow-family.rst:259 +#: ../../build/doc/flow-family.rst:275 msgid "" ":math:`\\boldsymbol{\\Phi} = {(id_i, edge\\_id_i, source_i, target_i, " "flow_i, residual\\_capacity_i)}`" msgstr "" -#: ../../build/doc/flow-family.rst:263 +#: ../../build/doc/flow-family.rst:279 msgid "" ":math:`\\boldsymbol{\\Phi}` is a subset of the original edges with their " "residual capacity and flow. The maximum flow through the graph can be " @@ -641,35 +682,35 @@ msgid "" "from/to it. In particular:" msgstr "" -#: ../../build/doc/flow-family.rst:267 +#: ../../build/doc/flow-family.rst:283 msgid ":math:`id_i = i`" msgstr "" -#: ../../build/doc/flow-family.rst:268 +#: ../../build/doc/flow-family.rst:284 msgid ":math:`edge\\_id = id_i` in edges_sql" msgstr "" -#: ../../build/doc/flow-family.rst:269 +#: ../../build/doc/flow-family.rst:285 msgid ":math:`residual\\_capacity_i = capacity_i - flow_i`" msgstr "" -#: ../../build/doc/flow-family.rst:273 +#: ../../build/doc/flow-family.rst:289 msgid "See Also" msgstr "" -#: ../../build/doc/flow-family.rst:275 +#: ../../build/doc/flow-family.rst:291 msgid "https://en.wikipedia.org/wiki/Maximum_flow_problem" msgstr "" -#: ../../build/doc/flow-family.rst:278 +#: ../../build/doc/flow-family.rst:294 msgid "Indices and tables" msgstr "" -#: ../../build/doc/flow-family.rst:279 +#: ../../build/doc/flow-family.rst:295 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/flow-family.rst:280 +#: ../../build/doc/flow-family.rst:296 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/pgr_bellmanFord.po b/locale/en/LC_MESSAGES/pgr_bellmanFord.po index 01622d0d1ae..37a567baf43 100644 --- a/locale/en/LC_MESSAGES/pgr_bellmanFord.po +++ b/locale/en/LC_MESSAGES/pgr_bellmanFord.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_bellmanFord.rst:11 msgid "pgr_bellmanFord - Experimental" @@ -105,32 +105,45 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:27 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:29 +msgid "New **experimental** function:" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:31 +msgid "pgr_bellmanFord(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:33 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:35 msgid "New **experimental** function" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:32 +#: ../../build/doc/pgr_bellmanFord.rst:38 msgid "Support" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:33 +#: ../../build/doc/pgr_bellmanFord.rst:39 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bellmanFord.rst:38 -#: ../../build/doc/pgr_bellmanFord.rst:175 +#: ../../build/doc/pgr_bellmanFord.rst:45 +#: ../../build/doc/pgr_bellmanFord.rst:201 msgid "Description" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:40 +#: ../../build/doc/pgr_bellmanFord.rst:47 msgid "" "Bellman-Ford's algorithm, is named after Richard Bellman and Lester Ford," " who first published it in 1958 and 1956, respectively. It is a graph " @@ -141,32 +154,32 @@ msgid "" "with a directed graph and an undirected graph." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:64 +#: ../../build/doc/pgr_bellmanFord.rst:71 msgid "The main characteristics are:" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:46 +#: ../../build/doc/pgr_bellmanFord.rst:53 msgid "Process is valid for edges with both positive and negative edge weights." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:47 +#: ../../build/doc/pgr_bellmanFord.rst:54 msgid "Values are returned when there is a path." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:49 +#: ../../build/doc/pgr_bellmanFord.rst:56 msgid "" "When the start vertex and the end vertex are the same, there is no path. " "The agg_cost would be 0." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:51 +#: ../../build/doc/pgr_bellmanFord.rst:58 msgid "" "When the start vertex and the end vertex are different, and there exists " "a path between them without having a *negative cycle*. The agg_cost would" " be some finite value denoting the shortest distance between them." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:52 +#: ../../build/doc/pgr_bellmanFord.rst:59 msgid "" "When the start vertex and the end vertex are different, and there exists " "a path between them, but it contains a *negative cycle*. In such case, " @@ -174,43 +187,43 @@ msgid "" "agg_cost can’t be defined for them." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:54 +#: ../../build/doc/pgr_bellmanFord.rst:61 msgid "" "When the start vertex and the end vertex are different, and there is no " "path. The agg_cost is :math:`\\infty`." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:56 +#: ../../build/doc/pgr_bellmanFord.rst:63 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` are ignored." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:58 +#: ../../build/doc/pgr_bellmanFord.rst:65 msgid "The returned values are ordered:" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:60 +#: ../../build/doc/pgr_bellmanFord.rst:67 msgid "`start_vid` ascending" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:61 +#: ../../build/doc/pgr_bellmanFord.rst:68 msgid "`end_vid` ascending" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:63 +#: ../../build/doc/pgr_bellmanFord.rst:70 msgid "Running time: :math:`O(| start\\_vids | * ( V * E))`" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:67 +#: ../../build/doc/pgr_bellmanFord.rst:74 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:70 +#: ../../build/doc/pgr_bellmanFord.rst:77 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:82 +#: ../../build/doc/pgr_bellmanFord.rst:90 msgid "Using defaults" msgstr "" @@ -218,85 +231,102 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:89 +#: ../../build/doc/pgr_bellmanFord.rst:97 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:99 +#: ../../build/doc/pgr_bellmanFord.rst:107 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:107 +#: ../../build/doc/pgr_bellmanFord.rst:115 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:117 +#: ../../build/doc/pgr_bellmanFord.rst:125 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:125 +#: ../../build/doc/pgr_bellmanFord.rst:133 msgid "" "From vertex :math:`2` to vertices :math:`\\{ 3, 5\\}` on an " "**undirected** graph" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:135 +#: ../../build/doc/pgr_bellmanFord.rst:143 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:143 +#: ../../build/doc/pgr_bellmanFord.rst:151 msgid "" "From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "graph" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:153 +#: ../../build/doc/pgr_bellmanFord.rst:161 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:161 +#: ../../build/doc/pgr_bellmanFord.rst:169 msgid "" "From vertices :math:`\\{2, 11\\}` to vertices :math:`\\{3, 5\\}` on an " "**undirected** graph" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:168 +#: ../../build/doc/pgr_bellmanFord.rst:179 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:187 +msgid "Using a combinations table on an **undirected** graph." +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:194 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:173 +#: ../../build/doc/pgr_bellmanFord.rst:199 msgid "Description of the parameters of the signatures" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:175 +#: ../../build/doc/pgr_bellmanFord.rst:201 msgid "Parameter" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bellmanFord.rst:175 +#: ../../build/doc/pgr_bellmanFord.rst:201 msgid "Type" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_bellmanFord.rst:175 +#: ../../build/doc/pgr_bellmanFord.rst:201 msgid "Default" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:177 -msgid "**edges_sql**" +#: ../../build/doc/pgr_bellmanFord.rst:203 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:177 +#: ../../build/doc/pgr_bellmanFord.rst:203 +#: ../../build/doc/pgr_bellmanFord.rst:204 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:177 -msgid "SQL query as described above." +#: ../../build/doc/pgr_bellmanFord.rst:203 +msgid "Edges query as described below." +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:204 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:204 +msgid "Combinations query as described below." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 -#: ../../build/doc/pgr_bellmanFord.rst:178 +#: ../../build/doc/pgr_bellmanFord.rst:205 msgid "**start_vid**" msgstr "" @@ -304,67 +334,71 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:16 #: ../../build/doc/pgRouting-concepts.rst:22 #: ../../build/doc/pgRouting-concepts.rst:23 -#: ../../build/doc/pgr_bellmanFord.rst:178 -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:205 +#: ../../build/doc/pgr_bellmanFord.rst:207 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:178 +#: ../../build/doc/pgr_bellmanFord.rst:205 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:179 +#: ../../build/doc/pgr_bellmanFord.rst:206 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:179 -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:206 +#: ../../build/doc/pgr_bellmanFord.rst:208 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:179 +#: ../../build/doc/pgr_bellmanFord.rst:206 msgid "Array of identifiers of starting vertices." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:16 -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:207 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:207 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:208 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:208 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:183 +#: ../../build/doc/pgr_bellmanFord.rst:210 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:189 -msgid "Inner Query" +#: ../../build/doc/pgr_bellmanFord.rst:216 +msgid "Inner Queries" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:219 +msgid "Edges query" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -386,18 +420,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -440,6 +478,7 @@ msgid "" " part of the graph." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "" @@ -448,6 +487,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -460,7 +500,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:196 +#: ../../build/doc/pgr_bellmanFord.rst:226 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:233 msgid "Results Columns" msgstr "" @@ -555,28 +599,28 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:203 +#: ../../build/doc/pgr_bellmanFord.rst:240 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:205 +#: ../../build/doc/pgr_bellmanFord.rst:242 #, python-format msgid "https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:206 +#: ../../build/doc/pgr_bellmanFord.rst:243 msgid "The queries use the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:209 +#: ../../build/doc/pgr_bellmanFord.rst:246 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:210 +#: ../../build/doc/pgr_bellmanFord.rst:247 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:211 +#: ../../build/doc/pgr_bellmanFord.rst:248 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po b/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po index 27da0fbe26b..3da63533248 100644 --- a/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po +++ b/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-07 21:01-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -106,17 +106,33 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:27 -msgid "To-be experimental on v3.0.0" +msgid "Version 3.2.0" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:29 +msgid "New **experimental** function:" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:31 +msgid "pgr_binaryBreadthFirstSearch(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:33 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:35 +msgid "New **experimental** function" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:30 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:38 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 msgid "Description" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:32 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:40 msgid "" "It is well-known that the shortest paths between a single source and all " "other vertices can be found using Breadth First Search in :math:`O(|E|)` " @@ -128,7 +144,7 @@ msgid "" ":math:`O(|E|log|V|)` time." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:34 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:42 msgid "" "However if the weights are more constrained, we can use a faster " "algorithm. This algorithm, termed as 'Binary Breadth First Search' as " @@ -138,40 +154,40 @@ msgid "" "where 'X' is any non-negative real integer." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:37 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:45 msgid "**The main Characteristics are:**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:39 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:47 msgid "" "Process is done only on 'binary graphs'. ('Binary Graph': Any graph whose" " edge-weights belongs to the set {0,X}, where 'X' is any non-negative " "real integer.)" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:41 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:49 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` are ignored." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:43 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:51 msgid "The returned values are ordered:" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:45 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:53 msgid "`start_vid` ascending" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:46 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:54 msgid "`end_vid` ascending" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:48 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:56 msgid "Running time: :math:`O(| start\\_vids | * |E|)`" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:51 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:59 msgid "Signatures" msgstr "" @@ -179,83 +195,100 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:67 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:76 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** binary graph" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:77 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:86 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:86 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:94 msgid "" "From vertex :math:`2` to vertex :math:`3` on an **undirected** binary " "graph" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:96 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:104 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:105 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:112 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 5\\}` on an **undirected**" " binary graph" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:115 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:122 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:124 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:130 msgid "" "From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "binary graph" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:134 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:140 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:143 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:148 msgid "" "From vertices :math:`\\{2, 11\\}` to vertices :math:`\\{3, 5\\}` on an " "**undirected** binary graph" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:150 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:166 +msgid "Using a combinations table on an **undirected** binary graph." +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:173 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 msgid "Parameter" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 msgid "Type" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 msgid "Default" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:157 -msgid "**edges_sql**" +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:180 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:157 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:180 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:181 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:157 -msgid "Inner SQL query as described below." +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:180 +msgid "Edges query as described below." +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:181 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:181 +msgid "Combinations query as described below." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:182 msgid "**start_vid**" msgstr "" @@ -263,67 +296,71 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:160 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:182 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:184 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:182 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:159 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:183 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:159 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:161 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:183 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:185 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:159 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:183 msgid "Array of identifiers of starting vertices." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:160 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:184 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:160 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:184 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:161 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:185 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:161 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:185 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:163 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:187 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:169 -msgid "Inner query" +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:193 +msgid "Inner queries" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:196 +msgid "Edges query" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -345,18 +382,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -399,6 +440,7 @@ msgid "" " part of the graph." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "" @@ -407,6 +449,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -419,7 +462,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:203 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:210 msgid "Return Columns" msgstr "" @@ -526,15 +573,15 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:218 msgid "Example Data" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:188 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:220 msgid "This type of data is used on the examples of this page." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:190 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:222 msgid "" "Edwards-Moore Algorithm is best applied when trying to answer queries " "such as the following: **“Find the path with the minimum number from " @@ -543,72 +590,69 @@ msgid "" "edge in the graph is either “*X*” or “*Not X*” ." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:197 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:229 msgid "" "Example: “Find the path with the minimum number of road works from Source" " to Destination”" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:200 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 msgid "" "Here, a road under work(aka **road works**) means that part of the road " "is occupied for construction work/maintenance." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:203 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:235 msgid "" "Here: * Edge ( *u* , *v* ) has weight = 0 if no road work is ongoing on " "the road from *u* to *v*. * Edge ( *u*, *v*) has weight = 1 if road work " "is ongoing on the road from *u* to *v*." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:207 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:239 msgid "" "Then, upon running the algorithm, we obtain the path with the minimum " "number of road works from the given source and destination." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:210 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:242 msgid "" "Thus, the queries used in the previous section can be interpreted in this" " manner." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:213 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:245 msgid "Table Data" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:216 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:248 msgid "" "The queries in the previous sections use the table 'roadworks'. The data " "of the table:" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:224 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:256 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:226 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:258 msgid "https://cp-algorithms.com/graph/01_bfs.html" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:227 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:259 #, python-format msgid "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#Specialized_variants" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:230 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:262 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:231 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:263 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:264 msgid ":ref:`search`" msgstr "" -#~ msgid "https://codeforces.com/blog/entry/22276" -#~ msgstr "" - diff --git a/locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po b/locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po index a2cfc84ee96..af4acf4c1f6 100644 --- a/locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po +++ b/locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_boykovKolmogorov.rst:11 msgid "pgr_boykovKolmogorov" @@ -37,45 +37,58 @@ msgid "Availability:" msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:26 -msgid "Version 2.5.0" +msgid "pgr_boykovKolmogorov(Combinations)" msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:28 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:32 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:34 msgid "Renamed from ``pgr_maxFlowBoykovKolmogorov``" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:29 +#: ../../build/doc/pgr_boykovKolmogorov.rst:35 msgid "**Proposed** function" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:31 +#: ../../build/doc/pgr_boykovKolmogorov.rst:37 msgid "Version 2.3.0" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:33 +#: ../../build/doc/pgr_boykovKolmogorov.rst:39 msgid "New **Experimental** function" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:36 +#: ../../build/doc/pgr_boykovKolmogorov.rst:42 msgid "Support" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:37 +#: ../../build/doc/pgr_boykovKolmogorov.rst:43 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:41 +#: ../../build/doc/pgr_boykovKolmogorov.rst:48 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -86,7 +99,8 @@ msgid "" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_boykovKolmogorov.rst:49 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_boykovKolmogorov.rst:56 msgid "Description" msgstr "" @@ -145,19 +159,19 @@ msgstr "" msgid "By aggregation of the incoming flow to the targets" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:55 +#: ../../build/doc/pgr_boykovKolmogorov.rst:62 msgid "Running time: Polynomial" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:58 +#: ../../build/doc/pgr_boykovKolmogorov.rst:65 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:61 +#: ../../build/doc/pgr_boykovKolmogorov.rst:68 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:75 +#: ../../build/doc/pgr_boykovKolmogorov.rst:83 msgid "One to One" msgstr "" @@ -165,47 +179,60 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:83 +#: ../../build/doc/pgr_boykovKolmogorov.rst:91 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:93 +#: ../../build/doc/pgr_boykovKolmogorov.rst:101 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:101 +#: ../../build/doc/pgr_boykovKolmogorov.rst:109 msgid "From vertex :math:`6` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:111 +#: ../../build/doc/pgr_boykovKolmogorov.rst:119 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:119 +#: ../../build/doc/pgr_boykovKolmogorov.rst:127 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:129 +#: ../../build/doc/pgr_boykovKolmogorov.rst:137 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:137 +#: ../../build/doc/pgr_boykovKolmogorov.rst:145 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:144 +#: ../../build/doc/pgr_boykovKolmogorov.rst:155 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:163 +msgid "" +"Using a combinations table, equivalent to calculating result from " +"vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:170 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -213,15 +240,24 @@ msgstr "" msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." msgstr "" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" @@ -231,40 +267,40 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:151 -msgid "Inner query" +#: ../../build/doc/pgr_boykovKolmogorov.rst:177 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst @@ -283,7 +319,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/flow-family.rst:15 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -292,10 +329,12 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -331,19 +370,34 @@ msgid "" " part of the graph." msgstr "" -#: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/flow-family.rst:21 ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "" -#: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/flow-family.rst:23 ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:158 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the " +"duplicates, and then it calculates the result from the resultant source " +"vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:188 msgid "Result Columns" msgstr "" @@ -393,27 +447,27 @@ msgid "" "``end_vid``)." msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:165 +#: ../../build/doc/pgr_boykovKolmogorov.rst:195 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:167 +#: ../../build/doc/pgr_boykovKolmogorov.rst:197 msgid ":doc:`flow-family`, :doc:`pgr_pushRelabel`, :doc:`pgr_edmondsKarp`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:168 +#: ../../build/doc/pgr_boykovKolmogorov.rst:198 msgid "https://www.boost.org/libs/graph/doc/boykov_kolmogorov_max_flow.html" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:171 +#: ../../build/doc/pgr_boykovKolmogorov.rst:201 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:172 +#: ../../build/doc/pgr_boykovKolmogorov.rst:202 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:173 +#: ../../build/doc/pgr_boykovKolmogorov.rst:203 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/pgr_dagShortestPath.po b/locale/en/LC_MESSAGES/pgr_dagShortestPath.po index 17d73ba90c9..bd1cebcd99d 100644 --- a/locale/en/LC_MESSAGES/pgr_dagShortestPath.po +++ b/locale/en/LC_MESSAGES/pgr_dagShortestPath.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-15 07:54-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_dagShortestPath.rst:11 msgid "pgr_dagShortestPath - Experimental" @@ -105,32 +105,45 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:27 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:29 +msgid "New **experimental** function:" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:31 +msgid "pgr_dagShortestPath(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:33 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:35 msgid "New **experimental** function" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:32 +#: ../../build/doc/pgr_dagShortestPath.rst:38 msgid "Support" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:33 +#: ../../build/doc/pgr_dagShortestPath.rst:39 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_dagShortestPath.rst:38 -#: ../../build/doc/pgr_dagShortestPath.rst:167 +#: ../../build/doc/pgr_dagShortestPath.rst:45 +#: ../../build/doc/pgr_dagShortestPath.rst:194 msgid "Description" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:40 +#: ../../build/doc/pgr_dagShortestPath.rst:47 msgid "" "Shortest Path for Directed Acyclic Graph(DAG) is a graph search algorithm" " that solves the shortest path problem for weighted directed acyclic " @@ -138,82 +151,82 @@ msgid "" "to an ending vertex (``end_vid``)." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:44 +#: ../../build/doc/pgr_dagShortestPath.rst:51 msgid "" "This implementation can only be used with a **directed** graph with no " "cycles i.e. directed acyclic graph." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:46 +#: ../../build/doc/pgr_dagShortestPath.rst:53 msgid "" "The algorithm relies on topological sorting the dag to impose a linear " "ordering on the vertices, and thus is more efficient for DAG's than " "either the Dijkstra or Bellman-Ford algorithm." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:68 +#: ../../build/doc/pgr_dagShortestPath.rst:75 msgid "The main characteristics are:" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:49 +#: ../../build/doc/pgr_dagShortestPath.rst:56 msgid "" "Process is valid for weighted directed acyclic graphs only. otherwise it " "will throw warnings." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:50 +#: ../../build/doc/pgr_dagShortestPath.rst:57 msgid "Values are returned when there is a path." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:52 +#: ../../build/doc/pgr_dagShortestPath.rst:59 msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:54 +#: ../../build/doc/pgr_dagShortestPath.rst:61 msgid "The `agg_cost` the non included values `(v, v)` is `0`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:56 +#: ../../build/doc/pgr_dagShortestPath.rst:63 msgid "" "When the starting vertex and ending vertex are the different and there is" " no path:" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:58 +#: ../../build/doc/pgr_dagShortestPath.rst:65 msgid "The `agg_cost` the non included values `(u, v)` is :math:`\\infty`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:60 +#: ../../build/doc/pgr_dagShortestPath.rst:67 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` are ignored." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:62 +#: ../../build/doc/pgr_dagShortestPath.rst:69 msgid "The returned values are ordered:" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:64 +#: ../../build/doc/pgr_dagShortestPath.rst:71 msgid "`start_vid` ascending" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:65 +#: ../../build/doc/pgr_dagShortestPath.rst:72 msgid "`end_vid` ascending" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:67 +#: ../../build/doc/pgr_dagShortestPath.rst:74 msgid "Running time: :math:`O(| start\\_vids | * (V + E))`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:71 +#: ../../build/doc/pgr_dagShortestPath.rst:78 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:74 +#: ../../build/doc/pgr_dagShortestPath.rst:81 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:90 +#: ../../build/doc/pgr_dagShortestPath.rst:98 msgid "One to One" msgstr "" @@ -221,71 +234,88 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:98 +#: ../../build/doc/pgr_dagShortestPath.rst:106 msgid "From vertex :math:`1` to vertex :math:`6`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:108 +#: ../../build/doc/pgr_dagShortestPath.rst:116 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:116 +#: ../../build/doc/pgr_dagShortestPath.rst:124 msgid "From vertex :math:`1` to vertices :math:`\\{ 5, 6\\}`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:126 +#: ../../build/doc/pgr_dagShortestPath.rst:134 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:134 +#: ../../build/doc/pgr_dagShortestPath.rst:142 msgid "From vertices :math:`\\{1, 3\\}` to vertex :math:`6`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:144 +#: ../../build/doc/pgr_dagShortestPath.rst:152 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:152 +#: ../../build/doc/pgr_dagShortestPath.rst:160 msgid "From vertices :math:`\\{1, 4\\}` to vertices :math:`\\{12, 6\\}`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:160 +#: ../../build/doc/pgr_dagShortestPath.rst:171 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:179 +msgid "Using a combinations table on a Directed Acyclic Graph." +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:187 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:165 +#: ../../build/doc/pgr_dagShortestPath.rst:192 msgid "Description of the parameters of the signatures" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:167 +#: ../../build/doc/pgr_dagShortestPath.rst:194 msgid "Parameter" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_dagShortestPath.rst:167 +#: ../../build/doc/pgr_dagShortestPath.rst:194 msgid "Type" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_dagShortestPath.rst:167 +#: ../../build/doc/pgr_dagShortestPath.rst:194 msgid "Default" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:169 -msgid "**edges_sql**" +#: ../../build/doc/pgr_dagShortestPath.rst:196 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:169 +#: ../../build/doc/pgr_dagShortestPath.rst:196 +#: ../../build/doc/pgr_dagShortestPath.rst:197 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:169 -msgid "SQL query as described above." +#: ../../build/doc/pgr_dagShortestPath.rst:196 +msgid "Edges query as described below." +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:197 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:197 +msgid "Combinations query as described above." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:10 -#: ../../build/doc/pgr_dagShortestPath.rst:170 +#: ../../build/doc/pgr_dagShortestPath.rst:198 msgid "**start_vid**" msgstr "" @@ -293,47 +323,51 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:16 #: ../../build/doc/pgRouting-concepts.rst:22 #: ../../build/doc/pgRouting-concepts.rst:23 -#: ../../build/doc/pgr_dagShortestPath.rst:170 -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:198 +#: ../../build/doc/pgr_dagShortestPath.rst:200 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:170 +#: ../../build/doc/pgr_dagShortestPath.rst:198 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:171 +#: ../../build/doc/pgr_dagShortestPath.rst:199 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:171 -#: ../../build/doc/pgr_dagShortestPath.rst:173 +#: ../../build/doc/pgr_dagShortestPath.rst:199 +#: ../../build/doc/pgr_dagShortestPath.rst:201 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:171 +#: ../../build/doc/pgr_dagShortestPath.rst:199 msgid "Array of identifiers of starting vertices." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:16 -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:200 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:200 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:173 +#: ../../build/doc/pgr_dagShortestPath.rst:201 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:173 +#: ../../build/doc/pgr_dagShortestPath.rst:201 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:179 -msgid "Inner Query" +#: ../../build/doc/pgr_dagShortestPath.rst:207 +msgid "Inner Queries" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:210 +msgid "Edges query" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -355,18 +389,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -409,6 +447,7 @@ msgid "" " part of the graph." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "" @@ -417,6 +456,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -429,7 +469,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:186 +#: ../../build/doc/pgr_dagShortestPath.rst:217 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:224 msgid "Results Columns" msgstr "" @@ -524,27 +568,27 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:193 +#: ../../build/doc/pgr_dagShortestPath.rst:231 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:195 +#: ../../build/doc/pgr_dagShortestPath.rst:233 msgid "https://en.wikipedia.org/wiki/Topological_sorting" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:196 +#: ../../build/doc/pgr_dagShortestPath.rst:234 msgid "The queries use the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:199 +#: ../../build/doc/pgr_dagShortestPath.rst:237 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:200 +#: ../../build/doc/pgr_dagShortestPath.rst:238 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:201 +#: ../../build/doc/pgr_dagShortestPath.rst:239 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po b/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po index 9c609662c71..654b777949e 100644 --- a/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po +++ b/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-08 12:28-0600\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -36,41 +36,54 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:23 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:25 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:27 -msgid "Version 2.5.0" +msgid "pgr_edgeDisjointPaths(Combinations)" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:29 -msgid "**Proposed** function" +msgid "Version 3.0.0" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:31 -msgid "Version 2.3.0" +msgid "**Official** function" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:33 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:35 +msgid "**Proposed** function" +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:37 +msgid "Version 2.3.0" +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:39 msgid "New **Experimental** function" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:36 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:42 msgid "Support" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:37 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:43 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:41 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:48 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -82,51 +95,51 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgr_bdDijkstra.rst:4 -#: ../../build/doc/pgr_edgeDisjointPaths.rst:48 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:55 msgid "Description" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:50 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:57 msgid "" "Calculates the edge disjoint paths between two groups of vertices. " "Utilizes underlying maximum flow algorithms to calculate the paths." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:58 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:65 msgid "The main characterics are:" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:54 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:61 msgid "Calculates the edge disjoint paths between any two groups of vertices." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:55 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:62 msgid "" "Returns EMPTY SET when source and destination are the same, or cannot be " "reached." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:56 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:63 msgid "The graph can be directed or undirected." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:57 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:64 msgid "One to many, many to one, many to many versions are also supported." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:58 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:65 msgid "Uses :doc:`pgr_boykovKolmogorov` to calculate the paths." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:61 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:68 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:64 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:71 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:77 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:85 msgid "Using defaults" msgstr "" @@ -134,49 +147,60 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:84 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:92 msgid "From vertex :math:`3` to vertex :math:`5` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:94 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:102 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:102 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:110 msgid "From vertex :math:`3` to vertex :math:`5` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:112 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:120 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:120 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:128 msgid "" "From vertex :math:`3` to vertices :math:`\\{4, 5, 10\\}` on a " "**directed** graph" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:131 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:139 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:139 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:147 msgid "" "From vertices :math:`\\{3, 6\\}` to vertex :math:`5` on a **directed** " "graph" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:150 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:158 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:158 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:166 msgid "" "From vertices :math:`\\{3, 6\\}` to vertices :math:`\\{4, 5, 10\\}` on a " "**directed** graph" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:166 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:177 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:185 +msgid "" +"Using a combinations table, equivalent to calculating result from " +"vertices :math:`\\{3, 6\\}` to vertices :math:`\\{4, 5, 10\\}` on a " +"**directed** graph." +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:192 msgid "Parameters" msgstr "" @@ -281,11 +305,11 @@ msgstr "" msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:173 -msgid "Inner query" +#: ../../build/doc/pgr_edgeDisjointPaths.rst:199 +msgid "Inner queries" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:176 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:202 msgid "Edges query" msgstr "" @@ -308,18 +332,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -362,6 +390,7 @@ msgid "" " part of the graph." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "" @@ -370,6 +399,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -382,7 +412,26 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:183 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:209 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the " +"duplicates, and then it calculates the result from the resultant source " +"vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:216 msgid "Return Columns" msgstr "" @@ -489,26 +538,23 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:190 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:223 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:192 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:225 msgid ":doc:`flow-family`" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:195 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:228 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:196 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:229 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:197 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:230 msgid ":ref:`search`" msgstr "" -#~ msgid "`Edges query`_ as described below" -#~ msgstr "" - diff --git a/locale/en/LC_MESSAGES/pgr_edmondsKarp.po b/locale/en/LC_MESSAGES/pgr_edmondsKarp.po index 481d5f07ac5..3cdc41b4606 100644 --- a/locale/en/LC_MESSAGES/pgr_edmondsKarp.po +++ b/locale/en/LC_MESSAGES/pgr_edmondsKarp.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_edmondsKarp.rst:11 msgid "pgr_edmondsKarp" @@ -37,45 +37,58 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:23 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:25 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:27 -msgid "Version 2.5.0" +msgid "pgr_edmondsKarp(Combinations)" msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:29 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:31 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:33 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:35 msgid "Renamed from ``pgr_maxFlowEdmondsKarp``" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:30 +#: ../../build/doc/pgr_edmondsKarp.rst:36 msgid "**Proposed** function" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:32 +#: ../../build/doc/pgr_edmondsKarp.rst:38 msgid "Version 2.3.0" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:34 +#: ../../build/doc/pgr_edmondsKarp.rst:40 msgid "New **Experimental** function" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:37 +#: ../../build/doc/pgr_edmondsKarp.rst:43 msgid "Support" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:38 +#: ../../build/doc/pgr_edmondsKarp.rst:44 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:42 +#: ../../build/doc/pgr_edmondsKarp.rst:49 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -85,7 +98,8 @@ msgid "" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_edmondsKarp.rst:49 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_edmondsKarp.rst:56 msgid "Description" msgstr "" @@ -144,19 +158,19 @@ msgstr "" msgid "By aggregation of the incoming flow to the targets" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:55 +#: ../../build/doc/pgr_edmondsKarp.rst:62 msgid "Running time: :math:`O( V * E ^ 2)`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:58 +#: ../../build/doc/pgr_edmondsKarp.rst:65 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:61 +#: ../../build/doc/pgr_edmondsKarp.rst:68 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:75 +#: ../../build/doc/pgr_edmondsKarp.rst:83 msgid "One to One" msgstr "" @@ -164,47 +178,60 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:83 +#: ../../build/doc/pgr_edmondsKarp.rst:91 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:93 +#: ../../build/doc/pgr_edmondsKarp.rst:101 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:101 +#: ../../build/doc/pgr_edmondsKarp.rst:109 msgid "From vertex :math:`6` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:111 +#: ../../build/doc/pgr_edmondsKarp.rst:119 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:119 +#: ../../build/doc/pgr_edmondsKarp.rst:127 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:129 +#: ../../build/doc/pgr_edmondsKarp.rst:137 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:137 +#: ../../build/doc/pgr_edmondsKarp.rst:145 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:144 +#: ../../build/doc/pgr_edmondsKarp.rst:155 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:163 +msgid "" +"Using a combinations table, equivalent to calculating result from " +"vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:170 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -212,15 +239,24 @@ msgstr "" msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." msgstr "" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" @@ -230,40 +266,40 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:151 -msgid "Inner query" +#: ../../build/doc/pgr_edmondsKarp.rst:177 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst @@ -282,7 +318,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/flow-family.rst:15 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -291,10 +328,12 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -330,19 +369,34 @@ msgid "" " part of the graph." msgstr "" -#: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/flow-family.rst:21 ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "" -#: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/flow-family.rst:23 ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:158 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the " +"duplicates, and then it calculates the result from the resultant source " +"vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:188 msgid "Result Columns" msgstr "" @@ -392,32 +446,32 @@ msgid "" "``end_vid``)." msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:165 +#: ../../build/doc/pgr_edmondsKarp.rst:195 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:167 +#: ../../build/doc/pgr_edmondsKarp.rst:197 msgid ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_pushRelabel`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:168 +#: ../../build/doc/pgr_edmondsKarp.rst:198 msgid "https://www.boost.org/libs/graph/doc/edmonds_karp_max_flow.html" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:169 +#: ../../build/doc/pgr_edmondsKarp.rst:199 #, python-format msgid "https://en.wikipedia.org/wiki/Edmonds%E2%80%93Karp_algorithm" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:172 +#: ../../build/doc/pgr_edmondsKarp.rst:202 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:173 +#: ../../build/doc/pgr_edmondsKarp.rst:203 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:174 +#: ../../build/doc/pgr_edmondsKarp.rst:204 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/pgr_edwardMoore.po b/locale/en/LC_MESSAGES/pgr_edwardMoore.po index 7c42d4954e8..988f2f1034a 100644 --- a/locale/en/LC_MESSAGES/pgr_edwardMoore.po +++ b/locale/en/LC_MESSAGES/pgr_edwardMoore.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-15 07:54-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_edwardMoore.rst:11 msgid "pgr_edwardMoore - Experimental" @@ -101,21 +101,33 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_edwardMoore.rst:23 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_edwardMoore.rst:25 +msgid "New **experimental** function:" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:27 +msgid "pgr_edwardMoore(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:29 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:31 msgid "New **experimental** function" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_edwardMoore.rst:28 -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:34 +#: ../../build/doc/pgr_edwardMoore.rst:190 msgid "Description" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:30 +#: ../../build/doc/pgr_edwardMoore.rst:36 msgid "" "Edward Moore’s Algorithm is an improvement of the Bellman-Ford Algorithm." " It can compute the shortest paths from a single source vertex to all " @@ -124,7 +136,7 @@ msgid "" "time." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:34 +#: ../../build/doc/pgr_edwardMoore.rst:40 msgid "" "The worst-case running time of the algorithm is :math:`O(| V | * | E |)` " "similar to the time complexity of Bellman-Ford algorithm. However, " @@ -133,63 +145,63 @@ msgid "" " faster in terms of computation speed." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:39 +#: ../../build/doc/pgr_edwardMoore.rst:45 msgid "" "Thus, the algorithm is at-best, significantly faster than Bellman-Ford " "algorithm and is at-worst, as good as Bellman-Ford algorithm" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:62 +#: ../../build/doc/pgr_edwardMoore.rst:68 msgid "The main characteristics are:" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:43 +#: ../../build/doc/pgr_edwardMoore.rst:49 msgid "Values are returned when there is a path." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:45 +#: ../../build/doc/pgr_edwardMoore.rst:51 msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:47 +#: ../../build/doc/pgr_edwardMoore.rst:53 msgid "The `agg_cost` the non included values `(v, v)` is `0`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:49 +#: ../../build/doc/pgr_edwardMoore.rst:55 msgid "" "When the starting vertex and ending vertex are the different and there is" " no path:" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:51 +#: ../../build/doc/pgr_edwardMoore.rst:57 msgid "The `agg_cost` the non included values `(u, v)` is :math:`\\infty`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:53 +#: ../../build/doc/pgr_edwardMoore.rst:59 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` are ignored." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:55 +#: ../../build/doc/pgr_edwardMoore.rst:61 msgid "The returned values are ordered:" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:57 +#: ../../build/doc/pgr_edwardMoore.rst:63 msgid "`start_vid` ascending" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:58 +#: ../../build/doc/pgr_edwardMoore.rst:64 msgid "`end_vid` ascending" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:60 +#: ../../build/doc/pgr_edwardMoore.rst:66 msgid "" "Running time: - Worst case: :math:`O(| V | * | E |)` - Average case: " ":math:`O( | E | )`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:65 +#: ../../build/doc/pgr_edwardMoore.rst:71 msgid "Signatures" msgstr "" @@ -197,81 +209,98 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:81 +#: ../../build/doc/pgr_edwardMoore.rst:88 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:91 +#: ../../build/doc/pgr_edwardMoore.rst:98 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:100 +#: ../../build/doc/pgr_edwardMoore.rst:106 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:110 +#: ../../build/doc/pgr_edwardMoore.rst:116 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:119 +#: ../../build/doc/pgr_edwardMoore.rst:124 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 5\\}` on an **undirected**" " graph" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:129 +#: ../../build/doc/pgr_edwardMoore.rst:134 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:138 +#: ../../build/doc/pgr_edwardMoore.rst:142 msgid "" "From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "graph" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:148 +#: ../../build/doc/pgr_edwardMoore.rst:152 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:157 +#: ../../build/doc/pgr_edwardMoore.rst:160 msgid "" "From vertices :math:`\\{2, 11\\}` to vertices :math:`\\{3, 5\\}` on an " "**undirected** graph" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:164 +#: ../../build/doc/pgr_edwardMoore.rst:170 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:178 +msgid "Using a combinations table on an **undirected** graph." +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:185 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:190 msgid "Parameter" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:190 msgid "Type" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:190 msgid "Default" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:171 -msgid "**edges_sql**" +#: ../../build/doc/pgr_edwardMoore.rst:192 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:171 +#: ../../build/doc/pgr_edwardMoore.rst:192 +#: ../../build/doc/pgr_edwardMoore.rst:193 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:171 -msgid "Inner SQL query as described below." +#: ../../build/doc/pgr_edwardMoore.rst:192 +msgid "Edges query as described below." +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:193 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:193 +msgid "Combinations query as described below." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:11 -#: ../../build/doc/pgr_edwardMoore.rst:172 +#: ../../build/doc/pgr_edwardMoore.rst:194 msgid "**start_vid**" msgstr "" @@ -279,67 +308,71 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 -#: ../../build/doc/pgr_edwardMoore.rst:172 -#: ../../build/doc/pgr_edwardMoore.rst:174 +#: ../../build/doc/pgr_edwardMoore.rst:194 +#: ../../build/doc/pgr_edwardMoore.rst:196 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:172 +#: ../../build/doc/pgr_edwardMoore.rst:194 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:173 +#: ../../build/doc/pgr_edwardMoore.rst:195 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:173 -#: ../../build/doc/pgr_edwardMoore.rst:175 +#: ../../build/doc/pgr_edwardMoore.rst:195 +#: ../../build/doc/pgr_edwardMoore.rst:197 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:173 +#: ../../build/doc/pgr_edwardMoore.rst:195 msgid "Array of identifiers of starting vertices." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:18 -#: ../../build/doc/pgr_edwardMoore.rst:174 +#: ../../build/doc/pgr_edwardMoore.rst:196 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:174 +#: ../../build/doc/pgr_edwardMoore.rst:196 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:175 +#: ../../build/doc/pgr_edwardMoore.rst:197 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:175 +#: ../../build/doc/pgr_edwardMoore.rst:197 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:177 +#: ../../build/doc/pgr_edwardMoore.rst:199 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:183 -msgid "Inner query" +#: ../../build/doc/pgr_edwardMoore.rst:205 +msgid "Inner queries" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:208 +msgid "Edges query" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 @@ -361,18 +394,22 @@ msgstr "" msgid "Identifier of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -415,6 +452,7 @@ msgid "" " part of the graph." msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "" @@ -423,6 +461,7 @@ msgstr "" msgid "ANY-INTEGER" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -435,7 +474,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:192 +#: ../../build/doc/pgr_edwardMoore.rst:215 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:222 msgid "Return Columns" msgstr "" @@ -542,15 +585,15 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:200 +#: ../../build/doc/pgr_edwardMoore.rst:230 msgid "Example Application" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:202 +#: ../../build/doc/pgr_edwardMoore.rst:232 msgid "The examples of this section are based on the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:204 +#: ../../build/doc/pgr_edwardMoore.rst:234 msgid "" "The examples include combinations from starting vertices 2 and 11 to " "ending vertices 3 and 5 in a directed and undirected graph with and with " @@ -561,59 +604,59 @@ msgstr "" msgid "Examples" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:207 +#: ../../build/doc/pgr_edwardMoore.rst:237 msgid "" "For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` " "columns" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:209 +#: ../../build/doc/pgr_edwardMoore.rst:239 msgid "The examples in this section use the following :ref:`fig1`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:215 +#: ../../build/doc/pgr_edwardMoore.rst:245 msgid "" "For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` " "columns" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:217 +#: ../../build/doc/pgr_edwardMoore.rst:247 msgid "The examples in this section use the following :ref:`fig2`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:223 +#: ../../build/doc/pgr_edwardMoore.rst:253 msgid "For queries marked as ``directed`` with ``cost`` column" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:225 +#: ../../build/doc/pgr_edwardMoore.rst:255 msgid "The examples in this section use the following :ref:`fig3`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:231 +#: ../../build/doc/pgr_edwardMoore.rst:261 msgid "For queries marked as ``undirected`` with ``cost`` column" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:233 +#: ../../build/doc/pgr_edwardMoore.rst:263 msgid "The examples in this section use the following :ref:`fig4`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:240 +#: ../../build/doc/pgr_edwardMoore.rst:270 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:242 +#: ../../build/doc/pgr_edwardMoore.rst:272 msgid "https://en.wikipedia.org/wiki/Shortest_Path_Faster_Algorithm" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:245 +#: ../../build/doc/pgr_edwardMoore.rst:275 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:246 +#: ../../build/doc/pgr_edwardMoore.rst:276 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:247 +#: ../../build/doc/pgr_edwardMoore.rst:277 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/pgr_maxFlow.po b/locale/en/LC_MESSAGES/pgr_maxFlow.po index f9cfd386fe9..6dcec9780b0 100644 --- a/locale/en/LC_MESSAGES/pgr_maxFlow.po +++ b/locale/en/LC_MESSAGES/pgr_maxFlow.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_maxFlow.rst:11 msgid "pgr_maxFlow" @@ -36,33 +36,46 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_maxFlow.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_maxFlow.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_maxFlow.rst:26 -msgid "Version 2.4.0" +msgid "pgr_maxFlow(Combinations)" msgstr "" #: ../../build/doc/pgr_maxFlow.rst:28 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:32 +msgid "Version 2.4.0" +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:34 msgid "New **Proposed** function" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:31 +#: ../../build/doc/pgr_maxFlow.rst:37 msgid "Support" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:32 +#: ../../build/doc/pgr_maxFlow.rst:38 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:36 +#: ../../build/doc/pgr_maxFlow.rst:43 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -71,53 +84,54 @@ msgid "" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlow.rst:42 ../../build/doc/pgr_maxFlow.rst:156 +#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_maxFlow.rst:49 +#: ../../build/doc/pgr_maxFlow.rst:185 msgid "Description" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:44 +#: ../../build/doc/pgr_maxFlow.rst:51 msgid "**The main characteristics are:**" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:46 +#: ../../build/doc/pgr_maxFlow.rst:53 msgid "The graph is **directed**." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:47 +#: ../../build/doc/pgr_maxFlow.rst:54 msgid "Calculates the maximum flow from the `source(s)` to the `target(s)`." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:49 +#: ../../build/doc/pgr_maxFlow.rst:56 msgid "" "When the maximum flow is **0** then there is no flow and **0** is " "returned." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:50 +#: ../../build/doc/pgr_maxFlow.rst:57 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:52 +#: ../../build/doc/pgr_maxFlow.rst:59 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:53 +#: ../../build/doc/pgr_maxFlow.rst:60 msgid "Uses the :doc:`pgr_pushRelabel ` algorithm." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:55 +#: ../../build/doc/pgr_maxFlow.rst:62 msgid "Running time: :math:`O( V ^ 3)`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:58 +#: ../../build/doc/pgr_maxFlow.rst:65 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:61 +#: ../../build/doc/pgr_maxFlow.rst:68 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:74 +#: ../../build/doc/pgr_maxFlow.rst:82 msgid "One to One" msgstr "" @@ -125,48 +139,60 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:81 +#: ../../build/doc/pgr_maxFlow.rst:89 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:91 +#: ../../build/doc/pgr_maxFlow.rst:99 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:98 +#: ../../build/doc/pgr_maxFlow.rst:106 msgid "From vertex :math:`6` to vertices :math:`\\{11, 1, 13\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:108 +#: ../../build/doc/pgr_maxFlow.rst:116 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:115 +#: ../../build/doc/pgr_maxFlow.rst:123 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:125 +#: ../../build/doc/pgr_maxFlow.rst:133 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:132 +#: ../../build/doc/pgr_maxFlow.rst:140 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:139 +#: ../../build/doc/pgr_maxFlow.rst:150 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:157 +msgid "" +"Using a combinations table, equivalent to calculating result from " +"vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:164 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlow.rst:156 +#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_maxFlow.rst:185 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -174,57 +200,66 @@ msgstr "" msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." msgstr "" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 -#: ../../build/doc/pgr_maxFlow.rst:158 +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgr_maxFlow.rst:187 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:146 -msgid "Inner query" +#: ../../build/doc/pgr_maxFlow.rst:171 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst @@ -243,7 +278,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/flow-family.rst:15 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -251,11 +287,11 @@ msgstr "" msgid "Identifier of the edge." msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -291,52 +327,67 @@ msgid "" " part of the graph." msgstr "" -#: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/flow-family.rst:21 ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "" -#: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/flow-family.rst:23 ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:153 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the " +"duplicates, and then it calculates the result from the resultant source " +"vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:182 msgid "Return Columns" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:158 +#: ../../build/doc/pgr_maxFlow.rst:187 msgid "Maximum flow possible from the source(s) to the target(s)" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:162 +#: ../../build/doc/pgr_maxFlow.rst:191 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:164 +#: ../../build/doc/pgr_maxFlow.rst:193 msgid ":doc:`flow-family`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:165 +#: ../../build/doc/pgr_maxFlow.rst:194 msgid "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:166 +#: ../../build/doc/pgr_maxFlow.rst:195 #, python-format msgid "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:169 +#: ../../build/doc/pgr_maxFlow.rst:198 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:170 +#: ../../build/doc/pgr_maxFlow.rst:199 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:171 +#: ../../build/doc/pgr_maxFlow.rst:200 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po b/locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po index 41a526017e0..bc3ab5ce691 100644 --- a/locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po +++ b/locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_maxFlowMinCost.rst:11 msgid "pgr_maxFlowMinCost - Experimental" @@ -105,26 +105,40 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:27 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:29 +msgid "New **experimental** function:" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:31 +msgid "pgr_maxFlowMinCost(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:33 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:35 msgid "New **experimental** function" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:32 +#: ../../build/doc/pgr_maxFlowMinCost.rst:38 msgid "Support" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:33 +#: ../../build/doc/pgr_maxFlowMinCost.rst:39 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlowMinCost.rst:38 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_maxFlowMinCost.rst:45 msgid "Description" msgstr "" @@ -183,45 +197,45 @@ msgstr "" msgid "By aggregation of the incoming flow to the targets" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:44 +#: ../../build/doc/pgr_maxFlowMinCost.rst:51 msgid "**TODO** check which statement is true:" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:46 +#: ../../build/doc/pgr_maxFlowMinCost.rst:53 msgid "The cost value of all input edges must be nonnegative." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:47 +#: ../../build/doc/pgr_maxFlowMinCost.rst:54 msgid "Process is done when the cost value of all input edges is nonnegative." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:48 +#: ../../build/doc/pgr_maxFlowMinCost.rst:55 msgid "Process is done on edges with nonnegative cost." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:50 +#: ../../build/doc/pgr_maxFlowMinCost.rst:57 msgid "Running time: :math:`O(U * (E + V * logV))`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:52 +#: ../../build/doc/pgr_maxFlowMinCost.rst:59 msgid "where :math:`U` is the value of the max flow." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:53 +#: ../../build/doc/pgr_maxFlowMinCost.rst:60 msgid "" ":math:`U` is upper bound on number of iterations. In many real world " "cases number of iterations is much smaller than :math:`U`." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:57 +#: ../../build/doc/pgr_maxFlowMinCost.rst:64 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:60 +#: ../../build/doc/pgr_maxFlowMinCost.rst:67 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:74 +#: ../../build/doc/pgr_maxFlowMinCost.rst:82 msgid "One to One" msgstr "" @@ -229,47 +243,60 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:82 +#: ../../build/doc/pgr_maxFlowMinCost.rst:90 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:92 +#: ../../build/doc/pgr_maxFlowMinCost.rst:100 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:100 +#: ../../build/doc/pgr_maxFlowMinCost.rst:108 msgid "From vertex :math:`13` to vertices :math:`\\{7, 1, 4\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:110 +#: ../../build/doc/pgr_maxFlowMinCost.rst:118 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:118 +#: ../../build/doc/pgr_maxFlowMinCost.rst:126 msgid "From vertices :math:`\\{1, 7, 14\\}` to vertex :math:`12`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:128 +#: ../../build/doc/pgr_maxFlowMinCost.rst:136 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:136 +#: ../../build/doc/pgr_maxFlowMinCost.rst:144 msgid "From vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:143 +#: ../../build/doc/pgr_maxFlowMinCost.rst:154 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:162 +msgid "" +"Using a combinations table, equivalent to calculating result from " +"vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`." +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:169 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -277,16 +304,24 @@ msgstr "" msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." msgstr "" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:8 -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" @@ -296,40 +331,41 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:150 -msgid "Inner query" +#: ../../build/doc/pgr_maxFlowMinCost.rst:176 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst @@ -348,7 +384,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:14 +#: ../../build/doc/flow-family.rst:14 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -357,10 +394,12 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -420,15 +459,15 @@ msgstr "" msgid "Weight of the edge `(target, source)` if it exists." msgstr "" -#: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/flow-family.rst:21 ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "" -#: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/flow-family.rst:23 ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -440,7 +479,22 @@ msgstr "" msgid "smallint, int, bigint, real, float" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:157 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the " +"duplicates, and then it calculates the result from the resultant source " +"vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:187 msgid "Result Columns" msgstr "" @@ -498,27 +552,27 @@ msgstr "" msgid "The aggregate cost." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:163 +#: ../../build/doc/pgr_maxFlowMinCost.rst:193 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:165 +#: ../../build/doc/pgr_maxFlowMinCost.rst:195 msgid ":doc:`flow-family`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:166 +#: ../../build/doc/pgr_maxFlowMinCost.rst:196 msgid "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:169 +#: ../../build/doc/pgr_maxFlowMinCost.rst:199 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:170 +#: ../../build/doc/pgr_maxFlowMinCost.rst:200 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:171 +#: ../../build/doc/pgr_maxFlowMinCost.rst:201 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po b/locale/en/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po index b250ce5ebb8..8663f61bdd7 100644 --- a/locale/en/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po +++ b/locale/en/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:11 msgid "pgr_maxFlowMinCost_Cost - Experimental" @@ -104,59 +104,73 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:28 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:30 +msgid "New **experimental** function:" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:32 +msgid "pgr_maxFlowMinCost_Cost(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:34 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:36 msgid "New **experimental** function" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:33 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:39 msgid "Support" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:34 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:40 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0" +"**Supported versions:** current(`3.2 " +"`__) `3.1" +" `__ `3.0" " `__" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:39 -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:155 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:46 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:183 msgid "Description" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:41 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:48 msgid "**The main characteristics are:**" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:43 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:50 msgid "The graph is **directed**." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:44 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:51 msgid "**The cost value of all input edges must be nonnegative.**" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:45 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:52 msgid "When the maximum flow is 0 then there is no flow and **0** is returned." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:47 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:54 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:49 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:56 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:50 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:57 msgid "Uses the :doc:`pgr_maxFlowMinCost ` algorithm." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:52 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:59 msgid "" "Running time: :math:`O(U * (E + V * logV))`, where :math:`U` is the value" " of the max flow. :math:`U` is upper bound on number of iteration. In " @@ -164,15 +178,15 @@ msgid "" ":math:`U`." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:55 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:62 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:58 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:65 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:71 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:79 msgid "One to One" msgstr "" @@ -180,48 +194,61 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:78 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:86 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:88 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:96 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:95 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:103 msgid "From vertex :math:`13` to vertices :math:`\\{7, 1, 4\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:105 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:113 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:112 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:120 msgid "From vertices :math:`\\{1, 7, 14\\}` to vertex :math:`12`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:122 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:130 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:129 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:137 msgid "From vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:138 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:148 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:155 +msgid "" +"Using a combinations table, equivalent to calculating result from " +"vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`." +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:162 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:155 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:183 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -229,56 +256,65 @@ msgstr "" msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." msgstr "" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:145 -msgid "Inner query" +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:169 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst @@ -297,7 +333,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:14 +#: ../../build/doc/flow-family.rst:14 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -305,11 +342,11 @@ msgstr "" msgid "Identifier of the edge." msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -369,15 +406,15 @@ msgstr "" msgid "Weight of the edge `(target, source)` if it exists." msgstr "" -#: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/flow-family.rst:21 ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "" -#: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/flow-family.rst:23 ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -389,39 +426,54 @@ msgstr "" msgid "smallint, int, bigint, real, float" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:152 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the " +"duplicates, and then it calculates the result from the resultant source " +"vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:180 msgid "Result Columns" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:157 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:185 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:157 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:185 msgid "Minimum Cost Maximum Flow possible from the source(s) to the target(s)" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:161 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:189 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:163 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:191 msgid ":doc:`flow-family`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:164 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:192 msgid "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:167 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:195 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:168 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:196 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:169 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:197 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/pgr_pushRelabel.po b/locale/en/LC_MESSAGES/pgr_pushRelabel.po index f91c79fc452..9999ea149b5 100644 --- a/locale/en/LC_MESSAGES/pgr_pushRelabel.po +++ b/locale/en/LC_MESSAGES/pgr_pushRelabel.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" #: ../../build/doc/pgr_pushRelabel.rst:11 msgid "pgr_pushRelabel" @@ -37,45 +37,58 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:26 -msgid "Version 2.5.0" +msgid "pgr_pushRelabel(Combinations)" msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:28 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:32 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:34 msgid "Renamed from ``pgr_maxFlowPushRelabel``" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:29 +#: ../../build/doc/pgr_pushRelabel.rst:35 msgid "**Proposed** function" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:31 +#: ../../build/doc/pgr_pushRelabel.rst:37 msgid "Version 2.3.0" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:33 +#: ../../build/doc/pgr_pushRelabel.rst:39 msgid "New **Experimental** function" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:36 +#: ../../build/doc/pgr_pushRelabel.rst:42 msgid "Support" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:37 +#: ../../build/doc/pgr_pushRelabel.rst:43 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:41 +#: ../../build/doc/pgr_pushRelabel.rst:48 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -85,7 +98,8 @@ msgid "" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_pushRelabel.rst:48 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_pushRelabel.rst:55 msgid "Description" msgstr "" @@ -144,19 +158,19 @@ msgstr "" msgid "By aggregation of the incoming flow to the targets" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:54 +#: ../../build/doc/pgr_pushRelabel.rst:61 msgid "Running time: :math:`O( V ^ 3)`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:57 +#: ../../build/doc/pgr_pushRelabel.rst:64 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:60 +#: ../../build/doc/pgr_pushRelabel.rst:67 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:74 +#: ../../build/doc/pgr_pushRelabel.rst:82 msgid "One to One" msgstr "" @@ -164,53 +178,66 @@ msgstr "" msgid "Example" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:82 +#: ../../build/doc/pgr_pushRelabel.rst:90 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:92 +#: ../../build/doc/pgr_pushRelabel.rst:100 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:94 +#: ../../build/doc/pgr_pushRelabel.rst:102 msgid "" "Calculates the flow on the graph edges that maximizes the flow from the " "`source` to all of the `targets`." msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:102 +#: ../../build/doc/pgr_pushRelabel.rst:110 msgid "From vertex :math:`6` to vertices :math:`\\{11, 1, 13\\}`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:112 +#: ../../build/doc/pgr_pushRelabel.rst:120 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:120 +#: ../../build/doc/pgr_pushRelabel.rst:128 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:130 +#: ../../build/doc/pgr_pushRelabel.rst:138 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:138 +#: ../../build/doc/pgr_pushRelabel.rst:146 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:145 +#: ../../build/doc/pgr_pushRelabel.rst:156 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:164 +msgid "" +"Using a combinations table, equivalent to calculating result from " +"vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:171 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -218,15 +245,24 @@ msgstr "" msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." msgstr "" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" @@ -236,40 +272,40 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:152 -msgid "Inner query" +#: ../../build/doc/pgr_pushRelabel.rst:178 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst @@ -288,7 +324,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/flow-family.rst:15 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -297,10 +334,12 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -336,19 +375,34 @@ msgid "" " part of the graph." msgstr "" -#: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/flow-family.rst:21 ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "" -#: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/flow-family.rst:23 ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:159 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the " +"duplicates, and then it calculates the result from the resultant source " +"vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:189 msgid "Result Columns" msgstr "" @@ -398,32 +452,32 @@ msgid "" "``end_vid``)." msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:166 +#: ../../build/doc/pgr_pushRelabel.rst:196 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:168 +#: ../../build/doc/pgr_pushRelabel.rst:198 msgid ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_edmondsKarp`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:169 +#: ../../build/doc/pgr_pushRelabel.rst:199 msgid "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:170 +#: ../../build/doc/pgr_pushRelabel.rst:200 #, python-format msgid "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:173 +#: ../../build/doc/pgr_pushRelabel.rst:203 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:174 +#: ../../build/doc/pgr_pushRelabel.rst:204 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:175 +#: ../../build/doc/pgr_pushRelabel.rst:205 msgid ":ref:`search`" msgstr "" diff --git a/locale/en/LC_MESSAGES/release_notes.po b/locale/en/LC_MESSAGES/release_notes.po index 01f3bcdd731..71a2efb91bd 100644 --- a/locale/en/LC_MESSAGES/release_notes.po +++ b/locale/en/LC_MESSAGES/release_notes.po @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-08 12:28-0600\n" +"POT-Creation-Date: 2020-12-15 07:54-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -176,94 +176,146 @@ msgid "New experimental functions" msgstr "" #: ../../build/doc/release_notes.rst:66 -msgid "pgr_depthFirstSearch" +msgid "pgr_bellmanFord(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:67 -msgid "pgr_dijkstraNear(One to Many)" +msgid "pgr_binaryBreadthFirstSearch(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:68 -msgid "pgr_dijkstraNear(Many to One)" +msgid "pgr_bipartite" msgstr "" #: ../../build/doc/release_notes.rst:69 -msgid "pgr_dijkstraNear(Many to Many)" +msgid "pgr_dagShortestPath(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:70 -msgid "pgr_dijkstraNear(Combinations)" +msgid "pgr_depthFirstSearch" msgstr "" #: ../../build/doc/release_notes.rst:71 -msgid "pgr_dijkstraNearCost(One to Many)" +msgid "pgr_dijkstraNear(One to Many)" msgstr "" #: ../../build/doc/release_notes.rst:72 -msgid "pgr_dijkstraNearCost(Many to One)" +msgid "pgr_dijkstraNear(Many to One)" msgstr "" #: ../../build/doc/release_notes.rst:73 -msgid "pgr_dijkstraNearCost(Many to Many)" +msgid "pgr_dijkstraNear(Many to Many)" msgstr "" #: ../../build/doc/release_notes.rst:74 -msgid "pgr_dijkstraNearCost(Combinations)" +msgid "pgr_dijkstraNear(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:75 -msgid "pgr_isPlanar" +msgid "pgr_dijkstraNearCost(One to Many)" msgstr "" #: ../../build/doc/release_notes.rst:76 -msgid "pgr_makeConnected" +msgid "pgr_dijkstraNearCost(Many to One)" msgstr "" #: ../../build/doc/release_notes.rst:77 +msgid "pgr_dijkstraNearCost(Many to Many)" +msgstr "" + +#: ../../build/doc/release_notes.rst:78 +msgid "pgr_dijkstraNearCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:79 +msgid "pgr_edwardMoore(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:80 +msgid "pgr_isPlanar" +msgstr "" + +#: ../../build/doc/release_notes.rst:81 +msgid "pgr_lengauerTarjanDominatorTree" +msgstr "" + +#: ../../build/doc/release_notes.rst:82 +msgid "pgr_makeConnected" +msgstr "" + +#: ../../build/doc/release_notes.rst:83 +msgid "pgr_maxFlowMinCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:84 +msgid "pgr_maxFlowMinCost_Cost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:85 msgid "pgr_sequentialVertexColoring" msgstr "" -#: ../../build/doc/release_notes.rst:80 ../../build/doc/release_notes.rst:130 +#: ../../build/doc/release_notes.rst:88 ../../build/doc/release_notes.rst:145 msgid "New proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:81 +#: ../../build/doc/release_notes.rst:89 msgid "pgr_aStar(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:82 +#: ../../build/doc/release_notes.rst:90 msgid "pgr_aStarCost(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:83 +#: ../../build/doc/release_notes.rst:91 msgid "pgr_bdAstar(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:84 +#: ../../build/doc/release_notes.rst:92 msgid "pgr_bdAstarCost(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:85 +#: ../../build/doc/release_notes.rst:93 msgid "pgr_bdDijkstra(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:86 +#: ../../build/doc/release_notes.rst:94 msgid "pgr_bdDijkstraCost(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:87 +#: ../../build/doc/release_notes.rst:95 +msgid "pgr_boykovKolmogorov(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:96 +msgid "pgr_edgeDisjointPaths(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:97 +msgid "pgr_edmondsKarp(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:98 +msgid "pgr_maxFlow(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:99 +msgid "pgr_pushRelabel(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:100 msgid "pgr_withPoints(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:88 +#: ../../build/doc/release_notes.rst:101 msgid "pgr_withPointsCost(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:93 +#: ../../build/doc/release_notes.rst:106 msgid "pgRouting 3.1.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:95 +#: ../../build/doc/release_notes.rst:108 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -272,34 +324,46 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:99 ../../build/doc/release_notes.rst:113 -#: ../../build/doc/release_notes.rst:176 ../../build/doc/release_notes.rst:188 +#: ../../build/doc/release_notes.rst:112 ../../build/doc/release_notes.rst:128 +#: ../../build/doc/release_notes.rst:193 ../../build/doc/release_notes.rst:205 msgid "Issues fixes" msgstr "" -#: ../../build/doc/release_notes.rst:100 ../../build/doc/release_notes.rst:148 +#: ../../build/doc/release_notes.rst:113 ../../build/doc/release_notes.rst:163 +msgid "" +"`#1304 `__: FreeBSD " +"12 64-bit crashes on pgr_vrOneDepot tests Experimental Function" +msgstr "" + +#: ../../build/doc/release_notes.rst:114 ../../build/doc/release_notes.rst:164 msgid "" "`#1356 `__: " "tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed" msgstr "" -#: ../../build/doc/release_notes.rst:101 ../../build/doc/release_notes.rst:149 +#: ../../build/doc/release_notes.rst:115 ../../build/doc/release_notes.rst:165 +msgid "" +"`#1725 `__: Server " +"crash on pgr_pickDeliver and pgr_vrpOneDepot on openbsd" +msgstr "" + +#: ../../build/doc/release_notes.rst:116 ../../build/doc/release_notes.rst:166 msgid "" "`#1760 `__: TSP " "server crash on ubuntu 20.04 #1760" msgstr "" -#: ../../build/doc/release_notes.rst:102 ../../build/doc/release_notes.rst:150 +#: ../../build/doc/release_notes.rst:117 ../../build/doc/release_notes.rst:167 msgid "" "`#1770 `__: Remove " "warnings when using clang compiler" msgstr "" -#: ../../build/doc/release_notes.rst:107 +#: ../../build/doc/release_notes.rst:122 msgid "pgRouting 3.1.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:109 +#: ../../build/doc/release_notes.rst:124 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -308,42 +372,42 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:114 ../../build/doc/release_notes.rst:160 +#: ../../build/doc/release_notes.rst:129 ../../build/doc/release_notes.rst:177 msgid "" "`#1733 `__: " "pgr_bdAstar fails when source or target vertex does not exist in the " "graph" msgstr "" -#: ../../build/doc/release_notes.rst:115 ../../build/doc/release_notes.rst:161 +#: ../../build/doc/release_notes.rst:130 ../../build/doc/release_notes.rst:178 msgid "" "`#1647 `__: Linear " "Contraction contracts self loops" msgstr "" -#: ../../build/doc/release_notes.rst:116 ../../build/doc/release_notes.rst:162 +#: ../../build/doc/release_notes.rst:131 ../../build/doc/release_notes.rst:179 msgid "" "`#1640 `__: " "pgr_withPoints fails when points_sql is empty" msgstr "" -#: ../../build/doc/release_notes.rst:117 ../../build/doc/release_notes.rst:163 +#: ../../build/doc/release_notes.rst:132 ../../build/doc/release_notes.rst:180 msgid "" "`#1616 `__: Path " "evaluation on C++ not updated before the results go back to C" msgstr "" -#: ../../build/doc/release_notes.rst:118 ../../build/doc/release_notes.rst:164 +#: ../../build/doc/release_notes.rst:133 ../../build/doc/release_notes.rst:181 msgid "" "`#1300 `__: " "pgr_chinesePostman crash on test data" msgstr "" -#: ../../build/doc/release_notes.rst:124 +#: ../../build/doc/release_notes.rst:139 msgid "pgRouting 3.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:126 +#: ../../build/doc/release_notes.rst:141 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -352,27 +416,27 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:131 +#: ../../build/doc/release_notes.rst:146 msgid "pgr_dijkstra(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:132 +#: ../../build/doc/release_notes.rst:147 msgid "pgr_dijkstraCost(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:135 +#: ../../build/doc/release_notes.rst:150 msgid "Build changes" msgstr "" -#: ../../build/doc/release_notes.rst:136 +#: ../../build/doc/release_notes.rst:151 msgid "Minimal requirement for Sphinx: version 1.8" msgstr "" -#: ../../build/doc/release_notes.rst:141 +#: ../../build/doc/release_notes.rst:156 msgid "pgRouting 3.0.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:143 +#: ../../build/doc/release_notes.rst:158 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -381,19 +445,19 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:147 ../../build/doc/release_notes.rst:159 +#: ../../build/doc/release_notes.rst:162 ../../build/doc/release_notes.rst:176 msgid "Backport issues fixes" msgstr "" -#: ../../build/doc/release_notes.rst:156 +#: ../../build/doc/release_notes.rst:173 msgid "pgRouting 3.0.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:170 +#: ../../build/doc/release_notes.rst:187 msgid "pgRouting 3.0.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:172 +#: ../../build/doc/release_notes.rst:189 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -402,17 +466,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:177 +#: ../../build/doc/release_notes.rst:194 msgid "" "`#1378 `__: Visual " "Studio build failing" msgstr "" -#: ../../build/doc/release_notes.rst:182 +#: ../../build/doc/release_notes.rst:199 msgid "pgRouting 3.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:184 +#: ../../build/doc/release_notes.rst:201 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -421,17 +485,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:189 +#: ../../build/doc/release_notes.rst:206 msgid "" "`#232 `__: Honor " "client cancel requests in C /C++ code" msgstr "" -#: ../../build/doc/release_notes.rst:194 +#: ../../build/doc/release_notes.rst:211 msgid "pgRouting 3.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:196 +#: ../../build/doc/release_notes.rst:213 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git " @@ -440,495 +504,495 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:200 +#: ../../build/doc/release_notes.rst:217 msgid "Fixed Issues" msgstr "" -#: ../../build/doc/release_notes.rst:201 +#: ../../build/doc/release_notes.rst:218 msgid "" "`#1153 `__: Renamed " "pgr_eucledianTSP to pgr_TSPeuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:202 +#: ../../build/doc/release_notes.rst:219 msgid "" "`#1188 `__: Removed " "CGAL dependency" msgstr "" -#: ../../build/doc/release_notes.rst:203 +#: ../../build/doc/release_notes.rst:220 msgid "" "`#1002 `__: Fixed " "contraction issues:" msgstr "" -#: ../../build/doc/release_notes.rst:205 +#: ../../build/doc/release_notes.rst:222 msgid "" "`#1004 `__: Contracts" " when forbidden vertices do not belong to graph" msgstr "" -#: ../../build/doc/release_notes.rst:206 +#: ../../build/doc/release_notes.rst:223 msgid "" "`#1005 `__: " "Intermideate results eliminated" msgstr "" -#: ../../build/doc/release_notes.rst:207 +#: ../../build/doc/release_notes.rst:224 msgid "" "`#1006 `__: No loss " "of information" msgstr "" -#: ../../build/doc/release_notes.rst:210 +#: ../../build/doc/release_notes.rst:227 msgid "New functions" msgstr "" -#: ../../build/doc/release_notes.rst:211 +#: ../../build/doc/release_notes.rst:228 msgid "Kruskal family" msgstr "" -#: ../../build/doc/release_notes.rst:213 +#: ../../build/doc/release_notes.rst:230 msgid "pgr_kruskal" msgstr "" -#: ../../build/doc/release_notes.rst:214 +#: ../../build/doc/release_notes.rst:231 msgid "pgr_kruskalBFS" msgstr "" -#: ../../build/doc/release_notes.rst:215 +#: ../../build/doc/release_notes.rst:232 msgid "pgr_kruskalDD" msgstr "" -#: ../../build/doc/release_notes.rst:216 +#: ../../build/doc/release_notes.rst:233 msgid "pgr_kruskalDFS" msgstr "" -#: ../../build/doc/release_notes.rst:218 +#: ../../build/doc/release_notes.rst:235 msgid "Prim family" msgstr "" -#: ../../build/doc/release_notes.rst:220 +#: ../../build/doc/release_notes.rst:237 msgid "pgr_prim" msgstr "" -#: ../../build/doc/release_notes.rst:221 +#: ../../build/doc/release_notes.rst:238 msgid "pgr_primDD" msgstr "" -#: ../../build/doc/release_notes.rst:222 +#: ../../build/doc/release_notes.rst:239 msgid "pgr_primDFS" msgstr "" -#: ../../build/doc/release_notes.rst:223 +#: ../../build/doc/release_notes.rst:240 msgid "pgr_primBFS" msgstr "" -#: ../../build/doc/release_notes.rst:227 +#: ../../build/doc/release_notes.rst:244 msgid "Proposed moved to official on pgRouting" msgstr "" -#: ../../build/doc/release_notes.rst:228 +#: ../../build/doc/release_notes.rst:245 msgid "aStar Family" msgstr "" -#: ../../build/doc/release_notes.rst:230 +#: ../../build/doc/release_notes.rst:247 msgid "pgr_aStar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:231 +#: ../../build/doc/release_notes.rst:248 msgid "pgr_aStar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:232 +#: ../../build/doc/release_notes.rst:249 msgid "pgr_aStar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:233 +#: ../../build/doc/release_notes.rst:250 msgid "pgr_aStarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:234 +#: ../../build/doc/release_notes.rst:251 msgid "pgr_aStarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:235 +#: ../../build/doc/release_notes.rst:252 msgid "pgr_aStarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:236 +#: ../../build/doc/release_notes.rst:253 msgid "pgr_aStarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:237 +#: ../../build/doc/release_notes.rst:254 msgid "pgr_aStarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:238 +#: ../../build/doc/release_notes.rst:255 msgid "pgr_aStarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:239 +#: ../../build/doc/release_notes.rst:256 msgid "pgr_aStarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:240 +#: ../../build/doc/release_notes.rst:257 msgid "pgr_aStarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:242 +#: ../../build/doc/release_notes.rst:259 msgid "bdAstar Family" msgstr "" -#: ../../build/doc/release_notes.rst:244 ../../build/doc/release_notes.rst:571 +#: ../../build/doc/release_notes.rst:261 ../../build/doc/release_notes.rst:588 msgid "pgr_bdAstar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:245 ../../build/doc/release_notes.rst:572 +#: ../../build/doc/release_notes.rst:262 ../../build/doc/release_notes.rst:589 msgid "pgr_bdAstar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:246 ../../build/doc/release_notes.rst:573 +#: ../../build/doc/release_notes.rst:263 ../../build/doc/release_notes.rst:590 msgid "pgr_bdAstar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:247 ../../build/doc/release_notes.rst:574 +#: ../../build/doc/release_notes.rst:264 ../../build/doc/release_notes.rst:591 msgid "pgr_bdAstarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:248 ../../build/doc/release_notes.rst:575 +#: ../../build/doc/release_notes.rst:265 ../../build/doc/release_notes.rst:592 msgid "pgr_bdAstarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:249 ../../build/doc/release_notes.rst:576 +#: ../../build/doc/release_notes.rst:266 ../../build/doc/release_notes.rst:593 msgid "pgr_bdAstarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:250 ../../build/doc/release_notes.rst:577 +#: ../../build/doc/release_notes.rst:267 ../../build/doc/release_notes.rst:594 msgid "pgr_bdAstarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:251 +#: ../../build/doc/release_notes.rst:268 msgid "pgr_bdAstarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:252 +#: ../../build/doc/release_notes.rst:269 msgid "pgr_bdAstarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:253 +#: ../../build/doc/release_notes.rst:270 msgid "pgr_bdAstarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:254 +#: ../../build/doc/release_notes.rst:271 msgid "pgr_bdAstarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:256 +#: ../../build/doc/release_notes.rst:273 msgid "bdDijkstra Family" msgstr "" -#: ../../build/doc/release_notes.rst:258 ../../build/doc/release_notes.rst:579 +#: ../../build/doc/release_notes.rst:275 ../../build/doc/release_notes.rst:596 msgid "pgr_bdDijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:259 ../../build/doc/release_notes.rst:580 +#: ../../build/doc/release_notes.rst:276 ../../build/doc/release_notes.rst:597 msgid "pgr_bdDijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:260 ../../build/doc/release_notes.rst:581 +#: ../../build/doc/release_notes.rst:277 ../../build/doc/release_notes.rst:598 msgid "pgr_bdDijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:261 ../../build/doc/release_notes.rst:582 +#: ../../build/doc/release_notes.rst:278 ../../build/doc/release_notes.rst:599 msgid "pgr_bdDijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:262 ../../build/doc/release_notes.rst:583 +#: ../../build/doc/release_notes.rst:279 ../../build/doc/release_notes.rst:600 msgid "pgr_bdDijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:263 ../../build/doc/release_notes.rst:584 +#: ../../build/doc/release_notes.rst:280 ../../build/doc/release_notes.rst:601 msgid "pgr_bdDijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:264 ../../build/doc/release_notes.rst:585 +#: ../../build/doc/release_notes.rst:281 ../../build/doc/release_notes.rst:602 msgid "pgr_bdDijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:265 +#: ../../build/doc/release_notes.rst:282 msgid "pgr_bdDijkstraCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:266 +#: ../../build/doc/release_notes.rst:283 msgid "pgr_bdDijkstraCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:267 +#: ../../build/doc/release_notes.rst:284 msgid "pgr_bdDijkstraCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:268 +#: ../../build/doc/release_notes.rst:285 msgid "pgr_bdDijkstraCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:270 +#: ../../build/doc/release_notes.rst:287 msgid "Flow Family" msgstr "" -#: ../../build/doc/release_notes.rst:272 +#: ../../build/doc/release_notes.rst:289 msgid "pgr_pushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:273 +#: ../../build/doc/release_notes.rst:290 msgid "pgr_pushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:274 +#: ../../build/doc/release_notes.rst:291 msgid "pgr_pushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:275 +#: ../../build/doc/release_notes.rst:292 msgid "pgr_pushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:276 +#: ../../build/doc/release_notes.rst:293 msgid "pgr_edmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:277 +#: ../../build/doc/release_notes.rst:294 msgid "pgr_edmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:278 +#: ../../build/doc/release_notes.rst:295 msgid "pgr_edmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:279 +#: ../../build/doc/release_notes.rst:296 msgid "pgr_edmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:280 +#: ../../build/doc/release_notes.rst:297 msgid "pgr_boykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:281 +#: ../../build/doc/release_notes.rst:298 msgid "pgr_boykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:282 +#: ../../build/doc/release_notes.rst:299 msgid "pgr_boykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:283 +#: ../../build/doc/release_notes.rst:300 msgid "pgr_boykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:284 +#: ../../build/doc/release_notes.rst:301 msgid "pgr_maxCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:285 ../../build/doc/release_notes.rst:655 +#: ../../build/doc/release_notes.rst:302 ../../build/doc/release_notes.rst:672 msgid "pgr_maxFlow" msgstr "" -#: ../../build/doc/release_notes.rst:286 ../../build/doc/release_notes.rst:745 +#: ../../build/doc/release_notes.rst:303 ../../build/doc/release_notes.rst:762 msgid "pgr_edgeDisjointPaths(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:287 ../../build/doc/release_notes.rst:746 +#: ../../build/doc/release_notes.rst:304 ../../build/doc/release_notes.rst:763 msgid "pgr_edgeDisjointPaths(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:288 ../../build/doc/release_notes.rst:747 +#: ../../build/doc/release_notes.rst:305 ../../build/doc/release_notes.rst:764 msgid "pgr_edgeDisjointPaths(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:289 ../../build/doc/release_notes.rst:748 +#: ../../build/doc/release_notes.rst:306 ../../build/doc/release_notes.rst:765 msgid "pgr_edgeDisjointPaths(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:291 +#: ../../build/doc/release_notes.rst:308 msgid "Components family" msgstr "" -#: ../../build/doc/release_notes.rst:293 ../../build/doc/release_notes.rst:589 +#: ../../build/doc/release_notes.rst:310 ../../build/doc/release_notes.rst:606 msgid "pgr_connectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:294 ../../build/doc/release_notes.rst:590 +#: ../../build/doc/release_notes.rst:311 ../../build/doc/release_notes.rst:607 msgid "pgr_strongComponents" msgstr "" -#: ../../build/doc/release_notes.rst:295 ../../build/doc/release_notes.rst:591 +#: ../../build/doc/release_notes.rst:312 ../../build/doc/release_notes.rst:608 msgid "pgr_biconnectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:296 ../../build/doc/release_notes.rst:592 +#: ../../build/doc/release_notes.rst:313 ../../build/doc/release_notes.rst:609 msgid "pgr_articulationPoints" msgstr "" -#: ../../build/doc/release_notes.rst:297 ../../build/doc/release_notes.rst:593 +#: ../../build/doc/release_notes.rst:314 ../../build/doc/release_notes.rst:610 msgid "pgr_bridges" msgstr "" -#: ../../build/doc/release_notes.rst:299 +#: ../../build/doc/release_notes.rst:316 msgid "Contraction:" msgstr "" -#: ../../build/doc/release_notes.rst:301 +#: ../../build/doc/release_notes.rst:318 msgid "Removed unnecessary column seq" msgstr "" -#: ../../build/doc/release_notes.rst:302 ../../build/doc/release_notes.rst:689 -#: ../../build/doc/release_notes.rst:705 ../../build/doc/release_notes.rst:775 -#: ../../build/doc/release_notes.rst:788 ../../build/doc/release_notes.rst:799 -#: ../../build/doc/release_notes.rst:811 ../../build/doc/release_notes.rst:930 -#: ../../build/doc/release_notes.rst:961 +#: ../../build/doc/release_notes.rst:319 ../../build/doc/release_notes.rst:706 +#: ../../build/doc/release_notes.rst:722 ../../build/doc/release_notes.rst:792 +#: ../../build/doc/release_notes.rst:805 ../../build/doc/release_notes.rst:816 +#: ../../build/doc/release_notes.rst:828 ../../build/doc/release_notes.rst:947 +#: ../../build/doc/release_notes.rst:978 msgid "Bug Fixes" msgstr "" -#: ../../build/doc/release_notes.rst:306 +#: ../../build/doc/release_notes.rst:323 msgid "New Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:307 +#: ../../build/doc/release_notes.rst:324 msgid "pgr_maxFlowMinCost" msgstr "" -#: ../../build/doc/release_notes.rst:308 +#: ../../build/doc/release_notes.rst:325 msgid "pgr_maxFlowMinCost_Cost" msgstr "" -#: ../../build/doc/release_notes.rst:309 +#: ../../build/doc/release_notes.rst:326 msgid "pgr_extractVertices" msgstr "" -#: ../../build/doc/release_notes.rst:310 +#: ../../build/doc/release_notes.rst:327 msgid "pgr_turnRestrictedPath" msgstr "" -#: ../../build/doc/release_notes.rst:311 +#: ../../build/doc/release_notes.rst:328 msgid "pgr_stoerWagner" msgstr "" -#: ../../build/doc/release_notes.rst:312 +#: ../../build/doc/release_notes.rst:329 msgid "pgr_dagShortestpath" msgstr "" -#: ../../build/doc/release_notes.rst:313 +#: ../../build/doc/release_notes.rst:330 msgid "pgr_topologicalSort" msgstr "" -#: ../../build/doc/release_notes.rst:314 +#: ../../build/doc/release_notes.rst:331 msgid "pgr_transitiveClosure" msgstr "" -#: ../../build/doc/release_notes.rst:315 +#: ../../build/doc/release_notes.rst:332 msgid "VRP category" msgstr "" -#: ../../build/doc/release_notes.rst:317 +#: ../../build/doc/release_notes.rst:334 msgid "pgr_pickDeliverEuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:318 +#: ../../build/doc/release_notes.rst:335 msgid "pgr_pickDeliver" msgstr "" -#: ../../build/doc/release_notes.rst:320 +#: ../../build/doc/release_notes.rst:337 msgid "Chinese Postman family" msgstr "" -#: ../../build/doc/release_notes.rst:322 +#: ../../build/doc/release_notes.rst:339 msgid "pgr_chinesePostman" msgstr "" -#: ../../build/doc/release_notes.rst:323 +#: ../../build/doc/release_notes.rst:340 msgid "pgr_chinesePostmanCost" msgstr "" -#: ../../build/doc/release_notes.rst:325 +#: ../../build/doc/release_notes.rst:342 msgid "Breadth First Search family" msgstr "" -#: ../../build/doc/release_notes.rst:327 +#: ../../build/doc/release_notes.rst:344 msgid "pgr_breadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:328 +#: ../../build/doc/release_notes.rst:345 msgid "pgr_binaryBreadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:330 +#: ../../build/doc/release_notes.rst:347 msgid "Bellman Ford family" msgstr "" -#: ../../build/doc/release_notes.rst:332 +#: ../../build/doc/release_notes.rst:349 msgid "pgr_bellmanFord" msgstr "" -#: ../../build/doc/release_notes.rst:333 +#: ../../build/doc/release_notes.rst:350 msgid "pgr_edwardMoore" msgstr "" -#: ../../build/doc/release_notes.rst:336 +#: ../../build/doc/release_notes.rst:353 msgid "Moved to legacy" msgstr "" -#: ../../build/doc/release_notes.rst:337 +#: ../../build/doc/release_notes.rst:354 msgid "Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:339 +#: ../../build/doc/release_notes.rst:356 msgid "pgr_labelGraph - Use the components family of functions instead." msgstr "" -#: ../../build/doc/release_notes.rst:340 +#: ../../build/doc/release_notes.rst:357 msgid "Max flow - functions were renamed on v2.5.0" msgstr "" -#: ../../build/doc/release_notes.rst:342 +#: ../../build/doc/release_notes.rst:359 msgid "pgr_maxFlowPushRelabel" msgstr "" -#: ../../build/doc/release_notes.rst:343 +#: ../../build/doc/release_notes.rst:360 msgid "pgr_maxFlowBoykovKolmogorov" msgstr "" -#: ../../build/doc/release_notes.rst:344 +#: ../../build/doc/release_notes.rst:361 msgid "pgr_maxFlowEdmondsKarp" msgstr "" -#: ../../build/doc/release_notes.rst:345 +#: ../../build/doc/release_notes.rst:362 msgid "pgr_maximumcardinalitymatching" msgstr "" -#: ../../build/doc/release_notes.rst:347 +#: ../../build/doc/release_notes.rst:364 msgid "VRP" msgstr "" -#: ../../build/doc/release_notes.rst:349 +#: ../../build/doc/release_notes.rst:366 msgid "pgr_gsoc_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:351 +#: ../../build/doc/release_notes.rst:368 msgid "TSP old signatures" msgstr "" -#: ../../build/doc/release_notes.rst:352 +#: ../../build/doc/release_notes.rst:369 msgid "pgr_pointsAsPolygon" msgstr "" -#: ../../build/doc/release_notes.rst:353 +#: ../../build/doc/release_notes.rst:370 msgid "pgr_alphaShape old signature" msgstr "" -#: ../../build/doc/release_notes.rst:359 +#: ../../build/doc/release_notes.rst:376 msgid "pgRouting 2.6.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:361 +#: ../../build/doc/release_notes.rst:378 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -937,41 +1001,41 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:364 ../../build/doc/release_notes.rst:378 -#: ../../build/doc/release_notes.rst:436 ../../build/doc/release_notes.rst:465 -#: ../../build/doc/release_notes.rst:518 ../../build/doc/release_notes.rst:529 -#: ../../build/doc/release_notes.rst:541 ../../build/doc/release_notes.rst:623 -#: ../../build/doc/release_notes.rst:637 ../../build/doc/release_notes.rst:674 -#: ../../build/doc/release_notes.rst:1028 -#: ../../build/doc/release_notes.rst:1035 -#: ../../build/doc/release_notes.rst:1056 -#: ../../build/doc/release_notes.rst:1063 +#: ../../build/doc/release_notes.rst:381 ../../build/doc/release_notes.rst:395 +#: ../../build/doc/release_notes.rst:453 ../../build/doc/release_notes.rst:482 +#: ../../build/doc/release_notes.rst:535 ../../build/doc/release_notes.rst:546 +#: ../../build/doc/release_notes.rst:558 ../../build/doc/release_notes.rst:640 +#: ../../build/doc/release_notes.rst:654 ../../build/doc/release_notes.rst:691 +#: ../../build/doc/release_notes.rst:1045 +#: ../../build/doc/release_notes.rst:1052 +#: ../../build/doc/release_notes.rst:1073 +#: ../../build/doc/release_notes.rst:1080 msgid "Bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:365 +#: ../../build/doc/release_notes.rst:382 msgid "" "`#1219 `__ Implicit " "cast for via_path integer to text" msgstr "" -#: ../../build/doc/release_notes.rst:366 +#: ../../build/doc/release_notes.rst:383 msgid "" "`#1193 `__ Fixed " "pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" msgstr "" -#: ../../build/doc/release_notes.rst:367 +#: ../../build/doc/release_notes.rst:384 msgid "" "`#1185 `__ Improve " "FindPostgreSQL.cmake" msgstr "" -#: ../../build/doc/release_notes.rst:373 +#: ../../build/doc/release_notes.rst:390 msgid "pgRouting 2.6.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:375 +#: ../../build/doc/release_notes.rst:392 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -980,29 +1044,29 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:379 +#: ../../build/doc/release_notes.rst:396 msgid "" "`#1152 `__ Fixes " "driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:380 +#: ../../build/doc/release_notes.rst:397 msgid "" "`#1098 `__ Fixes " "windows test" msgstr "" -#: ../../build/doc/release_notes.rst:381 +#: ../../build/doc/release_notes.rst:398 msgid "" "`#1165 `__ Fixes " "build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:386 +#: ../../build/doc/release_notes.rst:403 msgid "pgRouting 2.6.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:388 +#: ../../build/doc/release_notes.rst:405 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1011,133 +1075,133 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:390 ../../build/doc/release_notes.rst:477 +#: ../../build/doc/release_notes.rst:407 ../../build/doc/release_notes.rst:494 msgid "Fixes server crash on several functions." msgstr "" -#: ../../build/doc/release_notes.rst:392 ../../build/doc/release_notes.rst:479 -#: ../../build/doc/release_notes.rst:837 +#: ../../build/doc/release_notes.rst:409 ../../build/doc/release_notes.rst:496 +#: ../../build/doc/release_notes.rst:854 msgid "pgr_floydWarshall" msgstr "" -#: ../../build/doc/release_notes.rst:393 ../../build/doc/release_notes.rst:480 +#: ../../build/doc/release_notes.rst:410 ../../build/doc/release_notes.rst:497 msgid "pgr_johnson" msgstr "" -#: ../../build/doc/release_notes.rst:394 ../../build/doc/release_notes.rst:481 +#: ../../build/doc/release_notes.rst:411 ../../build/doc/release_notes.rst:498 msgid "pgr_astar" msgstr "" -#: ../../build/doc/release_notes.rst:395 ../../build/doc/release_notes.rst:482 +#: ../../build/doc/release_notes.rst:412 ../../build/doc/release_notes.rst:499 msgid "pgr_bdAstar" msgstr "" -#: ../../build/doc/release_notes.rst:396 ../../build/doc/release_notes.rst:483 +#: ../../build/doc/release_notes.rst:413 ../../build/doc/release_notes.rst:500 msgid "pgr_bdDijstra" msgstr "" -#: ../../build/doc/release_notes.rst:397 ../../build/doc/release_notes.rst:484 +#: ../../build/doc/release_notes.rst:414 ../../build/doc/release_notes.rst:501 msgid "pgr_alphashape" msgstr "" -#: ../../build/doc/release_notes.rst:398 ../../build/doc/release_notes.rst:485 -#: ../../build/doc/release_notes.rst:730 +#: ../../build/doc/release_notes.rst:415 ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:747 msgid "pgr_dijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:399 ../../build/doc/release_notes.rst:486 +#: ../../build/doc/release_notes.rst:416 ../../build/doc/release_notes.rst:503 msgid "pgr_dijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:400 ../../build/doc/release_notes.rst:487 +#: ../../build/doc/release_notes.rst:417 ../../build/doc/release_notes.rst:504 msgid "pgr_dijkstraCost" msgstr "" -#: ../../build/doc/release_notes.rst:401 ../../build/doc/release_notes.rst:488 +#: ../../build/doc/release_notes.rst:418 ../../build/doc/release_notes.rst:505 msgid "pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:402 ../../build/doc/release_notes.rst:489 +#: ../../build/doc/release_notes.rst:419 ../../build/doc/release_notes.rst:506 msgid "pgr_KSP" msgstr "" -#: ../../build/doc/release_notes.rst:403 ../../build/doc/release_notes.rst:490 +#: ../../build/doc/release_notes.rst:420 ../../build/doc/release_notes.rst:507 msgid "pgr_dijkstraVia (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:404 ../../build/doc/release_notes.rst:491 +#: ../../build/doc/release_notes.rst:421 ../../build/doc/release_notes.rst:508 msgid "pgr_boykovKolmogorov (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:405 ../../build/doc/release_notes.rst:492 +#: ../../build/doc/release_notes.rst:422 ../../build/doc/release_notes.rst:509 msgid "pgr_edgeDisjointPaths (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:406 ../../build/doc/release_notes.rst:493 +#: ../../build/doc/release_notes.rst:423 ../../build/doc/release_notes.rst:510 msgid "pgr_edmondsKarp (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:407 ../../build/doc/release_notes.rst:494 +#: ../../build/doc/release_notes.rst:424 ../../build/doc/release_notes.rst:511 msgid "pgr_maxCardinalityMatch (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:408 ../../build/doc/release_notes.rst:495 +#: ../../build/doc/release_notes.rst:425 ../../build/doc/release_notes.rst:512 msgid "pgr_maxFlow (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:409 ../../build/doc/release_notes.rst:496 +#: ../../build/doc/release_notes.rst:426 ../../build/doc/release_notes.rst:513 msgid "pgr_withPoints (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:410 ../../build/doc/release_notes.rst:497 +#: ../../build/doc/release_notes.rst:427 ../../build/doc/release_notes.rst:514 msgid "pgr_withPointsCost (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:411 ../../build/doc/release_notes.rst:498 +#: ../../build/doc/release_notes.rst:428 ../../build/doc/release_notes.rst:515 msgid "pgr_withPointsKSP (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:412 ../../build/doc/release_notes.rst:499 +#: ../../build/doc/release_notes.rst:429 ../../build/doc/release_notes.rst:516 msgid "pgr_withPointsDD (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:413 ../../build/doc/release_notes.rst:500 +#: ../../build/doc/release_notes.rst:430 ../../build/doc/release_notes.rst:517 msgid "pgr_withPointsCostMatrix (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:414 ../../build/doc/release_notes.rst:501 +#: ../../build/doc/release_notes.rst:431 ../../build/doc/release_notes.rst:518 msgid "pgr_contractGraph (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:415 ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:432 ../../build/doc/release_notes.rst:519 msgid "pgr_pushRelabel (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:416 ../../build/doc/release_notes.rst:503 +#: ../../build/doc/release_notes.rst:433 ../../build/doc/release_notes.rst:520 msgid "pgr_vrpOneDepot (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:417 ../../build/doc/release_notes.rst:504 +#: ../../build/doc/release_notes.rst:434 ../../build/doc/release_notes.rst:521 msgid "pgr_gsoc_vrppdtw (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:418 ../../build/doc/release_notes.rst:505 +#: ../../build/doc/release_notes.rst:435 ../../build/doc/release_notes.rst:522 msgid "Fixes for deprecated functions where also applied but not tested" msgstr "" -#: ../../build/doc/release_notes.rst:420 ../../build/doc/release_notes.rst:507 +#: ../../build/doc/release_notes.rst:437 ../../build/doc/release_notes.rst:524 msgid "Removed compilation warning for g++8" msgstr "" -#: ../../build/doc/release_notes.rst:421 ../../build/doc/release_notes.rst:508 +#: ../../build/doc/release_notes.rst:438 ../../build/doc/release_notes.rst:525 msgid "Fixed a fallthrugh on Astar and bdAstar." msgstr "" -#: ../../build/doc/release_notes.rst:426 +#: ../../build/doc/release_notes.rst:443 msgid "pgRouting 2.6.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:428 +#: ../../build/doc/release_notes.rst:445 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1146,67 +1210,67 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:432 +#: ../../build/doc/release_notes.rst:449 msgid "New fexperimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:433 ../../build/doc/release_notes.rst:588 +#: ../../build/doc/release_notes.rst:450 ../../build/doc/release_notes.rst:605 msgid "pgr_lineGraphFull" msgstr "" -#: ../../build/doc/release_notes.rst:437 +#: ../../build/doc/release_notes.rst:454 msgid "" "Fix pgr_trsp(text,integer,double precision,integer,double " "precision,boolean,boolean[,text])" msgstr "" -#: ../../build/doc/release_notes.rst:439 +#: ../../build/doc/release_notes.rst:456 msgid "without restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:441 +#: ../../build/doc/release_notes.rst:458 msgid "calls pgr_dijkstra when both end points have a fraction IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:442 +#: ../../build/doc/release_notes.rst:459 msgid "calls pgr_withPoints when at least one fraction NOT IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:444 +#: ../../build/doc/release_notes.rst:461 msgid "with restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:446 +#: ../../build/doc/release_notes.rst:463 msgid "calls original trsp code" msgstr "" -#: ../../build/doc/release_notes.rst:449 +#: ../../build/doc/release_notes.rst:466 msgid "Internal code" msgstr "" -#: ../../build/doc/release_notes.rst:450 +#: ../../build/doc/release_notes.rst:467 msgid "" "Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [," " text])" msgstr "" -#: ../../build/doc/release_notes.rst:452 +#: ../../build/doc/release_notes.rst:469 msgid "Removed the use of pointers" msgstr "" -#: ../../build/doc/release_notes.rst:453 +#: ../../build/doc/release_notes.rst:470 msgid "Internal code can accept BIGINT" msgstr "" -#: ../../build/doc/release_notes.rst:455 +#: ../../build/doc/release_notes.rst:472 msgid "Cleaned the internal code of withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:460 +#: ../../build/doc/release_notes.rst:477 msgid "pgRouting 2.5.5 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:462 +#: ../../build/doc/release_notes.rst:479 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1215,23 +1279,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:466 +#: ../../build/doc/release_notes.rst:483 msgid "Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:467 +#: ../../build/doc/release_notes.rst:484 msgid "Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:468 +#: ../../build/doc/release_notes.rst:485 msgid "Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:473 +#: ../../build/doc/release_notes.rst:490 msgid "pgRouting 2.5.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:475 +#: ../../build/doc/release_notes.rst:492 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1240,11 +1304,11 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:513 +#: ../../build/doc/release_notes.rst:530 msgid "pgRouting 2.5.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:515 +#: ../../build/doc/release_notes.rst:532 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1253,17 +1317,17 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:519 +#: ../../build/doc/release_notes.rst:536 msgid "" "Fix for postgresql 11: Removed a compilation error when compiling with " "postgreSQL" msgstr "" -#: ../../build/doc/release_notes.rst:524 +#: ../../build/doc/release_notes.rst:541 msgid "pgRouting 2.5.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:526 +#: ../../build/doc/release_notes.rst:543 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1272,15 +1336,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:530 +#: ../../build/doc/release_notes.rst:547 msgid "Fix for postgresql 10.1: Removed a compiler condition" msgstr "" -#: ../../build/doc/release_notes.rst:536 +#: ../../build/doc/release_notes.rst:553 msgid "pgRouting 2.5.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:538 +#: ../../build/doc/release_notes.rst:555 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1289,15 +1353,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:542 +#: ../../build/doc/release_notes.rst:559 msgid "Fixed prerequisite minimum version of: cmake" msgstr "" -#: ../../build/doc/release_notes.rst:548 +#: ../../build/doc/release_notes.rst:565 msgid "pgRouting 2.5.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:550 +#: ../../build/doc/release_notes.rst:567 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.5.0 " @@ -1305,100 +1369,100 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:554 +#: ../../build/doc/release_notes.rst:571 msgid "enhancement:" msgstr "" -#: ../../build/doc/release_notes.rst:555 +#: ../../build/doc/release_notes.rst:572 msgid "pgr_version is now on SQL language" msgstr "" -#: ../../build/doc/release_notes.rst:558 +#: ../../build/doc/release_notes.rst:575 msgid "Breaking change on:" msgstr "" -#: ../../build/doc/release_notes.rst:559 +#: ../../build/doc/release_notes.rst:576 msgid "pgr_edgeDisjointPaths:" msgstr "" -#: ../../build/doc/release_notes.rst:561 +#: ../../build/doc/release_notes.rst:578 msgid "Added path_id, cost and agg_cost columns on the result" msgstr "" -#: ../../build/doc/release_notes.rst:562 +#: ../../build/doc/release_notes.rst:579 msgid "Parameter names changed" msgstr "" -#: ../../build/doc/release_notes.rst:563 +#: ../../build/doc/release_notes.rst:580 msgid "The many version results are the union of the one to one version" msgstr "" -#: ../../build/doc/release_notes.rst:566 +#: ../../build/doc/release_notes.rst:583 msgid "New Signatures:" msgstr "" -#: ../../build/doc/release_notes.rst:567 +#: ../../build/doc/release_notes.rst:584 msgid "pgr_bdAstar(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:570 ../../build/doc/release_notes.rst:729 +#: ../../build/doc/release_notes.rst:587 ../../build/doc/release_notes.rst:746 msgid "New Proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:578 +#: ../../build/doc/release_notes.rst:595 msgid "pgr_bdAstarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:586 +#: ../../build/doc/release_notes.rst:603 msgid "pgr_bdDijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:587 +#: ../../build/doc/release_notes.rst:604 msgid "pgr_lineGraph" msgstr "" -#: ../../build/doc/release_notes.rst:596 ../../build/doc/release_notes.rst:666 -#: ../../build/doc/release_notes.rst:753 +#: ../../build/doc/release_notes.rst:613 ../../build/doc/release_notes.rst:683 +#: ../../build/doc/release_notes.rst:770 msgid "Deprecated Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:597 +#: ../../build/doc/release_notes.rst:614 msgid "pgr_bdastar - use pgr_bdAstar instead" msgstr "" -#: ../../build/doc/release_notes.rst:600 +#: ../../build/doc/release_notes.rst:617 msgid "Renamed Functions" msgstr "" -#: ../../build/doc/release_notes.rst:601 +#: ../../build/doc/release_notes.rst:618 msgid "pgr_maxFlowPushRelabel - use pgr_pushRelabel instead" msgstr "" -#: ../../build/doc/release_notes.rst:602 +#: ../../build/doc/release_notes.rst:619 msgid "pgr_maxFlowEdmondsKarp -use pgr_edmondsKarp instead" msgstr "" -#: ../../build/doc/release_notes.rst:603 +#: ../../build/doc/release_notes.rst:620 msgid "pgr_maxFlowBoykovKolmogorov - use pgr_boykovKolmogorov instead" msgstr "" -#: ../../build/doc/release_notes.rst:604 +#: ../../build/doc/release_notes.rst:621 msgid "pgr_maximumCardinalityMatching - use pgr_maxCardinalityMatch instead" msgstr "" -#: ../../build/doc/release_notes.rst:607 +#: ../../build/doc/release_notes.rst:624 msgid "Deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:608 +#: ../../build/doc/release_notes.rst:625 msgid "pgr_pointToEdgeNode" msgstr "" -#: ../../build/doc/release_notes.rst:614 +#: ../../build/doc/release_notes.rst:631 msgid "pgRouting 2.4.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:616 +#: ../../build/doc/release_notes.rst:633 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1407,27 +1471,27 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:619 +#: ../../build/doc/release_notes.rst:636 msgid "Improvement" msgstr "" -#: ../../build/doc/release_notes.rst:620 +#: ../../build/doc/release_notes.rst:637 msgid "Works for postgreSQL 10" msgstr "" -#: ../../build/doc/release_notes.rst:624 +#: ../../build/doc/release_notes.rst:641 msgid "Fixed: Unexpected error column \"cname\"" msgstr "" -#: ../../build/doc/release_notes.rst:625 +#: ../../build/doc/release_notes.rst:642 msgid "Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" msgstr "" -#: ../../build/doc/release_notes.rst:632 +#: ../../build/doc/release_notes.rst:649 msgid "pgRouting 2.4.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:634 +#: ../../build/doc/release_notes.rst:651 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone " @@ -1436,19 +1500,19 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:638 +#: ../../build/doc/release_notes.rst:655 msgid "Fixed compiling error on macOS" msgstr "" -#: ../../build/doc/release_notes.rst:639 +#: ../../build/doc/release_notes.rst:656 msgid "Condition error on pgr_withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:644 +#: ../../build/doc/release_notes.rst:661 msgid "pgRouting 2.4.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:646 +#: ../../build/doc/release_notes.rst:663 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.4.0 " @@ -1456,80 +1520,80 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:649 ../../build/doc/release_notes.rst:719 -#: ../../build/doc/release_notes.rst:880 +#: ../../build/doc/release_notes.rst:666 ../../build/doc/release_notes.rst:736 +#: ../../build/doc/release_notes.rst:897 msgid "New Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:650 +#: ../../build/doc/release_notes.rst:667 msgid "pgr_bdDijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:654 +#: ../../build/doc/release_notes.rst:671 msgid "New Proposed Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:656 +#: ../../build/doc/release_notes.rst:673 msgid "pgr_astar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:657 +#: ../../build/doc/release_notes.rst:674 msgid "pgr_astar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:658 +#: ../../build/doc/release_notes.rst:675 msgid "pgr_astar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:659 +#: ../../build/doc/release_notes.rst:676 msgid "pgr_astarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:660 +#: ../../build/doc/release_notes.rst:677 msgid "pgr_astarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:661 +#: ../../build/doc/release_notes.rst:678 msgid "pgr_astarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:662 +#: ../../build/doc/release_notes.rst:679 msgid "pgr_astarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:663 +#: ../../build/doc/release_notes.rst:680 msgid "pgr_astarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:667 +#: ../../build/doc/release_notes.rst:684 msgid "pgr_bddijkstra - use pgr_bdDijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:670 ../../build/doc/release_notes.rst:759 +#: ../../build/doc/release_notes.rst:687 ../../build/doc/release_notes.rst:776 msgid "Deprecated Functions" msgstr "" -#: ../../build/doc/release_notes.rst:671 +#: ../../build/doc/release_notes.rst:688 msgid "pgr_pointsToVids" msgstr "" -#: ../../build/doc/release_notes.rst:675 +#: ../../build/doc/release_notes.rst:692 msgid "Bug fixes on proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:677 +#: ../../build/doc/release_notes.rst:694 msgid "pgr_withPointsKSP: fixed ordering" msgstr "" -#: ../../build/doc/release_notes.rst:679 +#: ../../build/doc/release_notes.rst:696 msgid "TRSP original code is used with no changes on the compilation warnings" msgstr "" -#: ../../build/doc/release_notes.rst:684 +#: ../../build/doc/release_notes.rst:701 msgid "pgRouting 2.3.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:686 +#: ../../build/doc/release_notes.rst:703 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.2 " @@ -1537,27 +1601,27 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:690 +#: ../../build/doc/release_notes.rst:707 msgid "Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck." msgstr "" -#: ../../build/doc/release_notes.rst:691 +#: ../../build/doc/release_notes.rst:708 msgid "Fixed pgr_trsp:" msgstr "" -#: ../../build/doc/release_notes.rst:693 +#: ../../build/doc/release_notes.rst:710 msgid "Alternate code is not executed when the point is in reality a vertex" msgstr "" -#: ../../build/doc/release_notes.rst:694 +#: ../../build/doc/release_notes.rst:711 msgid "Fixed ambiguity on seq" msgstr "" -#: ../../build/doc/release_notes.rst:700 +#: ../../build/doc/release_notes.rst:717 msgid "pgRouting 2.3.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:702 +#: ../../build/doc/release_notes.rst:719 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.1 " @@ -1565,23 +1629,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:706 +#: ../../build/doc/release_notes.rst:723 msgid "Leaks on proposed max_flow functions" msgstr "" -#: ../../build/doc/release_notes.rst:707 +#: ../../build/doc/release_notes.rst:724 msgid "Regression error on pgr_trsp" msgstr "" -#: ../../build/doc/release_notes.rst:708 +#: ../../build/doc/release_notes.rst:725 msgid "Types discrepancy on pgr_createVerticesTable" msgstr "" -#: ../../build/doc/release_notes.rst:714 +#: ../../build/doc/release_notes.rst:731 msgid "pgRouting 2.3.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:716 +#: ../../build/doc/release_notes.rst:733 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.0 " @@ -1589,111 +1653,111 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:720 +#: ../../build/doc/release_notes.rst:737 msgid "pgr_TSP" msgstr "" -#: ../../build/doc/release_notes.rst:721 +#: ../../build/doc/release_notes.rst:738 msgid "pgr_aStar" msgstr "" -#: ../../build/doc/release_notes.rst:724 ../../build/doc/release_notes.rst:836 +#: ../../build/doc/release_notes.rst:741 ../../build/doc/release_notes.rst:853 msgid "New Functions" msgstr "" -#: ../../build/doc/release_notes.rst:725 +#: ../../build/doc/release_notes.rst:742 msgid "pgr_eucledianTSP" msgstr "" -#: ../../build/doc/release_notes.rst:731 +#: ../../build/doc/release_notes.rst:748 msgid "pgr_withPointsCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:732 +#: ../../build/doc/release_notes.rst:749 msgid "pgr_maxFlowPushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:733 +#: ../../build/doc/release_notes.rst:750 msgid "pgr_maxFlowPushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:734 +#: ../../build/doc/release_notes.rst:751 msgid "pgr_maxFlowPushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:735 +#: ../../build/doc/release_notes.rst:752 msgid "pgr_maxFlowPushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:736 +#: ../../build/doc/release_notes.rst:753 msgid "pgr_maxFlowEdmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:737 +#: ../../build/doc/release_notes.rst:754 msgid "pgr_maxFlowEdmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:738 +#: ../../build/doc/release_notes.rst:755 msgid "pgr_maxFlowEdmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:739 +#: ../../build/doc/release_notes.rst:756 msgid "pgr_maxFlowEdmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:740 +#: ../../build/doc/release_notes.rst:757 msgid "pgr_maxFlowBoykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:741 +#: ../../build/doc/release_notes.rst:758 msgid "pgr_maxFlowBoykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:742 +#: ../../build/doc/release_notes.rst:759 msgid "pgr_maxFlowBoykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:743 +#: ../../build/doc/release_notes.rst:760 msgid "pgr_maxFlowBoykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:744 +#: ../../build/doc/release_notes.rst:761 msgid "pgr_maximumCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:749 +#: ../../build/doc/release_notes.rst:766 msgid "pgr_contractGraph" msgstr "" -#: ../../build/doc/release_notes.rst:754 +#: ../../build/doc/release_notes.rst:771 msgid "pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead" msgstr "" -#: ../../build/doc/release_notes.rst:755 +#: ../../build/doc/release_notes.rst:772 msgid "pgr_astar - use pgr_aStar instead" msgstr "" -#: ../../build/doc/release_notes.rst:760 +#: ../../build/doc/release_notes.rst:777 msgid "pgr_flip_edges" msgstr "" -#: ../../build/doc/release_notes.rst:761 +#: ../../build/doc/release_notes.rst:778 msgid "pgr_vidsToDmatrix" msgstr "" -#: ../../build/doc/release_notes.rst:762 +#: ../../build/doc/release_notes.rst:779 msgid "pgr_pointsToDMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:763 +#: ../../build/doc/release_notes.rst:780 msgid "pgr_textToPoints" msgstr "" -#: ../../build/doc/release_notes.rst:770 +#: ../../build/doc/release_notes.rst:787 msgid "pgRouting 2.2.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:772 +#: ../../build/doc/release_notes.rst:789 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.4 " @@ -1701,23 +1765,23 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:776 +#: ../../build/doc/release_notes.rst:793 msgid "Bogus uses of extern \"C\"" msgstr "" -#: ../../build/doc/release_notes.rst:777 +#: ../../build/doc/release_notes.rst:794 msgid "Build error on Fedora 24 + GCC 6.0" msgstr "" -#: ../../build/doc/release_notes.rst:778 +#: ../../build/doc/release_notes.rst:795 msgid "Regression error pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:783 +#: ../../build/doc/release_notes.rst:800 msgid "pgRouting 2.2.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:785 +#: ../../build/doc/release_notes.rst:802 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.3 " @@ -1725,15 +1789,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:789 +#: ../../build/doc/release_notes.rst:806 msgid "Fixed compatibility issues with PostgreSQL 9.6." msgstr "" -#: ../../build/doc/release_notes.rst:794 +#: ../../build/doc/release_notes.rst:811 msgid "pgRouting 2.2.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:796 +#: ../../build/doc/release_notes.rst:813 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.2 " @@ -1741,15 +1805,15 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:800 +#: ../../build/doc/release_notes.rst:817 msgid "Fixed regression error on pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:806 +#: ../../build/doc/release_notes.rst:823 msgid "pgRouting 2.2.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:808 +#: ../../build/doc/release_notes.rst:825 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.1 " @@ -1757,19 +1821,19 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:812 +#: ../../build/doc/release_notes.rst:829 msgid "Server crash fix on pgr_alphaShape" msgstr "" -#: ../../build/doc/release_notes.rst:813 +#: ../../build/doc/release_notes.rst:830 msgid "Bug fix on With Points family of functions" msgstr "" -#: ../../build/doc/release_notes.rst:819 +#: ../../build/doc/release_notes.rst:836 msgid "pgRouting 2.2.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:821 +#: ../../build/doc/release_notes.rst:838 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.0 " @@ -1777,131 +1841,131 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:825 ../../build/doc/release_notes.rst:893 +#: ../../build/doc/release_notes.rst:842 ../../build/doc/release_notes.rst:910 msgid "Improvements" msgstr "" -#: ../../build/doc/release_notes.rst:826 +#: ../../build/doc/release_notes.rst:843 msgid "pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:828 +#: ../../build/doc/release_notes.rst:845 msgid "Adding a row_where and outall optional parameters" msgstr "" -#: ../../build/doc/release_notes.rst:830 +#: ../../build/doc/release_notes.rst:847 msgid "Signature fix" msgstr "" -#: ../../build/doc/release_notes.rst:832 +#: ../../build/doc/release_notes.rst:849 msgid "pgr_dijkstra -- to match what is documented" msgstr "" -#: ../../build/doc/release_notes.rst:838 +#: ../../build/doc/release_notes.rst:855 msgid "pgr_Johnson" msgstr "" -#: ../../build/doc/release_notes.rst:839 +#: ../../build/doc/release_notes.rst:856 msgid "pgr_dijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:840 +#: ../../build/doc/release_notes.rst:857 msgid "pgr_dijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:841 +#: ../../build/doc/release_notes.rst:858 msgid "pgr_dijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:842 +#: ../../build/doc/release_notes.rst:859 msgid "pgr_dijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:845 ../../build/doc/release_notes.rst:897 +#: ../../build/doc/release_notes.rst:862 ../../build/doc/release_notes.rst:914 msgid "Proposed functionality" msgstr "" -#: ../../build/doc/release_notes.rst:846 +#: ../../build/doc/release_notes.rst:863 msgid "pgr_withPoints(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:847 +#: ../../build/doc/release_notes.rst:864 msgid "pgr_withPoints(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:848 +#: ../../build/doc/release_notes.rst:865 msgid "pgr_withPoints(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:849 +#: ../../build/doc/release_notes.rst:866 msgid "pgr_withPoints(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:850 +#: ../../build/doc/release_notes.rst:867 msgid "pgr_withPointsCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:851 +#: ../../build/doc/release_notes.rst:868 msgid "pgr_withPointsCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:852 +#: ../../build/doc/release_notes.rst:869 msgid "pgr_withPointsCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:853 +#: ../../build/doc/release_notes.rst:870 msgid "pgr_withPointsCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:854 +#: ../../build/doc/release_notes.rst:871 msgid "pgr_withPointsDD(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:855 +#: ../../build/doc/release_notes.rst:872 msgid "pgr_withPointsDD(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:856 +#: ../../build/doc/release_notes.rst:873 msgid "pgr_withPointsKSP" msgstr "" -#: ../../build/doc/release_notes.rst:857 +#: ../../build/doc/release_notes.rst:874 msgid "pgr_dijkstraVia" msgstr "" -#: ../../build/doc/release_notes.rst:861 +#: ../../build/doc/release_notes.rst:878 msgid "Deprecated functions:" msgstr "" -#: ../../build/doc/release_notes.rst:862 +#: ../../build/doc/release_notes.rst:879 msgid "pgr_apspWarshall use pgr_floydWarshall instead" msgstr "" -#: ../../build/doc/release_notes.rst:863 +#: ../../build/doc/release_notes.rst:880 msgid "pgr_apspJohnson use pgr_Johnson instead" msgstr "" -#: ../../build/doc/release_notes.rst:864 +#: ../../build/doc/release_notes.rst:881 msgid "pgr_kDijkstraCost use pgr_dijkstraCost instead" msgstr "" -#: ../../build/doc/release_notes.rst:865 +#: ../../build/doc/release_notes.rst:882 msgid "pgr_kDijkstraPath use pgr_dijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:868 +#: ../../build/doc/release_notes.rst:885 msgid "Renamed and deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:869 +#: ../../build/doc/release_notes.rst:886 msgid "pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:875 +#: ../../build/doc/release_notes.rst:892 msgid "pgRouting 2.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:877 +#: ../../build/doc/release_notes.rst:894 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.1.0 " @@ -1909,199 +1973,199 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:881 +#: ../../build/doc/release_notes.rst:898 msgid "pgr_dijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:882 +#: ../../build/doc/release_notes.rst:899 msgid "pgr_dijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:883 +#: ../../build/doc/release_notes.rst:900 msgid "pgr_dijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:884 +#: ../../build/doc/release_notes.rst:901 msgid "pgr_drivingDistance(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:887 +#: ../../build/doc/release_notes.rst:904 msgid "Refactored" msgstr "" -#: ../../build/doc/release_notes.rst:888 +#: ../../build/doc/release_notes.rst:905 msgid "pgr_dijkstra(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:889 +#: ../../build/doc/release_notes.rst:906 msgid "pgr_ksp" msgstr "" -#: ../../build/doc/release_notes.rst:890 +#: ../../build/doc/release_notes.rst:907 msgid "pgr_drivingDistance(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:894 +#: ../../build/doc/release_notes.rst:911 msgid "" "pgr_alphaShape function now can generate better (multi)polygon with holes" " and alpha parameter." msgstr "" -#: ../../build/doc/release_notes.rst:898 +#: ../../build/doc/release_notes.rst:915 msgid "" "Proposed functions from Steve Woodbridge, (Classified as Convenience by " "the author.)" msgstr "" -#: ../../build/doc/release_notes.rst:900 +#: ../../build/doc/release_notes.rst:917 msgid "" "pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on " "closest edge." msgstr "" -#: ../../build/doc/release_notes.rst:901 +#: ../../build/doc/release_notes.rst:918 msgid "" "pgr_flipEdges - flip the edges in an array of geometries so the connect " "end to end." msgstr "" -#: ../../build/doc/release_notes.rst:902 +#: ../../build/doc/release_notes.rst:919 msgid "" "pgr_textToPoints - convert a string of x,y;x,y;... locations into point " "geometries." msgstr "" -#: ../../build/doc/release_notes.rst:903 +#: ../../build/doc/release_notes.rst:920 msgid "pgr_pointsToVids - convert an array of point geometries into vertex ids." msgstr "" -#: ../../build/doc/release_notes.rst:904 +#: ../../build/doc/release_notes.rst:921 msgid "pgr_pointsToDMatrix - Create a distance matrix from an array of points." msgstr "" -#: ../../build/doc/release_notes.rst:905 ../../build/doc/release_notes.rst:906 +#: ../../build/doc/release_notes.rst:922 ../../build/doc/release_notes.rst:923 msgid "pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." msgstr "" -#: ../../build/doc/release_notes.rst:908 +#: ../../build/doc/release_notes.rst:925 msgid "Added proposed functions from GSoc Projects:" msgstr "" -#: ../../build/doc/release_notes.rst:910 +#: ../../build/doc/release_notes.rst:927 msgid "pgr_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:911 +#: ../../build/doc/release_notes.rst:928 msgid "pgr_vrponedepot" msgstr "" -#: ../../build/doc/release_notes.rst:914 +#: ../../build/doc/release_notes.rst:931 msgid "Deprecated functions" msgstr "" -#: ../../build/doc/release_notes.rst:915 +#: ../../build/doc/release_notes.rst:932 msgid "pgr_getColumnName" msgstr "" -#: ../../build/doc/release_notes.rst:916 +#: ../../build/doc/release_notes.rst:933 msgid "pgr_getTableName" msgstr "" -#: ../../build/doc/release_notes.rst:917 +#: ../../build/doc/release_notes.rst:934 msgid "pgr_isColumnCndexed" msgstr "" -#: ../../build/doc/release_notes.rst:918 +#: ../../build/doc/release_notes.rst:935 msgid "pgr_isColumnInTable" msgstr "" -#: ../../build/doc/release_notes.rst:919 +#: ../../build/doc/release_notes.rst:936 msgid "pgr_quote_ident" msgstr "" -#: ../../build/doc/release_notes.rst:920 +#: ../../build/doc/release_notes.rst:937 msgid "pgr_versionless" msgstr "" -#: ../../build/doc/release_notes.rst:921 +#: ../../build/doc/release_notes.rst:938 msgid "pgr_startPoint" msgstr "" -#: ../../build/doc/release_notes.rst:922 +#: ../../build/doc/release_notes.rst:939 msgid "pgr_endPoint" msgstr "" -#: ../../build/doc/release_notes.rst:923 +#: ../../build/doc/release_notes.rst:940 msgid "pgr_pointToId" msgstr "" -#: ../../build/doc/release_notes.rst:926 +#: ../../build/doc/release_notes.rst:943 msgid "No longer supported" msgstr "" -#: ../../build/doc/release_notes.rst:927 +#: ../../build/doc/release_notes.rst:944 msgid "Removed the 1.x legacy functions" msgstr "" -#: ../../build/doc/release_notes.rst:931 +#: ../../build/doc/release_notes.rst:948 msgid "Some bug fixes in other functions" msgstr "" -#: ../../build/doc/release_notes.rst:935 +#: ../../build/doc/release_notes.rst:952 msgid "Refactoring Internal Code" msgstr "" -#: ../../build/doc/release_notes.rst:936 +#: ../../build/doc/release_notes.rst:953 msgid "A C and C++ library for developer was created" msgstr "" -#: ../../build/doc/release_notes.rst:938 +#: ../../build/doc/release_notes.rst:955 msgid "encapsulates postgreSQL related functions" msgstr "" -#: ../../build/doc/release_notes.rst:939 +#: ../../build/doc/release_notes.rst:956 msgid "encapsulates Boost.Graph graphs" msgstr "" -#: ../../build/doc/release_notes.rst:941 +#: ../../build/doc/release_notes.rst:958 msgid "Directed Boost.Graph" msgstr "" -#: ../../build/doc/release_notes.rst:942 +#: ../../build/doc/release_notes.rst:959 msgid "Undirected Boost.graph." msgstr "" -#: ../../build/doc/release_notes.rst:944 +#: ../../build/doc/release_notes.rst:961 msgid "allow any-integer in the id's" msgstr "" -#: ../../build/doc/release_notes.rst:945 +#: ../../build/doc/release_notes.rst:962 msgid "allow any-numerical on the cost/reverse_cost columns" msgstr "" -#: ../../build/doc/release_notes.rst:947 +#: ../../build/doc/release_notes.rst:964 msgid "" "Instead of generating many libraries: - All functions are encapsulated in" " one library - The library has the prefix 2-1-0" msgstr "" -#: ../../build/doc/release_notes.rst:956 +#: ../../build/doc/release_notes.rst:973 msgid "pgRouting 2.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:958 +#: ../../build/doc/release_notes.rst:975 msgid "Minor bug fixes." msgstr "" -#: ../../build/doc/release_notes.rst:962 +#: ../../build/doc/release_notes.rst:979 msgid "No track of the bug fixes were kept." msgstr "" -#: ../../build/doc/release_notes.rst:968 +#: ../../build/doc/release_notes.rst:985 msgid "pgRouting 2.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:970 +#: ../../build/doc/release_notes.rst:987 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.0.0 " @@ -2109,162 +2173,162 @@ msgid "" " on Github." msgstr "" -#: ../../build/doc/release_notes.rst:972 +#: ../../build/doc/release_notes.rst:989 msgid "" "With the release of pgRouting 2.0.0 the library has abandoned backwards " "compatibility to :ref:`pgRouting 1.x ` releases. The main " "Goals for this release are:" msgstr "" -#: ../../build/doc/release_notes.rst:975 +#: ../../build/doc/release_notes.rst:992 msgid "Major restructuring of pgRouting." msgstr "" -#: ../../build/doc/release_notes.rst:976 +#: ../../build/doc/release_notes.rst:993 msgid "Standardization of the function naming" msgstr "" -#: ../../build/doc/release_notes.rst:977 +#: ../../build/doc/release_notes.rst:994 msgid "Preparation of the project for future development." msgstr "" -#: ../../build/doc/release_notes.rst:979 +#: ../../build/doc/release_notes.rst:996 msgid "As a result of this effort:" msgstr "" -#: ../../build/doc/release_notes.rst:981 +#: ../../build/doc/release_notes.rst:998 msgid "pgRouting has a simplified structure" msgstr "" -#: ../../build/doc/release_notes.rst:982 +#: ../../build/doc/release_notes.rst:999 msgid "Significant new functionality has being added" msgstr "" -#: ../../build/doc/release_notes.rst:983 +#: ../../build/doc/release_notes.rst:1000 msgid "Documentation has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:984 +#: ../../build/doc/release_notes.rst:1001 msgid "Testing has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:985 +#: ../../build/doc/release_notes.rst:1002 msgid "And made it easier for multiple developers to make contributions." msgstr "" -#: ../../build/doc/release_notes.rst:989 +#: ../../build/doc/release_notes.rst:1006 msgid "Important Changes" msgstr "" -#: ../../build/doc/release_notes.rst:990 +#: ../../build/doc/release_notes.rst:1007 msgid "" "Graph Analytics - tools for detecting and fixing connection some problems" " in a graph" msgstr "" -#: ../../build/doc/release_notes.rst:991 +#: ../../build/doc/release_notes.rst:1008 msgid "A collection of useful utility functions" msgstr "" -#: ../../build/doc/release_notes.rst:992 +#: ../../build/doc/release_notes.rst:1009 msgid "" "Two new All Pairs Short Path algorithms (pgr_apspJohnson, " "pgr_apspWarshall)" msgstr "" -#: ../../build/doc/release_notes.rst:993 +#: ../../build/doc/release_notes.rst:1010 msgid "" "Bi-directional Dijkstra and A-star search algorithms (pgr_bdAstar, " "pgr_bdDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:994 +#: ../../build/doc/release_notes.rst:1011 msgid "One to many nodes search (pgr_kDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:995 +#: ../../build/doc/release_notes.rst:1012 msgid "K alternate paths shortest path (pgr_ksp)" msgstr "" -#: ../../build/doc/release_notes.rst:996 +#: ../../build/doc/release_notes.rst:1013 msgid "" "New TSP solver that simplifies the code and the build process (pgr_tsp), " "dropped \"Gaul Library\" dependency" msgstr "" -#: ../../build/doc/release_notes.rst:997 +#: ../../build/doc/release_notes.rst:1014 msgid "Turn Restricted shortest path (pgr_trsp) that replaces Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:998 +#: ../../build/doc/release_notes.rst:1015 msgid "Dropped support for Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:999 +#: ../../build/doc/release_notes.rst:1016 msgid "" "Built a test infrastructure that is run before major code changes are " "checked in" msgstr "" -#: ../../build/doc/release_notes.rst:1000 +#: ../../build/doc/release_notes.rst:1017 msgid "" "Tested and fixed most all of the outstanding bugs reported against 1.x " "that existing in the 2.0-dev code base." msgstr "" -#: ../../build/doc/release_notes.rst:1001 +#: ../../build/doc/release_notes.rst:1018 msgid "Improved build process for Windows" msgstr "" -#: ../../build/doc/release_notes.rst:1002 +#: ../../build/doc/release_notes.rst:1019 msgid "Automated testing on Linux and Windows platforms trigger by every commit" msgstr "" -#: ../../build/doc/release_notes.rst:1003 +#: ../../build/doc/release_notes.rst:1020 msgid "Modular library design" msgstr "" -#: ../../build/doc/release_notes.rst:1004 +#: ../../build/doc/release_notes.rst:1021 msgid "Compatibility with PostgreSQL 9.1 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:1005 +#: ../../build/doc/release_notes.rst:1022 msgid "Compatibility with PostGIS 2.0 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:1006 +#: ../../build/doc/release_notes.rst:1023 msgid "Installs as PostgreSQL EXTENSION" msgstr "" -#: ../../build/doc/release_notes.rst:1007 +#: ../../build/doc/release_notes.rst:1024 msgid "Return types re factored and unified" msgstr "" -#: ../../build/doc/release_notes.rst:1008 +#: ../../build/doc/release_notes.rst:1025 msgid "Support for table SCHEMA in function parameters" msgstr "" -#: ../../build/doc/release_notes.rst:1009 +#: ../../build/doc/release_notes.rst:1026 msgid "Support for ``st_`` PostGIS function prefix" msgstr "" -#: ../../build/doc/release_notes.rst:1010 +#: ../../build/doc/release_notes.rst:1027 msgid "Added ``pgr_`` prefix to functions and types" msgstr "" -#: ../../build/doc/release_notes.rst:1011 +#: ../../build/doc/release_notes.rst:1028 msgid "Better documentation: https://docs.pgrouting.org" msgstr "" -#: ../../build/doc/release_notes.rst:1012 +#: ../../build/doc/release_notes.rst:1029 msgid "shooting_star is discontinued" msgstr "" -#: ../../build/doc/release_notes.rst:1019 +#: ../../build/doc/release_notes.rst:1036 msgid "pgRouting 1.x Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:1021 +#: ../../build/doc/release_notes.rst:1038 msgid "" "To see the issues closed by this release see the `Git closed issues for " "1.x " @@ -2273,94 +2337,94 @@ msgid "" "previous ``RELEASE_NOTES`` file and are kept as a reference." msgstr "" -#: ../../build/doc/release_notes.rst:1026 +#: ../../build/doc/release_notes.rst:1043 msgid "Changes for release 1.05" msgstr "" -#: ../../build/doc/release_notes.rst:1032 +#: ../../build/doc/release_notes.rst:1049 msgid "Changes for release 1.03" msgstr "" -#: ../../build/doc/release_notes.rst:1034 +#: ../../build/doc/release_notes.rst:1051 msgid "Much faster topology creation" msgstr "" -#: ../../build/doc/release_notes.rst:1039 +#: ../../build/doc/release_notes.rst:1056 msgid "Changes for release 1.02" msgstr "" -#: ../../build/doc/release_notes.rst:1041 -#: ../../build/doc/release_notes.rst:1048 +#: ../../build/doc/release_notes.rst:1058 +#: ../../build/doc/release_notes.rst:1065 msgid "Shooting* bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:1042 +#: ../../build/doc/release_notes.rst:1059 msgid "Compilation problems solved" msgstr "" -#: ../../build/doc/release_notes.rst:1046 +#: ../../build/doc/release_notes.rst:1063 msgid "Changes for release 1.01" msgstr "" -#: ../../build/doc/release_notes.rst:1052 +#: ../../build/doc/release_notes.rst:1069 msgid "Changes for release 1.0" msgstr "" -#: ../../build/doc/release_notes.rst:1054 +#: ../../build/doc/release_notes.rst:1071 msgid "Core and extra functions are separated" msgstr "" -#: ../../build/doc/release_notes.rst:1055 +#: ../../build/doc/release_notes.rst:1072 msgid "Cmake build process" msgstr "" -#: ../../build/doc/release_notes.rst:1060 +#: ../../build/doc/release_notes.rst:1077 msgid "Changes for release 1.0.0b" msgstr "" -#: ../../build/doc/release_notes.rst:1062 +#: ../../build/doc/release_notes.rst:1079 msgid "Additional SQL file with more simple names for wrapper functions" msgstr "" -#: ../../build/doc/release_notes.rst:1067 +#: ../../build/doc/release_notes.rst:1084 msgid "Changes for release 1.0.0a" msgstr "" -#: ../../build/doc/release_notes.rst:1069 +#: ../../build/doc/release_notes.rst:1086 msgid "Shooting* shortest path algorithm for real road networks" msgstr "" -#: ../../build/doc/release_notes.rst:1070 +#: ../../build/doc/release_notes.rst:1087 msgid "Several SQL bugs were fixed" msgstr "" -#: ../../build/doc/release_notes.rst:1074 +#: ../../build/doc/release_notes.rst:1091 msgid "Changes for release 0.9.9" msgstr "" -#: ../../build/doc/release_notes.rst:1076 +#: ../../build/doc/release_notes.rst:1093 msgid "PostgreSQL 8.2 support" msgstr "" -#: ../../build/doc/release_notes.rst:1077 +#: ../../build/doc/release_notes.rst:1094 msgid "" "Shortest path functions return empty result if they could not find any " "path" msgstr "" -#: ../../build/doc/release_notes.rst:1081 +#: ../../build/doc/release_notes.rst:1098 msgid "Changes for release 0.9.8" msgstr "" -#: ../../build/doc/release_notes.rst:1083 +#: ../../build/doc/release_notes.rst:1100 msgid "Renumbering scheme was added to shortest path functions" msgstr "" -#: ../../build/doc/release_notes.rst:1084 +#: ../../build/doc/release_notes.rst:1101 msgid "Directed shortest path functions were added" msgstr "" -#: ../../build/doc/release_notes.rst:1085 +#: ../../build/doc/release_notes.rst:1102 msgid "routing_postgis.sql was modified to use dijkstra in TSP search" msgstr "" diff --git a/locale/pot/flow-family.pot b/locale/pot/flow-family.pot index c5401dff24f..3aa7e6011cf 100644 --- a/locale/pot/flow-family.pot +++ b/locale/pot/flow-family.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -133,179 +133,194 @@ msgid "Previous versions of this page" msgstr "" #: ../../build/doc/flow-family.rst:54 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__ `2.6 `__" msgstr "" -#: ../../build/doc/flow-family.rst:59 +#: ../../build/doc/flow-family.rst:60 msgid "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.3 `__" msgstr "" -#: ../../build/doc/flow-family.rst:66 +#: ../../build/doc/flow-family.rst:67 msgid "Flow Functions General Information" msgstr "" -#: ../../build/doc/flow-family.rst:70 +#: ../../build/doc/flow-family.rst:71 msgid "**The main characteristics are:**" msgstr "" -#: ../../build/doc/flow-family.rst:72 +#: ../../build/doc/flow-family.rst:73 msgid "The graph is **directed**." msgstr "" -#: ../../build/doc/flow-family.rst:73 +#: ../../build/doc/flow-family.rst:74 msgid "Process is done only on edges with positive capacities." msgstr "" -#: ../../build/doc/flow-family.rst:74 +#: ../../build/doc/flow-family.rst:75 msgid "When the maximum flow is 0 then there is no flow and **EMPTY SET** is returned." msgstr "" -#: ../../build/doc/flow-family.rst:76 +#: ../../build/doc/flow-family.rst:77 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" -#: ../../build/doc/flow-family.rst:78 +#: ../../build/doc/flow-family.rst:79 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" -#: ../../build/doc/flow-family.rst:79 +#: ../../build/doc/flow-family.rst:80 msgid "Calculates the flow/residual capacity for each edge. In the output" msgstr "" -#: ../../build/doc/flow-family.rst:81 +#: ../../build/doc/flow-family.rst:82 msgid "Edges with zero flow are omitted." msgstr "" -#: ../../build/doc/flow-family.rst:83 +#: ../../build/doc/flow-family.rst:84 msgid "Creates a **super source** and edges to all the source(s), and a **super target** and the edges from all the targets(s)." msgstr "" -#: ../../build/doc/flow-family.rst:84 +#: ../../build/doc/flow-family.rst:85 msgid "The maximum flow through the graph is guaranteed to be the value returned by :doc:`pgr_maxFlow ` when executed with the same parameters and can be calculated:" msgstr "" -#: ../../build/doc/flow-family.rst:86 +#: ../../build/doc/flow-family.rst:87 msgid "By aggregation of the outgoing flow from the sources" msgstr "" -#: ../../build/doc/flow-family.rst:87 +#: ../../build/doc/flow-family.rst:88 msgid "By aggregation of the incoming flow to the targets" msgstr "" -#: ../../build/doc/flow-family.rst:92 +#: ../../build/doc/flow-family.rst:93 msgid ":doc:`pgr_maxFlow ` is the maximum Flow and that maximum is guaranteed to be the same on the functions :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp `, :doc:`pgr_boykovKolmogorov `, but the actual flow through each edge may vary." msgstr "" -#: ../../build/doc/flow-family.rst:95 +#: ../../build/doc/flow-family.rst:96 msgid "Parameters" msgstr "" -#: ../../build/doc/flow-family.rst:100 -#: ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 -#: ../../build/doc/flow-family.rst:179 -#: ../../build/doc/flow-family.rst:196 +#: ../../build/doc/flow-family.rst:101 +#: ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:212 msgid "Column" msgstr "" -#: ../../build/doc/flow-family.rst:100 -#: ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 -#: ../../build/doc/flow-family.rst:179 -#: ../../build/doc/flow-family.rst:196 +#: ../../build/doc/flow-family.rst:101 +#: ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:212 msgid "Type" msgstr "" -#: ../../build/doc/flow-family.rst:100 -#: ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 +#: ../../build/doc/flow-family.rst:101 +#: ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" -#: ../../build/doc/flow-family.rst:100 -#: ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 -#: ../../build/doc/flow-family.rst:179 -#: ../../build/doc/flow-family.rst:196 +#: ../../build/doc/flow-family.rst:101 +#: ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:212 msgid "Description" msgstr "" -#: ../../build/doc/flow-family.rst:102 +#: ../../build/doc/flow-family.rst:103 msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/flow-family.rst:102 +#: ../../build/doc/flow-family.rst:103 +#: ../../build/doc/flow-family.rst:104 msgid "``TEXT``" msgstr "" -#: ../../build/doc/flow-family.rst:102 -msgid "The edges SQL query as described in `Inner Query`_." +#: ../../build/doc/flow-family.rst:103 +msgid "Edges query as described in `Inner Queries`_." msgstr "" -#: ../../build/doc/flow-family.rst:103 -#: ../../build/doc/flow-family.rst:124 -#: ../../build/doc/flow-family.rst:152 -#: ../../build/doc/flow-family.rst:200 +#: ../../build/doc/flow-family.rst:104 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/flow-family.rst:104 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:105 +#: ../../build/doc/flow-family.rst:126 +#: ../../build/doc/flow-family.rst:154 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/flow-family.rst:216 msgid "**source**" msgstr "" -#: ../../build/doc/flow-family.rst:103 #: ../../build/doc/flow-family.rst:105 -#: ../../build/doc/flow-family.rst:182 -#: ../../build/doc/flow-family.rst:183 -#: ../../build/doc/flow-family.rst:184 -#: ../../build/doc/flow-family.rst:185 -#: ../../build/doc/flow-family.rst:186 +#: ../../build/doc/flow-family.rst:107 +#: ../../build/doc/flow-family.rst:198 #: ../../build/doc/flow-family.rst:199 #: ../../build/doc/flow-family.rst:200 #: ../../build/doc/flow-family.rst:201 #: ../../build/doc/flow-family.rst:202 -#: ../../build/doc/flow-family.rst:203 +#: ../../build/doc/flow-family.rst:215 +#: ../../build/doc/flow-family.rst:216 +#: ../../build/doc/flow-family.rst:217 +#: ../../build/doc/flow-family.rst:218 +#: ../../build/doc/flow-family.rst:219 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:103 +#: ../../build/doc/flow-family.rst:105 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:104 +#: ../../build/doc/flow-family.rst:106 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:104 #: ../../build/doc/flow-family.rst:106 +#: ../../build/doc/flow-family.rst:108 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:104 +#: ../../build/doc/flow-family.rst:106 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:105 -#: ../../build/doc/flow-family.rst:125 -#: ../../build/doc/flow-family.rst:153 -#: ../../build/doc/flow-family.rst:201 +#: ../../build/doc/flow-family.rst:107 +#: ../../build/doc/flow-family.rst:127 +#: ../../build/doc/flow-family.rst:155 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/flow-family.rst:217 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:105 +#: ../../build/doc/flow-family.rst:107 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:106 +#: ../../build/doc/flow-family.rst:108 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:106 +#: ../../build/doc/flow-family.rst:108 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:112 -msgid "Inner query" +#: ../../build/doc/flow-family.rst:114 +msgid "Inner queries" msgstr "" -#: ../../build/doc/flow-family.rst:115 -#: ../../build/doc/flow-family.rst:175 +#: ../../build/doc/flow-family.rst:117 +#: ../../build/doc/flow-family.rst:191 msgid "For :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp `, :doc:`pgr_boykovKolmogorov ` :" msgstr "" @@ -314,132 +329,139 @@ msgstr "" msgid "Edges SQL" msgstr "" -#: ../../build/doc/flow-family.rst:118 -#: ../../build/doc/flow-family.rst:146 +#: ../../build/doc/flow-family.rst:120 +#: ../../build/doc/flow-family.rst:148 msgid "an SQL query of a directed graph of capacities, which should return a set of rows with the following columns:" msgstr "" -#: ../../build/doc/flow-family.rst:123 -#: ../../build/doc/flow-family.rst:151 +#: ../../build/doc/flow-family.rst:125 +#: ../../build/doc/flow-family.rst:153 msgid "**id**" msgstr "" -#: ../../build/doc/flow-family.rst:123 -#: ../../build/doc/flow-family.rst:124 #: ../../build/doc/flow-family.rst:125 #: ../../build/doc/flow-family.rst:126 -#: ../../build/doc/flow-family.rst:130 -#: ../../build/doc/flow-family.rst:151 -#: ../../build/doc/flow-family.rst:152 +#: ../../build/doc/flow-family.rst:127 +#: ../../build/doc/flow-family.rst:128 +#: ../../build/doc/flow-family.rst:132 #: ../../build/doc/flow-family.rst:153 #: ../../build/doc/flow-family.rst:154 -#: ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:155 +#: ../../build/doc/flow-family.rst:156 +#: ../../build/doc/flow-family.rst:159 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" -#: ../../build/doc/flow-family.rst:123 -#: ../../build/doc/flow-family.rst:151 +#: ../../build/doc/flow-family.rst:125 +#: ../../build/doc/flow-family.rst:153 msgid "Identifier of the edge." msgstr "" -#: ../../build/doc/flow-family.rst:124 -#: ../../build/doc/flow-family.rst:152 -#: ../../build/doc/flow-family.rst:183 -#: ../../build/doc/flow-family.rst:200 +#: ../../build/doc/flow-family.rst:126 +#: ../../build/doc/flow-family.rst:154 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:216 msgid "Identifier of the first end point vertex of the edge." msgstr "" -#: ../../build/doc/flow-family.rst:125 -#: ../../build/doc/flow-family.rst:153 -#: ../../build/doc/flow-family.rst:184 -#: ../../build/doc/flow-family.rst:201 +#: ../../build/doc/flow-family.rst:127 +#: ../../build/doc/flow-family.rst:155 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/flow-family.rst:200 +#: ../../build/doc/flow-family.rst:217 msgid "Identifier of the second end point vertex of the edge." msgstr "" -#: ../../build/doc/flow-family.rst:126 -#: ../../build/doc/flow-family.rst:154 +#: ../../build/doc/flow-family.rst:128 +#: ../../build/doc/flow-family.rst:156 msgid "**capacity**" msgstr "" -#: ../../build/doc/flow-family.rst:126 +#: ../../build/doc/flow-family.rst:128 msgid "Weight of the edge `(source, target)`" msgstr "" -#: ../../build/doc/flow-family.rst:128 -#: ../../build/doc/flow-family.rst:156 +#: ../../build/doc/flow-family.rst:130 +#: ../../build/doc/flow-family.rst:158 msgid "When negative: edge `(source, target)` does not exist, therefore it's not part of the graph." msgstr "" -#: ../../build/doc/flow-family.rst:130 -#: ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:132 +#: ../../build/doc/flow-family.rst:159 msgid "**reverse_capacity**" msgstr "" -#: ../../build/doc/flow-family.rst:130 -#: ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:132 +#: ../../build/doc/flow-family.rst:159 msgid "-1" msgstr "" -#: ../../build/doc/flow-family.rst:130 +#: ../../build/doc/flow-family.rst:132 msgid "Weight of the edge `(target, source)`," msgstr "" -#: ../../build/doc/flow-family.rst:132 -#: ../../build/doc/flow-family.rst:159 +#: ../../build/doc/flow-family.rst:134 +#: ../../build/doc/flow-family.rst:161 msgid "When negative: edge `(target, source)` does not exist, therefore it's not part of the graph." msgstr "" -#: ../../build/doc/flow-family.rst:136 -#: ../../build/doc/flow-family.rst:164 -#: ../../build/doc/flow-family.rst:261 +#: ../../build/doc/flow-family.rst:138 +#: ../../build/doc/flow-family.rst:166 +#: ../../build/doc/pgRouting-concepts.rst:11 +#: ../../build/doc/flow-family.rst:277 msgid "Where:" msgstr "" #: ../../build/doc/flow-family.rst:0 #: ../../build/doc/flow-family.rst:0 +#: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" -#: ../../build/doc/flow-family.rst:138 -#: ../../build/doc/flow-family.rst:166 +#: ../../build/doc/flow-family.rst:140 +#: ../../build/doc/flow-family.rst:168 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" -#: ../../build/doc/flow-family.rst:142 +#: ../../build/doc/flow-family.rst:144 msgid "For :doc:`pgr_maxFlowMinCost` and :doc:`pgr_maxFlowMinCost_Cost`:" msgstr "" -#: ../../build/doc/flow-family.rst:154 +#: ../../build/doc/flow-family.rst:156 msgid "Capacity of the edge `(source, target)`" msgstr "" -#: ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:159 msgid "Capacity of the edge `(target, source)`," msgstr "" -#: ../../build/doc/flow-family.rst:160 -#: ../../build/doc/flow-family.rst:204 +#: ../../build/doc/flow-family.rst:162 +#: ../../build/doc/flow-family.rst:220 msgid "**cost**" msgstr "" -#: ../../build/doc/flow-family.rst:160 -#: ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:162 +#: ../../build/doc/flow-family.rst:163 msgid "``ANY-NUMERICAL``" msgstr "" -#: ../../build/doc/flow-family.rst:160 +#: ../../build/doc/flow-family.rst:162 msgid "Weight of the edge `(source, target)` if it exists." msgstr "" -#: ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:163 msgid "**reverse_cost**" msgstr "" -#: ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:163 msgid "0" msgstr "" -#: ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:163 msgid "Weight of the edge `(target, source)` if it exists." msgstr "" @@ -447,207 +469,223 @@ msgstr "" msgid "ANY-NUMERICAL" msgstr "" -#: ../../build/doc/flow-family.rst:167 +#: ../../build/doc/flow-family.rst:169 msgid "smallint, int, bigint, real, float" msgstr "" -#: ../../build/doc/flow-family.rst:172 +#: ../../build/doc/flow-family.rst:173 +msgid "For :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp `, :doc:`pgr_boykovKolmogorov `, :doc:`pgr_edgeDisjointPaths `, :doc:`pgr_maxFlowMinCost ` and :doc:`pgr_maxFlowMinCost_Cost ` :" +msgstr "" + +#: ../../build/doc/flow-family.rst:0 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:177 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:183 +msgid "The function aggregates the sources and the targets, removes the duplicates, and then it calculates the result from the resultant source vertices to the target vertices." +msgstr "" + +#: ../../build/doc/flow-family.rst:188 msgid "Result Columns" msgstr "" -#: ../../build/doc/flow-family.rst:181 -#: ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:197 +#: ../../build/doc/flow-family.rst:214 msgid "**seq**" msgstr "" -#: ../../build/doc/flow-family.rst:181 -#: ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:197 +#: ../../build/doc/flow-family.rst:214 msgid "``INT``" msgstr "" -#: ../../build/doc/flow-family.rst:181 -#: ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:197 +#: ../../build/doc/flow-family.rst:214 msgid "Sequential value starting from **1**." msgstr "" -#: ../../build/doc/flow-family.rst:182 -#: ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:215 msgid "**edge**" msgstr "" -#: ../../build/doc/flow-family.rst:182 -#: ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:215 msgid "Identifier of the edge in the original query(edges_sql)." msgstr "" -#: ../../build/doc/flow-family.rst:183 +#: ../../build/doc/flow-family.rst:199 msgid "**start_vid**" msgstr "" -#: ../../build/doc/flow-family.rst:184 +#: ../../build/doc/flow-family.rst:200 msgid "**end_vid**" msgstr "" -#: ../../build/doc/flow-family.rst:185 -#: ../../build/doc/flow-family.rst:202 +#: ../../build/doc/flow-family.rst:201 +#: ../../build/doc/flow-family.rst:218 msgid "**flow**" msgstr "" -#: ../../build/doc/flow-family.rst:185 +#: ../../build/doc/flow-family.rst:201 msgid "Flow through the edge in the direction (``start_vid``, ``end_vid``)." msgstr "" -#: ../../build/doc/flow-family.rst:186 -#: ../../build/doc/flow-family.rst:203 +#: ../../build/doc/flow-family.rst:202 +#: ../../build/doc/flow-family.rst:219 msgid "**residual_capacity**" msgstr "" -#: ../../build/doc/flow-family.rst:186 +#: ../../build/doc/flow-family.rst:202 msgid "Residual capacity of the edge in the direction (``start_vid``, ``end_vid``)." msgstr "" -#: ../../build/doc/flow-family.rst:192 +#: ../../build/doc/flow-family.rst:208 msgid "For :doc:`pgr_maxFlowMinCost`" msgstr "" -#: ../../build/doc/flow-family.rst:202 +#: ../../build/doc/flow-family.rst:218 msgid "Flow through the edge in the direction (source, target)." msgstr "" -#: ../../build/doc/flow-family.rst:203 +#: ../../build/doc/flow-family.rst:219 msgid "Residual capacity of the edge in the direction (source, target)." msgstr "" -#: ../../build/doc/flow-family.rst:204 -#: ../../build/doc/flow-family.rst:205 +#: ../../build/doc/flow-family.rst:220 +#: ../../build/doc/flow-family.rst:221 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/flow-family.rst:204 +#: ../../build/doc/flow-family.rst:220 msgid "The cost of sending this flow through the edge in the direction (source, target)." msgstr "" -#: ../../build/doc/flow-family.rst:205 +#: ../../build/doc/flow-family.rst:221 msgid "**agg_cost**" msgstr "" -#: ../../build/doc/flow-family.rst:205 +#: ../../build/doc/flow-family.rst:221 msgid "The aggregate cost." msgstr "" -#: ../../build/doc/flow-family.rst:212 +#: ../../build/doc/flow-family.rst:228 msgid "Adcanced Documentation" msgstr "" -#: ../../build/doc/flow-family.rst:214 +#: ../../build/doc/flow-family.rst:230 msgid "A flow network is a directed graph where each edge has a capacity and a flow. The flow through an edge must not exceed the capacity of the edge. Additionally, the incoming and outgoing flow of a node must be equal except for source which only has outgoing flow, and the destination(sink) which only has incoming flow." msgstr "" -#: ../../build/doc/flow-family.rst:219 +#: ../../build/doc/flow-family.rst:235 msgid "Maximum flow algorithms calculate the maximum flow through the graph and the flow of each edge." msgstr "" -#: ../../build/doc/flow-family.rst:221 +#: ../../build/doc/flow-family.rst:237 msgid "The maximum flow through the graph is guaranteed to be the same with all implementations, but the actual flow through each edge may vary. Given the following query:" msgstr "" -#: ../../build/doc/flow-family.rst:225 +#: ../../build/doc/flow-family.rst:241 msgid "pgr_maxFlow :math:`(edges\\_sql, source\\_vertex, sink\\_vertex)`" msgstr "" -#: ../../build/doc/flow-family.rst:227 +#: ../../build/doc/flow-family.rst:243 msgid "where :math:`edges\\_sql = \\{(id_i, source_i, target_i, capacity_i, reverse\\_capacity_i)\\}`" msgstr "" -#: ../../build/doc/flow-family.rst:230 +#: ../../build/doc/flow-family.rst:246 msgid "Graph definition" msgstr "" -#: ../../build/doc/flow-family.rst:231 +#: ../../build/doc/flow-family.rst:247 msgid "The weighted directed graph, :math:`G(V,E)`, is defined as:" msgstr "" -#: ../../build/doc/flow-family.rst:233 +#: ../../build/doc/flow-family.rst:249 msgid "the set of vertices :math:`V`" msgstr "" -#: ../../build/doc/flow-family.rst:235 +#: ../../build/doc/flow-family.rst:251 msgid ":math:`source\\_vertex \\cup sink\\_vertex \\bigcup source_i \\bigcup target_i`" msgstr "" -#: ../../build/doc/flow-family.rst:237 +#: ../../build/doc/flow-family.rst:253 msgid "the set of edges :math:`E`" msgstr "" -#: ../../build/doc/flow-family.rst:239 +#: ../../build/doc/flow-family.rst:255 msgid ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, capacity_i) \\text{ when } capacity > 0 \\} & \\quad \\text{ if } reverse\\_capacity = \\varnothing \\\\ \\text{ } & \\quad \\text{ } \\\\ \\{(source_i, target_i, capacity_i) \\text{ when } capacity > 0 \\} & \\text{ } \\\\ \\cup \\{(target_i, source_i, reverse\\_capacity_i) \\text{ when } reverse\\_capacity_i > 0)\\} & \\quad \\text{ if } reverse\\_capacity \\neq \\varnothing \\\\ \\end{cases}`" msgstr "" -#: ../../build/doc/flow-family.rst:247 +#: ../../build/doc/flow-family.rst:263 msgid "Maximum flow problem" msgstr "" -#: ../../build/doc/flow-family.rst:248 +#: ../../build/doc/flow-family.rst:264 msgid "Given:" msgstr "" -#: ../../build/doc/flow-family.rst:251 +#: ../../build/doc/flow-family.rst:267 msgid ":math:`G(V,E)`" msgstr "" -#: ../../build/doc/flow-family.rst:252 +#: ../../build/doc/flow-family.rst:268 msgid ":math:`source\\_vertex \\in V` the source vertex" msgstr "" -#: ../../build/doc/flow-family.rst:253 +#: ../../build/doc/flow-family.rst:269 msgid ":math:`sink\\_vertex \\in V` the sink vertex" msgstr "" -#: ../../build/doc/flow-family.rst:255 +#: ../../build/doc/flow-family.rst:271 msgid "Then:" msgstr "" -#: ../../build/doc/flow-family.rst:257 +#: ../../build/doc/flow-family.rst:273 msgid ":math:`pgr\\_maxFlow(edges\\_sql, source, sink) = \\boldsymbol{\\Phi}`" msgstr "" -#: ../../build/doc/flow-family.rst:259 +#: ../../build/doc/flow-family.rst:275 msgid ":math:`\\boldsymbol{\\Phi} = {(id_i, edge\\_id_i, source_i, target_i, flow_i, residual\\_capacity_i)}`" msgstr "" -#: ../../build/doc/flow-family.rst:263 +#: ../../build/doc/flow-family.rst:279 msgid ":math:`\\boldsymbol{\\Phi}` is a subset of the original edges with their residual capacity and flow. The maximum flow through the graph can be obtained by aggregating on the source or sink and summing the flow from/to it. In particular:" msgstr "" -#: ../../build/doc/flow-family.rst:267 +#: ../../build/doc/flow-family.rst:283 msgid ":math:`id_i = i`" msgstr "" -#: ../../build/doc/flow-family.rst:268 +#: ../../build/doc/flow-family.rst:284 msgid ":math:`edge\\_id = id_i` in edges_sql" msgstr "" -#: ../../build/doc/flow-family.rst:269 +#: ../../build/doc/flow-family.rst:285 msgid ":math:`residual\\_capacity_i = capacity_i - flow_i`" msgstr "" -#: ../../build/doc/flow-family.rst:273 +#: ../../build/doc/flow-family.rst:289 msgid "See Also" msgstr "" -#: ../../build/doc/flow-family.rst:275 +#: ../../build/doc/flow-family.rst:291 msgid "https://en.wikipedia.org/wiki/Maximum_flow_problem" msgstr "" -#: ../../build/doc/flow-family.rst:278 +#: ../../build/doc/flow-family.rst:294 msgid "Indices and tables" msgstr "" -#: ../../build/doc/flow-family.rst:279 +#: ../../build/doc/flow-family.rst:295 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/flow-family.rst:280 +#: ../../build/doc/flow-family.rst:296 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_bdAstarCost.pot b/locale/pot/pgr_bdAstarCost.pot index d713dfc15e2..4913f1c5090 100644 --- a/locale/pot/pgr_bdAstarCost.pot +++ b/locale/pot/pgr_bdAstarCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-08 12:28-0600\n" +"POT-Creation-Date: 2020-12-15 07:54-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -223,15 +223,15 @@ msgstr "" msgid "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 11\\}` on a **directed** using heuristic :math:`5` and factor :math:`0.5`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:163 +#: ../../build/doc/pgr_bdAstarCost.rst:166 msgid "Combinations" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:171 +#: ../../build/doc/pgr_bdAstarCost.rst:174 msgid "Using a combinations table on a **directed** graph using factor :math:`0.5`." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:179 +#: ../../build/doc/pgr_bdAstarCost.rst:182 msgid "Parameters" msgstr "" @@ -336,7 +336,7 @@ msgstr "" msgid "Array of ending vertices identifiers. Parameter in:" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:186 +#: ../../build/doc/pgr_bdAstarCost.rst:189 msgid "Optional Parameters" msgstr "" @@ -433,11 +433,11 @@ msgstr "" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:194 +#: ../../build/doc/pgr_bdAstarCost.rst:197 msgid "Inner queries" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:197 +#: ../../build/doc/pgr_bdAstarCost.rst:200 msgid "Edges query" msgstr "" @@ -575,11 +575,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:204 +#: ../../build/doc/pgr_bdAstarCost.rst:207 msgid "Combinations query" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:211 +#: ../../build/doc/pgr_bdAstarCost.rst:214 msgid "Result Columns" msgstr "" @@ -616,35 +616,35 @@ msgstr "" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:218 +#: ../../build/doc/pgr_bdAstarCost.rst:221 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:220 +#: ../../build/doc/pgr_bdAstarCost.rst:223 msgid ":doc:`bdAstar-family`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:221 +#: ../../build/doc/pgr_bdAstarCost.rst:224 msgid ":doc:`cost-category`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:222 +#: ../../build/doc/pgr_bdAstarCost.rst:225 msgid ":doc:`costMatrix-category`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:223 +#: ../../build/doc/pgr_bdAstarCost.rst:226 msgid "Examples use :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:226 +#: ../../build/doc/pgr_bdAstarCost.rst:229 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:227 +#: ../../build/doc/pgr_bdAstarCost.rst:230 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bdAstarCost.rst:228 +#: ../../build/doc/pgr_bdAstarCost.rst:231 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_bdDijkstra.pot b/locale/pot/pgr_bdDijkstra.pot index af0cd288486..dd6b59213e1 100644 --- a/locale/pot/pgr_bdDijkstra.pot +++ b/locale/pot/pgr_bdDijkstra.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-08 12:28-0600\n" +"POT-Creation-Date: 2020-12-15 07:54-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -105,7 +105,7 @@ msgid "**Unsupported versions:** `2.5 \n" "Language-Team: LANGUAGE \n" @@ -177,15 +177,15 @@ msgstr "" msgid "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:160 +#: ../../build/doc/pgr_bdDijkstraCost.rst:163 msgid "Combinations" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:168 +#: ../../build/doc/pgr_bdDijkstraCost.rst:171 msgid "Using a combinations table on a **directed** graph." msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:175 +#: ../../build/doc/pgr_bdDijkstraCost.rst:178 msgid "Parameters" msgstr "" @@ -293,11 +293,11 @@ msgstr "" msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:182 +#: ../../build/doc/pgr_bdDijkstraCost.rst:185 msgid "Inner queries" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:185 +#: ../../build/doc/pgr_bdDijkstraCost.rst:188 msgid "Edges query" msgstr "" @@ -399,11 +399,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:192 +#: ../../build/doc/pgr_bdDijkstraCost.rst:195 msgid "Combinations query" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:199 +#: ../../build/doc/pgr_bdDijkstraCost.rst:202 msgid "Result Columns" msgstr "" @@ -431,35 +431,35 @@ msgstr "" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:206 +#: ../../build/doc/pgr_bdDijkstraCost.rst:209 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:208 +#: ../../build/doc/pgr_bdDijkstraCost.rst:211 msgid "The queries use the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:209 +#: ../../build/doc/pgr_bdDijkstraCost.rst:212 msgid ":doc:`pgr_bdDijkstra`" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:210 +#: ../../build/doc/pgr_bdDijkstraCost.rst:213 msgid "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:211 +#: ../../build/doc/pgr_bdDijkstraCost.rst:214 msgid "https://en.wikipedia.org/wiki/Bidirectional_search" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:214 +#: ../../build/doc/pgr_bdDijkstraCost.rst:217 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:215 +#: ../../build/doc/pgr_bdDijkstraCost.rst:218 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bdDijkstraCost.rst:216 +#: ../../build/doc/pgr_bdDijkstraCost.rst:219 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_bellmanFord.pot b/locale/pot/pgr_bellmanFord.pot index 3967220e056..a9ac4a51b33 100644 --- a/locale/pot/pgr_bellmanFord.pot +++ b/locale/pot/pgr_bellmanFord.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -101,89 +101,102 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:27 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:29 -msgid "New **experimental** function" +msgid "New **experimental** function:" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:32 -msgid "Support" +#: ../../build/doc/pgr_bellmanFord.rst:31 +msgid "pgr_bellmanFord(Combinations)" msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:33 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__" +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:35 +msgid "New **experimental** function" msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:38 -#: ../../build/doc/pgr_bellmanFord.rst:175 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:39 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:45 +#: ../../build/doc/pgr_bellmanFord.rst:201 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:40 +#: ../../build/doc/pgr_bellmanFord.rst:47 msgid "Bellman-Ford's algorithm, is named after Richard Bellman and Lester Ford, who first published it in 1958 and 1956, respectively. It is a graph search algorithm that computes shortest paths from a starting vertex (``start_vid``) to an ending vertex (``end_vid``) in a graph where some of the edge weights may be negative number. Though it is more versatile, it is slower than Dijkstra's algorithm/ This implementation can be used with a directed graph and an undirected graph." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:64 +#: ../../build/doc/pgr_bellmanFord.rst:71 msgid "The main characteristics are:" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:46 +#: ../../build/doc/pgr_bellmanFord.rst:53 msgid "Process is valid for edges with both positive and negative edge weights." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:47 +#: ../../build/doc/pgr_bellmanFord.rst:54 msgid "Values are returned when there is a path." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:49 +#: ../../build/doc/pgr_bellmanFord.rst:56 msgid "When the start vertex and the end vertex are the same, there is no path. The agg_cost would be 0." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:51 +#: ../../build/doc/pgr_bellmanFord.rst:58 msgid "When the start vertex and the end vertex are different, and there exists a path between them without having a *negative cycle*. The agg_cost would be some finite value denoting the shortest distance between them." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:52 +#: ../../build/doc/pgr_bellmanFord.rst:59 msgid "When the start vertex and the end vertex are different, and there exists a path between them, but it contains a *negative cycle*. In such case, agg_cost for those vertices keep on decreasing furthermore, Hence agg_cost can’t be defined for them." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:54 +#: ../../build/doc/pgr_bellmanFord.rst:61 msgid "When the start vertex and the end vertex are different, and there is no path. The agg_cost is :math:`\\infty`." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:56 +#: ../../build/doc/pgr_bellmanFord.rst:63 msgid "For optimization purposes, any duplicated value in the `start_vids` or `end_vids` are ignored." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:58 +#: ../../build/doc/pgr_bellmanFord.rst:65 msgid "The returned values are ordered:" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:60 +#: ../../build/doc/pgr_bellmanFord.rst:67 msgid "`start_vid` ascending" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:61 +#: ../../build/doc/pgr_bellmanFord.rst:68 msgid "`end_vid` ascending" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:63 +#: ../../build/doc/pgr_bellmanFord.rst:70 msgid "Running time: :math:`O(| start\\_vids | * ( V * E))`" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:67 +#: ../../build/doc/pgr_bellmanFord.rst:74 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:70 +#: ../../build/doc/pgr_bellmanFord.rst:77 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:82 +#: ../../build/doc/pgr_bellmanFord.rst:90 msgid "Using defaults" msgstr "" @@ -192,87 +205,107 @@ msgstr "" #: ../../build/doc/pgr_bellmanFord.rst:0 #: ../../build/doc/pgr_bellmanFord.rst:0 #: ../../build/doc/pgr_bellmanFord.rst:0 +#: ../../build/doc/pgr_bellmanFord.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:89 +#: ../../build/doc/pgr_bellmanFord.rst:97 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:99 +#: ../../build/doc/pgr_bellmanFord.rst:107 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:107 +#: ../../build/doc/pgr_bellmanFord.rst:115 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:117 +#: ../../build/doc/pgr_bellmanFord.rst:125 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:125 +#: ../../build/doc/pgr_bellmanFord.rst:133 msgid "From vertex :math:`2` to vertices :math:`\\{ 3, 5\\}` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:135 +#: ../../build/doc/pgr_bellmanFord.rst:143 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:143 +#: ../../build/doc/pgr_bellmanFord.rst:151 msgid "From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:153 +#: ../../build/doc/pgr_bellmanFord.rst:161 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:161 +#: ../../build/doc/pgr_bellmanFord.rst:169 msgid "From vertices :math:`\\{2, 11\\}` to vertices :math:`\\{3, 5\\}` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:168 +#: ../../build/doc/pgr_bellmanFord.rst:179 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:187 +msgid "Using a combinations table on an **undirected** graph." +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:194 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:173 +#: ../../build/doc/pgr_bellmanFord.rst:199 msgid "Description of the parameters of the signatures" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:175 +#: ../../build/doc/pgr_bellmanFord.rst:201 msgid "Parameter" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:175 +#: ../../build/doc/pgr_bellmanFord.rst:201 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:175 +#: ../../build/doc/pgr_bellmanFord.rst:201 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:177 -msgid "**edges_sql**" +#: ../../build/doc/pgr_bellmanFord.rst:203 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:177 +#: ../../build/doc/pgr_bellmanFord.rst:203 +#: ../../build/doc/pgr_bellmanFord.rst:204 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:177 -msgid "SQL query as described above." +#: ../../build/doc/pgr_bellmanFord.rst:203 +msgid "Edges query as described below." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:178 +#: ../../build/doc/pgr_bellmanFord.rst:204 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:204 +msgid "Combinations query as described below." +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:205 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**start_vid**" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:178 -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:205 +#: ../../build/doc/pgr_bellmanFord.rst:207 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:16 #: ../../build/doc/pgRouting-concepts.rst:22 @@ -280,64 +313,69 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:178 +#: ../../build/doc/pgr_bellmanFord.rst:205 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:179 +#: ../../build/doc/pgr_bellmanFord.rst:206 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:179 -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:206 +#: ../../build/doc/pgr_bellmanFord.rst:208 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:179 +#: ../../build/doc/pgr_bellmanFord.rst:206 msgid "Array of identifiers of starting vertices." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:207 #: ../../build/doc/pgRouting-concepts.rst:16 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:207 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:208 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:208 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:183 +#: ../../build/doc/pgr_bellmanFord.rst:210 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:189 -msgid "Inner Query" +#: ../../build/doc/pgr_bellmanFord.rst:216 +msgid "Inner Queries" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:219 +msgid "Edges query" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" @@ -350,6 +388,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -358,18 +398,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -408,14 +452,17 @@ msgid "When negative: edge `(target, source)` does not exist, therefore it's not msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -427,7 +474,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:196 +#: ../../build/doc/pgr_bellmanFord.rst:226 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_bellmanFord.rst:233 msgid "Results Columns" msgstr "" @@ -510,27 +561,27 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:203 +#: ../../build/doc/pgr_bellmanFord.rst:240 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:205 +#: ../../build/doc/pgr_bellmanFord.rst:242 msgid "https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:206 +#: ../../build/doc/pgr_bellmanFord.rst:243 msgid "The queries use the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:209 +#: ../../build/doc/pgr_bellmanFord.rst:246 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:210 +#: ../../build/doc/pgr_bellmanFord.rst:247 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_bellmanFord.rst:211 +#: ../../build/doc/pgr_bellmanFord.rst:248 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_binaryBreadthFirstSearch.pot b/locale/pot/pgr_binaryBreadthFirstSearch.pot index 7823453dad2..97e4d864d9a 100644 --- a/locale/pot/pgr_binaryBreadthFirstSearch.pot +++ b/locale/pot/pgr_binaryBreadthFirstSearch.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -101,53 +101,70 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:27 -msgid "To-be experimental on v3.0.0" +msgid "Version 3.2.0" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:30 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:29 +msgid "New **experimental** function:" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:31 +msgid "pgr_binaryBreadthFirstSearch(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:33 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:35 +msgid "New **experimental** function" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:38 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:32 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:40 msgid "It is well-known that the shortest paths between a single source and all other vertices can be found using Breadth First Search in :math:`O(|E|)` in an unweighted graph, i.e. the distance is the minimal number of edges that you need to traverse from the source to another vertex. We can interpret such a graph also as a weighted graph, where every edge has the weight 1. If not all edges in graph have the same weight, that we need a more general algorithm, like Dijkstra's Algorithm which runs in :math:`O(|E|log|V|)` time." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:34 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:42 msgid "However if the weights are more constrained, we can use a faster algorithm. This algorithm, termed as 'Binary Breadth First Search' as well as '0-1 BFS', is a variation of the standard Breadth First Search problem to solve the SSSP (single-source shortest path) problem in :math:`O(|E|)`, if the weights of each edge belongs to the set {0,X}, where 'X' is any non-negative real integer." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:37 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:45 msgid "**The main Characteristics are:**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:39 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:47 msgid "Process is done only on 'binary graphs'. ('Binary Graph': Any graph whose edge-weights belongs to the set {0,X}, where 'X' is any non-negative real integer.)" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:41 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:49 msgid "For optimization purposes, any duplicated value in the `start_vids` or `end_vids` are ignored." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:43 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:51 msgid "The returned values are ordered:" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:45 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:53 msgid "`start_vid` ascending" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:46 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:54 msgid "`end_vid` ascending" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:48 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:56 msgid "Running time: :math:`O(| start\\_vids | * |E|)`" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:51 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:59 msgid "Signatures" msgstr "" @@ -156,83 +173,103 @@ msgstr "" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:0 #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:0 #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:0 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:67 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:76 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** binary graph" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:77 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:86 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:86 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:94 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** binary graph" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:96 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:104 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:105 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:112 msgid "From vertex :math:`2` to vertices :math:`\\{3, 5\\}` on an **undirected** binary graph" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:115 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:122 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:124 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:130 msgid "From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** binary graph" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:134 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:140 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:143 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:148 msgid "From vertices :math:`\\{2, 11\\}` to vertices :math:`\\{3, 5\\}` on an **undirected** binary graph" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:150 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:166 +msgid "Using a combinations table on an **undirected** binary graph." +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:173 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 msgid "Parameter" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:157 -msgid "**edges_sql**" +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:180 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:157 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:180 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:181 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:157 -msgid "Inner SQL query as described below." +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:180 +msgid "Edges query as described below." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:181 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:181 +msgid "Combinations query as described below." +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:182 #: ../../build/doc/pgRouting-concepts.rst:11 msgid "**start_vid**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:160 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:182 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:184 #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 @@ -240,64 +277,69 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:182 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:159 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:183 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:159 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:161 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:183 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:185 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:159 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:183 msgid "Array of identifiers of starting vertices." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:160 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:184 #: ../../build/doc/pgRouting-concepts.rst:18 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:160 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:184 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:161 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:185 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:161 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:185 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:163 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:187 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:169 -msgid "Inner query" +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:193 +msgid "Inner queries" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:196 +msgid "Edges query" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" @@ -310,6 +352,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -318,18 +362,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -368,14 +416,17 @@ msgid "When negative: edge `(target, source)` does not exist, therefore it's not msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -387,7 +438,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:203 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:210 msgid "Return Columns" msgstr "" @@ -479,67 +534,67 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:218 msgid "Example Data" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:188 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:220 msgid "This type of data is used on the examples of this page." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:190 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:222 msgid "Edwards-Moore Algorithm is best applied when trying to answer queries such as the following: **“Find the path with the minimum number from Source to Destination”** Here: * *Source* = Source Vertex, *Destination* = Any arbitrary destination vertex * *X* is an event/property * Each edge in the graph is either “*X*” or “*Not X*” ." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:197 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:229 msgid "Example: “Find the path with the minimum number of road works from Source to Destination”" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:200 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 msgid "Here, a road under work(aka **road works**) means that part of the road is occupied for construction work/maintenance." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:203 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:235 msgid "Here: * Edge ( *u* , *v* ) has weight = 0 if no road work is ongoing on the road from *u* to *v*. * Edge ( *u*, *v*) has weight = 1 if road work is ongoing on the road from *u* to *v*." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:207 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:239 msgid "Then, upon running the algorithm, we obtain the path with the minimum number of road works from the given source and destination." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:210 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:242 msgid "Thus, the queries used in the previous section can be interpreted in this manner." msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:213 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:245 msgid "Table Data" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:216 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:248 msgid "The queries in the previous sections use the table 'roadworks'. The data of the table:" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:224 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:256 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:226 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:258 msgid "https://cp-algorithms.com/graph/01_bfs.html" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:227 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:259 msgid "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#Specialized_variants" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:230 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:262 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:231 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:263 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:264 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_boykovKolmogorov.pot b/locale/pot/pgr_boykovKolmogorov.pot index 94d912c11e6..831462c0038 100644 --- a/locale/pot/pgr_boykovKolmogorov.pot +++ b/locale/pot/pgr_boykovKolmogorov.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,48 +33,61 @@ msgid "Availability:" msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:26 -msgid "Version 2.5.0" +msgid "pgr_boykovKolmogorov(Combinations)" msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:28 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:32 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:34 msgid "Renamed from ``pgr_maxFlowBoykovKolmogorov``" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:29 +#: ../../build/doc/pgr_boykovKolmogorov.rst:35 msgid "**Proposed** function" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:31 +#: ../../build/doc/pgr_boykovKolmogorov.rst:37 msgid "Version 2.3.0" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:33 +#: ../../build/doc/pgr_boykovKolmogorov.rst:39 msgid "New **Experimental** function" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:36 +#: ../../build/doc/pgr_boykovKolmogorov.rst:42 msgid "Support" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:37 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__" +#: ../../build/doc/pgr_boykovKolmogorov.rst:43 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:41 +#: ../../build/doc/pgr_boykovKolmogorov.rst:48 msgid "**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:49 +#: ../../build/doc/pgr_boykovKolmogorov.rst:56 #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Description" msgstr "" @@ -127,19 +140,19 @@ msgstr "" msgid "By aggregation of the incoming flow to the targets" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:55 +#: ../../build/doc/pgr_boykovKolmogorov.rst:62 msgid "Running time: Polynomial" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:58 +#: ../../build/doc/pgr_boykovKolmogorov.rst:65 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:61 +#: ../../build/doc/pgr_boykovKolmogorov.rst:68 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:75 +#: ../../build/doc/pgr_boykovKolmogorov.rst:83 msgid "One to One" msgstr "" @@ -147,55 +160,67 @@ msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:0 #: ../../build/doc/pgr_boykovKolmogorov.rst:0 #: ../../build/doc/pgr_boykovKolmogorov.rst:0 +#: ../../build/doc/pgr_boykovKolmogorov.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:83 +#: ../../build/doc/pgr_boykovKolmogorov.rst:91 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:93 +#: ../../build/doc/pgr_boykovKolmogorov.rst:101 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:101 +#: ../../build/doc/pgr_boykovKolmogorov.rst:109 msgid "From vertex :math:`6` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:111 +#: ../../build/doc/pgr_boykovKolmogorov.rst:119 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:119 +#: ../../build/doc/pgr_boykovKolmogorov.rst:127 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:129 +#: ../../build/doc/pgr_boykovKolmogorov.rst:137 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:137 +#: ../../build/doc/pgr_boykovKolmogorov.rst:145 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:144 +#: ../../build/doc/pgr_boykovKolmogorov.rst:155 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:163 +msgid "Using a combinations table, equivalent to calculating result from vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:170 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -204,20 +229,30 @@ msgid "**Edges SQL**" msgstr "" #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." msgstr "" #: ../../build/doc/flow-family.rst:7 -#: ../../build/doc/flow-family.rst:9 -msgid "**source**" +msgid "**Combinations SQL**" msgstr "" #: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:8 #: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**source**" +msgstr "" + +#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:10 #: ../../build/doc/flow-family.rst:7 #: ../../build/doc/flow-family.rst:8 #: ../../build/doc/flow-family.rst:9 @@ -226,42 +261,43 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:151 -msgid "Inner query" +#: ../../build/doc/pgr_boykovKolmogorov.rst:177 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst:0 @@ -281,6 +317,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:10 #: ../../build/doc/flow-family.rst:11 #: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -289,11 +327,13 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/flow-family.rst:8 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/flow-family.rst:9 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -327,18 +367,33 @@ msgid "When negative: edge `(target, source)` does not exist, therefore it's not msgstr "" #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" #: ../../build/doc/flow-family.rst:0 +#: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:158 +#: ../../build/doc/flow-family.rst:0 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "The function aggregates the sources and the targets, removes the duplicates, and then it calculates the result from the resultant source vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:188 msgid "Result Columns" msgstr "" @@ -386,27 +441,27 @@ msgstr "" msgid "Residual capacity of the edge in the direction (``start_vid``, ``end_vid``)." msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:165 +#: ../../build/doc/pgr_boykovKolmogorov.rst:195 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:167 +#: ../../build/doc/pgr_boykovKolmogorov.rst:197 msgid ":doc:`flow-family`, :doc:`pgr_pushRelabel`, :doc:`pgr_edmondsKarp`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:168 +#: ../../build/doc/pgr_boykovKolmogorov.rst:198 msgid "https://www.boost.org/libs/graph/doc/boykov_kolmogorov_max_flow.html" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:171 +#: ../../build/doc/pgr_boykovKolmogorov.rst:201 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:172 +#: ../../build/doc/pgr_boykovKolmogorov.rst:202 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_boykovKolmogorov.rst:173 +#: ../../build/doc/pgr_boykovKolmogorov.rst:203 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_dagShortestPath.pot b/locale/pot/pgr_dagShortestPath.pot index ee5a9ed2330..59443c9c37f 100644 --- a/locale/pot/pgr_dagShortestPath.pot +++ b/locale/pot/pgr_dagShortestPath.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-15 07:54-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -101,97 +101,110 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:27 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:29 -msgid "New **experimental** function" +msgid "New **experimental** function:" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:32 -msgid "Support" +#: ../../build/doc/pgr_dagShortestPath.rst:31 +msgid "pgr_dagShortestPath(Combinations)" msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:33 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__" +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:35 +msgid "New **experimental** function" msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:38 -#: ../../build/doc/pgr_dagShortestPath.rst:167 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:39 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:45 +#: ../../build/doc/pgr_dagShortestPath.rst:194 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:40 +#: ../../build/doc/pgr_dagShortestPath.rst:47 msgid "Shortest Path for Directed Acyclic Graph(DAG) is a graph search algorithm that solves the shortest path problem for weighted directed acyclic graph, producing a shortest path from a starting vertex (``start_vid``) to an ending vertex (``end_vid``)." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:44 +#: ../../build/doc/pgr_dagShortestPath.rst:51 msgid "This implementation can only be used with a **directed** graph with no cycles i.e. directed acyclic graph." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:46 +#: ../../build/doc/pgr_dagShortestPath.rst:53 msgid "The algorithm relies on topological sorting the dag to impose a linear ordering on the vertices, and thus is more efficient for DAG's than either the Dijkstra or Bellman-Ford algorithm." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:68 +#: ../../build/doc/pgr_dagShortestPath.rst:75 msgid "The main characteristics are:" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:49 +#: ../../build/doc/pgr_dagShortestPath.rst:56 msgid "Process is valid for weighted directed acyclic graphs only. otherwise it will throw warnings." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:50 +#: ../../build/doc/pgr_dagShortestPath.rst:57 msgid "Values are returned when there is a path." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:52 +#: ../../build/doc/pgr_dagShortestPath.rst:59 msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:54 +#: ../../build/doc/pgr_dagShortestPath.rst:61 msgid "The `agg_cost` the non included values `(v, v)` is `0`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:56 +#: ../../build/doc/pgr_dagShortestPath.rst:63 msgid "When the starting vertex and ending vertex are the different and there is no path:" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:58 +#: ../../build/doc/pgr_dagShortestPath.rst:65 msgid "The `agg_cost` the non included values `(u, v)` is :math:`\\infty`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:60 +#: ../../build/doc/pgr_dagShortestPath.rst:67 msgid "For optimization purposes, any duplicated value in the `start_vids` or `end_vids` are ignored." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:62 +#: ../../build/doc/pgr_dagShortestPath.rst:69 msgid "The returned values are ordered:" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:64 +#: ../../build/doc/pgr_dagShortestPath.rst:71 msgid "`start_vid` ascending" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:65 +#: ../../build/doc/pgr_dagShortestPath.rst:72 msgid "`end_vid` ascending" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:67 +#: ../../build/doc/pgr_dagShortestPath.rst:74 msgid "Running time: :math:`O(| start\\_vids | * (V + E))`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:71 +#: ../../build/doc/pgr_dagShortestPath.rst:78 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:74 +#: ../../build/doc/pgr_dagShortestPath.rst:81 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:90 +#: ../../build/doc/pgr_dagShortestPath.rst:98 msgid "One to One" msgstr "" @@ -199,79 +212,99 @@ msgstr "" #: ../../build/doc/pgr_dagShortestPath.rst:0 #: ../../build/doc/pgr_dagShortestPath.rst:0 #: ../../build/doc/pgr_dagShortestPath.rst:0 +#: ../../build/doc/pgr_dagShortestPath.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:98 +#: ../../build/doc/pgr_dagShortestPath.rst:106 msgid "From vertex :math:`1` to vertex :math:`6`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:108 +#: ../../build/doc/pgr_dagShortestPath.rst:116 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:116 +#: ../../build/doc/pgr_dagShortestPath.rst:124 msgid "From vertex :math:`1` to vertices :math:`\\{ 5, 6\\}`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:126 +#: ../../build/doc/pgr_dagShortestPath.rst:134 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:134 +#: ../../build/doc/pgr_dagShortestPath.rst:142 msgid "From vertices :math:`\\{1, 3\\}` to vertex :math:`6`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:144 +#: ../../build/doc/pgr_dagShortestPath.rst:152 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:152 +#: ../../build/doc/pgr_dagShortestPath.rst:160 msgid "From vertices :math:`\\{1, 4\\}` to vertices :math:`\\{12, 6\\}`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:160 +#: ../../build/doc/pgr_dagShortestPath.rst:171 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:179 +msgid "Using a combinations table on a Directed Acyclic Graph." +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:187 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:165 +#: ../../build/doc/pgr_dagShortestPath.rst:192 msgid "Description of the parameters of the signatures" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:167 +#: ../../build/doc/pgr_dagShortestPath.rst:194 msgid "Parameter" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:167 +#: ../../build/doc/pgr_dagShortestPath.rst:194 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:167 +#: ../../build/doc/pgr_dagShortestPath.rst:194 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:169 -msgid "**edges_sql**" +#: ../../build/doc/pgr_dagShortestPath.rst:196 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:169 +#: ../../build/doc/pgr_dagShortestPath.rst:196 +#: ../../build/doc/pgr_dagShortestPath.rst:197 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:169 -msgid "SQL query as described above." +#: ../../build/doc/pgr_dagShortestPath.rst:196 +msgid "Edges query as described below." +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:197 +msgid "**Combinations SQL**" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:170 +#: ../../build/doc/pgr_dagShortestPath.rst:197 +msgid "Combinations query as described above." +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:198 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**start_vid**" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:170 -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:198 +#: ../../build/doc/pgr_dagShortestPath.rst:200 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:16 #: ../../build/doc/pgRouting-concepts.rst:22 @@ -279,44 +312,49 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:170 +#: ../../build/doc/pgr_dagShortestPath.rst:198 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:171 +#: ../../build/doc/pgr_dagShortestPath.rst:199 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:171 -#: ../../build/doc/pgr_dagShortestPath.rst:173 +#: ../../build/doc/pgr_dagShortestPath.rst:199 +#: ../../build/doc/pgr_dagShortestPath.rst:201 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:171 +#: ../../build/doc/pgr_dagShortestPath.rst:199 msgid "Array of identifiers of starting vertices." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:200 #: ../../build/doc/pgRouting-concepts.rst:16 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:200 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:173 +#: ../../build/doc/pgr_dagShortestPath.rst:201 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:173 +#: ../../build/doc/pgr_dagShortestPath.rst:201 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:179 -msgid "Inner Query" +#: ../../build/doc/pgr_dagShortestPath.rst:207 +msgid "Inner Queries" msgstr "" +#: ../../build/doc/pgr_dagShortestPath.rst:210 +msgid "Edges query" +msgstr "" + +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" @@ -329,6 +367,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -337,18 +377,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -387,14 +431,17 @@ msgid "When negative: edge `(target, source)` does not exist, therefore it's not msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -406,7 +453,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:186 +#: ../../build/doc/pgr_dagShortestPath.rst:217 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_dagShortestPath.rst:224 msgid "Results Columns" msgstr "" @@ -489,27 +540,27 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:193 +#: ../../build/doc/pgr_dagShortestPath.rst:231 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:195 +#: ../../build/doc/pgr_dagShortestPath.rst:233 msgid "https://en.wikipedia.org/wiki/Topological_sorting" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:196 +#: ../../build/doc/pgr_dagShortestPath.rst:234 msgid "The queries use the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:199 +#: ../../build/doc/pgr_dagShortestPath.rst:237 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:200 +#: ../../build/doc/pgr_dagShortestPath.rst:238 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_dagShortestPath.rst:201 +#: ../../build/doc/pgr_dagShortestPath.rst:239 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_edgeDisjointPaths.pot b/locale/pot/pgr_edgeDisjointPaths.pot index 90963a41e50..43feaf47c79 100644 --- a/locale/pot/pgr_edgeDisjointPaths.pot +++ b/locale/pot/pgr_edgeDisjointPaths.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-08 12:28-0600\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,85 +33,98 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:23 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:25 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:27 -msgid "Version 2.5.0" +msgid "pgr_edgeDisjointPaths(Combinations)" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:29 -msgid "**Proposed** function" +msgid "Version 3.0.0" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:31 -msgid "Version 2.3.0" +msgid "**Official** function" msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:33 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:35 +msgid "**Proposed** function" +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:37 +msgid "Version 2.3.0" +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:39 msgid "New **Experimental** function" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:36 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:42 msgid "Support" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:37 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__" +#: ../../build/doc/pgr_edgeDisjointPaths.rst:43 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:41 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:48 msgid "**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:48 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:55 #: ../../build/doc/pgr_bdDijkstra.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:50 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:57 msgid "Calculates the edge disjoint paths between two groups of vertices. Utilizes underlying maximum flow algorithms to calculate the paths." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:58 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:65 msgid "The main characterics are:" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:54 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:61 msgid "Calculates the edge disjoint paths between any two groups of vertices." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:55 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:62 msgid "Returns EMPTY SET when source and destination are the same, or cannot be reached." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:56 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:63 msgid "The graph can be directed or undirected." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:57 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:64 msgid "One to many, many to one, many to many versions are also supported." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:58 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:65 msgid "Uses :doc:`pgr_boykovKolmogorov` to calculate the paths." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:61 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:68 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:64 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:71 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:77 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:85 msgid "Using defaults" msgstr "" @@ -120,46 +133,55 @@ msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:0 #: ../../build/doc/pgr_edgeDisjointPaths.rst:0 #: ../../build/doc/pgr_edgeDisjointPaths.rst:0 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:84 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:92 msgid "From vertex :math:`3` to vertex :math:`5` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:94 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:102 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:102 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:110 msgid "From vertex :math:`3` to vertex :math:`5` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:112 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:120 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:120 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:128 msgid "From vertex :math:`3` to vertices :math:`\\{4, 5, 10\\}` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:131 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:139 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:139 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:147 msgid "From vertices :math:`\\{3, 6\\}` to vertex :math:`5` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:150 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:158 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:158 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:166 msgid "From vertices :math:`\\{3, 6\\}` to vertices :math:`\\{4, 5, 10\\}` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:166 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:177 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:185 +msgid "Using a combinations table, equivalent to calculating result from vertices :math:`\\{3, 6\\}` to vertices :math:`\\{4, 5, 10\\}` on a **directed** graph." +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:192 msgid "Parameters" msgstr "" @@ -169,12 +191,14 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -267,14 +291,15 @@ msgstr "" msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:173 -msgid "Inner query" +#: ../../build/doc/pgr_edgeDisjointPaths.rst:199 +msgid "Inner queries" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:176 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:202 msgid "Edges query" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" @@ -287,6 +312,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -295,18 +322,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -345,14 +376,17 @@ msgid "When negative: edge `(target, source)` does not exist, therefore it's not msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -364,7 +398,23 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:183 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:209 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/flow-family.rst:0 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "The function aggregates the sources and the targets, removes the duplicates, and then it calculates the result from the resultant source vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:216 msgid "Return Columns" msgstr "" @@ -456,23 +506,23 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:190 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:223 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:192 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:225 msgid ":doc:`flow-family`" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:195 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:228 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:196 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:229 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:197 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:230 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_edmondsKarp.pot b/locale/pot/pgr_edmondsKarp.pot index 7c9a4afc480..31f465f199a 100644 --- a/locale/pot/pgr_edmondsKarp.pot +++ b/locale/pot/pgr_edmondsKarp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,48 +33,61 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:23 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:25 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:27 -msgid "Version 2.5.0" +msgid "pgr_edmondsKarp(Combinations)" msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:29 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:31 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:33 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:35 msgid "Renamed from ``pgr_maxFlowEdmondsKarp``" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:30 +#: ../../build/doc/pgr_edmondsKarp.rst:36 msgid "**Proposed** function" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:32 +#: ../../build/doc/pgr_edmondsKarp.rst:38 msgid "Version 2.3.0" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:34 +#: ../../build/doc/pgr_edmondsKarp.rst:40 msgid "New **Experimental** function" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:37 +#: ../../build/doc/pgr_edmondsKarp.rst:43 msgid "Support" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:38 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__" +#: ../../build/doc/pgr_edmondsKarp.rst:44 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:42 +#: ../../build/doc/pgr_edmondsKarp.rst:49 msgid "**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:49 +#: ../../build/doc/pgr_edmondsKarp.rst:56 #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Description" msgstr "" @@ -127,19 +140,19 @@ msgstr "" msgid "By aggregation of the incoming flow to the targets" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:55 +#: ../../build/doc/pgr_edmondsKarp.rst:62 msgid "Running time: :math:`O( V * E ^ 2)`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:58 +#: ../../build/doc/pgr_edmondsKarp.rst:65 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:61 +#: ../../build/doc/pgr_edmondsKarp.rst:68 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:75 +#: ../../build/doc/pgr_edmondsKarp.rst:83 msgid "One to One" msgstr "" @@ -147,55 +160,67 @@ msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:0 #: ../../build/doc/pgr_edmondsKarp.rst:0 #: ../../build/doc/pgr_edmondsKarp.rst:0 +#: ../../build/doc/pgr_edmondsKarp.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:83 +#: ../../build/doc/pgr_edmondsKarp.rst:91 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:93 +#: ../../build/doc/pgr_edmondsKarp.rst:101 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:101 +#: ../../build/doc/pgr_edmondsKarp.rst:109 msgid "From vertex :math:`6` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:111 +#: ../../build/doc/pgr_edmondsKarp.rst:119 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:119 +#: ../../build/doc/pgr_edmondsKarp.rst:127 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:129 +#: ../../build/doc/pgr_edmondsKarp.rst:137 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:137 +#: ../../build/doc/pgr_edmondsKarp.rst:145 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:144 +#: ../../build/doc/pgr_edmondsKarp.rst:155 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:163 +msgid "Using a combinations table, equivalent to calculating result from vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:170 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -204,20 +229,30 @@ msgid "**Edges SQL**" msgstr "" #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." msgstr "" #: ../../build/doc/flow-family.rst:7 -#: ../../build/doc/flow-family.rst:9 -msgid "**source**" +msgid "**Combinations SQL**" msgstr "" #: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:8 #: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**source**" +msgstr "" + +#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:10 #: ../../build/doc/flow-family.rst:7 #: ../../build/doc/flow-family.rst:8 #: ../../build/doc/flow-family.rst:9 @@ -226,42 +261,43 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:151 -msgid "Inner query" +#: ../../build/doc/pgr_edmondsKarp.rst:177 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst:0 @@ -281,6 +317,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:10 #: ../../build/doc/flow-family.rst:11 #: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -289,11 +327,13 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/flow-family.rst:8 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/flow-family.rst:9 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -327,18 +367,33 @@ msgid "When negative: edge `(target, source)` does not exist, therefore it's not msgstr "" #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" #: ../../build/doc/flow-family.rst:0 +#: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:158 +#: ../../build/doc/flow-family.rst:0 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "The function aggregates the sources and the targets, removes the duplicates, and then it calculates the result from the resultant source vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_edmondsKarp.rst:188 msgid "Result Columns" msgstr "" @@ -386,31 +441,31 @@ msgstr "" msgid "Residual capacity of the edge in the direction (``start_vid``, ``end_vid``)." msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:165 +#: ../../build/doc/pgr_edmondsKarp.rst:195 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:167 +#: ../../build/doc/pgr_edmondsKarp.rst:197 msgid ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_pushRelabel`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:168 +#: ../../build/doc/pgr_edmondsKarp.rst:198 msgid "https://www.boost.org/libs/graph/doc/edmonds_karp_max_flow.html" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:169 +#: ../../build/doc/pgr_edmondsKarp.rst:199 msgid "https://en.wikipedia.org/wiki/Edmonds%E2%80%93Karp_algorithm" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:172 +#: ../../build/doc/pgr_edmondsKarp.rst:202 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:173 +#: ../../build/doc/pgr_edmondsKarp.rst:203 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_edmondsKarp.rst:174 +#: ../../build/doc/pgr_edmondsKarp.rst:204 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_edwardMoore.pot b/locale/pot/pgr_edwardMoore.pot index b1b5314a7fb..e157d735b52 100644 --- a/locale/pot/pgr_edwardMoore.pot +++ b/locale/pot/pgr_edwardMoore.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-15 07:54-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -97,77 +97,90 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_edwardMoore.rst:23 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_edwardMoore.rst:25 +msgid "New **experimental** function:" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:27 +msgid "pgr_edwardMoore(Combinations)" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:29 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:31 msgid "New **experimental** function" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:28 -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:34 +#: ../../build/doc/pgr_edwardMoore.rst:190 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:30 +#: ../../build/doc/pgr_edwardMoore.rst:36 msgid "Edward Moore’s Algorithm is an improvement of the Bellman-Ford Algorithm. It can compute the shortest paths from a single source vertex to all other vertices in a weighted directed graph. The main difference between Edward Moore's Algorithm and Bellman Ford's Algorithm lies in the run time." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:34 +#: ../../build/doc/pgr_edwardMoore.rst:40 msgid "The worst-case running time of the algorithm is :math:`O(| V | * | E |)` similar to the time complexity of Bellman-Ford algorithm. However, experiments suggest that this algorithm has an average running time complexity of :math:`O( | E | )` for random graphs. This is significantly faster in terms of computation speed." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:39 +#: ../../build/doc/pgr_edwardMoore.rst:45 msgid "Thus, the algorithm is at-best, significantly faster than Bellman-Ford algorithm and is at-worst, as good as Bellman-Ford algorithm" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:62 +#: ../../build/doc/pgr_edwardMoore.rst:68 msgid "The main characteristics are:" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:43 +#: ../../build/doc/pgr_edwardMoore.rst:49 msgid "Values are returned when there is a path." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:45 +#: ../../build/doc/pgr_edwardMoore.rst:51 msgid "When the starting vertex and ending vertex are the same, there is no path." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:47 +#: ../../build/doc/pgr_edwardMoore.rst:53 msgid "The `agg_cost` the non included values `(v, v)` is `0`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:49 +#: ../../build/doc/pgr_edwardMoore.rst:55 msgid "When the starting vertex and ending vertex are the different and there is no path:" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:51 +#: ../../build/doc/pgr_edwardMoore.rst:57 msgid "The `agg_cost` the non included values `(u, v)` is :math:`\\infty`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:53 +#: ../../build/doc/pgr_edwardMoore.rst:59 msgid "For optimization purposes, any duplicated value in the `start_vids` or `end_vids` are ignored." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:55 +#: ../../build/doc/pgr_edwardMoore.rst:61 msgid "The returned values are ordered:" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:57 +#: ../../build/doc/pgr_edwardMoore.rst:63 msgid "`start_vid` ascending" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:58 +#: ../../build/doc/pgr_edwardMoore.rst:64 msgid "`end_vid` ascending" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:60 +#: ../../build/doc/pgr_edwardMoore.rst:66 msgid "Running time: - Worst case: :math:`O(| V | * | E |)` - Average case: :math:`O( | E | )`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:65 +#: ../../build/doc/pgr_edwardMoore.rst:71 msgid "Signatures" msgstr "" @@ -176,83 +189,103 @@ msgstr "" #: ../../build/doc/pgr_edwardMoore.rst:0 #: ../../build/doc/pgr_edwardMoore.rst:0 #: ../../build/doc/pgr_edwardMoore.rst:0 +#: ../../build/doc/pgr_edwardMoore.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:81 +#: ../../build/doc/pgr_edwardMoore.rst:88 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:91 +#: ../../build/doc/pgr_edwardMoore.rst:98 msgid "One to One" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:100 +#: ../../build/doc/pgr_edwardMoore.rst:106 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:110 +#: ../../build/doc/pgr_edwardMoore.rst:116 msgid "One to many" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:119 +#: ../../build/doc/pgr_edwardMoore.rst:124 msgid "From vertex :math:`2` to vertices :math:`\\{3, 5\\}` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:129 +#: ../../build/doc/pgr_edwardMoore.rst:134 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:138 +#: ../../build/doc/pgr_edwardMoore.rst:142 msgid "From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** graph" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:148 +#: ../../build/doc/pgr_edwardMoore.rst:152 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:157 +#: ../../build/doc/pgr_edwardMoore.rst:160 msgid "From vertices :math:`\\{2, 11\\}` to vertices :math:`\\{3, 5\\}` on an **undirected** graph" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:164 +#: ../../build/doc/pgr_edwardMoore.rst:170 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:178 +msgid "Using a combinations table on an **undirected** graph." +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:185 msgid "Parameters" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:190 msgid "Parameter" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:190 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:190 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:171 -msgid "**edges_sql**" +#: ../../build/doc/pgr_edwardMoore.rst:192 +msgid "**Edges SQL**" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:171 +#: ../../build/doc/pgr_edwardMoore.rst:192 +#: ../../build/doc/pgr_edwardMoore.rst:193 msgid "``TEXT``" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:171 -msgid "Inner SQL query as described below." +#: ../../build/doc/pgr_edwardMoore.rst:192 +msgid "Edges query as described below." +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:193 +msgid "**Combinations SQL**" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:193 +msgid "Combinations query as described below." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:172 +#: ../../build/doc/pgr_edwardMoore.rst:194 #: ../../build/doc/pgRouting-concepts.rst:11 msgid "**start_vid**" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:172 -#: ../../build/doc/pgr_edwardMoore.rst:174 +#: ../../build/doc/pgr_edwardMoore.rst:194 +#: ../../build/doc/pgr_edwardMoore.rst:196 #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 @@ -260,64 +293,69 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:172 +#: ../../build/doc/pgr_edwardMoore.rst:194 msgid "Identifier of the starting vertex of the path." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:173 +#: ../../build/doc/pgr_edwardMoore.rst:195 msgid "**start_vids**" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:173 -#: ../../build/doc/pgr_edwardMoore.rst:175 +#: ../../build/doc/pgr_edwardMoore.rst:195 +#: ../../build/doc/pgr_edwardMoore.rst:197 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:173 +#: ../../build/doc/pgr_edwardMoore.rst:195 msgid "Array of identifiers of starting vertices." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:174 +#: ../../build/doc/pgr_edwardMoore.rst:196 #: ../../build/doc/pgRouting-concepts.rst:18 msgid "**end_vid**" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:174 +#: ../../build/doc/pgr_edwardMoore.rst:196 msgid "Identifier of the ending vertex of the path." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:175 +#: ../../build/doc/pgr_edwardMoore.rst:197 msgid "**end_vids**" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:175 +#: ../../build/doc/pgr_edwardMoore.rst:197 msgid "Array of identifiers of ending vertices." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "**directed**" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "``BOOLEAN``" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "``true``" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "When ``true`` Graph is considered `Directed`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:177 +#: ../../build/doc/pgr_edwardMoore.rst:199 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:183 -msgid "Inner query" +#: ../../build/doc/pgr_edwardMoore.rst:205 +msgid "Inner queries" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:208 +msgid "Edges query" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" @@ -330,6 +368,8 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -338,18 +378,22 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -388,14 +432,17 @@ msgid "When negative: edge `(target, source)` does not exist, therefore it's not msgstr "" #: ../../build/doc/pgRouting-concepts.rst:19 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" +#: ../../build/doc/pgRouting-concepts.rst:0 #: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -407,7 +454,11 @@ msgstr "" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:192 +#: ../../build/doc/pgr_edwardMoore.rst:215 +msgid "Combinations query" +msgstr "" + +#: ../../build/doc/pgr_edwardMoore.rst:222 msgid "Return Columns" msgstr "" @@ -499,15 +550,15 @@ msgstr "" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:200 +#: ../../build/doc/pgr_edwardMoore.rst:230 msgid "Example Application" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:202 +#: ../../build/doc/pgr_edwardMoore.rst:232 msgid "The examples of this section are based on the :doc:`sampledata` network." msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:204 +#: ../../build/doc/pgr_edwardMoore.rst:234 msgid "The examples include combinations from starting vertices 2 and 11 to ending vertices 3 and 5 in a directed and undirected graph with and with out reverse_cost." msgstr "" @@ -518,55 +569,55 @@ msgstr "" msgid "Examples" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:207 +#: ../../build/doc/pgr_edwardMoore.rst:237 msgid "For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` columns" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:209 +#: ../../build/doc/pgr_edwardMoore.rst:239 msgid "The examples in this section use the following :ref:`fig1`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:215 +#: ../../build/doc/pgr_edwardMoore.rst:245 msgid "For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` columns" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:217 +#: ../../build/doc/pgr_edwardMoore.rst:247 msgid "The examples in this section use the following :ref:`fig2`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:223 +#: ../../build/doc/pgr_edwardMoore.rst:253 msgid "For queries marked as ``directed`` with ``cost`` column" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:225 +#: ../../build/doc/pgr_edwardMoore.rst:255 msgid "The examples in this section use the following :ref:`fig3`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:231 +#: ../../build/doc/pgr_edwardMoore.rst:261 msgid "For queries marked as ``undirected`` with ``cost`` column" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:233 +#: ../../build/doc/pgr_edwardMoore.rst:263 msgid "The examples in this section use the following :ref:`fig4`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:240 +#: ../../build/doc/pgr_edwardMoore.rst:270 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:242 +#: ../../build/doc/pgr_edwardMoore.rst:272 msgid "https://en.wikipedia.org/wiki/Shortest_Path_Faster_Algorithm" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:245 +#: ../../build/doc/pgr_edwardMoore.rst:275 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:246 +#: ../../build/doc/pgr_edwardMoore.rst:276 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_edwardMoore.rst:247 +#: ../../build/doc/pgr_edwardMoore.rst:277 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_maxFlow.pot b/locale/pot/pgr_maxFlow.pot index f38a3432206..242c87ab043 100644 --- a/locale/pot/pgr_maxFlow.pot +++ b/locale/pot/pgr_maxFlow.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,81 +33,94 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_maxFlow.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_maxFlow.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_maxFlow.rst:26 -msgid "Version 2.4.0" +msgid "pgr_maxFlow(Combinations)" msgstr "" #: ../../build/doc/pgr_maxFlow.rst:28 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:32 +msgid "Version 2.4.0" +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:34 msgid "New **Proposed** function" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:31 +#: ../../build/doc/pgr_maxFlow.rst:37 msgid "Support" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:32 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__" +#: ../../build/doc/pgr_maxFlow.rst:38 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:36 +#: ../../build/doc/pgr_maxFlow.rst:43 msgid "**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:42 +#: ../../build/doc/pgr_maxFlow.rst:49 #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlow.rst:156 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_maxFlow.rst:185 msgid "Description" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:44 +#: ../../build/doc/pgr_maxFlow.rst:51 msgid "**The main characteristics are:**" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:46 +#: ../../build/doc/pgr_maxFlow.rst:53 msgid "The graph is **directed**." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:47 +#: ../../build/doc/pgr_maxFlow.rst:54 msgid "Calculates the maximum flow from the `source(s)` to the `target(s)`." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:49 +#: ../../build/doc/pgr_maxFlow.rst:56 msgid "When the maximum flow is **0** then there is no flow and **0** is returned." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:50 +#: ../../build/doc/pgr_maxFlow.rst:57 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:52 +#: ../../build/doc/pgr_maxFlow.rst:59 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:53 +#: ../../build/doc/pgr_maxFlow.rst:60 msgid "Uses the :doc:`pgr_pushRelabel ` algorithm." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:55 +#: ../../build/doc/pgr_maxFlow.rst:62 msgid "Running time: :math:`O( V ^ 3)`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:58 +#: ../../build/doc/pgr_maxFlow.rst:65 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:61 +#: ../../build/doc/pgr_maxFlow.rst:68 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:74 +#: ../../build/doc/pgr_maxFlow.rst:82 msgid "One to One" msgstr "" @@ -115,54 +128,66 @@ msgstr "" #: ../../build/doc/pgr_maxFlow.rst:0 #: ../../build/doc/pgr_maxFlow.rst:0 #: ../../build/doc/pgr_maxFlow.rst:0 +#: ../../build/doc/pgr_maxFlow.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:81 +#: ../../build/doc/pgr_maxFlow.rst:89 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:91 +#: ../../build/doc/pgr_maxFlow.rst:99 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:98 +#: ../../build/doc/pgr_maxFlow.rst:106 msgid "From vertex :math:`6` to vertices :math:`\\{11, 1, 13\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:108 +#: ../../build/doc/pgr_maxFlow.rst:116 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:115 +#: ../../build/doc/pgr_maxFlow.rst:123 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:125 +#: ../../build/doc/pgr_maxFlow.rst:133 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:132 +#: ../../build/doc/pgr_maxFlow.rst:140 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:139 +#: ../../build/doc/pgr_maxFlow.rst:150 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:157 +msgid "Using a combinations table, equivalent to calculating result from vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:164 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlow.rst:156 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_maxFlow.rst:185 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -171,60 +196,71 @@ msgid "**Edges SQL**" msgstr "" #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." msgstr "" #: ../../build/doc/flow-family.rst:7 -#: ../../build/doc/flow-family.rst:9 -msgid "**source**" +msgid "**Combinations SQL**" msgstr "" #: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:8 #: ../../build/doc/flow-family.rst:9 -#: ../../build/doc/pgr_maxFlow.rst:158 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**source**" +msgstr "" + +#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgr_maxFlow.rst:187 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:146 -msgid "Inner query" +#: ../../build/doc/pgr_maxFlow.rst:171 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst:0 @@ -244,6 +280,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:10 #: ../../build/doc/flow-family.rst:11 #: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -252,10 +290,12 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -288,50 +328,65 @@ msgid "When negative: edge `(target, source)` does not exist, therefore it's not msgstr "" #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" #: ../../build/doc/flow-family.rst:0 +#: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:153 +#: ../../build/doc/flow-family.rst:0 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "The function aggregates the sources and the targets, removes the duplicates, and then it calculates the result from the resultant source vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_maxFlow.rst:182 msgid "Return Columns" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:158 +#: ../../build/doc/pgr_maxFlow.rst:187 msgid "Maximum flow possible from the source(s) to the target(s)" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:162 +#: ../../build/doc/pgr_maxFlow.rst:191 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:164 +#: ../../build/doc/pgr_maxFlow.rst:193 msgid ":doc:`flow-family`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:165 +#: ../../build/doc/pgr_maxFlow.rst:194 msgid "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:166 +#: ../../build/doc/pgr_maxFlow.rst:195 msgid "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:169 +#: ../../build/doc/pgr_maxFlow.rst:198 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:170 +#: ../../build/doc/pgr_maxFlow.rst:199 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_maxFlow.rst:171 +#: ../../build/doc/pgr_maxFlow.rst:200 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_maxFlowMinCost.pot b/locale/pot/pgr_maxFlowMinCost.pot index 87142e56b8b..0bf9aee2d6e 100644 --- a/locale/pot/pgr_maxFlowMinCost.pot +++ b/locale/pot/pgr_maxFlowMinCost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -101,24 +101,37 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:27 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:29 -msgid "New **experimental** function" +msgid "New **experimental** function:" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:32 -msgid "Support" +#: ../../build/doc/pgr_maxFlowMinCost.rst:31 +msgid "pgr_maxFlowMinCost(Combinations)" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:33 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__" +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:35 +msgid "New **experimental** function" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:38 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:39 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:45 #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Description" msgstr "" @@ -171,43 +184,43 @@ msgstr "" msgid "By aggregation of the incoming flow to the targets" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:44 +#: ../../build/doc/pgr_maxFlowMinCost.rst:51 msgid "**TODO** check which statement is true:" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:46 +#: ../../build/doc/pgr_maxFlowMinCost.rst:53 msgid "The cost value of all input edges must be nonnegative." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:47 +#: ../../build/doc/pgr_maxFlowMinCost.rst:54 msgid "Process is done when the cost value of all input edges is nonnegative." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:48 +#: ../../build/doc/pgr_maxFlowMinCost.rst:55 msgid "Process is done on edges with nonnegative cost." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:50 +#: ../../build/doc/pgr_maxFlowMinCost.rst:57 msgid "Running time: :math:`O(U * (E + V * logV))`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:52 +#: ../../build/doc/pgr_maxFlowMinCost.rst:59 msgid "where :math:`U` is the value of the max flow." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:53 +#: ../../build/doc/pgr_maxFlowMinCost.rst:60 msgid ":math:`U` is upper bound on number of iterations. In many real world cases number of iterations is much smaller than :math:`U`." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:57 +#: ../../build/doc/pgr_maxFlowMinCost.rst:64 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:60 +#: ../../build/doc/pgr_maxFlowMinCost.rst:67 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:74 +#: ../../build/doc/pgr_maxFlowMinCost.rst:82 msgid "One to One" msgstr "" @@ -215,55 +228,67 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:0 #: ../../build/doc/pgr_maxFlowMinCost.rst:0 #: ../../build/doc/pgr_maxFlowMinCost.rst:0 +#: ../../build/doc/pgr_maxFlowMinCost.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:82 +#: ../../build/doc/pgr_maxFlowMinCost.rst:90 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:92 +#: ../../build/doc/pgr_maxFlowMinCost.rst:100 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:100 +#: ../../build/doc/pgr_maxFlowMinCost.rst:108 msgid "From vertex :math:`13` to vertices :math:`\\{7, 1, 4\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:110 +#: ../../build/doc/pgr_maxFlowMinCost.rst:118 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:118 +#: ../../build/doc/pgr_maxFlowMinCost.rst:126 msgid "From vertices :math:`\\{1, 7, 14\\}` to vertex :math:`12`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:128 +#: ../../build/doc/pgr_maxFlowMinCost.rst:136 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:136 +#: ../../build/doc/pgr_maxFlowMinCost.rst:144 msgid "From vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:143 +#: ../../build/doc/pgr_maxFlowMinCost.rst:154 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:162 +msgid "Using a combinations table, equivalent to calculating result from vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`." +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:169 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -272,21 +297,31 @@ msgid "**Edges SQL**" msgstr "" #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" msgstr "" #: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:8 #: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/flow-family.rst:8 msgid "**source**" msgstr "" -#: ../../build/doc/flow-family.rst:7 -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:10 #: ../../build/doc/flow-family.rst:7 #: ../../build/doc/flow-family.rst:8 #: ../../build/doc/flow-family.rst:9 @@ -295,43 +330,44 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/flow-family.rst:9 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:150 -msgid "Inner query" +#: ../../build/doc/pgr_maxFlowMinCost.rst:176 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst:0 @@ -351,6 +387,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:10 #: ../../build/doc/flow-family.rst:11 #: ../../build/doc/flow-family.rst:14 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -359,11 +397,13 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/flow-family.rst:8 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/flow-family.rst:9 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -423,14 +463,17 @@ msgid "Weight of the edge `(target, source)` if it exists." msgstr "" #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" #: ../../build/doc/flow-family.rst:0 +#: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -442,7 +485,19 @@ msgstr "" msgid "smallint, int, bigint, real, float" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:157 +#: ../../build/doc/flow-family.rst:0 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "The function aggregates the sources and the targets, removes the duplicates, and then it calculates the result from the resultant source vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:187 msgid "Result Columns" msgstr "" @@ -499,27 +554,27 @@ msgstr "" msgid "The aggregate cost." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:163 +#: ../../build/doc/pgr_maxFlowMinCost.rst:193 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:165 +#: ../../build/doc/pgr_maxFlowMinCost.rst:195 msgid ":doc:`flow-family`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:166 +#: ../../build/doc/pgr_maxFlowMinCost.rst:196 msgid "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:169 +#: ../../build/doc/pgr_maxFlowMinCost.rst:199 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:170 +#: ../../build/doc/pgr_maxFlowMinCost.rst:200 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost.rst:171 +#: ../../build/doc/pgr_maxFlowMinCost.rst:201 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_maxFlowMinCost_Cost.pot b/locale/pot/pgr_maxFlowMinCost_Cost.pot index 8ffab59d19f..161d459515e 100644 --- a/locale/pot/pgr_maxFlowMinCost_Cost.pot +++ b/locale/pot/pgr_maxFlowMinCost_Cost.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -101,69 +101,82 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:28 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:30 -msgid "New **experimental** function" +msgid "New **experimental** function:" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:33 -msgid "Support" +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:32 +msgid "pgr_maxFlowMinCost_Cost(Combinations)" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:34 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__" +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:36 +msgid "New **experimental** function" msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:39 +msgid "Support" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:40 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:46 #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:155 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:183 msgid "Description" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:41 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:48 msgid "**The main characteristics are:**" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:43 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:50 msgid "The graph is **directed**." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:44 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:51 msgid "**The cost value of all input edges must be nonnegative.**" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:45 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:52 msgid "When the maximum flow is 0 then there is no flow and **0** is returned." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:47 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:54 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:49 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:56 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:50 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:57 msgid "Uses the :doc:`pgr_maxFlowMinCost ` algorithm." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:52 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:59 msgid "Running time: :math:`O(U * (E + V * logV))`, where :math:`U` is the value of the max flow. :math:`U` is upper bound on number of iteration. In many real world cases number of iterations is much smaller than :math:`U`." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:55 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:62 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:58 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:65 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:71 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:79 msgid "One to One" msgstr "" @@ -171,54 +184,66 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:0 #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:0 #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:0 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:78 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:86 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:88 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:96 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:95 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:103 msgid "From vertex :math:`13` to vertices :math:`\\{7, 1, 4\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:105 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:113 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:112 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:120 msgid "From vertices :math:`\\{1, 7, 14\\}` to vertex :math:`12`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:122 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:130 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:129 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:137 msgid "From vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:138 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:148 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:155 +msgid "Using a combinations table, equivalent to calculating result from vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`." +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:162 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:155 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:183 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -227,59 +252,70 @@ msgid "**Edges SQL**" msgstr "" #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." msgstr "" #: ../../build/doc/flow-family.rst:7 -#: ../../build/doc/flow-family.rst:9 -msgid "**source**" +msgid "**Combinations SQL**" msgstr "" #: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:8 #: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**source**" +msgstr "" + +#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:10 msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:145 -msgid "Inner query" +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:169 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst:0 @@ -299,6 +335,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:10 #: ../../build/doc/flow-family.rst:11 #: ../../build/doc/flow-family.rst:14 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -307,10 +345,12 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -368,14 +408,17 @@ msgid "Weight of the edge `(target, source)` if it exists." msgstr "" #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" #: ../../build/doc/flow-family.rst:0 +#: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" @@ -387,39 +430,51 @@ msgstr "" msgid "smallint, int, bigint, real, float" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:152 +#: ../../build/doc/flow-family.rst:0 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "The function aggregates the sources and the targets, removes the duplicates, and then it calculates the result from the resultant source vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:180 msgid "Result Columns" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:157 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:185 msgid "``FLOAT``" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:157 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:185 msgid "Minimum Cost Maximum Flow possible from the source(s) to the target(s)" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:161 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:189 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:163 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:191 msgid ":doc:`flow-family`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:164 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:192 msgid "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:167 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:195 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:168 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:196 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:169 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:197 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/pgr_pushRelabel.pot b/locale/pot/pgr_pushRelabel.pot index 9ccaa2e58cf..130fba424b6 100644 --- a/locale/pot/pgr_pushRelabel.pot +++ b/locale/pot/pgr_pushRelabel.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,48 +33,61 @@ msgid "Availability" msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:22 -msgid "Version 3.0.0" +msgid "Version 3.2.0" msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:24 -msgid "**Official** function" +msgid "New **proposed** function:" msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:26 -msgid "Version 2.5.0" +msgid "pgr_pushRelabel(Combinations)" msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:28 +msgid "Version 3.0.0" +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:30 +msgid "**Official** function" +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:32 +msgid "Version 2.5.0" +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:34 msgid "Renamed from ``pgr_maxFlowPushRelabel``" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:29 +#: ../../build/doc/pgr_pushRelabel.rst:35 msgid "**Proposed** function" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:31 +#: ../../build/doc/pgr_pushRelabel.rst:37 msgid "Version 2.3.0" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:33 +#: ../../build/doc/pgr_pushRelabel.rst:39 msgid "New **Experimental** function" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:36 +#: ../../build/doc/pgr_pushRelabel.rst:42 msgid "Support" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:37 -msgid "**Supported versions:** current(`3.1 `__) `3.0 `__" +#: ../../build/doc/pgr_pushRelabel.rst:43 +msgid "**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:41 +#: ../../build/doc/pgr_pushRelabel.rst:48 msgid "**Unsupported versions:** `2.6 `__ `2.5 `__ `2.4 `__ `2.3 `__" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:48 +#: ../../build/doc/pgr_pushRelabel.rst:55 #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Description" msgstr "" @@ -127,19 +140,19 @@ msgstr "" msgid "By aggregation of the incoming flow to the targets" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:54 +#: ../../build/doc/pgr_pushRelabel.rst:61 msgid "Running time: :math:`O( V ^ 3)`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:57 +#: ../../build/doc/pgr_pushRelabel.rst:64 msgid "Signatures" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:60 +#: ../../build/doc/pgr_pushRelabel.rst:67 msgid "Summary" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:74 +#: ../../build/doc/pgr_pushRelabel.rst:82 msgid "One to One" msgstr "" @@ -147,59 +160,71 @@ msgstr "" #: ../../build/doc/pgr_pushRelabel.rst:0 #: ../../build/doc/pgr_pushRelabel.rst:0 #: ../../build/doc/pgr_pushRelabel.rst:0 +#: ../../build/doc/pgr_pushRelabel.rst:0 msgid "Example" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:82 +#: ../../build/doc/pgr_pushRelabel.rst:90 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:92 +#: ../../build/doc/pgr_pushRelabel.rst:100 msgid "One to Many" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:94 +#: ../../build/doc/pgr_pushRelabel.rst:102 msgid "Calculates the flow on the graph edges that maximizes the flow from the `source` to all of the `targets`." msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:102 +#: ../../build/doc/pgr_pushRelabel.rst:110 msgid "From vertex :math:`6` to vertices :math:`\\{11, 1, 13\\}`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:112 +#: ../../build/doc/pgr_pushRelabel.rst:120 msgid "Many to One" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:120 +#: ../../build/doc/pgr_pushRelabel.rst:128 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:130 +#: ../../build/doc/pgr_pushRelabel.rst:138 msgid "Many to Many" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:138 +#: ../../build/doc/pgr_pushRelabel.rst:146 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:145 +#: ../../build/doc/pgr_pushRelabel.rst:156 +msgid "Combinations" +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:164 +msgid "Using a combinations table, equivalent to calculating result from vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:171 msgid "Parameters" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Column" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/flow-family.rst:4 msgid "Type" msgstr "" #: ../../build/doc/flow-family.rst:4 #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "" @@ -208,20 +233,30 @@ msgid "**Edges SQL**" msgstr "" #: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." msgstr "" #: ../../build/doc/flow-family.rst:7 -#: ../../build/doc/flow-family.rst:9 -msgid "**source**" +msgid "**Combinations SQL**" msgstr "" #: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "" + +#: ../../build/doc/flow-family.rst:8 #: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**source**" +msgstr "" + +#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:10 #: ../../build/doc/flow-family.rst:7 #: ../../build/doc/flow-family.rst:8 #: ../../build/doc/flow-family.rst:9 @@ -230,42 +265,43 @@ msgstr "" msgid "``BIGINT``" msgstr "" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "" -#: ../../build/doc/flow-family.rst:8 -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:152 -msgid "Inner query" +#: ../../build/doc/pgr_pushRelabel.rst:178 +msgid "Inner queries" msgstr "" #: ../../build/doc/flow-family.rst:0 @@ -285,6 +321,8 @@ msgstr "" #: ../../build/doc/flow-family.rst:10 #: ../../build/doc/flow-family.rst:11 #: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "" @@ -293,11 +331,13 @@ msgid "Identifier of the edge." msgstr "" #: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/flow-family.rst:8 msgid "Identifier of the first end point vertex of the edge." msgstr "" #: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/flow-family.rst:9 msgid "Identifier of the second end point vertex of the edge." msgstr "" @@ -331,18 +371,33 @@ msgid "When negative: edge `(target, source)` does not exist, therefore it's not msgstr "" #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "" #: ../../build/doc/flow-family.rst:0 +#: ../../build/doc/pgRouting-concepts.rst:0 msgid "ANY-INTEGER" msgstr "" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:159 +#: ../../build/doc/flow-family.rst:0 +msgid "Combinations SQL" +msgstr "" + +#: ../../build/doc/flow-family.rst:3 +msgid "an SQL query which should return a set of rows with the following columns:" +msgstr "" + +#: ../../build/doc/flow-family.rst:9 +msgid "The function aggregates the sources and the targets, removes the duplicates, and then it calculates the result from the resultant source vertices to the target vertices." +msgstr "" + +#: ../../build/doc/pgr_pushRelabel.rst:189 msgid "Result Columns" msgstr "" @@ -390,31 +445,31 @@ msgstr "" msgid "Residual capacity of the edge in the direction (``start_vid``, ``end_vid``)." msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:166 +#: ../../build/doc/pgr_pushRelabel.rst:196 msgid "See Also" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:168 +#: ../../build/doc/pgr_pushRelabel.rst:198 msgid ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_edmondsKarp`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:169 +#: ../../build/doc/pgr_pushRelabel.rst:199 msgid "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:170 +#: ../../build/doc/pgr_pushRelabel.rst:200 msgid "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:173 +#: ../../build/doc/pgr_pushRelabel.rst:203 msgid "Indices and tables" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:174 +#: ../../build/doc/pgr_pushRelabel.rst:204 msgid ":ref:`genindex`" msgstr "" -#: ../../build/doc/pgr_pushRelabel.rst:175 +#: ../../build/doc/pgr_pushRelabel.rst:205 msgid ":ref:`search`" msgstr "" diff --git a/locale/pot/release_notes.pot b/locale/pot/release_notes.pot index aaeb16e6d64..2ceabfaa0a0 100644 --- a/locale/pot/release_notes.pot +++ b/locale/pot/release_notes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-08 12:28-0600\n" +"POT-Creation-Date: 2020-12-15 07:54-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -173,2052 +173,2114 @@ msgid "New experimental functions" msgstr "" #: ../../build/doc/release_notes.rst:66 -msgid "pgr_depthFirstSearch" +msgid "pgr_bellmanFord(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:67 -msgid "pgr_dijkstraNear(One to Many)" +msgid "pgr_binaryBreadthFirstSearch(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:68 -msgid "pgr_dijkstraNear(Many to One)" +msgid "pgr_bipartite" msgstr "" #: ../../build/doc/release_notes.rst:69 -msgid "pgr_dijkstraNear(Many to Many)" +msgid "pgr_dagShortestPath(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:70 -msgid "pgr_dijkstraNear(Combinations)" +msgid "pgr_depthFirstSearch" msgstr "" #: ../../build/doc/release_notes.rst:71 -msgid "pgr_dijkstraNearCost(One to Many)" +msgid "pgr_dijkstraNear(One to Many)" msgstr "" #: ../../build/doc/release_notes.rst:72 -msgid "pgr_dijkstraNearCost(Many to One)" +msgid "pgr_dijkstraNear(Many to One)" msgstr "" #: ../../build/doc/release_notes.rst:73 -msgid "pgr_dijkstraNearCost(Many to Many)" +msgid "pgr_dijkstraNear(Many to Many)" msgstr "" #: ../../build/doc/release_notes.rst:74 -msgid "pgr_dijkstraNearCost(Combinations)" +msgid "pgr_dijkstraNear(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:75 -msgid "pgr_isPlanar" +msgid "pgr_dijkstraNearCost(One to Many)" msgstr "" #: ../../build/doc/release_notes.rst:76 -msgid "pgr_makeConnected" +msgid "pgr_dijkstraNearCost(Many to One)" msgstr "" #: ../../build/doc/release_notes.rst:77 -msgid "pgr_sequentialVertexColoring" +msgid "pgr_dijkstraNearCost(Many to Many)" +msgstr "" + +#: ../../build/doc/release_notes.rst:78 +msgid "pgr_dijkstraNearCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:79 +msgid "pgr_edwardMoore(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:80 -#: ../../build/doc/release_notes.rst:130 -msgid "New proposed functions" +msgid "pgr_isPlanar" msgstr "" #: ../../build/doc/release_notes.rst:81 -msgid "pgr_aStar(Combinations)" +msgid "pgr_lengauerTarjanDominatorTree" msgstr "" #: ../../build/doc/release_notes.rst:82 -msgid "pgr_aStarCost(Combinations)" +msgid "pgr_makeConnected" msgstr "" #: ../../build/doc/release_notes.rst:83 -msgid "pgr_bdAstar(Combinations)" +msgid "pgr_maxFlowMinCost(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:84 -msgid "pgr_bdAstarCost(Combinations)" +msgid "pgr_maxFlowMinCost_Cost(Combinations)" msgstr "" #: ../../build/doc/release_notes.rst:85 +msgid "pgr_sequentialVertexColoring" +msgstr "" + +#: ../../build/doc/release_notes.rst:88 +#: ../../build/doc/release_notes.rst:145 +msgid "New proposed functions" +msgstr "" + +#: ../../build/doc/release_notes.rst:89 +msgid "pgr_aStar(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:90 +msgid "pgr_aStarCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:91 +msgid "pgr_bdAstar(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:92 +msgid "pgr_bdAstarCost(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:93 msgid "pgr_bdDijkstra(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:86 +#: ../../build/doc/release_notes.rst:94 msgid "pgr_bdDijkstraCost(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:87 +#: ../../build/doc/release_notes.rst:95 +msgid "pgr_boykovKolmogorov(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:96 +msgid "pgr_edgeDisjointPaths(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:97 +msgid "pgr_edmondsKarp(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:98 +msgid "pgr_maxFlow(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:99 +msgid "pgr_pushRelabel(Combinations)" +msgstr "" + +#: ../../build/doc/release_notes.rst:100 msgid "pgr_withPoints(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:88 +#: ../../build/doc/release_notes.rst:101 msgid "pgr_withPointsCost(Combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:93 +#: ../../build/doc/release_notes.rst:106 msgid "pgRouting 3.1.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:95 +#: ../../build/doc/release_notes.rst:108 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:99 -#: ../../build/doc/release_notes.rst:113 -#: ../../build/doc/release_notes.rst:176 -#: ../../build/doc/release_notes.rst:188 +#: ../../build/doc/release_notes.rst:112 +#: ../../build/doc/release_notes.rst:128 +#: ../../build/doc/release_notes.rst:193 +#: ../../build/doc/release_notes.rst:205 msgid "Issues fixes" msgstr "" -#: ../../build/doc/release_notes.rst:100 -#: ../../build/doc/release_notes.rst:148 +#: ../../build/doc/release_notes.rst:113 +#: ../../build/doc/release_notes.rst:163 +msgid "`#1304 `__: FreeBSD 12 64-bit crashes on pgr_vrOneDepot tests Experimental Function" +msgstr "" + +#: ../../build/doc/release_notes.rst:114 +#: ../../build/doc/release_notes.rst:164 msgid "`#1356 `__: tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed" msgstr "" -#: ../../build/doc/release_notes.rst:101 -#: ../../build/doc/release_notes.rst:149 +#: ../../build/doc/release_notes.rst:115 +#: ../../build/doc/release_notes.rst:165 +msgid "`#1725 `__: Server crash on pgr_pickDeliver and pgr_vrpOneDepot on openbsd" +msgstr "" + +#: ../../build/doc/release_notes.rst:116 +#: ../../build/doc/release_notes.rst:166 msgid "`#1760 `__: TSP server crash on ubuntu 20.04 #1760" msgstr "" -#: ../../build/doc/release_notes.rst:102 -#: ../../build/doc/release_notes.rst:150 +#: ../../build/doc/release_notes.rst:117 +#: ../../build/doc/release_notes.rst:167 msgid "`#1770 `__: Remove warnings when using clang compiler" msgstr "" -#: ../../build/doc/release_notes.rst:107 +#: ../../build/doc/release_notes.rst:122 msgid "pgRouting 3.1.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:109 +#: ../../build/doc/release_notes.rst:124 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:114 -#: ../../build/doc/release_notes.rst:160 +#: ../../build/doc/release_notes.rst:129 +#: ../../build/doc/release_notes.rst:177 msgid "`#1733 `__: pgr_bdAstar fails when source or target vertex does not exist in the graph" msgstr "" -#: ../../build/doc/release_notes.rst:115 -#: ../../build/doc/release_notes.rst:161 +#: ../../build/doc/release_notes.rst:130 +#: ../../build/doc/release_notes.rst:178 msgid "`#1647 `__: Linear Contraction contracts self loops" msgstr "" -#: ../../build/doc/release_notes.rst:116 -#: ../../build/doc/release_notes.rst:162 +#: ../../build/doc/release_notes.rst:131 +#: ../../build/doc/release_notes.rst:179 msgid "`#1640 `__: pgr_withPoints fails when points_sql is empty" msgstr "" -#: ../../build/doc/release_notes.rst:117 -#: ../../build/doc/release_notes.rst:163 +#: ../../build/doc/release_notes.rst:132 +#: ../../build/doc/release_notes.rst:180 msgid "`#1616 `__: Path evaluation on C++ not updated before the results go back to C" msgstr "" -#: ../../build/doc/release_notes.rst:118 -#: ../../build/doc/release_notes.rst:164 +#: ../../build/doc/release_notes.rst:133 +#: ../../build/doc/release_notes.rst:181 msgid "`#1300 `__: pgr_chinesePostman crash on test data" msgstr "" -#: ../../build/doc/release_notes.rst:124 +#: ../../build/doc/release_notes.rst:139 msgid "pgRouting 3.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:126 +#: ../../build/doc/release_notes.rst:141 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:131 +#: ../../build/doc/release_notes.rst:146 msgid "pgr_dijkstra(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:132 +#: ../../build/doc/release_notes.rst:147 msgid "pgr_dijkstraCost(combinations)" msgstr "" -#: ../../build/doc/release_notes.rst:135 +#: ../../build/doc/release_notes.rst:150 msgid "Build changes" msgstr "" -#: ../../build/doc/release_notes.rst:136 +#: ../../build/doc/release_notes.rst:151 msgid "Minimal requirement for Sphinx: version 1.8" msgstr "" -#: ../../build/doc/release_notes.rst:141 +#: ../../build/doc/release_notes.rst:156 msgid "pgRouting 3.0.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:143 +#: ../../build/doc/release_notes.rst:158 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.4 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:147 -#: ../../build/doc/release_notes.rst:159 +#: ../../build/doc/release_notes.rst:162 +#: ../../build/doc/release_notes.rst:176 msgid "Backport issues fixes" msgstr "" -#: ../../build/doc/release_notes.rst:156 +#: ../../build/doc/release_notes.rst:173 msgid "pgRouting 3.0.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:170 +#: ../../build/doc/release_notes.rst:187 msgid "pgRouting 3.0.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:172 +#: ../../build/doc/release_notes.rst:189 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:177 +#: ../../build/doc/release_notes.rst:194 msgid "`#1378 `__: Visual Studio build failing" msgstr "" -#: ../../build/doc/release_notes.rst:182 +#: ../../build/doc/release_notes.rst:199 msgid "pgRouting 3.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:184 +#: ../../build/doc/release_notes.rst:201 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:189 +#: ../../build/doc/release_notes.rst:206 msgid "`#232 `__: Honor client cancel requests in C /C++ code" msgstr "" -#: ../../build/doc/release_notes.rst:194 +#: ../../build/doc/release_notes.rst:211 msgid "pgRouting 3.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:196 +#: ../../build/doc/release_notes.rst:213 msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:200 +#: ../../build/doc/release_notes.rst:217 msgid "Fixed Issues" msgstr "" -#: ../../build/doc/release_notes.rst:201 +#: ../../build/doc/release_notes.rst:218 msgid "`#1153 `__: Renamed pgr_eucledianTSP to pgr_TSPeuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:202 +#: ../../build/doc/release_notes.rst:219 msgid "`#1188 `__: Removed CGAL dependency" msgstr "" -#: ../../build/doc/release_notes.rst:203 +#: ../../build/doc/release_notes.rst:220 msgid "`#1002 `__: Fixed contraction issues:" msgstr "" -#: ../../build/doc/release_notes.rst:205 +#: ../../build/doc/release_notes.rst:222 msgid "`#1004 `__: Contracts when forbidden vertices do not belong to graph" msgstr "" -#: ../../build/doc/release_notes.rst:206 +#: ../../build/doc/release_notes.rst:223 msgid "`#1005 `__: Intermideate results eliminated" msgstr "" -#: ../../build/doc/release_notes.rst:207 +#: ../../build/doc/release_notes.rst:224 msgid "`#1006 `__: No loss of information" msgstr "" -#: ../../build/doc/release_notes.rst:210 +#: ../../build/doc/release_notes.rst:227 msgid "New functions" msgstr "" -#: ../../build/doc/release_notes.rst:211 +#: ../../build/doc/release_notes.rst:228 msgid "Kruskal family" msgstr "" -#: ../../build/doc/release_notes.rst:213 +#: ../../build/doc/release_notes.rst:230 msgid "pgr_kruskal" msgstr "" -#: ../../build/doc/release_notes.rst:214 +#: ../../build/doc/release_notes.rst:231 msgid "pgr_kruskalBFS" msgstr "" -#: ../../build/doc/release_notes.rst:215 +#: ../../build/doc/release_notes.rst:232 msgid "pgr_kruskalDD" msgstr "" -#: ../../build/doc/release_notes.rst:216 +#: ../../build/doc/release_notes.rst:233 msgid "pgr_kruskalDFS" msgstr "" -#: ../../build/doc/release_notes.rst:218 +#: ../../build/doc/release_notes.rst:235 msgid "Prim family" msgstr "" -#: ../../build/doc/release_notes.rst:220 +#: ../../build/doc/release_notes.rst:237 msgid "pgr_prim" msgstr "" -#: ../../build/doc/release_notes.rst:221 +#: ../../build/doc/release_notes.rst:238 msgid "pgr_primDD" msgstr "" -#: ../../build/doc/release_notes.rst:222 +#: ../../build/doc/release_notes.rst:239 msgid "pgr_primDFS" msgstr "" -#: ../../build/doc/release_notes.rst:223 +#: ../../build/doc/release_notes.rst:240 msgid "pgr_primBFS" msgstr "" -#: ../../build/doc/release_notes.rst:227 +#: ../../build/doc/release_notes.rst:244 msgid "Proposed moved to official on pgRouting" msgstr "" -#: ../../build/doc/release_notes.rst:228 +#: ../../build/doc/release_notes.rst:245 msgid "aStar Family" msgstr "" -#: ../../build/doc/release_notes.rst:230 +#: ../../build/doc/release_notes.rst:247 msgid "pgr_aStar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:231 +#: ../../build/doc/release_notes.rst:248 msgid "pgr_aStar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:232 +#: ../../build/doc/release_notes.rst:249 msgid "pgr_aStar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:233 +#: ../../build/doc/release_notes.rst:250 msgid "pgr_aStarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:234 +#: ../../build/doc/release_notes.rst:251 msgid "pgr_aStarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:235 +#: ../../build/doc/release_notes.rst:252 msgid "pgr_aStarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:236 +#: ../../build/doc/release_notes.rst:253 msgid "pgr_aStarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:237 +#: ../../build/doc/release_notes.rst:254 msgid "pgr_aStarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:238 +#: ../../build/doc/release_notes.rst:255 msgid "pgr_aStarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:239 +#: ../../build/doc/release_notes.rst:256 msgid "pgr_aStarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:240 +#: ../../build/doc/release_notes.rst:257 msgid "pgr_aStarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:242 +#: ../../build/doc/release_notes.rst:259 msgid "bdAstar Family" msgstr "" -#: ../../build/doc/release_notes.rst:244 -#: ../../build/doc/release_notes.rst:571 +#: ../../build/doc/release_notes.rst:261 +#: ../../build/doc/release_notes.rst:588 msgid "pgr_bdAstar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:245 -#: ../../build/doc/release_notes.rst:572 +#: ../../build/doc/release_notes.rst:262 +#: ../../build/doc/release_notes.rst:589 msgid "pgr_bdAstar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:246 -#: ../../build/doc/release_notes.rst:573 +#: ../../build/doc/release_notes.rst:263 +#: ../../build/doc/release_notes.rst:590 msgid "pgr_bdAstar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:247 -#: ../../build/doc/release_notes.rst:574 +#: ../../build/doc/release_notes.rst:264 +#: ../../build/doc/release_notes.rst:591 msgid "pgr_bdAstarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:248 -#: ../../build/doc/release_notes.rst:575 +#: ../../build/doc/release_notes.rst:265 +#: ../../build/doc/release_notes.rst:592 msgid "pgr_bdAstarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:249 -#: ../../build/doc/release_notes.rst:576 +#: ../../build/doc/release_notes.rst:266 +#: ../../build/doc/release_notes.rst:593 msgid "pgr_bdAstarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:250 -#: ../../build/doc/release_notes.rst:577 +#: ../../build/doc/release_notes.rst:267 +#: ../../build/doc/release_notes.rst:594 msgid "pgr_bdAstarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:251 +#: ../../build/doc/release_notes.rst:268 msgid "pgr_bdAstarCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:252 +#: ../../build/doc/release_notes.rst:269 msgid "pgr_bdAstarCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:253 +#: ../../build/doc/release_notes.rst:270 msgid "pgr_bdAstarCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:254 +#: ../../build/doc/release_notes.rst:271 msgid "pgr_bdAstarCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:256 +#: ../../build/doc/release_notes.rst:273 msgid "bdDijkstra Family" msgstr "" -#: ../../build/doc/release_notes.rst:258 -#: ../../build/doc/release_notes.rst:579 +#: ../../build/doc/release_notes.rst:275 +#: ../../build/doc/release_notes.rst:596 msgid "pgr_bdDijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:259 -#: ../../build/doc/release_notes.rst:580 +#: ../../build/doc/release_notes.rst:276 +#: ../../build/doc/release_notes.rst:597 msgid "pgr_bdDijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:260 -#: ../../build/doc/release_notes.rst:581 +#: ../../build/doc/release_notes.rst:277 +#: ../../build/doc/release_notes.rst:598 msgid "pgr_bdDijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:261 -#: ../../build/doc/release_notes.rst:582 +#: ../../build/doc/release_notes.rst:278 +#: ../../build/doc/release_notes.rst:599 msgid "pgr_bdDijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:262 -#: ../../build/doc/release_notes.rst:583 +#: ../../build/doc/release_notes.rst:279 +#: ../../build/doc/release_notes.rst:600 msgid "pgr_bdDijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:263 -#: ../../build/doc/release_notes.rst:584 +#: ../../build/doc/release_notes.rst:280 +#: ../../build/doc/release_notes.rst:601 msgid "pgr_bdDijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:264 -#: ../../build/doc/release_notes.rst:585 +#: ../../build/doc/release_notes.rst:281 +#: ../../build/doc/release_notes.rst:602 msgid "pgr_bdDijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:265 +#: ../../build/doc/release_notes.rst:282 msgid "pgr_bdDijkstraCostMatrix(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:266 +#: ../../build/doc/release_notes.rst:283 msgid "pgr_bdDijkstraCostMatrix(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:267 +#: ../../build/doc/release_notes.rst:284 msgid "pgr_bdDijkstraCostMatrix(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:268 +#: ../../build/doc/release_notes.rst:285 msgid "pgr_bdDijkstraCostMatrix(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:270 +#: ../../build/doc/release_notes.rst:287 msgid "Flow Family" msgstr "" -#: ../../build/doc/release_notes.rst:272 +#: ../../build/doc/release_notes.rst:289 msgid "pgr_pushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:273 +#: ../../build/doc/release_notes.rst:290 msgid "pgr_pushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:274 +#: ../../build/doc/release_notes.rst:291 msgid "pgr_pushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:275 +#: ../../build/doc/release_notes.rst:292 msgid "pgr_pushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:276 +#: ../../build/doc/release_notes.rst:293 msgid "pgr_edmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:277 +#: ../../build/doc/release_notes.rst:294 msgid "pgr_edmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:278 +#: ../../build/doc/release_notes.rst:295 msgid "pgr_edmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:279 +#: ../../build/doc/release_notes.rst:296 msgid "pgr_edmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:280 +#: ../../build/doc/release_notes.rst:297 msgid "pgr_boykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:281 +#: ../../build/doc/release_notes.rst:298 msgid "pgr_boykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:282 +#: ../../build/doc/release_notes.rst:299 msgid "pgr_boykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:283 +#: ../../build/doc/release_notes.rst:300 msgid "pgr_boykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:284 +#: ../../build/doc/release_notes.rst:301 msgid "pgr_maxCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:285 -#: ../../build/doc/release_notes.rst:655 +#: ../../build/doc/release_notes.rst:302 +#: ../../build/doc/release_notes.rst:672 msgid "pgr_maxFlow" msgstr "" -#: ../../build/doc/release_notes.rst:286 -#: ../../build/doc/release_notes.rst:745 +#: ../../build/doc/release_notes.rst:303 +#: ../../build/doc/release_notes.rst:762 msgid "pgr_edgeDisjointPaths(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:287 -#: ../../build/doc/release_notes.rst:746 +#: ../../build/doc/release_notes.rst:304 +#: ../../build/doc/release_notes.rst:763 msgid "pgr_edgeDisjointPaths(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:288 -#: ../../build/doc/release_notes.rst:747 +#: ../../build/doc/release_notes.rst:305 +#: ../../build/doc/release_notes.rst:764 msgid "pgr_edgeDisjointPaths(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:289 -#: ../../build/doc/release_notes.rst:748 +#: ../../build/doc/release_notes.rst:306 +#: ../../build/doc/release_notes.rst:765 msgid "pgr_edgeDisjointPaths(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:291 +#: ../../build/doc/release_notes.rst:308 msgid "Components family" msgstr "" -#: ../../build/doc/release_notes.rst:293 -#: ../../build/doc/release_notes.rst:589 +#: ../../build/doc/release_notes.rst:310 +#: ../../build/doc/release_notes.rst:606 msgid "pgr_connectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:294 -#: ../../build/doc/release_notes.rst:590 +#: ../../build/doc/release_notes.rst:311 +#: ../../build/doc/release_notes.rst:607 msgid "pgr_strongComponents" msgstr "" -#: ../../build/doc/release_notes.rst:295 -#: ../../build/doc/release_notes.rst:591 +#: ../../build/doc/release_notes.rst:312 +#: ../../build/doc/release_notes.rst:608 msgid "pgr_biconnectedComponents" msgstr "" -#: ../../build/doc/release_notes.rst:296 -#: ../../build/doc/release_notes.rst:592 +#: ../../build/doc/release_notes.rst:313 +#: ../../build/doc/release_notes.rst:609 msgid "pgr_articulationPoints" msgstr "" -#: ../../build/doc/release_notes.rst:297 -#: ../../build/doc/release_notes.rst:593 +#: ../../build/doc/release_notes.rst:314 +#: ../../build/doc/release_notes.rst:610 msgid "pgr_bridges" msgstr "" -#: ../../build/doc/release_notes.rst:299 +#: ../../build/doc/release_notes.rst:316 msgid "Contraction:" msgstr "" -#: ../../build/doc/release_notes.rst:301 +#: ../../build/doc/release_notes.rst:318 msgid "Removed unnecessary column seq" msgstr "" -#: ../../build/doc/release_notes.rst:302 -#: ../../build/doc/release_notes.rst:689 -#: ../../build/doc/release_notes.rst:705 -#: ../../build/doc/release_notes.rst:775 -#: ../../build/doc/release_notes.rst:788 -#: ../../build/doc/release_notes.rst:799 -#: ../../build/doc/release_notes.rst:811 -#: ../../build/doc/release_notes.rst:930 -#: ../../build/doc/release_notes.rst:961 +#: ../../build/doc/release_notes.rst:319 +#: ../../build/doc/release_notes.rst:706 +#: ../../build/doc/release_notes.rst:722 +#: ../../build/doc/release_notes.rst:792 +#: ../../build/doc/release_notes.rst:805 +#: ../../build/doc/release_notes.rst:816 +#: ../../build/doc/release_notes.rst:828 +#: ../../build/doc/release_notes.rst:947 +#: ../../build/doc/release_notes.rst:978 msgid "Bug Fixes" msgstr "" -#: ../../build/doc/release_notes.rst:306 +#: ../../build/doc/release_notes.rst:323 msgid "New Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:307 +#: ../../build/doc/release_notes.rst:324 msgid "pgr_maxFlowMinCost" msgstr "" -#: ../../build/doc/release_notes.rst:308 +#: ../../build/doc/release_notes.rst:325 msgid "pgr_maxFlowMinCost_Cost" msgstr "" -#: ../../build/doc/release_notes.rst:309 +#: ../../build/doc/release_notes.rst:326 msgid "pgr_extractVertices" msgstr "" -#: ../../build/doc/release_notes.rst:310 +#: ../../build/doc/release_notes.rst:327 msgid "pgr_turnRestrictedPath" msgstr "" -#: ../../build/doc/release_notes.rst:311 +#: ../../build/doc/release_notes.rst:328 msgid "pgr_stoerWagner" msgstr "" -#: ../../build/doc/release_notes.rst:312 +#: ../../build/doc/release_notes.rst:329 msgid "pgr_dagShortestpath" msgstr "" -#: ../../build/doc/release_notes.rst:313 +#: ../../build/doc/release_notes.rst:330 msgid "pgr_topologicalSort" msgstr "" -#: ../../build/doc/release_notes.rst:314 +#: ../../build/doc/release_notes.rst:331 msgid "pgr_transitiveClosure" msgstr "" -#: ../../build/doc/release_notes.rst:315 +#: ../../build/doc/release_notes.rst:332 msgid "VRP category" msgstr "" -#: ../../build/doc/release_notes.rst:317 +#: ../../build/doc/release_notes.rst:334 msgid "pgr_pickDeliverEuclidean" msgstr "" -#: ../../build/doc/release_notes.rst:318 +#: ../../build/doc/release_notes.rst:335 msgid "pgr_pickDeliver" msgstr "" -#: ../../build/doc/release_notes.rst:320 +#: ../../build/doc/release_notes.rst:337 msgid "Chinese Postman family" msgstr "" -#: ../../build/doc/release_notes.rst:322 +#: ../../build/doc/release_notes.rst:339 msgid "pgr_chinesePostman" msgstr "" -#: ../../build/doc/release_notes.rst:323 +#: ../../build/doc/release_notes.rst:340 msgid "pgr_chinesePostmanCost" msgstr "" -#: ../../build/doc/release_notes.rst:325 +#: ../../build/doc/release_notes.rst:342 msgid "Breadth First Search family" msgstr "" -#: ../../build/doc/release_notes.rst:327 +#: ../../build/doc/release_notes.rst:344 msgid "pgr_breadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:328 +#: ../../build/doc/release_notes.rst:345 msgid "pgr_binaryBreadthFirstSearch" msgstr "" -#: ../../build/doc/release_notes.rst:330 +#: ../../build/doc/release_notes.rst:347 msgid "Bellman Ford family" msgstr "" -#: ../../build/doc/release_notes.rst:332 +#: ../../build/doc/release_notes.rst:349 msgid "pgr_bellmanFord" msgstr "" -#: ../../build/doc/release_notes.rst:333 +#: ../../build/doc/release_notes.rst:350 msgid "pgr_edwardMoore" msgstr "" -#: ../../build/doc/release_notes.rst:336 +#: ../../build/doc/release_notes.rst:353 msgid "Moved to legacy" msgstr "" -#: ../../build/doc/release_notes.rst:337 +#: ../../build/doc/release_notes.rst:354 msgid "Experimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:339 +#: ../../build/doc/release_notes.rst:356 msgid "pgr_labelGraph - Use the components family of functions instead." msgstr "" -#: ../../build/doc/release_notes.rst:340 +#: ../../build/doc/release_notes.rst:357 msgid "Max flow - functions were renamed on v2.5.0" msgstr "" -#: ../../build/doc/release_notes.rst:342 +#: ../../build/doc/release_notes.rst:359 msgid "pgr_maxFlowPushRelabel" msgstr "" -#: ../../build/doc/release_notes.rst:343 +#: ../../build/doc/release_notes.rst:360 msgid "pgr_maxFlowBoykovKolmogorov" msgstr "" -#: ../../build/doc/release_notes.rst:344 +#: ../../build/doc/release_notes.rst:361 msgid "pgr_maxFlowEdmondsKarp" msgstr "" -#: ../../build/doc/release_notes.rst:345 +#: ../../build/doc/release_notes.rst:362 msgid "pgr_maximumcardinalitymatching" msgstr "" -#: ../../build/doc/release_notes.rst:347 +#: ../../build/doc/release_notes.rst:364 msgid "VRP" msgstr "" -#: ../../build/doc/release_notes.rst:349 +#: ../../build/doc/release_notes.rst:366 msgid "pgr_gsoc_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:351 +#: ../../build/doc/release_notes.rst:368 msgid "TSP old signatures" msgstr "" -#: ../../build/doc/release_notes.rst:352 +#: ../../build/doc/release_notes.rst:369 msgid "pgr_pointsAsPolygon" msgstr "" -#: ../../build/doc/release_notes.rst:353 +#: ../../build/doc/release_notes.rst:370 msgid "pgr_alphaShape old signature" msgstr "" -#: ../../build/doc/release_notes.rst:359 +#: ../../build/doc/release_notes.rst:376 msgid "pgRouting 2.6.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:361 +#: ../../build/doc/release_notes.rst:378 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:364 -#: ../../build/doc/release_notes.rst:378 -#: ../../build/doc/release_notes.rst:436 -#: ../../build/doc/release_notes.rst:465 -#: ../../build/doc/release_notes.rst:518 -#: ../../build/doc/release_notes.rst:529 -#: ../../build/doc/release_notes.rst:541 -#: ../../build/doc/release_notes.rst:623 -#: ../../build/doc/release_notes.rst:637 -#: ../../build/doc/release_notes.rst:674 -#: ../../build/doc/release_notes.rst:1028 -#: ../../build/doc/release_notes.rst:1035 -#: ../../build/doc/release_notes.rst:1056 -#: ../../build/doc/release_notes.rst:1063 +#: ../../build/doc/release_notes.rst:381 +#: ../../build/doc/release_notes.rst:395 +#: ../../build/doc/release_notes.rst:453 +#: ../../build/doc/release_notes.rst:482 +#: ../../build/doc/release_notes.rst:535 +#: ../../build/doc/release_notes.rst:546 +#: ../../build/doc/release_notes.rst:558 +#: ../../build/doc/release_notes.rst:640 +#: ../../build/doc/release_notes.rst:654 +#: ../../build/doc/release_notes.rst:691 +#: ../../build/doc/release_notes.rst:1045 +#: ../../build/doc/release_notes.rst:1052 +#: ../../build/doc/release_notes.rst:1073 +#: ../../build/doc/release_notes.rst:1080 msgid "Bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:365 +#: ../../build/doc/release_notes.rst:382 msgid "`#1219 `__ Implicit cast for via_path integer to text" msgstr "" -#: ../../build/doc/release_notes.rst:366 +#: ../../build/doc/release_notes.rst:383 msgid "`#1193 `__ Fixed pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" msgstr "" -#: ../../build/doc/release_notes.rst:367 +#: ../../build/doc/release_notes.rst:384 msgid "`#1185 `__ Improve FindPostgreSQL.cmake" msgstr "" -#: ../../build/doc/release_notes.rst:373 +#: ../../build/doc/release_notes.rst:390 msgid "pgRouting 2.6.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:375 +#: ../../build/doc/release_notes.rst:392 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:379 +#: ../../build/doc/release_notes.rst:396 msgid "`#1152 `__ Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:380 +#: ../../build/doc/release_notes.rst:397 msgid "`#1098 `__ Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:381 +#: ../../build/doc/release_notes.rst:398 msgid "`#1165 `__ Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:386 +#: ../../build/doc/release_notes.rst:403 msgid "pgRouting 2.6.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:388 +#: ../../build/doc/release_notes.rst:405 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:390 -#: ../../build/doc/release_notes.rst:477 +#: ../../build/doc/release_notes.rst:407 +#: ../../build/doc/release_notes.rst:494 msgid "Fixes server crash on several functions." msgstr "" -#: ../../build/doc/release_notes.rst:392 -#: ../../build/doc/release_notes.rst:479 -#: ../../build/doc/release_notes.rst:837 +#: ../../build/doc/release_notes.rst:409 +#: ../../build/doc/release_notes.rst:496 +#: ../../build/doc/release_notes.rst:854 msgid "pgr_floydWarshall" msgstr "" -#: ../../build/doc/release_notes.rst:393 -#: ../../build/doc/release_notes.rst:480 +#: ../../build/doc/release_notes.rst:410 +#: ../../build/doc/release_notes.rst:497 msgid "pgr_johnson" msgstr "" -#: ../../build/doc/release_notes.rst:394 -#: ../../build/doc/release_notes.rst:481 +#: ../../build/doc/release_notes.rst:411 +#: ../../build/doc/release_notes.rst:498 msgid "pgr_astar" msgstr "" -#: ../../build/doc/release_notes.rst:395 -#: ../../build/doc/release_notes.rst:482 +#: ../../build/doc/release_notes.rst:412 +#: ../../build/doc/release_notes.rst:499 msgid "pgr_bdAstar" msgstr "" -#: ../../build/doc/release_notes.rst:396 -#: ../../build/doc/release_notes.rst:483 +#: ../../build/doc/release_notes.rst:413 +#: ../../build/doc/release_notes.rst:500 msgid "pgr_bdDijstra" msgstr "" -#: ../../build/doc/release_notes.rst:397 -#: ../../build/doc/release_notes.rst:484 +#: ../../build/doc/release_notes.rst:414 +#: ../../build/doc/release_notes.rst:501 msgid "pgr_alphashape" msgstr "" -#: ../../build/doc/release_notes.rst:398 -#: ../../build/doc/release_notes.rst:485 -#: ../../build/doc/release_notes.rst:730 +#: ../../build/doc/release_notes.rst:415 +#: ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:747 msgid "pgr_dijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:399 -#: ../../build/doc/release_notes.rst:486 +#: ../../build/doc/release_notes.rst:416 +#: ../../build/doc/release_notes.rst:503 msgid "pgr_dijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:400 -#: ../../build/doc/release_notes.rst:487 +#: ../../build/doc/release_notes.rst:417 +#: ../../build/doc/release_notes.rst:504 msgid "pgr_dijkstraCost" msgstr "" -#: ../../build/doc/release_notes.rst:401 -#: ../../build/doc/release_notes.rst:488 +#: ../../build/doc/release_notes.rst:418 +#: ../../build/doc/release_notes.rst:505 msgid "pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:402 -#: ../../build/doc/release_notes.rst:489 +#: ../../build/doc/release_notes.rst:419 +#: ../../build/doc/release_notes.rst:506 msgid "pgr_KSP" msgstr "" -#: ../../build/doc/release_notes.rst:403 -#: ../../build/doc/release_notes.rst:490 +#: ../../build/doc/release_notes.rst:420 +#: ../../build/doc/release_notes.rst:507 msgid "pgr_dijkstraVia (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:404 -#: ../../build/doc/release_notes.rst:491 +#: ../../build/doc/release_notes.rst:421 +#: ../../build/doc/release_notes.rst:508 msgid "pgr_boykovKolmogorov (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:405 -#: ../../build/doc/release_notes.rst:492 +#: ../../build/doc/release_notes.rst:422 +#: ../../build/doc/release_notes.rst:509 msgid "pgr_edgeDisjointPaths (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:406 -#: ../../build/doc/release_notes.rst:493 +#: ../../build/doc/release_notes.rst:423 +#: ../../build/doc/release_notes.rst:510 msgid "pgr_edmondsKarp (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:407 -#: ../../build/doc/release_notes.rst:494 +#: ../../build/doc/release_notes.rst:424 +#: ../../build/doc/release_notes.rst:511 msgid "pgr_maxCardinalityMatch (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:408 -#: ../../build/doc/release_notes.rst:495 +#: ../../build/doc/release_notes.rst:425 +#: ../../build/doc/release_notes.rst:512 msgid "pgr_maxFlow (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:409 -#: ../../build/doc/release_notes.rst:496 +#: ../../build/doc/release_notes.rst:426 +#: ../../build/doc/release_notes.rst:513 msgid "pgr_withPoints (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:410 -#: ../../build/doc/release_notes.rst:497 +#: ../../build/doc/release_notes.rst:427 +#: ../../build/doc/release_notes.rst:514 msgid "pgr_withPointsCost (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:411 -#: ../../build/doc/release_notes.rst:498 +#: ../../build/doc/release_notes.rst:428 +#: ../../build/doc/release_notes.rst:515 msgid "pgr_withPointsKSP (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:412 -#: ../../build/doc/release_notes.rst:499 +#: ../../build/doc/release_notes.rst:429 +#: ../../build/doc/release_notes.rst:516 msgid "pgr_withPointsDD (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:413 -#: ../../build/doc/release_notes.rst:500 +#: ../../build/doc/release_notes.rst:430 +#: ../../build/doc/release_notes.rst:517 msgid "pgr_withPointsCostMatrix (proposed)" msgstr "" -#: ../../build/doc/release_notes.rst:414 -#: ../../build/doc/release_notes.rst:501 +#: ../../build/doc/release_notes.rst:431 +#: ../../build/doc/release_notes.rst:518 msgid "pgr_contractGraph (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:415 -#: ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:432 +#: ../../build/doc/release_notes.rst:519 msgid "pgr_pushRelabel (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:416 -#: ../../build/doc/release_notes.rst:503 +#: ../../build/doc/release_notes.rst:433 +#: ../../build/doc/release_notes.rst:520 msgid "pgr_vrpOneDepot (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:417 -#: ../../build/doc/release_notes.rst:504 +#: ../../build/doc/release_notes.rst:434 +#: ../../build/doc/release_notes.rst:521 msgid "pgr_gsoc_vrppdtw (experimental)" msgstr "" -#: ../../build/doc/release_notes.rst:418 -#: ../../build/doc/release_notes.rst:505 +#: ../../build/doc/release_notes.rst:435 +#: ../../build/doc/release_notes.rst:522 msgid "Fixes for deprecated functions where also applied but not tested" msgstr "" -#: ../../build/doc/release_notes.rst:420 -#: ../../build/doc/release_notes.rst:507 +#: ../../build/doc/release_notes.rst:437 +#: ../../build/doc/release_notes.rst:524 msgid "Removed compilation warning for g++8" msgstr "" -#: ../../build/doc/release_notes.rst:421 -#: ../../build/doc/release_notes.rst:508 +#: ../../build/doc/release_notes.rst:438 +#: ../../build/doc/release_notes.rst:525 msgid "Fixed a fallthrugh on Astar and bdAstar." msgstr "" -#: ../../build/doc/release_notes.rst:426 +#: ../../build/doc/release_notes.rst:443 msgid "pgRouting 2.6.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:428 +#: ../../build/doc/release_notes.rst:445 msgid "To see the issues closed by this release see the `Git closed milestone for 2.6.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:432 +#: ../../build/doc/release_notes.rst:449 msgid "New fexperimental functions" msgstr "" -#: ../../build/doc/release_notes.rst:433 -#: ../../build/doc/release_notes.rst:588 +#: ../../build/doc/release_notes.rst:450 +#: ../../build/doc/release_notes.rst:605 msgid "pgr_lineGraphFull" msgstr "" -#: ../../build/doc/release_notes.rst:437 +#: ../../build/doc/release_notes.rst:454 msgid "Fix pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean[,text])" msgstr "" -#: ../../build/doc/release_notes.rst:439 +#: ../../build/doc/release_notes.rst:456 msgid "without restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:441 +#: ../../build/doc/release_notes.rst:458 msgid "calls pgr_dijkstra when both end points have a fraction IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:442 +#: ../../build/doc/release_notes.rst:459 msgid "calls pgr_withPoints when at least one fraction NOT IN (0,1)" msgstr "" -#: ../../build/doc/release_notes.rst:444 +#: ../../build/doc/release_notes.rst:461 msgid "with restrictions" msgstr "" -#: ../../build/doc/release_notes.rst:446 +#: ../../build/doc/release_notes.rst:463 msgid "calls original trsp code" msgstr "" -#: ../../build/doc/release_notes.rst:449 +#: ../../build/doc/release_notes.rst:466 msgid "Internal code" msgstr "" -#: ../../build/doc/release_notes.rst:450 +#: ../../build/doc/release_notes.rst:467 msgid "Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [, text])" msgstr "" -#: ../../build/doc/release_notes.rst:452 +#: ../../build/doc/release_notes.rst:469 msgid "Removed the use of pointers" msgstr "" -#: ../../build/doc/release_notes.rst:453 +#: ../../build/doc/release_notes.rst:470 msgid "Internal code can accept BIGINT" msgstr "" -#: ../../build/doc/release_notes.rst:455 +#: ../../build/doc/release_notes.rst:472 msgid "Cleaned the internal code of withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:460 +#: ../../build/doc/release_notes.rst:477 msgid "pgRouting 2.5.5 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:462 +#: ../../build/doc/release_notes.rst:479 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.5 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:466 +#: ../../build/doc/release_notes.rst:483 msgid "Fixes driving distance when vertex is not part of the graph" msgstr "" -#: ../../build/doc/release_notes.rst:467 +#: ../../build/doc/release_notes.rst:484 msgid "Fixes windows test" msgstr "" -#: ../../build/doc/release_notes.rst:468 +#: ../../build/doc/release_notes.rst:485 msgid "Fixes build for python3 and perl5" msgstr "" -#: ../../build/doc/release_notes.rst:473 +#: ../../build/doc/release_notes.rst:490 msgid "pgRouting 2.5.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:475 +#: ../../build/doc/release_notes.rst:492 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.4 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:513 +#: ../../build/doc/release_notes.rst:530 msgid "pgRouting 2.5.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:515 +#: ../../build/doc/release_notes.rst:532 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:519 +#: ../../build/doc/release_notes.rst:536 msgid "Fix for postgresql 11: Removed a compilation error when compiling with postgreSQL" msgstr "" -#: ../../build/doc/release_notes.rst:524 +#: ../../build/doc/release_notes.rst:541 msgid "pgRouting 2.5.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:526 +#: ../../build/doc/release_notes.rst:543 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:530 +#: ../../build/doc/release_notes.rst:547 msgid "Fix for postgresql 10.1: Removed a compiler condition" msgstr "" -#: ../../build/doc/release_notes.rst:536 +#: ../../build/doc/release_notes.rst:553 msgid "pgRouting 2.5.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:538 +#: ../../build/doc/release_notes.rst:555 msgid "To see the issues closed by this release see the `Git closed milestone for 2.5.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:542 +#: ../../build/doc/release_notes.rst:559 msgid "Fixed prerequisite minimum version of: cmake" msgstr "" -#: ../../build/doc/release_notes.rst:548 +#: ../../build/doc/release_notes.rst:565 msgid "pgRouting 2.5.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:550 +#: ../../build/doc/release_notes.rst:567 msgid "To see the issues closed by this release see the `Git closed issues for 2.5.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:554 +#: ../../build/doc/release_notes.rst:571 msgid "enhancement:" msgstr "" -#: ../../build/doc/release_notes.rst:555 +#: ../../build/doc/release_notes.rst:572 msgid "pgr_version is now on SQL language" msgstr "" -#: ../../build/doc/release_notes.rst:558 +#: ../../build/doc/release_notes.rst:575 msgid "Breaking change on:" msgstr "" -#: ../../build/doc/release_notes.rst:559 +#: ../../build/doc/release_notes.rst:576 msgid "pgr_edgeDisjointPaths:" msgstr "" -#: ../../build/doc/release_notes.rst:561 +#: ../../build/doc/release_notes.rst:578 msgid "Added path_id, cost and agg_cost columns on the result" msgstr "" -#: ../../build/doc/release_notes.rst:562 +#: ../../build/doc/release_notes.rst:579 msgid "Parameter names changed" msgstr "" -#: ../../build/doc/release_notes.rst:563 +#: ../../build/doc/release_notes.rst:580 msgid "The many version results are the union of the one to one version" msgstr "" -#: ../../build/doc/release_notes.rst:566 +#: ../../build/doc/release_notes.rst:583 msgid "New Signatures:" msgstr "" -#: ../../build/doc/release_notes.rst:567 +#: ../../build/doc/release_notes.rst:584 msgid "pgr_bdAstar(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:570 -#: ../../build/doc/release_notes.rst:729 +#: ../../build/doc/release_notes.rst:587 +#: ../../build/doc/release_notes.rst:746 msgid "New Proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:578 +#: ../../build/doc/release_notes.rst:595 msgid "pgr_bdAstarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:586 +#: ../../build/doc/release_notes.rst:603 msgid "pgr_bdDijkstraCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:587 +#: ../../build/doc/release_notes.rst:604 msgid "pgr_lineGraph" msgstr "" -#: ../../build/doc/release_notes.rst:596 -#: ../../build/doc/release_notes.rst:666 -#: ../../build/doc/release_notes.rst:753 +#: ../../build/doc/release_notes.rst:613 +#: ../../build/doc/release_notes.rst:683 +#: ../../build/doc/release_notes.rst:770 msgid "Deprecated Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:597 +#: ../../build/doc/release_notes.rst:614 msgid "pgr_bdastar - use pgr_bdAstar instead" msgstr "" -#: ../../build/doc/release_notes.rst:600 +#: ../../build/doc/release_notes.rst:617 msgid "Renamed Functions" msgstr "" -#: ../../build/doc/release_notes.rst:601 +#: ../../build/doc/release_notes.rst:618 msgid "pgr_maxFlowPushRelabel - use pgr_pushRelabel instead" msgstr "" -#: ../../build/doc/release_notes.rst:602 +#: ../../build/doc/release_notes.rst:619 msgid "pgr_maxFlowEdmondsKarp -use pgr_edmondsKarp instead" msgstr "" -#: ../../build/doc/release_notes.rst:603 +#: ../../build/doc/release_notes.rst:620 msgid "pgr_maxFlowBoykovKolmogorov - use pgr_boykovKolmogorov instead" msgstr "" -#: ../../build/doc/release_notes.rst:604 +#: ../../build/doc/release_notes.rst:621 msgid "pgr_maximumCardinalityMatching - use pgr_maxCardinalityMatch instead" msgstr "" -#: ../../build/doc/release_notes.rst:607 +#: ../../build/doc/release_notes.rst:624 msgid "Deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:608 +#: ../../build/doc/release_notes.rst:625 msgid "pgr_pointToEdgeNode" msgstr "" -#: ../../build/doc/release_notes.rst:614 +#: ../../build/doc/release_notes.rst:631 msgid "pgRouting 2.4.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:616 +#: ../../build/doc/release_notes.rst:633 msgid "To see the issues closed by this release see the `Git closed milestone for 2.4.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:619 +#: ../../build/doc/release_notes.rst:636 msgid "Improvement" msgstr "" -#: ../../build/doc/release_notes.rst:620 +#: ../../build/doc/release_notes.rst:637 msgid "Works for postgreSQL 10" msgstr "" -#: ../../build/doc/release_notes.rst:624 +#: ../../build/doc/release_notes.rst:641 msgid "Fixed: Unexpected error column \"cname\"" msgstr "" -#: ../../build/doc/release_notes.rst:625 +#: ../../build/doc/release_notes.rst:642 msgid "Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" msgstr "" -#: ../../build/doc/release_notes.rst:632 +#: ../../build/doc/release_notes.rst:649 msgid "pgRouting 2.4.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:634 +#: ../../build/doc/release_notes.rst:651 msgid "To see the issues closed by this release see the `Git closed milestone for 2.4.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:638 +#: ../../build/doc/release_notes.rst:655 msgid "Fixed compiling error on macOS" msgstr "" -#: ../../build/doc/release_notes.rst:639 +#: ../../build/doc/release_notes.rst:656 msgid "Condition error on pgr_withPoints" msgstr "" -#: ../../build/doc/release_notes.rst:644 +#: ../../build/doc/release_notes.rst:661 msgid "pgRouting 2.4.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:646 +#: ../../build/doc/release_notes.rst:663 msgid "To see the issues closed by this release see the `Git closed issues for 2.4.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:649 -#: ../../build/doc/release_notes.rst:719 -#: ../../build/doc/release_notes.rst:880 +#: ../../build/doc/release_notes.rst:666 +#: ../../build/doc/release_notes.rst:736 +#: ../../build/doc/release_notes.rst:897 msgid "New Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:650 +#: ../../build/doc/release_notes.rst:667 msgid "pgr_bdDijkstra" msgstr "" -#: ../../build/doc/release_notes.rst:654 +#: ../../build/doc/release_notes.rst:671 msgid "New Proposed Signatures" msgstr "" -#: ../../build/doc/release_notes.rst:656 +#: ../../build/doc/release_notes.rst:673 msgid "pgr_astar(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:657 +#: ../../build/doc/release_notes.rst:674 msgid "pgr_astar(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:658 +#: ../../build/doc/release_notes.rst:675 msgid "pgr_astar(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:659 +#: ../../build/doc/release_notes.rst:676 msgid "pgr_astarCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:660 +#: ../../build/doc/release_notes.rst:677 msgid "pgr_astarCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:661 +#: ../../build/doc/release_notes.rst:678 msgid "pgr_astarCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:662 +#: ../../build/doc/release_notes.rst:679 msgid "pgr_astarCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:663 +#: ../../build/doc/release_notes.rst:680 msgid "pgr_astarCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:667 +#: ../../build/doc/release_notes.rst:684 msgid "pgr_bddijkstra - use pgr_bdDijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:670 -#: ../../build/doc/release_notes.rst:759 +#: ../../build/doc/release_notes.rst:687 +#: ../../build/doc/release_notes.rst:776 msgid "Deprecated Functions" msgstr "" -#: ../../build/doc/release_notes.rst:671 +#: ../../build/doc/release_notes.rst:688 msgid "pgr_pointsToVids" msgstr "" -#: ../../build/doc/release_notes.rst:675 +#: ../../build/doc/release_notes.rst:692 msgid "Bug fixes on proposed functions" msgstr "" -#: ../../build/doc/release_notes.rst:677 +#: ../../build/doc/release_notes.rst:694 msgid "pgr_withPointsKSP: fixed ordering" msgstr "" -#: ../../build/doc/release_notes.rst:679 +#: ../../build/doc/release_notes.rst:696 msgid "TRSP original code is used with no changes on the compilation warnings" msgstr "" -#: ../../build/doc/release_notes.rst:684 +#: ../../build/doc/release_notes.rst:701 msgid "pgRouting 2.3.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:686 +#: ../../build/doc/release_notes.rst:703 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:690 +#: ../../build/doc/release_notes.rst:707 msgid "Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck." msgstr "" -#: ../../build/doc/release_notes.rst:691 +#: ../../build/doc/release_notes.rst:708 msgid "Fixed pgr_trsp:" msgstr "" -#: ../../build/doc/release_notes.rst:693 +#: ../../build/doc/release_notes.rst:710 msgid "Alternate code is not executed when the point is in reality a vertex" msgstr "" -#: ../../build/doc/release_notes.rst:694 +#: ../../build/doc/release_notes.rst:711 msgid "Fixed ambiguity on seq" msgstr "" -#: ../../build/doc/release_notes.rst:700 +#: ../../build/doc/release_notes.rst:717 msgid "pgRouting 2.3.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:702 +#: ../../build/doc/release_notes.rst:719 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:706 +#: ../../build/doc/release_notes.rst:723 msgid "Leaks on proposed max_flow functions" msgstr "" -#: ../../build/doc/release_notes.rst:707 +#: ../../build/doc/release_notes.rst:724 msgid "Regression error on pgr_trsp" msgstr "" -#: ../../build/doc/release_notes.rst:708 +#: ../../build/doc/release_notes.rst:725 msgid "Types discrepancy on pgr_createVerticesTable" msgstr "" -#: ../../build/doc/release_notes.rst:714 +#: ../../build/doc/release_notes.rst:731 msgid "pgRouting 2.3.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:716 +#: ../../build/doc/release_notes.rst:733 msgid "To see the issues closed by this release see the `Git closed issues for 2.3.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:720 +#: ../../build/doc/release_notes.rst:737 msgid "pgr_TSP" msgstr "" -#: ../../build/doc/release_notes.rst:721 +#: ../../build/doc/release_notes.rst:738 msgid "pgr_aStar" msgstr "" -#: ../../build/doc/release_notes.rst:724 -#: ../../build/doc/release_notes.rst:836 +#: ../../build/doc/release_notes.rst:741 +#: ../../build/doc/release_notes.rst:853 msgid "New Functions" msgstr "" -#: ../../build/doc/release_notes.rst:725 +#: ../../build/doc/release_notes.rst:742 msgid "pgr_eucledianTSP" msgstr "" -#: ../../build/doc/release_notes.rst:731 +#: ../../build/doc/release_notes.rst:748 msgid "pgr_withPointsCostMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:732 +#: ../../build/doc/release_notes.rst:749 msgid "pgr_maxFlowPushRelabel(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:733 +#: ../../build/doc/release_notes.rst:750 msgid "pgr_maxFlowPushRelabel(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:734 +#: ../../build/doc/release_notes.rst:751 msgid "pgr_maxFlowPushRelabel(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:735 +#: ../../build/doc/release_notes.rst:752 msgid "pgr_maxFlowPushRelabel(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:736 +#: ../../build/doc/release_notes.rst:753 msgid "pgr_maxFlowEdmondsKarp(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:737 +#: ../../build/doc/release_notes.rst:754 msgid "pgr_maxFlowEdmondsKarp(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:738 +#: ../../build/doc/release_notes.rst:755 msgid "pgr_maxFlowEdmondsKarp(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:739 +#: ../../build/doc/release_notes.rst:756 msgid "pgr_maxFlowEdmondsKarp(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:740 +#: ../../build/doc/release_notes.rst:757 msgid "pgr_maxFlowBoykovKolmogorov (one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:741 +#: ../../build/doc/release_notes.rst:758 msgid "pgr_maxFlowBoykovKolmogorov (one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:742 +#: ../../build/doc/release_notes.rst:759 msgid "pgr_maxFlowBoykovKolmogorov (many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:743 +#: ../../build/doc/release_notes.rst:760 msgid "pgr_maxFlowBoykovKolmogorov (many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:744 +#: ../../build/doc/release_notes.rst:761 msgid "pgr_maximumCardinalityMatching" msgstr "" -#: ../../build/doc/release_notes.rst:749 +#: ../../build/doc/release_notes.rst:766 msgid "pgr_contractGraph" msgstr "" -#: ../../build/doc/release_notes.rst:754 +#: ../../build/doc/release_notes.rst:771 msgid "pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead" msgstr "" -#: ../../build/doc/release_notes.rst:755 +#: ../../build/doc/release_notes.rst:772 msgid "pgr_astar - use pgr_aStar instead" msgstr "" -#: ../../build/doc/release_notes.rst:760 +#: ../../build/doc/release_notes.rst:777 msgid "pgr_flip_edges" msgstr "" -#: ../../build/doc/release_notes.rst:761 +#: ../../build/doc/release_notes.rst:778 msgid "pgr_vidsToDmatrix" msgstr "" -#: ../../build/doc/release_notes.rst:762 +#: ../../build/doc/release_notes.rst:779 msgid "pgr_pointsToDMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:763 +#: ../../build/doc/release_notes.rst:780 msgid "pgr_textToPoints" msgstr "" -#: ../../build/doc/release_notes.rst:770 +#: ../../build/doc/release_notes.rst:787 msgid "pgRouting 2.2.4 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:772 +#: ../../build/doc/release_notes.rst:789 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.4 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:776 +#: ../../build/doc/release_notes.rst:793 msgid "Bogus uses of extern \"C\"" msgstr "" -#: ../../build/doc/release_notes.rst:777 +#: ../../build/doc/release_notes.rst:794 msgid "Build error on Fedora 24 + GCC 6.0" msgstr "" -#: ../../build/doc/release_notes.rst:778 +#: ../../build/doc/release_notes.rst:795 msgid "Regression error pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:783 +#: ../../build/doc/release_notes.rst:800 msgid "pgRouting 2.2.3 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:785 +#: ../../build/doc/release_notes.rst:802 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.3 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:789 +#: ../../build/doc/release_notes.rst:806 msgid "Fixed compatibility issues with PostgreSQL 9.6." msgstr "" -#: ../../build/doc/release_notes.rst:794 +#: ../../build/doc/release_notes.rst:811 msgid "pgRouting 2.2.2 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:796 +#: ../../build/doc/release_notes.rst:813 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.2 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:800 +#: ../../build/doc/release_notes.rst:817 msgid "Fixed regression error on pgr_drivingDistance" msgstr "" -#: ../../build/doc/release_notes.rst:806 +#: ../../build/doc/release_notes.rst:823 msgid "pgRouting 2.2.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:808 +#: ../../build/doc/release_notes.rst:825 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.1 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:812 +#: ../../build/doc/release_notes.rst:829 msgid "Server crash fix on pgr_alphaShape" msgstr "" -#: ../../build/doc/release_notes.rst:813 +#: ../../build/doc/release_notes.rst:830 msgid "Bug fix on With Points family of functions" msgstr "" -#: ../../build/doc/release_notes.rst:819 +#: ../../build/doc/release_notes.rst:836 msgid "pgRouting 2.2.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:821 +#: ../../build/doc/release_notes.rst:838 msgid "To see the issues closed by this release see the `Git closed issues for 2.2.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:825 -#: ../../build/doc/release_notes.rst:893 +#: ../../build/doc/release_notes.rst:842 +#: ../../build/doc/release_notes.rst:910 msgid "Improvements" msgstr "" -#: ../../build/doc/release_notes.rst:826 +#: ../../build/doc/release_notes.rst:843 msgid "pgr_nodeNetwork" msgstr "" -#: ../../build/doc/release_notes.rst:828 +#: ../../build/doc/release_notes.rst:845 msgid "Adding a row_where and outall optional parameters" msgstr "" -#: ../../build/doc/release_notes.rst:830 +#: ../../build/doc/release_notes.rst:847 msgid "Signature fix" msgstr "" -#: ../../build/doc/release_notes.rst:832 +#: ../../build/doc/release_notes.rst:849 msgid "pgr_dijkstra -- to match what is documented" msgstr "" -#: ../../build/doc/release_notes.rst:838 +#: ../../build/doc/release_notes.rst:855 msgid "pgr_Johnson" msgstr "" -#: ../../build/doc/release_notes.rst:839 +#: ../../build/doc/release_notes.rst:856 msgid "pgr_dijkstraCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:840 +#: ../../build/doc/release_notes.rst:857 msgid "pgr_dijkstraCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:841 +#: ../../build/doc/release_notes.rst:858 msgid "pgr_dijkstraCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:842 +#: ../../build/doc/release_notes.rst:859 msgid "pgr_dijkstraCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:845 -#: ../../build/doc/release_notes.rst:897 +#: ../../build/doc/release_notes.rst:862 +#: ../../build/doc/release_notes.rst:914 msgid "Proposed functionality" msgstr "" -#: ../../build/doc/release_notes.rst:846 +#: ../../build/doc/release_notes.rst:863 msgid "pgr_withPoints(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:847 +#: ../../build/doc/release_notes.rst:864 msgid "pgr_withPoints(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:848 +#: ../../build/doc/release_notes.rst:865 msgid "pgr_withPoints(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:849 +#: ../../build/doc/release_notes.rst:866 msgid "pgr_withPoints(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:850 +#: ../../build/doc/release_notes.rst:867 msgid "pgr_withPointsCost(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:851 +#: ../../build/doc/release_notes.rst:868 msgid "pgr_withPointsCost(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:852 +#: ../../build/doc/release_notes.rst:869 msgid "pgr_withPointsCost(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:853 +#: ../../build/doc/release_notes.rst:870 msgid "pgr_withPointsCost(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:854 +#: ../../build/doc/release_notes.rst:871 msgid "pgr_withPointsDD(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:855 +#: ../../build/doc/release_notes.rst:872 msgid "pgr_withPointsDD(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:856 +#: ../../build/doc/release_notes.rst:873 msgid "pgr_withPointsKSP" msgstr "" -#: ../../build/doc/release_notes.rst:857 +#: ../../build/doc/release_notes.rst:874 msgid "pgr_dijkstraVia" msgstr "" -#: ../../build/doc/release_notes.rst:861 +#: ../../build/doc/release_notes.rst:878 msgid "Deprecated functions:" msgstr "" -#: ../../build/doc/release_notes.rst:862 +#: ../../build/doc/release_notes.rst:879 msgid "pgr_apspWarshall use pgr_floydWarshall instead" msgstr "" -#: ../../build/doc/release_notes.rst:863 +#: ../../build/doc/release_notes.rst:880 msgid "pgr_apspJohnson use pgr_Johnson instead" msgstr "" -#: ../../build/doc/release_notes.rst:864 +#: ../../build/doc/release_notes.rst:881 msgid "pgr_kDijkstraCost use pgr_dijkstraCost instead" msgstr "" -#: ../../build/doc/release_notes.rst:865 +#: ../../build/doc/release_notes.rst:882 msgid "pgr_kDijkstraPath use pgr_dijkstra instead" msgstr "" -#: ../../build/doc/release_notes.rst:868 +#: ../../build/doc/release_notes.rst:885 msgid "Renamed and deprecated function" msgstr "" -#: ../../build/doc/release_notes.rst:869 +#: ../../build/doc/release_notes.rst:886 msgid "pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix" msgstr "" -#: ../../build/doc/release_notes.rst:875 +#: ../../build/doc/release_notes.rst:892 msgid "pgRouting 2.1.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:877 +#: ../../build/doc/release_notes.rst:894 msgid "To see the issues closed by this release see the `Git closed issues for 2.1.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:881 +#: ../../build/doc/release_notes.rst:898 msgid "pgr_dijkstra(one to many)" msgstr "" -#: ../../build/doc/release_notes.rst:882 +#: ../../build/doc/release_notes.rst:899 msgid "pgr_dijkstra(many to one)" msgstr "" -#: ../../build/doc/release_notes.rst:883 +#: ../../build/doc/release_notes.rst:900 msgid "pgr_dijkstra(many to many)" msgstr "" -#: ../../build/doc/release_notes.rst:884 +#: ../../build/doc/release_notes.rst:901 msgid "pgr_drivingDistance(multiple vertices)" msgstr "" -#: ../../build/doc/release_notes.rst:887 +#: ../../build/doc/release_notes.rst:904 msgid "Refactored" msgstr "" -#: ../../build/doc/release_notes.rst:888 +#: ../../build/doc/release_notes.rst:905 msgid "pgr_dijkstra(one to one)" msgstr "" -#: ../../build/doc/release_notes.rst:889 +#: ../../build/doc/release_notes.rst:906 msgid "pgr_ksp" msgstr "" -#: ../../build/doc/release_notes.rst:890 +#: ../../build/doc/release_notes.rst:907 msgid "pgr_drivingDistance(single vertex)" msgstr "" -#: ../../build/doc/release_notes.rst:894 +#: ../../build/doc/release_notes.rst:911 msgid "pgr_alphaShape function now can generate better (multi)polygon with holes and alpha parameter." msgstr "" -#: ../../build/doc/release_notes.rst:898 +#: ../../build/doc/release_notes.rst:915 msgid "Proposed functions from Steve Woodbridge, (Classified as Convenience by the author.)" msgstr "" -#: ../../build/doc/release_notes.rst:900 +#: ../../build/doc/release_notes.rst:917 msgid "pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on closest edge." msgstr "" -#: ../../build/doc/release_notes.rst:901 +#: ../../build/doc/release_notes.rst:918 msgid "pgr_flipEdges - flip the edges in an array of geometries so the connect end to end." msgstr "" -#: ../../build/doc/release_notes.rst:902 +#: ../../build/doc/release_notes.rst:919 msgid "pgr_textToPoints - convert a string of x,y;x,y;... locations into point geometries." msgstr "" -#: ../../build/doc/release_notes.rst:903 +#: ../../build/doc/release_notes.rst:920 msgid "pgr_pointsToVids - convert an array of point geometries into vertex ids." msgstr "" -#: ../../build/doc/release_notes.rst:904 +#: ../../build/doc/release_notes.rst:921 msgid "pgr_pointsToDMatrix - Create a distance matrix from an array of points." msgstr "" -#: ../../build/doc/release_notes.rst:905 -#: ../../build/doc/release_notes.rst:906 +#: ../../build/doc/release_notes.rst:922 +#: ../../build/doc/release_notes.rst:923 msgid "pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." msgstr "" -#: ../../build/doc/release_notes.rst:908 +#: ../../build/doc/release_notes.rst:925 msgid "Added proposed functions from GSoc Projects:" msgstr "" -#: ../../build/doc/release_notes.rst:910 +#: ../../build/doc/release_notes.rst:927 msgid "pgr_vrppdtw" msgstr "" -#: ../../build/doc/release_notes.rst:911 +#: ../../build/doc/release_notes.rst:928 msgid "pgr_vrponedepot" msgstr "" -#: ../../build/doc/release_notes.rst:914 +#: ../../build/doc/release_notes.rst:931 msgid "Deprecated functions" msgstr "" -#: ../../build/doc/release_notes.rst:915 +#: ../../build/doc/release_notes.rst:932 msgid "pgr_getColumnName" msgstr "" -#: ../../build/doc/release_notes.rst:916 +#: ../../build/doc/release_notes.rst:933 msgid "pgr_getTableName" msgstr "" -#: ../../build/doc/release_notes.rst:917 +#: ../../build/doc/release_notes.rst:934 msgid "pgr_isColumnCndexed" msgstr "" -#: ../../build/doc/release_notes.rst:918 +#: ../../build/doc/release_notes.rst:935 msgid "pgr_isColumnInTable" msgstr "" -#: ../../build/doc/release_notes.rst:919 +#: ../../build/doc/release_notes.rst:936 msgid "pgr_quote_ident" msgstr "" -#: ../../build/doc/release_notes.rst:920 +#: ../../build/doc/release_notes.rst:937 msgid "pgr_versionless" msgstr "" -#: ../../build/doc/release_notes.rst:921 +#: ../../build/doc/release_notes.rst:938 msgid "pgr_startPoint" msgstr "" -#: ../../build/doc/release_notes.rst:922 +#: ../../build/doc/release_notes.rst:939 msgid "pgr_endPoint" msgstr "" -#: ../../build/doc/release_notes.rst:923 +#: ../../build/doc/release_notes.rst:940 msgid "pgr_pointToId" msgstr "" -#: ../../build/doc/release_notes.rst:926 +#: ../../build/doc/release_notes.rst:943 msgid "No longer supported" msgstr "" -#: ../../build/doc/release_notes.rst:927 +#: ../../build/doc/release_notes.rst:944 msgid "Removed the 1.x legacy functions" msgstr "" -#: ../../build/doc/release_notes.rst:931 +#: ../../build/doc/release_notes.rst:948 msgid "Some bug fixes in other functions" msgstr "" -#: ../../build/doc/release_notes.rst:935 +#: ../../build/doc/release_notes.rst:952 msgid "Refactoring Internal Code" msgstr "" -#: ../../build/doc/release_notes.rst:936 +#: ../../build/doc/release_notes.rst:953 msgid "A C and C++ library for developer was created" msgstr "" -#: ../../build/doc/release_notes.rst:938 +#: ../../build/doc/release_notes.rst:955 msgid "encapsulates postgreSQL related functions" msgstr "" -#: ../../build/doc/release_notes.rst:939 +#: ../../build/doc/release_notes.rst:956 msgid "encapsulates Boost.Graph graphs" msgstr "" -#: ../../build/doc/release_notes.rst:941 +#: ../../build/doc/release_notes.rst:958 msgid "Directed Boost.Graph" msgstr "" -#: ../../build/doc/release_notes.rst:942 +#: ../../build/doc/release_notes.rst:959 msgid "Undirected Boost.graph." msgstr "" -#: ../../build/doc/release_notes.rst:944 +#: ../../build/doc/release_notes.rst:961 msgid "allow any-integer in the id's" msgstr "" -#: ../../build/doc/release_notes.rst:945 +#: ../../build/doc/release_notes.rst:962 msgid "allow any-numerical on the cost/reverse_cost columns" msgstr "" -#: ../../build/doc/release_notes.rst:947 +#: ../../build/doc/release_notes.rst:964 msgid "Instead of generating many libraries: - All functions are encapsulated in one library - The library has the prefix 2-1-0" msgstr "" -#: ../../build/doc/release_notes.rst:956 +#: ../../build/doc/release_notes.rst:973 msgid "pgRouting 2.0.1 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:958 +#: ../../build/doc/release_notes.rst:975 msgid "Minor bug fixes." msgstr "" -#: ../../build/doc/release_notes.rst:962 +#: ../../build/doc/release_notes.rst:979 msgid "No track of the bug fixes were kept." msgstr "" -#: ../../build/doc/release_notes.rst:968 +#: ../../build/doc/release_notes.rst:985 msgid "pgRouting 2.0.0 Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:970 +#: ../../build/doc/release_notes.rst:987 msgid "To see the issues closed by this release see the `Git closed issues for 2.0.0 `_ on Github." msgstr "" -#: ../../build/doc/release_notes.rst:972 +#: ../../build/doc/release_notes.rst:989 msgid "With the release of pgRouting 2.0.0 the library has abandoned backwards compatibility to :ref:`pgRouting 1.x ` releases. The main Goals for this release are:" msgstr "" -#: ../../build/doc/release_notes.rst:975 +#: ../../build/doc/release_notes.rst:992 msgid "Major restructuring of pgRouting." msgstr "" -#: ../../build/doc/release_notes.rst:976 +#: ../../build/doc/release_notes.rst:993 msgid "Standardization of the function naming" msgstr "" -#: ../../build/doc/release_notes.rst:977 +#: ../../build/doc/release_notes.rst:994 msgid "Preparation of the project for future development." msgstr "" -#: ../../build/doc/release_notes.rst:979 +#: ../../build/doc/release_notes.rst:996 msgid "As a result of this effort:" msgstr "" -#: ../../build/doc/release_notes.rst:981 +#: ../../build/doc/release_notes.rst:998 msgid "pgRouting has a simplified structure" msgstr "" -#: ../../build/doc/release_notes.rst:982 +#: ../../build/doc/release_notes.rst:999 msgid "Significant new functionality has being added" msgstr "" -#: ../../build/doc/release_notes.rst:983 +#: ../../build/doc/release_notes.rst:1000 msgid "Documentation has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:984 +#: ../../build/doc/release_notes.rst:1001 msgid "Testing has being integrated" msgstr "" -#: ../../build/doc/release_notes.rst:985 +#: ../../build/doc/release_notes.rst:1002 msgid "And made it easier for multiple developers to make contributions." msgstr "" -#: ../../build/doc/release_notes.rst:989 +#: ../../build/doc/release_notes.rst:1006 msgid "Important Changes" msgstr "" -#: ../../build/doc/release_notes.rst:990 +#: ../../build/doc/release_notes.rst:1007 msgid "Graph Analytics - tools for detecting and fixing connection some problems in a graph" msgstr "" -#: ../../build/doc/release_notes.rst:991 +#: ../../build/doc/release_notes.rst:1008 msgid "A collection of useful utility functions" msgstr "" -#: ../../build/doc/release_notes.rst:992 +#: ../../build/doc/release_notes.rst:1009 msgid "Two new All Pairs Short Path algorithms (pgr_apspJohnson, pgr_apspWarshall)" msgstr "" -#: ../../build/doc/release_notes.rst:993 +#: ../../build/doc/release_notes.rst:1010 msgid "Bi-directional Dijkstra and A-star search algorithms (pgr_bdAstar, pgr_bdDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:994 +#: ../../build/doc/release_notes.rst:1011 msgid "One to many nodes search (pgr_kDijkstra)" msgstr "" -#: ../../build/doc/release_notes.rst:995 +#: ../../build/doc/release_notes.rst:1012 msgid "K alternate paths shortest path (pgr_ksp)" msgstr "" -#: ../../build/doc/release_notes.rst:996 +#: ../../build/doc/release_notes.rst:1013 msgid "New TSP solver that simplifies the code and the build process (pgr_tsp), dropped \"Gaul Library\" dependency" msgstr "" -#: ../../build/doc/release_notes.rst:997 +#: ../../build/doc/release_notes.rst:1014 msgid "Turn Restricted shortest path (pgr_trsp) that replaces Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:998 +#: ../../build/doc/release_notes.rst:1015 msgid "Dropped support for Shooting Star" msgstr "" -#: ../../build/doc/release_notes.rst:999 +#: ../../build/doc/release_notes.rst:1016 msgid "Built a test infrastructure that is run before major code changes are checked in" msgstr "" -#: ../../build/doc/release_notes.rst:1000 +#: ../../build/doc/release_notes.rst:1017 msgid "Tested and fixed most all of the outstanding bugs reported against 1.x that existing in the 2.0-dev code base." msgstr "" -#: ../../build/doc/release_notes.rst:1001 +#: ../../build/doc/release_notes.rst:1018 msgid "Improved build process for Windows" msgstr "" -#: ../../build/doc/release_notes.rst:1002 +#: ../../build/doc/release_notes.rst:1019 msgid "Automated testing on Linux and Windows platforms trigger by every commit" msgstr "" -#: ../../build/doc/release_notes.rst:1003 +#: ../../build/doc/release_notes.rst:1020 msgid "Modular library design" msgstr "" -#: ../../build/doc/release_notes.rst:1004 +#: ../../build/doc/release_notes.rst:1021 msgid "Compatibility with PostgreSQL 9.1 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:1005 +#: ../../build/doc/release_notes.rst:1022 msgid "Compatibility with PostGIS 2.0 or newer" msgstr "" -#: ../../build/doc/release_notes.rst:1006 +#: ../../build/doc/release_notes.rst:1023 msgid "Installs as PostgreSQL EXTENSION" msgstr "" -#: ../../build/doc/release_notes.rst:1007 +#: ../../build/doc/release_notes.rst:1024 msgid "Return types re factored and unified" msgstr "" -#: ../../build/doc/release_notes.rst:1008 +#: ../../build/doc/release_notes.rst:1025 msgid "Support for table SCHEMA in function parameters" msgstr "" -#: ../../build/doc/release_notes.rst:1009 +#: ../../build/doc/release_notes.rst:1026 msgid "Support for ``st_`` PostGIS function prefix" msgstr "" -#: ../../build/doc/release_notes.rst:1010 +#: ../../build/doc/release_notes.rst:1027 msgid "Added ``pgr_`` prefix to functions and types" msgstr "" -#: ../../build/doc/release_notes.rst:1011 +#: ../../build/doc/release_notes.rst:1028 msgid "Better documentation: https://docs.pgrouting.org" msgstr "" -#: ../../build/doc/release_notes.rst:1012 +#: ../../build/doc/release_notes.rst:1029 msgid "shooting_star is discontinued" msgstr "" -#: ../../build/doc/release_notes.rst:1019 +#: ../../build/doc/release_notes.rst:1036 msgid "pgRouting 1.x Release Notes" msgstr "" -#: ../../build/doc/release_notes.rst:1021 +#: ../../build/doc/release_notes.rst:1038 msgid "To see the issues closed by this release see the `Git closed issues for 1.x `_ on Github. The following release notes have been copied from the previous ``RELEASE_NOTES`` file and are kept as a reference." msgstr "" -#: ../../build/doc/release_notes.rst:1026 +#: ../../build/doc/release_notes.rst:1043 msgid "Changes for release 1.05" msgstr "" -#: ../../build/doc/release_notes.rst:1032 +#: ../../build/doc/release_notes.rst:1049 msgid "Changes for release 1.03" msgstr "" -#: ../../build/doc/release_notes.rst:1034 +#: ../../build/doc/release_notes.rst:1051 msgid "Much faster topology creation" msgstr "" -#: ../../build/doc/release_notes.rst:1039 +#: ../../build/doc/release_notes.rst:1056 msgid "Changes for release 1.02" msgstr "" -#: ../../build/doc/release_notes.rst:1041 -#: ../../build/doc/release_notes.rst:1048 +#: ../../build/doc/release_notes.rst:1058 +#: ../../build/doc/release_notes.rst:1065 msgid "Shooting* bug fixes" msgstr "" -#: ../../build/doc/release_notes.rst:1042 +#: ../../build/doc/release_notes.rst:1059 msgid "Compilation problems solved" msgstr "" -#: ../../build/doc/release_notes.rst:1046 +#: ../../build/doc/release_notes.rst:1063 msgid "Changes for release 1.01" msgstr "" -#: ../../build/doc/release_notes.rst:1052 +#: ../../build/doc/release_notes.rst:1069 msgid "Changes for release 1.0" msgstr "" -#: ../../build/doc/release_notes.rst:1054 +#: ../../build/doc/release_notes.rst:1071 msgid "Core and extra functions are separated" msgstr "" -#: ../../build/doc/release_notes.rst:1055 +#: ../../build/doc/release_notes.rst:1072 msgid "Cmake build process" msgstr "" -#: ../../build/doc/release_notes.rst:1060 +#: ../../build/doc/release_notes.rst:1077 msgid "Changes for release 1.0.0b" msgstr "" -#: ../../build/doc/release_notes.rst:1062 +#: ../../build/doc/release_notes.rst:1079 msgid "Additional SQL file with more simple names for wrapper functions" msgstr "" -#: ../../build/doc/release_notes.rst:1067 +#: ../../build/doc/release_notes.rst:1084 msgid "Changes for release 1.0.0a" msgstr "" -#: ../../build/doc/release_notes.rst:1069 +#: ../../build/doc/release_notes.rst:1086 msgid "Shooting* shortest path algorithm for real road networks" msgstr "" -#: ../../build/doc/release_notes.rst:1070 +#: ../../build/doc/release_notes.rst:1087 msgid "Several SQL bugs were fixed" msgstr "" -#: ../../build/doc/release_notes.rst:1074 +#: ../../build/doc/release_notes.rst:1091 msgid "Changes for release 0.9.9" msgstr "" -#: ../../build/doc/release_notes.rst:1076 +#: ../../build/doc/release_notes.rst:1093 msgid "PostgreSQL 8.2 support" msgstr "" -#: ../../build/doc/release_notes.rst:1077 +#: ../../build/doc/release_notes.rst:1094 msgid "Shortest path functions return empty result if they could not find any path" msgstr "" -#: ../../build/doc/release_notes.rst:1081 +#: ../../build/doc/release_notes.rst:1098 msgid "Changes for release 0.9.8" msgstr "" -#: ../../build/doc/release_notes.rst:1083 +#: ../../build/doc/release_notes.rst:1100 msgid "Renumbering scheme was added to shortest path functions" msgstr "" -#: ../../build/doc/release_notes.rst:1084 +#: ../../build/doc/release_notes.rst:1101 msgid "Directed shortest path functions were added" msgstr "" -#: ../../build/doc/release_notes.rst:1085 +#: ../../build/doc/release_notes.rst:1102 msgid "routing_postgis.sql was modified to use dijkstra in TSP search" msgstr "" diff --git a/pgtap/alpha_shape/notebook-test.sql b/pgtap/alpha_shape/notebook-test.sql index 1902da6805b..9aaee1802e0 100644 --- a/pgtap/alpha_shape/notebook-test.sql +++ b/pgtap/alpha_shape/notebook-test.sql @@ -2,9 +2,9 @@ /* Data from -Benchmark tests with data from: -https://github.com/plotly/documentation/blob/source-design-merge/_posts/python/scientific/alpha-shapes/data-ex-2d.txt -https://plot.ly/python/alpha-shapes/ +Benchmark test with data from: +https://github.com/plotly/graphing-library-docs/blob/master/_posts/python-v3/scientific/alpha-shapes/data-ex-2d.txt +https://plotly.com/python/v3/alpha-shapes/ */ UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); SELECT plan(147); diff --git a/pgtap/pickDeliver/pickDeliver/innerQuery.sql b/pgtap/pickDeliver/pickDeliver/innerQuery.sql index 592dff45162..9f1ba0c7bf3 100644 --- a/pgtap/pickDeliver/pickDeliver/innerQuery.sql +++ b/pgtap/pickDeliver/pickDeliver/innerQuery.sql @@ -1,7 +1,8 @@ \i setup.sql +SET client_min_messages TO NOTICE; UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(77); +SELECT plan(80); SET client_min_messages TO ERROR; /* A call looks like this @@ -38,25 +39,31 @@ BEGIN END IF; start_sql = start_sql || p || ', '; END LOOP; - end_sql = ' FROM orders $$, $$SELECT * FROM vehicles $$, $sql1$ SELECT * from pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, ARRAY[3, 4, 5, 8, 9, 11]) $sql1$)'; + end_sql = ' FROM orders $$, $$SELECT * FROM vehicles $$, $sql1$ SELECT * from pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, + (SELECT array_agg(id) FROM (SELECT p_node_id AS id FROM orders + UNION + SELECT d_node_id FROM orders + UNION + SELECT start_node_id FROM vehicles) a)) $sql1$)'; query := start_sql || parameter || '::SMALLINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'SMALLINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::INTEGER ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'INTEGER on ' ||parameter||' is OK'); query := start_sql || parameter || '::BIGINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'BIGINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::REAL ' || end_sql; - RETURN query SELECT throws_ok(query); + RETURN query SELECT throws_ok(query,'XX000',$$Unexpected Column '$$||parameter||$$' type. Expected ANY-INTEGER$$,'Expected Exception REAL with '||parameter); query := start_sql || parameter || '::FLOAT8 ' || end_sql; - RETURN query SELECT throws_ok(query); + RETURN query SELECT throws_ok(query,'XX000',$$Unexpected Column '$$||parameter||$$' type. Expected ANY-INTEGER$$,'Expected Exception FLOAT8 with '||parameter); query := start_sql || parameter || '::NUMERIC ' || end_sql; - RETURN query SELECT throws_ok(query); + RETURN query SELECT throws_ok(query,'XX000',$$Unexpected Column '$$||parameter||$$' type. Expected ANY-INTEGER$$,'Expected Exception NUMERIC with '||parameter); + END; $BODY$ LANGUAGE plpgsql; @@ -76,25 +83,30 @@ BEGIN END IF; start_sql = start_sql || p || ', '; END LOOP; - end_sql = ' FROM orders $$, $$SELECT * FROM vehicles $$, $sql1$ SELECT * from pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, ARRAY[3, 4, 5, 8, 9, 11]) $sql1$)'; + end_sql = ' FROM orders $$, $$SELECT * FROM vehicles $$, $sql1$ SELECT * from pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, + (SELECT array_agg(id) FROM (SELECT p_node_id AS id FROM orders + UNION + SELECT d_node_id FROM orders + UNION + SELECT start_node_id FROM vehicles) a)) $sql1$)'; query := start_sql || parameter || '::SMALLINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'SMALLINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::INTEGER ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'INTEGER on ' ||parameter||' is OK'); query := start_sql || parameter || '::BIGINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'BIGINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::REAL ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'REAL on ' ||parameter||' is OK'); query := start_sql || parameter || '::FLOAT8 ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'FLOAT8 on ' ||parameter||' is OK'); query := start_sql || parameter || '::NUMERIC ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'NUMERIC ' ||parameter||' is OK'); END; $BODY$ LANGUAGE plpgsql; @@ -117,22 +129,32 @@ BEGIN END IF; start_sql = start_sql || p || ', '; END LOOP; - end_sql = ' FROM vehicles $$, $sql1$ SELECT * from pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, ARRAY[3, 4, 5, 8, 9, 11]) $sql1$)'; + end_sql = ' FROM vehicles $$, $sql1$ SELECT * from pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, + (SELECT array_agg(id) FROM (SELECT p_node_id AS id FROM orders + UNION + SELECT d_node_id FROM orders + UNION + SELECT start_node_id FROM vehicles) a)) $sql1$)'; + query := start_sql || parameter || '::SMALLINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'SMALLINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::INTEGER ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'INTEGER on ' ||parameter||' is OK'); query := start_sql || parameter || '::BIGINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'BIGINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::REAL ' || end_sql; - RETURN query SELECT throws_ok(query); + RETURN query SELECT throws_ok(query,'XX000',$$Unexpected Column '$$||parameter||$$' type. Expected ANY-INTEGER$$,'Expected Exception REAL with '||parameter); query := start_sql || parameter || '::FLOAT8 ' || end_sql; - RETURN query SELECT throws_ok(query); + RETURN query SELECT throws_ok(query,'XX000',$$Unexpected Column '$$||parameter||$$' type. Expected ANY-INTEGER$$,'Expected Exception FLOAT8 with '||parameter); + + query := start_sql || parameter || '::NUMERIC ' || end_sql; + RETURN query SELECT throws_ok(query,'XX000',$$Unexpected Column '$$||parameter||$$' type. Expected ANY-INTEGER$$,'Expected Exception NUMERIC with '||parameter); + END; $BODY$ LANGUAGE plpgsql; @@ -154,22 +176,30 @@ BEGIN END IF; start_sql = start_sql || p || ', '; END LOOP; - end_sql = ' FROM vehicles $$, $sql1$ SELECT * from pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, ARRAY[3, 4, 5, 8, 9, 11]) $sql1$)'; + end_sql = ' FROM vehicles $$, $sql1$ SELECT * from pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, + (SELECT array_agg(id) FROM (SELECT p_node_id AS id FROM orders + UNION + SELECT d_node_id FROM orders + UNION + SELECT start_node_id FROM vehicles) a)) $sql1$)'; query := start_sql || parameter || '::SMALLINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'SMALLINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::INTEGER ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'INTEGER on ' ||parameter||' is OK'); query := start_sql || parameter || '::BIGINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'BIGINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::REAL ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'REAL on ' ||parameter||' is OK'); query := start_sql || parameter || '::FLOAT8 ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'FLOAT8 on ' ||parameter||' is OK'); + + query := start_sql || parameter || '::NUMERIC ' || end_sql; + RETURN query SELECT lives_ok(query,'NUMERIC ' ||parameter||' is OK'); END; $BODY$ LANGUAGE plpgsql; @@ -192,22 +222,31 @@ BEGIN END IF; start_sql = start_sql || p || ', '; END LOOP; - end_sql = ' FROM pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, ARRAY[3, 4, 5, 8, 9, 11]) $sql1$)'; + end_sql = ' FROM pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, + (SELECT array_agg(id) FROM (SELECT p_node_id AS id FROM orders + UNION + SELECT d_node_id FROM orders + UNION + SELECT start_node_id FROM vehicles) a)) $sql1$)'; query := start_sql || parameter || '::SMALLINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'matrix SMALLINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::INTEGER ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'matrix INTEGER on ' ||parameter||' is OK'); query := start_sql || parameter || '::BIGINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'matrix BIGINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::REAL ' || end_sql; - RETURN query SELECT throws_ok(query); + RETURN query SELECT throws_ok(query,'XX000',$$Unexpected Column '$$||parameter||$$' type. Expected ANY-INTEGER$$,'Matrix Expected Exception REAL with '||parameter); query := start_sql || parameter || '::FLOAT8 ' || end_sql; - RETURN query SELECT throws_ok(query); + RETURN query SELECT throws_ok(query,'XX000',$$Unexpected Column '$$||parameter||$$' type. Expected ANY-INTEGER$$,'Matrix Expected Exception FLOAT8 with '||parameter); + + query := start_sql || parameter || '::NUMERIC ' || end_sql; + RETURN query SELECT throws_ok(query,'XX000',$$Unexpected Column '$$||parameter||$$' type. Expected ANY-INTEGER$$,'Matrix Expected Exception NUMERIC with '||parameter); + END; $BODY$ LANGUAGE plpgsql; @@ -229,22 +268,31 @@ BEGIN END IF; start_sql = start_sql || p || ', '; END LOOP; - end_sql = ' FROM pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, ARRAY[3, 4, 5, 8, 9, 11]) $sql1$)'; + end_sql = ' FROM pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, + (SELECT array_agg(id) FROM (SELECT p_node_id AS id FROM orders + UNION + SELECT d_node_id FROM orders + UNION + SELECT start_node_id FROM vehicles) a)) $sql1$)'; query := start_sql || parameter || '::SMALLINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'matrix SMALLINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::INTEGER ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'matrix INTEGER on ' ||parameter||' is OK'); query := start_sql || parameter || '::BIGINT ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'matrix BIGINT on ' ||parameter||' is OK'); query := start_sql || parameter || '::REAL ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'matrix REAL on ' ||parameter||' is OK'); query := start_sql || parameter || '::FLOAT8 ' || end_sql; - RETURN query SELECT lives_ok(query); + RETURN query SELECT lives_ok(query,'matrix FLOAT8 on ' ||parameter||' is OK'); + + query := start_sql || parameter || '::NUMERIC ' || end_sql; + RETURN query SELECT lives_ok(query,'matrix NUMERIC ' ||parameter||' is OK'); + END; $BODY$ LANGUAGE plpgsql; @@ -313,6 +361,7 @@ SELECT test_anynumerical_orders('pgr_pickdeliver', 'speed' is optional defaults to 1 'start_service' is optional defaults to 0 */ + SELECT test_anyInteger_matrix('pgr_pickdeliver', ARRAY['start_vid', 'end_vid', 'agg_cost'], 'start_vid'); @@ -325,6 +374,5 @@ SELECT test_anyNumerical_matrix('pgr_pickdeliver', ARRAY['start_vid', 'end_vid', 'agg_cost'], 'agg_cost'); - SELECT finish(); ROLLBACK; diff --git a/pgtap/pickDeliver/pickDeliver/issue-1725.sql b/pgtap/pickDeliver/pickDeliver/issue-1725.sql new file mode 100644 index 00000000000..94438706d27 --- /dev/null +++ b/pgtap/pickDeliver/pickDeliver/issue-1725.sql @@ -0,0 +1,20 @@ +\i setup.sql + +UPDATE edge_table SET cost = sign(cost), reverse_cost = sign(reverse_cost); +SELECT plan(1); +SET client_min_messages TO ERROR; + + +PREPARE missing_id_on_matrix AS +SELECT * FROM pgr_pickDeliver( + $$ SELECT * FROM orders ORDER BY id $$, + $$ SELECT * FROM vehicles $$, + $$ SELECT * from pgr_dijkstraCostMatrix( + ' SELECT * FROM edge_table ', ARRAY[3, 4, 5, 8, 9, 11]) + $$ +); + +SELECT throws_ok('missing_id_on_matrix', 'XX000', 'Unable to find node on matrix', 'Should throw: matrix is missing node 6'); + + +SELECT finish(); diff --git a/pgtap/pickDeliver/pickDeliver/many-calls.sql b/pgtap/pickDeliver/pickDeliver/many-calls.sql new file mode 100644 index 00000000000..07783d010fa --- /dev/null +++ b/pgtap/pickDeliver/pickDeliver/many-calls.sql @@ -0,0 +1,38 @@ +\i setup.sql + +SELECT plan(15); +SET client_min_messages TO NOTICE; + + +PREPARE No_problem_query AS +SELECT * FROM pgr_pickDeliver( + $$ SELECT * FROM orders ORDER BY id $$, + $$ SELECT * FROM vehicles ORDER BY id$$, + $$ SELECT * from pgr_dijkstraCostMatrix( + 'SELECT * FROM edge_table ', + (SELECT array_agg(id) FROM (SELECT p_node_id AS id FROM orders + UNION + SELECT d_node_id FROM orders + UNION + SELECT start_node_id FROM vehicles) a)) + $$ +); + +SELECT lives_ok('No_problem_query', 'Should live: '|| 1); +SELECT lives_ok('No_problem_query', 'Should live: '|| 2); +SELECT lives_ok('No_problem_query', 'Should live: '|| 3); +SELECT lives_ok('No_problem_query', 'Should live: '|| 4); +SELECT lives_ok('No_problem_query', 'Should live: '|| 5); +SELECT lives_ok('No_problem_query', 'Should live: '|| 6); +SELECT lives_ok('No_problem_query', 'Should live: '|| 7); +SELECT lives_ok('No_problem_query', 'Should live: '|| 8); +SELECT lives_ok('No_problem_query', 'Should live: '|| 9); +SELECT lives_ok('No_problem_query', 'Should live: '|| 10); +SELECT lives_ok('No_problem_query', 'Should live: '|| 11); +SELECT lives_ok('No_problem_query', 'Should live: '|| 12); +SELECT lives_ok('No_problem_query', 'Should live: '|| 13); +SELECT lives_ok('No_problem_query', 'Should live: '|| 14); +SELECT lives_ok('No_problem_query', 'Should live: '|| 15); + + +SELECT finish(); diff --git a/src/cpp_common/Dmatrix.cpp b/src/cpp_common/Dmatrix.cpp index 037c74fc300..000fa2ac0f7 100644 --- a/src/cpp_common/Dmatrix.cpp +++ b/src/cpp_common/Dmatrix.cpp @@ -30,6 +30,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include #include #include "tsp/tour.h" @@ -90,8 +91,10 @@ Dmatrix::has_id(int64_t id) const { */ size_t Dmatrix::get_index(int64_t id) const { - auto pos = std::lower_bound(ids.begin(), ids.end(), id); - return static_cast(pos - ids.begin()); + for (size_t pos = 0; pos < ids.size(); ++pos) { + if (ids[pos] == id) return pos; + } + throw std::make_pair(std::string("(INTERNAL) Dmatrix: Unable to find node on matrix"), id); } int64_t @@ -119,6 +122,42 @@ Dmatrix::Dmatrix(const std::vector < Matrix_cell_t > &data_costs) { } } + +double +get_distance(std::pair p1 , std::pair p2) { + auto dx = p1.first - p2.first; + auto dy = p1.second - p2.second; + return std::sqrt(dx * dx + dy * dy); +} + +/* + * constructor for euclidean + */ +Dmatrix::Dmatrix(const std::map, int64_t> &euclidean_data) { + ids.reserve(euclidean_data.size()); + for (const auto &e: euclidean_data) { + ids.push_back(e.second); + } + costs.resize( + ids.size(), + std::vector( + ids.size(), + (std::numeric_limits::max)())); + + for (const auto &from : euclidean_data) { + for (const auto &to : euclidean_data) { + auto from_id = get_index(from.second); + auto to_id = get_index(to.second); + costs[from_id][to_id] = get_distance(from.first, to.first); + costs[to_id][from_id] = costs[from_id][to_id]; + } + } + + for (size_t i = 0; i < costs.size(); ++i) { + costs[i][i] = 0; + } +} + bool Dmatrix::has_no_infinity() const { for (const auto &row : costs) { diff --git a/src/pickDeliver/CMakeLists.txt b/src/pickDeliver/CMakeLists.txt index 32eda0f06ec..9b154c1652f 100644 --- a/src/pickDeliver/CMakeLists.txt +++ b/src/pickDeliver/CMakeLists.txt @@ -1,7 +1,7 @@ ADD_LIBRARY(pickDeliver OBJECT - base_node.cpp + #base_node.cpp dnode.cpp - node.cpp + #node.cpp tw_node.cpp vehicle_node.cpp diff --git a/src/pickDeliver/dnode.cpp b/src/pickDeliver/dnode.cpp index d6788b5086c..ae24fccce1c 100644 --- a/src/pickDeliver/dnode.cpp +++ b/src/pickDeliver/dnode.cpp @@ -39,17 +39,31 @@ std::ostream& operator << (std::ostream &log, const Dnode &node) { double -Dnode::distance(const Base_node *other) const { +Dnode::distance(const Dnode &other) const { return problem->m_cost_matrix.distance( problem->m_cost_matrix.get_index(id()), - problem->m_cost_matrix.get_index(other->id())); + problem->m_cost_matrix.get_index(other.id())); } -Dnode::Dnode(size_t id, int64_t original_id, double, double) - : Base_node(id, original_id) { +Dnode::Dnode(size_t idx, int64_t id) : + PD_problem(), + Identifier(idx, id) { } +bool +Dnode::operator ==(const Dnode &rhs) const { + if (&rhs == this) return true; + return + (idx() == rhs.idx()) + && (id() == rhs.id()); +} + +Pgr_messages& +Dnode::msg() { + return problem->msg; +} + } // namespace vrp } // namespace pgrouting diff --git a/src/pickDeliver/fleet.cpp b/src/pickDeliver/fleet.cpp index 6a1527a57b6..703b9d8b4a7 100644 --- a/src/pickDeliver/fleet.cpp +++ b/src/pickDeliver/fleet.cpp @@ -135,23 +135,23 @@ void Fleet::add_vehicle( Vehicle_t vehicle, double factor, - std::unique_ptr b_start, const Vehicle_node &starting_site, - std::unique_ptr b_end, const Vehicle_node &ending_site) { pgassert(starting_site.is_start() && ending_site.is_end()); pgassert(starting_site.opens() <= starting_site.closes()); pgassert(ending_site.opens() <= ending_site.closes()); +#if 0 problem->add_base_node(std::move(b_start)); problem->add_base_node(std::move(b_end)); problem->add_node(starting_site); problem->add_node(ending_site); +#endif for (int i = 0; i < vehicle.cant_v; ++i) { m_trucks.push_back(Vehicle_pickDeliver( m_trucks.size(), - static_cast(vehicle.id), + vehicle.id, starting_site, ending_site, vehicle.capacity, @@ -215,13 +215,48 @@ Fleet::build_fleet( for (auto vehicle : vehicles) { + if (vehicle.cant_v < 0) { + throw std::make_pair(std::string("Illegal number of vehicles found"), vehicle.cant_v); + } + + if (vehicle.capacity < 0) { + throw std::make_pair(std::string("Illegal value for capacity found"), vehicle.capacity); + } + + if (!problem->m_cost_matrix.empty()) { + if (!problem->m_cost_matrix.has_id(vehicle.start_node_id)) { + throw std::make_pair(std::string("Unable to find node on matrix"), vehicle.start_node_id); + } + if (!problem->m_cost_matrix.has_id(vehicle.end_node_id)) { + throw std::make_pair(std::string("Unable to find node on matrix"), vehicle.end_node_id); + } + } + + if (!(vehicle.start_open_t <= vehicle.start_close_t + && vehicle.end_open_t <= vehicle.end_close_t + && vehicle.start_open_t <= vehicle.end_close_t)) { + msg.error << "Illegal values found on vehicle"; + msg.log << "On vehicle " << vehicle.id + << " a condition is not met, verify that:" + << "\nvehicle.start_open_t <= vehicle.start_close_t\t" + << vehicle.start_open_t << " <= " << vehicle.start_close_t + << "\nvehicle.end_open_t <= vehicle.end_close_t\t" + << vehicle.end_open_t << " <= " << vehicle.end_close_t + << "\nvehicle.start_open_t <= vehicle.end_close_t\t" + << vehicle.start_open_t << " <= " << vehicle.end_close_t; + + throw std::make_pair(msg.get_error(), msg.get_log()); + } +#if 0 if (vehicle.cant_v < 0) { msg.error << "Illegal number of vehicles found vehicle"; msg.log << vehicle.cant_v << "< 0 on vehicle " << vehicle.id; return false; } +#endif if (problem->m_cost_matrix.empty()) { +#if 0 /* * Euclidean version */ @@ -266,10 +301,12 @@ Fleet::build_fleet( add_vehicle(vehicle, factor, std::move(b_start), starting_site, std::move(b_end), ending_site); +#endif } else { /* * Matrix version */ +#if 0 auto b_start = create_b_start(vehicle, problem->node_id()); auto starting_site = Vehicle_node( {problem->node_id()++, vehicle, Tw_node::NodeType::kStart}); @@ -302,12 +339,17 @@ Fleet::build_fleet( pgassert(starting_site.is_start()); pgassert(ending_site.is_end()); +#endif + auto starting_site = Vehicle_node({problem->m_nodes.size(), vehicle, Tw_node::NodeType::kStart}); + problem->add_node(starting_site); + auto ending_site = Vehicle_node({problem->m_nodes.size(), vehicle, Tw_node::NodeType::kEnd}); + problem->add_node(ending_site); + pgassert(starting_site.opens() <= starting_site.closes()); pgassert(ending_site.opens() <= ending_site.closes()); pgassert(starting_site.is_start() && ending_site.is_end()); - add_vehicle(vehicle, factor, - std::move(b_start), starting_site, - std::move(b_end), ending_site); + + add_vehicle(vehicle, factor, starting_site, ending_site); } } Identifiers unused(m_trucks.size()); diff --git a/src/pickDeliver/pd_orders.cpp b/src/pickDeliver/pd_orders.cpp index 0d1bea5ca3b..712cd695200 100644 --- a/src/pickDeliver/pd_orders.cpp +++ b/src/pickDeliver/pd_orders.cpp @@ -46,14 +46,14 @@ PD_Orders::PD_Orders( void PD_Orders:: add_order( const PickDeliveryOrders_t &order, - std::unique_ptr b_pick, const Vehicle_node &pick, - std::unique_ptr b_drop, const Vehicle_node &drop) { +#if 0 problem->add_base_node(std::move(b_pick)); problem->add_base_node(std::move(b_drop)); problem->add_node(pick); problem->add_node(drop); +#endif /* * add into an order @@ -81,6 +81,8 @@ PD_Orders::build_orders( */ if (problem->m_cost_matrix.empty()) { + pgassert(false); +#if 0 /* * Euclidean version */ @@ -98,10 +100,12 @@ PD_Orders::build_orders( add_order(order, std::move(b_pick), pickup, std::move(b_drop), delivery); +#endif } else { /* * matrix version */ +#if 0 #if 0 msg.log << "pickup \n" << "pick_node_id: " << order.pick_node_id @@ -124,6 +128,21 @@ PD_Orders::build_orders( add_order(order, std::move(b_pick), pickup, std::move(b_drop), delivery); +#endif + + if (!problem->m_cost_matrix.has_id(order.pick_node_id)) { + throw std::make_pair(std::string("Unable to find node on matrix"), order.pick_node_id); + } + if (!problem->m_cost_matrix.has_id(order.deliver_node_id)) { + throw std::make_pair(std::string("Unable to find node on matrix"), order.deliver_node_id); + } + + Vehicle_node pickup({problem->m_nodes.size(), order, Tw_node::NodeType::kPickup}); + problem->add_node(pickup); + Vehicle_node delivery({problem->m_nodes.size(), order, Tw_node::NodeType::kDelivery}); + problem->add_node(delivery); + + add_order(order, pickup, delivery); } } // for (creating orders) diff --git a/src/pickDeliver/pgr_pickDeliver.cpp b/src/pickDeliver/pgr_pickDeliver.cpp index 7ba85f81d80..d389e5f3bcd 100644 --- a/src/pickDeliver/pgr_pickDeliver.cpp +++ b/src/pickDeliver/pgr_pickDeliver.cpp @@ -1,5 +1,4 @@ /*PGR-GNU***************************************************************** - FILE: pgr_pickDeliver.cpp Copyright (c) 2015 pgRouting developers @@ -51,6 +50,8 @@ namespace vrp { bool Pgr_pickDeliver::nodesOK() const { ENTERING(); + return !(m_nodes.empty()); +#if 0 if (m_nodes.empty() && m_base_nodes.empty()) return true; pgassertwm(m_nodes.size() == m_base_nodes.size(), msg.get_log().c_str()); @@ -62,6 +63,7 @@ Pgr_pickDeliver::nodesOK() const { } EXITING(); return true; +#endif } Solution @@ -157,6 +159,11 @@ Pgr_pickDeliver::get_postgres_result() const { return result; } +void +Pgr_pickDeliver::add_node(const Vehicle_node &node) { + m_nodes.push_back(node); +} + /** Constructor for the matrix version * */ @@ -170,9 +177,13 @@ Pgr_pickDeliver::Pgr_pickDeliver( PD_problem(this), m_initial_id(initial), m_max_cycles(p_max_cycles), +#if 0 m_node_id(0), +#endif m_nodes(), +#if 0 m_base_nodes(), +#endif m_cost_matrix(cost_matrix), m_orders(pd_orders), m_trucks(vehicles, factor) { @@ -261,6 +272,7 @@ Pgr_pickDeliver::Pgr_pickDeliver( +#if 0 /***** Constructor for the eculedian version *******/ Pgr_pickDeliver::Pgr_pickDeliver( @@ -272,7 +284,9 @@ Pgr_pickDeliver::Pgr_pickDeliver( PD_problem(this), m_initial_id(initial), m_max_cycles(p_max_cycles), +#if 0 m_node_id(0), +#endif m_nodes(), m_base_nodes(), m_cost_matrix(), @@ -330,6 +344,7 @@ Pgr_pickDeliver::Pgr_pickDeliver( m_trucks.set_compatibles(m_orders); EXITING(); } // constructor +#endif } // namespace vrp diff --git a/src/pickDeliver/pickDeliverEuclidean_driver.cpp b/src/pickDeliver/pickDeliverEuclidean_driver.cpp index f046e7ff0f9..11edb831549 100644 --- a/src/pickDeliver/pickDeliverEuclidean_driver.cpp +++ b/src/pickDeliver/pickDeliverEuclidean_driver.cpp @@ -35,6 +35,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#include #include "vrp/pgr_pickDeliver.h" @@ -81,10 +82,46 @@ do_pgr_pickDeliverEuclidean( std::vector vehicles( vehicles_arr, vehicles_arr + total_vehicles); + std::map, int64_t> matrix_data; + + for (const auto &o : orders) { + matrix_data[std::pair(o.pick_x, o.pick_y)] = o.pick_node_id; + matrix_data[std::pair(o.deliver_x, o.deliver_y)] = o.deliver_node_id; + } + + for (const auto &v : vehicles) { + matrix_data[std::pair(v.start_x, v.start_y)] = v.start_node_id; + matrix_data[std::pair(v.end_x, v.end_y)] = v.end_node_id; + } + + Identifiers unique_ids; + for (const auto &e: matrix_data) { + unique_ids += e.second; + } + if (unique_ids.size() != matrix_data.size()) { + // ignoring ids given by the user + int64_t id(0); + for (auto &e: matrix_data) { + e.second = id++; + } + } + + for (auto &o : orders) { + o.pick_node_id = matrix_data[std::pair(o.pick_x, o.pick_y)]; + o.deliver_node_id = matrix_data[std::pair(o.deliver_x, o.deliver_y)]; + } + for (auto &v : vehicles) { + v.start_node_id = matrix_data[std::pair(v.start_x, v.start_y)]; + v.end_node_id = matrix_data[std::pair(v.end_x, v.end_y)]; + } + + pgrouting::tsp::Dmatrix cost_matrix(matrix_data); + log << "Initialize problem\n"; pgrouting::vrp::Pgr_pickDeliver pd_problem( orders, vehicles, + cost_matrix, factor, static_cast(max_cycles), initial_solution_id); @@ -151,6 +188,14 @@ do_pgr_pickDeliverEuclidean( err << except.what(); *err_msg = pgr_msg(err.str().c_str()); *log_msg = pgr_msg(log.str().c_str()); + } catch (const std::pair& ex) { + (*return_count) = 0; + err << ex.first; + log.str(""); + log.clear(); + log << ex.second; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); } catch(...) { if (*return_tuples) free(*return_tuples); (*return_count) = 0; diff --git a/src/pickDeliver/pickDeliver_driver.cpp b/src/pickDeliver/pickDeliver_driver.cpp index d2dc6baa90c..eddb92b33a1 100644 --- a/src/pickDeliver/pickDeliver_driver.cpp +++ b/src/pickDeliver/pickDeliver_driver.cpp @@ -130,6 +130,7 @@ do_pgr_pickDeliver( } // TODO(vicky) wrap with a try and make a throw??? + // tried it is already wrapped log << "Initialize problem\n"; pgrouting::vrp::Pgr_pickDeliver pd_problem( orders, @@ -202,6 +203,22 @@ do_pgr_pickDeliver( err << except.what(); *err_msg = pgr_msg(err.str().c_str()); *log_msg = pgr_msg(log.str().c_str()); + } catch (const std::pair& ex) { + (*return_count) = 0; + err << ex.first; + log.str(""); + log.clear(); + log << ex.second; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); + } catch (const std::pair& ex) { + (*return_count) = 0; + err << ex.first; + log.str(""); + log.clear(); + log << "Node missing on matrix: id = " << ex.second; + *err_msg = pgr_msg(err.str().c_str()); + *log_msg = pgr_msg(log.str().c_str()); } catch(...) { if (*return_tuples) free(*return_tuples); (*return_count) = 0; diff --git a/src/pickDeliver/tw_node.cpp b/src/pickDeliver/tw_node.cpp index 3f3c38a9e50..cba1a951861 100644 --- a/src/pickDeliver/tw_node.cpp +++ b/src/pickDeliver/tw_node.cpp @@ -38,6 +38,9 @@ namespace vrp { double Tw_node::travel_time_to(const Tw_node &to, double speed) const { + pgassert(speed != 0); + return distance(to) / speed; +#if 0 /** TODO(vicky) * shall call Node or Dnode * static cast won't work I think @@ -48,6 +51,7 @@ Tw_node::travel_time_to(const Tw_node &to, double speed) const { pgassert(speed != 0); /*! @todo TODO evaluate with matrix also*/ return from->distance(destination) / speed; +#endif } @@ -185,11 +189,21 @@ Tw_node::is_end() const { bool Tw_node::operator ==(const Tw_node &other) const { if (&other == this) return true; + return m_order == other.m_order + && m_opens == other.m_opens + && m_closes == other.m_closes + && m_service_time == other.m_service_time + && m_demand == other.m_demand + && m_type == other.m_type + && id() == other.id() + && idx() == other.idx(); +#if 0 auto lhs = static_cast( *problem->m_base_nodes[idx()].get()); auto rhs = static_cast( *problem->m_base_nodes[other.idx()].get()); return lhs == rhs; +#endif } @@ -233,7 +247,7 @@ Tw_node::Tw_node( size_t id, PickDeliveryOrders_t data, NodeType type) : - Identifier(id, data.pick_node_id), + Dnode(id, data.pick_node_id), m_order(data.id), m_opens(data.pick_open_t), m_closes(data.pick_close_t), @@ -253,7 +267,7 @@ Tw_node::Tw_node( size_t id, Vehicle_t data, NodeType type) : - Identifier(id, data.start_node_id), + Dnode(id, data.start_node_id), m_opens(data.start_open_t), m_closes(data.start_close_t), m_service_time(data.start_service_t), @@ -270,8 +284,7 @@ Tw_node::Tw_node( /*! * \brief Print the contents of a Twnode object. */ std::ostream& operator << (std::ostream &log, const Tw_node &n) { - log << static_cast( - *n.problem->m_base_nodes[n.idx()].get()) + log << n.id() << "[opens = " << n.m_opens << "\tcloses = " << n.m_closes << "\tservice = " << n.m_service_time diff --git a/src/pickDeliver/vehicle_pickDeliver.cpp b/src/pickDeliver/vehicle_pickDeliver.cpp index c27090a246b..6f61841e1b7 100644 --- a/src/pickDeliver/vehicle_pickDeliver.cpp +++ b/src/pickDeliver/vehicle_pickDeliver.cpp @@ -78,19 +78,21 @@ Vehicle_pickDeliver::get_first_order() const { Vehicle_pickDeliver::Vehicle_pickDeliver( - size_t id, - size_t kind, + size_t idx, + int64_t id, const Vehicle_node &starting_site, const Vehicle_node &ending_site, double p_capacity, double p_speed, double factor) : - Vehicle(id, static_cast(kind), starting_site, ending_site, p_capacity, p_speed, factor), - cost((std::numeric_limits::max)()) { + Vehicle(idx, id, starting_site, ending_site, p_capacity, p_speed, factor), + cost((std::numeric_limits::max)()), + m_orders_in_vehicle(), + m_orders(), + m_feasable_orders() { #if 0 ENTERING(); #endif - m_orders_in_vehicle.clear(); invariant(); #if 0 EXITING(); From ebc2f8e7e025822a96df8d7714d603f14e40ea2b Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 16 Dec 2020 12:48:10 -0600 Subject: [PATCH 1124/1360] [CI][Bessie] fixing bessie --- ci/bessie/regress.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/bessie/regress.sh b/ci/bessie/regress.sh index 44878582959..dfecd246bd6 100644 --- a/ci/bessie/regress.sh +++ b/ci/bessie/regress.sh @@ -28,5 +28,5 @@ cd "../${BRANCH}" || exit 1 perl tools/testers/doc_queries_generator.pl psql -c "CREATE DATABASE ___pgr___test___" -tools/testers/pg_prove_tests.sh "${PGUSER}" +bash tools/testers/pg_prove_tests.sh "${PGUSER}" psql -c "DROP DATABASE ___pgr___test___" From cedaaf87aa614e314fb3bfb49726ec974d625af8 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 16 Dec 2020 13:02:17 -0600 Subject: [PATCH 1125/1360] [CI][Bessie32] fixing bessie32 --- ci/bessie32/regress.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/bessie32/regress.sh b/ci/bessie32/regress.sh index 44878582959..dfecd246bd6 100644 --- a/ci/bessie32/regress.sh +++ b/ci/bessie32/regress.sh @@ -28,5 +28,5 @@ cd "../${BRANCH}" || exit 1 perl tools/testers/doc_queries_generator.pl psql -c "CREATE DATABASE ___pgr___test___" -tools/testers/pg_prove_tests.sh "${PGUSER}" +bash tools/testers/pg_prove_tests.sh "${PGUSER}" psql -c "DROP DATABASE ___pgr___test___" From af47cba75e5c5266ff7371eae1ea310a1c1d348f Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 16 Dec 2020 18:27:56 -0600 Subject: [PATCH 1126/1360] [CI][appveyor] fixing appveyor --- CMakeLists.txt | 8 ++++++++ ci/appveyor/msbuild_pgrouting.bat | 1 + src/components/pgr_components.cpp | 4 ++-- src/trsp/trsp.c | 4 ---- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a813cb557d4..eba00e92c95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,6 +84,11 @@ message(STATUS "CLANG_CXX_MINIMUM_VERSION=${CLANG_CXX_MINIMUM_VERSION}") message(STATUS "MSVC_CXX_MINIMUM_VERSION=${MSVC_CXX_MINIMUM_VERSION}") +if(WIN32 AND MSVC) + set(CMAKE_C_FLAGS "") + set(CMAKE_CXX_FLAGS "") +endif() + #--------------------------------------------- # adding cmake modules #--------------------------------------------- @@ -155,11 +160,14 @@ if(WIN32 AND NOT MSVC) endif(WIN32 AND NOT MSVC) if(WIN32 AND MSVC) + string(REGEX REPLACE "/W[3|4]" "/w" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + string(REGEX REPLACE "/W[3|4]" "/w" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_DEPRECATE") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_SCL_SECURE_NO_DEPRECATE") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_SCL_SECURE_NO_WARNINGS") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_NONSTDC_NO_DEPRECATE") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_NONSTDC_NO_DEPRECATE") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -EHsc") endif() diff --git a/ci/appveyor/msbuild_pgrouting.bat b/ci/appveyor/msbuild_pgrouting.bat index bbc43446a56..b612b0e0b11 100644 --- a/ci/appveyor/msbuild_pgrouting.bat +++ b/ci/appveyor/msbuild_pgrouting.bat @@ -41,6 +41,7 @@ cmake -G "%CMAKE_GENERATOR%" -DPOSTGRESQL_INCLUDE_DIR:PATH="%POSTGRESQL_DIR%\inc -DPOSTGRESQL_EXECUTABLE:FILEPATH="%POSTGRESQL_DIR%\bin\postgres.exe" ^ -DPOSTGRESQL_PG_CONFIG:FILEPATH="%POSTGRESQL_DIR%\bin\pg_config.exe" ^ -DBoost_INCLUDE_DIR:PATH=%BOOST_INCLUDE_DIR% ^ + -DCMAKE_BUILD_TYPE=Release ^ -DBOOST_THREAD_LIBRARIES:FILEPATH="%BOOST_THREAD_LIB%;%BOOST_SYSTEM_LIB%" ..\..\..\ @echo off popd diff --git a/src/components/pgr_components.cpp b/src/components/pgr_components.cpp index f641b303bc2..d3d63c86489 100644 --- a/src/components/pgr_components.cpp +++ b/src/components/pgr_components.cpp @@ -45,7 +45,7 @@ namespace algorithms { std::vector pgr_connectedComponents(pgrouting::UndirectedGraph &graph) { - typedef typename pgrouting::UndirectedGraph::V V; + typedef pgrouting::UndirectedGraph::V V; // perform the algorithm std::vector components(num_vertices(graph.graph)); size_t num_comps; @@ -70,7 +70,7 @@ pgr_connectedComponents(pgrouting::UndirectedGraph &graph) { std::vector strongComponents( pgrouting::DirectedGraph &graph) { - typedef typename pgrouting::UndirectedGraph::V V; + typedef pgrouting::UndirectedGraph::V V; // perform the algorithm std::vector components(num_vertices(graph.graph)); size_t num_comps; diff --git a/src/trsp/trsp.c b/src/trsp/trsp.c index 9749d830264..1aeabdf68c8 100644 --- a/src/trsp/trsp.c +++ b/src/trsp/trsp.c @@ -313,11 +313,7 @@ static int compute_trsp( return finish(SPIcode, ret); } - /* Suppress the -Wconversion warning temporarily */ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wconversion" ntuples = SPI_processed; - #pragma GCC diagnostic pop total_tuples += ntuples; From 1c9c5ef4e1efc008c8a3c92ab179546522cecb2b Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 17 Dec 2020 22:24:38 +0530 Subject: [PATCH 1127/1360] [pickDeliver] Removed unnecessary code --- include/vrp/book_keeping.h | 19 ---- include/vrp/fleet.h | 23 ----- include/vrp/pd_orders.h | 24 ----- include/vrp/pgr_pickDeliver.h | 29 ------ src/pickDeliver/fleet.cpp | 118 +++---------------------- src/pickDeliver/initial_solution.cpp | 21 ----- src/pickDeliver/optimize.cpp | 83 ----------------- src/pickDeliver/pd_orders.cpp | 81 +++-------------- src/pickDeliver/pgr_pickDeliver.cpp | 107 +--------------------- src/pickDeliver/pickDeliver_driver.cpp | 2 - src/pickDeliver/tw_node.cpp | 19 ---- src/pickDeliver/vehicle.cpp | 17 ---- 12 files changed, 26 insertions(+), 517 deletions(-) diff --git a/include/vrp/book_keeping.h b/include/vrp/book_keeping.h index 0ebecbfd932..f91c6a43c63 100644 --- a/include/vrp/book_keeping.h +++ b/include/vrp/book_keeping.h @@ -52,14 +52,6 @@ class Swap_info { size_t from_o, size_t to_o, double delta); -#if 0 - from_truck(from), - to_truck(to), - from_order(from_o), - to_order(to_o), - estimated_delta(delta) - { } -#endif friend std::ostream& operator << (std::ostream& log, const Swap_info &d); #if 0 { @@ -106,17 +98,6 @@ class Swap_bk { Swaps_queue m_swaps; friend std::ostream& operator<< (std::ostream &log, const Swap_bk &data); -#if 0 - { - auto q = data.m_swaps; - while (!q.empty()) { - log << q.top() << " "; - q.pop(); - } - log << '\n'; - return log; - } -#endif public: Swap_bk() = default; diff --git a/include/vrp/fleet.h b/include/vrp/fleet.h index 330a5289591..636de012c5e 100644 --- a/include/vrp/fleet.h +++ b/include/vrp/fleet.h @@ -109,29 +109,6 @@ class Fleet : public PD_problem { const Vehicle_node&, const Vehicle_node&); -#if 0 - template std::unique_ptr create_b_start( - const Vehicle_t &vehicle, - size_t node_id) { - std::unique_ptr b_start(new T( - node_id, - vehicle.start_node_id, - vehicle.start_x, - vehicle.start_y)); - return b_start; - } - - template std::unique_ptr create_b_end( - const Vehicle_t &vehicle, - size_t node_id) { - std::unique_ptr b_end(new T( - node_id, - vehicle.end_node_id, - vehicle.end_x, - vehicle.end_y)); - return b_end; - } -#endif }; diff --git a/include/vrp/pd_orders.h b/include/vrp/pd_orders.h index 9a70aedf2c9..837591045da 100644 --- a/include/vrp/pd_orders.h +++ b/include/vrp/pd_orders.h @@ -91,30 +91,6 @@ class PD_Orders : public PD_problem { const Vehicle_node&, const Vehicle_node&); -#if 0 - template std::unique_ptr create_b_pick( - const PickDeliveryOrders_t &order, - size_t node_id) { - std::unique_ptr b_pick(new T( - node_id, - order.pick_node_id, - order.pick_x, - order.pick_y)); - return b_pick; - } - - template std::unique_ptr create_b_deliver( - const PickDeliveryOrders_t &order, - size_t node_id) { - std::unique_ptr b_drop(new T( - node_id, - order.deliver_node_id, - order.deliver_x, - order.deliver_y)); - return b_drop; - } -#endif - private: Orders m_orders; }; diff --git a/include/vrp/pgr_pickDeliver.h b/include/vrp/pgr_pickDeliver.h index f3a805c44fd..5e90570b09c 100644 --- a/include/vrp/pgr_pickDeliver.h +++ b/include/vrp/pgr_pickDeliver.h @@ -53,14 +53,6 @@ class Base_node; class Pgr_pickDeliver : public PD_problem { public: -#if 0 - Pgr_pickDeliver( - const std::vector &pd_orders, - const std::vector &vehicles, - double factor, - size_t max_cycles, - int initial); -#endif Pgr_pickDeliver( const std::vector &pd_orders, @@ -79,26 +71,12 @@ class Pgr_pickDeliver : public PD_problem { Solution optimize(const Solution init_solution); size_t max_cycles() const {return m_max_cycles;} -#if 0 - inline size_t& node_id() {return m_node_id;} -#endif - void add_node(const Vehicle_node &node); -#if 0 - void add_base_node(std::unique_ptr node_ptr) { - m_base_nodes.push_back(std::move(node_ptr)); - } -#endif - Initials_code get_kind() const { return (Initials_code) problem->m_initial_id; } -#if 1 - // TODO(vicky) delete this function - bool nodesOK() const; -#endif Fleet trucks() const {return m_trucks;} private: @@ -108,18 +86,11 @@ class Pgr_pickDeliver : public PD_problem { //! maximum cycles in the optimization size_t m_max_cycles; -#if 0 - //! used to keep track of the next id the node gets in the eucledian version - size_t m_node_id; -#endif public: // TODO(vicky) make this private std::vector m_nodes; -#if 0 - std::vector> m_base_nodes; -#endif pgrouting::tsp::Dmatrix m_cost_matrix; private: diff --git a/src/pickDeliver/fleet.cpp b/src/pickDeliver/fleet.cpp index 703b9d8b4a7..3733b9d30b3 100644 --- a/src/pickDeliver/fleet.cpp +++ b/src/pickDeliver/fleet.cpp @@ -141,12 +141,6 @@ Fleet::add_vehicle( pgassert(starting_site.opens() <= starting_site.closes()); pgassert(ending_site.opens() <= ending_site.closes()); -#if 0 - problem->add_base_node(std::move(b_start)); - problem->add_base_node(std::move(b_end)); - problem->add_node(starting_site); - problem->add_node(ending_site); -#endif for (int i = 0; i < vehicle.cant_v; ++i) { m_trucks.push_back(Vehicle_pickDeliver( @@ -247,110 +241,20 @@ Fleet::build_fleet( throw std::make_pair(msg.get_error(), msg.get_log()); } -#if 0 - if (vehicle.cant_v < 0) { - msg.error << "Illegal number of vehicles found vehicle"; - msg.log << vehicle.cant_v << "< 0 on vehicle " << vehicle.id; - return false; - } -#endif - if (problem->m_cost_matrix.empty()) { -#if 0 - /* - * Euclidean version - */ - auto b_start = create_b_start(vehicle, problem->node_id()); - auto starting_site = Vehicle_node( - {problem->node_id()++, vehicle, Tw_node::NodeType::kStart}); - - auto b_end = create_b_end(vehicle, problem->node_id()); - auto ending_site = Vehicle_node( - {problem->node_id()++, vehicle, Tw_node::NodeType::kEnd}); - - if (!(starting_site.is_start() && ending_site.is_end() - && starting_site.opens() <= starting_site.closes() - && ending_site.opens() <= ending_site.closes())) { - msg.clear(); - msg.error << "Illegal values found on vehicle"; - msg.log << "On vehicle " << vehicle.id - << " a condition is not met:\n" - << "starting_site.is_start: " - << (starting_site.is_start()? "YES" : "NO") << "\n" - << "ending_site.is_end: " - << (ending_site.is_end()? "YES" : "NO") << "\n" - << "verify that:\n" - << "- start_open <= start_close: " - << starting_site.opens() - << "<" << starting_site.closes() << "\n" - << "- end_open <= end_close: " - << ending_site.opens() - << "<" << ending_site.closes() << "\n" - << "- capacity > 0\n"; - pgassert(!msg.get_error().empty()); - return false; - } - pgassert(starting_site.is_start()); - pgassert(ending_site.is_end()); - - pgassert(starting_site.opens() <= starting_site.closes()); - pgassert(ending_site.opens() <= ending_site.closes()); - pgassertwm( - starting_site.is_start() && ending_site.is_end(), - msg.get_error().c_str()); - add_vehicle(vehicle, factor, - std::move(b_start), starting_site, - std::move(b_end), ending_site); -#endif - } else { - /* - * Matrix version - */ -#if 0 - auto b_start = create_b_start(vehicle, problem->node_id()); - auto starting_site = Vehicle_node( - {problem->node_id()++, vehicle, Tw_node::NodeType::kStart}); - - auto b_end = create_b_end(vehicle, problem->node_id()); - auto ending_site = Vehicle_node( - {problem->node_id()++, vehicle, Tw_node::NodeType::kEnd}); - - if (!(starting_site.is_start() && ending_site.is_end() - && starting_site.opens() <= starting_site.closes() - && ending_site.opens() <= ending_site.closes())) { - msg.clear(); - msg.error << "Illegal values found on vehicle"; - msg.log << "On vehicle " << vehicle.id - << " a condition is not met, verify that:\n" - << "starting_site.is_start()" - << starting_site.is_start() << "\n" - << "ending_site.is_start()" - << ending_site.is_end() << "\n" - << "- start_open <= start_close\n" - << starting_site.opens() << "<" - << starting_site.closes() << "\n" - << "- end_open <= end_close\n" - << ending_site.opens() << "<" - << ending_site.closes() << "\n" - << "- capacity > 0\n"; - pgassert(!msg.get_error().empty()); - return false; - } - pgassert(starting_site.is_start()); - pgassert(ending_site.is_end()); - -#endif - auto starting_site = Vehicle_node({problem->m_nodes.size(), vehicle, Tw_node::NodeType::kStart}); - problem->add_node(starting_site); - auto ending_site = Vehicle_node({problem->m_nodes.size(), vehicle, Tw_node::NodeType::kEnd}); - problem->add_node(ending_site); + /* + * Matrix version + */ + auto starting_site = Vehicle_node({problem->m_nodes.size(), vehicle, Tw_node::NodeType::kStart}); + problem->add_node(starting_site); + auto ending_site = Vehicle_node({problem->m_nodes.size(), vehicle, Tw_node::NodeType::kEnd}); + problem->add_node(ending_site); - pgassert(starting_site.opens() <= starting_site.closes()); - pgassert(ending_site.opens() <= ending_site.closes()); - pgassert(starting_site.is_start() && ending_site.is_end()); + pgassert(starting_site.opens() <= starting_site.closes()); + pgassert(ending_site.opens() <= ending_site.closes()); + pgassert(starting_site.is_start() && ending_site.is_end()); - add_vehicle(vehicle, factor, starting_site, ending_site); - } + add_vehicle(vehicle, factor, starting_site, ending_site); } Identifiers unused(m_trucks.size()); un_used = unused; diff --git a/src/pickDeliver/initial_solution.cpp b/src/pickDeliver/initial_solution.cpp index e43debbef76..50b70f0f4b0 100644 --- a/src/pickDeliver/initial_solution.cpp +++ b/src/pickDeliver/initial_solution.cpp @@ -83,9 +83,6 @@ Initial_solution::do_while_foo(int kind) { msg.log << "\nInitial_solution::do_while_foo\n"; #endif Identifiers notused; -#if 0 - bool out_of_trucks(true); -#endif while (!unassigned.empty()) { #if 0 @@ -93,13 +90,7 @@ Initial_solution::do_while_foo(int kind) { msg.log << assigned.size() << " assigned:" << assigned << "\n"; #endif auto current = unassigned.size(); -#if 0 - auto truck = out_of_trucks? - trucks.get_truck(unassigned.front()) : - trucks.get_truck(); -#else auto truck = trucks.get_truck(unassigned.front()); -#endif #if 0 msg.log << "got truck:" << truck.tau() << "\n"; #endif @@ -114,18 +105,6 @@ Initial_solution::do_while_foo(int kind) { #endif pgassertwm(current > unassigned.size(), msg.get_log().c_str()); -#if 0 - if (truck.orders_in_vehicle().empty()) { - out_of_trucks = notused.has(truck.idx()); - if (out_of_trucks) { - for (auto t : notused) { - trucks.release_truck(t); - } - } - notused += truck.idx(); - continue; - } -#endif fleet.push_back(truck); invariant(); } diff --git a/src/pickDeliver/optimize.cpp b/src/pickDeliver/optimize.cpp index 6c6480b95b7..9991303aad6 100644 --- a/src/pickDeliver/optimize.cpp +++ b/src/pickDeliver/optimize.cpp @@ -118,12 +118,6 @@ Optimize::inter_swap() { } } -#if 0 - while (!p_swaps.empty()) { - swapped_f = swap_order() || swapped_f; - } -#endif - msg.log << "\n" <fleet = best_solution.fleet; -} - - -void -Optimize::move_wait_time_based() { - this->fleet = best_solution.fleet; - - auto local_limit(fleet.size()); - size_t i(0); - - sort_for_move(); - msg.log << tau("\nmove wait_time based"); - while (move_reduce_cost() && (++i < local_limit)) { } - delete_empty_truck(); - - i = 0; - sort_for_move(); - std::reverse(fleet.begin(), fleet.end()); - msg.log << tau("\nmove wait_time based"); - while (move_reduce_cost() && (++i < local_limit)) { } - sort_by_duration(); - delete_empty_truck(); - this->fleet = best_solution.fleet; -} -#endif - -#if 0 -/* - * On the current order of the fleet - * T1 .......Tn-1 Tn Tn+1...... Tsize - * Tn tries to move orders to trucks - * T1 .... Tn-1 - * So that it gets space for the orders given by - * Tn+1 .... Tsize - * On the first move possible it returns - * - * When a truck is emptied, then it removes the truck from the fleet - * - * Returns true: when a move was possible - * Returns false: when a move was not possible - */ - - -bool -Optimize::move_reduce_cost() { - if (fleet.size() < 2) return false; - bool moved = false; - - size_t from_pos(fleet.size() - 1); - while (from_pos > 1) { - for (size_t to_pos = 0; to_pos < from_pos; ++to_pos) { - moved = move_reduce_cost(from_pos, to_pos) || moved; - } - --from_pos; - } - return moved; -} -#endif /* * from_truck trying to make from_truck's duration smaller diff --git a/src/pickDeliver/pd_orders.cpp b/src/pickDeliver/pd_orders.cpp index 712cd695200..25c258716a0 100644 --- a/src/pickDeliver/pd_orders.cpp +++ b/src/pickDeliver/pd_orders.cpp @@ -48,12 +48,6 @@ PD_Orders:: add_order( const PickDeliveryOrders_t &order, const Vehicle_node &pick, const Vehicle_node &drop) { -#if 0 - problem->add_base_node(std::move(b_pick)); - problem->add_base_node(std::move(b_drop)); - problem->add_node(pick); - problem->add_node(drop); -#endif /* * add into an order @@ -80,70 +74,23 @@ PD_Orders::build_orders( * 1 | 10 | 35 | 69 | 448 | 505 | 90 | 45 | 68 | 912 | 967 | 90 | 35 */ - if (problem->m_cost_matrix.empty()) { - pgassert(false); -#if 0 - /* - * Euclidean version - */ - auto b_pick = create_b_pick(order, problem->node_id()); - Vehicle_node pickup( - {problem->node_id()++, order, Tw_node::NodeType::kPickup}); - - auto b_drop = create_b_deliver(order, problem->node_id()); - Vehicle_node delivery({ - problem->node_id()++, - order, - Tw_node::NodeType::kDelivery}); - - - add_order(order, - std::move(b_pick), pickup, - std::move(b_drop), delivery); -#endif - } else { - /* - * matrix version - */ -#if 0 -#if 0 - msg.log << "pickup \n" - << "pick_node_id: " << order.pick_node_id - << "\n"; - - msg.log << "pickup \n" - << "deliver_node_id: " << order.deliver_node_id - << "\n"; -#endif - auto b_pick = create_b_pick(order, problem->node_id()); - Vehicle_node pickup( - {problem->node_id()++, order, Tw_node::NodeType::kPickup}); - - auto b_drop = create_b_deliver(order, problem->node_id()); - Vehicle_node delivery({ - problem->node_id()++, - order, - Tw_node::NodeType::kDelivery}); - - add_order(order, - std::move(b_pick), pickup, - std::move(b_drop), delivery); -#endif + /* + * matrix version + */ - if (!problem->m_cost_matrix.has_id(order.pick_node_id)) { - throw std::make_pair(std::string("Unable to find node on matrix"), order.pick_node_id); - } - if (!problem->m_cost_matrix.has_id(order.deliver_node_id)) { - throw std::make_pair(std::string("Unable to find node on matrix"), order.deliver_node_id); - } + if (!problem->m_cost_matrix.has_id(order.pick_node_id)) { + throw std::make_pair(std::string("Unable to find node on matrix"), order.pick_node_id); + } + if (!problem->m_cost_matrix.has_id(order.deliver_node_id)) { + throw std::make_pair(std::string("Unable to find node on matrix"), order.deliver_node_id); + } - Vehicle_node pickup({problem->m_nodes.size(), order, Tw_node::NodeType::kPickup}); - problem->add_node(pickup); - Vehicle_node delivery({problem->m_nodes.size(), order, Tw_node::NodeType::kDelivery}); - problem->add_node(delivery); + Vehicle_node pickup({problem->m_nodes.size(), order, Tw_node::NodeType::kPickup}); + problem->add_node(pickup); + Vehicle_node delivery({problem->m_nodes.size(), order, Tw_node::NodeType::kDelivery}); + problem->add_node(delivery); - add_order(order, pickup, delivery); - } + add_order(order, pickup, delivery); } // for (creating orders) #if 0 diff --git a/src/pickDeliver/pgr_pickDeliver.cpp b/src/pickDeliver/pgr_pickDeliver.cpp index d389e5f3bcd..42d092ca8c0 100644 --- a/src/pickDeliver/pgr_pickDeliver.cpp +++ b/src/pickDeliver/pgr_pickDeliver.cpp @@ -46,38 +46,14 @@ namespace pgrouting { namespace vrp { -// TODO(vicky) delete this function -bool -Pgr_pickDeliver::nodesOK() const { - ENTERING(); - return !(m_nodes.empty()); -#if 0 - if (m_nodes.empty() && m_base_nodes.empty()) return true; - - pgassertwm(m_nodes.size() == m_base_nodes.size(), msg.get_log().c_str()); - for (size_t i = 0; i < m_nodes.size() ; ++i) { - pgassertwm(m_nodes[i].id() == m_base_nodes[i]->id(), - msg.get_log().c_str()); - pgassertwm(m_nodes[i].idx() == m_base_nodes[i]->idx(), - msg.get_log().c_str()); - } - EXITING(); - return true; -#endif -} - Solution Pgr_pickDeliver::optimize(const Solution solution) { pgassert(false); /* * Optimize a solution */ -#if 1 msg.log << "max_cycles: " << m_max_cycles << "\n"; Optimize opt_solution(solution, m_max_cycles); -#else - Optimize opt_solution(solution, 1); -#endif msg.log << opt_solution.best_solution.tau("optimized"); return opt_solution.best_solution; } @@ -177,13 +153,7 @@ Pgr_pickDeliver::Pgr_pickDeliver( PD_problem(this), m_initial_id(initial), m_max_cycles(p_max_cycles), -#if 0 - m_node_id(0), -#endif m_nodes(), -#if 0 - m_base_nodes(), -#endif m_cost_matrix(cost_matrix), m_orders(pd_orders), m_trucks(vehicles, factor) { @@ -195,7 +165,7 @@ Pgr_pickDeliver::Pgr_pickDeliver( msg.log << "\n m_initial_id " << m_initial_id; } pgassertwm(m_initial_id > 0 && m_initial_id <= OneDepot, msg.get_log().c_str()); - pgassert(nodesOK()); + pgassert(!m_nodes.empty()); if (!msg.get_error().empty()) { return; @@ -272,80 +242,5 @@ Pgr_pickDeliver::Pgr_pickDeliver( -#if 0 -/***** Constructor for the eculedian version *******/ - -Pgr_pickDeliver::Pgr_pickDeliver( - const std::vector &pd_orders, - const std::vector &vehicles, - double factor, - size_t p_max_cycles, - int initial) : - PD_problem(this), - m_initial_id(initial), - m_max_cycles(p_max_cycles), -#if 0 - m_node_id(0), -#endif - m_nodes(), - m_base_nodes(), - m_cost_matrix(), - m_orders(pd_orders), - m_trucks(vehicles, factor) { - ENTERING(); - pgassert(!pd_orders.empty()); - pgassert(!vehicles.empty()); - pgassert(m_cost_matrix.empty()); - pgassert(factor > 0); - pgassert(m_initial_id > 0 && m_initial_id < 7); - - if (!msg.get_error().empty()) { - return; - } - - pgassert(m_trucks.msg.get_error().empty()); - pgassert(msg.get_error().empty()); - - msg.log << "\n Checking fleet"; - if (!m_trucks.is_fleet_ok()) { - msg.error << m_trucks.msg.get_error(); - pgassert(!m_trucks.msg.get_error().empty()); - return; - } - - pgassert(m_trucks.msg.get_error().empty()); - - -#ifndef NDEBUG - for (const auto &t : m_trucks) { - msg.log << t << "\n"; - } - for (const auto &o : m_orders) { - msg.log << o << "\n"; - } -#endif - - /* - * check the (S, P, D, E) order on all vehicles - * stop when a feasible truck is found - */ - msg.log << "\n Checking orders"; - for (const auto &o : m_orders) { - if (!m_trucks.is_order_ok(o)) { - msg.error << "Order not feasible on any truck was found"; - msg.log << "The order " - << o.pickup().order() - << " is not feasible on any truck"; - msg.log << "\n" << o; - return; - } - } - - m_trucks.set_compatibles(m_orders); - EXITING(); - } // constructor -#endif - - } // namespace vrp } // namespace pgrouting diff --git a/src/pickDeliver/pickDeliver_driver.cpp b/src/pickDeliver/pickDeliver_driver.cpp index eddb92b33a1..6f6f147a75b 100644 --- a/src/pickDeliver/pickDeliver_driver.cpp +++ b/src/pickDeliver/pickDeliver_driver.cpp @@ -129,8 +129,6 @@ do_pgr_pickDeliver( return; } - // TODO(vicky) wrap with a try and make a throw??? - // tried it is already wrapped log << "Initialize problem\n"; pgrouting::vrp::Pgr_pickDeliver pd_problem( orders, diff --git a/src/pickDeliver/tw_node.cpp b/src/pickDeliver/tw_node.cpp index cba1a951861..4815147df66 100644 --- a/src/pickDeliver/tw_node.cpp +++ b/src/pickDeliver/tw_node.cpp @@ -40,18 +40,6 @@ double Tw_node::travel_time_to(const Tw_node &to, double speed) const { pgassert(speed != 0); return distance(to) / speed; -#if 0 - /** TODO(vicky) - * shall call Node or Dnode - * static cast won't work I think - * - */ - auto from = problem->m_base_nodes[idx()].get(); - auto destination = problem->m_base_nodes[to.idx()].get(); - pgassert(speed != 0); - /*! @todo TODO evaluate with matrix also*/ - return from->distance(destination) / speed; -#endif } @@ -197,13 +185,6 @@ Tw_node::operator ==(const Tw_node &other) const { && m_type == other.m_type && id() == other.id() && idx() == other.idx(); -#if 0 - auto lhs = static_cast( - *problem->m_base_nodes[idx()].get()); - auto rhs = static_cast( - *problem->m_base_nodes[other.idx()].get()); - return lhs == rhs; -#endif } diff --git a/src/pickDeliver/vehicle.cpp b/src/pickDeliver/vehicle.cpp index 68274f16b36..2a4d753c7d4 100644 --- a/src/pickDeliver/vehicle.cpp +++ b/src/pickDeliver/vehicle.cpp @@ -546,23 +546,6 @@ Vehicle::Vehicle( #endif } -#if 0 -Vehicle::Vehicle(const Vehicle &v) : - Identifier(v.idx(), v.id()), - PD_problem(), - m_path(v.m_path), - m_capacity(v.m_capacity), - m_factor(v.m_factor), - m_speed(v.m_speed) { -#if 0 - ENTERING(); - msg.log << v.tau() << "\n"; - msg.log << tau() << "\n"; - EXITING(); -#endif -} -#endif - std::string From 62a08b9493a977d25a6795e3b32049fe47c9f58c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 17 Dec 2020 23:00:17 +0530 Subject: [PATCH 1128/1360] [pickDeliver] Removed todo - Made the line private --- include/vrp/pgr_pickDeliver.h | 13 ++++++++----- src/pickDeliver/dnode.cpp | 6 +++--- src/pickDeliver/fleet.cpp | 10 +++++----- src/pickDeliver/pd_orders.cpp | 8 ++++---- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/include/vrp/pgr_pickDeliver.h b/include/vrp/pgr_pickDeliver.h index 5e90570b09c..59291048371 100644 --- a/include/vrp/pgr_pickDeliver.h +++ b/include/vrp/pgr_pickDeliver.h @@ -77,6 +77,14 @@ class Pgr_pickDeliver : public PD_problem { return (Initials_code) problem->m_initial_id; } + std::vector get_m_nodes() const { + return m_nodes; + } + + pgrouting::tsp::Dmatrix get_m_cost_matrix() const { + return m_cost_matrix; + } + Fleet trucks() const {return m_trucks;} private: @@ -86,14 +94,9 @@ class Pgr_pickDeliver : public PD_problem { //! maximum cycles in the optimization size_t m_max_cycles; - - - public: - // TODO(vicky) make this private std::vector m_nodes; pgrouting::tsp::Dmatrix m_cost_matrix; - private: PD_Orders m_orders; Fleet m_trucks; std::vector solutions; diff --git a/src/pickDeliver/dnode.cpp b/src/pickDeliver/dnode.cpp index ae24fccce1c..49404808c1d 100644 --- a/src/pickDeliver/dnode.cpp +++ b/src/pickDeliver/dnode.cpp @@ -40,9 +40,9 @@ std::ostream& operator << (std::ostream &log, const Dnode &node) { double Dnode::distance(const Dnode &other) const { - return problem->m_cost_matrix.distance( - problem->m_cost_matrix.get_index(id()), - problem->m_cost_matrix.get_index(other.id())); + return problem->get_m_cost_matrix().distance( + problem->get_m_cost_matrix().get_index(id()), + problem->get_m_cost_matrix().get_index(other.id())); } diff --git a/src/pickDeliver/fleet.cpp b/src/pickDeliver/fleet.cpp index 3733b9d30b3..1ffbc4fbf8c 100644 --- a/src/pickDeliver/fleet.cpp +++ b/src/pickDeliver/fleet.cpp @@ -217,11 +217,11 @@ Fleet::build_fleet( throw std::make_pair(std::string("Illegal value for capacity found"), vehicle.capacity); } - if (!problem->m_cost_matrix.empty()) { - if (!problem->m_cost_matrix.has_id(vehicle.start_node_id)) { + if (!problem->get_m_cost_matrix().empty()) { + if (!problem->get_m_cost_matrix().has_id(vehicle.start_node_id)) { throw std::make_pair(std::string("Unable to find node on matrix"), vehicle.start_node_id); } - if (!problem->m_cost_matrix.has_id(vehicle.end_node_id)) { + if (!problem->get_m_cost_matrix().has_id(vehicle.end_node_id)) { throw std::make_pair(std::string("Unable to find node on matrix"), vehicle.end_node_id); } } @@ -245,9 +245,9 @@ Fleet::build_fleet( /* * Matrix version */ - auto starting_site = Vehicle_node({problem->m_nodes.size(), vehicle, Tw_node::NodeType::kStart}); + auto starting_site = Vehicle_node({problem->get_m_nodes().size(), vehicle, Tw_node::NodeType::kStart}); problem->add_node(starting_site); - auto ending_site = Vehicle_node({problem->m_nodes.size(), vehicle, Tw_node::NodeType::kEnd}); + auto ending_site = Vehicle_node({problem->get_m_nodes().size(), vehicle, Tw_node::NodeType::kEnd}); problem->add_node(ending_site); pgassert(starting_site.opens() <= starting_site.closes()); diff --git a/src/pickDeliver/pd_orders.cpp b/src/pickDeliver/pd_orders.cpp index 25c258716a0..6381213b9fc 100644 --- a/src/pickDeliver/pd_orders.cpp +++ b/src/pickDeliver/pd_orders.cpp @@ -78,16 +78,16 @@ PD_Orders::build_orders( * matrix version */ - if (!problem->m_cost_matrix.has_id(order.pick_node_id)) { + if (!problem->get_m_cost_matrix().has_id(order.pick_node_id)) { throw std::make_pair(std::string("Unable to find node on matrix"), order.pick_node_id); } - if (!problem->m_cost_matrix.has_id(order.deliver_node_id)) { + if (!problem->get_m_cost_matrix().has_id(order.deliver_node_id)) { throw std::make_pair(std::string("Unable to find node on matrix"), order.deliver_node_id); } - Vehicle_node pickup({problem->m_nodes.size(), order, Tw_node::NodeType::kPickup}); + Vehicle_node pickup({problem->get_m_nodes().size(), order, Tw_node::NodeType::kPickup}); problem->add_node(pickup); - Vehicle_node delivery({problem->m_nodes.size(), order, Tw_node::NodeType::kDelivery}); + Vehicle_node delivery({problem->get_m_nodes().size(), order, Tw_node::NodeType::kDelivery}); problem->add_node(delivery); add_order(order, pickup, delivery); From bc12f1a93a5da0d47a4bad09436ca323ad40114a Mon Sep 17 00:00:00 2001 From: cvvergara Date: Fri, 18 Dec 2020 15:52:54 -0600 Subject: [PATCH 1129/1360] [vrp] creating less time consuming demo & test queries --- docqueries/pickDeliver/test.conf | 11 +- .../vrp_basic/doc-pgr_vrpOneDepot.result | 260 +- docqueries/vrp_basic/test.conf | 3 - pgtap/pickDeliver/pickDeliver/innerQuery.sql | 9 +- tools/testers/pickDeliver_pgtap_data.sql | 167 +- tools/testers/solomon_100_rc101.data.sql | 10232 +--------------- 6 files changed, 120 insertions(+), 10562 deletions(-) diff --git a/docqueries/pickDeliver/test.conf b/docqueries/pickDeliver/test.conf index afade985cca..a02382955d8 100644 --- a/docqueries/pickDeliver/test.conf +++ b/docqueries/pickDeliver/test.conf @@ -7,16 +7,6 @@ 'tests' => [qw( doc-pickDeliver doc-pickDeliverEuclidean - past_example - )], - - # TODO when finished test results in other systems - 'windowsssssssssss' => [qw( - cygwin-pickDeliver - doc-pickDeliverEuclidean-cygwin - )], - 'linux' => [qw( - design_pgtap )], 'documentation' => [qw( @@ -26,6 +16,7 @@ #put here the ones that you are not testing (just a place holder) 'nottesting' => [qw( + past_example jet_customers differentVechiles jet_customers1 diff --git a/docqueries/vrp_basic/doc-pgr_vrpOneDepot.result b/docqueries/vrp_basic/doc-pgr_vrpOneDepot.result index 86ac6d26ae7..a595f334c3c 100644 --- a/docqueries/vrp_basic/doc-pgr_vrpOneDepot.result +++ b/docqueries/vrp_basic/doc-pgr_vrpOneDepot.result @@ -10,241 +10,33 @@ SELECT * FROM pgr_vrpOneDepot( oid | opos | vid | tarrival | tdepart -----+------+-----+----------+--------- -1 | 1 | 1 | 0 | 0 - 46 | 2 | 1 | 0 | 0 - 47 | 3 | 1 | 0 | 0 - 9 | 4 | 1 | 0 | 0 - 101 | 5 | 1 | 0 | 0 - 71 | 6 | 1 | 0 | 0 - 8 | 7 | 1 | 0 | 0 - 6 | 8 | 1 | 0 | 0 - 5 | 9 | 1 | 0 | 0 - 4 | 10 | 1 | 0 | 0 - 2 | 11 | 1 | 0 | 0 - 6 | 12 | 1 | 40 | 51 - 46 | 13 | 1 | 54 | 64 - 8 | 14 | 1 | 73 | 89 - 9 | 15 | 1 | 94 | 104 - 47 | 16 | 1 | 107 | 123 - 4 | 17 | 1 | 129 | 139 - 2 | 18 | 1 | 142 | 155 - 5 | 19 | 1 | 162 | 172 - 71 | 20 | 1 | 191 | 201 - 101 | 21 | 1 | 205 | 215 - -1 | 22 | 1 | 234 | 234 - -1 | 1 | 3 | 0 | 0 - 16 | 2 | 3 | 0 | 0 - 10 | 3 | 3 | 0 | 0 - 81 | 4 | 3 | 0 | 0 - 48 | 5 | 3 | 0 | 0 - 15 | 6 | 3 | 0 | 0 - 14 | 7 | 3 | 0 | 0 - 17 | 8 | 3 | 0 | 0 - 11 | 9 | 3 | 0 | 0 - 18 | 10 | 3 | 0 | 0 - 15 | 11 | 3 | 35 | 45 - 48 | 12 | 3 | 48 | 58 - 17 | 13 | 3 | 64 | 82 - 16 | 14 | 3 | 84 | 94 - 10 | 15 | 3 | 103 | 113 - 11 | 16 | 3 | 118 | 129 - 14 | 17 | 3 | 136 | 152 - 18 | 18 | 3 | 163 | 173 - 81 | 19 | 3 | 220 | 230 - -1 | 20 | 3 | 238 | 238 - -1 | 1 | 12 | 0 | 0 - 49 | 2 | 12 | 0 | 0 - 26 | 3 | 12 | 0 | 0 - 21 | 4 | 12 | 0 | 0 - 65 | 5 | 12 | 0 | 0 - 23 | 6 | 12 | 0 | 0 - 50 | 7 | 12 | 0 | 0 - 96 | 8 | 12 | 0 | 0 - 93 | 9 | 12 | 0 | 0 - 52 | 10 | 12 | 0 | 0 - 93 | 11 | 12 | 15 | 25 - 96 | 12 | 12 | 31 | 44 - 65 | 13 | 12 | 57 | 67 - 52 | 14 | 12 | 81 | 93 - 50 | 15 | 12 | 108 | 118 - 23 | 16 | 12 | 122 | 132 - 21 | 17 | 12 | 134 | 144 - 26 | 18 | 12 | 156 | 166 - 49 | 19 | 12 | 173 | 183 - -1 | 20 | 12 | 228 | 228 - -1 | 1 | 9 | 0 | 0 - 73 | 2 | 9 | 0 | 0 - 92 | 3 | 9 | 0 | 0 - 55 | 4 | 9 | 0 | 0 - 44 | 5 | 9 | 0 | 0 - 42 | 6 | 9 | 0 | 0 - 41 | 7 | 9 | 0 | 0 - 39 | 8 | 9 | 0 | 0 - 37 | 9 | 9 | 0 | 0 - 73 | 10 | 9 | 27 | 40 - 37 | 11 | 9 | 60 | 70 - 39 | 12 | 9 | 76 | 86 - 41 | 13 | 9 | 91 | 101 - 42 | 14 | 9 | 112 | 122 - 44 | 15 | 9 | 132 | 142 - 55 | 16 | 9 | 167 | 177 - 92 | 17 | 9 | 196 | 206 - -1 | 18 | 9 | 218 | 218 - -1 | 1 | 5 | 0 | 0 - 66 | 2 | 5 | 0 | 0 - 78 | 3 | 5 | 0 | 0 - 25 | 4 | 5 | 0 | 0 - 24 | 5 | 5 | 0 | 0 - 22 | 6 | 5 | 0 | 0 - 20 | 7 | 5 | 0 | 0 - 19 | 8 | 5 | 0 | 0 - 66 | 9 | 5 | 11 | 21 - 24 | 10 | 5 | 56 | 75 - 20 | 11 | 5 | 81 | 91 - 22 | 12 | 5 | 97 | 107 - 19 | 13 | 5 | 111 | 121 - 25 | 14 | 5 | 132 | 158 - 78 | 15 | 5 | 177 | 187 - -1 | 16 | 5 | 237 | 237 - -1 | 1 | 7 | 0 | 0 - 32 | 2 | 7 | 0 | 0 - 30 | 3 | 7 | 0 | 0 - 28 | 4 | 7 | 0 | 0 - 94 | 5 | 7 | 0 | 0 - 33 | 6 | 7 | 0 | 0 - 35 | 7 | 7 | 0 | 0 - 27 | 8 | 7 | 0 | 0 - 28 | 9 | 7 | 57 | 72 - 30 | 10 | 7 | 77 | 87 - 32 | 11 | 7 | 89 | 99 - 27 | 12 | 7 | 108 | 125 - 35 | 13 | 7 | 136 | 146 - 33 | 14 | 7 | 152 | 162 - 94 | 15 | 7 | 196 | 206 - -1 | 16 | 7 | 227 | 227 - -1 | 1 | 4 | 0 | 0 - 84 | 2 | 4 | 0 | 0 - 91 | 3 | 4 | 0 | 0 - 53 | 4 | 4 | 0 | 0 - 75 | 5 | 4 | 0 | 0 - 59 | 6 | 4 | 0 | 0 - 100 | 7 | 4 | 0 | 0 - 84 | 8 | 4 | 19 | 45 - 53 | 9 | 4 | 57 | 67 - 100 | 10 | 4 | 72 | 87 - 91 | 11 | 4 | 103 | 113 - 75 | 12 | 4 | 145 | 155 - 59 | 13 | 4 | 166 | 176 - -1 | 14 | 4 | 224 | 224 - -1 | 1 | 10 | 0 | 0 - 56 | 2 | 10 | 0 | 0 - 40 | 3 | 10 | 0 | 0 - 69 | 4 | 10 | 0 | 0 - 7 | 5 | 10 | 0 | 0 - 45 | 6 | 10 | 0 | 0 - 43 | 7 | 10 | 0 | 0 - 43 | 8 | 10 | 34 | 44 - 40 | 9 | 10 | 49 | 59 - 45 | 10 | 10 | 64 | 74 - 7 | 11 | 10 | 112 | 122 - 69 | 12 | 10 | 148 | 158 - 56 | 13 | 10 | 168 | 178 - -1 | 14 | 10 | 192 | 192 - -1 | 1 | 6 | 0 | 0 - 70 | 2 | 6 | 0 | 0 - 99 | 3 | 6 | 0 | 0 - 87 | 4 | 6 | 0 | 0 - 58 | 5 | 6 | 0 | 0 - 57 | 6 | 6 | 0 | 0 - 67 | 7 | 6 | 0 | 0 - 70 | 8 | 6 | 9 | 51 - 99 | 9 | 6 | 56 | 66 - 87 | 10 | 6 | 94 | 104 - 58 | 11 | 6 | 113 | 123 - 67 | 12 | 6 | 140 | 150 - 57 | 13 | 6 | 159 | 169 - -1 | 14 | 6 | 187 | 187 - -1 | 1 | 14 | 0 | 0 - 63 | 2 | 14 | 0 | 0 - 86 | 3 | 14 | 0 | 0 - 90 | 4 | 14 | 0 | 0 - 85 | 5 | 14 | 0 | 0 - 77 | 6 | 14 | 0 | 0 - 63 | 7 | 14 | 29 | 62 - 77 | 8 | 14 | 86 | 96 - 86 | 9 | 14 | 107 | 117 - 85 | 10 | 14 | 125 | 135 - 90 | 11 | 14 | 161 | 171 - -1 | 12 | 14 | 224 | 224 - -1 | 1 | 8 | 0 | 0 - 34 | 2 | 8 | 0 | 0 - 31 | 3 | 8 | 0 | 0 - 29 | 4 | 8 | 0 | 0 - 38 | 5 | 8 | 0 | 0 - 36 | 6 | 8 | 0 | 0 - 34 | 7 | 8 | 51 | 61 - 29 | 8 | 8 | 70 | 80 - 31 | 9 | 8 | 84 | 94 - 38 | 10 | 8 | 151 | 161 - 36 | 11 | 8 | 165 | 175 - -1 | 12 | 8 | 219 | 219 + 7 | 2 | 1 | 0 | 0 + 9 | 3 | 1 | 0 | 0 + 8 | 4 | 1 | 0 | 0 + 6 | 5 | 1 | 0 | 0 + 5 | 6 | 1 | 0 | 0 + 4 | 7 | 1 | 0 | 0 + 2 | 8 | 1 | 0 | 0 + 6 | 9 | 1 | 40 | 51 + 8 | 10 | 1 | 62 | 89 + 9 | 11 | 1 | 94 | 104 + 7 | 12 | 1 | 110 | 120 + 4 | 13 | 1 | 131 | 141 + 2 | 14 | 1 | 144 | 155 + 5 | 15 | 1 | 162 | 172 + -1 | 16 | 1 | 208 | 208 -1 | 1 | 2 | 0 | 0 - 79 | 2 | 2 | 0 | 0 - 61 | 3 | 2 | 0 | 0 - 12 | 4 | 2 | 0 | 0 - 13 | 5 | 2 | 0 | 0 - 13 | 6 | 2 | 32 | 74 - 12 | 7 | 2 | 79 | 89 - 79 | 8 | 2 | 105 | 115 - 61 | 9 | 2 | 123 | 165 - -1 | 10 | 2 | 192 | 192 - -1 | 1 | 11 | 0 | 0 - 51 | 2 | 11 | 0 | 0 - 62 | 3 | 11 | 0 | 0 - 82 | 4 | 11 | 0 | 0 - 95 | 5 | 11 | 0 | 0 - 62 | 6 | 11 | 16 | 76 - 82 | 7 | 11 | 84 | 96 - 95 | 8 | 11 | 109 | 119 - 51 | 9 | 11 | 139 | 149 - -1 | 10 | 11 | 184 | 184 - -1 | 1 | 13 | 0 | 0 - 60 | 2 | 13 | 0 | 0 - 76 | 3 | 13 | 0 | 0 - 88 | 4 | 13 | 0 | 0 - 98 | 5 | 13 | 0 | 0 - 60 | 6 | 13 | 42 | 52 - 76 | 7 | 13 | 68 | 84 - 88 | 8 | 13 | 104 | 114 - 98 | 9 | 13 | 124 | 134 - -1 | 10 | 13 | 182 | 182 - -1 | 1 | 20 | 0 | 0 - 83 | 2 | 20 | 0 | 0 - 80 | 3 | 20 | 0 | 0 - 74 | 4 | 20 | 0 | 0 - 89 | 5 | 20 | 0 | 0 - 83 | 6 | 20 | 15 | 52 - 89 | 7 | 20 | 67 | 77 - 74 | 8 | 20 | 99 | 109 - 80 | 9 | 20 | 118 | 128 - -1 | 10 | 20 | 167 | 167 - -1 | 1 | 15 | 0 | 0 - 97 | 2 | 15 | 0 | 0 - 64 | 3 | 15 | 0 | 0 - 72 | 4 | 15 | 0 | 0 - 68 | 5 | 15 | 0 | 0 - 64 | 6 | 15 | 39 | 49 - 68 | 7 | 15 | 71 | 81 - 72 | 8 | 15 | 94 | 104 - 97 | 9 | 15 | 114 | 142 - -1 | 10 | 15 | 158 | 158 - -1 | 1 | 17 | 0 | 0 - 54 | 2 | 17 | 0 | 0 - 3 | 3 | 17 | 0 | 0 - 3 | 4 | 17 | 31 | 60 - 54 | 5 | 17 | 85 | 101 - -1 | 6 | 17 | 121 | 121 - -1 | 0 | 0 | -1 | 3432 -(235 rows) + 10 | 2 | 2 | 0 | 0 + 11 | 3 | 2 | 0 | 0 + 10 | 4 | 2 | 34 | 101 + 11 | 5 | 2 | 106 | 129 + -1 | 6 | 2 | 161 | 161 + -1 | 1 | 3 | 0 | 0 + 3 | 2 | 3 | 0 | 0 + 3 | 3 | 3 | 31 | 60 + -1 | 4 | 3 | 91 | 91 + -1 | 0 | 0 | -1 | 460 +(27 rows) ROLLBACK; ROLLBACK diff --git a/docqueries/vrp_basic/test.conf b/docqueries/vrp_basic/test.conf index d0b0065d7c1..bcbd4d65014 100644 --- a/docqueries/vrp_basic/test.conf +++ b/docqueries/vrp_basic/test.conf @@ -5,11 +5,8 @@ 'comment' => 'VRP Single depot test for any versions.', 'data' => ['../../tools/testers/solomon_100_rc101.data.sql'], 'tests' => [qw( - oneDepotWrapper doc-pgr_vrpOneDepot )], - 'nottested' => [qw( - )], 'documentation' => [qw( doc-pgr_vrpOneDepot )] diff --git a/pgtap/pickDeliver/pickDeliver/innerQuery.sql b/pgtap/pickDeliver/pickDeliver/innerQuery.sql index 9f1ba0c7bf3..43e7a2cb0a4 100644 --- a/pgtap/pickDeliver/pickDeliver/innerQuery.sql +++ b/pgtap/pickDeliver/pickDeliver/innerQuery.sql @@ -6,12 +6,15 @@ SELECT plan(80); SET client_min_messages TO ERROR; /* A call looks like this -TODO select a smaller test, because each passing test takes about 19 seconds SELECT * INTO pickDeliverResults FROM pgr_pickdeliverEuclidean( $$SELECT * FROM orders$$, $$SELECT * FROM vehicles$$, - $sql1$ SELECT * from pgr_dijkstraCostMatrix( - $$SELECT * FROM edge_table$$, ARRAY[3, 4, 5, 8, 9, 11]) + $sql1$ SELECT * from pgr_dijkstraCostMatrix($$SELECT * FROM edge_table$$, + (SELECT array_agg(id) FROM (SELECT p_node_id AS id FROM orders + UNION + SELECT d_node_id FROM orders + UNION + SELECT start_node_id FROM vehicles) a)) $sql1$)'; $sql1$ ); */ diff --git a/tools/testers/pickDeliver_pgtap_data.sql b/tools/testers/pickDeliver_pgtap_data.sql index faebff3e6b3..a16bb324750 100644 --- a/tools/testers/pickDeliver_pgtap_data.sql +++ b/tools/testers/pickDeliver_pgtap_data.sql @@ -6,116 +6,101 @@ DROP TABLE IF EXISTS dist_matrix CASCADE; -- table vehicles start CREATE TABLE vehicles ( - id BIGSERIAL PRIMARY KEY, + id BIGINT PRIMARY KEY, start_node_id BIGINT, start_x FLOAT, start_y FLOAT, start_open FLOAT, start_close FLOAT, - "number" integer, capacity FLOAT ); -INSERT INTO vehicles (start_x, start_y, start_open, start_close, "number", capacity) -VALUES (40, 50, 0, 1236, 25, 200); +INSERT INTO vehicles (id, start_node_id, start_x, start_y, start_open, start_close, capacity) +WITH +v_info AS (SELECT 101, 40, 50, 0, 1236, 200), +set_of_v AS (SELECT generate_series(1, 25), * FROM v_info) +SELECT * +FROM set_of_v; -- table vehicles end -- table orders start CREATE TABLE orders ( - id BIGINT PRIMARY KEY, - demand FLOAT, - p_node_id BIGINT, - p_x FLOAT, - p_y FLOAT, - p_open FLOAT, - p_close FLOAT, - p_service FLOAT, - d_node_id BIGINT, - d_x FLOAT, - d_y FLOAT, - d_open FLOAT, - d_close FLOAT, - d_service FLOAT + id BIGINT PRIMARY KEY, + demand FLOAT, + p_node_id BIGINT, + p_x FLOAT, + p_y FLOAT, + p_open FLOAT, + p_close FLOAT, + p_service FLOAT, + d_node_id BIGINT, + d_x FLOAT, + d_y FLOAT, + d_open FLOAT, + d_close FLOAT, + d_service FLOAT ); INSERT INTO orders (id, demand, -p_x, p_y , p_open, p_close, p_service, -d_x, d_y , d_open, d_close, d_service) +p_node_id, p_x, p_y, p_open, p_close, p_service, +d_node_id, d_x, d_y, d_open, d_close, d_service) VALUES -(3, 10, 42, 66, 65, 146, 90, 45, 65, 997, 1068, 90), -(5, 10, 42, 65, 15, 67, 90, 40, 66, 170, 225, 90), -(6, 20, 40, 69, 621, 702, 90, 45, 70, 825, 870, 90), -(8, 20, 38, 68, 255, 324, 90, 35, 66, 357, 410, 90), -(9, 10, 38, 70, 534, 605, 90, 42, 68, 727, 782, 90), -(11, 10, 35, 69, 448, 505, 90, 45, 68, 912, 967, 90), -(13, 30, 22, 75, 30, 92, 90, 18, 75, 99, 148, 90), -(16, 40, 20, 85, 475, 528, 90, 22, 85, 567, 620, 90), -(18, 20, 15, 75, 179, 254, 90, 25, 85, 652, 721, 90), -(19, 10, 15, 80, 278, 345, 90, 20, 80, 384, 429, 90), -(20, 10, 30, 50, 10, 73, 90, 25, 50, 65, 144, 90), -(23, 10, 28, 55, 732, 777, 0, 28, 55, 732, 777, 90), -(25, 40, 25, 52, 169, 224, 90, 23, 52, 261, 316, 90), -(28, 20, 23, 55, 546, 593, 90, 28, 52, 812, 883, 90), -(29, 10, 20, 50, 358, 405, 90, 25, 55, 622, 701, 90), -(30, 10, 20, 55, 449, 504, 90, 30, 52, 914, 965, 90), -(32, 30, 10, 40, 31, 100, 90, 10, 35, 200, 237, 90), -(33, 40, 8, 40, 87, 158, 90, 2, 40, 383, 434, 90), -(35, 10, 5, 35, 283, 344, 90, 0, 45, 567, 624, 90), -(36, 10, 5, 45, 665, 716, 0, 5, 45, 665, 716, 90), -(38, 30, 0, 40, 479, 522, 90, 8, 45, 751, 816, 90), -(42, 20, 33, 32, 68, 149, 90, 35, 30, 264, 321, 90), -(43, 10, 33, 35, 16, 80, 90, 35, 32, 166, 235, 90), -(44, 10, 32, 30, 359, 412, 90, 30, 32, 448, 509, 90), -(45, 10, 30, 30, 541, 600, 90, 28, 30, 632, 693, 90), -(49, 10, 28, 35, 1001, 1066, 90, 30, 35,1054, 1127, 90), -(50, 10, 26, 32, 815, 880, 90, 25, 35, 912, 969, 90), -(51, 10, 25, 30, 725, 786, 0, 25, 30, 725, 786, 90), -(53, 20, 44, 5, 286, 347, 90, 38, 5, 471, 534, 90), -(54, 40, 42, 10, 186, 257, 90, 35, 5, 562, 629, 90), -(56, 30, 40, 5, 385, 436, 90, 38, 15, 651, 740, 90), -(57, 40, 40, 15, 35, 87, 90, 42, 15, 95, 158, 90), -(62, 20, 50, 35, 262, 317, 90, 45, 30, 734, 777, 90), -(63, 50, 50, 40, 171, 218, 90, 53, 35, 353, 412, 90), -(64, 10, 48, 30, 632, 693, 0, 48, 30, 632, 693, 90), -(65, 10, 48, 40, 76, 129, 90, 53, 30, 450, 505, 90), -(66, 10, 47, 35, 826, 875, 90, 45, 35, 916, 969, 90), -(67, 10, 47, 40, 12, 77, 90, 50, 30, 531, 610, 90), -(71, 20, 95, 35, 293, 360, 90, 88, 30, 574, 643, 90), -(76, 10, 90, 35, 203, 260, 90, 92, 30, 478, 551, 90), -(78, 20, 88, 35, 109, 170, 0, 88, 35, 109, 170, 90), -(79, 10, 87, 30, 668, 731, 90, 85, 25, 769, 820, 90), -(81, 30, 85, 35, 47, 124, 90, 95, 30, 387, 456, 90), -(82, 20, 75, 55, 369, 420, 90, 68, 60, 555, 612, 90), -(84, 20, 70, 58, 458, 523, 90, 63, 58, 737, 802, 90), -(86, 10, 66, 55, 173, 238, 90, 60, 60, 836, 889, 90), -(87, 20, 65, 55, 85, 144, 90, 72, 55, 265, 338, 90), -(90, 10, 60, 55, 20, 84, 90, 65, 60, 645, 708, 90), -(92, 20, 67, 85, 368, 441, 90, 65, 85, 475, 518, 90), -(96, 10, 60, 80, 95, 156, 90, 65, 82, 285, 336, 90), -(97, 30, 60, 85, 561, 622, 0, 60, 85, 561, 622, 90), -(98, 20, 58, 75, 30, 84, 90, 62, 80, 196, 239, 90), -(100,20, 55, 85, 647, 726, 90, 55, 80, 743, 820, 90); + (3, 10, 81, 42, 66, 65, 146, 90, 89, 45, 65, 997, 1068, 90), + (5, 10, 39, 42, 65, 15, 67, 90, 25, 40, 66, 170, 225, 90), + (6, 20, 14, 40, 69, 621, 702, 90, 68, 45, 70, 825, 870, 90), + (8, 20, 9, 38, 68, 255, 324, 90, 86, 35, 66, 357, 410, 90), + (9, 10, 78, 38, 70, 534, 605, 90, 82, 42, 68, 727, 782, 90), +(11, 10, 84, 35, 69, 448, 505, 90, 10, 45, 68, 912, 967, 90), +(13, 30, 6, 22, 75, 30, 92, 90, 80, 18, 75, 99, 148, 90), +(16, 40, 70, 20, 85, 475, 528, 90, 52, 22, 85, 567, 620, 90), +(18, 20, 26, 15, 75, 179, 254, 90, 74, 25, 85, 652, 721, 90), +(19, 10, 35, 15, 80, 278, 345, 90, 94, 20, 80, 384, 429, 90), +(20, 10, 54, 30, 50, 10, 73, 90, 76, 25, 50, 65, 144, 90), +(23, 10, 60, 28, 55, 732, 777, 0, 60, 28, 55, 732, 777, 90), +(25, 40, 64, 25, 52, 169, 224, 90, 40, 23, 52, 261, 316, 90), +(28, 20, 15, 23, 55, 546, 593, 90, 72, 28, 52, 812, 883, 90), +(29, 10, 98, 20, 50, 358, 405, 90, 46, 25, 55, 622, 701, 90), +(30, 10, 44, 20, 55, 449, 504, 90, 51, 30, 52, 914, 965, 90), +(32, 30, 83, 10, 40, 31, 100, 90, 93, 10, 35, 200, 237, 90), +(33, 40, 22, 8, 40, 87, 158, 90, 42, 2, 40, 383, 434, 90), +(35, 10, 95, 5, 35, 283, 344, 90, 43, 0, 45, 567, 624, 90), +(36, 10, 2, 5, 45, 665, 716, 0, 2, 5, 45, 665, 716, 90), +(38, 30,100, 0, 40, 479, 522, 90, 17, 8, 45, 751, 816, 90), +(42, 20, 67, 33, 32, 68, 149, 90, 4, 35, 30, 264, 321, 90), +(43, 10, 38, 33, 35, 16, 80, 90, 8, 35, 32, 166, 235, 90), +(44, 10, 33, 32, 30, 359, 412, 90, 45, 30, 32, 448, 509, 90), +(45, 10, 63, 30, 30, 541, 600, 90, 41, 28, 30, 632, 693, 90), +(49, 10, 12, 28, 35, 1001, 1066, 90, 1, 30, 35, 1054, 1127, 90), +(50, 10, 79, 26, 32, 815, 880, 90, 77, 25, 35, 912, 969, 90), +(51, 10, 57, 25, 30, 725, 786, 0, 57, 25, 30, 725, 786, 90), +(53, 20, 71, 44, 5, 286, 347, 90, 49, 38, 5, 471, 534, 90), +(54, 40, 69, 42, 10, 186, 257, 90, 11, 35, 5, 562, 629, 90), +(56, 30, 32, 40, 5, 385, 436, 90, 7, 38, 15, 651, 740, 90), +(57, 40, 88, 40, 15, 35, 87, 90, 34, 42, 15, 95, 158, 90), +(62, 20, 31, 50, 35, 262, 317, 90, 13, 45, 30, 734, 777, 90), +(63, 50, 99, 50, 40, 171, 218, 90, 29, 53, 35, 353, 412, 90), +(64, 10, 91, 48, 30, 632, 693, 0, 91, 48, 30, 632, 693, 90), +(65, 10, 66, 48, 40, 76, 129, 90, 30, 53, 30, 450, 505, 90), +(66, 10, 47, 47, 35, 826, 875, 90, 92, 45, 35, 916, 969, 90), +(67, 10, 90, 47, 40, 12, 77, 90, 19, 50, 30, 531, 610, 90), +(71, 20, 61, 95, 35, 293, 360, 90, 96, 88, 30, 574, 643, 90), +(76, 10, 48, 90, 35, 203, 260, 90, 62, 92, 30, 478, 551, 90), +(78, 20, 18, 88, 35, 109, 170, 0, 18, 88, 35, 109, 170, 90), +(79, 10, 65, 87, 30, 668, 731, 90, 24, 85, 25, 769, 820, 90), +(81, 30, 75, 85, 35, 47, 124, 90, 50, 95, 30, 387, 456, 90), +(82, 20, 3, 75, 55, 369, 420, 90, 21, 68, 60, 555, 612, 90), +(84, 20, 27, 70, 58, 458, 523, 90, 58, 63, 58, 737, 802, 90), +(86, 10, 23, 66, 55, 173, 238, 90, 73, 60, 60, 836, 889, 90), +(87, 20, 37, 65, 55, 85, 144, 90, 59, 72, 55, 265, 338, 90), +(90, 10, 20, 60, 55, 20, 84, 90, 56, 65, 60, 645, 708, 90), +(92, 20, 53, 67, 85, 368, 441, 90, 55, 65, 85, 475, 518, 90), +(96, 10, 28, 60, 80, 95, 156, 90, 87, 65, 82, 285, 336, 90), +(97, 30, 85, 60, 85, 561, 622, 0, 85, 60, 85, 561, 622, 90), +(98, 20, 36, 58, 75, 30, 84, 90, 16, 62, 80, 196, 239, 90), +(100, 20, 97, 55, 85, 647, 726, 90, 5, 55, 80, 743, 820, 90); -- table orders end --- assign id start -WITH points AS ( - SELECT DISTINCT p_x AS x, p_y AS y FROM orders - UNION - SELECT DISTINCT d_x, d_y FROM orders), -t_points AS (SELECT row_number() over() AS id, x, y FROM points), -first AS (SELECT orders.id AS id , t_points.id AS p_node_id from orders JOIN t_points ON (x = p_x AND y = p_y)), -second AS (SELECT orders.id AS id , t_points.id AS d_node_id from orders JOIN t_points ON (x = d_x AND y = d_y)), -third AS (SELECT id, p_node_id, d_node_id from first JOIN second USING (id)) -UPDATE orders SET p_node_id = third.p_node_id, d_node_id = third.d_node_id -FROM third WHERE third.id = orders.id; - -WITH -the_ids AS (SELECT p_node_id AS id FROM orders UNION SELECT d_node_id FROM orders), -the_max AS (SELECT max(id) FROM the_ids) -UPDATE vehicles SET start_node_id = max + 1 FROM the_max; - --- assing id end diff --git a/tools/testers/solomon_100_rc101.data.sql b/tools/testers/solomon_100_rc101.data.sql index 92085167bac..105a98754db 100644 --- a/tools/testers/solomon_100_rc101.data.sql +++ b/tools/testers/solomon_100_rc101.data.sql @@ -23,100 +23,10 @@ COPY solomon_100_RC_101 9 15.000000 80.000000 10 91 121 10 10 10.000000 35.000000 20 91 121 10 11 10.000000 40.000000 30 119 149 10 -12 8.000000 40.000000 40 59 89 10 -13 8.000000 45.000000 20 64 94 10 -14 5.000000 35.000000 10 142 172 10 -15 5.000000 45.000000 10 35 65 10 -16 2.000000 40.000000 20 58 88 10 -17 0.000000 40.000000 20 72 102 10 -18 0.000000 45.000000 20 149 179 10 -19 44.000000 5.000000 20 87 117 10 -20 42.000000 10.000000 40 72 102 10 -21 42.000000 15.000000 10 122 152 10 -22 40.000000 5.000000 10 67 97 10 -23 40.000000 15.000000 40 92 122 10 -24 38.000000 5.000000 30 65 95 10 -25 38.000000 15.000000 10 148 178 10 -26 35.000000 5.000000 20 154 184 10 -27 95.000000 30.000000 30 115 145 10 -28 95.000000 35.000000 20 62 92 10 -29 92.000000 30.000000 10 62 92 10 -30 90.000000 35.000000 10 67 97 10 -31 88.000000 30.000000 10 74 104 10 -32 88.000000 35.000000 20 61 91 10 -33 87.000000 30.000000 10 131 161 10 -34 85.000000 25.000000 10 51 81 10 -35 85.000000 35.000000 30 111 141 10 -36 67.000000 85.000000 20 139 169 10 -37 65.000000 85.000000 40 43 73 10 -38 65.000000 82.000000 10 124 154 10 -39 62.000000 80.000000 30 75 105 10 -40 60.000000 80.000000 10 37 67 10 -41 60.000000 85.000000 30 85 115 10 -42 58.000000 75.000000 20 92 122 10 -43 55.000000 80.000000 10 33 63 10 -44 55.000000 85.000000 20 128 158 10 -45 55.000000 82.000000 10 64 94 10 -46 20.000000 82.000000 10 37 67 10 -47 18.000000 80.000000 10 113 143 10 -48 2.000000 45.000000 10 45 75 10 -49 42.000000 5.000000 10 151 181 10 -50 42.000000 12.000000 10 104 134 10 -51 72.000000 35.000000 30 116 146 10 -52 55.000000 20.000000 19 83 113 10 -53 25.000000 30.000000 3 52 82 10 -54 20.000000 50.000000 5 91 121 10 -55 55.000000 60.000000 16 139 169 10 -56 30.000000 60.000000 16 140 170 10 -57 50.000000 35.000000 19 130 160 10 -58 30.000000 25.000000 23 96 126 10 -59 15.000000 10.000000 20 152 182 10 -60 10.000000 20.000000 19 42 72 10 -61 15.000000 60.000000 17 155 185 10 -62 45.000000 65.000000 9 66 96 10 -63 65.000000 35.000000 3 52 82 10 -64 65.000000 20.000000 6 39 69 10 -65 45.000000 30.000000 17 53 83 10 -66 35.000000 40.000000 16 11 41 10 -67 41.000000 37.000000 16 133 163 10 -68 64.000000 42.000000 9 70 100 10 -69 40.000000 60.000000 21 144 174 10 -70 31.000000 52.000000 27 41 71 10 -71 35.000000 69.000000 23 180 210 10 -72 65.000000 55.000000 14 65 95 10 -73 63.000000 65.000000 8 30 60 10 -74 2.000000 60.000000 5 77 107 10 -75 20.000000 20.000000 8 141 171 10 -76 5.000000 5.000000 16 74 104 10 -77 60.000000 12.000000 31 75 105 10 -78 23.000000 3.000000 7 150 180 10 -79 8.000000 56.000000 27 90 120 10 -80 6.000000 68.000000 30 89 119 10 -81 47.000000 47.000000 13 192 222 10 -82 49.000000 58.000000 10 86 116 10 -83 27.000000 43.000000 9 42 72 10 -84 37.000000 31.000000 14 35 65 10 -85 57.000000 29.000000 18 96 126 10 -86 63.000000 23.000000 2 87 117 10 -87 21.000000 24.000000 28 87 117 10 -88 12.000000 24.000000 13 90 120 10 -89 24.000000 58.000000 19 67 97 10 -90 67.000000 5.000000 25 144 174 10 -91 37.000000 47.000000 6 86 116 10 -92 49.000000 42.000000 13 167 197 10 -93 53.000000 43.000000 14 14 44 10 -94 61.000000 52.000000 3 178 208 10 -95 57.000000 48.000000 23 95 125 10 -96 56.000000 37.000000 6 34 64 10 -97 55.000000 54.000000 26 132 162 10 -98 4.000000 18.000000 35 120 150 10 -99 26.000000 52.000000 9 46 76 10 -100 26.000000 35.000000 15 77 107 10 -101 31.000000 67.000000 3 180 210 10 \. -drop table if exists vrp_vehicles cascade; -create table vrp_vehicles ( +DROP TABLE IF EXISTS vrp_vehicles cascade; +CREATE TABLE vrp_vehicles ( vehicle_id integer not null primary key, capacity integer, case_no integer @@ -126,10134 +36,14 @@ copy vrp_vehicles (vehicle_id, capacity, case_no) from stdin; 1 200 5 2 200 5 3 200 5 -4 200 5 -5 200 5 -6 200 5 -7 200 5 -8 200 5 -9 200 5 -10 200 5 -11 200 5 -12 200 5 -13 200 5 -14 200 5 -15 200 5 -16 200 5 -17 200 5 -18 200 5 -19 200 5 -20 200 5 -\. - -drop table if exists vrp_distance cascade; -create table vrp_distance ( - src_id integer, - dest_id integer, - cost Float8, - distance Float8, - traveltime Float8 -); - -copy vrp_distance (src_id, dest_id, cost, distance, traveltime) from stdin; -1 2 38.078866 38.078866 38.078866 -1 3 30.805844 30.805844 30.805844 -1 4 39.357337 39.357337 39.357337 -1 5 36.055513 36.055513 36.055513 -1 6 40.311289 40.311289 40.311289 -1 7 33.301652 33.301652 33.301652 -1 8 35.355339 35.355339 35.355339 -1 9 39.051248 39.051248 39.051248 -1 10 33.541020 33.541020 33.541020 -1 11 31.622777 31.622777 31.622777 -1 12 33.526109 33.526109 33.526109 -1 13 32.388269 32.388269 32.388269 -1 14 38.078866 38.078866 38.078866 -1 15 35.355339 35.355339 35.355339 -1 16 39.293765 39.293765 39.293765 -1 17 41.231056 41.231056 41.231056 -1 18 40.311289 40.311289 40.311289 -1 19 45.177428 45.177428 45.177428 -1 20 40.049969 40.049969 40.049969 -1 21 35.057096 35.057096 35.057096 -1 22 45.000000 45.000000 45.000000 -1 23 35.000000 35.000000 35.000000 -1 24 45.044423 45.044423 45.044423 -1 25 35.057096 35.057096 35.057096 -1 26 45.276926 45.276926 45.276926 -1 27 58.523500 58.523500 58.523500 -1 28 57.008771 57.008771 57.008771 -1 29 55.713553 55.713553 55.713553 -1 30 52.201533 52.201533 52.201533 -1 31 52.000000 52.000000 52.000000 -1 32 50.289164 50.289164 50.289164 -1 33 51.078371 51.078371 51.078371 -1 34 51.478151 51.478151 51.478151 -1 35 47.434165 47.434165 47.434165 -1 36 44.204072 44.204072 44.204072 -1 37 43.011626 43.011626 43.011626 -1 38 40.607881 40.607881 40.607881 -1 39 37.202150 37.202150 37.202150 -1 40 36.055513 36.055513 36.055513 -1 41 40.311289 40.311289 40.311289 -1 42 30.805844 30.805844 30.805844 -1 43 33.541020 33.541020 33.541020 -1 44 38.078866 38.078866 38.078866 -1 45 35.341194 35.341194 35.341194 -1 46 37.735925 37.735925 37.735925 -1 47 37.202150 37.202150 37.202150 -1 48 38.327536 38.327536 38.327536 -1 49 45.044423 45.044423 45.044423 -1 50 38.052595 38.052595 38.052595 -1 51 35.341194 35.341194 35.341194 -1 52 33.541020 33.541020 33.541020 -1 53 25.000000 25.000000 25.000000 -1 54 20.000000 20.000000 20.000000 -1 55 18.027756 18.027756 18.027756 -1 56 14.142136 14.142136 14.142136 -1 57 18.027756 18.027756 18.027756 -1 58 26.925824 26.925824 26.925824 -1 59 47.169906 47.169906 47.169906 -1 60 42.426407 42.426407 42.426407 -1 61 26.925824 26.925824 26.925824 -1 62 15.811388 15.811388 15.811388 -1 63 29.154759 29.154759 29.154759 -1 64 39.051248 39.051248 39.051248 -1 65 20.615528 20.615528 20.615528 -1 66 11.180340 11.180340 11.180340 -1 67 13.038405 13.038405 13.038405 -1 68 25.298221 25.298221 25.298221 -1 69 10.000000 10.000000 10.000000 -1 70 9.219544 9.219544 9.219544 -1 71 19.646883 19.646883 19.646883 -1 72 25.495098 25.495098 25.495098 -1 73 27.459060 27.459060 27.459060 -1 74 39.293765 39.293765 39.293765 -1 75 36.055513 36.055513 36.055513 -1 76 57.008771 57.008771 57.008771 -1 77 42.941821 42.941821 42.941821 -1 78 49.979996 49.979996 49.979996 -1 79 32.557641 32.557641 32.557641 -1 80 38.470768 38.470768 38.470768 -1 81 7.615773 7.615773 7.615773 -1 82 12.041595 12.041595 12.041595 -1 83 14.764823 14.764823 14.764823 -1 84 19.235384 19.235384 19.235384 -1 85 27.018512 27.018512 27.018512 -1 86 35.468296 35.468296 35.468296 -1 87 32.202484 32.202484 32.202484 -1 88 38.209946 38.209946 38.209946 -1 89 17.888544 17.888544 17.888544 -1 90 52.478567 52.478567 52.478567 -1 91 4.242641 4.242641 4.242641 -1 92 12.041595 12.041595 12.041595 -1 93 14.764823 14.764823 14.764823 -1 94 21.095023 21.095023 21.095023 -1 95 17.117243 17.117243 17.117243 -1 96 20.615528 20.615528 20.615528 -1 97 15.524175 15.524175 15.524175 -1 98 48.166378 48.166378 48.166378 -1 99 14.142136 14.142136 14.142136 -1 100 20.518285 20.518285 20.518285 -1 101 19.235384 19.235384 19.235384 -2 1 38.078866 38.078866 38.078866 -2 3 10.440307 10.440307 10.440307 -2 4 3.000000 3.000000 3.000000 -2 5 7.071068 7.071068 7.071068 -2 6 5.000000 5.000000 5.000000 -2 7 12.206556 12.206556 12.206556 -2 8 14.142136 14.142136 14.142136 -2 9 11.180340 11.180340 11.180340 -2 10 52.201533 52.201533 52.201533 -2 11 47.434165 47.434165 47.434165 -2 12 48.104054 48.104054 48.104054 -2 13 43.462628 43.462628 43.462628 -2 14 53.851648 53.851648 53.851648 -2 15 44.721360 44.721360 44.721360 -2 16 50.537115 50.537115 50.537115 -2 17 51.478151 51.478151 51.478151 -2 18 47.169906 47.169906 47.169906 -2 19 82.225300 82.225300 82.225300 -2 20 76.902536 76.902536 76.902536 -2 21 72.034714 72.034714 72.034714 -2 22 81.394103 81.394103 81.394103 -2 23 71.589105 71.589105 71.589105 -2 24 81.049368 81.049368 81.049368 -2 25 71.196910 71.196910 71.196910 -2 26 80.622577 80.622577 80.622577 -2 27 89.022469 89.022469 89.022469 -2 28 86.023253 86.023253 86.023253 -2 29 86.683332 86.683332 86.683332 -2 30 82.006097 82.006097 82.006097 -2 31 83.630138 83.630138 83.630138 -2 32 80.430094 80.430094 80.430094 -2 33 82.879430 82.879430 82.879430 -2 34 84.852814 84.852814 84.852814 -2 35 78.102497 78.102497 78.102497 -2 36 42.000000 42.000000 42.000000 -2 37 40.000000 40.000000 40.000000 -2 38 40.112342 40.112342 40.112342 -2 39 37.336309 37.336309 37.336309 -2 40 35.355339 35.355339 35.355339 -2 41 35.000000 35.000000 35.000000 -2 42 34.481879 34.481879 34.481879 -2 43 30.413813 30.413813 30.413813 -2 44 30.000000 30.000000 30.000000 -2 45 30.149627 30.149627 30.149627 -2 46 5.830952 5.830952 5.830952 -2 47 8.602325 8.602325 8.602325 -2 48 46.141088 46.141088 46.141088 -2 49 81.786307 81.786307 81.786307 -2 50 74.953319 74.953319 74.953319 -2 51 68.622154 68.622154 68.622154 -2 52 71.589105 71.589105 71.589105 -2 53 55.000000 55.000000 55.000000 -2 54 35.355339 35.355339 35.355339 -2 55 39.051248 39.051248 39.051248 -2 56 25.495098 25.495098 25.495098 -2 57 55.901699 55.901699 55.901699 -2 58 60.207973 60.207973 60.207973 -2 59 75.663730 75.663730 75.663730 -2 60 66.708320 66.708320 66.708320 -2 61 26.925824 26.925824 26.925824 -2 62 28.284271 28.284271 28.284271 -2 63 64.031242 64.031242 64.031242 -2 64 76.321688 76.321688 76.321688 -2 65 58.523500 58.523500 58.523500 -2 66 46.097722 46.097722 46.097722 -2 67 50.596443 50.596443 50.596443 -2 68 58.051701 58.051701 58.051701 -2 69 29.154759 29.154759 29.154759 -2 70 33.541020 33.541020 33.541020 -2 71 18.867962 18.867962 18.867962 -2 72 50.000000 50.000000 50.000000 -2 73 42.941821 42.941821 42.941821 -2 74 33.970576 33.970576 33.970576 -2 75 65.192024 65.192024 65.192024 -2 76 82.462113 82.462113 82.462113 -2 77 80.956779 80.956779 80.956779 -2 78 82.024387 82.024387 82.024387 -2 79 33.615473 33.615473 33.615473 -2 80 25.495098 25.495098 25.495098 -2 81 43.908997 43.908997 43.908997 -2 82 36.124784 36.124784 36.124784 -2 83 42.047592 42.047592 42.047592 -2 84 55.317267 55.317267 55.317267 -2 85 64.498062 64.498062 64.498062 -2 86 72.718636 72.718636 72.718636 -2 87 61.131007 61.131007 61.131007 -2 88 62.369865 62.369865 62.369865 -2 89 27.018512 27.018512 27.018512 -2 90 90.354856 90.354856 90.354856 -2 91 39.849718 39.849718 39.849718 -2 92 49.244289 49.244289 49.244289 -2 93 50.477718 50.477718 50.477718 -2 94 48.836462 48.836462 48.836462 -2 95 48.918299 48.918299 48.918299 -2 96 57.140179 57.140179 57.140179 -2 97 43.139309 43.139309 43.139309 -2 98 70.213959 70.213959 70.213959 -2 99 33.015148 33.015148 33.015148 -2 100 50.009999 50.009999 50.009999 -2 101 18.973666 18.973666 18.973666 -3 1 30.805844 30.805844 30.805844 -3 2 10.440307 10.440307 10.440307 -3 4 10.000000 10.000000 10.000000 -3 5 5.385165 5.385165 5.385165 -3 6 10.198039 10.198039 10.198039 -3 7 4.000000 4.000000 4.000000 -3 8 7.000000 7.000000 7.000000 -3 9 8.602325 8.602325 8.602325 -3 10 41.761226 41.761226 41.761226 -3 11 37.000000 37.000000 37.000000 -3 12 37.696154 37.696154 37.696154 -3 13 33.105891 33.105891 33.105891 -3 14 43.462628 43.462628 43.462628 -3 15 34.481879 34.481879 34.481879 -3 16 40.311289 40.311289 40.311289 -3 17 41.340053 41.340053 41.340053 -3 18 37.202150 37.202150 37.202150 -3 19 73.375745 73.375745 73.375745 -3 20 68.007353 68.007353 68.007353 -3 21 63.245553 63.245553 63.245553 -3 22 72.277244 72.277244 72.277244 -3 23 62.641839 62.641839 62.641839 -3 24 71.805292 71.805292 71.805292 -3 25 62.096699 62.096699 62.096699 -3 26 71.196910 71.196910 71.196910 -3 27 85.755466 85.755466 85.755466 -3 28 83.240615 83.240615 83.240615 -3 29 83.216585 83.216585 83.216585 -3 30 78.892332 78.892332 78.892332 -3 31 79.881162 79.881162 79.881162 -3 32 77.175126 77.175126 77.175126 -3 33 79.056942 79.056942 79.056942 -3 34 80.430094 80.430094 80.430094 -3 35 74.625733 74.625733 74.625733 -3 36 46.097722 46.097722 46.097722 -3 37 44.147480 44.147480 44.147480 -3 38 43.566042 43.566042 43.566042 -3 39 40.311289 40.311289 40.311289 -3 40 38.327536 38.327536 38.327536 -3 41 39.293765 39.293765 39.293765 -3 42 36.000000 36.000000 36.000000 -3 43 33.376639 33.376639 33.376639 -3 44 34.481879 34.481879 34.481879 -3 45 33.734256 33.734256 33.734256 -3 46 7.280110 7.280110 7.280110 -3 47 6.403124 6.403124 6.403124 -3 48 36.055513 36.055513 36.055513 -3 49 72.801099 72.801099 72.801099 -3 50 66.098411 66.098411 66.098411 -3 51 64.031242 64.031242 64.031242 -3 52 64.140471 64.140471 64.140471 -3 53 45.099889 45.099889 45.099889 -3 54 25.079872 25.079872 25.079872 -3 55 36.249138 36.249138 36.249138 -3 56 17.000000 17.000000 17.000000 -3 57 48.826222 48.826222 48.826222 -3 58 50.635956 50.635956 50.635956 -3 59 65.375837 65.375837 65.375837 -3 60 56.293872 56.293872 56.293872 -3 61 16.552945 16.552945 16.552945 -3 62 25.079872 25.079872 25.079872 -3 63 58.728187 58.728187 58.728187 -3 64 69.814039 69.814039 69.814039 -3 65 50.537115 50.537115 50.537115 -3 66 37.336309 37.336309 37.336309 -3 67 42.485292 42.485292 42.485292 -3 68 53.413481 53.413481 53.413481 -3 69 23.430749 23.430749 23.430749 -3 70 24.698178 24.698178 24.698178 -3 71 14.317821 14.317821 14.317821 -3 72 47.423623 47.423623 47.423623 -3 73 42.201896 42.201896 42.201896 -3 74 25.000000 25.000000 25.000000 -3 75 55.036352 55.036352 55.036352 -3 76 72.034714 72.034714 72.034714 -3 77 73.573093 73.573093 73.573093 -3 78 72.006944 72.006944 72.006944 -3 79 23.600847 23.600847 23.600847 -3 80 17.464249 17.464249 17.464249 -3 81 37.536649 37.536649 37.536649 -3 82 31.906112 31.906112 31.906112 -3 83 32.388269 32.388269 32.388269 -3 84 46.486557 46.486557 46.486557 -3 85 57.801384 57.801384 57.801384 -3 86 66.219333 66.219333 66.219333 -3 87 51.009803 51.009803 51.009803 -3 88 51.971146 51.971146 51.971146 -3 89 17.117243 17.117243 17.117243 -3 90 83.216585 83.216585 83.216585 -3 91 31.764760 31.764760 31.764760 -3 92 42.638011 42.638011 42.638011 -3 93 44.553339 44.553339 44.553339 -3 94 45.276926 45.276926 45.276926 -3 95 44.204072 44.204072 44.204072 -3 96 50.990195 50.990195 50.990195 -3 97 39.115214 39.115214 39.115214 -3 98 59.774577 59.774577 59.774577 -3 99 23.345235 23.345235 23.345235 -3 100 40.199502 40.199502 40.199502 -3 101 12.041595 12.041595 12.041595 -4 1 39.357337 39.357337 39.357337 -4 2 3.000000 3.000000 3.000000 -4 3 10.000000 10.000000 10.000000 -4 5 5.385165 5.385165 5.385165 -4 6 2.000000 2.000000 2.000000 -4 7 10.770330 10.770330 10.770330 -4 8 12.206556 12.206556 12.206556 -4 9 8.602325 8.602325 8.602325 -4 10 51.419841 51.419841 51.419841 -4 11 46.572524 46.572524 46.572524 -4 12 47.127487 47.127487 47.127487 -4 13 42.379240 42.379240 42.379240 -4 14 52.810984 52.810984 52.810984 -4 15 43.462628 43.462628 43.462628 -4 16 49.244289 49.244289 49.244289 -4 17 50.089919 50.089919 50.089919 -4 18 45.650849 45.650849 45.650849 -4 19 82.969874 82.969874 82.969874 -4 20 77.620873 77.620873 77.620873 -4 21 72.801099 72.801099 72.801099 -4 22 82.000000 82.000000 82.000000 -4 23 72.277244 72.277244 72.277244 -4 24 81.584312 81.584312 81.584312 -4 25 71.805292 71.805292 71.805292 -4 26 81.049368 81.049368 81.049368 -4 27 91.400219 91.400219 91.400219 -4 28 88.481637 88.481637 88.481637 -4 29 89.022469 89.022469 89.022469 -4 30 84.403791 84.403791 84.403791 -4 31 85.912746 85.912746 85.912746 -4 32 82.800966 82.800966 82.800966 -4 33 85.146932 85.146932 85.146932 -4 34 87.000000 87.000000 87.000000 -4 35 80.430094 80.430094 80.430094 -4 36 45.000000 45.000000 45.000000 -4 37 43.000000 43.000000 43.000000 -4 38 43.104524 43.104524 43.104524 -4 39 40.311289 40.311289 40.311289 -4 40 38.327536 38.327536 38.327536 -4 41 38.000000 38.000000 38.000000 -4 42 37.363083 37.363083 37.363083 -4 43 33.376639 33.376639 33.376639 -4 44 33.000000 33.000000 33.000000 -4 45 33.136083 33.136083 33.136083 -4 46 3.605551 3.605551 3.605551 -4 47 6.403124 6.403124 6.403124 -4 48 44.721360 44.721360 44.721360 -4 49 82.462113 82.462113 82.462113 -4 50 75.690158 75.690158 75.690158 -4 51 70.710678 70.710678 70.710678 -4 52 72.897188 72.897188 72.897188 -4 53 55.081757 55.081757 55.081757 -4 54 35.057096 35.057096 35.057096 -4 55 41.400483 41.400483 41.400483 -4 56 26.248809 26.248809 26.248809 -4 57 57.306195 57.306195 57.306195 -4 58 60.530984 60.530984 60.530984 -4 59 75.325958 75.325958 75.325958 -4 60 66.098411 66.098411 66.098411 -4 61 25.961510 25.961510 25.961510 -4 62 30.479501 30.479501 30.479501 -4 63 65.946948 65.946948 65.946948 -4 64 77.935871 77.935871 77.935871 -4 65 59.615434 59.615434 59.615434 -4 66 46.840154 46.840154 46.840154 -4 67 51.623638 51.623638 51.623638 -4 68 60.108236 60.108236 60.108236 -4 69 30.805844 30.805844 30.805844 -4 70 34.205263 34.205263 34.205263 -4 71 20.615528 20.615528 20.615528 -4 72 52.430907 52.430907 52.430907 -4 73 45.617979 45.617979 45.617979 -4 74 32.015621 32.015621 32.015621 -4 75 65.030762 65.030762 65.030762 -4 76 81.786307 81.786307 81.786307 -4 77 82.298238 82.298238 82.298238 -4 78 82.006097 82.006097 82.006097 -4 79 32.202484 32.202484 32.202484 -4 80 23.345235 23.345235 23.345235 -4 81 45.486262 45.486262 45.486262 -4 82 38.183766 38.183766 38.183766 -4 83 42.296572 42.296572 42.296572 -4 84 56.044625 56.044625 56.044625 -4 85 66.037868 66.037868 66.037868 -4 86 74.330344 74.330344 74.330344 -4 87 61.008196 61.008196 61.008196 -4 88 61.814238 61.814238 61.814238 -4 89 27.073973 27.073973 27.073973 -4 90 91.787799 91.787799 91.787799 -4 91 40.853396 40.853396 40.853396 -4 92 50.774009 50.774009 50.774009 -4 93 52.201533 52.201533 52.201533 -4 94 51.088159 51.088159 51.088159 -4 95 50.931326 50.931326 50.931326 -4 96 58.821765 58.821765 58.821765 -4 97 45.276926 45.276926 45.276926 -4 98 69.375788 69.375788 69.375788 -4 99 33.241540 33.241540 33.241540 -4 100 50.159745 50.159745 50.159745 -4 101 20.124612 20.124612 20.124612 -5 1 36.055513 36.055513 36.055513 -5 2 7.071068 7.071068 7.071068 -5 3 5.385165 5.385165 5.385165 -5 4 5.385165 5.385165 5.385165 -5 6 5.000000 5.000000 5.000000 -5 7 5.385165 5.385165 5.385165 -5 8 7.071068 7.071068 7.071068 -5 9 5.000000 5.000000 5.000000 -5 10 46.097722 46.097722 46.097722 -5 11 41.231056 41.231056 41.231056 -5 12 41.761226 41.761226 41.761226 -5 13 37.000000 37.000000 37.000000 -5 14 47.434165 47.434165 47.434165 -5 15 38.078866 38.078866 38.078866 -5 16 43.863424 43.863424 43.863424 -5 17 44.721360 44.721360 44.721360 -5 18 40.311289 40.311289 40.311289 -5 19 78.746428 78.746428 78.746428 -5 20 73.375745 73.375745 73.375745 -5 21 68.622154 68.622154 68.622154 -5 22 77.620873 77.620873 77.620873 -5 23 68.007353 68.007353 68.007353 -5 24 77.129761 77.129761 77.129761 -5 25 67.446275 67.446275 67.446275 -5 26 76.485293 76.485293 76.485293 -5 27 90.138782 90.138782 90.138782 -5 28 87.464278 87.464278 87.464278 -5 29 87.658428 87.658428 87.658428 -5 30 83.216585 83.216585 83.216585 -5 31 84.403791 84.403791 84.403791 -5 32 81.541401 81.541401 81.541401 -5 33 83.600239 83.600239 83.600239 -5 34 85.146932 85.146932 85.146932 -5 35 79.056942 79.056942 79.056942 -5 36 47.265209 47.265209 47.265209 -5 37 45.276926 45.276926 45.276926 -5 38 45.044423 45.044423 45.044423 -5 39 42.000000 42.000000 42.000000 -5 40 40.000000 40.000000 40.000000 -5 41 40.311289 40.311289 40.311289 -5 42 38.327536 38.327536 38.327536 -5 43 35.000000 35.000000 35.000000 -5 44 35.355339 35.355339 35.355339 -5 45 35.057096 35.057096 35.057096 -5 46 2.000000 2.000000 2.000000 -5 47 2.000000 2.000000 2.000000 -5 48 39.357337 39.357337 39.357337 -5 49 78.160092 78.160092 78.160092 -5 50 71.470274 71.470274 71.470274 -5 51 68.767725 68.767725 68.767725 -5 52 69.462220 69.462220 69.462220 -5 53 50.249378 50.249378 50.249378 -5 54 30.000000 30.000000 30.000000 -5 55 40.311289 40.311289 40.311289 -5 56 22.360680 22.360680 22.360680 -5 57 54.083269 54.083269 54.083269 -5 58 55.901699 55.901699 55.901699 -5 59 70.178344 70.178344 70.178344 -5 60 60.827625 60.827625 60.827625 -5 61 20.615528 20.615528 20.615528 -5 62 29.154759 29.154759 29.154759 -5 63 63.639610 63.639610 63.639610 -5 64 75.000000 75.000000 75.000000 -5 65 55.901699 55.901699 55.901699 -5 66 42.720019 42.720019 42.720019 -5 67 47.853944 47.853944 47.853944 -5 68 58.137767 58.137767 58.137767 -5 69 28.284271 28.284271 28.284271 -5 70 30.083218 30.083218 30.083218 -5 71 18.601075 18.601075 18.601075 -5 72 51.478151 51.478151 51.478151 -5 73 45.541190 45.541190 45.541190 -5 74 26.907248 26.907248 26.907248 -5 75 60.000000 60.000000 60.000000 -5 76 76.485293 76.485293 76.485293 -5 77 78.892332 78.892332 78.892332 -5 78 77.058419 77.058419 77.058419 -5 79 26.832816 26.832816 26.832816 -5 80 18.439089 18.439089 18.439089 -5 81 42.638011 42.638011 42.638011 -5 82 36.400549 36.400549 36.400549 -5 83 37.656341 37.656341 37.656341 -5 84 51.865210 51.865210 51.865210 -5 85 63.007936 63.007936 63.007936 -5 86 71.400280 71.400280 71.400280 -5 87 56.008928 56.008928 56.008928 -5 88 56.568542 56.568542 56.568542 -5 89 22.360680 22.360680 22.360680 -5 90 88.509886 88.509886 88.509886 -5 91 37.121422 37.121422 37.121422 -5 92 47.801674 47.801674 47.801674 -5 93 49.578221 49.578221 49.578221 -5 94 49.648766 49.648766 49.648766 -5 95 48.918299 48.918299 48.918299 -5 96 56.080300 56.080300 56.080300 -5 97 43.600459 43.600459 43.600459 -5 98 64.031242 64.031242 64.031242 -5 99 28.635642 28.635642 28.635642 -5 100 45.398238 45.398238 45.398238 -5 101 17.029386 17.029386 17.029386 -6 1 40.311289 40.311289 40.311289 -6 2 5.000000 5.000000 5.000000 -6 3 10.198039 10.198039 10.198039 -6 4 2.000000 2.000000 2.000000 -6 5 5.000000 5.000000 5.000000 -6 7 10.198039 10.198039 10.198039 -6 8 11.180340 11.180340 11.180340 -6 9 7.071068 7.071068 7.071068 -6 10 50.990195 50.990195 50.990195 -6 11 46.097722 46.097722 46.097722 -6 12 46.572524 46.572524 46.572524 -6 13 41.761226 41.761226 41.761226 -6 14 52.201533 52.201533 52.201533 -6 15 42.720019 42.720019 42.720019 -6 16 48.466483 48.466483 48.466483 -6 17 49.244289 49.244289 49.244289 -6 18 44.721360 44.721360 44.721360 -6 19 83.522452 83.522452 83.522452 -6 20 78.160092 78.160092 78.160092 -6 21 73.375745 73.375745 73.375745 -6 22 82.462113 82.462113 82.462113 -6 23 72.801099 72.801099 72.801099 -6 24 82.000000 82.000000 82.000000 -6 25 72.277244 72.277244 72.277244 -6 26 81.394103 81.394103 81.394103 -6 27 93.005376 93.005376 93.005376 -6 28 90.138782 90.138782 90.138782 -6 29 90.603532 90.603532 90.603532 -6 30 86.023253 86.023253 86.023253 -6 31 87.458562 87.458562 87.458562 -6 32 84.403791 84.403791 84.403791 -6 33 86.683332 86.683332 86.683332 -6 34 88.459030 88.459030 88.459030 -6 35 82.006097 82.006097 82.006097 -6 36 47.000000 47.000000 47.000000 -6 37 45.000000 45.000000 45.000000 -6 38 45.099889 45.099889 45.099889 -6 39 42.296572 42.296572 42.296572 -6 40 40.311289 40.311289 40.311289 -6 41 40.000000 40.000000 40.000000 -6 42 39.293765 39.293765 39.293765 -6 43 35.355339 35.355339 35.355339 -6 44 35.000000 35.000000 35.000000 -6 45 35.128336 35.128336 35.128336 -6 46 3.000000 3.000000 3.000000 -6 47 5.385165 5.385165 5.385165 -6 48 43.863424 43.863424 43.863424 -6 49 82.969874 82.969874 82.969874 -6 50 76.243032 76.243032 76.243032 -6 51 72.138755 72.138755 72.138755 -6 52 73.824115 73.824115 73.824115 -6 53 55.226805 55.226805 55.226805 -6 54 35.000000 35.000000 35.000000 -6 55 43.011626 43.011626 43.011626 -6 56 26.925824 26.925824 26.925824 -6 57 58.309519 58.309519 58.309519 -6 58 60.827625 60.827625 60.827625 -6 59 75.166482 75.166482 75.166482 -6 60 65.764732 65.764732 65.764732 -6 61 25.495098 25.495098 25.495098 -6 62 32.015621 32.015621 32.015621 -6 63 67.268120 67.268120 67.268120 -6 64 79.056942 79.056942 79.056942 -6 65 60.415230 60.415230 60.415230 -6 66 47.434165 47.434165 47.434165 -6 67 52.392748 52.392748 52.392748 -6 68 61.522354 61.522354 61.522354 -6 69 32.015621 32.015621 32.015621 -6 70 34.785054 34.785054 34.785054 -6 71 21.931712 21.931712 21.931712 -6 72 54.083269 54.083269 54.083269 -6 73 47.423623 47.423623 47.423623 -6 74 30.805844 30.805844 30.805844 -6 75 65.000000 65.000000 65.000000 -6 76 81.394103 81.394103 81.394103 -6 77 83.240615 83.240615 83.240615 -6 78 82.054860 82.054860 82.054860 -6 79 31.384710 31.384710 31.384710 -6 80 22.022716 22.022716 22.022716 -6 81 46.615448 46.615448 46.615448 -6 82 39.623226 39.623226 39.623226 -6 83 42.579338 42.579338 42.579338 -6 84 56.612719 56.612719 56.612719 -6 85 67.119297 67.119297 67.119297 -6 86 75.451971 75.451971 75.451971 -6 87 61.008196 61.008196 61.008196 -6 88 61.522354 61.522354 61.522354 -6 89 27.294688 27.294688 27.294688 -6 90 92.784697 92.784697 92.784697 -6 91 41.629317 41.629317 41.629317 -6 92 51.865210 51.865210 51.865210 -6 93 53.413481 53.413481 53.413481 -6 94 52.630789 52.630789 52.630789 -6 95 52.325902 52.325902 52.325902 -6 96 60.000000 60.000000 60.000000 -6 97 46.754679 46.754679 46.754679 -6 98 68.883960 68.883960 68.883960 -6 99 33.541020 33.541020 33.541020 -6 100 50.358713 50.358713 50.358713 -6 101 21.095023 21.095023 21.095023 -7 1 33.301652 33.301652 33.301652 -7 2 12.206556 12.206556 12.206556 -7 3 4.000000 4.000000 4.000000 -7 4 10.770330 10.770330 10.770330 -7 5 5.385165 5.385165 5.385165 -7 6 10.198039 10.198039 10.198039 -7 8 3.000000 3.000000 3.000000 -7 9 5.830952 5.830952 5.830952 -7 10 40.792156 40.792156 40.792156 -7 11 35.902646 35.902646 35.902646 -7 12 36.400549 36.400549 36.400549 -7 13 31.622777 31.622777 31.622777 -7 14 42.059482 42.059482 42.059482 -7 15 32.695565 32.695565 32.695565 -7 16 38.483763 38.483763 38.483763 -7 17 39.357337 39.357337 39.357337 -7 18 34.985711 34.985711 34.985711 -7 19 74.672619 74.672619 74.672619 -7 20 69.289249 69.289249 69.289249 -7 21 64.621978 64.621978 64.621978 -7 22 73.375745 73.375745 73.375745 -7 23 63.906181 63.906181 63.906181 -7 24 72.801099 72.801099 72.801099 -7 25 63.245553 63.245553 63.245553 -7 26 72.034714 72.034714 72.034714 -7 27 89.185201 89.185201 89.185201 -7 28 86.769810 86.769810 86.769810 -7 29 86.608314 86.608314 86.608314 -7 30 82.365041 82.365041 82.365041 -7 31 83.216585 83.216585 83.216585 -7 32 80.622577 80.622577 80.622577 -7 33 82.377181 82.377181 82.377181 -7 34 83.600239 83.600239 83.600239 -7 35 78.032045 78.032045 78.032045 -7 36 50.009999 50.009999 50.009999 -7 37 48.052055 48.052055 48.052055 -7 38 47.518417 47.518417 47.518417 -7 39 44.283180 44.283180 44.283180 -7 40 42.296572 42.296572 42.296572 -7 41 43.174066 43.174066 43.174066 -7 42 40.000000 40.000000 40.000000 -7 43 37.336309 37.336309 37.336309 -7 44 38.327536 38.327536 38.327536 -7 45 37.656341 37.656341 37.656341 -7 46 7.280110 7.280110 7.280110 -7 47 5.000000 5.000000 5.000000 -7 48 34.000000 34.000000 34.000000 -7 49 74.000000 74.000000 74.000000 -7 50 67.416615 67.416615 67.416615 -7 51 67.201190 67.201190 67.201190 -7 52 66.287254 66.287254 66.287254 -7 53 45.541190 45.541190 45.541190 -7 54 25.079872 25.079872 25.079872 -7 55 39.924930 39.924930 39.924930 -7 56 19.209373 19.209373 19.209373 -7 57 51.224994 51.224994 51.224994 -7 58 51.419841 51.419841 51.419841 -7 59 65.069194 65.069194 65.069194 -7 60 55.578773 55.578773 55.578773 -7 61 15.297059 15.297059 15.297059 -7 62 28.792360 28.792360 28.792360 -7 63 61.717096 61.717096 61.717096 -7 64 72.346389 72.346389 72.346389 -7 65 52.478567 52.478567 52.478567 -7 66 38.910153 38.910153 38.910153 -7 67 44.418465 44.418465 44.418465 -7 68 56.612719 56.612719 56.612719 -7 69 26.627054 26.627054 26.627054 -7 70 26.419690 26.419690 26.419690 -7 71 18.027756 18.027756 18.027756 -7 72 51.078371 51.078371 51.078371 -7 73 46.097722 46.097722 46.097722 -7 74 21.931712 21.931712 21.931712 -7 75 55.036352 55.036352 55.036352 -7 76 71.196910 71.196910 71.196910 -7 77 75.716577 75.716577 75.716577 -7 78 72.173402 72.173402 72.173402 -7 79 21.470911 21.470911 21.470911 -7 80 13.892444 13.892444 13.892444 -7 81 40.311289 40.311289 40.311289 -7 82 35.355339 35.355339 35.355339 -7 83 33.241540 33.241540 33.241540 -7 84 47.927028 47.927028 47.927028 -7 85 60.307545 60.307545 60.307545 -7 86 68.767725 68.767725 68.767725 -7 87 51.088159 51.088159 51.088159 -7 88 51.351728 51.351728 51.351728 -7 89 18.027756 18.027756 18.027756 -7 90 85.445889 85.445889 85.445889 -7 91 33.837849 33.837849 33.837849 -7 92 45.276926 45.276926 45.276926 -7 93 47.423623 47.423623 47.423623 -7 94 48.764741 48.764741 48.764741 -7 95 47.434165 47.434165 47.434165 -7 96 53.740115 53.740115 53.740115 -7 97 42.544095 42.544095 42.544095 -7 98 58.694122 58.694122 58.694122 -7 99 24.351591 24.351591 24.351591 -7 100 40.792156 40.792156 40.792156 -7 101 15.264338 15.264338 15.264338 -8 1 35.355339 35.355339 35.355339 -8 2 14.142136 14.142136 14.142136 -8 3 7.000000 7.000000 7.000000 -8 4 12.206556 12.206556 12.206556 -8 5 7.071068 7.071068 7.071068 -8 6 11.180340 11.180340 11.180340 -8 7 3.000000 3.000000 3.000000 -8 9 5.000000 5.000000 5.000000 -8 10 40.311289 40.311289 40.311289 -8 11 35.355339 35.355339 35.355339 -8 12 35.693137 35.693137 35.693137 -8 13 30.805844 30.805844 30.805844 -8 14 41.231056 41.231056 41.231056 -8 15 31.622777 31.622777 31.622777 -8 16 37.336309 37.336309 37.336309 -8 17 38.078866 38.078866 38.078866 -8 18 33.541020 33.541020 33.541020 -8 19 75.769387 75.769387 75.769387 -8 20 70.384657 70.384657 70.384657 -8 21 65.795137 65.795137 65.795137 -8 22 74.330344 74.330344 74.330344 -8 23 65.000000 65.000000 65.000000 -8 24 73.681748 73.681748 73.681748 -8 25 64.257295 64.257295 64.257295 -8 26 72.801099 72.801099 72.801099 -8 27 91.787799 91.787799 91.787799 -8 28 89.442719 89.442719 89.442719 -8 29 89.185201 89.185201 89.185201 -8 30 85.000000 85.000000 85.000000 -8 31 85.755466 85.755466 85.755466 -8 32 83.240615 83.240615 83.240615 -8 33 84.905830 84.905830 84.905830 -8 34 86.023253 86.023253 86.023253 -8 35 80.622577 80.622577 80.622577 -8 36 52.952809 52.952809 52.952809 -8 37 50.990195 50.990195 50.990195 -8 38 50.487622 50.487622 50.487622 -8 39 47.265209 47.265209 47.265209 -8 40 45.276926 45.276926 45.276926 -8 41 46.097722 46.097722 46.097722 -8 42 43.000000 43.000000 43.000000 -8 43 40.311289 40.311289 40.311289 -8 44 41.231056 41.231056 41.231056 -8 45 40.607881 40.607881 40.607881 -8 46 8.602325 8.602325 8.602325 -8 47 5.830952 5.830952 5.830952 -8 48 32.695565 32.695565 32.695565 -8 49 75.026662 75.026662 75.026662 -8 50 68.541958 68.541958 68.541958 -8 51 69.634761 69.634761 69.634761 -8 52 68.007353 68.007353 68.007353 -8 53 46.097722 46.097722 46.097722 -8 54 25.495098 25.495098 25.495098 -8 55 42.720019 42.720019 42.720019 -8 56 21.213203 21.213203 21.213203 -8 57 53.150729 53.150729 53.150729 -8 58 52.201533 52.201533 52.201533 -8 59 65.000000 65.000000 65.000000 -8 60 55.226805 55.226805 55.226805 -8 61 15.000000 15.000000 15.000000 -8 62 31.622777 31.622777 31.622777 -8 63 64.031242 64.031242 64.031242 -8 64 74.330344 74.330344 74.330344 -8 65 54.083269 54.083269 54.083269 -8 66 40.311289 40.311289 40.311289 -8 67 46.043458 46.043458 46.043458 -8 68 59.076222 59.076222 59.076222 -8 69 29.154759 29.154759 29.154759 -8 70 28.017851 28.017851 28.017851 -8 71 20.880613 20.880613 20.880613 -8 72 53.851648 53.851648 53.851648 -8 73 49.030603 49.030603 49.030603 -8 74 19.849433 19.849433 19.849433 -8 75 55.226805 55.226805 55.226805 -8 76 70.710678 70.710678 70.710678 -8 77 77.420927 77.420927 77.420927 -8 78 72.443081 72.443081 72.443081 -8 79 20.248457 20.248457 20.248457 -8 80 11.401754 11.401754 11.401754 -8 81 42.520583 42.520583 42.520583 -8 82 38.013156 38.013156 38.013156 -8 83 34.176015 34.176015 34.176015 -8 84 49.193496 49.193496 49.193496 -8 85 62.289646 62.289646 62.289646 -8 86 70.767224 70.767224 70.767224 -8 87 51.351728 51.351728 51.351728 -8 88 51.088159 51.088159 51.088159 -8 89 19.235384 19.235384 19.235384 -8 90 87.200917 87.200917 87.200917 -8 91 35.608988 35.608988 35.608988 -8 92 47.381431 47.381431 47.381431 -8 93 49.678969 49.678969 49.678969 -8 94 51.429563 51.429563 51.429563 -8 95 49.929951 49.929951 49.929951 -8 96 55.901699 55.901699 55.901699 -8 97 45.177428 45.177428 45.177428 -8 98 58.051701 58.051701 58.051701 -8 99 25.495098 25.495098 25.495098 -8 100 41.484937 41.484937 41.484937 -8 101 17.888544 17.888544 17.888544 -9 1 39.051248 39.051248 39.051248 -9 2 11.180340 11.180340 11.180340 -9 3 8.602325 8.602325 8.602325 -9 4 8.602325 8.602325 8.602325 -9 5 5.000000 5.000000 5.000000 -9 6 7.071068 7.071068 7.071068 -9 7 5.830952 5.830952 5.830952 -9 8 5.000000 5.000000 5.000000 -9 10 45.276926 45.276926 45.276926 -9 11 40.311289 40.311289 40.311289 -9 12 40.607881 40.607881 40.607881 -9 13 35.693137 35.693137 35.693137 -9 14 46.097722 46.097722 46.097722 -9 15 36.400549 36.400549 36.400549 -9 16 42.059482 42.059482 42.059482 -9 17 42.720019 42.720019 42.720019 -9 18 38.078866 38.078866 38.078866 -9 19 80.411442 80.411442 80.411442 -9 20 75.026662 75.026662 75.026662 -9 21 70.384657 70.384657 70.384657 -9 22 79.056942 79.056942 79.056942 -9 23 69.641941 69.641941 69.641941 -9 24 78.447435 78.447435 78.447435 -9 25 68.949257 68.949257 68.949257 -9 26 77.620873 77.620873 77.620873 -9 27 94.339811 94.339811 94.339811 -9 28 91.787799 91.787799 91.787799 -9 29 91.809586 91.809586 91.809586 -9 30 87.464278 87.464278 87.464278 -9 31 88.481637 88.481637 88.481637 -9 32 85.755466 85.755466 85.755466 -9 33 87.658428 87.658428 87.658428 -9 34 89.022469 89.022469 89.022469 -9 35 83.216585 83.216585 83.216585 -9 36 52.239832 52.239832 52.239832 -9 37 50.249378 50.249378 50.249378 -9 38 50.039984 50.039984 50.039984 -9 39 47.000000 47.000000 47.000000 -9 40 45.000000 45.000000 45.000000 -9 41 45.276926 45.276926 45.276926 -9 42 43.289722 43.289722 43.289722 -9 43 40.000000 40.000000 40.000000 -9 44 40.311289 40.311289 40.311289 -9 45 40.049969 40.049969 40.049969 -9 46 5.385165 5.385165 5.385165 -9 47 3.000000 3.000000 3.000000 -9 48 37.336309 37.336309 37.336309 -9 49 79.711982 79.711982 79.711982 -9 50 73.164199 73.164199 73.164199 -9 51 72.622311 72.622311 72.622311 -9 52 72.111026 72.111026 72.111026 -9 53 50.990195 50.990195 50.990195 -9 54 30.413813 30.413813 30.413813 -9 55 44.721360 44.721360 44.721360 -9 56 25.000000 25.000000 25.000000 -9 57 57.008771 57.008771 57.008771 -9 58 57.008771 57.008771 57.008771 -9 59 70.000000 70.000000 70.000000 -9 60 60.207973 60.207973 60.207973 -9 61 20.000000 20.000000 20.000000 -9 62 33.541020 33.541020 33.541020 -9 63 67.268120 67.268120 67.268120 -9 64 78.102497 78.102497 78.102497 -9 65 58.309519 58.309519 58.309519 -9 66 44.721360 44.721360 44.721360 -9 67 50.249378 50.249378 50.249378 -9 68 62.008064 62.008064 62.008064 -9 69 32.015621 32.015621 32.015621 -9 70 32.249031 32.249031 32.249031 -9 71 22.825424 22.825424 22.825424 -9 72 55.901699 55.901699 55.901699 -9 73 50.289164 50.289164 50.289164 -9 74 23.853721 23.853721 23.853721 -9 75 60.207973 60.207973 60.207973 -9 76 75.663730 75.663730 75.663730 -9 77 81.541401 81.541401 81.541401 -9 78 77.414469 77.414469 77.414469 -9 79 25.000000 25.000000 25.000000 -9 80 15.000000 15.000000 15.000000 -9 81 45.967380 45.967380 45.967380 -9 82 40.496913 40.496913 40.496913 -9 83 38.897301 38.897301 38.897301 -9 84 53.712196 53.712196 53.712196 -9 85 66.068147 66.068147 66.068147 -9 86 74.518454 74.518454 74.518454 -9 87 56.320511 56.320511 56.320511 -9 88 56.080300 56.080300 56.080300 -9 89 23.769729 23.769729 23.769729 -9 90 91.263355 91.263355 91.263355 -9 91 39.661064 39.661064 39.661064 -9 92 50.990195 50.990195 50.990195 -9 93 53.037722 53.037722 53.037722 -9 94 53.851648 53.851648 53.851648 -9 95 52.801515 52.801515 52.801515 -9 96 59.413803 59.413803 59.413803 -9 97 47.707442 47.707442 47.707442 -9 98 62.968246 62.968246 62.968246 -9 99 30.083218 30.083218 30.083218 -9 100 46.324939 46.324939 46.324939 -9 101 20.615528 20.615528 20.615528 -10 1 33.541020 33.541020 33.541020 -10 2 52.201533 52.201533 52.201533 -10 3 41.761226 41.761226 41.761226 -10 4 51.419841 51.419841 51.419841 -10 5 46.097722 46.097722 46.097722 -10 6 50.990195 50.990195 50.990195 -10 7 40.792156 40.792156 40.792156 -10 8 40.311289 40.311289 40.311289 -10 9 45.276926 45.276926 45.276926 -10 11 5.000000 5.000000 5.000000 -10 12 5.385165 5.385165 5.385165 -10 13 10.198039 10.198039 10.198039 -10 14 5.000000 5.000000 5.000000 -10 15 11.180340 11.180340 11.180340 -10 16 9.433981 9.433981 9.433981 -10 17 11.180340 11.180340 11.180340 -10 18 14.142136 14.142136 14.142136 -10 19 45.343136 45.343136 45.343136 -10 20 40.607881 40.607881 40.607881 -10 21 37.735925 37.735925 37.735925 -10 22 42.426407 42.426407 42.426407 -10 23 36.055513 36.055513 36.055513 -10 24 41.036569 41.036569 41.036569 -10 25 34.409301 34.409301 34.409301 -10 26 39.051248 39.051248 39.051248 -10 27 85.146932 85.146932 85.146932 -10 28 85.000000 85.000000 85.000000 -10 29 82.152298 82.152298 82.152298 -10 30 80.000000 80.000000 80.000000 -10 31 78.160092 78.160092 78.160092 -10 32 78.000000 78.000000 78.000000 -10 33 77.162167 77.162167 77.162167 -10 34 75.663730 75.663730 75.663730 -10 35 75.000000 75.000000 75.000000 -10 36 75.822160 75.822160 75.822160 -10 37 74.330344 74.330344 74.330344 -10 38 72.346389 72.346389 72.346389 -10 39 68.767725 68.767725 68.767725 -10 40 67.268120 67.268120 67.268120 -10 41 70.710678 70.710678 70.710678 -10 42 62.481997 62.481997 62.481997 -10 43 63.639610 63.639610 63.639610 -10 44 67.268120 67.268120 67.268120 -10 45 65.069194 65.069194 65.069194 -10 46 48.052055 48.052055 48.052055 -10 47 45.705580 45.705580 45.705580 -10 48 12.806248 12.806248 12.806248 -10 49 43.863424 43.863424 43.863424 -10 50 39.408121 39.408121 39.408121 -10 51 62.000000 62.000000 62.000000 -10 52 47.434165 47.434165 47.434165 -10 53 15.811388 15.811388 15.811388 -10 54 18.027756 18.027756 18.027756 -10 55 51.478151 51.478151 51.478151 -10 56 32.015621 32.015621 32.015621 -10 57 40.000000 40.000000 40.000000 -10 58 22.360680 22.360680 22.360680 -10 59 25.495098 25.495098 25.495098 -10 60 15.000000 15.000000 15.000000 -10 61 25.495098 25.495098 25.495098 -10 62 46.097722 46.097722 46.097722 -10 63 55.000000 55.000000 55.000000 -10 64 57.008771 57.008771 57.008771 -10 65 35.355339 35.355339 35.355339 -10 66 25.495098 25.495098 25.495098 -10 67 31.064449 31.064449 31.064449 -10 68 54.451814 54.451814 54.451814 -10 69 39.051248 39.051248 39.051248 -10 70 27.018512 27.018512 27.018512 -10 71 42.201896 42.201896 42.201896 -10 72 58.523500 58.523500 58.523500 -10 73 60.901560 60.901560 60.901560 -10 74 26.248809 26.248809 26.248809 -10 75 18.027756 18.027756 18.027756 -10 76 30.413813 30.413813 30.413813 -10 77 55.036352 55.036352 55.036352 -10 78 34.539832 34.539832 34.539832 -10 79 21.095023 21.095023 21.095023 -10 80 33.241540 33.241540 33.241540 -10 81 38.897301 38.897301 38.897301 -10 82 45.276926 45.276926 45.276926 -10 83 18.788294 18.788294 18.788294 -10 84 27.294688 27.294688 27.294688 -10 85 47.381431 47.381431 47.381431 -10 86 54.341513 54.341513 54.341513 -10 87 15.556349 15.556349 15.556349 -10 88 11.180340 11.180340 11.180340 -10 89 26.925824 26.925824 26.925824 -10 90 64.412732 64.412732 64.412732 -10 91 29.546573 29.546573 29.546573 -10 92 39.623226 39.623226 39.623226 -10 93 43.737855 43.737855 43.737855 -10 94 53.758720 53.758720 53.758720 -10 95 48.764741 48.764741 48.764741 -10 96 46.043458 46.043458 46.043458 -10 97 48.846699 48.846699 48.846699 -10 98 18.027756 18.027756 18.027756 -10 99 23.345235 23.345235 23.345235 -10 100 16.000000 16.000000 16.000000 -10 101 38.275318 38.275318 38.275318 -11 1 31.622777 31.622777 31.622777 -11 2 47.434165 47.434165 47.434165 -11 3 37.000000 37.000000 37.000000 -11 4 46.572524 46.572524 46.572524 -11 5 41.231056 41.231056 41.231056 -11 6 46.097722 46.097722 46.097722 -11 7 35.902646 35.902646 35.902646 -11 8 35.355339 35.355339 35.355339 -11 9 40.311289 40.311289 40.311289 -11 10 5.000000 5.000000 5.000000 -11 12 2.000000 2.000000 2.000000 -11 13 5.385165 5.385165 5.385165 -11 14 7.071068 7.071068 7.071068 -11 15 7.071068 7.071068 7.071068 -11 16 8.000000 8.000000 8.000000 -11 17 10.000000 10.000000 10.000000 -11 18 11.180340 11.180340 11.180340 -11 19 48.795492 48.795492 48.795492 -11 20 43.863424 43.863424 43.863424 -11 21 40.607881 40.607881 40.607881 -11 22 46.097722 46.097722 46.097722 -11 23 39.051248 39.051248 39.051248 -11 24 44.821870 44.821870 44.821870 -11 25 37.536649 37.536649 37.536649 -11 26 43.011626 43.011626 43.011626 -11 27 85.586214 85.586214 85.586214 -11 28 85.146932 85.146932 85.146932 -11 29 82.607506 82.607506 82.607506 -11 30 80.156098 80.156098 80.156098 -11 31 78.638413 78.638413 78.638413 -11 32 78.160092 78.160092 78.160092 -11 33 77.646635 77.646635 77.646635 -11 34 76.485293 76.485293 76.485293 -11 35 75.166482 75.166482 75.166482 -11 36 72.622311 72.622311 72.622311 -11 37 71.063352 71.063352 71.063352 -11 38 69.202601 69.202601 69.202601 -11 39 65.604878 65.604878 65.604878 -11 40 64.031242 64.031242 64.031242 -11 41 67.268120 67.268120 67.268120 -11 42 59.405387 59.405387 59.405387 -11 43 60.207973 60.207973 60.207973 -11 44 63.639610 63.639610 63.639610 -11 45 61.554854 61.554854 61.554854 -11 46 43.174066 43.174066 43.174066 -11 47 40.792156 40.792156 40.792156 -11 48 9.433981 9.433981 9.433981 -11 49 47.423623 47.423623 47.423623 -11 50 42.520583 42.520583 42.520583 -11 51 62.201286 62.201286 62.201286 -11 52 49.244289 49.244289 49.244289 -11 53 18.027756 18.027756 18.027756 -11 54 14.142136 14.142136 14.142136 -11 55 49.244289 49.244289 49.244289 -11 56 28.284271 28.284271 28.284271 -11 57 40.311289 40.311289 40.311289 -11 58 25.000000 25.000000 25.000000 -11 59 30.413813 30.413813 30.413813 -11 60 20.000000 20.000000 20.000000 -11 61 20.615528 20.615528 20.615528 -11 62 43.011626 43.011626 43.011626 -11 63 55.226805 55.226805 55.226805 -11 64 58.523500 58.523500 58.523500 -11 65 36.400549 36.400549 36.400549 -11 66 25.000000 25.000000 25.000000 -11 67 31.144823 31.144823 31.144823 -11 68 54.037024 54.037024 54.037024 -11 69 36.055513 36.055513 36.055513 -11 70 24.186773 24.186773 24.186773 -11 71 38.288379 38.288379 38.288379 -11 72 57.008771 57.008771 57.008771 -11 73 58.600341 58.600341 58.600341 -11 74 21.540659 21.540659 21.540659 -11 75 22.360680 22.360680 22.360680 -11 76 35.355339 35.355339 35.355339 -11 77 57.306195 57.306195 57.306195 -11 78 39.217343 39.217343 39.217343 -11 79 16.124515 16.124515 16.124515 -11 80 28.284271 28.284271 28.284271 -11 81 37.656341 37.656341 37.656341 -11 82 42.953463 42.953463 42.953463 -11 83 17.262677 17.262677 17.262677 -11 84 28.460499 28.460499 28.460499 -11 85 48.270074 48.270074 48.270074 -11 86 55.659680 55.659680 55.659680 -11 87 19.416488 19.416488 19.416488 -11 88 16.124515 16.124515 16.124515 -11 89 22.803509 22.803509 22.803509 -11 90 66.887966 66.887966 66.887966 -11 91 27.892651 27.892651 27.892651 -11 92 39.051248 39.051248 39.051248 -11 93 43.104524 43.104524 43.104524 -11 94 52.392748 52.392748 52.392748 -11 95 47.675990 47.675990 47.675990 -11 96 46.097722 46.097722 46.097722 -11 97 47.127487 47.127487 47.127487 -11 98 22.803509 22.803509 22.803509 -11 99 20.000000 20.000000 20.000000 -11 100 16.763055 16.763055 16.763055 -11 101 34.205263 34.205263 34.205263 -12 1 33.526109 33.526109 33.526109 -12 2 48.104054 48.104054 48.104054 -12 3 37.696154 37.696154 37.696154 -12 4 47.127487 47.127487 47.127487 -12 5 41.761226 41.761226 41.761226 -12 6 46.572524 46.572524 46.572524 -12 7 36.400549 36.400549 36.400549 -12 8 35.693137 35.693137 35.693137 -12 9 40.607881 40.607881 40.607881 -12 10 5.385165 5.385165 5.385165 -12 11 2.000000 2.000000 2.000000 -12 13 5.000000 5.000000 5.000000 -12 14 5.830952 5.830952 5.830952 -12 15 5.830952 5.830952 5.830952 -12 16 6.000000 6.000000 6.000000 -12 17 8.000000 8.000000 8.000000 -12 18 9.433981 9.433981 9.433981 -12 19 50.209561 50.209561 50.209561 -12 20 45.343136 45.343136 45.343136 -12 21 42.201896 42.201896 42.201896 -12 22 47.423623 47.423623 47.423623 -12 23 40.607881 40.607881 40.607881 -12 24 46.097722 46.097722 46.097722 -12 25 39.051248 39.051248 39.051248 -12 26 44.204072 44.204072 44.204072 -12 27 87.572827 87.572827 87.572827 -12 28 87.143560 87.143560 87.143560 -12 29 84.593144 84.593144 84.593144 -12 30 82.152298 82.152298 82.152298 -12 31 80.622577 80.622577 80.622577 -12 32 80.156098 80.156098 80.156098 -12 33 79.630396 79.630396 79.630396 -12 34 78.447435 78.447435 78.447435 -12 35 77.162167 77.162167 77.162167 -12 36 74.202426 74.202426 74.202426 -12 37 72.622311 72.622311 72.622311 -12 38 70.802542 70.802542 70.802542 -12 39 67.201190 67.201190 67.201190 -12 40 65.604878 65.604878 65.604878 -12 41 68.767725 68.767725 68.767725 -12 42 61.032778 61.032778 61.032778 -12 43 61.717096 61.717096 61.717096 -12 44 65.069194 65.069194 65.069194 -12 45 63.031738 63.031738 63.031738 -12 46 43.680659 43.680659 43.680659 -12 47 41.231056 41.231056 41.231056 -12 48 7.810250 7.810250 7.810250 -12 49 48.795492 48.795492 48.795492 -12 50 44.045431 44.045431 44.045431 -12 51 64.195015 64.195015 64.195015 -12 52 51.078371 51.078371 51.078371 -12 53 19.723083 19.723083 19.723083 -12 54 15.620499 15.620499 15.620499 -12 55 51.078371 51.078371 51.078371 -12 56 29.732137 29.732137 29.732137 -12 57 42.296572 42.296572 42.296572 -12 58 26.627054 26.627054 26.627054 -12 59 30.805844 30.805844 30.805844 -12 60 20.099751 20.099751 20.099751 -12 61 21.189620 21.189620 21.189620 -12 62 44.654227 44.654227 44.654227 -12 63 57.218878 57.218878 57.218878 -12 64 60.406953 60.406953 60.406953 -12 65 38.327536 38.327536 38.327536 -12 66 27.000000 27.000000 27.000000 -12 67 33.136083 33.136083 33.136083 -12 68 56.035703 56.035703 56.035703 -12 69 37.735925 37.735925 37.735925 -12 70 25.942244 25.942244 25.942244 -12 71 39.623226 39.623226 39.623226 -12 72 58.940648 58.940648 58.940648 -12 73 60.415230 60.415230 60.415230 -12 74 20.880613 20.880613 20.880613 -12 75 23.323808 23.323808 23.323808 -12 76 35.128336 35.128336 35.128336 -12 77 59.059292 59.059292 59.059292 -12 78 39.924930 39.924930 39.924930 -12 79 16.000000 16.000000 16.000000 -12 80 28.071338 28.071338 28.071338 -12 81 39.623226 39.623226 39.623226 -12 82 44.777226 44.777226 44.777226 -12 83 19.235384 19.235384 19.235384 -12 84 30.364453 30.364453 30.364453 -12 85 50.219518 50.219518 50.219518 -12 86 57.567352 57.567352 57.567352 -12 87 20.615528 20.615528 20.615528 -12 88 16.492423 16.492423 16.492423 -12 89 24.083189 24.083189 24.083189 -12 90 68.600292 68.600292 68.600292 -12 91 29.832868 29.832868 29.832868 -12 92 41.048752 41.048752 41.048752 -12 93 45.099889 45.099889 45.099889 -12 94 54.341513 54.341513 54.341513 -12 95 49.648766 49.648766 49.648766 -12 96 48.093659 48.093659 48.093659 -12 97 49.040799 49.040799 49.040799 -12 98 22.360680 22.360680 22.360680 -12 99 21.633308 21.633308 21.633308 -12 100 18.681542 18.681542 18.681542 -12 101 35.468296 35.468296 35.468296 -13 1 32.388269 32.388269 32.388269 -13 2 43.462628 43.462628 43.462628 -13 3 33.105891 33.105891 33.105891 -13 4 42.379240 42.379240 42.379240 -13 5 37.000000 37.000000 37.000000 -13 6 41.761226 41.761226 41.761226 -13 7 31.622777 31.622777 31.622777 -13 8 30.805844 30.805844 30.805844 -13 9 35.693137 35.693137 35.693137 -13 10 10.198039 10.198039 10.198039 -13 11 5.385165 5.385165 5.385165 -13 12 5.000000 5.000000 5.000000 -13 14 10.440307 10.440307 10.440307 -13 15 3.000000 3.000000 3.000000 -13 16 7.810250 7.810250 7.810250 -13 17 9.433981 9.433981 9.433981 -13 18 8.000000 8.000000 8.000000 -13 19 53.814496 53.814496 53.814496 -13 20 48.795492 48.795492 48.795492 -13 21 45.343136 45.343136 45.343136 -13 22 51.224994 51.224994 51.224994 -13 23 43.863424 43.863424 43.863424 -13 24 50.000000 50.000000 50.000000 -13 25 42.426407 42.426407 42.426407 -13 26 48.259714 48.259714 48.259714 -13 27 88.283634 88.283634 88.283634 -13 28 87.572827 87.572827 87.572827 -13 29 85.328776 85.328776 85.328776 -13 30 82.607506 82.607506 82.607506 -13 31 81.394103 81.394103 81.394103 -13 32 80.622577 80.622577 80.622577 -13 33 80.411442 80.411442 80.411442 -13 34 79.555012 79.555012 79.555012 -13 35 77.646635 77.646635 77.646635 -13 36 71.281134 71.281134 71.281134 -13 37 69.634761 69.634761 69.634761 -13 38 67.955868 67.955868 67.955868 -13 39 64.350602 64.350602 64.350602 -13 40 62.681736 62.681736 62.681736 -13 41 65.604878 65.604878 65.604878 -13 42 58.309519 58.309519 58.309519 -13 43 58.600341 58.600341 58.600341 -13 44 61.717096 61.717096 61.717096 -13 45 59.816386 59.816386 59.816386 -13 46 38.897301 38.897301 38.897301 -13 47 36.400549 36.400549 36.400549 -13 48 6.000000 6.000000 6.000000 -13 49 52.497619 52.497619 52.497619 -13 50 47.381431 47.381431 47.381431 -13 51 64.776539 64.776539 64.776539 -13 52 53.235327 53.235327 53.235327 -13 53 22.671568 22.671568 22.671568 -13 54 13.000000 13.000000 13.000000 -13 55 49.335586 49.335586 49.335586 -13 56 26.627054 26.627054 26.627054 -13 57 43.174066 43.174066 43.174066 -13 58 29.732137 29.732137 29.732137 -13 59 35.693137 35.693137 35.693137 -13 60 25.079872 25.079872 25.079872 -13 61 16.552945 16.552945 16.552945 -13 62 42.059482 42.059482 42.059482 -13 63 57.870545 57.870545 57.870545 -13 64 62.241465 62.241465 62.241465 -13 65 39.924930 39.924930 39.924930 -13 66 27.459060 27.459060 27.459060 -13 67 33.955854 33.955854 33.955854 -13 68 56.080300 56.080300 56.080300 -13 69 35.341194 35.341194 35.341194 -13 70 24.041631 24.041631 24.041631 -13 71 36.124784 36.124784 36.124784 -13 72 57.870545 57.870545 57.870545 -13 73 58.523500 58.523500 58.523500 -13 74 16.155494 16.155494 16.155494 -13 75 27.730849 27.730849 27.730849 -13 76 40.112342 40.112342 40.112342 -13 77 61.587336 61.587336 61.587336 -13 78 44.598206 44.598206 44.598206 -13 79 11.000000 11.000000 11.000000 -13 80 23.086793 23.086793 23.086793 -13 81 39.051248 39.051248 39.051248 -13 82 43.011626 43.011626 43.011626 -13 83 19.104973 19.104973 19.104973 -13 84 32.202484 32.202484 32.202484 -13 85 51.546096 51.546096 51.546096 -13 86 59.236813 59.236813 59.236813 -13 87 24.698178 24.698178 24.698178 -13 88 21.377558 21.377558 21.377558 -13 89 20.615528 20.615528 20.615528 -13 90 71.281134 71.281134 71.281134 -13 91 29.068884 29.068884 29.068884 -13 92 41.109610 41.109610 41.109610 -13 93 45.044423 45.044423 45.044423 -13 94 53.460266 53.460266 53.460266 -13 95 49.091751 49.091751 49.091751 -13 96 48.662100 48.662100 48.662100 -13 97 47.853944 47.853944 47.853944 -13 98 27.294688 27.294688 27.294688 -13 99 19.313208 19.313208 19.313208 -13 100 20.591260 20.591260 20.591260 -13 101 31.827661 31.827661 31.827661 -14 1 38.078866 38.078866 38.078866 -14 2 53.851648 53.851648 53.851648 -14 3 43.462628 43.462628 43.462628 -14 4 52.810984 52.810984 52.810984 -14 5 47.434165 47.434165 47.434165 -14 6 52.201533 52.201533 52.201533 -14 7 42.059482 42.059482 42.059482 -14 8 41.231056 41.231056 41.231056 -14 9 46.097722 46.097722 46.097722 -14 10 5.000000 5.000000 5.000000 -14 11 7.071068 7.071068 7.071068 -14 12 5.830952 5.830952 5.830952 -14 13 10.440307 10.440307 10.440307 -14 15 10.000000 10.000000 10.000000 -14 16 5.830952 5.830952 5.830952 -14 17 7.071068 7.071068 7.071068 -14 18 11.180340 11.180340 11.180340 -14 19 49.203658 49.203658 49.203658 -14 20 44.654227 44.654227 44.654227 -14 21 42.059482 42.059482 42.059482 -14 22 46.097722 46.097722 46.097722 -14 23 40.311289 40.311289 40.311289 -14 24 44.598206 44.598206 44.598206 -14 25 38.587563 38.587563 38.587563 -14 26 42.426407 42.426407 42.426407 -14 27 90.138782 90.138782 90.138782 -14 28 90.000000 90.000000 90.000000 -14 29 87.143560 87.143560 87.143560 -14 30 85.000000 85.000000 85.000000 -14 31 83.150466 83.150466 83.150466 -14 32 83.000000 83.000000 83.000000 -14 33 82.152298 82.152298 82.152298 -14 34 80.622577 80.622577 80.622577 -14 35 80.000000 80.000000 80.000000 -14 36 79.649231 79.649231 79.649231 -14 37 78.102497 78.102497 78.102497 -14 38 76.216796 76.216796 76.216796 -14 39 72.622311 72.622311 72.622311 -14 40 71.063352 71.063352 71.063352 -14 41 74.330344 74.330344 74.330344 -14 42 66.400301 66.400301 66.400301 -14 43 67.268120 67.268120 67.268120 -14 44 70.710678 70.710678 70.710678 -14 45 68.622154 68.622154 68.622154 -14 46 49.335586 49.335586 49.335586 -14 47 46.840154 46.840154 46.840154 -14 48 10.440307 10.440307 10.440307 -14 49 47.634021 47.634021 47.634021 -14 50 43.566042 43.566042 43.566042 -14 51 67.000000 67.000000 67.000000 -14 52 52.201533 52.201533 52.201533 -14 53 20.615528 20.615528 20.615528 -14 54 21.213203 21.213203 21.213203 -14 55 55.901699 55.901699 55.901699 -14 56 35.355339 35.355339 35.355339 -14 57 45.000000 45.000000 45.000000 -14 58 26.925824 26.925824 26.925824 -14 59 26.925824 26.925824 26.925824 -14 60 15.811388 15.811388 15.811388 -14 61 26.925824 26.925824 26.925824 -14 62 50.000000 50.000000 50.000000 -14 63 60.000000 60.000000 60.000000 -14 64 61.846584 61.846584 61.846584 -14 65 40.311289 40.311289 40.311289 -14 66 30.413813 30.413813 30.413813 -14 67 36.055513 36.055513 36.055513 -14 68 59.413803 59.413803 59.413803 -14 69 43.011626 43.011626 43.011626 -14 70 31.064449 31.064449 31.064449 -14 71 45.343136 45.343136 45.343136 -14 72 63.245553 63.245553 63.245553 -14 73 65.299311 65.299311 65.299311 -14 74 25.179357 25.179357 25.179357 -14 75 21.213203 21.213203 21.213203 -14 76 30.000000 30.000000 30.000000 -14 77 59.615434 59.615434 59.615434 -14 78 36.715120 36.715120 36.715120 -14 79 21.213203 21.213203 21.213203 -14 80 33.015148 33.015148 33.015148 -14 81 43.680659 43.680659 43.680659 -14 82 49.648766 49.648766 49.648766 -14 83 23.409400 23.409400 23.409400 -14 84 32.249031 32.249031 32.249031 -14 85 52.345009 52.345009 52.345009 -14 86 59.228372 59.228372 59.228372 -14 87 19.416488 19.416488 19.416488 -14 88 13.038405 13.038405 13.038405 -14 89 29.832868 29.832868 29.832868 -14 90 68.876701 68.876701 68.876701 -14 91 34.176015 34.176015 34.176015 -14 92 44.553339 44.553339 44.553339 -14 93 48.662100 48.662100 48.662100 -14 94 58.523500 58.523500 58.523500 -14 95 53.600373 53.600373 53.600373 -14 96 51.039201 51.039201 51.039201 -14 97 53.488316 53.488316 53.488316 -14 98 17.029386 17.029386 17.029386 -14 99 27.018512 27.018512 27.018512 -14 100 21.000000 21.000000 21.000000 -14 101 41.231056 41.231056 41.231056 -15 1 35.355339 35.355339 35.355339 -15 2 44.721360 44.721360 44.721360 -15 3 34.481879 34.481879 34.481879 -15 4 43.462628 43.462628 43.462628 -15 5 38.078866 38.078866 38.078866 -15 6 42.720019 42.720019 42.720019 -15 7 32.695565 32.695565 32.695565 -15 8 31.622777 31.622777 31.622777 -15 9 36.400549 36.400549 36.400549 -15 10 11.180340 11.180340 11.180340 -15 11 7.071068 7.071068 7.071068 -15 12 5.830952 5.830952 5.830952 -15 13 3.000000 3.000000 3.000000 -15 14 10.000000 10.000000 10.000000 -15 16 5.830952 5.830952 5.830952 -15 17 7.071068 7.071068 7.071068 -15 18 5.000000 5.000000 5.000000 -15 19 55.865911 55.865911 55.865911 -15 20 50.931326 50.931326 50.931326 -15 21 47.634021 47.634021 47.634021 -15 22 53.150729 53.150729 53.150729 -15 23 46.097722 46.097722 46.097722 -15 24 51.855569 51.855569 51.855569 -15 25 44.598206 44.598206 44.598206 -15 26 50.000000 50.000000 50.000000 -15 27 91.241438 91.241438 91.241438 -15 28 90.553851 90.553851 90.553851 -15 29 88.283634 88.283634 88.283634 -15 30 85.586214 85.586214 85.586214 -15 31 84.344532 84.344532 84.344532 -15 32 83.600239 83.600239 83.600239 -15 33 83.360662 83.360662 83.360662 -15 34 82.462113 82.462113 82.462113 -15 35 80.622577 80.622577 80.622577 -15 36 73.783467 73.783467 73.783467 -15 37 72.111026 72.111026 72.111026 -15 38 70.491134 70.491134 70.491134 -15 39 66.887966 66.887966 66.887966 -15 40 65.192024 65.192024 65.192024 -15 41 68.007353 68.007353 68.007353 -15 42 60.901560 60.901560 60.901560 -15 43 61.032778 61.032778 61.032778 -15 44 64.031242 64.031242 64.031242 -15 45 62.201286 62.201286 62.201286 -15 46 39.924930 39.924930 39.924930 -15 47 37.336309 37.336309 37.336309 -15 48 3.000000 3.000000 3.000000 -15 49 54.488531 54.488531 54.488531 -15 50 49.578221 49.578221 49.578221 -15 51 67.742158 67.742158 67.742158 -15 52 55.901699 55.901699 55.901699 -15 53 25.000000 25.000000 25.000000 -15 54 15.811388 15.811388 15.811388 -15 55 52.201533 52.201533 52.201533 -15 56 29.154759 29.154759 29.154759 -15 57 46.097722 46.097722 46.097722 -15 58 32.015621 32.015621 32.015621 -15 59 36.400549 36.400549 36.400549 -15 60 25.495098 25.495098 25.495098 -15 61 18.027756 18.027756 18.027756 -15 62 44.721360 44.721360 44.721360 -15 63 60.827625 60.827625 60.827625 -15 64 65.000000 65.000000 65.000000 -15 65 42.720019 42.720019 42.720019 -15 66 30.413813 30.413813 30.413813 -15 67 36.878178 36.878178 36.878178 -15 68 59.076222 59.076222 59.076222 -15 69 38.078866 38.078866 38.078866 -15 70 26.925824 26.925824 26.925824 -15 71 38.418745 38.418745 38.418745 -15 72 60.827625 60.827625 60.827625 -15 73 61.351447 61.351447 61.351447 -15 74 15.297059 15.297059 15.297059 -15 75 29.154759 29.154759 29.154759 -15 76 40.000000 40.000000 40.000000 -15 77 64.140471 64.140471 64.140471 -15 78 45.694639 45.694639 45.694639 -15 79 11.401754 11.401754 11.401754 -15 80 23.021729 23.021729 23.021729 -15 81 42.047592 42.047592 42.047592 -15 82 45.880279 45.880279 45.880279 -15 83 22.090722 22.090722 22.090722 -15 84 34.928498 34.928498 34.928498 -15 85 54.405882 54.405882 54.405882 -15 86 62.032250 62.032250 62.032250 -15 87 26.400758 26.400758 26.400758 -15 88 22.135944 22.135944 22.135944 -15 89 23.021729 23.021729 23.021729 -15 90 73.783467 73.783467 73.783467 -15 91 32.062439 32.062439 32.062439 -15 92 44.102154 44.102154 44.102154 -15 93 48.041649 48.041649 48.041649 -15 94 56.435804 56.435804 56.435804 -15 95 52.086467 52.086467 52.086467 -15 96 51.623638 51.623638 51.623638 -15 97 50.803543 50.803543 50.803543 -15 98 27.018512 27.018512 27.018512 -15 99 22.135944 22.135944 22.135944 -15 100 23.259407 23.259407 23.259407 -15 101 34.058773 34.058773 34.058773 -16 1 39.293765 39.293765 39.293765 -16 2 50.537115 50.537115 50.537115 -16 3 40.311289 40.311289 40.311289 -16 4 49.244289 49.244289 49.244289 -16 5 43.863424 43.863424 43.863424 -16 6 48.466483 48.466483 48.466483 -16 7 38.483763 38.483763 38.483763 -16 8 37.336309 37.336309 37.336309 -16 9 42.059482 42.059482 42.059482 -16 10 9.433981 9.433981 9.433981 -16 11 8.000000 8.000000 8.000000 -16 12 6.000000 6.000000 6.000000 -16 13 7.810250 7.810250 7.810250 -16 14 5.830952 5.830952 5.830952 -16 15 5.830952 5.830952 5.830952 -16 17 2.000000 2.000000 2.000000 -16 18 5.385165 5.385165 5.385165 -16 19 54.671748 54.671748 54.671748 -16 20 50.000000 50.000000 50.000000 -16 21 47.169906 47.169906 47.169906 -16 22 51.662365 51.662365 51.662365 -16 23 45.486262 45.486262 45.486262 -16 24 50.209561 50.209561 50.209561 -16 25 43.829214 43.829214 43.829214 -16 26 48.104054 48.104054 48.104054 -16 27 93.536089 93.536089 93.536089 -16 28 93.134312 93.134312 93.134312 -16 29 90.553851 90.553851 90.553851 -16 30 88.141931 88.141931 88.141931 -16 31 86.579443 86.579443 86.579443 -16 32 86.145226 86.145226 86.145226 -16 33 85.586214 85.586214 85.586214 -16 34 84.344532 84.344532 84.344532 -16 35 83.150466 83.150466 83.150466 -16 36 79.056942 79.056942 79.056942 -16 37 77.420927 77.420927 77.420927 -16 38 75.716577 75.716577 75.716577 -16 39 72.111026 72.111026 72.111026 -16 40 70.455660 70.455660 70.455660 -16 41 73.409809 73.409809 73.409809 -16 42 66.037868 66.037868 66.037868 -16 43 66.400301 66.400301 66.400301 -16 44 69.526973 69.526973 69.526973 -16 45 67.623960 67.623960 67.623960 -16 46 45.694639 45.694639 45.694639 -16 47 43.081318 43.081318 43.081318 -16 48 5.000000 5.000000 5.000000 -16 49 53.150729 53.150729 53.150729 -16 50 48.826222 48.826222 48.826222 -16 51 70.178344 70.178344 70.178344 -16 52 56.648036 56.648036 56.648036 -16 53 25.079872 25.079872 25.079872 -16 54 20.591260 20.591260 20.591260 -16 55 56.648036 56.648036 56.648036 -16 56 34.409301 34.409301 34.409301 -16 57 48.259714 48.259714 48.259714 -16 58 31.764760 31.764760 31.764760 -16 59 32.695565 32.695565 32.695565 -16 60 21.540659 21.540659 21.540659 -16 61 23.853721 23.853721 23.853721 -16 62 49.739320 49.739320 49.739320 -16 63 63.198101 63.198101 63.198101 -16 64 66.098411 66.098411 66.098411 -16 65 44.147480 44.147480 44.147480 -16 66 33.000000 33.000000 33.000000 -16 67 39.115214 39.115214 39.115214 -16 68 62.032250 62.032250 62.032250 -16 69 42.941821 42.941821 42.941821 -16 70 31.384710 31.384710 31.384710 -16 71 43.931765 43.931765 43.931765 -16 72 64.761099 64.761099 64.761099 -16 73 65.924199 65.924199 65.924199 -16 74 20.000000 20.000000 20.000000 -16 75 26.907248 26.907248 26.907248 -16 76 35.128336 35.128336 35.128336 -16 77 64.404969 64.404969 64.404969 -16 78 42.544095 42.544095 42.544095 -16 79 17.088007 17.088007 17.088007 -16 80 28.284271 28.284271 28.284271 -16 81 45.541190 45.541190 45.541190 -16 82 50.328918 50.328918 50.328918 -16 83 25.179357 25.179357 25.179357 -16 84 36.138622 36.138622 36.138622 -16 85 56.089215 56.089215 56.089215 -16 86 63.324561 63.324561 63.324561 -16 87 24.839485 24.839485 24.839485 -16 88 18.867962 18.867962 18.867962 -16 89 28.425341 28.425341 28.425341 -16 90 73.824115 73.824115 73.824115 -16 91 35.693137 35.693137 35.693137 -16 92 47.042534 47.042534 47.042534 -16 93 51.088159 51.088159 51.088159 -16 94 60.207973 60.207973 60.207973 -16 95 55.578773 55.578773 55.578773 -16 96 54.083269 54.083269 54.083269 -16 97 54.817880 54.817880 54.817880 -16 98 22.090722 22.090722 22.090722 -16 99 26.832816 26.832816 26.832816 -16 100 24.515301 24.515301 24.515301 -16 101 39.623226 39.623226 39.623226 -17 1 41.231056 41.231056 41.231056 -17 2 51.478151 51.478151 51.478151 -17 3 41.340053 41.340053 41.340053 -17 4 50.089919 50.089919 50.089919 -17 5 44.721360 44.721360 44.721360 -17 6 49.244289 49.244289 49.244289 -17 7 39.357337 39.357337 39.357337 -17 8 38.078866 38.078866 38.078866 -17 9 42.720019 42.720019 42.720019 -17 10 11.180340 11.180340 11.180340 -17 11 10.000000 10.000000 10.000000 -17 12 8.000000 8.000000 8.000000 -17 13 9.433981 9.433981 9.433981 -17 14 7.071068 7.071068 7.071068 -17 15 7.071068 7.071068 7.071068 -17 16 2.000000 2.000000 2.000000 -17 18 5.000000 5.000000 5.000000 -17 19 56.222771 56.222771 56.222771 -17 20 51.613952 51.613952 51.613952 -17 21 48.877398 48.877398 48.877398 -17 22 53.150729 53.150729 53.150729 -17 23 47.169906 47.169906 47.169906 -17 24 51.662365 51.662365 51.662365 -17 25 45.486262 45.486262 45.486262 -17 26 49.497475 49.497475 49.497475 -17 27 95.524866 95.524866 95.524866 -17 28 95.131488 95.131488 95.131488 -17 29 92.541882 92.541882 92.541882 -17 30 90.138782 90.138782 90.138782 -17 31 88.566359 88.566359 88.566359 -17 32 88.141931 88.141931 88.141931 -17 33 87.572827 87.572827 87.572827 -17 34 86.313383 86.313383 86.313383 -17 35 85.146932 85.146932 85.146932 -17 36 80.709355 80.709355 80.709355 -17 37 79.056942 79.056942 79.056942 -17 38 77.388630 77.388630 77.388630 -17 39 73.783467 73.783467 73.783467 -17 40 72.111026 72.111026 72.111026 -17 41 75.000000 75.000000 75.000000 -17 42 67.742158 67.742158 67.742158 -17 43 68.007353 68.007353 68.007353 -17 44 71.063352 71.063352 71.063352 -17 45 69.202601 69.202601 69.202601 -17 46 46.518813 46.518813 46.518813 -17 47 43.863424 43.863424 43.863424 -17 48 5.385165 5.385165 5.385165 -17 49 54.671748 54.671748 54.671748 -17 50 50.477718 50.477718 50.477718 -17 51 72.173402 72.173402 72.173402 -17 52 58.523500 58.523500 58.523500 -17 53 26.925824 26.925824 26.925824 -17 54 22.360680 22.360680 22.360680 -17 55 58.523500 58.523500 58.523500 -17 56 36.055513 36.055513 36.055513 -17 57 50.249378 50.249378 50.249378 -17 58 33.541020 33.541020 33.541020 -17 59 33.541020 33.541020 33.541020 -17 60 22.360680 22.360680 22.360680 -17 61 25.000000 25.000000 25.000000 -17 62 51.478151 51.478151 51.478151 -17 63 65.192024 65.192024 65.192024 -17 64 68.007353 68.007353 68.007353 -17 65 46.097722 46.097722 46.097722 -17 66 35.000000 35.000000 35.000000 -17 67 41.109610 41.109610 41.109610 -17 68 64.031242 64.031242 64.031242 -17 69 44.721360 44.721360 44.721360 -17 70 33.241540 33.241540 33.241540 -17 71 45.453273 45.453273 45.453273 -17 72 66.708320 66.708320 66.708320 -17 73 67.779053 67.779053 67.779053 -17 74 20.099751 20.099751 20.099751 -17 75 28.284271 28.284271 28.284271 -17 76 35.355339 35.355339 35.355339 -17 77 66.211781 66.211781 66.211781 -17 78 43.566042 43.566042 43.566042 -17 79 17.888544 17.888544 17.888544 -17 80 28.635642 28.635642 28.635642 -17 81 47.518417 47.518417 47.518417 -17 82 52.201533 52.201533 52.201533 -17 83 27.166155 27.166155 27.166155 -17 84 38.078866 38.078866 38.078866 -17 85 58.051701 58.051701 58.051701 -17 86 65.253352 65.253352 65.253352 -17 87 26.400758 26.400758 26.400758 -17 88 20.000000 20.000000 20.000000 -17 89 30.000000 30.000000 30.000000 -17 90 75.591005 75.591005 75.591005 -17 91 37.656341 37.656341 37.656341 -17 92 49.040799 49.040799 49.040799 -17 93 53.084838 53.084838 53.084838 -17 94 62.169124 62.169124 62.169124 -17 95 57.558666 57.558666 57.558666 -17 96 56.080300 56.080300 56.080300 -17 97 56.753854 56.753854 56.753854 -17 98 22.360680 22.360680 22.360680 -17 99 28.635642 28.635642 28.635642 -17 100 26.476405 26.476405 26.476405 -17 101 41.109610 41.109610 41.109610 -18 1 40.311289 40.311289 40.311289 -18 2 47.169906 47.169906 47.169906 -18 3 37.202150 37.202150 37.202150 -18 4 45.650849 45.650849 45.650849 -18 5 40.311289 40.311289 40.311289 -18 6 44.721360 44.721360 44.721360 -18 7 34.985711 34.985711 34.985711 -18 8 33.541020 33.541020 33.541020 -18 9 38.078866 38.078866 38.078866 -18 10 14.142136 14.142136 14.142136 -18 11 11.180340 11.180340 11.180340 -18 12 9.433981 9.433981 9.433981 -18 13 8.000000 8.000000 8.000000 -18 14 11.180340 11.180340 11.180340 -18 15 5.000000 5.000000 5.000000 -18 16 5.385165 5.385165 5.385165 -18 17 5.000000 5.000000 5.000000 -18 19 59.464275 59.464275 59.464275 -18 20 54.671748 54.671748 54.671748 -18 21 51.613952 51.613952 51.613952 -18 22 56.568542 56.568542 56.568542 -18 23 50.000000 50.000000 50.000000 -18 24 55.172457 55.172457 55.172457 -18 25 48.414874 48.414874 48.414874 -18 26 53.150729 53.150729 53.150729 -18 27 96.176920 96.176920 96.176920 -18 28 95.524866 95.524866 95.524866 -18 29 93.214806 93.214806 93.214806 -18 30 90.553851 90.553851 90.553851 -18 31 89.269256 89.269256 89.269256 -18 32 88.566359 88.566359 88.566359 -18 33 88.283634 88.283634 88.283634 -18 34 87.321246 87.321246 87.321246 -18 35 85.586214 85.586214 85.586214 -18 36 78.032045 78.032045 78.032045 -18 37 76.321688 76.321688 76.321688 -18 38 74.793048 74.793048 74.793048 -18 39 71.196910 71.196910 71.196910 -18 40 69.462220 69.462220 69.462220 -18 41 72.111026 72.111026 72.111026 -18 42 65.299311 65.299311 65.299311 -18 43 65.192024 65.192024 65.192024 -18 44 68.007353 68.007353 68.007353 -18 45 66.287254 66.287254 66.287254 -18 46 42.059482 42.059482 42.059482 -18 47 39.357337 39.357337 39.357337 -18 48 2.000000 2.000000 2.000000 -18 49 58.000000 58.000000 58.000000 -18 50 53.413481 53.413481 53.413481 -18 51 72.691127 72.691127 72.691127 -18 52 60.415230 60.415230 60.415230 -18 53 29.154759 29.154759 29.154759 -18 54 20.615528 20.615528 20.615528 -18 55 57.008771 57.008771 57.008771 -18 56 33.541020 33.541020 33.541020 -18 57 50.990195 50.990195 50.990195 -18 58 36.055513 36.055513 36.055513 -18 59 38.078866 38.078866 38.078866 -18 60 26.925824 26.925824 26.925824 -18 61 21.213203 21.213203 21.213203 -18 62 49.244289 49.244289 49.244289 -18 63 65.764732 65.764732 65.764732 -18 64 69.641941 69.641941 69.641941 -18 65 47.434165 47.434165 47.434165 -18 66 35.355339 35.355339 35.355339 -18 67 41.773197 41.773197 41.773197 -18 68 64.070274 64.070274 64.070274 -18 69 42.720019 42.720019 42.720019 -18 70 31.780497 31.780497 31.780497 -18 71 42.438190 42.438190 42.438190 -18 72 65.764732 65.764732 65.764732 -18 73 66.098411 66.098411 66.098411 -18 74 15.132746 15.132746 15.132746 -18 75 32.015621 32.015621 32.015621 -18 76 40.311289 40.311289 40.311289 -18 77 68.476273 68.476273 68.476273 -18 78 47.885280 47.885280 47.885280 -18 79 13.601471 13.601471 13.601471 -18 80 23.769729 23.769729 23.769729 -18 81 47.042534 47.042534 47.042534 -18 82 50.695167 50.695167 50.695167 -18 83 27.073973 27.073973 27.073973 -18 84 39.560081 39.560081 39.560081 -18 85 59.203040 59.203040 59.203040 -18 86 66.730802 66.730802 66.730802 -18 87 29.698485 29.698485 29.698485 -18 88 24.186773 24.186773 24.186773 -18 89 27.294688 27.294688 27.294688 -18 90 78.032045 78.032045 78.032045 -18 91 37.054015 37.054015 37.054015 -18 92 49.091751 49.091751 49.091751 -18 93 53.037722 53.037722 53.037722 -18 94 61.400326 61.400326 61.400326 -18 95 57.078893 57.078893 57.078893 -18 96 56.568542 56.568542 56.568542 -18 97 55.731499 55.731499 55.731499 -18 98 27.294688 27.294688 27.294688 -18 99 26.925824 26.925824 26.925824 -18 100 27.856777 27.856777 27.856777 -18 101 38.013156 38.013156 38.013156 -19 1 45.177428 45.177428 45.177428 -19 2 82.225300 82.225300 82.225300 -19 3 73.375745 73.375745 73.375745 -19 4 82.969874 82.969874 82.969874 -19 5 78.746428 78.746428 78.746428 -19 6 83.522452 83.522452 83.522452 -19 7 74.672619 74.672619 74.672619 -19 8 75.769387 75.769387 75.769387 -19 9 80.411442 80.411442 80.411442 -19 10 45.343136 45.343136 45.343136 -19 11 48.795492 48.795492 48.795492 -19 12 50.209561 50.209561 50.209561 -19 13 53.814496 53.814496 53.814496 -19 14 49.203658 49.203658 49.203658 -19 15 55.865911 55.865911 55.865911 -19 16 54.671748 54.671748 54.671748 -19 17 56.222771 56.222771 56.222771 -19 18 59.464275 59.464275 59.464275 -19 20 5.385165 5.385165 5.385165 -19 21 10.198039 10.198039 10.198039 -19 22 4.000000 4.000000 4.000000 -19 23 10.770330 10.770330 10.770330 -19 24 6.000000 6.000000 6.000000 -19 25 11.661904 11.661904 11.661904 -19 26 9.000000 9.000000 9.000000 -19 27 56.797887 56.797887 56.797887 -19 28 59.169249 59.169249 59.169249 -19 29 54.120237 54.120237 54.120237 -19 30 54.918121 54.918121 54.918121 -19 31 50.606324 50.606324 50.606324 -19 32 53.254108 53.254108 53.254108 -19 33 49.739320 49.739320 49.739320 -19 34 45.617979 45.617979 45.617979 -19 35 50.803543 50.803543 50.803543 -19 36 83.240615 83.240615 83.240615 -19 37 82.710338 82.710338 82.710338 -19 38 79.812280 79.812280 79.812280 -19 39 77.129761 77.129761 77.129761 -19 40 76.687678 76.687678 76.687678 -19 41 81.584312 81.584312 81.584312 -19 42 71.386273 71.386273 71.386273 -19 43 75.802375 75.802375 75.802375 -19 44 80.752709 80.752709 80.752709 -19 45 77.781746 77.781746 77.781746 -19 46 80.653580 80.653580 80.653580 -19 47 79.378838 79.378838 79.378838 -19 48 58.000000 58.000000 58.000000 -19 49 2.000000 2.000000 2.000000 -19 50 7.280110 7.280110 7.280110 -19 51 41.036569 41.036569 41.036569 -19 52 18.601075 18.601075 18.601075 -19 53 31.400637 31.400637 31.400637 -19 54 51.000000 51.000000 51.000000 -19 55 56.089215 56.089215 56.089215 -19 56 56.753854 56.753854 56.753854 -19 57 30.594117 30.594117 30.594117 -19 58 24.413111 24.413111 24.413111 -19 59 29.427878 29.427878 29.427878 -19 60 37.161808 37.161808 37.161808 -19 61 62.177166 62.177166 62.177166 -19 62 60.008333 60.008333 60.008333 -19 63 36.619667 36.619667 36.619667 -19 64 25.806976 25.806976 25.806976 -19 65 25.019992 25.019992 25.019992 -19 66 36.138622 36.138622 36.138622 -19 67 32.140317 32.140317 32.140317 -19 68 42.059482 42.059482 42.059482 -19 69 55.145263 55.145263 55.145263 -19 70 48.764741 48.764741 48.764741 -19 71 64.629715 64.629715 64.629715 -19 72 54.230987 54.230987 54.230987 -19 73 62.936476 62.936476 62.936476 -19 74 69.202601 69.202601 69.202601 -19 75 28.301943 28.301943 28.301943 -19 76 39.000000 39.000000 39.000000 -19 77 17.464249 17.464249 17.464249 -19 78 21.095023 21.095023 21.095023 -19 79 62.425956 62.425956 62.425956 -19 80 73.573093 73.573093 73.573093 -19 81 42.107007 42.107007 42.107007 -19 82 53.235327 53.235327 53.235327 -19 83 41.629317 41.629317 41.629317 -19 84 26.925824 26.925824 26.925824 -19 85 27.294688 27.294688 27.294688 -19 86 26.172505 26.172505 26.172505 -19 87 29.832868 29.832868 29.832868 -19 88 37.215588 37.215588 37.215588 -19 89 56.648036 56.648036 56.648036 -19 90 23.000000 23.000000 23.000000 -19 91 42.579338 42.579338 42.579338 -19 92 37.336309 37.336309 37.336309 -19 93 39.051248 39.051248 39.051248 -19 94 49.979996 49.979996 49.979996 -19 95 44.922155 44.922155 44.922155 -19 96 34.176015 34.176015 34.176015 -19 97 50.219518 50.219518 50.219518 -19 98 42.059482 42.059482 42.059482 -19 99 50.328918 50.328918 50.328918 -19 100 34.985711 34.985711 34.985711 -19 101 63.348244 63.348244 63.348244 -20 1 40.049969 40.049969 40.049969 -20 2 76.902536 76.902536 76.902536 -20 3 68.007353 68.007353 68.007353 -20 4 77.620873 77.620873 77.620873 -20 5 73.375745 73.375745 73.375745 -20 6 78.160092 78.160092 78.160092 -20 7 69.289249 69.289249 69.289249 -20 8 70.384657 70.384657 70.384657 -20 9 75.026662 75.026662 75.026662 -20 10 40.607881 40.607881 40.607881 -20 11 43.863424 43.863424 43.863424 -20 12 45.343136 45.343136 45.343136 -20 13 48.795492 48.795492 48.795492 -20 14 44.654227 44.654227 44.654227 -20 15 50.931326 50.931326 50.931326 -20 16 50.000000 50.000000 50.000000 -20 17 51.613952 51.613952 51.613952 -20 18 54.671748 54.671748 54.671748 -20 19 5.385165 5.385165 5.385165 -20 21 5.000000 5.000000 5.000000 -20 22 5.385165 5.385165 5.385165 -20 23 5.385165 5.385165 5.385165 -20 24 6.403124 6.403124 6.403124 -20 25 6.403124 6.403124 6.403124 -20 26 8.602325 8.602325 8.602325 -20 27 56.648036 56.648036 56.648036 -20 28 58.600341 58.600341 58.600341 -20 29 53.851648 53.851648 53.851648 -20 30 54.120237 54.120237 54.120237 -20 31 50.159745 50.159745 50.159745 -20 32 52.354560 52.354560 52.354560 -20 33 49.244289 49.244289 49.244289 -20 34 45.541190 45.541190 45.541190 -20 35 49.739320 49.739320 49.739320 -20 36 79.056942 79.056942 79.056942 -20 37 78.447435 78.447435 78.447435 -20 38 75.584390 75.584390 75.584390 -20 39 72.801099 72.801099 72.801099 -20 40 72.277244 72.277244 72.277244 -20 41 77.129761 77.129761 77.129761 -20 42 66.940272 66.940272 66.940272 -20 43 71.196910 71.196910 71.196910 -20 44 76.118329 76.118329 76.118329 -20 45 73.164199 73.164199 73.164199 -20 46 75.286121 75.286121 75.286121 -20 47 74.000000 74.000000 74.000000 -20 48 53.150729 53.150729 53.150729 -20 49 5.000000 5.000000 5.000000 -20 50 2.000000 2.000000 2.000000 -20 51 39.051248 39.051248 39.051248 -20 52 16.401219 16.401219 16.401219 -20 53 26.248809 26.248809 26.248809 -20 54 45.650849 45.650849 45.650849 -20 55 51.662365 51.662365 51.662365 -20 56 51.419841 51.419841 51.419841 -20 57 26.248809 26.248809 26.248809 -20 58 19.209373 19.209373 19.209373 -20 59 27.000000 27.000000 27.000000 -20 60 33.526109 33.526109 33.526109 -20 61 56.824291 56.824291 56.824291 -20 62 55.081757 55.081757 55.081757 -20 63 33.970576 33.970576 33.970576 -20 64 25.079872 25.079872 25.079872 -20 65 20.223748 20.223748 20.223748 -20 66 30.805844 30.805844 30.805844 -20 67 27.018512 27.018512 27.018512 -20 68 38.832976 38.832976 38.832976 -20 69 50.039984 50.039984 50.039984 -20 70 43.416587 43.416587 43.416587 -20 71 59.413803 59.413803 59.413803 -20 72 50.537115 50.537115 50.537115 -20 73 58.872744 58.872744 58.872744 -20 74 64.031242 64.031242 64.031242 -20 75 24.166092 24.166092 24.166092 -20 76 37.336309 37.336309 37.336309 -20 77 18.110770 18.110770 18.110770 -20 78 20.248457 20.248457 20.248457 -20 79 57.201399 57.201399 57.201399 -20 80 68.264193 68.264193 68.264193 -20 81 37.336309 37.336309 37.336309 -20 82 48.507731 48.507731 48.507731 -20 83 36.249138 36.249138 36.249138 -20 84 21.587033 21.587033 21.587033 -20 85 24.207437 24.207437 24.207437 -20 86 24.698178 24.698178 24.698178 -20 87 25.238859 25.238859 25.238859 -20 88 33.105891 33.105891 33.105891 -20 89 51.264022 51.264022 51.264022 -20 90 25.495098 25.495098 25.495098 -20 91 37.336309 37.336309 37.336309 -20 92 32.756679 32.756679 32.756679 -20 93 34.785054 34.785054 34.785054 -20 94 46.097722 46.097722 46.097722 -20 95 40.853396 40.853396 40.853396 -20 96 30.413813 30.413813 30.413813 -20 97 45.880279 45.880279 45.880279 -20 98 38.832976 38.832976 38.832976 -20 99 44.944410 44.944410 44.944410 -20 100 29.681644 29.681644 29.681644 -20 101 58.051701 58.051701 58.051701 -21 1 35.057096 35.057096 35.057096 -21 2 72.034714 72.034714 72.034714 -21 3 63.245553 63.245553 63.245553 -21 4 72.801099 72.801099 72.801099 -21 5 68.622154 68.622154 68.622154 -21 6 73.375745 73.375745 73.375745 -21 7 64.621978 64.621978 64.621978 -21 8 65.795137 65.795137 65.795137 -21 9 70.384657 70.384657 70.384657 -21 10 37.735925 37.735925 37.735925 -21 11 40.607881 40.607881 40.607881 -21 12 42.201896 42.201896 42.201896 -21 13 45.343136 45.343136 45.343136 -21 14 42.059482 42.059482 42.059482 -21 15 47.634021 47.634021 47.634021 -21 16 47.169906 47.169906 47.169906 -21 17 48.877398 48.877398 48.877398 -21 18 51.613952 51.613952 51.613952 -21 19 10.198039 10.198039 10.198039 -21 20 5.000000 5.000000 5.000000 -21 22 10.198039 10.198039 10.198039 -21 23 2.000000 2.000000 2.000000 -21 24 10.770330 10.770330 10.770330 -21 25 4.000000 4.000000 4.000000 -21 26 12.206556 12.206556 12.206556 -21 27 55.081757 55.081757 55.081757 -21 28 56.648036 56.648036 56.648036 -21 29 52.201533 52.201533 52.201533 -21 30 52.000000 52.000000 52.000000 -21 31 48.383882 48.383882 48.383882 -21 32 50.159745 50.159745 50.159745 -21 33 47.434165 47.434165 47.434165 -21 34 44.147480 44.147480 44.147480 -21 35 47.423623 47.423623 47.423623 -21 36 74.330344 74.330344 74.330344 -21 37 73.681748 73.681748 73.681748 -21 38 70.837843 70.837843 70.837843 -21 39 68.007353 68.007353 68.007353 -21 40 67.446275 67.446275 67.446275 -21 41 72.277244 72.277244 72.277244 -21 42 62.096699 62.096699 62.096699 -21 43 66.287254 66.287254 66.287254 -21 44 71.196910 71.196910 71.196910 -21 45 68.249542 68.249542 68.249542 -21 46 70.519501 70.519501 70.519501 -21 47 69.289249 69.289249 69.289249 -21 48 50.000000 50.000000 50.000000 -21 49 10.000000 10.000000 10.000000 -21 50 3.000000 3.000000 3.000000 -21 51 36.055513 36.055513 36.055513 -21 52 13.928388 13.928388 13.928388 -21 53 22.671568 22.671568 22.671568 -21 54 41.340053 41.340053 41.340053 -21 55 46.840154 46.840154 46.840154 -21 56 46.572524 46.572524 46.572524 -21 57 21.540659 21.540659 21.540659 -21 58 15.620499 15.620499 15.620499 -21 59 27.459060 27.459060 27.459060 -21 60 32.388269 32.388269 32.388269 -21 61 52.478567 52.478567 52.478567 -21 62 50.089919 50.089919 50.089919 -21 63 30.479501 30.479501 30.479501 -21 64 23.537205 23.537205 23.537205 -21 65 15.297059 15.297059 15.297059 -21 66 25.961510 25.961510 25.961510 -21 67 22.022716 22.022716 22.022716 -21 68 34.828150 34.828150 34.828150 -21 69 45.044423 45.044423 45.044423 -21 70 38.600518 38.600518 38.600518 -21 71 54.451814 54.451814 54.451814 -21 72 46.141088 46.141088 46.141088 -21 73 54.230987 54.230987 54.230987 -21 74 60.207973 60.207973 60.207973 -21 75 22.561028 22.561028 22.561028 -21 76 38.327536 38.327536 38.327536 -21 77 18.248288 18.248288 18.248288 -21 78 22.472205 22.472205 22.472205 -21 79 53.263496 53.263496 53.263496 -21 80 64.070274 64.070274 64.070274 -21 81 32.388269 32.388269 32.388269 -21 82 43.566042 43.566042 43.566042 -21 83 31.764760 31.764760 31.764760 -21 84 16.763055 16.763055 16.763055 -21 85 20.518285 20.518285 20.518285 -21 86 22.472205 22.472205 22.472205 -21 87 22.847319 22.847319 22.847319 -21 88 31.320920 31.320920 31.320920 -21 89 46.615448 46.615448 46.615448 -21 90 26.925824 26.925824 26.925824 -21 91 32.388269 32.388269 32.388269 -21 92 27.892651 27.892651 27.892651 -21 93 30.083218 30.083218 30.083218 -21 94 41.593269 41.593269 41.593269 -21 95 36.249138 36.249138 36.249138 -21 96 26.076810 26.076810 26.076810 -21 97 41.109610 41.109610 41.109610 -21 98 38.118237 38.118237 38.118237 -21 99 40.311289 40.311289 40.311289 -21 100 25.612497 25.612497 25.612497 -21 101 53.150729 53.150729 53.150729 -22 1 45.000000 45.000000 45.000000 -22 2 81.394103 81.394103 81.394103 -22 3 72.277244 72.277244 72.277244 -22 4 82.000000 82.000000 82.000000 -22 5 77.620873 77.620873 77.620873 -22 6 82.462113 82.462113 82.462113 -22 7 73.375745 73.375745 73.375745 -22 8 74.330344 74.330344 74.330344 -22 9 79.056942 79.056942 79.056942 -22 10 42.426407 42.426407 42.426407 -22 11 46.097722 46.097722 46.097722 -22 12 47.423623 47.423623 47.423623 -22 13 51.224994 51.224994 51.224994 -22 14 46.097722 46.097722 46.097722 -22 15 53.150729 53.150729 53.150729 -22 16 51.662365 51.662365 51.662365 -22 17 53.150729 53.150729 53.150729 -22 18 56.568542 56.568542 56.568542 -22 19 4.000000 4.000000 4.000000 -22 20 5.385165 5.385165 5.385165 -22 21 10.198039 10.198039 10.198039 -22 23 10.000000 10.000000 10.000000 -22 24 2.000000 2.000000 2.000000 -22 25 10.198039 10.198039 10.198039 -22 26 5.000000 5.000000 5.000000 -22 27 60.415230 60.415230 60.415230 -22 28 62.649820 62.649820 62.649820 -22 29 57.697487 57.697487 57.697487 -22 30 58.309519 58.309519 58.309519 -22 31 54.120237 54.120237 54.120237 -22 32 56.603887 56.603887 56.603887 -22 33 53.235327 53.235327 53.235327 -22 34 49.244289 49.244289 49.244289 -22 35 54.083269 54.083269 54.083269 -22 36 84.433406 84.433406 84.433406 -22 37 83.815273 83.815273 83.815273 -22 38 80.956779 80.956779 80.956779 -22 39 78.160092 78.160092 78.160092 -22 40 77.620873 77.620873 77.620873 -22 41 82.462113 82.462113 82.462113 -22 42 72.277244 72.277244 72.277244 -22 43 76.485293 76.485293 76.485293 -22 44 81.394103 81.394103 81.394103 -22 45 78.447435 78.447435 78.447435 -22 46 79.555012 79.555012 79.555012 -22 47 78.160092 78.160092 78.160092 -22 48 55.172457 55.172457 55.172457 -22 49 2.000000 2.000000 2.000000 -22 50 7.280110 7.280110 7.280110 -22 51 43.863424 43.863424 43.863424 -22 52 21.213203 21.213203 21.213203 -22 53 29.154759 29.154759 29.154759 -22 54 49.244289 49.244289 49.244289 -22 55 57.008771 57.008771 57.008771 -22 56 55.901699 55.901699 55.901699 -22 57 31.622777 31.622777 31.622777 -22 58 22.360680 22.360680 22.360680 -22 59 25.495098 25.495098 25.495098 -22 60 33.541020 33.541020 33.541020 -22 61 60.415230 60.415230 60.415230 -22 62 60.207973 60.207973 60.207973 -22 63 39.051248 39.051248 39.051248 -22 64 29.154759 29.154759 29.154759 -22 65 25.495098 25.495098 25.495098 -22 66 35.355339 35.355339 35.355339 -22 67 32.015621 32.015621 32.015621 -22 68 44.102154 44.102154 44.102154 -22 69 55.000000 55.000000 55.000000 -22 70 47.853944 47.853944 47.853944 -22 71 64.195015 64.195015 64.195015 -22 72 55.901699 55.901699 55.901699 -22 73 64.257295 64.257295 64.257295 -22 74 66.850580 66.850580 66.850580 -22 75 25.000000 25.000000 25.000000 -22 76 35.000000 35.000000 35.000000 -22 77 21.189620 21.189620 21.189620 -22 78 17.117243 17.117243 17.117243 -22 79 60.207973 60.207973 60.207973 -22 80 71.589105 71.589105 71.589105 -22 81 42.579338 42.579338 42.579338 -22 82 53.758720 53.758720 53.758720 -22 83 40.162171 40.162171 40.162171 -22 84 26.172505 26.172505 26.172505 -22 85 29.410882 29.410882 29.410882 -22 86 29.206164 29.206164 29.206164 -22 87 26.870058 26.870058 26.870058 -22 88 33.837849 33.837849 33.837849 -22 89 55.362442 55.362442 55.362442 -22 90 27.000000 27.000000 27.000000 -22 91 42.107007 42.107007 42.107007 -22 92 38.078866 38.078866 38.078866 -22 93 40.162171 40.162171 40.162171 -22 94 51.478151 51.478151 51.478151 -22 95 46.238512 46.238512 46.238512 -22 96 35.777088 35.777088 35.777088 -22 97 51.244512 51.244512 51.244512 -22 98 38.275318 38.275318 38.275318 -22 99 49.040799 49.040799 49.040799 -22 100 33.105891 33.105891 33.105891 -22 101 62.649820 62.649820 62.649820 -23 1 35.000000 35.000000 35.000000 -23 2 71.589105 71.589105 71.589105 -23 3 62.641839 62.641839 62.641839 -23 4 72.277244 72.277244 72.277244 -23 5 68.007353 68.007353 68.007353 -23 6 72.801099 72.801099 72.801099 -23 7 63.906181 63.906181 63.906181 -23 8 65.000000 65.000000 65.000000 -23 9 69.641941 69.641941 69.641941 -23 10 36.055513 36.055513 36.055513 -23 11 39.051248 39.051248 39.051248 -23 12 40.607881 40.607881 40.607881 -23 13 43.863424 43.863424 43.863424 -23 14 40.311289 40.311289 40.311289 -23 15 46.097722 46.097722 46.097722 -23 16 45.486262 45.486262 45.486262 -23 17 47.169906 47.169906 47.169906 -23 18 50.000000 50.000000 50.000000 -23 19 10.770330 10.770330 10.770330 -23 20 5.385165 5.385165 5.385165 -23 21 2.000000 2.000000 2.000000 -23 22 10.000000 10.000000 10.000000 -23 24 10.198039 10.198039 10.198039 -23 25 2.000000 2.000000 2.000000 -23 26 11.180340 11.180340 11.180340 -23 27 57.008771 57.008771 57.008771 -23 28 58.523500 58.523500 58.523500 -23 29 54.120237 54.120237 54.120237 -23 30 53.851648 53.851648 53.851648 -23 31 50.289164 50.289164 50.289164 -23 32 52.000000 52.000000 52.000000 -23 33 49.335586 49.335586 49.335586 -23 34 46.097722 46.097722 46.097722 -23 35 49.244289 49.244289 49.244289 -23 36 75.026662 75.026662 75.026662 -23 37 74.330344 74.330344 74.330344 -23 38 71.512237 71.512237 71.512237 -23 39 68.622154 68.622154 68.622154 -23 40 68.007353 68.007353 68.007353 -23 41 72.801099 72.801099 72.801099 -23 42 62.641839 62.641839 62.641839 -23 43 66.708320 66.708320 66.708320 -23 44 71.589105 71.589105 71.589105 -23 45 68.658576 68.658576 68.658576 -23 46 69.921384 69.921384 69.921384 -23 47 68.622154 68.622154 68.622154 -23 48 48.414874 48.414874 48.414874 -23 49 10.198039 10.198039 10.198039 -23 50 3.605551 3.605551 3.605551 -23 51 37.735925 37.735925 37.735925 -23 52 15.811388 15.811388 15.811388 -23 53 21.213203 21.213203 21.213203 -23 54 40.311289 40.311289 40.311289 -23 55 47.434165 47.434165 47.434165 -23 56 46.097722 46.097722 46.097722 -23 57 22.360680 22.360680 22.360680 -23 58 14.142136 14.142136 14.142136 -23 59 25.495098 25.495098 25.495098 -23 60 30.413813 30.413813 30.413813 -23 61 51.478151 51.478151 51.478151 -23 62 50.249378 50.249378 50.249378 -23 63 32.015621 32.015621 32.015621 -23 64 25.495098 25.495098 25.495098 -23 65 15.811388 15.811388 15.811388 -23 66 25.495098 25.495098 25.495098 -23 67 22.022716 22.022716 22.022716 -23 68 36.124784 36.124784 36.124784 -23 69 45.000000 45.000000 45.000000 -23 70 38.078866 38.078866 38.078866 -23 71 54.230987 54.230987 54.230987 -23 72 47.169906 47.169906 47.169906 -23 73 55.036352 55.036352 55.036352 -23 74 58.898217 58.898217 58.898217 -23 75 20.615528 20.615528 20.615528 -23 76 36.400549 36.400549 36.400549 -23 77 20.223748 20.223748 20.223748 -23 78 20.808652 20.808652 20.808652 -23 79 52.009614 52.009614 52.009614 -23 80 62.968246 62.968246 62.968246 -23 81 32.756679 32.756679 32.756679 -23 82 43.931765 43.931765 43.931765 -23 83 30.870698 30.870698 30.870698 -23 84 16.278821 16.278821 16.278821 -23 85 22.022716 22.022716 22.022716 -23 86 24.351591 24.351591 24.351591 -23 87 21.023796 21.023796 21.023796 -23 88 29.410882 29.410882 29.410882 -23 89 45.880279 45.880279 45.880279 -23 90 28.792360 28.792360 28.792360 -23 91 32.140317 32.140317 32.140317 -23 92 28.460499 28.460499 28.460499 -23 93 30.870698 30.870698 30.870698 -23 94 42.544095 42.544095 42.544095 -23 95 37.121422 37.121422 37.121422 -23 96 27.202941 27.202941 27.202941 -23 97 41.785165 41.785165 41.785165 -23 98 36.124784 36.124784 36.124784 -23 99 39.560081 39.560081 39.560081 -23 100 24.413111 24.413111 24.413111 -23 101 52.773099 52.773099 52.773099 -24 1 45.044423 45.044423 45.044423 -24 2 81.049368 81.049368 81.049368 -24 3 71.805292 71.805292 71.805292 -24 4 81.584312 81.584312 81.584312 -24 5 77.129761 77.129761 77.129761 -24 6 82.000000 82.000000 82.000000 -24 7 72.801099 72.801099 72.801099 -24 8 73.681748 73.681748 73.681748 -24 9 78.447435 78.447435 78.447435 -24 10 41.036569 41.036569 41.036569 -24 11 44.821870 44.821870 44.821870 -24 12 46.097722 46.097722 46.097722 -24 13 50.000000 50.000000 50.000000 -24 14 44.598206 44.598206 44.598206 -24 15 51.855569 51.855569 51.855569 -24 16 50.209561 50.209561 50.209561 -24 17 51.662365 51.662365 51.662365 -24 18 55.172457 55.172457 55.172457 -24 19 6.000000 6.000000 6.000000 -24 20 6.403124 6.403124 6.403124 -24 21 10.770330 10.770330 10.770330 -24 22 2.000000 2.000000 2.000000 -24 23 10.198039 10.198039 10.198039 -24 25 10.000000 10.000000 10.000000 -24 26 3.000000 3.000000 3.000000 -24 27 62.241465 62.241465 62.241465 -24 28 64.412732 64.412732 64.412732 -24 29 59.506302 59.506302 59.506302 -24 30 60.033324 60.033324 60.033324 -24 31 55.901699 55.901699 55.901699 -24 32 58.309519 58.309519 58.309519 -24 33 55.009090 55.009090 55.009090 -24 34 51.078371 51.078371 51.078371 -24 35 55.758407 55.758407 55.758407 -24 36 85.094066 85.094066 85.094066 -24 37 84.433406 84.433406 84.433406 -24 38 81.596569 81.596569 81.596569 -24 39 78.746428 78.746428 78.746428 -24 40 78.160092 78.160092 78.160092 -24 41 82.969874 82.969874 82.969874 -24 42 72.801099 72.801099 72.801099 -24 43 76.902536 76.902536 76.902536 -24 44 81.786307 81.786307 81.786307 -24 45 78.854296 78.854296 78.854296 -24 46 79.075913 79.075913 79.075913 -24 47 77.620873 77.620873 77.620873 -24 48 53.814496 53.814496 53.814496 -24 49 4.000000 4.000000 4.000000 -24 50 8.062258 8.062258 8.062258 -24 51 45.343136 45.343136 45.343136 -24 52 22.671568 22.671568 22.671568 -24 53 28.178006 28.178006 28.178006 -24 54 48.466483 48.466483 48.466483 -24 55 57.567352 57.567352 57.567352 -24 56 55.578773 55.578773 55.578773 -24 57 32.310989 32.310989 32.310989 -24 58 21.540659 21.540659 21.540659 -24 59 23.537205 23.537205 23.537205 -24 60 31.764760 31.764760 31.764760 -24 61 59.615434 59.615434 59.615434 -24 62 60.406953 60.406953 60.406953 -24 63 40.360872 40.360872 40.360872 -24 64 30.886890 30.886890 30.886890 -24 65 25.961510 25.961510 25.961510 -24 66 35.128336 35.128336 35.128336 -24 67 32.140317 32.140317 32.140317 -24 68 45.221676 45.221676 45.221676 -24 69 55.036352 55.036352 55.036352 -24 70 47.518417 47.518417 47.518417 -24 71 64.070274 64.070274 64.070274 -24 72 56.824291 56.824291 56.824291 -24 73 65.000000 65.000000 65.000000 -24 74 65.734314 65.734314 65.734314 -24 75 23.430749 23.430749 23.430749 -24 76 33.000000 33.000000 33.000000 -24 77 23.086793 23.086793 23.086793 -24 78 15.132746 15.132746 15.132746 -24 79 59.169249 59.169249 59.169249 -24 80 70.661163 70.661163 70.661163 -24 81 42.953463 42.953463 42.953463 -24 82 54.129474 54.129474 54.129474 -24 83 39.560081 39.560081 39.560081 -24 84 26.019224 26.019224 26.019224 -24 85 30.610456 30.610456 30.610456 -24 86 30.805844 30.805844 30.805844 -24 87 25.495098 25.495098 25.495098 -24 88 32.202484 32.202484 32.202484 -24 89 54.817880 54.817880 54.817880 -24 90 29.000000 29.000000 29.000000 -24 91 42.011903 42.011903 42.011903 -24 92 38.600518 38.600518 38.600518 -24 93 40.853396 40.853396 40.853396 -24 94 52.325902 52.325902 52.325902 -24 95 47.010637 47.010637 47.010637 -24 96 36.715120 36.715120 36.715120 -24 97 51.865210 51.865210 51.865210 -24 98 36.400549 36.400549 36.400549 -24 99 48.507731 48.507731 48.507731 -24 100 32.310989 32.310989 32.310989 -24 101 62.393910 62.393910 62.393910 -25 1 35.057096 35.057096 35.057096 -25 2 71.196910 71.196910 71.196910 -25 3 62.096699 62.096699 62.096699 -25 4 71.805292 71.805292 71.805292 -25 5 67.446275 67.446275 67.446275 -25 6 72.277244 72.277244 72.277244 -25 7 63.245553 63.245553 63.245553 -25 8 64.257295 64.257295 64.257295 -25 9 68.949257 68.949257 68.949257 -25 10 34.409301 34.409301 34.409301 -25 11 37.536649 37.536649 37.536649 -25 12 39.051248 39.051248 39.051248 -25 13 42.426407 42.426407 42.426407 -25 14 38.587563 38.587563 38.587563 -25 15 44.598206 44.598206 44.598206 -25 16 43.829214 43.829214 43.829214 -25 17 45.486262 45.486262 45.486262 -25 18 48.414874 48.414874 48.414874 -25 19 11.661904 11.661904 11.661904 -25 20 6.403124 6.403124 6.403124 -25 21 4.000000 4.000000 4.000000 -25 22 10.198039 10.198039 10.198039 -25 23 2.000000 2.000000 2.000000 -25 24 10.000000 10.000000 10.000000 -25 26 10.440307 10.440307 10.440307 -25 27 58.940648 58.940648 58.940648 -25 28 60.406953 60.406953 60.406953 -25 29 56.044625 56.044625 56.044625 -25 30 55.713553 55.713553 55.713553 -25 31 52.201533 52.201533 52.201533 -25 32 53.851648 53.851648 53.851648 -25 33 51.244512 51.244512 51.244512 -25 34 48.052055 48.052055 48.052055 -25 35 51.078371 51.078371 51.078371 -25 36 75.769387 75.769387 75.769387 -25 37 75.026662 75.026662 75.026662 -25 38 72.235725 72.235725 72.235725 -25 39 69.289249 69.289249 69.289249 -25 40 68.622154 68.622154 68.622154 -25 41 73.375745 73.375745 73.375745 -25 42 63.245553 63.245553 63.245553 -25 43 67.186308 67.186308 67.186308 -25 44 72.034714 72.034714 72.034714 -25 45 69.123079 69.123079 69.123079 -25 46 69.375788 69.375788 69.375788 -25 47 68.007353 68.007353 68.007353 -25 48 46.861498 46.861498 46.861498 -25 49 10.770330 10.770330 10.770330 -25 50 5.000000 5.000000 5.000000 -25 51 39.446166 39.446166 39.446166 -25 52 17.720045 17.720045 17.720045 -25 53 19.849433 19.849433 19.849433 -25 54 39.357337 39.357337 39.357337 -25 55 48.104054 48.104054 48.104054 -25 56 45.705580 45.705580 45.705580 -25 57 23.323808 23.323808 23.323808 -25 58 12.806248 12.806248 12.806248 -25 59 23.537205 23.537205 23.537205 -25 60 28.442925 28.442925 28.442925 -25 61 50.537115 50.537115 50.537115 -25 62 50.487622 50.487622 50.487622 -25 63 33.600595 33.600595 33.600595 -25 64 27.459060 27.459060 27.459060 -25 65 16.552945 16.552945 16.552945 -25 66 25.179357 25.179357 25.179357 -25 67 22.203603 22.203603 22.203603 -25 68 37.483330 37.483330 37.483330 -25 69 45.044423 45.044423 45.044423 -25 70 37.656341 37.656341 37.656341 -25 71 54.083269 54.083269 54.083269 -25 72 48.259714 48.259714 48.259714 -25 73 55.901699 55.901699 55.901699 -25 74 57.628118 57.628118 57.628118 -25 75 18.681542 18.681542 18.681542 -25 76 34.481879 34.481879 34.481879 -25 77 22.203603 22.203603 22.203603 -25 78 19.209373 19.209373 19.209373 -25 79 50.803543 50.803543 50.803543 -25 80 61.911227 61.911227 61.911227 -25 81 33.241540 33.241540 33.241540 -25 82 44.384682 44.384682 44.384682 -25 83 30.083218 30.083218 30.083218 -25 84 16.031220 16.031220 16.031220 -25 85 23.600847 23.600847 23.600847 -25 86 26.248809 26.248809 26.248809 -25 87 19.235384 19.235384 19.235384 -25 88 27.513633 27.513633 27.513633 -25 89 45.221676 45.221676 45.221676 -25 90 30.675723 30.675723 30.675723 -25 91 32.015621 32.015621 32.015621 -25 92 29.154759 29.154759 29.154759 -25 93 31.764760 31.764760 31.764760 -25 94 43.566042 43.566042 43.566042 -25 95 38.078866 38.078866 38.078866 -25 96 28.425341 28.425341 28.425341 -25 97 42.544095 42.544095 42.544095 -25 98 34.132096 34.132096 34.132096 -25 99 38.897301 38.897301 38.897301 -25 100 23.323808 23.323808 23.323808 -25 101 52.469038 52.469038 52.469038 -26 1 45.276926 45.276926 45.276926 -26 2 80.622577 80.622577 80.622577 -26 3 71.196910 71.196910 71.196910 -26 4 81.049368 81.049368 81.049368 -26 5 76.485293 76.485293 76.485293 -26 6 81.394103 81.394103 81.394103 -26 7 72.034714 72.034714 72.034714 -26 8 72.801099 72.801099 72.801099 -26 9 77.620873 77.620873 77.620873 -26 10 39.051248 39.051248 39.051248 -26 11 43.011626 43.011626 43.011626 -26 12 44.204072 44.204072 44.204072 -26 13 48.259714 48.259714 48.259714 -26 14 42.426407 42.426407 42.426407 -26 15 50.000000 50.000000 50.000000 -26 16 48.104054 48.104054 48.104054 -26 17 49.497475 49.497475 49.497475 -26 18 53.150729 53.150729 53.150729 -26 19 9.000000 9.000000 9.000000 -26 20 8.602325 8.602325 8.602325 -26 21 12.206556 12.206556 12.206556 -26 22 5.000000 5.000000 5.000000 -26 23 11.180340 11.180340 11.180340 -26 24 3.000000 3.000000 3.000000 -26 25 10.440307 10.440307 10.440307 -26 27 65.000000 65.000000 65.000000 -26 28 67.082039 67.082039 67.082039 -26 29 62.241465 62.241465 62.241465 -26 30 62.649820 62.649820 62.649820 -26 31 58.600341 58.600341 58.600341 -26 32 60.901560 60.901560 60.901560 -26 33 57.697487 57.697487 57.697487 -26 34 53.851648 53.851648 53.851648 -26 35 58.309519 58.309519 58.309519 -26 36 86.162637 86.162637 86.162637 -26 37 85.440037 85.440037 85.440037 -26 38 82.637764 82.637764 82.637764 -26 39 79.711982 79.711982 79.711982 -26 40 79.056942 79.056942 79.056942 -26 41 83.815273 83.815273 83.815273 -26 42 73.681748 73.681748 73.681748 -26 43 77.620873 77.620873 77.620873 -26 44 82.462113 82.462113 82.462113 -26 45 79.555012 79.555012 79.555012 -26 46 78.447435 78.447435 78.447435 -26 47 76.902536 76.902536 76.902536 -26 48 51.855569 51.855569 51.855569 -26 49 7.000000 7.000000 7.000000 -26 50 9.899495 9.899495 9.899495 -26 51 47.634021 47.634021 47.634021 -26 52 25.000000 25.000000 25.000000 -26 53 26.925824 26.925824 26.925824 -26 54 47.434165 47.434165 47.434165 -26 55 58.523500 58.523500 58.523500 -26 56 55.226805 55.226805 55.226805 -26 57 33.541020 33.541020 33.541020 -26 58 20.615528 20.615528 20.615528 -26 59 20.615528 20.615528 20.615528 -26 60 29.154759 29.154759 29.154759 -26 61 58.523500 58.523500 58.523500 -26 62 60.827625 60.827625 60.827625 -26 63 42.426407 42.426407 42.426407 -26 64 33.541020 33.541020 33.541020 -26 65 26.925824 26.925824 26.925824 -26 66 35.000000 35.000000 35.000000 -26 67 32.557641 32.557641 32.557641 -26 68 47.010637 47.010637 47.010637 -26 69 55.226805 55.226805 55.226805 -26 70 47.169906 47.169906 47.169906 -26 71 64.000000 64.000000 64.000000 -26 72 58.309519 58.309519 58.309519 -26 73 66.211781 66.211781 66.211781 -26 74 64.140471 64.140471 64.140471 -26 75 21.213203 21.213203 21.213203 -26 76 30.000000 30.000000 30.000000 -26 77 25.961510 25.961510 25.961510 -26 78 12.165525 12.165525 12.165525 -26 79 57.706152 57.706152 57.706152 -26 80 69.354164 69.354164 69.354164 -26 81 43.680659 43.680659 43.680659 -26 82 54.817880 54.817880 54.817880 -26 83 38.832976 38.832976 38.832976 -26 84 26.076810 26.076810 26.076810 -26 85 32.557641 32.557641 32.557641 -26 86 33.286634 33.286634 33.286634 -26 87 23.600847 23.600847 23.600847 -26 88 29.832868 29.832868 29.832868 -26 89 54.129474 54.129474 54.129474 -26 90 32.000000 32.000000 32.000000 -26 91 42.047592 42.047592 42.047592 -26 92 39.560081 39.560081 39.560081 -26 93 42.047592 42.047592 42.047592 -26 94 53.712196 53.712196 53.712196 -26 95 48.301139 48.301139 48.301139 -26 96 38.275318 38.275318 38.275318 -26 97 52.924474 52.924474 52.924474 -26 98 33.615473 33.615473 33.615473 -26 99 47.853944 47.853944 47.853944 -26 100 31.320920 31.320920 31.320920 -26 101 62.128898 62.128898 62.128898 -27 1 58.523500 58.523500 58.523500 -27 2 89.022469 89.022469 89.022469 -27 3 85.755466 85.755466 85.755466 -27 4 91.400219 91.400219 91.400219 -27 5 90.138782 90.138782 90.138782 -27 6 93.005376 93.005376 93.005376 -27 7 89.185201 89.185201 89.185201 -27 8 91.787799 91.787799 91.787799 -27 9 94.339811 94.339811 94.339811 -27 10 85.146932 85.146932 85.146932 -27 11 85.586214 85.586214 85.586214 -27 12 87.572827 87.572827 87.572827 -27 13 88.283634 88.283634 88.283634 -27 14 90.138782 90.138782 90.138782 -27 15 91.241438 91.241438 91.241438 -27 16 93.536089 93.536089 93.536089 -27 17 95.524866 95.524866 95.524866 -27 18 96.176920 96.176920 96.176920 -27 19 56.797887 56.797887 56.797887 -27 20 56.648036 56.648036 56.648036 -27 21 55.081757 55.081757 55.081757 -27 22 60.415230 60.415230 60.415230 -27 23 57.008771 57.008771 57.008771 -27 24 62.241465 62.241465 62.241465 -27 25 58.940648 58.940648 58.940648 -27 26 65.000000 65.000000 65.000000 -27 28 5.000000 5.000000 5.000000 -27 29 3.000000 3.000000 3.000000 -27 30 7.071068 7.071068 7.071068 -27 31 7.000000 7.000000 7.000000 -27 32 8.602325 8.602325 8.602325 -27 33 8.000000 8.000000 8.000000 -27 34 11.180340 11.180340 11.180340 -27 35 11.180340 11.180340 11.180340 -27 36 61.717096 61.717096 61.717096 -27 37 62.649820 62.649820 62.649820 -27 38 60.033324 60.033324 60.033324 -27 39 59.908263 59.908263 59.908263 -27 40 61.032778 61.032778 61.032778 -27 41 65.192024 65.192024 65.192024 -27 42 58.258047 58.258047 58.258047 -27 43 64.031242 64.031242 64.031242 -27 44 68.007353 68.007353 68.007353 -27 45 65.604878 65.604878 65.604878 -27 46 91.263355 91.263355 91.263355 -27 47 91.809586 91.809586 91.809586 -27 48 94.201911 94.201911 94.201911 -27 49 58.600341 58.600341 58.600341 -27 50 55.973208 55.973208 55.973208 -27 51 23.537205 23.537205 23.537205 -27 52 41.231056 41.231056 41.231056 -27 53 70.000000 70.000000 70.000000 -27 54 77.620873 77.620873 77.620873 -27 55 50.000000 50.000000 50.000000 -27 56 71.589105 71.589105 71.589105 -27 57 45.276926 45.276926 45.276926 -27 58 65.192024 65.192024 65.192024 -27 59 82.462113 82.462113 82.462113 -27 60 85.586214 85.586214 85.586214 -27 61 85.440037 85.440037 85.440037 -27 62 61.032778 61.032778 61.032778 -27 63 30.413813 30.413813 30.413813 -27 64 31.622777 31.622777 31.622777 -27 65 50.000000 50.000000 50.000000 -27 66 60.827625 60.827625 60.827625 -27 67 54.451814 54.451814 54.451814 -27 68 33.241540 33.241540 33.241540 -27 69 62.649820 62.649820 62.649820 -27 70 67.675697 67.675697 67.675697 -27 71 71.561163 71.561163 71.561163 -27 72 39.051248 39.051248 39.051248 -27 73 47.423623 47.423623 47.423623 -27 74 97.718985 97.718985 97.718985 -27 75 75.663730 75.663730 75.663730 -27 76 93.407708 93.407708 93.407708 -27 77 39.357337 39.357337 39.357337 -27 78 76.896034 76.896034 76.896034 -27 79 90.801982 90.801982 90.801982 -27 80 96.772930 96.772930 96.772930 -27 81 50.921508 50.921508 50.921508 -27 82 53.851648 53.851648 53.851648 -27 83 69.231496 69.231496 69.231496 -27 84 58.008620 58.008620 58.008620 -27 85 38.013156 38.013156 38.013156 -27 86 32.756679 32.756679 32.756679 -27 87 74.242845 74.242845 74.242845 -27 88 83.216585 83.216585 83.216585 -27 89 76.321688 76.321688 76.321688 -27 90 37.536649 37.536649 37.536649 -27 91 60.440053 60.440053 60.440053 -27 92 47.539457 47.539457 47.539457 -27 93 43.965896 43.965896 43.965896 -27 94 40.496913 40.496913 40.496913 -27 95 42.047592 42.047592 42.047592 -27 96 39.623226 39.623226 39.623226 -27 97 46.647615 46.647615 46.647615 -27 98 91.787799 91.787799 91.787799 -27 99 72.422372 72.422372 72.422372 -27 100 69.180922 69.180922 69.180922 -27 101 73.925638 73.925638 73.925638 -28 1 57.008771 57.008771 57.008771 -28 2 86.023253 86.023253 86.023253 -28 3 83.240615 83.240615 83.240615 -28 4 88.481637 88.481637 88.481637 -28 5 87.464278 87.464278 87.464278 -28 6 90.138782 90.138782 90.138782 -28 7 86.769810 86.769810 86.769810 -28 8 89.442719 89.442719 89.442719 -28 9 91.787799 91.787799 91.787799 -28 10 85.000000 85.000000 85.000000 -28 11 85.146932 85.146932 85.146932 -28 12 87.143560 87.143560 87.143560 -28 13 87.572827 87.572827 87.572827 -28 14 90.000000 90.000000 90.000000 -28 15 90.553851 90.553851 90.553851 -28 16 93.134312 93.134312 93.134312 -28 17 95.131488 95.131488 95.131488 -28 18 95.524866 95.524866 95.524866 -28 19 59.169249 59.169249 59.169249 -28 20 58.600341 58.600341 58.600341 -28 21 56.648036 56.648036 56.648036 -28 22 62.649820 62.649820 62.649820 -28 23 58.523500 58.523500 58.523500 -28 24 64.412732 64.412732 64.412732 -28 25 60.406953 60.406953 60.406953 -28 26 67.082039 67.082039 67.082039 -28 27 5.000000 5.000000 5.000000 -28 29 5.830952 5.830952 5.830952 -28 30 5.000000 5.000000 5.000000 -28 31 8.602325 8.602325 8.602325 -28 32 7.000000 7.000000 7.000000 -28 33 9.433981 9.433981 9.433981 -28 34 14.142136 14.142136 14.142136 -28 35 10.000000 10.000000 10.000000 -28 36 57.306195 57.306195 57.306195 -28 37 58.309519 58.309519 58.309519 -28 38 55.758407 55.758407 55.758407 -28 39 55.803226 55.803226 55.803226 -28 40 57.008771 57.008771 57.008771 -28 41 61.032778 61.032778 61.032778 -28 42 54.488531 54.488531 54.488531 -28 43 60.207973 60.207973 60.207973 -28 44 64.031242 64.031242 64.031242 -28 45 61.717096 61.717096 61.717096 -28 46 88.509886 88.509886 88.509886 -28 47 89.185201 89.185201 89.185201 -28 48 93.536089 93.536089 93.536089 -28 49 60.901560 60.901560 60.901560 -28 50 57.775427 57.775427 57.775427 -28 51 23.000000 23.000000 23.000000 -28 52 42.720019 42.720019 42.720019 -28 53 70.178344 70.178344 70.178344 -28 54 76.485293 76.485293 76.485293 -28 55 47.169906 47.169906 47.169906 -28 56 69.641941 69.641941 69.641941 -28 57 45.000000 45.000000 45.000000 -28 58 65.764732 65.764732 65.764732 -28 59 83.815273 83.815273 83.815273 -28 60 86.313383 86.313383 86.313383 -28 61 83.815273 83.815273 83.815273 -28 62 58.309519 58.309519 58.309519 -28 63 30.000000 30.000000 30.000000 -28 64 33.541020 33.541020 33.541020 -28 65 50.249378 50.249378 50.249378 -28 66 60.207973 60.207973 60.207973 -28 67 54.037024 54.037024 54.037024 -28 68 31.780497 31.780497 31.780497 -28 69 60.415230 60.415230 60.415230 -28 70 66.219333 66.219333 66.219333 -28 71 68.963759 68.963759 68.963759 -28 72 36.055513 36.055513 36.055513 -28 73 43.863424 43.863424 43.863424 -28 74 96.301610 96.301610 96.301610 -28 75 76.485293 76.485293 76.485293 -28 76 94.868330 94.868330 94.868330 -28 77 41.880783 41.880783 41.880783 -28 78 78.790862 78.790862 78.790862 -28 79 89.498603 89.498603 89.498603 -28 80 94.921020 94.921020 94.921020 -28 81 49.477268 49.477268 49.477268 -28 82 51.429563 51.429563 51.429563 -28 83 68.468971 68.468971 68.468971 -28 84 58.137767 58.137767 58.137767 -28 85 38.470768 38.470768 38.470768 -28 86 34.176015 34.176015 34.176015 -28 87 74.813100 74.813100 74.813100 -28 88 83.725743 83.725743 83.725743 -28 89 74.632433 74.632433 74.632433 -28 90 41.036569 41.036569 41.036569 -28 91 59.228372 59.228372 59.228372 -28 92 46.529560 46.529560 46.529560 -28 93 42.755117 42.755117 42.755117 -28 94 38.013156 38.013156 38.013156 -28 95 40.162171 40.162171 40.162171 -28 96 39.051248 39.051248 39.051248 -28 97 44.283180 44.283180 44.283180 -28 98 92.574294 92.574294 92.574294 -28 99 71.063352 71.063352 71.063352 -28 100 69.000000 69.000000 69.000000 -28 101 71.554175 71.554175 71.554175 -29 1 55.713553 55.713553 55.713553 -29 2 86.683332 86.683332 86.683332 -29 3 83.216585 83.216585 83.216585 -29 4 89.022469 89.022469 89.022469 -29 5 87.658428 87.658428 87.658428 -29 6 90.603532 90.603532 90.603532 -29 7 86.608314 86.608314 86.608314 -29 8 89.185201 89.185201 89.185201 -29 9 91.809586 91.809586 91.809586 -29 10 82.152298 82.152298 82.152298 -29 11 82.607506 82.607506 82.607506 -29 12 84.593144 84.593144 84.593144 -29 13 85.328776 85.328776 85.328776 -29 14 87.143560 87.143560 87.143560 -29 15 88.283634 88.283634 88.283634 -29 16 90.553851 90.553851 90.553851 -29 17 92.541882 92.541882 92.541882 -29 18 93.214806 93.214806 93.214806 -29 19 54.120237 54.120237 54.120237 -29 20 53.851648 53.851648 53.851648 -29 21 52.201533 52.201533 52.201533 -29 22 57.697487 57.697487 57.697487 -29 23 54.120237 54.120237 54.120237 -29 24 59.506302 59.506302 59.506302 -29 25 56.044625 56.044625 56.044625 -29 26 62.241465 62.241465 62.241465 -29 27 3.000000 3.000000 3.000000 -29 28 5.830952 5.830952 5.830952 -29 30 5.385165 5.385165 5.385165 -29 31 4.000000 4.000000 4.000000 -29 32 6.403124 6.403124 6.403124 -29 33 5.000000 5.000000 5.000000 -29 34 8.602325 8.602325 8.602325 -29 35 8.602325 8.602325 8.602325 -29 36 60.415230 60.415230 60.415230 -29 37 61.269895 61.269895 61.269895 -29 38 58.591808 58.591808 58.591808 -29 39 58.309519 58.309519 58.309519 -29 40 59.363288 59.363288 59.363288 -29 41 63.631753 63.631753 63.631753 -29 42 56.400355 56.400355 56.400355 -29 43 62.201286 62.201286 62.201286 -29 44 66.287254 66.287254 66.287254 -29 45 63.820060 63.820060 63.820060 -29 46 88.814413 88.814413 88.814413 -29 47 89.308454 89.308454 89.308454 -29 48 91.241438 91.241438 91.241438 -29 49 55.901699 55.901699 55.901699 -29 50 53.141321 53.141321 53.141321 -29 51 20.615528 20.615528 20.615528 -29 52 38.327536 38.327536 38.327536 -29 53 67.000000 67.000000 67.000000 -29 54 74.726167 74.726167 74.726167 -29 55 47.634021 47.634021 47.634021 -29 56 68.876701 68.876701 68.876701 -29 57 42.296572 42.296572 42.296572 -29 58 62.201286 62.201286 62.201286 -29 59 79.555012 79.555012 79.555012 -29 60 82.607506 82.607506 82.607506 -29 61 82.637764 82.637764 82.637764 -29 62 58.600341 58.600341 58.600341 -29 63 27.459060 27.459060 27.459060 -29 64 28.792360 28.792360 28.792360 -29 65 47.000000 47.000000 47.000000 -29 66 57.870545 57.870545 57.870545 -29 67 51.478151 51.478151 51.478151 -29 68 30.463092 30.463092 30.463092 -29 69 60.033324 60.033324 60.033324 -29 70 64.845971 64.845971 64.845971 -29 71 69.065187 69.065187 69.065187 -29 72 36.796739 36.796739 36.796739 -29 73 45.453273 45.453273 45.453273 -29 74 94.868330 94.868330 94.868330 -29 75 72.691127 72.691127 72.691127 -29 76 90.520716 90.520716 90.520716 -29 77 36.715120 36.715120 36.715120 -29 78 74.094534 74.094534 74.094534 -29 79 87.931792 87.931792 87.931792 -29 80 94.021274 94.021274 94.021274 -29 81 48.104054 48.104054 48.104054 -29 82 51.312766 51.312766 51.312766 -29 83 66.287254 66.287254 66.287254 -29 84 55.009090 55.009090 55.009090 -29 85 35.014283 35.014283 35.014283 -29 86 29.832868 29.832868 29.832868 -29 87 71.253070 71.253070 71.253070 -29 88 80.224684 80.224684 80.224684 -29 89 73.539105 73.539105 73.539105 -29 90 35.355339 35.355339 35.355339 -29 91 57.567352 57.567352 57.567352 -29 92 44.643029 44.643029 44.643029 -29 93 41.109610 41.109610 41.109610 -29 94 38.013156 38.013156 38.013156 -29 95 39.357337 39.357337 39.357337 -29 96 36.674242 36.674242 36.674242 -29 97 44.102154 44.102154 44.102154 -29 98 88.814413 88.814413 88.814413 -29 99 69.570109 69.570109 69.570109 -29 100 66.189123 66.189123 66.189123 -29 101 71.344236 71.344236 71.344236 -30 1 52.201533 52.201533 52.201533 -30 2 82.006097 82.006097 82.006097 -30 3 78.892332 78.892332 78.892332 -30 4 84.403791 84.403791 84.403791 -30 5 83.216585 83.216585 83.216585 -30 6 86.023253 86.023253 86.023253 -30 7 82.365041 82.365041 82.365041 -30 8 85.000000 85.000000 85.000000 -30 9 87.464278 87.464278 87.464278 -30 10 80.000000 80.000000 80.000000 -30 11 80.156098 80.156098 80.156098 -30 12 82.152298 82.152298 82.152298 -30 13 82.607506 82.607506 82.607506 -30 14 85.000000 85.000000 85.000000 -30 15 85.586214 85.586214 85.586214 -30 16 88.141931 88.141931 88.141931 -30 17 90.138782 90.138782 90.138782 -30 18 90.553851 90.553851 90.553851 -30 19 54.918121 54.918121 54.918121 -30 20 54.120237 54.120237 54.120237 -30 21 52.000000 52.000000 52.000000 -30 22 58.309519 58.309519 58.309519 -30 23 53.851648 53.851648 53.851648 -30 24 60.033324 60.033324 60.033324 -30 25 55.713553 55.713553 55.713553 -30 26 62.649820 62.649820 62.649820 -30 27 7.071068 7.071068 7.071068 -30 28 5.000000 5.000000 5.000000 -30 29 5.385165 5.385165 5.385165 -30 31 5.385165 5.385165 5.385165 -30 32 2.000000 2.000000 2.000000 -30 33 5.830952 5.830952 5.830952 -30 34 11.180340 11.180340 11.180340 -30 35 5.000000 5.000000 5.000000 -30 36 55.036352 55.036352 55.036352 -30 37 55.901699 55.901699 55.901699 -30 38 53.235327 53.235327 53.235327 -30 39 53.000000 53.000000 53.000000 -30 40 54.083269 54.083269 54.083269 -30 41 58.309519 58.309519 58.309519 -30 42 51.224994 51.224994 51.224994 -30 43 57.008771 57.008771 57.008771 -30 44 61.032778 61.032778 61.032778 -30 45 58.600341 58.600341 58.600341 -30 46 84.314886 84.314886 84.314886 -30 47 84.905830 84.905830 84.905830 -30 48 88.566359 88.566359 88.566359 -30 49 56.603887 56.603887 56.603887 -30 50 53.225934 53.225934 53.225934 -30 51 18.000000 18.000000 18.000000 -30 52 38.078866 38.078866 38.078866 -30 53 65.192024 65.192024 65.192024 -30 54 71.589105 71.589105 71.589105 -30 55 43.011626 43.011626 43.011626 -30 56 65.000000 65.000000 65.000000 -30 57 40.000000 40.000000 40.000000 -30 58 60.827625 60.827625 60.827625 -30 59 79.056942 79.056942 79.056942 -30 60 81.394103 81.394103 81.394103 -30 61 79.056942 79.056942 79.056942 -30 62 54.083269 54.083269 54.083269 -30 63 25.000000 25.000000 25.000000 -30 64 29.154759 29.154759 29.154759 -30 65 45.276926 45.276926 45.276926 -30 66 55.226805 55.226805 55.226805 -30 67 49.040799 49.040799 49.040799 -30 68 26.925824 26.925824 26.925824 -30 69 55.901699 55.901699 55.901699 -30 70 61.400326 61.400326 61.400326 -30 71 64.660653 64.660653 64.660653 -30 72 32.015621 32.015621 32.015621 -30 73 40.360872 40.360872 40.360872 -30 74 91.482239 91.482239 91.482239 -30 75 71.589105 71.589105 71.589105 -30 76 90.138782 90.138782 90.138782 -30 77 37.802116 37.802116 37.802116 -30 78 74.249579 74.249579 74.249579 -30 79 84.646323 84.646323 84.646323 -30 80 90.249654 90.249654 90.249654 -30 81 44.643029 44.643029 44.643029 -30 82 47.010637 47.010637 47.010637 -30 83 63.505905 63.505905 63.505905 -30 84 53.150729 53.150729 53.150729 -30 85 33.541020 33.541020 33.541020 -30 86 29.546573 29.546573 29.546573 -30 87 69.871310 69.871310 69.871310 -30 88 78.771822 78.771822 78.771822 -30 89 69.892775 69.892775 69.892775 -30 90 37.802116 37.802116 37.802116 -30 91 54.341513 54.341513 54.341513 -30 92 41.593269 41.593269 41.593269 -30 93 37.854986 37.854986 37.854986 -30 94 33.615473 33.615473 33.615473 -30 95 35.468296 35.468296 35.468296 -30 96 34.058773 34.058773 34.058773 -30 97 39.824616 39.824616 39.824616 -30 98 87.664132 87.664132 87.664132 -30 99 66.219333 66.219333 66.219333 -30 100 64.000000 64.000000 64.000000 -30 101 67.119297 67.119297 67.119297 -31 1 52.000000 52.000000 52.000000 -31 2 83.630138 83.630138 83.630138 -31 3 79.881162 79.881162 79.881162 -31 4 85.912746 85.912746 85.912746 -31 5 84.403791 84.403791 84.403791 -31 6 87.458562 87.458562 87.458562 -31 7 83.216585 83.216585 83.216585 -31 8 85.755466 85.755466 85.755466 -31 9 88.481637 88.481637 88.481637 -31 10 78.160092 78.160092 78.160092 -31 11 78.638413 78.638413 78.638413 -31 12 80.622577 80.622577 80.622577 -31 13 81.394103 81.394103 81.394103 -31 14 83.150466 83.150466 83.150466 -31 15 84.344532 84.344532 84.344532 -31 16 86.579443 86.579443 86.579443 -31 17 88.566359 88.566359 88.566359 -31 18 89.269256 89.269256 89.269256 -31 19 50.606324 50.606324 50.606324 -31 20 50.159745 50.159745 50.159745 -31 21 48.383882 48.383882 48.383882 -31 22 54.120237 54.120237 54.120237 -31 23 50.289164 50.289164 50.289164 -31 24 55.901699 55.901699 55.901699 -31 25 52.201533 52.201533 52.201533 -31 26 58.600341 58.600341 58.600341 -31 27 7.000000 7.000000 7.000000 -31 28 8.602325 8.602325 8.602325 -31 29 4.000000 4.000000 4.000000 -31 30 5.385165 5.385165 5.385165 -31 32 5.000000 5.000000 5.000000 -31 33 1.000000 1.000000 1.000000 -31 34 5.830952 5.830952 5.830952 -31 35 5.830952 5.830952 5.830952 -31 36 58.872744 58.872744 58.872744 -31 37 59.615434 59.615434 59.615434 -31 38 56.859476 56.859476 56.859476 -31 39 56.356011 56.356011 56.356011 -31 40 57.306195 57.306195 57.306195 -31 41 61.717096 61.717096 61.717096 -31 42 54.083269 54.083269 54.083269 -31 43 59.908263 59.908263 59.908263 -31 44 64.140471 64.140471 64.140471 -31 45 61.587336 61.587336 61.587336 -31 46 85.603738 85.603738 85.603738 -31 47 86.023253 86.023253 86.023253 -31 48 87.298339 87.298339 87.298339 -31 49 52.354560 52.354560 52.354560 -31 50 49.396356 49.396356 49.396356 -31 51 16.763055 16.763055 16.763055 -31 52 34.481879 34.481879 34.481879 -31 53 63.000000 63.000000 63.000000 -31 54 70.880181 70.880181 70.880181 -31 55 44.598206 44.598206 44.598206 -31 56 65.299311 65.299311 65.299311 -31 57 38.327536 38.327536 38.327536 -31 58 58.215118 58.215118 58.215118 -31 59 75.690158 75.690158 75.690158 -31 60 78.638413 78.638413 78.638413 -31 61 78.924014 78.924014 78.924014 -31 62 55.443665 55.443665 55.443665 -31 63 23.537205 23.537205 23.537205 -31 64 25.079872 25.079872 25.079872 -31 65 43.000000 43.000000 43.000000 -31 66 53.935146 53.935146 53.935146 -31 67 47.518417 47.518417 47.518417 -31 68 26.832816 26.832816 26.832816 -31 69 56.603887 56.603887 56.603887 -31 70 61.098281 61.098281 61.098281 -31 71 65.802736 65.802736 65.802736 -31 72 33.970576 33.970576 33.970576 -31 73 43.011626 43.011626 43.011626 -31 74 91.082380 91.082380 91.082380 -31 75 68.731361 68.731361 68.731361 -31 76 86.683332 86.683332 86.683332 -31 77 33.286634 33.286634 33.286634 -31 78 70.384657 70.384657 70.384657 -31 79 84.118963 84.118963 84.118963 -31 80 90.376988 90.376988 90.376988 -31 81 44.384682 44.384682 44.384682 -31 82 48.010416 48.010416 48.010416 -31 83 62.369865 62.369865 62.369865 -31 84 51.009803 51.009803 51.009803 -31 85 31.016125 31.016125 31.016125 -31 86 25.961510 25.961510 25.961510 -31 87 67.268120 67.268120 67.268120 -31 88 76.236474 76.236474 76.236474 -31 89 69.856997 69.856997 69.856997 -31 90 32.649655 32.649655 32.649655 -31 91 53.758720 53.758720 53.758720 -31 92 40.804412 40.804412 40.804412 -31 93 37.336309 37.336309 37.336309 -31 94 34.828150 34.828150 34.828150 -31 95 35.846897 35.846897 35.846897 -31 96 32.756679 32.756679 32.756679 -31 97 40.804412 40.804412 40.804412 -31 98 84.852814 84.852814 84.852814 -31 99 65.787537 65.787537 65.787537 -31 100 62.201286 62.201286 62.201286 -31 101 67.955868 67.955868 67.955868 -32 1 50.289164 50.289164 50.289164 -32 2 80.430094 80.430094 80.430094 -32 3 77.175126 77.175126 77.175126 -32 4 82.800966 82.800966 82.800966 -32 5 81.541401 81.541401 81.541401 -32 6 84.403791 84.403791 84.403791 -32 7 80.622577 80.622577 80.622577 -32 8 83.240615 83.240615 83.240615 -32 9 85.755466 85.755466 85.755466 -32 10 78.000000 78.000000 78.000000 -32 11 78.160092 78.160092 78.160092 -32 12 80.156098 80.156098 80.156098 -32 13 80.622577 80.622577 80.622577 -32 14 83.000000 83.000000 83.000000 -32 15 83.600239 83.600239 83.600239 -32 16 86.145226 86.145226 86.145226 -32 17 88.141931 88.141931 88.141931 -32 18 88.566359 88.566359 88.566359 -32 19 53.254108 53.254108 53.254108 -32 20 52.354560 52.354560 52.354560 -32 21 50.159745 50.159745 50.159745 -32 22 56.603887 56.603887 56.603887 -32 23 52.000000 52.000000 52.000000 -32 24 58.309519 58.309519 58.309519 -32 25 53.851648 53.851648 53.851648 -32 26 60.901560 60.901560 60.901560 -32 27 8.602325 8.602325 8.602325 -32 28 7.000000 7.000000 7.000000 -32 29 6.403124 6.403124 6.403124 -32 30 2.000000 2.000000 2.000000 -32 31 5.000000 5.000000 5.000000 -32 33 5.099020 5.099020 5.099020 -32 34 10.440307 10.440307 10.440307 -32 35 3.000000 3.000000 3.000000 -32 36 54.230987 54.230987 54.230987 -32 37 55.036352 55.036352 55.036352 -32 38 52.325902 52.325902 52.325902 -32 39 51.971146 51.971146 51.971146 -32 40 53.000000 53.000000 53.000000 -32 41 57.306195 57.306195 57.306195 -32 42 50.000000 50.000000 50.000000 -32 43 55.803226 55.803226 55.803226 -32 44 59.908263 59.908263 59.908263 -32 45 57.428216 57.428216 57.428216 -32 46 82.661962 82.661962 82.661962 -32 47 83.216585 83.216585 83.216585 -32 48 86.579443 86.579443 86.579443 -32 49 54.918121 54.918121 54.918121 -32 50 51.429563 51.429563 51.429563 -32 51 16.000000 16.000000 16.000000 -32 52 36.249138 36.249138 36.249138 -32 53 63.198101 63.198101 63.198101 -32 54 69.634761 69.634761 69.634761 -32 55 41.400483 41.400483 41.400483 -32 56 63.158531 63.158531 63.158531 -32 57 38.000000 38.000000 38.000000 -32 58 58.855756 58.855756 58.855756 -32 59 77.162167 77.162167 77.162167 -32 60 79.429214 79.429214 79.429214 -32 61 77.162167 77.162167 77.162167 -32 62 52.430907 52.430907 52.430907 -32 63 23.000000 23.000000 23.000000 -32 64 27.459060 27.459060 27.459060 -32 65 43.289722 43.289722 43.289722 -32 66 53.235327 53.235327 53.235327 -32 67 47.042534 47.042534 47.042534 -32 68 25.000000 25.000000 25.000000 -32 69 54.120237 54.120237 54.120237 -32 70 59.481089 59.481089 59.481089 -32 71 62.968246 62.968246 62.968246 -32 72 30.479501 30.479501 30.479501 -32 73 39.051248 39.051248 39.051248 -32 74 89.560036 89.560036 89.560036 -32 75 69.634761 69.634761 69.634761 -32 76 88.255311 88.255311 88.255311 -32 77 36.235342 36.235342 36.235342 -32 78 72.449983 72.449983 72.449983 -32 79 82.710338 82.710338 82.710338 -32 80 88.391176 88.391176 88.391176 -32 81 42.720019 42.720019 42.720019 -32 82 45.276926 45.276926 45.276926 -32 83 61.522354 61.522354 61.522354 -32 84 51.156622 51.156622 51.156622 -32 85 31.575307 31.575307 31.575307 -32 86 27.730849 27.730849 27.730849 -32 87 67.896981 67.896981 67.896981 -32 88 76.791927 76.791927 76.791927 -32 89 68.007353 68.007353 68.007353 -32 90 36.619667 36.619667 36.619667 -32 91 52.392748 52.392748 52.392748 -32 92 39.623226 39.623226 39.623226 -32 93 35.902646 35.902646 35.902646 -32 94 31.906112 31.906112 31.906112 -32 95 33.615473 33.615473 33.615473 -32 96 32.062439 32.062439 32.062439 -32 97 38.078866 38.078866 38.078866 -32 98 85.702975 85.702975 85.702975 -32 99 64.288413 64.288413 64.288413 -32 100 62.000000 62.000000 62.000000 -32 101 65.368188 65.368188 65.368188 -33 1 51.078371 51.078371 51.078371 -33 2 82.879430 82.879430 82.879430 -33 3 79.056942 79.056942 79.056942 -33 4 85.146932 85.146932 85.146932 -33 5 83.600239 83.600239 83.600239 -33 6 86.683332 86.683332 86.683332 -33 7 82.377181 82.377181 82.377181 -33 8 84.905830 84.905830 84.905830 -33 9 87.658428 87.658428 87.658428 -33 10 77.162167 77.162167 77.162167 -33 11 77.646635 77.646635 77.646635 -33 12 79.630396 79.630396 79.630396 -33 13 80.411442 80.411442 80.411442 -33 14 82.152298 82.152298 82.152298 -33 15 83.360662 83.360662 83.360662 -33 16 85.586214 85.586214 85.586214 -33 17 87.572827 87.572827 87.572827 -33 18 88.283634 88.283634 88.283634 -33 19 49.739320 49.739320 49.739320 -33 20 49.244289 49.244289 49.244289 -33 21 47.434165 47.434165 47.434165 -33 22 53.235327 53.235327 53.235327 -33 23 49.335586 49.335586 49.335586 -33 24 55.009090 55.009090 55.009090 -33 25 51.244512 51.244512 51.244512 -33 26 57.697487 57.697487 57.697487 -33 27 8.000000 8.000000 8.000000 -33 28 9.433981 9.433981 9.433981 -33 29 5.000000 5.000000 5.000000 -33 30 5.830952 5.830952 5.830952 -33 31 1.000000 1.000000 1.000000 -33 32 5.099020 5.099020 5.099020 -33 34 5.385165 5.385165 5.385165 -33 35 5.385165 5.385165 5.385165 -33 36 58.523500 58.523500 58.523500 -33 37 59.236813 59.236813 59.236813 -33 38 56.462377 56.462377 56.462377 -33 39 55.901699 55.901699 55.901699 -33 40 56.824291 56.824291 56.824291 -33 41 61.269895 61.269895 61.269895 -33 42 53.535035 53.535035 53.535035 -33 43 59.363288 59.363288 59.363288 -33 44 63.631753 63.631753 63.631753 -33 45 61.057350 61.057350 61.057350 -33 46 84.811556 84.811556 84.811556 -33 47 85.211502 85.211502 85.211502 -33 48 86.313383 86.313383 86.313383 -33 49 51.478151 51.478151 51.478151 -33 50 48.466483 48.466483 48.466483 -33 51 15.811388 15.811388 15.811388 -33 52 33.526109 33.526109 33.526109 -33 53 62.000000 62.000000 62.000000 -33 54 69.921384 69.921384 69.921384 -33 55 43.863424 43.863424 43.863424 -33 56 64.412732 64.412732 64.412732 -33 57 37.336309 37.336309 37.336309 -33 58 57.218878 57.218878 57.218878 -33 59 74.726167 74.726167 74.726167 -33 60 77.646635 77.646635 77.646635 -33 61 78.000000 78.000000 78.000000 -33 62 54.671748 54.671748 54.671748 -33 63 22.561028 22.561028 22.561028 -33 64 24.166092 24.166092 24.166092 -33 65 42.000000 42.000000 42.000000 -33 66 52.952809 52.952809 52.952809 -33 67 46.529560 46.529560 46.529560 -33 68 25.942244 25.942244 25.942244 -33 69 55.758407 55.758407 55.758407 -33 70 60.166436 60.166436 60.166436 -33 71 65.000000 65.000000 65.000000 -33 72 33.301652 33.301652 33.301652 -33 73 42.438190 42.438190 42.438190 -33 74 90.138782 90.138782 90.138782 -33 75 67.742158 67.742158 67.742158 -33 76 85.726309 85.726309 85.726309 -33 77 32.449961 32.449961 32.449961 -33 78 69.462220 69.462220 69.462220 -33 79 83.168504 83.168504 83.168504 -33 80 89.470666 89.470666 89.470666 -33 81 43.462628 43.462628 43.462628 -33 82 47.201695 47.201695 47.201695 -33 83 61.392182 61.392182 61.392182 -33 84 50.009999 50.009999 50.009999 -33 85 30.016662 30.016662 30.016662 -33 86 25.000000 25.000000 25.000000 -33 87 66.272166 66.272166 66.272166 -33 88 75.239617 75.239617 75.239617 -33 89 68.942005 68.942005 68.942005 -33 90 32.015621 32.015621 32.015621 -33 91 52.810984 52.810984 52.810984 -33 92 39.849718 39.849718 39.849718 -33 93 36.400549 36.400549 36.400549 -33 94 34.058773 34.058773 34.058773 -33 95 34.985711 34.985711 34.985711 -33 96 31.780497 31.780497 31.780497 -33 97 40.000000 40.000000 40.000000 -33 98 83.862983 83.862983 83.862983 -33 99 64.845971 64.845971 64.845971 -33 100 61.204575 61.204575 61.204575 -33 101 67.119297 67.119297 67.119297 -34 1 51.478151 51.478151 51.478151 -34 2 84.852814 84.852814 84.852814 -34 3 80.430094 80.430094 80.430094 -34 4 87.000000 87.000000 87.000000 -34 5 85.146932 85.146932 85.146932 -34 6 88.459030 88.459030 88.459030 -34 7 83.600239 83.600239 83.600239 -34 8 86.023253 86.023253 86.023253 -34 9 89.022469 89.022469 89.022469 -34 10 75.663730 75.663730 75.663730 -34 11 76.485293 76.485293 76.485293 -34 12 78.447435 78.447435 78.447435 -34 13 79.555012 79.555012 79.555012 -34 14 80.622577 80.622577 80.622577 -34 15 82.462113 82.462113 82.462113 -34 16 84.344532 84.344532 84.344532 -34 17 86.313383 86.313383 86.313383 -34 18 87.321246 87.321246 87.321246 -34 19 45.617979 45.617979 45.617979 -34 20 45.541190 45.541190 45.541190 -34 21 44.147480 44.147480 44.147480 -34 22 49.244289 49.244289 49.244289 -34 23 46.097722 46.097722 46.097722 -34 24 51.078371 51.078371 51.078371 -34 25 48.052055 48.052055 48.052055 -34 26 53.851648 53.851648 53.851648 -34 27 11.180340 11.180340 11.180340 -34 28 14.142136 14.142136 14.142136 -34 29 8.602325 8.602325 8.602325 -34 30 11.180340 11.180340 11.180340 -34 31 5.830952 5.830952 5.830952 -34 32 10.440307 10.440307 10.440307 -34 33 5.385165 5.385165 5.385165 -34 35 10.000000 10.000000 10.000000 -34 36 62.641839 62.641839 62.641839 -34 37 63.245553 63.245553 63.245553 -34 38 60.406953 60.406953 60.406953 -34 39 59.615434 59.615434 59.615434 -34 40 60.415230 60.415230 60.415230 -34 41 65.000000 65.000000 65.000000 -34 42 56.824291 56.824291 56.824291 -34 43 62.649820 62.649820 62.649820 -34 44 67.082039 67.082039 67.082039 -34 45 64.412732 64.412732 64.412732 -34 46 86.452299 86.452299 86.452299 -34 47 86.683332 86.683332 86.683332 -34 48 85.375641 85.375641 85.375641 -34 49 47.423623 47.423623 47.423623 -34 50 44.922155 44.922155 44.922155 -34 51 16.401219 16.401219 16.401219 -34 52 30.413813 30.413813 30.413813 -34 53 60.207973 60.207973 60.207973 -34 54 69.641941 69.641941 69.641941 -34 55 46.097722 46.097722 46.097722 -34 56 65.192024 65.192024 65.192024 -34 57 36.400549 36.400549 36.400549 -34 58 55.000000 55.000000 55.000000 -34 59 71.589105 71.589105 71.589105 -34 60 75.166482 75.166482 75.166482 -34 61 78.262379 78.262379 78.262379 -34 62 56.568542 56.568542 56.568542 -34 63 22.360680 22.360680 22.360680 -34 64 20.615528 20.615528 20.615528 -34 65 40.311289 40.311289 40.311289 -34 66 52.201533 52.201533 52.201533 -34 67 45.607017 45.607017 45.607017 -34 68 27.018512 27.018512 27.018512 -34 69 57.008771 57.008771 57.008771 -34 70 60.373835 60.373835 60.373835 -34 71 66.603303 66.603303 66.603303 -34 72 36.055513 36.055513 36.055513 -34 73 45.650849 45.650849 45.650849 -34 74 90.077744 90.077744 90.077744 -34 75 65.192024 65.192024 65.192024 -34 76 82.462113 82.462113 82.462113 -34 77 28.178006 28.178006 28.178006 -34 78 65.787537 65.787537 65.787537 -34 79 83.006024 83.006024 83.006024 -34 80 89.944427 89.944427 89.944427 -34 81 43.908997 43.908997 43.908997 -34 82 48.836462 48.836462 48.836462 -34 83 60.728906 60.728906 60.728906 -34 84 48.373546 48.373546 48.373546 -34 85 28.284271 28.284271 28.284271 -34 86 22.090722 22.090722 22.090722 -34 87 64.007812 64.007812 64.007812 -34 88 73.006849 73.006849 73.006849 -34 89 69.354164 69.354164 69.354164 -34 90 26.907248 26.907248 26.907248 -34 91 52.801515 52.801515 52.801515 -34 92 39.812058 39.812058 39.812058 -34 93 36.715120 36.715120 36.715120 -34 94 36.124784 36.124784 36.124784 -34 95 36.235342 36.235342 36.235342 -34 96 31.384710 31.384710 31.384710 -34 97 41.725292 41.725292 41.725292 -34 98 81.301906 81.301906 81.301906 -34 99 64.884513 64.884513 64.884513 -34 100 59.841457 59.841457 59.841457 -34 101 68.410526 68.410526 68.410526 -35 1 47.434165 47.434165 47.434165 -35 2 78.102497 78.102497 78.102497 -35 3 74.625733 74.625733 74.625733 -35 4 80.430094 80.430094 80.430094 -35 5 79.056942 79.056942 79.056942 -35 6 82.006097 82.006097 82.006097 -35 7 78.032045 78.032045 78.032045 -35 8 80.622577 80.622577 80.622577 -35 9 83.216585 83.216585 83.216585 -35 10 75.000000 75.000000 75.000000 -35 11 75.166482 75.166482 75.166482 -35 12 77.162167 77.162167 77.162167 -35 13 77.646635 77.646635 77.646635 -35 14 80.000000 80.000000 80.000000 -35 15 80.622577 80.622577 80.622577 -35 16 83.150466 83.150466 83.150466 -35 17 85.146932 85.146932 85.146932 -35 18 85.586214 85.586214 85.586214 -35 19 50.803543 50.803543 50.803543 -35 20 49.739320 49.739320 49.739320 -35 21 47.423623 47.423623 47.423623 -35 22 54.083269 54.083269 54.083269 -35 23 49.244289 49.244289 49.244289 -35 24 55.758407 55.758407 55.758407 -35 25 51.078371 51.078371 51.078371 -35 26 58.309519 58.309519 58.309519 -35 27 11.180340 11.180340 11.180340 -35 28 10.000000 10.000000 10.000000 -35 29 8.602325 8.602325 8.602325 -35 30 5.000000 5.000000 5.000000 -35 31 5.830952 5.830952 5.830952 -35 32 3.000000 3.000000 3.000000 -35 33 5.385165 5.385165 5.385165 -35 34 10.000000 10.000000 10.000000 -35 36 53.141321 53.141321 53.141321 -35 37 53.851648 53.851648 53.851648 -35 38 51.078371 51.078371 51.078371 -35 39 50.537115 50.537115 50.537115 -35 40 51.478151 51.478151 51.478151 -35 41 55.901699 55.901699 55.901699 -35 42 48.259714 48.259714 48.259714 -35 43 54.083269 54.083269 54.083269 -35 44 58.309519 58.309519 58.309519 -35 45 55.758407 55.758407 55.758407 -35 46 80.212219 80.212219 80.212219 -35 47 80.709355 80.709355 80.709355 -35 48 83.600239 83.600239 83.600239 -35 49 52.430907 52.430907 52.430907 -35 50 48.764741 48.764741 48.764741 -35 51 13.000000 13.000000 13.000000 -35 52 33.541020 33.541020 33.541020 -35 53 60.207973 60.207973 60.207973 -35 54 66.708320 66.708320 66.708320 -35 55 39.051248 39.051248 39.051248 -35 56 60.415230 60.415230 60.415230 -35 57 35.000000 35.000000 35.000000 -35 58 55.901699 55.901699 55.901699 -35 59 74.330344 74.330344 74.330344 -35 60 76.485293 76.485293 76.485293 -35 61 74.330344 74.330344 74.330344 -35 62 50.000000 50.000000 50.000000 -35 63 20.000000 20.000000 20.000000 -35 64 25.000000 25.000000 25.000000 -35 65 40.311289 40.311289 40.311289 -35 66 50.249378 50.249378 50.249378 -35 67 44.045431 44.045431 44.045431 -35 68 22.135944 22.135944 22.135944 -35 69 51.478151 51.478151 51.478151 -35 70 56.612719 56.612719 56.612719 -35 71 60.464866 60.464866 60.464866 -35 72 28.284271 28.284271 28.284271 -35 73 37.202150 37.202150 37.202150 -35 74 86.683332 86.683332 86.683332 -35 75 66.708320 66.708320 66.708320 -35 76 85.440037 85.440037 85.440037 -35 77 33.970576 33.970576 33.970576 -35 78 69.771054 69.771054 69.771054 -35 79 79.812280 79.812280 79.812280 -35 80 85.615419 85.615419 85.615419 -35 81 39.849718 39.849718 39.849718 -35 82 42.720019 42.720019 42.720019 -35 83 58.549125 58.549125 58.549125 -35 84 48.166378 48.166378 48.166378 -35 85 28.635642 28.635642 28.635642 -35 86 25.059928 25.059928 25.059928 -35 87 64.938432 64.938432 64.938432 -35 88 73.824115 73.824115 73.824115 -35 89 65.192024 65.192024 65.192024 -35 90 34.985711 34.985711 34.985711 -35 91 49.477268 49.477268 49.477268 -35 92 36.674242 36.674242 36.674242 -35 93 32.984845 32.984845 32.984845 -35 94 29.410882 29.410882 29.410882 -35 95 30.870698 30.870698 30.870698 -35 96 29.068884 29.068884 29.068884 -35 97 35.510562 35.510562 35.510562 -35 98 82.764727 82.764727 82.764727 -35 99 61.400326 61.400326 61.400326 -35 100 59.000000 59.000000 59.000000 -35 101 62.769419 62.769419 62.769419 -36 1 44.204072 44.204072 44.204072 -36 2 42.000000 42.000000 42.000000 -36 3 46.097722 46.097722 46.097722 -36 4 45.000000 45.000000 45.000000 -36 5 47.265209 47.265209 47.265209 -36 6 47.000000 47.000000 47.000000 -36 7 50.009999 50.009999 50.009999 -36 8 52.952809 52.952809 52.952809 -36 9 52.239832 52.239832 52.239832 -36 10 75.822160 75.822160 75.822160 -36 11 72.622311 72.622311 72.622311 -36 12 74.202426 74.202426 74.202426 -36 13 71.281134 71.281134 71.281134 -36 14 79.649231 79.649231 79.649231 -36 15 73.783467 73.783467 73.783467 -36 16 79.056942 79.056942 79.056942 -36 17 80.709355 80.709355 80.709355 -36 18 78.032045 78.032045 78.032045 -36 19 83.240615 83.240615 83.240615 -36 20 79.056942 79.056942 79.056942 -36 21 74.330344 74.330344 74.330344 -36 22 84.433406 84.433406 84.433406 -36 23 75.026662 75.026662 75.026662 -36 24 85.094066 85.094066 85.094066 -36 25 75.769387 75.769387 75.769387 -36 26 86.162637 86.162637 86.162637 -36 27 61.717096 61.717096 61.717096 -36 28 57.306195 57.306195 57.306195 -36 29 60.415230 60.415230 60.415230 -36 30 55.036352 55.036352 55.036352 -36 31 58.872744 58.872744 58.872744 -36 32 54.230987 54.230987 54.230987 -36 33 58.523500 58.523500 58.523500 -36 34 62.641839 62.641839 62.641839 -36 35 53.141321 53.141321 53.141321 -36 37 2.000000 2.000000 2.000000 -36 38 3.605551 3.605551 3.605551 -36 39 7.071068 7.071068 7.071068 -36 40 8.602325 8.602325 8.602325 -36 41 7.000000 7.000000 7.000000 -36 42 13.453624 13.453624 13.453624 -36 43 13.000000 13.000000 13.000000 -36 44 12.000000 12.000000 12.000000 -36 45 12.369317 12.369317 12.369317 -36 46 47.095647 47.095647 47.095647 -36 47 49.254441 49.254441 49.254441 -36 48 76.321688 76.321688 76.321688 -36 49 83.815273 83.815273 83.815273 -36 50 77.162167 77.162167 77.162167 -36 51 50.249378 50.249378 50.249378 -36 52 66.098411 66.098411 66.098411 -36 53 69.202601 69.202601 69.202601 -36 54 58.600341 58.600341 58.600341 -36 55 27.730849 27.730849 27.730849 -36 56 44.654227 44.654227 44.654227 -36 57 52.810984 52.810984 52.810984 -36 58 70.491134 70.491134 70.491134 -36 59 91.263355 91.263355 91.263355 -36 60 86.452299 86.452299 86.452299 -36 61 57.697487 57.697487 57.697487 -36 62 29.732137 29.732137 29.732137 -36 63 50.039984 50.039984 50.039984 -36 64 65.030762 65.030762 65.030762 -36 65 59.236813 59.236813 59.236813 -36 66 55.217751 55.217751 55.217751 -36 67 54.589376 54.589376 54.589376 -36 68 43.104524 43.104524 43.104524 -36 69 36.796739 36.796739 36.796739 -36 70 48.836462 48.836462 48.836462 -36 71 35.777088 35.777088 35.777088 -36 72 30.066593 30.066593 30.066593 -36 73 20.396078 20.396078 20.396078 -36 74 69.641941 69.641941 69.641941 -36 75 80.212219 80.212219 80.212219 -36 76 101.212647 101.212647 101.212647 -36 77 73.334848 73.334848 73.334848 -36 78 93.059121 93.059121 93.059121 -36 79 65.741920 65.741920 65.741920 -36 80 63.324561 63.324561 63.324561 -36 81 42.941821 42.941821 42.941821 -36 82 32.449961 32.449961 32.449961 -36 83 58.000000 58.000000 58.000000 -36 84 61.773781 61.773781 61.773781 -36 85 56.885851 56.885851 56.885851 -36 86 62.128898 62.128898 62.128898 -36 87 76.400262 76.400262 76.400262 -36 88 82.134037 82.134037 82.134037 -36 89 50.774009 50.774009 50.774009 -36 90 80.000000 80.000000 80.000000 -36 91 48.414874 48.414874 48.414874 -36 92 46.615448 46.615448 46.615448 -36 93 44.271887 44.271887 44.271887 -36 94 33.541020 33.541020 33.541020 -36 95 38.327536 38.327536 38.327536 -36 96 49.244289 49.244289 49.244289 -36 97 33.241540 33.241540 33.241540 -36 98 91.967386 91.967386 91.967386 -36 99 52.630789 52.630789 52.630789 -36 100 64.660653 64.660653 64.660653 -36 101 40.249224 40.249224 40.249224 -37 1 43.011626 43.011626 43.011626 -37 2 40.000000 40.000000 40.000000 -37 3 44.147480 44.147480 44.147480 -37 4 43.000000 43.000000 43.000000 -37 5 45.276926 45.276926 45.276926 -37 6 45.000000 45.000000 45.000000 -37 7 48.052055 48.052055 48.052055 -37 8 50.990195 50.990195 50.990195 -37 9 50.249378 50.249378 50.249378 -37 10 74.330344 74.330344 74.330344 -37 11 71.063352 71.063352 71.063352 -37 12 72.622311 72.622311 72.622311 -37 13 69.634761 69.634761 69.634761 -37 14 78.102497 78.102497 78.102497 -37 15 72.111026 72.111026 72.111026 -37 16 77.420927 77.420927 77.420927 -37 17 79.056942 79.056942 79.056942 -37 18 76.321688 76.321688 76.321688 -37 19 82.710338 82.710338 82.710338 -37 20 78.447435 78.447435 78.447435 -37 21 73.681748 73.681748 73.681748 -37 22 83.815273 83.815273 83.815273 -37 23 74.330344 74.330344 74.330344 -37 24 84.433406 84.433406 84.433406 -37 25 75.026662 75.026662 75.026662 -37 26 85.440037 85.440037 85.440037 -37 27 62.649820 62.649820 62.649820 -37 28 58.309519 58.309519 58.309519 -37 29 61.269895 61.269895 61.269895 -37 30 55.901699 55.901699 55.901699 -37 31 59.615434 59.615434 59.615434 -37 32 55.036352 55.036352 55.036352 -37 33 59.236813 59.236813 59.236813 -37 34 63.245553 63.245553 63.245553 -37 35 53.851648 53.851648 53.851648 -37 36 2.000000 2.000000 2.000000 -37 38 3.000000 3.000000 3.000000 -37 39 5.830952 5.830952 5.830952 -37 40 7.071068 7.071068 7.071068 -37 41 5.000000 5.000000 5.000000 -37 42 12.206556 12.206556 12.206556 -37 43 11.180340 11.180340 11.180340 -37 44 10.000000 10.000000 10.000000 -37 45 10.440307 10.440307 10.440307 -37 46 45.099889 45.099889 45.099889 -37 47 47.265209 47.265209 47.265209 -37 48 74.625733 74.625733 74.625733 -37 49 83.240615 83.240615 83.240615 -37 50 76.537572 76.537572 76.537572 -37 51 50.487622 50.487622 50.487622 -37 52 65.764732 65.764732 65.764732 -37 53 68.007353 68.007353 68.007353 -37 54 57.008771 57.008771 57.008771 -37 55 26.925824 26.925824 26.925824 -37 56 43.011626 43.011626 43.011626 -37 57 52.201533 52.201533 52.201533 -37 58 69.462220 69.462220 69.462220 -37 59 90.138782 90.138782 90.138782 -37 60 85.146932 85.146932 85.146932 -37 61 55.901699 55.901699 55.901699 -37 62 28.284271 28.284271 28.284271 -37 63 50.000000 50.000000 50.000000 -37 64 65.000000 65.000000 65.000000 -37 65 58.523500 58.523500 58.523500 -37 66 54.083269 54.083269 54.083269 -37 67 53.665631 53.665631 53.665631 -37 68 43.011626 43.011626 43.011626 -37 69 35.355339 35.355339 35.355339 -37 70 47.381431 47.381431 47.381431 -37 71 34.000000 34.000000 34.000000 -37 72 30.000000 30.000000 30.000000 -37 73 20.099751 20.099751 20.099751 -37 74 67.779053 67.779053 67.779053 -37 75 79.056942 79.056942 79.056942 -37 76 100.000000 100.000000 100.000000 -37 77 73.171033 73.171033 73.171033 -37 78 92.130342 92.130342 92.130342 -37 79 63.953108 63.953108 63.953108 -37 80 61.400326 61.400326 61.400326 -37 81 42.047592 42.047592 42.047592 -37 82 31.384710 31.384710 31.384710 -37 83 56.639209 56.639209 56.639209 -37 84 60.827625 60.827625 60.827625 -37 85 56.568542 56.568542 56.568542 -37 86 62.032250 62.032250 62.032250 -37 87 75.213031 75.213031 75.213031 -37 88 80.808415 80.808415 80.808415 -37 89 49.091751 49.091751 49.091751 -37 90 80.024996 80.024996 80.024996 -37 91 47.201695 47.201695 47.201695 -37 92 45.880279 45.880279 45.880279 -37 93 43.680659 43.680659 43.680659 -37 94 33.241540 33.241540 33.241540 -37 95 37.854986 37.854986 37.854986 -37 96 48.836462 48.836462 48.836462 -37 97 32.572995 32.572995 32.572995 -37 98 90.609050 90.609050 90.609050 -37 99 51.088159 51.088159 51.088159 -37 100 63.411355 63.411355 63.411355 -37 101 38.470768 38.470768 38.470768 -38 1 40.607881 40.607881 40.607881 -38 2 40.112342 40.112342 40.112342 -38 3 43.566042 43.566042 43.566042 -38 4 43.104524 43.104524 43.104524 -38 5 45.044423 45.044423 45.044423 -38 6 45.099889 45.099889 45.099889 -38 7 47.518417 47.518417 47.518417 -38 8 50.487622 50.487622 50.487622 -38 9 50.039984 50.039984 50.039984 -38 10 72.346389 72.346389 72.346389 -38 11 69.202601 69.202601 69.202601 -38 12 70.802542 70.802542 70.802542 -38 13 67.955868 67.955868 67.955868 -38 14 76.216796 76.216796 76.216796 -38 15 70.491134 70.491134 70.491134 -38 16 75.716577 75.716577 75.716577 -38 17 77.388630 77.388630 77.388630 -38 18 74.793048 74.793048 74.793048 -38 19 79.812280 79.812280 79.812280 -38 20 75.584390 75.584390 75.584390 -38 21 70.837843 70.837843 70.837843 -38 22 80.956779 80.956779 80.956779 -38 23 71.512237 71.512237 71.512237 -38 24 81.596569 81.596569 81.596569 -38 25 72.235725 72.235725 72.235725 -38 26 82.637764 82.637764 82.637764 -38 27 60.033324 60.033324 60.033324 -38 28 55.758407 55.758407 55.758407 -38 29 58.591808 58.591808 58.591808 -38 30 53.235327 53.235327 53.235327 -38 31 56.859476 56.859476 56.859476 -38 32 52.325902 52.325902 52.325902 -38 33 56.462377 56.462377 56.462377 -38 34 60.406953 60.406953 60.406953 -38 35 51.078371 51.078371 51.078371 -38 36 3.605551 3.605551 3.605551 -38 37 3.000000 3.000000 3.000000 -38 39 3.605551 3.605551 3.605551 -38 40 5.385165 5.385165 5.385165 -38 41 5.830952 5.830952 5.830952 -38 42 9.899495 9.899495 9.899495 -38 43 10.198039 10.198039 10.198039 -38 44 10.440307 10.440307 10.440307 -38 45 10.000000 10.000000 10.000000 -38 46 45.000000 45.000000 45.000000 -38 47 47.042534 47.042534 47.042534 -38 48 73.061618 73.061618 73.061618 -38 49 80.361682 80.361682 80.361682 -38 50 73.681748 73.681748 73.681748 -38 51 47.518417 47.518417 47.518417 -38 52 62.801274 62.801274 62.801274 -38 53 65.604878 65.604878 65.604878 -38 54 55.217751 55.217751 55.217751 -38 55 24.166092 24.166092 24.166092 -38 56 41.340053 41.340053 41.340053 -38 57 49.335586 49.335586 49.335586 -38 58 66.887966 66.887966 66.887966 -38 59 87.658428 87.658428 87.658428 -38 60 82.879430 82.879430 82.879430 -38 61 54.626001 54.626001 54.626001 -38 62 26.248809 26.248809 26.248809 -38 63 47.000000 47.000000 47.000000 -38 64 62.000000 62.000000 62.000000 -38 65 55.713553 55.713553 55.713553 -38 66 51.613952 51.613952 51.613952 -38 67 51.000000 51.000000 51.000000 -38 68 40.012498 40.012498 40.012498 -38 69 33.301652 33.301652 33.301652 -38 70 45.343136 45.343136 45.343136 -38 71 32.695565 32.695565 32.695565 -38 72 27.000000 27.000000 27.000000 -38 73 17.117243 17.117243 17.117243 -38 74 66.730802 66.730802 66.730802 -38 75 76.609399 76.609399 76.609399 -38 76 97.616597 97.616597 97.616597 -38 77 70.178344 70.178344 70.178344 -38 78 89.470666 89.470666 89.470666 -38 79 62.649820 62.649820 62.649820 -38 80 60.638272 60.638272 60.638272 -38 81 39.357337 39.357337 39.357337 -38 82 28.844410 28.844410 28.844410 -38 83 54.451814 54.451814 54.451814 -38 84 58.180753 58.180753 58.180753 -38 85 53.600373 53.600373 53.600373 -38 86 59.033889 59.033889 59.033889 -38 87 72.801099 72.801099 72.801099 -38 88 78.568442 78.568442 78.568442 -38 89 47.507894 47.507894 47.507894 -38 90 77.025970 77.025970 77.025970 -38 91 44.821870 44.821870 44.821870 -38 92 43.081318 43.081318 43.081318 -38 93 40.804412 40.804412 40.804412 -38 94 30.265492 30.265492 30.265492 -38 95 34.928498 34.928498 34.928498 -38 96 45.891176 45.891176 45.891176 -38 97 29.732137 29.732137 29.732137 -38 98 88.413800 88.413800 88.413800 -38 99 49.203658 49.203658 49.203658 -38 100 61.073726 61.073726 61.073726 -38 101 37.161808 37.161808 37.161808 -39 1 37.202150 37.202150 37.202150 -39 2 37.336309 37.336309 37.336309 -39 3 40.311289 40.311289 40.311289 -39 4 40.311289 40.311289 40.311289 -39 5 42.000000 42.000000 42.000000 -39 6 42.296572 42.296572 42.296572 -39 7 44.283180 44.283180 44.283180 -39 8 47.265209 47.265209 47.265209 -39 9 47.000000 47.000000 47.000000 -39 10 68.767725 68.767725 68.767725 -39 11 65.604878 65.604878 65.604878 -39 12 67.201190 67.201190 67.201190 -39 13 64.350602 64.350602 64.350602 -39 14 72.622311 72.622311 72.622311 -39 15 66.887966 66.887966 66.887966 -39 16 72.111026 72.111026 72.111026 -39 17 73.783467 73.783467 73.783467 -39 18 71.196910 71.196910 71.196910 -39 19 77.129761 77.129761 77.129761 -39 20 72.801099 72.801099 72.801099 -39 21 68.007353 68.007353 68.007353 -39 22 78.160092 78.160092 78.160092 -39 23 68.622154 68.622154 68.622154 -39 24 78.746428 78.746428 78.746428 -39 25 69.289249 69.289249 69.289249 -39 26 79.711982 79.711982 79.711982 -39 27 59.908263 59.908263 59.908263 -39 28 55.803226 55.803226 55.803226 -39 29 58.309519 58.309519 58.309519 -39 30 53.000000 53.000000 53.000000 -39 31 56.356011 56.356011 56.356011 -39 32 51.971146 51.971146 51.971146 -39 33 55.901699 55.901699 55.901699 -39 34 59.615434 59.615434 59.615434 -39 35 50.537115 50.537115 50.537115 -39 36 7.071068 7.071068 7.071068 -39 37 5.830952 5.830952 5.830952 -39 38 3.605551 3.605551 3.605551 -39 40 2.000000 2.000000 2.000000 -39 41 5.385165 5.385165 5.385165 -39 42 6.403124 6.403124 6.403124 -39 43 7.000000 7.000000 7.000000 -39 44 8.602325 8.602325 8.602325 -39 45 7.280110 7.280110 7.280110 -39 46 42.047592 42.047592 42.047592 -39 47 44.000000 44.000000 44.000000 -39 48 69.462220 69.462220 69.462220 -39 49 77.620873 77.620873 77.620873 -39 50 70.880181 70.880181 70.880181 -39 51 46.097722 46.097722 46.097722 -39 52 60.406953 60.406953 60.406953 -39 53 62.201286 62.201286 62.201286 -39 54 51.613952 51.613952 51.613952 -39 55 21.189620 21.189620 21.189620 -39 56 37.735925 37.735925 37.735925 -39 57 46.572524 46.572524 46.572524 -39 58 63.631753 63.631753 63.631753 -39 59 84.314886 84.314886 84.314886 -39 60 79.397733 79.397733 79.397733 -39 61 51.078371 51.078371 51.078371 -39 62 22.671568 22.671568 22.671568 -39 63 45.099889 45.099889 45.099889 -39 64 60.074953 60.074953 60.074953 -39 65 52.810984 52.810984 52.810984 -39 66 48.259714 48.259714 48.259714 -39 67 47.853944 47.853944 47.853944 -39 68 38.052595 38.052595 38.052595 -39 69 29.732137 29.732137 29.732137 -39 70 41.773197 41.773197 41.773197 -39 71 29.154759 29.154759 29.154759 -39 72 25.179357 25.179357 25.179357 -39 73 15.033296 15.033296 15.033296 -39 74 63.245553 63.245553 63.245553 -39 75 73.239334 73.239334 73.239334 -39 76 94.201911 94.201911 94.201911 -39 77 68.029405 68.029405 68.029405 -39 78 86.313383 86.313383 86.313383 -39 79 59.093147 59.093147 59.093147 -39 80 57.271284 57.271284 57.271284 -39 81 36.249138 36.249138 36.249138 -39 82 25.553865 25.553865 25.553865 -39 83 50.931326 50.931326 50.931326 -39 84 55.009090 55.009090 55.009090 -39 85 51.244512 51.244512 51.244512 -39 86 57.008771 57.008771 57.008771 -39 87 69.404611 69.404611 69.404611 -39 88 75.073298 75.073298 75.073298 -39 89 43.908997 43.908997 43.908997 -39 90 75.166482 75.166482 75.166482 -39 91 41.400483 41.400483 41.400483 -39 92 40.162171 40.162171 40.162171 -39 93 38.078866 38.078866 38.078866 -39 94 28.017851 28.017851 28.017851 -39 95 32.388269 32.388269 32.388269 -39 96 43.416587 43.416587 43.416587 -39 97 26.925824 26.925824 26.925824 -39 98 84.899941 84.899941 84.899941 -39 99 45.607017 45.607017 45.607017 -39 100 57.628118 57.628118 57.628118 -39 101 33.615473 33.615473 33.615473 -40 1 36.055513 36.055513 36.055513 -40 2 35.355339 35.355339 35.355339 -40 3 38.327536 38.327536 38.327536 -40 4 38.327536 38.327536 38.327536 -40 5 40.000000 40.000000 40.000000 -40 6 40.311289 40.311289 40.311289 -40 7 42.296572 42.296572 42.296572 -40 8 45.276926 45.276926 45.276926 -40 9 45.000000 45.000000 45.000000 -40 10 67.268120 67.268120 67.268120 -40 11 64.031242 64.031242 64.031242 -40 12 65.604878 65.604878 65.604878 -40 13 62.681736 62.681736 62.681736 -40 14 71.063352 71.063352 71.063352 -40 15 65.192024 65.192024 65.192024 -40 16 70.455660 70.455660 70.455660 -40 17 72.111026 72.111026 72.111026 -40 18 69.462220 69.462220 69.462220 -40 19 76.687678 76.687678 76.687678 -40 20 72.277244 72.277244 72.277244 -40 21 67.446275 67.446275 67.446275 -40 22 77.620873 77.620873 77.620873 -40 23 68.007353 68.007353 68.007353 -40 24 78.160092 78.160092 78.160092 -40 25 68.622154 68.622154 68.622154 -40 26 79.056942 79.056942 79.056942 -40 27 61.032778 61.032778 61.032778 -40 28 57.008771 57.008771 57.008771 -40 29 59.363288 59.363288 59.363288 -40 30 54.083269 54.083269 54.083269 -40 31 57.306195 57.306195 57.306195 -40 32 53.000000 53.000000 53.000000 -40 33 56.824291 56.824291 56.824291 -40 34 60.415230 60.415230 60.415230 -40 35 51.478151 51.478151 51.478151 -40 36 8.602325 8.602325 8.602325 -40 37 7.071068 7.071068 7.071068 -40 38 5.385165 5.385165 5.385165 -40 39 2.000000 2.000000 2.000000 -40 41 5.000000 5.000000 5.000000 -40 42 5.385165 5.385165 5.385165 -40 43 5.000000 5.000000 5.000000 -40 44 7.071068 7.071068 7.071068 -40 45 5.385165 5.385165 5.385165 -40 46 40.049969 40.049969 40.049969 -40 47 42.000000 42.000000 42.000000 -40 48 67.742158 67.742158 67.742158 -40 49 77.129761 77.129761 77.129761 -40 50 70.342022 70.342022 70.342022 -40 51 46.572524 46.572524 46.572524 -40 52 60.207973 60.207973 60.207973 -40 53 61.032778 61.032778 61.032778 -40 54 50.000000 50.000000 50.000000 -40 55 20.615528 20.615528 20.615528 -40 56 36.055513 36.055513 36.055513 -40 57 46.097722 46.097722 46.097722 -40 58 62.649820 62.649820 62.649820 -40 59 83.216585 83.216585 83.216585 -40 60 78.102497 78.102497 78.102497 -40 61 49.244289 49.244289 49.244289 -40 62 21.213203 21.213203 21.213203 -40 63 45.276926 45.276926 45.276926 -40 64 60.207973 60.207973 60.207973 -40 65 52.201533 52.201533 52.201533 -40 66 47.169906 47.169906 47.169906 -40 67 47.010637 47.010637 47.010637 -40 68 38.209946 38.209946 38.209946 -40 69 28.284271 28.284271 28.284271 -40 70 40.311289 40.311289 40.311289 -40 71 27.313001 27.313001 27.313001 -40 72 25.495098 25.495098 25.495098 -40 73 15.297059 15.297059 15.297059 -40 74 61.351447 61.351447 61.351447 -40 75 72.111026 72.111026 72.111026 -40 76 93.005376 93.005376 93.005376 -40 77 68.000000 68.000000 68.000000 -40 78 85.428333 85.428333 85.428333 -40 79 57.271284 57.271284 57.271284 -40 80 55.317267 55.317267 55.317267 -40 81 35.468296 35.468296 35.468296 -40 82 24.596748 24.596748 24.596748 -40 83 49.578221 49.578221 49.578221 -40 84 54.129474 54.129474 54.129474 -40 85 51.088159 51.088159 51.088159 -40 86 57.078893 57.078893 57.078893 -40 87 68.242216 68.242216 68.242216 -40 88 73.756356 73.756356 73.756356 -40 89 42.190046 42.190046 42.190046 -40 90 75.325958 75.325958 75.325958 -40 91 40.224371 40.224371 40.224371 -40 92 39.560081 39.560081 39.560081 -40 93 37.656341 37.656341 37.656341 -40 94 28.017851 28.017851 28.017851 -40 95 32.140317 32.140317 32.140317 -40 96 43.185646 43.185646 43.185646 -40 97 26.476405 26.476405 26.476405 -40 98 83.546394 83.546394 83.546394 -40 99 44.045431 44.045431 44.045431 -40 100 56.400355 56.400355 56.400355 -40 101 31.780497 31.780497 31.780497 -41 1 40.311289 40.311289 40.311289 -41 2 35.000000 35.000000 35.000000 -41 3 39.293765 39.293765 39.293765 -41 4 38.000000 38.000000 38.000000 -41 5 40.311289 40.311289 40.311289 -41 6 40.000000 40.000000 40.000000 -41 7 43.174066 43.174066 43.174066 -41 8 46.097722 46.097722 46.097722 -41 9 45.276926 45.276926 45.276926 -41 10 70.710678 70.710678 70.710678 -41 11 67.268120 67.268120 67.268120 -41 12 68.767725 68.767725 68.767725 -41 13 65.604878 65.604878 65.604878 -41 14 74.330344 74.330344 74.330344 -41 15 68.007353 68.007353 68.007353 -41 16 73.409809 73.409809 73.409809 -41 17 75.000000 75.000000 75.000000 -41 18 72.111026 72.111026 72.111026 -41 19 81.584312 81.584312 81.584312 -41 20 77.129761 77.129761 77.129761 -41 21 72.277244 72.277244 72.277244 -41 22 82.462113 82.462113 82.462113 -41 23 72.801099 72.801099 72.801099 -41 24 82.969874 82.969874 82.969874 -41 25 73.375745 73.375745 73.375745 -41 26 83.815273 83.815273 83.815273 -41 27 65.192024 65.192024 65.192024 -41 28 61.032778 61.032778 61.032778 -41 29 63.631753 63.631753 63.631753 -41 30 58.309519 58.309519 58.309519 -41 31 61.717096 61.717096 61.717096 -41 32 57.306195 57.306195 57.306195 -41 33 61.269895 61.269895 61.269895 -41 34 65.000000 65.000000 65.000000 -41 35 55.901699 55.901699 55.901699 -41 36 7.000000 7.000000 7.000000 -41 37 5.000000 5.000000 5.000000 -41 38 5.830952 5.830952 5.830952 -41 39 5.385165 5.385165 5.385165 -41 40 5.000000 5.000000 5.000000 -41 42 10.198039 10.198039 10.198039 -41 43 7.071068 7.071068 7.071068 -41 44 5.000000 5.000000 5.000000 -41 45 5.830952 5.830952 5.830952 -41 46 40.112342 40.112342 40.112342 -41 47 42.296572 42.296572 42.296572 -41 48 70.455660 70.455660 70.455660 -41 49 82.000000 82.000000 82.000000 -41 50 75.186435 75.186435 75.186435 -41 51 51.419841 51.419841 51.419841 -41 52 65.192024 65.192024 65.192024 -41 53 65.192024 65.192024 65.192024 -41 54 53.150729 53.150729 53.150729 -41 55 25.495098 25.495098 25.495098 -41 56 39.051248 39.051248 39.051248 -41 57 50.990195 50.990195 50.990195 -41 58 67.082039 67.082039 67.082039 -41 59 87.464278 87.464278 87.464278 -41 60 82.006097 82.006097 82.006097 -41 61 51.478151 51.478151 51.478151 -41 62 25.000000 25.000000 25.000000 -41 63 50.249378 50.249378 50.249378 -41 64 65.192024 65.192024 65.192024 -41 65 57.008771 57.008771 57.008771 -41 66 51.478151 51.478151 51.478151 -41 67 51.623638 51.623638 51.623638 -41 68 43.185646 43.185646 43.185646 -41 69 32.015621 32.015621 32.015621 -41 70 43.931765 43.931765 43.931765 -41 71 29.681644 29.681644 29.681644 -41 72 30.413813 30.413813 30.413813 -41 73 20.223748 20.223748 20.223748 -41 74 63.158531 63.158531 63.158531 -41 75 76.321688 76.321688 76.321688 -41 76 97.082439 97.082439 97.082439 -41 77 73.000000 73.000000 73.000000 -41 78 89.961103 89.961103 89.961103 -41 79 59.539903 59.539903 59.539903 -41 80 56.612719 56.612719 56.612719 -41 81 40.162171 40.162171 40.162171 -41 82 29.154759 29.154759 29.154759 -41 83 53.413481 53.413481 53.413481 -41 84 58.694122 58.694122 58.694122 -41 85 56.080300 56.080300 56.080300 -41 86 62.072538 62.072538 62.072538 -41 87 72.401657 72.401657 72.401657 -41 88 77.620873 77.620873 77.620873 -41 89 45.000000 45.000000 45.000000 -41 90 80.305666 80.305666 80.305666 -41 91 44.418465 44.418465 44.418465 -41 92 44.384682 44.384682 44.384682 -41 93 42.579338 42.579338 42.579338 -41 94 33.015148 33.015148 33.015148 -41 95 37.121422 37.121422 37.121422 -41 96 48.166378 48.166378 48.166378 -41 97 31.400637 31.400637 31.400637 -41 98 87.321246 87.321246 87.321246 -41 99 47.381431 47.381431 47.381431 -41 100 60.464866 60.464866 60.464866 -41 101 34.132096 34.132096 34.132096 -42 1 30.805844 30.805844 30.805844 -42 2 34.481879 34.481879 34.481879 -42 3 36.000000 36.000000 36.000000 -42 4 37.363083 37.363083 37.363083 -42 5 38.327536 38.327536 38.327536 -42 6 39.293765 39.293765 39.293765 -42 7 40.000000 40.000000 40.000000 -42 8 43.000000 43.000000 43.000000 -42 9 43.289722 43.289722 43.289722 -42 10 62.481997 62.481997 62.481997 -42 11 59.405387 59.405387 59.405387 -42 12 61.032778 61.032778 61.032778 -42 13 58.309519 58.309519 58.309519 -42 14 66.400301 66.400301 66.400301 -42 15 60.901560 60.901560 60.901560 -42 16 66.037868 66.037868 66.037868 -42 17 67.742158 67.742158 67.742158 -42 18 65.299311 65.299311 65.299311 -42 19 71.386273 71.386273 71.386273 -42 20 66.940272 66.940272 66.940272 -42 21 62.096699 62.096699 62.096699 -42 22 72.277244 72.277244 72.277244 -42 23 62.641839 62.641839 62.641839 -42 24 72.801099 72.801099 72.801099 -42 25 63.245553 63.245553 63.245553 -42 26 73.681748 73.681748 73.681748 -42 27 58.258047 58.258047 58.258047 -42 28 54.488531 54.488531 54.488531 -42 29 56.400355 56.400355 56.400355 -42 30 51.224994 51.224994 51.224994 -42 31 54.083269 54.083269 54.083269 -42 32 50.000000 50.000000 50.000000 -42 33 53.535035 53.535035 53.535035 -42 34 56.824291 56.824291 56.824291 -42 35 48.259714 48.259714 48.259714 -42 36 13.453624 13.453624 13.453624 -42 37 12.206556 12.206556 12.206556 -42 38 9.899495 9.899495 9.899495 -42 39 6.403124 6.403124 6.403124 -42 40 5.385165 5.385165 5.385165 -42 41 10.198039 10.198039 10.198039 -42 43 5.830952 5.830952 5.830952 -42 44 10.440307 10.440307 10.440307 -42 45 7.615773 7.615773 7.615773 -42 46 38.639358 38.639358 38.639358 -42 47 40.311289 40.311289 40.311289 -42 48 63.529521 63.529521 63.529521 -42 49 71.805292 71.805292 71.805292 -42 50 65.000000 65.000000 65.000000 -42 51 42.379240 42.379240 42.379240 -42 52 55.081757 55.081757 55.081757 -42 53 55.803226 55.803226 55.803226 -42 54 45.486262 45.486262 45.486262 -42 55 15.297059 15.297059 15.297059 -42 56 31.764760 31.764760 31.764760 -42 57 40.792156 40.792156 40.792156 -42 58 57.306195 57.306195 57.306195 -42 59 77.935871 77.935871 77.935871 -42 60 73.000000 73.000000 73.000000 -42 61 45.541190 45.541190 45.541190 -42 62 16.401219 16.401219 16.401219 -42 63 40.607881 40.607881 40.607881 -42 64 55.443665 55.443665 55.443665 -42 65 46.840154 46.840154 46.840154 -42 66 41.880783 41.880783 41.880783 -42 67 41.629317 41.629317 41.629317 -42 68 33.541020 33.541020 33.541020 -42 69 23.430749 23.430749 23.430749 -42 70 35.468296 35.468296 35.468296 -42 71 23.769729 23.769729 23.769729 -42 72 21.189620 21.189620 21.189620 -42 73 11.180340 11.180340 11.180340 -42 74 57.974132 57.974132 57.974132 -42 75 66.850580 66.850580 66.850580 -42 76 87.800911 87.800911 87.800911 -42 77 63.031738 63.031738 63.031738 -42 78 80.056230 80.056230 80.056230 -42 79 53.488316 53.488316 53.488316 -42 80 52.469038 52.469038 52.469038 -42 81 30.083218 30.083218 30.083218 -42 82 19.235384 19.235384 19.235384 -42 83 44.553339 44.553339 44.553339 -42 84 48.754487 48.754487 48.754487 -42 85 46.010868 46.010868 46.010868 -42 86 52.239832 52.239832 52.239832 -42 87 63.007936 63.007936 63.007936 -42 88 68.680419 68.680419 68.680419 -42 89 38.013156 38.013156 38.013156 -42 90 70.576200 70.576200 70.576200 -42 91 35.000000 35.000000 35.000000 -42 92 34.205263 34.205263 34.205263 -42 93 32.388269 32.388269 32.388269 -42 94 23.194827 23.194827 23.194827 -42 95 27.018512 27.018512 27.018512 -42 96 38.052595 38.052595 38.052595 -42 97 21.213203 21.213203 21.213203 -42 98 78.517514 78.517514 78.517514 -42 99 39.408121 39.408121 39.408121 -42 100 51.224994 51.224994 51.224994 -42 101 28.160256 28.160256 28.160256 -43 1 33.541020 33.541020 33.541020 -43 2 30.413813 30.413813 30.413813 -43 3 33.376639 33.376639 33.376639 -43 4 33.376639 33.376639 33.376639 -43 5 35.000000 35.000000 35.000000 -43 6 35.355339 35.355339 35.355339 -43 7 37.336309 37.336309 37.336309 -43 8 40.311289 40.311289 40.311289 -43 9 40.000000 40.000000 40.000000 -43 10 63.639610 63.639610 63.639610 -43 11 60.207973 60.207973 60.207973 -43 12 61.717096 61.717096 61.717096 -43 13 58.600341 58.600341 58.600341 -43 14 67.268120 67.268120 67.268120 -43 15 61.032778 61.032778 61.032778 -43 16 66.400301 66.400301 66.400301 -43 17 68.007353 68.007353 68.007353 -43 18 65.192024 65.192024 65.192024 -43 19 75.802375 75.802375 75.802375 -43 20 71.196910 71.196910 71.196910 -43 21 66.287254 66.287254 66.287254 -43 22 76.485293 76.485293 76.485293 -43 23 66.708320 66.708320 66.708320 -43 24 76.902536 76.902536 76.902536 -43 25 67.186308 67.186308 67.186308 -43 26 77.620873 77.620873 77.620873 -43 27 64.031242 64.031242 64.031242 -43 28 60.207973 60.207973 60.207973 -43 29 62.201286 62.201286 62.201286 -43 30 57.008771 57.008771 57.008771 -43 31 59.908263 59.908263 59.908263 -43 32 55.803226 55.803226 55.803226 -43 33 59.363288 59.363288 59.363288 -43 34 62.649820 62.649820 62.649820 -43 35 54.083269 54.083269 54.083269 -43 36 13.000000 13.000000 13.000000 -43 37 11.180340 11.180340 11.180340 -43 38 10.198039 10.198039 10.198039 -43 39 7.000000 7.000000 7.000000 -43 40 5.000000 5.000000 5.000000 -43 41 7.071068 7.071068 7.071068 -43 42 5.830952 5.830952 5.830952 -43 44 5.000000 5.000000 5.000000 -43 45 2.000000 2.000000 2.000000 -43 46 35.057096 35.057096 35.057096 -43 47 37.000000 37.000000 37.000000 -43 48 63.513778 63.513778 63.513778 -43 49 76.118329 76.118329 76.118329 -43 50 69.231496 69.231496 69.231496 -43 51 48.104054 48.104054 48.104054 -43 52 60.000000 60.000000 60.000000 -43 53 58.309519 58.309519 58.309519 -43 54 46.097722 46.097722 46.097722 -43 55 20.000000 20.000000 20.000000 -43 56 32.015621 32.015621 32.015621 -43 57 45.276926 45.276926 45.276926 -43 58 60.415230 60.415230 60.415230 -43 59 80.622577 80.622577 80.622577 -43 60 75.000000 75.000000 75.000000 -43 61 44.721360 44.721360 44.721360 -43 62 18.027756 18.027756 18.027756 -43 63 46.097722 46.097722 46.097722 -43 64 60.827625 60.827625 60.827625 -43 65 50.990195 50.990195 50.990195 -43 66 44.721360 44.721360 44.721360 -43 67 45.221676 45.221676 45.221676 -43 68 39.051248 39.051248 39.051248 -43 69 25.000000 25.000000 25.000000 -43 70 36.878178 36.878178 36.878178 -43 71 22.825424 22.825424 22.825424 -43 72 26.925824 26.925824 26.925824 -43 73 17.000000 17.000000 17.000000 -43 74 56.648036 56.648036 56.648036 -43 75 69.462220 69.462220 69.462220 -43 76 90.138782 90.138782 90.138782 -43 77 68.183576 68.183576 68.183576 -43 78 83.384651 83.384651 83.384651 -43 79 52.773099 52.773099 52.773099 -43 80 50.447993 50.447993 50.447993 -43 81 33.955854 33.955854 33.955854 -43 82 22.803509 22.803509 22.803509 -43 83 46.400431 46.400431 46.400431 -43 84 52.201533 52.201533 52.201533 -43 85 51.039201 51.039201 51.039201 -43 86 57.558666 57.558666 57.558666 -43 87 65.513357 65.513357 65.513357 -43 88 70.604532 70.604532 70.604532 -43 89 38.013156 38.013156 38.013156 -43 90 75.953933 75.953933 75.953933 -43 91 37.589892 37.589892 37.589892 -43 92 38.470768 38.470768 38.470768 -43 93 37.054015 37.054015 37.054015 -43 94 28.635642 28.635642 28.635642 -43 95 32.062439 32.062439 32.062439 -43 96 43.011626 43.011626 43.011626 -43 97 26.000000 26.000000 26.000000 -43 98 80.280757 80.280757 80.280757 -43 99 40.311289 40.311289 40.311289 -43 100 53.535035 53.535035 53.535035 -43 101 27.294688 27.294688 27.294688 -44 1 38.078866 38.078866 38.078866 -44 2 30.000000 30.000000 30.000000 -44 3 34.481879 34.481879 34.481879 -44 4 33.000000 33.000000 33.000000 -44 5 35.355339 35.355339 35.355339 -44 6 35.000000 35.000000 35.000000 -44 7 38.327536 38.327536 38.327536 -44 8 41.231056 41.231056 41.231056 -44 9 40.311289 40.311289 40.311289 -44 10 67.268120 67.268120 67.268120 -44 11 63.639610 63.639610 63.639610 -44 12 65.069194 65.069194 65.069194 -44 13 61.717096 61.717096 61.717096 -44 14 70.710678 70.710678 70.710678 -44 15 64.031242 64.031242 64.031242 -44 16 69.526973 69.526973 69.526973 -44 17 71.063352 71.063352 71.063352 -44 18 68.007353 68.007353 68.007353 -44 19 80.752709 80.752709 80.752709 -44 20 76.118329 76.118329 76.118329 -44 21 71.196910 71.196910 71.196910 -44 22 81.394103 81.394103 81.394103 -44 23 71.589105 71.589105 71.589105 -44 24 81.786307 81.786307 81.786307 -44 25 72.034714 72.034714 72.034714 -44 26 82.462113 82.462113 82.462113 -44 27 68.007353 68.007353 68.007353 -44 28 64.031242 64.031242 64.031242 -44 29 66.287254 66.287254 66.287254 -44 30 61.032778 61.032778 61.032778 -44 31 64.140471 64.140471 64.140471 -44 32 59.908263 59.908263 59.908263 -44 33 63.631753 63.631753 63.631753 -44 34 67.082039 67.082039 67.082039 -44 35 58.309519 58.309519 58.309519 -44 36 12.000000 12.000000 12.000000 -44 37 10.000000 10.000000 10.000000 -44 38 10.440307 10.440307 10.440307 -44 39 8.602325 8.602325 8.602325 -44 40 7.071068 7.071068 7.071068 -44 41 5.000000 5.000000 5.000000 -44 42 10.440307 10.440307 10.440307 -44 43 5.000000 5.000000 5.000000 -44 45 3.000000 3.000000 3.000000 -44 46 35.128336 35.128336 35.128336 -44 47 37.336309 37.336309 37.336309 -44 48 66.400301 66.400301 66.400301 -44 49 81.049368 81.049368 81.049368 -44 50 74.148500 74.148500 74.148500 -44 51 52.810984 52.810984 52.810984 -44 52 65.000000 65.000000 65.000000 -44 53 62.649820 62.649820 62.649820 -44 54 49.497475 49.497475 49.497475 -44 55 25.000000 25.000000 25.000000 -44 56 35.355339 35.355339 35.355339 -44 57 50.249378 50.249378 50.249378 -44 58 65.000000 65.000000 65.000000 -44 59 85.000000 85.000000 85.000000 -44 60 79.056942 79.056942 79.056942 -44 61 47.169906 47.169906 47.169906 -44 62 22.360680 22.360680 22.360680 -44 63 50.990195 50.990195 50.990195 -44 64 65.764732 65.764732 65.764732 -44 65 55.901699 55.901699 55.901699 -44 66 49.244289 49.244289 49.244289 -44 67 50.000000 50.000000 50.000000 -44 68 43.931765 43.931765 43.931765 -44 69 29.154759 29.154759 29.154759 -44 70 40.804412 40.804412 40.804412 -44 71 25.612497 25.612497 25.612497 -44 72 31.622777 31.622777 31.622777 -44 73 21.540659 21.540659 21.540659 -44 74 58.600341 58.600341 58.600341 -44 75 73.824115 73.824115 73.824115 -44 76 94.339811 94.339811 94.339811 -44 77 73.171033 73.171033 73.171033 -44 78 88.022724 88.022724 88.022724 -44 79 55.226805 55.226805 55.226805 -44 80 51.865210 51.865210 51.865210 -44 81 38.832976 38.832976 38.832976 -44 82 27.658633 27.658633 27.658633 -44 83 50.477718 50.477718 50.477718 -44 84 56.920998 56.920998 56.920998 -44 85 56.035703 56.035703 56.035703 -44 86 62.513998 62.513998 62.513998 -44 87 69.835521 69.835521 69.835521 -44 88 74.632433 74.632433 74.632433 -44 89 41.109610 41.109610 41.109610 -44 90 80.894994 80.894994 80.894994 -44 91 42.047592 42.047592 42.047592 -44 92 43.416587 43.416587 43.416587 -44 93 42.047592 42.047592 42.047592 -44 94 33.541020 33.541020 33.541020 -44 95 37.054015 37.054015 37.054015 -44 96 48.010416 48.010416 48.010416 -44 97 31.000000 31.000000 31.000000 -44 98 84.202138 84.202138 84.202138 -44 99 43.931765 43.931765 43.931765 -44 100 57.801384 57.801384 57.801384 -44 101 30.000000 30.000000 30.000000 -45 1 35.341194 35.341194 35.341194 -45 2 30.149627 30.149627 30.149627 -45 3 33.734256 33.734256 33.734256 -45 4 33.136083 33.136083 33.136083 -45 5 35.057096 35.057096 35.057096 -45 6 35.128336 35.128336 35.128336 -45 7 37.656341 37.656341 37.656341 -45 8 40.607881 40.607881 40.607881 -45 9 40.049969 40.049969 40.049969 -45 10 65.069194 65.069194 65.069194 -45 11 61.554854 61.554854 61.554854 -45 12 63.031738 63.031738 63.031738 -45 13 59.816386 59.816386 59.816386 -45 14 68.622154 68.622154 68.622154 -45 15 62.201286 62.201286 62.201286 -45 16 67.623960 67.623960 67.623960 -45 17 69.202601 69.202601 69.202601 -45 18 66.287254 66.287254 66.287254 -45 19 77.781746 77.781746 77.781746 -45 20 73.164199 73.164199 73.164199 -45 21 68.249542 68.249542 68.249542 -45 22 78.447435 78.447435 78.447435 -45 23 68.658576 68.658576 68.658576 -45 24 78.854296 78.854296 78.854296 -45 25 69.123079 69.123079 69.123079 -45 26 79.555012 79.555012 79.555012 -45 27 65.604878 65.604878 65.604878 -45 28 61.717096 61.717096 61.717096 -45 29 63.820060 63.820060 63.820060 -45 30 58.600341 58.600341 58.600341 -45 31 61.587336 61.587336 61.587336 -45 32 57.428216 57.428216 57.428216 -45 33 61.057350 61.057350 61.057350 -45 34 64.412732 64.412732 64.412732 -45 35 55.758407 55.758407 55.758407 -45 36 12.369317 12.369317 12.369317 -45 37 10.440307 10.440307 10.440307 -45 38 10.000000 10.000000 10.000000 -45 39 7.280110 7.280110 7.280110 -45 40 5.385165 5.385165 5.385165 -45 41 5.830952 5.830952 5.830952 -45 42 7.615773 7.615773 7.615773 -45 43 2.000000 2.000000 2.000000 -45 44 3.000000 3.000000 3.000000 -45 46 35.000000 35.000000 35.000000 -45 47 37.054015 37.054015 37.054015 -45 48 64.637450 64.637450 64.637450 -45 49 78.089692 78.089692 78.089692 -45 50 71.196910 71.196910 71.196910 -45 51 49.979996 49.979996 49.979996 -45 52 62.000000 62.000000 62.000000 -45 53 60.033324 60.033324 60.033324 -45 54 47.423623 47.423623 47.423623 -45 55 22.000000 22.000000 22.000000 -45 56 33.301652 33.301652 33.301652 -45 57 47.265209 47.265209 47.265209 -45 58 62.241465 62.241465 62.241465 -45 59 82.365041 82.365041 82.365041 -45 60 76.609399 76.609399 76.609399 -45 61 45.650849 45.650849 45.650849 -45 62 19.723083 19.723083 19.723083 -45 63 48.052055 48.052055 48.052055 -45 64 62.801274 62.801274 62.801274 -45 65 52.952809 52.952809 52.952809 -45 66 46.518813 46.518813 46.518813 -45 67 47.127487 47.127487 47.127487 -45 68 41.000000 41.000000 41.000000 -45 69 26.627054 26.627054 26.627054 -45 70 38.418745 38.418745 38.418745 -45 71 23.853721 23.853721 23.853721 -45 72 28.792360 28.792360 28.792360 -45 73 18.788294 18.788294 18.788294 -45 74 57.384667 57.384667 57.384667 -45 75 71.196910 71.196910 71.196910 -45 76 91.809586 91.809586 91.809586 -45 77 70.178344 70.178344 70.178344 -45 78 85.234969 85.234969 85.234969 -45 79 53.712196 53.712196 53.712196 -45 80 50.960769 50.960769 50.960769 -45 81 35.902646 35.902646 35.902646 -45 82 24.738634 24.738634 24.738634 -45 83 48.010416 48.010416 48.010416 -45 84 54.083269 54.083269 54.083269 -45 85 53.037722 53.037722 53.037722 -45 86 59.539903 59.539903 59.539903 -45 87 67.230945 67.230945 67.230945 -45 88 72.201108 72.201108 72.201108 -45 89 39.204592 39.204592 39.204592 -45 90 77.929455 77.929455 77.929455 -45 91 39.357337 39.357337 39.357337 -45 92 40.447497 40.447497 40.447497 -45 93 39.051248 39.051248 39.051248 -45 94 30.594117 30.594117 30.594117 -45 95 34.058773 34.058773 34.058773 -45 96 45.011110 45.011110 45.011110 -45 97 28.000000 28.000000 28.000000 -45 98 81.835200 81.835200 81.835200 -45 99 41.725292 41.725292 41.725292 -45 100 55.226805 55.226805 55.226805 -45 101 28.301943 28.301943 28.301943 -46 1 37.735925 37.735925 37.735925 -46 2 5.830952 5.830952 5.830952 -46 3 7.280110 7.280110 7.280110 -46 4 3.605551 3.605551 3.605551 -46 5 2.000000 2.000000 2.000000 -46 6 3.000000 3.000000 3.000000 -46 7 7.280110 7.280110 7.280110 -46 8 8.602325 8.602325 8.602325 -46 9 5.385165 5.385165 5.385165 -46 10 48.052055 48.052055 48.052055 -46 11 43.174066 43.174066 43.174066 -46 12 43.680659 43.680659 43.680659 -46 13 38.897301 38.897301 38.897301 -46 14 49.335586 49.335586 49.335586 -46 15 39.924930 39.924930 39.924930 -46 16 45.694639 45.694639 45.694639 -46 17 46.518813 46.518813 46.518813 -46 18 42.059482 42.059482 42.059482 -46 19 80.653580 80.653580 80.653580 -46 20 75.286121 75.286121 75.286121 -46 21 70.519501 70.519501 70.519501 -46 22 79.555012 79.555012 79.555012 -46 23 69.921384 69.921384 69.921384 -46 24 79.075913 79.075913 79.075913 -46 25 69.375788 69.375788 69.375788 -46 26 78.447435 78.447435 78.447435 -46 27 91.263355 91.263355 91.263355 -46 28 88.509886 88.509886 88.509886 -46 29 88.814413 88.814413 88.814413 -46 30 84.314886 84.314886 84.314886 -46 31 85.603738 85.603738 85.603738 -46 32 82.661962 82.661962 82.661962 -46 33 84.811556 84.811556 84.811556 -46 34 86.452299 86.452299 86.452299 -46 35 80.212219 80.212219 80.212219 -46 36 47.095647 47.095647 47.095647 -46 37 45.099889 45.099889 45.099889 -46 38 45.000000 45.000000 45.000000 -46 39 42.047592 42.047592 42.047592 -46 40 40.049969 40.049969 40.049969 -46 41 40.112342 40.112342 40.112342 -46 42 38.639358 38.639358 38.639358 -46 43 35.057096 35.057096 35.057096 -46 44 35.128336 35.128336 35.128336 -46 45 35.000000 35.000000 35.000000 -46 47 2.828427 2.828427 2.828427 -46 48 41.146081 41.146081 41.146081 -46 49 80.081209 80.081209 80.081209 -46 50 73.375745 73.375745 73.375745 -46 51 70.092796 70.092796 70.092796 -46 52 71.196910 71.196910 71.196910 -46 53 52.239832 52.239832 52.239832 -46 54 32.000000 32.000000 32.000000 -46 55 41.340053 41.340053 41.340053 -46 56 24.166092 24.166092 24.166092 -46 57 55.758407 55.758407 55.758407 -46 58 57.870545 57.870545 57.870545 -46 59 72.173402 72.173402 72.173402 -46 60 62.801274 62.801274 62.801274 -46 61 22.561028 22.561028 22.561028 -46 62 30.232433 30.232433 30.232433 -46 63 65.069194 65.069194 65.069194 -46 64 76.609399 76.609399 76.609399 -46 65 57.697487 57.697487 57.697487 -46 66 44.598206 44.598206 44.598206 -46 67 49.658836 49.658836 49.658836 -46 68 59.464275 59.464275 59.464275 -46 69 29.732137 29.732137 29.732137 -46 70 31.953091 31.953091 31.953091 -46 71 19.849433 19.849433 19.849433 -46 72 52.478567 52.478567 52.478567 -46 73 46.238512 46.238512 46.238512 -46 74 28.425341 28.425341 28.425341 -46 75 62.000000 62.000000 62.000000 -46 76 78.447435 78.447435 78.447435 -46 77 80.622577 80.622577 80.622577 -46 78 79.056942 79.056942 79.056942 -46 79 28.635642 28.635642 28.635642 -46 80 19.798990 19.798990 19.798990 -46 81 44.204072 44.204072 44.204072 -46 82 37.643060 37.643060 37.643060 -46 83 39.623226 39.623226 39.623226 -46 84 53.758720 53.758720 53.758720 -46 85 64.637450 64.637450 64.637450 -46 86 73.006849 73.006849 73.006849 -46 87 58.008620 58.008620 58.008620 -46 88 58.549125 58.549125 58.549125 -46 89 24.331050 24.331050 24.331050 -46 90 90.210864 90.210864 90.210864 -46 91 38.910153 38.910153 38.910153 -46 92 49.406477 49.406477 49.406477 -46 93 51.088159 51.088159 51.088159 -46 94 50.803543 50.803543 50.803543 -46 95 50.249378 50.249378 50.249378 -46 96 57.628118 57.628118 57.628118 -46 97 44.821870 44.821870 44.821870 -46 98 65.969690 65.969690 65.969690 -46 99 30.594117 30.594117 30.594117 -46 100 47.381431 47.381431 47.381431 -46 101 18.601075 18.601075 18.601075 -47 1 37.202150 37.202150 37.202150 -47 2 8.602325 8.602325 8.602325 -47 3 6.403124 6.403124 6.403124 -47 4 6.403124 6.403124 6.403124 -47 5 2.000000 2.000000 2.000000 -47 6 5.385165 5.385165 5.385165 -47 7 5.000000 5.000000 5.000000 -47 8 5.830952 5.830952 5.830952 -47 9 3.000000 3.000000 3.000000 -47 10 45.705580 45.705580 45.705580 -47 11 40.792156 40.792156 40.792156 -47 12 41.231056 41.231056 41.231056 -47 13 36.400549 36.400549 36.400549 -47 14 46.840154 46.840154 46.840154 -47 15 37.336309 37.336309 37.336309 -47 16 43.081318 43.081318 43.081318 -47 17 43.863424 43.863424 43.863424 -47 18 39.357337 39.357337 39.357337 -47 19 79.378838 79.378838 79.378838 -47 20 74.000000 74.000000 74.000000 -47 21 69.289249 69.289249 69.289249 -47 22 78.160092 78.160092 78.160092 -47 23 68.622154 68.622154 68.622154 -47 24 77.620873 77.620873 77.620873 -47 25 68.007353 68.007353 68.007353 -47 26 76.902536 76.902536 76.902536 -47 27 91.809586 91.809586 91.809586 -47 28 89.185201 89.185201 89.185201 -47 29 89.308454 89.308454 89.308454 -47 30 84.905830 84.905830 84.905830 -47 31 86.023253 86.023253 86.023253 -47 32 83.216585 83.216585 83.216585 -47 33 85.211502 85.211502 85.211502 -47 34 86.683332 86.683332 86.683332 -47 35 80.709355 80.709355 80.709355 -47 36 49.254441 49.254441 49.254441 -47 37 47.265209 47.265209 47.265209 -47 38 47.042534 47.042534 47.042534 -47 39 44.000000 44.000000 44.000000 -47 40 42.000000 42.000000 42.000000 -47 41 42.296572 42.296572 42.296572 -47 42 40.311289 40.311289 40.311289 -47 43 37.000000 37.000000 37.000000 -47 44 37.336309 37.336309 37.336309 -47 45 37.054015 37.054015 37.054015 -47 46 2.828427 2.828427 2.828427 -47 48 38.483763 38.483763 38.483763 -47 49 78.746428 78.746428 78.746428 -47 50 72.111026 72.111026 72.111026 -47 51 70.292247 70.292247 70.292247 -47 52 70.491134 70.491134 70.491134 -47 53 50.487622 50.487622 50.487622 -47 54 30.066593 30.066593 30.066593 -47 55 42.059482 42.059482 42.059482 -47 56 23.323808 23.323808 23.323808 -47 57 55.217751 55.217751 55.217751 -47 58 56.293872 56.293872 56.293872 -47 59 70.064256 70.064256 70.064256 -47 60 60.530984 60.530984 60.530984 -47 61 20.223748 20.223748 20.223748 -47 62 30.886890 30.886890 30.886890 -47 63 65.069194 65.069194 65.069194 -47 64 76.216796 76.216796 76.216796 -47 65 56.824291 56.824291 56.824291 -47 66 43.462628 43.462628 43.462628 -47 67 48.764741 48.764741 48.764741 -47 68 59.665736 59.665736 59.665736 -47 69 29.732137 29.732137 29.732137 -47 70 30.870698 30.870698 30.870698 -47 71 20.248457 20.248457 20.248457 -47 72 53.235327 53.235327 53.235327 -47 73 47.434165 47.434165 47.434165 -47 74 25.612497 25.612497 25.612497 -47 75 60.033324 60.033324 60.033324 -47 76 76.118329 76.118329 76.118329 -47 77 79.924965 79.924965 79.924965 -47 78 77.162167 77.162167 77.162167 -47 79 26.000000 26.000000 26.000000 -47 80 16.970563 16.970563 16.970563 -47 81 43.931765 43.931765 43.931765 -47 82 38.013156 38.013156 38.013156 -47 83 38.078866 38.078866 38.078866 -47 84 52.554733 52.554733 52.554733 -47 85 64.202804 64.202804 64.202804 -47 86 72.622311 72.622311 72.622311 -47 87 56.080300 56.080300 56.080300 -47 88 56.320511 56.320511 56.320511 -47 89 22.803509 22.803509 22.803509 -47 90 89.587946 89.587946 89.587946 -47 91 38.078866 38.078866 38.078866 -47 92 49.040799 49.040799 49.040799 -47 93 50.931326 50.931326 50.931326 -47 94 51.312766 51.312766 51.312766 -47 95 50.447993 50.447993 50.447993 -47 96 57.384667 57.384667 57.384667 -47 97 45.221676 45.221676 45.221676 -47 98 63.560994 63.560994 63.560994 -47 99 29.120440 29.120440 29.120440 -47 100 45.705580 45.705580 45.705580 -47 101 18.384776 18.384776 18.384776 -48 1 38.327536 38.327536 38.327536 -48 2 46.141088 46.141088 46.141088 -48 3 36.055513 36.055513 36.055513 -48 4 44.721360 44.721360 44.721360 -48 5 39.357337 39.357337 39.357337 -48 6 43.863424 43.863424 43.863424 -48 7 34.000000 34.000000 34.000000 -48 8 32.695565 32.695565 32.695565 -48 9 37.336309 37.336309 37.336309 -48 10 12.806248 12.806248 12.806248 -48 11 9.433981 9.433981 9.433981 -48 12 7.810250 7.810250 7.810250 -48 13 6.000000 6.000000 6.000000 -48 14 10.440307 10.440307 10.440307 -48 15 3.000000 3.000000 3.000000 -48 16 5.000000 5.000000 5.000000 -48 17 5.385165 5.385165 5.385165 -48 18 2.000000 2.000000 2.000000 -48 19 58.000000 58.000000 58.000000 -48 20 53.150729 53.150729 53.150729 -48 21 50.000000 50.000000 50.000000 -48 22 55.172457 55.172457 55.172457 -48 23 48.414874 48.414874 48.414874 -48 24 53.814496 53.814496 53.814496 -48 25 46.861498 46.861498 46.861498 -48 26 51.855569 51.855569 51.855569 -48 27 94.201911 94.201911 94.201911 -48 28 93.536089 93.536089 93.536089 -48 29 91.241438 91.241438 91.241438 -48 30 88.566359 88.566359 88.566359 -48 31 87.298339 87.298339 87.298339 -48 32 86.579443 86.579443 86.579443 -48 33 86.313383 86.313383 86.313383 -48 34 85.375641 85.375641 85.375641 -48 35 83.600239 83.600239 83.600239 -48 36 76.321688 76.321688 76.321688 -48 37 74.625733 74.625733 74.625733 -48 38 73.061618 73.061618 73.061618 -48 39 69.462220 69.462220 69.462220 -48 40 67.742158 67.742158 67.742158 -48 41 70.455660 70.455660 70.455660 -48 42 63.529521 63.529521 63.529521 -48 43 63.513778 63.513778 63.513778 -48 44 66.400301 66.400301 66.400301 -48 45 64.637450 64.637450 64.637450 -48 46 41.146081 41.146081 41.146081 -48 47 38.483763 38.483763 38.483763 -48 49 56.568542 56.568542 56.568542 -48 50 51.855569 51.855569 51.855569 -48 51 70.710678 70.710678 70.710678 -48 52 58.600341 58.600341 58.600341 -48 53 27.459060 27.459060 27.459060 -48 54 18.681542 18.681542 18.681542 -48 55 55.081757 55.081757 55.081757 -48 56 31.764760 31.764760 31.764760 -48 57 49.030603 49.030603 49.030603 -48 58 34.409301 34.409301 34.409301 -48 59 37.336309 37.336309 37.336309 -48 60 26.248809 26.248809 26.248809 -48 61 19.849433 19.849433 19.849433 -48 62 47.423623 47.423623 47.423623 -48 63 63.788714 63.788714 63.788714 -48 64 67.779053 67.779053 67.779053 -48 65 45.541190 45.541190 45.541190 -48 66 33.376639 33.376639 33.376639 -48 67 39.812058 39.812058 39.812058 -48 68 62.072538 62.072538 62.072538 -48 69 40.853396 40.853396 40.853396 -48 70 29.832868 29.832868 29.832868 -48 71 40.804412 40.804412 40.804412 -48 72 63.788714 63.788714 63.788714 -48 73 64.195015 64.195015 64.195015 -48 74 15.000000 15.000000 15.000000 -48 75 30.805844 30.805844 30.805844 -48 76 40.112342 40.112342 40.112342 -48 77 66.730802 66.730802 66.730802 -48 78 46.957428 46.957428 46.957428 -48 79 12.529964 12.529964 12.529964 -48 80 23.345235 23.345235 23.345235 -48 81 45.044423 45.044423 45.044423 -48 82 48.764741 48.764741 48.764741 -48 83 25.079872 25.079872 25.079872 -48 84 37.696154 37.696154 37.696154 -48 85 57.280014 57.280014 57.280014 -48 86 64.845971 64.845971 64.845971 -48 87 28.319605 28.319605 28.319605 -48 88 23.259407 23.259407 23.259407 -48 89 25.553865 25.553865 25.553865 -48 90 76.321688 76.321688 76.321688 -48 91 35.057096 35.057096 35.057096 -48 92 47.095647 47.095647 47.095647 -48 93 51.039201 51.039201 51.039201 -48 94 59.413803 59.413803 59.413803 -48 95 55.081757 55.081757 55.081757 -48 96 54.589376 54.589376 54.589376 -48 97 53.758720 53.758720 53.758720 -48 98 27.073973 27.073973 27.073973 -48 99 25.000000 25.000000 25.000000 -48 100 26.000000 26.000000 26.000000 -48 101 36.400549 36.400549 36.400549 -49 1 45.044423 45.044423 45.044423 -49 2 81.786307 81.786307 81.786307 -49 3 72.801099 72.801099 72.801099 -49 4 82.462113 82.462113 82.462113 -49 5 78.160092 78.160092 78.160092 -49 6 82.969874 82.969874 82.969874 -49 7 74.000000 74.000000 74.000000 -49 8 75.026662 75.026662 75.026662 -49 9 79.711982 79.711982 79.711982 -49 10 43.863424 43.863424 43.863424 -49 11 47.423623 47.423623 47.423623 -49 12 48.795492 48.795492 48.795492 -49 13 52.497619 52.497619 52.497619 -49 14 47.634021 47.634021 47.634021 -49 15 54.488531 54.488531 54.488531 -49 16 53.150729 53.150729 53.150729 -49 17 54.671748 54.671748 54.671748 -49 18 58.000000 58.000000 58.000000 -49 19 2.000000 2.000000 2.000000 -49 20 5.000000 5.000000 5.000000 -49 21 10.000000 10.000000 10.000000 -49 22 2.000000 2.000000 2.000000 -49 23 10.198039 10.198039 10.198039 -49 24 4.000000 4.000000 4.000000 -49 25 10.770330 10.770330 10.770330 -49 26 7.000000 7.000000 7.000000 -49 27 58.600341 58.600341 58.600341 -49 28 60.901560 60.901560 60.901560 -49 29 55.901699 55.901699 55.901699 -49 30 56.603887 56.603887 56.603887 -49 31 52.354560 52.354560 52.354560 -49 32 54.918121 54.918121 54.918121 -49 33 51.478151 51.478151 51.478151 -49 34 47.423623 47.423623 47.423623 -49 35 52.430907 52.430907 52.430907 -49 36 83.815273 83.815273 83.815273 -49 37 83.240615 83.240615 83.240615 -49 38 80.361682 80.361682 80.361682 -49 39 77.620873 77.620873 77.620873 -49 40 77.129761 77.129761 77.129761 -49 41 82.000000 82.000000 82.000000 -49 42 71.805292 71.805292 71.805292 -49 43 76.118329 76.118329 76.118329 -49 44 81.049368 81.049368 81.049368 -49 45 78.089692 78.089692 78.089692 -49 46 80.081209 80.081209 80.081209 -49 47 78.746428 78.746428 78.746428 -49 48 56.568542 56.568542 56.568542 -49 50 7.000000 7.000000 7.000000 -49 51 42.426407 42.426407 42.426407 -49 52 19.849433 19.849433 19.849433 -49 53 30.232433 30.232433 30.232433 -49 54 50.089919 50.089919 50.089919 -49 55 56.515485 56.515485 56.515485 -49 56 56.293872 56.293872 56.293872 -49 57 31.048349 31.048349 31.048349 -49 58 23.323808 23.323808 23.323808 -49 59 27.459060 27.459060 27.459060 -49 60 35.341194 35.341194 35.341194 -49 61 61.269895 61.269895 61.269895 -49 62 60.074953 60.074953 60.074953 -49 63 37.802116 37.802116 37.802116 -49 64 27.459060 27.459060 27.459060 -49 65 25.179357 25.179357 25.179357 -49 66 35.693137 35.693137 35.693137 -49 67 32.015621 32.015621 32.015621 -49 68 43.046487 43.046487 43.046487 -49 69 55.036352 55.036352 55.036352 -49 70 48.270074 48.270074 48.270074 -49 71 64.381674 64.381674 64.381674 -49 72 55.036352 55.036352 55.036352 -49 73 63.568860 63.568860 63.568860 -49 74 68.007353 68.007353 68.007353 -49 75 26.627054 26.627054 26.627054 -49 76 37.000000 37.000000 37.000000 -49 77 19.313208 19.313208 19.313208 -49 78 19.104973 19.104973 19.104973 -49 79 61.294372 61.294372 61.294372 -49 80 72.560320 72.560320 72.560320 -49 81 42.296572 42.296572 42.296572 -49 82 53.460266 53.460266 53.460266 -49 83 40.853396 40.853396 40.853396 -49 84 26.476405 26.476405 26.476405 -49 85 28.301943 28.301943 28.301943 -49 86 27.658633 27.658633 27.658633 -49 87 28.319605 28.319605 28.319605 -49 88 35.510562 35.510562 35.510562 -49 89 55.973208 55.973208 55.973208 -49 90 25.000000 25.000000 25.000000 -49 91 42.296572 42.296572 42.296572 -49 92 37.656341 37.656341 37.656341 -49 93 39.560081 39.560081 39.560081 -49 94 50.695167 50.695167 50.695167 -49 95 45.541190 45.541190 45.541190 -49 96 34.928498 34.928498 34.928498 -49 97 50.695167 50.695167 50.695167 -49 98 40.162171 40.162171 40.162171 -49 99 49.648766 49.648766 49.648766 -49 100 34.000000 34.000000 34.000000 -49 101 62.968246 62.968246 62.968246 -50 1 38.052595 38.052595 38.052595 -50 2 74.953319 74.953319 74.953319 -50 3 66.098411 66.098411 66.098411 -50 4 75.690158 75.690158 75.690158 -50 5 71.470274 71.470274 71.470274 -50 6 76.243032 76.243032 76.243032 -50 7 67.416615 67.416615 67.416615 -50 8 68.541958 68.541958 68.541958 -50 9 73.164199 73.164199 73.164199 -50 10 39.408121 39.408121 39.408121 -50 11 42.520583 42.520583 42.520583 -50 12 44.045431 44.045431 44.045431 -50 13 47.381431 47.381431 47.381431 -50 14 43.566042 43.566042 43.566042 -50 15 49.578221 49.578221 49.578221 -50 16 48.826222 48.826222 48.826222 -50 17 50.477718 50.477718 50.477718 -50 18 53.413481 53.413481 53.413481 -50 19 7.280110 7.280110 7.280110 -50 20 2.000000 2.000000 2.000000 -50 21 3.000000 3.000000 3.000000 -50 22 7.280110 7.280110 7.280110 -50 23 3.605551 3.605551 3.605551 -50 24 8.062258 8.062258 8.062258 -50 25 5.000000 5.000000 5.000000 -50 26 9.899495 9.899495 9.899495 -50 27 55.973208 55.973208 55.973208 -50 28 57.775427 57.775427 57.775427 -50 29 53.141321 53.141321 53.141321 -50 30 53.225934 53.225934 53.225934 -50 31 49.396356 49.396356 49.396356 -50 32 51.429563 51.429563 51.429563 -50 33 48.466483 48.466483 48.466483 -50 34 44.922155 44.922155 44.922155 -50 35 48.764741 48.764741 48.764741 -50 36 77.162167 77.162167 77.162167 -50 37 76.537572 76.537572 76.537572 -50 38 73.681748 73.681748 73.681748 -50 39 70.880181 70.880181 70.880181 -50 40 70.342022 70.342022 70.342022 -50 41 75.186435 75.186435 75.186435 -50 42 65.000000 65.000000 65.000000 -50 43 69.231496 69.231496 69.231496 -50 44 74.148500 74.148500 74.148500 -50 45 71.196910 71.196910 71.196910 -50 46 73.375745 73.375745 73.375745 -50 47 72.111026 72.111026 72.111026 -50 48 51.855569 51.855569 51.855569 -50 49 7.000000 7.000000 7.000000 -50 51 37.802116 37.802116 37.802116 -50 52 15.264338 15.264338 15.264338 -50 53 24.758837 24.758837 24.758837 -50 54 43.908997 43.908997 43.908997 -50 55 49.729267 49.729267 49.729267 -50 56 49.477268 49.477268 49.477268 -50 57 24.351591 24.351591 24.351591 -50 58 17.691806 17.691806 17.691806 -50 59 27.073973 27.073973 27.073973 -50 60 32.984845 32.984845 32.984845 -50 61 55.072679 55.072679 55.072679 -50 62 53.084838 53.084838 53.084838 -50 63 32.526912 32.526912 32.526912 -50 64 24.351591 24.351591 24.351591 -50 65 18.248288 18.248288 18.248288 -50 66 28.861739 28.861739 28.861739 -50 67 25.019992 25.019992 25.019992 -50 68 37.202150 37.202150 37.202150 -50 69 48.041649 48.041649 48.041649 -50 70 41.484937 41.484937 41.484937 -50 71 57.428216 57.428216 57.428216 -50 72 48.764741 48.764741 48.764741 -50 73 57.008771 57.008771 57.008771 -50 74 62.481997 62.481997 62.481997 -50 75 23.409400 23.409400 23.409400 -50 76 37.656341 37.656341 37.656341 -50 77 18.000000 18.000000 18.000000 -50 78 21.023796 21.023796 21.023796 -50 79 55.605755 55.605755 55.605755 -50 80 66.573268 66.573268 66.573268 -50 81 35.355339 35.355339 35.355339 -50 82 46.529560 46.529560 46.529560 -50 83 34.438351 34.438351 34.438351 -50 84 19.646883 19.646883 19.646883 -50 85 22.671568 22.671568 22.671568 -50 86 23.706539 23.706539 23.706539 -50 87 24.186773 24.186773 24.186773 -50 88 32.310989 32.310989 32.310989 -50 89 49.396356 49.396356 49.396356 -50 90 25.961510 25.961510 25.961510 -50 91 35.355339 35.355339 35.355339 -50 92 30.805844 30.805844 30.805844 -50 93 32.893768 32.893768 32.893768 -50 94 44.283180 44.283180 44.283180 -50 95 39.000000 39.000000 39.000000 -50 96 28.653098 28.653098 28.653098 -50 97 43.965896 43.965896 43.965896 -50 98 38.470768 38.470768 38.470768 -50 99 43.081318 43.081318 43.081318 -50 100 28.017851 28.017851 28.017851 -50 101 56.089215 56.089215 56.089215 -51 1 35.341194 35.341194 35.341194 -51 2 68.622154 68.622154 68.622154 -51 3 64.031242 64.031242 64.031242 -51 4 70.710678 70.710678 70.710678 -51 5 68.767725 68.767725 68.767725 -51 6 72.138755 72.138755 72.138755 -51 7 67.201190 67.201190 67.201190 -51 8 69.634761 69.634761 69.634761 -51 9 72.622311 72.622311 72.622311 -51 10 62.000000 62.000000 62.000000 -51 11 62.201286 62.201286 62.201286 -51 12 64.195015 64.195015 64.195015 -51 13 64.776539 64.776539 64.776539 -51 14 67.000000 67.000000 67.000000 -51 15 67.742158 67.742158 67.742158 -51 16 70.178344 70.178344 70.178344 -51 17 72.173402 72.173402 72.173402 -51 18 72.691127 72.691127 72.691127 -51 19 41.036569 41.036569 41.036569 -51 20 39.051248 39.051248 39.051248 -51 21 36.055513 36.055513 36.055513 -51 22 43.863424 43.863424 43.863424 -51 23 37.735925 37.735925 37.735925 -51 24 45.343136 45.343136 45.343136 -51 25 39.446166 39.446166 39.446166 -51 26 47.634021 47.634021 47.634021 -51 27 23.537205 23.537205 23.537205 -51 28 23.000000 23.000000 23.000000 -51 29 20.615528 20.615528 20.615528 -51 30 18.000000 18.000000 18.000000 -51 31 16.763055 16.763055 16.763055 -51 32 16.000000 16.000000 16.000000 -51 33 15.811388 15.811388 15.811388 -51 34 16.401219 16.401219 16.401219 -51 35 13.000000 13.000000 13.000000 -51 36 50.249378 50.249378 50.249378 -51 37 50.487622 50.487622 50.487622 -51 38 47.518417 47.518417 47.518417 -51 39 46.097722 46.097722 46.097722 -51 40 46.572524 46.572524 46.572524 -51 41 51.419841 51.419841 51.419841 -51 42 42.379240 42.379240 42.379240 -51 43 48.104054 48.104054 48.104054 -51 44 52.810984 52.810984 52.810984 -51 45 49.979996 49.979996 49.979996 -51 46 70.092796 70.092796 70.092796 -51 47 70.292247 70.292247 70.292247 -51 48 70.710678 70.710678 70.710678 -51 49 42.426407 42.426407 42.426407 -51 50 37.802116 37.802116 37.802116 -51 52 22.671568 22.671568 22.671568 -51 53 47.265209 47.265209 47.265209 -51 54 54.120237 54.120237 54.120237 -51 55 30.232433 30.232433 30.232433 -51 56 48.877398 48.877398 48.877398 -51 57 22.000000 22.000000 22.000000 -51 58 43.174066 43.174066 43.174066 -51 59 62.241465 62.241465 62.241465 -51 60 63.788714 63.788714 63.788714 -51 61 62.241465 62.241465 62.241465 -51 62 40.360872 40.360872 40.360872 -51 63 7.000000 7.000000 7.000000 -51 64 16.552945 16.552945 16.552945 -51 65 27.459060 27.459060 27.459060 -51 66 37.336309 37.336309 37.336309 -51 67 31.064449 31.064449 31.064449 -51 68 10.630146 10.630146 10.630146 -51 69 40.607881 40.607881 40.607881 -51 70 44.384682 44.384682 44.384682 -51 71 50.249378 50.249378 50.249378 -51 72 21.189620 21.189620 21.189620 -51 73 31.320920 31.320920 31.320920 -51 74 74.330344 74.330344 74.330344 -51 75 54.120237 54.120237 54.120237 -51 76 73.409809 73.409809 73.409809 -51 77 25.942244 25.942244 25.942244 -51 78 58.523500 58.523500 58.523500 -51 79 67.357256 67.357256 67.357256 -51 80 73.790243 73.790243 73.790243 -51 81 27.730849 27.730849 27.730849 -51 82 32.526912 32.526912 32.526912 -51 83 45.705580 45.705580 45.705580 -51 84 35.227830 35.227830 35.227830 -51 85 16.155494 16.155494 16.155494 -51 86 15.000000 15.000000 15.000000 -51 87 52.172790 52.172790 52.172790 -51 88 61.000000 61.000000 61.000000 -51 89 53.225934 53.225934 53.225934 -51 90 30.413813 30.413813 30.413813 -51 91 37.000000 37.000000 37.000000 -51 92 24.041631 24.041631 24.041631 -51 93 20.615528 20.615528 20.615528 -51 94 20.248457 20.248457 20.248457 -51 95 19.849433 19.849433 19.849433 -51 96 16.124515 16.124515 16.124515 -51 97 25.495098 25.495098 25.495098 -51 98 70.092796 70.092796 70.092796 -51 99 49.040799 49.040799 49.040799 -51 100 46.000000 46.000000 46.000000 -51 101 52.009614 52.009614 52.009614 -52 1 33.541020 33.541020 33.541020 -52 2 71.589105 71.589105 71.589105 -52 3 64.140471 64.140471 64.140471 -52 4 72.897188 72.897188 72.897188 -52 5 69.462220 69.462220 69.462220 -52 6 73.824115 73.824115 73.824115 -52 7 66.287254 66.287254 66.287254 -52 8 68.007353 68.007353 68.007353 -52 9 72.111026 72.111026 72.111026 -52 10 47.434165 47.434165 47.434165 -52 11 49.244289 49.244289 49.244289 -52 12 51.078371 51.078371 51.078371 -52 13 53.235327 53.235327 53.235327 -52 14 52.201533 52.201533 52.201533 -52 15 55.901699 55.901699 55.901699 -52 16 56.648036 56.648036 56.648036 -52 17 58.523500 58.523500 58.523500 -52 18 60.415230 60.415230 60.415230 -52 19 18.601075 18.601075 18.601075 -52 20 16.401219 16.401219 16.401219 -52 21 13.928388 13.928388 13.928388 -52 22 21.213203 21.213203 21.213203 -52 23 15.811388 15.811388 15.811388 -52 24 22.671568 22.671568 22.671568 -52 25 17.720045 17.720045 17.720045 -52 26 25.000000 25.000000 25.000000 -52 27 41.231056 41.231056 41.231056 -52 28 42.720019 42.720019 42.720019 -52 29 38.327536 38.327536 38.327536 -52 30 38.078866 38.078866 38.078866 -52 31 34.481879 34.481879 34.481879 -52 32 36.249138 36.249138 36.249138 -52 33 33.526109 33.526109 33.526109 -52 34 30.413813 30.413813 30.413813 -52 35 33.541020 33.541020 33.541020 -52 36 66.098411 66.098411 66.098411 -52 37 65.764732 65.764732 65.764732 -52 38 62.801274 62.801274 62.801274 -52 39 60.406953 60.406953 60.406953 -52 40 60.207973 60.207973 60.207973 -52 41 65.192024 65.192024 65.192024 -52 42 55.081757 55.081757 55.081757 -52 43 60.000000 60.000000 60.000000 -52 44 65.000000 65.000000 65.000000 -52 45 62.000000 62.000000 62.000000 -52 46 71.196910 71.196910 71.196910 -52 47 70.491134 70.491134 70.491134 -52 48 58.600341 58.600341 58.600341 -52 49 19.849433 19.849433 19.849433 -52 50 15.264338 15.264338 15.264338 -52 51 22.671568 22.671568 22.671568 -52 53 31.622777 31.622777 31.622777 -52 54 46.097722 46.097722 46.097722 -52 55 40.000000 40.000000 40.000000 -52 56 47.169906 47.169906 47.169906 -52 57 15.811388 15.811388 15.811388 -52 58 25.495098 25.495098 25.495098 -52 59 41.231056 41.231056 41.231056 -52 60 45.000000 45.000000 45.000000 -52 61 56.568542 56.568542 56.568542 -52 62 46.097722 46.097722 46.097722 -52 63 18.027756 18.027756 18.027756 -52 64 10.000000 10.000000 10.000000 -52 65 14.142136 14.142136 14.142136 -52 66 28.284271 28.284271 28.284271 -52 67 22.022716 22.022716 22.022716 -52 68 23.769729 23.769729 23.769729 -52 69 42.720019 42.720019 42.720019 -52 70 40.000000 40.000000 40.000000 -52 71 52.924474 52.924474 52.924474 -52 72 36.400549 36.400549 36.400549 -52 73 45.705580 45.705580 45.705580 -52 74 66.400301 66.400301 66.400301 -52 75 35.000000 35.000000 35.000000 -52 76 52.201533 52.201533 52.201533 -52 77 9.433981 9.433981 9.433981 -52 78 36.235342 36.235342 36.235342 -52 79 59.203040 59.203040 59.203040 -52 80 68.593003 68.593003 68.593003 -52 81 28.160256 28.160256 28.160256 -52 82 38.470768 38.470768 38.470768 -52 83 36.235342 36.235342 36.235342 -52 84 21.095023 21.095023 21.095023 -52 85 9.219544 9.219544 9.219544 -52 86 8.544004 8.544004 8.544004 -52 87 34.234486 34.234486 34.234486 -52 88 43.185646 43.185646 43.185646 -52 89 49.040799 49.040799 49.040799 -52 90 19.209373 19.209373 19.209373 -52 91 32.449961 32.449961 32.449961 -52 92 22.803509 22.803509 22.803509 -52 93 23.086793 23.086793 23.086793 -52 94 32.557641 32.557641 32.557641 -52 95 28.071338 28.071338 28.071338 -52 96 17.029386 17.029386 17.029386 -52 97 34.000000 34.000000 34.000000 -52 98 51.039201 51.039201 51.039201 -52 99 43.185646 43.185646 43.185646 -52 100 32.649655 32.649655 32.649655 -52 101 52.773099 52.773099 52.773099 -53 1 25.000000 25.000000 25.000000 -53 2 55.000000 55.000000 55.000000 -53 3 45.099889 45.099889 45.099889 -53 4 55.081757 55.081757 55.081757 -53 5 50.249378 50.249378 50.249378 -53 6 55.226805 55.226805 55.226805 -53 7 45.541190 45.541190 45.541190 -53 8 46.097722 46.097722 46.097722 -53 9 50.990195 50.990195 50.990195 -53 10 15.811388 15.811388 15.811388 -53 11 18.027756 18.027756 18.027756 -53 12 19.723083 19.723083 19.723083 -53 13 22.671568 22.671568 22.671568 -53 14 20.615528 20.615528 20.615528 -53 15 25.000000 25.000000 25.000000 -53 16 25.079872 25.079872 25.079872 -53 17 26.925824 26.925824 26.925824 -53 18 29.154759 29.154759 29.154759 -53 19 31.400637 31.400637 31.400637 -53 20 26.248809 26.248809 26.248809 -53 21 22.671568 22.671568 22.671568 -53 22 29.154759 29.154759 29.154759 -53 23 21.213203 21.213203 21.213203 -53 24 28.178006 28.178006 28.178006 -53 25 19.849433 19.849433 19.849433 -53 26 26.925824 26.925824 26.925824 -53 27 70.000000 70.000000 70.000000 -53 28 70.178344 70.178344 70.178344 -53 29 67.000000 67.000000 67.000000 -53 30 65.192024 65.192024 65.192024 -53 31 63.000000 63.000000 63.000000 -53 32 63.198101 63.198101 63.198101 -53 33 62.000000 62.000000 62.000000 -53 34 60.207973 60.207973 60.207973 -53 35 60.207973 60.207973 60.207973 -53 36 69.202601 69.202601 69.202601 -53 37 68.007353 68.007353 68.007353 -53 38 65.604878 65.604878 65.604878 -53 39 62.201286 62.201286 62.201286 -53 40 61.032778 61.032778 61.032778 -53 41 65.192024 65.192024 65.192024 -53 42 55.803226 55.803226 55.803226 -53 43 58.309519 58.309519 58.309519 -53 44 62.649820 62.649820 62.649820 -53 45 60.033324 60.033324 60.033324 -53 46 52.239832 52.239832 52.239832 -53 47 50.487622 50.487622 50.487622 -53 48 27.459060 27.459060 27.459060 -53 49 30.232433 30.232433 30.232433 -53 50 24.758837 24.758837 24.758837 -53 51 47.265209 47.265209 47.265209 -53 52 31.622777 31.622777 31.622777 -53 54 20.615528 20.615528 20.615528 -53 55 42.426407 42.426407 42.426407 -53 56 30.413813 30.413813 30.413813 -53 57 25.495098 25.495098 25.495098 -53 58 7.071068 7.071068 7.071068 -53 59 22.360680 22.360680 22.360680 -53 60 18.027756 18.027756 18.027756 -53 61 31.622777 31.622777 31.622777 -53 62 40.311289 40.311289 40.311289 -53 63 40.311289 40.311289 40.311289 -53 64 41.231056 41.231056 41.231056 -53 65 20.000000 20.000000 20.000000 -53 66 14.142136 14.142136 14.142136 -53 67 17.464249 17.464249 17.464249 -53 68 40.804412 40.804412 40.804412 -53 69 33.541020 33.541020 33.541020 -53 70 22.803509 22.803509 22.803509 -53 71 40.261644 40.261644 40.261644 -53 72 47.169906 47.169906 47.169906 -53 73 51.662365 51.662365 51.662365 -53 74 37.802116 37.802116 37.802116 -53 75 11.180340 11.180340 11.180340 -53 76 32.015621 32.015621 32.015621 -53 77 39.357337 39.357337 39.357337 -53 78 27.073973 27.073973 27.073973 -53 79 31.064449 31.064449 31.064449 -53 80 42.485292 42.485292 42.485292 -53 81 27.802878 27.802878 27.802878 -53 82 36.878178 36.878178 36.878178 -53 83 13.152946 13.152946 13.152946 -53 84 12.041595 12.041595 12.041595 -53 85 32.015621 32.015621 32.015621 -53 86 38.639358 38.639358 38.639358 -53 87 7.211103 7.211103 7.211103 -53 88 14.317821 14.317821 14.317821 -53 89 28.017851 28.017851 28.017851 -53 90 48.877398 48.877398 48.877398 -53 91 20.808652 20.808652 20.808652 -53 92 26.832816 26.832816 26.832816 -53 93 30.870698 30.870698 30.870698 -53 94 42.190046 42.190046 42.190046 -53 95 36.715120 36.715120 36.715120 -53 96 31.780497 31.780497 31.780497 -53 97 38.418745 38.418745 38.418745 -53 98 24.186773 24.186773 24.186773 -53 99 22.022716 22.022716 22.022716 -53 100 5.099020 5.099020 5.099020 -53 101 37.483330 37.483330 37.483330 -54 1 20.000000 20.000000 20.000000 -54 2 35.355339 35.355339 35.355339 -54 3 25.079872 25.079872 25.079872 -54 4 35.057096 35.057096 35.057096 -54 5 30.000000 30.000000 30.000000 -54 6 35.000000 35.000000 35.000000 -54 7 25.079872 25.079872 25.079872 -54 8 25.495098 25.495098 25.495098 -54 9 30.413813 30.413813 30.413813 -54 10 18.027756 18.027756 18.027756 -54 11 14.142136 14.142136 14.142136 -54 12 15.620499 15.620499 15.620499 -54 13 13.000000 13.000000 13.000000 -54 14 21.213203 21.213203 21.213203 -54 15 15.811388 15.811388 15.811388 -54 16 20.591260 20.591260 20.591260 -54 17 22.360680 22.360680 22.360680 -54 18 20.615528 20.615528 20.615528 -54 19 51.000000 51.000000 51.000000 -54 20 45.650849 45.650849 45.650849 -54 21 41.340053 41.340053 41.340053 -54 22 49.244289 49.244289 49.244289 -54 23 40.311289 40.311289 40.311289 -54 24 48.466483 48.466483 48.466483 -54 25 39.357337 39.357337 39.357337 -54 26 47.434165 47.434165 47.434165 -54 27 77.620873 77.620873 77.620873 -54 28 76.485293 76.485293 76.485293 -54 29 74.726167 74.726167 74.726167 -54 30 71.589105 71.589105 71.589105 -54 31 70.880181 70.880181 70.880181 -54 32 69.634761 69.634761 69.634761 -54 33 69.921384 69.921384 69.921384 -54 34 69.641941 69.641941 69.641941 -54 35 66.708320 66.708320 66.708320 -54 36 58.600341 58.600341 58.600341 -54 37 57.008771 57.008771 57.008771 -54 38 55.217751 55.217751 55.217751 -54 39 51.613952 51.613952 51.613952 -54 40 50.000000 50.000000 50.000000 -54 41 53.150729 53.150729 53.150729 -54 42 45.486262 45.486262 45.486262 -54 43 46.097722 46.097722 46.097722 -54 44 49.497475 49.497475 49.497475 -54 45 47.423623 47.423623 47.423623 -54 46 32.000000 32.000000 32.000000 -54 47 30.066593 30.066593 30.066593 -54 48 18.681542 18.681542 18.681542 -54 49 50.089919 50.089919 50.089919 -54 50 43.908997 43.908997 43.908997 -54 51 54.120237 54.120237 54.120237 -54 52 46.097722 46.097722 46.097722 -54 53 20.615528 20.615528 20.615528 -54 55 36.400549 36.400549 36.400549 -54 56 14.142136 14.142136 14.142136 -54 57 33.541020 33.541020 33.541020 -54 58 26.925824 26.925824 26.925824 -54 59 40.311289 40.311289 40.311289 -54 60 31.622777 31.622777 31.622777 -54 61 11.180340 11.180340 11.180340 -54 62 29.154759 29.154759 29.154759 -54 63 47.434165 47.434165 47.434165 -54 64 54.083269 54.083269 54.083269 -54 65 32.015621 32.015621 32.015621 -54 66 18.027756 18.027756 18.027756 -54 67 24.698178 24.698178 24.698178 -54 68 44.721360 44.721360 44.721360 -54 69 22.360680 22.360680 22.360680 -54 70 11.180340 11.180340 11.180340 -54 71 24.207437 24.207437 24.207437 -54 72 45.276926 45.276926 45.276926 -54 73 45.541190 45.541190 45.541190 -54 74 20.591260 20.591260 20.591260 -54 75 30.000000 30.000000 30.000000 -54 76 47.434165 47.434165 47.434165 -54 77 55.172457 55.172457 55.172457 -54 78 47.095647 47.095647 47.095647 -54 79 13.416408 13.416408 13.416408 -54 80 22.803509 22.803509 22.803509 -54 81 27.166155 27.166155 27.166155 -54 82 30.083218 30.083218 30.083218 -54 83 9.899495 9.899495 9.899495 -54 84 25.495098 25.495098 25.495098 -54 85 42.544095 42.544095 42.544095 -54 86 50.774009 50.774009 50.774009 -54 87 26.019224 26.019224 26.019224 -54 88 27.202941 27.202941 27.202941 -54 89 8.944272 8.944272 8.944272 -54 90 65.069194 65.069194 65.069194 -54 91 17.262677 17.262677 17.262677 -54 92 30.083218 30.083218 30.083218 -54 93 33.734256 33.734256 33.734256 -54 94 41.048752 41.048752 41.048752 -54 95 37.054015 37.054015 37.054015 -54 96 38.275318 38.275318 38.275318 -54 97 35.227830 35.227830 35.227830 -54 98 35.777088 35.777088 35.777088 -54 99 6.324555 6.324555 6.324555 -54 100 16.155494 16.155494 16.155494 -54 101 20.248457 20.248457 20.248457 -55 1 18.027756 18.027756 18.027756 -55 2 39.051248 39.051248 39.051248 -55 3 36.249138 36.249138 36.249138 -55 4 41.400483 41.400483 41.400483 -55 5 40.311289 40.311289 40.311289 -55 6 43.011626 43.011626 43.011626 -55 7 39.924930 39.924930 39.924930 -55 8 42.720019 42.720019 42.720019 -55 9 44.721360 44.721360 44.721360 -55 10 51.478151 51.478151 51.478151 -55 11 49.244289 49.244289 49.244289 -55 12 51.078371 51.078371 51.078371 -55 13 49.335586 49.335586 49.335586 -55 14 55.901699 55.901699 55.901699 -55 15 52.201533 52.201533 52.201533 -55 16 56.648036 56.648036 56.648036 -55 17 58.523500 58.523500 58.523500 -55 18 57.008771 57.008771 57.008771 -55 19 56.089215 56.089215 56.089215 -55 20 51.662365 51.662365 51.662365 -55 21 46.840154 46.840154 46.840154 -55 22 57.008771 57.008771 57.008771 -55 23 47.434165 47.434165 47.434165 -55 24 57.567352 57.567352 57.567352 -55 25 48.104054 48.104054 48.104054 -55 26 58.523500 58.523500 58.523500 -55 27 50.000000 50.000000 50.000000 -55 28 47.169906 47.169906 47.169906 -55 29 47.634021 47.634021 47.634021 -55 30 43.011626 43.011626 43.011626 -55 31 44.598206 44.598206 44.598206 -55 32 41.400483 41.400483 41.400483 -55 33 43.863424 43.863424 43.863424 -55 34 46.097722 46.097722 46.097722 -55 35 39.051248 39.051248 39.051248 -55 36 27.730849 27.730849 27.730849 -55 37 26.925824 26.925824 26.925824 -55 38 24.166092 24.166092 24.166092 -55 39 21.189620 21.189620 21.189620 -55 40 20.615528 20.615528 20.615528 -55 41 25.495098 25.495098 25.495098 -55 42 15.297059 15.297059 15.297059 -55 43 20.000000 20.000000 20.000000 -55 44 25.000000 25.000000 25.000000 -55 45 22.000000 22.000000 22.000000 -55 46 41.340053 41.340053 41.340053 -55 47 42.059482 42.059482 42.059482 -55 48 55.081757 55.081757 55.081757 -55 49 56.515485 56.515485 56.515485 -55 50 49.729267 49.729267 49.729267 -55 51 30.232433 30.232433 30.232433 -55 52 40.000000 40.000000 40.000000 -55 53 42.426407 42.426407 42.426407 -55 54 36.400549 36.400549 36.400549 -55 56 25.000000 25.000000 25.000000 -55 57 25.495098 25.495098 25.495098 -55 58 43.011626 43.011626 43.011626 -55 59 64.031242 64.031242 64.031242 -55 60 60.207973 60.207973 60.207973 -55 61 40.000000 40.000000 40.000000 -55 62 11.180340 11.180340 11.180340 -55 63 26.925824 26.925824 26.925824 -55 64 41.231056 41.231056 41.231056 -55 65 31.622777 31.622777 31.622777 -55 66 28.284271 28.284271 28.284271 -55 67 26.925824 26.925824 26.925824 -55 68 20.124612 20.124612 20.124612 -55 69 15.000000 15.000000 15.000000 -55 70 25.298221 25.298221 25.298221 -55 71 21.931712 21.931712 21.931712 -55 72 11.180340 11.180340 11.180340 -55 73 9.433981 9.433981 9.433981 -55 74 53.000000 53.000000 53.000000 -55 75 53.150729 53.150729 53.150729 -55 76 74.330344 74.330344 74.330344 -55 77 48.259714 48.259714 48.259714 -55 78 65.368188 65.368188 65.368188 -55 79 47.169906 47.169906 47.169906 -55 80 49.648766 49.648766 49.648766 -55 81 15.264338 15.264338 15.264338 -55 82 6.324555 6.324555 6.324555 -55 83 32.756679 32.756679 32.756679 -55 84 34.132096 34.132096 34.132096 -55 85 31.064449 31.064449 31.064449 -55 86 37.854986 37.854986 37.854986 -55 87 49.517674 49.517674 49.517674 -55 88 56.080300 56.080300 56.080300 -55 89 31.064449 31.064449 31.064449 -55 90 56.293872 56.293872 56.293872 -55 91 22.203603 22.203603 22.203603 -55 92 18.973666 18.973666 18.973666 -55 93 17.117243 17.117243 17.117243 -55 94 10.000000 10.000000 10.000000 -55 95 12.165525 12.165525 12.165525 -55 96 23.021729 23.021729 23.021729 -55 97 6.000000 6.000000 6.000000 -55 98 66.068147 66.068147 66.068147 -55 99 30.083218 30.083218 30.083218 -55 100 38.288379 38.288379 38.288379 -55 101 25.000000 25.000000 25.000000 -56 1 14.142136 14.142136 14.142136 -56 2 25.495098 25.495098 25.495098 -56 3 17.000000 17.000000 17.000000 -56 4 26.248809 26.248809 26.248809 -56 5 22.360680 22.360680 22.360680 -56 6 26.925824 26.925824 26.925824 -56 7 19.209373 19.209373 19.209373 -56 8 21.213203 21.213203 21.213203 -56 9 25.000000 25.000000 25.000000 -56 10 32.015621 32.015621 32.015621 -56 11 28.284271 28.284271 28.284271 -56 12 29.732137 29.732137 29.732137 -56 13 26.627054 26.627054 26.627054 -56 14 35.355339 35.355339 35.355339 -56 15 29.154759 29.154759 29.154759 -56 16 34.409301 34.409301 34.409301 -56 17 36.055513 36.055513 36.055513 -56 18 33.541020 33.541020 33.541020 -56 19 56.753854 56.753854 56.753854 -56 20 51.419841 51.419841 51.419841 -56 21 46.572524 46.572524 46.572524 -56 22 55.901699 55.901699 55.901699 -56 23 46.097722 46.097722 46.097722 -56 24 55.578773 55.578773 55.578773 -56 25 45.705580 45.705580 45.705580 -56 26 55.226805 55.226805 55.226805 -56 27 71.589105 71.589105 71.589105 -56 28 69.641941 69.641941 69.641941 -56 29 68.876701 68.876701 68.876701 -56 30 65.000000 65.000000 65.000000 -56 31 65.299311 65.299311 65.299311 -56 32 63.158531 63.158531 63.158531 -56 33 64.412732 64.412732 64.412732 -56 34 65.192024 65.192024 65.192024 -56 35 60.415230 60.415230 60.415230 -56 36 44.654227 44.654227 44.654227 -56 37 43.011626 43.011626 43.011626 -56 38 41.340053 41.340053 41.340053 -56 39 37.735925 37.735925 37.735925 -56 40 36.055513 36.055513 36.055513 -56 41 39.051248 39.051248 39.051248 -56 42 31.764760 31.764760 31.764760 -56 43 32.015621 32.015621 32.015621 -56 44 35.355339 35.355339 35.355339 -56 45 33.301652 33.301652 33.301652 -56 46 24.166092 24.166092 24.166092 -56 47 23.323808 23.323808 23.323808 -56 48 31.764760 31.764760 31.764760 -56 49 56.293872 56.293872 56.293872 -56 50 49.477268 49.477268 49.477268 -56 51 48.877398 48.877398 48.877398 -56 52 47.169906 47.169906 47.169906 -56 53 30.413813 30.413813 30.413813 -56 54 14.142136 14.142136 14.142136 -56 55 25.000000 25.000000 25.000000 -56 57 32.015621 32.015621 32.015621 -56 58 35.000000 35.000000 35.000000 -56 59 52.201533 52.201533 52.201533 -56 60 44.721360 44.721360 44.721360 -56 61 15.000000 15.000000 15.000000 -56 62 15.811388 15.811388 15.811388 -56 63 43.011626 43.011626 43.011626 -56 64 53.150729 53.150729 53.150729 -56 65 33.541020 33.541020 33.541020 -56 66 20.615528 20.615528 20.615528 -56 67 25.495098 25.495098 25.495098 -56 68 38.470768 38.470768 38.470768 -56 69 10.000000 10.000000 10.000000 -56 70 8.062258 8.062258 8.062258 -56 71 10.295630 10.295630 10.295630 -56 72 35.355339 35.355339 35.355339 -56 73 33.376639 33.376639 33.376639 -56 74 28.000000 28.000000 28.000000 -56 75 41.231056 41.231056 41.231056 -56 76 60.415230 60.415230 60.415230 -56 77 56.603887 56.603887 56.603887 -56 78 57.428216 57.428216 57.428216 -56 79 22.360680 22.360680 22.360680 -56 80 25.298221 25.298221 25.298221 -56 81 21.400935 21.400935 21.400935 -56 82 19.104973 19.104973 19.104973 -56 83 17.262677 17.262677 17.262677 -56 84 29.832868 29.832868 29.832868 -56 85 41.109610 41.109610 41.109610 -56 86 49.578221 49.578221 49.578221 -56 87 37.107951 37.107951 37.107951 -56 88 40.249224 40.249224 40.249224 -56 89 6.324555 6.324555 6.324555 -56 90 66.287254 66.287254 66.287254 -56 91 14.764823 14.764823 14.764823 -56 92 26.172505 26.172505 26.172505 -56 93 28.600699 28.600699 28.600699 -56 94 32.015621 32.015621 32.015621 -56 95 29.546573 29.546573 29.546573 -56 96 34.713110 34.713110 34.713110 -56 97 25.709920 25.709920 25.709920 -56 98 49.396356 49.396356 49.396356 -56 99 8.944272 8.944272 8.944272 -56 100 25.317978 25.317978 25.317978 -56 101 7.071068 7.071068 7.071068 -57 1 18.027756 18.027756 18.027756 -57 2 55.901699 55.901699 55.901699 -57 3 48.826222 48.826222 48.826222 -57 4 57.306195 57.306195 57.306195 -57 5 54.083269 54.083269 54.083269 -57 6 58.309519 58.309519 58.309519 -57 7 51.224994 51.224994 51.224994 -57 8 53.150729 53.150729 53.150729 -57 9 57.008771 57.008771 57.008771 -57 10 40.000000 40.000000 40.000000 -57 11 40.311289 40.311289 40.311289 -57 12 42.296572 42.296572 42.296572 -57 13 43.174066 43.174066 43.174066 -57 14 45.000000 45.000000 45.000000 -57 15 46.097722 46.097722 46.097722 -57 16 48.259714 48.259714 48.259714 -57 17 50.249378 50.249378 50.249378 -57 18 50.990195 50.990195 50.990195 -57 19 30.594117 30.594117 30.594117 -57 20 26.248809 26.248809 26.248809 -57 21 21.540659 21.540659 21.540659 -57 22 31.622777 31.622777 31.622777 -57 23 22.360680 22.360680 22.360680 -57 24 32.310989 32.310989 32.310989 -57 25 23.323808 23.323808 23.323808 -57 26 33.541020 33.541020 33.541020 -57 27 45.276926 45.276926 45.276926 -57 28 45.000000 45.000000 45.000000 -57 29 42.296572 42.296572 42.296572 -57 30 40.000000 40.000000 40.000000 -57 31 38.327536 38.327536 38.327536 -57 32 38.000000 38.000000 38.000000 -57 33 37.336309 37.336309 37.336309 -57 34 36.400549 36.400549 36.400549 -57 35 35.000000 35.000000 35.000000 -57 36 52.810984 52.810984 52.810984 -57 37 52.201533 52.201533 52.201533 -57 38 49.335586 49.335586 49.335586 -57 39 46.572524 46.572524 46.572524 -57 40 46.097722 46.097722 46.097722 -57 41 50.990195 50.990195 50.990195 -57 42 40.792156 40.792156 40.792156 -57 43 45.276926 45.276926 45.276926 -57 44 50.249378 50.249378 50.249378 -57 45 47.265209 47.265209 47.265209 -57 46 55.758407 55.758407 55.758407 -57 47 55.217751 55.217751 55.217751 -57 48 49.030603 49.030603 49.030603 -57 49 31.048349 31.048349 31.048349 -57 50 24.351591 24.351591 24.351591 -57 51 22.000000 22.000000 22.000000 -57 52 15.811388 15.811388 15.811388 -57 53 25.495098 25.495098 25.495098 -57 54 33.541020 33.541020 33.541020 -57 55 25.495098 25.495098 25.495098 -57 56 32.015621 32.015621 32.015621 -57 58 22.360680 22.360680 22.360680 -57 59 43.011626 43.011626 43.011626 -57 60 42.720019 42.720019 42.720019 -57 61 43.011626 43.011626 43.011626 -57 62 30.413813 30.413813 30.413813 -57 63 15.000000 15.000000 15.000000 -57 64 21.213203 21.213203 21.213203 -57 65 7.071068 7.071068 7.071068 -57 66 15.811388 15.811388 15.811388 -57 67 9.219544 9.219544 9.219544 -57 68 15.652476 15.652476 15.652476 -57 69 26.925824 26.925824 26.925824 -57 70 25.495098 25.495098 25.495098 -57 71 37.161808 37.161808 37.161808 -57 72 25.000000 25.000000 25.000000 -57 73 32.695565 32.695565 32.695565 -57 74 54.120237 54.120237 54.120237 -57 75 33.541020 33.541020 33.541020 -57 76 54.083269 54.083269 54.083269 -57 77 25.079872 25.079872 25.079872 -57 78 41.868843 41.868843 41.868843 -57 79 46.957428 46.957428 46.957428 -57 80 55.000000 55.000000 55.000000 -57 81 12.369317 12.369317 12.369317 -57 82 23.021729 23.021729 23.021729 -57 83 24.351591 24.351591 24.351591 -57 84 13.601471 13.601471 13.601471 -57 85 9.219544 9.219544 9.219544 -57 86 17.691806 17.691806 17.691806 -57 87 31.016125 31.016125 31.016125 -57 88 39.560081 39.560081 39.560081 -57 89 34.713110 34.713110 34.713110 -57 90 34.481879 34.481879 34.481879 -57 91 17.691806 17.691806 17.691806 -57 92 7.071068 7.071068 7.071068 -57 93 8.544004 8.544004 8.544004 -57 94 20.248457 20.248457 20.248457 -57 95 14.764823 14.764823 14.764823 -57 96 6.324555 6.324555 6.324555 -57 97 19.646883 19.646883 19.646883 -57 98 49.040799 49.040799 49.040799 -57 99 29.410882 29.410882 29.410882 -57 100 24.000000 24.000000 24.000000 -57 101 37.215588 37.215588 37.215588 -58 1 26.925824 26.925824 26.925824 -58 2 60.207973 60.207973 60.207973 -58 3 50.635956 50.635956 50.635956 -58 4 60.530984 60.530984 60.530984 -58 5 55.901699 55.901699 55.901699 -58 6 60.827625 60.827625 60.827625 -58 7 51.419841 51.419841 51.419841 -58 8 52.201533 52.201533 52.201533 -58 9 57.008771 57.008771 57.008771 -58 10 22.360680 22.360680 22.360680 -58 11 25.000000 25.000000 25.000000 -58 12 26.627054 26.627054 26.627054 -58 13 29.732137 29.732137 29.732137 -58 14 26.925824 26.925824 26.925824 -58 15 32.015621 32.015621 32.015621 -58 16 31.764760 31.764760 31.764760 -58 17 33.541020 33.541020 33.541020 -58 18 36.055513 36.055513 36.055513 -58 19 24.413111 24.413111 24.413111 -58 20 19.209373 19.209373 19.209373 -58 21 15.620499 15.620499 15.620499 -58 22 22.360680 22.360680 22.360680 -58 23 14.142136 14.142136 14.142136 -58 24 21.540659 21.540659 21.540659 -58 25 12.806248 12.806248 12.806248 -58 26 20.615528 20.615528 20.615528 -58 27 65.192024 65.192024 65.192024 -58 28 65.764732 65.764732 65.764732 -58 29 62.201286 62.201286 62.201286 -58 30 60.827625 60.827625 60.827625 -58 31 58.215118 58.215118 58.215118 -58 32 58.855756 58.855756 58.855756 -58 33 57.218878 57.218878 57.218878 -58 34 55.000000 55.000000 55.000000 -58 35 55.901699 55.901699 55.901699 -58 36 70.491134 70.491134 70.491134 -58 37 69.462220 69.462220 69.462220 -58 38 66.887966 66.887966 66.887966 -58 39 63.631753 63.631753 63.631753 -58 40 62.649820 62.649820 62.649820 -58 41 67.082039 67.082039 67.082039 -58 42 57.306195 57.306195 57.306195 -58 43 60.415230 60.415230 60.415230 -58 44 65.000000 65.000000 65.000000 -58 45 62.241465 62.241465 62.241465 -58 46 57.870545 57.870545 57.870545 -58 47 56.293872 56.293872 56.293872 -58 48 34.409301 34.409301 34.409301 -58 49 23.323808 23.323808 23.323808 -58 50 17.691806 17.691806 17.691806 -58 51 43.174066 43.174066 43.174066 -58 52 25.495098 25.495098 25.495098 -58 53 7.071068 7.071068 7.071068 -58 54 26.925824 26.925824 26.925824 -58 55 43.011626 43.011626 43.011626 -58 56 35.000000 35.000000 35.000000 -58 57 22.360680 22.360680 22.360680 -58 59 21.213203 21.213203 21.213203 -58 60 20.615528 20.615528 20.615528 -58 61 38.078866 38.078866 38.078866 -58 62 42.720019 42.720019 42.720019 -58 63 36.400549 36.400549 36.400549 -58 64 35.355339 35.355339 35.355339 -58 65 15.811388 15.811388 15.811388 -58 66 15.811388 15.811388 15.811388 -58 67 16.278821 16.278821 16.278821 -58 68 38.013156 38.013156 38.013156 -58 69 36.400549 36.400549 36.400549 -58 70 27.018512 27.018512 27.018512 -58 71 44.283180 44.283180 44.283180 -58 72 46.097722 46.097722 46.097722 -58 73 51.855569 51.855569 51.855569 -58 74 44.821870 44.821870 44.821870 -58 75 11.180340 11.180340 11.180340 -58 76 32.015621 32.015621 32.015621 -58 77 32.695565 32.695565 32.695565 -58 78 23.086793 23.086793 23.086793 -58 79 38.013156 38.013156 38.013156 -58 80 49.244289 49.244289 49.244289 -58 81 27.802878 27.802878 27.802878 -58 82 38.078866 38.078866 38.078866 -58 83 18.248288 18.248288 18.248288 -58 84 9.219544 9.219544 9.219544 -58 85 27.294688 27.294688 27.294688 -58 86 33.060551 33.060551 33.060551 -58 87 9.055385 9.055385 9.055385 -58 88 18.027756 18.027756 18.027756 -58 89 33.541020 33.541020 33.541020 -58 90 42.059482 42.059482 42.059482 -58 91 23.086793 23.086793 23.086793 -58 92 25.495098 25.495098 25.495098 -58 93 29.206164 29.206164 29.206164 -58 94 41.109610 41.109610 41.109610 -58 95 35.468296 35.468296 35.468296 -58 96 28.635642 28.635642 28.635642 -58 97 38.288379 38.288379 38.288379 -58 98 26.925824 26.925824 26.925824 -58 99 27.294688 27.294688 27.294688 -58 100 10.770330 10.770330 10.770330 -58 101 42.011903 42.011903 42.011903 -59 1 47.169906 47.169906 47.169906 -59 2 75.663730 75.663730 75.663730 -59 3 65.375837 65.375837 65.375837 -59 4 75.325958 75.325958 75.325958 -59 5 70.178344 70.178344 70.178344 -59 6 75.166482 75.166482 75.166482 -59 7 65.069194 65.069194 65.069194 -59 8 65.000000 65.000000 65.000000 -59 9 70.000000 70.000000 70.000000 -59 10 25.495098 25.495098 25.495098 -59 11 30.413813 30.413813 30.413813 -59 12 30.805844 30.805844 30.805844 -59 13 35.693137 35.693137 35.693137 -59 14 26.925824 26.925824 26.925824 -59 15 36.400549 36.400549 36.400549 -59 16 32.695565 32.695565 32.695565 -59 17 33.541020 33.541020 33.541020 -59 18 38.078866 38.078866 38.078866 -59 19 29.427878 29.427878 29.427878 -59 20 27.000000 27.000000 27.000000 -59 21 27.459060 27.459060 27.459060 -59 22 25.495098 25.495098 25.495098 -59 23 25.495098 25.495098 25.495098 -59 24 23.537205 23.537205 23.537205 -59 25 23.537205 23.537205 23.537205 -59 26 20.615528 20.615528 20.615528 -59 27 82.462113 82.462113 82.462113 -59 28 83.815273 83.815273 83.815273 -59 29 79.555012 79.555012 79.555012 -59 30 79.056942 79.056942 79.056942 -59 31 75.690158 75.690158 75.690158 -59 32 77.162167 77.162167 77.162167 -59 33 74.726167 74.726167 74.726167 -59 34 71.589105 71.589105 71.589105 -59 35 74.330344 74.330344 74.330344 -59 36 91.263355 91.263355 91.263355 -59 37 90.138782 90.138782 90.138782 -59 38 87.658428 87.658428 87.658428 -59 39 84.314886 84.314886 84.314886 -59 40 83.216585 83.216585 83.216585 -59 41 87.464278 87.464278 87.464278 -59 42 77.935871 77.935871 77.935871 -59 43 80.622577 80.622577 80.622577 -59 44 85.000000 85.000000 85.000000 -59 45 82.365041 82.365041 82.365041 -59 46 72.173402 72.173402 72.173402 -59 47 70.064256 70.064256 70.064256 -59 48 37.336309 37.336309 37.336309 -59 49 27.459060 27.459060 27.459060 -59 50 27.073973 27.073973 27.073973 -59 51 62.241465 62.241465 62.241465 -59 52 41.231056 41.231056 41.231056 -59 53 22.360680 22.360680 22.360680 -59 54 40.311289 40.311289 40.311289 -59 55 64.031242 64.031242 64.031242 -59 56 52.201533 52.201533 52.201533 -59 57 43.011626 43.011626 43.011626 -59 58 21.213203 21.213203 21.213203 -59 60 11.180340 11.180340 11.180340 -59 61 50.000000 50.000000 50.000000 -59 62 62.649820 62.649820 62.649820 -59 63 55.901699 55.901699 55.901699 -59 64 50.990195 50.990195 50.990195 -59 65 36.055513 36.055513 36.055513 -59 66 36.055513 36.055513 36.055513 -59 67 37.483330 37.483330 37.483330 -59 68 58.523500 58.523500 58.523500 -59 69 55.901699 55.901699 55.901699 -59 70 44.944410 44.944410 44.944410 -59 71 62.297673 62.297673 62.297673 -59 72 67.268120 67.268120 67.268120 -59 73 73.000000 73.000000 73.000000 -59 74 51.662365 51.662365 51.662365 -59 75 11.180340 11.180340 11.180340 -59 76 11.180340 11.180340 11.180340 -59 77 45.044423 45.044423 45.044423 -59 78 10.630146 10.630146 10.630146 -59 79 46.529560 46.529560 46.529560 -59 80 58.694122 58.694122 58.694122 -59 81 48.918299 48.918299 48.918299 -59 82 58.821765 58.821765 58.821765 -59 83 35.114100 35.114100 35.114100 -59 84 30.413813 30.413813 30.413813 -59 85 46.097722 46.097722 46.097722 -59 86 49.729267 49.729267 49.729267 -59 87 15.231546 15.231546 15.231546 -59 88 14.317821 14.317821 14.317821 -59 89 48.836462 48.836462 48.836462 -59 90 52.239832 52.239832 52.239832 -59 91 43.046487 43.046487 43.046487 -59 92 46.690470 46.690470 46.690470 -59 93 50.328918 50.328918 50.328918 -59 94 62.289646 62.289646 62.289646 -59 95 56.639209 56.639209 56.639209 -59 96 49.091751 49.091751 49.091751 -59 97 59.464275 59.464275 59.464275 -59 98 13.601471 13.601471 13.601471 -59 99 43.416587 43.416587 43.416587 -59 100 27.313001 27.313001 27.313001 -59 101 59.203040 59.203040 59.203040 -60 1 42.426407 42.426407 42.426407 -60 2 66.708320 66.708320 66.708320 -60 3 56.293872 56.293872 56.293872 -60 4 66.098411 66.098411 66.098411 -60 5 60.827625 60.827625 60.827625 -60 6 65.764732 65.764732 65.764732 -60 7 55.578773 55.578773 55.578773 -60 8 55.226805 55.226805 55.226805 -60 9 60.207973 60.207973 60.207973 -60 10 15.000000 15.000000 15.000000 -60 11 20.000000 20.000000 20.000000 -60 12 20.099751 20.099751 20.099751 -60 13 25.079872 25.079872 25.079872 -60 14 15.811388 15.811388 15.811388 -60 15 25.495098 25.495098 25.495098 -60 16 21.540659 21.540659 21.540659 -60 17 22.360680 22.360680 22.360680 -60 18 26.925824 26.925824 26.925824 -60 19 37.161808 37.161808 37.161808 -60 20 33.526109 33.526109 33.526109 -60 21 32.388269 32.388269 32.388269 -60 22 33.541020 33.541020 33.541020 -60 23 30.413813 30.413813 30.413813 -60 24 31.764760 31.764760 31.764760 -60 25 28.442925 28.442925 28.442925 -60 26 29.154759 29.154759 29.154759 -60 27 85.586214 85.586214 85.586214 -60 28 86.313383 86.313383 86.313383 -60 29 82.607506 82.607506 82.607506 -60 30 81.394103 81.394103 81.394103 -60 31 78.638413 78.638413 78.638413 -60 32 79.429214 79.429214 79.429214 -60 33 77.646635 77.646635 77.646635 -60 34 75.166482 75.166482 75.166482 -60 35 76.485293 76.485293 76.485293 -60 36 86.452299 86.452299 86.452299 -60 37 85.146932 85.146932 85.146932 -60 38 82.879430 82.879430 82.879430 -60 39 79.397733 79.397733 79.397733 -60 40 78.102497 78.102497 78.102497 -60 41 82.006097 82.006097 82.006097 -60 42 73.000000 73.000000 73.000000 -60 43 75.000000 75.000000 75.000000 -60 44 79.056942 79.056942 79.056942 -60 45 76.609399 76.609399 76.609399 -60 46 62.801274 62.801274 62.801274 -60 47 60.530984 60.530984 60.530984 -60 48 26.248809 26.248809 26.248809 -60 49 35.341194 35.341194 35.341194 -60 50 32.984845 32.984845 32.984845 -60 51 63.788714 63.788714 63.788714 -60 52 45.000000 45.000000 45.000000 -60 53 18.027756 18.027756 18.027756 -60 54 31.622777 31.622777 31.622777 -60 55 60.207973 60.207973 60.207973 -60 56 44.721360 44.721360 44.721360 -60 57 42.720019 42.720019 42.720019 -60 58 20.615528 20.615528 20.615528 -60 59 11.180340 11.180340 11.180340 -60 61 40.311289 40.311289 40.311289 -60 62 57.008771 57.008771 57.008771 -60 63 57.008771 57.008771 57.008771 -60 64 55.000000 55.000000 55.000000 -60 65 36.400549 36.400549 36.400549 -60 66 32.015621 32.015621 32.015621 -60 67 35.355339 35.355339 35.355339 -60 68 58.309519 58.309519 58.309519 -60 69 50.000000 50.000000 50.000000 -60 70 38.275318 38.275318 38.275318 -60 71 55.009090 55.009090 55.009090 -60 72 65.192024 65.192024 65.192024 -60 73 69.526973 69.526973 69.526973 -60 74 40.792156 40.792156 40.792156 -60 75 10.000000 10.000000 10.000000 -60 76 15.811388 15.811388 15.811388 -60 77 50.635956 50.635956 50.635956 -60 78 21.400935 21.400935 21.400935 -60 79 36.055513 36.055513 36.055513 -60 80 48.166378 48.166378 48.166378 -60 81 45.803930 45.803930 45.803930 -60 82 54.451814 54.451814 54.451814 -60 83 28.600699 28.600699 28.600699 -60 84 29.154759 29.154759 29.154759 -60 85 47.853944 47.853944 47.853944 -60 86 53.084838 53.084838 53.084838 -60 87 11.704700 11.704700 11.704700 -60 88 4.472136 4.472136 4.472136 -60 89 40.496913 40.496913 40.496913 -60 90 58.940648 58.940648 58.940648 -60 91 38.183766 38.183766 38.183766 -60 92 44.777226 44.777226 44.777226 -60 93 48.764741 48.764741 48.764741 -60 94 60.207973 60.207973 60.207973 -60 95 54.708317 54.708317 54.708317 -60 96 49.040799 49.040799 49.040799 -60 97 56.400355 56.400355 56.400355 -60 98 6.324555 6.324555 6.324555 -60 99 35.777088 35.777088 35.777088 -60 100 21.931712 21.931712 21.931712 -60 101 51.478151 51.478151 51.478151 -61 1 26.925824 26.925824 26.925824 -61 2 26.925824 26.925824 26.925824 -61 3 16.552945 16.552945 16.552945 -61 4 25.961510 25.961510 25.961510 -61 5 20.615528 20.615528 20.615528 -61 6 25.495098 25.495098 25.495098 -61 7 15.297059 15.297059 15.297059 -61 8 15.000000 15.000000 15.000000 -61 9 20.000000 20.000000 20.000000 -61 10 25.495098 25.495098 25.495098 -61 11 20.615528 20.615528 20.615528 -61 12 21.189620 21.189620 21.189620 -61 13 16.552945 16.552945 16.552945 -61 14 26.925824 26.925824 26.925824 -61 15 18.027756 18.027756 18.027756 -61 16 23.853721 23.853721 23.853721 -61 17 25.000000 25.000000 25.000000 -61 18 21.213203 21.213203 21.213203 -61 19 62.177166 62.177166 62.177166 -61 20 56.824291 56.824291 56.824291 -61 21 52.478567 52.478567 52.478567 -61 22 60.415230 60.415230 60.415230 -61 23 51.478151 51.478151 51.478151 -61 24 59.615434 59.615434 59.615434 -61 25 50.537115 50.537115 50.537115 -61 26 58.523500 58.523500 58.523500 -61 27 85.440037 85.440037 85.440037 -61 28 83.815273 83.815273 83.815273 -61 29 82.637764 82.637764 82.637764 -61 30 79.056942 79.056942 79.056942 -61 31 78.924014 78.924014 78.924014 -61 32 77.162167 77.162167 77.162167 -61 33 78.000000 78.000000 78.000000 -61 34 78.262379 78.262379 78.262379 -61 35 74.330344 74.330344 74.330344 -61 36 57.697487 57.697487 57.697487 -61 37 55.901699 55.901699 55.901699 -61 38 54.626001 54.626001 54.626001 -61 39 51.078371 51.078371 51.078371 -61 40 49.244289 49.244289 49.244289 -61 41 51.478151 51.478151 51.478151 -61 42 45.541190 45.541190 45.541190 -61 43 44.721360 44.721360 44.721360 -61 44 47.169906 47.169906 47.169906 -61 45 45.650849 45.650849 45.650849 -61 46 22.561028 22.561028 22.561028 -61 47 20.223748 20.223748 20.223748 -61 48 19.849433 19.849433 19.849433 -61 49 61.269895 61.269895 61.269895 -61 50 55.072679 55.072679 55.072679 -61 51 62.241465 62.241465 62.241465 -61 52 56.568542 56.568542 56.568542 -61 53 31.622777 31.622777 31.622777 -61 54 11.180340 11.180340 11.180340 -61 55 40.000000 40.000000 40.000000 -61 56 15.000000 15.000000 15.000000 -61 57 43.011626 43.011626 43.011626 -61 58 38.078866 38.078866 38.078866 -61 59 50.000000 50.000000 50.000000 -61 60 40.311289 40.311289 40.311289 -61 62 30.413813 30.413813 30.413813 -61 63 55.901699 55.901699 55.901699 -61 64 64.031242 64.031242 64.031242 -61 65 42.426407 42.426407 42.426407 -61 66 28.284271 28.284271 28.284271 -61 67 34.713110 34.713110 34.713110 -61 68 52.201533 52.201533 52.201533 -61 69 25.000000 25.000000 25.000000 -61 70 17.888544 17.888544 17.888544 -61 71 21.931712 21.931712 21.931712 -61 72 50.249378 50.249378 50.249378 -61 73 48.259714 48.259714 48.259714 -61 74 13.000000 13.000000 13.000000 -61 75 40.311289 40.311289 40.311289 -61 76 55.901699 55.901699 55.901699 -61 77 65.795137 65.795137 65.795137 -61 78 57.558666 57.558666 57.558666 -61 79 8.062258 8.062258 8.062258 -61 80 12.041595 12.041595 12.041595 -61 81 34.539832 34.539832 34.539832 -61 82 34.058773 34.058773 34.058773 -61 83 20.808652 20.808652 20.808652 -61 84 36.400549 36.400549 36.400549 -61 85 52.201533 52.201533 52.201533 -61 86 60.605280 60.605280 60.605280 -61 87 36.496575 36.496575 36.496575 -61 88 36.124784 36.124784 36.124784 -61 89 9.219544 9.219544 9.219544 -61 90 75.690158 75.690158 75.690158 -61 91 25.553865 25.553865 25.553865 -61 92 38.470768 38.470768 38.470768 -61 93 41.629317 41.629317 41.629317 -61 94 46.690470 46.690470 46.690470 -61 95 43.680659 43.680659 43.680659 -61 96 47.010637 47.010637 47.010637 -61 97 40.447497 40.447497 40.447497 -61 98 43.416587 43.416587 43.416587 -61 99 13.601471 13.601471 13.601471 -61 100 27.313001 27.313001 27.313001 -61 101 17.464249 17.464249 17.464249 -62 1 15.811388 15.811388 15.811388 -62 2 28.284271 28.284271 28.284271 -62 3 25.079872 25.079872 25.079872 -62 4 30.479501 30.479501 30.479501 -62 5 29.154759 29.154759 29.154759 -62 6 32.015621 32.015621 32.015621 -62 7 28.792360 28.792360 28.792360 -62 8 31.622777 31.622777 31.622777 -62 9 33.541020 33.541020 33.541020 -62 10 46.097722 46.097722 46.097722 -62 11 43.011626 43.011626 43.011626 -62 12 44.654227 44.654227 44.654227 -62 13 42.059482 42.059482 42.059482 -62 14 50.000000 50.000000 50.000000 -62 15 44.721360 44.721360 44.721360 -62 16 49.739320 49.739320 49.739320 -62 17 51.478151 51.478151 51.478151 -62 18 49.244289 49.244289 49.244289 -62 19 60.008333 60.008333 60.008333 -62 20 55.081757 55.081757 55.081757 -62 21 50.089919 50.089919 50.089919 -62 22 60.207973 60.207973 60.207973 -62 23 50.249378 50.249378 50.249378 -62 24 60.406953 60.406953 60.406953 -62 25 50.487622 50.487622 50.487622 -62 26 60.827625 60.827625 60.827625 -62 27 61.032778 61.032778 61.032778 -62 28 58.309519 58.309519 58.309519 -62 29 58.600341 58.600341 58.600341 -62 30 54.083269 54.083269 54.083269 -62 31 55.443665 55.443665 55.443665 -62 32 52.430907 52.430907 52.430907 -62 33 54.671748 54.671748 54.671748 -62 34 56.568542 56.568542 56.568542 -62 35 50.000000 50.000000 50.000000 -62 36 29.732137 29.732137 29.732137 -62 37 28.284271 28.284271 28.284271 -62 38 26.248809 26.248809 26.248809 -62 39 22.671568 22.671568 22.671568 -62 40 21.213203 21.213203 21.213203 -62 41 25.000000 25.000000 25.000000 -62 42 16.401219 16.401219 16.401219 -62 43 18.027756 18.027756 18.027756 -62 44 22.360680 22.360680 22.360680 -62 45 19.723083 19.723083 19.723083 -62 46 30.232433 30.232433 30.232433 -62 47 30.886890 30.886890 30.886890 -62 48 47.423623 47.423623 47.423623 -62 49 60.074953 60.074953 60.074953 -62 50 53.084838 53.084838 53.084838 -62 51 40.360872 40.360872 40.360872 -62 52 46.097722 46.097722 46.097722 -62 53 40.311289 40.311289 40.311289 -62 54 29.154759 29.154759 29.154759 -62 55 11.180340 11.180340 11.180340 -62 56 15.811388 15.811388 15.811388 -62 57 30.413813 30.413813 30.413813 -62 58 42.720019 42.720019 42.720019 -62 59 62.649820 62.649820 62.649820 -62 60 57.008771 57.008771 57.008771 -62 61 30.413813 30.413813 30.413813 -62 63 36.055513 36.055513 36.055513 -62 64 49.244289 49.244289 49.244289 -62 65 35.000000 35.000000 35.000000 -62 66 26.925824 26.925824 26.925824 -62 67 28.284271 28.284271 28.284271 -62 68 29.832868 29.832868 29.832868 -62 69 7.071068 7.071068 7.071068 -62 70 19.104973 19.104973 19.104973 -62 71 10.770330 10.770330 10.770330 -62 72 22.360680 22.360680 22.360680 -62 73 18.000000 18.000000 18.000000 -62 74 43.289722 43.289722 43.289722 -62 75 51.478151 51.478151 51.478151 -62 76 72.111026 72.111026 72.111026 -62 77 55.081757 55.081757 55.081757 -62 78 65.787537 65.787537 65.787537 -62 79 38.078866 38.078866 38.078866 -62 80 39.115214 39.115214 39.115214 -62 81 18.110770 18.110770 18.110770 -62 82 8.062258 8.062258 8.062258 -62 83 28.425341 28.425341 28.425341 -62 84 34.928498 34.928498 34.928498 -62 85 37.947332 37.947332 37.947332 -62 86 45.694639 45.694639 45.694639 -62 87 47.507894 47.507894 47.507894 -62 88 52.630789 52.630789 52.630789 -62 89 22.135944 22.135944 22.135944 -62 90 63.906181 63.906181 63.906181 -62 91 19.697716 19.697716 19.697716 -62 92 23.345235 23.345235 23.345235 -62 93 23.409400 23.409400 23.409400 -62 94 20.615528 20.615528 20.615528 -62 95 20.808652 20.808652 20.808652 -62 96 30.083218 30.083218 30.083218 -62 97 14.866069 14.866069 14.866069 -62 98 62.369865 62.369865 62.369865 -62 99 23.021729 23.021729 23.021729 -62 100 35.510562 35.510562 35.510562 -62 101 14.142136 14.142136 14.142136 -63 1 29.154759 29.154759 29.154759 -63 2 64.031242 64.031242 64.031242 -63 3 58.728187 58.728187 58.728187 -63 4 65.946948 65.946948 65.946948 -63 5 63.639610 63.639610 63.639610 -63 6 67.268120 67.268120 67.268120 -63 7 61.717096 61.717096 61.717096 -63 8 64.031242 64.031242 64.031242 -63 9 67.268120 67.268120 67.268120 -63 10 55.000000 55.000000 55.000000 -63 11 55.226805 55.226805 55.226805 -63 12 57.218878 57.218878 57.218878 -63 13 57.870545 57.870545 57.870545 -63 14 60.000000 60.000000 60.000000 -63 15 60.827625 60.827625 60.827625 -63 16 63.198101 63.198101 63.198101 -63 17 65.192024 65.192024 65.192024 -63 18 65.764732 65.764732 65.764732 -63 19 36.619667 36.619667 36.619667 -63 20 33.970576 33.970576 33.970576 -63 21 30.479501 30.479501 30.479501 -63 22 39.051248 39.051248 39.051248 -63 23 32.015621 32.015621 32.015621 -63 24 40.360872 40.360872 40.360872 -63 25 33.600595 33.600595 33.600595 -63 26 42.426407 42.426407 42.426407 -63 27 30.413813 30.413813 30.413813 -63 28 30.000000 30.000000 30.000000 -63 29 27.459060 27.459060 27.459060 -63 30 25.000000 25.000000 25.000000 -63 31 23.537205 23.537205 23.537205 -63 32 23.000000 23.000000 23.000000 -63 33 22.561028 22.561028 22.561028 -63 34 22.360680 22.360680 22.360680 -63 35 20.000000 20.000000 20.000000 -63 36 50.039984 50.039984 50.039984 -63 37 50.000000 50.000000 50.000000 -63 38 47.000000 47.000000 47.000000 -63 39 45.099889 45.099889 45.099889 -63 40 45.276926 45.276926 45.276926 -63 41 50.249378 50.249378 50.249378 -63 42 40.607881 40.607881 40.607881 -63 43 46.097722 46.097722 46.097722 -63 44 50.990195 50.990195 50.990195 -63 45 48.052055 48.052055 48.052055 -63 46 65.069194 65.069194 65.069194 -63 47 65.069194 65.069194 65.069194 -63 48 63.788714 63.788714 63.788714 -63 49 37.802116 37.802116 37.802116 -63 50 32.526912 32.526912 32.526912 -63 51 7.000000 7.000000 7.000000 -63 52 18.027756 18.027756 18.027756 -63 53 40.311289 40.311289 40.311289 -63 54 47.434165 47.434165 47.434165 -63 55 26.925824 26.925824 26.925824 -63 56 43.011626 43.011626 43.011626 -63 57 15.000000 15.000000 15.000000 -63 58 36.400549 36.400549 36.400549 -63 59 55.901699 55.901699 55.901699 -63 60 57.008771 57.008771 57.008771 -63 61 55.901699 55.901699 55.901699 -63 62 36.055513 36.055513 36.055513 -63 64 15.000000 15.000000 15.000000 -63 65 20.615528 20.615528 20.615528 -63 66 30.413813 30.413813 30.413813 -63 67 24.083189 24.083189 24.083189 -63 68 7.071068 7.071068 7.071068 -63 69 35.355339 35.355339 35.355339 -63 70 38.013156 38.013156 38.013156 -63 71 45.343136 45.343136 45.343136 -63 72 20.000000 20.000000 20.000000 -63 73 30.066593 30.066593 30.066593 -63 74 67.779053 67.779053 67.779053 -63 75 47.434165 47.434165 47.434165 -63 76 67.082039 67.082039 67.082039 -63 77 23.537205 23.537205 23.537205 -63 78 52.801515 52.801515 52.801515 -63 79 60.745370 60.745370 60.745370 -63 80 67.601775 67.601775 67.601775 -63 81 21.633308 21.633308 21.633308 -63 82 28.017851 28.017851 28.017851 -63 83 38.832976 38.832976 38.832976 -63 84 28.284271 28.284271 28.284271 -63 85 10.000000 10.000000 10.000000 -63 86 12.165525 12.165525 12.165525 -63 87 45.354162 45.354162 45.354162 -63 88 54.129474 54.129474 54.129474 -63 89 47.010637 47.010637 47.010637 -63 90 30.066593 30.066593 30.066593 -63 91 30.463092 30.463092 30.463092 -63 92 17.464249 17.464249 17.464249 -63 93 14.422205 14.422205 14.422205 -63 94 17.464249 17.464249 17.464249 -63 95 15.264338 15.264338 15.264338 -63 96 9.219544 9.219544 9.219544 -63 97 21.470911 21.470911 21.470911 -63 98 63.324561 63.324561 63.324561 -63 99 42.544095 42.544095 42.544095 -63 100 39.000000 39.000000 39.000000 -63 101 46.690470 46.690470 46.690470 -64 1 39.051248 39.051248 39.051248 -64 2 76.321688 76.321688 76.321688 -64 3 69.814039 69.814039 69.814039 -64 4 77.935871 77.935871 77.935871 -64 5 75.000000 75.000000 75.000000 -64 6 79.056942 79.056942 79.056942 -64 7 72.346389 72.346389 72.346389 -64 8 74.330344 74.330344 74.330344 -64 9 78.102497 78.102497 78.102497 -64 10 57.008771 57.008771 57.008771 -64 11 58.523500 58.523500 58.523500 -64 12 60.406953 60.406953 60.406953 -64 13 62.241465 62.241465 62.241465 -64 14 61.846584 61.846584 61.846584 -64 15 65.000000 65.000000 65.000000 -64 16 66.098411 66.098411 66.098411 -64 17 68.007353 68.007353 68.007353 -64 18 69.641941 69.641941 69.641941 -64 19 25.806976 25.806976 25.806976 -64 20 25.079872 25.079872 25.079872 -64 21 23.537205 23.537205 23.537205 -64 22 29.154759 29.154759 29.154759 -64 23 25.495098 25.495098 25.495098 -64 24 30.886890 30.886890 30.886890 -64 25 27.459060 27.459060 27.459060 -64 26 33.541020 33.541020 33.541020 -64 27 31.622777 31.622777 31.622777 -64 28 33.541020 33.541020 33.541020 -64 29 28.792360 28.792360 28.792360 -64 30 29.154759 29.154759 29.154759 -64 31 25.079872 25.079872 25.079872 -64 32 27.459060 27.459060 27.459060 -64 33 24.166092 24.166092 24.166092 -64 34 20.615528 20.615528 20.615528 -64 35 25.000000 25.000000 25.000000 -64 36 65.030762 65.030762 65.030762 -64 37 65.000000 65.000000 65.000000 -64 38 62.000000 62.000000 62.000000 -64 39 60.074953 60.074953 60.074953 -64 40 60.207973 60.207973 60.207973 -64 41 65.192024 65.192024 65.192024 -64 42 55.443665 55.443665 55.443665 -64 43 60.827625 60.827625 60.827625 -64 44 65.764732 65.764732 65.764732 -64 45 62.801274 62.801274 62.801274 -64 46 76.609399 76.609399 76.609399 -64 47 76.216796 76.216796 76.216796 -64 48 67.779053 67.779053 67.779053 -64 49 27.459060 27.459060 27.459060 -64 50 24.351591 24.351591 24.351591 -64 51 16.552945 16.552945 16.552945 -64 52 10.000000 10.000000 10.000000 -64 53 41.231056 41.231056 41.231056 -64 54 54.083269 54.083269 54.083269 -64 55 41.231056 41.231056 41.231056 -64 56 53.150729 53.150729 53.150729 -64 57 21.213203 21.213203 21.213203 -64 58 35.355339 35.355339 35.355339 -64 59 50.990195 50.990195 50.990195 -64 60 55.000000 55.000000 55.000000 -64 61 64.031242 64.031242 64.031242 -64 62 49.244289 49.244289 49.244289 -64 63 15.000000 15.000000 15.000000 -64 65 22.360680 22.360680 22.360680 -64 66 36.055513 36.055513 36.055513 -64 67 29.410882 29.410882 29.410882 -64 68 22.022716 22.022716 22.022716 -64 69 47.169906 47.169906 47.169906 -64 70 46.690470 46.690470 46.690470 -64 71 57.454330 57.454330 57.454330 -64 72 35.000000 35.000000 35.000000 -64 73 45.044423 45.044423 45.044423 -64 74 74.625733 74.625733 74.625733 -64 75 45.000000 45.000000 45.000000 -64 76 61.846584 61.846584 61.846584 -64 77 9.433981 9.433981 9.433981 -64 78 45.310043 45.310043 45.310043 -64 79 67.416615 67.416615 67.416615 -64 80 76.059187 76.059187 76.059187 -64 81 32.449961 32.449961 32.449961 -64 82 41.231056 41.231056 41.231056 -64 83 44.418465 44.418465 44.418465 -64 84 30.083218 30.083218 30.083218 -64 85 12.041595 12.041595 12.041595 -64 86 3.605551 3.605551 3.605551 -64 87 44.181444 44.181444 44.181444 -64 88 53.150729 53.150729 53.150729 -64 89 55.901699 55.901699 55.901699 -64 90 15.132746 15.132746 15.132746 -64 91 38.897301 38.897301 38.897301 -64 92 27.202941 27.202941 27.202941 -64 93 25.942244 25.942244 25.942244 -64 94 32.249031 32.249031 32.249031 -64 95 29.120440 29.120440 29.120440 -64 96 19.235384 19.235384 19.235384 -64 97 35.440090 35.440090 35.440090 -64 98 61.032778 61.032778 61.032778 -64 99 50.447993 50.447993 50.447993 -64 100 41.785165 41.785165 41.785165 -64 101 58.008620 58.008620 58.008620 -65 1 20.615528 20.615528 20.615528 -65 2 58.523500 58.523500 58.523500 -65 3 50.537115 50.537115 50.537115 -65 4 59.615434 59.615434 59.615434 -65 5 55.901699 55.901699 55.901699 -65 6 60.415230 60.415230 60.415230 -65 7 52.478567 52.478567 52.478567 -65 8 54.083269 54.083269 54.083269 -65 9 58.309519 58.309519 58.309519 -65 10 35.355339 35.355339 35.355339 -65 11 36.400549 36.400549 36.400549 -65 12 38.327536 38.327536 38.327536 -65 13 39.924930 39.924930 39.924930 -65 14 40.311289 40.311289 40.311289 -65 15 42.720019 42.720019 42.720019 -65 16 44.147480 44.147480 44.147480 -65 17 46.097722 46.097722 46.097722 -65 18 47.434165 47.434165 47.434165 -65 19 25.019992 25.019992 25.019992 -65 20 20.223748 20.223748 20.223748 -65 21 15.297059 15.297059 15.297059 -65 22 25.495098 25.495098 25.495098 -65 23 15.811388 15.811388 15.811388 -65 24 25.961510 25.961510 25.961510 -65 25 16.552945 16.552945 16.552945 -65 26 26.925824 26.925824 26.925824 -65 27 50.000000 50.000000 50.000000 -65 28 50.249378 50.249378 50.249378 -65 29 47.000000 47.000000 47.000000 -65 30 45.276926 45.276926 45.276926 -65 31 43.000000 43.000000 43.000000 -65 32 43.289722 43.289722 43.289722 -65 33 42.000000 42.000000 42.000000 -65 34 40.311289 40.311289 40.311289 -65 35 40.311289 40.311289 40.311289 -65 36 59.236813 59.236813 59.236813 -65 37 58.523500 58.523500 58.523500 -65 38 55.713553 55.713553 55.713553 -65 39 52.810984 52.810984 52.810984 -65 40 52.201533 52.201533 52.201533 -65 41 57.008771 57.008771 57.008771 -65 42 46.840154 46.840154 46.840154 -65 43 50.990195 50.990195 50.990195 -65 44 55.901699 55.901699 55.901699 -65 45 52.952809 52.952809 52.952809 -65 46 57.697487 57.697487 57.697487 -65 47 56.824291 56.824291 56.824291 -65 48 45.541190 45.541190 45.541190 -65 49 25.179357 25.179357 25.179357 -65 50 18.248288 18.248288 18.248288 -65 51 27.459060 27.459060 27.459060 -65 52 14.142136 14.142136 14.142136 -65 53 20.000000 20.000000 20.000000 -65 54 32.015621 32.015621 32.015621 -65 55 31.622777 31.622777 31.622777 -65 56 33.541020 33.541020 33.541020 -65 57 7.071068 7.071068 7.071068 -65 58 15.811388 15.811388 15.811388 -65 59 36.055513 36.055513 36.055513 -65 60 36.400549 36.400549 36.400549 -65 61 42.426407 42.426407 42.426407 -65 62 35.000000 35.000000 35.000000 -65 63 20.615528 20.615528 20.615528 -65 64 22.360680 22.360680 22.360680 -65 66 14.142136 14.142136 14.142136 -65 67 8.062258 8.062258 8.062258 -65 68 22.472205 22.472205 22.472205 -65 69 30.413813 30.413813 30.413813 -65 70 26.076810 26.076810 26.076810 -65 71 40.261644 40.261644 40.261644 -65 72 32.015621 32.015621 32.015621 -65 73 39.357337 39.357337 39.357337 -65 74 52.430907 52.430907 52.430907 -65 75 26.925824 26.925824 26.925824 -65 76 47.169906 47.169906 47.169906 -65 77 23.430749 23.430749 23.430749 -65 78 34.828150 34.828150 34.828150 -65 79 45.221676 45.221676 45.221676 -65 80 54.451814 54.451814 54.451814 -65 81 17.117243 17.117243 17.117243 -65 82 28.284271 28.284271 28.284271 -65 83 22.203603 22.203603 22.203603 -65 84 8.062258 8.062258 8.062258 -65 85 12.041595 12.041595 12.041595 -65 86 19.313208 19.313208 19.313208 -65 87 24.738634 24.738634 24.738634 -65 88 33.541020 33.541020 33.541020 -65 89 35.000000 35.000000 35.000000 -65 90 33.301652 33.301652 33.301652 -65 91 18.788294 18.788294 18.788294 -65 92 12.649111 12.649111 12.649111 -65 93 15.264338 15.264338 15.264338 -65 94 27.202941 27.202941 27.202941 -65 95 21.633308 21.633308 21.633308 -65 96 13.038405 13.038405 13.038405 -65 97 26.000000 26.000000 26.000000 -65 98 42.720019 42.720019 42.720019 -65 99 29.068884 29.068884 29.068884 -65 100 19.646883 19.646883 19.646883 -65 101 39.560081 39.560081 39.560081 -66 1 11.180340 11.180340 11.180340 -66 2 46.097722 46.097722 46.097722 -66 3 37.336309 37.336309 37.336309 -66 4 46.840154 46.840154 46.840154 -66 5 42.720019 42.720019 42.720019 -66 6 47.434165 47.434165 47.434165 -66 7 38.910153 38.910153 38.910153 -66 8 40.311289 40.311289 40.311289 -66 9 44.721360 44.721360 44.721360 -66 10 25.495098 25.495098 25.495098 -66 11 25.000000 25.000000 25.000000 -66 12 27.000000 27.000000 27.000000 -66 13 27.459060 27.459060 27.459060 -66 14 30.413813 30.413813 30.413813 -66 15 30.413813 30.413813 30.413813 -66 16 33.000000 33.000000 33.000000 -66 17 35.000000 35.000000 35.000000 -66 18 35.355339 35.355339 35.355339 -66 19 36.138622 36.138622 36.138622 -66 20 30.805844 30.805844 30.805844 -66 21 25.961510 25.961510 25.961510 -66 22 35.355339 35.355339 35.355339 -66 23 25.495098 25.495098 25.495098 -66 24 35.128336 35.128336 35.128336 -66 25 25.179357 25.179357 25.179357 -66 26 35.000000 35.000000 35.000000 -66 27 60.827625 60.827625 60.827625 -66 28 60.207973 60.207973 60.207973 -66 29 57.870545 57.870545 57.870545 -66 30 55.226805 55.226805 55.226805 -66 31 53.935146 53.935146 53.935146 -66 32 53.235327 53.235327 53.235327 -66 33 52.952809 52.952809 52.952809 -66 34 52.201533 52.201533 52.201533 -66 35 50.249378 50.249378 50.249378 -66 36 55.217751 55.217751 55.217751 -66 37 54.083269 54.083269 54.083269 -66 38 51.613952 51.613952 51.613952 -66 39 48.259714 48.259714 48.259714 -66 40 47.169906 47.169906 47.169906 -66 41 51.478151 51.478151 51.478151 -66 42 41.880783 41.880783 41.880783 -66 43 44.721360 44.721360 44.721360 -66 44 49.244289 49.244289 49.244289 -66 45 46.518813 46.518813 46.518813 -66 46 44.598206 44.598206 44.598206 -66 47 43.462628 43.462628 43.462628 -66 48 33.376639 33.376639 33.376639 -66 49 35.693137 35.693137 35.693137 -66 50 28.861739 28.861739 28.861739 -66 51 37.336309 37.336309 37.336309 -66 52 28.284271 28.284271 28.284271 -66 53 14.142136 14.142136 14.142136 -66 54 18.027756 18.027756 18.027756 -66 55 28.284271 28.284271 28.284271 -66 56 20.615528 20.615528 20.615528 -66 57 15.811388 15.811388 15.811388 -66 58 15.811388 15.811388 15.811388 -66 59 36.055513 36.055513 36.055513 -66 60 32.015621 32.015621 32.015621 -66 61 28.284271 28.284271 28.284271 -66 62 26.925824 26.925824 26.925824 -66 63 30.413813 30.413813 30.413813 -66 64 36.055513 36.055513 36.055513 -66 65 14.142136 14.142136 14.142136 -66 67 6.708204 6.708204 6.708204 -66 68 29.068884 29.068884 29.068884 -66 69 20.615528 20.615528 20.615528 -66 70 12.649111 12.649111 12.649111 -66 71 29.000000 29.000000 29.000000 -66 72 33.541020 33.541020 33.541020 -66 73 37.536649 37.536649 37.536649 -66 74 38.587563 38.587563 38.587563 -66 75 25.000000 25.000000 25.000000 -66 76 46.097722 46.097722 46.097722 -66 77 37.536649 37.536649 37.536649 -66 78 38.897301 38.897301 38.897301 -66 79 31.384710 31.384710 31.384710 -66 80 40.311289 40.311289 40.311289 -66 81 13.892444 13.892444 13.892444 -66 82 22.803509 22.803509 22.803509 -66 83 8.544004 8.544004 8.544004 -66 84 9.219544 9.219544 9.219544 -66 85 24.596748 24.596748 24.596748 -66 86 32.756679 32.756679 32.756679 -66 87 21.260292 21.260292 21.260292 -66 88 28.017851 28.017851 28.017851 -66 89 21.095023 21.095023 21.095023 -66 90 47.423623 47.423623 47.423623 -66 91 7.280110 7.280110 7.280110 -66 92 14.142136 14.142136 14.142136 -66 93 18.248288 18.248288 18.248288 -66 94 28.635642 28.635642 28.635642 -66 95 23.409400 23.409400 23.409400 -66 96 21.213203 21.213203 21.213203 -66 97 24.413111 24.413111 24.413111 -66 98 38.013156 38.013156 38.013156 -66 99 15.000000 15.000000 15.000000 -66 100 10.295630 10.295630 10.295630 -66 101 27.294688 27.294688 27.294688 -67 1 13.038405 13.038405 13.038405 -67 2 50.596443 50.596443 50.596443 -67 3 42.485292 42.485292 42.485292 -67 4 51.623638 51.623638 51.623638 -67 5 47.853944 47.853944 47.853944 -67 6 52.392748 52.392748 52.392748 -67 7 44.418465 44.418465 44.418465 -67 8 46.043458 46.043458 46.043458 -67 9 50.249378 50.249378 50.249378 -67 10 31.064449 31.064449 31.064449 -67 11 31.144823 31.144823 31.144823 -67 12 33.136083 33.136083 33.136083 -67 13 33.955854 33.955854 33.955854 -67 14 36.055513 36.055513 36.055513 -67 15 36.878178 36.878178 36.878178 -67 16 39.115214 39.115214 39.115214 -67 17 41.109610 41.109610 41.109610 -67 18 41.773197 41.773197 41.773197 -67 19 32.140317 32.140317 32.140317 -67 20 27.018512 27.018512 27.018512 -67 21 22.022716 22.022716 22.022716 -67 22 32.015621 32.015621 32.015621 -67 23 22.022716 22.022716 22.022716 -67 24 32.140317 32.140317 32.140317 -67 25 22.203603 22.203603 22.203603 -67 26 32.557641 32.557641 32.557641 -67 27 54.451814 54.451814 54.451814 -67 28 54.037024 54.037024 54.037024 -67 29 51.478151 51.478151 51.478151 -67 30 49.040799 49.040799 49.040799 -67 31 47.518417 47.518417 47.518417 -67 32 47.042534 47.042534 47.042534 -67 33 46.529560 46.529560 46.529560 -67 34 45.607017 45.607017 45.607017 -67 35 44.045431 44.045431 44.045431 -67 36 54.589376 54.589376 54.589376 -67 37 53.665631 53.665631 53.665631 -67 38 51.000000 51.000000 51.000000 -67 39 47.853944 47.853944 47.853944 -67 40 47.010637 47.010637 47.010637 -67 41 51.623638 51.623638 51.623638 -67 42 41.629317 41.629317 41.629317 -67 43 45.221676 45.221676 45.221676 -67 44 50.000000 50.000000 50.000000 -67 45 47.127487 47.127487 47.127487 -67 46 49.658836 49.658836 49.658836 -67 47 48.764741 48.764741 48.764741 -67 48 39.812058 39.812058 39.812058 -67 49 32.015621 32.015621 32.015621 -67 50 25.019992 25.019992 25.019992 -67 51 31.064449 31.064449 31.064449 -67 52 22.022716 22.022716 22.022716 -67 53 17.464249 17.464249 17.464249 -67 54 24.698178 24.698178 24.698178 -67 55 26.925824 26.925824 26.925824 -67 56 25.495098 25.495098 25.495098 -67 57 9.219544 9.219544 9.219544 -67 58 16.278821 16.278821 16.278821 -67 59 37.483330 37.483330 37.483330 -67 60 35.355339 35.355339 35.355339 -67 61 34.713110 34.713110 34.713110 -67 62 28.284271 28.284271 28.284271 -67 63 24.083189 24.083189 24.083189 -67 64 29.410882 29.410882 29.410882 -67 65 8.062258 8.062258 8.062258 -67 66 6.708204 6.708204 6.708204 -67 68 23.537205 23.537205 23.537205 -67 69 23.021729 23.021729 23.021729 -67 70 18.027756 18.027756 18.027756 -67 71 32.557641 32.557641 32.557641 -67 72 30.000000 30.000000 30.000000 -67 73 35.608988 35.608988 35.608988 -67 74 45.276926 45.276926 45.276926 -67 75 27.018512 27.018512 27.018512 -67 76 48.166378 48.166378 48.166378 -67 77 31.400637 31.400637 31.400637 -67 78 38.470768 38.470768 38.470768 -67 79 38.078866 38.078866 38.078866 -67 80 46.754679 46.754679 46.754679 -67 81 11.661904 11.661904 11.661904 -67 82 22.472205 22.472205 22.472205 -67 83 15.231546 15.231546 15.231546 -67 84 7.211103 7.211103 7.211103 -67 85 17.888544 17.888544 17.888544 -67 86 26.076810 26.076810 26.076810 -67 87 23.853721 23.853721 23.853721 -67 88 31.780497 31.780497 31.780497 -67 89 27.018512 27.018512 27.018512 -67 90 41.231056 41.231056 41.231056 -67 91 10.770330 10.770330 10.770330 -67 92 9.433981 9.433981 9.433981 -67 93 13.416408 13.416408 13.416408 -67 94 25.000000 25.000000 25.000000 -67 95 19.416488 19.416488 19.416488 -67 96 15.000000 15.000000 15.000000 -67 97 22.022716 22.022716 22.022716 -67 98 41.593269 41.593269 41.593269 -67 99 21.213203 21.213203 21.213203 -67 100 15.132746 15.132746 15.132746 -67 101 31.622777 31.622777 31.622777 -68 1 25.298221 25.298221 25.298221 -68 2 58.051701 58.051701 58.051701 -68 3 53.413481 53.413481 53.413481 -68 4 60.108236 60.108236 60.108236 -68 5 58.137767 58.137767 58.137767 -68 6 61.522354 61.522354 61.522354 -68 7 56.612719 56.612719 56.612719 -68 8 59.076222 59.076222 59.076222 -68 9 62.008064 62.008064 62.008064 -68 10 54.451814 54.451814 54.451814 -68 11 54.037024 54.037024 54.037024 -68 12 56.035703 56.035703 56.035703 -68 13 56.080300 56.080300 56.080300 -68 14 59.413803 59.413803 59.413803 -68 15 59.076222 59.076222 59.076222 -68 16 62.032250 62.032250 62.032250 -68 17 64.031242 64.031242 64.031242 -68 18 64.070274 64.070274 64.070274 -68 19 42.059482 42.059482 42.059482 -68 20 38.832976 38.832976 38.832976 -68 21 34.828150 34.828150 34.828150 -68 22 44.102154 44.102154 44.102154 -68 23 36.124784 36.124784 36.124784 -68 24 45.221676 45.221676 45.221676 -68 25 37.483330 37.483330 37.483330 -68 26 47.010637 47.010637 47.010637 -68 27 33.241540 33.241540 33.241540 -68 28 31.780497 31.780497 31.780497 -68 29 30.463092 30.463092 30.463092 -68 30 26.925824 26.925824 26.925824 -68 31 26.832816 26.832816 26.832816 -68 32 25.000000 25.000000 25.000000 -68 33 25.942244 25.942244 25.942244 -68 34 27.018512 27.018512 27.018512 -68 35 22.135944 22.135944 22.135944 -68 36 43.104524 43.104524 43.104524 -68 37 43.011626 43.011626 43.011626 -68 38 40.012498 40.012498 40.012498 -68 39 38.052595 38.052595 38.052595 -68 40 38.209946 38.209946 38.209946 -68 41 43.185646 43.185646 43.185646 -68 42 33.541020 33.541020 33.541020 -68 43 39.051248 39.051248 39.051248 -68 44 43.931765 43.931765 43.931765 -68 45 41.000000 41.000000 41.000000 -68 46 59.464275 59.464275 59.464275 -68 47 59.665736 59.665736 59.665736 -68 48 62.072538 62.072538 62.072538 -68 49 43.046487 43.046487 43.046487 -68 50 37.202150 37.202150 37.202150 -68 51 10.630146 10.630146 10.630146 -68 52 23.769729 23.769729 23.769729 -68 53 40.804412 40.804412 40.804412 -68 54 44.721360 44.721360 44.721360 -68 55 20.124612 20.124612 20.124612 -68 56 38.470768 38.470768 38.470768 -68 57 15.652476 15.652476 15.652476 -68 58 38.013156 38.013156 38.013156 -68 59 58.523500 58.523500 58.523500 -68 60 58.309519 58.309519 58.309519 -68 61 52.201533 52.201533 52.201533 -68 62 29.832868 29.832868 29.832868 -68 63 7.071068 7.071068 7.071068 -68 64 22.022716 22.022716 22.022716 -68 65 22.472205 22.472205 22.472205 -68 66 29.068884 29.068884 29.068884 -68 67 23.537205 23.537205 23.537205 -68 69 30.000000 30.000000 30.000000 -68 70 34.481879 34.481879 34.481879 -68 71 39.623226 39.623226 39.623226 -68 72 13.038405 13.038405 13.038405 -68 73 23.021729 23.021729 23.021729 -68 74 64.560050 64.560050 64.560050 -68 75 49.193496 49.193496 49.193496 -68 76 69.641941 69.641941 69.641941 -68 77 30.265492 30.265492 30.265492 -68 78 56.586217 56.586217 56.586217 -68 79 57.723479 57.723479 57.723479 -68 80 63.560994 63.560994 63.560994 -68 81 17.720045 17.720045 17.720045 -68 82 21.931712 21.931712 21.931712 -68 83 37.013511 37.013511 37.013511 -68 84 29.154759 29.154759 29.154759 -68 85 14.764823 14.764823 14.764823 -68 86 19.026298 19.026298 19.026298 -68 87 46.615448 46.615448 46.615448 -68 88 55.027266 55.027266 55.027266 -68 89 43.081318 43.081318 43.081318 -68 90 37.121422 37.121422 37.121422 -68 91 27.459060 27.459060 27.459060 -68 92 15.000000 15.000000 15.000000 -68 93 11.045361 11.045361 11.045361 -68 94 10.440307 10.440307 10.440307 -68 95 9.219544 9.219544 9.219544 -68 96 9.433981 9.433981 9.433981 -68 97 15.000000 15.000000 15.000000 -68 98 64.621978 64.621978 64.621978 -68 99 39.293765 39.293765 39.293765 -68 100 38.639358 38.639358 38.639358 -68 101 41.400483 41.400483 41.400483 -69 1 10.000000 10.000000 10.000000 -69 2 29.154759 29.154759 29.154759 -69 3 23.430749 23.430749 23.430749 -69 4 30.805844 30.805844 30.805844 -69 5 28.284271 28.284271 28.284271 -69 6 32.015621 32.015621 32.015621 -69 7 26.627054 26.627054 26.627054 -69 8 29.154759 29.154759 29.154759 -69 9 32.015621 32.015621 32.015621 -69 10 39.051248 39.051248 39.051248 -69 11 36.055513 36.055513 36.055513 -69 12 37.735925 37.735925 37.735925 -69 13 35.341194 35.341194 35.341194 -69 14 43.011626 43.011626 43.011626 -69 15 38.078866 38.078866 38.078866 -69 16 42.941821 42.941821 42.941821 -69 17 44.721360 44.721360 44.721360 -69 18 42.720019 42.720019 42.720019 -69 19 55.145263 55.145263 55.145263 -69 20 50.039984 50.039984 50.039984 -69 21 45.044423 45.044423 45.044423 -69 22 55.000000 55.000000 55.000000 -69 23 45.000000 45.000000 45.000000 -69 24 55.036352 55.036352 55.036352 -69 25 45.044423 45.044423 45.044423 -69 26 55.226805 55.226805 55.226805 -69 27 62.649820 62.649820 62.649820 -69 28 60.415230 60.415230 60.415230 -69 29 60.033324 60.033324 60.033324 -69 30 55.901699 55.901699 55.901699 -69 31 56.603887 56.603887 56.603887 -69 32 54.120237 54.120237 54.120237 -69 33 55.758407 55.758407 55.758407 -69 34 57.008771 57.008771 57.008771 -69 35 51.478151 51.478151 51.478151 -69 36 36.796739 36.796739 36.796739 -69 37 35.355339 35.355339 35.355339 -69 38 33.301652 33.301652 33.301652 -69 39 29.732137 29.732137 29.732137 -69 40 28.284271 28.284271 28.284271 -69 41 32.015621 32.015621 32.015621 -69 42 23.430749 23.430749 23.430749 -69 43 25.000000 25.000000 25.000000 -69 44 29.154759 29.154759 29.154759 -69 45 26.627054 26.627054 26.627054 -69 46 29.732137 29.732137 29.732137 -69 47 29.732137 29.732137 29.732137 -69 48 40.853396 40.853396 40.853396 -69 49 55.036352 55.036352 55.036352 -69 50 48.041649 48.041649 48.041649 -69 51 40.607881 40.607881 40.607881 -69 52 42.720019 42.720019 42.720019 -69 53 33.541020 33.541020 33.541020 -69 54 22.360680 22.360680 22.360680 -69 55 15.000000 15.000000 15.000000 -69 56 10.000000 10.000000 10.000000 -69 57 26.925824 26.925824 26.925824 -69 58 36.400549 36.400549 36.400549 -69 59 55.901699 55.901699 55.901699 -69 60 50.000000 50.000000 50.000000 -69 61 25.000000 25.000000 25.000000 -69 62 7.071068 7.071068 7.071068 -69 63 35.355339 35.355339 35.355339 -69 64 47.169906 47.169906 47.169906 -69 65 30.413813 30.413813 30.413813 -69 66 20.615528 20.615528 20.615528 -69 67 23.021729 23.021729 23.021729 -69 68 30.000000 30.000000 30.000000 -69 70 12.041595 12.041595 12.041595 -69 71 10.295630 10.295630 10.295630 -69 72 25.495098 25.495098 25.495098 -69 73 23.537205 23.537205 23.537205 -69 74 38.000000 38.000000 38.000000 -69 75 44.721360 44.721360 44.721360 -69 76 65.192024 65.192024 65.192024 -69 77 52.000000 52.000000 52.000000 -69 78 59.481089 59.481089 59.481089 -69 79 32.249031 32.249031 32.249031 -69 80 34.928498 34.928498 34.928498 -69 81 14.764823 14.764823 14.764823 -69 82 9.219544 9.219544 9.219544 -69 83 21.400935 21.400935 21.400935 -69 84 29.154759 29.154759 29.154759 -69 85 35.355339 35.355339 35.355339 -69 86 43.566042 43.566042 43.566042 -69 87 40.706265 40.706265 40.706265 -69 88 45.607017 45.607017 45.607017 -69 89 16.124515 16.124515 16.124515 -69 90 61.269895 61.269895 61.269895 -69 91 13.341664 13.341664 13.341664 -69 92 20.124612 20.124612 20.124612 -69 93 21.400935 21.400935 21.400935 -69 94 22.472205 22.472205 22.472205 -69 95 20.808652 20.808652 20.808652 -69 96 28.017851 28.017851 28.017851 -69 97 16.155494 16.155494 16.155494 -69 98 55.317267 55.317267 55.317267 -69 99 16.124515 16.124515 16.124515 -69 100 28.653098 28.653098 28.653098 -69 101 11.401754 11.401754 11.401754 -70 1 9.219544 9.219544 9.219544 -70 2 33.541020 33.541020 33.541020 -70 3 24.698178 24.698178 24.698178 -70 4 34.205263 34.205263 34.205263 -70 5 30.083218 30.083218 30.083218 -70 6 34.785054 34.785054 34.785054 -70 7 26.419690 26.419690 26.419690 -70 8 28.017851 28.017851 28.017851 -70 9 32.249031 32.249031 32.249031 -70 10 27.018512 27.018512 27.018512 -70 11 24.186773 24.186773 24.186773 -70 12 25.942244 25.942244 25.942244 -70 13 24.041631 24.041631 24.041631 -70 14 31.064449 31.064449 31.064449 -70 15 26.925824 26.925824 26.925824 -70 16 31.384710 31.384710 31.384710 -70 17 33.241540 33.241540 33.241540 -70 18 31.780497 31.780497 31.780497 -70 19 48.764741 48.764741 48.764741 -70 20 43.416587 43.416587 43.416587 -70 21 38.600518 38.600518 38.600518 -70 22 47.853944 47.853944 47.853944 -70 23 38.078866 38.078866 38.078866 -70 24 47.518417 47.518417 47.518417 -70 25 37.656341 37.656341 37.656341 -70 26 47.169906 47.169906 47.169906 -70 27 67.675697 67.675697 67.675697 -70 28 66.219333 66.219333 66.219333 -70 29 64.845971 64.845971 64.845971 -70 30 61.400326 61.400326 61.400326 -70 31 61.098281 61.098281 61.098281 -70 32 59.481089 59.481089 59.481089 -70 33 60.166436 60.166436 60.166436 -70 34 60.373835 60.373835 60.373835 -70 35 56.612719 56.612719 56.612719 -70 36 48.836462 48.836462 48.836462 -70 37 47.381431 47.381431 47.381431 -70 38 45.343136 45.343136 45.343136 -70 39 41.773197 41.773197 41.773197 -70 40 40.311289 40.311289 40.311289 -70 41 43.931765 43.931765 43.931765 -70 42 35.468296 35.468296 35.468296 -70 43 36.878178 36.878178 36.878178 -70 44 40.804412 40.804412 40.804412 -70 45 38.418745 38.418745 38.418745 -70 46 31.953091 31.953091 31.953091 -70 47 30.870698 30.870698 30.870698 -70 48 29.832868 29.832868 29.832868 -70 49 48.270074 48.270074 48.270074 -70 50 41.484937 41.484937 41.484937 -70 51 44.384682 44.384682 44.384682 -70 52 40.000000 40.000000 40.000000 -70 53 22.803509 22.803509 22.803509 -70 54 11.180340 11.180340 11.180340 -70 55 25.298221 25.298221 25.298221 -70 56 8.062258 8.062258 8.062258 -70 57 25.495098 25.495098 25.495098 -70 58 27.018512 27.018512 27.018512 -70 59 44.944410 44.944410 44.944410 -70 60 38.275318 38.275318 38.275318 -70 61 17.888544 17.888544 17.888544 -70 62 19.104973 19.104973 19.104973 -70 63 38.013156 38.013156 38.013156 -70 64 46.690470 46.690470 46.690470 -70 65 26.076810 26.076810 26.076810 -70 66 12.649111 12.649111 12.649111 -70 67 18.027756 18.027756 18.027756 -70 68 34.481879 34.481879 34.481879 -70 69 12.041595 12.041595 12.041595 -70 71 17.464249 17.464249 17.464249 -70 72 34.132096 34.132096 34.132096 -70 73 34.539832 34.539832 34.539832 -70 74 30.083218 30.083218 30.083218 -70 75 33.837849 33.837849 33.837849 -70 76 53.712196 53.712196 53.712196 -70 77 49.406477 49.406477 49.406477 -70 78 49.648766 49.648766 49.648766 -70 79 23.345235 23.345235 23.345235 -70 80 29.681644 29.681644 29.681644 -70 81 16.763055 16.763055 16.763055 -70 82 18.973666 18.973666 18.973666 -70 83 9.848858 9.848858 9.848858 -70 84 21.840330 21.840330 21.840330 -70 85 34.713110 34.713110 34.713110 -70 86 43.185646 43.185646 43.185646 -70 87 29.732137 29.732137 29.732137 -70 88 33.837849 33.837849 33.837849 -70 89 9.219544 9.219544 9.219544 -70 90 59.203040 59.203040 59.203040 -70 91 7.810250 7.810250 7.810250 -70 92 20.591260 20.591260 20.591260 -70 93 23.769729 23.769729 23.769729 -70 94 30.000000 30.000000 30.000000 -70 95 26.305893 26.305893 26.305893 -70 96 29.154759 29.154759 29.154759 -70 97 24.083189 24.083189 24.083189 -70 98 43.416587 43.416587 43.416587 -70 99 5.000000 5.000000 5.000000 -70 100 17.720045 17.720045 17.720045 -70 101 15.000000 15.000000 15.000000 -71 1 19.646883 19.646883 19.646883 -71 2 18.867962 18.867962 18.867962 -71 3 14.317821 14.317821 14.317821 -71 4 20.615528 20.615528 20.615528 -71 5 18.601075 18.601075 18.601075 -71 6 21.931712 21.931712 21.931712 -71 7 18.027756 18.027756 18.027756 -71 8 20.880613 20.880613 20.880613 -71 9 22.825424 22.825424 22.825424 -71 10 42.201896 42.201896 42.201896 -71 11 38.288379 38.288379 38.288379 -71 12 39.623226 39.623226 39.623226 -71 13 36.124784 36.124784 36.124784 -71 14 45.343136 45.343136 45.343136 -71 15 38.418745 38.418745 38.418745 -71 16 43.931765 43.931765 43.931765 -71 17 45.453273 45.453273 45.453273 -71 18 42.438190 42.438190 42.438190 -71 19 64.629715 64.629715 64.629715 -71 20 59.413803 59.413803 59.413803 -71 21 54.451814 54.451814 54.451814 -71 22 64.195015 64.195015 64.195015 -71 23 54.230987 54.230987 54.230987 -71 24 64.070274 64.070274 64.070274 -71 25 54.083269 54.083269 54.083269 -71 26 64.000000 64.000000 64.000000 -71 27 71.561163 71.561163 71.561163 -71 28 68.963759 68.963759 68.963759 -71 29 69.065187 69.065187 69.065187 -71 30 64.660653 64.660653 64.660653 -71 31 65.802736 65.802736 65.802736 -71 32 62.968246 62.968246 62.968246 -71 33 65.000000 65.000000 65.000000 -71 34 66.603303 66.603303 66.603303 -71 35 60.464866 60.464866 60.464866 -71 36 35.777088 35.777088 35.777088 -71 37 34.000000 34.000000 34.000000 -71 38 32.695565 32.695565 32.695565 -71 39 29.154759 29.154759 29.154759 -71 40 27.313001 27.313001 27.313001 -71 41 29.681644 29.681644 29.681644 -71 42 23.769729 23.769729 23.769729 -71 43 22.825424 22.825424 22.825424 -71 44 25.612497 25.612497 25.612497 -71 45 23.853721 23.853721 23.853721 -71 46 19.849433 19.849433 19.849433 -71 47 20.248457 20.248457 20.248457 -71 48 40.804412 40.804412 40.804412 -71 49 64.381674 64.381674 64.381674 -71 50 57.428216 57.428216 57.428216 -71 51 50.249378 50.249378 50.249378 -71 52 52.924474 52.924474 52.924474 -71 53 40.261644 40.261644 40.261644 -71 54 24.207437 24.207437 24.207437 -71 55 21.931712 21.931712 21.931712 -71 56 10.295630 10.295630 10.295630 -71 57 37.161808 37.161808 37.161808 -71 58 44.283180 44.283180 44.283180 -71 59 62.297673 62.297673 62.297673 -71 60 55.009090 55.009090 55.009090 -71 61 21.931712 21.931712 21.931712 -71 62 10.770330 10.770330 10.770330 -71 63 45.343136 45.343136 45.343136 -71 64 57.454330 57.454330 57.454330 -71 65 40.261644 40.261644 40.261644 -71 66 29.000000 29.000000 29.000000 -71 67 32.557641 32.557641 32.557641 -71 68 39.623226 39.623226 39.623226 -71 69 10.295630 10.295630 10.295630 -71 70 17.464249 17.464249 17.464249 -71 72 33.105891 33.105891 33.105891 -71 73 28.284271 28.284271 28.284271 -71 74 34.205263 34.205263 34.205263 -71 75 51.244512 51.244512 51.244512 -71 76 70.682388 70.682388 70.682388 -71 77 62.241465 62.241465 62.241465 -71 78 67.082039 67.082039 67.082039 -71 79 29.966648 29.966648 29.966648 -71 80 29.017236 29.017236 29.017236 -71 81 25.059928 25.059928 25.059928 -71 82 17.804494 17.804494 17.804494 -71 83 27.202941 27.202941 27.202941 -71 84 38.052595 38.052595 38.052595 -71 85 45.650849 45.650849 45.650849 -71 86 53.851648 53.851648 53.851648 -71 87 47.127487 47.127487 47.127487 -71 88 50.537115 50.537115 50.537115 -71 89 15.556349 15.556349 15.556349 -71 90 71.554175 71.554175 71.554175 -71 91 22.090722 22.090722 22.090722 -71 92 30.413813 30.413813 30.413813 -71 93 31.622777 31.622777 31.622777 -71 94 31.064449 31.064449 31.064449 -71 95 30.413813 30.413813 30.413813 -71 96 38.275318 38.275318 38.275318 -71 97 25.000000 25.000000 25.000000 -71 98 59.682493 59.682493 59.682493 -71 99 19.235384 19.235384 19.235384 -71 100 35.171011 35.171011 35.171011 -71 101 4.472136 4.472136 4.472136 -72 1 25.495098 25.495098 25.495098 -72 2 50.000000 50.000000 50.000000 -72 3 47.423623 47.423623 47.423623 -72 4 52.430907 52.430907 52.430907 -72 5 51.478151 51.478151 51.478151 -72 6 54.083269 54.083269 54.083269 -72 7 51.078371 51.078371 51.078371 -72 8 53.851648 53.851648 53.851648 -72 9 55.901699 55.901699 55.901699 -72 10 58.523500 58.523500 58.523500 -72 11 57.008771 57.008771 57.008771 -72 12 58.940648 58.940648 58.940648 -72 13 57.870545 57.870545 57.870545 -72 14 63.245553 63.245553 63.245553 -72 15 60.827625 60.827625 60.827625 -72 16 64.761099 64.761099 64.761099 -72 17 66.708320 66.708320 66.708320 -72 18 65.764732 65.764732 65.764732 -72 19 54.230987 54.230987 54.230987 -72 20 50.537115 50.537115 50.537115 -72 21 46.141088 46.141088 46.141088 -72 22 55.901699 55.901699 55.901699 -72 23 47.169906 47.169906 47.169906 -72 24 56.824291 56.824291 56.824291 -72 25 48.259714 48.259714 48.259714 -72 26 58.309519 58.309519 58.309519 -72 27 39.051248 39.051248 39.051248 -72 28 36.055513 36.055513 36.055513 -72 29 36.796739 36.796739 36.796739 -72 30 32.015621 32.015621 32.015621 -72 31 33.970576 33.970576 33.970576 -72 32 30.479501 30.479501 30.479501 -72 33 33.301652 33.301652 33.301652 -72 34 36.055513 36.055513 36.055513 -72 35 28.284271 28.284271 28.284271 -72 36 30.066593 30.066593 30.066593 -72 37 30.000000 30.000000 30.000000 -72 38 27.000000 27.000000 27.000000 -72 39 25.179357 25.179357 25.179357 -72 40 25.495098 25.495098 25.495098 -72 41 30.413813 30.413813 30.413813 -72 42 21.189620 21.189620 21.189620 -72 43 26.925824 26.925824 26.925824 -72 44 31.622777 31.622777 31.622777 -72 45 28.792360 28.792360 28.792360 -72 46 52.478567 52.478567 52.478567 -72 47 53.235327 53.235327 53.235327 -72 48 63.788714 63.788714 63.788714 -72 49 55.036352 55.036352 55.036352 -72 50 48.764741 48.764741 48.764741 -72 51 21.189620 21.189620 21.189620 -72 52 36.400549 36.400549 36.400549 -72 53 47.169906 47.169906 47.169906 -72 54 45.276926 45.276926 45.276926 -72 55 11.180340 11.180340 11.180340 -72 56 35.355339 35.355339 35.355339 -72 57 25.000000 25.000000 25.000000 -72 58 46.097722 46.097722 46.097722 -72 59 67.268120 67.268120 67.268120 -72 60 65.192024 65.192024 65.192024 -72 61 50.249378 50.249378 50.249378 -72 62 22.360680 22.360680 22.360680 -72 63 20.000000 20.000000 20.000000 -72 64 35.000000 35.000000 35.000000 -72 65 32.015621 32.015621 32.015621 -72 66 33.541020 33.541020 33.541020 -72 67 30.000000 30.000000 30.000000 -72 68 13.038405 13.038405 13.038405 -72 69 25.495098 25.495098 25.495098 -72 70 34.132096 34.132096 34.132096 -72 71 33.105891 33.105891 33.105891 -72 73 10.198039 10.198039 10.198039 -72 74 63.198101 63.198101 63.198101 -72 75 57.008771 57.008771 57.008771 -72 76 78.102497 78.102497 78.102497 -72 77 43.289722 43.289722 43.289722 -72 78 66.843100 66.843100 66.843100 -72 79 57.008771 57.008771 57.008771 -72 80 60.415230 60.415230 60.415230 -72 81 19.697716 19.697716 19.697716 -72 82 16.278821 16.278821 16.278821 -72 83 39.849718 39.849718 39.849718 -72 84 36.878178 36.878178 36.878178 -72 85 27.202941 27.202941 27.202941 -72 86 32.062439 32.062439 32.062439 -72 87 53.823787 53.823787 53.823787 -72 88 61.400326 61.400326 61.400326 -72 89 41.109610 41.109610 41.109610 -72 90 50.039984 50.039984 50.039984 -72 91 29.120440 29.120440 29.120440 -72 92 20.615528 20.615528 20.615528 -72 93 16.970563 16.970563 16.970563 -72 94 5.000000 5.000000 5.000000 -72 95 10.630146 10.630146 10.630146 -72 96 20.124612 20.124612 20.124612 -72 97 10.049876 10.049876 10.049876 -72 98 71.344236 71.344236 71.344236 -72 99 39.115214 39.115214 39.115214 -72 100 43.829214 43.829214 43.829214 -72 101 36.055513 36.055513 36.055513 -73 1 27.459060 27.459060 27.459060 -73 2 42.941821 42.941821 42.941821 -73 3 42.201896 42.201896 42.201896 -73 4 45.617979 45.617979 45.617979 -73 5 45.541190 45.541190 45.541190 -73 6 47.423623 47.423623 47.423623 -73 7 46.097722 46.097722 46.097722 -73 8 49.030603 49.030603 49.030603 -73 9 50.289164 50.289164 50.289164 -73 10 60.901560 60.901560 60.901560 -73 11 58.600341 58.600341 58.600341 -73 12 60.415230 60.415230 60.415230 -73 13 58.523500 58.523500 58.523500 -73 14 65.299311 65.299311 65.299311 -73 15 61.351447 61.351447 61.351447 -73 16 65.924199 65.924199 65.924199 -73 17 67.779053 67.779053 67.779053 -73 18 66.098411 66.098411 66.098411 -73 19 62.936476 62.936476 62.936476 -73 20 58.872744 58.872744 58.872744 -73 21 54.230987 54.230987 54.230987 -73 22 64.257295 64.257295 64.257295 -73 23 55.036352 55.036352 55.036352 -73 24 65.000000 65.000000 65.000000 -73 25 55.901699 55.901699 55.901699 -73 26 66.211781 66.211781 66.211781 -73 27 47.423623 47.423623 47.423623 -73 28 43.863424 43.863424 43.863424 -73 29 45.453273 45.453273 45.453273 -73 30 40.360872 40.360872 40.360872 -73 31 43.011626 43.011626 43.011626 -73 32 39.051248 39.051248 39.051248 -73 33 42.438190 42.438190 42.438190 -73 34 45.650849 45.650849 45.650849 -73 35 37.202150 37.202150 37.202150 -73 36 20.396078 20.396078 20.396078 -73 37 20.099751 20.099751 20.099751 -73 38 17.117243 17.117243 17.117243 -73 39 15.033296 15.033296 15.033296 -73 40 15.297059 15.297059 15.297059 -73 41 20.223748 20.223748 20.223748 -73 42 11.180340 11.180340 11.180340 -73 43 17.000000 17.000000 17.000000 -73 44 21.540659 21.540659 21.540659 -73 45 18.788294 18.788294 18.788294 -73 46 46.238512 46.238512 46.238512 -73 47 47.434165 47.434165 47.434165 -73 48 64.195015 64.195015 64.195015 -73 49 63.568860 63.568860 63.568860 -73 50 57.008771 57.008771 57.008771 -73 51 31.320920 31.320920 31.320920 -73 52 45.705580 45.705580 45.705580 -73 53 51.662365 51.662365 51.662365 -73 54 45.541190 45.541190 45.541190 -73 55 9.433981 9.433981 9.433981 -73 56 33.376639 33.376639 33.376639 -73 57 32.695565 32.695565 32.695565 -73 58 51.855569 51.855569 51.855569 -73 59 73.000000 73.000000 73.000000 -73 60 69.526973 69.526973 69.526973 -73 61 48.259714 48.259714 48.259714 -73 62 18.000000 18.000000 18.000000 -73 63 30.066593 30.066593 30.066593 -73 64 45.044423 45.044423 45.044423 -73 65 39.357337 39.357337 39.357337 -73 66 37.536649 37.536649 37.536649 -73 67 35.608988 35.608988 35.608988 -73 68 23.021729 23.021729 23.021729 -73 69 23.537205 23.537205 23.537205 -73 70 34.539832 34.539832 34.539832 -73 71 28.284271 28.284271 28.284271 -73 72 10.198039 10.198039 10.198039 -73 74 61.204575 61.204575 61.204575 -73 75 62.241465 62.241465 62.241465 -73 76 83.450584 83.450584 83.450584 -73 77 53.084838 53.084838 53.084838 -73 78 73.783467 73.783467 73.783467 -73 79 55.731499 55.731499 55.731499 -73 80 57.078893 57.078893 57.078893 -73 81 24.083189 24.083189 24.083189 -73 82 15.652476 15.652476 15.652476 -73 83 42.190046 42.190046 42.190046 -73 84 42.801869 42.801869 42.801869 -73 85 36.496575 36.496575 36.496575 -73 86 42.000000 42.000000 42.000000 -73 87 58.694122 58.694122 58.694122 -73 88 65.436993 65.436993 65.436993 -73 89 39.623226 39.623226 39.623226 -73 90 60.133186 60.133186 60.133186 -73 91 31.622777 31.622777 31.622777 -73 92 26.925824 26.925824 26.925824 -73 93 24.166092 24.166092 24.166092 -73 94 13.152946 13.152946 13.152946 -73 95 18.027756 18.027756 18.027756 -73 96 28.861739 28.861739 28.861739 -73 97 13.601471 13.601471 13.601471 -73 98 75.432089 75.432089 75.432089 -73 99 39.217343 39.217343 39.217343 -73 100 47.634021 47.634021 47.634021 -73 101 32.062439 32.062439 32.062439 -74 1 39.293765 39.293765 39.293765 -74 2 33.970576 33.970576 33.970576 -74 3 25.000000 25.000000 25.000000 -74 4 32.015621 32.015621 32.015621 -74 5 26.907248 26.907248 26.907248 -74 6 30.805844 30.805844 30.805844 -74 7 21.931712 21.931712 21.931712 -74 8 19.849433 19.849433 19.849433 -74 9 23.853721 23.853721 23.853721 -74 10 26.248809 26.248809 26.248809 -74 11 21.540659 21.540659 21.540659 -74 12 20.880613 20.880613 20.880613 -74 13 16.155494 16.155494 16.155494 -74 14 25.179357 25.179357 25.179357 -74 15 15.297059 15.297059 15.297059 -74 16 20.000000 20.000000 20.000000 -74 17 20.099751 20.099751 20.099751 -74 18 15.132746 15.132746 15.132746 -74 19 69.202601 69.202601 69.202601 -74 20 64.031242 64.031242 64.031242 -74 21 60.207973 60.207973 60.207973 -74 22 66.850580 66.850580 66.850580 -74 23 58.898217 58.898217 58.898217 -74 24 65.734314 65.734314 65.734314 -74 25 57.628118 57.628118 57.628118 -74 26 64.140471 64.140471 64.140471 -74 27 97.718985 97.718985 97.718985 -74 28 96.301610 96.301610 96.301610 -74 29 94.868330 94.868330 94.868330 -74 30 91.482239 91.482239 91.482239 -74 31 91.082380 91.082380 91.082380 -74 32 89.560036 89.560036 89.560036 -74 33 90.138782 90.138782 90.138782 -74 34 90.077744 90.077744 90.077744 -74 35 86.683332 86.683332 86.683332 -74 36 69.641941 69.641941 69.641941 -74 37 67.779053 67.779053 67.779053 -74 38 66.730802 66.730802 66.730802 -74 39 63.245553 63.245553 63.245553 -74 40 61.351447 61.351447 61.351447 -74 41 63.158531 63.158531 63.158531 -74 42 57.974132 57.974132 57.974132 -74 43 56.648036 56.648036 56.648036 -74 44 58.600341 58.600341 58.600341 -74 45 57.384667 57.384667 57.384667 -74 46 28.425341 28.425341 28.425341 -74 47 25.612497 25.612497 25.612497 -74 48 15.000000 15.000000 15.000000 -74 49 68.007353 68.007353 68.007353 -74 50 62.481997 62.481997 62.481997 -74 51 74.330344 74.330344 74.330344 -74 52 66.400301 66.400301 66.400301 -74 53 37.802116 37.802116 37.802116 -74 54 20.591260 20.591260 20.591260 -74 55 53.000000 53.000000 53.000000 -74 56 28.000000 28.000000 28.000000 -74 57 54.120237 54.120237 54.120237 -74 58 44.821870 44.821870 44.821870 -74 59 51.662365 51.662365 51.662365 -74 60 40.792156 40.792156 40.792156 -74 61 13.000000 13.000000 13.000000 -74 62 43.289722 43.289722 43.289722 -74 63 67.779053 67.779053 67.779053 -74 64 74.625733 74.625733 74.625733 -74 65 52.430907 52.430907 52.430907 -74 66 38.587563 38.587563 38.587563 -74 67 45.276926 45.276926 45.276926 -74 68 64.560050 64.560050 64.560050 -74 69 38.000000 38.000000 38.000000 -74 70 30.083218 30.083218 30.083218 -74 71 34.205263 34.205263 34.205263 -74 72 63.198101 63.198101 63.198101 -74 73 61.204575 61.204575 61.204575 -74 75 43.863424 43.863424 43.863424 -74 76 55.081757 55.081757 55.081757 -74 77 75.286121 75.286121 75.286121 -74 78 60.745370 60.745370 60.745370 -74 79 7.211103 7.211103 7.211103 -74 80 8.944272 8.944272 8.944272 -74 81 46.840154 46.840154 46.840154 -74 82 47.042534 47.042534 47.042534 -74 83 30.232433 30.232433 30.232433 -74 84 45.453273 45.453273 45.453273 -74 85 63.134776 63.134776 63.134776 -74 86 71.344236 71.344236 71.344236 -74 87 40.706265 40.706265 40.706265 -74 88 37.363083 37.363083 37.363083 -74 89 22.090722 22.090722 22.090722 -74 90 85.146932 85.146932 85.146932 -74 91 37.336309 37.336309 37.336309 -74 92 50.328918 50.328918 50.328918 -74 93 53.758720 53.758720 53.758720 -74 94 59.539903 59.539903 59.539903 -74 95 56.293872 56.293872 56.293872 -74 96 58.694122 58.694122 58.694122 -74 97 53.338541 53.338541 53.338541 -74 98 42.047592 42.047592 42.047592 -74 99 25.298221 25.298221 25.298221 -74 100 34.655447 34.655447 34.655447 -74 101 29.832868 29.832868 29.832868 -75 1 36.055513 36.055513 36.055513 -75 2 65.192024 65.192024 65.192024 -75 3 55.036352 55.036352 55.036352 -75 4 65.030762 65.030762 65.030762 -75 5 60.000000 60.000000 60.000000 -75 6 65.000000 65.000000 65.000000 -75 7 55.036352 55.036352 55.036352 -75 8 55.226805 55.226805 55.226805 -75 9 60.207973 60.207973 60.207973 -75 10 18.027756 18.027756 18.027756 -75 11 22.360680 22.360680 22.360680 -75 12 23.323808 23.323808 23.323808 -75 13 27.730849 27.730849 27.730849 -75 14 21.213203 21.213203 21.213203 -75 15 29.154759 29.154759 29.154759 -75 16 26.907248 26.907248 26.907248 -75 17 28.284271 28.284271 28.284271 -75 18 32.015621 32.015621 32.015621 -75 19 28.301943 28.301943 28.301943 -75 20 24.166092 24.166092 24.166092 -75 21 22.561028 22.561028 22.561028 -75 22 25.000000 25.000000 25.000000 -75 23 20.615528 20.615528 20.615528 -75 24 23.430749 23.430749 23.430749 -75 25 18.681542 18.681542 18.681542 -75 26 21.213203 21.213203 21.213203 -75 27 75.663730 75.663730 75.663730 -75 28 76.485293 76.485293 76.485293 -75 29 72.691127 72.691127 72.691127 -75 30 71.589105 71.589105 71.589105 -75 31 68.731361 68.731361 68.731361 -75 32 69.634761 69.634761 69.634761 -75 33 67.742158 67.742158 67.742158 -75 34 65.192024 65.192024 65.192024 -75 35 66.708320 66.708320 66.708320 -75 36 80.212219 80.212219 80.212219 -75 37 79.056942 79.056942 79.056942 -75 38 76.609399 76.609399 76.609399 -75 39 73.239334 73.239334 73.239334 -75 40 72.111026 72.111026 72.111026 -75 41 76.321688 76.321688 76.321688 -75 42 66.850580 66.850580 66.850580 -75 43 69.462220 69.462220 69.462220 -75 44 73.824115 73.824115 73.824115 -75 45 71.196910 71.196910 71.196910 -75 46 62.000000 62.000000 62.000000 -75 47 60.033324 60.033324 60.033324 -75 48 30.805844 30.805844 30.805844 -75 49 26.627054 26.627054 26.627054 -75 50 23.409400 23.409400 23.409400 -75 51 54.120237 54.120237 54.120237 -75 52 35.000000 35.000000 35.000000 -75 53 11.180340 11.180340 11.180340 -75 54 30.000000 30.000000 30.000000 -75 55 53.150729 53.150729 53.150729 -75 56 41.231056 41.231056 41.231056 -75 57 33.541020 33.541020 33.541020 -75 58 11.180340 11.180340 11.180340 -75 59 11.180340 11.180340 11.180340 -75 60 10.000000 10.000000 10.000000 -75 61 40.311289 40.311289 40.311289 -75 62 51.478151 51.478151 51.478151 -75 63 47.434165 47.434165 47.434165 -75 64 45.000000 45.000000 45.000000 -75 65 26.925824 26.925824 26.925824 -75 66 25.000000 25.000000 25.000000 -75 67 27.018512 27.018512 27.018512 -75 68 49.193496 49.193496 49.193496 -75 69 44.721360 44.721360 44.721360 -75 70 33.837849 33.837849 33.837849 -75 71 51.244512 51.244512 51.244512 -75 72 57.008771 57.008771 57.008771 -75 73 62.241465 62.241465 62.241465 -75 74 43.863424 43.863424 43.863424 -75 76 21.213203 21.213203 21.213203 -75 77 40.792156 40.792156 40.792156 -75 78 17.262677 17.262677 17.262677 -75 79 37.947332 37.947332 37.947332 -75 80 50.000000 50.000000 50.000000 -75 81 38.183766 38.183766 38.183766 -75 82 47.801674 47.801674 47.801674 -75 83 24.041631 24.041631 24.041631 -75 84 20.248457 20.248457 20.248457 -75 85 38.078866 38.078866 38.078866 -75 86 43.104524 43.104524 43.104524 -75 87 4.123106 4.123106 4.123106 -75 88 8.944272 8.944272 8.944272 -75 89 38.209946 38.209946 38.209946 -75 90 49.335586 49.335586 49.335586 -75 91 31.906112 31.906112 31.906112 -75 92 36.400549 36.400549 36.400549 -75 93 40.224371 40.224371 40.224371 -75 94 52.009614 52.009614 52.009614 -75 95 46.400431 46.400431 46.400431 -75 96 39.812058 39.812058 39.812058 -75 97 48.795492 48.795492 48.795492 -75 98 16.124515 16.124515 16.124515 -75 99 32.557641 32.557641 32.557641 -75 100 16.155494 16.155494 16.155494 -75 101 48.270074 48.270074 48.270074 -76 1 57.008771 57.008771 57.008771 -76 2 82.462113 82.462113 82.462113 -76 3 72.034714 72.034714 72.034714 -76 4 81.786307 81.786307 81.786307 -76 5 76.485293 76.485293 76.485293 -76 6 81.394103 81.394103 81.394103 -76 7 71.196910 71.196910 71.196910 -76 8 70.710678 70.710678 70.710678 -76 9 75.663730 75.663730 75.663730 -76 10 30.413813 30.413813 30.413813 -76 11 35.355339 35.355339 35.355339 -76 12 35.128336 35.128336 35.128336 -76 13 40.112342 40.112342 40.112342 -76 14 30.000000 30.000000 30.000000 -76 15 40.000000 40.000000 40.000000 -76 16 35.128336 35.128336 35.128336 -76 17 35.355339 35.355339 35.355339 -76 18 40.311289 40.311289 40.311289 -76 19 39.000000 39.000000 39.000000 -76 20 37.336309 37.336309 37.336309 -76 21 38.327536 38.327536 38.327536 -76 22 35.000000 35.000000 35.000000 -76 23 36.400549 36.400549 36.400549 -76 24 33.000000 33.000000 33.000000 -76 25 34.481879 34.481879 34.481879 -76 26 30.000000 30.000000 30.000000 -76 27 93.407708 93.407708 93.407708 -76 28 94.868330 94.868330 94.868330 -76 29 90.520716 90.520716 90.520716 -76 30 90.138782 90.138782 90.138782 -76 31 86.683332 86.683332 86.683332 -76 32 88.255311 88.255311 88.255311 -76 33 85.726309 85.726309 85.726309 -76 34 82.462113 82.462113 82.462113 -76 35 85.440037 85.440037 85.440037 -76 36 101.212647 101.212647 101.212647 -76 37 100.000000 100.000000 100.000000 -76 38 97.616597 97.616597 97.616597 -76 39 94.201911 94.201911 94.201911 -76 40 93.005376 93.005376 93.005376 -76 41 97.082439 97.082439 97.082439 -76 42 87.800911 87.800911 87.800911 -76 43 90.138782 90.138782 90.138782 -76 44 94.339811 94.339811 94.339811 -76 45 91.809586 91.809586 91.809586 -76 46 78.447435 78.447435 78.447435 -76 47 76.118329 76.118329 76.118329 -76 48 40.112342 40.112342 40.112342 -76 49 37.000000 37.000000 37.000000 -76 50 37.656341 37.656341 37.656341 -76 51 73.409809 73.409809 73.409809 -76 52 52.201533 52.201533 52.201533 -76 53 32.015621 32.015621 32.015621 -76 54 47.434165 47.434165 47.434165 -76 55 74.330344 74.330344 74.330344 -76 56 60.415230 60.415230 60.415230 -76 57 54.083269 54.083269 54.083269 -76 58 32.015621 32.015621 32.015621 -76 59 11.180340 11.180340 11.180340 -76 60 15.811388 15.811388 15.811388 -76 61 55.901699 55.901699 55.901699 -76 62 72.111026 72.111026 72.111026 -76 63 67.082039 67.082039 67.082039 -76 64 61.846584 61.846584 61.846584 -76 65 47.169906 47.169906 47.169906 -76 66 46.097722 46.097722 46.097722 -76 67 48.166378 48.166378 48.166378 -76 68 69.641941 69.641941 69.641941 -76 69 65.192024 65.192024 65.192024 -76 70 53.712196 53.712196 53.712196 -76 71 70.682388 70.682388 70.682388 -76 72 78.102497 78.102497 78.102497 -76 73 83.450584 83.450584 83.450584 -76 74 55.081757 55.081757 55.081757 -76 75 21.213203 21.213203 21.213203 -76 77 55.443665 55.443665 55.443665 -76 78 18.110770 18.110770 18.110770 -76 79 51.088159 51.088159 51.088159 -76 80 63.007936 63.007936 63.007936 -76 81 59.396970 59.396970 59.396970 -76 82 68.883960 68.883960 68.883960 -76 83 43.908997 43.908997 43.908997 -76 84 41.231056 41.231056 41.231056 -76 85 57.271284 57.271284 57.271284 -76 86 60.728906 60.728906 60.728906 -76 87 24.839485 24.839485 24.839485 -76 88 20.248457 20.248457 20.248457 -76 89 56.302753 56.302753 56.302753 -76 90 62.000000 62.000000 62.000000 -76 91 52.801515 52.801515 52.801515 -76 92 57.489129 57.489129 57.489129 -76 93 61.220911 61.220911 61.220911 -76 94 73.109507 73.109507 73.109507 -76 95 67.475922 67.475922 67.475922 -76 96 60.207973 60.207973 60.207973 -76 97 70.007142 70.007142 70.007142 -76 98 13.038405 13.038405 13.038405 -76 99 51.478151 51.478151 51.478151 -76 100 36.619667 36.619667 36.619667 -76 101 67.230945 67.230945 67.230945 -77 1 42.941821 42.941821 42.941821 -77 2 80.956779 80.956779 80.956779 -77 3 73.573093 73.573093 73.573093 -77 4 82.298238 82.298238 82.298238 -77 5 78.892332 78.892332 78.892332 -77 6 83.240615 83.240615 83.240615 -77 7 75.716577 75.716577 75.716577 -77 8 77.420927 77.420927 77.420927 -77 9 81.541401 81.541401 81.541401 -77 10 55.036352 55.036352 55.036352 -77 11 57.306195 57.306195 57.306195 -77 12 59.059292 59.059292 59.059292 -77 13 61.587336 61.587336 61.587336 -77 14 59.615434 59.615434 59.615434 -77 15 64.140471 64.140471 64.140471 -77 16 64.404969 64.404969 64.404969 -77 17 66.211781 66.211781 66.211781 -77 18 68.476273 68.476273 68.476273 -77 19 17.464249 17.464249 17.464249 -77 20 18.110770 18.110770 18.110770 -77 21 18.248288 18.248288 18.248288 -77 22 21.189620 21.189620 21.189620 -77 23 20.223748 20.223748 20.223748 -77 24 23.086793 23.086793 23.086793 -77 25 22.203603 22.203603 22.203603 -77 26 25.961510 25.961510 25.961510 -77 27 39.357337 39.357337 39.357337 -77 28 41.880783 41.880783 41.880783 -77 29 36.715120 36.715120 36.715120 -77 30 37.802116 37.802116 37.802116 -77 31 33.286634 33.286634 33.286634 -77 32 36.235342 36.235342 36.235342 -77 33 32.449961 32.449961 32.449961 -77 34 28.178006 28.178006 28.178006 -77 35 33.970576 33.970576 33.970576 -77 36 73.334848 73.334848 73.334848 -77 37 73.171033 73.171033 73.171033 -77 38 70.178344 70.178344 70.178344 -77 39 68.029405 68.029405 68.029405 -77 40 68.000000 68.000000 68.000000 -77 41 73.000000 73.000000 73.000000 -77 42 63.031738 63.031738 63.031738 -77 43 68.183576 68.183576 68.183576 -77 44 73.171033 73.171033 73.171033 -77 45 70.178344 70.178344 70.178344 -77 46 80.622577 80.622577 80.622577 -77 47 79.924965 79.924965 79.924965 -77 48 66.730802 66.730802 66.730802 -77 49 19.313208 19.313208 19.313208 -77 50 18.000000 18.000000 18.000000 -77 51 25.942244 25.942244 25.942244 -77 52 9.433981 9.433981 9.433981 -77 53 39.357337 39.357337 39.357337 -77 54 55.172457 55.172457 55.172457 -77 55 48.259714 48.259714 48.259714 -77 56 56.603887 56.603887 56.603887 -77 57 25.079872 25.079872 25.079872 -77 58 32.695565 32.695565 32.695565 -77 59 45.044423 45.044423 45.044423 -77 60 50.635956 50.635956 50.635956 -77 61 65.795137 65.795137 65.795137 -77 62 55.081757 55.081757 55.081757 -77 63 23.537205 23.537205 23.537205 -77 64 9.433981 9.433981 9.433981 -77 65 23.430749 23.430749 23.430749 -77 66 37.536649 37.536649 37.536649 -77 67 31.400637 31.400637 31.400637 -77 68 30.265492 30.265492 30.265492 -77 69 52.000000 52.000000 52.000000 -77 70 49.406477 49.406477 49.406477 -77 71 62.241465 62.241465 62.241465 -77 72 43.289722 43.289722 43.289722 -77 73 53.084838 53.084838 53.084838 -77 74 75.286121 75.286121 75.286121 -77 75 40.792156 40.792156 40.792156 -77 76 55.443665 55.443665 55.443665 -77 78 38.078866 38.078866 38.078866 -77 79 68.117545 68.117545 68.117545 -77 80 77.794601 77.794601 77.794601 -77 81 37.336309 37.336309 37.336309 -77 82 47.296934 47.296934 47.296934 -77 83 45.276926 45.276926 45.276926 -77 84 29.832868 29.832868 29.832868 -77 85 17.262677 17.262677 17.262677 -77 86 11.401754 11.401754 11.401754 -77 87 40.804412 40.804412 40.804412 -77 88 49.477268 49.477268 49.477268 -77 89 58.412327 58.412327 58.412327 -77 90 9.899495 9.899495 9.899495 -77 91 41.880783 41.880783 41.880783 -77 92 31.953091 31.953091 31.953091 -77 93 31.780497 31.780497 31.780497 -77 94 40.012498 40.012498 40.012498 -77 95 36.124784 36.124784 36.124784 -77 96 25.317978 25.317978 25.317978 -77 97 42.296572 42.296572 42.296572 -77 98 56.320511 56.320511 56.320511 -77 99 52.497619 52.497619 52.497619 -77 100 41.048752 41.048752 41.048752 -77 101 62.177166 62.177166 62.177166 -78 1 49.979996 49.979996 49.979996 -78 2 82.024387 82.024387 82.024387 -78 3 72.006944 72.006944 72.006944 -78 4 82.006097 82.006097 82.006097 -78 5 77.058419 77.058419 77.058419 -78 6 82.054860 82.054860 82.054860 -78 7 72.173402 72.173402 72.173402 -78 8 72.443081 72.443081 72.443081 -78 9 77.414469 77.414469 77.414469 -78 10 34.539832 34.539832 34.539832 -78 11 39.217343 39.217343 39.217343 -78 12 39.924930 39.924930 39.924930 -78 13 44.598206 44.598206 44.598206 -78 14 36.715120 36.715120 36.715120 -78 15 45.694639 45.694639 45.694639 -78 16 42.544095 42.544095 42.544095 -78 17 43.566042 43.566042 43.566042 -78 18 47.885280 47.885280 47.885280 -78 19 21.095023 21.095023 21.095023 -78 20 20.248457 20.248457 20.248457 -78 21 22.472205 22.472205 22.472205 -78 22 17.117243 17.117243 17.117243 -78 23 20.808652 20.808652 20.808652 -78 24 15.132746 15.132746 15.132746 -78 25 19.209373 19.209373 19.209373 -78 26 12.165525 12.165525 12.165525 -78 27 76.896034 76.896034 76.896034 -78 28 78.790862 78.790862 78.790862 -78 29 74.094534 74.094534 74.094534 -78 30 74.249579 74.249579 74.249579 -78 31 70.384657 70.384657 70.384657 -78 32 72.449983 72.449983 72.449983 -78 33 69.462220 69.462220 69.462220 -78 34 65.787537 65.787537 65.787537 -78 35 69.771054 69.771054 69.771054 -78 36 93.059121 93.059121 93.059121 -78 37 92.130342 92.130342 92.130342 -78 38 89.470666 89.470666 89.470666 -78 39 86.313383 86.313383 86.313383 -78 40 85.428333 85.428333 85.428333 -78 41 89.961103 89.961103 89.961103 -78 42 80.056230 80.056230 80.056230 -78 43 83.384651 83.384651 83.384651 -78 44 88.022724 88.022724 88.022724 -78 45 85.234969 85.234969 85.234969 -78 46 79.056942 79.056942 79.056942 -78 47 77.162167 77.162167 77.162167 -78 48 46.957428 46.957428 46.957428 -78 49 19.104973 19.104973 19.104973 -78 50 21.023796 21.023796 21.023796 -78 51 58.523500 58.523500 58.523500 -78 52 36.235342 36.235342 36.235342 -78 53 27.073973 27.073973 27.073973 -78 54 47.095647 47.095647 47.095647 -78 55 65.368188 65.368188 65.368188 -78 56 57.428216 57.428216 57.428216 -78 57 41.868843 41.868843 41.868843 -78 58 23.086793 23.086793 23.086793 -78 59 10.630146 10.630146 10.630146 -78 60 21.400935 21.400935 21.400935 -78 61 57.558666 57.558666 57.558666 -78 62 65.787537 65.787537 65.787537 -78 63 52.801515 52.801515 52.801515 -78 64 45.310043 45.310043 45.310043 -78 65 34.828150 34.828150 34.828150 -78 66 38.897301 38.897301 38.897301 -78 67 38.470768 38.470768 38.470768 -78 68 56.586217 56.586217 56.586217 -78 69 59.481089 59.481089 59.481089 -78 70 49.648766 49.648766 49.648766 -78 71 67.082039 67.082039 67.082039 -78 72 66.843100 66.843100 66.843100 -78 73 73.783467 73.783467 73.783467 -78 74 60.745370 60.745370 60.745370 -78 75 17.262677 17.262677 17.262677 -78 76 18.110770 18.110770 18.110770 -78 77 38.078866 38.078866 38.078866 -78 79 55.081757 55.081757 55.081757 -78 80 67.186308 67.186308 67.186308 -78 81 50.119856 50.119856 50.119856 -78 82 60.835845 60.835845 60.835845 -78 83 40.199502 40.199502 40.199502 -78 84 31.304952 31.304952 31.304952 -78 85 42.801869 42.801869 42.801869 -78 86 44.721360 44.721360 44.721360 -78 87 21.095023 21.095023 21.095023 -78 88 23.706539 23.706539 23.706539 -78 89 55.009090 55.009090 55.009090 -78 90 44.045431 44.045431 44.045431 -78 91 46.173586 46.173586 46.173586 -78 92 46.872167 46.872167 46.872167 -78 93 50.000000 50.000000 50.000000 -78 94 62.008064 62.008064 62.008064 -78 95 56.400355 56.400355 56.400355 -78 96 47.381431 47.381431 47.381431 -78 97 60.207973 60.207973 60.207973 -78 98 24.207437 24.207437 24.207437 -78 99 49.091751 49.091751 49.091751 -78 100 32.140317 32.140317 32.140317 -78 101 64.498062 64.498062 64.498062 -79 1 32.557641 32.557641 32.557641 -79 2 33.615473 33.615473 33.615473 -79 3 23.600847 23.600847 23.600847 -79 4 32.202484 32.202484 32.202484 -79 5 26.832816 26.832816 26.832816 -79 6 31.384710 31.384710 31.384710 -79 7 21.470911 21.470911 21.470911 -79 8 20.248457 20.248457 20.248457 -79 9 25.000000 25.000000 25.000000 -79 10 21.095023 21.095023 21.095023 -79 11 16.124515 16.124515 16.124515 -79 12 16.000000 16.000000 16.000000 -79 13 11.000000 11.000000 11.000000 -79 14 21.213203 21.213203 21.213203 -79 15 11.401754 11.401754 11.401754 -79 16 17.088007 17.088007 17.088007 -79 17 17.888544 17.888544 17.888544 -79 18 13.601471 13.601471 13.601471 -79 19 62.425956 62.425956 62.425956 -79 20 57.201399 57.201399 57.201399 -79 21 53.263496 53.263496 53.263496 -79 22 60.207973 60.207973 60.207973 -79 23 52.009614 52.009614 52.009614 -79 24 59.169249 59.169249 59.169249 -79 25 50.803543 50.803543 50.803543 -79 26 57.706152 57.706152 57.706152 -79 27 90.801982 90.801982 90.801982 -79 28 89.498603 89.498603 89.498603 -79 29 87.931792 87.931792 87.931792 -79 30 84.646323 84.646323 84.646323 -79 31 84.118963 84.118963 84.118963 -79 32 82.710338 82.710338 82.710338 -79 33 83.168504 83.168504 83.168504 -79 34 83.006024 83.006024 83.006024 -79 35 79.812280 79.812280 79.812280 -79 36 65.741920 65.741920 65.741920 -79 37 63.953108 63.953108 63.953108 -79 38 62.649820 62.649820 62.649820 -79 39 59.093147 59.093147 59.093147 -79 40 57.271284 57.271284 57.271284 -79 41 59.539903 59.539903 59.539903 -79 42 53.488316 53.488316 53.488316 -79 43 52.773099 52.773099 52.773099 -79 44 55.226805 55.226805 55.226805 -79 45 53.712196 53.712196 53.712196 -79 46 28.635642 28.635642 28.635642 -79 47 26.000000 26.000000 26.000000 -79 48 12.529964 12.529964 12.529964 -79 49 61.294372 61.294372 61.294372 -79 50 55.605755 55.605755 55.605755 -79 51 67.357256 67.357256 67.357256 -79 52 59.203040 59.203040 59.203040 -79 53 31.064449 31.064449 31.064449 -79 54 13.416408 13.416408 13.416408 -79 55 47.169906 47.169906 47.169906 -79 56 22.360680 22.360680 22.360680 -79 57 46.957428 46.957428 46.957428 -79 58 38.013156 38.013156 38.013156 -79 59 46.529560 46.529560 46.529560 -79 60 36.055513 36.055513 36.055513 -79 61 8.062258 8.062258 8.062258 -79 62 38.078866 38.078866 38.078866 -79 63 60.745370 60.745370 60.745370 -79 64 67.416615 67.416615 67.416615 -79 65 45.221676 45.221676 45.221676 -79 66 31.384710 31.384710 31.384710 -79 67 38.078866 38.078866 38.078866 -79 68 57.723479 57.723479 57.723479 -79 69 32.249031 32.249031 32.249031 -79 70 23.345235 23.345235 23.345235 -79 71 29.966648 29.966648 29.966648 -79 72 57.008771 57.008771 57.008771 -79 73 55.731499 55.731499 55.731499 -79 74 7.211103 7.211103 7.211103 -79 75 37.947332 37.947332 37.947332 -79 76 51.088159 51.088159 51.088159 -79 77 68.117545 68.117545 68.117545 -79 78 55.081757 55.081757 55.081757 -79 80 12.165525 12.165525 12.165525 -79 81 40.024992 40.024992 40.024992 -79 82 41.048752 41.048752 41.048752 -79 83 23.021729 23.021729 23.021729 -79 84 38.288379 38.288379 38.288379 -79 85 55.946403 55.946403 55.946403 -79 86 64.140471 64.140471 64.140471 -79 87 34.539832 34.539832 34.539832 -79 88 32.249031 32.249031 32.249031 -79 89 16.124515 16.124515 16.124515 -79 90 77.987178 77.987178 77.987178 -79 91 30.364453 30.364453 30.364453 -79 92 43.324358 43.324358 43.324358 -79 93 46.840154 46.840154 46.840154 -79 94 53.150729 53.150729 53.150729 -79 95 49.648766 49.648766 49.648766 -79 96 51.623638 51.623638 51.623638 -79 97 47.042534 47.042534 47.042534 -79 98 38.209946 38.209946 38.209946 -79 99 18.439089 18.439089 18.439089 -79 100 27.658633 27.658633 27.658633 -79 101 25.495098 25.495098 25.495098 -80 1 38.470768 38.470768 38.470768 -80 2 25.495098 25.495098 25.495098 -80 3 17.464249 17.464249 17.464249 -80 4 23.345235 23.345235 23.345235 -80 5 18.439089 18.439089 18.439089 -80 6 22.022716 22.022716 22.022716 -80 7 13.892444 13.892444 13.892444 -80 8 11.401754 11.401754 11.401754 -80 9 15.000000 15.000000 15.000000 -80 10 33.241540 33.241540 33.241540 -80 11 28.284271 28.284271 28.284271 -80 12 28.071338 28.071338 28.071338 -80 13 23.086793 23.086793 23.086793 -80 14 33.015148 33.015148 33.015148 -80 15 23.021729 23.021729 23.021729 -80 16 28.284271 28.284271 28.284271 -80 17 28.635642 28.635642 28.635642 -80 18 23.769729 23.769729 23.769729 -80 19 73.573093 73.573093 73.573093 -80 20 68.264193 68.264193 68.264193 -80 21 64.070274 64.070274 64.070274 -80 22 71.589105 71.589105 71.589105 -80 23 62.968246 62.968246 62.968246 -80 24 70.661163 70.661163 70.661163 -80 25 61.911227 61.911227 61.911227 -80 26 69.354164 69.354164 69.354164 -80 27 96.772930 96.772930 96.772930 -80 28 94.921020 94.921020 94.921020 -80 29 94.021274 94.021274 94.021274 -80 30 90.249654 90.249654 90.249654 -80 31 90.376988 90.376988 90.376988 -80 32 88.391176 88.391176 88.391176 -80 33 89.470666 89.470666 89.470666 -80 34 89.944427 89.944427 89.944427 -80 35 85.615419 85.615419 85.615419 -80 36 63.324561 63.324561 63.324561 -80 37 61.400326 61.400326 61.400326 -80 38 60.638272 60.638272 60.638272 -80 39 57.271284 57.271284 57.271284 -80 40 55.317267 55.317267 55.317267 -80 41 56.612719 56.612719 56.612719 -80 42 52.469038 52.469038 52.469038 -80 43 50.447993 50.447993 50.447993 -80 44 51.865210 51.865210 51.865210 -80 45 50.960769 50.960769 50.960769 -80 46 19.798990 19.798990 19.798990 -80 47 16.970563 16.970563 16.970563 -80 48 23.345235 23.345235 23.345235 -80 49 72.560320 72.560320 72.560320 -80 50 66.573268 66.573268 66.573268 -80 51 73.790243 73.790243 73.790243 -80 52 68.593003 68.593003 68.593003 -80 53 42.485292 42.485292 42.485292 -80 54 22.803509 22.803509 22.803509 -80 55 49.648766 49.648766 49.648766 -80 56 25.298221 25.298221 25.298221 -80 57 55.000000 55.000000 55.000000 -80 58 49.244289 49.244289 49.244289 -80 59 58.694122 58.694122 58.694122 -80 60 48.166378 48.166378 48.166378 -80 61 12.041595 12.041595 12.041595 -80 62 39.115214 39.115214 39.115214 -80 63 67.601775 67.601775 67.601775 -80 64 76.059187 76.059187 76.059187 -80 65 54.451814 54.451814 54.451814 -80 66 40.311289 40.311289 40.311289 -80 67 46.754679 46.754679 46.754679 -80 68 63.560994 63.560994 63.560994 -80 69 34.928498 34.928498 34.928498 -80 70 29.681644 29.681644 29.681644 -80 71 29.017236 29.017236 29.017236 -80 72 60.415230 60.415230 60.415230 -80 73 57.078893 57.078893 57.078893 -80 74 8.944272 8.944272 8.944272 -80 75 50.000000 50.000000 50.000000 -80 76 63.007936 63.007936 63.007936 -80 77 77.794601 77.794601 77.794601 -80 78 67.186308 67.186308 67.186308 -80 79 12.165525 12.165525 12.165525 -80 81 46.065171 46.065171 46.065171 -80 82 44.147480 44.147480 44.147480 -80 83 32.649655 32.649655 32.649655 -80 84 48.270074 48.270074 48.270074 -80 85 64.202804 64.202804 64.202804 -80 86 72.622311 72.622311 72.622311 -80 87 46.486557 46.486557 46.486557 -80 88 44.407207 44.407207 44.407207 -80 89 20.591260 20.591260 20.591260 -80 90 87.692645 87.692645 87.692645 -80 91 37.443290 37.443290 37.443290 -80 92 50.249378 50.249378 50.249378 -80 93 53.235327 53.235327 53.235327 -80 94 57.280014 57.280014 57.280014 -80 95 54.781384 54.781384 54.781384 -80 96 58.830264 58.830264 58.830264 -80 97 50.960769 50.960769 50.960769 -80 98 50.039984 50.039984 50.039984 -80 99 25.612497 25.612497 25.612497 -80 100 38.587563 38.587563 38.587563 -80 101 25.019992 25.019992 25.019992 -81 1 7.615773 7.615773 7.615773 -81 2 43.908997 43.908997 43.908997 -81 3 37.536649 37.536649 37.536649 -81 4 45.486262 45.486262 45.486262 -81 5 42.638011 42.638011 42.638011 -81 6 46.615448 46.615448 46.615448 -81 7 40.311289 40.311289 40.311289 -81 8 42.520583 42.520583 42.520583 -81 9 45.967380 45.967380 45.967380 -81 10 38.897301 38.897301 38.897301 -81 11 37.656341 37.656341 37.656341 -81 12 39.623226 39.623226 39.623226 -81 13 39.051248 39.051248 39.051248 -81 14 43.680659 43.680659 43.680659 -81 15 42.047592 42.047592 42.047592 -81 16 45.541190 45.541190 45.541190 -81 17 47.518417 47.518417 47.518417 -81 18 47.042534 47.042534 47.042534 -81 19 42.107007 42.107007 42.107007 -81 20 37.336309 37.336309 37.336309 -81 21 32.388269 32.388269 32.388269 -81 22 42.579338 42.579338 42.579338 -81 23 32.756679 32.756679 32.756679 -81 24 42.953463 42.953463 42.953463 -81 25 33.241540 33.241540 33.241540 -81 26 43.680659 43.680659 43.680659 -81 27 50.921508 50.921508 50.921508 -81 28 49.477268 49.477268 49.477268 -81 29 48.104054 48.104054 48.104054 -81 30 44.643029 44.643029 44.643029 -81 31 44.384682 44.384682 44.384682 -81 32 42.720019 42.720019 42.720019 -81 33 43.462628 43.462628 43.462628 -81 34 43.908997 43.908997 43.908997 -81 35 39.849718 39.849718 39.849718 -81 36 42.941821 42.941821 42.941821 -81 37 42.047592 42.047592 42.047592 -81 38 39.357337 39.357337 39.357337 -81 39 36.249138 36.249138 36.249138 -81 40 35.468296 35.468296 35.468296 -81 41 40.162171 40.162171 40.162171 -81 42 30.083218 30.083218 30.083218 -81 43 33.955854 33.955854 33.955854 -81 44 38.832976 38.832976 38.832976 -81 45 35.902646 35.902646 35.902646 -81 46 44.204072 44.204072 44.204072 -81 47 43.931765 43.931765 43.931765 -81 48 45.044423 45.044423 45.044423 -81 49 42.296572 42.296572 42.296572 -81 50 35.355339 35.355339 35.355339 -81 51 27.730849 27.730849 27.730849 -81 52 28.160256 28.160256 28.160256 -81 53 27.802878 27.802878 27.802878 -81 54 27.166155 27.166155 27.166155 -81 55 15.264338 15.264338 15.264338 -81 56 21.400935 21.400935 21.400935 -81 57 12.369317 12.369317 12.369317 -81 58 27.802878 27.802878 27.802878 -81 59 48.918299 48.918299 48.918299 -81 60 45.803930 45.803930 45.803930 -81 61 34.539832 34.539832 34.539832 -81 62 18.110770 18.110770 18.110770 -81 63 21.633308 21.633308 21.633308 -81 64 32.449961 32.449961 32.449961 -81 65 17.117243 17.117243 17.117243 -81 66 13.892444 13.892444 13.892444 -81 67 11.661904 11.661904 11.661904 -81 68 17.720045 17.720045 17.720045 -81 69 14.764823 14.764823 14.764823 -81 70 16.763055 16.763055 16.763055 -81 71 25.059928 25.059928 25.059928 -81 72 19.697716 19.697716 19.697716 -81 73 24.083189 24.083189 24.083189 -81 74 46.840154 46.840154 46.840154 -81 75 38.183766 38.183766 38.183766 -81 76 59.396970 59.396970 59.396970 -81 77 37.336309 37.336309 37.336309 -81 78 50.119856 50.119856 50.119856 -81 79 40.024992 40.024992 40.024992 -81 80 46.065171 46.065171 46.065171 -81 82 11.180340 11.180340 11.180340 -81 83 20.396078 20.396078 20.396078 -81 84 18.867962 18.867962 18.867962 -81 85 20.591260 20.591260 20.591260 -81 86 28.844410 28.844410 28.844410 -81 87 34.713110 34.713110 34.713110 -81 88 41.880783 41.880783 41.880783 -81 89 25.495098 25.495098 25.495098 -81 90 46.518813 46.518813 46.518813 -81 91 10.000000 10.000000 10.000000 -81 92 5.385165 5.385165 5.385165 -81 93 7.211103 7.211103 7.211103 -81 94 14.866069 14.866069 14.866069 -81 95 10.049876 10.049876 10.049876 -81 96 13.453624 13.453624 13.453624 -81 97 10.630146 10.630146 10.630146 -81 98 51.865210 51.865210 51.865210 -81 99 21.587033 21.587033 21.587033 -81 100 24.186773 24.186773 24.186773 -81 101 25.612497 25.612497 25.612497 -82 1 12.041595 12.041595 12.041595 -82 2 36.124784 36.124784 36.124784 -82 3 31.906112 31.906112 31.906112 -82 4 38.183766 38.183766 38.183766 -82 5 36.400549 36.400549 36.400549 -82 6 39.623226 39.623226 39.623226 -82 7 35.355339 35.355339 35.355339 -82 8 38.013156 38.013156 38.013156 -82 9 40.496913 40.496913 40.496913 -82 10 45.276926 45.276926 45.276926 -82 11 42.953463 42.953463 42.953463 -82 12 44.777226 44.777226 44.777226 -82 13 43.011626 43.011626 43.011626 -82 14 49.648766 49.648766 49.648766 -82 15 45.880279 45.880279 45.880279 -82 16 50.328918 50.328918 50.328918 -82 17 52.201533 52.201533 52.201533 -82 18 50.695167 50.695167 50.695167 -82 19 53.235327 53.235327 53.235327 -82 20 48.507731 48.507731 48.507731 -82 21 43.566042 43.566042 43.566042 -82 22 53.758720 53.758720 53.758720 -82 23 43.931765 43.931765 43.931765 -82 24 54.129474 54.129474 54.129474 -82 25 44.384682 44.384682 44.384682 -82 26 54.817880 54.817880 54.817880 -82 27 53.851648 53.851648 53.851648 -82 28 51.429563 51.429563 51.429563 -82 29 51.312766 51.312766 51.312766 -82 30 47.010637 47.010637 47.010637 -82 31 48.010416 48.010416 48.010416 -82 32 45.276926 45.276926 45.276926 -82 33 47.201695 47.201695 47.201695 -82 34 48.836462 48.836462 48.836462 -82 35 42.720019 42.720019 42.720019 -82 36 32.449961 32.449961 32.449961 -82 37 31.384710 31.384710 31.384710 -82 38 28.844410 28.844410 28.844410 -82 39 25.553865 25.553865 25.553865 -82 40 24.596748 24.596748 24.596748 -82 41 29.154759 29.154759 29.154759 -82 42 19.235384 19.235384 19.235384 -82 43 22.803509 22.803509 22.803509 -82 44 27.658633 27.658633 27.658633 -82 45 24.738634 24.738634 24.738634 -82 46 37.643060 37.643060 37.643060 -82 47 38.013156 38.013156 38.013156 -82 48 48.764741 48.764741 48.764741 -82 49 53.460266 53.460266 53.460266 -82 50 46.529560 46.529560 46.529560 -82 51 32.526912 32.526912 32.526912 -82 52 38.470768 38.470768 38.470768 -82 53 36.878178 36.878178 36.878178 -82 54 30.083218 30.083218 30.083218 -82 55 6.324555 6.324555 6.324555 -82 56 19.104973 19.104973 19.104973 -82 57 23.021729 23.021729 23.021729 -82 58 38.078866 38.078866 38.078866 -82 59 58.821765 58.821765 58.821765 -82 60 54.451814 54.451814 54.451814 -82 61 34.058773 34.058773 34.058773 -82 62 8.062258 8.062258 8.062258 -82 63 28.017851 28.017851 28.017851 -82 64 41.231056 41.231056 41.231056 -82 65 28.284271 28.284271 28.284271 -82 66 22.803509 22.803509 22.803509 -82 67 22.472205 22.472205 22.472205 -82 68 21.931712 21.931712 21.931712 -82 69 9.219544 9.219544 9.219544 -82 70 18.973666 18.973666 18.973666 -82 71 17.804494 17.804494 17.804494 -82 72 16.278821 16.278821 16.278821 -82 73 15.652476 15.652476 15.652476 -82 74 47.042534 47.042534 47.042534 -82 75 47.801674 47.801674 47.801674 -82 76 68.883960 68.883960 68.883960 -82 77 47.296934 47.296934 47.296934 -82 78 60.835845 60.835845 60.835845 -82 79 41.048752 41.048752 41.048752 -82 80 44.147480 44.147480 44.147480 -82 81 11.180340 11.180340 11.180340 -82 83 26.627054 26.627054 26.627054 -82 84 29.546573 29.546573 29.546573 -82 85 30.083218 30.083218 30.083218 -82 86 37.696154 37.696154 37.696154 -82 87 44.045431 44.045431 44.045431 -82 88 50.249378 50.249378 50.249378 -82 89 25.000000 25.000000 25.000000 -82 90 55.973208 55.973208 55.973208 -82 91 16.278821 16.278821 16.278821 -82 92 16.000000 16.000000 16.000000 -82 93 15.524175 15.524175 15.524175 -82 94 13.416408 13.416408 13.416408 -82 95 12.806248 12.806248 12.806248 -82 96 22.135944 22.135944 22.135944 -82 97 7.211103 7.211103 7.211103 -82 98 60.207973 60.207973 60.207973 -82 99 23.769729 23.769729 23.769729 -82 100 32.526912 32.526912 32.526912 -82 101 20.124612 20.124612 20.124612 -83 1 14.764823 14.764823 14.764823 -83 2 42.047592 42.047592 42.047592 -83 3 32.388269 32.388269 32.388269 -83 4 42.296572 42.296572 42.296572 -83 5 37.656341 37.656341 37.656341 -83 6 42.579338 42.579338 42.579338 -83 7 33.241540 33.241540 33.241540 -83 8 34.176015 34.176015 34.176015 -83 9 38.897301 38.897301 38.897301 -83 10 18.788294 18.788294 18.788294 -83 11 17.262677 17.262677 17.262677 -83 12 19.235384 19.235384 19.235384 -83 13 19.104973 19.104973 19.104973 -83 14 23.409400 23.409400 23.409400 -83 15 22.090722 22.090722 22.090722 -83 16 25.179357 25.179357 25.179357 -83 17 27.166155 27.166155 27.166155 -83 18 27.073973 27.073973 27.073973 -83 19 41.629317 41.629317 41.629317 -83 20 36.249138 36.249138 36.249138 -83 21 31.764760 31.764760 31.764760 -83 22 40.162171 40.162171 40.162171 -83 23 30.870698 30.870698 30.870698 -83 24 39.560081 39.560081 39.560081 -83 25 30.083218 30.083218 30.083218 -83 26 38.832976 38.832976 38.832976 -83 27 69.231496 69.231496 69.231496 -83 28 68.468971 68.468971 68.468971 -83 29 66.287254 66.287254 66.287254 -83 30 63.505905 63.505905 63.505905 -83 31 62.369865 62.369865 62.369865 -83 32 61.522354 61.522354 61.522354 -83 33 61.392182 61.392182 61.392182 -83 34 60.728906 60.728906 60.728906 -83 35 58.549125 58.549125 58.549125 -83 36 58.000000 58.000000 58.000000 -83 37 56.639209 56.639209 56.639209 -83 38 54.451814 54.451814 54.451814 -83 39 50.931326 50.931326 50.931326 -83 40 49.578221 49.578221 49.578221 -83 41 53.413481 53.413481 53.413481 -83 42 44.553339 44.553339 44.553339 -83 43 46.400431 46.400431 46.400431 -83 44 50.477718 50.477718 50.477718 -83 45 48.010416 48.010416 48.010416 -83 46 39.623226 39.623226 39.623226 -83 47 38.078866 38.078866 38.078866 -83 48 25.079872 25.079872 25.079872 -83 49 40.853396 40.853396 40.853396 -83 50 34.438351 34.438351 34.438351 -83 51 45.705580 45.705580 45.705580 -83 52 36.235342 36.235342 36.235342 -83 53 13.152946 13.152946 13.152946 -83 54 9.899495 9.899495 9.899495 -83 55 32.756679 32.756679 32.756679 -83 56 17.262677 17.262677 17.262677 -83 57 24.351591 24.351591 24.351591 -83 58 18.248288 18.248288 18.248288 -83 59 35.114100 35.114100 35.114100 -83 60 28.600699 28.600699 28.600699 -83 61 20.808652 20.808652 20.808652 -83 62 28.425341 28.425341 28.425341 -83 63 38.832976 38.832976 38.832976 -83 64 44.418465 44.418465 44.418465 -83 65 22.203603 22.203603 22.203603 -83 66 8.544004 8.544004 8.544004 -83 67 15.231546 15.231546 15.231546 -83 68 37.013511 37.013511 37.013511 -83 69 21.400935 21.400935 21.400935 -83 70 9.848858 9.848858 9.848858 -83 71 27.202941 27.202941 27.202941 -83 72 39.849718 39.849718 39.849718 -83 73 42.190046 42.190046 42.190046 -83 74 30.232433 30.232433 30.232433 -83 75 24.041631 24.041631 24.041631 -83 76 43.908997 43.908997 43.908997 -83 77 45.276926 45.276926 45.276926 -83 78 40.199502 40.199502 40.199502 -83 79 23.021729 23.021729 23.021729 -83 80 32.649655 32.649655 32.649655 -83 81 20.396078 20.396078 20.396078 -83 82 26.627054 26.627054 26.627054 -83 84 15.620499 15.620499 15.620499 -83 85 33.105891 33.105891 33.105891 -83 86 41.182521 41.182521 41.182521 -83 87 19.924859 19.924859 19.924859 -83 88 24.207437 24.207437 24.207437 -83 89 15.297059 15.297059 15.297059 -83 90 55.172457 55.172457 55.172457 -83 91 10.770330 10.770330 10.770330 -83 92 22.022716 22.022716 22.022716 -83 93 26.000000 26.000000 26.000000 -83 94 35.171011 35.171011 35.171011 -83 95 30.413813 30.413813 30.413813 -83 96 29.614186 29.614186 29.614186 -83 97 30.083218 30.083218 30.083218 -83 98 33.970576 33.970576 33.970576 -83 99 9.055385 9.055385 9.055385 -83 100 8.062258 8.062258 8.062258 -83 101 24.331050 24.331050 24.331050 -84 1 19.235384 19.235384 19.235384 -84 2 55.317267 55.317267 55.317267 -84 3 46.486557 46.486557 46.486557 -84 4 56.044625 56.044625 56.044625 -84 5 51.865210 51.865210 51.865210 -84 6 56.612719 56.612719 56.612719 -84 7 47.927028 47.927028 47.927028 -84 8 49.193496 49.193496 49.193496 -84 9 53.712196 53.712196 53.712196 -84 10 27.294688 27.294688 27.294688 -84 11 28.460499 28.460499 28.460499 -84 12 30.364453 30.364453 30.364453 -84 13 32.202484 32.202484 32.202484 -84 14 32.249031 32.249031 32.249031 -84 15 34.928498 34.928498 34.928498 -84 16 36.138622 36.138622 36.138622 -84 17 38.078866 38.078866 38.078866 -84 18 39.560081 39.560081 39.560081 -84 19 26.925824 26.925824 26.925824 -84 20 21.587033 21.587033 21.587033 -84 21 16.763055 16.763055 16.763055 -84 22 26.172505 26.172505 26.172505 -84 23 16.278821 16.278821 16.278821 -84 24 26.019224 26.019224 26.019224 -84 25 16.031220 16.031220 16.031220 -84 26 26.076810 26.076810 26.076810 -84 27 58.008620 58.008620 58.008620 -84 28 58.137767 58.137767 58.137767 -84 29 55.009090 55.009090 55.009090 -84 30 53.150729 53.150729 53.150729 -84 31 51.009803 51.009803 51.009803 -84 32 51.156622 51.156622 51.156622 -84 33 50.009999 50.009999 50.009999 -84 34 48.373546 48.373546 48.373546 -84 35 48.166378 48.166378 48.166378 -84 36 61.773781 61.773781 61.773781 -84 37 60.827625 60.827625 60.827625 -84 38 58.180753 58.180753 58.180753 -84 39 55.009090 55.009090 55.009090 -84 40 54.129474 54.129474 54.129474 -84 41 58.694122 58.694122 58.694122 -84 42 48.754487 48.754487 48.754487 -84 43 52.201533 52.201533 52.201533 -84 44 56.920998 56.920998 56.920998 -84 45 54.083269 54.083269 54.083269 -84 46 53.758720 53.758720 53.758720 -84 47 52.554733 52.554733 52.554733 -84 48 37.696154 37.696154 37.696154 -84 49 26.476405 26.476405 26.476405 -84 50 19.646883 19.646883 19.646883 -84 51 35.227830 35.227830 35.227830 -84 52 21.095023 21.095023 21.095023 -84 53 12.041595 12.041595 12.041595 -84 54 25.495098 25.495098 25.495098 -84 55 34.132096 34.132096 34.132096 -84 56 29.832868 29.832868 29.832868 -84 57 13.601471 13.601471 13.601471 -84 58 9.219544 9.219544 9.219544 -84 59 30.413813 30.413813 30.413813 -84 60 29.154759 29.154759 29.154759 -84 61 36.400549 36.400549 36.400549 -84 62 34.928498 34.928498 34.928498 -84 63 28.284271 28.284271 28.284271 -84 64 30.083218 30.083218 30.083218 -84 65 8.062258 8.062258 8.062258 -84 66 9.219544 9.219544 9.219544 -84 67 7.211103 7.211103 7.211103 -84 68 29.154759 29.154759 29.154759 -84 69 29.154759 29.154759 29.154759 -84 70 21.840330 21.840330 21.840330 -84 71 38.052595 38.052595 38.052595 -84 72 36.878178 36.878178 36.878178 -84 73 42.801869 42.801869 42.801869 -84 74 45.453273 45.453273 45.453273 -84 75 20.248457 20.248457 20.248457 -84 76 41.231056 41.231056 41.231056 -84 77 29.832868 29.832868 29.832868 -84 78 31.304952 31.304952 31.304952 -84 79 38.288379 38.288379 38.288379 -84 80 48.270074 48.270074 48.270074 -84 81 18.867962 18.867962 18.867962 -84 82 29.546573 29.546573 29.546573 -84 83 15.620499 15.620499 15.620499 -84 85 20.099751 20.099751 20.099751 -84 86 27.202941 27.202941 27.202941 -84 87 17.464249 17.464249 17.464249 -84 88 25.961510 25.961510 25.961510 -84 89 29.966648 29.966648 29.966648 -84 90 39.698866 39.698866 39.698866 -84 91 16.000000 16.000000 16.000000 -84 92 16.278821 16.278821 16.278821 -84 93 20.000000 20.000000 20.000000 -84 94 31.890437 31.890437 31.890437 -84 95 26.248809 26.248809 26.248809 -84 96 19.924859 19.924859 19.924859 -84 97 29.206164 29.206164 29.206164 -84 98 35.468296 35.468296 35.468296 -84 99 23.706539 23.706539 23.706539 -84 100 11.704700 11.704700 11.704700 -84 101 36.496575 36.496575 36.496575 -85 1 27.018512 27.018512 27.018512 -85 2 64.498062 64.498062 64.498062 -85 3 57.801384 57.801384 57.801384 -85 4 66.037868 66.037868 66.037868 -85 5 63.007936 63.007936 63.007936 -85 6 67.119297 67.119297 67.119297 -85 7 60.307545 60.307545 60.307545 -85 8 62.289646 62.289646 62.289646 -85 9 66.068147 66.068147 66.068147 -85 10 47.381431 47.381431 47.381431 -85 11 48.270074 48.270074 48.270074 -85 12 50.219518 50.219518 50.219518 -85 13 51.546096 51.546096 51.546096 -85 14 52.345009 52.345009 52.345009 -85 15 54.405882 54.405882 54.405882 -85 16 56.089215 56.089215 56.089215 -85 17 58.051701 58.051701 58.051701 -85 18 59.203040 59.203040 59.203040 -85 19 27.294688 27.294688 27.294688 -85 20 24.207437 24.207437 24.207437 -85 21 20.518285 20.518285 20.518285 -85 22 29.410882 29.410882 29.410882 -85 23 22.022716 22.022716 22.022716 -85 24 30.610456 30.610456 30.610456 -85 25 23.600847 23.600847 23.600847 -85 26 32.557641 32.557641 32.557641 -85 27 38.013156 38.013156 38.013156 -85 28 38.470768 38.470768 38.470768 -85 29 35.014283 35.014283 35.014283 -85 30 33.541020 33.541020 33.541020 -85 31 31.016125 31.016125 31.016125 -85 32 31.575307 31.575307 31.575307 -85 33 30.016662 30.016662 30.016662 -85 34 28.284271 28.284271 28.284271 -85 35 28.635642 28.635642 28.635642 -85 36 56.885851 56.885851 56.885851 -85 37 56.568542 56.568542 56.568542 -85 38 53.600373 53.600373 53.600373 -85 39 51.244512 51.244512 51.244512 -85 40 51.088159 51.088159 51.088159 -85 41 56.080300 56.080300 56.080300 -85 42 46.010868 46.010868 46.010868 -85 43 51.039201 51.039201 51.039201 -85 44 56.035703 56.035703 56.035703 -85 45 53.037722 53.037722 53.037722 -85 46 64.637450 64.637450 64.637450 -85 47 64.202804 64.202804 64.202804 -85 48 57.280014 57.280014 57.280014 -85 49 28.301943 28.301943 28.301943 -85 50 22.671568 22.671568 22.671568 -85 51 16.155494 16.155494 16.155494 -85 52 9.219544 9.219544 9.219544 -85 53 32.015621 32.015621 32.015621 -85 54 42.544095 42.544095 42.544095 -85 55 31.064449 31.064449 31.064449 -85 56 41.109610 41.109610 41.109610 -85 57 9.219544 9.219544 9.219544 -85 58 27.294688 27.294688 27.294688 -85 59 46.097722 46.097722 46.097722 -85 60 47.853944 47.853944 47.853944 -85 61 52.201533 52.201533 52.201533 -85 62 37.947332 37.947332 37.947332 -85 63 10.000000 10.000000 10.000000 -85 64 12.041595 12.041595 12.041595 -85 65 12.041595 12.041595 12.041595 -85 66 24.596748 24.596748 24.596748 -85 67 17.888544 17.888544 17.888544 -85 68 14.764823 14.764823 14.764823 -85 69 35.355339 35.355339 35.355339 -85 70 34.713110 34.713110 34.713110 -85 71 45.650849 45.650849 45.650849 -85 72 27.202941 27.202941 27.202941 -85 73 36.496575 36.496575 36.496575 -85 74 63.134776 63.134776 63.134776 -85 75 38.078866 38.078866 38.078866 -85 76 57.271284 57.271284 57.271284 -85 77 17.262677 17.262677 17.262677 -85 78 42.801869 42.801869 42.801869 -85 79 55.946403 55.946403 55.946403 -85 80 64.202804 64.202804 64.202804 -85 81 20.591260 20.591260 20.591260 -85 82 30.083218 30.083218 30.083218 -85 83 33.105891 33.105891 33.105891 -85 84 20.099751 20.099751 20.099751 -85 86 8.485281 8.485281 8.485281 -85 87 36.345564 36.345564 36.345564 -85 88 45.276926 45.276926 45.276926 -85 89 43.931765 43.931765 43.931765 -85 90 26.000000 26.000000 26.000000 -85 91 26.907248 26.907248 26.907248 -85 92 15.264338 15.264338 15.264338 -85 93 14.560220 14.560220 14.560220 -85 94 23.345235 23.345235 23.345235 -85 95 19.000000 19.000000 19.000000 -85 96 8.062258 8.062258 8.062258 -85 97 25.079872 25.079872 25.079872 -85 98 54.129474 54.129474 54.129474 -85 99 38.600518 38.600518 38.600518 -85 100 31.575307 31.575307 31.575307 -85 101 46.043458 46.043458 46.043458 -86 1 35.468296 35.468296 35.468296 -86 2 72.718636 72.718636 72.718636 -86 3 66.219333 66.219333 66.219333 -86 4 74.330344 74.330344 74.330344 -86 5 71.400280 71.400280 71.400280 -86 6 75.451971 75.451971 75.451971 -86 7 68.767725 68.767725 68.767725 -86 8 70.767224 70.767224 70.767224 -86 9 74.518454 74.518454 74.518454 -86 10 54.341513 54.341513 54.341513 -86 11 55.659680 55.659680 55.659680 -86 12 57.567352 57.567352 57.567352 -86 13 59.236813 59.236813 59.236813 -86 14 59.228372 59.228372 59.228372 -86 15 62.032250 62.032250 62.032250 -86 16 63.324561 63.324561 63.324561 -86 17 65.253352 65.253352 65.253352 -86 18 66.730802 66.730802 66.730802 -86 19 26.172505 26.172505 26.172505 -86 20 24.698178 24.698178 24.698178 -86 21 22.472205 22.472205 22.472205 -86 22 29.206164 29.206164 29.206164 -86 23 24.351591 24.351591 24.351591 -86 24 30.805844 30.805844 30.805844 -86 25 26.248809 26.248809 26.248809 -86 26 33.286634 33.286634 33.286634 -86 27 32.756679 32.756679 32.756679 -86 28 34.176015 34.176015 34.176015 -86 29 29.832868 29.832868 29.832868 -86 30 29.546573 29.546573 29.546573 -86 31 25.961510 25.961510 25.961510 -86 32 27.730849 27.730849 27.730849 -86 33 25.000000 25.000000 25.000000 -86 34 22.090722 22.090722 22.090722 -86 35 25.059928 25.059928 25.059928 -86 36 62.128898 62.128898 62.128898 -86 37 62.032250 62.032250 62.032250 -86 38 59.033889 59.033889 59.033889 -86 39 57.008771 57.008771 57.008771 -86 40 57.078893 57.078893 57.078893 -86 41 62.072538 62.072538 62.072538 -86 42 52.239832 52.239832 52.239832 -86 43 57.558666 57.558666 57.558666 -86 44 62.513998 62.513998 62.513998 -86 45 59.539903 59.539903 59.539903 -86 46 73.006849 73.006849 73.006849 -86 47 72.622311 72.622311 72.622311 -86 48 64.845971 64.845971 64.845971 -86 49 27.658633 27.658633 27.658633 -86 50 23.706539 23.706539 23.706539 -86 51 15.000000 15.000000 15.000000 -86 52 8.544004 8.544004 8.544004 -86 53 38.639358 38.639358 38.639358 -86 54 50.774009 50.774009 50.774009 -86 55 37.854986 37.854986 37.854986 -86 56 49.578221 49.578221 49.578221 -86 57 17.691806 17.691806 17.691806 -86 58 33.060551 33.060551 33.060551 -86 59 49.729267 49.729267 49.729267 -86 60 53.084838 53.084838 53.084838 -86 61 60.605280 60.605280 60.605280 -86 62 45.694639 45.694639 45.694639 -86 63 12.165525 12.165525 12.165525 -86 64 3.605551 3.605551 3.605551 -86 65 19.313208 19.313208 19.313208 -86 66 32.756679 32.756679 32.756679 -86 67 26.076810 26.076810 26.076810 -86 68 19.026298 19.026298 19.026298 -86 69 43.566042 43.566042 43.566042 -86 70 43.185646 43.185646 43.185646 -86 71 53.851648 53.851648 53.851648 -86 72 32.062439 32.062439 32.062439 -86 73 42.000000 42.000000 42.000000 -86 74 71.344236 71.344236 71.344236 -86 75 43.104524 43.104524 43.104524 -86 76 60.728906 60.728906 60.728906 -86 77 11.401754 11.401754 11.401754 -86 78 44.721360 44.721360 44.721360 -86 79 64.140471 64.140471 64.140471 -86 80 72.622311 72.622311 72.622311 -86 81 28.844410 28.844410 28.844410 -86 82 37.696154 37.696154 37.696154 -86 83 41.182521 41.182521 41.182521 -86 84 27.202941 27.202941 27.202941 -86 85 8.485281 8.485281 8.485281 -86 87 42.011903 42.011903 42.011903 -86 88 51.009803 51.009803 51.009803 -86 89 52.402290 52.402290 52.402290 -86 90 18.439089 18.439089 18.439089 -86 91 35.383612 35.383612 35.383612 -86 92 23.600847 23.600847 23.600847 -86 93 22.360680 22.360680 22.360680 -86 94 29.068884 29.068884 29.068884 -86 95 25.709920 25.709920 25.709920 -86 96 15.652476 15.652476 15.652476 -86 97 32.015621 32.015621 32.015621 -86 98 59.211485 59.211485 59.211485 -86 99 47.010637 47.010637 47.010637 -86 100 38.897301 38.897301 38.897301 -86 101 54.405882 54.405882 54.405882 -87 1 32.202484 32.202484 32.202484 -87 2 61.131007 61.131007 61.131007 -87 3 51.009803 51.009803 51.009803 -87 4 61.008196 61.008196 61.008196 -87 5 56.008928 56.008928 56.008928 -87 6 61.008196 61.008196 61.008196 -87 7 51.088159 51.088159 51.088159 -87 8 51.351728 51.351728 51.351728 -87 9 56.320511 56.320511 56.320511 -87 10 15.556349 15.556349 15.556349 -87 11 19.416488 19.416488 19.416488 -87 12 20.615528 20.615528 20.615528 -87 13 24.698178 24.698178 24.698178 -87 14 19.416488 19.416488 19.416488 -87 15 26.400758 26.400758 26.400758 -87 16 24.839485 24.839485 24.839485 -87 17 26.400758 26.400758 26.400758 -87 18 29.698485 29.698485 29.698485 -87 19 29.832868 29.832868 29.832868 -87 20 25.238859 25.238859 25.238859 -87 21 22.847319 22.847319 22.847319 -87 22 26.870058 26.870058 26.870058 -87 23 21.023796 21.023796 21.023796 -87 24 25.495098 25.495098 25.495098 -87 25 19.235384 19.235384 19.235384 -87 26 23.600847 23.600847 23.600847 -87 27 74.242845 74.242845 74.242845 -87 28 74.813100 74.813100 74.813100 -87 29 71.253070 71.253070 71.253070 -87 30 69.871310 69.871310 69.871310 -87 31 67.268120 67.268120 67.268120 -87 32 67.896981 67.896981 67.896981 -87 33 66.272166 66.272166 66.272166 -87 34 64.007812 64.007812 64.007812 -87 35 64.938432 64.938432 64.938432 -87 36 76.400262 76.400262 76.400262 -87 37 75.213031 75.213031 75.213031 -87 38 72.801099 72.801099 72.801099 -87 39 69.404611 69.404611 69.404611 -87 40 68.242216 68.242216 68.242216 -87 41 72.401657 72.401657 72.401657 -87 42 63.007936 63.007936 63.007936 -87 43 65.513357 65.513357 65.513357 -87 44 69.835521 69.835521 69.835521 -87 45 67.230945 67.230945 67.230945 -87 46 58.008620 58.008620 58.008620 -87 47 56.080300 56.080300 56.080300 -87 48 28.319605 28.319605 28.319605 -87 49 28.319605 28.319605 28.319605 -87 50 24.186773 24.186773 24.186773 -87 51 52.172790 52.172790 52.172790 -87 52 34.234486 34.234486 34.234486 -87 53 7.211103 7.211103 7.211103 -87 54 26.019224 26.019224 26.019224 -87 55 49.517674 49.517674 49.517674 -87 56 37.107951 37.107951 37.107951 -87 57 31.016125 31.016125 31.016125 -87 58 9.055385 9.055385 9.055385 -87 59 15.231546 15.231546 15.231546 -87 60 11.704700 11.704700 11.704700 -87 61 36.496575 36.496575 36.496575 -87 62 47.507894 47.507894 47.507894 -87 63 45.354162 45.354162 45.354162 -87 64 44.181444 44.181444 44.181444 -87 65 24.738634 24.738634 24.738634 -87 66 21.260292 21.260292 21.260292 -87 67 23.853721 23.853721 23.853721 -87 68 46.615448 46.615448 46.615448 -87 69 40.706265 40.706265 40.706265 -87 70 29.732137 29.732137 29.732137 -87 71 47.127487 47.127487 47.127487 -87 72 53.823787 53.823787 53.823787 -87 73 58.694122 58.694122 58.694122 -87 74 40.706265 40.706265 40.706265 -87 75 4.123106 4.123106 4.123106 -87 76 24.839485 24.839485 24.839485 -87 77 40.804412 40.804412 40.804412 -87 78 21.095023 21.095023 21.095023 -87 79 34.539832 34.539832 34.539832 -87 80 46.486557 46.486557 46.486557 -87 81 34.713110 34.713110 34.713110 -87 82 44.045431 44.045431 44.045431 -87 83 19.924859 19.924859 19.924859 -87 84 17.464249 17.464249 17.464249 -87 85 36.345564 36.345564 36.345564 -87 86 42.011903 42.011903 42.011903 -87 88 9.000000 9.000000 9.000000 -87 89 34.132096 34.132096 34.132096 -87 90 49.769469 49.769469 49.769469 -87 91 28.017851 28.017851 28.017851 -87 92 33.286634 33.286634 33.286634 -87 93 37.215588 37.215588 37.215588 -87 94 48.826222 48.826222 48.826222 -87 95 43.266615 43.266615 43.266615 -87 96 37.336309 37.336309 37.336309 -87 97 45.343136 45.343136 45.343136 -87 98 18.027756 18.027756 18.027756 -87 99 28.442925 28.442925 28.442925 -87 100 12.083046 12.083046 12.083046 -87 101 44.147480 44.147480 44.147480 -88 1 38.209946 38.209946 38.209946 -88 2 62.369865 62.369865 62.369865 -88 3 51.971146 51.971146 51.971146 -88 4 61.814238 61.814238 61.814238 -88 5 56.568542 56.568542 56.568542 -88 6 61.522354 61.522354 61.522354 -88 7 51.351728 51.351728 51.351728 -88 8 51.088159 51.088159 51.088159 -88 9 56.080300 56.080300 56.080300 -88 10 11.180340 11.180340 11.180340 -88 11 16.124515 16.124515 16.124515 -88 12 16.492423 16.492423 16.492423 -88 13 21.377558 21.377558 21.377558 -88 14 13.038405 13.038405 13.038405 -88 15 22.135944 22.135944 22.135944 -88 16 18.867962 18.867962 18.867962 -88 17 20.000000 20.000000 20.000000 -88 18 24.186773 24.186773 24.186773 -88 19 37.215588 37.215588 37.215588 -88 20 33.105891 33.105891 33.105891 -88 21 31.320920 31.320920 31.320920 -88 22 33.837849 33.837849 33.837849 -88 23 29.410882 29.410882 29.410882 -88 24 32.202484 32.202484 32.202484 -88 25 27.513633 27.513633 27.513633 -88 26 29.832868 29.832868 29.832868 -88 27 83.216585 83.216585 83.216585 -88 28 83.725743 83.725743 83.725743 -88 29 80.224684 80.224684 80.224684 -88 30 78.771822 78.771822 78.771822 -88 31 76.236474 76.236474 76.236474 -88 32 76.791927 76.791927 76.791927 -88 33 75.239617 75.239617 75.239617 -88 34 73.006849 73.006849 73.006849 -88 35 73.824115 73.824115 73.824115 -88 36 82.134037 82.134037 82.134037 -88 37 80.808415 80.808415 80.808415 -88 38 78.568442 78.568442 78.568442 -88 39 75.073298 75.073298 75.073298 -88 40 73.756356 73.756356 73.756356 -88 41 77.620873 77.620873 77.620873 -88 42 68.680419 68.680419 68.680419 -88 43 70.604532 70.604532 70.604532 -88 44 74.632433 74.632433 74.632433 -88 45 72.201108 72.201108 72.201108 -88 46 58.549125 58.549125 58.549125 -88 47 56.320511 56.320511 56.320511 -88 48 23.259407 23.259407 23.259407 -88 49 35.510562 35.510562 35.510562 -88 50 32.310989 32.310989 32.310989 -88 51 61.000000 61.000000 61.000000 -88 52 43.185646 43.185646 43.185646 -88 53 14.317821 14.317821 14.317821 -88 54 27.202941 27.202941 27.202941 -88 55 56.080300 56.080300 56.080300 -88 56 40.249224 40.249224 40.249224 -88 57 39.560081 39.560081 39.560081 -88 58 18.027756 18.027756 18.027756 -88 59 14.317821 14.317821 14.317821 -88 60 4.472136 4.472136 4.472136 -88 61 36.124784 36.124784 36.124784 -88 62 52.630789 52.630789 52.630789 -88 63 54.129474 54.129474 54.129474 -88 64 53.150729 53.150729 53.150729 -88 65 33.541020 33.541020 33.541020 -88 66 28.017851 28.017851 28.017851 -88 67 31.780497 31.780497 31.780497 -88 68 55.027266 55.027266 55.027266 -88 69 45.607017 45.607017 45.607017 -88 70 33.837849 33.837849 33.837849 -88 71 50.537115 50.537115 50.537115 -88 72 61.400326 61.400326 61.400326 -88 73 65.436993 65.436993 65.436993 -88 74 37.363083 37.363083 37.363083 -88 75 8.944272 8.944272 8.944272 -88 76 20.248457 20.248457 20.248457 -88 77 49.477268 49.477268 49.477268 -88 78 23.706539 23.706539 23.706539 -88 79 32.249031 32.249031 32.249031 -88 80 44.407207 44.407207 44.407207 -88 81 41.880783 41.880783 41.880783 -88 82 50.249378 50.249378 50.249378 -88 83 24.207437 24.207437 24.207437 -88 84 25.961510 25.961510 25.961510 -88 85 45.276926 45.276926 45.276926 -88 86 51.009803 51.009803 51.009803 -88 87 9.000000 9.000000 9.000000 -88 89 36.055513 36.055513 36.055513 -88 90 58.189346 58.189346 58.189346 -88 91 33.970576 33.970576 33.970576 -88 92 41.146081 41.146081 41.146081 -88 93 45.188494 45.188494 45.188494 -88 94 56.435804 56.435804 56.435804 -88 95 51.000000 51.000000 51.000000 -88 96 45.880279 45.880279 45.880279 -88 97 52.430907 52.430907 52.430907 -88 98 10.000000 10.000000 10.000000 -88 99 31.304952 31.304952 31.304952 -88 100 17.804494 17.804494 17.804494 -88 101 47.010637 47.010637 47.010637 -89 1 17.888544 17.888544 17.888544 -89 2 27.018512 27.018512 27.018512 -89 3 17.117243 17.117243 17.117243 -89 4 27.073973 27.073973 27.073973 -89 5 22.360680 22.360680 22.360680 -89 6 27.294688 27.294688 27.294688 -89 7 18.027756 18.027756 18.027756 -89 8 19.235384 19.235384 19.235384 -89 9 23.769729 23.769729 23.769729 -89 10 26.925824 26.925824 26.925824 -89 11 22.803509 22.803509 22.803509 -89 12 24.083189 24.083189 24.083189 -89 13 20.615528 20.615528 20.615528 -89 14 29.832868 29.832868 29.832868 -89 15 23.021729 23.021729 23.021729 -89 16 28.425341 28.425341 28.425341 -89 17 30.000000 30.000000 30.000000 -89 18 27.294688 27.294688 27.294688 -89 19 56.648036 56.648036 56.648036 -89 20 51.264022 51.264022 51.264022 -89 21 46.615448 46.615448 46.615448 -89 22 55.362442 55.362442 55.362442 -89 23 45.880279 45.880279 45.880279 -89 24 54.817880 54.817880 54.817880 -89 25 45.221676 45.221676 45.221676 -89 26 54.129474 54.129474 54.129474 -89 27 76.321688 76.321688 76.321688 -89 28 74.632433 74.632433 74.632433 -89 29 73.539105 73.539105 73.539105 -89 30 69.892775 69.892775 69.892775 -89 31 69.856997 69.856997 69.856997 -89 32 68.007353 68.007353 68.007353 -89 33 68.942005 68.942005 68.942005 -89 34 69.354164 69.354164 69.354164 -89 35 65.192024 65.192024 65.192024 -89 36 50.774009 50.774009 50.774009 -89 37 49.091751 49.091751 49.091751 -89 38 47.507894 47.507894 47.507894 -89 39 43.908997 43.908997 43.908997 -89 40 42.190046 42.190046 42.190046 -89 41 45.000000 45.000000 45.000000 -89 42 38.013156 38.013156 38.013156 -89 43 38.013156 38.013156 38.013156 -89 44 41.109610 41.109610 41.109610 -89 45 39.204592 39.204592 39.204592 -89 46 24.331050 24.331050 24.331050 -89 47 22.803509 22.803509 22.803509 -89 48 25.553865 25.553865 25.553865 -89 49 55.973208 55.973208 55.973208 -89 50 49.396356 49.396356 49.396356 -89 51 53.225934 53.225934 53.225934 -89 52 49.040799 49.040799 49.040799 -89 53 28.017851 28.017851 28.017851 -89 54 8.944272 8.944272 8.944272 -89 55 31.064449 31.064449 31.064449 -89 56 6.324555 6.324555 6.324555 -89 57 34.713110 34.713110 34.713110 -89 58 33.541020 33.541020 33.541020 -89 59 48.836462 48.836462 48.836462 -89 60 40.496913 40.496913 40.496913 -89 61 9.219544 9.219544 9.219544 -89 62 22.135944 22.135944 22.135944 -89 63 47.010637 47.010637 47.010637 -89 64 55.901699 55.901699 55.901699 -89 65 35.000000 35.000000 35.000000 -89 66 21.095023 21.095023 21.095023 -89 67 27.018512 27.018512 27.018512 -89 68 43.081318 43.081318 43.081318 -89 69 16.124515 16.124515 16.124515 -89 70 9.219544 9.219544 9.219544 -89 71 15.556349 15.556349 15.556349 -89 72 41.109610 41.109610 41.109610 -89 73 39.623226 39.623226 39.623226 -89 74 22.090722 22.090722 22.090722 -89 75 38.209946 38.209946 38.209946 -89 76 56.302753 56.302753 56.302753 -89 77 58.412327 58.412327 58.412327 -89 78 55.009090 55.009090 55.009090 -89 79 16.124515 16.124515 16.124515 -89 80 20.591260 20.591260 20.591260 -89 81 25.495098 25.495098 25.495098 -89 82 25.000000 25.000000 25.000000 -89 83 15.297059 15.297059 15.297059 -89 84 29.966648 29.966648 29.966648 -89 85 43.931765 43.931765 43.931765 -89 86 52.402290 52.402290 52.402290 -89 87 34.132096 34.132096 34.132096 -89 88 36.055513 36.055513 36.055513 -89 90 68.249542 68.249542 68.249542 -89 91 17.029386 17.029386 17.029386 -89 92 29.681644 29.681644 29.681644 -89 93 32.649655 32.649655 32.649655 -89 94 37.483330 37.483330 37.483330 -89 95 34.481879 34.481879 34.481879 -89 96 38.275318 38.275318 38.275318 -89 97 31.256999 31.256999 31.256999 -89 98 44.721360 44.721360 44.721360 -89 99 6.324555 6.324555 6.324555 -89 100 23.086793 23.086793 23.086793 -89 101 11.401754 11.401754 11.401754 -90 1 52.478567 52.478567 52.478567 -90 2 90.354856 90.354856 90.354856 -90 3 83.216585 83.216585 83.216585 -90 4 91.787799 91.787799 91.787799 -90 5 88.509886 88.509886 88.509886 -90 6 92.784697 92.784697 92.784697 -90 7 85.445889 85.445889 85.445889 -90 8 87.200917 87.200917 87.200917 -90 9 91.263355 91.263355 91.263355 -90 10 64.412732 64.412732 64.412732 -90 11 66.887966 66.887966 66.887966 -90 12 68.600292 68.600292 68.600292 -90 13 71.281134 71.281134 71.281134 -90 14 68.876701 68.876701 68.876701 -90 15 73.783467 73.783467 73.783467 -90 16 73.824115 73.824115 73.824115 -90 17 75.591005 75.591005 75.591005 -90 18 78.032045 78.032045 78.032045 -90 19 23.000000 23.000000 23.000000 -90 20 25.495098 25.495098 25.495098 -90 21 26.925824 26.925824 26.925824 -90 22 27.000000 27.000000 27.000000 -90 23 28.792360 28.792360 28.792360 -90 24 29.000000 29.000000 29.000000 -90 25 30.675723 30.675723 30.675723 -90 26 32.000000 32.000000 32.000000 -90 27 37.536649 37.536649 37.536649 -90 28 41.036569 41.036569 41.036569 -90 29 35.355339 35.355339 35.355339 -90 30 37.802116 37.802116 37.802116 -90 31 32.649655 32.649655 32.649655 -90 32 36.619667 36.619667 36.619667 -90 33 32.015621 32.015621 32.015621 -90 34 26.907248 26.907248 26.907248 -90 35 34.985711 34.985711 34.985711 -90 36 80.000000 80.000000 80.000000 -90 37 80.024996 80.024996 80.024996 -90 38 77.025970 77.025970 77.025970 -90 39 75.166482 75.166482 75.166482 -90 40 75.325958 75.325958 75.325958 -90 41 80.305666 80.305666 80.305666 -90 42 70.576200 70.576200 70.576200 -90 43 75.953933 75.953933 75.953933 -90 44 80.894994 80.894994 80.894994 -90 45 77.929455 77.929455 77.929455 -90 46 90.210864 90.210864 90.210864 -90 47 89.587946 89.587946 89.587946 -90 48 76.321688 76.321688 76.321688 -90 49 25.000000 25.000000 25.000000 -90 50 25.961510 25.961510 25.961510 -90 51 30.413813 30.413813 30.413813 -90 52 19.209373 19.209373 19.209373 -90 53 48.877398 48.877398 48.877398 -90 54 65.069194 65.069194 65.069194 -90 55 56.293872 56.293872 56.293872 -90 56 66.287254 66.287254 66.287254 -90 57 34.481879 34.481879 34.481879 -90 58 42.059482 42.059482 42.059482 -90 59 52.239832 52.239832 52.239832 -90 60 58.940648 58.940648 58.940648 -90 61 75.690158 75.690158 75.690158 -90 62 63.906181 63.906181 63.906181 -90 63 30.066593 30.066593 30.066593 -90 64 15.132746 15.132746 15.132746 -90 65 33.301652 33.301652 33.301652 -90 66 47.423623 47.423623 47.423623 -90 67 41.231056 41.231056 41.231056 -90 68 37.121422 37.121422 37.121422 -90 69 61.269895 61.269895 61.269895 -90 70 59.203040 59.203040 59.203040 -90 71 71.554175 71.554175 71.554175 -90 72 50.039984 50.039984 50.039984 -90 73 60.133186 60.133186 60.133186 -90 74 85.146932 85.146932 85.146932 -90 75 49.335586 49.335586 49.335586 -90 76 62.000000 62.000000 62.000000 -90 77 9.899495 9.899495 9.899495 -90 78 44.045431 44.045431 44.045431 -90 79 77.987178 77.987178 77.987178 -90 80 87.692645 87.692645 87.692645 -90 81 46.518813 46.518813 46.518813 -90 82 55.973208 55.973208 55.973208 -90 83 55.172457 55.172457 55.172457 -90 84 39.698866 39.698866 39.698866 -90 85 26.000000 26.000000 26.000000 -90 86 18.439089 18.439089 18.439089 -90 87 49.769469 49.769469 49.769469 -90 88 58.189346 58.189346 58.189346 -90 89 68.249542 68.249542 68.249542 -90 91 51.613952 51.613952 51.613952 -90 92 41.146081 41.146081 41.146081 -90 93 40.496913 40.496913 40.496913 -90 94 47.381431 47.381431 47.381431 -90 95 44.147480 44.147480 44.147480 -90 96 33.837849 33.837849 33.837849 -90 97 50.447993 50.447993 50.447993 -90 98 64.327288 64.327288 64.327288 -90 99 62.369865 62.369865 62.369865 -90 100 50.803543 50.803543 50.803543 -90 101 71.693793 71.693793 71.693793 -91 1 4.242641 4.242641 4.242641 -91 2 39.849718 39.849718 39.849718 -91 3 31.764760 31.764760 31.764760 -91 4 40.853396 40.853396 40.853396 -91 5 37.121422 37.121422 37.121422 -91 6 41.629317 41.629317 41.629317 -91 7 33.837849 33.837849 33.837849 -91 8 35.608988 35.608988 35.608988 -91 9 39.661064 39.661064 39.661064 -91 10 29.546573 29.546573 29.546573 -91 11 27.892651 27.892651 27.892651 -91 12 29.832868 29.832868 29.832868 -91 13 29.068884 29.068884 29.068884 -91 14 34.176015 34.176015 34.176015 -91 15 32.062439 32.062439 32.062439 -91 16 35.693137 35.693137 35.693137 -91 17 37.656341 37.656341 37.656341 -91 18 37.054015 37.054015 37.054015 -91 19 42.579338 42.579338 42.579338 -91 20 37.336309 37.336309 37.336309 -91 21 32.388269 32.388269 32.388269 -91 22 42.107007 42.107007 42.107007 -91 23 32.140317 32.140317 32.140317 -91 24 42.011903 42.011903 42.011903 -91 25 32.015621 32.015621 32.015621 -91 26 42.047592 42.047592 42.047592 -91 27 60.440053 60.440053 60.440053 -91 28 59.228372 59.228372 59.228372 -91 29 57.567352 57.567352 57.567352 -91 30 54.341513 54.341513 54.341513 -91 31 53.758720 53.758720 53.758720 -91 32 52.392748 52.392748 52.392748 -91 33 52.810984 52.810984 52.810984 -91 34 52.801515 52.801515 52.801515 -91 35 49.477268 49.477268 49.477268 -91 36 48.414874 48.414874 48.414874 -91 37 47.201695 47.201695 47.201695 -91 38 44.821870 44.821870 44.821870 -91 39 41.400483 41.400483 41.400483 -91 40 40.224371 40.224371 40.224371 -91 41 44.418465 44.418465 44.418465 -91 42 35.000000 35.000000 35.000000 -91 43 37.589892 37.589892 37.589892 -91 44 42.047592 42.047592 42.047592 -91 45 39.357337 39.357337 39.357337 -91 46 38.910153 38.910153 38.910153 -91 47 38.078866 38.078866 38.078866 -91 48 35.057096 35.057096 35.057096 -91 49 42.296572 42.296572 42.296572 -91 50 35.355339 35.355339 35.355339 -91 51 37.000000 37.000000 37.000000 -91 52 32.449961 32.449961 32.449961 -91 53 20.808652 20.808652 20.808652 -91 54 17.262677 17.262677 17.262677 -91 55 22.203603 22.203603 22.203603 -91 56 14.764823 14.764823 14.764823 -91 57 17.691806 17.691806 17.691806 -91 58 23.086793 23.086793 23.086793 -91 59 43.046487 43.046487 43.046487 -91 60 38.183766 38.183766 38.183766 -91 61 25.553865 25.553865 25.553865 -91 62 19.697716 19.697716 19.697716 -91 63 30.463092 30.463092 30.463092 -91 64 38.897301 38.897301 38.897301 -91 65 18.788294 18.788294 18.788294 -91 66 7.280110 7.280110 7.280110 -91 67 10.770330 10.770330 10.770330 -91 68 27.459060 27.459060 27.459060 -91 69 13.341664 13.341664 13.341664 -91 70 7.810250 7.810250 7.810250 -91 71 22.090722 22.090722 22.090722 -91 72 29.120440 29.120440 29.120440 -91 73 31.622777 31.622777 31.622777 -91 74 37.336309 37.336309 37.336309 -91 75 31.906112 31.906112 31.906112 -91 76 52.801515 52.801515 52.801515 -91 77 41.880783 41.880783 41.880783 -91 78 46.173586 46.173586 46.173586 -91 79 30.364453 30.364453 30.364453 -91 80 37.443290 37.443290 37.443290 -91 81 10.000000 10.000000 10.000000 -91 82 16.278821 16.278821 16.278821 -91 83 10.770330 10.770330 10.770330 -91 84 16.000000 16.000000 16.000000 -91 85 26.907248 26.907248 26.907248 -91 86 35.383612 35.383612 35.383612 -91 87 28.017851 28.017851 28.017851 -91 88 33.970576 33.970576 33.970576 -91 89 17.029386 17.029386 17.029386 -91 90 51.613952 51.613952 51.613952 -91 92 13.000000 13.000000 13.000000 -91 93 16.492423 16.492423 16.492423 -91 94 24.515301 24.515301 24.515301 -91 95 20.024984 20.024984 20.024984 -91 96 21.470911 21.470911 21.470911 -91 97 19.313208 19.313208 19.313208 -91 98 43.931765 43.931765 43.931765 -91 99 12.083046 12.083046 12.083046 -91 100 16.278821 16.278821 16.278821 -91 101 20.880613 20.880613 20.880613 -92 1 12.041595 12.041595 12.041595 -92 2 49.244289 49.244289 49.244289 -92 3 42.638011 42.638011 42.638011 -92 4 50.774009 50.774009 50.774009 -92 5 47.801674 47.801674 47.801674 -92 6 51.865210 51.865210 51.865210 -92 7 45.276926 45.276926 45.276926 -92 8 47.381431 47.381431 47.381431 -92 9 50.990195 50.990195 50.990195 -92 10 39.623226 39.623226 39.623226 -92 11 39.051248 39.051248 39.051248 -92 12 41.048752 41.048752 41.048752 -92 13 41.109610 41.109610 41.109610 -92 14 44.553339 44.553339 44.553339 -92 15 44.102154 44.102154 44.102154 -92 16 47.042534 47.042534 47.042534 -92 17 49.040799 49.040799 49.040799 -92 18 49.091751 49.091751 49.091751 -92 19 37.336309 37.336309 37.336309 -92 20 32.756679 32.756679 32.756679 -92 21 27.892651 27.892651 27.892651 -92 22 38.078866 38.078866 38.078866 -92 23 28.460499 28.460499 28.460499 -92 24 38.600518 38.600518 38.600518 -92 25 29.154759 29.154759 29.154759 -92 26 39.560081 39.560081 39.560081 -92 27 47.539457 47.539457 47.539457 -92 28 46.529560 46.529560 46.529560 -92 29 44.643029 44.643029 44.643029 -92 30 41.593269 41.593269 41.593269 -92 31 40.804412 40.804412 40.804412 -92 32 39.623226 39.623226 39.623226 -92 33 39.849718 39.849718 39.849718 -92 34 39.812058 39.812058 39.812058 -92 35 36.674242 36.674242 36.674242 -92 36 46.615448 46.615448 46.615448 -92 37 45.880279 45.880279 45.880279 -92 38 43.081318 43.081318 43.081318 -92 39 40.162171 40.162171 40.162171 -92 40 39.560081 39.560081 39.560081 -92 41 44.384682 44.384682 44.384682 -92 42 34.205263 34.205263 34.205263 -92 43 38.470768 38.470768 38.470768 -92 44 43.416587 43.416587 43.416587 -92 45 40.447497 40.447497 40.447497 -92 46 49.406477 49.406477 49.406477 -92 47 49.040799 49.040799 49.040799 -92 48 47.095647 47.095647 47.095647 -92 49 37.656341 37.656341 37.656341 -92 50 30.805844 30.805844 30.805844 -92 51 24.041631 24.041631 24.041631 -92 52 22.803509 22.803509 22.803509 -92 53 26.832816 26.832816 26.832816 -92 54 30.083218 30.083218 30.083218 -92 55 18.973666 18.973666 18.973666 -92 56 26.172505 26.172505 26.172505 -92 57 7.071068 7.071068 7.071068 -92 58 25.495098 25.495098 25.495098 -92 59 46.690470 46.690470 46.690470 -92 60 44.777226 44.777226 44.777226 -92 61 38.470768 38.470768 38.470768 -92 62 23.345235 23.345235 23.345235 -92 63 17.464249 17.464249 17.464249 -92 64 27.202941 27.202941 27.202941 -92 65 12.649111 12.649111 12.649111 -92 66 14.142136 14.142136 14.142136 -92 67 9.433981 9.433981 9.433981 -92 68 15.000000 15.000000 15.000000 -92 69 20.124612 20.124612 20.124612 -92 70 20.591260 20.591260 20.591260 -92 71 30.413813 30.413813 30.413813 -92 72 20.615528 20.615528 20.615528 -92 73 26.925824 26.925824 26.925824 -92 74 50.328918 50.328918 50.328918 -92 75 36.400549 36.400549 36.400549 -92 76 57.489129 57.489129 57.489129 -92 77 31.953091 31.953091 31.953091 -92 78 46.872167 46.872167 46.872167 -92 79 43.324358 43.324358 43.324358 -92 80 50.249378 50.249378 50.249378 -92 81 5.385165 5.385165 5.385165 -92 82 16.000000 16.000000 16.000000 -92 83 22.022716 22.022716 22.022716 -92 84 16.278821 16.278821 16.278821 -92 85 15.264338 15.264338 15.264338 -92 86 23.600847 23.600847 23.600847 -92 87 33.286634 33.286634 33.286634 -92 88 41.146081 41.146081 41.146081 -92 89 29.681644 29.681644 29.681644 -92 90 41.146081 41.146081 41.146081 -92 91 13.000000 13.000000 13.000000 -92 93 4.123106 4.123106 4.123106 -92 94 15.620499 15.620499 15.620499 -92 95 10.000000 10.000000 10.000000 -92 96 8.602325 8.602325 8.602325 -92 97 13.416408 13.416408 13.416408 -92 98 51.000000 51.000000 51.000000 -92 99 25.079872 25.079872 25.079872 -92 100 24.041631 24.041631 24.041631 -92 101 30.805844 30.805844 30.805844 -93 1 14.764823 14.764823 14.764823 -93 2 50.477718 50.477718 50.477718 -93 3 44.553339 44.553339 44.553339 -93 4 52.201533 52.201533 52.201533 -93 5 49.578221 49.578221 49.578221 -93 6 53.413481 53.413481 53.413481 -93 7 47.423623 47.423623 47.423623 -93 8 49.678969 49.678969 49.678969 -93 9 53.037722 53.037722 53.037722 -93 10 43.737855 43.737855 43.737855 -93 11 43.104524 43.104524 43.104524 -93 12 45.099889 45.099889 45.099889 -93 13 45.044423 45.044423 45.044423 -93 14 48.662100 48.662100 48.662100 -93 15 48.041649 48.041649 48.041649 -93 16 51.088159 51.088159 51.088159 -93 17 53.084838 53.084838 53.084838 -93 18 53.037722 53.037722 53.037722 -93 19 39.051248 39.051248 39.051248 -93 20 34.785054 34.785054 34.785054 -93 21 30.083218 30.083218 30.083218 -93 22 40.162171 40.162171 40.162171 -93 23 30.870698 30.870698 30.870698 -93 24 40.853396 40.853396 40.853396 -93 25 31.764760 31.764760 31.764760 -93 26 42.047592 42.047592 42.047592 -93 27 43.965896 43.965896 43.965896 -93 28 42.755117 42.755117 42.755117 -93 29 41.109610 41.109610 41.109610 -93 30 37.854986 37.854986 37.854986 -93 31 37.336309 37.336309 37.336309 -93 32 35.902646 35.902646 35.902646 -93 33 36.400549 36.400549 36.400549 -93 34 36.715120 36.715120 36.715120 -93 35 32.984845 32.984845 32.984845 -93 36 44.271887 44.271887 44.271887 -93 37 43.680659 43.680659 43.680659 -93 38 40.804412 40.804412 40.804412 -93 39 38.078866 38.078866 38.078866 -93 40 37.656341 37.656341 37.656341 -93 41 42.579338 42.579338 42.579338 -93 42 32.388269 32.388269 32.388269 -93 43 37.054015 37.054015 37.054015 -93 44 42.047592 42.047592 42.047592 -93 45 39.051248 39.051248 39.051248 -93 46 51.088159 51.088159 51.088159 -93 47 50.931326 50.931326 50.931326 -93 48 51.039201 51.039201 51.039201 -93 49 39.560081 39.560081 39.560081 -93 50 32.893768 32.893768 32.893768 -93 51 20.615528 20.615528 20.615528 -93 52 23.086793 23.086793 23.086793 -93 53 30.870698 30.870698 30.870698 -93 54 33.734256 33.734256 33.734256 -93 55 17.117243 17.117243 17.117243 -93 56 28.600699 28.600699 28.600699 -93 57 8.544004 8.544004 8.544004 -93 58 29.206164 29.206164 29.206164 -93 59 50.328918 50.328918 50.328918 -93 60 48.764741 48.764741 48.764741 -93 61 41.629317 41.629317 41.629317 -93 62 23.409400 23.409400 23.409400 -93 63 14.422205 14.422205 14.422205 -93 64 25.942244 25.942244 25.942244 -93 65 15.264338 15.264338 15.264338 -93 66 18.248288 18.248288 18.248288 -93 67 13.416408 13.416408 13.416408 -93 68 11.045361 11.045361 11.045361 -93 69 21.400935 21.400935 21.400935 -93 70 23.769729 23.769729 23.769729 -93 71 31.622777 31.622777 31.622777 -93 72 16.970563 16.970563 16.970563 -93 73 24.166092 24.166092 24.166092 -93 74 53.758720 53.758720 53.758720 -93 75 40.224371 40.224371 40.224371 -93 76 61.220911 61.220911 61.220911 -93 77 31.780497 31.780497 31.780497 -93 78 50.000000 50.000000 50.000000 -93 79 46.840154 46.840154 46.840154 -93 80 53.235327 53.235327 53.235327 -93 81 7.211103 7.211103 7.211103 -93 82 15.524175 15.524175 15.524175 -93 83 26.000000 26.000000 26.000000 -93 84 20.000000 20.000000 20.000000 -93 85 14.560220 14.560220 14.560220 -93 86 22.360680 22.360680 22.360680 -93 87 37.215588 37.215588 37.215588 -93 88 45.188494 45.188494 45.188494 -93 89 32.649655 32.649655 32.649655 -93 90 40.496913 40.496913 40.496913 -93 91 16.492423 16.492423 16.492423 -93 92 4.123106 4.123106 4.123106 -93 94 12.041595 12.041595 12.041595 -93 95 6.403124 6.403124 6.403124 -93 96 6.708204 6.708204 6.708204 -93 97 11.180340 11.180340 11.180340 -93 98 55.009090 55.009090 55.009090 -93 99 28.460499 28.460499 28.460499 -93 100 28.160256 28.160256 28.160256 -93 101 32.557641 32.557641 32.557641 -94 1 21.095023 21.095023 21.095023 -94 2 48.836462 48.836462 48.836462 -94 3 45.276926 45.276926 45.276926 -94 4 51.088159 51.088159 51.088159 -94 5 49.648766 49.648766 49.648766 -94 6 52.630789 52.630789 52.630789 -94 7 48.764741 48.764741 48.764741 -94 8 51.429563 51.429563 51.429563 -94 9 53.851648 53.851648 53.851648 -94 10 53.758720 53.758720 53.758720 -94 11 52.392748 52.392748 52.392748 -94 12 54.341513 54.341513 54.341513 -94 13 53.460266 53.460266 53.460266 -94 14 58.523500 58.523500 58.523500 -94 15 56.435804 56.435804 56.435804 -94 16 60.207973 60.207973 60.207973 -94 17 62.169124 62.169124 62.169124 -94 18 61.400326 61.400326 61.400326 -94 19 49.979996 49.979996 49.979996 -94 20 46.097722 46.097722 46.097722 -94 21 41.593269 41.593269 41.593269 -94 22 51.478151 51.478151 51.478151 -94 23 42.544095 42.544095 42.544095 -94 24 52.325902 52.325902 52.325902 -94 25 43.566042 43.566042 43.566042 -94 26 53.712196 53.712196 53.712196 -94 27 40.496913 40.496913 40.496913 -94 28 38.013156 38.013156 38.013156 -94 29 38.013156 38.013156 38.013156 -94 30 33.615473 33.615473 33.615473 -94 31 34.828150 34.828150 34.828150 -94 32 31.906112 31.906112 31.906112 -94 33 34.058773 34.058773 34.058773 -94 34 36.124784 36.124784 36.124784 -94 35 29.410882 29.410882 29.410882 -94 36 33.541020 33.541020 33.541020 -94 37 33.241540 33.241540 33.241540 -94 38 30.265492 30.265492 30.265492 -94 39 28.017851 28.017851 28.017851 -94 40 28.017851 28.017851 28.017851 -94 41 33.015148 33.015148 33.015148 -94 42 23.194827 23.194827 23.194827 -94 43 28.635642 28.635642 28.635642 -94 44 33.541020 33.541020 33.541020 -94 45 30.594117 30.594117 30.594117 -94 46 50.803543 50.803543 50.803543 -94 47 51.312766 51.312766 51.312766 -94 48 59.413803 59.413803 59.413803 -94 49 50.695167 50.695167 50.695167 -94 50 44.283180 44.283180 44.283180 -94 51 20.248457 20.248457 20.248457 -94 52 32.557641 32.557641 32.557641 -94 53 42.190046 42.190046 42.190046 -94 54 41.048752 41.048752 41.048752 -94 55 10.000000 10.000000 10.000000 -94 56 32.015621 32.015621 32.015621 -94 57 20.248457 20.248457 20.248457 -94 58 41.109610 41.109610 41.109610 -94 59 62.289646 62.289646 62.289646 -94 60 60.207973 60.207973 60.207973 -94 61 46.690470 46.690470 46.690470 -94 62 20.615528 20.615528 20.615528 -94 63 17.464249 17.464249 17.464249 -94 64 32.249031 32.249031 32.249031 -94 65 27.202941 27.202941 27.202941 -94 66 28.635642 28.635642 28.635642 -94 67 25.000000 25.000000 25.000000 -94 68 10.440307 10.440307 10.440307 -94 69 22.472205 22.472205 22.472205 -94 70 30.000000 30.000000 30.000000 -94 71 31.064449 31.064449 31.064449 -94 72 5.000000 5.000000 5.000000 -94 73 13.152946 13.152946 13.152946 -94 74 59.539903 59.539903 59.539903 -94 75 52.009614 52.009614 52.009614 -94 76 73.109507 73.109507 73.109507 -94 77 40.012498 40.012498 40.012498 -94 78 62.008064 62.008064 62.008064 -94 79 53.150729 53.150729 53.150729 -94 80 57.280014 57.280014 57.280014 -94 81 14.866069 14.866069 14.866069 -94 82 13.416408 13.416408 13.416408 -94 83 35.171011 35.171011 35.171011 -94 84 31.890437 31.890437 31.890437 -94 85 23.345235 23.345235 23.345235 -94 86 29.068884 29.068884 29.068884 -94 87 48.826222 48.826222 48.826222 -94 88 56.435804 56.435804 56.435804 -94 89 37.483330 37.483330 37.483330 -94 90 47.381431 47.381431 47.381431 -94 91 24.515301 24.515301 24.515301 -94 92 15.620499 15.620499 15.620499 -94 93 12.041595 12.041595 12.041595 -94 95 5.656854 5.656854 5.656854 -94 96 15.811388 15.811388 15.811388 -94 97 6.324555 6.324555 6.324555 -94 98 66.370174 66.370174 66.370174 -94 99 35.000000 35.000000 35.000000 -94 100 38.910153 38.910153 38.910153 -94 101 33.541020 33.541020 33.541020 -95 1 17.117243 17.117243 17.117243 -95 2 48.918299 48.918299 48.918299 -95 3 44.204072 44.204072 44.204072 -95 4 50.931326 50.931326 50.931326 -95 5 48.918299 48.918299 48.918299 -95 6 52.325902 52.325902 52.325902 -95 7 47.434165 47.434165 47.434165 -95 8 49.929951 49.929951 49.929951 -95 9 52.801515 52.801515 52.801515 -95 10 48.764741 48.764741 48.764741 -95 11 47.675990 47.675990 47.675990 -95 12 49.648766 49.648766 49.648766 -95 13 49.091751 49.091751 49.091751 -95 14 53.600373 53.600373 53.600373 -95 15 52.086467 52.086467 52.086467 -95 16 55.578773 55.578773 55.578773 -95 17 57.558666 57.558666 57.558666 -95 18 57.078893 57.078893 57.078893 -95 19 44.922155 44.922155 44.922155 -95 20 40.853396 40.853396 40.853396 -95 21 36.249138 36.249138 36.249138 -95 22 46.238512 46.238512 46.238512 -95 23 37.121422 37.121422 37.121422 -95 24 47.010637 47.010637 47.010637 -95 25 38.078866 38.078866 38.078866 -95 26 48.301139 48.301139 48.301139 -95 27 42.047592 42.047592 42.047592 -95 28 40.162171 40.162171 40.162171 -95 29 39.357337 39.357337 39.357337 -95 30 35.468296 35.468296 35.468296 -95 31 35.846897 35.846897 35.846897 -95 32 33.615473 33.615473 33.615473 -95 33 34.985711 34.985711 34.985711 -95 34 36.235342 36.235342 36.235342 -95 35 30.870698 30.870698 30.870698 -95 36 38.327536 38.327536 38.327536 -95 37 37.854986 37.854986 37.854986 -95 38 34.928498 34.928498 34.928498 -95 39 32.388269 32.388269 32.388269 -95 40 32.140317 32.140317 32.140317 -95 41 37.121422 37.121422 37.121422 -95 42 27.018512 27.018512 27.018512 -95 43 32.062439 32.062439 32.062439 -95 44 37.054015 37.054015 37.054015 -95 45 34.058773 34.058773 34.058773 -95 46 50.249378 50.249378 50.249378 -95 47 50.447993 50.447993 50.447993 -95 48 55.081757 55.081757 55.081757 -95 49 45.541190 45.541190 45.541190 -95 50 39.000000 39.000000 39.000000 -95 51 19.849433 19.849433 19.849433 -95 52 28.071338 28.071338 28.071338 -95 53 36.715120 36.715120 36.715120 -95 54 37.054015 37.054015 37.054015 -95 55 12.165525 12.165525 12.165525 -95 56 29.546573 29.546573 29.546573 -95 57 14.764823 14.764823 14.764823 -95 58 35.468296 35.468296 35.468296 -95 59 56.639209 56.639209 56.639209 -95 60 54.708317 54.708317 54.708317 -95 61 43.680659 43.680659 43.680659 -95 62 20.808652 20.808652 20.808652 -95 63 15.264338 15.264338 15.264338 -95 64 29.120440 29.120440 29.120440 -95 65 21.633308 21.633308 21.633308 -95 66 23.409400 23.409400 23.409400 -95 67 19.416488 19.416488 19.416488 -95 68 9.219544 9.219544 9.219544 -95 69 20.808652 20.808652 20.808652 -95 70 26.305893 26.305893 26.305893 -95 71 30.413813 30.413813 30.413813 -95 72 10.630146 10.630146 10.630146 -95 73 18.027756 18.027756 18.027756 -95 74 56.293872 56.293872 56.293872 -95 75 46.400431 46.400431 46.400431 -95 76 67.475922 67.475922 67.475922 -95 77 36.124784 36.124784 36.124784 -95 78 56.400355 56.400355 56.400355 -95 79 49.648766 49.648766 49.648766 -95 80 54.781384 54.781384 54.781384 -95 81 10.049876 10.049876 10.049876 -95 82 12.806248 12.806248 12.806248 -95 83 30.413813 30.413813 30.413813 -95 84 26.248809 26.248809 26.248809 -95 85 19.000000 19.000000 19.000000 -95 86 25.709920 25.709920 25.709920 -95 87 43.266615 43.266615 43.266615 -95 88 51.000000 51.000000 51.000000 -95 89 34.481879 34.481879 34.481879 -95 90 44.147480 44.147480 44.147480 -95 91 20.024984 20.024984 20.024984 -95 92 10.000000 10.000000 10.000000 -95 93 6.403124 6.403124 6.403124 -95 94 5.656854 5.656854 5.656854 -95 96 11.045361 11.045361 11.045361 -95 97 6.324555 6.324555 6.324555 -95 98 60.901560 60.901560 60.901560 -95 99 31.256999 31.256999 31.256999 -95 100 33.615473 33.615473 33.615473 -95 101 32.202484 32.202484 32.202484 -96 1 20.615528 20.615528 20.615528 -96 2 57.140179 57.140179 57.140179 -96 3 50.990195 50.990195 50.990195 -96 4 58.821765 58.821765 58.821765 -96 5 56.080300 56.080300 56.080300 -96 6 60.000000 60.000000 60.000000 -96 7 53.740115 53.740115 53.740115 -96 8 55.901699 55.901699 55.901699 -96 9 59.413803 59.413803 59.413803 -96 10 46.043458 46.043458 46.043458 -96 11 46.097722 46.097722 46.097722 -96 12 48.093659 48.093659 48.093659 -96 13 48.662100 48.662100 48.662100 -96 14 51.039201 51.039201 51.039201 -96 15 51.623638 51.623638 51.623638 -96 16 54.083269 54.083269 54.083269 -96 17 56.080300 56.080300 56.080300 -96 18 56.568542 56.568542 56.568542 -96 19 34.176015 34.176015 34.176015 -96 20 30.413813 30.413813 30.413813 -96 21 26.076810 26.076810 26.076810 -96 22 35.777088 35.777088 35.777088 -96 23 27.202941 27.202941 27.202941 -96 24 36.715120 36.715120 36.715120 -96 25 28.425341 28.425341 28.425341 -96 26 38.275318 38.275318 38.275318 -96 27 39.623226 39.623226 39.623226 -96 28 39.051248 39.051248 39.051248 -96 29 36.674242 36.674242 36.674242 -96 30 34.058773 34.058773 34.058773 -96 31 32.756679 32.756679 32.756679 -96 32 32.062439 32.062439 32.062439 -96 33 31.780497 31.780497 31.780497 -96 34 31.384710 31.384710 31.384710 -96 35 29.068884 29.068884 29.068884 -96 36 49.244289 49.244289 49.244289 -96 37 48.836462 48.836462 48.836462 -96 38 45.891176 45.891176 45.891176 -96 39 43.416587 43.416587 43.416587 -96 40 43.185646 43.185646 43.185646 -96 41 48.166378 48.166378 48.166378 -96 42 38.052595 38.052595 38.052595 -96 43 43.011626 43.011626 43.011626 -96 44 48.010416 48.010416 48.010416 -96 45 45.011110 45.011110 45.011110 -96 46 57.628118 57.628118 57.628118 -96 47 57.384667 57.384667 57.384667 -96 48 54.589376 54.589376 54.589376 -96 49 34.928498 34.928498 34.928498 -96 50 28.653098 28.653098 28.653098 -96 51 16.124515 16.124515 16.124515 -96 52 17.029386 17.029386 17.029386 -96 53 31.780497 31.780497 31.780497 -96 54 38.275318 38.275318 38.275318 -96 55 23.021729 23.021729 23.021729 -96 56 34.713110 34.713110 34.713110 -96 57 6.324555 6.324555 6.324555 -96 58 28.635642 28.635642 28.635642 -96 59 49.091751 49.091751 49.091751 -96 60 49.040799 49.040799 49.040799 -96 61 47.010637 47.010637 47.010637 -96 62 30.083218 30.083218 30.083218 -96 63 9.219544 9.219544 9.219544 -96 64 19.235384 19.235384 19.235384 -96 65 13.038405 13.038405 13.038405 -96 66 21.213203 21.213203 21.213203 -96 67 15.000000 15.000000 15.000000 -96 68 9.433981 9.433981 9.433981 -96 69 28.017851 28.017851 28.017851 -96 70 29.154759 29.154759 29.154759 -96 71 38.275318 38.275318 38.275318 -96 72 20.124612 20.124612 20.124612 -96 73 28.861739 28.861739 28.861739 -96 74 58.694122 58.694122 58.694122 -96 75 39.812058 39.812058 39.812058 -96 76 60.207973 60.207973 60.207973 -96 77 25.317978 25.317978 25.317978 -96 78 47.381431 47.381431 47.381431 -96 79 51.623638 51.623638 51.623638 -96 80 58.830264 58.830264 58.830264 -96 81 13.453624 13.453624 13.453624 -96 82 22.135944 22.135944 22.135944 -96 83 29.614186 29.614186 29.614186 -96 84 19.924859 19.924859 19.924859 -96 85 8.062258 8.062258 8.062258 -96 86 15.652476 15.652476 15.652476 -96 87 37.336309 37.336309 37.336309 -96 88 45.880279 45.880279 45.880279 -96 89 38.275318 38.275318 38.275318 -96 90 33.837849 33.837849 33.837849 -96 91 21.470911 21.470911 21.470911 -96 92 8.602325 8.602325 8.602325 -96 93 6.708204 6.708204 6.708204 -96 94 15.811388 15.811388 15.811388 -96 95 11.045361 11.045361 11.045361 -96 97 17.029386 17.029386 17.029386 -96 98 55.362442 55.362442 55.362442 -96 99 33.541020 33.541020 33.541020 -96 100 30.066593 30.066593 30.066593 -96 101 39.051248 39.051248 39.051248 -97 1 15.524175 15.524175 15.524175 -97 2 43.139309 43.139309 43.139309 -97 3 39.115214 39.115214 39.115214 -97 4 45.276926 45.276926 45.276926 -97 5 43.600459 43.600459 43.600459 -97 6 46.754679 46.754679 46.754679 -97 7 42.544095 42.544095 42.544095 -97 8 45.177428 45.177428 45.177428 -97 9 47.707442 47.707442 47.707442 -97 10 48.846699 48.846699 48.846699 -97 11 47.127487 47.127487 47.127487 -97 12 49.040799 49.040799 49.040799 -97 13 47.853944 47.853944 47.853944 -97 14 53.488316 53.488316 53.488316 -97 15 50.803543 50.803543 50.803543 -97 16 54.817880 54.817880 54.817880 -97 17 56.753854 56.753854 56.753854 -97 18 55.731499 55.731499 55.731499 -97 19 50.219518 50.219518 50.219518 -97 20 45.880279 45.880279 45.880279 -97 21 41.109610 41.109610 41.109610 -97 22 51.244512 51.244512 51.244512 -97 23 41.785165 41.785165 41.785165 -97 24 51.865210 51.865210 51.865210 -97 25 42.544095 42.544095 42.544095 -97 26 52.924474 52.924474 52.924474 -97 27 46.647615 46.647615 46.647615 -97 28 44.283180 44.283180 44.283180 -97 29 44.102154 44.102154 44.102154 -97 30 39.824616 39.824616 39.824616 -97 31 40.804412 40.804412 40.804412 -97 32 38.078866 38.078866 38.078866 -97 33 40.000000 40.000000 40.000000 -97 34 41.725292 41.725292 41.725292 -97 35 35.510562 35.510562 35.510562 -97 36 33.241540 33.241540 33.241540 -97 37 32.572995 32.572995 32.572995 -97 38 29.732137 29.732137 29.732137 -97 39 26.925824 26.925824 26.925824 -97 40 26.476405 26.476405 26.476405 -97 41 31.400637 31.400637 31.400637 -97 42 21.213203 21.213203 21.213203 -97 43 26.000000 26.000000 26.000000 -97 44 31.000000 31.000000 31.000000 -97 45 28.000000 28.000000 28.000000 -97 46 44.821870 44.821870 44.821870 -97 47 45.221676 45.221676 45.221676 -97 48 53.758720 53.758720 53.758720 -97 49 50.695167 50.695167 50.695167 -97 50 43.965896 43.965896 43.965896 -97 51 25.495098 25.495098 25.495098 -97 52 34.000000 34.000000 34.000000 -97 53 38.418745 38.418745 38.418745 -97 54 35.227830 35.227830 35.227830 -97 55 6.000000 6.000000 6.000000 -97 56 25.709920 25.709920 25.709920 -97 57 19.646883 19.646883 19.646883 -97 58 38.288379 38.288379 38.288379 -97 59 59.464275 59.464275 59.464275 -97 60 56.400355 56.400355 56.400355 -97 61 40.447497 40.447497 40.447497 -97 62 14.866069 14.866069 14.866069 -97 63 21.470911 21.470911 21.470911 -97 64 35.440090 35.440090 35.440090 -97 65 26.000000 26.000000 26.000000 -97 66 24.413111 24.413111 24.413111 -97 67 22.022716 22.022716 22.022716 -97 68 15.000000 15.000000 15.000000 -97 69 16.155494 16.155494 16.155494 -97 70 24.083189 24.083189 24.083189 -97 71 25.000000 25.000000 25.000000 -97 72 10.049876 10.049876 10.049876 -97 73 13.601471 13.601471 13.601471 -97 74 53.338541 53.338541 53.338541 -97 75 48.795492 48.795492 48.795492 -97 76 70.007142 70.007142 70.007142 -97 77 42.296572 42.296572 42.296572 -97 78 60.207973 60.207973 60.207973 -97 79 47.042534 47.042534 47.042534 -97 80 50.960769 50.960769 50.960769 -97 81 10.630146 10.630146 10.630146 -97 82 7.211103 7.211103 7.211103 -97 83 30.083218 30.083218 30.083218 -97 84 29.206164 29.206164 29.206164 -97 85 25.079872 25.079872 25.079872 -97 86 32.015621 32.015621 32.015621 -97 87 45.343136 45.343136 45.343136 -97 88 52.430907 52.430907 52.430907 -97 89 31.256999 31.256999 31.256999 -97 90 50.447993 50.447993 50.447993 -97 91 19.313208 19.313208 19.313208 -97 92 13.416408 13.416408 13.416408 -97 93 11.180340 11.180340 11.180340 -97 94 6.324555 6.324555 6.324555 -97 95 6.324555 6.324555 6.324555 -97 96 17.029386 17.029386 17.029386 -97 98 62.425956 62.425956 62.425956 -97 99 29.068884 29.068884 29.068884 -97 100 34.669872 34.669872 34.669872 -97 101 27.294688 27.294688 27.294688 -98 1 48.166378 48.166378 48.166378 -98 2 70.213959 70.213959 70.213959 -98 3 59.774577 59.774577 59.774577 -98 4 69.375788 69.375788 69.375788 -98 5 64.031242 64.031242 64.031242 -98 6 68.883960 68.883960 68.883960 -98 7 58.694122 58.694122 58.694122 -98 8 58.051701 58.051701 58.051701 -98 9 62.968246 62.968246 62.968246 -98 10 18.027756 18.027756 18.027756 -98 11 22.803509 22.803509 22.803509 -98 12 22.360680 22.360680 22.360680 -98 13 27.294688 27.294688 27.294688 -98 14 17.029386 17.029386 17.029386 -98 15 27.018512 27.018512 27.018512 -98 16 22.090722 22.090722 22.090722 -98 17 22.360680 22.360680 22.360680 -98 18 27.294688 27.294688 27.294688 -98 19 42.059482 42.059482 42.059482 -98 20 38.832976 38.832976 38.832976 -98 21 38.118237 38.118237 38.118237 -98 22 38.275318 38.275318 38.275318 -98 23 36.124784 36.124784 36.124784 -98 24 36.400549 36.400549 36.400549 -98 25 34.132096 34.132096 34.132096 -98 26 33.615473 33.615473 33.615473 -98 27 91.787799 91.787799 91.787799 -98 28 92.574294 92.574294 92.574294 -98 29 88.814413 88.814413 88.814413 -98 30 87.664132 87.664132 87.664132 -98 31 84.852814 84.852814 84.852814 -98 32 85.702975 85.702975 85.702975 -98 33 83.862983 83.862983 83.862983 -98 34 81.301906 81.301906 81.301906 -98 35 82.764727 82.764727 82.764727 -98 36 91.967386 91.967386 91.967386 -98 37 90.609050 90.609050 90.609050 -98 38 88.413800 88.413800 88.413800 -98 39 84.899941 84.899941 84.899941 -98 40 83.546394 83.546394 83.546394 -98 41 87.321246 87.321246 87.321246 -98 42 78.517514 78.517514 78.517514 -98 43 80.280757 80.280757 80.280757 -98 44 84.202138 84.202138 84.202138 -98 45 81.835200 81.835200 81.835200 -98 46 65.969690 65.969690 65.969690 -98 47 63.560994 63.560994 63.560994 -98 48 27.073973 27.073973 27.073973 -98 49 40.162171 40.162171 40.162171 -98 50 38.470768 38.470768 38.470768 -98 51 70.092796 70.092796 70.092796 -98 52 51.039201 51.039201 51.039201 -98 53 24.186773 24.186773 24.186773 -98 54 35.777088 35.777088 35.777088 -98 55 66.068147 66.068147 66.068147 -98 56 49.396356 49.396356 49.396356 -98 57 49.040799 49.040799 49.040799 -98 58 26.925824 26.925824 26.925824 -98 59 13.601471 13.601471 13.601471 -98 60 6.324555 6.324555 6.324555 -98 61 43.416587 43.416587 43.416587 -98 62 62.369865 62.369865 62.369865 -98 63 63.324561 63.324561 63.324561 -98 64 61.032778 61.032778 61.032778 -98 65 42.720019 42.720019 42.720019 -98 66 38.013156 38.013156 38.013156 -98 67 41.593269 41.593269 41.593269 -98 68 64.621978 64.621978 64.621978 -98 69 55.317267 55.317267 55.317267 -98 70 43.416587 43.416587 43.416587 -98 71 59.682493 59.682493 59.682493 -98 72 71.344236 71.344236 71.344236 -98 73 75.432089 75.432089 75.432089 -98 74 42.047592 42.047592 42.047592 -98 75 16.124515 16.124515 16.124515 -98 76 13.038405 13.038405 13.038405 -98 77 56.320511 56.320511 56.320511 -98 78 24.207437 24.207437 24.207437 -98 79 38.209946 38.209946 38.209946 -98 80 50.039984 50.039984 50.039984 -98 81 51.865210 51.865210 51.865210 -98 82 60.207973 60.207973 60.207973 -98 83 33.970576 33.970576 33.970576 -98 84 35.468296 35.468296 35.468296 -98 85 54.129474 54.129474 54.129474 -98 86 59.211485 59.211485 59.211485 -98 87 18.027756 18.027756 18.027756 -98 88 10.000000 10.000000 10.000000 -98 89 44.721360 44.721360 44.721360 -98 90 64.327288 64.327288 64.327288 -98 91 43.931765 43.931765 43.931765 -98 92 51.000000 51.000000 51.000000 -98 93 55.009090 55.009090 55.009090 -98 94 66.370174 66.370174 66.370174 -98 95 60.901560 60.901560 60.901560 -98 96 55.362442 55.362442 55.362442 -98 97 62.425956 62.425956 62.425956 -98 99 40.496913 40.496913 40.496913 -98 100 27.802878 27.802878 27.802878 -98 101 55.946403 55.946403 55.946403 -99 1 14.142136 14.142136 14.142136 -99 2 33.015148 33.015148 33.015148 -99 3 23.345235 23.345235 23.345235 -99 4 33.241540 33.241540 33.241540 -99 5 28.635642 28.635642 28.635642 -99 6 33.541020 33.541020 33.541020 -99 7 24.351591 24.351591 24.351591 -99 8 25.495098 25.495098 25.495098 -99 9 30.083218 30.083218 30.083218 -99 10 23.345235 23.345235 23.345235 -99 11 20.000000 20.000000 20.000000 -99 12 21.633308 21.633308 21.633308 -99 13 19.313208 19.313208 19.313208 -99 14 27.018512 27.018512 27.018512 -99 15 22.135944 22.135944 22.135944 -99 16 26.832816 26.832816 26.832816 -99 17 28.635642 28.635642 28.635642 -99 18 26.925824 26.925824 26.925824 -99 19 50.328918 50.328918 50.328918 -99 20 44.944410 44.944410 44.944410 -99 21 40.311289 40.311289 40.311289 -99 22 49.040799 49.040799 49.040799 -99 23 39.560081 39.560081 39.560081 -99 24 48.507731 48.507731 48.507731 -99 25 38.897301 38.897301 38.897301 -99 26 47.853944 47.853944 47.853944 -99 27 72.422372 72.422372 72.422372 -99 28 71.063352 71.063352 71.063352 -99 29 69.570109 69.570109 69.570109 -99 30 66.219333 66.219333 66.219333 -99 31 65.787537 65.787537 65.787537 -99 32 64.288413 64.288413 64.288413 -99 33 64.845971 64.845971 64.845971 -99 34 64.884513 64.884513 64.884513 -99 35 61.400326 61.400326 61.400326 -99 36 52.630789 52.630789 52.630789 -99 37 51.088159 51.088159 51.088159 -99 38 49.203658 49.203658 49.203658 -99 39 45.607017 45.607017 45.607017 -99 40 44.045431 44.045431 44.045431 -99 41 47.381431 47.381431 47.381431 -99 42 39.408121 39.408121 39.408121 -99 43 40.311289 40.311289 40.311289 -99 44 43.931765 43.931765 43.931765 -99 45 41.725292 41.725292 41.725292 -99 46 30.594117 30.594117 30.594117 -99 47 29.120440 29.120440 29.120440 -99 48 25.000000 25.000000 25.000000 -99 49 49.648766 49.648766 49.648766 -99 50 43.081318 43.081318 43.081318 -99 51 49.040799 49.040799 49.040799 -99 52 43.185646 43.185646 43.185646 -99 53 22.022716 22.022716 22.022716 -99 54 6.324555 6.324555 6.324555 -99 55 30.083218 30.083218 30.083218 -99 56 8.944272 8.944272 8.944272 -99 57 29.410882 29.410882 29.410882 -99 58 27.294688 27.294688 27.294688 -99 59 43.416587 43.416587 43.416587 -99 60 35.777088 35.777088 35.777088 -99 61 13.601471 13.601471 13.601471 -99 62 23.021729 23.021729 23.021729 -99 63 42.544095 42.544095 42.544095 -99 64 50.447993 50.447993 50.447993 -99 65 29.068884 29.068884 29.068884 -99 66 15.000000 15.000000 15.000000 -99 67 21.213203 21.213203 21.213203 -99 68 39.293765 39.293765 39.293765 -99 69 16.124515 16.124515 16.124515 -99 70 5.000000 5.000000 5.000000 -99 71 19.235384 19.235384 19.235384 -99 72 39.115214 39.115214 39.115214 -99 73 39.217343 39.217343 39.217343 -99 74 25.298221 25.298221 25.298221 -99 75 32.557641 32.557641 32.557641 -99 76 51.478151 51.478151 51.478151 -99 77 52.497619 52.497619 52.497619 -99 78 49.091751 49.091751 49.091751 -99 79 18.439089 18.439089 18.439089 -99 80 25.612497 25.612497 25.612497 -99 81 21.587033 21.587033 21.587033 -99 82 23.769729 23.769729 23.769729 -99 83 9.055385 9.055385 9.055385 -99 84 23.706539 23.706539 23.706539 -99 85 38.600518 38.600518 38.600518 -99 86 47.010637 47.010637 47.010637 -99 87 28.442925 28.442925 28.442925 -99 88 31.304952 31.304952 31.304952 -99 89 6.324555 6.324555 6.324555 -99 90 62.369865 62.369865 62.369865 -99 91 12.083046 12.083046 12.083046 -99 92 25.079872 25.079872 25.079872 -99 93 28.460499 28.460499 28.460499 -99 94 35.000000 35.000000 35.000000 -99 95 31.256999 31.256999 31.256999 -99 96 33.541020 33.541020 33.541020 -99 97 29.068884 29.068884 29.068884 -99 98 40.496913 40.496913 40.496913 -99 100 17.000000 17.000000 17.000000 -99 101 15.811388 15.811388 15.811388 -100 1 20.518285 20.518285 20.518285 -100 2 50.009999 50.009999 50.009999 -100 3 40.199502 40.199502 40.199502 -100 4 50.159745 50.159745 50.159745 -100 5 45.398238 45.398238 45.398238 -100 6 50.358713 50.358713 50.358713 -100 7 40.792156 40.792156 40.792156 -100 8 41.484937 41.484937 41.484937 -100 9 46.324939 46.324939 46.324939 -100 10 16.000000 16.000000 16.000000 -100 11 16.763055 16.763055 16.763055 -100 12 18.681542 18.681542 18.681542 -100 13 20.591260 20.591260 20.591260 -100 14 21.000000 21.000000 21.000000 -100 15 23.259407 23.259407 23.259407 -100 16 24.515301 24.515301 24.515301 -100 17 26.476405 26.476405 26.476405 -100 18 27.856777 27.856777 27.856777 -100 19 34.985711 34.985711 34.985711 -100 20 29.681644 29.681644 29.681644 -100 21 25.612497 25.612497 25.612497 -100 22 33.105891 33.105891 33.105891 -100 23 24.413111 24.413111 24.413111 -100 24 32.310989 32.310989 32.310989 -100 25 23.323808 23.323808 23.323808 -100 26 31.320920 31.320920 31.320920 -100 27 69.180922 69.180922 69.180922 -100 28 69.000000 69.000000 69.000000 -100 29 66.189123 66.189123 66.189123 -100 30 64.000000 64.000000 64.000000 -100 31 62.201286 62.201286 62.201286 -100 32 62.000000 62.000000 62.000000 -100 33 61.204575 61.204575 61.204575 -100 34 59.841457 59.841457 59.841457 -100 35 59.000000 59.000000 59.000000 -100 36 64.660653 64.660653 64.660653 -100 37 63.411355 63.411355 63.411355 -100 38 61.073726 61.073726 61.073726 -100 39 57.628118 57.628118 57.628118 -100 40 56.400355 56.400355 56.400355 -100 41 60.464866 60.464866 60.464866 -100 42 51.224994 51.224994 51.224994 -100 43 53.535035 53.535035 53.535035 -100 44 57.801384 57.801384 57.801384 -100 45 55.226805 55.226805 55.226805 -100 46 47.381431 47.381431 47.381431 -100 47 45.705580 45.705580 45.705580 -100 48 26.000000 26.000000 26.000000 -100 49 34.000000 34.000000 34.000000 -100 50 28.017851 28.017851 28.017851 -100 51 46.000000 46.000000 46.000000 -100 52 32.649655 32.649655 32.649655 -100 53 5.099020 5.099020 5.099020 -100 54 16.155494 16.155494 16.155494 -100 55 38.288379 38.288379 38.288379 -100 56 25.317978 25.317978 25.317978 -100 57 24.000000 24.000000 24.000000 -100 58 10.770330 10.770330 10.770330 -100 59 27.313001 27.313001 27.313001 -100 60 21.931712 21.931712 21.931712 -100 61 27.313001 27.313001 27.313001 -100 62 35.510562 35.510562 35.510562 -100 63 39.000000 39.000000 39.000000 -100 64 41.785165 41.785165 41.785165 -100 65 19.646883 19.646883 19.646883 -100 66 10.295630 10.295630 10.295630 -100 67 15.132746 15.132746 15.132746 -100 68 38.639358 38.639358 38.639358 -100 69 28.653098 28.653098 28.653098 -100 70 17.720045 17.720045 17.720045 -100 71 35.171011 35.171011 35.171011 -100 72 43.829214 43.829214 43.829214 -100 73 47.634021 47.634021 47.634021 -100 74 34.655447 34.655447 34.655447 -100 75 16.155494 16.155494 16.155494 -100 76 36.619667 36.619667 36.619667 -100 77 41.048752 41.048752 41.048752 -100 78 32.140317 32.140317 32.140317 -100 79 27.658633 27.658633 27.658633 -100 80 38.587563 38.587563 38.587563 -100 81 24.186773 24.186773 24.186773 -100 82 32.526912 32.526912 32.526912 -100 83 8.062258 8.062258 8.062258 -100 84 11.704700 11.704700 11.704700 -100 85 31.575307 31.575307 31.575307 -100 86 38.897301 38.897301 38.897301 -100 87 12.083046 12.083046 12.083046 -100 88 17.804494 17.804494 17.804494 -100 89 23.086793 23.086793 23.086793 -100 90 50.803543 50.803543 50.803543 -100 91 16.278821 16.278821 16.278821 -100 92 24.041631 24.041631 24.041631 -100 93 28.160256 28.160256 28.160256 -100 94 38.910153 38.910153 38.910153 -100 95 33.615473 33.615473 33.615473 -100 96 30.066593 30.066593 30.066593 -100 97 34.669872 34.669872 34.669872 -100 98 27.802878 27.802878 27.802878 -100 99 17.000000 17.000000 17.000000 -100 101 32.388269 32.388269 32.388269 -101 1 19.235384 19.235384 19.235384 -101 2 18.973666 18.973666 18.973666 -101 3 12.041595 12.041595 12.041595 -101 4 20.124612 20.124612 20.124612 -101 5 17.029386 17.029386 17.029386 -101 6 21.095023 21.095023 21.095023 -101 7 15.264338 15.264338 15.264338 -101 8 17.888544 17.888544 17.888544 -101 9 20.615528 20.615528 20.615528 -101 10 38.275318 38.275318 38.275318 -101 11 34.205263 34.205263 34.205263 -101 12 35.468296 35.468296 35.468296 -101 13 31.827661 31.827661 31.827661 -101 14 41.231056 41.231056 41.231056 -101 15 34.058773 34.058773 34.058773 -101 16 39.623226 39.623226 39.623226 -101 17 41.109610 41.109610 41.109610 -101 18 38.013156 38.013156 38.013156 -101 19 63.348244 63.348244 63.348244 -101 20 58.051701 58.051701 58.051701 -101 21 53.150729 53.150729 53.150729 -101 22 62.649820 62.649820 62.649820 -101 23 52.773099 52.773099 52.773099 -101 24 62.393910 62.393910 62.393910 -101 25 52.469038 52.469038 52.469038 -101 26 62.128898 62.128898 62.128898 -101 27 73.925638 73.925638 73.925638 -101 28 71.554175 71.554175 71.554175 -101 29 71.344236 71.344236 71.344236 -101 30 67.119297 67.119297 67.119297 -101 31 67.955868 67.955868 67.955868 -101 32 65.368188 65.368188 65.368188 -101 33 67.119297 67.119297 67.119297 -101 34 68.410526 68.410526 68.410526 -101 35 62.769419 62.769419 62.769419 -101 36 40.249224 40.249224 40.249224 -101 37 38.470768 38.470768 38.470768 -101 38 37.161808 37.161808 37.161808 -101 39 33.615473 33.615473 33.615473 -101 40 31.780497 31.780497 31.780497 -101 41 34.132096 34.132096 34.132096 -101 42 28.160256 28.160256 28.160256 -101 43 27.294688 27.294688 27.294688 -101 44 30.000000 30.000000 30.000000 -101 45 28.301943 28.301943 28.301943 -101 46 18.601075 18.601075 18.601075 -101 47 18.384776 18.384776 18.384776 -101 48 36.400549 36.400549 36.400549 -101 49 62.968246 62.968246 62.968246 -101 50 56.089215 56.089215 56.089215 -101 51 52.009614 52.009614 52.009614 -101 52 52.773099 52.773099 52.773099 -101 53 37.483330 37.483330 37.483330 -101 54 20.248457 20.248457 20.248457 -101 55 25.000000 25.000000 25.000000 -101 56 7.071068 7.071068 7.071068 -101 57 37.215588 37.215588 37.215588 -101 58 42.011903 42.011903 42.011903 -101 59 59.203040 59.203040 59.203040 -101 60 51.478151 51.478151 51.478151 -101 61 17.464249 17.464249 17.464249 -101 62 14.142136 14.142136 14.142136 -101 63 46.690470 46.690470 46.690470 -101 64 58.008620 58.008620 58.008620 -101 65 39.560081 39.560081 39.560081 -101 66 27.294688 27.294688 27.294688 -101 67 31.622777 31.622777 31.622777 -101 68 41.400483 41.400483 41.400483 -101 69 11.401754 11.401754 11.401754 -101 70 15.000000 15.000000 15.000000 -101 71 4.472136 4.472136 4.472136 -101 72 36.055513 36.055513 36.055513 -101 73 32.062439 32.062439 32.062439 -101 74 29.832868 29.832868 29.832868 -101 75 48.270074 48.270074 48.270074 -101 76 67.230945 67.230945 67.230945 -101 77 62.177166 62.177166 62.177166 -101 78 64.498062 64.498062 64.498062 -101 79 25.495098 25.495098 25.495098 -101 80 25.019992 25.019992 25.019992 -101 81 25.612497 25.612497 25.612497 -101 82 20.124612 20.124612 20.124612 -101 83 24.331050 24.331050 24.331050 -101 84 36.496575 36.496575 36.496575 -101 85 46.043458 46.043458 46.043458 -101 86 54.405882 54.405882 54.405882 -101 87 44.147480 44.147480 44.147480 -101 88 47.010637 47.010637 47.010637 -101 89 11.401754 11.401754 11.401754 -101 90 71.693793 71.693793 71.693793 -101 91 20.880613 20.880613 20.880613 -101 92 30.805844 30.805844 30.805844 -101 93 32.557641 32.557641 32.557641 -101 94 33.541020 33.541020 33.541020 -101 95 32.202484 32.202484 32.202484 -101 96 39.051248 39.051248 39.051248 -101 97 27.294688 27.294688 27.294688 -101 98 55.946403 55.946403 55.946403 -101 99 15.811388 15.811388 15.811388 -101 100 32.388269 32.388269 32.388269 \. +DROP TABLE IF EXISTS vrp_distance cascade; +WITH +the_matrix_info AS ( + SELECT A.id AS src_id, B.id AS dest_id, sqrt( (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y)) AS cost + FROM solomon_100_rc_101 AS A, solomon_100_rc_101 AS B WHERE A.id != B.id +) +SELECT src_id, dest_id, cost, cost AS distance, cost AS traveltime +INTO vrp_distance +FROM the_matrix_info; From cd274a1dacbe3157894939bf13764e8a724b5f10 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 21:10:05 +0530 Subject: [PATCH 1130/1360] Added broken link to linkcheck_ignore --- doc/conf.py.in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/conf.py.in b/doc/conf.py.in index 66acbcbb65b..1a3653d5bd3 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -318,6 +318,9 @@ pdf_style_path = ['.', '_styles'] # cases to ignore during link checking linkcheck_ignore = [ + # Link is going to be fixed by sponsor + 'https://www.leopark.mx/', + # might not exist yet (we are generating it!) 'https://docs.pgrouting.org/3.2/en/pgr_dijkstraNear.html', 'https://docs.pgrouting.org/3.2/en/pgr_dijkstraNearCost.html', From 87d56d416b4dee7fa6af708cc080b046db8b2a81 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 18 Dec 2020 11:56:04 +0530 Subject: [PATCH 1131/1360] [pickDeliver][lint] Renamed get_m_ in function name to get_ --- include/vrp/pgr_pickDeliver.h | 4 ++-- src/pickDeliver/dnode.cpp | 6 +++--- src/pickDeliver/fleet.cpp | 10 +++++----- src/pickDeliver/pd_orders.cpp | 8 ++++---- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/include/vrp/pgr_pickDeliver.h b/include/vrp/pgr_pickDeliver.h index 59291048371..ffc5bcd42c1 100644 --- a/include/vrp/pgr_pickDeliver.h +++ b/include/vrp/pgr_pickDeliver.h @@ -77,11 +77,11 @@ class Pgr_pickDeliver : public PD_problem { return (Initials_code) problem->m_initial_id; } - std::vector get_m_nodes() const { + std::vector get_nodes() const { return m_nodes; } - pgrouting::tsp::Dmatrix get_m_cost_matrix() const { + pgrouting::tsp::Dmatrix get_cost_matrix() const { return m_cost_matrix; } diff --git a/src/pickDeliver/dnode.cpp b/src/pickDeliver/dnode.cpp index 49404808c1d..13205d3dc8f 100644 --- a/src/pickDeliver/dnode.cpp +++ b/src/pickDeliver/dnode.cpp @@ -40,9 +40,9 @@ std::ostream& operator << (std::ostream &log, const Dnode &node) { double Dnode::distance(const Dnode &other) const { - return problem->get_m_cost_matrix().distance( - problem->get_m_cost_matrix().get_index(id()), - problem->get_m_cost_matrix().get_index(other.id())); + return problem->get_cost_matrix().distance( + problem->get_cost_matrix().get_index(id()), + problem->get_cost_matrix().get_index(other.id())); } diff --git a/src/pickDeliver/fleet.cpp b/src/pickDeliver/fleet.cpp index 1ffbc4fbf8c..9e9354de628 100644 --- a/src/pickDeliver/fleet.cpp +++ b/src/pickDeliver/fleet.cpp @@ -217,11 +217,11 @@ Fleet::build_fleet( throw std::make_pair(std::string("Illegal value for capacity found"), vehicle.capacity); } - if (!problem->get_m_cost_matrix().empty()) { - if (!problem->get_m_cost_matrix().has_id(vehicle.start_node_id)) { + if (!problem->get_cost_matrix().empty()) { + if (!problem->get_cost_matrix().has_id(vehicle.start_node_id)) { throw std::make_pair(std::string("Unable to find node on matrix"), vehicle.start_node_id); } - if (!problem->get_m_cost_matrix().has_id(vehicle.end_node_id)) { + if (!problem->get_cost_matrix().has_id(vehicle.end_node_id)) { throw std::make_pair(std::string("Unable to find node on matrix"), vehicle.end_node_id); } } @@ -245,9 +245,9 @@ Fleet::build_fleet( /* * Matrix version */ - auto starting_site = Vehicle_node({problem->get_m_nodes().size(), vehicle, Tw_node::NodeType::kStart}); + auto starting_site = Vehicle_node({problem->get_nodes().size(), vehicle, Tw_node::NodeType::kStart}); problem->add_node(starting_site); - auto ending_site = Vehicle_node({problem->get_m_nodes().size(), vehicle, Tw_node::NodeType::kEnd}); + auto ending_site = Vehicle_node({problem->get_nodes().size(), vehicle, Tw_node::NodeType::kEnd}); problem->add_node(ending_site); pgassert(starting_site.opens() <= starting_site.closes()); diff --git a/src/pickDeliver/pd_orders.cpp b/src/pickDeliver/pd_orders.cpp index 6381213b9fc..5861fdddf49 100644 --- a/src/pickDeliver/pd_orders.cpp +++ b/src/pickDeliver/pd_orders.cpp @@ -78,16 +78,16 @@ PD_Orders::build_orders( * matrix version */ - if (!problem->get_m_cost_matrix().has_id(order.pick_node_id)) { + if (!problem->get_cost_matrix().has_id(order.pick_node_id)) { throw std::make_pair(std::string("Unable to find node on matrix"), order.pick_node_id); } - if (!problem->get_m_cost_matrix().has_id(order.deliver_node_id)) { + if (!problem->get_cost_matrix().has_id(order.deliver_node_id)) { throw std::make_pair(std::string("Unable to find node on matrix"), order.deliver_node_id); } - Vehicle_node pickup({problem->get_m_nodes().size(), order, Tw_node::NodeType::kPickup}); + Vehicle_node pickup({problem->get_nodes().size(), order, Tw_node::NodeType::kPickup}); problem->add_node(pickup); - Vehicle_node delivery({problem->get_m_nodes().size(), order, Tw_node::NodeType::kDelivery}); + Vehicle_node delivery({problem->get_nodes().size(), order, Tw_node::NodeType::kDelivery}); problem->add_node(delivery); add_order(order, pickup, delivery); From 41568b6393f848473832b8f797f8cc4e4478e294 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 18 Dec 2020 12:05:28 +0530 Subject: [PATCH 1132/1360] [pickDeliver][lint] Removed base_node and node files --- include/vrp/base_node.h | 75 ------------------------- include/vrp/dnode.h | 2 +- include/vrp/node.h | 75 ------------------------- include/vrp/pd_orders.h | 1 - src/pickDeliver/CMakeLists.txt | 2 - src/pickDeliver/base_node.cpp | 53 ----------------- src/pickDeliver/node.cpp | 100 --------------------------------- 7 files changed, 1 insertion(+), 307 deletions(-) delete mode 100644 include/vrp/base_node.h delete mode 100644 include/vrp/node.h delete mode 100644 src/pickDeliver/base_node.cpp delete mode 100644 src/pickDeliver/node.cpp diff --git a/include/vrp/base_node.h b/include/vrp/base_node.h deleted file mode 100644 index e40970756bc..00000000000 --- a/include/vrp/base_node.h +++ /dev/null @@ -1,75 +0,0 @@ -/*PGR-GNU***************************************************************** - -FILE: base_node.h - -Copyright (c) 2017 pgRouting developers -Mail: project@pgrouting.org - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - -/*! @file */ - -#ifndef INCLUDE_VRP_BASE_NODE_H_ -#define INCLUDE_VRP_BASE_NODE_H_ -#pragma once - -#include -#include "cpp_common/identifier.h" - -#if defined(__MINGW32__) || defined(_MSC_VER) -#include -#endif - -namespace pgrouting { -namespace vrp { - -/*! \class Base_node - * \brief The Base_node class defines the operations that can be performed in a 2D node. - * - * A Base_node is an identifier of a Node or Dnode. - */ -class Base_node : public Identifier { - public: - Base_node() = default; - Base_node(size_t, int64_t); - virtual ~Base_node() = default; - - - /** @name to be or not to be */ - /*!@{*/ - - virtual bool operator ==(const Base_node &rhs) const; - - /*!@}*/ - - friend std::ostream& operator<<( - std::ostream &log, - const Base_node &node); - - /*! @name distance - @{ - */ - virtual double distance(const Base_node *node) const = 0; - /*!@}*/ -}; - -} // namespace vrp -} // namespace pgrouting - -#endif // INCLUDE_VRP_BASE_NODE_H_ diff --git a/include/vrp/dnode.h b/include/vrp/dnode.h index ab9c9d8d551..b9eb2f95737 100644 --- a/include/vrp/dnode.h +++ b/include/vrp/dnode.h @@ -31,7 +31,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include -#include "vrp/base_node.h" +#include "cpp_common/identifier.h" #include "vrp/pd_problem.h" namespace pgrouting { diff --git a/include/vrp/node.h b/include/vrp/node.h deleted file mode 100644 index 3ed1acfc34c..00000000000 --- a/include/vrp/node.h +++ /dev/null @@ -1,75 +0,0 @@ -/*PGR-GNU***************************************************************** - -FILE: node.h - -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - -/*! @file */ - -#ifndef INCLUDE_VRP_NODE_H_ -#define INCLUDE_VRP_NODE_H_ -#pragma once - -#include -#include "cpp_common/bpoint.hpp" -#include "vrp/base_node.h" - -namespace pgrouting { -namespace vrp { - -/*! @class Node - * @brief The Node class defines a point in 2D space with an id. - * - * A Node is a point that defines a location in 2D space. It maintains - * a user @c id and an internal @c nid along with its @c x, @c y location. - * This is the base object that things like depots, customer locations, etc. - * are built upon. - * - */ -class Node : public Base_node { - public: - Node() = default; - Node(size_t id, int64_t original_id, double _x, double _y); - - - /** @name to be or not to be */ - /*!@{*/ - bool operator ==(const Node &rhs) const; - /*!@}*/ - - /** @brief Calculates distance between two Node */ - double distance(const Base_node *) const; - - friend std::ostream& operator << (std::ostream &log, const Node &node); - - private: - double distance(const Node &) const; - void print(std::ostream& os) const; - - private: - Bpoint m_point; -}; - -} // namespace vrp -} // namespace pgrouting - -#endif // INCLUDE_VRP_NODE_H_ diff --git a/include/vrp/pd_orders.h b/include/vrp/pd_orders.h index 837591045da..8a9b825d9b5 100644 --- a/include/vrp/pd_orders.h +++ b/include/vrp/pd_orders.h @@ -36,7 +36,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_types/pickDeliver/pickDeliveryOrders_t.h" #include "cpp_common/identifiers.hpp" -#include "vrp/base_node.h" #include "vrp/pd_problem.h" diff --git a/src/pickDeliver/CMakeLists.txt b/src/pickDeliver/CMakeLists.txt index 9b154c1652f..e17f202c57f 100644 --- a/src/pickDeliver/CMakeLists.txt +++ b/src/pickDeliver/CMakeLists.txt @@ -1,7 +1,5 @@ ADD_LIBRARY(pickDeliver OBJECT - #base_node.cpp dnode.cpp - #node.cpp tw_node.cpp vehicle_node.cpp diff --git a/src/pickDeliver/base_node.cpp b/src/pickDeliver/base_node.cpp deleted file mode 100644 index b0e07cc6646..00000000000 --- a/src/pickDeliver/base_node.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/*PGR-GNU***************************************************************** - -FILE: base_node.cpp - -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - -#include "vrp/base_node.h" -#include "cpp_common/pgr_assert.h" - -namespace pgrouting { -namespace vrp { - -std::ostream& -operator << (std::ostream &os, const Base_node &node) { - return os << node.id() - << "(" << node.idx() << ")"; -} - -Base_node::Base_node(size_t _idx, int64_t _id) - : Identifier(_idx, _id) { - } - -bool -Base_node::operator ==(const Base_node &rhs) const { - if (&rhs == this) return true; - return - (idx() == rhs.idx()) - && (id() == rhs.id()); -} - -} // namespace vrp -} // namespace pgrouting - - diff --git a/src/pickDeliver/node.cpp b/src/pickDeliver/node.cpp deleted file mode 100644 index 4815781cfba..00000000000 --- a/src/pickDeliver/node.cpp +++ /dev/null @@ -1,100 +0,0 @@ -/*PGR-GNU***************************************************************** - -FILE: node.cpp - -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - ********************************************************************PGR-GNU*/ - -#include "vrp/node.h" -#include -#include - -#include "cpp_common/pgr_assert.h" - -namespace { - -template -typename std::enable_if::is_integer, bool>::type - almost_equal(T x, T y, int ulp) { - // the machine epsilon has to be scaled to the magnitude of the values used - // and multiplied by the desired precision in ULPs (units in the last place) - return std::abs(x-y) <= std::numeric_limits::epsilon() * std::abs(x+y) * ulp - // unless the result is subnormal - || std::abs(x-y) < std::numeric_limits::min(); -} - -} // namespace - -namespace pgrouting { -namespace vrp { - -std::ostream& operator << (std::ostream &log, const Node &node) { - node.print(log); - return log; -} - -void -Node::print(std::ostream& os) const { - os << id() -#ifndef NDEBUG - << "(" << idx() << ")" -#endif - << " (x,y) = (" << m_point.x() << ", " << m_point.y() << ")"; -} - -double -Node::distance(const Node &other) const { - auto dx = m_point.x() - other.m_point.x(); - auto dy = m_point.y() - other.m_point.y(); - return sqrt(dx * dx + dy * dy); -} - -/** - * para[in] n bas node to be casted as Node - */ -double -Node::distance(const Base_node *n) const { - return distance(*dynamic_cast(n)); -} - -/** - * @param[in] _idx index to a container - * @param[in] _id original identifier - * @param[in] _x coordinate value - * @param[in] _y coordinate value - */ -Node::Node(size_t _idx, int64_t _id, double _x, double _y) - : Base_node(_idx, _id), - m_point(_x, _y) { - } - -bool -Node::operator ==(const Node &rhs) const { - if (&rhs == this) return true; - return - (idx() == rhs.idx()) - && (id() == rhs.id()) - && almost_equal(m_point.x(), rhs.m_point.x(), 2) - && almost_equal(m_point.y(), rhs.m_point.y(), 2); -} - -} // namespace vrp -} // namespace pgrouting From a96ad6270056fdbd2fb48d1b91693eabe2faeadd Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Fri, 18 Dec 2020 12:22:59 +0530 Subject: [PATCH 1133/1360] [pickDeliver][lint] Marking unused code on tw_node --- include/vrp/tw_node.h | 10 ++++++++++ src/pickDeliver/tw_node.cpp | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/include/vrp/tw_node.h b/include/vrp/tw_node.h index 8b3d5ccbfed..ed4ab5720ca 100644 --- a/include/vrp/tw_node.h +++ b/include/vrp/tw_node.h @@ -148,6 +148,7 @@ class Tw_node : public Dnode { bool is_dump() const; +#if 0 /*! @brief is_Load * * To be a Load node: @@ -156,6 +157,7 @@ class Tw_node : public Dnode { * **/ bool is_load() const; +#endif /*! @brief is_end @@ -192,12 +194,14 @@ class Tw_node : public Dnode { inline bool is_late_arrival(double arrival_time) const { return arrival_time > m_closes; } +#if 0 /*! @brief True when @b arrivalTime in the time window */ inline bool is_on_time(double arrival_time) const { return !is_early_arrival(arrival_time) && !is_late_arrival(arrival_time); } /*!@}*/ +#endif /** @name document functions */ @@ -209,12 +213,14 @@ class Tw_node : public Dnode { **/ double arrival_j_opens_i(const Tw_node &I, double speed) const; +#if 0 /*! * The actual arrival time at @b this node, given that: * @b this node is visited directly after @b other node * and that the actual arrival time at @b other node was closes(other) **/ double arrival_j_closes_i(const Tw_node &I, double speed) const; +#endif /* @@ -223,6 +229,7 @@ class Tw_node : public Dnode { */ bool is_compatible_IJ(const Tw_node &I, double speed) const; +#if 0 /* * is possible to arrive to @b this after visiting @bother * - departing as late as possible from @b other it can arrives to @b this @@ -249,6 +256,7 @@ class Tw_node : public Dnode { * - does not have a waiting time when arriving as earliest as possible after */ bool is_waitTime_compatible_IJ(const Tw_node &I, double speed) const; +#endif ///@} @@ -266,8 +274,10 @@ class Tw_node : public Dnode { Vehicle_t data, NodeType type); +#if 0 protected: bool is_valid() const; +#endif private: int64_t m_order; ///< order to which it belongs diff --git a/src/pickDeliver/tw_node.cpp b/src/pickDeliver/tw_node.cpp index 4815147df66..c41e8ea3a30 100644 --- a/src/pickDeliver/tw_node.cpp +++ b/src/pickDeliver/tw_node.cpp @@ -52,11 +52,13 @@ Tw_node::arrival_j_opens_i(const Tw_node &I, double speed) const { return I.opens() + I.service_time() + I.travel_time_to(*this, speed); } +#if 0 double Tw_node::arrival_j_closes_i(const Tw_node &I, double speed) const { if (m_type == kStart) return (std::numeric_limits::max)(); return I.closes() + I.service_time() + I.travel_time_to(*this, speed); } +#endif @@ -75,6 +77,7 @@ Tw_node::is_compatible_IJ(const Tw_node &I, double speed) const { return !is_late_arrival(arrival_j_opens_i(I, speed)); } +#if 0 bool Tw_node::is_partially_compatible_IJ(const Tw_node &I, double speed) const { return @@ -106,6 +109,7 @@ Tw_node::is_waitTime_compatible_IJ(const Tw_node &I, double speed) const { is_compatible_IJ(I, speed) && is_early_arrival(arrival_j_opens_i(I, speed)); } +#endif std::string Tw_node::type_str() const { @@ -156,6 +160,7 @@ Tw_node::is_dump() const { } +#if 0 bool Tw_node::is_load() const { return m_type == kLoad @@ -163,6 +168,7 @@ Tw_node::is_load() const { && (service_time() >= 0) && (demand() >= 0); } +#endif bool @@ -189,6 +195,7 @@ Tw_node::operator ==(const Tw_node &other) const { +#if 0 bool Tw_node::is_valid() const { switch (type()) { case kStart: @@ -222,6 +229,7 @@ bool Tw_node::is_valid() const { return false; } +#endif Tw_node::Tw_node( From efb89e0d0fe5083e5a86a23883073ebdc46e38f7 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 13:10:25 +0530 Subject: [PATCH 1134/1360] [pickDeliver][lint] Marking unused code on dnode --- include/vrp/dnode.h | 4 ++++ src/pickDeliver/dnode.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/include/vrp/dnode.h b/include/vrp/dnode.h index b9eb2f95737..fa0ac656cae 100644 --- a/include/vrp/dnode.h +++ b/include/vrp/dnode.h @@ -53,14 +53,18 @@ class Dnode : public PD_problem, public Identifier { /*!@}*/ +#if 0 bool operator==(const Dnode &other) const; +#endif double distance(const Dnode &other) const; friend std::ostream& operator << (std::ostream &log, const Dnode &node); +#if 0 protected: static Pgr_messages& msg() ; +#endif }; } // namespace vrp diff --git a/src/pickDeliver/dnode.cpp b/src/pickDeliver/dnode.cpp index 13205d3dc8f..02b5b90a27d 100644 --- a/src/pickDeliver/dnode.cpp +++ b/src/pickDeliver/dnode.cpp @@ -51,6 +51,7 @@ Dnode::Dnode(size_t idx, int64_t id) : Identifier(idx, id) { } +#if 0 bool Dnode::operator ==(const Dnode &rhs) const { if (&rhs == this) return true; @@ -63,6 +64,7 @@ Pgr_messages& Dnode::msg() { return problem->msg; } +#endif } // namespace vrp } // namespace pgrouting From d3a966bb52a9cc0e423b005b767934de9d1fa87e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 13:23:26 +0530 Subject: [PATCH 1135/1360] [pickDeliver][lint] Marking unused code on fleet --- include/vrp/fleet.h | 4 ++++ src/pickDeliver/fleet.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/include/vrp/fleet.h b/include/vrp/fleet.h index 636de012c5e..2e8237c8d98 100644 --- a/include/vrp/fleet.h +++ b/include/vrp/fleet.h @@ -75,9 +75,13 @@ class Fleet : public PD_problem { bool is_order_ok(const Order &order) const; Vehicle_pickDeliver get_truck(); +#if 0 void release_truck(size_t id); +#endif Vehicle_pickDeliver get_truck(size_t order); +#if 0 Vehicle_pickDeliver get_truck(const Order order); +#endif /*! @name vector like functions * @{ diff --git a/src/pickDeliver/fleet.cpp b/src/pickDeliver/fleet.cpp index 9e9354de628..63ebbb5a402 100644 --- a/src/pickDeliver/fleet.cpp +++ b/src/pickDeliver/fleet.cpp @@ -69,11 +69,13 @@ Fleet::get_truck() { return m_trucks[idx]; } +#if 0 void Fleet::release_truck(size_t id) { used -= id; un_used += id; } +#endif Vehicle_pickDeliver Fleet::get_truck(size_t order) { @@ -113,6 +115,7 @@ Fleet::get_truck(size_t order) { } +#if 0 Vehicle_pickDeliver Fleet::get_truck(const Order order) { auto id = m_trucks.front().idx(); @@ -129,6 +132,7 @@ Fleet::get_truck(const Order order) { } return m_trucks[id]; } +#endif void From d67c4df7f6f2ceec991ed3dc7d579106ac0c0726 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 13:35:00 +0530 Subject: [PATCH 1136/1360] [pickDeliver][lint] Made member variables private, renamed member variables on fleet --- include/vrp/fleet.h | 12 +++++----- src/pickDeliver/fleet.cpp | 46 +++++++++++++++++++-------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/include/vrp/fleet.h b/include/vrp/fleet.h index 2e8237c8d98..8a683eac208 100644 --- a/include/vrp/fleet.h +++ b/include/vrp/fleet.h @@ -45,9 +45,8 @@ class Pgr_pickDeliver; class PD_Orders; class Fleet : public PD_problem { - public: + private: typedef std::vector::iterator iterator; - std::vector m_trucks; public: @@ -64,8 +63,8 @@ class Fleet : public PD_problem { /* TODO move code to .cpp */ Fleet& operator=(const Fleet &fleet) { m_trucks = fleet.m_trucks; - used = fleet.used; - un_used = fleet.un_used; + m_used = fleet.m_used; + m_un_used = fleet.m_un_used; return *this; } @@ -96,8 +95,9 @@ class Fleet : public PD_problem { friend std::ostream& operator << (std::ostream &log, const Fleet &v); private: - Identifiers used; - Identifiers un_used; + std::vector m_trucks; + Identifiers m_used; + Identifiers m_un_used; /*! @brief build the fleet * diff --git a/src/pickDeliver/fleet.cpp b/src/pickDeliver/fleet.cpp index 63ebbb5a402..3608c79a9a9 100644 --- a/src/pickDeliver/fleet.cpp +++ b/src/pickDeliver/fleet.cpp @@ -40,31 +40,31 @@ namespace vrp { Fleet::Fleet(const Fleet &fleet) : PD_problem(), m_trucks(fleet.m_trucks), - used(fleet.used), - un_used(fleet.un_used) + m_used(fleet.m_used), + m_un_used(fleet.m_un_used) {} Fleet::Fleet( const std::vector &vehicles, double factor) : PD_problem(), - used(), - un_used() { + m_used(), + m_un_used() { build_fleet(vehicles, factor); Identifiers unused(m_trucks.size()); - un_used = unused; + m_un_used = unused; } Vehicle_pickDeliver Fleet::get_truck() { ENTERING(); - auto idx = un_used.front(); - msg.log << "Available vehicles: " << un_used << "\n"; - msg.log << "NOT Available vehicles: " << used << "\n"; + auto idx = m_un_used.front(); + msg.log << "Available vehicles: " << m_un_used << "\n"; + msg.log << "NOT Available vehicles: " << m_used << "\n"; msg.log << "getting idx" << idx << "\n"; pgassertwm(idx < m_trucks.size(), msg.log.str()); - used += idx; - if (un_used.size() > 1) un_used -= idx; + m_used += idx; + if (m_un_used.size() > 1) m_un_used -= idx; EXITING(); return m_trucks[idx]; } @@ -72,25 +72,25 @@ Fleet::get_truck() { #if 0 void Fleet::release_truck(size_t id) { - used -= id; - un_used += id; + m_used -= id; + m_un_used += id; } #endif Vehicle_pickDeliver Fleet::get_truck(size_t order) { #if 0 - msg.log << "Available vehicles: " << un_used << "\n"; - msg.log << "NOT Available vehicles: " << used << "\n"; + msg.log << "Available vehicles: " << m_un_used << "\n"; + msg.log << "NOT Available vehicles: " << m_used << "\n"; #endif - auto idx = un_used.front(); + auto idx = m_un_used.front(); - for (const auto &i : un_used) { + for (const auto &i : m_un_used) { if (m_trucks[i].feasable_orders().has(order)) { idx = i; msg.log << "getting idx" << idx << "\n"; - used += idx; - if (un_used.size() > 1) un_used -= idx; + m_used += idx; + if (m_un_used.size() > 1) m_un_used -= idx; return m_trucks[idx]; } } @@ -106,8 +106,8 @@ Fleet::get_truck(size_t order) { idx = truck.idx(); msg.log << "idx" << idx << "size" << m_trucks.size(); pgassertwm(idx < m_trucks.size(), msg.get_log()); - used += idx; - if (un_used.size() > 1) un_used -= idx; + m_used += idx; + if (m_un_used.size() > 1) m_un_used -= idx; break; } } @@ -125,8 +125,8 @@ Fleet::get_truck(const Order order) { msg.log << "id" << id << "size" << m_trucks.size(); pgassertwm(id < m_trucks.size(), msg.get_log()); - used += id; - if (un_used.size() > 1) un_used -= id; + m_used += id; + if (m_un_used.size() > 1) m_un_used -= id; break; } } @@ -261,7 +261,7 @@ Fleet::build_fleet( add_vehicle(vehicle, factor, starting_site, ending_site); } Identifiers unused(m_trucks.size()); - un_used = unused; + m_un_used = unused; return true; } From d676567726a95fd6ea9f6bdd6e969bd329278180 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 13:37:58 +0530 Subject: [PATCH 1137/1360] [pickDeliver][lint] Moved code from .h to .cpp on fleet --- include/vrp/fleet.h | 8 +------- src/pickDeliver/fleet.cpp | 8 ++++++++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/include/vrp/fleet.h b/include/vrp/fleet.h index 8a683eac208..e21586776d7 100644 --- a/include/vrp/fleet.h +++ b/include/vrp/fleet.h @@ -60,13 +60,7 @@ class Fleet : public PD_problem { Fleet(const Fleet &fleet); /*!@}*/ - /* TODO move code to .cpp */ - Fleet& operator=(const Fleet &fleet) { - m_trucks = fleet.m_trucks; - m_used = fleet.m_used; - m_un_used = fleet.m_un_used; - return *this; - } + Fleet& operator=(const Fleet &fleet); void set_compatibles(const PD_Orders &orders); diff --git a/src/pickDeliver/fleet.cpp b/src/pickDeliver/fleet.cpp index 3608c79a9a9..970187f47d5 100644 --- a/src/pickDeliver/fleet.cpp +++ b/src/pickDeliver/fleet.cpp @@ -312,6 +312,14 @@ Fleet::is_order_ok(const Order &order) const { return false; } +Fleet& +Fleet::operator=(const Fleet &fleet) { + m_trucks = fleet.m_trucks; + m_used = fleet.m_used; + m_un_used = fleet.m_un_used; + return *this; +} + Vehicle_pickDeliver& Fleet::operator[](size_t i) { pgassert(i < m_trucks.size()); From 6ba92dde4d87ebe3e376dab757dd2af24cba745d Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 13:58:53 +0530 Subject: [PATCH 1138/1360] [pickDeliver][lint] Marking unused code on solution --- include/vrp/solution.h | 4 ++++ src/pickDeliver/solution.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/include/vrp/solution.h b/include/vrp/solution.h index a97a2997b76..805950b4880 100644 --- a/include/vrp/solution.h +++ b/include/vrp/solution.h @@ -83,7 +83,9 @@ class Solution : public PD_problem { return *this; }; +#if 0 void sort_by_id(); +#endif Initials_code get_kind() const; @@ -101,7 +103,9 @@ class Solution : public PD_problem { double total_service_time() const; int twvTot() const; int cvTot() const; +#if 0 size_t fleet_size() const {return fleet.size();} +#endif /* * Cost in terms of a tuple diff --git a/src/pickDeliver/solution.cpp b/src/pickDeliver/solution.cpp index 045e2135c4c..ae714262e60 100644 --- a/src/pickDeliver/solution.cpp +++ b/src/pickDeliver/solution.cpp @@ -161,6 +161,7 @@ Solution::tau(const std::string &title) const { return log.str(); } +#if 0 void Solution::sort_by_id() { std::sort(fleet.begin(), fleet.end(), [] @@ -169,6 +170,7 @@ Solution::sort_by_id() { return lhs.idx() < rhs.idx(); }); } +#endif std::ostream& operator << (std::ostream &log, const Solution &solution) { From 2cd55f63cf01404fed7a769e8c7769322bcaa267 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 14:03:52 +0530 Subject: [PATCH 1139/1360] [pickDeliver][lint] Renamed member variables of initial_solution --- include/vrp/initial_solution.h | 7 +++-- src/pickDeliver/initial_solution.cpp | 38 ++++++++++++++-------------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/include/vrp/initial_solution.h b/include/vrp/initial_solution.h index 589e1b0cd7d..9dbfc3fd1c5 100644 --- a/include/vrp/initial_solution.h +++ b/include/vrp/initial_solution.h @@ -60,10 +60,9 @@ class Initial_solution : public Solution { void do_while_foo(int kind); - private: - Identifiers all_orders; - Identifiers unassigned; - Identifiers assigned; + Identifiers m_all_orders; + Identifiers m_unassigned; + Identifiers m_assigned; }; } // namespace vrp diff --git a/src/pickDeliver/initial_solution.cpp b/src/pickDeliver/initial_solution.cpp index 50b70f0f4b0..0c267ba09b6 100644 --- a/src/pickDeliver/initial_solution.cpp +++ b/src/pickDeliver/initial_solution.cpp @@ -38,8 +38,8 @@ namespace vrp { void Initial_solution::invariant() const { /* this checks there is no order duplicated */ - pgassert(all_orders == (assigned + unassigned)); - pgassert((assigned * unassigned).empty()); + pgassert(m_all_orders == (m_assigned + m_unassigned)); + pgassert((m_assigned * m_unassigned).empty()); } @@ -47,9 +47,9 @@ Initial_solution::Initial_solution( Initials_code kind, size_t number_of_orders) : Solution(), - all_orders(number_of_orders), - unassigned(number_of_orders), - assigned() { + m_all_orders(number_of_orders), + m_unassigned(number_of_orders), + m_assigned() { invariant(); pgassert(kind >= 0 && kind <= OneDepot); @@ -84,26 +84,26 @@ Initial_solution::do_while_foo(int kind) { #endif Identifiers notused; - while (!unassigned.empty()) { + while (!m_unassigned.empty()) { #if 0 - msg.log << unassigned.size() << " unassigned: " << unassigned << "\n"; - msg.log << assigned.size() << " assigned:" << assigned << "\n"; + msg.log << m_unassigned.size() << " m_unassigned: " << m_unassigned << "\n"; + msg.log << m_assigned.size() << " m_assigned:" << m_assigned << "\n"; #endif - auto current = unassigned.size(); - auto truck = trucks.get_truck(unassigned.front()); + auto current = m_unassigned.size(); + auto truck = trucks.get_truck(m_unassigned.front()); #if 0 msg.log << "got truck:" << truck.tau() << "\n"; #endif /* * kind 1 to 7 work with the same code structure */ - truck.do_while_feasable((Initials_code)kind, unassigned, assigned); + truck.do_while_feasable((Initials_code)kind, m_unassigned, m_assigned); #if 0 - msg.log << unassigned.size() << " unassigned: " << unassigned << "\n"; - msg.log << assigned.size() << " assigned:" << assigned << "\n"; - msg.log << "current" << current << " unassigned: " << unassigned.size(); + msg.log << m_unassigned.size() << " m_unassigned: " << m_unassigned << "\n"; + msg.log << m_assigned.size() << " m_assigned:" << m_assigned << "\n"; + msg.log << "current" << current << " m_unassigned: " << m_unassigned.size(); #endif - pgassertwm(current > unassigned.size(), msg.get_log().c_str()); + pgassertwm(current > m_unassigned.size(), msg.get_log().c_str()); fleet.push_back(truck); invariant(); @@ -122,13 +122,13 @@ Initial_solution::one_truck_all_orders() { invariant(); msg.log << "\nInitial_solution::one_truck_all_orders\n"; auto truck = trucks.get_truck(); - while (!unassigned.empty()) { - auto order(truck.orders()[*unassigned.begin()]); + while (!m_unassigned.empty()) { + auto order(truck.orders()[*m_unassigned.begin()]); truck.insert(order); - assigned += unassigned.front(); - unassigned.pop_front(); + m_assigned += m_unassigned.front(); + m_unassigned.pop_front(); invariant(); } From 08b752ba002552e7c372a81cc5b68694a094ca30 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 18:08:06 +0530 Subject: [PATCH 1140/1360] [pickDeliver][lint] Marking unused code on optimize --- include/vrp/optimize.h | 9 ++++++++- src/pickDeliver/optimize.cpp | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/vrp/optimize.h b/include/vrp/optimize.h index 7f0bf1ab873..ead30e297e6 100644 --- a/include/vrp/optimize.h +++ b/include/vrp/optimize.h @@ -29,7 +29,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #define INCLUDE_VRP_OPTIMIZE_H_ #pragma once -#include "vrp/optimize.h" #include "vrp/book_keeping.h" namespace pgrouting { @@ -49,17 +48,23 @@ class Optimize : public Solution { * Optimization by decreasing trucks */ void decrease_truck(); +#if 0 void move_wait_time_based(); void move_duration_based(); +#endif void inter_swap(size_t times); Solution best_solution; private: bool decrease_truck(size_t); +#if 0 void sort_for_move(); +#endif void sort_by_duration(); void sort_by_size(); +#if 0 void sort_by_id(); +#endif void delete_empty_truck(); bool swap_worse(Vehicle_pickDeliver &from, Vehicle_pickDeliver &to); @@ -70,12 +75,14 @@ class Optimize : public Solution { Order order, Vehicle_pickDeliver &from_truck, Vehicle_pickDeliver &to_truck); +#if 0 bool swap_order(); bool swap_order( Order from_order, Vehicle_pickDeliver &from_truck, Order to_order, Vehicle_pickDeliver &to_truck); +#endif void save_if_best(); private: diff --git a/src/pickDeliver/optimize.cpp b/src/pickDeliver/optimize.cpp index 9991303aad6..f8fb3c96e33 100644 --- a/src/pickDeliver/optimize.cpp +++ b/src/pickDeliver/optimize.cpp @@ -264,6 +264,7 @@ Optimize::swap_worse(Vehicle_pickDeliver &to, Vehicle_pickDeliver &from) { } +#if 0 bool Optimize::swap_order() { #if 0 @@ -389,6 +390,7 @@ Optimize::sort_by_id() { > rhs.orders_in_vehicle().size(); }); } +#endif void Optimize::sort_by_size() { @@ -559,6 +561,7 @@ Optimize::move_order( return false; } +#if 0 void Optimize::sort_for_move() { std::sort(fleet.begin(), fleet.end(), [] @@ -573,6 +576,7 @@ Optimize::sort_for_move() { return lhs.orders_size() > rhs.orders_size(); }); } +#endif /* From bd14e630311b5736bc59f0b99a8792e91d0019c3 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 18:28:53 +0530 Subject: [PATCH 1141/1360] [pickDeliver][lint] Marking unused code on pd_orders --- include/vrp/pd_orders.h | 2 ++ src/pickDeliver/pd_orders.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/include/vrp/pd_orders.h b/include/vrp/pd_orders.h index 8a9b825d9b5..18489e4089d 100644 --- a/include/vrp/pd_orders.h +++ b/include/vrp/pd_orders.h @@ -66,7 +66,9 @@ class PD_Orders : public PD_problem { size_t find_best_I(Identifiers &within_this_set) const; +#if 0 bool is_valid(double speed) const; +#endif /*! @name std container functions * functions with same "meaning" as an std container diff --git a/src/pickDeliver/pd_orders.cpp b/src/pickDeliver/pd_orders.cpp index 5861fdddf49..522dcaff12d 100644 --- a/src/pickDeliver/pd_orders.cpp +++ b/src/pickDeliver/pd_orders.cpp @@ -98,6 +98,7 @@ PD_Orders::build_orders( #endif } +#if 0 bool PD_Orders::is_valid(double speed) const { for (const auto &o : m_orders) { @@ -111,6 +112,7 @@ PD_Orders::is_valid(double speed) const { } return true; } +#endif Order& PD_Orders::operator[](size_t i) { From 7f142ecf99e91bd9f9f05e0a71f799eca5306c8f Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 18:29:06 +0530 Subject: [PATCH 1142/1360] [pickDeliver][lint] Marking unused code on pgr_pickDeliver --- include/vrp/pgr_pickDeliver.h | 2 ++ src/pickDeliver/pgr_pickDeliver.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/include/vrp/pgr_pickDeliver.h b/include/vrp/pgr_pickDeliver.h index ffc5bcd42c1..a705c391b27 100644 --- a/include/vrp/pgr_pickDeliver.h +++ b/include/vrp/pgr_pickDeliver.h @@ -68,7 +68,9 @@ class Pgr_pickDeliver : public PD_problem { get_postgres_result() const; +#if 0 Solution optimize(const Solution init_solution); +#endif size_t max_cycles() const {return m_max_cycles;} void add_node(const Vehicle_node &node); diff --git a/src/pickDeliver/pgr_pickDeliver.cpp b/src/pickDeliver/pgr_pickDeliver.cpp index 42d092ca8c0..3433d0f56f7 100644 --- a/src/pickDeliver/pgr_pickDeliver.cpp +++ b/src/pickDeliver/pgr_pickDeliver.cpp @@ -46,6 +46,7 @@ namespace pgrouting { namespace vrp { +#if 0 Solution Pgr_pickDeliver::optimize(const Solution solution) { pgassert(false); @@ -57,6 +58,7 @@ Pgr_pickDeliver::optimize(const Solution solution) { msg.log << opt_solution.best_solution.tau("optimized"); return opt_solution.best_solution; } +#endif void Pgr_pickDeliver::solve() { From 7049a60674ef598f63c408a58e8fdaab7eb1f27c Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 18:47:12 +0530 Subject: [PATCH 1143/1360] [pickDeliver][lint] Marking unused code on vehicle --- include/vrp/vehicle.h | 6 ++++++ src/pickDeliver/vehicle.cpp | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/include/vrp/vehicle.h b/include/vrp/vehicle.h index 37ee66c4d07..abd14376138 100644 --- a/include/vrp/vehicle.h +++ b/include/vrp/vehicle.h @@ -146,6 +146,7 @@ class Vehicle : public Identifier, public PD_problem { +#if 0 /*! @brief Evaluated: push_back a node to the path. * * ~~~~{.c} @@ -186,6 +187,7 @@ class Vehicle : public Identifier, public PD_problem { * ~~~~ */ void pop_front(); +#endif /*! @brief Erase node.id() * @@ -247,9 +249,11 @@ class Vehicle : public Identifier, public PD_problem { double total_service_time() const { return m_path.back().total_service_time(); } +#if 0 double free_time() const { return total_wait_time() + (m_path[0].closes() - duration()); } +#endif int twvTot() const { return m_path.back().twvTot(); } @@ -327,8 +331,10 @@ class Vehicle : public Identifier, public PD_problem { ///@} +#if 0 double deltaTime(const Vehicle_node &node, POS pos) const; POS insert_less_travel_time(const Vehicle_node &node, POS after_pos = 0); +#endif diff --git a/src/pickDeliver/vehicle.cpp b/src/pickDeliver/vehicle.cpp index 2a4d753c7d4..68578219e4c 100644 --- a/src/pickDeliver/vehicle.cpp +++ b/src/pickDeliver/vehicle.cpp @@ -184,6 +184,7 @@ Vehicle::insert(POS at, Vehicle_node node) { } +#if 0 double Vehicle::deltaTime(const Vehicle_node &node, POS pos) const { /* @@ -233,6 +234,7 @@ Vehicle::insert_less_travel_time(const Vehicle_node &node, POS after_pos) { invariant(); return min_pos; } +#endif void Vehicle::erase(const Vehicle_node &node) { @@ -252,6 +254,7 @@ Vehicle::erase(const Vehicle_node &node) { } +#if 0 /* * before: S E * after: S N E @@ -307,6 +310,7 @@ Vehicle::pop_front() { invariant(); } +#endif From a75ca7270fcac7325bcaf93473c04ae619f4112e Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 18:52:24 +0530 Subject: [PATCH 1144/1360] [pickDeliver][lint] Marking unused code on vehicle_node --- include/vrp/vehicle_node.h | 4 ++++ src/pickDeliver/vehicle_node.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/include/vrp/vehicle_node.h b/include/vrp/vehicle_node.h index b6b4899136f..a3b53ca8796 100644 --- a/include/vrp/vehicle_node.h +++ b/include/vrp/vehicle_node.h @@ -106,8 +106,10 @@ class Vehicle_node: public Tw_node { ///@} +#if 0 /*! \brief True when \b arrival_time + \b delta_time generates TWV.*/ bool deltaGeneratesTWV(double delta_time) const; +#endif /** @name State */ ///@ { @@ -142,6 +144,7 @@ class Vehicle_node: public Tw_node { void evaluate(const Vehicle_node &pred, double cargoLimit, double speed); ///@} +#if 0 /** @name Document*/ ///@ { @@ -151,6 +154,7 @@ class Vehicle_node: public Tw_node { double speed) const; ///@} +#endif diff --git a/src/pickDeliver/vehicle_node.cpp b/src/pickDeliver/vehicle_node.cpp index 3eebdc7f0f8..f9861ffbafe 100644 --- a/src/pickDeliver/vehicle_node.cpp +++ b/src/pickDeliver/vehicle_node.cpp @@ -136,6 +136,7 @@ Vehicle_node::Vehicle_node(const Tw_node &node) +#if 0 bool Vehicle_node::deltaGeneratesTWV(double delta_time) const { return is_late_arrival(m_arrival_time + delta_time); @@ -155,6 +156,7 @@ Vehicle_node::arrival_i_arrives_j( + other.service_time() + other.travel_time_to(*this, speed); } +#endif } // namespace vrp } // namespace pgrouting From 63c8f740bb71a55d589d7036047dd5274ca779e8 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 19 Dec 2020 19:03:16 +0530 Subject: [PATCH 1145/1360] [pickDeliver][lint] Marking unused code on vehicle_pickDeliver --- include/vrp/vehicle_pickDeliver.h | 4 ++++ src/pickDeliver/vehicle_pickDeliver.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/include/vrp/vehicle_pickDeliver.h b/include/vrp/vehicle_pickDeliver.h index db5a9d0a6d7..792acee7d7d 100644 --- a/include/vrp/vehicle_pickDeliver.h +++ b/include/vrp/vehicle_pickDeliver.h @@ -179,10 +179,12 @@ class Vehicle_pickDeliver : public Vehicle { */ void erase(const Order &order); +#if 0 /* @brief */ Order get_first_order() const; Order get_worse_order(Identifiers of_this_subset) const; +#endif void do_while_feasable( Initials_code kind, @@ -196,8 +198,10 @@ class Vehicle_pickDeliver : public Vehicle { * \returns id of the removed order */ +#if 0 size_t pop_back(); size_t pop_front(); +#endif }; } // namespace vrp diff --git a/src/pickDeliver/vehicle_pickDeliver.cpp b/src/pickDeliver/vehicle_pickDeliver.cpp index 6f61841e1b7..3edf8e6977f 100644 --- a/src/pickDeliver/vehicle_pickDeliver.cpp +++ b/src/pickDeliver/vehicle_pickDeliver.cpp @@ -43,6 +43,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. namespace pgrouting { namespace vrp { +#if 0 Order Vehicle_pickDeliver::get_worse_order( Identifiers orders) const { @@ -75,6 +76,7 @@ Vehicle_pickDeliver::get_first_order() const { pgassert(!empty()); return m_orders[m_path[1].idx()]; } +#endif Vehicle_pickDeliver::Vehicle_pickDeliver( @@ -355,6 +357,7 @@ Vehicle_pickDeliver::erase(const Order &order) { +#if 0 size_t Vehicle_pickDeliver::pop_back() { invariant(); @@ -407,6 +410,7 @@ Vehicle_pickDeliver::pop_front() { pgassert(false); return 0; } +#endif void Vehicle_pickDeliver::set_compatibles(const PD_Orders &orders) { From b6d37141606442980f51dbdaac10af98e5130c21 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 21 Dec 2020 13:19:30 -0600 Subject: [PATCH 1146/1360] [action] fail when news do not have section for the release --- .github/workflows/check-files.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-files.yml b/.github/workflows/check-files.yml index 199ca05dc77..4a563c83068 100644 --- a/.github/workflows/check-files.yml +++ b/.github/workflows/check-files.yml @@ -22,7 +22,8 @@ jobs: - name: News file up to date run: | tools/release-scripts/notes2news.pl - ! git status | grep 'NEWS' + if git status | grep 'NEWS'; then echo "NEWS is not up to date"; exit 1; fi + if ! grep -q $(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' CMakeLists.txt) NEWS; then echo "Missing section in NEWS"; exit 1; fi license_check: runs-on: ubuntu-latest From 23fbcaddb502fcd3156cbc942c5bc6bfaeac2c70 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 21 Dec 2020 13:33:09 -0600 Subject: [PATCH 1147/1360] Porting documentation changes from 3.0.5 --- CMakeLists.txt | 2 +- NEWS | 6 ++++++ doc/src/release_notes.rst | 10 ++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eba00e92c95..c6fa37f499f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,7 +48,7 @@ string(TIMESTAMP COMPILATION_DATE "%Y/%m/%d") set(MINORS 3.2 3.1 3.0 2.6) set(OLD_SIGNATURES 3.1.2 3.1.1 3.1.0 - 3.0.4 3.0.3 3.0.2 3.0.1 3.0.0 + 3.0.5 3.0.4 3.0.3 3.0.2 3.0.1 3.0.0 2.6.3 2.6.2 2.6.1 2.6.0 ) diff --git a/NEWS b/NEWS index 9114b44c92b..1321c13325e 100644 --- a/NEWS +++ b/NEWS @@ -88,6 +88,12 @@ To see all issues & pull requests closed by this release see the `Git closed mil * Minimal requirement for Sphinx: version 1.8 +pgRouting 3.0.5 Release Notes +------------------------------------------------------------------------------- + +To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.5 +`_ on Github. + pgRouting 3.0.4 Release Notes ------------------------------------------------------------------------------- diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index ab6fcd27567..c66d5384a4e 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -22,6 +22,7 @@ To see the full list of changes check the list of `Git commits `_ on Github. + + .. _changelog_3_0_4: pgRouting 3.0.4 Release Notes From e5eaf57572865859af8153c64bdf80bb5ec3fd48 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 21 Dec 2020 14:30:56 -0600 Subject: [PATCH 1148/1360] Porting documentation section from 3.1.3 --- CMakeLists.txt | 2 +- NEWS | 9 +++++++++ doc/src/release_notes.rst | 9 +++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c6fa37f499f..ef1717b197d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,7 +47,7 @@ string(TIMESTAMP COMPILATION_DATE "%Y/%m/%d") set(MINORS 3.2 3.1 3.0 2.6) set(OLD_SIGNATURES - 3.1.2 3.1.1 3.1.0 + 3.1.3 3.1.2 3.1.1 3.1.0 3.0.5 3.0.4 3.0.3 3.0.2 3.0.1 3.0.0 2.6.3 2.6.2 2.6.1 2.6.0 ) diff --git a/NEWS b/NEWS index 1321c13325e..446480377df 100644 --- a/NEWS +++ b/NEWS @@ -42,6 +42,13 @@ pgRouting 3.2.0 Release Notes * pgr_withPointsCost(Combinations) +pgRouting 3.1.3 Release Notes +------------------------------------------------------------------------------- + +To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.3 +`_ on Github. + + pgRouting 3.1.2 Release Notes ------------------------------------------------------------------------------- @@ -88,6 +95,7 @@ To see all issues & pull requests closed by this release see the `Git closed mil * Minimal requirement for Sphinx: version 1.8 + pgRouting 3.0.5 Release Notes ------------------------------------------------------------------------------- @@ -95,6 +103,7 @@ To see all issues & pull requests closed by this release see the `Git closed mil `_ on Github. + pgRouting 3.0.4 Release Notes ------------------------------------------------------------------------------- diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index c66d5384a4e..547bf5ab2c6 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -19,6 +19,7 @@ To see the full list of changes check the list of `Git commits `_ on Github. + .. _changelog_3_1_2: pgRouting 3.1.2 Release Notes From a18f4cb7e66ed5cad7c46eb6f1f7c1bb5adab5ef Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Thu, 24 Dec 2020 21:31:24 +0530 Subject: [PATCH 1149/1360] [pickDeliver] Removed unused code --- include/vrp/dnode.h | 7 -- include/vrp/fleet.h | 6 - include/vrp/optimize.h | 18 --- include/vrp/pd_orders.h | 3 - include/vrp/pgr_pickDeliver.h | 3 - include/vrp/solution.h | 10 -- include/vrp/tw_node.h | 58 ---------- include/vrp/vehicle.h | 54 --------- include/vrp/vehicle_node.h | 15 --- include/vrp/vehicle_pickDeliver.h | 15 --- src/pickDeliver/dnode.cpp | 14 --- src/pickDeliver/fleet.cpp | 25 ----- src/pickDeliver/optimize.cpp | 143 ------------------------ src/pickDeliver/pd_orders.cpp | 15 --- src/pickDeliver/pgr_pickDeliver.cpp | 13 --- src/pickDeliver/solution.cpp | 10 -- src/pickDeliver/tw_node.cpp | 84 -------------- src/pickDeliver/vehicle.cpp | 108 ------------------ src/pickDeliver/vehicle_node.cpp | 21 ---- src/pickDeliver/vehicle_pickDeliver.cpp | 94 ---------------- 20 files changed, 716 deletions(-) diff --git a/include/vrp/dnode.h b/include/vrp/dnode.h index fa0ac656cae..ad5cacf6772 100644 --- a/include/vrp/dnode.h +++ b/include/vrp/dnode.h @@ -53,18 +53,11 @@ class Dnode : public PD_problem, public Identifier { /*!@}*/ -#if 0 - bool operator==(const Dnode &other) const; -#endif double distance(const Dnode &other) const; friend std::ostream& operator << (std::ostream &log, const Dnode &node); -#if 0 - protected: - static Pgr_messages& msg() ; -#endif }; } // namespace vrp diff --git a/include/vrp/fleet.h b/include/vrp/fleet.h index e21586776d7..7209cd9756a 100644 --- a/include/vrp/fleet.h +++ b/include/vrp/fleet.h @@ -68,13 +68,7 @@ class Fleet : public PD_problem { bool is_order_ok(const Order &order) const; Vehicle_pickDeliver get_truck(); -#if 0 - void release_truck(size_t id); -#endif Vehicle_pickDeliver get_truck(size_t order); -#if 0 - Vehicle_pickDeliver get_truck(const Order order); -#endif /*! @name vector like functions * @{ diff --git a/include/vrp/optimize.h b/include/vrp/optimize.h index ead30e297e6..e8f15066bf3 100644 --- a/include/vrp/optimize.h +++ b/include/vrp/optimize.h @@ -48,23 +48,13 @@ class Optimize : public Solution { * Optimization by decreasing trucks */ void decrease_truck(); -#if 0 - void move_wait_time_based(); - void move_duration_based(); -#endif void inter_swap(size_t times); Solution best_solution; private: bool decrease_truck(size_t); -#if 0 - void sort_for_move(); -#endif void sort_by_duration(); void sort_by_size(); -#if 0 - void sort_by_id(); -#endif void delete_empty_truck(); bool swap_worse(Vehicle_pickDeliver &from, Vehicle_pickDeliver &to); @@ -75,14 +65,6 @@ class Optimize : public Solution { Order order, Vehicle_pickDeliver &from_truck, Vehicle_pickDeliver &to_truck); -#if 0 - bool swap_order(); - bool swap_order( - Order from_order, - Vehicle_pickDeliver &from_truck, - Order to_order, - Vehicle_pickDeliver &to_truck); -#endif void save_if_best(); private: diff --git a/include/vrp/pd_orders.h b/include/vrp/pd_orders.h index 18489e4089d..a53119d1d71 100644 --- a/include/vrp/pd_orders.h +++ b/include/vrp/pd_orders.h @@ -66,9 +66,6 @@ class PD_Orders : public PD_problem { size_t find_best_I(Identifiers &within_this_set) const; -#if 0 - bool is_valid(double speed) const; -#endif /*! @name std container functions * functions with same "meaning" as an std container diff --git a/include/vrp/pgr_pickDeliver.h b/include/vrp/pgr_pickDeliver.h index a705c391b27..f9d981a9abd 100644 --- a/include/vrp/pgr_pickDeliver.h +++ b/include/vrp/pgr_pickDeliver.h @@ -68,9 +68,6 @@ class Pgr_pickDeliver : public PD_problem { get_postgres_result() const; -#if 0 - Solution optimize(const Solution init_solution); -#endif size_t max_cycles() const {return m_max_cycles;} void add_node(const Vehicle_node &node); diff --git a/include/vrp/solution.h b/include/vrp/solution.h index 805950b4880..c34e3d4d5dc 100644 --- a/include/vrp/solution.h +++ b/include/vrp/solution.h @@ -62,10 +62,6 @@ class Solution : public PD_problem { Solution(); -#if 0 - /* @brief move constructor */ - Solution(Solution &&sol) = default; -#endif /* @brief copy constructor */ Solution(const Solution &sol) : @@ -83,9 +79,6 @@ class Solution : public PD_problem { return *this; }; -#if 0 - void sort_by_id(); -#endif Initials_code get_kind() const; @@ -103,9 +96,6 @@ class Solution : public PD_problem { double total_service_time() const; int twvTot() const; int cvTot() const; -#if 0 - size_t fleet_size() const {return fleet.size();} -#endif /* * Cost in terms of a tuple diff --git a/include/vrp/tw_node.h b/include/vrp/tw_node.h index ed4ab5720ca..8d7992c9f82 100644 --- a/include/vrp/tw_node.h +++ b/include/vrp/tw_node.h @@ -148,16 +148,6 @@ class Tw_node : public Dnode { bool is_dump() const; -#if 0 - /*! @brief is_Load - * - * To be a Load node: - * - type is kLoad - * - demand >= 0 - * - **/ - bool is_load() const; -#endif /*! @brief is_end @@ -194,14 +184,6 @@ class Tw_node : public Dnode { inline bool is_late_arrival(double arrival_time) const { return arrival_time > m_closes; } -#if 0 - /*! @brief True when @b arrivalTime in the time window */ - inline bool is_on_time(double arrival_time) const { - return !is_early_arrival(arrival_time) - && !is_late_arrival(arrival_time); - } - /*!@}*/ -#endif /** @name document functions */ @@ -213,14 +195,6 @@ class Tw_node : public Dnode { **/ double arrival_j_opens_i(const Tw_node &I, double speed) const; -#if 0 - /*! - * The actual arrival time at @b this node, given that: - * @b this node is visited directly after @b other node - * and that the actual arrival time at @b other node was closes(other) - **/ - double arrival_j_closes_i(const Tw_node &I, double speed) const; -#endif /* @@ -229,34 +203,6 @@ class Tw_node : public Dnode { */ bool is_compatible_IJ(const Tw_node &I, double speed) const; -#if 0 - /* - * is possible to arrive to @b this after visiting @bother - * - departing as late as possible from @b other it can arrives to @b this - */ - bool is_partially_compatible_IJ(const Tw_node &I, double speed) const; - - /* - * is possible to arrive to @b this after visiting @bother - * - departing as late as possible from @b other it can arrives to @b this - */ - bool is_tight_compatible_IJ(const Tw_node &I, double speed) const; - - /* - * is possible to arrive to @b this after visiting @b other - * - departing as late as possible from @b other it can arrives to @b this - */ - bool is_partially_waitTime_compatible_IJ( - const Tw_node &I, - double speed) const; - - /* - * is compatible to arrive to @b this after visiting @b other - * - is fully compatible - * - does not have a waiting time when arriving as earliest as possible after - */ - bool is_waitTime_compatible_IJ(const Tw_node &I, double speed) const; -#endif ///@} @@ -274,10 +220,6 @@ class Tw_node : public Dnode { Vehicle_t data, NodeType type); -#if 0 - protected: - bool is_valid() const; -#endif private: int64_t m_order; ///< order to which it belongs diff --git a/include/vrp/vehicle.h b/include/vrp/vehicle.h index abd14376138..9df4ae67524 100644 --- a/include/vrp/vehicle.h +++ b/include/vrp/vehicle.h @@ -146,48 +146,6 @@ class Vehicle : public Identifier, public PD_problem { -#if 0 - /*! @brief Evaluated: push_back a node to the path. - * - * ~~~~{.c} - * before: S E - * after: S n E - * ~~~~ - * - * @param[in] node to be push_back. - */ - void push_back(const Vehicle_node &node); - - /*! @brief Evaluated: push_back a node to the path. - * - * ~~~~{.c} - * before: S E - * after: S n E - * ~~~~ - * - * @param[in] node to be push_back. - */ - void push_front(const Vehicle_node &node); - - - /*! @brief Evaluated: pop_back a node to the path. - * - * ~~~~{.c} - * before: S n E - * after: S E - * ~~~~ - */ - void pop_back(); - - /*! @brief Evaluated: pop_front a node to the path. - * - * ~~~~{.c} - * before: S n E - * after: S E - * ~~~~ - */ - void pop_front(); -#endif /*! @brief Erase node.id() * @@ -249,11 +207,6 @@ class Vehicle : public Identifier, public PD_problem { double total_service_time() const { return m_path.back().total_service_time(); } -#if 0 - double free_time() const { - return total_wait_time() + (m_path[0].closes() - duration()); - } -#endif int twvTot() const { return m_path.back().twvTot(); } @@ -279,9 +232,6 @@ class Vehicle : public Identifier, public PD_problem { Vehicle_node end_site() const { return m_path.back(); } -#if 0 - double speed() const {return m_speed;} -#endif double capacity() const {return m_capacity;} /// @} @@ -331,10 +281,6 @@ class Vehicle : public Identifier, public PD_problem { ///@} -#if 0 - double deltaTime(const Vehicle_node &node, POS pos) const; - POS insert_less_travel_time(const Vehicle_node &node, POS after_pos = 0); -#endif diff --git a/include/vrp/vehicle_node.h b/include/vrp/vehicle_node.h index a3b53ca8796..bfaa73db8ed 100644 --- a/include/vrp/vehicle_node.h +++ b/include/vrp/vehicle_node.h @@ -106,10 +106,6 @@ class Vehicle_node: public Tw_node { ///@} -#if 0 - /*! \brief True when \b arrival_time + \b delta_time generates TWV.*/ - bool deltaGeneratesTWV(double delta_time) const; -#endif /** @name State */ ///@ { @@ -144,17 +140,6 @@ class Vehicle_node: public Tw_node { void evaluate(const Vehicle_node &pred, double cargoLimit, double speed); ///@} -#if 0 - /** @name Document*/ - ///@ { - - /*! \brief returns the arrval time at \b this visited after \b other */ - double arrival_i_arrives_j( - const Vehicle_node &other, - double speed) const; - - ///@} -#endif diff --git a/include/vrp/vehicle_pickDeliver.h b/include/vrp/vehicle_pickDeliver.h index 792acee7d7d..d7b9d01e224 100644 --- a/include/vrp/vehicle_pickDeliver.h +++ b/include/vrp/vehicle_pickDeliver.h @@ -164,11 +164,6 @@ class Vehicle_pickDeliver : public Vehicle { */ bool semiLIFO(const Order &order); -#if 0 - void insert_while_compatibleJ( - Identifiers &unassigned, - Identifiers &assigned); -#endif /* @brief erases the order from the vehicle * * Precondition: @@ -179,12 +174,6 @@ class Vehicle_pickDeliver : public Vehicle { */ void erase(const Order &order); -#if 0 - /* @brief - */ - Order get_first_order() const; - Order get_worse_order(Identifiers of_this_subset) const; -#endif void do_while_feasable( Initials_code kind, @@ -198,10 +187,6 @@ class Vehicle_pickDeliver : public Vehicle { * \returns id of the removed order */ -#if 0 - size_t pop_back(); - size_t pop_front(); -#endif }; } // namespace vrp diff --git a/src/pickDeliver/dnode.cpp b/src/pickDeliver/dnode.cpp index 02b5b90a27d..e9ea90245ac 100644 --- a/src/pickDeliver/dnode.cpp +++ b/src/pickDeliver/dnode.cpp @@ -51,20 +51,6 @@ Dnode::Dnode(size_t idx, int64_t id) : Identifier(idx, id) { } -#if 0 -bool -Dnode::operator ==(const Dnode &rhs) const { - if (&rhs == this) return true; - return - (idx() == rhs.idx()) - && (id() == rhs.id()); -} - -Pgr_messages& -Dnode::msg() { - return problem->msg; -} -#endif } // namespace vrp } // namespace pgrouting diff --git a/src/pickDeliver/fleet.cpp b/src/pickDeliver/fleet.cpp index 970187f47d5..e2af13cb19b 100644 --- a/src/pickDeliver/fleet.cpp +++ b/src/pickDeliver/fleet.cpp @@ -69,13 +69,6 @@ Fleet::get_truck() { return m_trucks[idx]; } -#if 0 -void -Fleet::release_truck(size_t id) { - m_used -= id; - m_un_used += id; -} -#endif Vehicle_pickDeliver Fleet::get_truck(size_t order) { @@ -115,24 +108,6 @@ Fleet::get_truck(size_t order) { } -#if 0 -Vehicle_pickDeliver -Fleet::get_truck(const Order order) { - auto id = m_trucks.front().idx(); - for (auto truck : m_trucks) { - if (truck.feasable_orders().has(order.idx())) { - id = truck.idx(); - msg.log << "id" << id - << "size" << m_trucks.size(); - pgassertwm(id < m_trucks.size(), msg.get_log()); - m_used += id; - if (m_un_used.size() > 1) m_un_used -= id; - break; - } - } - return m_trucks[id]; -} -#endif void diff --git a/src/pickDeliver/optimize.cpp b/src/pickDeliver/optimize.cpp index f8fb3c96e33..158b79e991b 100644 --- a/src/pickDeliver/optimize.cpp +++ b/src/pickDeliver/optimize.cpp @@ -264,133 +264,6 @@ Optimize::swap_worse(Vehicle_pickDeliver &to, Vehicle_pickDeliver &from) { } -#if 0 -bool -Optimize::swap_order() { -#if 0 - msg.log << "++++++++" << p_swaps; -#endif - while (!p_swaps.empty()) { - auto swap_data = p_swaps.top(); - p_swaps.pop(); - size_t from_pos = 0; - size_t to_pos = 0; - - for (; from_pos < fleet.size() - && fleet[from_pos].idx() != swap_data.from_truck.idx() - ; ++from_pos) { - } - pgassert(from_pos < fleet.size()); - for (; to_pos < fleet.size() - && fleet[to_pos].idx() != swap_data.to_truck.idx() - ; ++to_pos) { - } - pgassert(to_pos < fleet.size()); - - if (swap_order( - fleet[from_pos].orders()[swap_data.from_order], fleet[from_pos], - fleet[to_pos].orders()[swap_data.to_order], fleet[to_pos])) { - save_if_best(); -#if 0 - msg.log - << "\n Swapping order " - << fleet[from_pos].orders()[ - swap_data.from_order].pickup().original_id() - << " from truck " << fleet[from_pos].id() - << " with order " - << fleet[to_pos].orders()[ - swap_data.to_order].pickup().original_id() - << " of truck " << fleet[to_pos].id(); -#endif -#if 0 - msg.log << "\nswappping after:"; - msg.log << "\n" << fleet[to_pos].tau(); - msg.log << "\n" << fleet[from_pos].tau(); -#endif - return true; - } - } - return false; -} - -/* - * from_truck: position of the truck where the order is - * to truck: truck to put the order - */ -bool -Optimize::swap_order( - const Order from_order, - Vehicle_pickDeliver &from_truck, - const Order to_order, - Vehicle_pickDeliver &to_truck) { - if (!from_truck.has_order(from_order) - || !to_truck.has_order(to_order)) { - return false; - } - - pgassert(from_truck.has_order(from_order)); - pgassert(to_truck.has_order(to_order)); - - from_truck.erase(from_order); - to_truck.erase(to_order); - - /* - * insert them in the other truck - */ - if (this->get_kind() == OneDepot) { - from_truck.semiLIFO(to_order); - to_truck.semiLIFO(from_order); - } else { - from_truck.insert(to_order); - to_truck.insert(from_order); - } - - pgassert((from_truck.has_order(to_order) && from_truck.is_feasable()) || !from_truck.has_order(to_order)); - pgassert((to_truck.has_order(from_order) && to_truck.is_feasable()) || !to_truck.has_order(from_order)); - - if (!from_truck.has_order(to_order) || !to_truck.has_order(from_order)) { - /* - * swap generates a violation: restore trucks - */ - if (from_truck.has_order(to_order)) from_truck.erase(to_order); - if (to_truck.has_order(from_order)) to_truck.erase(from_order); - - pgassert(!from_truck.has_order(to_order)); - pgassert(!from_truck.has_order(from_order)); - pgassert(!to_truck.has_order(from_order)); - pgassert(!to_truck.has_order(to_order)); - - /* - * insert them again in the truck - */ - if (this->get_kind() == OneDepot) { - from_truck.semiLIFO(from_order); - to_truck.semiLIFO(to_order); - } else { - from_truck.insert(from_order); - to_truck.insert(to_order); - } - pgassert((from_truck.has_order(from_order) && from_truck.is_feasable()) || !from_truck.has_order(from_order)); - pgassert((to_truck.has_order(to_order) && to_truck.is_feasable()) || !to_truck.has_order(to_order)); - - return false; - } - - pgassert(from_truck.has_order(to_order)); - pgassert(to_truck.has_order(from_order)); - return true; -} - -void -Optimize::sort_by_id() { - std::sort(fleet.begin(), fleet.end(), [] - (const Vehicle_pickDeliver &lhs, const Vehicle_pickDeliver &rhs) - -> bool { - return lhs.orders_in_vehicle().size() - > rhs.orders_in_vehicle().size(); - }); -} -#endif void Optimize::sort_by_size() { @@ -561,22 +434,6 @@ Optimize::move_order( return false; } -#if 0 -void -Optimize::sort_for_move() { - std::sort(fleet.begin(), fleet.end(), [] - (const Vehicle_pickDeliver &lhs, const Vehicle_pickDeliver &rhs) - -> bool { - return lhs.total_wait_time() > rhs.total_wait_time(); - }); - - std::stable_sort(fleet.begin(), fleet.end(), [] - (const Vehicle_pickDeliver &lhs, const Vehicle_pickDeliver &rhs) - -> bool { - return lhs.orders_size() > rhs.orders_size(); - }); -} -#endif /* diff --git a/src/pickDeliver/pd_orders.cpp b/src/pickDeliver/pd_orders.cpp index 522dcaff12d..bf1e5ebe769 100644 --- a/src/pickDeliver/pd_orders.cpp +++ b/src/pickDeliver/pd_orders.cpp @@ -98,21 +98,6 @@ PD_Orders::build_orders( #endif } -#if 0 -bool -PD_Orders::is_valid(double speed) const { - for (const auto &o : m_orders) { - if (!o.is_valid(speed)) { - return false; - } - pgassert(o.pickup().is_pickup()); - pgassert(o.delivery().is_delivery()); - /* P -> D */ - pgassert(o.delivery().is_compatible_IJ(o.pickup(), speed)); - } - return true; -} -#endif Order& PD_Orders::operator[](size_t i) { diff --git a/src/pickDeliver/pgr_pickDeliver.cpp b/src/pickDeliver/pgr_pickDeliver.cpp index 3433d0f56f7..8a746fc49ac 100644 --- a/src/pickDeliver/pgr_pickDeliver.cpp +++ b/src/pickDeliver/pgr_pickDeliver.cpp @@ -46,19 +46,6 @@ namespace pgrouting { namespace vrp { -#if 0 -Solution -Pgr_pickDeliver::optimize(const Solution solution) { - pgassert(false); - /* - * Optimize a solution - */ - msg.log << "max_cycles: " << m_max_cycles << "\n"; - Optimize opt_solution(solution, m_max_cycles); - msg.log << opt_solution.best_solution.tau("optimized"); - return opt_solution.best_solution; -} -#endif void Pgr_pickDeliver::solve() { diff --git a/src/pickDeliver/solution.cpp b/src/pickDeliver/solution.cpp index ae714262e60..cef6782a00a 100644 --- a/src/pickDeliver/solution.cpp +++ b/src/pickDeliver/solution.cpp @@ -161,16 +161,6 @@ Solution::tau(const std::string &title) const { return log.str(); } -#if 0 -void -Solution::sort_by_id() { - std::sort(fleet.begin(), fleet.end(), [] - (const Vehicle_pickDeliver &lhs, const Vehicle_pickDeliver &rhs) - -> bool { - return lhs.idx() < rhs.idx(); - }); -} -#endif std::ostream& operator << (std::ostream &log, const Solution &solution) { diff --git a/src/pickDeliver/tw_node.cpp b/src/pickDeliver/tw_node.cpp index c41e8ea3a30..6ebd74ea883 100644 --- a/src/pickDeliver/tw_node.cpp +++ b/src/pickDeliver/tw_node.cpp @@ -52,13 +52,6 @@ Tw_node::arrival_j_opens_i(const Tw_node &I, double speed) const { return I.opens() + I.service_time() + I.travel_time_to(*this, speed); } -#if 0 -double -Tw_node::arrival_j_closes_i(const Tw_node &I, double speed) const { - if (m_type == kStart) return (std::numeric_limits::max)(); - return I.closes() + I.service_time() + I.travel_time_to(*this, speed); -} -#endif @@ -77,39 +70,6 @@ Tw_node::is_compatible_IJ(const Tw_node &I, double speed) const { return !is_late_arrival(arrival_j_opens_i(I, speed)); } -#if 0 -bool -Tw_node::is_partially_compatible_IJ(const Tw_node &I, double speed) const { - return - is_compatible_IJ(I, speed) - && !is_early_arrival(arrival_j_opens_i(I, speed)) - && is_late_arrival(arrival_j_closes_i(I, speed)); -} - -bool -Tw_node::is_tight_compatible_IJ(const Tw_node &I, double speed) const { - return - is_compatible_IJ(I, speed) - && !is_early_arrival(arrival_j_opens_i(I, speed)) - && !is_late_arrival(arrival_j_closes_i(I, speed)); -} - -bool -Tw_node::is_partially_waitTime_compatible_IJ( - const Tw_node &I, - double speed) const { - return - is_compatible_IJ(I, speed) - && is_early_arrival(arrival_j_opens_i(I, speed)); -} - -bool -Tw_node::is_waitTime_compatible_IJ(const Tw_node &I, double speed) const { - return - is_compatible_IJ(I, speed) - && is_early_arrival(arrival_j_opens_i(I, speed)); -} -#endif std::string Tw_node::type_str() const { @@ -160,15 +120,6 @@ Tw_node::is_dump() const { } -#if 0 -bool -Tw_node::is_load() const { - return m_type == kLoad - && (opens() < closes()) - && (service_time() >= 0) - && (demand() >= 0); -} -#endif bool @@ -195,41 +146,6 @@ Tw_node::operator ==(const Tw_node &other) const { -#if 0 -bool Tw_node::is_valid() const { - switch (type()) { - case kStart: - return is_start(); - break; - - case kEnd: - return is_end(); - break; - - case kDump: - return is_dump(); - break; - - case kDelivery: - return is_delivery(); - break; - - case kPickup: - return is_pickup(); - break; - - case kLoad: - return is_load(); - break; - - default: - return false; - break; - } - - return false; -} -#endif Tw_node::Tw_node( diff --git a/src/pickDeliver/vehicle.cpp b/src/pickDeliver/vehicle.cpp index 68578219e4c..5c794b4ed0b 100644 --- a/src/pickDeliver/vehicle.cpp +++ b/src/pickDeliver/vehicle.cpp @@ -184,57 +184,6 @@ Vehicle::insert(POS at, Vehicle_node node) { } -#if 0 -double -Vehicle::deltaTime(const Vehicle_node &node, POS pos) const { - /* - * .... POS POS+1 .... - * .... POS node POS+1 .... - * - */ - auto prev = m_path[pos-1]; - auto next = m_path[pos]; - auto original_time = next.travel_time(); - auto tt_p_n = prev.travel_time_to(node, speed()); - tt_p_n = node.is_early_arrival(prev.departure_time() + tt_p_n) ? - node.closes() - prev.departure_time() - : tt_p_n; - - auto tt_n_x = node.travel_time_to(next, speed()); - tt_p_n = next.is_early_arrival( - prev.departure_time() + tt_p_n + node.service_time() + tt_n_x) ? - next.closes() - (prev.departure_time() + tt_p_n + node.service_time()) - : tt_n_x; - - return (tt_p_n + tt_n_x) - original_time; -} - - - - -size_t -Vehicle::insert_less_travel_time(const Vehicle_node &node, POS after_pos) { - invariant(); - - double min_delta = (std::numeric_limits::max)(); - POS min_pos = after_pos; - - for (POS pos = after_pos; pos < m_path.size(); ++pos) { - if (!m_path[pos].is_start()) { - auto tt = deltaTime(node, pos); - - if (tt < min_delta) { - min_delta = tt; - min_pos = pos; - } - } - } - insert(min_pos, node); - - invariant(); - return min_pos; -} -#endif void Vehicle::erase(const Vehicle_node &node) { @@ -254,63 +203,6 @@ Vehicle::erase(const Vehicle_node &node) { } -#if 0 -/* - * before: S E - * after: S N E - * - * before: S n1 n2 ... n E - * after: S N n1 n2 ... n E - */ -void -Vehicle::push_front(const Vehicle_node &node) { - invariant(); - - /* insert evaluates */ - insert(1, node); - - invariant(); -} - -/* - * before: S E - * after: S N E - * - * before: S n1 n2 ... n E - * after: S n1 n2 ... n N E - */ -void -Vehicle::push_back(const Vehicle_node &node) { - invariant(); - - /* insert evaluates */ - insert(m_path.size() - 1, node); - - invariant(); -} - -void -Vehicle::pop_back() { - invariant(); - pgassert(m_path.size() > 2); - - /* erase evaluates */ - erase(m_path.size() - 2); - - invariant(); -} - -void -Vehicle::pop_front() { - invariant(); - pgassert(m_path.size() > 2); - - /* erase evaluates */ - erase(1); - - invariant(); -} -#endif diff --git a/src/pickDeliver/vehicle_node.cpp b/src/pickDeliver/vehicle_node.cpp index f9861ffbafe..44a7daae77f 100644 --- a/src/pickDeliver/vehicle_node.cpp +++ b/src/pickDeliver/vehicle_node.cpp @@ -136,27 +136,6 @@ Vehicle_node::Vehicle_node(const Tw_node &node) -#if 0 -bool -Vehicle_node::deltaGeneratesTWV(double delta_time) const { - return is_late_arrival(m_arrival_time + delta_time); -} - - -/*! - The actual arrival time at \b This node, given that: - \b this node is visited directly after \b other node - and that the actual arrival time at \b other node was arrival(other) - */ -double -Vehicle_node::arrival_i_arrives_j( - const Vehicle_node &other, - double speed) const { - return other.arrival_time() - + other.service_time() - + other.travel_time_to(*this, speed); -} -#endif } // namespace vrp } // namespace pgrouting diff --git a/src/pickDeliver/vehicle_pickDeliver.cpp b/src/pickDeliver/vehicle_pickDeliver.cpp index 3edf8e6977f..1d3d0fdebb5 100644 --- a/src/pickDeliver/vehicle_pickDeliver.cpp +++ b/src/pickDeliver/vehicle_pickDeliver.cpp @@ -43,40 +43,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. namespace pgrouting { namespace vrp { -#if 0 -Order -Vehicle_pickDeliver::get_worse_order( - Identifiers orders) const { - invariant(); - pgassert(!empty()); - - // auto orders(of_this_subset); - auto worse_order(m_orders[*orders.begin()]); - auto delta_duration((std::numeric_limits::max)()); - auto curr_duration(duration()); - while (!orders.empty()) { - auto truck(*this); - auto order = m_orders[*orders.begin()]; - pgassert(truck.has_order(order)); - orders -= order.idx(); - truck.erase(order); - auto delta = truck.duration() - curr_duration; - if (delta < delta_duration) { - worse_order = order; - delta_duration = delta; - } - } - return worse_order; -} - - -Order -Vehicle_pickDeliver::get_first_order() const { - invariant(); - pgassert(!empty()); - return m_orders[m_path[1].idx()]; -} -#endif Vehicle_pickDeliver::Vehicle_pickDeliver( @@ -238,9 +204,6 @@ Vehicle_pickDeliver::push_back(const Order &order) { evaluate(m_path.size() - 3); pgassert(has_order(order)); -#if 0 - pgassert(!has_cv()); -#endif invariant(); } @@ -256,9 +219,6 @@ Vehicle_pickDeliver::push_front(const Order &order) { evaluate(1); pgassert(has_order(order)); -#if 0 - pgassert(!has_cv()); -#endif invariant(); } @@ -357,60 +317,6 @@ Vehicle_pickDeliver::erase(const Order &order) { -#if 0 -size_t -Vehicle_pickDeliver::pop_back() { - invariant(); - pgassert(!empty()); - - auto pick_itr = m_path.rbegin(); - while (pick_itr != m_path.rend() && !pick_itr->is_pickup()) { - ++pick_itr; - } - - pgassert(pick_itr->is_pickup()); - - auto deleted_pick_idx = pick_itr->idx(); - - for (const auto &o : m_orders) { - if (o.pickup().idx() == deleted_pick_idx) { - erase(o); - invariant(); - return o.idx(); - } - } - pgassert(false); - return 0; -} - - - -size_t -Vehicle_pickDeliver::pop_front() { - invariant(); - pgassert(!empty()); - - auto pick_itr = m_path.begin(); - while (pick_itr != m_path.end() && !pick_itr->is_pickup()) { - ++pick_itr; - } - - pgassert(pick_itr->is_pickup()); - - auto deleted_pick_idx = pick_itr->idx(); - - for (const auto &o : m_orders) { - if (o.pickup().idx() == deleted_pick_idx) { - erase(o); - invariant(); - return o.idx(); - } - } - - pgassert(false); - return 0; -} -#endif void Vehicle_pickDeliver::set_compatibles(const PD_Orders &orders) { From 7f2a97a3c6fc2b09ecda68460ff98773a0c8fde0 Mon Sep 17 00:00:00 2001 From: Aruneko Date: Fri, 1 Jan 2021 10:02:55 +0900 Subject: [PATCH 1150/1360] Support macOS on CI (#1840) Adding Action for MacOS support * add build script for macos * use parallel build * fix typo in package name * fix package names in matrix * try force option * use temporary tap * use plain boost * install postgis and start postgres before testing * fix start command * fix start command * remove matrix * fix os name * create postgres user * create db for test * install pgTAP * fix directory name * install pg_prove * add PATH * load perl version dynamically --- .github/workflows/macos.yml | 91 ++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 52 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 75667d2b1eb..63479a7e2f9 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -1,64 +1,51 @@ -name: Build for MacOS +name: Build for macOS on: push: branches-ignore: - - '**' + - 'translations_*' + tags: [] + pull_request: + paths-ignore: + - '**.po' jobs: build: name: Build - runs-on: ${{ matrix.os }} - - strategy: - matrix: - psql: [10] - os: [macos-latest] + runs-on: macos-latest steps: - # - name: Add PostgreSQL APT repository - # run: | - # sudo apt-get install curl ca-certificates gnupg - # curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - - # sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \ - # $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' - - # - name: Install dependencies - # run: | - # sudo apt-get update - # sudo apt-get install -y \ - # libboost-graph-dev \ - # libtap-parser-sourcehandler-pgtap-perl \ - # postgresql-${{ matrix.psql }} \ - # postgresql-${{ matrix.psql }}-pgtap \ - # postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }} \ - # postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }}-scripts \ - # postgresql-server-dev-${{ matrix.psql }} \ - # python-sphinx - - name: Checkout repository uses: actions/checkout@v2 - - # - name: Prepare - # run: | - # sphinx-build --version - # sudo -u postgres psql -p 5432 -c "CREATE EXTENSION postgis" - # export PATH=/usr/lib/postgresql/${{ matrix.psql }}/bin:$PATH - # sudo -u postgres createdb ___pgr___test___ - # sudo -u postgres createdb pgr_test__db__test - - # - name: Configure - # run: | - # mkdir build - # cd build - # cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=OFF .. - - # - name: Build - # run: | - # cd build - # make - # sudo make install - - # - name: Test - # run: | - # sudo -u postgres bash ./tools/testers/pg_prove_tests.sh postgres 5432 Release + + - name: install deps + run: | + brew install postgresql postgis boost + + - name: Configure + run: | + mkdir build + cd build + cmake -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=OFF .. + + - name: Build + run: | + cd build + make -j + sudo make install + + - name: Install pgTAP + run: | + git clone https://github.com/theory/pgtap.git pgTapExtension + cd pgTapExtension + make -j + sudo make install + cpan TAP::Parser::SourceHandler::pgTAP + + - name: Test + run: | + export PATH=/usr/local/Cellar/perl/$(perl -e 'print substr($^V, 1)')/bin:$PATH + pg_ctl -D /usr/local/var/postgres start + createuser -s postgres + createdb ___pgr___test___ + bash ./tools/testers/pg_prove_tests.sh postgres 5432 Release From c4269cc3b9dee7bff52516e01ec6bccf6c706e6f Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Mon, 14 Dec 2020 19:27:40 +0000 Subject: [PATCH 1151/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/bdAstar-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/bdAstar-family.po | 140 +++++++++++++++--------- 1 file changed, 87 insertions(+), 53 deletions(-) diff --git a/locale/es/LC_MESSAGES/bdAstar-family.po b/locale/es/LC_MESSAGES/bdAstar-family.po index d7ea8d088d6..e11c1af0031 100644 --- a/locale/es/LC_MESSAGES/bdAstar-family.po +++ b/locale/es/LC_MESSAGES/bdAstar-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -72,7 +72,8 @@ msgstr "" "**Versiones no soportadas:** `2.5 `__" -#: ../../build/doc/bdAstar-family.rst:39 ../../build/doc/bdAstar-family.rst:78 +#: ../../build/doc/bdAstar-family.rst:39 ../../build/doc/bdAstar-family.rst:88 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Description" msgstr "Descripción" @@ -146,6 +147,10 @@ msgstr "Se espera que termine más rápido que pgr_astar" msgid "Signatures" msgstr "Firmas" +#: ../../build/doc/bdAstar-family.rst:69 +msgid "Edges query" +msgstr "Consulta de aristas" + #: ../../build/doc/pgRouting-concepts.rst msgid "edges_sql" msgstr "edges_sql" @@ -157,15 +162,18 @@ msgstr "" "Una consulta SQL, que debe regresar un conjunto de filas con las siguientes " "columnas:" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "Columna" -#: ../../build/doc/bdAstar-family.rst:78 +#: ../../build/doc/bdAstar-family.rst:88 +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Type" msgstr "Tipo" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Default" msgstr "Valores predeterminados" @@ -174,7 +182,9 @@ msgstr "Valores predeterminados" msgid "**id**" msgstr "**id**" -#: ../../build/doc/bdAstar-family.rst:81 ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/bdAstar-family.rst:92 ../../build/doc/bdAstar-family.rst:94 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:10 @@ -185,25 +195,29 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:11 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:15 @@ -278,6 +292,7 @@ msgstr "**y2**" msgid "Y coordinate of `target` vertex." msgstr "Coordenada Y del vértice `target`." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" msgstr "Donde:" @@ -286,6 +301,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:27 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -298,130 +314,142 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/bdAstar-family.rst:75 +#: ../../build/doc/bdAstar-family.rst:76 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/bdAstar-family.rst:85 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/bdAstar-family.rst:78 +#: ../../build/doc/bdAstar-family.rst:88 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/bdAstar-family.rst:80 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/bdAstar-family.rst:90 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/bdAstar-family.rst:80 +#: ../../build/doc/bdAstar-family.rst:90 ../../build/doc/bdAstar-family.rst:91 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/bdAstar-family.rst:80 -msgid "Edges SQL query as described above." -msgstr "Consulta de aristas SQL como se describió anteriormente." +#: ../../build/doc/bdAstar-family.rst:90 +msgid "Edges query as described above." +msgstr "Consulta de bordes como se describió anteriormente." + +#: ../../build/doc/bdAstar-family.rst:91 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/bdAstar-family.rst:91 +msgid "Combinations query as described above." +msgstr "Consulta de combinaciones como se describió anteriormente." -#: ../../build/doc/bdAstar-family.rst:81 +#: ../../build/doc/bdAstar-family.rst:92 msgid "**start_vid**" msgstr "**start_vid**" -#: ../../build/doc/bdAstar-family.rst:81 +#: ../../build/doc/bdAstar-family.rst:92 msgid "Starting vertex identifier." msgstr "Comenzando identificador de vértice." -#: ../../build/doc/bdAstar-family.rst:82 +#: ../../build/doc/bdAstar-family.rst:93 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/bdAstar-family.rst:82 ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:93 ../../build/doc/bdAstar-family.rst:95 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/bdAstar-family.rst:82 +#: ../../build/doc/bdAstar-family.rst:93 msgid "Starting vertices identifierers." msgstr "Comenzando identificadores de vértices." -#: ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/bdAstar-family.rst:94 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/bdAstar-family.rst:83 +#: ../../build/doc/bdAstar-family.rst:94 msgid "Ending vertex identifier." msgstr "Terminando identificador de vértice." -#: ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:95 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/bdAstar-family.rst:84 +#: ../../build/doc/bdAstar-family.rst:95 msgid "Ending vertices identifiers." msgstr "Terminando identificadores de vértices." -#: ../../build/doc/bdAstar-family.rst:85 +#: ../../build/doc/bdAstar-family.rst:96 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/bdAstar-family.rst:85 +#: ../../build/doc/bdAstar-family.rst:96 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/bdAstar-family.rst:85 +#: ../../build/doc/bdAstar-family.rst:96 msgid "Optional." msgstr "Opcional." -#: ../../build/doc/bdAstar-family.rst:87 +#: ../../build/doc/bdAstar-family.rst:98 msgid "When ``false`` the graph is considered as Undirected." msgstr "Cuando ``false`` el gráfico se considera como No Dirigido" -#: ../../build/doc/bdAstar-family.rst:88 +#: ../../build/doc/bdAstar-family.rst:99 msgid "Default is ``true`` which considers the graph as Directed." msgstr "El valor predeterminado `` true`` considera el gráfico como Dirigido." -#: ../../build/doc/bdAstar-family.rst:90 +#: ../../build/doc/bdAstar-family.rst:101 msgid "**heuristic**" -msgstr "**heurística**" +msgstr "**heuristic**" -#: ../../build/doc/bdAstar-family.rst:90 +#: ../../build/doc/bdAstar-family.rst:101 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/bdAstar-family.rst:90 +#: ../../build/doc/bdAstar-family.rst:101 msgid "(optional). Heuristic number. Current valid values 0~5. Default ``5``" msgstr "" "(opcional). Número heurístico. Valores válidos actuales 0~5. Predeterminado " "``5``" -#: ../../build/doc/bdAstar-family.rst:92 +#: ../../build/doc/bdAstar-family.rst:103 msgid "0: h(v) = 0 (Use this value to compare with pgr_dijkstra)" msgstr "0: h(v) = 0 (utilizar este valor para comparar con pgr_dijkstra)" -#: ../../build/doc/bdAstar-family.rst:93 +#: ../../build/doc/bdAstar-family.rst:104 msgid "1: h(v) abs(max(dx, dy))" msgstr "1: h(v) abs(max(dx, dy))" -#: ../../build/doc/bdAstar-family.rst:94 +#: ../../build/doc/bdAstar-family.rst:105 msgid "2: h(v) abs(min(dx, dy))" msgstr "2: h(v) abs(min(dx, dy))" -#: ../../build/doc/bdAstar-family.rst:95 +#: ../../build/doc/bdAstar-family.rst:106 msgid "3: h(v) = dx * dx + dy * dy" msgstr "3: h(v) = dx * dx + dy * dy" -#: ../../build/doc/bdAstar-family.rst:96 +#: ../../build/doc/bdAstar-family.rst:107 msgid "4: h(v) = sqrt(dx * dx + dy * dy)" msgstr "4: h(v) = sqrt(dx * dx + dy * dy)" -#: ../../build/doc/bdAstar-family.rst:97 +#: ../../build/doc/bdAstar-family.rst:108 msgid "5: h(v) = abs(dx) + abs(dy)" msgstr "5: h(v) = abs(dx) + abs(dy)" -#: ../../build/doc/bdAstar-family.rst:99 +#: ../../build/doc/bdAstar-family.rst:110 msgid "**factor**" msgstr "**factor**" -#: ../../build/doc/bdAstar-family.rst:99 -#: ../../build/doc/bdAstar-family.rst:100 +#: ../../build/doc/bdAstar-family.rst:110 +#: ../../build/doc/bdAstar-family.rst:111 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/bdAstar-family.rst:99 +#: ../../build/doc/bdAstar-family.rst:110 msgid "" "(optional). For units manipulation. :math:`factor > 0`. Default ``1``. see " ":ref:`astar_factor`" @@ -429,11 +457,11 @@ msgstr "" "(opcional). Para la manipulación de unidades. :math:`factor > 0`. Predeterminado ``1``. \n" "Ver :ref:`astar_factor`" -#: ../../build/doc/bdAstar-family.rst:100 +#: ../../build/doc/bdAstar-family.rst:111 msgid "**epsilon**" msgstr "**epsilon**" -#: ../../build/doc/bdAstar-family.rst:100 +#: ../../build/doc/bdAstar-family.rst:111 msgid "" "(optional). For less restricted results. :math:`epsilon >= 1`. Default " "``1``." @@ -441,18 +469,24 @@ msgstr "" "(opcional). Para resultados menos restringidos. :math:`epsilon >= 1`. " "Predeterminado '' 1''." -#: ../../build/doc/bdAstar-family.rst:106 +#: ../../build/doc/bdAstar-family.rst:117 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/bdAstar-family.rst:109 +#: ../../build/doc/bdAstar-family.rst:120 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/bdAstar-family.rst:110 +#: ../../build/doc/bdAstar-family.rst:121 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/bdAstar-family.rst:111 +#: ../../build/doc/bdAstar-family.rst:122 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "**edges_sql**" +#~ msgstr "**edges_sql**" + +#~ msgid "Edges SQL query as described above." +#~ msgstr "Consulta de aristas SQL como se describió anteriormente." From b13429d726c2074b4d699c3941935b34ed0bf5ef Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 24 Nov 2020 20:04:14 +0000 Subject: [PATCH 1152/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/coloring-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/coloring-family.po | 348 +++++++++++++++++++++++ 1 file changed, 348 insertions(+) create mode 100644 locale/es/LC_MESSAGES/coloring-family.po diff --git a/locale/es/LC_MESSAGES/coloring-family.po b/locale/es/LC_MESSAGES/coloring-family.po new file mode 100644 index 00000000000..3b7dc29b705 --- /dev/null +++ b/locale/es/LC_MESSAGES/coloring-family.po @@ -0,0 +1,348 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +# Translators: +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: 2020-11-04 19:19+0000\n" +"Last-Translator: MarPetra , 2020\n" +"Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../build/doc/coloring-family.rst:11 +msgid "Coloring - Family of functions (Experimental)" +msgstr "Colorear - Familia de funciones (Experimental)" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "Funciones experimentales" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "No son oficialmente de la versión actual." + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "El nombre puede cambiar." + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "La firma (declaración de funciones) podría cambiar." + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "La funcionalidad puede cambiar." + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "Las pruebas de pgTap pueden estar ausentes." + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "Posiblemente necesite codificación c/c++." + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "Puede haber carencia de documentación." + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" +"Ejemplos de documentación que puede ser necesario generar automáticamente." + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "Puede depender de una función propuesta de pgRouting." + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "Podría depender de una función obsoleta de pgRouting" + +#: ../../build/doc/coloring-family.rst:19 +msgid "" +":doc:`pgr_sequentialVertexColoring` - Vertex coloring algorithm using greedy" +" approach." +msgstr "" +":doc:`pgr_sequentialVertexColoring`- Algoritmo de coloración de vértices " +"mediante un enfoque codicioso." + +#: ../../build/doc/coloring-family.rst:20 +msgid "" +":doc:`pgr_bipartite` - Bipartite graph algorithm using a DFS-based coloring " +"approach." +msgstr "" +":doc:`pgr_bipartite` - Algoritmo de grafo bipartito mediante un enfoque de " +"coloración basado en DFS." + +#: ../../build/doc/coloring-family.rst:32 +msgid "Versions of this page" +msgstr "Versiones de esta página" + +#: ../../build/doc/coloring-family.rst:33 +msgid "" +"**Supported versions:** current(`3.2 `__)" +msgstr "" +"**Versiones soportadas:** actual(`3.2 `__)" + +#: ../../build/doc/coloring-family.rst:38 +msgid "Parameters" +msgstr "Parámetros" + +#: ../../build/doc/coloring-family.rst:43 +msgid "Parameter" +msgstr "Parámetro" + +#: ../../build/doc/coloring-family.rst:43 +#: ../../build/doc/coloring-family.rst:69 +#: ../../build/doc/traversal-family.rst:4 +msgid "Type" +msgstr "Tipo" + +#: ../../build/doc/coloring-family.rst:43 +#: ../../build/doc/coloring-family.rst:69 +#: ../../build/doc/traversal-family.rst:4 +msgid "Description" +msgstr "Descripción" + +#: ../../build/doc/coloring-family.rst:45 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" + +#: ../../build/doc/coloring-family.rst:45 +msgid "``TEXT``" +msgstr "``TEXT``" + +#: ../../build/doc/coloring-family.rst:45 +msgid "Inner query as described below." +msgstr "Consulta interna como se describe a continuación." + +#: ../../build/doc/coloring-family.rst:51 +msgid "Inner query" +msgstr "Consulta interna" + +#: ../../build/doc/coloring-family.rst +msgid "Edges SQL" +msgstr "Edges SQL" + +#: ../../build/doc/coloring-family.rst:53 +msgid "" +"an SQL query of an **undirected** graph, which should return a set of rows " +"with the following columns:" +msgstr "" +"Una consulta SQL de un grafo **no dirigido**, que debería devolver un " +"conjunto de filas con las siguientes columnas:" + +#: ../../build/doc/coloring-family.rst:69 +#: ../../build/doc/traversal-family.rst:4 +msgid "Column" +msgstr "Columna" + +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "Valores predeterminados" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "**id**" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "``ANY-INTEGER``" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "Identificador de la arista." + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "**origen**" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "Identificador del primer punto final en el vértice de la arista." + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "**objetivo**" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "Identificador del segundo punto final en el vértice de la arista." + +#: ../../build/doc/traversal-family.rst:9 +msgid "**cost**" +msgstr "**cost**" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "``ANY-NUMERICAL``" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "Cuando es positivo: el borde `(origen, destino)` existe en el grafo." + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" +"Cuando es negativo: el borde `(origen, desitno)` no existe en el grafo." + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "**reverse_cost**" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "-1" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "Cuando es positivo: el borde `(origen, destino)` existe en el grafo." + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" +"Cuando es negativo: el borde `(destino, origen)` no existe en el grafo." + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "Donde:" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-INTEGER" +msgstr "ANY-INTEGER" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "SMALLINT, INTEGER, BIGINT" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-NUMERICAL" +msgstr "ANY-NUMERICAL" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" + +#: ../../build/doc/coloring-family.rst:62 +msgid "Result Columns" +msgstr "Columnas de Resultados" + +#: ../../build/doc/coloring-family.rst:66 +msgid "Returns SET OF ``(vertex_id, color_id)``" +msgstr "Devuelve SET OF ``(vertex_id, color_id)``" + +#: ../../build/doc/coloring-family.rst:71 +msgid "**vertex_id**" +msgstr "**vertex_id**" + +#: ../../build/doc/coloring-family.rst:71 +#: ../../build/doc/coloring-family.rst:72 +msgid "``BIGINT``" +msgstr "``BIGINT``" + +#: ../../build/doc/coloring-family.rst:71 +msgid "Identifier of the vertex." +msgstr "Identificador del vértice." + +#: ../../build/doc/coloring-family.rst:72 +msgid "**color_id**" +msgstr "**color_id**" + +#: ../../build/doc/coloring-family.rst:72 +msgid "Identifier of the color of the vertex." +msgstr "Identificador del color del vértice." + +#: ../../build/doc/coloring-family.rst:74 +msgid "The minimum value of color is 1." +msgstr "El valor mínimo de color es 1." + +#: ../../build/doc/coloring-family.rst:82 +msgid "See Also" +msgstr "Ver también" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:3 +msgid "" +"`Boost: Sequential Vertex Coloring algorithm documentation " +"`__" +msgstr "" +"`Boost: Sequential Vertex Coloring algorithm documentation " +"`__" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:4 +msgid "" +"`Wikipedia: Graph coloring `__" +msgstr "" +"'Wikipedia: Coloración de grafos " +"`__" + +#: ../../build/doc/pgr_bipartite.rst:3 +msgid "" +"`Boost: is_bipartite algorithm documentation " +"`__" +msgstr "" +"`Boost: Documentación del algoritmo is_bipartite " +"`__" + +#: ../../build/doc/pgr_bipartite.rst:4 +msgid "" +"`Wikipedia: bipartite graph " +"`__" +msgstr "" +"`Wikipedia: grafo bipartito " +"`__" + +#: ../../build/doc/coloring-family.rst:96 +msgid "Indices and tables" +msgstr "Índices y tablas" + +#: ../../build/doc/coloring-family.rst:97 +msgid ":ref:`genindex`" +msgstr ":ref:`genindex`" + +#: ../../build/doc/coloring-family.rst:98 +msgid ":ref:`search`" +msgstr ":ref:`search`" From 8b62fb020f80354173b3ed382e10bf36d2b52cd5 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Mon, 23 Nov 2020 19:24:36 +0000 Subject: [PATCH 1153/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/components-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/components-family.po | 167 +++++++++++++++++---- 1 file changed, 137 insertions(+), 30 deletions(-) diff --git a/locale/es/LC_MESSAGES/components-family.po b/locale/es/LC_MESSAGES/components-family.po index f7d5e3bfb33..3ea477fb351 100644 --- a/locale/es/LC_MESSAGES/components-family.po +++ b/locale/es/LC_MESSAGES/components-family.po @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -63,11 +63,89 @@ msgstr "" msgid ":doc:`pgr_bridges` - Bridges of an undirected graph." msgstr ":doc:`pgr_bridges` - Puentes de un grafo no dirigido." -#: ../../build/doc/components-family.rst:35 +#: ../../build/doc/components-family.rst:25 +msgid "Experimental" +msgstr "Experimental" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "Funciones experimentales" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "No son oficialmente de la versión actual." + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "El nombre puede cambiar." + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "La firma (declaración de funciones) podría cambiar." + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "La funcionalidad puede cambiar." + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "Las pruebas de pgTap pueden estar ausentes." + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "Posiblemente necesite codificación c/c++." + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "Puede haber carencia de documentación." + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" +"Ejemplos de documentación que puede ser necesario generar automáticamente." + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "Puede depender de una función propuesta de pgRouting." + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "Podría depender de una función obsoleta de pgRouting" + +#: ../../build/doc/components-family.rst:32 +msgid ":doc:`pgr_makeConnected` - Details of edges to make graph connected." +msgstr "" +":doc:`pgr_makeConnected` - Detalles de aristas para hacer grafos conectados." + +#: ../../build/doc/components-family.rst:48 msgid "Previous versions of this page" msgstr "Versiones anteriores de esta página" -#: ../../build/doc/components-family.rst:36 +#: ../../build/doc/components-family.rst:49 msgid "" "**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/components-family.rst:41 +#: ../../build/doc/components-family.rst:54 msgid "" "**Unsupported versions:** `2.5 `__" @@ -87,50 +165,52 @@ msgstr "" "**Versiones no soportadas:** `2.5 `__" -#: ../../build/doc/components-family.rst:46 +#: ../../build/doc/components-family.rst:59 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_articulationPoints.rst:6 #: ../../build/doc/pgr_biconnectedComponents.rst:6 #: ../../build/doc/pgr_bridges.rst:6 #: ../../build/doc/pgr_connectedComponents.rst:6 +#: ../../build/doc/pgr_makeConnected.rst:6 msgid "Type" msgstr "Tipo" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/components-family.rst:51 +#: ../../build/doc/components-family.rst:64 #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgr_articulationPoints.rst:6 #: ../../build/doc/pgr_biconnectedComponents.rst:6 #: ../../build/doc/pgr_bridges.rst:6 #: ../../build/doc/pgr_connectedComponents.rst:6 +#: ../../build/doc/pgr_makeConnected.rst:6 msgid "Description" msgstr "Descripción" -#: ../../build/doc/components-family.rst:53 +#: ../../build/doc/components-family.rst:66 msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/components-family.rst:53 +#: ../../build/doc/components-family.rst:66 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/components-family.rst:53 +#: ../../build/doc/components-family.rst:66 msgid "Inner query as described below." msgstr "Consulta interna como se describe a continuación." -#: ../../build/doc/components-family.rst:59 +#: ../../build/doc/components-family.rst:72 msgid "Inner query" msgstr "Consulta interna" @@ -138,7 +218,7 @@ msgstr "Consulta interna" msgid "Edges SQL" msgstr "Edges SQL" -#: ../../build/doc/components-family.rst:61 +#: ../../build/doc/components-family.rst:74 msgid "" "an SQL query which should return a set of rows with the following columns:" msgstr "" @@ -150,6 +230,7 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:6 #: ../../build/doc/pgr_bridges.rst:6 #: ../../build/doc/pgr_connectedComponents.rst:6 +#: ../../build/doc/pgr_makeConnected.rst:6 msgid "Column" msgstr "Columna" @@ -173,6 +254,7 @@ msgid "**source**" msgstr "**origen**" #: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgr_makeConnected.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." @@ -181,12 +263,13 @@ msgid "**target**" msgstr "**objetivo**" #: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgr_makeConnected.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -245,11 +328,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/components-family.rst:68 +#: ../../build/doc/components-family.rst:81 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/components-family.rst:71 +#: ../../build/doc/components-family.rst:84 msgid "pgr_connectedComponents & pgr_strongComponents" msgstr "pgr_connectedComponents & pgr_strongComponents" @@ -259,6 +342,7 @@ msgstr "Devuelve el conjunto de``(seq, component, node)``" #: ../../build/doc/pgr_biconnectedComponents.rst:8 #: ../../build/doc/pgr_connectedComponents.rst:8 +#: ../../build/doc/pgr_makeConnected.rst:8 msgid "**seq**" msgstr "**seq**" @@ -270,11 +354,14 @@ msgstr "**seq**" #: ../../build/doc/pgr_connectedComponents.rst:8 #: ../../build/doc/pgr_connectedComponents.rst:9 #: ../../build/doc/pgr_connectedComponents.rst:10 +#: ../../build/doc/pgr_makeConnected.rst:9 +#: ../../build/doc/pgr_makeConnected.rst:10 msgid "``BIGINT``" msgstr "``BIGINT``" #: ../../build/doc/pgr_biconnectedComponents.rst:8 #: ../../build/doc/pgr_connectedComponents.rst:8 +#: ../../build/doc/pgr_makeConnected.rst:8 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." @@ -294,13 +381,13 @@ msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:8 #: ../../build/doc/pgr_connectedComponents.rst:10 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_connectedComponents.rst:10 msgid "Identifier of the vertex that belongs to **component**." msgstr "Identificador del vértice que pertenece a **componente**." -#: ../../build/doc/components-family.rst:79 +#: ../../build/doc/components-family.rst:92 msgid "pgr_biconnectedComponents" msgstr "pgr_biconnectedComponents" @@ -319,9 +406,9 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:10 #: ../../build/doc/pgr_bridges.rst:8 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" -#: ../../build/doc/components-family.rst:86 +#: ../../build/doc/components-family.rst:99 msgid "pgr_articulationPoints" msgstr "pgr_articulationPoints" @@ -333,7 +420,7 @@ msgstr "Devuelve el conjunto de ``(node)``" msgid "Identifier of the vertex." msgstr "Identificador del vértice." -#: ../../build/doc/components-family.rst:93 +#: ../../build/doc/components-family.rst:106 msgid "pgr_bridges" msgstr "pgr_bridges" @@ -345,18 +432,38 @@ msgstr "Devuelve el conjunto de ``(edge)``" msgid "Identifier of the edge that is a bridge." msgstr "Identificador del borde que es un puente." -#: ../../build/doc/components-family.rst:101 +#: ../../build/doc/components-family.rst:113 +msgid "pgr_makeConnected - Experimental" +msgstr "pgr_makeConnected - Experimental" + +#: ../../build/doc/pgr_makeConnected.rst:3 +msgid "Returns set of ``(seq, start_vid, end_vid)``" +msgstr "Devuelve el conjunto de ``(seq, start_vid, end_vid)``" + +#: ../../build/doc/pgr_makeConnected.rst:8 +msgid "``INT``" +msgstr "``INT``" + +#: ../../build/doc/pgr_makeConnected.rst:9 +msgid "**start_vid**" +msgstr "**start_vid**" + +#: ../../build/doc/pgr_makeConnected.rst:10 +msgid "**end_vid**" +msgstr "**end_vid**" + +#: ../../build/doc/components-family.rst:121 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/components-family.rst:104 +#: ../../build/doc/components-family.rst:124 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/components-family.rst:105 +#: ../../build/doc/components-family.rst:125 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/components-family.rst:106 +#: ../../build/doc/components-family.rst:126 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" From 6f48fe7f7b0ab6443506eacb140632ffab8b1971 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Sat, 21 Nov 2020 18:46:10 +0000 Subject: [PATCH 1154/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/dijkstra-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/dijkstra-family.po | 129 +++++++++++++---------- 1 file changed, 72 insertions(+), 57 deletions(-) diff --git a/locale/es/LC_MESSAGES/dijkstra-family.po b/locale/es/LC_MESSAGES/dijkstra-family.po index d3205554bd1..2c9a93f156c 100644 --- a/locale/es/LC_MESSAGES/dijkstra-family.po +++ b/locale/es/LC_MESSAGES/dijkstra-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -63,8 +63,8 @@ msgstr "" "rutas más cortas K." #: ../../build/doc/dijkstra-family.rst:24 -msgid "proposed" -msgstr "propuesta" +msgid "Proposed" +msgstr "Propuesto" #: ../../build/doc/proposed.rst:3 msgid "Proposed functions for next mayor release." @@ -108,11 +108,23 @@ msgstr "" ":doc:`pgr_dijkstraVia` - Obtenga una ruta a partir de una secuencia de " "vértices." -#: ../../build/doc/dijkstra-family.rst:47 +#: ../../build/doc/dijkstra-family.rst:37 +msgid "Experimental" +msgstr "Experimental" + +#: ../../build/doc/dijkstra-family.rst:44 +msgid ":doc:`pgr_dijkstraNear` - Get the route to the nearest vertex." +msgstr ":doc:`pgr_dijkstraNear` - Obtener la ruta al vértice más cercano." + +#: ../../build/doc/dijkstra-family.rst:45 +msgid ":doc:`pgr_dijkstraNearCost` - Get the cost to the nearest vertex." +msgstr ":doc:`pgr_dijkstraNearCost` - Get the cost to the nearest vertex." + +#: ../../build/doc/dijkstra-family.rst:62 msgid "Previous versions of this page" msgstr "Versiones anteriores de esta página" -#: ../../build/doc/dijkstra-family.rst:48 +#: ../../build/doc/dijkstra-family.rst:63 msgid "" "**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" -#: ../../build/doc/dijkstra-family.rst:53 +#: ../../build/doc/dijkstra-family.rst:68 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__ `2.2 " "`__" -#: ../../build/doc/dijkstra-family.rst:61 +#: ../../build/doc/dijkstra-family.rst:76 msgid "The problem definition (Advanced documentation)" msgstr "La definición de problema (Documentación avanzada)" -#: ../../build/doc/dijkstra-family.rst:64 +#: ../../build/doc/dijkstra-family.rst:79 msgid "Given the following query:" msgstr "Dada la siguiente consulta:" -#: ../../build/doc/dijkstra-family.rst:67 +#: ../../build/doc/dijkstra-family.rst:82 msgid "pgr_dijkstra(:math:`sql, start_{vid}, end_{vid}, directed`)" msgstr "pgr_dijkstra(:math:`sql, start_{vid}, end_{vid}, directed`)" -#: ../../build/doc/dijkstra-family.rst:69 +#: ../../build/doc/dijkstra-family.rst:84 msgid "" "where :math:`sql = \\{(id_i, source_i, target_i, cost_i, " "reverse\\_cost_i)\\}`" @@ -158,45 +170,45 @@ msgstr "" "Donde :math:`sql = \\{(id_i, source_i, target_i, cost_i, " "reverse\\_cost_i)\\}`" -#: ../../build/doc/dijkstra-family.rst:71 +#: ../../build/doc/dijkstra-family.rst:86 msgid "and" msgstr "y" -#: ../../build/doc/dijkstra-family.rst:73 +#: ../../build/doc/dijkstra-family.rst:88 msgid ":math:`source = \\bigcup source_i`," msgstr ":math:`source = \\bigcup source_i`," -#: ../../build/doc/dijkstra-family.rst:74 +#: ../../build/doc/dijkstra-family.rst:89 msgid ":math:`target = \\bigcup target_i`," msgstr ":math:`target = \\bigcup target_i`," -#: ../../build/doc/dijkstra-family.rst:76 +#: ../../build/doc/dijkstra-family.rst:91 msgid "The graphs are defined as follows:" msgstr "Los gráficos se definen como sigue:" -#: ../../build/doc/dijkstra-family.rst:79 +#: ../../build/doc/dijkstra-family.rst:94 msgid "Directed graph" msgstr "Grafo dirigido" -#: ../../build/doc/dijkstra-family.rst:80 +#: ../../build/doc/dijkstra-family.rst:95 msgid "The weighted directed graph, :math:`G_d(V,E)`, is definied by:" msgstr "El gráfico dirigido ponderado, :math:`G_d(V,E)`, se define por:" -#: ../../build/doc/dijkstra-family.rst:82 -#: ../../build/doc/dijkstra-family.rst:101 +#: ../../build/doc/dijkstra-family.rst:97 +#: ../../build/doc/dijkstra-family.rst:116 msgid "the set of vertices :math:`V`" msgstr "Conjunto de vértices :math:`V`" -#: ../../build/doc/dijkstra-family.rst:84 +#: ../../build/doc/dijkstra-family.rst:99 msgid ":math:`V = source \\cup target \\cup {start_{vid}} \\cup {end_{vid}}`" msgstr ":math:`V = source \\cup target \\cup {start_{vid}} \\cup {end_{vid}}`" -#: ../../build/doc/dijkstra-family.rst:86 -#: ../../build/doc/dijkstra-family.rst:106 +#: ../../build/doc/dijkstra-family.rst:101 +#: ../../build/doc/dijkstra-family.rst:121 msgid "the set of edges :math:`E`" msgstr "El conjunto de aristas :math:`E`" -#: ../../build/doc/dijkstra-family.rst:88 +#: ../../build/doc/dijkstra-family.rst:103 msgid "" ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, cost_i) \\text{" " when } cost >=0 \\} & \\quad \\text{if } reverse\\_cost = \\varnothing \\\\" @@ -214,19 +226,19 @@ msgstr "" "reverse\\_cost_i>=0 \\} & \\quad \\text{if } reverse\\_cost \\neq " "\\varnothing \\\\ \\end{cases}`" -#: ../../build/doc/dijkstra-family.rst:98 +#: ../../build/doc/dijkstra-family.rst:113 msgid "Undirected graph" msgstr "Grafo no dirigido" -#: ../../build/doc/dijkstra-family.rst:99 +#: ../../build/doc/dijkstra-family.rst:114 msgid "The weighted undirected graph, :math:`G_u(V,E)`, is definied by:" msgstr "El grafo ponderado no dirigido :math:`G_u(V,E)`, es definido por:" -#: ../../build/doc/dijkstra-family.rst:103 +#: ../../build/doc/dijkstra-family.rst:118 msgid ":math:`V = source \\cup target \\cup {start_v{vid}} \\cup {end_{vid}}`" msgstr ":math:`V = source \\cup target \\cup {start_v{vid}} \\cup {end_{vid}}`" -#: ../../build/doc/dijkstra-family.rst:108 +#: ../../build/doc/dijkstra-family.rst:123 msgid "" ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, cost_i) \\text{" " when } cost >=0 \\} & \\quad \\text{ } \\\\ \\cup \\{(target_i, " @@ -252,23 +264,23 @@ msgstr "" ">=0)\\} & \\quad \\text{ if } reverse\\_cost \\neq \\varnothing \\\\ " "\\end{cases}`" -#: ../../build/doc/dijkstra-family.rst:121 +#: ../../build/doc/dijkstra-family.rst:136 msgid "The problem" msgstr "El problema" -#: ../../build/doc/dijkstra-family.rst:122 +#: ../../build/doc/dijkstra-family.rst:137 msgid "Given:" msgstr "Dado:" -#: ../../build/doc/dijkstra-family.rst:124 +#: ../../build/doc/dijkstra-family.rst:139 msgid ":math:`start_{vid} \\in V` a starting vertex" msgstr ":math:`start_{vid} \\in V` a starting vertex" -#: ../../build/doc/dijkstra-family.rst:125 +#: ../../build/doc/dijkstra-family.rst:140 msgid ":math:`end_{vid} \\in V` an ending vertex" msgstr ":math:`end_{vid} \\in V` un vértice final" -#: ../../build/doc/dijkstra-family.rst:126 +#: ../../build/doc/dijkstra-family.rst:141 msgid "" ":math:`G(V,E) = \\begin{cases} G_d(V,E) & \\quad \\text{ if6 } directed = " "true \\\\ G_u(V,E) & \\quad \\text{ if5 } directed = false \\\\ " @@ -278,11 +290,11 @@ msgstr "" "true \\\\ G_u(V,E) & \\quad \\text{ if5 } directed = false \\\\ " "\\end{cases}`" -#: ../../build/doc/dijkstra-family.rst:131 +#: ../../build/doc/dijkstra-family.rst:146 msgid "Then:" msgstr "Entonces:" -#: ../../build/doc/dijkstra-family.rst:140 +#: ../../build/doc/dijkstra-family.rst:155 msgid "" ":math:`\\boldsymbol{\\pi} = \\{(path\\_seq_i, node_i, edge_i, cost_i, " "agg\\_cost_i)\\}`" @@ -290,35 +302,35 @@ msgstr "" ":math:`\\boldsymbol{\\pi} = \\{(path\\_seq_i, node_i, edge_i, cost_i, " "agg\\_cost_i)\\}`" -#: ../../build/doc/dijkstra-family.rst:153 +#: ../../build/doc/dijkstra-family.rst:168 msgid "where:" msgstr "Donde:" -#: ../../build/doc/dijkstra-family.rst:143 +#: ../../build/doc/dijkstra-family.rst:158 msgid ":math:`path\\_seq_i = i`" msgstr ":math:`path\\_seq_i = i`" -#: ../../build/doc/dijkstra-family.rst:144 +#: ../../build/doc/dijkstra-family.rst:159 msgid ":math:`path\\_seq_{| \\pi |} = | \\pi |`" msgstr ":math:`path\\_seq_{| \\pi |} = | \\pi |`" -#: ../../build/doc/dijkstra-family.rst:145 +#: ../../build/doc/dijkstra-family.rst:160 msgid ":math:`node_i \\in V`" msgstr ":math:`node_i \\in V`" -#: ../../build/doc/dijkstra-family.rst:146 +#: ../../build/doc/dijkstra-family.rst:161 msgid ":math:`node_1 = start_{vid}`" msgstr ":math:`node_1 = start_{vid}`" -#: ../../build/doc/dijkstra-family.rst:147 +#: ../../build/doc/dijkstra-family.rst:162 msgid ":math:`node_{| \\pi |} = end_{vid}`" msgstr ":math:`node_{| \\pi |} = end_{vid}`" -#: ../../build/doc/dijkstra-family.rst:148 +#: ../../build/doc/dijkstra-family.rst:163 msgid ":math:`\\forall i \\neq | \\pi |, \\quad (node_i, node_{i+1}, cost_i) \\in E`" msgstr ":math:`\\forall i \\neq | \\pi |, \\quad (node_i, node_{i+1}, cost_i) \\in E`" -#: ../../build/doc/dijkstra-family.rst:149 +#: ../../build/doc/dijkstra-family.rst:164 msgid "" ":math:`edge_i = \\begin{cases} id_{(node_i, node_{i+1},cost_i)} &\\quad " "\\text{when } i \\neq | \\pi | \\\\ -1 &\\quad \\text{when } i = | \\pi | " @@ -328,11 +340,11 @@ msgstr "" "\\text{when } i \\neq | \\pi | \\\\ -1 &\\quad \\text{when } i = | \\pi | " "\\\\ \\end{cases}`" -#: ../../build/doc/dijkstra-family.rst:150 +#: ../../build/doc/dijkstra-family.rst:165 msgid ":math:`cost_i = cost_{(node_i, node_{i+1})}`" msgstr ":math:`cost_i = cost_{(node_i, node_{i+1})}`" -#: ../../build/doc/dijkstra-family.rst:151 +#: ../../build/doc/dijkstra-family.rst:166 msgid "" ":math:`agg\\_cost_i = \\begin{cases} 0 &\\quad \\text{when } i = 1 " "\\\\ \\displaystyle\\sum_{k=1}^{i} cost_{(node_{k-1}, node_k)} &\\quad " @@ -342,7 +354,7 @@ msgstr "" "\\\\ \\displaystyle\\sum_{k=1}^{i} cost_{(node_{k-1}, node_k)} &\\quad " "\\text{when } i \\neq 1 \\\\ \\end{cases}`" -#: ../../build/doc/dijkstra-family.rst:159 +#: ../../build/doc/dijkstra-family.rst:174 msgid "" "In other words: The algorithm returns a the shortest path between " ":math:`start_{vid}` and :math:`end_{vid}` , if it exists, in terms of a " @@ -352,7 +364,7 @@ msgstr "" ":math:`start_{vid}` y :math:`end_{vid}`, si es que existe, en términos de " "una secuencia de nodos y de aristas," -#: ../../build/doc/dijkstra-family.rst:156 +#: ../../build/doc/dijkstra-family.rst:171 msgid "" ":math:`path\\_seq` indicates the relative position in the path of the " ":math:`node` or :math:`edge`." @@ -360,35 +372,38 @@ msgstr "" ":math:`path\\_seq` indica la posición relativa en el camino de :math:`node`" " o :math:`edge`." -#: ../../build/doc/dijkstra-family.rst:157 +#: ../../build/doc/dijkstra-family.rst:172 msgid "" ":math:`cost` is the cost of the edge to be used to go to the next node." msgstr "" ":math:`cost` es el coste del borde que se utilizará para ir al siguiente " "nodo." -#: ../../build/doc/dijkstra-family.rst:158 +#: ../../build/doc/dijkstra-family.rst:173 msgid "" ":math:`agg\\_cost` is the cost from the :math:`start_{vid}` up to the node." msgstr "" ":math:`agg\\_cost` es el costo desde el :math:`start_{vid}` hasta el nodo." -#: ../../build/doc/dijkstra-family.rst:161 +#: ../../build/doc/dijkstra-family.rst:176 msgid "If there is no path, the resulting set is empty." msgstr "Si no hay ruta, el conjunto resultante estará vacío." -#: ../../build/doc/dijkstra-family.rst:165 +#: ../../build/doc/dijkstra-family.rst:180 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/dijkstra-family.rst:168 +#: ../../build/doc/dijkstra-family.rst:183 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/dijkstra-family.rst:169 +#: ../../build/doc/dijkstra-family.rst:184 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/dijkstra-family.rst:170 +#: ../../build/doc/dijkstra-family.rst:185 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "proposed" +#~ msgstr "propuesta" From 1b29284281af009bf43ca01c9cfc03063c51a226 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Sat, 21 Nov 2020 18:46:35 +0000 Subject: [PATCH 1155/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/experimental.po' on the 'es' language. --- locale/es/LC_MESSAGES/experimental.po | 104 ++++++++++++++++++++------ 1 file changed, 82 insertions(+), 22 deletions(-) diff --git a/locale/es/LC_MESSAGES/experimental.po b/locale/es/LC_MESSAGES/experimental.po index 83ffce5787f..3353e70bd78 100644 --- a/locale/es/LC_MESSAGES/experimental.po +++ b/locale/es/LC_MESSAGES/experimental.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -127,6 +127,26 @@ msgid ":doc:`pgr_chinesePostmanCost`" msgstr ":doc:`pgr_chinesePostmanCost`" #: ../../build/doc/experimental.rst:52 +msgid ":doc:`coloring-family`" +msgstr ":doc:`coloring-family`" + +#: ../../build/doc/coloring-family.rst:3 +msgid "" +":doc:`pgr_sequentialVertexColoring` - Vertex coloring algorithm using greedy" +" approach." +msgstr "" +":doc:`pgr_sequentialVertexColoring`- Algoritmo de coloración de vértices " +"mediante un enfoque codicioso." + +#: ../../build/doc/coloring-family.rst:4 +msgid "" +":doc:`pgr_bipartite` - Bipartite graph algorithm using a DFS-based coloring " +"approach." +msgstr "" +":doc:`pgr_bipartite` - Algoritmo de grafo bipartito mediante un enfoque de " +"coloración basado en DFS." + +#: ../../build/doc/experimental.rst:58 msgid ":doc:`topology-functions`" msgstr ":doc:`topology-functions`" @@ -138,7 +158,7 @@ msgstr "" ":doc:`pgr_extractVertices` - extrae información de vértices basada en el " "origen y el destino." -#: ../../build/doc/experimental.rst:58 +#: ../../build/doc/experimental.rst:64 msgid ":doc:`transformation-family`" msgstr ":doc:`transformation-family`" @@ -158,10 +178,42 @@ msgstr "" "grafo de líneas a partir de cada vértice en el grafo de entrada." #: ../../build/doc/experimental.rst:70 +msgid ":doc:`traversal-family`" +msgstr ":doc:`traversal-family`" + +#: ../../build/doc/traversal-family.rst:3 +msgid "" +":doc:`pgr_depthFirstSearch` - Depth first search traversal of the graph." +msgstr "" +":doc:`pgr_depthFirstSearch` - Primera Búsqueda en Profundidad traversal del " +"grafo." + +#: ../../build/doc/experimental.rst:76 +msgid ":doc:`components-family`" +msgstr ":doc:`components-family`" + +#: ../../build/doc/components-family.rst:3 +msgid ":doc:`pgr_makeConnected` - Details of edges to make graph connected." +msgstr "" +":doc:`pgr_makeConnected` - Detalles de aristas para hacer grafos conectados." + +#: ../../build/doc/experimental.rst:82 +msgid ":doc:`dijkstra-family`" +msgstr ":doc:`dijkstra-family`" + +#: ../../build/doc/dijkstra-family.rst:3 +msgid ":doc:`pgr_dijkstraNear` - Get the route to the nearest vertex." +msgstr ":doc:`pgr_dijkstraNear` - Obtener la ruta al vértice más cercano." + +#: ../../build/doc/dijkstra-family.rst:4 +msgid ":doc:`pgr_dijkstraNearCost` - Get the cost to the nearest vertex." +msgstr ":doc:`pgr_dijkstraNearCost` - Get the cost to the nearest vertex." + +#: ../../build/doc/experimental.rst:98 msgid "categories" msgstr "Categorías" -#: ../../build/doc/experimental.rst:71 +#: ../../build/doc/experimental.rst:99 msgid ":doc:`VRP-category`" msgstr ":doc:`VRP-category`" @@ -190,58 +242,66 @@ msgid ":doc:`pgr_vrpOneDepot` - From a single depot, distributes orders" msgstr "" ":doc:`pgr_vrpOneDepot` - Desde un único depósito, distribuye los pedidos" -#: ../../build/doc/experimental.rst:83 +#: ../../build/doc/experimental.rst:111 msgid "Not classified" msgstr "No clasificado" -#: ../../build/doc/experimental.rst:84 +#: ../../build/doc/experimental.rst:112 msgid ":doc:`pgr_bellmanFord`" msgstr ":doc:`pgr_bellmanFord`" -#: ../../build/doc/experimental.rst:85 +#: ../../build/doc/experimental.rst:113 msgid ":doc:`pgr_binaryBreadthFirstSearch`" msgstr ":doc:`pgr_binaryBreadthFirstSearch`" -#: ../../build/doc/experimental.rst:86 +#: ../../build/doc/experimental.rst:114 msgid ":doc:`pgr_breadthFirstSearch`" msgstr ":doc:`pgr_breadthFirstSearch`" -#: ../../build/doc/experimental.rst:87 +#: ../../build/doc/experimental.rst:115 msgid ":doc:`pgr_dagShortestPath`" msgstr ":doc:`pgr_dagShortestPath`" -#: ../../build/doc/experimental.rst:88 +#: ../../build/doc/experimental.rst:116 msgid ":doc:`pgr_edwardMoore`" msgstr ":doc:`pgr_edwardMoore`" -#: ../../build/doc/experimental.rst:89 +#: ../../build/doc/experimental.rst:117 +msgid ":doc:`pgr_isPlanar`" +msgstr ":doc:`pgr_isPlanar`" + +#: ../../build/doc/experimental.rst:118 msgid ":doc:`pgr_stoerWagner`" msgstr ":doc:`pgr_stoerWagner`" -#: ../../build/doc/experimental.rst:90 +#: ../../build/doc/experimental.rst:119 msgid ":doc:`pgr_topologicalSort`" msgstr ":doc:`pgr_topologicalSort`" -#: ../../build/doc/experimental.rst:91 +#: ../../build/doc/experimental.rst:120 msgid ":doc:`pgr_transitiveClosure`" msgstr ":doc:`pgr_transitiveClosure`" -#: ../../build/doc/experimental.rst:92 +#: ../../build/doc/experimental.rst:121 msgid ":doc:`pgr_turnRestrictedPath`" msgstr ":doc:`pgr_turnRestrictedPath`" -#: ../../build/doc/experimental.rst:109 +#: ../../build/doc/experimental.rst:122 +msgid ":doc:`pgr_lengauerTarjanDominatorTree`" +msgstr ":doc:`pgr_lengauerTarjanDominatorTree`" + +#: ../../build/doc/experimental.rst:141 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/experimental.rst:112 +#: ../../build/doc/experimental.rst:144 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/experimental.rst:113 +#: ../../build/doc/experimental.rst:145 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/experimental.rst:114 +#: ../../build/doc/experimental.rst:146 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" From 6c95ebefb2ba70fcbc9b1a2b88f0c6c1b124e149 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 21:37:06 +0000 Subject: [PATCH 1156/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/flow-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/flow-family.po | 355 ++++++++++++++++----------- 1 file changed, 206 insertions(+), 149 deletions(-) diff --git a/locale/es/LC_MESSAGES/flow-family.po b/locale/es/LC_MESSAGES/flow-family.po index 90e64bc2942..fb9573797d4 100644 --- a/locale/es/LC_MESSAGES/flow-family.po +++ b/locale/es/LC_MESSAGES/flow-family.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -168,15 +168,17 @@ msgstr "Versiones anteriores de esta página" #: ../../build/doc/flow-family.rst:54 msgid "" -"**Supported versions:** current(`3.1 `__) `3.0 `__ `2.6 `__" +"**Supported versions:** current(`3.2 `__) `3.1 `__ `3.0 `__" +" `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.1 `__) `3.0 `__ `2.6 `__" +"**Versiones soportadas:** actual(`3.2 `__) `3.1 `__ `3.0 `__" +" `2.6 `__" -#: ../../build/doc/flow-family.rst:59 +#: ../../build/doc/flow-family.rst:60 msgid "" "**Unsupported versions:** `2.5 `__ `2.4 `__" @@ -186,23 +188,23 @@ msgstr "" "family.html>`__ `2.4 `__" " `2.3 `__" -#: ../../build/doc/flow-family.rst:66 +#: ../../build/doc/flow-family.rst:67 msgid "Flow Functions General Information" msgstr "Información General de las Funciones de Flujo" -#: ../../build/doc/flow-family.rst:70 +#: ../../build/doc/flow-family.rst:71 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/flow-family.rst:72 +#: ../../build/doc/flow-family.rst:73 msgid "The graph is **directed**." msgstr "El grafo es **dirigido**." -#: ../../build/doc/flow-family.rst:73 +#: ../../build/doc/flow-family.rst:74 msgid "Process is done only on edges with positive capacities." msgstr "El proceso se realiza sólo en aristas con capacidades positivas." -#: ../../build/doc/flow-family.rst:74 +#: ../../build/doc/flow-family.rst:75 msgid "" "When the maximum flow is 0 then there is no flow and **EMPTY SET** is " "returned." @@ -210,26 +212,26 @@ msgstr "" "Cuando el flujo máximo es 0 entonces no hay flujo, se devolverá: **EMPTY " "SET**." -#: ../../build/doc/flow-family.rst:76 +#: ../../build/doc/flow-family.rst:77 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" "No hay ningún flujo cuando el **orígen** es el mismo que el **destino**." -#: ../../build/doc/flow-family.rst:78 +#: ../../build/doc/flow-family.rst:79 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" "Cualquier valor duplicado en el/los orígen(es) o en el/los destino(s) será " "ignorado." -#: ../../build/doc/flow-family.rst:79 +#: ../../build/doc/flow-family.rst:80 msgid "Calculates the flow/residual capacity for each edge. In the output" msgstr "Calcula la capacidad de flujo/residuo para cada arista. En la salida" -#: ../../build/doc/flow-family.rst:81 +#: ../../build/doc/flow-family.rst:82 msgid "Edges with zero flow are omitted." msgstr "Se omiten las aristas con flujo cero." -#: ../../build/doc/flow-family.rst:83 +#: ../../build/doc/flow-family.rst:84 msgid "" "Creates a **super source** and edges to all the source(s), and a **super " "target** and the edges from all the targets(s)." @@ -237,7 +239,7 @@ msgstr "" "Crea una **súper origen**, con aristas para todos los orígenes, y un **súper" " destino** con aristas para todos los destinos." -#: ../../build/doc/flow-family.rst:84 +#: ../../build/doc/flow-family.rst:85 msgid "" "The maximum flow through the graph is guaranteed to be the value returned by" " :doc:`pgr_maxFlow ` when executed with the same parameters and" @@ -247,15 +249,15 @@ msgstr "" " :doc:`pgr_maxFlow ` cuando es ejecutado con los mismos " "parámetros y se puede calcular:" -#: ../../build/doc/flow-family.rst:86 +#: ../../build/doc/flow-family.rst:87 msgid "By aggregation of the outgoing flow from the sources" msgstr "Mediante la agregación del flujo saliente de los orígenes" -#: ../../build/doc/flow-family.rst:87 +#: ../../build/doc/flow-family.rst:88 msgid "By aggregation of the incoming flow to the targets" msgstr "Mediante la agregación del flujo entrante a los destinos" -#: ../../build/doc/flow-family.rst:92 +#: ../../build/doc/flow-family.rst:93 msgid "" ":doc:`pgr_maxFlow ` is the maximum Flow and that maximum is " "guaranteed to be the same on the functions :doc:`pgr_pushRelabel " @@ -269,97 +271,111 @@ msgstr "" ":doc:`pgr_boykovKolmogorov `, pero el flujo real a " "través de cada arista puede variar." -#: ../../build/doc/flow-family.rst:95 +#: ../../build/doc/flow-family.rst:96 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 ../../build/doc/flow-family.rst:179 -#: ../../build/doc/flow-family.rst:196 +#: ../../build/doc/flow-family.rst:101 ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:212 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "Columna" -#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 ../../build/doc/flow-family.rst:179 -#: ../../build/doc/flow-family.rst:196 +#: ../../build/doc/flow-family.rst:101 ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:212 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Type" msgstr "Tipo" -#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 +#: ../../build/doc/flow-family.rst:101 ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/flow-family.rst:100 ../../build/doc/flow-family.rst:121 -#: ../../build/doc/flow-family.rst:149 ../../build/doc/flow-family.rst:179 -#: ../../build/doc/flow-family.rst:196 +#: ../../build/doc/flow-family.rst:101 ../../build/doc/flow-family.rst:123 +#: ../../build/doc/flow-family.rst:151 ../../build/doc/flow-family.rst:195 +#: ../../build/doc/flow-family.rst:212 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Description" msgstr "Descripción" -#: ../../build/doc/flow-family.rst:102 +#: ../../build/doc/flow-family.rst:103 msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/flow-family.rst:102 +#: ../../build/doc/flow-family.rst:103 ../../build/doc/flow-family.rst:104 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/flow-family.rst:102 -msgid "The edges SQL query as described in `Inner Query`_." -msgstr "La consulta SQL de aristas como se describe en `Inner Query`_." +#: ../../build/doc/flow-family.rst:103 +msgid "Edges query as described in `Inner Queries`_." +msgstr "Consulta de bordes como se describe en `Consultas internas`_." + +#: ../../build/doc/flow-family.rst:104 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/flow-family.rst:104 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." -#: ../../build/doc/flow-family.rst:103 ../../build/doc/flow-family.rst:124 -#: ../../build/doc/flow-family.rst:152 ../../build/doc/flow-family.rst:200 +#: ../../build/doc/flow-family.rst:105 ../../build/doc/flow-family.rst:126 +#: ../../build/doc/flow-family.rst:154 ../../build/doc/flow-family.rst:216 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "**origen**" -#: ../../build/doc/flow-family.rst:103 ../../build/doc/flow-family.rst:105 -#: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:183 -#: ../../build/doc/flow-family.rst:184 ../../build/doc/flow-family.rst:185 -#: ../../build/doc/flow-family.rst:186 ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:105 ../../build/doc/flow-family.rst:107 +#: ../../build/doc/flow-family.rst:198 ../../build/doc/flow-family.rst:199 #: ../../build/doc/flow-family.rst:200 ../../build/doc/flow-family.rst:201 -#: ../../build/doc/flow-family.rst:202 ../../build/doc/flow-family.rst:203 +#: ../../build/doc/flow-family.rst:202 ../../build/doc/flow-family.rst:215 +#: ../../build/doc/flow-family.rst:216 ../../build/doc/flow-family.rst:217 +#: ../../build/doc/flow-family.rst:218 ../../build/doc/flow-family.rst:219 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/flow-family.rst:103 +#: ../../build/doc/flow-family.rst:105 msgid "Identifier of the starting vertex of the flow." msgstr "Identificador del vértice inicial del flujo." -#: ../../build/doc/flow-family.rst:104 +#: ../../build/doc/flow-family.rst:106 msgid "**sources**" msgstr "**orígenes**" -#: ../../build/doc/flow-family.rst:104 ../../build/doc/flow-family.rst:106 +#: ../../build/doc/flow-family.rst:106 ../../build/doc/flow-family.rst:108 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/flow-family.rst:104 +#: ../../build/doc/flow-family.rst:106 msgid "Array of identifiers of the starting vertices of the flow." msgstr "Conjunto de identificadores de los vértices iniciales del flujo." -#: ../../build/doc/flow-family.rst:105 ../../build/doc/flow-family.rst:125 -#: ../../build/doc/flow-family.rst:153 ../../build/doc/flow-family.rst:201 +#: ../../build/doc/flow-family.rst:107 ../../build/doc/flow-family.rst:127 +#: ../../build/doc/flow-family.rst:155 ../../build/doc/flow-family.rst:217 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/flow-family.rst:105 +#: ../../build/doc/flow-family.rst:107 msgid "Identifier of the ending vertex of the flow." msgstr "Identificador del vértice final del flujo." -#: ../../build/doc/flow-family.rst:106 +#: ../../build/doc/flow-family.rst:108 msgid "**targets**" msgstr "**destinos**" -#: ../../build/doc/flow-family.rst:106 +#: ../../build/doc/flow-family.rst:108 msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/flow-family.rst:112 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/flow-family.rst:114 +msgid "Inner queries" +msgstr "Consultas internas" -#: ../../build/doc/flow-family.rst:115 ../../build/doc/flow-family.rst:175 +#: ../../build/doc/flow-family.rst:117 ../../build/doc/flow-family.rst:191 msgid "" "For :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp " "`, :doc:`pgr_boykovKolmogorov ` :" @@ -371,7 +387,7 @@ msgstr "" msgid "Edges SQL" msgstr "Edges SQL" -#: ../../build/doc/flow-family.rst:118 ../../build/doc/flow-family.rst:146 +#: ../../build/doc/flow-family.rst:120 ../../build/doc/flow-family.rst:148 msgid "" "an SQL query of a directed graph of capacities, which should return a set of" " rows with the following columns:" @@ -379,41 +395,45 @@ msgstr "" "Consulta SQL de un grafo dirigido de capacidades, que debe devolver un " "conjunto de filas con las siguientes columnas:" -#: ../../build/doc/flow-family.rst:123 ../../build/doc/flow-family.rst:151 +#: ../../build/doc/flow-family.rst:125 ../../build/doc/flow-family.rst:153 msgid "**id**" msgstr "**id**" -#: ../../build/doc/flow-family.rst:123 ../../build/doc/flow-family.rst:124 #: ../../build/doc/flow-family.rst:125 ../../build/doc/flow-family.rst:126 -#: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:151 -#: ../../build/doc/flow-family.rst:152 ../../build/doc/flow-family.rst:153 -#: ../../build/doc/flow-family.rst:154 ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:127 ../../build/doc/flow-family.rst:128 +#: ../../build/doc/flow-family.rst:132 ../../build/doc/flow-family.rst:153 +#: ../../build/doc/flow-family.rst:154 ../../build/doc/flow-family.rst:155 +#: ../../build/doc/flow-family.rst:156 ../../build/doc/flow-family.rst:159 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/flow-family.rst:123 ../../build/doc/flow-family.rst:151 +#: ../../build/doc/flow-family.rst:125 ../../build/doc/flow-family.rst:153 msgid "Identifier of the edge." msgstr "Identificador de la arista." -#: ../../build/doc/flow-family.rst:124 ../../build/doc/flow-family.rst:152 -#: ../../build/doc/flow-family.rst:183 ../../build/doc/flow-family.rst:200 +#: ../../build/doc/flow-family.rst:126 ../../build/doc/flow-family.rst:154 +#: ../../build/doc/flow-family.rst:199 ../../build/doc/flow-family.rst:216 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." -#: ../../build/doc/flow-family.rst:125 ../../build/doc/flow-family.rst:153 -#: ../../build/doc/flow-family.rst:184 ../../build/doc/flow-family.rst:201 +#: ../../build/doc/flow-family.rst:127 ../../build/doc/flow-family.rst:155 +#: ../../build/doc/flow-family.rst:200 ../../build/doc/flow-family.rst:217 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." -#: ../../build/doc/flow-family.rst:126 ../../build/doc/flow-family.rst:154 +#: ../../build/doc/flow-family.rst:128 ../../build/doc/flow-family.rst:156 msgid "**capacity**" msgstr "**capacidad**" -#: ../../build/doc/flow-family.rst:126 +#: ../../build/doc/flow-family.rst:128 msgid "Weight of the edge `(source, target)`" msgstr "Peso de la arista `(source, target)`" -#: ../../build/doc/flow-family.rst:128 ../../build/doc/flow-family.rst:156 +#: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:158 msgid "" "When negative: edge `(source, target)` does not exist, therefore it's not " "part of the graph." @@ -421,19 +441,19 @@ msgstr "" "Cuando es negativo: la arista `(source, target)` no existe, por lo tanto no " "es parte del grafo." -#: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:132 ../../build/doc/flow-family.rst:159 msgid "**reverse_capacity**" -msgstr "**reverse_capacity**" +msgstr "**reverse_capacity** (**capacidad inversa**)" -#: ../../build/doc/flow-family.rst:130 ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:132 ../../build/doc/flow-family.rst:159 msgid "-1" msgstr "-1" -#: ../../build/doc/flow-family.rst:130 +#: ../../build/doc/flow-family.rst:132 msgid "Weight of the edge `(target, source)`," msgstr "Peso de la arista `(target, source)`," -#: ../../build/doc/flow-family.rst:132 ../../build/doc/flow-family.rst:159 +#: ../../build/doc/flow-family.rst:134 ../../build/doc/flow-family.rst:161 msgid "" "When negative: edge `(target, source)` does not exist, therefore it's not " "part of the graph." @@ -441,52 +461,54 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." -#: ../../build/doc/flow-family.rst:136 ../../build/doc/flow-family.rst:164 -#: ../../build/doc/flow-family.rst:261 +#: ../../build/doc/flow-family.rst:138 ../../build/doc/flow-family.rst:166 +#: ../../build/doc/flow-family.rst:277 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "Donde:" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "ANY-INTEGER" -#: ../../build/doc/flow-family.rst:138 ../../build/doc/flow-family.rst:166 +#: ../../build/doc/flow-family.rst:140 ../../build/doc/flow-family.rst:168 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" -#: ../../build/doc/flow-family.rst:142 +#: ../../build/doc/flow-family.rst:144 msgid "For :doc:`pgr_maxFlowMinCost` and :doc:`pgr_maxFlowMinCost_Cost`:" msgstr "Para :doc:`pgr_maxFlowMinCost` and :doc:`pgr_maxFlowMinCost_Cost`:" -#: ../../build/doc/flow-family.rst:154 +#: ../../build/doc/flow-family.rst:156 msgid "Capacity of the edge `(source, target)`" msgstr "Capacidad de la arista `(origen, destino)`" -#: ../../build/doc/flow-family.rst:157 +#: ../../build/doc/flow-family.rst:159 msgid "Capacity of the edge `(target, source)`," msgstr "Capacidad de la arista `(destino, origen)`," -#: ../../build/doc/flow-family.rst:160 ../../build/doc/flow-family.rst:204 +#: ../../build/doc/flow-family.rst:162 ../../build/doc/flow-family.rst:220 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" -#: ../../build/doc/flow-family.rst:160 ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:162 ../../build/doc/flow-family.rst:163 msgid "``ANY-NUMERICAL``" msgstr "``ANY-NUMERICAL``" -#: ../../build/doc/flow-family.rst:160 +#: ../../build/doc/flow-family.rst:162 msgid "Weight of the edge `(source, target)` if it exists." msgstr "Peso de la arista `(origen, destino)` si existe." -#: ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:163 msgid "**reverse_cost**" msgstr "**reverse_cost**" -#: ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:163 msgid "0" msgstr "0" -#: ../../build/doc/flow-family.rst:161 +#: ../../build/doc/flow-family.rst:163 msgid "Weight of the edge `(target, source)` if it exists." msgstr "Peso de la arista `(destino, origen)` si existe." @@ -494,78 +516,113 @@ msgstr "Peso de la arista `(destino, origen)` si existe." msgid "ANY-NUMERICAL" msgstr "ANY-NUMERICAL" -#: ../../build/doc/flow-family.rst:167 +#: ../../build/doc/flow-family.rst:169 msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/flow-family.rst:172 +#: ../../build/doc/flow-family.rst:173 +msgid "" +"For :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp " +"`, :doc:`pgr_boykovKolmogorov `, " +":doc:`pgr_edgeDisjointPaths `, " +":doc:`pgr_maxFlowMinCost ` and " +":doc:`pgr_maxFlowMinCost_Cost ` :" +msgstr "" +"Para :doc:`pgr_pushRelabel `, :doc:`pgr_edmondsKarp " +"`, :doc:`pgr_boykovKolmogorov `, " +":doc:`pgr_edgeDisjointPaths `, " +":doc:`pgr_maxFlowMinCost ` y " +":doc:`pgr_maxFlowMinCost_Cost ` :" + +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "Combinaciones SQL" + +#: ../../build/doc/flow-family.rst:177 +msgid "" +"an SQL query which should return a set of rows with the following columns:" +msgstr "" +"una consulta SQL que debe devolver un conjunto de filas con las siguientes " +"columnas:" + +#: ../../build/doc/flow-family.rst:183 +msgid "" +"The function aggregates the sources and the targets, removes the duplicates," +" and then it calculates the result from the resultant source vertices to the" +" target vertices." +msgstr "" +"La función agrega los orígenes y los destinos, quita los duplicados y, a " +"continuación, calcula el resultado de los vértices de origen resultantes a " +"los vértices de destino." + +#: ../../build/doc/flow-family.rst:188 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:197 ../../build/doc/flow-family.rst:214 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:197 ../../build/doc/flow-family.rst:214 msgid "``INT``" msgstr "``INT``" -#: ../../build/doc/flow-family.rst:181 ../../build/doc/flow-family.rst:198 +#: ../../build/doc/flow-family.rst:197 ../../build/doc/flow-family.rst:214 msgid "Sequential value starting from **1**." msgstr "Valor secuencial a partir de **1**." -#: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:198 ../../build/doc/flow-family.rst:215 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" -#: ../../build/doc/flow-family.rst:182 ../../build/doc/flow-family.rst:199 +#: ../../build/doc/flow-family.rst:198 ../../build/doc/flow-family.rst:215 msgid "Identifier of the edge in the original query(edges_sql)." msgstr "Identificador de la arista en la consulta original(edges_sql)." -#: ../../build/doc/flow-family.rst:183 +#: ../../build/doc/flow-family.rst:199 msgid "**start_vid**" msgstr "**start_vid**" -#: ../../build/doc/flow-family.rst:184 +#: ../../build/doc/flow-family.rst:200 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/flow-family.rst:185 ../../build/doc/flow-family.rst:202 +#: ../../build/doc/flow-family.rst:201 ../../build/doc/flow-family.rst:218 msgid "**flow**" msgstr "**flujo**" -#: ../../build/doc/flow-family.rst:185 +#: ../../build/doc/flow-family.rst:201 msgid "Flow through the edge in the direction (``start_vid``, ``end_vid``)." msgstr "" "Flujo a través del arista en la dirección (``start_vid``, ``end_vid``)." -#: ../../build/doc/flow-family.rst:186 ../../build/doc/flow-family.rst:203 +#: ../../build/doc/flow-family.rst:202 ../../build/doc/flow-family.rst:219 msgid "**residual_capacity**" msgstr "**residual_capacity** (**capacidad residual**)" -#: ../../build/doc/flow-family.rst:186 +#: ../../build/doc/flow-family.rst:202 msgid "" "Residual capacity of the edge in the direction (``start_vid``, ``end_vid``)." msgstr "" "Capacidad residual del arista en la dirección (``start_vid``, ``end_vid``)." -#: ../../build/doc/flow-family.rst:192 +#: ../../build/doc/flow-family.rst:208 msgid "For :doc:`pgr_maxFlowMinCost`" msgstr "Para :doc:`pgr_maxFlowMinCost`" -#: ../../build/doc/flow-family.rst:202 +#: ../../build/doc/flow-family.rst:218 msgid "Flow through the edge in the direction (source, target)." msgstr "Flujo a través de la arista en la dirección (origen, destino)." -#: ../../build/doc/flow-family.rst:203 +#: ../../build/doc/flow-family.rst:219 msgid "Residual capacity of the edge in the direction (source, target)." msgstr "Capacidad residual de la arista en la dirección (origen, destino)." -#: ../../build/doc/flow-family.rst:204 ../../build/doc/flow-family.rst:205 +#: ../../build/doc/flow-family.rst:220 ../../build/doc/flow-family.rst:221 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/flow-family.rst:204 +#: ../../build/doc/flow-family.rst:220 msgid "" "The cost of sending this flow through the edge in the direction (source, " "target)." @@ -573,19 +630,19 @@ msgstr "" "El costo de enviar este flujo a través de la arista en la dirección (origen," " destino)." -#: ../../build/doc/flow-family.rst:205 +#: ../../build/doc/flow-family.rst:221 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/flow-family.rst:205 +#: ../../build/doc/flow-family.rst:221 msgid "The aggregate cost." msgstr "El costo agregado." -#: ../../build/doc/flow-family.rst:212 +#: ../../build/doc/flow-family.rst:228 msgid "Adcanced Documentation" msgstr "Documentación Avanzada" -#: ../../build/doc/flow-family.rst:214 +#: ../../build/doc/flow-family.rst:230 msgid "" "A flow network is a directed graph where each edge has a capacity and a " "flow. The flow through an edge must not exceed the capacity of the edge. " @@ -599,7 +656,7 @@ msgstr "" "ser igual, excepto para el origen que solo tiene flujo saliente, y el " "destino (receptor) que solo tiene flujo entrante." -#: ../../build/doc/flow-family.rst:219 +#: ../../build/doc/flow-family.rst:235 msgid "" "Maximum flow algorithms calculate the maximum flow through the graph and the" " flow of each edge." @@ -607,7 +664,7 @@ msgstr "" "Los algoritmos de Flujo Máximo calculan a través del grafo el flujo máximoy " "el flujo de cada arista" -#: ../../build/doc/flow-family.rst:221 +#: ../../build/doc/flow-family.rst:237 msgid "" "The maximum flow through the graph is guaranteed to be the same with all " "implementations, but the actual flow through each edge may vary. Given the " @@ -617,11 +674,11 @@ msgstr "" "las implementaciones, pero el flujo real a través de cada arista puede " "variar. Dada la siguiente consulta:" -#: ../../build/doc/flow-family.rst:225 +#: ../../build/doc/flow-family.rst:241 msgid "pgr_maxFlow :math:`(edges\\_sql, source\\_vertex, sink\\_vertex)`" msgstr "pgr_maxFlow :math:`(edges\\_sql, source\\_vertex, sink\\_vertex)`" -#: ../../build/doc/flow-family.rst:227 +#: ../../build/doc/flow-family.rst:243 msgid "" "where :math:`edges\\_sql = \\{(id_i, source_i, target_i, capacity_i, " "reverse\\_capacity_i)\\}`" @@ -629,19 +686,19 @@ msgstr "" "where :math:`edges\\_sql = \\{(id_i, source_i, target_i, capacity_i, " "reverse\\_capacity_i)\\}`" -#: ../../build/doc/flow-family.rst:230 +#: ../../build/doc/flow-family.rst:246 msgid "Graph definition" msgstr "Definición del grafo" -#: ../../build/doc/flow-family.rst:231 +#: ../../build/doc/flow-family.rst:247 msgid "The weighted directed graph, :math:`G(V,E)`, is defined as:" msgstr "El grafo ponderado dirigido, :math:`G(V,E)`, se define como:" -#: ../../build/doc/flow-family.rst:233 +#: ../../build/doc/flow-family.rst:249 msgid "the set of vertices :math:`V`" msgstr "Conjunto de vértices :math:`V`" -#: ../../build/doc/flow-family.rst:235 +#: ../../build/doc/flow-family.rst:251 msgid "" ":math:`source\\_vertex \\cup sink\\_vertex \\bigcup source_i \\bigcup " "target_i`" @@ -649,11 +706,11 @@ msgstr "" ":math:`source\\_vertex \\cup sink\\_vertex \\bigcup source_i \\bigcup " "target_i`" -#: ../../build/doc/flow-family.rst:237 +#: ../../build/doc/flow-family.rst:253 msgid "the set of edges :math:`E`" msgstr "El conjunto de aristas :math:`E`" -#: ../../build/doc/flow-family.rst:239 +#: ../../build/doc/flow-family.rst:255 msgid "" ":math:`E = \\begin{cases} \\text{ } \\{(source_i, target_i, capacity_i) " "\\text{ when } capacity > 0 \\} & \\quad \\text{ if } reverse\\_capacity = " @@ -671,35 +728,35 @@ msgstr "" "reverse\\_capacity_i > 0)\\} & \\quad \\text{ if } reverse\\_capacity \\neq " "\\varnothing \\\\ \\end{cases}`" -#: ../../build/doc/flow-family.rst:247 +#: ../../build/doc/flow-family.rst:263 msgid "Maximum flow problem" msgstr "Problema de Flujo Máximo" -#: ../../build/doc/flow-family.rst:248 +#: ../../build/doc/flow-family.rst:264 msgid "Given:" msgstr "Dado:" -#: ../../build/doc/flow-family.rst:251 +#: ../../build/doc/flow-family.rst:267 msgid ":math:`G(V,E)`" msgstr ":math:`G(V,E)`" -#: ../../build/doc/flow-family.rst:252 +#: ../../build/doc/flow-family.rst:268 msgid ":math:`source\\_vertex \\in V` the source vertex" msgstr ":math:`source\\_vertex \\in V` el vértice de origen" -#: ../../build/doc/flow-family.rst:253 +#: ../../build/doc/flow-family.rst:269 msgid ":math:`sink\\_vertex \\in V` the sink vertex" msgstr ":math:`sink\\_vertex \\in V` el vértice pozo" -#: ../../build/doc/flow-family.rst:255 +#: ../../build/doc/flow-family.rst:271 msgid "Then:" msgstr "Entonces:" -#: ../../build/doc/flow-family.rst:257 +#: ../../build/doc/flow-family.rst:273 msgid ":math:`pgr\\_maxFlow(edges\\_sql, source, sink) = \\boldsymbol{\\Phi}`" msgstr ":math:`pgr\\_maxFlow(edges\\_sql, source, sink) = \\boldsymbol{\\Phi}`" -#: ../../build/doc/flow-family.rst:259 +#: ../../build/doc/flow-family.rst:275 msgid "" ":math:`\\boldsymbol{\\Phi} = {(id_i, edge\\_id_i, source_i, target_i, " "flow_i, residual\\_capacity_i)}`" @@ -707,7 +764,7 @@ msgstr "" ":math:`\\boldsymbol{\\Phi} = {(id_i, edge\\_id_i, source_i, target_i, " "flow_i, residual\\_capacity_i)}`" -#: ../../build/doc/flow-family.rst:263 +#: ../../build/doc/flow-family.rst:279 msgid "" ":math:`\\boldsymbol{\\Phi}` is a subset of the original edges with their " "residual capacity and flow. The maximum flow through the graph can be " @@ -719,34 +776,34 @@ msgstr "" "obtrener agregando en el origen o sumidero y sumiendo el flujo hacia él. En " "particular: " -#: ../../build/doc/flow-family.rst:267 +#: ../../build/doc/flow-family.rst:283 msgid ":math:`id_i = i`" msgstr ":math:`id_i = i`" -#: ../../build/doc/flow-family.rst:268 +#: ../../build/doc/flow-family.rst:284 msgid ":math:`edge\\_id = id_i` in edges_sql" msgstr ":math:`edge\\_id = id_i` in edges_sql" -#: ../../build/doc/flow-family.rst:269 +#: ../../build/doc/flow-family.rst:285 msgid ":math:`residual\\_capacity_i = capacity_i - flow_i`" msgstr ":math:`residual\\_capacity_i = capacity_i - flow_i`" -#: ../../build/doc/flow-family.rst:273 +#: ../../build/doc/flow-family.rst:289 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/flow-family.rst:275 +#: ../../build/doc/flow-family.rst:291 msgid "https://en.wikipedia.org/wiki/Maximum_flow_problem" msgstr "https://en.wikipedia.org/wiki/Maximum_flow_problem" -#: ../../build/doc/flow-family.rst:278 +#: ../../build/doc/flow-family.rst:294 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/flow-family.rst:279 +#: ../../build/doc/flow-family.rst:295 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/flow-family.rst:280 +#: ../../build/doc/flow-family.rst:296 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" From 92e157976dccd0f84f5156b30afc581c7b849bfd Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Mon, 14 Dec 2020 19:25:26 +0000 Subject: [PATCH 1157/1360] Translate /locale/en/LC_MESSAGES/index.po in es translation completed for the source file '/locale/en/LC_MESSAGES/index.po' on the 'es' language. --- locale/es/LC_MESSAGES/index.po | 95 ++++++++++++++++++++-------------- 1 file changed, 57 insertions(+), 38 deletions(-) diff --git a/locale/es/LC_MESSAGES/index.po b/locale/es/LC_MESSAGES/index.po index a270d73d62f..716ab699ee3 100644 --- a/locale/es/LC_MESSAGES/index.po +++ b/locale/es/LC_MESSAGES/index.po @@ -12,14 +12,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -383,7 +383,7 @@ msgstr "" #: ../../build/doc/topology-functions.rst:6 msgid ":doc:`pgr_analyzeOneWay` - to analyze directionality of the edges." msgstr "" -":doc:`pgr_analyzeOneWay` - para analizar la direccionalidad de las aristas." +":doc:`pgr_analyzeOneWay` - para analizar la direccionalidad de los bordes." #: ../../build/doc/topology-functions.rst:7 msgid ":doc:`pgr_nodeNetwork` -to create nodes to a not noded edge table." @@ -446,22 +446,21 @@ msgstr ":doc:`drivingDistance-category`" msgid "" ":doc:`pgr_drivingDistance` - Driving Distance based on Dijkstra's algorithm" msgstr "" -":doc:`pgr_drivingDistance` - Distancia Manejando basada en el algoritmo de " +":doc:`pgr_drivingDistance` - Driving Distance basada en el algoritmo de " "Dijkstra." #: ../../build/doc/drivingDistance-category.rst:4 msgid ":doc:`pgr_primDD` - Driving Distance based on Prim's algorithm" -msgstr "" -":doc:`pgr_primDD` - Distancia Manejando basada en el algoritmo de Prim" +msgstr ":doc:`pgr_primDD` - Driving Distance basada en el algoritmo de Prim" #: ../../build/doc/drivingDistance-category.rst:5 msgid ":doc:`pgr_kruskalDD` - Driving Distance based on Kruskal's algorithm" msgstr "" -":doc:`pgr_kruskalDD` - Distancia Manejando basada en el algoritmo de Kruskal" +":doc:`pgr_kruskalDD` - Driving Distance basada en el algoritmo de Kruskal" #: ../../build/doc/drivingDistance-category.rst:6 msgid "Post pocessing" -msgstr "Post procesamiento" +msgstr "Post poce" #: ../../build/doc/drivingDistance-category.rst:8 msgid ":doc:`pgr_alphaShape` - Alpha shape computation" @@ -496,118 +495,138 @@ msgid ":doc:`release_notes`" msgstr ":doc:`release_notes`" #: ../../build/doc/release_notes.rst:3 +msgid ":ref:`changelog_3_2_0`" +msgstr ":ref:`changelog_3_2_0`" + +#: ../../build/doc/release_notes.rst:4 +msgid ":ref:`changelog_3_1_2`" +msgstr ":ref:`changelog_3_1_2`" + +#: ../../build/doc/release_notes.rst:5 +msgid ":ref:`changelog_3_1_1`" +msgstr ":ref:`changelog_3_1_1`" + +#: ../../build/doc/release_notes.rst:6 msgid ":ref:`changelog_3_1_0`" msgstr ":ref:`changelog_3_1_0`" -#: ../../build/doc/release_notes.rst:4 +#: ../../build/doc/release_notes.rst:7 +msgid ":ref:`changelog_3_0_4`" +msgstr ":ref:`changelog_3_0_4`" + +#: ../../build/doc/release_notes.rst:8 +msgid ":ref:`changelog_3_0_3`" +msgstr ":ref:`changelog_3_0_3`" + +#: ../../build/doc/release_notes.rst:9 msgid ":ref:`changelog_3_0_2`" msgstr ":ref:`changelog_3_0_2`" -#: ../../build/doc/release_notes.rst:5 +#: ../../build/doc/release_notes.rst:10 msgid ":ref:`changelog_3_0_1`" msgstr ":ref:`changelog_3_0_1`" -#: ../../build/doc/release_notes.rst:6 +#: ../../build/doc/release_notes.rst:11 msgid ":ref:`changelog_3_0_0`" msgstr ":ref:`changelog_3_0_0`" -#: ../../build/doc/release_notes.rst:7 +#: ../../build/doc/release_notes.rst:12 msgid ":ref:`changelog_2_6_3`" msgstr ":ref:`changelog_2_6_3`" -#: ../../build/doc/release_notes.rst:8 +#: ../../build/doc/release_notes.rst:13 msgid ":ref:`changelog_2_6_2`" msgstr ":ref:`changelog_2_6_2`" -#: ../../build/doc/release_notes.rst:9 +#: ../../build/doc/release_notes.rst:14 msgid ":ref:`changelog_2_6_1`" msgstr ":ref:`changelog_2_6_1`" -#: ../../build/doc/release_notes.rst:10 +#: ../../build/doc/release_notes.rst:15 msgid ":ref:`changelog_2_6_0`" msgstr ":ref:`changelog_2_6_0`" -#: ../../build/doc/release_notes.rst:11 +#: ../../build/doc/release_notes.rst:16 msgid ":ref:`changelog_2_5_5`" msgstr ":ref:`changelog_2_5_5`" -#: ../../build/doc/release_notes.rst:12 +#: ../../build/doc/release_notes.rst:17 msgid ":ref:`changelog_2_5_4`" msgstr ":ref:`changelog_2_5_4`" -#: ../../build/doc/release_notes.rst:13 +#: ../../build/doc/release_notes.rst:18 msgid ":ref:`changelog_2_5_3`" msgstr ":ref:`changelog_2_5_3`" -#: ../../build/doc/release_notes.rst:14 +#: ../../build/doc/release_notes.rst:19 msgid ":ref:`changelog_2_5_2`" msgstr ":ref:`changelog_2_5_2`" -#: ../../build/doc/release_notes.rst:15 +#: ../../build/doc/release_notes.rst:20 msgid ":ref:`changelog_2_5_1`" msgstr ":ref:`changelog_2_5_1`" -#: ../../build/doc/release_notes.rst:16 +#: ../../build/doc/release_notes.rst:21 msgid ":ref:`changelog_2_5_0`" msgstr ":ref:`changelog_2_5_0`" -#: ../../build/doc/release_notes.rst:17 +#: ../../build/doc/release_notes.rst:22 msgid ":ref:`changelog_2_4_2`" msgstr ":ref:`changelog_2_4_2`" -#: ../../build/doc/release_notes.rst:18 +#: ../../build/doc/release_notes.rst:23 msgid ":ref:`changelog_2_4_1`" msgstr ":ref:`changelog_2_4_1`" -#: ../../build/doc/release_notes.rst:19 +#: ../../build/doc/release_notes.rst:24 msgid ":ref:`changelog_2_4_0`" msgstr ":ref:`changelog_2_4_0`" -#: ../../build/doc/release_notes.rst:20 +#: ../../build/doc/release_notes.rst:25 msgid ":ref:`changelog_2_3_2`" msgstr ":ref:`changelog_2_3_2`" -#: ../../build/doc/release_notes.rst:21 +#: ../../build/doc/release_notes.rst:26 msgid ":ref:`changelog_2_3_1`" msgstr ":ref:`changelog_2_3_1`" -#: ../../build/doc/release_notes.rst:22 +#: ../../build/doc/release_notes.rst:27 msgid ":ref:`changelog_2_3_0`" msgstr ":ref:`changelog_2_3_0`" -#: ../../build/doc/release_notes.rst:23 +#: ../../build/doc/release_notes.rst:28 msgid ":ref:`changelog_2_2_4`" msgstr ":ref:`changelog_2_2_4`" -#: ../../build/doc/release_notes.rst:24 +#: ../../build/doc/release_notes.rst:29 msgid ":ref:`changelog_2_2_3`" msgstr ":ref:`changelog_2_2_3`" -#: ../../build/doc/release_notes.rst:25 +#: ../../build/doc/release_notes.rst:30 msgid ":ref:`changelog_2_2_2`" msgstr ":ref:`changelog_2_2_2`" -#: ../../build/doc/release_notes.rst:26 +#: ../../build/doc/release_notes.rst:31 msgid ":ref:`changelog_2_2_1`" msgstr ":ref:`changelog_2_2_1`" -#: ../../build/doc/release_notes.rst:27 +#: ../../build/doc/release_notes.rst:32 msgid ":ref:`changelog_2_2_0`" msgstr ":ref:`changelog_2_2_0`" -#: ../../build/doc/release_notes.rst:28 +#: ../../build/doc/release_notes.rst:33 msgid ":ref:`changelog_2_1_0`" msgstr ":ref:`changelog_2_1_0`" -#: ../../build/doc/release_notes.rst:29 +#: ../../build/doc/release_notes.rst:34 msgid ":ref:`changelog_2_0_1`" msgstr ":ref:`changelog_2_0_1`" -#: ../../build/doc/release_notes.rst:30 +#: ../../build/doc/release_notes.rst:35 msgid ":ref:`changelog_2_0_0`" msgstr ":ref:`changelog_2_0_0`" -#: ../../build/doc/release_notes.rst:31 +#: ../../build/doc/release_notes.rst:36 msgid ":ref:`changelog_1_x`" msgstr ":ref:`changelog_1_x`" @@ -617,8 +636,8 @@ msgstr "Índices y tablas" #: ../../build/doc/index.rst:114 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/index.rst:115 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" From e1119389d1f89e703ea0ae911676cc9f43dfd40f Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Mon, 14 Dec 2020 19:31:09 +0000 Subject: [PATCH 1158/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_aStar.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_aStar.po | 298 ++++++++++++++++++----------- 1 file changed, 186 insertions(+), 112 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_aStar.po b/locale/es/LC_MESSAGES/pgr_aStar.po index 4e75dbddf3c..22f2d67f97a 100644 --- a/locale/es/LC_MESSAGES/pgr_aStar.po +++ b/locale/es/LC_MESSAGES/pgr_aStar.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -41,70 +41,84 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_aStar.rst:22 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_aStar.rst:24 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_aStar.rst:26 +msgid "pgr_aStar(Combinations)" +msgstr "pgr_aStar(Combinaciones)" + +#: ../../build/doc/pgr_aStar.rst:28 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_aStar.rst:24 +#: ../../build/doc/pgr_aStar.rst:30 msgid "**Official** function" msgstr "Función **oficial**" -#: ../../build/doc/pgr_aStar.rst:26 +#: ../../build/doc/pgr_aStar.rst:32 msgid "Version 2.4.0" msgstr "Versión 2.4.0" -#: ../../build/doc/pgr_aStar.rst:28 +#: ../../build/doc/pgr_aStar.rst:34 msgid "New **Proposed** functions:" msgstr "Nuevas funciones **Propuestas**:" -#: ../../build/doc/pgr_aStar.rst:30 +#: ../../build/doc/pgr_aStar.rst:36 msgid "pgr_aStar(One to Many)" msgstr "pgr_aStar(Uno a Muchos)" -#: ../../build/doc/pgr_aStar.rst:31 +#: ../../build/doc/pgr_aStar.rst:37 msgid "pgr_aStar(Many to One)" msgstr "pgr_aStar(Muchos a Uno)" -#: ../../build/doc/pgr_aStar.rst:32 +#: ../../build/doc/pgr_aStar.rst:38 msgid "pgr_aStar(Many to Many)" msgstr "pgr_aStar(Muchos a Muchos)" -#: ../../build/doc/pgr_aStar.rst:34 +#: ../../build/doc/pgr_aStar.rst:40 msgid "Version 2.3.0" msgstr "Versión 2.3.0" -#: ../../build/doc/pgr_aStar.rst:36 +#: ../../build/doc/pgr_aStar.rst:42 msgid "Signature change on pgr_astar(One to One)" msgstr "Cambio de firma en pgr_aStar(Uno a Uno)" -#: ../../build/doc/pgr_aStar.rst:38 +#: ../../build/doc/pgr_aStar.rst:44 msgid "Old signature no longer supported" msgstr "Firma antigua ya no soportada" -#: ../../build/doc/pgr_aStar.rst:40 +#: ../../build/doc/pgr_aStar.rst:46 msgid "Version 2.0.0" msgstr "Versión 2.0.0" -#: ../../build/doc/pgr_aStar.rst:42 +#: ../../build/doc/pgr_aStar.rst:48 msgid "**Official** pgr_aStar(One to One)" msgstr "**Oficial** pgr_aStar(Uno a Uno)" -#: ../../build/doc/pgr_aStar.rst:45 +#: ../../build/doc/pgr_aStar.rst:51 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_aStar.rst:46 +#: ../../build/doc/pgr_aStar.rst:52 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__ `2.6 " +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_aStar.rst:51 +#: ../../build/doc/pgr_aStar.rst:58 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -122,12 +136,13 @@ msgstr "" "`__ `2.0 " "`__" -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:60 -#: ../../build/doc/pgr_aStar.rst:186 ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:67 +#: ../../build/doc/pgr_aStar.rst:213 ../../build/doc/pgr_aStar.rst:247 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_aStar.rst:62 +#: ../../build/doc/pgr_aStar.rst:69 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -202,7 +217,7 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "Tiempo de ejecución: :math:`O((E + V) * \\log V)`" -#: ../../build/doc/pgr_aStar.rst:68 +#: ../../build/doc/pgr_aStar.rst:75 msgid "" "The results are equivalent to the union of the results of the `pgr_aStar(` " "`One to One`_ `)` on the:" @@ -210,19 +225,19 @@ msgstr "" "Los resultados son equivalentes a la unión de los resultados de pgr_aStar( " "`Uno a Uno`_ ) en:" -#: ../../build/doc/pgr_aStar.rst:70 +#: ../../build/doc/pgr_aStar.rst:77 msgid "`pgr_aStar(` `One to Many`_ `)`" msgstr "`pgr_aStar(` `Uno a Muchos`_ `)`" -#: ../../build/doc/pgr_aStar.rst:71 +#: ../../build/doc/pgr_aStar.rst:78 msgid "`pgr_aStar(` `Many to One`_ `)`" msgstr "`pgr_aStar(` `Muchos a Uno`_ `)`" -#: ../../build/doc/pgr_aStar.rst:72 +#: ../../build/doc/pgr_aStar.rst:79 msgid "`pgr_aStar(` `Many to Many`_ `)`" msgstr "`pgr_aStar(` `Muchos a Muchos`_ `)`" -#: ../../build/doc/pgr_aStar.rst:74 +#: ../../build/doc/pgr_aStar.rst:81 msgid "" "``start_vid`` and ``end_vid`` in the result is used to distinguish to which " "path it belongs." @@ -230,21 +245,21 @@ msgstr "" "``start_vid`` y ``end_vid`` en el resultado se utiliza para distinguir a qué" " ruta pertenece." -#: ../../build/doc/pgr_aStar.rst:77 +#: ../../build/doc/pgr_aStar.rst:84 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_aStar.rst:80 +#: ../../build/doc/pgr_aStar.rst:87 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_aStar.rst:91 +#: ../../build/doc/pgr_aStar.rst:99 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" "Los parámetros opcionales son `parámetros con nombre` y tienen un valor " "predeterminado." -#: ../../build/doc/pgr_aStar.rst:94 +#: ../../build/doc/pgr_aStar.rst:102 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -252,15 +267,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_aStar.rst:101 +#: ../../build/doc/pgr_aStar.rst:109 msgid "From vertex :math:`2` to vertex :math:`12` on a **directed** graph" msgstr "De vértice :math:`2` a vértice :math:`12` en un grafo **dirigido**" -#: ../../build/doc/pgr_aStar.rst:111 +#: ../../build/doc/pgr_aStar.rst:119 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_aStar.rst:120 +#: ../../build/doc/pgr_aStar.rst:128 msgid "" "From vertex :math:`2` to vertex :math:`12` on an **undirected** graph using" " heuristic :math:`2`" @@ -268,11 +283,11 @@ msgstr "" "De vértice :math:`2` a vértice :math:`12` en un grafo **no dirigido** usando" " la heurística :math:`2`" -#: ../../build/doc/pgr_aStar.rst:130 +#: ../../build/doc/pgr_aStar.rst:138 msgid "One to many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_aStar.rst:138 +#: ../../build/doc/pgr_aStar.rst:146 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 12\\}` on a **directed** " "graph using heuristic :math:`2`" @@ -280,11 +295,11 @@ msgstr "" "Desde el vértice :math:`2` a los vértices :math:`\\{3, 12\\}` en un grafo " "**dirigido** usando la heurística :math:`2`" -#: ../../build/doc/pgr_aStar.rst:148 +#: ../../build/doc/pgr_aStar.rst:156 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_aStar.rst:156 +#: ../../build/doc/pgr_aStar.rst:164 msgid "" "From vertices :math:`\\{7, 2\\}` to vertex :math:`12` on a **directed** " "graph using heuristic :math:`0`" @@ -292,11 +307,11 @@ msgstr "" "De los vértices :math:`\\{7, 2\\}` al vértice :math:`12` en un grafo " "**dirigido** usando la heurística :math:`0`" -#: ../../build/doc/pgr_aStar.rst:166 +#: ../../build/doc/pgr_aStar.rst:174 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_aStar.rst:174 +#: ../../build/doc/pgr_aStar.rst:182 msgid "" "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 12\\}` on a " "**directed** graph using heuristic :math:`2`" @@ -304,194 +319,222 @@ msgstr "" "De los vértices :math:`\\{7, 2\\}` a los vértices :math:`\\{3, 12\\}` en un" " gráfico **dirigido** usando la heurística :math:`2`" -#: ../../build/doc/pgr_aStar.rst:181 +#: ../../build/doc/pgr_aStar.rst:192 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_aStar.rst:200 +msgid "" +"Using a combinations table on a **directed** graph using heuristic " +":math:`2`." +msgstr "" +"Usando una tabla de combinaciones en un grafo **dirigido** usando heurística" +" :math:`2`." + +#: ../../build/doc/pgr_aStar.rst:208 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_aStar.rst:186 ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgr_aStar.rst:213 ../../build/doc/pgr_aStar.rst:247 msgid "Parameter" msgstr "Parámetro" -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:186 -#: ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:213 +#: ../../build/doc/pgr_aStar.rst:247 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_aStar.rst:188 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/pgr_aStar.rst:215 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_aStar.rst:188 +#: ../../build/doc/pgr_aStar.rst:215 ../../build/doc/pgr_aStar.rst:216 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_aStar.rst:188 -msgid "`edges_sql`_ inner query." -msgstr "`edges_sql`_ consulta interna." +#: ../../build/doc/pgr_aStar.rst:215 +msgid "`Edges query` as described below." +msgstr "`Consulta de bordes` como se describe a continuación." + +#: ../../build/doc/pgr_aStar.rst:216 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_aStar.rst:216 +msgid "`Combinations query` as described below." +msgstr "`Consulta de combinaciones` como se describe a continuación." -#: ../../build/doc/pgr_aStar.rst:189 +#: ../../build/doc/pgr_aStar.rst:217 msgid "**from_vid**" msgstr "**from_vid**" +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:189 -#: ../../build/doc/pgr_aStar.rst:199 +#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:217 +#: ../../build/doc/pgr_aStar.rst:227 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_aStar.rst:189 +#: ../../build/doc/pgr_aStar.rst:217 msgid "Starting vertex identifier. Parameter in:" msgstr "Identificador de vértice inicial. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:191 ../../build/doc/pgr_aStar.rst:201 +#: ../../build/doc/pgr_aStar.rst:219 ../../build/doc/pgr_aStar.rst:229 msgid "`One to One`_" msgstr "`Uno a Uno`_" -#: ../../build/doc/pgRouting-concepts.rst:19 ../../build/doc/pgr_aStar.rst:192 -#: ../../build/doc/pgr_aStar.rst:206 +#: ../../build/doc/pgRouting-concepts.rst:19 ../../build/doc/pgr_aStar.rst:220 +#: ../../build/doc/pgr_aStar.rst:234 msgid "`One to Many`_" msgstr "`Uno a Muchos`_" -#: ../../build/doc/pgr_aStar.rst:194 +#: ../../build/doc/pgr_aStar.rst:222 msgid "**from_vids**" msgstr "**from_vids**" -#: ../../build/doc/pgr_aStar.rst:194 ../../build/doc/pgr_aStar.rst:204 +#: ../../build/doc/pgr_aStar.rst:222 ../../build/doc/pgr_aStar.rst:232 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_aStar.rst:194 +#: ../../build/doc/pgr_aStar.rst:222 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "Arreglo de identificadores de vértices iniciales. Parámetro en:" -#: ../../build/doc/pgRouting-concepts.rst:13 ../../build/doc/pgr_aStar.rst:196 -#: ../../build/doc/pgr_aStar.rst:202 +#: ../../build/doc/pgRouting-concepts.rst:13 ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:230 msgid "`Many to One`_" msgstr "`Muchos a Uno`_" #: ../../build/doc/pgRouting-concepts.rst:14 -#: ../../build/doc/pgRouting-concepts.rst:20 ../../build/doc/pgr_aStar.rst:197 -#: ../../build/doc/pgr_aStar.rst:207 +#: ../../build/doc/pgRouting-concepts.rst:20 ../../build/doc/pgr_aStar.rst:225 +#: ../../build/doc/pgr_aStar.rst:235 msgid "`Many to Many`_" msgstr "`Muchos a Muchos`_" -#: ../../build/doc/pgr_aStar.rst:199 +#: ../../build/doc/pgr_aStar.rst:227 msgid "**to_vid**" msgstr "**to_vid**" -#: ../../build/doc/pgr_aStar.rst:199 +#: ../../build/doc/pgr_aStar.rst:227 msgid "Ending vertex identifier. Parameter in:" msgstr "Identificador de vértice final. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:204 +#: ../../build/doc/pgr_aStar.rst:232 msgid "**to_vids**" msgstr "**to_vids**" -#: ../../build/doc/pgr_aStar.rst:204 +#: ../../build/doc/pgr_aStar.rst:232 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "Matriz de identificadores de vértices finales. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:214 +#: ../../build/doc/pgr_aStar.rst:242 msgid "Optional Parameters" msgstr "Parámetros opcionales" -#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:219 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:247 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_aStar.rst:221 +#: ../../build/doc/pgr_aStar.rst:249 msgid "When ``true`` the graph is considered as Directed." msgstr "En caso de ``true`` el grafo se considera como Dirigido." -#: ../../build/doc/pgr_aStar.rst:222 +#: ../../build/doc/pgr_aStar.rst:250 msgid "When ``false`` the graph is considered as Undirected." msgstr "Cuando ``false`` el gráfico se considera como No Dirigido" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "**heuristic**" msgstr "**heurística**" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "``5``" msgstr "``5``" -#: ../../build/doc/pgr_aStar.rst:224 +#: ../../build/doc/pgr_aStar.rst:252 msgid "Heuristic number. Current valid values 0~5. Default ``5``" msgstr "Número heurístico. Valores actuales válidos 0~5. Default ``5``" -#: ../../build/doc/pgr_aStar.rst:226 +#: ../../build/doc/pgr_aStar.rst:254 msgid "0: h(v) = 0 (Use this value to compare with pgr_dijkstra)" msgstr "0: h(v) = 0 (utilizar este valor para comparar con pgr_dijkstra)" -#: ../../build/doc/pgr_aStar.rst:227 +#: ../../build/doc/pgr_aStar.rst:255 msgid "1: h(v) abs(max(dx, dy))" msgstr "1: h(v) abs(max(dx, dy))" -#: ../../build/doc/pgr_aStar.rst:228 +#: ../../build/doc/pgr_aStar.rst:256 msgid "2: h(v) abs(min(dx, dy))" msgstr "2: h(v) abs(min(dx, dy))" -#: ../../build/doc/pgr_aStar.rst:229 +#: ../../build/doc/pgr_aStar.rst:257 msgid "3: h(v) = dx * dx + dy * dy" msgstr "3: h(v) = dx * dx + dy * dy" -#: ../../build/doc/pgr_aStar.rst:230 +#: ../../build/doc/pgr_aStar.rst:258 msgid "4: h(v) = sqrt(dx * dx + dy * dy)" msgstr "4: h(v) = sqrt(dx * dx + dy * dy)" -#: ../../build/doc/pgr_aStar.rst:231 +#: ../../build/doc/pgr_aStar.rst:259 msgid "5: h(v) = abs(dx) + abs(dy)" msgstr "5: h(v) = abs(dx) + abs(dy)" -#: ../../build/doc/pgr_aStar.rst:233 +#: ../../build/doc/pgr_aStar.rst:261 msgid "**factor**" msgstr "**factor**" #: ../../build/doc/pgRouting-concepts.rst:24 -#: ../../build/doc/pgRouting-concepts.rst:25 ../../build/doc/pgr_aStar.rst:233 -#: ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgRouting-concepts.rst:25 ../../build/doc/pgr_aStar.rst:261 +#: ../../build/doc/pgr_aStar.rst:262 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_aStar.rst:233 ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgr_aStar.rst:261 ../../build/doc/pgr_aStar.rst:262 msgid "``1``" msgstr "``1``" -#: ../../build/doc/pgr_aStar.rst:233 +#: ../../build/doc/pgr_aStar.rst:261 msgid "For units manipulation. :math:`factor > 0`. See :ref:`astar_factor`" msgstr "" "Para la manipulación de unidades. math:`factor > 0`. Ver :ref:`astar_factor`" -#: ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgr_aStar.rst:262 msgid "**epsilon**" msgstr "**epsilon**" -#: ../../build/doc/pgr_aStar.rst:234 +#: ../../build/doc/pgr_aStar.rst:262 msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "Para resultados menos restringidos. :math:`epsilon >= 1`." -#: ../../build/doc/pgr_aStar.rst:240 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_aStar.rst:268 +msgid "Inner queries" +msgstr "Consultas internas" + +#: ../../build/doc/pgr_aStar.rst:271 +msgid "Edges query" +msgstr "Consulta de aristas" -#: ../../build/doc/pgRouting-concepts.rst ../../build/doc/pgr_aStar.rst:243 +#: ../../build/doc/pgRouting-concepts.rst msgid "edges_sql" msgstr "edges_sql" @@ -502,6 +545,7 @@ msgstr "" "Una consulta SQL, que debe regresar un conjunto de filas con las siguientes " "columnas:" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "Columna" @@ -514,18 +558,22 @@ msgstr "**id**" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -608,6 +656,7 @@ msgstr "**y2**" msgid "Y coordinate of `target` vertex." msgstr "Coordenada Y del vértice `target`." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" msgstr "Donde:" @@ -616,6 +665,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:27 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -628,7 +678,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_aStar.rst:250 +#: ../../build/doc/pgr_aStar.rst:278 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_aStar.rst:285 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -731,34 +785,54 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_aStar.rst:257 +#: ../../build/doc/pgr_aStar.rst:292 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_aStar.rst:259 +#: ../../build/doc/pgr_aStar.rst:294 msgid ":doc:`aStar-family`" msgstr ":doc:`aStar-family`" -#: ../../build/doc/pgr_aStar.rst:260 +#: ../../build/doc/pgr_aStar.rst:295 msgid ":doc:`sampledata`" msgstr ":doc:`sampledata`" -#: ../../build/doc/pgr_aStar.rst:261 +#: ../../build/doc/pgr_aStar.rst:296 msgid "https://www.boost.org/libs/graph/doc/astar_search.html" msgstr "https://www.boost.org/libs/graph/doc/astar_search.html" -#: ../../build/doc/pgr_aStar.rst:262 +#: ../../build/doc/pgr_aStar.rst:297 msgid "https://en.wikipedia.org/wiki/A*_search_algorithm" msgstr "https://en.wikipedia.org/wiki/A*_search_algorithm" -#: ../../build/doc/pgr_aStar.rst:265 +#: ../../build/doc/pgr_aStar.rst:300 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_aStar.rst:266 +#: ../../build/doc/pgr_aStar.rst:301 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_aStar.rst:267 +#: ../../build/doc/pgr_aStar.rst:302 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" +#~ msgstr "" +#~ "**Versiones soportadas:** actual(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" + +#~ msgid "**edges_sql**" +#~ msgstr "**edges_sql**" + +#~ msgid "`edges_sql`_ inner query." +#~ msgstr "`edges_sql`_ consulta interna." + +#~ msgid "Inner query" +#~ msgstr "Consulta interna" From 3e924f4453c52b65c1bb6994a4a164cc8c435ecc Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 15:53:52 +0000 Subject: [PATCH 1159/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_aStarCost.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_aStarCost.po | 241 ++++++++++++++++--------- 1 file changed, 160 insertions(+), 81 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_aStarCost.po b/locale/es/LC_MESSAGES/pgr_aStarCost.po index f1e8ef637d4..84d76f45e5c 100644 --- a/locale/es/LC_MESSAGES/pgr_aStarCost.po +++ b/locale/es/LC_MESSAGES/pgr_aStarCost.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -45,38 +45,52 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_aStarCost.rst:22 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_aStarCost.rst:24 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_aStarCost.rst:26 +msgid "pgr_aStarCost(Combinations)" +msgstr "pgr_aStarCost(Combinaciones)" + +#: ../../build/doc/pgr_aStarCost.rst:28 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_aStarCost.rst:24 +#: ../../build/doc/pgr_aStarCost.rst:30 msgid "**Official** function" msgstr "Función **oficial**" -#: ../../build/doc/pgr_aStarCost.rst:26 +#: ../../build/doc/pgr_aStarCost.rst:32 msgid "Version 2.4.0" msgstr "Versión 2.4.0" -#: ../../build/doc/pgr_aStarCost.rst:28 +#: ../../build/doc/pgr_aStarCost.rst:34 msgid "New **proposed** function" msgstr "Nueva función **propuesta**" -#: ../../build/doc/pgr_aStarCost.rst:31 +#: ../../build/doc/pgr_aStarCost.rst:37 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_aStarCost.rst:32 +#: ../../build/doc/pgr_aStarCost.rst:38 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__ `2.6 " +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_aStarCost.rst:37 +#: ../../build/doc/pgr_aStarCost.rst:44 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -86,12 +100,13 @@ msgstr "" "`__ `2.4 " "`__" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_aStarCost.rst:42 +#: ../../build/doc/pgr_aStarCost.rst:49 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_aStarCost.rst:44 +#: ../../build/doc/pgr_aStarCost.rst:51 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -166,7 +181,7 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "Tiempo de ejecución: :math:`O((E + V) * \\log V)`" -#: ../../build/doc/pgr_aStarCost.rst:50 +#: ../../build/doc/pgr_aStarCost.rst:57 msgid "" "The results are equivalent to the union of the results of the " "`pgr_aStarCost(` `One to One`_ `)` on the:" @@ -174,33 +189,33 @@ msgstr "" "Los resultados son equivalentes a la unión de los resultados de " "`pgr_aStarCost(` `Uno a Uno`_ `)` en:" -#: ../../build/doc/pgr_aStarCost.rst:52 +#: ../../build/doc/pgr_aStarCost.rst:59 msgid "`pgr_aStarCost(` `One to Many`_ `)`" msgstr "`pgr_aStarCost(` `Uno a Muchos`_ `)`" -#: ../../build/doc/pgr_aStarCost.rst:53 +#: ../../build/doc/pgr_aStarCost.rst:60 msgid "`pgr_aStarCost(` `Many to One`_ `)`" msgstr "`pgr_aStarCost(` `Muchos a Uno`_ `)`" -#: ../../build/doc/pgr_aStarCost.rst:54 +#: ../../build/doc/pgr_aStarCost.rst:61 msgid "`pgr_aStarCost(` `Many to Many`_ `)`" msgstr "`pgr_aStarCost(` `Muchos a Muchos`_ `)`" -#: ../../build/doc/pgr_aStarCost.rst:57 +#: ../../build/doc/pgr_aStarCost.rst:64 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_aStarCost.rst:60 +#: ../../build/doc/pgr_aStarCost.rst:67 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_aStarCost.rst:71 +#: ../../build/doc/pgr_aStarCost.rst:79 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" "Los parámetros opcionales son `parámetros con nombre` y tienen un valor " "predeterminado." -#: ../../build/doc/pgr_aStarCost.rst:74 +#: ../../build/doc/pgr_aStarCost.rst:82 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -208,15 +223,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_aStarCost.rst:81 +#: ../../build/doc/pgr_aStarCost.rst:89 msgid "From vertex :math:`2` to vertex :math:`12` on a **directed** graph" msgstr "Del vértice :math:`2` al vértice :math:`12` en un grafo **dirigido**" -#: ../../build/doc/pgr_aStarCost.rst:91 +#: ../../build/doc/pgr_aStarCost.rst:99 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_aStarCost.rst:99 +#: ../../build/doc/pgr_aStarCost.rst:107 msgid "" "From vertex :math:`2` to vertex :math:`12` on an **undirected** graph using" " heuristic :math:`2`" @@ -224,11 +239,11 @@ msgstr "" "De vértice :math:`2` a vértice :math:`12` en un grafo **no dirigido** usando" " la heurística :math:`2`" -#: ../../build/doc/pgr_aStarCost.rst:109 +#: ../../build/doc/pgr_aStarCost.rst:117 msgid "One to many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_aStarCost.rst:117 +#: ../../build/doc/pgr_aStarCost.rst:125 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 12\\}` on a **directed** " "graph using heuristic :math:`2`" @@ -236,11 +251,11 @@ msgstr "" "Desde el vértice :math:`2` a los vértices :math:`\\{3, 12\\}` en un grafo " "**dirigido** usando la heurística :math:`2`" -#: ../../build/doc/pgr_aStarCost.rst:127 +#: ../../build/doc/pgr_aStarCost.rst:135 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_aStarCost.rst:135 +#: ../../build/doc/pgr_aStarCost.rst:143 msgid "" "From vertices :math:`\\{7, 2\\}` to vertex :math:`12` on a **directed** " "graph using heuristic :math:`0`" @@ -248,11 +263,11 @@ msgstr "" "De los vértices :math:`\\{7, 2\\}` al vértice :math:`12` en un grafo " "**dirigido** usando la heurística :math:`0`" -#: ../../build/doc/pgr_aStarCost.rst:145 +#: ../../build/doc/pgr_aStarCost.rst:153 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_aStarCost.rst:153 +#: ../../build/doc/pgr_aStarCost.rst:161 msgid "" "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 12\\}` on a " "**directed** graph using heuristic :math:`2`" @@ -260,7 +275,19 @@ msgstr "" "De los vértices :math:`\\{7, 2\\}` a los vértices :math:`\\{3, 12\\}` en un" " gráfico **dirigido** usando la heurística :math:`2`" -#: ../../build/doc/pgr_aStarCost.rst:160 +#: ../../build/doc/pgr_aStarCost.rst:171 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_aStarCost.rst:179 +msgid "" +"Using a combinations table on a **directed** graph using heuristic " +":math:`2`." +msgstr "" +"Usando una tabla de combinaciones en un grafo **dirigido** usando heurística" +" :math:`2`." + +#: ../../build/doc/pgr_aStarCost.rst:187 msgid "Parameters" msgstr "Parámetros" @@ -268,85 +295,97 @@ msgstr "Parámetros" msgid "Parameter" msgstr "Parámetro" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgr_aStar.rst:6 -msgid "**edges_sql**" -msgstr "**edges_sql**" +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_aStar.rst:6 +#: ../../build/doc/pgr_aStar.rst:6 ../../build/doc/pgr_aStar.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/pgr_aStar.rst:6 -msgid "`edges_sql`_ inner query." -msgstr "`edges_sql`_ consulta interna." +msgid "`Edges query` as described below." +msgstr "`Consulta de bordes` como se describe a continuación." + +#: ../../build/doc/pgr_aStar.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" #: ../../build/doc/pgr_aStar.rst:7 +msgid "`Combinations query` as described below." +msgstr "`Consulta de combinaciones` como se describe a continuación." + +#: ../../build/doc/pgr_aStar.rst:8 msgid "**from_vid**" msgstr "**from_vid**" +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:7 -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:8 +#: ../../build/doc/pgr_aStar.rst:18 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_aStar.rst:7 +#: ../../build/doc/pgr_aStar.rst:8 msgid "Starting vertex identifier. Parameter in:" msgstr "Identificador de vértice inicial. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:9 ../../build/doc/pgr_aStar.rst:19 +#: ../../build/doc/pgr_aStar.rst:10 ../../build/doc/pgr_aStar.rst:20 msgid "`One to One`_" msgstr "`Uno a Uno`_" -#: ../../build/doc/pgr_aStar.rst:10 ../../build/doc/pgr_aStar.rst:24 +#: ../../build/doc/pgr_aStar.rst:11 ../../build/doc/pgr_aStar.rst:25 msgid "`One to Many`_" msgstr "`Uno a Muchos`_" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "**from_vids**" msgstr "**from_vids**" -#: ../../build/doc/pgr_aStar.rst:12 ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:13 ../../build/doc/pgr_aStar.rst:23 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "Arreglo de identificadores de vértices iniciales. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:14 ../../build/doc/pgr_aStar.rst:20 +#: ../../build/doc/pgr_aStar.rst:15 ../../build/doc/pgr_aStar.rst:21 msgid "`Many to One`_" msgstr "`Muchos a Uno`_" -#: ../../build/doc/pgr_aStar.rst:15 ../../build/doc/pgr_aStar.rst:25 +#: ../../build/doc/pgr_aStar.rst:16 ../../build/doc/pgr_aStar.rst:26 msgid "`Many to Many`_" msgstr "`Muchos a Muchos`_" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "**to_vid**" msgstr "**to_vid**" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "Ending vertex identifier. Parameter in:" msgstr "Identificador de vértice final. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "**to_vids**" msgstr "**to_vids**" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "Matriz de identificadores de vértices finales. Parámetro en:" -#: ../../build/doc/pgr_aStarCost.rst:167 +#: ../../build/doc/pgr_aStarCost.rst:194 msgid "Optional Parameters" msgstr "Parámetros opcionales" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Default" msgstr "Valores predeterminados" @@ -437,12 +476,15 @@ msgstr "**epsilon**" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "Para resultados menos restringidos. :math:`epsilon >= 1`." -#: ../../build/doc/pgr_aStarCost.rst:174 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_aStarCost.rst:201 +msgid "Inner queries" +msgstr "Consultas internas" + +#: ../../build/doc/pgr_aStarCost.rst:204 +msgid "Edges query" +msgstr "Consulta de aristas" #: ../../build/doc/pgRouting-concepts.rst -#: ../../build/doc/pgr_aStarCost.rst:177 msgid "edges_sql" msgstr "edges_sql" @@ -453,6 +495,7 @@ msgstr "" "Una consulta SQL, que debe regresar un conjunto de filas con las siguientes " "columnas:" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "Columna" @@ -465,18 +508,22 @@ msgstr "**id**" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -558,6 +605,7 @@ msgstr "**y2**" msgid "Y coordinate of `target` vertex." msgstr "Coordenada Y del vértice `target`." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" msgstr "Donde:" @@ -566,6 +614,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:27 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -578,7 +627,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_aStarCost.rst:184 +#: ../../build/doc/pgr_aStarCost.rst:211 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_aStarCost.rst:218 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -596,24 +649,16 @@ msgid "``BIGINT``" msgstr "``BIGINT``" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." -msgstr "" -"Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " -"iniciales en la consulta." +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**end_vid**" msgstr "**end_vid**" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." -msgstr "" -"Identificador del vértice final. Se utiliza cuando hay varios vértices " -"finales en la consulta." +msgid "Identifier of the ending vertex." +msgstr "Identificador del vértice final." #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**agg_cost**" @@ -623,34 +668,68 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_aStarCost.rst:191 +#: ../../build/doc/pgr_aStarCost.rst:225 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_aStarCost.rst:193 +#: ../../build/doc/pgr_aStarCost.rst:227 msgid ":doc:`aStar-family`" msgstr ":doc:`aStar-family`" -#: ../../build/doc/pgr_aStarCost.rst:194 +#: ../../build/doc/pgr_aStarCost.rst:228 msgid ":doc:`cost-category`" msgstr ":doc:`cost-category`" -#: ../../build/doc/pgr_aStarCost.rst:195 +#: ../../build/doc/pgr_aStarCost.rst:229 msgid ":doc:`costMatrix-category`" msgstr ":doc:`costMatrix-category`" -#: ../../build/doc/pgr_aStarCost.rst:196 +#: ../../build/doc/pgr_aStarCost.rst:230 msgid "Examples use :doc:`sampledata` network." msgstr "Los ejemplos utilizan la red :doc:`sampledata` " -#: ../../build/doc/pgr_aStarCost.rst:199 +#: ../../build/doc/pgr_aStarCost.rst:233 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_aStarCost.rst:200 +#: ../../build/doc/pgr_aStarCost.rst:234 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_aStarCost.rst:201 +#: ../../build/doc/pgr_aStarCost.rst:235 msgid ":ref:`search`" msgstr ":ref:`search`" + +#~ msgid "" +#~ "Identifier of the starting vertex. Used when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" +#~ "Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " +#~ "iniciales en la consulta." + +#~ msgid "" +#~ "Identifier of the ending vertex. Used when multiple ending vertices are in " +#~ "the query." +#~ msgstr "" +#~ "Identificador del vértice final. Se utiliza cuando hay varios vértices " +#~ "finales en la consulta." + +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" +#~ msgstr "" +#~ "**Versiones soportadas:** actual(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" + +#~ msgid "**edges_sql**" +#~ msgstr "**edges_sql**" + +#~ msgid "`edges_sql`_ inner query." +#~ msgstr "`edges_sql`_ consulta interna." + +#~ msgid "Inner query" +#~ msgstr "Consulta interna" From 6ac7635310e1e06c04153390b1cd6bb2baaad06a Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Mon, 14 Dec 2020 19:33:12 +0000 Subject: [PATCH 1160/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_bdAstar.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_bdAstar.po | 249 +++++++++++++++++---------- 1 file changed, 161 insertions(+), 88 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_bdAstar.po b/locale/es/LC_MESSAGES/pgr_bdAstar.po index 991f0284e05..82f084a69f2 100644 --- a/locale/es/LC_MESSAGES/pgr_bdAstar.po +++ b/locale/es/LC_MESSAGES/pgr_bdAstar.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -38,73 +38,87 @@ msgstr "" #: ../../build/doc/pgr_bdAstar.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_bdAstar.rst:21 msgid "Availability:" msgstr "Disponibilidad:" #: ../../build/doc/pgr_bdAstar.rst:22 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_bdAstar.rst:24 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_bdAstar.rst:26 +msgid "pgr_bdAstar(Combinations)" +msgstr "pgr_bdAstar(Combinaciones)" + +#: ../../build/doc/pgr_bdAstar.rst:28 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_bdAstar.rst:24 +#: ../../build/doc/pgr_bdAstar.rst:30 msgid "**Official** function" msgstr "Función **oficial**" -#: ../../build/doc/pgr_bdAstar.rst:26 +#: ../../build/doc/pgr_bdAstar.rst:32 msgid "Version 2.5.0" msgstr "Versión 2.5.0" -#: ../../build/doc/pgr_bdAstar.rst:28 +#: ../../build/doc/pgr_bdAstar.rst:34 msgid "Signature change on pgr_bdAstar(One to One)" msgstr "Cambio de firma en pgr_bdAstar(Uno a Uno)" -#: ../../build/doc/pgr_bdAstar.rst:30 +#: ../../build/doc/pgr_bdAstar.rst:36 msgid "Old signature no longer supported" msgstr "Firma antigua ya no soportada" -#: ../../build/doc/pgr_bdAstar.rst:32 +#: ../../build/doc/pgr_bdAstar.rst:38 msgid "New **Proposed** functions:" msgstr "Nuevas funciones **Propuestas**:" -#: ../../build/doc/pgr_bdAstar.rst:34 +#: ../../build/doc/pgr_bdAstar.rst:40 msgid "pgr_bdAstar(One to Many)" msgstr "pgr_bdAstar(Uno a Muchos)" -#: ../../build/doc/pgr_bdAstar.rst:35 +#: ../../build/doc/pgr_bdAstar.rst:41 msgid "pgr_bdAstar(Many to One)" msgstr "pgr_bdAstar(Muchos a Uno)" -#: ../../build/doc/pgr_bdAstar.rst:36 +#: ../../build/doc/pgr_bdAstar.rst:42 msgid "pgr_bdAstar(Many to Many)" msgstr "pgr_bdAstar(Muchos a Muchos)" -#: ../../build/doc/pgr_bdAstar.rst:38 +#: ../../build/doc/pgr_bdAstar.rst:44 msgid "Version 2.0.0" msgstr "Versión 2.0.0" -#: ../../build/doc/pgr_bdAstar.rst:40 +#: ../../build/doc/pgr_bdAstar.rst:46 msgid "**Official** pgr_bdAstar(One to One)" msgstr "**Oficial** pgr_bdAstar(Uno a Uno)" -#: ../../build/doc/pgr_bdAstar.rst:43 +#: ../../build/doc/pgr_bdAstar.rst:49 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_bdAstar.rst:44 +#: ../../build/doc/pgr_bdAstar.rst:50 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__ `2.6 " +"**Verdsiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_bdAstar.rst:49 +#: ../../build/doc/pgr_bdAstar.rst:56 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -124,12 +138,13 @@ msgstr "" "`2.1 `__ `2.0 " "`__" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_bdAstar.rst:58 +#: ../../build/doc/pgr_bdAstar.rst:65 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_bdAstar.rst:60 +#: ../../build/doc/pgr_bdAstar.rst:67 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -143,7 +158,7 @@ msgstr "Falta la el indicador de ``directed``." #: ../../build/doc/aStar-family.rst:6 msgid "``directed`` flag is set to true" -msgstr "El indicador de ``directed`` se configura a verdadero." +msgstr "El indicador de ``directed`` se configura a \"true\"." #: ../../build/doc/aStar-family.rst:8 msgid "Unless specified otherwise, ordering is:" @@ -204,7 +219,7 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "Tiempo de ejecución: :math:`O((E + V) * \\log V)`" -#: ../../build/doc/pgr_bdAstar.rst:66 +#: ../../build/doc/pgr_bdAstar.rst:73 msgid "" "The results are equivalent to the union of the results of the `pgr_bdAStar(`" " `One to One`_ `)` on the:" @@ -212,19 +227,19 @@ msgstr "" "Los resultados son equivalentes a la unión de los resultados de " "`pgr_bdAStar(` `Uno a Uno`_ `)` en:" -#: ../../build/doc/pgr_bdAstar.rst:68 +#: ../../build/doc/pgr_bdAstar.rst:75 msgid "`pgr_bdAstar(` `One to Many`_ `)`" msgstr "`pgr_bdAstar(` `Uno a Muchos`_ `)`" -#: ../../build/doc/pgr_bdAstar.rst:69 +#: ../../build/doc/pgr_bdAstar.rst:76 msgid "`pgr_bdAstar(` `Many to One`_ `)`" msgstr "`pgr_bdAstar(` `Muchos a Uno`_ `)`" -#: ../../build/doc/pgr_bdAstar.rst:70 +#: ../../build/doc/pgr_bdAstar.rst:77 msgid "`pgr_bdAstar(` `Many to Many`_ `)`" msgstr "`pgr_bdAstar(` `Muchos a Muchos`_ `)`" -#: ../../build/doc/pgr_bdAstar.rst:72 +#: ../../build/doc/pgr_bdAstar.rst:79 msgid "" "``start_vid`` and ``end_vid`` in the result is used to distinguish to which " "path it belongs." @@ -232,21 +247,21 @@ msgstr "" "``start_vid`` y ``end_vid`` en el resultado se utiliza para distinguir a qué" " ruta pertenece." -#: ../../build/doc/pgr_bdAstar.rst:75 +#: ../../build/doc/pgr_bdAstar.rst:82 msgid "Signature" msgstr "Firma" -#: ../../build/doc/pgr_bdAstar.rst:78 +#: ../../build/doc/pgr_bdAstar.rst:85 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bdAstar.rst:89 +#: ../../build/doc/pgr_bdAstar.rst:97 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" "Los parámetros opcionales son `parámetros con nombre` y tienen un valor " "predeterminado." -#: ../../build/doc/pgr_bdAstar.rst:92 +#: ../../build/doc/pgr_bdAstar.rst:100 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -254,15 +269,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bdAstar.rst:98 +#: ../../build/doc/pgr_bdAstar.rst:106 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "Del vértice :math:`2` al :`3` en un grafo **dirigido** " -#: ../../build/doc/pgr_bdAstar.rst:108 +#: ../../build/doc/pgr_bdAstar.rst:116 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_bdAstar.rst:114 +#: ../../build/doc/pgr_bdAstar.rst:122 msgid "" "From vertex :math:`2` to vertex :math:`3` on a **directed** graph using " "heuristic :math:`2`" @@ -270,11 +285,11 @@ msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **dirigido** usando " "la heurística :math:`2`" -#: ../../build/doc/pgr_bdAstar.rst:124 +#: ../../build/doc/pgr_bdAstar.rst:132 msgid "One to many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_bdAstar.rst:132 +#: ../../build/doc/pgr_bdAstar.rst:140 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " "graph using heuristic :math:`3` and factor :math:`3.5`" @@ -282,11 +297,11 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 11\\}` en un grafo " "**dirigido** usando la heurística :math:`3` y el factor :math:`3.5`" -#: ../../build/doc/pgr_bdAstar.rst:142 +#: ../../build/doc/pgr_bdAstar.rst:150 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_bdAstar.rst:150 +#: ../../build/doc/pgr_bdAstar.rst:158 msgid "" "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on an **undirected** " "graph using heuristic :math:`4`" @@ -294,11 +309,11 @@ msgstr "" "De los vértices :math:`\\{2, 7\\}` al vértice :math:`3` en un grafo **no " "dirigido** usando la heurística :math:`4`" -#: ../../build/doc/pgr_bdAstar.rst:160 +#: ../../build/doc/pgr_bdAstar.rst:168 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_bdAstar.rst:168 +#: ../../build/doc/pgr_bdAstar.rst:176 msgid "" "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** graph using factor :math:`0.5`" @@ -306,7 +321,18 @@ msgstr "" "De los vértices :math:`\\{2, 7\\}` a los vértices :math:`\\{3, 11\\}` en un " "grafo **dirigido** usando el factor :math:`0.5`" -#: ../../build/doc/pgr_bdAstar.rst:175 +#: ../../build/doc/pgr_bdAstar.rst:186 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_bdAstar.rst:194 +msgid "" +"Using a combinations table on a **directed** graph using factor :math:`0.5`." +msgstr "" +"Usando una tabla de combinaciones en un grafo **dirigido** usando factor " +":math:`0.5`." + +#: ../../build/doc/pgr_bdAstar.rst:202 msgid "Parameters" msgstr "Parámetros" @@ -314,89 +340,101 @@ msgstr "Parámetros" msgid "Parameter" msgstr "Parámetro" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgr_aStar.rst:6 -msgid "**edges_sql**" -msgstr "**edges_sql**" +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_aStar.rst:6 +#: ../../build/doc/pgr_aStar.rst:6 ../../build/doc/pgr_aStar.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/pgr_aStar.rst:6 -msgid "`edges_sql`_ inner query." -msgstr "`edges_sql`_ consulta interna." +msgid "`Edges query` as described below." +msgstr "`Consulta de bordes` como se describe a continuación." #: ../../build/doc/pgr_aStar.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_aStar.rst:7 +msgid "`Combinations query` as described below." +msgstr "`Consulta de combinaciones` como se describe a continuación." + +#: ../../build/doc/pgr_aStar.rst:8 msgid "**from_vid**" msgstr "**from_vid**" +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:7 -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:8 +#: ../../build/doc/pgr_aStar.rst:18 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_aStar.rst:7 +#: ../../build/doc/pgr_aStar.rst:8 msgid "Starting vertex identifier. Parameter in:" msgstr "Identificador de vértice inicial. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:9 ../../build/doc/pgr_aStar.rst:19 +#: ../../build/doc/pgr_aStar.rst:10 ../../build/doc/pgr_aStar.rst:20 msgid "`One to One`_" msgstr "`Uno a Uno`_" -#: ../../build/doc/pgRouting-concepts.rst:21 ../../build/doc/pgr_aStar.rst:10 -#: ../../build/doc/pgr_aStar.rst:24 +#: ../../build/doc/pgRouting-concepts.rst:21 ../../build/doc/pgr_aStar.rst:11 +#: ../../build/doc/pgr_aStar.rst:25 msgid "`One to Many`_" msgstr "`Uno a Muchos`_" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "**from_vids**" msgstr "**from_vids**" -#: ../../build/doc/pgr_aStar.rst:12 ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:13 ../../build/doc/pgr_aStar.rst:23 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "Arreglo de identificadores de vértices iniciales. Parámetro en:" -#: ../../build/doc/pgRouting-concepts.rst:14 ../../build/doc/pgr_aStar.rst:14 -#: ../../build/doc/pgr_aStar.rst:20 +#: ../../build/doc/pgRouting-concepts.rst:14 ../../build/doc/pgr_aStar.rst:15 +#: ../../build/doc/pgr_aStar.rst:21 msgid "`Many to One`_" msgstr "`Muchos a Uno`_" #: ../../build/doc/pgRouting-concepts.rst:15 -#: ../../build/doc/pgRouting-concepts.rst:22 ../../build/doc/pgr_aStar.rst:15 -#: ../../build/doc/pgr_aStar.rst:25 +#: ../../build/doc/pgRouting-concepts.rst:22 ../../build/doc/pgr_aStar.rst:16 +#: ../../build/doc/pgr_aStar.rst:26 msgid "`Many to Many`_" msgstr "`Muchos a Muchos`_" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "**to_vid**" msgstr "**to_vid**" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "Ending vertex identifier. Parameter in:" msgstr "Identificador de vértice final. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "**to_vids**" msgstr "**to_vids**" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "Matriz de identificadores de vértices finales. Parámetro en:" -#: ../../build/doc/pgr_bdAstar.rst:182 +#: ../../build/doc/pgr_bdAstar.rst:209 msgid "Optional Parameters" msgstr "Parámetros opcionales" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Default" msgstr "Valores predeterminados" @@ -423,7 +461,7 @@ msgstr "Cuando ``false`` el gráfico se considera como No Dirigido" #: ../../build/doc/pgr_aStar.rst:9 msgid "**heuristic**" -msgstr "**heurística**" +msgstr "**heuristic**" #: ../../build/doc/pgr_aStar.rst:9 msgid "``INTEGER``" @@ -488,11 +526,15 @@ msgstr "**epsilon**" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "Para resultados menos restringidos. :math:`epsilon >= 1`." -#: ../../build/doc/pgr_bdAstar.rst:190 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_bdAstar.rst:217 +msgid "Inner queries" +msgstr "Consultas internas" + +#: ../../build/doc/pgr_bdAstar.rst:220 +msgid "Edges query" +msgstr "Consulta de aristas" -#: ../../build/doc/pgRouting-concepts.rst ../../build/doc/pgr_bdAstar.rst:193 +#: ../../build/doc/pgRouting-concepts.rst msgid "edges_sql" msgstr "edges_sql" @@ -503,6 +545,7 @@ msgstr "" "Una consulta SQL, que debe regresar un conjunto de filas con las siguientes " "columnas:" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "Columna" @@ -515,18 +558,22 @@ msgstr "**id**" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -534,7 +581,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:26 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:15 @@ -609,6 +656,7 @@ msgstr "**y2**" msgid "Y coordinate of `target` vertex." msgstr "Coordenada Y del vértice `target`." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" msgstr "Donde:" @@ -617,6 +665,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:27 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -629,7 +678,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bdAstar.rst:200 +#: ../../build/doc/pgr_bdAstar.rst:227 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_bdAstar.rst:234 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -712,7 +765,7 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "Identifier of the node in the path from ``start_vid`` to ``end_vid``." @@ -720,7 +773,7 @@ msgstr "Identificador del nodo en la ruta de ``start_vid`` a ``end_vid``." #: ../../build/doc/pgRouting-concepts.rst:25 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgRouting-concepts.rst:25 msgid "" @@ -746,38 +799,58 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_bdAstar.rst:207 +#: ../../build/doc/pgr_bdAstar.rst:241 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_bdAstar.rst:209 +#: ../../build/doc/pgr_bdAstar.rst:243 msgid ":doc:`aStar-family`" msgstr ":doc:`aStar-family`" -#: ../../build/doc/pgr_bdAstar.rst:210 +#: ../../build/doc/pgr_bdAstar.rst:244 msgid ":doc:`bdAstar-family`" msgstr ":doc:`bdAstar-family`" -#: ../../build/doc/pgr_bdAstar.rst:211 +#: ../../build/doc/pgr_bdAstar.rst:245 msgid ":doc:`sampledata` network." msgstr "Red :doc:`sampledata` ." -#: ../../build/doc/pgr_bdAstar.rst:212 +#: ../../build/doc/pgr_bdAstar.rst:246 msgid "https://www.boost.org/libs/graph/doc/astar_search.html" msgstr "https://www.boost.org/libs/graph/doc/astar_search.html" -#: ../../build/doc/pgr_bdAstar.rst:213 +#: ../../build/doc/pgr_bdAstar.rst:247 msgid "https://en.wikipedia.org/wiki/A*_search_algorithm" msgstr "https://en.wikipedia.org/wiki/A*_search_algorithm" -#: ../../build/doc/pgr_bdAstar.rst:216 +#: ../../build/doc/pgr_bdAstar.rst:250 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bdAstar.rst:217 +#: ../../build/doc/pgr_bdAstar.rst:251 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bdAstar.rst:218 +#: ../../build/doc/pgr_bdAstar.rst:252 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "**edges_sql**" +#~ msgstr "**edges_sql**" + +#~ msgid "`edges_sql`_ inner query." +#~ msgstr "`edges_sql`_ consulta interna." + +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" +#~ msgstr "" +#~ "**Versiones soportadas:** actual(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" + +#~ msgid "Inner query" +#~ msgstr "Consulta interna" From 115b82d97e83c7ba7619cc5f12906f94a68ce4cd Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Mon, 14 Dec 2020 19:33:54 +0000 Subject: [PATCH 1161/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_bdAstarCost.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_bdAstarCost.po | 246 +++++++++++++++-------- 1 file changed, 162 insertions(+), 84 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_bdAstarCost.po b/locale/es/LC_MESSAGES/pgr_bdAstarCost.po index a847a402c4c..a5785553915 100644 --- a/locale/es/LC_MESSAGES/pgr_bdAstarCost.po +++ b/locale/es/LC_MESSAGES/pgr_bdAstarCost.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -38,41 +38,55 @@ msgstr "" #: ../../build/doc/pgr_bdAstarCost.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_bdAstarCost.rst:21 msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_bdAstarCost.rst:22 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_bdAstarCost.rst:24 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_bdAstarCost.rst:26 +msgid "pgr_bdAstarCost(Combinations)" +msgstr "pgr_bdAstarCost(Combinaciones)" + +#: ../../build/doc/pgr_bdAstarCost.rst:28 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_bdAstarCost.rst:24 +#: ../../build/doc/pgr_bdAstarCost.rst:30 msgid "**Official** function" msgstr "Función **oficial**" -#: ../../build/doc/pgr_bdAstarCost.rst:26 +#: ../../build/doc/pgr_bdAstarCost.rst:32 msgid "Version 2.5.0" msgstr "Versión 2.5.0" -#: ../../build/doc/pgr_bdAstarCost.rst:28 +#: ../../build/doc/pgr_bdAstarCost.rst:34 msgid "New **Proposed** function" msgstr "Nueva función **Propuesta**" -#: ../../build/doc/pgr_bdAstarCost.rst:30 +#: ../../build/doc/pgr_bdAstarCost.rst:36 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual​(`3.1 " -"`__) `3.0 " -"`__ `2.6 " +"*Versiones soportadas:** actual`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_bdAstarCost.rst:35 +#: ../../build/doc/pgr_bdAstarCost.rst:42 msgid "" "**Unsupported versions:** `2.5 " "`__" @@ -80,8 +94,9 @@ msgstr "" "**Versiones no soportadas:** `2.5 " "`__" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 -#: ../../build/doc/pgr_bdAstarCost.rst:39 +#: ../../build/doc/pgr_bdAstarCost.rst:46 msgid "Description" msgstr "Descripción" @@ -95,7 +110,7 @@ msgstr "Falta la el indicador de ``directed``." #: ../../build/doc/aStar-family.rst:6 msgid "``directed`` flag is set to true" -msgstr "El indicador de ``directed`` se configura a verdadero." +msgstr "El indicador de ``directed`` se configura a \"true\"." #: ../../build/doc/aStar-family.rst:8 msgid "Unless specified otherwise, ordering is:" @@ -156,7 +171,7 @@ msgstr "" msgid "Running time: :math:`O((E + V) * \\log V)`" msgstr "Tiempo de ejecución: :math:`O((E + V) * \\log V)`" -#: ../../build/doc/pgr_bdAstarCost.rst:45 +#: ../../build/doc/pgr_bdAstarCost.rst:52 msgid "" "The results are equivalent to the union of the results of the " "`pgr_bdAstarCost(` `One to One`_ `)` on the:" @@ -164,33 +179,33 @@ msgstr "" "Los resultados son equivalentes a la unión de los resultados de " "`pgr_bdAstarCost(` `Uno a Uno`_ `)` en:" -#: ../../build/doc/pgr_bdAstarCost.rst:47 +#: ../../build/doc/pgr_bdAstarCost.rst:54 msgid "`pgr_bdAstarCost(` `One to Many`_ `)`" msgstr "`pgr_bdAstarCost(` `Uno a Muchos`_ `)`" -#: ../../build/doc/pgr_bdAstarCost.rst:48 +#: ../../build/doc/pgr_bdAstarCost.rst:55 msgid "`pgr_bdAstarCost(` `Many to One`_ `)`" msgstr "`pgr_bdAstarCost(` `Muchos a Uno`_ `)`" -#: ../../build/doc/pgr_bdAstarCost.rst:49 +#: ../../build/doc/pgr_bdAstarCost.rst:56 msgid "`pgr_bdAstarCost(` `Many to Many`_ `)`" msgstr "`pgr_bdAstarCost(` `Muchos a Muchos`_ `)`" -#: ../../build/doc/pgr_bdAstarCost.rst:52 +#: ../../build/doc/pgr_bdAstarCost.rst:59 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_bdAstarCost.rst:55 +#: ../../build/doc/pgr_bdAstarCost.rst:62 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bdAstarCost.rst:66 +#: ../../build/doc/pgr_bdAstarCost.rst:74 msgid "Optional parameters are `named parameters` and have a default value." msgstr "" "Los parámetros opcionales son `parámetros con nombre` y tienen un valor " "predeterminado." -#: ../../build/doc/pgr_bdAstarCost.rst:69 +#: ../../build/doc/pgr_bdAstarCost.rst:77 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -198,15 +213,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bdAstarCost.rst:76 +#: ../../build/doc/pgr_bdAstarCost.rst:84 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "Del vértice :math:`2` al :`3` en un grafo **dirigido** " -#: ../../build/doc/pgr_bdAstarCost.rst:86 +#: ../../build/doc/pgr_bdAstarCost.rst:94 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_bdAstarCost.rst:94 +#: ../../build/doc/pgr_bdAstarCost.rst:102 msgid "" "From vertex :math:`2` to vertex :math:`3` on an **directed** graph using " "heuristic :math:`2`" @@ -214,11 +229,11 @@ msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **dirigido** usando " "la heurística :math:`2`" -#: ../../build/doc/pgr_bdAstarCost.rst:104 +#: ../../build/doc/pgr_bdAstarCost.rst:112 msgid "One to many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_bdAstarCost.rst:112 +#: ../../build/doc/pgr_bdAstarCost.rst:120 msgid "" "From vertex `2` to vertices :math:`\\{3, 11\\}` on a **directed** graph " "using heuristic `3` and factor :math:`3.5`" @@ -226,11 +241,11 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 11\\}` en un grafo " "**dirigido** usando la heurística :math:`3` y el factor :math:`3.5`" -#: ../../build/doc/pgr_bdAstarCost.rst:122 +#: ../../build/doc/pgr_bdAstarCost.rst:130 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_bdAstarCost.rst:130 +#: ../../build/doc/pgr_bdAstarCost.rst:138 msgid "" "From vertices :math:`\\{7, 2\\}` to vertex :math:`3` on a **undirected** " "graph using heuristic :math:`4`" @@ -238,11 +253,11 @@ msgstr "" "De los vértices :math:`\\{7, 2\\}` al vértice :math:`3` en un grafo **no " "dirigido** usando la heurística :math:`4`" -#: ../../build/doc/pgr_bdAstarCost.rst:140 +#: ../../build/doc/pgr_bdAstarCost.rst:148 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_bdAstarCost.rst:148 +#: ../../build/doc/pgr_bdAstarCost.rst:156 msgid "" "From vertices :math:`\\{7, 2\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** using heuristic :math:`5` and factor :math:`0.5`" @@ -250,7 +265,18 @@ msgstr "" "Del vértice :math:\\`{7,2\\}` a los vértices :math:`\\{3, 11\\}` en un grafo" " **dirigido** usando la heurística :math:`5` y el factor :math:`0.5`" -#: ../../build/doc/pgr_bdAstarCost.rst:155 +#: ../../build/doc/pgr_bdAstarCost.rst:163 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_bdAstarCost.rst:171 +msgid "" +"Using a combinations table on a **directed** graph using factor :math:`0.5`." +msgstr "" +"Usando una tabla de combinaciones en un grafo **dirigido** usando factor " +":math:`0.5`." + +#: ../../build/doc/pgr_bdAstarCost.rst:179 msgid "Parameters" msgstr "Parámetros" @@ -258,85 +284,97 @@ msgstr "Parámetros" msgid "Parameter" msgstr "Parámetro" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgr_aStar.rst:6 -msgid "**edges_sql**" -msgstr "**edges_sql**" +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_aStar.rst:6 +#: ../../build/doc/pgr_aStar.rst:6 ../../build/doc/pgr_aStar.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/pgr_aStar.rst:6 -msgid "`edges_sql`_ inner query." -msgstr "`edges_sql`_ consulta interna." +msgid "`Edges query` as described below." +msgstr "`Consulta de bordes` como se describe a continuación." #: ../../build/doc/pgr_aStar.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_aStar.rst:7 +msgid "`Combinations query` as described below." +msgstr "`Consulta de combinaciones` como se describe a continuación." + +#: ../../build/doc/pgr_aStar.rst:8 msgid "**from_vid**" msgstr "**from_vid**" +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:7 -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgRouting-concepts.rst:10 ../../build/doc/pgr_aStar.rst:8 +#: ../../build/doc/pgr_aStar.rst:18 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_aStar.rst:7 +#: ../../build/doc/pgr_aStar.rst:8 msgid "Starting vertex identifier. Parameter in:" msgstr "Identificador de vértice inicial. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:9 ../../build/doc/pgr_aStar.rst:19 +#: ../../build/doc/pgr_aStar.rst:10 ../../build/doc/pgr_aStar.rst:20 msgid "`One to One`_" msgstr "`Uno a Uno`_" -#: ../../build/doc/pgr_aStar.rst:10 ../../build/doc/pgr_aStar.rst:24 +#: ../../build/doc/pgr_aStar.rst:11 ../../build/doc/pgr_aStar.rst:25 msgid "`One to Many`_" msgstr "`Uno a Muchos`_" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "**from_vids**" msgstr "**from_vids**" -#: ../../build/doc/pgr_aStar.rst:12 ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:13 ../../build/doc/pgr_aStar.rst:23 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_aStar.rst:12 +#: ../../build/doc/pgr_aStar.rst:13 msgid "Array of starting vertices identifiers. Parameter in:" msgstr "Arreglo de identificadores de vértices iniciales. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:14 ../../build/doc/pgr_aStar.rst:20 +#: ../../build/doc/pgr_aStar.rst:15 ../../build/doc/pgr_aStar.rst:21 msgid "`Many to One`_" msgstr "`Muchos a Uno`_" -#: ../../build/doc/pgr_aStar.rst:15 ../../build/doc/pgr_aStar.rst:25 +#: ../../build/doc/pgr_aStar.rst:16 ../../build/doc/pgr_aStar.rst:26 msgid "`Many to Many`_" msgstr "`Muchos a Muchos`_" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "**to_vid**" msgstr "**to_vid**" -#: ../../build/doc/pgr_aStar.rst:17 +#: ../../build/doc/pgr_aStar.rst:18 msgid "Ending vertex identifier. Parameter in:" msgstr "Identificador de vértice final. Parámetro en:" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "**to_vids**" msgstr "**to_vids**" -#: ../../build/doc/pgr_aStar.rst:22 +#: ../../build/doc/pgr_aStar.rst:23 msgid "Array of ending vertices identifiers. Parameter in:" msgstr "Matriz de identificadores de vértices finales. Parámetro en:" -#: ../../build/doc/pgr_bdAstarCost.rst:162 +#: ../../build/doc/pgr_bdAstarCost.rst:186 msgid "Optional Parameters" msgstr "Parámetros opcionales" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 ../../build/doc/pgr_aStar.rst:4 msgid "Default" msgstr "Valores predeterminados" @@ -363,7 +401,7 @@ msgstr "Cuando ``false`` el gráfico se considera como No Dirigido" #: ../../build/doc/pgr_aStar.rst:9 msgid "**heuristic**" -msgstr "**heurística**" +msgstr "**heuristic**" #: ../../build/doc/pgr_aStar.rst:9 msgid "``INTEGER``" @@ -427,12 +465,15 @@ msgstr "**epsilon**" msgid "For less restricted results. :math:`epsilon >= 1`." msgstr "Para resultados menos restringidos. :math:`epsilon >= 1`." -#: ../../build/doc/pgr_bdAstarCost.rst:170 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_bdAstarCost.rst:194 +msgid "Inner queries" +msgstr "Consultas internas" + +#: ../../build/doc/pgr_bdAstarCost.rst:197 +msgid "Edges query" +msgstr "Consulta de aristas" #: ../../build/doc/pgRouting-concepts.rst -#: ../../build/doc/pgr_bdAstarCost.rst:173 msgid "edges_sql" msgstr "edges_sql" @@ -443,6 +484,7 @@ msgstr "" "Una consulta SQL, que debe regresar un conjunto de filas con las siguientes " "columnas:" +#: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 msgid "Column" msgstr "Columna" @@ -455,25 +497,29 @@ msgstr "**id**" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:10 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:11 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:15 @@ -548,6 +594,7 @@ msgstr "**y2**" msgid "Y coordinate of `target` vertex." msgstr "Coordenada Y del vértice `target`." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" msgstr "Donde:" @@ -556,6 +603,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:27 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -568,7 +616,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bdAstarCost.rst:180 +#: ../../build/doc/pgr_bdAstarCost.rst:204 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_bdAstarCost.rst:211 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -586,24 +638,16 @@ msgid "``BIGINT``" msgstr "``BIGINT``" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." -msgstr "" -"Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " -"iniciales en la consulta." +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**end_vid**" msgstr "**end_vid**" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." -msgstr "" -"Identificador del vértice final. Se utiliza cuando hay varios vértices " -"finales en la consulta." +msgid "Identifier of the ending vertex." +msgstr "Identificador del vértice final." #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**agg_cost**" @@ -613,34 +657,68 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_bdAstarCost.rst:187 +#: ../../build/doc/pgr_bdAstarCost.rst:218 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_bdAstarCost.rst:189 +#: ../../build/doc/pgr_bdAstarCost.rst:220 msgid ":doc:`bdAstar-family`" msgstr ":doc:`bdAstar-family`" -#: ../../build/doc/pgr_bdAstarCost.rst:190 +#: ../../build/doc/pgr_bdAstarCost.rst:221 msgid ":doc:`cost-category`" msgstr ":doc:`cost-category`" -#: ../../build/doc/pgr_bdAstarCost.rst:191 +#: ../../build/doc/pgr_bdAstarCost.rst:222 msgid ":doc:`costMatrix-category`" msgstr ":doc:`costMatrix-category`" -#: ../../build/doc/pgr_bdAstarCost.rst:192 +#: ../../build/doc/pgr_bdAstarCost.rst:223 msgid "Examples use :doc:`sampledata` network." msgstr "Los ejemplos utilizan la red :doc:`sampledata` " -#: ../../build/doc/pgr_bdAstarCost.rst:195 +#: ../../build/doc/pgr_bdAstarCost.rst:226 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bdAstarCost.rst:196 +#: ../../build/doc/pgr_bdAstarCost.rst:227 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bdAstarCost.rst:197 +#: ../../build/doc/pgr_bdAstarCost.rst:228 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "" +#~ "Identifier of the starting vertex. Used when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" +#~ "Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " +#~ "iniciales en la consulta." + +#~ msgid "" +#~ "Identifier of the ending vertex. Used when multiple ending vertices are in " +#~ "the query." +#~ msgstr "" +#~ "Identificador del vértice final. Se utiliza cuando hay varios vértices " +#~ "finales en la consulta." + +#~ msgid "**edges_sql**" +#~ msgstr "**edges_sql**" + +#~ msgid "`edges_sql`_ inner query." +#~ msgstr "`edges_sql`_ consulta interna." + +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" +#~ msgstr "" +#~ "**Versiones soportadas:** actual​(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" + +#~ msgid "Inner query" +#~ msgstr "Consulta interna" From 6f33893cb0385b5a66fec591054592636588ba6e Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Mon, 14 Dec 2020 19:29:03 +0000 Subject: [PATCH 1162/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_bdDijkstra.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_bdDijkstra.po | 218 +++++++++++++++--------- 1 file changed, 138 insertions(+), 80 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_bdDijkstra.po b/locale/es/LC_MESSAGES/pgr_bdDijkstra.po index a73c5821655..28dd03b1064 100644 --- a/locale/es/LC_MESSAGES/pgr_bdDijkstra.po +++ b/locale/es/LC_MESSAGES/pgr_bdDijkstra.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -38,77 +38,91 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstra.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_bdDijkstra.rst:21 msgid "Availability:" msgstr "Disponibilidad:" #: ../../build/doc/pgr_bdDijkstra.rst:22 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_bdDijkstra.rst:24 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_bdDijkstra.rst:26 +msgid "pgr_bdDijkstra(Combinations)" +msgstr "pgr_bdDijkstra(Combinaciones)" + +#: ../../build/doc/pgr_bdDijkstra.rst:28 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_bdDijkstra.rst:24 +#: ../../build/doc/pgr_bdDijkstra.rst:30 msgid "**Official** function" msgstr "Función **oficial**" -#: ../../build/doc/pgr_bdDijkstra.rst:26 +#: ../../build/doc/pgr_bdDijkstra.rst:32 msgid "Version 2.5.0" msgstr "Versión 2.5.0" -#: ../../build/doc/pgr_bdDijkstra.rst:28 +#: ../../build/doc/pgr_bdDijkstra.rst:34 msgid "New **Proposed** functions:" msgstr "Nuevas funciones **Propuestas**:" -#: ../../build/doc/pgr_bdDijkstra.rst:30 +#: ../../build/doc/pgr_bdDijkstra.rst:36 msgid "pgr_bdDijkstra(One to Many)" msgstr "pgr_bdDijkstra(Uno a Muchos)" -#: ../../build/doc/pgr_bdDijkstra.rst:31 +#: ../../build/doc/pgr_bdDijkstra.rst:37 msgid "pgr_bdDijkstra(Many to One)" msgstr "pgr_bdDijkstra(Muchos a Uno)" -#: ../../build/doc/pgr_bdDijkstra.rst:32 +#: ../../build/doc/pgr_bdDijkstra.rst:38 msgid "pgr_bdDijkstra(Many to Many)" msgstr "pgr_bdDijkstra(Muchos a Muchos)" -#: ../../build/doc/pgr_bdDijkstra.rst:34 +#: ../../build/doc/pgr_bdDijkstra.rst:40 msgid "Version 2.4.0" msgstr "Versión 2.4.0" -#: ../../build/doc/pgr_bdDijkstra.rst:36 +#: ../../build/doc/pgr_bdDijkstra.rst:42 msgid "Signature change on pgr_bdDijsktra(One to One)" msgstr "La firma cambió en pgr_bdDijsktra(Uno a Uno)" -#: ../../build/doc/pgr_bdDijkstra.rst:38 +#: ../../build/doc/pgr_bdDijkstra.rst:44 msgid "Old signature no longer supported" msgstr "Firma antigua ya no soportada" -#: ../../build/doc/pgr_bdDijkstra.rst:40 +#: ../../build/doc/pgr_bdDijkstra.rst:46 msgid "Version 2.0.0" msgstr "Versión 2.0.0" -#: ../../build/doc/pgr_bdDijkstra.rst:42 +#: ../../build/doc/pgr_bdDijkstra.rst:48 msgid "**Official** pgr_bdDijkstra(One to One)" msgstr "**Oficial** pgr_bdDijkstra(Uno a Uno)" -#: ../../build/doc/pgr_bdDijkstra.rst:45 +#: ../../build/doc/pgr_bdDijkstra.rst:51 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_bdDijkstra.rst:46 +#: ../../build/doc/pgr_bdDijkstra.rst:52 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__ `2.6 " +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_bdDijkstra.rst:51 +#: ../../build/doc/pgr_bdDijkstra.rst:58 msgid "" "**Unsupported versions:** `2.5 " "`__ `2.4 " @@ -130,12 +144,12 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bdDijkstra.rst:60 -#: ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:67 +#: ../../build/doc/pgr_bdDijkstra.rst:198 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_bdDijkstra.rst:62 +#: ../../build/doc/pgr_bdDijkstra.rst:69 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -184,15 +198,15 @@ msgstr "" msgid "It is expected to terminate faster than pgr_dijkstra" msgstr "Se espera que termine más rápido que pgr_dijkstra" -#: ../../build/doc/pgr_bdDijkstra.rst:69 +#: ../../build/doc/pgr_bdDijkstra.rst:76 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_bdDijkstra.rst:72 +#: ../../build/doc/pgr_bdDijkstra.rst:79 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bdDijkstra.rst:84 +#: ../../build/doc/pgr_bdDijkstra.rst:92 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -200,24 +214,24 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bdDijkstra.rst:91 +#: ../../build/doc/pgr_bdDijkstra.rst:99 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "Del vértice :math:`2` al vértice :math:`3`" -#: ../../build/doc/pgr_bdDijkstra.rst:101 +#: ../../build/doc/pgr_bdDijkstra.rst:109 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_bdDijkstra.rst:109 +#: ../../build/doc/pgr_bdDijkstra.rst:117 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **no dirigido**" -#: ../../build/doc/pgr_bdDijkstra.rst:119 +#: ../../build/doc/pgr_bdDijkstra.rst:127 msgid "One to many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_bdDijkstra.rst:127 +#: ../../build/doc/pgr_bdDijkstra.rst:135 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " "graph" @@ -225,22 +239,22 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 11\\}` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_bdDijkstra.rst:137 +#: ../../build/doc/pgr_bdDijkstra.rst:145 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_bdDijkstra.rst:145 +#: ../../build/doc/pgr_bdDijkstra.rst:153 msgid "" "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** graph" msgstr "" "De los vértices :math:`\\{2, 7\\}` al vértice :math:`3` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_bdDijkstra.rst:155 +#: ../../build/doc/pgr_bdDijkstra.rst:163 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_bdDijkstra.rst:163 +#: ../../build/doc/pgr_bdDijkstra.rst:171 msgid "" "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** graph" @@ -248,39 +262,56 @@ msgstr "" "De los vértice​s :math:`\\{2, 7\\}` a los vértice​s :math:`\\{3, 11\\}` en " "un grafo **dirigido**" -#: ../../build/doc/pgr_bdDijkstra.rst:170 +#: ../../build/doc/pgr_bdDijkstra.rst:178 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_bdDijkstra.rst:186 +msgid "Using a combinations table on a **directed** graph." +msgstr "Uso de una tabla de combinaciones en un grafo **dirigido**." + +#: ../../build/doc/pgr_bdDijkstra.rst:193 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:198 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:198 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_bdDijkstra.rst:175 +#: ../../build/doc/pgr_bdDijkstra.rst:198 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_bdDijkstra.rst:177 +#: ../../build/doc/pgr_bdDijkstra.rst:200 msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/pgr_bdDijkstra.rst:177 +#: ../../build/doc/pgr_bdDijkstra.rst:200 +#: ../../build/doc/pgr_bdDijkstra.rst:201 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_bdDijkstra.rst:177 -msgid "`Edges query`_ as described below" -msgstr "`Edges query`_ como se describe a continuación" +#: ../../build/doc/pgr_bdDijkstra.rst:200 +msgid "`Edges query` as described below" +msgstr "`Consulta de bordes` como se describe a continuación" + +#: ../../build/doc/pgr_bdDijkstra.rst:201 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_bdDijkstra.rst:201 +msgid "`Combinations query` as described below" +msgstr "`Consulta de combinaciones` como se describe a continuación" #: ../../build/doc/pgRouting-concepts.rst:11 -#: ../../build/doc/pgr_bdDijkstra.rst:178 +#: ../../build/doc/pgr_bdDijkstra.rst:202 msgid "**start_vid**" msgstr "**start_vid**" @@ -288,70 +319,70 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 -#: ../../build/doc/pgr_bdDijkstra.rst:178 -#: ../../build/doc/pgr_bdDijkstra.rst:180 +#: ../../build/doc/pgr_bdDijkstra.rst:202 +#: ../../build/doc/pgr_bdDijkstra.rst:204 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_bdDijkstra.rst:178 +#: ../../build/doc/pgr_bdDijkstra.rst:202 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_bdDijkstra.rst:179 +#: ../../build/doc/pgr_bdDijkstra.rst:203 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_bdDijkstra.rst:179 -#: ../../build/doc/pgr_bdDijkstra.rst:181 +#: ../../build/doc/pgr_bdDijkstra.rst:203 +#: ../../build/doc/pgr_bdDijkstra.rst:205 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_bdDijkstra.rst:179 +#: ../../build/doc/pgr_bdDijkstra.rst:203 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:18 -#: ../../build/doc/pgr_bdDijkstra.rst:180 +#: ../../build/doc/pgr_bdDijkstra.rst:204 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_bdDijkstra.rst:180 +#: ../../build/doc/pgr_bdDijkstra.rst:204 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_bdDijkstra.rst:181 +#: ../../build/doc/pgr_bdDijkstra.rst:205 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_bdDijkstra.rst:181 +#: ../../build/doc/pgr_bdDijkstra.rst:205 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_bdDijkstra.rst:182 +#: ../../build/doc/pgr_bdDijkstra.rst:206 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_bdDijkstra.rst:183 +#: ../../build/doc/pgr_bdDijkstra.rst:207 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_bdDijkstra.rst:189 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_bdDijkstra.rst:213 +msgid "Inner queries" +msgstr "Consultas internas" -#: ../../build/doc/pgr_bdDijkstra.rst:192 +#: ../../build/doc/pgr_bdDijkstra.rst:216 msgid "Edges query" msgstr "Consulta de aristas" @@ -374,18 +405,22 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -432,6 +467,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "Donde:" @@ -440,6 +476,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -452,7 +489,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bdDijkstra.rst:199 +#: ../../build/doc/pgr_bdDijkstra.rst:223 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_bdDijkstra.rst:230 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -572,37 +613,54 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_bdDijkstra.rst:206 +#: ../../build/doc/pgr_bdDijkstra.rst:237 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_bdDijkstra.rst:208 +#: ../../build/doc/pgr_bdDijkstra.rst:239 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_bdDijkstra.rst:209 +#: ../../build/doc/pgr_bdDijkstra.rst:240 msgid ":doc:`bdDijkstra-family`" msgstr ":doc:`bdDijkstra-family`" -#: ../../build/doc/pgr_bdDijkstra.rst:210 +#: ../../build/doc/pgr_bdDijkstra.rst:241 #, python-format msgid "" "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" msgstr "" "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" -#: ../../build/doc/pgr_bdDijkstra.rst:211 +#: ../../build/doc/pgr_bdDijkstra.rst:242 msgid "https://en.wikipedia.org/wiki/Bidirectional_search" msgstr "https://en.wikipedia.org/wiki/Bidirectional_search" -#: ../../build/doc/pgr_bdDijkstra.rst:214 +#: ../../build/doc/pgr_bdDijkstra.rst:245 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bdDijkstra.rst:215 +#: ../../build/doc/pgr_bdDijkstra.rst:246 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bdDijkstra.rst:216 +#: ../../build/doc/pgr_bdDijkstra.rst:247 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" +#~ msgstr "" +#~ "**Versiones soportadas:** actual(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" + +#~ msgid "`Edges query`_ as described below" +#~ msgstr "`Edges query`_ como se describe a continuación" + +#~ msgid "Inner query" +#~ msgstr "Consulta interna" From 7fdef93f5e58beb224b889532a942e1dad092c25 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 15:51:49 +0000 Subject: [PATCH 1163/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_bdDijkstraCost.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po | 219 +++++++++++++------- 1 file changed, 141 insertions(+), 78 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po b/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po index ddb02aab4b0..40b4539454c 100644 --- a/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po +++ b/locale/es/LC_MESSAGES/pgr_bdDijkstraCost.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-08 12:28-0600\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -33,50 +33,64 @@ msgid "" "``pgr_bdDijkstraCost`` — Returns the shortest path(s)'s cost using " "Bidirectional Dijkstra algorithm." msgstr "" -"``pgr_bdDijkstraCost`` — Devuelve la(s) ruta(s) más corta utilizando el " +"``pgr_bdDijkstraCost`` — Devuelve la ruta(s) más corta utilizando el " "algoritmo de Dijkstra Bidireccional. " #: ../../build/doc/pgr_bdDijkstraCost.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_bdDijkstraCost.rst:21 msgid "Availability:" msgstr "Disponibilidad:" #: ../../build/doc/pgr_bdDijkstraCost.rst:22 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:24 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:26 +msgid "pgr_bdDijkstraCost(Combinations)" +msgstr "pgr_bdDijkstraCost(Combinaciones)" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:28 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_bdDijkstraCost.rst:24 +#: ../../build/doc/pgr_bdDijkstraCost.rst:30 msgid "**Official** function" msgstr "Función **oficial**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:26 +#: ../../build/doc/pgr_bdDijkstraCost.rst:32 msgid "Version 2.5.0" msgstr "Versión 2.5.0" -#: ../../build/doc/pgr_bdDijkstraCost.rst:28 +#: ../../build/doc/pgr_bdDijkstraCost.rst:34 msgid "New **proposed** function" msgstr "Nueva función **propuesta**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:31 +#: ../../build/doc/pgr_bdDijkstraCost.rst:37 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_bdDijkstraCost.rst:32 +#: ../../build/doc/pgr_bdDijkstraCost.rst:38 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__ `2.6 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__ `2.6 " +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__ `2.6 " "`__" -#: ../../build/doc/pgr_bdDijkstraCost.rst:37 +#: ../../build/doc/pgr_bdDijkstraCost.rst:44 msgid "" "**Unsupported versions:** `2.5 " "`__" @@ -87,11 +101,11 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgr_bdDijkstra.rst:4 -#: ../../build/doc/pgr_bdDijkstraCost.rst:42 +#: ../../build/doc/pgr_bdDijkstraCost.rst:49 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_bdDijkstraCost.rst:44 +#: ../../build/doc/pgr_bdDijkstraCost.rst:51 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" @@ -140,15 +154,15 @@ msgstr "" msgid "It is expected to terminate faster than pgr_dijkstra" msgstr "Se espera que termine más rápido que pgr_dijkstra" -#: ../../build/doc/pgr_bdDijkstraCost.rst:51 +#: ../../build/doc/pgr_bdDijkstraCost.rst:58 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_bdDijkstraCost.rst:54 +#: ../../build/doc/pgr_bdDijkstraCost.rst:61 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bdDijkstraCost.rst:66 +#: ../../build/doc/pgr_bdDijkstraCost.rst:74 msgid "Using default" msgstr "Uso de valores predeterminados" @@ -156,24 +170,24 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bdDijkstraCost.rst:73 +#: ../../build/doc/pgr_bdDijkstraCost.rst:81 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "Del vértice :math:`2` al vértice :math:`3` en un grafo **dirigido**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:83 +#: ../../build/doc/pgr_bdDijkstraCost.rst:91 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_bdDijkstraCost.rst:91 +#: ../../build/doc/pgr_bdDijkstraCost.rst:99 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **no dirigido**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:101 +#: ../../build/doc/pgr_bdDijkstraCost.rst:109 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_bdDijkstraCost.rst:109 +#: ../../build/doc/pgr_bdDijkstraCost.rst:117 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 11\\}` on a **directed** " "graph" @@ -181,22 +195,22 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 11\\}` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:119 +#: ../../build/doc/pgr_bdDijkstraCost.rst:127 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_bdDijkstraCost.rst:127 +#: ../../build/doc/pgr_bdDijkstraCost.rst:135 msgid "" "From vertices :math:`\\{2, 7\\}` to vertex :math:`3` on a **directed** graph" msgstr "" "De los vértices :math:`\\{2, 7\\}` al vértice :math:`3` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:137 +#: ../../build/doc/pgr_bdDijkstraCost.rst:145 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_bdDijkstraCost.rst:145 +#: ../../build/doc/pgr_bdDijkstraCost.rst:153 msgid "" "From vertices :math:`\\{2, 7\\}` to vertices :math:`\\{3, 11\\}` on a " "**directed** graph" @@ -204,7 +218,15 @@ msgstr "" "De los vértice​s :math:`\\{2, 7\\}` a los vértice​s :math:`\\{3, 11\\}` en " "un grafo **dirigido**" -#: ../../build/doc/pgr_bdDijkstraCost.rst:152 +#: ../../build/doc/pgr_bdDijkstraCost.rst:160 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:168 +msgid "Using a combinations table on a **directed** graph." +msgstr "Uso de una tabla de combinaciones en un grafo **dirigido**." + +#: ../../build/doc/pgr_bdDijkstraCost.rst:175 msgid "Parameters" msgstr "Parámetros" @@ -227,83 +249,91 @@ msgstr "Valores predeterminados" msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/pgr_bdDijkstra.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:6 ../../build/doc/pgr_bdDijkstra.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/pgr_bdDijkstra.rst:6 -msgid "`Edges query`_ as described below" -msgstr "`Edges query`_ como se describe a continuación" +msgid "`Edges query` as described below" +msgstr "`Consulta de bordes` como se describe a continuación" + +#: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" -#: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "`Combinations query` as described below" +msgstr "`Consulta de combinaciones` como se describe a continuación" + +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "**start_vid**" msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_bdDijkstra.rst:7 ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:8 ../../build/doc/pgr_bdDijkstra.rst:10 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_bdDijkstra.rst:7 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_bdDijkstra.rst:8 ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:9 ../../build/doc/pgr_bdDijkstra.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_bdDijkstra.rst:12 +#: ../../build/doc/pgr_bdDijkstra.rst:13 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_bdDijkstraCost.rst:159 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_bdDijkstraCost.rst:182 +msgid "Inner queries" +msgstr "Consultas internas" -#: ../../build/doc/pgr_bdDijkstraCost.rst:162 +#: ../../build/doc/pgr_bdDijkstraCost.rst:185 msgid "Edges query" msgstr "Consulta de aristas" @@ -326,25 +356,29 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -383,6 +417,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "Donde:" @@ -391,6 +426,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -403,7 +439,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bdDijkstraCost.rst:169 +#: ../../build/doc/pgr_bdDijkstraCost.rst:192 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_bdDijkstraCost.rst:199 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -412,20 +452,12 @@ msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" msgstr "Devuelve SET OF ``(start_vid, end_vid, agg_cost)``" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." -msgstr "" -"Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " -"iniciales en la consulta." +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." -msgstr "" -"Identificador del vértice final. Se utiliza cuando hay varios vértices " -"finales en la consulta." +msgid "Identifier of the ending vertex." +msgstr "Identificador del vértice final." #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**agg_cost**" @@ -439,37 +471,68 @@ msgstr "``FLOAT``" msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_bdDijkstraCost.rst:176 +#: ../../build/doc/pgr_bdDijkstraCost.rst:206 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_bdDijkstraCost.rst:178 +#: ../../build/doc/pgr_bdDijkstraCost.rst:208 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_bdDijkstraCost.rst:179 +#: ../../build/doc/pgr_bdDijkstraCost.rst:209 msgid ":doc:`pgr_bdDijkstra`" msgstr ":doc:`pgr_bdDijkstra`" -#: ../../build/doc/pgr_bdDijkstraCost.rst:180 +#: ../../build/doc/pgr_bdDijkstraCost.rst:210 #, python-format msgid "" "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" msgstr "" "https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf" -#: ../../build/doc/pgr_bdDijkstraCost.rst:181 +#: ../../build/doc/pgr_bdDijkstraCost.rst:211 msgid "https://en.wikipedia.org/wiki/Bidirectional_search" msgstr "https://en.wikipedia.org/wiki/Bidirectional_search" -#: ../../build/doc/pgr_bdDijkstraCost.rst:184 +#: ../../build/doc/pgr_bdDijkstraCost.rst:214 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bdDijkstraCost.rst:185 +#: ../../build/doc/pgr_bdDijkstraCost.rst:215 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bdDijkstraCost.rst:186 +#: ../../build/doc/pgr_bdDijkstraCost.rst:216 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "" +#~ "Identifier of the starting vertex. Used when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" +#~ "Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " +#~ "iniciales en la consulta." + +#~ msgid "" +#~ "Identifier of the ending vertex. Used when multiple ending vertices are in " +#~ "the query." +#~ msgstr "" +#~ "Identificador del vértice final. Se utiliza cuando hay varios vértices " +#~ "finales en la consulta." + +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" +#~ msgstr "" +#~ "**Versiones soportadas:** actual(`3.1 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " +#~ "`__" + +#~ msgid "`Edges query`_ as described below" +#~ msgstr "`Edges query`_ como se describe a continuación" + +#~ msgid "Inner query" +#~ msgstr "Consulta interna" From 3c6d74bb17dd03f87d3dd2e1e1eb9a53c6d7c604 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 21:39:06 +0000 Subject: [PATCH 1164/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_bellmanFord.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_bellmanFord.po | 207 ++++++++++++++--------- 1 file changed, 126 insertions(+), 81 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_bellmanFord.po b/locale/es/LC_MESSAGES/pgr_bellmanFord.po index d8120899d13..3455c1e7e72 100644 --- a/locale/es/LC_MESSAGES/pgr_bellmanFord.po +++ b/locale/es/LC_MESSAGES/pgr_bellmanFord.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -116,35 +116,49 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_bellmanFord.rst:27 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_bellmanFord.rst:29 +msgid "New **experimental** function:" +msgstr "Nueva función **experimental**:" + +#: ../../build/doc/pgr_bellmanFord.rst:31 +msgid "pgr_bellmanFord(Combinations)" +msgstr "pgr_bellmanFord(Combinaciones)" + +#: ../../build/doc/pgr_bellmanFord.rst:33 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_bellmanFord.rst:29 +#: ../../build/doc/pgr_bellmanFord.rst:35 msgid "New **experimental** function" msgstr "Nueva función **experimental**" -#: ../../build/doc/pgr_bellmanFord.rst:32 +#: ../../build/doc/pgr_bellmanFord.rst:38 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_bellmanFord.rst:33 +#: ../../build/doc/pgr_bellmanFord.rst:39 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__" +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bellmanFord.rst:38 -#: ../../build/doc/pgr_bellmanFord.rst:175 +#: ../../build/doc/pgr_bellmanFord.rst:45 +#: ../../build/doc/pgr_bellmanFord.rst:201 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_bellmanFord.rst:40 +#: ../../build/doc/pgr_bellmanFord.rst:47 msgid "" "Bellman-Ford's algorithm, is named after Richard Bellman and Lester Ford, " "who first published it in 1958 and 1956, respectively. It is a graph search " @@ -163,22 +177,22 @@ msgstr "" "Dijkstra/ Esta implementación se puede utilizar con un grafo dirigido y un " "grafo no dirigido." -#: ../../build/doc/pgr_bellmanFord.rst:64 +#: ../../build/doc/pgr_bellmanFord.rst:71 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_bellmanFord.rst:46 +#: ../../build/doc/pgr_bellmanFord.rst:53 msgid "" "Process is valid for edges with both positive and negative edge weights." msgstr "" "El proceso es válido para aristas con grosores de arista positivos y " "negativos." -#: ../../build/doc/pgr_bellmanFord.rst:47 +#: ../../build/doc/pgr_bellmanFord.rst:54 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/pgr_bellmanFord.rst:49 +#: ../../build/doc/pgr_bellmanFord.rst:56 msgid "" "When the start vertex and the end vertex are the same, there is no path. The" " agg_cost would be 0." @@ -186,7 +200,7 @@ msgstr "" "Cuando el vértice inicial y el vértice final son los mismos, no hay ruta. El" " agg_cost sería 0." -#: ../../build/doc/pgr_bellmanFord.rst:51 +#: ../../build/doc/pgr_bellmanFord.rst:58 msgid "" "When the start vertex and the end vertex are different, and there exists a " "path between them without having a *negative cycle*. The agg_cost would be " @@ -196,7 +210,7 @@ msgstr "" "ruta entre ellos sin tener un *ciclo negativo*. El agg_cost sería un valor " "finito que indica la distancia más corta entre ellos." -#: ../../build/doc/pgr_bellmanFord.rst:52 +#: ../../build/doc/pgr_bellmanFord.rst:59 msgid "" "When the start vertex and the end vertex are different, and there exists a " "path between them, but it contains a *negative cycle*. In such case, " @@ -208,7 +222,7 @@ msgstr "" "para esos vértices siguen disminuyendo además, por lo tanto agg_cost no se " "puede definir para ellos." -#: ../../build/doc/pgr_bellmanFord.rst:54 +#: ../../build/doc/pgr_bellmanFord.rst:61 msgid "" "When the start vertex and the end vertex are different, and there is no " "path. The agg_cost is :math:`\\infty`." @@ -216,7 +230,7 @@ msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay ruta. " "El agg_cost es :math:`\\infty`." -#: ../../build/doc/pgr_bellmanFord.rst:56 +#: ../../build/doc/pgr_bellmanFord.rst:63 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` are ignored." @@ -224,31 +238,31 @@ msgstr "" "Para fines de optimización, se omite cualquier valor duplicado en " "`start_vids` o `end_vids`." -#: ../../build/doc/pgr_bellmanFord.rst:58 +#: ../../build/doc/pgr_bellmanFord.rst:65 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_bellmanFord.rst:60 +#: ../../build/doc/pgr_bellmanFord.rst:67 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/pgr_bellmanFord.rst:61 +#: ../../build/doc/pgr_bellmanFord.rst:68 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/pgr_bellmanFord.rst:63 +#: ../../build/doc/pgr_bellmanFord.rst:70 msgid "Running time: :math:`O(| start\\_vids | * ( V * E))`" msgstr "Tiempo de ejecución :math:`O(| start\\_vids | * ( V * E))`" -#: ../../build/doc/pgr_bellmanFord.rst:67 +#: ../../build/doc/pgr_bellmanFord.rst:74 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_bellmanFord.rst:70 +#: ../../build/doc/pgr_bellmanFord.rst:77 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_bellmanFord.rst:82 +#: ../../build/doc/pgr_bellmanFord.rst:90 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -256,24 +270,24 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_bellmanFord.rst:89 +#: ../../build/doc/pgr_bellmanFord.rst:97 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "Del vértice :math:`2` al :`3` en un grafo **dirigido** " -#: ../../build/doc/pgr_bellmanFord.rst:99 +#: ../../build/doc/pgr_bellmanFord.rst:107 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_bellmanFord.rst:107 +#: ../../build/doc/pgr_bellmanFord.rst:115 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **no dirigido**" -#: ../../build/doc/pgr_bellmanFord.rst:117 +#: ../../build/doc/pgr_bellmanFord.rst:125 msgid "One to many" msgstr "Uno a muchos" -#: ../../build/doc/pgr_bellmanFord.rst:125 +#: ../../build/doc/pgr_bellmanFord.rst:133 msgid "" "From vertex :math:`2` to vertices :math:`\\{ 3, 5\\}` on an **undirected** " "graph" @@ -281,11 +295,11 @@ msgstr "" "Desde el vértice :math:`2` a los vértices :math:`\\{ 3, 5\\}` en un grafo " "**no dirigido**" -#: ../../build/doc/pgr_bellmanFord.rst:135 +#: ../../build/doc/pgr_bellmanFord.rst:143 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_bellmanFord.rst:143 +#: ../../build/doc/pgr_bellmanFord.rst:151 msgid "" "From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "graph" @@ -293,11 +307,11 @@ msgstr "" "De los vértices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "graph" -#: ../../build/doc/pgr_bellmanFord.rst:153 +#: ../../build/doc/pgr_bellmanFord.rst:161 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_bellmanFord.rst:161 +#: ../../build/doc/pgr_bellmanFord.rst:169 msgid "" "From vertices :math:`\\{2, 11\\}` to vertices :math:`\\{3, 5\\}` on an " "**undirected** graph" @@ -305,44 +319,61 @@ msgstr "" "De los vértices​ :math:`\\{2, 11\\}` a los vértices :math:`\\{3, 5\\}` en " "un grafo **no dirigido**" -#: ../../build/doc/pgr_bellmanFord.rst:168 +#: ../../build/doc/pgr_bellmanFord.rst:179 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_bellmanFord.rst:187 +msgid "Using a combinations table on an **undirected** graph." +msgstr "Uso de una tabla de combinaciones en un grafo **no dirigido**." + +#: ../../build/doc/pgr_bellmanFord.rst:194 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_bellmanFord.rst:173 +#: ../../build/doc/pgr_bellmanFord.rst:199 msgid "Description of the parameters of the signatures" msgstr "" "Descripción de los parámetros de las firmas (declaraciones de funciones)" -#: ../../build/doc/pgr_bellmanFord.rst:175 +#: ../../build/doc/pgr_bellmanFord.rst:201 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_bellmanFord.rst:175 +#: ../../build/doc/pgr_bellmanFord.rst:201 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_bellmanFord.rst:175 +#: ../../build/doc/pgr_bellmanFord.rst:201 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_bellmanFord.rst:177 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/pgr_bellmanFord.rst:203 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_bellmanFord.rst:177 +#: ../../build/doc/pgr_bellmanFord.rst:203 +#: ../../build/doc/pgr_bellmanFord.rst:204 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_bellmanFord.rst:177 -msgid "SQL query as described above." -msgstr "Consulta SQL como se describió anteriormente." +#: ../../build/doc/pgr_bellmanFord.rst:203 +msgid "Edges query as described below." +msgstr "Consulta de bordes como se describe a continuación." + +#: ../../build/doc/pgr_bellmanFord.rst:204 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_bellmanFord.rst:204 +msgid "Combinations query as described below." +msgstr "Consulta de combinaciones como se describe a continuación." #: ../../build/doc/pgRouting-concepts.rst:10 -#: ../../build/doc/pgr_bellmanFord.rst:178 +#: ../../build/doc/pgr_bellmanFord.rst:205 msgid "**start_vid**" msgstr "**start_vid**" @@ -350,68 +381,72 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:16 #: ../../build/doc/pgRouting-concepts.rst:22 #: ../../build/doc/pgRouting-concepts.rst:23 -#: ../../build/doc/pgr_bellmanFord.rst:178 -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:205 +#: ../../build/doc/pgr_bellmanFord.rst:207 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_bellmanFord.rst:178 +#: ../../build/doc/pgr_bellmanFord.rst:205 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_bellmanFord.rst:179 +#: ../../build/doc/pgr_bellmanFord.rst:206 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_bellmanFord.rst:179 -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:206 +#: ../../build/doc/pgr_bellmanFord.rst:208 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_bellmanFord.rst:179 +#: ../../build/doc/pgr_bellmanFord.rst:206 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:16 -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:207 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_bellmanFord.rst:180 +#: ../../build/doc/pgr_bellmanFord.rst:207 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:208 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_bellmanFord.rst:181 +#: ../../build/doc/pgr_bellmanFord.rst:208 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_bellmanFord.rst:182 +#: ../../build/doc/pgr_bellmanFord.rst:209 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_bellmanFord.rst:183 +#: ../../build/doc/pgr_bellmanFord.rst:210 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_bellmanFord.rst:189 -msgid "Inner Query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_bellmanFord.rst:216 +msgid "Inner Queries" +msgstr "Consultas Internas" + +#: ../../build/doc/pgr_bellmanFord.rst:219 +msgid "Edges query" +msgstr "Consulta de aristas" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 @@ -432,18 +467,22 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -490,6 +529,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "Donde:" @@ -498,6 +538,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -510,7 +551,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_bellmanFord.rst:196 +#: ../../build/doc/pgr_bellmanFord.rst:226 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_bellmanFord.rst:233 msgid "Results Columns" msgstr "Columnas de Resultados" @@ -616,27 +661,27 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_bellmanFord.rst:203 +#: ../../build/doc/pgr_bellmanFord.rst:240 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_bellmanFord.rst:205 +#: ../../build/doc/pgr_bellmanFord.rst:242 #, python-format msgid "https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm" msgstr "https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm" -#: ../../build/doc/pgr_bellmanFord.rst:206 +#: ../../build/doc/pgr_bellmanFord.rst:243 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_bellmanFord.rst:209 +#: ../../build/doc/pgr_bellmanFord.rst:246 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_bellmanFord.rst:210 +#: ../../build/doc/pgr_bellmanFord.rst:247 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_bellmanFord.rst:211 +#: ../../build/doc/pgr_bellmanFord.rst:248 msgid ":ref:`search`" msgstr ":ref:`search`" From 639e07554b90e81f13f7ccbcfb61b24e048c7aa9 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 21:39:38 +0000 Subject: [PATCH 1165/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po' on the 'es' language. --- .../pgr_binaryBreadthFirstSearch.po | 213 +++++++++++------- 1 file changed, 129 insertions(+), 84 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po b/locale/es/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po index 3af1ab85f9a..d9555ec784d 100644 --- a/locale/es/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po +++ b/locale/es/LC_MESSAGES/pgr_binaryBreadthFirstSearch.po @@ -1,19 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-07 21:01-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" @@ -41,7 +41,7 @@ msgstr "" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:19 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/experimental.rst:3 msgid "Possible server crash" @@ -117,17 +117,33 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:27 -msgid "To-be experimental on v3.0.0" -msgstr "Para ser experimental en v3.0.0" +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:29 +msgid "New **experimental** function:" +msgstr "Nueva función **experimental**:" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:31 +msgid "pgr_binaryBreadthFirstSearch(Combinations)" +msgstr "pgr_binaryBreadthFirstSearch(Combinaciones)" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:33 +msgid "Version 3.0.0" +msgstr "Versión 3.0.0" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:35 +msgid "New **experimental** function" +msgstr "Nueva función **experimental**" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:30 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:38 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:32 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:40 msgid "" "It is well-known that the shortest paths between a single source and all " "other vertices can be found using Breadth First Search in :math:`O(|E|)` in " @@ -147,7 +163,7 @@ msgstr "" "peso, que necesitamos un algoritmo más general, como el Algoritmo de " "Dijkstra que se ejecuta en :math:`O(|E|log|V|)` tiempo." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:34 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:42 msgid "" "However if the weights are more constrained, we can use a faster algorithm. " "This algorithm, termed as 'Binary Breadth First Search' as well as '0-1 " @@ -163,11 +179,11 @@ msgstr "" ":math:`O(|E|)`, si los pesos de cada arista pertenecen al conjunto de " "caracteres de {0,X}, donde 'X' es cualquier entero real no negativo." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:37 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:45 msgid "**The main Characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:39 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:47 msgid "" "Process is done only on 'binary graphs'. ('Binary Graph': Any graph whose " "edge-weights belongs to the set {0,X}, where 'X' is any non-negative real " @@ -177,7 +193,7 @@ msgstr "" " grafo cuyos pesos de aristas pertenezcan al conjunto {0, X}, donde 'X' es " "cualquier entero real no negativo)." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:41 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:49 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` are ignored." @@ -185,23 +201,23 @@ msgstr "" "Para fines de optimización, se omite cualquier valor duplicado en " "`start_vids` o `end_vids`." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:43 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:51 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:45 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:53 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:46 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:54 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:48 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:56 msgid "Running time: :math:`O(| start\\_vids | * |E|)`" msgstr "Tiempo de ejecución: :math:`O(| start\\_vids | * |E|)`" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:51 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:59 msgid "Signatures" msgstr "Firmas" @@ -209,28 +225,28 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:67 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:76 msgid "" "From vertex :math:`2` to vertex :math:`3` on a **directed** binary graph" msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo binario **dirigido** " -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:77 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:86 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:86 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:94 msgid "" "From vertex :math:`2` to vertex :math:`3` on an **undirected** binary graph" msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo binario **no " "dirigido** " -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:96 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:104 msgid "One to many" -msgstr "Uno a Muchos" +msgstr "Uno a muchos" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:105 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:112 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 5\\}` on an **undirected** " "binary graph" @@ -238,11 +254,11 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 5\\}` en un grafo binario" " **no dirigido**" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:115 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:122 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:124 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:130 msgid "" "From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "binary graph" @@ -250,11 +266,11 @@ msgstr "" "De los vértices :math:`\\{2, 11\\}` al vértice :math:`5` en un grafo binario" " **dirigido**" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:134 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:140 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:143 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:148 msgid "" "From vertices :math:`\\{2, 11\\}` to vertices :math:`\\{3, 5\\}` on an " "**undirected** binary graph" @@ -262,39 +278,57 @@ msgstr "" "De los vértices :math:`\\{2, 11\\}` a los vértices :math:`\\{3, 5\\}` en un " "grafo binario **no dirigido**" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:150 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:166 +msgid "Using a combinations table on an **undirected** binary graph." +msgstr "" +"Uso de una tabla de combinaciones en un grafo binario **no dirigido**." + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:173 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:155 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:157 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:180 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:157 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:180 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:181 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:157 -msgid "Inner SQL query as described below." -msgstr "Consulta SQL interna como se describe a continuación." +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:180 +msgid "Edges query as described below." +msgstr "Consulta de bordes como se describe a continuación." + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:181 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:181 +msgid "Combinations query as described below." +msgstr "Consulta de combinaciones como se describe a continuación." #: ../../build/doc/pgRouting-concepts.rst:11 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:182 msgid "**start_vid**" msgstr "**start_vid**" @@ -302,68 +336,72 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:160 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:182 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:184 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:158 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:182 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:159 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:183 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:159 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:161 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:183 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:185 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:159 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:183 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:18 -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:160 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:184 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:160 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:184 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:161 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:185 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:161 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:185 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:162 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:163 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:187 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:169 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:193 +msgid "Inner queries" +msgstr "Consultas internas" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:196 +msgid "Edges query" +msgstr "Consulta de aristas" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 @@ -384,18 +422,22 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -442,6 +484,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "Donde:" @@ -450,6 +493,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -462,7 +506,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:178 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:203 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:210 msgid "Return Columns" msgstr "Columnas de Devoluciones" @@ -527,7 +575,7 @@ msgstr "`Muchos a Uno`_" #: ../../build/doc/pgRouting-concepts.rst:15 #: ../../build/doc/pgRouting-concepts.rst:22 msgid "`Many to Many`_" -msgstr "`Muchos a Muchos`_" +msgstr "`Many to Many`_" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" @@ -582,15 +630,15 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:186 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:218 msgid "Example Data" msgstr "Datos de ejemplo" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:188 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:220 msgid "This type of data is used on the examples of this page." msgstr "Este tipo de datos se utiliza en los ejemplos de esta página." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:190 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:222 msgid "" "Edwards-Moore Algorithm is best applied when trying to answer queries such " "as the following: **“Find the path with the minimum number from Source to " @@ -604,7 +652,7 @@ msgstr "" "Cualquier vértice de destino arbitrario * *X* es un evento/propiedad * Cada " "arista del grafo es “*X*” o “*Not X*” ." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:197 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:229 msgid "" "Example: “Find the path with the minimum number of road works from Source to" " Destination”" @@ -612,7 +660,7 @@ msgstr "" "Ejemplo: \"Encuentra la ruta con el número mínimo de obras de carretera de " "Origen a Destino\"" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:200 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 msgid "" "Here, a road under work(aka **road works**) means that part of the road is " "occupied for construction work/maintenance." @@ -621,7 +669,7 @@ msgstr "" "significa que parte de la carretera está ocupada para trabajos de " "construcción/mantenimiento." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:203 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:235 msgid "" "Here: * Edge ( *u* , *v* ) has weight = 0 if no road work is ongoing on the " "road from *u* to *v*. * Edge ( *u*, *v*) has weight = 1 if road work is " @@ -631,7 +679,7 @@ msgstr "" "en la carreterea desde *u* a *v*. * Arista ( *u*, *v*) pesa = 1 si hay obras" " viales en ese momento desde *u* a *v*." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:207 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:239 msgid "" "Then, upon running the algorithm, we obtain the path with the minimum number" " of road works from the given source and destination." @@ -639,7 +687,7 @@ msgstr "" "Luego, al ejecutar el algoritmo, obtenemos la ruta con el número mínimo de " "obras viales desde el origen y el destino dados." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:210 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:242 msgid "" "Thus, the queries used in the previous section can be interpreted in this " "manner." @@ -647,11 +695,11 @@ msgstr "" "Por lo tanto, las consultas utilizadas en la sección anterior se pueden " "interpretar de esta manera." -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:213 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:245 msgid "Table Data" msgstr "Datos de la Tabla" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:216 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:248 msgid "" "The queries in the previous sections use the table 'roadworks'. The data of " "the table:" @@ -659,32 +707,29 @@ msgstr "" "Las consultas de las secciones anteriores utilizan la tabla 'roadworks'. Los" " datos de la tabla:" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:224 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:256 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:226 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:258 msgid "https://cp-algorithms.com/graph/01_bfs.html" msgstr "https://cp-algorithms.com/graph/01_bfs.html" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:227 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:259 #, python-format msgid "" "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#Specialized_variants" msgstr "" "https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#Specialized_variants" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:230 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:262 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:231 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:263 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:232 +#: ../../build/doc/pgr_binaryBreadthFirstSearch.rst:264 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" - -#~ msgid "https://codeforces.com/blog/entry/22276" -#~ msgstr "https://codeforces.com/blog/entry/22276" +msgstr ":ref:`search`" From a1244df1d78d0b51d773bb88dedba0cab8144eb9 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Sat, 21 Nov 2020 18:31:10 +0000 Subject: [PATCH 1166/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_bipartite.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_bipartite.po | 427 +++++++++++++++++++++++++ 1 file changed, 427 insertions(+) create mode 100644 locale/es/LC_MESSAGES/pgr_bipartite.po diff --git a/locale/es/LC_MESSAGES/pgr_bipartite.po b/locale/es/LC_MESSAGES/pgr_bipartite.po new file mode 100644 index 00000000000..e6990089cc2 --- /dev/null +++ b/locale/es/LC_MESSAGES/pgr_bipartite.po @@ -0,0 +1,427 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +# Translators: +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: 2020-11-04 19:19+0000\n" +"Last-Translator: MarPetra , 2020\n" +"Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../build/doc/pgr_bipartite.rst:11 +msgid "pgr_bipartite -Experimental" +msgstr "pgr_bipartite -Experimental" + +#: ../../build/doc/pgr_bipartite.rst:13 +msgid "" +"``pgr_bipartite`` — If graph is bipartite then function returns the vertex " +"id along with color (0 and 1) else it will return an empty set. In " +"particular, the is_bipartite() algorithm implemented by Boost.Graph." +msgstr "" +"``pgr_bipartite`` — Si el grafo es bipartito, la función devuelve la " +"identificación del vértice junto con el color (0 y 1); de lo contrario, " +"devolverá un conjunto vacío. En particular, el algoritmo is_bipartite () " +"implementado por Boost.Graph" + +#: ../../build/doc/pgr_bipartite.rst:19 +msgid "Boost Graph Inside" +msgstr "Adentro: Boost Graph" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "Funciones experimentales" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "No son oficialmente de la versión actual." + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "El nombre puede cambiar." + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "La firma o declaración de funciones podría cambiar." + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "La funcionalidad puede cambiar." + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "Las pruebas de pgTap pueden estar ausentes." + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "Posiblemente necesite codificación c/c++." + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "Puede haber carencia de documentación." + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" +"Ejemplos de documentación que puede ser necesario generar automáticamente." + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "Puede depender de una función propuesta de pgRouting." + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "Podría depender de una función obsoleta de pgRouting" + +#: ../../build/doc/pgr_bipartite.rst:26 +msgid "Availability" +msgstr "Disponibilidad" + +#: ../../build/doc/pgr_bipartite.rst:27 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_bipartite.rst:29 +msgid "New **experimental** function" +msgstr "Nueva función **experimental**" + +#: ../../build/doc/pgr_bipartite.rst:32 +msgid "Support" +msgstr "Soporte" + +#: ../../build/doc/pgr_bipartite.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" +"**Versiones soportadas:** actual(`3.2 " +"`__)" + +#: ../../build/doc/coloring-family.rst:4 ../../build/doc/coloring-family.rst:6 +#: ../../build/doc/pgr_bipartite.rst:39 ../../build/doc/traversal-family.rst:4 +msgid "Description" +msgstr "Descripción" + +#: ../../build/doc/pgr_bipartite.rst:40 +msgid "" +"A bipartite graph is a graph with two sets of vertices which are connected " +"to each other, but not within themselves. A bipartite graph is possible if " +"the graph coloring is possible using two colors such that vertices in a set " +"are colored with the same color." +msgstr "" +"Un grafo bipartito es un grafo con dos conjuntos de vértices que están " +"conectados entre sí, pero no dentro de sí mismos. Un gráfico bipartito es " +"posible si el color del gráfico es posible utilizando dos colores, de modo " +"que los vértices de un conjunto se colorean con el mismo color." + +#: ../../build/doc/pgr_bipartite.rst:43 +msgid "**The main Characteristics are:**" +msgstr "**Las características principales son:**" + +#: ../../build/doc/pgr_bipartite.rst:45 +msgid "The algorithm works in undirected graph only." +msgstr "El algoritmo solo funciona en un grafo no dirigido." + +#: ../../build/doc/pgr_bipartite.rst:46 +msgid "The returned values are not ordered." +msgstr "Los valores devueltos no están ordenados." + +#: ../../build/doc/pgr_bipartite.rst:47 +msgid "" +"The algorithm checks graph is bipartite or not. If it is bipartite then it " +"returns the node along with two colors `0` and `1` which represents two " +"different sets." +msgstr "" +"El algoritmo comprueba si el gráfico es bipartito o no. Si es bipartito, " +"devuelve el nodo junto con dos colores '0' y '1' que representa dos " +"conjuntos diferentes." + +#: ../../build/doc/pgr_bipartite.rst:48 +msgid "If graph is not bipartite then algorithm returns empty set." +msgstr "Si el grafo no es bipartito, el algoritmo devuelve un conjunto vacío." + +#: ../../build/doc/pgr_bipartite.rst:49 +msgid "Running time: :math:`O(V + E)`" +msgstr "Tiempo de ejecución: :math:`O(V + E)`" + +#: ../../build/doc/pgr_bipartite.rst:52 +msgid "Signatures" +msgstr "Firmas" + +#: ../../build/doc/pgr_bipartite.rst +msgid "Example" +msgstr "Ejemplo" + +#: ../../build/doc/pgr_bipartite.rst:64 +msgid "" +"The pgr_bipartite algorithm with and edge_sql as a parameter when graph is " +"bipartite:" +msgstr "" +"El algoritmo pgr_bipartite con edge_sql como parámetro cuando el grafo es " +"bipartito:" + +#: ../../build/doc/pgr_bipartite.rst:78 +msgid "Parameters" +msgstr "Parámetros" + +#: ../../build/doc/coloring-family.rst:4 +msgid "Parameter" +msgstr "Parámetro" + +#: ../../build/doc/coloring-family.rst:4 ../../build/doc/coloring-family.rst:6 +#: ../../build/doc/traversal-family.rst:4 +msgid "Type" +msgstr "Tipo" + +#: ../../build/doc/coloring-family.rst:6 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" + +#: ../../build/doc/coloring-family.rst:6 +msgid "``TEXT``" +msgstr "``TEXT``" + +#: ../../build/doc/coloring-family.rst:6 +msgid "Inner query as described below." +msgstr "Consulta interna como se describe a continuación." + +#: ../../build/doc/pgr_bipartite.rst:85 +msgid "Inner query" +msgstr "Consulta interna" + +#: ../../build/doc/pgr_bipartite.rst +msgid "Edges SQL" +msgstr "Edges SQL" + +#: ../../build/doc/pgr_bipartite.rst:87 +msgid "" +"an SQL query of an **undirected** graph, which should return a set of rows " +"with the following columns:" +msgstr "" +"Una consulta SQL de un grafo **no dirigido**, que debería devolver un " +"conjunto de filas con las siguientes columnas:" + +#: ../../build/doc/coloring-family.rst:6 +#: ../../build/doc/traversal-family.rst:4 +msgid "Column" +msgstr "Columna" + +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "Valores predeterminados" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "**id**" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "``ANY-INTEGER``" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "Identificador de la arista." + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "**origen**" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "Identificador del primer punto final en el vértice de la arista." + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "**objetivo**" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "Identificador del segundo punto final en el vértice de la arista." + +#: ../../build/doc/traversal-family.rst:9 +msgid "**cost**" +msgstr "**cost**" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "``ANY-NUMERICAL``" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "Cuando es positivo: el borde `(origen, destino)` existe en el grafo." + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" +"Cuando es negativo: el borde `(origen, desitno)` no existe en el grafo." + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "**reverse_cost**" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "-1" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "Cuando es positivo: el borde `(origen, destino)` existe en el grafo." + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" +"Cuando es negativo: el borde `(destino, origen)` no existe en el grafo." + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "Donde:" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-INTEGER" +msgstr "ANY-INTEGER" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "SMALLINT, INTEGER, BIGINT" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-NUMERICAL" +msgstr "ANY-NUMERICAL" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" + +#: ../../build/doc/pgr_bipartite.rst:95 +msgid "Result Columns" +msgstr "Columnas de Resultados" + +#: ../../build/doc/coloring-family.rst:3 +msgid "Returns SET OF ``(vertex_id, color_id)``" +msgstr "Devuelve SET OF ``(vertex_id, color_id)``" + +#: ../../build/doc/coloring-family.rst:8 +msgid "**vertex_id**" +msgstr "**vertex_id**" + +#: ../../build/doc/coloring-family.rst:8 ../../build/doc/coloring-family.rst:9 +msgid "``BIGINT``" +msgstr "``BIGINT``" + +#: ../../build/doc/coloring-family.rst:8 +msgid "Identifier of the vertex." +msgstr "Identificador del vértice." + +#: ../../build/doc/coloring-family.rst:9 +msgid "**color_id**" +msgstr "**color_id**" + +#: ../../build/doc/coloring-family.rst:9 +msgid "Identifier of the color of the vertex." +msgstr "Identificador del color del vértice." + +#: ../../build/doc/coloring-family.rst:11 +msgid "The minimum value of color is 1." +msgstr "El valor mínimo de color es 1." + +#: ../../build/doc/pgr_bipartite.rst:103 +msgid "Additional Example" +msgstr "Ejemplo Adicional" + +#: ../../build/doc/pgr_bipartite.rst:105 +msgid "The odd length cyclic graph can not be bipartite." +msgstr "El gráfico cíclico de longitud impar no puede ser bipartito." + +#: ../../build/doc/pgr_bipartite.rst:107 +msgid "" +"The following edge will make subgraph with vertices {1, 2, 5, 7, 8} an odd " +"length cyclic graph." +msgstr "" +"En el siguiente borde se hará de el subgrafo con vértices {1, 2, 5, 7, 8} un" +" grafo cíclico de longitud impar." + +#: ../../build/doc/pgr_bipartite.rst:114 +msgid "" +"The new graph is not bipartite because it has a odd length cycle of 5 " +"vertices. Edges in blue represent odd length cycle." +msgstr "" +"El nuevo grafo no es bipartito porque tiene un ciclo de longitud impar de 5 " +"vértices. Las aristas en azul representan un ciclo de longitud impar." + +#: ../../build/doc/pgr_bipartite.rst:129 +msgid "See Also" +msgstr "Ver también" + +#: ../../build/doc/pgr_bipartite.rst:133 +msgid "" +"`Boost: is_bipartite algorithm documentation " +"`__" +msgstr "" +"`Boost: Documentación del algoritmo is_bipartite " +"`__" + +#: ../../build/doc/pgr_bipartite.rst:134 +msgid "" +"`Wikipedia: bipartite graph " +"`__" +msgstr "" +"`Wikipedia: grafo bipartito " +"`__" + +#: ../../build/doc/pgr_bipartite.rst:138 +msgid ":doc:`sampledata` network." +msgstr "Red :doc:`sampledata` ." + +#: ../../build/doc/pgr_bipartite.rst:141 +msgid "Indices and tables" +msgstr "Índices y tablas" + +#: ../../build/doc/pgr_bipartite.rst:142 +msgid ":ref:`genindex`" +msgstr ":ref:`genindex`" + +#: ../../build/doc/pgr_bipartite.rst:143 +msgid ":ref:`search`" +msgstr ":ref:`search`" From 81fd18bee4d025ebdb67b9b1e90789b44184b505 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 21:32:57 +0000 Subject: [PATCH 1167/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_boykovKolmogorov.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po | 187 ++++++++++++------ 1 file changed, 126 insertions(+), 61 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po b/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po index c444f4bc2cd..ccbb9b53826 100644 --- a/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po +++ b/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -40,55 +40,69 @@ msgstr "" #: ../../build/doc/pgr_boykovKolmogorov.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_boykovKolmogorov.rst:21 msgid "Availability:" msgstr "Disponibilidad:" #: ../../build/doc/pgr_boykovKolmogorov.rst:22 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:24 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:26 +msgid "pgr_boykovKolmogorov(Combinations)" +msgstr "pgr_boykovKolmogorov(Combinaciones)" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:28 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_boykovKolmogorov.rst:24 +#: ../../build/doc/pgr_boykovKolmogorov.rst:30 msgid "**Official** function" msgstr "Función **oficial**" -#: ../../build/doc/pgr_boykovKolmogorov.rst:26 +#: ../../build/doc/pgr_boykovKolmogorov.rst:32 msgid "Version 2.5.0" msgstr "Versión 2.5.0" -#: ../../build/doc/pgr_boykovKolmogorov.rst:28 +#: ../../build/doc/pgr_boykovKolmogorov.rst:34 msgid "Renamed from ``pgr_maxFlowBoykovKolmogorov``" msgstr "Renombrado de ``pgr_maxFlowBoykovKolmogorov``" -#: ../../build/doc/pgr_boykovKolmogorov.rst:29 +#: ../../build/doc/pgr_boykovKolmogorov.rst:35 msgid "**Proposed** function" msgstr "Función **propuesta**" -#: ../../build/doc/pgr_boykovKolmogorov.rst:31 +#: ../../build/doc/pgr_boykovKolmogorov.rst:37 msgid "Version 2.3.0" msgstr "Versión 2.3.0" -#: ../../build/doc/pgr_boykovKolmogorov.rst:33 +#: ../../build/doc/pgr_boykovKolmogorov.rst:39 msgid "New **Experimental** function" msgstr "Nueva función **Experimental**" -#: ../../build/doc/pgr_boykovKolmogorov.rst:36 +#: ../../build/doc/pgr_boykovKolmogorov.rst:42 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_boykovKolmogorov.rst:37 +#: ../../build/doc/pgr_boykovKolmogorov.rst:43 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__" +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__" -#: ../../build/doc/pgr_boykovKolmogorov.rst:41 +#: ../../build/doc/pgr_boykovKolmogorov.rst:48 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -105,7 +119,8 @@ msgstr "" "`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_boykovKolmogorov.rst:49 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_boykovKolmogorov.rst:56 msgid "Description" msgstr "Descripción" @@ -174,19 +189,19 @@ msgstr "Mediante la agregación del flujo saliente de los orígenes" msgid "By aggregation of the incoming flow to the targets" msgstr "Mediante la agregación del flujo entrante a los destinos" -#: ../../build/doc/pgr_boykovKolmogorov.rst:55 +#: ../../build/doc/pgr_boykovKolmogorov.rst:62 msgid "Running time: Polynomial" msgstr "Tiempo de ejecución: Polinomio" -#: ../../build/doc/pgr_boykovKolmogorov.rst:58 +#: ../../build/doc/pgr_boykovKolmogorov.rst:65 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_boykovKolmogorov.rst:61 +#: ../../build/doc/pgr_boykovKolmogorov.rst:68 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_boykovKolmogorov.rst:75 +#: ../../build/doc/pgr_boykovKolmogorov.rst:83 msgid "One to One" msgstr "Uno a Uno" @@ -194,47 +209,62 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_boykovKolmogorov.rst:83 +#: ../../build/doc/pgr_boykovKolmogorov.rst:91 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "Del vértice :math:`6` al vértice :math:`11`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:93 +#: ../../build/doc/pgr_boykovKolmogorov.rst:101 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_boykovKolmogorov.rst:101 +#: ../../build/doc/pgr_boykovKolmogorov.rst:109 msgid "From vertex :math:`6` to vertices :math:`\\{1, 3, 11\\}`" msgstr "Del vértice :math:`6` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:111 +#: ../../build/doc/pgr_boykovKolmogorov.rst:119 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_boykovKolmogorov.rst:119 +#: ../../build/doc/pgr_boykovKolmogorov.rst:127 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "De los vértices vertices :math:`\\{6, 8, 12\\}` al vértice :math:`11`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:129 +#: ../../build/doc/pgr_boykovKolmogorov.rst:137 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_boykovKolmogorov.rst:137 +#: ../../build/doc/pgr_boykovKolmogorov.rst:145 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "De los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:144 +#: ../../build/doc/pgr_boykovKolmogorov.rst:155 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_boykovKolmogorov.rst:163 +msgid "" +"Using a combinations table, equivalent to calculating result from vertices " +":math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" +"Usando una tabla de combinaciones, equivalente a calcular el resultado de " +"los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`." + +#: ../../build/doc/pgr_boykovKolmogorov.rst:170 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "Columna" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Type" msgstr "Tipo" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "Valores predeterminados" @@ -242,15 +272,24 @@ msgstr "Valores predeterminados" msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." -msgstr "La consulta SQL de aristas como se describe en `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." +msgstr "Consulta de bordes como se describe en `Consultas internas`_." + +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." + +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "**origen**" @@ -260,41 +299,41 @@ msgstr "**origen**" msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "Identificador del vértice inicial del flujo." -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "**orígenes**" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "Conjunto de identificadores de los vértices iniciales del flujo." -#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "Identificador del vértice final del flujo." -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "**destinos**" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_boykovKolmogorov.rst:151 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_boykovKolmogorov.rst:177 +msgid "Inner queries" +msgstr "Consultas internas" #: ../../build/doc/flow-family.rst msgid "Edges SQL" @@ -314,7 +353,8 @@ msgstr "**id**" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/flow-family.rst:15 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" @@ -323,10 +363,12 @@ msgid "Identifier of the edge." msgstr "Identificador de la arista." #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -348,7 +390,7 @@ msgstr "" #: ../../build/doc/flow-family.rst:15 msgid "**reverse_capacity**" -msgstr "**reverse_capacity**" +msgstr "**reverse_capacity** (**capacidad inversa**)" #: ../../build/doc/flow-family.rst:15 msgid "-1" @@ -367,18 +409,41 @@ msgstr "" "es parte del grafo." #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "Donde:" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "ANY-INTEGER" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" -#: ../../build/doc/pgr_boykovKolmogorov.rst:158 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "Combinaciones SQL" + +#: ../../build/doc/flow-family.rst:3 +msgid "" +"an SQL query which should return a set of rows with the following columns:" +msgstr "" +"una consulta SQL que debe devolver un conjunto de filas con las siguientes " +"columnas:" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the duplicates," +" and then it calculates the result from the resultant source vertices to the" +" target vertices." +msgstr "" +"La función agrega los orígenes y los destinos, quita los duplicados y, a " +"continuación, calcula el resultado de los vértices de origen resultantes a " +"los vértices de destino." + +#: ../../build/doc/pgr_boykovKolmogorov.rst:188 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -429,26 +494,26 @@ msgid "" msgstr "" "Capacidad residual del arista en la dirección (``start_vid``, ``end_vid``)." -#: ../../build/doc/pgr_boykovKolmogorov.rst:165 +#: ../../build/doc/pgr_boykovKolmogorov.rst:195 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_boykovKolmogorov.rst:167 +#: ../../build/doc/pgr_boykovKolmogorov.rst:197 msgid ":doc:`flow-family`, :doc:`pgr_pushRelabel`, :doc:`pgr_edmondsKarp`" msgstr ":doc:`flow-family`, :doc:`pgr_pushRelabel`, :doc:`pgr_edmondsKarp`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:168 +#: ../../build/doc/pgr_boykovKolmogorov.rst:198 msgid "https://www.boost.org/libs/graph/doc/boykov_kolmogorov_max_flow.html" msgstr "https://www.boost.org/libs/graph/doc/boykov_kolmogorov_max_flow.html" -#: ../../build/doc/pgr_boykovKolmogorov.rst:171 +#: ../../build/doc/pgr_boykovKolmogorov.rst:201 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_boykovKolmogorov.rst:172 +#: ../../build/doc/pgr_boykovKolmogorov.rst:202 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_boykovKolmogorov.rst:173 +#: ../../build/doc/pgr_boykovKolmogorov.rst:203 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" From 8b450cf4101b1464a4cd64c530861c991d8000dd Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 21:37:49 +0000 Subject: [PATCH 1168/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_dagShortestPath.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_dagShortestPath.po | 197 ++++++++++++------- 1 file changed, 121 insertions(+), 76 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_dagShortestPath.po b/locale/es/LC_MESSAGES/pgr_dagShortestPath.po index 6da00829149..93770ea4a33 100644 --- a/locale/es/LC_MESSAGES/pgr_dagShortestPath.po +++ b/locale/es/LC_MESSAGES/pgr_dagShortestPath.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"POT-Creation-Date: 2020-12-15 07:54-0600\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -116,35 +116,49 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_dagShortestPath.rst:27 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_dagShortestPath.rst:29 +msgid "New **experimental** function:" +msgstr "Nueva función **experimental**:" + +#: ../../build/doc/pgr_dagShortestPath.rst:31 +msgid "pgr_dagShortestPath(Combinations)" +msgstr "pgr_dagShortestPath(Combinaciones)" + +#: ../../build/doc/pgr_dagShortestPath.rst:33 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_dagShortestPath.rst:29 +#: ../../build/doc/pgr_dagShortestPath.rst:35 msgid "New **experimental** function" msgstr "Nueva función **experimental**" -#: ../../build/doc/pgr_dagShortestPath.rst:32 +#: ../../build/doc/pgr_dagShortestPath.rst:38 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_dagShortestPath.rst:33 +#: ../../build/doc/pgr_dagShortestPath.rst:39 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__" +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_dagShortestPath.rst:38 -#: ../../build/doc/pgr_dagShortestPath.rst:167 +#: ../../build/doc/pgr_dagShortestPath.rst:45 +#: ../../build/doc/pgr_dagShortestPath.rst:194 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_dagShortestPath.rst:40 +#: ../../build/doc/pgr_dagShortestPath.rst:47 msgid "" "Shortest Path for Directed Acyclic Graph(DAG) is a graph search algorithm " "that solves the shortest path problem for weighted directed acyclic graph, " @@ -156,7 +170,7 @@ msgstr "" "acíclico dirigido ponderado, produciendo una ruta más corta desde un vértice" " inicial (``start_vid``) a un vértice final (``end_vid``)." -#: ../../build/doc/pgr_dagShortestPath.rst:44 +#: ../../build/doc/pgr_dagShortestPath.rst:51 msgid "" "This implementation can only be used with a **directed** graph with no " "cycles i.e. directed acyclic graph." @@ -164,7 +178,7 @@ msgstr "" "Esta implementación solo se puede utilizar con un grafo **dirigido** sin " "ciclos i.e., es decir, un grafo acíclico dirigido." -#: ../../build/doc/pgr_dagShortestPath.rst:46 +#: ../../build/doc/pgr_dagShortestPath.rst:53 msgid "" "The algorithm relies on topological sorting the dag to impose a linear " "ordering on the vertices, and thus is more efficient for DAG's than either " @@ -174,11 +188,11 @@ msgstr "" "orden lineal en los vértices, y por lo tanto es más eficaz para DAG que el " "algoritmo Dijkstra o Bellman-Ford." -#: ../../build/doc/pgr_dagShortestPath.rst:68 +#: ../../build/doc/pgr_dagShortestPath.rst:75 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_dagShortestPath.rst:49 +#: ../../build/doc/pgr_dagShortestPath.rst:56 msgid "" "Process is valid for weighted directed acyclic graphs only. otherwise it " "will throw warnings." @@ -186,32 +200,32 @@ msgstr "" "El proceso solo es válido para grafos acíclicos dirigidos ponderados, de lo " "contrario lanzará advertencias." -#: ../../build/doc/pgr_dagShortestPath.rst:50 +#: ../../build/doc/pgr_dagShortestPath.rst:57 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/pgr_dagShortestPath.rst:52 +#: ../../build/doc/pgr_dagShortestPath.rst:59 msgid "" "When the starting vertex and ending vertex are the same, there is no path." msgstr "" "Cuando el vértice inicial y el vértice final son iguales, no hay camino." -#: ../../build/doc/pgr_dagShortestPath.rst:54 +#: ../../build/doc/pgr_dagShortestPath.rst:61 msgid "The `agg_cost` the non included values `(v, v)` is `0`" msgstr "El `agg_cost` de los valores no incluídos `(v, v)` es `0`" -#: ../../build/doc/pgr_dagShortestPath.rst:56 +#: ../../build/doc/pgr_dagShortestPath.rst:63 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path:" msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay camino:" -#: ../../build/doc/pgr_dagShortestPath.rst:58 +#: ../../build/doc/pgr_dagShortestPath.rst:65 msgid "The `agg_cost` the non included values `(u, v)` is :math:`\\infty`" msgstr "El 'agg_cost' de los valores no incluídos '(u, v)' es :math: `\\infty`" -#: ../../build/doc/pgr_dagShortestPath.rst:60 +#: ../../build/doc/pgr_dagShortestPath.rst:67 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` are ignored." @@ -219,31 +233,31 @@ msgstr "" "Para fines de optimización, se omite cualquier valor duplicado en " "`start_vids` o `end_vids`." -#: ../../build/doc/pgr_dagShortestPath.rst:62 +#: ../../build/doc/pgr_dagShortestPath.rst:69 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_dagShortestPath.rst:64 +#: ../../build/doc/pgr_dagShortestPath.rst:71 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/pgr_dagShortestPath.rst:65 +#: ../../build/doc/pgr_dagShortestPath.rst:72 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/pgr_dagShortestPath.rst:67 +#: ../../build/doc/pgr_dagShortestPath.rst:74 msgid "Running time: :math:`O(| start\\_vids | * (V + E))`" msgstr "Tiempo de ejecución: :math:`O(| start\\_vids | * (V + E))`" -#: ../../build/doc/pgr_dagShortestPath.rst:71 +#: ../../build/doc/pgr_dagShortestPath.rst:78 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_dagShortestPath.rst:74 +#: ../../build/doc/pgr_dagShortestPath.rst:81 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_dagShortestPath.rst:90 +#: ../../build/doc/pgr_dagShortestPath.rst:98 msgid "One to One" msgstr "Uno a Uno" @@ -251,72 +265,89 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_dagShortestPath.rst:98 +#: ../../build/doc/pgr_dagShortestPath.rst:106 msgid "From vertex :math:`1` to vertex :math:`6`" msgstr "Desde el vértice :math:`1` al vértice :math:`6`" -#: ../../build/doc/pgr_dagShortestPath.rst:108 +#: ../../build/doc/pgr_dagShortestPath.rst:116 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_dagShortestPath.rst:116 +#: ../../build/doc/pgr_dagShortestPath.rst:124 msgid "From vertex :math:`1` to vertices :math:`\\{ 5, 6\\}`" msgstr "Desde el vértice :math:`1` a los vértices :math:`\\{ 5, 6\\}`" -#: ../../build/doc/pgr_dagShortestPath.rst:126 +#: ../../build/doc/pgr_dagShortestPath.rst:134 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_dagShortestPath.rst:134 +#: ../../build/doc/pgr_dagShortestPath.rst:142 msgid "From vertices :math:`\\{1, 3\\}` to vertex :math:`6`" msgstr "Desde los vértices :math:`\\{1, 3\\}` al vértice :math:`6`" -#: ../../build/doc/pgr_dagShortestPath.rst:144 +#: ../../build/doc/pgr_dagShortestPath.rst:152 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_dagShortestPath.rst:152 +#: ../../build/doc/pgr_dagShortestPath.rst:160 msgid "From vertices :math:`\\{1, 4\\}` to vertices :math:`\\{12, 6\\}`" msgstr "Desde los vértices :`\\{1, 4\\}` a los vértices :math:`\\{12, 6\\}`" -#: ../../build/doc/pgr_dagShortestPath.rst:160 +#: ../../build/doc/pgr_dagShortestPath.rst:171 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_dagShortestPath.rst:179 +msgid "Using a combinations table on a Directed Acyclic Graph." +msgstr "Uso de una tabla de combinaciones en un Grafo Acíclico Dirigido." + +#: ../../build/doc/pgr_dagShortestPath.rst:187 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_dagShortestPath.rst:165 +#: ../../build/doc/pgr_dagShortestPath.rst:192 msgid "Description of the parameters of the signatures" msgstr "" "Descripción de los parámetros de las firmas (declaraciones de funciones)" -#: ../../build/doc/pgr_dagShortestPath.rst:167 +#: ../../build/doc/pgr_dagShortestPath.rst:194 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_dagShortestPath.rst:167 +#: ../../build/doc/pgr_dagShortestPath.rst:194 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_dagShortestPath.rst:167 +#: ../../build/doc/pgr_dagShortestPath.rst:194 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_dagShortestPath.rst:169 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/pgr_dagShortestPath.rst:196 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_dagShortestPath.rst:169 +#: ../../build/doc/pgr_dagShortestPath.rst:196 +#: ../../build/doc/pgr_dagShortestPath.rst:197 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_dagShortestPath.rst:169 -msgid "SQL query as described above." -msgstr "Consulta SQL como se describió anteriormente." +#: ../../build/doc/pgr_dagShortestPath.rst:196 +msgid "Edges query as described below." +msgstr "Consulta de bordes como se describe a continuación." + +#: ../../build/doc/pgr_dagShortestPath.rst:197 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_dagShortestPath.rst:197 +msgid "Combinations query as described above." +msgstr "Consulta de combinaciones como se describió anteriormente." #: ../../build/doc/pgRouting-concepts.rst:10 -#: ../../build/doc/pgr_dagShortestPath.rst:170 +#: ../../build/doc/pgr_dagShortestPath.rst:198 msgid "**start_vid**" msgstr "**start_vid**" @@ -324,48 +355,52 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:16 #: ../../build/doc/pgRouting-concepts.rst:22 #: ../../build/doc/pgRouting-concepts.rst:23 -#: ../../build/doc/pgr_dagShortestPath.rst:170 -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:198 +#: ../../build/doc/pgr_dagShortestPath.rst:200 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_dagShortestPath.rst:170 +#: ../../build/doc/pgr_dagShortestPath.rst:198 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_dagShortestPath.rst:171 +#: ../../build/doc/pgr_dagShortestPath.rst:199 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_dagShortestPath.rst:171 -#: ../../build/doc/pgr_dagShortestPath.rst:173 +#: ../../build/doc/pgr_dagShortestPath.rst:199 +#: ../../build/doc/pgr_dagShortestPath.rst:201 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_dagShortestPath.rst:171 +#: ../../build/doc/pgr_dagShortestPath.rst:199 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:16 -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:200 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_dagShortestPath.rst:172 +#: ../../build/doc/pgr_dagShortestPath.rst:200 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_dagShortestPath.rst:173 +#: ../../build/doc/pgr_dagShortestPath.rst:201 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_dagShortestPath.rst:173 +#: ../../build/doc/pgr_dagShortestPath.rst:201 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_dagShortestPath.rst:179 -msgid "Inner Query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_dagShortestPath.rst:207 +msgid "Inner Queries" +msgstr "Consultas Internas" + +#: ../../build/doc/pgr_dagShortestPath.rst:210 +msgid "Edges query" +msgstr "Consulta de aristas" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 @@ -386,18 +421,22 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -444,6 +483,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "Donde:" @@ -452,6 +492,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -464,7 +505,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_dagShortestPath.rst:186 +#: ../../build/doc/pgr_dagShortestPath.rst:217 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_dagShortestPath.rst:224 msgid "Results Columns" msgstr "Columnas de Resultados" @@ -570,26 +615,26 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_dagShortestPath.rst:193 +#: ../../build/doc/pgr_dagShortestPath.rst:231 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_dagShortestPath.rst:195 +#: ../../build/doc/pgr_dagShortestPath.rst:233 msgid "https://en.wikipedia.org/wiki/Topological_sorting" msgstr "https://en.wikipedia.org/wiki/Topological_sorting" -#: ../../build/doc/pgr_dagShortestPath.rst:196 +#: ../../build/doc/pgr_dagShortestPath.rst:234 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_dagShortestPath.rst:199 +#: ../../build/doc/pgr_dagShortestPath.rst:237 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_dagShortestPath.rst:200 +#: ../../build/doc/pgr_dagShortestPath.rst:238 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_dagShortestPath.rst:201 +#: ../../build/doc/pgr_dagShortestPath.rst:239 msgid ":ref:`search`" msgstr ":ref:`search`" From 5bf167d369ae144af352a604d9b0c40fce23ef8f Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 18 Nov 2020 01:46:17 +0000 Subject: [PATCH 1169/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_depthFirstSearch.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_depthFirstSearch.po | 623 ++++++++++++++++++ 1 file changed, 623 insertions(+) create mode 100644 locale/es/LC_MESSAGES/pgr_depthFirstSearch.po diff --git a/locale/es/LC_MESSAGES/pgr_depthFirstSearch.po b/locale/es/LC_MESSAGES/pgr_depthFirstSearch.po new file mode 100644 index 00000000000..e394b56baea --- /dev/null +++ b/locale/es/LC_MESSAGES/pgr_depthFirstSearch.po @@ -0,0 +1,623 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +# Translators: +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: 2020-11-04 19:19+0000\n" +"Last-Translator: MarPetra , 2020\n" +"Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../build/doc/pgr_depthFirstSearch.rst:11 +msgid "pgr_depthFirstSearch - Experimental" +msgstr "pgr_depthFirstSearch - Experimental" + +#: ../../build/doc/pgr_depthFirstSearch.rst:13 +msgid "" +"``pgr_depthFirstSearch`` — Returns a depth first search traversal of the " +"graph. The graph can be directed or undirected." +msgstr "" +"``pgr_depthFirstSearch`` — Devuelve un recorrido de búsqueda de profundidad " +"del grafo. El grafo puede estar dirigido o no dirigido." + +#: ../../build/doc/pgr_depthFirstSearch.rst:19 +msgid "Boost Graph Inside" +msgstr "Adentro: Boost Graph" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "Funciones experimentales" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "No son oficialmente de la versión actual." + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "El nombre puede cambiar." + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "La firma (declaración de funciones) podría cambiar." + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "La funcionalidad puede cambiar." + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "Las pruebas de pgTap pueden estar ausentes." + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "Posiblemente necesite codificación c/c++." + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "Puede haber carencia de documentación." + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" +"Ejemplos de documentación que puede ser necesario generar automáticamente." + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "Puede depender de una función propuesta de pgRouting." + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "Podría depender de una función obsoleta de pgRouting" + +#: ../../build/doc/pgr_depthFirstSearch.rst:26 +msgid "Availability" +msgstr "Disponibilidad" + +#: ../../build/doc/pgr_depthFirstSearch.rst:27 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_depthFirstSearch.rst:29 +msgid "New **experimental** function" +msgstr "Nueva función **experimental**" + +#: ../../build/doc/pgr_depthFirstSearch.rst:32 +msgid "Support" +msgstr "Soporte" + +#: ../../build/doc/pgr_depthFirstSearch.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" +"**Versiones soportadas:** actual(`3.2 " +"`__)" + +#: ../../build/doc/pgr_depthFirstSearch.rst:37 +#: ../../build/doc/pgr_depthFirstSearch.rst:122 +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +#: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/traversal-family.rst:4 +msgid "Description" +msgstr "Descripción" + +#: ../../build/doc/pgr_depthFirstSearch.rst:39 +msgid "" +"Depth First Search algorithm is a traversal algorithm which starts from a " +"root vertex, goes as deep as possible, and backtracks once a vertex is " +"reached with no adjacent vertices or with all visited adjacent vertices. The" +" traversal continues until all the vertices reachable from the root vertex " +"are visited." +msgstr "" +"El algoritmo de Primera Búsqueda de Profundidad es un algoritmo de recorrido" +" que comienza desde un vértice raíz, va lo más profundo posible y retrocede " +"una vez que se alcanza un vértice sin vértices adyacentes o con todos los " +"vértices adyacentes visitados. El recorrido continúa hasta que se visitan " +"todos los vértices accesibles desde el vértice raíz." + +#: ../../build/doc/pgr_depthFirstSearch.rst:44 +msgid "**The main Characteristics are:**" +msgstr "**Las características principales son:**" + +#: ../../build/doc/pgr_depthFirstSearch.rst:46 +msgid "" +"The implementation works for both **directed** and **undirected** graphs." +msgstr "" +"La implementación funciona para los grafos **dirigidos** y **no dirigidos**." + +#: ../../build/doc/pgr_depthFirstSearch.rst:47 +msgid "" +"Provides the Depth First Search traversal order from a root vertex or from a" +" set of root vertices." +msgstr "" +"Proporciona la orden del recorrido de Primera Búsqueda de Profundidad desde" +" un vértice raíz o desde un conjunto de vértices raíz." + +#: ../../build/doc/pgr_depthFirstSearch.rst:49 +msgid "" +"An optional non-negative maximum depth parameter to limit the results up to " +"a particular depth." +msgstr "" +"Un parámetro opcional de profundidad máxima no negativo para limitar los " +"resultados hasta una profundidad particular." + +#: ../../build/doc/pgr_depthFirstSearch.rst:51 +msgid "" +"For optimization purposes, any duplicated values in the `Root vids` are " +"ignored." +msgstr "" +"Para fines de optimización, se omiten los valores duplicados en los `Root " +"vids`." + +#: ../../build/doc/pgr_depthFirstSearch.rst:53 +msgid "" +"It does not produce the shortest path from a root vertex to a target vertex." +msgstr "" +"No produce la ruta más corta desde un vértice de origen a un vértice de " +"destino." + +#: ../../build/doc/pgr_depthFirstSearch.rst:54 +msgid "The aggregate cost of traversal is not guaranteed to be minimal." +msgstr "No se garantiza que el coste agregado del recorrido sea mínimo." + +#: ../../build/doc/pgr_depthFirstSearch.rst:55 +msgid "The returned values are ordered in ascending order of `start_vid`." +msgstr "Los valores devueltos se ordenan en orden ascendente de `start_vid`." + +#: ../../build/doc/pgr_depthFirstSearch.rst:56 +msgid "Depth First Search Running time: :math:`O(E + V)`" +msgstr "" +"Tiempo de ejecución de la Búsqueda en Primera Profundidad: :math:`O(E + V)`" + +#: ../../build/doc/pgr_depthFirstSearch.rst:59 +msgid "Signatures" +msgstr "Firmas" + +#: ../../build/doc/pgr_depthFirstSearch.rst:62 +msgid "Summary" +msgstr "Resumen" + +#: ../../build/doc/pgr_depthFirstSearch.rst:71 +msgid "Using defaults" +msgstr "Uso de valores predeterminados" + +#: ../../build/doc/pgr_depthFirstSearch.rst +msgid "Example" +msgstr "Ejemplo" + +#: ../../build/doc/pgr_depthFirstSearch.rst:72 +msgid "From root vertex :math:`2` on a **directed** graph" +msgstr "Desde el vértice raíz :math:`2` en un grafo **dirigido**" + +#: ../../build/doc/pgr_depthFirstSearch.rst:82 +msgid "Single vertex" +msgstr "Un solo vértice" + +#: ../../build/doc/pgr_depthFirstSearch.rst:90 +msgid "" +"From root vertex :math:`2` on an **undirected** graph, with :math:`depth <= " +"2`" +msgstr "" +"Desde el vértice raíz :math:`2` en un grafo **no dirigido**, con " +":math:`depth <= 2`" + +#: ../../build/doc/pgr_depthFirstSearch.rst:101 +msgid "Multiple vertices" +msgstr "Múltiples vértices" + +#: ../../build/doc/pgr_depthFirstSearch.rst:109 +msgid "" +"From root vertices :math:`\\{11, 2\\}` on an **undirected** graph with " +":math:`depth <= 2`" +msgstr "" +"A partir de los vértices de la raíz :math:`\\{11, 2\\}` en un grafo **no " +"dirigido** con :math:`depth <= 2`" + +#: ../../build/doc/pgr_depthFirstSearch.rst:119 +msgid "Parameters" +msgstr "Parámetros" + +#: ../../build/doc/pgr_depthFirstSearch.rst:122 +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +msgid "Parameter" +msgstr "Parámetro" + +#: ../../build/doc/pgr_depthFirstSearch.rst:122 +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +#: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/traversal-family.rst:4 +msgid "Type" +msgstr "Tipo" + +#: ../../build/doc/pgr_depthFirstSearch.rst:124 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" + +#: ../../build/doc/pgr_depthFirstSearch.rst:124 +msgid "``TEXT``" +msgstr "``TEXT``" + +#: ../../build/doc/pgr_depthFirstSearch.rst:124 +msgid "SQL query described in `Inner query`_." +msgstr "Consulta SQL descrita en `Inner query`_." + +#: ../../build/doc/pgr_depthFirstSearch.rst:125 +msgid "**Root vid**" +msgstr "**Root vid**" + +#: ../../build/doc/pgr_depthFirstSearch.rst:125 +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +#: ../../build/doc/pgr_kruskalDD.rst:8 ../../build/doc/pgr_kruskalDD.rst:9 +#: ../../build/doc/pgr_kruskalDD.rst:13 ../../build/doc/pgr_kruskalDD.rst:17 +#: ../../build/doc/pgr_kruskalDD.rst:18 +msgid "``BIGINT``" +msgstr "``BIGINT``" + +#: ../../build/doc/pgr_depthFirstSearch.rst:125 +msgid "Identifier of the root vertex of the tree." +msgstr "Identificador del vértice raíz del árbol." + +#: ../../build/doc/pgr_depthFirstSearch.rst:127 +msgid "Used on `Single Vertex`_." +msgstr "Se utiliza en `Single Vertex`_." + +#: ../../build/doc/pgr_depthFirstSearch.rst:129 +msgid "**Root vids**" +msgstr "**Root vids**" + +#: ../../build/doc/pgr_depthFirstSearch.rst:129 +msgid "``ARRAY[ANY-INTEGER]``" +msgstr "``ARRAY[ANY-INTEGER]``" + +#: ../../build/doc/pgr_depthFirstSearch.rst:129 +msgid "Array of identifiers of the root vertices." +msgstr "Arreglo de identificadores de los vértices raíz." + +#: ../../build/doc/pgr_depthFirstSearch.rst:131 +msgid "Used on `Multiple Vertices`_." +msgstr "Se utiliza en `Multiple Vertices`_." + +#: ../../build/doc/pgr_depthFirstSearch.rst:132 +msgid "For optimization purposes, any duplicated value is ignored." +msgstr "Para fines de optimización, se omite cualquier valor duplicado." + +#: ../../build/doc/pgr_depthFirstSearch.rst:136 +msgid "Optional Parameters" +msgstr "Parámetros opcionales" + +#: ../../build/doc/pgr_depthFirstSearch.rst:139 +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "Valores predeterminados" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "**directed**" +msgstr "**dirigido**" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "``BOOLEAN``" +msgstr "``BOOLEAN``" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "``true``" +msgstr "``true``" + +#: ../../build/doc/pgr_depthFirstSearch.rst:141 +msgid "When ``true`` Graph is `Directed`" +msgstr "En caso de ``true`` el grafo es `Dirigido`" + +#: ../../build/doc/pgr_depthFirstSearch.rst:142 +msgid "When ``false`` the graph is `Undirected`." +msgstr " En caso de ``false`` el grafo es `No dirigido`." + +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +msgid "**max_depth**" +msgstr "**max_depth**" + +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +msgid ":math:`9223372036854775807`" +msgstr ":math:`9223372036854775807`" + +#: ../../build/doc/pgr_depthFirstSearch.rst:144 +msgid "Upper limit for the depth of traversal" +msgstr "Límite superior para la profundidad del recorrido" + +#: ../../build/doc/pgr_depthFirstSearch.rst:146 +msgid "When value is ``Negative`` then **throws error**" +msgstr "Cuando el valor es ``Negativo`` entonces **produce error**" + +#: ../../build/doc/pgr_depthFirstSearch.rst:150 +msgid "Inner query" +msgstr "Consulta interna" + +#: ../../build/doc/pgr_depthFirstSearch.rst:153 +msgid "Edges SQL" +msgstr "Edges SQL" + +#: ../../build/doc/pgr_kruskalDD.rst:6 ../../build/doc/traversal-family.rst:4 +msgid "Column" +msgstr "Columna" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "**id**" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "``ANY-INTEGER``" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "Identificador de la arista." + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "**origen**" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "Identificador del primer punto final en el vértice de la arista." + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "**objetivo**" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "Identificador del segundo punto final en el vértice de la arista." + +#: ../../build/doc/pgr_kruskalDD.rst:22 ../../build/doc/traversal-family.rst:9 +msgid "**cost**" +msgstr "**cost**" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "``ANY-NUMERICAL``" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "Cuando es positivo: el borde `(origen, destino)` existe en el grafo." + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" +"Cuando es negativo: el borde `(origen, desitno)` no existe en el grafo." + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "**reverse_cost**" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "-1" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "Cuando es positivo: el borde `(origen, destino)` existe en el grafo." + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" +"Cuando es negativo: el borde `(destino, origen)` no existe en el grafo." + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "Donde:" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-INTEGER" +msgstr "ANY-INTEGER" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "SMALLINT, INTEGER, BIGINT" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-NUMERICAL" +msgstr "ANY-NUMERICAL" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" + +#: ../../build/doc/pgr_depthFirstSearch.rst:159 +msgid "Result Columns" +msgstr "Columnas de Resultados" + +#: ../../build/doc/pgr_kruskalDD.rst:3 +msgid "Returns SET OF ``(seq, depth, start_vid, node, edge, cost, agg_cost)``" +msgstr "" +"devuelve el conjunto SET OF ``(seq, depth, start_vid, node, edge, cost, " +"agg_cost)``" + +#: ../../build/doc/pgr_kruskalDD.rst:8 +msgid "**seq**" +msgstr "**seq**" + +#: ../../build/doc/pgr_kruskalDD.rst:8 +msgid "Sequential value starting from :math:`1`." +msgstr "Valor secuencial a partir de :math:`1`." + +#: ../../build/doc/pgr_kruskalDD.rst:9 +msgid "**depth**" +msgstr "**profundidad**" + +#: ../../build/doc/pgr_kruskalDD.rst:9 +msgid "Depth of the ``node``." +msgstr "Profundidad del ``nodo``." + +#: ../../build/doc/pgr_kruskalDD.rst:11 +msgid ":math:`0` when ``node`` = ``start_vid``." +msgstr ":math:`0` cuando ``node`` = ``start_vid``." + +#: ../../build/doc/pgr_kruskalDD.rst:13 +msgid "**start_vid**" +msgstr "**start_vid**" + +#: ../../build/doc/pgr_kruskalDD.rst:13 +msgid "Identifier of the root vertex." +msgstr "Identificador del vértice raíz." + +#: ../../build/doc/pgr_kruskalDD.rst:15 +msgid "In `Multiple Vertices`_ results are in ascending order." +msgstr "En `Múltiples Vértices`_ los resultados están en orden ascendente." + +#: ../../build/doc/pgr_kruskalDD.rst:17 +msgid "**node**" +msgstr "**node**" + +#: ../../build/doc/pgr_kruskalDD.rst:17 +msgid "Identifier of ``node`` reached using ``edge``." +msgstr "Identificador del ``node`` alcanzado usando ``edge``." + +#: ../../build/doc/pgr_kruskalDD.rst:18 +msgid "**edge**" +msgstr "**edge**" + +#: ../../build/doc/pgr_kruskalDD.rst:18 +msgid "Identifier of the ``edge`` used to arrive to ``node``." +msgstr "Identificador del ''edge'' utilizado para llegar a ''node''." + +#: ../../build/doc/pgr_kruskalDD.rst:20 +msgid ":math:`-1` when ``node`` = ``start_vid``." +msgstr ":math:`-1` cuando ``node`` = ``start_vid``." + +#: ../../build/doc/pgr_kruskalDD.rst:22 ../../build/doc/pgr_kruskalDD.rst:23 +msgid "``FLOAT``" +msgstr "``FLOAT``" + +#: ../../build/doc/pgr_kruskalDD.rst:22 +msgid "Cost to traverse ``edge``." +msgstr "Costo para atravesar ``edge``." + +#: ../../build/doc/pgr_kruskalDD.rst:23 +msgid "**agg_cost**" +msgstr "**agg_cost**" + +#: ../../build/doc/pgr_kruskalDD.rst:23 +msgid "Aggregate cost from ``start_vid`` to ``node``." +msgstr "Costo agregado de ``start_vid`` a ``node``." + +#: ../../build/doc/pgr_depthFirstSearch.rst:166 +msgid "Additional Examples" +msgstr "Ejemplos Adicionales" + +#: ../../build/doc/pgr_depthFirstSearch.rst:168 +msgid "" +"The examples of this section are based on the :doc:`sampledata` network." +msgstr "Los ejemplos de esta sección se basan en la red :doc:`sampledata`." + +#: ../../build/doc/pgr_depthFirstSearch.rst:170 +msgid "**Example: No internal ordering on traversal**" +msgstr "**Ejemplo: No hay orden interno en el recorrido**" + +#: ../../build/doc/pgr_depthFirstSearch.rst:172 +msgid "" +"In the following query, the inner query of the example: \"Using defaults\" " +"is modified so that the data is entered into the algorithm is given in the " +"reverse ordering of the id." +msgstr "" +"En la siguiente consulta, la consulta interna del ejemplo: \"Uso de valores " +"predeterminados\" se modifica para que los datos se introducen en el " +"algoritmo se proporciona en el orden inverso del identificador." + +#: ../../build/doc/pgr_depthFirstSearch.rst:179 +msgid "The resulting traversal is different." +msgstr "El recorrido resultante es diferente." + +#: ../../build/doc/pgr_depthFirstSearch.rst:181 +msgid "" +"The left image shows the result with ascending order of ids and the right " +"image shows with descending order of ids:" +msgstr "" +"La imagen izquierda muestra el resultado con el orden ascendente de los ids " +"y la imagen derecha muestra con el orden descendente de los ids:" + +#: ../../build/doc/pgr_depthFirstSearch.rst:184 +msgid "|ascending| |descending|" +msgstr "|ascendente| |descendente|" + +#: ../../build/doc/pgr_depthFirstSearch.rst:193 +msgid "See Also" +msgstr "Ver también" + +#: ../../build/doc/pgr_depthFirstSearch.rst:195 +msgid "The queries use the :doc:`sampledata` network." +msgstr "Las consultas utilizan la red :doc:`sampledata` ." + +#: ../../build/doc/pgr_depthFirstSearch.rst:199 +msgid "" +"`Boost: Depth First Search algorithm documentation " +"`__" +msgstr "" +"`Boost: Documentación del algoritmo de Primera Búsqueda en Profundidad " +"`__" + +#: ../../build/doc/pgr_depthFirstSearch.rst:200 +msgid "" +"`Boost: Undirected DFS algorithm documentation " +"`__" +msgstr "" +"`Boost: Documentación del algoritmo DFS No dirigido " +"`__" + +#: ../../build/doc/pgr_depthFirstSearch.rst:201 +msgid "" +"`Wikipedia: Depth First Search algorithm `__" +msgstr "" +"'Wikipedia: Algoritmo de la Primera Búsqueda de Profundidad " +"`__" + +#: ../../build/doc/pgr_depthFirstSearch.rst:206 +msgid "Indices and tables" +msgstr "Índices y tablas" + +#: ../../build/doc/pgr_depthFirstSearch.rst:207 +msgid ":ref:`genindex`" +msgstr ":ref:`genindex`" + +#: ../../build/doc/pgr_depthFirstSearch.rst:208 +msgid ":ref:`search`" +msgstr ":ref:`search`" From 21ff7920936df0d785aee5f1aa3951c12792a886 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 17 Nov 2020 17:04:34 +0000 Subject: [PATCH 1170/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_dijkstraNear.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_dijkstraNear.po | 801 ++++++++++++++++++++++ 1 file changed, 801 insertions(+) create mode 100644 locale/es/LC_MESSAGES/pgr_dijkstraNear.po diff --git a/locale/es/LC_MESSAGES/pgr_dijkstraNear.po b/locale/es/LC_MESSAGES/pgr_dijkstraNear.po new file mode 100644 index 00000000000..68ddb2426d3 --- /dev/null +++ b/locale/es/LC_MESSAGES/pgr_dijkstraNear.po @@ -0,0 +1,801 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +# Translators: +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: 2020-11-04 19:19+0000\n" +"Last-Translator: MarPetra , 2020\n" +"Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../build/doc/pgr_dijkstraNear.rst:11 +msgid "pgr_dijkstraNear - Experimental" +msgstr "pgr_dijkstraNear - Experimental" + +#: ../../build/doc/pgr_dijkstraNear.rst:13 +msgid "" +"``pgr_dijkstraNear`` — Using dijkstra algorithm, finds the route that leads " +"to the nearest vertex." +msgstr "" +"``pgr_dijkstraNear`` — Utilizando el algoritmo dijkstra, encuentra la ruta " +"que conduce al vértice más cercano." + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "Funciones experimentales" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "No son oficialmente de la versión actual." + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "El nombre puede cambiar." + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "La firma (declaración de funciones) podría cambiar." + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "La funcionalidad puede cambiar." + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "Las pruebas de pgTap pueden estar ausentes." + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "Posiblemente necesite codificación c/c++." + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "Puede haber carencia de documentación." + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" +"Ejemplos de documentación que puede ser necesario generar automáticamente." + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "Puede depender de una función propuesta de pgRouting." + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "Podría depender de una función obsoleta de pgRouting" + +#: ../../build/doc/pgr_dijkstraNear.rst:23 +msgid "Boost Graph Inside" +msgstr "Adentro: Boost Graph" + +#: ../../build/doc/pgr_dijkstraNear.rst:26 +msgid "Availability" +msgstr "Disponibilidad" + +#: ../../build/doc/pgr_dijkstraNear.rst:27 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_dijkstraNear.rst:29 +msgid "New **experimental** function" +msgstr "Nueva función **experimental**" + +#: ../../build/doc/pgr_dijkstraNear.rst:32 +msgid "Support" +msgstr "Soporte" + +#: ../../build/doc/pgr_dijkstraNear.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" +"**Versiones soportadas:** actual(`3.2 " +"`__)" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNear.rst:37 +#: ../../build/doc/pgr_dijkstraNear.rst:227 +#: ../../build/doc/pgr_dijkstraNear.rst:267 +msgid "Description" +msgstr "Descripción" + +#: ../../build/doc/pgr_dijkstraNear.rst:39 +msgid "" +"Given a graph, a starting vertex and a set of ending vertices, this function" +" finds the shortest path from the starting vertex to the nearest ending " +"vertex." +msgstr "" +"Dado un grafo, un vértice inicial y un conjunto de vértices finales, esta " +"función encuentra la ruta más corta desde el vértice inicial hasta el " +"vértice final más cercano." + +#: ../../build/doc/pgr_dijkstraNear.rst:44 +msgid "Characteristics" +msgstr "Características" + +#: ../../build/doc/pgr_dijkstraNear.rst:48 +msgid "Uses Dijkstra algorithm." +msgstr "Utiliza el algoritmo Dijkstra." + +#: ../../build/doc/pgr_dijkstraNear.rst:49 +msgid "Works for **directed** and **undirected** graphs." +msgstr "Funciona para grafos **dirigidos** y **no dirigidos**." + +#: ../../build/doc/pgr_dijkstraNear.rst:50 +msgid "When there are more than one path to the same vertex with same cost:" +msgstr "Cuando hay más de una ruta al mismo vértice con el mismo coste:" + +#: ../../build/doc/pgr_dijkstraNear.rst:52 +msgid "The algorithm will return just one path" +msgstr "El algoritmo devolverá solo una ruta" + +#: ../../build/doc/pgr_dijkstraNear.rst:54 +msgid "Optionally allows to find more than one path." +msgstr "Opcionalmente permite encontrar más de una ruta." + +#: ../../build/doc/pgr_dijkstraNear.rst:56 +msgid "When more than one path is to be returned:" +msgstr "Cuando se va a devolver más de una ruta:" + +#: ../../build/doc/pgr_dijkstraNear.rst:58 +msgid "Results are sorted in increasing order of:" +msgstr "Los resultados se ordenan en orden creciente de:" + +#: ../../build/doc/pgr_dijkstraNear.rst:60 +msgid "aggregate cost" +msgstr "costo agregado" + +#: ../../build/doc/pgr_dijkstraNear.rst:61 +msgid "Within the same value of aggregate costs:" +msgstr "Dentro del mismo valor de los costes agregados:" + +#: ../../build/doc/pgr_dijkstraNear.rst:63 +msgid "results are sorted by (source, target)" +msgstr "los resultados se ordenan por (fuente, destino)" + +#: ../../build/doc/pgr_dijkstraNear.rst:65 +msgid "" +"Running time: Dijkstra running time: :math:`drt = O((|E| + |V|)log|V|)`" +msgstr "" +"Tiempo de ejecución: Dijkstra tiempo de ejecución: :math:`drt = O((|E| + " +"|V|)log|V|)`" + +#: ../../build/doc/pgr_dijkstraNear.rst:67 +msgid "One to Many; :math:`drt`" +msgstr "Uno a Muchos; :math:`drt`" + +#: ../../build/doc/pgr_dijkstraNear.rst:68 +msgid "Many to One: :math:`drt`" +msgstr "Muchos a Uno: :math:`drt`" + +#: ../../build/doc/pgr_dijkstraNear.rst:69 +msgid "Many to Many: :math:`drt * |Starting vids|`" +msgstr "Muchos a Muchos: :math:`drt * |Starting vids|`" + +#: ../../build/doc/pgr_dijkstraNear.rst:70 +msgid "Combinations: :math:`drt * |Starting vids|`" +msgstr "Combinaciones: :math:`drt * |Starting vids|`" + +#: ../../build/doc/pgr_dijkstraNear.rst:75 +msgid "Signatures" +msgstr "Firmas" + +#: ../../build/doc/pgr_dijkstraNear.rst:78 +msgid "Summary" +msgstr "Resumen" + +#: ../../build/doc/pgr_dijkstraNear.rst:92 +msgid "One to Many" +msgstr "Uno a Muchos" + +#: ../../build/doc/pgr_dijkstraNear.rst +msgid "Example" +msgstr "Ejemplo" + +#: ../../build/doc/pgr_dijkstraNear.rst:100 +msgid "" +"Departing on car from vertex :math:`2` find the nearest subway station." +msgstr "" +"Saliendo en coche desde el vértice :math:`2` encontrar la estación de metro" +" más cercana." + +#: ../../build/doc/pgr_dijkstraNear.rst:102 +#: ../../build/doc/pgr_dijkstraNear.rst:132 +#: ../../build/doc/pgr_dijkstraNear.rst:192 +msgid "Using a **directed** graph for car routing." +msgstr "Usando un grafo **dirigido** para el enrutamiento de automóviles." + +#: ../../build/doc/pgr_dijkstraNear.rst:103 +#: ../../build/doc/pgr_dijkstraNear.rst:133 +msgid "The subway stations are on the following vertices :math:`\\{ 3, 6, 7\\}`" +msgstr "" +"Las estaciones de metro se encuentran en los siguientes vértices :math:`\\{ " +"3, 6, 7\\}`" + +#: ../../build/doc/pgr_dijkstraNear.rst:104 +#: ../../build/doc/pgr_dijkstraNear.rst:163 +#: ../../build/doc/pgr_dijkstraNear.rst:200 +msgid "The defaults used:" +msgstr "Los valores predeterminados utilizados:" + +#: ../../build/doc/pgr_dijkstraNear.rst:106 +#: ../../build/doc/pgr_dijkstraNear.rst:202 +msgid "`directed => true`" +msgstr "`directed => true`" + +#: ../../build/doc/pgr_dijkstraNear.rst:107 +#: ../../build/doc/pgr_dijkstraNear.rst:165 +#: ../../build/doc/pgr_dijkstraNear.rst:203 +msgid "`cap => 1`" +msgstr "`cap => 1`" + +#: ../../build/doc/pgr_dijkstraNear.rst:115 +msgid "The result shows that station at vertex :math:`6` is the nearest." +msgstr "" +"El resultado muestra que la estación en el vértice :math:`6` es la más " +"cercana." + +#: ../../build/doc/pgr_dijkstraNear.rst:121 +msgid "Many to One" +msgstr "Muchos a Uno" + +#: ../../build/doc/pgr_dijkstraNear.rst:129 +msgid "" +"Departing on a car from a subway station find the nearest **two** stations " +"to vertex :math:`2`" +msgstr "" +"Saliendo en coche desde una estación de metro encontrar las **dos** " +"estaciones más cercanas al vértice :math:`2`" + +#: ../../build/doc/pgr_dijkstraNear.rst:134 +msgid "" +"On line `4`: using the positional parameter: `directed` set to ``true``" +msgstr "" +"En la línea `4`: utilizando el parámetro posicional: `directed` configurado " +"en ``true``" + +#: ../../build/doc/pgr_dijkstraNear.rst:135 +msgid "In line `5`: using named parameter `cap => 2`" +msgstr "En la línea `5`: usando el parámetro con nombre `cap => 2`" + +#: ../../build/doc/pgr_dijkstraNear.rst:142 +msgid "" +"The result shows that station at vertex :math:`3` is the nearest and the " +"next best is :math:`6`." +msgstr "" +"El resultado muestra que la estación en el vértice :math:`3` es la más " +"cercana y la siguiente mejor es :math:`6`." + +#: ../../build/doc/pgr_dijkstraNear.rst:149 +msgid "Many to Many" +msgstr "Muchos a Muchos" + +#: ../../build/doc/pgr_dijkstraNear.rst:157 +msgid "Find the best pedestrian connection between two lines of buses" +msgstr "Encuentra la mejor conexión peatonal entre dos líneas de autobuses" + +#: ../../build/doc/pgr_dijkstraNear.rst:159 +msgid "Unsing an **undirected** graph for pedestrian routing" +msgstr "Usando un grafo **no dirigido** para el enrutamiento de peatones" + +#: ../../build/doc/pgr_dijkstraNear.rst:160 +#: ../../build/doc/pgr_dijkstraNear.rst:193 +msgid "The first subway line stations stops are at :math:`\\{3, 6, 7\\}`" +msgstr "Las primeras paradas de la línea de metro están en :math:`\\{3, 6, 7\\}`" + +#: ../../build/doc/pgr_dijkstraNear.rst:161 +#: ../../build/doc/pgr_dijkstraNear.rst:194 +msgid "The second subway line stations are at :math:`\\{4, 9\\}`" +msgstr "Las segundas estaciones de la línea de metro están en :math:`\\{4, 9\\}`" + +#: ../../build/doc/pgr_dijkstraNear.rst:162 +msgid "On line `4`: using the named parameter: `directed => false`" +msgstr "" +"En la línea `4`: utilizando el parámetro con nombre: `directed => false`" + +#: ../../build/doc/pgr_dijkstraNear.rst:166 +msgid "`global => true`" +msgstr "`global => true`" + +#: ../../build/doc/pgr_dijkstraNear.rst:173 +msgid "" +"For a pedestrian the best connection is to get on/off is at vertex :math:`3`" +" of the first subway line and at vertex :math:`4` of the second subway line." +msgstr "" +"Para un peatón la mejor conexión es subir/bajar en el vértice :math:`3` de " +"la primera línea de metro y en el vértice :math:`4` de la segunda línea de " +"metro." + +#: ../../build/doc/pgr_dijkstraNear.rst:176 +msgid "" +"Only `one` route is returned because `global` is ``true`` and `cap` is ``1``" +msgstr "" +"Solo se devuelve `una` ruta porque `global` es ``true`` y `cap` es ``1``" + +#: ../../build/doc/pgr_dijkstraNear.rst:182 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_dijkstraNear.rst:190 +msgid "" +"Find the best car connection between all the stations of two subway lines" +msgstr "" +"Encuentra la mejor conexión de coche entre todas las estaciones de dos " +"líneas de metro" + +#: ../../build/doc/pgr_dijkstraNear.rst:195 +msgid "" +"line `3` sets the start vertices to be from the fisrt subway line and the " +"ending vertices to be from the second subway line" +msgstr "" +"línea `3` establece los vértices de inicio para ser de la primera línea de " +"metro y los vértices finales para ser de la segunda línea de metro" + +#: ../../build/doc/pgr_dijkstraNear.rst:197 +msgid "" +"line `5` sets the start vertices to be from the first subway line and the " +"ending vertices to be from the first subway line" +msgstr "" +"la línea `5` establece los vértices de inicio que sean de la primera línea " +"de metro y los vértices finales de la primera línea de metro" + +#: ../../build/doc/pgr_dijkstraNear.rst:199 +msgid "On line `6`: using the named parameter is `global => false`" +msgstr "En la línea `6`: usando el parámetro con nombre `global => false`" + +#: ../../build/doc/pgr_dijkstraNear.rst:210 +msgid "From the results:" +msgstr "A partir de los resultados:" + +#: ../../build/doc/pgr_dijkstraNear.rst:212 +msgid "making a connection from the first subway line to the second:" +msgstr "haciendo una conexión desde la primera línea de metro a la segunda:" + +#: ../../build/doc/pgr_dijkstraNear.rst:214 +msgid "" +":math:`{(3 -> 9) (6 -> 9) (7 -> 9)}` and the best one is :math:`(6 -> 9)` " +"with a cost of :math:`1` (lines: `12` and `13`)" +msgstr "" +":math:`{(3 -> 9) (6 -> 9) (7 -> 9)}` y el mejor es :math:`(6 -> 9)` con un " +"costo de :math:`1` (línea: `12` y `13`)" + +#: ../../build/doc/pgr_dijkstraNear.rst:217 +msgid "making a connection from the second subway line to the first:" +msgstr "haciendo una conexión desde la segunda línea de metro a la primera:" + +#: ../../build/doc/pgr_dijkstraNear.rst:219 +msgid "" +":math:`{(4 -> 3) (9 -> 6)}` and both are equaly good as they have the same " +"cost. (lines: `10` and `11` and lines: `14` and `15`)" +msgstr "" +":math:`{(4 -> 3) (9 -> 6)}` y ambos son igualmente buenos, como también " +"tienen el mismo costo. (líneas: `10` y `11` y líneas: `14` y `15`)" + +#: ../../build/doc/pgr_dijkstraNear.rst:224 +msgid "Parameters" +msgstr "Parámetros" + +#: ../../build/doc/pgr_dijkstraNear.rst:227 +msgid "Parameter" +msgstr "Parámetro" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNear.rst:227 +#: ../../build/doc/pgr_dijkstraNear.rst:267 +msgid "Type" +msgstr "Tipo" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNear.rst:227 +msgid "Default" +msgstr "Valores predeterminados" + +#: ../../build/doc/pgr_dijkstraNear.rst:229 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" + +#: ../../build/doc/pgr_dijkstraNear.rst:229 +#: ../../build/doc/pgr_dijkstraNear.rst:230 +msgid "``TEXT``" +msgstr "``TEXT``" + +#: ../../build/doc/pgr_dijkstraNear.rst:229 +msgid "`Edges query`_ as described below" +msgstr "`Edges query`_ como se describe a continuación" + +#: ../../build/doc/pgr_dijkstraNear.rst:230 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_dijkstraNear.rst:230 +msgid "`Combinations query` as described below" +msgstr "`Consulta de combinaciones` como se describe a continuación" + +#: ../../build/doc/pgr_dijkstraNear.rst:231 +msgid "**Start vid**" +msgstr "**Start vid**" + +#: ../../build/doc/pgr_dijkstraNear.rst:231 +#: ../../build/doc/pgr_dijkstraNear.rst:233 +#: ../../build/doc/pgr_dijkstraNear.rst:237 +#: ../../build/doc/pgr_dijkstraNear.rst:269 +#: ../../build/doc/pgr_dijkstraNear.rst:270 +#: ../../build/doc/pgr_dijkstraNear.rst:271 +#: ../../build/doc/pgr_dijkstraNear.rst:272 +#: ../../build/doc/pgr_dijkstraNear.rst:273 +#: ../../build/doc/pgr_dijkstraNear.rst:274 +msgid "``BIGINT``" +msgstr "``BIGINT``" + +#: ../../build/doc/pgr_dijkstraNear.rst:231 +#: ../../build/doc/pgr_dijkstraNear.rst:271 +msgid "Identifier of the starting vertex of the path." +msgstr "Identificador del vértice inicial de la ruta." + +#: ../../build/doc/pgr_dijkstraNear.rst:232 +msgid "**Start vids**" +msgstr "**Start vids**" + +#: ../../build/doc/pgr_dijkstraNear.rst:232 +#: ../../build/doc/pgr_dijkstraNear.rst:234 +msgid "``ARRAY[BIGINT]``" +msgstr "``ARRAY[BIGINT]``" + +#: ../../build/doc/pgr_dijkstraNear.rst:232 +msgid "Array of identifiers of starting vertices." +msgstr "Arreglo de identificadores de vértices iniciales." + +#: ../../build/doc/pgr_dijkstraNear.rst:233 +msgid "**End vid**" +msgstr "**End vid**" + +#: ../../build/doc/pgr_dijkstraNear.rst:233 +#: ../../build/doc/pgr_dijkstraNear.rst:272 +msgid "Identifier of the ending vertex of the path." +msgstr "Identificador del vértice final de la ruta." + +#: ../../build/doc/pgr_dijkstraNear.rst:234 +msgid "**End vids**" +msgstr "**End vids**" + +#: ../../build/doc/pgr_dijkstraNear.rst:234 +msgid "Array of identifiers of ending vertices." +msgstr "Arreglo de identificadores de vértices finales." + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +msgid "**directed**" +msgstr "**dirigido**" + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "``BOOLEAN``" +msgstr "``BOOLEAN``" + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "``true``" +msgstr "``true``" + +#: ../../build/doc/pgr_dijkstraNear.rst:235 +msgid "When ``true`` the graph is considered `Directed`" +msgstr "En caso de ``true``, el grafo se considera `Dirigido`" + +#: ../../build/doc/pgr_dijkstraNear.rst:236 +msgid "When ``false`` the graph is considered as `Undirected`." +msgstr "Cuando ``false`` el grafo se considera `No Dirigido`" + +#: ../../build/doc/pgr_dijkstraNear.rst:237 +msgid "**cap**" +msgstr "**cap**" + +#: ../../build/doc/pgr_dijkstraNear.rst:237 +msgid "1" +msgstr "1" + +#: ../../build/doc/pgr_dijkstraNear.rst:237 +msgid "Find at most ``cap`` number of nearest shortest paths" +msgstr "" +"Encuentra como máximo el número ``cap`` de los caminos más cortos y más " +"cercanos" + +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "**global**" +msgstr "**global**" + +#: ../../build/doc/pgr_dijkstraNear.rst:238 +msgid "When ``true``: only ``cap`` limit results will be returned" +msgstr "Cuando ``true``: solo se devolverán los resultados del límite ``cap``" + +#: ../../build/doc/pgr_dijkstraNear.rst:239 +msgid "When ``false``: ``cap`` limit per ``Start vid`` will be returned" +msgstr "Cuando ``false``: ``cap`` límite por ``Start vid`` será devuelto" + +#: ../../build/doc/pgr_dijkstraNear.rst:244 +msgid "Inner query" +msgstr "Consulta interna" + +#: ../../build/doc/pgr_dijkstraNear.rst:247 +msgid "Edges query" +msgstr "Consulta de aristas" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNear.rst:267 +msgid "Column" +msgstr "Columna" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**id**" +msgstr "**id**" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "``ANY-INTEGER``" +msgstr "``ANY-INTEGER``" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Identifier of the edge." +msgstr "Identificador de la arista." + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "**source**" +msgstr "**origen**" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "Identificador del primer punto final en el vértice de la arista." + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "**target**" +msgstr "**objetivo**" + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "Identificador del segundo punto final en el vértice de la arista." + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgr_dijkstraNear.rst:279 +msgid "**cost**" +msgstr "**cost**" + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "``ANY-NUMERICAL``" +msgstr "``ANY-NUMERICAL``" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Weight of the edge `(source, target)`" +msgstr "Peso de la arista `(source, target)`" + +#: ../../build/doc/pgRouting-concepts.rst:11 +msgid "" +"When negative: edge `(source, target)` does not exist, therefore it's not " +"part of the graph." +msgstr "" +"Cuando es negativo: la arista `(origen, objetivo)` no existe, por lo tanto " +"no es parte del grafo." + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "**reverse_cost**" +msgstr "**reverse_cost**" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "-1" +msgstr "-1" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "Weight of the edge `(target, source)`," +msgstr "Peso de la arista `(target, source)`," + +#: ../../build/doc/pgRouting-concepts.rst:15 +msgid "" +"When negative: edge `(target, source)` does not exist, therefore it's not " +"part of the graph." +msgstr "" +"En caso negativo: la arista `(objetivo, origen)` no existe, por lo tanto no " +"es parte del grafo." + +#: ../../build/doc/pgRouting-concepts.rst:11 +#: ../../build/doc/pgRouting-concepts.rst:19 +msgid "Where:" +msgstr "Donde:" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-INTEGER" +msgstr "ANY-INTEGER" + +#: ../../build/doc/pgRouting-concepts.rst:13 +#: ../../build/doc/pgRouting-concepts.rst:21 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "SMALLINT, INTEGER, BIGINT" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-NUMERICAL" +msgstr "ANY-NUMERICAL" + +#: ../../build/doc/pgRouting-concepts.rst:22 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" + +#: ../../build/doc/pgr_dijkstraNear.rst:254 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_dijkstraNear.rst:261 +msgid "Return Columns" +msgstr "Columnas de Devoluciones" + +#: ../../build/doc/pgr_dijkstraNear.rst:263 +msgid "" +"RETURNS SET OF ``(seq, path_seq, start_vid, end_vid, node, edge, cost, " +"agg_cost)`` OR EMPTY SET" +msgstr "" +"DEVUELVE SET DE ``(seq, path_seq, start_vid, end_vid, node, edge, cost, " +"agg_cost)`` O CONJUNTO VACÍO" + +#: ../../build/doc/pgr_dijkstraNear.rst:269 +msgid "**seq**" +msgstr "**seq**" + +#: ../../build/doc/pgr_dijkstraNear.rst:269 +msgid "Sequential value starting from 1." +msgstr "Valor secuencial a partir de 1." + +#: ../../build/doc/pgr_dijkstraNear.rst:270 +msgid "**path_seq**" +msgstr "**path_seq**" + +#: ../../build/doc/pgr_dijkstraNear.rst:270 +msgid "" +"Sequential value starting from 1 for each :math:`(start\\_vid \\to " +"end\\_vid)` path." +msgstr "" +"Valor secuencial a partir de 1 para cada ruta :math:`(start\\_vid \\to " +"end\\_vid)`." + +#: ../../build/doc/pgr_dijkstraNear.rst:271 +msgid "**start_vid**" +msgstr "**start_vid**" + +#: ../../build/doc/pgr_dijkstraNear.rst:272 +msgid "**end_vid**" +msgstr "**end_vid**" + +#: ../../build/doc/pgr_dijkstraNear.rst:273 +msgid "**node**" +msgstr "**node**" + +#: ../../build/doc/pgr_dijkstraNear.rst:273 +msgid "" +"Identifier of the node at position ``path_seq`` in the :math:`(start\\_vid " +"\\to end\\_vid)` path." +msgstr "" +"Identificador del nodo en la posición ``path_seq`` en la ruta " +":math:`(start\\_vid \\to end\\_vid)`." + +#: ../../build/doc/pgr_dijkstraNear.rst:274 +msgid "**edge**" +msgstr "**edge**" + +#: ../../build/doc/pgr_dijkstraNear.rst:274 +msgid "" +"Identifier of the edge used to go from node at ``path_seq`` to the node at " +"``path_seq + 1`` in the :math:`(start\\_vid \\to end\\_vid)` path." +msgstr "" +"Identificador del borde utilizado para ir del nodo en ``path_seq`` al nodo " +"en ``path_seq + 1`` en la ruta:math:`(start\\_vid \\to end\\_vid)`." + +#: ../../build/doc/pgr_dijkstraNear.rst:277 +msgid ":math:`-1` for the last node of the path." +msgstr ":math:`-1` para el último nodo de la ruta." + +#: ../../build/doc/pgr_dijkstraNear.rst:279 +#: ../../build/doc/pgr_dijkstraNear.rst:283 +msgid "``FLOAT``" +msgstr "``FLOAT``" + +#: ../../build/doc/pgr_dijkstraNear.rst:279 +msgid "" +"Cost to traverse from ``node`` using ``edge`` to the next node in the route " +"sequence." +msgstr "" +"Coste para recorrer desde ``node`` usando ``edge`` hacia el siguiente nodo " +"de la secuencia de ruta." + +#: ../../build/doc/pgr_dijkstraNear.rst:281 +msgid ":math:`0` for the last row of the path." +msgstr ":math:`0` para la última fila de la ruta." + +#: ../../build/doc/pgr_dijkstraNear.rst:283 +msgid "**agg_cost**" +msgstr "**agg_cost**" + +#: ../../build/doc/pgr_dijkstraNear.rst:283 +msgid "" +"Total cost of traversing :math:`(start\\_vid \\to node)` section of the " +":math:`(start\\_vid \\to end\\_vid)` path." +msgstr "" +"Costo total de recorrer :math:`(start\\_vid \\to node)` sección de la ruta " +":math:`(start\\_vid \\to end\\_vid)`." + +#: ../../build/doc/pgr_dijkstraNear.rst:288 +msgid "See Also" +msgstr "Ver también" + +#: ../../build/doc/pgr_dijkstraNear.rst:290 +msgid ":doc:`dijkstra-family`" +msgstr ":doc:`dijkstra-family`" + +#: ../../build/doc/pgr_dijkstraNear.rst:291 +msgid ":doc:`pgr_dijkstraNearCost`" +msgstr ":doc:`pgr_dijkstraNearCost`" + +#: ../../build/doc/pgr_dijkstraNear.rst:292 +msgid ":doc:`sampledata` network." +msgstr "Red :doc:`sampledata` ." + +#: ../../build/doc/pgr_dijkstraNear.rst:293 +msgid "boost: https://www.boost.org/libs/graph/doc/table_of_contents.html" +msgstr "boost: https://www.boost.org/libs/graph/doc/table_of_contents.html" + +#: ../../build/doc/pgr_dijkstraNear.rst:294 +#, python-format +msgid "Wikipedia: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" +msgstr "Wikipedia: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" + +#: ../../build/doc/pgr_dijkstraNear.rst:297 +msgid "Indices and tables" +msgstr "Índices y tablas" + +#: ../../build/doc/pgr_dijkstraNear.rst:298 +msgid ":ref:`genindex`" +msgstr ":ref:`genindex`" + +#: ../../build/doc/pgr_dijkstraNear.rst:299 +msgid ":ref:`search`" +msgstr ":ref:`search`" From dbb4207e37eb34dfe5a18af310ba2f3dde66669a Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Sun, 22 Nov 2020 00:27:13 +0000 Subject: [PATCH 1171/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_dijkstraNearCost.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_dijkstraNearCost.po | 733 ++++++++++++++++++ 1 file changed, 733 insertions(+) create mode 100644 locale/es/LC_MESSAGES/pgr_dijkstraNearCost.po diff --git a/locale/es/LC_MESSAGES/pgr_dijkstraNearCost.po b/locale/es/LC_MESSAGES/pgr_dijkstraNearCost.po new file mode 100644 index 00000000000..aab6486c5e9 --- /dev/null +++ b/locale/es/LC_MESSAGES/pgr_dijkstraNearCost.po @@ -0,0 +1,733 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +# Translators: +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: 2020-11-04 19:19+0000\n" +"Last-Translator: MarPetra , 2020\n" +"Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:11 +msgid "pgr_dijkstraNearCost - Experimental" +msgstr "pgr_dijkstraNearCost - Experimental" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:13 +msgid "" +"``pgr_dijkstraNearCost`` — Using dijkstra algorithm, finds the route that " +"leads to the nearest vertex." +msgstr "" +"``pgr_dijkstraNearCost`` — Usando el algoritmo dijkstra, encuentra la ruta " +"que conduce al vértice más cercano." + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "Funciones experimentales" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "No son oficialmente de la versión actual." + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "El nombre puede cambiar." + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "La firma (declaración de funciones) podría cambiar." + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "La funcionalidad puede cambiar." + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "Las pruebas de pgTap pueden estar ausentes." + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "Posiblemente necesite codificación c/c++." + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "Puede haber carencia de documentación." + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" +"Ejemplos de documentación que puede ser necesario generar automáticamente." + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "Puede depender de una función propuesta de pgRouting." + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "Podría depender de una función obsoleta de pgRouting" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:23 +msgid "Boost Graph Inside" +msgstr "Adentro: Boost Graph" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:26 +msgid "Availability" +msgstr "Disponibilidad" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:27 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:29 +msgid "New **experimental** function" +msgstr "Nueva función **experimental**" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:32 +msgid "Support" +msgstr "Soporte" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" +"**Versiones soportadas:** actual(`3.2 " +"`__)" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgr_dijkstraNearCost.rst:37 +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +msgid "Description" +msgstr "Descripción" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:39 +msgid "" +"Given a graph, a starting vertex and a set of ending vertices, this function" +" finds the shortest path from the starting vertex to the nearest ending " +"vertex." +msgstr "" +"Dado un gráfico, un vértice inicial y un conjunto de vértices finales, esta " +"función encuentra la ruta más corta desde el vértice inicial hasta el " +"vértice final más cercano." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:44 +msgid "Characteristics" +msgstr "Características" + +#: ../../build/doc/pgr_dijkstraNear.rst:3 +msgid "Uses Dijkstra algorithm." +msgstr "Utiliza el algoritmo Dijkstra." + +#: ../../build/doc/pgr_dijkstraNear.rst:4 +msgid "Works for **directed** and **undirected** graphs." +msgstr "Funciona para gráficos **dirigidos** y **no dirigidos**." + +#: ../../build/doc/pgr_dijkstraNear.rst:5 +msgid "When there are more than one path to the same vertex with same cost:" +msgstr "Cuando hay más de un trazado al mismo vértice con el mismo coste:" + +#: ../../build/doc/pgr_dijkstraNear.rst:7 +msgid "The algorithm will return just one path" +msgstr "El algoritmo devolverá solo una ruta" + +#: ../../build/doc/pgr_dijkstraNear.rst:9 +msgid "Optionally allows to find more than one path." +msgstr "Opcionalmente permite encontrar más de una ruta." + +#: ../../build/doc/pgr_dijkstraNear.rst:11 +msgid "When more than one path is to be returned:" +msgstr "Cuando se va a devolver más de una ruta:" + +#: ../../build/doc/pgr_dijkstraNear.rst:13 +msgid "Results are sorted in increasing order of:" +msgstr "Los resultados se ordenan en orden creciente de:" + +#: ../../build/doc/pgr_dijkstraNear.rst:15 +msgid "aggregate cost" +msgstr "costo agregado" + +#: ../../build/doc/pgr_dijkstraNear.rst:16 +msgid "Within the same value of aggregate costs:" +msgstr "Dentro del mismo valor de los costes agregados:" + +#: ../../build/doc/pgr_dijkstraNear.rst:18 +msgid "results are sorted by (source, target)" +msgstr "los resultados se ordenan por (fuente, destino)" + +#: ../../build/doc/pgr_dijkstraNear.rst:20 +msgid "" +"Running time: Dijkstra running time: :math:`drt = O((|E| + |V|)log|V|)`" +msgstr "" +"Tiempo de ejecución: Dijkstra tiempo de ejecución: :math:`drt = O((|E| + " +"|V|)log|V|)`" + +#: ../../build/doc/pgr_dijkstraNear.rst:22 +msgid "One to Many; :math:`drt`" +msgstr "Uno a Muchos; :math:`drt`" + +#: ../../build/doc/pgr_dijkstraNear.rst:23 +msgid "Many to One: :math:`drt`" +msgstr "Muchos a Uno: :math:`drt`" + +#: ../../build/doc/pgr_dijkstraNear.rst:24 +msgid "Many to Many: :math:`drt * |Starting vids|`" +msgstr "Muchos a Muchos: :math:`drt * |Starting vids|`" + +#: ../../build/doc/pgr_dijkstraNear.rst:25 +msgid "Combinations: :math:`drt * |Starting vids|`" +msgstr "Combinaciones: :math:`drt * |Starting vids|`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:51 +msgid "Signatures" +msgstr "Firmas" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:54 +msgid "Summary" +msgstr "Resumen" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:68 +msgid "One to Many" +msgstr "Uno a Muchos" + +#: ../../build/doc/pgr_dijkstraNearCost.rst +msgid "Example" +msgstr "Ejemplo" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:76 +msgid "" +"Departing on car from vertex :math:`2` find the nearest subway station." +msgstr "" +"Saliendo en coche desde el vértice :math:`2` encontrar la estación de metro" +" más cercana." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:78 +#: ../../build/doc/pgr_dijkstraNearCost.rst:108 +#: ../../build/doc/pgr_dijkstraNearCost.rst:168 +msgid "Using a **directed** graph for car routing." +msgstr "Usando un gráfico **dirigido** para el enrutamiento de automóviles." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:79 +#: ../../build/doc/pgr_dijkstraNearCost.rst:109 +msgid "The subway stations are on the following vertices :math:`\\{ 3, 6, 7\\}`" +msgstr "" +"Las estaciones de metro se encuentran en los siguientes vértices :math:`\\{ " +"3, 6, 7\\}`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:80 +#: ../../build/doc/pgr_dijkstraNearCost.rst:139 +#: ../../build/doc/pgr_dijkstraNearCost.rst:176 +msgid "The defaults used:" +msgstr "Los valores predeterminados utilizados:" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:82 +#: ../../build/doc/pgr_dijkstraNearCost.rst:178 +msgid "`directed => true`" +msgstr "`directed => true`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:83 +#: ../../build/doc/pgr_dijkstraNearCost.rst:141 +#: ../../build/doc/pgr_dijkstraNearCost.rst:179 +msgid "`cap => 1`" +msgstr "`cap => 1`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:91 +msgid "The result shows that station at vertex :math:`6` is the nearest." +msgstr "" +"El resultado muestra que la estación en el vértice :math:`6` es la más " +"cercana." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:97 +msgid "Many to One" +msgstr "Muchos a Uno" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:105 +msgid "" +"Departing on a car from a subway station find the nearest **two** stations " +"to vertex :math:`2`" +msgstr "" +"Saliendo en coche desde una estación de metro encontrar las **dos** " +"estaciones más cercanas al vértice :math:`2`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:110 +msgid "" +"On line `4`: using the positional parameter: `directed` set to ``true``" +msgstr "" +"En la línea `4`: utilizando el parámetro posicional: `directed` configurado " +"en ``true``" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:111 +msgid "In line `5`: using named parameter `cap => 2`" +msgstr "En la línea `5`: usando el parámetro con nombre `cap => 2`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:118 +msgid "" +"The result shows that station at vertex :math:`3` is the nearest and the " +"next best is :math:`6`." +msgstr "" +"El resultado muestra que la estación en el vértice :math:`3` es la más " +"cercana y la siguiente mejor es :math:`6`." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:125 +msgid "Many to Many" +msgstr "Muchos a Muchos" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:133 +msgid "Find the best pedestrian connection between two lines of buses" +msgstr "Encuentra la mejor conexión peatonal entre dos líneas de autobuses" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:135 +msgid "Unsing an **undirected** graph for pedestrian routing" +msgstr "Usando un gráfico **no dirigido** para el enrutamiento de peatones" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:136 +#: ../../build/doc/pgr_dijkstraNearCost.rst:169 +msgid "The first subway line stations stops are at :math:`\\{3, 6, 7\\}`" +msgstr "Las primeras paradas de la línea de metro están en :math:`\\{3, 6, 7\\}`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:137 +#: ../../build/doc/pgr_dijkstraNearCost.rst:170 +msgid "The second subway line stations are at :math:`\\{4, 9\\}`" +msgstr "Las segundas estaciones de la línea de metro están en :math:`\\{4, 9\\}`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:138 +msgid "On line `4`: using the named parameter: `directed => false`" +msgstr "" +"En la línea `4`: utilizando el parámetro con nombre: `directed => false`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:142 +msgid "`global => true`" +msgstr "`global => true`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:149 +msgid "" +"For a pedestrian the best connection is to get on/off is at vertex :math:`3`" +" of the first subway line and at vertex :math:`4` of the second subway line." +msgstr "" +"Para un peatón la mejor conexión es subir/bajar en el vértice :math:`3` de " +"la primera línea de metro y en el vértice :math:`4` de la segunda línea de " +"metro." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:152 +msgid "" +"Only `one` route is returned because `global` is ``true`` and `cap` is ``1``" +msgstr "" +"Solo se devuelve `una` ruta porque `global` es ``true`` y `cap` es ``1``" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:158 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:166 +msgid "" +"Find the best car connection between all the stations of two subway lines" +msgstr "" +"Encuentra la mejor conexión de coche entre todas las estaciones de dos " +"líneas de metro" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:171 +msgid "" +"line `3` sets the start vertices to be from the fisrt subway line and the " +"ending vertices to be from the second subway line" +msgstr "" +"línea `3` establece los vértices de inicio para ser de la primera línea de " +"metro y los vértices finales para ser de la segunda línea de metro" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:173 +msgid "" +"line `5` sets the start vertices to be from the first subway line and the " +"ending vertices to be from the first subway line" +msgstr "" +"la línea `5` establece los vértices de inicio que sean de la primera línea " +"de metro y los vértices finales de la primera línea de metro" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:175 +msgid "On line `6`: using the named parameter is `global => false`" +msgstr "En la línea `6: el uso del parámetro con nombre es 'global '> false'" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:186 +msgid "From the results:" +msgstr "A partir de los resultados:" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:188 +msgid "making a connection from the first subway line to the second:" +msgstr "haciendo una conexión desde la primera línea de metro a la segunda:" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:190 +msgid "" +":math:`{(3 -> 9) (6 -> 9) (7 -> 9)}` and the best one is :math:`(6 -> 9)` " +"with a cost of :math:`1` (line: `11`)" +msgstr "" +":math:`{(3 -> 9) (6 -> 9) (7 -> 9)}` y lo mejor es :math:`(6 -> 9)` con un " +"costo de :math:`1` (line: `11`)" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:193 +msgid "making a connection from the second subway line to the first:" +msgstr "haciendo una conexión desde la segunda línea de metro a la primera:" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:195 +msgid "" +":math:`{(4 -> 3) (9 -> 6)}` and both are equaly good as they have the same " +"cost. (lines: `10` and `12`)" +msgstr "" +":math:`{(4 -> 3) (9 -> 6)} ` y ambos son igualmente buenos ya que tienen el " +"mismo costo. (líneas: `10` y`12`)" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:200 +msgid "Parameters" +msgstr "Parámetros" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +msgid "Parameter" +msgstr "Parámetro" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +msgid "Type" +msgstr "Tipo" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_dijkstraNearCost.rst:203 +msgid "Default" +msgstr "Valores predeterminados" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:205 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:205 +#: ../../build/doc/pgr_dijkstraNearCost.rst:206 +msgid "``TEXT``" +msgstr "``TEXT``" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:205 +msgid "`Edges query`_ as described below" +msgstr "`Edges query`_ como se describe a continuación" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:206 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:206 +msgid "`Combinations query` as described below" +msgstr "`Consulta de combinaciones` como se describe a continuación" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:207 +msgid "**Start vid**" +msgstr "**Start vid**" + +#: ../../build/doc/pgRouting-concepts.rst:8 +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgr_dijkstraNearCost.rst:207 +#: ../../build/doc/pgr_dijkstraNearCost.rst:209 +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +msgid "``BIGINT``" +msgstr "``BIGINT``" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:207 +msgid "Identifier of the starting vertex of the path." +msgstr "Identificador del vértice inicial de la ruta." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:208 +msgid "**Start vids**" +msgstr "**Start vids**" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:208 +#: ../../build/doc/pgr_dijkstraNearCost.rst:210 +msgid "``ARRAY[BIGINT]``" +msgstr "``ARRAY[BIGINT]``" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:208 +msgid "Array of identifiers of starting vertices." +msgstr "Arreglo de identificadores de vértices iniciales." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:209 +msgid "**End vid**" +msgstr "**End vid**" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:209 +msgid "Identifier of the ending vertex of the path." +msgstr "Identificador del vértice final de la ruta." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:210 +msgid "**End vids**" +msgstr "**End vids**" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:210 +msgid "Array of identifiers of ending vertices." +msgstr "Arreglo de identificadores de vértices finales." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +msgid "**directed**" +msgstr "**dirigido**" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "``BOOLEAN``" +msgstr "``BOOLEAN``" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "``true``" +msgstr "``true``" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:211 +msgid "When ``true`` the graph is considered `Directed`" +msgstr "En caso de ``true``, el grafo se considera `Dirigido`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:212 +msgid "When ``false`` the graph is considered as `Undirected`." +msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +msgid "**cap**" +msgstr "**cap**" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +msgid "1" +msgstr "1" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:213 +msgid "Find at most ``cap`` number of nearest shortest paths" +msgstr "" +"Encuentra como máximo el número ``cap`` de los caminos más cortos y más " +"cercanos" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "**global**" +msgstr "**global**" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:214 +msgid "When ``true``: only ``cap`` limit results will be returned" +msgstr "Cuando ``true``: solo se devolverán los resultados del límite ``cap``" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:215 +msgid "When ``false``: ``cap`` limit per ``Start vid`` will be returned" +msgstr "Cuando ``false``: ``cap`` límite por ``Start vid`` será devuelto" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:220 +msgid "Inner query" +msgstr "Consulta interna" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:223 +msgid "Edges query" +msgstr "Consulta de aristas" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Column" +msgstr "Columna" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**id**" +msgstr "**id**" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "``ANY-INTEGER``" +msgstr "``ANY-INTEGER``" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Identifier of the edge." +msgstr "Identificador de la arista." + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "**source**" +msgstr "**origen**" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "Identificador del primer punto final en el vértice de la arista." + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "**target**" +msgstr "**objetivo**" + +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "Identificador del segundo punto final en el vértice de la arista." + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "**cost**" +msgstr "**cost**" + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "``ANY-NUMERICAL``" +msgstr "``ANY-NUMERICAL``" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Weight of the edge `(source, target)`" +msgstr "Peso de la arista `(source, target)`" + +#: ../../build/doc/pgRouting-concepts.rst:11 +msgid "" +"When negative: edge `(source, target)` does not exist, therefore it's not " +"part of the graph." +msgstr "" +"Cuando es negativo: la arista `(source, target)` no existe, por lo tanto no " +"es parte del grafo." + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "**reverse_cost**" +msgstr "**reverse_cost**" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "-1" +msgstr "-1" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "Weight of the edge `(target, source)`," +msgstr "Peso de la arista `(target, source)`," + +#: ../../build/doc/pgRouting-concepts.rst:15 +msgid "" +"When negative: edge `(target, source)` does not exist, therefore it's not " +"part of the graph." +msgstr "" +"En caso negativo: la arista `(target, source)` no existe, por lo tanto no " +"es parte del grafo." + +#: ../../build/doc/pgRouting-concepts.rst:11 +#: ../../build/doc/pgRouting-concepts.rst:19 +msgid "Where:" +msgstr "Donde:" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-INTEGER" +msgstr "ANY-INTEGER" + +#: ../../build/doc/pgRouting-concepts.rst:13 +#: ../../build/doc/pgRouting-concepts.rst:21 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "SMALLINT, INTEGER, BIGINT" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-NUMERICAL" +msgstr "ANY-NUMERICAL" + +#: ../../build/doc/pgRouting-concepts.rst:22 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:230 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:237 +msgid "Return Columns" +msgstr "Columnas de Devoluciones" + +#: ../../build/doc/pgRouting-concepts.rst:3 +msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" +msgstr "Devuelve SET OF ``(start_vid, end_vid, agg_cost)``" + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "**start_vid**" +msgstr "**start_vid**" + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "**end_vid**" +msgstr "**end_vid**" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Identifier of the ending vertex." +msgstr "Identificador del vértice final." + +#: ../../build/doc/pgRouting-concepts.rst:10 +msgid "**agg_cost**" +msgstr "**agg_cost**" + +#: ../../build/doc/pgRouting-concepts.rst:10 +msgid "``FLOAT``" +msgstr "``FLOAT``" + +#: ../../build/doc/pgRouting-concepts.rst:10 +msgid "Aggregate cost from ``start_vid`` to ``end_vid``." +msgstr "Coste agregado de ``start_vid`` a ``end_vid``." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:244 +msgid "See Also" +msgstr "Ver también" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:246 +msgid ":doc:`dijkstra-family`" +msgstr ":doc:`dijkstra-family`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:247 +msgid ":doc:`pgr_dijkstraNear`" +msgstr ":doc:`pgr_dijkstraNear`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:248 +msgid ":doc:`sampledata` network." +msgstr "Red :doc:`sampledata` ." + +#: ../../build/doc/pgr_dijkstraNearCost.rst:249 +msgid "boost: https://www.boost.org/libs/graph/doc/table_of_contents.html" +msgstr "boost: https://www.boost.org/libs/graph/doc/table_of_contents.html" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:250 +#, python-format +msgid "Wikipedia: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" +msgstr "Wikipedia: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:253 +msgid "Indices and tables" +msgstr "Índices y tablas" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:254 +msgid ":ref:`genindex`" +msgstr ":ref:`genindex`" + +#: ../../build/doc/pgr_dijkstraNearCost.rst:255 +msgid ":ref:`search`" +msgstr ":ref:`search`" From 6fdc29bbacb73d9f8b58eb7732d360a7ea4ce10a Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 21:34:50 +0000 Subject: [PATCH 1172/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_edgeDisjointPaths.po' on the 'es' language. --- .../es/LC_MESSAGES/pgr_edgeDisjointPaths.po | 215 ++++++++++++------ 1 file changed, 141 insertions(+), 74 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po b/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po index aaddcaa3b36..b1d73d310b1 100644 --- a/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po +++ b/locale/es/LC_MESSAGES/pgr_edgeDisjointPaths.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -38,51 +38,65 @@ msgstr "" #: ../../build/doc/pgr_edgeDisjointPaths.rst:19 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_edgeDisjointPaths.rst:22 msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_edgeDisjointPaths.rst:23 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:25 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:27 +msgid "pgr_edgeDisjointPaths(Combinations)" +msgstr "pgr_edgeDisjointPaths(Combinaciones)" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:29 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:25 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:31 msgid "**Official** function" msgstr "Función **oficial**" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:27 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:33 msgid "Version 2.5.0" msgstr "Versión 2.5.0" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:29 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:35 msgid "**Proposed** function" msgstr "Función **propuesta**" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:31 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:37 msgid "Version 2.3.0" msgstr "Versión 2.3.0" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:33 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:39 msgid "New **Experimental** function" msgstr "Nueva función **Experimental**" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:36 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:42 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:37 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:43 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -"**Versiones soportadas:** actual(​`3.1 " -"`__) `3.0 " -"`__" +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:41 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:48 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -99,11 +113,11 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgr_bdDijkstra.rst:4 -#: ../../build/doc/pgr_edgeDisjointPaths.rst:48 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:55 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:50 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:57 msgid "" "Calculates the edge disjoint paths between two groups of vertices. Utilizes " "underlying maximum flow algorithms to calculate the paths." @@ -111,17 +125,17 @@ msgstr "" "Calcula las rutas de aristas desarticuladas entre dos grupos de vértices. " "Utiliza algoritmos de flujo máximo subyacentes para calcular las rutas." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:58 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:65 msgid "The main characterics are:" msgstr "Los principales características son:" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:54 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:61 msgid "Calculates the edge disjoint paths between any two groups of vertices." msgstr "" "Calcula las rutas de aristas desarticuladas entre dos grupos de vértices " "cualquiera." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:55 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:62 msgid "" "Returns EMPTY SET when source and destination are the same, or cannot be " "reached." @@ -129,29 +143,29 @@ msgstr "" "Devuelve un conjunto vacío EMPTY SET cuando el origen y el destino son los " "mismos o no se puede llegar." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:56 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:63 msgid "The graph can be directed or undirected." msgstr "El gráfico puede dirigido o no." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:57 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:64 msgid "One to many, many to one, many to many versions are also supported." msgstr "" "Una a muchas, muchas a una, muchas a muchas, versiones que también son " "soportadas." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:58 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:65 msgid "Uses :doc:`pgr_boykovKolmogorov` to calculate the paths." msgstr "Utiliza :doc:`pgr_boykovKolmogorov` para calcular las rutas." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:61 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:68 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:64 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:71 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:77 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:85 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -159,24 +173,24 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:84 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:92 msgid "From vertex :math:`3` to vertex :math:`5` on a **directed** graph" msgstr "Del vértice :math:`3` al vértice :math:`5` en un grafo **dirigido**" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:94 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:102 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:102 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:110 msgid "From vertex :math:`3` to vertex :math:`5` on an **undirected** graph" msgstr "" "Del vértice :math:`3` al vértice :math:`5` en un grafo **no dirigido**" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:112 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:120 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:120 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:128 msgid "" "From vertex :math:`3` to vertices :math:`\\{4, 5, 10\\}` on a **directed** " "graph" @@ -184,22 +198,22 @@ msgstr "" "Del vértice :math:`3` a los vértices :math:`\\{4, 5, 10\\}` en un grafo " "**dirigido** graph" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:131 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:139 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:139 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:147 msgid "" "From vertices :math:`\\{3, 6\\}` to vertex :math:`5` on a **directed** graph" msgstr "" "De los vértices :math:`\\{3, 6\\}` al vértice :math:`5` en un grafo " "**dirigido**" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:150 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:158 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:158 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:166 msgid "" "From vertices :math:`\\{3, 6\\}` to vertices :math:`\\{4, 5, 10\\}` on a " "**directed** graph" @@ -207,7 +221,21 @@ msgstr "" "De los vértices :math:`\\{3, 6\\}` a los vértices :math:`\\{4, 5, 10\\}` en " "un grafo **dirigido**" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:166 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:177 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:185 +msgid "" +"Using a combinations table, equivalent to calculating result from vertices " +":math:`\\{3, 6\\}` to vertices :math:`\\{4, 5, 10\\}` on a **directed** " +"graph." +msgstr "" +"Usando una tabla de combinaciones, equivalente a calcular el resultado de " +"los vértices :math:`\\{3, 6\\}` a los vértices :math:`\\{4, 5, 10\\}` en un" +" grafo **dirigido**." + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:192 msgid "Parameters" msgstr "Parámetros" @@ -230,16 +258,24 @@ msgstr "Valores predeterminados" msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/pgr_bdDijkstra.rst:6 +#: ../../build/doc/pgr_bdDijkstra.rst:6 ../../build/doc/pgr_bdDijkstra.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/pgr_bdDijkstra.rst:6 -msgid "`Edges query`_ as described below" -msgstr "`Edges query`_ como se describe a continuación" +msgid "`Edges query` as described below" +msgstr "`Consulta de bordes` como se describe a continuación" -#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_bdDijkstra.rst:7 +msgid "`Combinations query` as described below" +msgstr "`Consulta de combinaciones` como se describe a continuación" + +#: ../../build/doc/pgRouting-concepts.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "**start_vid**" msgstr "**start_vid**" @@ -247,68 +283,68 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 -#: ../../build/doc/pgr_bdDijkstra.rst:7 ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:8 ../../build/doc/pgr_bdDijkstra.rst:10 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_bdDijkstra.rst:7 +#: ../../build/doc/pgr_bdDijkstra.rst:8 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_bdDijkstra.rst:8 ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:9 ../../build/doc/pgr_bdDijkstra.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_bdDijkstra.rst:8 +#: ../../build/doc/pgr_bdDijkstra.rst:9 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:18 -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_bdDijkstra.rst:9 +#: ../../build/doc/pgr_bdDijkstra.rst:10 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_bdDijkstra.rst:10 +#: ../../build/doc/pgr_bdDijkstra.rst:11 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_bdDijkstra.rst:11 +#: ../../build/doc/pgr_bdDijkstra.rst:12 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_bdDijkstra.rst:12 +#: ../../build/doc/pgr_bdDijkstra.rst:13 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:173 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_edgeDisjointPaths.rst:199 +msgid "Inner queries" +msgstr "Consultas internas" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:176 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:202 msgid "Edges query" msgstr "Consulta de aristas" @@ -331,18 +367,22 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -389,6 +429,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "Donde:" @@ -397,6 +438,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -409,7 +451,32 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:183 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:209 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "Combinaciones SQL" + +#: ../../build/doc/flow-family.rst:3 +msgid "" +"an SQL query which should return a set of rows with the following columns:" +msgstr "" +"una consulta SQL que debe devolver un conjunto de filas con las siguientes " +"columnas:" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the duplicates," +" and then it calculates the result from the resultant source vertices to the" +" target vertices." +msgstr "" +"La función agrega los orígenes y los destinos, quita los duplicados y, a " +"continuación, calcula el resultado de los vértices de origen resultantes a " +"los vértices de destino." + +#: ../../build/doc/pgr_edgeDisjointPaths.rst:216 msgid "Return Columns" msgstr "Columnas de Devoluciones" @@ -469,12 +536,12 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:14 msgid "`Many to One`_" -msgstr "`Muchos a Uno`_" +msgstr "`Many to One`_" #: ../../build/doc/pgRouting-concepts.rst:15 #: ../../build/doc/pgRouting-concepts.rst:22 msgid "`Many to Many`_" -msgstr "`Muchos a Muchos`_" +msgstr "`Many to Many`_" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" @@ -486,7 +553,7 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:21 msgid "`One to Many`_" -msgstr "`Uno a Muchos`_" +msgstr "`One to Many`_" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "**node**" @@ -529,22 +596,22 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_edgeDisjointPaths.rst:190 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:223 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:192 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:225 msgid ":doc:`flow-family`" msgstr ":doc:`flow-family`" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:195 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:228 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:196 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:229 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_edgeDisjointPaths.rst:197 +#: ../../build/doc/pgr_edgeDisjointPaths.rst:230 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" From cd3c246a64f6e1e90bb575af6f2d2a3b9b633fc1 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 21:32:28 +0000 Subject: [PATCH 1173/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_edmondsKarp.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_edmondsKarp.po | 191 +++++++++++++++-------- 1 file changed, 128 insertions(+), 63 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_edmondsKarp.po b/locale/es/LC_MESSAGES/pgr_edmondsKarp.po index f4c635fd2b1..35f3f5a9d0f 100644 --- a/locale/es/LC_MESSAGES/pgr_edmondsKarp.po +++ b/locale/es/LC_MESSAGES/pgr_edmondsKarp.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -39,55 +39,69 @@ msgstr "" #: ../../build/doc/pgr_edmondsKarp.rst:19 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_edmondsKarp.rst:22 msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_edmondsKarp.rst:23 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_edmondsKarp.rst:25 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_edmondsKarp.rst:27 +msgid "pgr_edmondsKarp(Combinations)" +msgstr "pgr_edmondsKarp(Combinaciones)" + +#: ../../build/doc/pgr_edmondsKarp.rst:29 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_edmondsKarp.rst:25 +#: ../../build/doc/pgr_edmondsKarp.rst:31 msgid "**Official** function" msgstr "Función **oficial**" -#: ../../build/doc/pgr_edmondsKarp.rst:27 +#: ../../build/doc/pgr_edmondsKarp.rst:33 msgid "Version 2.5.0" msgstr "Versión 2.5.0" -#: ../../build/doc/pgr_edmondsKarp.rst:29 +#: ../../build/doc/pgr_edmondsKarp.rst:35 msgid "Renamed from ``pgr_maxFlowEdmondsKarp``" msgstr "Renombrado desde ``pgr_maxFlowEdmondsKarp``" -#: ../../build/doc/pgr_edmondsKarp.rst:30 +#: ../../build/doc/pgr_edmondsKarp.rst:36 msgid "**Proposed** function" msgstr "Función **propuesta**" -#: ../../build/doc/pgr_edmondsKarp.rst:32 +#: ../../build/doc/pgr_edmondsKarp.rst:38 msgid "Version 2.3.0" msgstr "Versión 2.3.0" -#: ../../build/doc/pgr_edmondsKarp.rst:34 +#: ../../build/doc/pgr_edmondsKarp.rst:40 msgid "New **Experimental** function" msgstr "Nueva función **Experimental**" -#: ../../build/doc/pgr_edmondsKarp.rst:37 +#: ../../build/doc/pgr_edmondsKarp.rst:43 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_edmondsKarp.rst:38 +#: ../../build/doc/pgr_edmondsKarp.rst:44 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__" +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__" -#: ../../build/doc/pgr_edmondsKarp.rst:42 +#: ../../build/doc/pgr_edmondsKarp.rst:49 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -102,7 +116,8 @@ msgstr "" "`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_edmondsKarp.rst:49 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_edmondsKarp.rst:56 msgid "Description" msgstr "Descripción" @@ -171,19 +186,19 @@ msgstr "Mediante la agregación del flujo saliente de los orígenes" msgid "By aggregation of the incoming flow to the targets" msgstr "Mediante la agregación del flujo entrante a los destinos" -#: ../../build/doc/pgr_edmondsKarp.rst:55 +#: ../../build/doc/pgr_edmondsKarp.rst:62 msgid "Running time: :math:`O( V * E ^ 2)`" msgstr "Tiempo de ejecución: :math:`O( V * E ^ 2)`" -#: ../../build/doc/pgr_edmondsKarp.rst:58 +#: ../../build/doc/pgr_edmondsKarp.rst:65 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_edmondsKarp.rst:61 +#: ../../build/doc/pgr_edmondsKarp.rst:68 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_edmondsKarp.rst:75 +#: ../../build/doc/pgr_edmondsKarp.rst:83 msgid "One to One" msgstr "Uno a Uno" @@ -191,47 +206,62 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_edmondsKarp.rst:83 +#: ../../build/doc/pgr_edmondsKarp.rst:91 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "Del vértice :math:`6` al vértice :math:`11`" -#: ../../build/doc/pgr_edmondsKarp.rst:93 +#: ../../build/doc/pgr_edmondsKarp.rst:101 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_edmondsKarp.rst:101 +#: ../../build/doc/pgr_edmondsKarp.rst:109 msgid "From vertex :math:`6` to vertices :math:`\\{1, 3, 11\\}`" msgstr "Del vértice :math:`6` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_edmondsKarp.rst:111 +#: ../../build/doc/pgr_edmondsKarp.rst:119 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_edmondsKarp.rst:119 +#: ../../build/doc/pgr_edmondsKarp.rst:127 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "De los vértices vertices :math:`\\{6, 8, 12\\}` al vértice :math:`11`" -#: ../../build/doc/pgr_edmondsKarp.rst:129 +#: ../../build/doc/pgr_edmondsKarp.rst:137 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_edmondsKarp.rst:137 +#: ../../build/doc/pgr_edmondsKarp.rst:145 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "De los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_edmondsKarp.rst:144 +#: ../../build/doc/pgr_edmondsKarp.rst:155 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_edmondsKarp.rst:163 +msgid "" +"Using a combinations table, equivalent to calculating result from vertices " +":math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" +"Usando una tabla de combinaciones, equivalente a calcular el resultado de " +"los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`." + +#: ../../build/doc/pgr_edmondsKarp.rst:170 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "Columna" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Type" msgstr "Tipo" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "Valores predeterminados" @@ -239,15 +269,24 @@ msgstr "Valores predeterminados" msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." -msgstr "La consulta SQL de aristas como se describe en `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." +msgstr "Consulta de bordes como se describe en `Consultas internas`_." -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." + +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "**origen**" @@ -257,41 +296,41 @@ msgstr "**origen**" msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "Identificador del vértice inicial del flujo." -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "**orígenes**" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "Conjunto de identificadores de los vértices iniciales del flujo." -#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "Identificador del vértice final del flujo." -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "**destinos**" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_edmondsKarp.rst:151 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_edmondsKarp.rst:177 +msgid "Inner queries" +msgstr "Consultas internas" #: ../../build/doc/flow-family.rst msgid "Edges SQL" @@ -311,7 +350,8 @@ msgstr "**id**" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/flow-family.rst:15 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" @@ -320,10 +360,12 @@ msgid "Identifier of the edge." msgstr "Identificador de la arista." #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -345,7 +387,7 @@ msgstr "" #: ../../build/doc/flow-family.rst:15 msgid "**reverse_capacity**" -msgstr "**reverse_capacity**" +msgstr "**reverse_capacity** (**capacidad inversa**)" #: ../../build/doc/flow-family.rst:15 msgid "-1" @@ -364,18 +406,41 @@ msgstr "" "es parte del grafo." #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "Donde:" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "ANY-INTEGER" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" -#: ../../build/doc/pgr_edmondsKarp.rst:158 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "Combinaciones SQL" + +#: ../../build/doc/flow-family.rst:3 +msgid "" +"an SQL query which should return a set of rows with the following columns:" +msgstr "" +"una consulta SQL que debe devolver un conjunto de filas con las siguientes " +"columnas:" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the duplicates," +" and then it calculates the result from the resultant source vertices to the" +" target vertices." +msgstr "" +"La función agrega los orígenes y los destinos, quita los duplicados y, a " +"continuación, calcula el resultado de los vértices de origen resultantes a " +"los vértices de destino." + +#: ../../build/doc/pgr_edmondsKarp.rst:188 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -393,7 +458,7 @@ msgstr "Valor secuencial a partir de **1**." #: ../../build/doc/flow-family.rst:7 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/flow-family.rst:7 msgid "Identifier of the edge in the original query(edges_sql)." @@ -426,33 +491,33 @@ msgid "" msgstr "" "Capacidad residual del arista en la dirección (``start_vid``, ``end_vid``)." -#: ../../build/doc/pgr_edmondsKarp.rst:165 +#: ../../build/doc/pgr_edmondsKarp.rst:195 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_edmondsKarp.rst:167 +#: ../../build/doc/pgr_edmondsKarp.rst:197 msgid "" ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_pushRelabel`" msgstr "" ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_pushRelabel`" -#: ../../build/doc/pgr_edmondsKarp.rst:168 +#: ../../build/doc/pgr_edmondsKarp.rst:198 msgid "https://www.boost.org/libs/graph/doc/edmonds_karp_max_flow.html" msgstr "https://www.boost.org/libs/graph/doc/edmonds_karp_max_flow.html" -#: ../../build/doc/pgr_edmondsKarp.rst:169 +#: ../../build/doc/pgr_edmondsKarp.rst:199 #, python-format msgid "https://en.wikipedia.org/wiki/Edmonds%E2%80%93Karp_algorithm" msgstr "https://en.wikipedia.org/wiki/Edmonds%E2%80%93Karp_algorithm" -#: ../../build/doc/pgr_edmondsKarp.rst:172 +#: ../../build/doc/pgr_edmondsKarp.rst:202 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_edmondsKarp.rst:173 +#: ../../build/doc/pgr_edmondsKarp.rst:203 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_edmondsKarp.rst:174 +#: ../../build/doc/pgr_edmondsKarp.rst:204 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" From fc413530f1ed0e57acbbbd5fef8d955fd89e232f Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 21:39:06 +0000 Subject: [PATCH 1174/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_edwardMoore.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_edwardMoore.po | 221 ++++++++++++++--------- 1 file changed, 132 insertions(+), 89 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_edwardMoore.po b/locale/es/LC_MESSAGES/pgr_edwardMoore.po index 543a80ccc7e..9c5cc0c080e 100644 --- a/locale/es/LC_MESSAGES/pgr_edwardMoore.po +++ b/locale/es/LC_MESSAGES/pgr_edwardMoore.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-15 07:54-0600\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -112,21 +112,33 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_edwardMoore.rst:23 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_edwardMoore.rst:25 +msgid "New **experimental** function:" +msgstr "Nueva función **experimental**:" + +#: ../../build/doc/pgr_edwardMoore.rst:27 +msgid "pgr_edwardMoore(Combinations)" +msgstr "pgr_edwardMoore(Combinaciones)" + +#: ../../build/doc/pgr_edwardMoore.rst:29 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_edwardMoore.rst:25 +#: ../../build/doc/pgr_edwardMoore.rst:31 msgid "New **experimental** function" msgstr "Nueva función **experimental**" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_edwardMoore.rst:28 -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:34 +#: ../../build/doc/pgr_edwardMoore.rst:190 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_edwardMoore.rst:30 +#: ../../build/doc/pgr_edwardMoore.rst:36 msgid "" "Edward Moore’s Algorithm is an improvement of the Bellman-Ford Algorithm. It" " can compute the shortest paths from a single source vertex to all other " @@ -139,7 +151,7 @@ msgstr "" " algoritmo de Edward Moore y algoritmo de Bellman Ford radica en el tiempo " "de ejecución." -#: ../../build/doc/pgr_edwardMoore.rst:34 +#: ../../build/doc/pgr_edwardMoore.rst:40 msgid "" "The worst-case running time of the algorithm is :math:`O(| V | * | E |)` " "similar to the time complexity of Bellman-Ford algorithm. However, " @@ -154,7 +166,7 @@ msgstr "" "aleatorios. Esto es significativamente más rápido en términos de velocidad " "de cálculo." -#: ../../build/doc/pgr_edwardMoore.rst:39 +#: ../../build/doc/pgr_edwardMoore.rst:45 msgid "" "Thus, the algorithm is at-best, significantly faster than Bellman-Ford " "algorithm and is at-worst, as good as Bellman-Ford algorithm" @@ -163,36 +175,36 @@ msgstr "" "más rápido que el algoritmo Bellman-Ford y es en el peor de los casos, tan " "bueno como el algoritmo Bellman-Ford" -#: ../../build/doc/pgr_edwardMoore.rst:62 +#: ../../build/doc/pgr_edwardMoore.rst:68 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_edwardMoore.rst:43 +#: ../../build/doc/pgr_edwardMoore.rst:49 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/pgr_edwardMoore.rst:45 +#: ../../build/doc/pgr_edwardMoore.rst:51 msgid "" "When the starting vertex and ending vertex are the same, there is no path." msgstr "" "Cuando el vértice inicial y el vértice final son iguales, no hay camino." -#: ../../build/doc/pgr_edwardMoore.rst:47 +#: ../../build/doc/pgr_edwardMoore.rst:53 msgid "The `agg_cost` the non included values `(v, v)` is `0`" msgstr "El `agg_cost` de los valores no incluídos `(v, v)` es `0`" -#: ../../build/doc/pgr_edwardMoore.rst:49 +#: ../../build/doc/pgr_edwardMoore.rst:55 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path:" msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay camino:" -#: ../../build/doc/pgr_edwardMoore.rst:51 +#: ../../build/doc/pgr_edwardMoore.rst:57 msgid "The `agg_cost` the non included values `(u, v)` is :math:`\\infty`" msgstr "El 'agg_cost' de los valores no incluídos '(u, v)' es :math: `\\infty`" -#: ../../build/doc/pgr_edwardMoore.rst:53 +#: ../../build/doc/pgr_edwardMoore.rst:59 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` are ignored." @@ -200,19 +212,19 @@ msgstr "" "Para fines de optimización, se omite cualquier valor duplicado en " "`start_vids` o `end_vids`." -#: ../../build/doc/pgr_edwardMoore.rst:55 +#: ../../build/doc/pgr_edwardMoore.rst:61 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_edwardMoore.rst:57 +#: ../../build/doc/pgr_edwardMoore.rst:63 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/pgr_edwardMoore.rst:58 +#: ../../build/doc/pgr_edwardMoore.rst:64 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/pgr_edwardMoore.rst:60 +#: ../../build/doc/pgr_edwardMoore.rst:66 msgid "" "Running time: - Worst case: :math:`O(| V | * | E |)` - Average case: " ":math:`O( | E | )`" @@ -220,7 +232,7 @@ msgstr "" "Tiempo de ejecución: - En el peor de los casos: :math:`O(| V | * | E |)` - " "Caso promedio: :math:`O( | E | )`" -#: ../../build/doc/pgr_edwardMoore.rst:65 +#: ../../build/doc/pgr_edwardMoore.rst:71 msgid "Signatures" msgstr "Firmas" @@ -228,24 +240,24 @@ msgstr "Firmas" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_edwardMoore.rst:81 +#: ../../build/doc/pgr_edwardMoore.rst:88 msgid "From vertex :math:`2` to vertex :math:`3` on a **directed** graph" msgstr "Del vértice :math:`2` al vértice :math:`3` en un grafo **dirigido**" -#: ../../build/doc/pgr_edwardMoore.rst:91 +#: ../../build/doc/pgr_edwardMoore.rst:98 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_edwardMoore.rst:100 +#: ../../build/doc/pgr_edwardMoore.rst:106 msgid "From vertex :math:`2` to vertex :math:`3` on an **undirected** graph" msgstr "" "Del vértice :math:`2` al vértice :math:`3` en un grafo **no dirigido**" -#: ../../build/doc/pgr_edwardMoore.rst:110 +#: ../../build/doc/pgr_edwardMoore.rst:116 msgid "One to many" -msgstr "Uno a Muchos" +msgstr "Uno a muchos" -#: ../../build/doc/pgr_edwardMoore.rst:119 +#: ../../build/doc/pgr_edwardMoore.rst:124 msgid "" "From vertex :math:`2` to vertices :math:`\\{3, 5\\}` on an **undirected** " "graph" @@ -253,11 +265,11 @@ msgstr "" "Del vértice :math:`2` a los vértices :math:`\\{3, 5\\}` en un grafo **no " "dirigido**" -#: ../../build/doc/pgr_edwardMoore.rst:129 +#: ../../build/doc/pgr_edwardMoore.rst:134 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_edwardMoore.rst:138 +#: ../../build/doc/pgr_edwardMoore.rst:142 msgid "" "From vertices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "graph" @@ -265,11 +277,11 @@ msgstr "" "De los vértices :math:`\\{2, 11\\}` to vertex :math:`5` on a **directed** " "graph" -#: ../../build/doc/pgr_edwardMoore.rst:148 +#: ../../build/doc/pgr_edwardMoore.rst:152 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_edwardMoore.rst:157 +#: ../../build/doc/pgr_edwardMoore.rst:160 msgid "" "From vertices :math:`\\{2, 11\\}` to vertices :math:`\\{3, 5\\}` on an " "**undirected** graph" @@ -277,39 +289,56 @@ msgstr "" "De los vértices​ :math:`\\{2, 11\\}` a los vértices :math:`\\{3, 5\\}` en " "un grafo **no dirigido**" -#: ../../build/doc/pgr_edwardMoore.rst:164 +#: ../../build/doc/pgr_edwardMoore.rst:170 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_edwardMoore.rst:178 +msgid "Using a combinations table on an **undirected** graph." +msgstr "Uso de una tabla de combinaciones en un grafo **no dirigido**." + +#: ../../build/doc/pgr_edwardMoore.rst:185 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:190 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:190 msgid "Type" msgstr "Tipo" #: ../../build/doc/pgRouting-concepts.rst:4 -#: ../../build/doc/pgr_edwardMoore.rst:169 +#: ../../build/doc/pgr_edwardMoore.rst:190 msgid "Default" msgstr "Valores predeterminados" -#: ../../build/doc/pgr_edwardMoore.rst:171 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/pgr_edwardMoore.rst:192 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_edwardMoore.rst:171 +#: ../../build/doc/pgr_edwardMoore.rst:192 +#: ../../build/doc/pgr_edwardMoore.rst:193 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_edwardMoore.rst:171 -msgid "Inner SQL query as described below." -msgstr "Consulta SQL interna como se describe a continuación." +#: ../../build/doc/pgr_edwardMoore.rst:192 +msgid "Edges query as described below." +msgstr "Consulta de bordes como se describe a continuación." + +#: ../../build/doc/pgr_edwardMoore.rst:193 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_edwardMoore.rst:193 +msgid "Combinations query as described below." +msgstr "Consulta de combinaciones como se describe a continuación." #: ../../build/doc/pgRouting-concepts.rst:11 -#: ../../build/doc/pgr_edwardMoore.rst:172 +#: ../../build/doc/pgr_edwardMoore.rst:194 msgid "**start_vid**" msgstr "**start_vid**" @@ -317,68 +346,72 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:18 #: ../../build/doc/pgRouting-concepts.rst:24 #: ../../build/doc/pgRouting-concepts.rst:25 -#: ../../build/doc/pgr_edwardMoore.rst:172 -#: ../../build/doc/pgr_edwardMoore.rst:174 +#: ../../build/doc/pgr_edwardMoore.rst:194 +#: ../../build/doc/pgr_edwardMoore.rst:196 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_edwardMoore.rst:172 +#: ../../build/doc/pgr_edwardMoore.rst:194 msgid "Identifier of the starting vertex of the path." msgstr "Identificador del vértice inicial de la ruta." -#: ../../build/doc/pgr_edwardMoore.rst:173 +#: ../../build/doc/pgr_edwardMoore.rst:195 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_edwardMoore.rst:173 -#: ../../build/doc/pgr_edwardMoore.rst:175 +#: ../../build/doc/pgr_edwardMoore.rst:195 +#: ../../build/doc/pgr_edwardMoore.rst:197 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/pgr_edwardMoore.rst:173 +#: ../../build/doc/pgr_edwardMoore.rst:195 msgid "Array of identifiers of starting vertices." msgstr "Arreglo de identificadores de vértices iniciales." #: ../../build/doc/pgRouting-concepts.rst:18 -#: ../../build/doc/pgr_edwardMoore.rst:174 +#: ../../build/doc/pgr_edwardMoore.rst:196 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_edwardMoore.rst:174 +#: ../../build/doc/pgr_edwardMoore.rst:196 msgid "Identifier of the ending vertex of the path." msgstr "Identificador del vértice final de la ruta." -#: ../../build/doc/pgr_edwardMoore.rst:175 +#: ../../build/doc/pgr_edwardMoore.rst:197 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_edwardMoore.rst:175 +#: ../../build/doc/pgr_edwardMoore.rst:197 msgid "Array of identifiers of ending vertices." msgstr "Arreglo de identificadores de vértices finales." -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "``true``" msgstr "``true``" -#: ../../build/doc/pgr_edwardMoore.rst:176 +#: ../../build/doc/pgr_edwardMoore.rst:198 msgid "When ``true`` Graph is considered `Directed`" msgstr "Cuando ``true`` el gráfo se considera `Dirigido`" -#: ../../build/doc/pgr_edwardMoore.rst:177 +#: ../../build/doc/pgr_edwardMoore.rst:199 msgid "When ``false`` the graph is considered as `Undirected`." msgstr "Cuando ``false`` el gráfo se considera `No Dirigido`" -#: ../../build/doc/pgr_edwardMoore.rst:183 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_edwardMoore.rst:205 +msgid "Inner queries" +msgstr "Consultas internas" + +#: ../../build/doc/pgr_edwardMoore.rst:208 +msgid "Edges query" +msgstr "Consulta de aristas" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:6 @@ -399,18 +432,22 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -418,7 +455,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:26 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -457,6 +494,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 msgid "Where:" msgstr "Donde:" @@ -465,6 +503,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -477,7 +516,11 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" -#: ../../build/doc/pgr_edwardMoore.rst:192 +#: ../../build/doc/pgr_edwardMoore.rst:215 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_edwardMoore.rst:222 msgid "Return Columns" msgstr "Columnas de Devoluciones" @@ -537,12 +580,12 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:14 msgid "`Many to One`_" -msgstr "`Muchos a Uno`_" +msgstr "`Many to One`_" #: ../../build/doc/pgRouting-concepts.rst:15 #: ../../build/doc/pgRouting-concepts.rst:22 msgid "`Many to Many`_" -msgstr "`Muchos a Muchos`_" +msgstr "`Many to Many`_" #: ../../build/doc/pgRouting-concepts.rst:18 msgid "" @@ -558,7 +601,7 @@ msgstr "`Uno a Muchos`_" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgRouting-concepts.rst:24 msgid "Identifier of the node in the path from ``start_vid`` to ``end_vid``." @@ -566,7 +609,7 @@ msgstr "Identificador del nodo en la ruta de ``start_vid`` a ``end_vid``." #: ../../build/doc/pgRouting-concepts.rst:25 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgRouting-concepts.rst:25 msgid "" @@ -597,16 +640,16 @@ msgstr "**agg_cost**" msgid "Aggregate cost from ``start_v`` to ``node``." msgstr "Coste agregado de ``start_v`` to ``node``." -#: ../../build/doc/pgr_edwardMoore.rst:200 +#: ../../build/doc/pgr_edwardMoore.rst:230 msgid "Example Application" msgstr "Ejemplo de aplicación" -#: ../../build/doc/pgr_edwardMoore.rst:202 +#: ../../build/doc/pgr_edwardMoore.rst:232 msgid "" "The examples of this section are based on the :doc:`sampledata` network." msgstr "Los ejemplos de esta sección se basan en la red :doc:`sampledata`." -#: ../../build/doc/pgr_edwardMoore.rst:204 +#: ../../build/doc/pgr_edwardMoore.rst:234 msgid "" "The examples include combinations from starting vertices 2 and 11 to ending " "vertices 3 and 5 in a directed and undirected graph with and with out " @@ -620,7 +663,7 @@ msgstr "" msgid "Examples" msgstr "Ejemplos" -#: ../../build/doc/pgr_edwardMoore.rst:207 +#: ../../build/doc/pgr_edwardMoore.rst:237 msgid "" "For queries marked as ``directed`` with ``cost`` and ``reverse_cost`` " "columns" @@ -628,11 +671,11 @@ msgstr "" "Para consultas marcadas como ``directed`` con columnas ``cost`` and " "``reverse_cost``" -#: ../../build/doc/pgr_edwardMoore.rst:209 +#: ../../build/doc/pgr_edwardMoore.rst:239 msgid "The examples in this section use the following :ref:`fig1`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig1`" -#: ../../build/doc/pgr_edwardMoore.rst:215 +#: ../../build/doc/pgr_edwardMoore.rst:245 msgid "" "For queries marked as ``undirected`` with ``cost`` and ``reverse_cost`` " "columns" @@ -640,42 +683,42 @@ msgstr "" "Para consultas marcadas como ``undirected`` con columnas ``cost`` y " "``reverse_cost`` " -#: ../../build/doc/pgr_edwardMoore.rst:217 +#: ../../build/doc/pgr_edwardMoore.rst:247 msgid "The examples in this section use the following :ref:`fig2`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig2`" -#: ../../build/doc/pgr_edwardMoore.rst:223 +#: ../../build/doc/pgr_edwardMoore.rst:253 msgid "For queries marked as ``directed`` with ``cost`` column" msgstr "Para consultas marcadas como ``directed`` con columna``cost``" -#: ../../build/doc/pgr_edwardMoore.rst:225 +#: ../../build/doc/pgr_edwardMoore.rst:255 msgid "The examples in this section use the following :ref:`fig3`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig3`" -#: ../../build/doc/pgr_edwardMoore.rst:231 +#: ../../build/doc/pgr_edwardMoore.rst:261 msgid "For queries marked as ``undirected`` with ``cost`` column" msgstr "Para consultas marcadas como ``undirected`` con columna ``cost``" -#: ../../build/doc/pgr_edwardMoore.rst:233 +#: ../../build/doc/pgr_edwardMoore.rst:263 msgid "The examples in this section use the following :ref:`fig4`" msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig4`" -#: ../../build/doc/pgr_edwardMoore.rst:240 +#: ../../build/doc/pgr_edwardMoore.rst:270 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_edwardMoore.rst:242 +#: ../../build/doc/pgr_edwardMoore.rst:272 msgid "https://en.wikipedia.org/wiki/Shortest_Path_Faster_Algorithm" msgstr "https://en.wikipedia.org/wiki/Shortest_Path_Faster_Algorithm" -#: ../../build/doc/pgr_edwardMoore.rst:245 +#: ../../build/doc/pgr_edwardMoore.rst:275 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_edwardMoore.rst:246 +#: ../../build/doc/pgr_edwardMoore.rst:276 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_edwardMoore.rst:247 +#: ../../build/doc/pgr_edwardMoore.rst:277 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" From c13bfdf0558028e2ba5a2c22b673b39de525b517 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Sat, 21 Nov 2020 17:36:56 +0000 Subject: [PATCH 1175/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_isPlanar.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_isPlanar.po | 378 ++++++++++++++++++++++++++ 1 file changed, 378 insertions(+) create mode 100644 locale/es/LC_MESSAGES/pgr_isPlanar.po diff --git a/locale/es/LC_MESSAGES/pgr_isPlanar.po b/locale/es/LC_MESSAGES/pgr_isPlanar.po new file mode 100644 index 00000000000..730a8c74e5c --- /dev/null +++ b/locale/es/LC_MESSAGES/pgr_isPlanar.po @@ -0,0 +1,378 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +# Translators: +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: 2020-11-04 19:19+0000\n" +"Last-Translator: MarPetra , 2020\n" +"Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../build/doc/pgr_isPlanar.rst:11 +msgid "pgr_isPlanar - Experimental" +msgstr "pgr_isPlanar - Experimental" + +#: ../../build/doc/pgr_isPlanar.rst:13 +msgid "" +"``pgr_isPlanar`` — Returns a boolean depending upon the planarity of the " +"graph." +msgstr "" +"``pgr_isPlanar`` — Devuelve un valor boolean dependiendo de la planaridad " +"del grafo." + +#: ../../build/doc/pgr_isPlanar.rst:18 +msgid "Boost Graph Inside" +msgstr "Adentro: Boost Graph" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "Funciones experimentales" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "No son oficialmente de la versión actual." + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "El nombre puede cambiar." + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "La firma (declaración de funciones) podría cambiar." + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "La funcionalidad puede cambiar." + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "Las pruebas de pgTap pueden estar ausentes." + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "Posiblemente necesite codificación c/c++." + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "Puede haber carencia de documentación." + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" +"Ejemplos de documentación que puede ser necesario generar automáticamente." + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "Puede depender de una función propuesta de pgRouting." + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "Podría depender de una función obsoleta de pgRouting" + +#: ../../build/doc/pgr_isPlanar.rst:25 +msgid "Availability" +msgstr "Disponibilidad" + +#: ../../build/doc/pgr_isPlanar.rst:26 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_isPlanar.rst:28 +msgid "New **experimental** function" +msgstr "Nueva función **experimental**" + +#: ../../build/doc/pgr_isPlanar.rst:31 +msgid "Support" +msgstr "Soporte" + +#: ../../build/doc/pgr_isPlanar.rst:32 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" +"**Versiones soportadas:** current(`3.2 " +"`__)" + +#: ../../build/doc/pgr_isPlanar.rst:36 ../../build/doc/pgr_isPlanar.rst:76 +#: ../../build/doc/pgr_isPlanar.rst:87 ../../build/doc/pgr_isPlanar.rst:111 +msgid "Description" +msgstr "Descripción" + +#: ../../build/doc/pgr_isPlanar.rst:38 +msgid "" +"A graph is planar if it can be drawn in two-dimensional space with no two of" +" its edges crossing. Such a drawing of a planar graph is called a plane " +"drawing. Every planar graph also admits a straight-line drawing, which is a " +"plane drawing where each edge is represented by a line segment. When a graph" +" has :math:`K_5` or :math:`K_{3,3}` as subgraph then the graph is not " +"planar." +msgstr "" +"Un grafo es planar si se puede dibujar en un espacio bidimensional sin que " +"se crucen dos de sus aristas. Este dibujo de un grafo planaro es llamado " +"dibujo de plano. Cada grafo planar también admite un dibujo de línea recta, " +"que es un dibujo de plano donde cada arista está representada por un " +"segmento de línea. Cuando un grafo tiene :math:`K_5` or :math:`K_{3,3}` como" +" subgrafo, entonces el grafo no es planar." + +#: ../../build/doc/pgr_isPlanar.rst:52 +msgid "The main characteristics are:" +msgstr "Las principales características son:" + +#: ../../build/doc/pgr_isPlanar.rst:44 +msgid "This implementation use the Boyer-Myrvold Planarity Testing." +msgstr "Esta implementación utiliza la Prueba de Planaridad de Boyer-Myrvold." + +#: ../../build/doc/pgr_isPlanar.rst:46 +msgid "" +"It will return a boolean value depending upon the planarity of the graph." +msgstr "Devolverá un valor boolean dependiendo de la planaridad del grrafo." + +#: ../../build/doc/pgr_isPlanar.rst:48 +msgid "Applicable only for **undirected** graphs." +msgstr "Aplicable solo para grafos **no dirigidos**." + +#: ../../build/doc/pgr_isPlanar.rst:50 +msgid "The algorithm does not considers traversal costs in the calculations." +msgstr "El algoritmo no considera los costos transversales en los cálculos." + +#: ../../build/doc/pgr_isPlanar.rst:52 +msgid "Running time: :math:`O(|V|)`" +msgstr "Tiempo de ejecución: :math:`O(|V|)`" + +#: ../../build/doc/pgr_isPlanar.rst:55 +msgid "Signatures" +msgstr "Firmas" + +#: ../../build/doc/pgr_isPlanar.rst:58 +msgid "Summary" +msgstr "Resumen" + +#: ../../build/doc/pgr_isPlanar.rst:73 +msgid "Parameters" +msgstr "Parámetros" + +#: ../../build/doc/pgr_isPlanar.rst:76 +msgid "Parameter" +msgstr "Parámetro" + +#: ../../build/doc/pgr_isPlanar.rst:76 ../../build/doc/pgr_isPlanar.rst:87 +#: ../../build/doc/pgr_isPlanar.rst:111 +msgid "Type" +msgstr "Tipo" + +#: ../../build/doc/pgr_isPlanar.rst:76 ../../build/doc/pgr_isPlanar.rst:87 +msgid "Default" +msgstr "Valores predeterminados" + +#: ../../build/doc/pgr_isPlanar.rst:78 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" + +#: ../../build/doc/pgr_isPlanar.rst:78 +msgid "``TEXT``" +msgstr "``TEXT``" + +#: ../../build/doc/pgr_isPlanar.rst:78 +msgid "SQL query as described below." +msgstr "Consulta SQL como se describe a continuación." + +#: ../../build/doc/pgr_isPlanar.rst:82 +msgid "Inner query" +msgstr "Consulta interna" + +#: ../../build/doc/pgr_isPlanar.rst +msgid "Edges SQL" +msgstr "Edges SQL" + +#: ../../build/doc/pgr_isPlanar.rst:84 +msgid "" +"an SQL query, which should return a set of rows with the following columns:" +msgstr "" +"Una consulta SQL, que debe regresar un conjunto de filas con las siguientes " +"columnas:" + +#: ../../build/doc/pgr_isPlanar.rst:87 ../../build/doc/pgr_isPlanar.rst:111 +msgid "Column" +msgstr "Columna" + +#: ../../build/doc/pgr_isPlanar.rst:89 +msgid "**id**" +msgstr "**id**" + +#: ../../build/doc/pgr_isPlanar.rst:89 ../../build/doc/pgr_isPlanar.rst:90 +#: ../../build/doc/pgr_isPlanar.rst:91 +msgid "``ANY-INTEGER``" +msgstr "``ANY-INTEGER``" + +#: ../../build/doc/pgr_isPlanar.rst:89 +msgid "Identifier of the edge." +msgstr "Identificador de la arista." + +#: ../../build/doc/pgr_isPlanar.rst:90 +msgid "**source**" +msgstr "**origen**" + +#: ../../build/doc/pgr_isPlanar.rst:90 +msgid "Identifier of the first end point vertex of the edge." +msgstr "Identificador del primer punto final en el vértice de la arista." + +#: ../../build/doc/pgr_isPlanar.rst:91 +msgid "**target**" +msgstr "**objetivo**" + +#: ../../build/doc/pgr_isPlanar.rst:91 +msgid "Identifier of the second end point vertex of the edge." +msgstr "Identificador del segundo punto final en el vértice de la arista." + +#: ../../build/doc/pgr_isPlanar.rst:92 +msgid "**cost**" +msgstr "**cost**" + +#: ../../build/doc/pgr_isPlanar.rst:92 ../../build/doc/pgr_isPlanar.rst:95 +msgid "``ANY-NUMERICAL``" +msgstr "``ANY-NUMERICAL``" + +#: ../../build/doc/pgr_isPlanar.rst:92 ../../build/doc/pgr_isPlanar.rst:95 +msgid "When positive: edge `(target, source)` is part of the graph." +msgstr "En caso positivo: la arista `(destino, origen)` es parte del grafo." + +#: ../../build/doc/pgr_isPlanar.rst:93 ../../build/doc/pgr_isPlanar.rst:96 +msgid "When negative: edge `(target, source)` is not part of the graph." +msgstr "" +"En caso negativo: la arista `(destino, origen)` no forma parte del grafo." + +#: ../../build/doc/pgr_isPlanar.rst:95 +msgid "**reverse_cost**" +msgstr "**reverse_cost**" + +#: ../../build/doc/pgr_isPlanar.rst:95 +msgid "-1" +msgstr "-1" + +#: ../../build/doc/pgr_isPlanar.rst:100 +msgid "Where:" +msgstr "Donde:" + +#: ../../build/doc/pgr_isPlanar.rst +msgid "ANY-INTEGER" +msgstr "ANY-INTEGER" + +#: ../../build/doc/pgr_isPlanar.rst:102 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "SMALLINT, INTEGER, BIGINT" + +#: ../../build/doc/pgr_isPlanar.rst +msgid "ANY-NUMERICAL" +msgstr "ANY-NUMERICAL" + +#: ../../build/doc/pgr_isPlanar.rst:103 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" + +#: ../../build/doc/pgr_isPlanar.rst:106 +msgid "Result Columns" +msgstr "Columnas de Resultados" + +#: ../../build/doc/pgr_isPlanar.rst:108 +msgid "Returns a boolean ``(pgr_isplanar)``" +msgstr "Devuelve un valor boolean ``(pgr_isplanar)``" + +#: ../../build/doc/pgr_isPlanar.rst:113 +msgid "**pgr_isplanar**" +msgstr "**pgr_isplanar**" + +#: ../../build/doc/pgr_isPlanar.rst:113 +msgid "``BOOLEAN``" +msgstr "``BOOLEAN``" + +#: ../../build/doc/pgr_isPlanar.rst:113 +msgid "`true` when the graph is planar." +msgstr "`true` cuando el grafo es planar." + +#: ../../build/doc/pgr_isPlanar.rst:114 +msgid "`false` when the graph is not planar." +msgstr "`false` cuando el grafo no es planar." + +#: ../../build/doc/pgr_isPlanar.rst:118 +msgid "Additional Example:" +msgstr "Ejemplo Adicional:" + +#: ../../build/doc/pgr_isPlanar.rst:120 +msgid "" +"The following edges will make the subgraph with vertices {3, 4, 6, 9, 16} a " +":math:`K_5` graph." +msgstr "" +"Las siguientes aristas harán de el subgrafo con los vértices {3, 4, 6, 9, " +"16} un grafo :math:`K_5`." + +#: ../../build/doc/pgr_isPlanar.rst:126 +msgid "" +"The new graph is not planar because it has a :math:`K_5` subgraph. Edges in " +"blue represent :math:`K_5` subgraph." +msgstr "" +"El nuevo grafo no es planar porque tiene un subgráfico :math:`K_5`. Las " +"aristas en azul representan el subgrafo :math:'K_5'." + +#: ../../build/doc/pgr_isPlanar.rst:136 +msgid "See Also" +msgstr "Ver también" + +#: ../../build/doc/pgr_isPlanar.rst:138 +msgid "https://www.boost.org/libs/graph/doc/boyer_myrvold.html" +msgstr "https://www.boost.org/libs/graph/doc/boyer_myrvold.html" + +#: ../../build/doc/pgr_isPlanar.rst:139 +msgid "The queries use the :doc:`sampledata` network." +msgstr "Las consultas utilizan la red :doc:`sampledata` ." + +#: ../../build/doc/pgr_isPlanar.rst:142 +msgid "Indices and tables" +msgstr "Índices y tablas" + +#: ../../build/doc/pgr_isPlanar.rst:143 +msgid ":ref:`genindex`" +msgstr ":ref:`genindex`" + +#: ../../build/doc/pgr_isPlanar.rst:144 +msgid ":ref:`search`" +msgstr ":ref:`search`" From 805c672cdc348b96a36286208fc9f8192bc73a9d Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Sat, 21 Nov 2020 17:59:06 +0000 Subject: [PATCH 1176/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po' on the 'es' language. --- .../pgr_lengauerTarjanDominatorTree.po | 424 ++++++++++++++++++ 1 file changed, 424 insertions(+) create mode 100644 locale/es/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po diff --git a/locale/es/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po b/locale/es/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po new file mode 100644 index 00000000000..55f4a4b10c4 --- /dev/null +++ b/locale/es/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po @@ -0,0 +1,424 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +# Translators: +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: 2020-11-04 19:19+0000\n" +"Last-Translator: MarPetra , 2020\n" +"Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:12 +msgid "pgr_lengauerTarjanDominatorTree -Experimental" +msgstr "pgr_lengauerTarjanDominatorTree -Experimental" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:14 +msgid "" +"``pgr_lengauerTarjanDominatorTree`` — Returns the immediate dominator of all" +" vertices." +msgstr "" +"``pgr_lengauerTarjanDominatorTree`` — Devuelve el dominador inmediato de " +"todos los vértices." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:19 +msgid "Boost Graph Inside" +msgstr "Adentro: Boost Graph" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "Funciones experimentales" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "No son oficialmente de la versión actual." + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "El nombre puede cambiar." + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "La firma (declaración de funciones) podría cambiar." + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "La funcionalidad puede cambiar." + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "Las pruebas de pgTap pueden estar ausentes." + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "Posiblemente necesite codificación c/c++." + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "Puede haber carencia de documentación." + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" +"Ejemplos de documentación que puede ser necesario generar automáticamente." + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "Puede depender de una función propuesta de pgRouting." + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "Podría depender de una función obsoleta de pgRouting" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:26 +msgid "Availability" +msgstr "Disponibilidad" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:27 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:29 +msgid "New **experimental** function" +msgstr "Nueva función **experimental**" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:32 +msgid "Support" +msgstr "Soporte" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" +"**Versiones soportadas:** actual(`3.2 " +"`__)" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:40 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:77 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:97 +msgid "Description" +msgstr "Descripción" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:41 +msgid "" +"The algorithm calculates the *immidiate dominator* of each vertex called " +"**idom**, once **idom** of each vertex is calculated then by making every " +"**idom** of each vertex as its parent, the dominator tree can be built." +msgstr "" +"El algoritmo calcula el *dominador inmediato* de cada vértice llamado " +"**idom**, una vez que se calcula la **idom** de cada vértice y, a " +"continuación, haciendo que cada **idom** de cada vértice como su elemento " +"primario, se pueda construir el árbol del dominador." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:43 +msgid "**The main Characteristics are:**" +msgstr "**Las características principales son:**" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:45 +msgid "The algorithm works in directed graph only." +msgstr "El algoritmo solo funciona en el grafo dirigido." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:46 +msgid "The returned values are not ordered." +msgstr "Los valores devueltos no están ordenados." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:47 +msgid "The algorithm returns *idom* of each vertex." +msgstr "El algoritmo devuelve *idom* de cada vértice." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:48 +msgid "" +"If the *root vertex* not present in the graph then it returns empty set." +msgstr "" +"Si el vértice *raíz* no está presente en el grafo, devuelve un conjunto " +"vacío." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:49 +msgid "Running time: :math:`O((V+E)log(V+E))`" +msgstr "Tiempo de ejecución: :math:`O((V+E)log(V+E))`" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:52 +msgid "Signatures" +msgstr "Firmas" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:55 +msgid "Summary" +msgstr "Resumen" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst +msgid "Example" +msgstr "Ejemplo" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:67 +msgid "The lengauerTarjanDominatorTree with root vertex :math:`1`" +msgstr "El lengauerTarjanDominatorTree con vértice raíz :math:'1'" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:74 +msgid "Parameters" +msgstr "Parámetros" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:77 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:97 +msgid "Column" +msgstr "Columna" + +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:77 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:97 +msgid "Type" +msgstr "Tipo" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:79 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:79 +msgid "``TEXT``" +msgstr "``TEXT``" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:79 +msgid "SQL query as described above." +msgstr "Consulta SQL como se describió anteriormente." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:80 +msgid "**root vertex**" +msgstr "**vértice raíz**" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:80 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:100 +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:101 +msgid "``BIGINT``" +msgstr "``BIGINT``" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:80 +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:85 +msgid "Inner query" +msgstr "Consulta interna" + +#: ../../build/doc/pgRouting-concepts.rst:4 +msgid "Default" +msgstr "Valores predeterminados" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "**id**" +msgstr "**id**" + +#: ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "``ANY-INTEGER``" +msgstr "``ANY-INTEGER``" + +#: ../../build/doc/pgRouting-concepts.rst:6 +msgid "Identifier of the edge." +msgstr "Identificador de la arista." + +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "**source**" +msgstr "**origen**" + +#: ../../build/doc/pgRouting-concepts.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "Identificador del primer punto final en el vértice de la arista." + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "**target**" +msgstr "**objetivo**" + +#: ../../build/doc/pgRouting-concepts.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "Identificador del segundo punto final en el vértice de la arista." + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "**cost**" +msgstr "**cost**" + +#: ../../build/doc/pgRouting-concepts.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "``ANY-NUMERICAL``" +msgstr "``ANY-NUMERICAL``" + +#: ../../build/doc/pgRouting-concepts.rst:9 +msgid "Weight of the edge `(source, target)`" +msgstr "Peso de la arista `(source, target)`" + +#: ../../build/doc/pgRouting-concepts.rst:11 +msgid "" +"When negative: edge `(source, target)` does not exist, therefore it's not " +"part of the graph." +msgstr "" +"Cuando es negativo: la arista `(source, target)` no existe, por lo tanto no " +"es parte del grafo." + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "**reverse_cost**" +msgstr "**reverse_cost**" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "-1" +msgstr "-1" + +#: ../../build/doc/pgRouting-concepts.rst:13 +msgid "Weight of the edge `(target, source)`," +msgstr "Peso de la arista `(target, source)`," + +#: ../../build/doc/pgRouting-concepts.rst:15 +msgid "" +"When negative: edge `(target, source)` does not exist, therefore it's not " +"part of the graph." +msgstr "" +"En caso negativo: la arista `(target, source)` no existe, por lo tanto no " +"es parte del grafo." + +#: ../../build/doc/pgRouting-concepts.rst:19 +msgid "Where:" +msgstr "Donde:" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-INTEGER" +msgstr "ANY-INTEGER" + +#: ../../build/doc/pgRouting-concepts.rst:21 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "SMALLINT, INTEGER, BIGINT" + +#: ../../build/doc/pgRouting-concepts.rst +msgid "ANY-NUMERICAL" +msgstr "ANY-NUMERICAL" + +#: ../../build/doc/pgRouting-concepts.rst:22 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:92 +msgid "Result Columns" +msgstr "Columnas de Resultados" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:94 +msgid "Returns set of ``(seq, vertex_id,idom)``" +msgstr "Devuelve el conjunto de ``(seq, vertex_id,idom)``" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:99 +msgid "**seq**" +msgstr "**seq**" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:99 +msgid "``INTEGER``" +msgstr "``INTEGER``" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:99 +msgid "Sequential value starting from **1**." +msgstr "Valor secuencial a partir de **1**." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:100 +msgid "**vertex_id**" +msgstr "**vertex_id**" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:100 +msgid "Identifier of vertex ." +msgstr "Identificador de vértice ." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:101 +msgid "**idom**" +msgstr "**idom**" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:101 +msgid "Immediate dominator of vertex." +msgstr "Dominador inmediato del vértice." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:105 +msgid "Additional Examples" +msgstr "Ejemplos Adicionales" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:106 +msgid "The examples in this section use the following :ref:`fig1`" +msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig1`" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:108 +msgid "" +"When the edge is disonnectd from graph then it will returns immidiate " +"dominator of all other vertex as zero." +msgstr "" +"Cuando la arista se desconecte del grafo, entonces devolverá el dominador " +"inmidiate de todos los demás vértices como cero." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:117 +msgid "See Also" +msgstr "Ver también" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:119 +msgid "" +"`Boost: lengauerTarjanDominatorTree algorithm documentation " +"`__" +msgstr "" +"`Boost: Documentación del algoritmo lengauerTarjanDominatorTree " +"`__" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:120 +msgid "" +"`Wikipedia: dominator tree " +"`__" +msgstr "" +"'Wikipedia: árbol de dominador' " +"`__" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:121 +msgid ":doc:`sampledata` network." +msgstr "Red :doc:`sampledata` ." + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:124 +msgid "Indices and tables" +msgstr "Índices y tablas" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:125 +msgid ":ref:`genindex`" +msgstr ":ref:`genindex`" + +#: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:126 +msgid ":ref:`search`" +msgstr ":ref:`search`" From 7709afecc86200787b07cb5e87dbc6dfcc36b5a7 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Mon, 23 Nov 2020 19:24:39 +0000 Subject: [PATCH 1177/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_makeConnected.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_makeConnected.po | 391 +++++++++++++++++++++ 1 file changed, 391 insertions(+) create mode 100644 locale/es/LC_MESSAGES/pgr_makeConnected.po diff --git a/locale/es/LC_MESSAGES/pgr_makeConnected.po b/locale/es/LC_MESSAGES/pgr_makeConnected.po new file mode 100644 index 00000000000..2d662feb8b8 --- /dev/null +++ b/locale/es/LC_MESSAGES/pgr_makeConnected.po @@ -0,0 +1,391 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +# Translators: +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: 2020-11-04 19:19+0000\n" +"Last-Translator: MarPetra , 2020\n" +"Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../build/doc/pgr_makeConnected.rst:11 +msgid "pgr_makeConnected - Experimental" +msgstr "pgr_makeConnected - Experimental" + +#: ../../build/doc/pgr_makeConnected.rst:13 +msgid "" +"``pgr_makeConnected`` — Returns the set of edges that will make the graph " +"connected." +msgstr "" +"``pgr_makeConnected`` — Devuelve el conjunto de bordes que harán que el " +"gráfico esté conectado." + +#: ../../build/doc/pgr_makeConnected.rst:18 +msgid "Boost Graph Inside" +msgstr "Adentro: Boost Graph" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "Funciones experimentales" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "No son oficialmente de la versión actual." + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "El nombre puede cambiar." + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "La firma (declaración de funciones) podría cambiar." + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "La funcionalidad puede cambiar." + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "Las pruebas de pgTap pueden estar ausentes." + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "Posiblemente necesite codificación c/c++." + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "Puede haber carencia de documentación." + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" +"Ejemplos de documentación que puede ser necesario generar automáticamente." + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "Puede depender de una función propuesta de pgRouting." + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "Podría depender de una función obsoleta de pgRouting" + +#: ../../build/doc/pgr_makeConnected.rst:25 +msgid "Availability" +msgstr "Disponibilidad" + +#: ../../build/doc/pgr_makeConnected.rst:26 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_makeConnected.rst:28 +msgid "New **experimental** function" +msgstr "Nueva función **experimental**" + +#: ../../build/doc/pgr_makeConnected.rst:31 +msgid "Support" +msgstr "Soporte" + +#: ../../build/doc/pgr_makeConnected.rst:32 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" +"**Versiones soportadas:** actual(`3.2 " +"`__)" + +#: ../../build/doc/pgr_makeConnected.rst:36 +#: ../../build/doc/pgr_makeConnected.rst:75 +#: ../../build/doc/pgr_makeConnected.rst:86 +#: ../../build/doc/pgr_makeConnected.rst:112 +msgid "Description" +msgstr "Descripción" + +#: ../../build/doc/pgr_makeConnected.rst:38 +msgid "" +"Adds the minimum number of edges needed to make the input graph connected. " +"The algorithm first identifies all of the connected components in the graph," +" then adds edges to connect those components together in a path. For " +"example, if a graph contains three connected components A, B, and C, " +"make_connected will add two edges. The two edges added might consist of one " +"connecting a vertex in A with a vertex in B and one connecting a vertex in B" +" with a vertex in C." +msgstr "" +"Agrega el número mínimo de bordes necesarios para conectar el gráfico de " +"entrada. El algoritmo primero identifica todos los componentes conectados en" +" el gráfico, luego agrega bordes para conectar esos componentes en una ruta." +" Por ejemplo, si un gráfico contiene tres componentes conectados A, B y C, " +"make_connected agregará dos bordes. Las dos aristas agregadas podrían " +"consistir en una que conecta un vértice en A con un vértice en B y otra que " +"conecta un vértice en B con un vértice en C." + +#: ../../build/doc/pgr_makeConnected.rst:51 +msgid "The main characteristics are:" +msgstr "Las principales características son:" + +#: ../../build/doc/pgr_makeConnected.rst:44 +msgid "" +"It will give the minimum list of all edges which are needed in the graph to " +"make the graph connected." +msgstr "" +"Le dará la lista mínima de todos los bordes que se necesitan en el grafo " +"para hacerlo conectado" + +#: ../../build/doc/pgr_makeConnected.rst:46 +msgid "Applicable only for **undirected** graphs." +msgstr "Aplicable solo para grafos **no dirigidos**." + +#: ../../build/doc/pgr_makeConnected.rst:48 +msgid "The algorithm does not considers traversal costs in the calculations." +msgstr "El algoritmo no considera los costos transversales en los cálculos." + +#: ../../build/doc/pgr_makeConnected.rst:50 +msgid "Running time: :math:`O(V + E)`" +msgstr "Tiempo de ejecución: :math:`O(V + E)`" + +#: ../../build/doc/pgr_makeConnected.rst:54 +msgid "Signatures" +msgstr "Firmas" + +#: ../../build/doc/pgr_makeConnected.rst:57 +msgid "Summary" +msgstr "Resumen" + +#: ../../build/doc/pgr_makeConnected.rst +msgid "Example" +msgstr "Ejemplo" + +#: ../../build/doc/pgr_makeConnected.rst:65 +msgid "" +"Query done on :doc:`sampledata` network gives the list of edges that are " +"needed in the graph to make it connected." +msgstr "" +"La consulta realizada en la red de :doc:`sampledata` proporciona la lista de" +" aristas que se necesitan en el grafo para que esté conectado." + +#: ../../build/doc/pgr_makeConnected.rst:72 +msgid "Parameters" +msgstr "Parámetros" + +#: ../../build/doc/pgr_makeConnected.rst:75 +msgid "Parameter" +msgstr "Parámetro" + +#: ../../build/doc/pgr_makeConnected.rst:75 +#: ../../build/doc/pgr_makeConnected.rst:86 +#: ../../build/doc/pgr_makeConnected.rst:112 +msgid "Type" +msgstr "Tipo" + +#: ../../build/doc/pgr_makeConnected.rst:75 +#: ../../build/doc/pgr_makeConnected.rst:86 +msgid "Default" +msgstr "Valores predeterminados" + +#: ../../build/doc/pgr_makeConnected.rst:77 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" + +#: ../../build/doc/pgr_makeConnected.rst:77 +msgid "``TEXT``" +msgstr "``TEXT``" + +#: ../../build/doc/pgr_makeConnected.rst:77 +msgid "SQL query as described below." +msgstr "Consulta SQL como se describe a continuación." + +#: ../../build/doc/pgr_makeConnected.rst:81 +msgid "Inner query" +msgstr "Consulta interna" + +#: ../../build/doc/pgr_makeConnected.rst +msgid "Edges SQL" +msgstr "Edges SQL" + +#: ../../build/doc/pgr_makeConnected.rst:83 +msgid "" +"an SQL query, which should return a set of rows with the following columns:" +msgstr "" +"Una consulta SQL, que debe regresar un conjunto de filas con las siguientes " +"columnas:" + +#: ../../build/doc/pgr_makeConnected.rst:86 +#: ../../build/doc/pgr_makeConnected.rst:112 +msgid "Column" +msgstr "Columna" + +#: ../../build/doc/pgr_makeConnected.rst:88 +msgid "**id**" +msgstr "**id**" + +#: ../../build/doc/pgr_makeConnected.rst:88 +#: ../../build/doc/pgr_makeConnected.rst:89 +#: ../../build/doc/pgr_makeConnected.rst:90 +msgid "``ANY-INTEGER``" +msgstr "``ANY-INTEGER``" + +#: ../../build/doc/pgr_makeConnected.rst:88 +msgid "Identifier of the edge." +msgstr "Identificador de la arista." + +#: ../../build/doc/pgr_makeConnected.rst:89 +msgid "**source**" +msgstr "**origen**" + +#: ../../build/doc/pgr_makeConnected.rst:89 +#: ../../build/doc/pgr_makeConnected.rst:115 +msgid "Identifier of the first end point vertex of the edge." +msgstr "Identificador del primer punto final en el vértice de la arista." + +#: ../../build/doc/pgr_makeConnected.rst:90 +msgid "**target**" +msgstr "**objetivo**" + +#: ../../build/doc/pgr_makeConnected.rst:90 +#: ../../build/doc/pgr_makeConnected.rst:116 +msgid "Identifier of the second end point vertex of the edge." +msgstr "Identificador del segundo punto final en el vértice de la arista." + +#: ../../build/doc/pgr_makeConnected.rst:91 +msgid "**cost**" +msgstr "**cost**" + +#: ../../build/doc/pgr_makeConnected.rst:91 +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "``ANY-NUMERICAL``" +msgstr "``ANY-NUMERICAL``" + +#: ../../build/doc/pgr_makeConnected.rst:91 +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "When positive: edge `(target, source)` is part of the graph." +msgstr "Cuando es positivo: la arista `(destino, origen)` es parte del grafo." + +#: ../../build/doc/pgr_makeConnected.rst:92 +#: ../../build/doc/pgr_makeConnected.rst:95 +msgid "When negative: edge `(target, source)` is not part of the graph." +msgstr "" +"En caso negativo: la arista `(destino, origen)` no forma parte del grafo." + +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "**reverse_cost**" +msgstr "**reverse_cost**" + +#: ../../build/doc/pgr_makeConnected.rst:94 +msgid "-1" +msgstr "-1" + +#: ../../build/doc/pgr_makeConnected.rst:99 +msgid "Where:" +msgstr "Donde:" + +#: ../../build/doc/pgr_makeConnected.rst +msgid "ANY-INTEGER" +msgstr "ANY-INTEGER" + +#: ../../build/doc/pgr_makeConnected.rst:101 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "SMALLINT, INTEGER, BIGINT" + +#: ../../build/doc/pgr_makeConnected.rst +msgid "ANY-NUMERICAL" +msgstr "ANY-NUMERICAL" + +#: ../../build/doc/pgr_makeConnected.rst:102 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" + +#: ../../build/doc/pgr_makeConnected.rst:105 +msgid "Result Columns" +msgstr "Columnas de Resultados" + +#: ../../build/doc/pgr_makeConnected.rst:109 +msgid "Returns set of ``(seq, start_vid, end_vid)``" +msgstr "Devuelve el conjunto de ``(seq, start_vid, end_vid)``" + +#: ../../build/doc/pgr_makeConnected.rst:114 +msgid "**seq**" +msgstr "**seq**" + +#: ../../build/doc/pgr_makeConnected.rst:114 +msgid "``INT``" +msgstr "``INT``" + +#: ../../build/doc/pgr_makeConnected.rst:114 +msgid "Sequential value starting from **1**." +msgstr "Valor secuencial a partir de **1**." + +#: ../../build/doc/pgr_makeConnected.rst:115 +msgid "**start_vid**" +msgstr "**start_vid**" + +#: ../../build/doc/pgr_makeConnected.rst:115 +#: ../../build/doc/pgr_makeConnected.rst:116 +msgid "``BIGINT``" +msgstr "``BIGINT``" + +#: ../../build/doc/pgr_makeConnected.rst:116 +msgid "**end_vid**" +msgstr "**end_vid**" + +#: ../../build/doc/pgr_makeConnected.rst:122 +msgid "See Also" +msgstr "Ver también" + +#: ../../build/doc/pgr_makeConnected.rst:124 +msgid "https://www.boost.org/libs/graph/doc/make_connected.html" +msgstr "https://www.boost.org/libs/graph/doc/make_connected.html" + +#: ../../build/doc/pgr_makeConnected.rst:125 +msgid "The queries use the :doc:`sampledata` network." +msgstr "Las consultas utilizan la red :doc:`sampledata` ." + +#: ../../build/doc/pgr_makeConnected.rst:128 +msgid "Indices and tables" +msgstr "Índices y tablas" + +#: ../../build/doc/pgr_makeConnected.rst:129 +msgid ":ref:`genindex`" +msgstr ":ref:`genindex`" + +#: ../../build/doc/pgr_makeConnected.rst:130 +msgid ":ref:`search`" +msgstr ":ref:`search`" From 170c3c27bbffab6051793961d3cfea15e3843131 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 21:31:51 +0000 Subject: [PATCH 1178/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_maxFlow.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_maxFlow.po | 201 ++++++++++++++++++--------- 1 file changed, 132 insertions(+), 69 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_maxFlow.po b/locale/es/LC_MESSAGES/pgr_maxFlow.po index 477092cb98f..3a6b4229d10 100644 --- a/locale/es/LC_MESSAGES/pgr_maxFlow.po +++ b/locale/es/LC_MESSAGES/pgr_maxFlow.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -45,36 +45,50 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_maxFlow.rst:22 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_maxFlow.rst:24 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_maxFlow.rst:26 +msgid "pgr_maxFlow(Combinations)" +msgstr "pgr_maxFlow(Combinaciones)" + +#: ../../build/doc/pgr_maxFlow.rst:28 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_maxFlow.rst:24 +#: ../../build/doc/pgr_maxFlow.rst:30 msgid "**Official** function" msgstr "Función **oficial**" -#: ../../build/doc/pgr_maxFlow.rst:26 +#: ../../build/doc/pgr_maxFlow.rst:32 msgid "Version 2.4.0" msgstr "Versión 2.4.0" -#: ../../build/doc/pgr_maxFlow.rst:28 +#: ../../build/doc/pgr_maxFlow.rst:34 msgid "New **Proposed** function" msgstr "Nueva función **Propuesta**" -#: ../../build/doc/pgr_maxFlow.rst:31 +#: ../../build/doc/pgr_maxFlow.rst:37 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_maxFlow.rst:32 +#: ../../build/doc/pgr_maxFlow.rst:38 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__" +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__" -#: ../../build/doc/pgr_maxFlow.rst:36 +#: ../../build/doc/pgr_maxFlow.rst:43 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -87,56 +101,57 @@ msgstr "" "`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlow.rst:42 ../../build/doc/pgr_maxFlow.rst:156 +#: ../../build/doc/pgRouting-concepts.rst:4 ../../build/doc/pgr_maxFlow.rst:49 +#: ../../build/doc/pgr_maxFlow.rst:185 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_maxFlow.rst:44 +#: ../../build/doc/pgr_maxFlow.rst:51 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_maxFlow.rst:46 +#: ../../build/doc/pgr_maxFlow.rst:53 msgid "The graph is **directed**." msgstr "El grafo es **dirigido**." -#: ../../build/doc/pgr_maxFlow.rst:47 +#: ../../build/doc/pgr_maxFlow.rst:54 msgid "Calculates the maximum flow from the `source(s)` to the `target(s)`." msgstr "Calcula el flujo máximo desde `source(s)` a `target(s)`." -#: ../../build/doc/pgr_maxFlow.rst:49 +#: ../../build/doc/pgr_maxFlow.rst:56 msgid "" "When the maximum flow is **0** then there is no flow and **0** is returned." msgstr "" "Cuando el flujo máximo es **0**, entonces no hay flujo y se devuelve **0**." -#: ../../build/doc/pgr_maxFlow.rst:50 +#: ../../build/doc/pgr_maxFlow.rst:57 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" "No hay ningún flujo cuando el **orígen** es el mismo que el **destino**." -#: ../../build/doc/pgr_maxFlow.rst:52 +#: ../../build/doc/pgr_maxFlow.rst:59 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" "Cualquier valor duplicado en el/los orígen(es) o en el/los destino(s) será " "ignorado." -#: ../../build/doc/pgr_maxFlow.rst:53 +#: ../../build/doc/pgr_maxFlow.rst:60 msgid "Uses the :doc:`pgr_pushRelabel ` algorithm." msgstr "Use el algoritmo :doc:`pgr_pushRelabel ` ." -#: ../../build/doc/pgr_maxFlow.rst:55 +#: ../../build/doc/pgr_maxFlow.rst:62 msgid "Running time: :math:`O( V ^ 3)`" msgstr "Tiempo de ejecución: :math:`O( V ^ 3)`" -#: ../../build/doc/pgr_maxFlow.rst:58 +#: ../../build/doc/pgr_maxFlow.rst:65 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_maxFlow.rst:61 +#: ../../build/doc/pgr_maxFlow.rst:68 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_maxFlow.rst:74 +#: ../../build/doc/pgr_maxFlow.rst:82 msgid "One to One" msgstr "Uno a Uno" @@ -144,48 +159,63 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_maxFlow.rst:81 +#: ../../build/doc/pgr_maxFlow.rst:89 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "Del vértice :math:`6` al vértice :math:`11`" -#: ../../build/doc/pgr_maxFlow.rst:91 +#: ../../build/doc/pgr_maxFlow.rst:99 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_maxFlow.rst:98 +#: ../../build/doc/pgr_maxFlow.rst:106 msgid "From vertex :math:`6` to vertices :math:`\\{11, 1, 13\\}`" msgstr "Del vértice :math:`6` a los vértices :math:`\\{11, 1, 13\\}`" -#: ../../build/doc/pgr_maxFlow.rst:108 +#: ../../build/doc/pgr_maxFlow.rst:116 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_maxFlow.rst:115 +#: ../../build/doc/pgr_maxFlow.rst:123 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "De los vértices vertices :math:`\\{6, 8, 12\\}` al vértice :math:`11`" -#: ../../build/doc/pgr_maxFlow.rst:125 +#: ../../build/doc/pgr_maxFlow.rst:133 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_maxFlow.rst:132 +#: ../../build/doc/pgr_maxFlow.rst:140 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "De los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_maxFlow.rst:139 +#: ../../build/doc/pgr_maxFlow.rst:150 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_maxFlow.rst:157 +msgid "" +"Using a combinations table, equivalent to calculating result from vertices " +":math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" +"Usando una tabla de combinaciones, equivalente a calcular el resultado de " +"los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`." + +#: ../../build/doc/pgr_maxFlow.rst:164 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "Columna" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlow.rst:156 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_maxFlow.rst:185 msgid "Type" msgstr "Tipo" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "Valores predeterminados" @@ -193,58 +223,67 @@ msgstr "Valores predeterminados" msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." -msgstr "La consulta SQL de aristas como se describe en `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." +msgstr "Consulta de bordes como se describe en `Consultas internas`_." + +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "**origen**" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 -#: ../../build/doc/pgr_maxFlow.rst:158 +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgr_maxFlow.rst:187 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "Identificador del vértice inicial del flujo." -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "**orígenes**" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "Conjunto de identificadores de los vértices iniciales del flujo." -#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "Identificador del vértice final del flujo." -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "**destinos**" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_maxFlow.rst:146 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_maxFlow.rst:171 +msgid "Inner queries" +msgstr "Consultas internas" #: ../../build/doc/flow-family.rst msgid "Edges SQL" @@ -264,7 +303,8 @@ msgstr "**id**" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/flow-family.rst:15 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" @@ -272,11 +312,11 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -317,52 +357,75 @@ msgstr "" "es parte del grafo." #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "Donde:" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "ANY-INTEGER" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" -#: ../../build/doc/pgr_maxFlow.rst:153 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "Combinaciones SQL" + +#: ../../build/doc/flow-family.rst:3 +msgid "" +"an SQL query which should return a set of rows with the following columns:" +msgstr "" +"una consulta SQL que debe devolver un conjunto de filas con las siguientes " +"columnas:" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the duplicates," +" and then it calculates the result from the resultant source vertices to the" +" target vertices." +msgstr "" +"La función agrega los orígenes y los destinos, quita los duplicados y, a " +"continuación, calcula el resultado de los vértices de origen resultantes a " +"los vértices de destino." + +#: ../../build/doc/pgr_maxFlow.rst:182 msgid "Return Columns" msgstr "Columnas de Devoluciones" -#: ../../build/doc/pgr_maxFlow.rst:158 +#: ../../build/doc/pgr_maxFlow.rst:187 msgid "Maximum flow possible from the source(s) to the target(s)" msgstr "Flujo máximo posible desde el/los orígen(es) hacia el/los destino(s)" -#: ../../build/doc/pgr_maxFlow.rst:162 +#: ../../build/doc/pgr_maxFlow.rst:191 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_maxFlow.rst:164 +#: ../../build/doc/pgr_maxFlow.rst:193 msgid ":doc:`flow-family`" msgstr ":doc:`flow-family`" -#: ../../build/doc/pgr_maxFlow.rst:165 +#: ../../build/doc/pgr_maxFlow.rst:194 msgid "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" msgstr "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" -#: ../../build/doc/pgr_maxFlow.rst:166 +#: ../../build/doc/pgr_maxFlow.rst:195 #, python-format msgid "" "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" msgstr "" "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" -#: ../../build/doc/pgr_maxFlow.rst:169 +#: ../../build/doc/pgr_maxFlow.rst:198 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_maxFlow.rst:170 +#: ../../build/doc/pgr_maxFlow.rst:199 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_maxFlow.rst:171 +#: ../../build/doc/pgr_maxFlow.rst:200 msgid ":ref:`search`" msgstr ":ref:`search`" From 49527537192646cc1a3bf7806928c982a81a9f59 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 16:01:50 +0000 Subject: [PATCH 1179/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po' on the 'es' language. --- .../es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po | 195 ++++++++++++------ 1 file changed, 129 insertions(+), 66 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po index 85d97534c68..01311f1f909 100644 --- a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po +++ b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -114,68 +114,83 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:28 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:30 +msgid "New **experimental** function:" +msgstr "Nueva función **experimental**:" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:32 +msgid "pgr_maxFlowMinCost_Cost(Combinations)" +msgstr "pgr_maxFlowMinCost_Cost(Combinaciones)" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:34 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:30 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:36 msgid "New **experimental** function" msgstr "Nueva función **experimental**" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:33 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:39 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:34 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:40 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__" +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:39 -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:155 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:46 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:183 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:41 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:48 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:43 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:50 msgid "The graph is **directed**." msgstr "El grafo es **dirigido**." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:44 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:51 msgid "**The cost value of all input edges must be nonnegative.**" msgstr "" "**El valor de coste de todas las aristas de entrada debe ser no negativo.**" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:45 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:52 msgid "" "When the maximum flow is 0 then there is no flow and **0** is returned." msgstr "" "Cuando el flujo máximo es 0 entonces no hay flujo y se devuelve un **0** ." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:47 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:54 msgid "There is no flow when a **source** is the same as a **target**." msgstr "" "No hay ningún flujo cuando el **orígen** es el mismo que el **destino**." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:49 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:56 msgid "Any duplicated value in the source(s) or target(s) are ignored." msgstr "" "Cualquier valor duplicado en el/los orígen(es) o en el/los destino(s) será " "ignorado." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:50 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:57 msgid "Uses the :doc:`pgr_maxFlowMinCost ` algorithm." msgstr "Utiliza el algoritmo :doc:`pgr_maxFlowMinCost ` ." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:52 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:59 msgid "" "Running time: :math:`O(U * (E + V * logV))`, where :math:`U` is the value of" " the max flow. :math:`U` is upper bound on number of iteration. In many real" @@ -186,15 +201,15 @@ msgstr "" "iteraciones is upper bound on number of iteration. En muchos casos reales, " "la cantidad de iteraciones es mucho menor que :math:`U`." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:55 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:62 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:58 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:65 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:71 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:79 msgid "One to One" msgstr "Uno a Uno" @@ -202,48 +217,63 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:78 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:86 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "Desde el vértice :math:`2` al vértice :math:`3`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:88 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:96 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:95 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:103 msgid "From vertex :math:`13` to vertices :math:`\\{7, 1, 4\\}`" msgstr "Desde el vértice :math:`13` a los vértices :math:`\\{7, 1, 4\\}`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:105 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:113 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:112 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:120 msgid "From vertices :math:`\\{1, 7, 14\\}` to vertex :math:`12`" msgstr "Desde los vértices :math:`\\{1, 7, 14\\}` al vértice :math:`12`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:122 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:130 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:129 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:137 msgid "From vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`" msgstr "Desde los vértices :math:`\\{7, 13\\}` a los vértices :math:`\\{3, 9\\}`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:138 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:148 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:155 +msgid "" +"Using a combinations table, equivalent to calculating result from vertices " +":math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`." +msgstr "" +"Usando una tabla de combinaciones, equivalente a calcular el resultado de " +"los vértices :math:`\\{7, 13\\} a los vértices :math:`\\{3, 9\\}`. " + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:162 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "Columna" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:155 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:183 msgid "Type" msgstr "Tipo" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "Valores predeterminados" @@ -251,57 +281,66 @@ msgstr "Valores predeterminados" msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." -msgstr "La consulta SQL de aristas como se describe en `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." +msgstr "Consulta de bordes como se describe en `Consultas internas`_." -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." + +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "**origen**" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "Identificador del vértice inicial del flujo." -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "**orígenes**" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "Conjunto de identificadores de los vértices iniciales del flujo." -#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "Identificador del vértice final del flujo." -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "**destinos**" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:145 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:169 +msgid "Inner queries" +msgstr "Consultas internas" #: ../../build/doc/flow-family.rst msgid "Edges SQL" @@ -321,7 +360,8 @@ msgstr "**id**" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:14 +#: ../../build/doc/flow-family.rst:14 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" @@ -329,11 +369,11 @@ msgstr "``ANY-INTEGER``" msgid "Identifier of the edge." msgstr "Identificador de la arista." -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -398,14 +438,16 @@ msgid "Weight of the edge `(target, source)` if it exists." msgstr "Peso de la arista `(destino, origen)` si existe." #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "Donde:" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "ANY-INTEGER" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -417,42 +459,63 @@ msgstr "ANY-NUMERICAL" msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:152 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "Combinaciones SQL" + +#: ../../build/doc/flow-family.rst:3 +msgid "" +"an SQL query which should return a set of rows with the following columns:" +msgstr "" +"una consulta SQL que debe devolver un conjunto de filas con las siguientes " +"columnas:" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the duplicates," +" and then it calculates the result from the resultant source vertices to the" +" target vertices." +msgstr "" +"La función agrega los orígenes y los destinos, quita los duplicados y, a " +"continuación, calcula el resultado de los vértices de origen resultantes a " +"los vértices de destino." + +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:180 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:157 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:185 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:157 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:185 msgid "Minimum Cost Maximum Flow possible from the source(s) to the target(s)" msgstr "" "Coste Mínimo Flujo Máximo posible desde el/los origen(es) hasta el/los " "objetivo(s)" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:161 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:189 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:163 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:191 msgid ":doc:`flow-family`" msgstr ":doc:`flow-family`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:164 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:192 msgid "" "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" msgstr "" "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:167 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:195 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:168 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:196 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:169 +#: ../../build/doc/pgr_maxFlowMinCost_Cost.rst:197 msgid ":ref:`search`" msgstr ":ref:`search`" From 14c2d1c98532286bf3bfd80c78825d9171bae528 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 16:06:29 +0000 Subject: [PATCH 1180/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_maxFlowMinCost.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po | 189 +++++++++++++------- 1 file changed, 127 insertions(+), 62 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po index ff5cf632fde..705d891a952 100644 --- a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po +++ b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:27+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -39,7 +39,7 @@ msgstr "" #: ../../build/doc/pgr_maxFlowMinCost.rst:19 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/experimental.rst:3 msgid "Possible server crash" @@ -115,29 +115,44 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_maxFlowMinCost.rst:27 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:29 +msgid "New **experimental** function:" +msgstr "Nueva función **experimental**:" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:31 +msgid "pgr_maxFlowMinCost(Combinations)" +msgstr "pgr_maxFlowMinCost(Combinaciones)" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:33 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_maxFlowMinCost.rst:29 +#: ../../build/doc/pgr_maxFlowMinCost.rst:35 msgid "New **experimental** function" msgstr "Nueva función **experimental**" -#: ../../build/doc/pgr_maxFlowMinCost.rst:32 +#: ../../build/doc/pgr_maxFlowMinCost.rst:38 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_maxFlowMinCost.rst:33 +#: ../../build/doc/pgr_maxFlowMinCost.rst:39 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__" +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_maxFlowMinCost.rst:38 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_maxFlowMinCost.rst:45 msgid "Description" msgstr "Descripción" @@ -206,34 +221,34 @@ msgstr "Mediante la agregación del flujo saliente de los orígenes" msgid "By aggregation of the incoming flow to the targets" msgstr "Mediante la agregación del flujo entrante a los destinos" -#: ../../build/doc/pgr_maxFlowMinCost.rst:44 +#: ../../build/doc/pgr_maxFlowMinCost.rst:51 msgid "**TODO** check which statement is true:" msgstr "**Por hacer** comprobar qué declaración es verdadera:" -#: ../../build/doc/pgr_maxFlowMinCost.rst:46 +#: ../../build/doc/pgr_maxFlowMinCost.rst:53 msgid "The cost value of all input edges must be nonnegative." msgstr "" "El valor de coste de todas las aristas de entrada debe ser no negativo." -#: ../../build/doc/pgr_maxFlowMinCost.rst:47 +#: ../../build/doc/pgr_maxFlowMinCost.rst:54 msgid "Process is done when the cost value of all input edges is nonnegative." msgstr "" "El proceso se realiza cuando el valor de coste de todas las aristas de " "entrada no es negativo." -#: ../../build/doc/pgr_maxFlowMinCost.rst:48 +#: ../../build/doc/pgr_maxFlowMinCost.rst:55 msgid "Process is done on edges with nonnegative cost." msgstr "El proceso se realiza en aristas con coste no negativo." -#: ../../build/doc/pgr_maxFlowMinCost.rst:50 +#: ../../build/doc/pgr_maxFlowMinCost.rst:57 msgid "Running time: :math:`O(U * (E + V * logV))`" msgstr "Tiempo de ejecución: :math:`O(U * (E + V * logV))`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:52 +#: ../../build/doc/pgr_maxFlowMinCost.rst:59 msgid "where :math:`U` is the value of the max flow." msgstr "donde :math:`U` es el valor dle flujo máximo." -#: ../../build/doc/pgr_maxFlowMinCost.rst:53 +#: ../../build/doc/pgr_maxFlowMinCost.rst:60 msgid "" ":math:`U` is upper bound on number of iterations. In many real world cases " "number of iterations is much smaller than :math:`U`." @@ -241,15 +256,15 @@ msgstr "" ":math:`U` es el límite superior en el número de iteraciones. En muchos casos" " reales, el número de iteraciones es mucho menor que :math:`U`." -#: ../../build/doc/pgr_maxFlowMinCost.rst:57 +#: ../../build/doc/pgr_maxFlowMinCost.rst:64 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_maxFlowMinCost.rst:60 +#: ../../build/doc/pgr_maxFlowMinCost.rst:67 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_maxFlowMinCost.rst:74 +#: ../../build/doc/pgr_maxFlowMinCost.rst:82 msgid "One to One" msgstr "Uno a Uno" @@ -257,47 +272,62 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_maxFlowMinCost.rst:82 +#: ../../build/doc/pgr_maxFlowMinCost.rst:90 msgid "From vertex :math:`2` to vertex :math:`3`" msgstr "Desde el vértice :math:`2` al vértice :math:`3`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:92 +#: ../../build/doc/pgr_maxFlowMinCost.rst:100 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_maxFlowMinCost.rst:100 +#: ../../build/doc/pgr_maxFlowMinCost.rst:108 msgid "From vertex :math:`13` to vertices :math:`\\{7, 1, 4\\}`" msgstr "Desde el vértice :math:`13` a los vértices :math:`\\{7, 1, 4\\}`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:110 +#: ../../build/doc/pgr_maxFlowMinCost.rst:118 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_maxFlowMinCost.rst:118 +#: ../../build/doc/pgr_maxFlowMinCost.rst:126 msgid "From vertices :math:`\\{1, 7, 14\\}` to vertex :math:`12`" msgstr "Desde los vértices :math:`\\{1, 7, 14\\}` al vértice :math:`12`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:128 +#: ../../build/doc/pgr_maxFlowMinCost.rst:136 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_maxFlowMinCost.rst:136 +#: ../../build/doc/pgr_maxFlowMinCost.rst:144 msgid "From vertices :math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`" msgstr "Desde los vértices :math:`\\{7, 13\\}` a los vértices :math:`\\{3, 9\\}`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:143 +#: ../../build/doc/pgr_maxFlowMinCost.rst:154 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_maxFlowMinCost.rst:162 +msgid "" +"Using a combinations table, equivalent to calculating result from vertices " +":math:`\\{7, 13\\}` to vertices :math:`\\{3, 9\\}`." +msgstr "" +"Usando una tabla de combinaciones, equivalente a calcular el resultado de " +"los vértices :math:`\\{7, 13\\} a los vértices :math:`\\{3, 9\\}`. " + +#: ../../build/doc/pgr_maxFlowMinCost.rst:169 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "Columna" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Type" msgstr "Tipo" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "Valores predeterminados" @@ -305,16 +335,24 @@ msgstr "Valores predeterminados" msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." -msgstr "La consulta SQL de aristas como se describe en `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." +msgstr "Consulta de bordes como se describe en `Consultas internas`_." -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:8 -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." + +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "**origen**" @@ -324,41 +362,42 @@ msgstr "**origen**" msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "Identificador del vértice inicial del flujo." -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "**orígenes**" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "Conjunto de identificadores de los vértices iniciales del flujo." #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "Identificador del vértice final del flujo." -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "**destinos**" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_maxFlowMinCost.rst:150 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_maxFlowMinCost.rst:176 +msgid "Inner queries" +msgstr "Consultas internas" #: ../../build/doc/flow-family.rst msgid "Edges SQL" @@ -378,7 +417,8 @@ msgstr "**id**" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:14 +#: ../../build/doc/flow-family.rst:14 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" @@ -387,10 +427,12 @@ msgid "Identifier of the edge." msgstr "Identificador de la arista." #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -432,7 +474,7 @@ msgstr "" #: ../../build/doc/flow-family.rst:12 ../../build/doc/flow-family.rst:17 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/flow-family.rst:17 ../../build/doc/flow-family.rst:18 msgid "``ANY-NUMERICAL``" @@ -455,14 +497,16 @@ msgid "Weight of the edge `(target, source)` if it exists." msgstr "Peso de la arista `(destino, origen)` si existe." #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "Donde:" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "ANY-INTEGER" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -474,7 +518,28 @@ msgstr "ANY-NUMERICAL" msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgr_maxFlowMinCost.rst:157 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "Combinaciones SQL" + +#: ../../build/doc/flow-family.rst:3 +msgid "" +"an SQL query which should return a set of rows with the following columns:" +msgstr "" +"una consulta SQL que debe devolver un conjunto de filas con las siguientes " +"columnas:" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the duplicates," +" and then it calculates the result from the resultant source vertices to the" +" target vertices." +msgstr "" +"La función agrega los orígenes y los destinos, quita los duplicados y, a " +"continuación, calcula el resultado de los vértices de origen resultantes a " +"los vértices de destino." + +#: ../../build/doc/pgr_maxFlowMinCost.rst:187 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -492,7 +557,7 @@ msgstr "Valor secuencial a partir de **1**." #: ../../build/doc/flow-family.rst:7 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/flow-family.rst:7 msgid "Identifier of the edge in the original query(edges_sql)." @@ -534,28 +599,28 @@ msgstr "**agg_cost**" msgid "The aggregate cost." msgstr "El costo agregado." -#: ../../build/doc/pgr_maxFlowMinCost.rst:163 +#: ../../build/doc/pgr_maxFlowMinCost.rst:193 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_maxFlowMinCost.rst:165 +#: ../../build/doc/pgr_maxFlowMinCost.rst:195 msgid ":doc:`flow-family`" msgstr ":doc:`flow-family`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:166 +#: ../../build/doc/pgr_maxFlowMinCost.rst:196 msgid "" "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" msgstr "" "https://www.boost.org/libs/graph/doc/successive_shortest_path_nonnegative_weights.html" -#: ../../build/doc/pgr_maxFlowMinCost.rst:169 +#: ../../build/doc/pgr_maxFlowMinCost.rst:199 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_maxFlowMinCost.rst:170 +#: ../../build/doc/pgr_maxFlowMinCost.rst:200 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_maxFlowMinCost.rst:171 +#: ../../build/doc/pgr_maxFlowMinCost.rst:201 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" From 7ded1c344b892a9c6d4105aed8d69c45398ad4e0 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 16:07:43 +0000 Subject: [PATCH 1181/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_pushRelabel.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_pushRelabel.po | 185 +++++++++++++++-------- 1 file changed, 125 insertions(+), 60 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_pushRelabel.po b/locale/es/LC_MESSAGES/pgr_pushRelabel.po index f5930db75c6..74d6a6f7315 100644 --- a/locale/es/LC_MESSAGES/pgr_pushRelabel.po +++ b/locale/es/LC_MESSAGES/pgr_pushRelabel.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"POT-Creation-Date: 2020-12-14 13:58-0600\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -45,48 +45,62 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_pushRelabel.rst:22 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_pushRelabel.rst:24 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_pushRelabel.rst:26 +msgid "pgr_pushRelabel(Combinations)" +msgstr "pgr_pushRelabel(Combinaciones)" + +#: ../../build/doc/pgr_pushRelabel.rst:28 msgid "Version 3.0.0" msgstr "Versión 3.0.0" -#: ../../build/doc/pgr_pushRelabel.rst:24 +#: ../../build/doc/pgr_pushRelabel.rst:30 msgid "**Official** function" msgstr "Función **oficial**" -#: ../../build/doc/pgr_pushRelabel.rst:26 +#: ../../build/doc/pgr_pushRelabel.rst:32 msgid "Version 2.5.0" msgstr "Versión 2.5.0" -#: ../../build/doc/pgr_pushRelabel.rst:28 +#: ../../build/doc/pgr_pushRelabel.rst:34 msgid "Renamed from ``pgr_maxFlowPushRelabel``" msgstr "Renombrado de ``pgr_maxFlowPushRelabel``" -#: ../../build/doc/pgr_pushRelabel.rst:29 +#: ../../build/doc/pgr_pushRelabel.rst:35 msgid "**Proposed** function" msgstr "Función **propuesta**" -#: ../../build/doc/pgr_pushRelabel.rst:31 +#: ../../build/doc/pgr_pushRelabel.rst:37 msgid "Version 2.3.0" msgstr "Versión 2.3.0" -#: ../../build/doc/pgr_pushRelabel.rst:33 +#: ../../build/doc/pgr_pushRelabel.rst:39 msgid "New **Experimental** function" msgstr "Nueva función **Experimental**" -#: ../../build/doc/pgr_pushRelabel.rst:36 +#: ../../build/doc/pgr_pushRelabel.rst:42 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_pushRelabel.rst:37 +#: ../../build/doc/pgr_pushRelabel.rst:43 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -"**Versiones soportadas:** actua(`3.1 " -"`__) `3.0 " -"`__" +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__" -#: ../../build/doc/pgr_pushRelabel.rst:41 +#: ../../build/doc/pgr_pushRelabel.rst:48 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -101,7 +115,8 @@ msgstr "" "`__" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 -#: ../../build/doc/pgr_pushRelabel.rst:48 +#: ../../build/doc/pgRouting-concepts.rst:4 +#: ../../build/doc/pgr_pushRelabel.rst:55 msgid "Description" msgstr "Descripción" @@ -170,19 +185,19 @@ msgstr "Mediante la agregación del flujo saliente de los orígenes" msgid "By aggregation of the incoming flow to the targets" msgstr "Mediante la agregación del flujo entrante a los destinos" -#: ../../build/doc/pgr_pushRelabel.rst:54 +#: ../../build/doc/pgr_pushRelabel.rst:61 msgid "Running time: :math:`O( V ^ 3)`" msgstr "Tiempo de ejecución: :math:`O( V ^ 3)`" -#: ../../build/doc/pgr_pushRelabel.rst:57 +#: ../../build/doc/pgr_pushRelabel.rst:64 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_pushRelabel.rst:60 +#: ../../build/doc/pgr_pushRelabel.rst:67 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_pushRelabel.rst:74 +#: ../../build/doc/pgr_pushRelabel.rst:82 msgid "One to One" msgstr "Uno a Uno" @@ -190,15 +205,15 @@ msgstr "Uno a Uno" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_pushRelabel.rst:82 +#: ../../build/doc/pgr_pushRelabel.rst:90 msgid "From vertex :math:`6` to vertex :math:`11`" msgstr "Del vértice :math:`6` al vértice :math:`11`" -#: ../../build/doc/pgr_pushRelabel.rst:92 +#: ../../build/doc/pgr_pushRelabel.rst:100 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_pushRelabel.rst:94 +#: ../../build/doc/pgr_pushRelabel.rst:102 msgid "" "Calculates the flow on the graph edges that maximizes the flow from the " "`source` to all of the `targets`." @@ -206,39 +221,54 @@ msgstr "" "Calcula el flujo en los bordes del gráfico que maximiza el flujo desde el " "`origen` a todos los `objetivos`." -#: ../../build/doc/pgr_pushRelabel.rst:102 +#: ../../build/doc/pgr_pushRelabel.rst:110 msgid "From vertex :math:`6` to vertices :math:`\\{11, 1, 13\\}`" msgstr "Del vértice :math:`6` a los vértices :math:`\\{11, 1, 13\\}`" -#: ../../build/doc/pgr_pushRelabel.rst:112 +#: ../../build/doc/pgr_pushRelabel.rst:120 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_pushRelabel.rst:120 +#: ../../build/doc/pgr_pushRelabel.rst:128 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertex :math:`11`" msgstr "De los vértices vertices :math:`\\{6, 8, 12\\}` al vértice :math:`11`" -#: ../../build/doc/pgr_pushRelabel.rst:130 +#: ../../build/doc/pgr_pushRelabel.rst:138 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_pushRelabel.rst:138 +#: ../../build/doc/pgr_pushRelabel.rst:146 msgid "From vertices :math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`" msgstr "De los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`" -#: ../../build/doc/pgr_pushRelabel.rst:145 +#: ../../build/doc/pgr_pushRelabel.rst:156 +msgid "Combinations" +msgstr "Combinaciones" + +#: ../../build/doc/pgr_pushRelabel.rst:164 +msgid "" +"Using a combinations table, equivalent to calculating result from vertices " +":math:`\\{6, 8, 12\\}` to vertices :math:`\\{1, 3, 11\\}`." +msgstr "" +"Usando una tabla de combinaciones, equivalente a calcular el resultado de " +"los vértices :math:`\\{6, 8, 12\\}` a los vértices :math:`\\{1, 3, 11\\}`." + +#: ../../build/doc/pgr_pushRelabel.rst:171 msgid "Parameters" msgstr "Parámetros" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Column" msgstr "Columna" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Type" msgstr "Tipo" #: ../../build/doc/flow-family.rst:4 ../../build/doc/flow-family.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:4 msgid "Default" msgstr "Valores predeterminados" @@ -246,15 +276,24 @@ msgstr "Valores predeterminados" msgid "**Edges SQL**" msgstr "**Edges SQL**" -#: ../../build/doc/flow-family.rst:6 +#: ../../build/doc/flow-family.rst:6 ../../build/doc/flow-family.rst:7 msgid "``TEXT``" msgstr "``TEXT``" #: ../../build/doc/flow-family.rst:6 -msgid "The edges SQL query as described in `Inner Query`_." -msgstr "La consulta SQL de aristas como se describe en `Inner Query`_." +msgid "Edges query as described in `Inner Queries`_." +msgstr "Consulta de bordes como se describe en `Consultas internas`_." + +#: ../../build/doc/flow-family.rst:7 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" -#: ../../build/doc/flow-family.rst:7 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:7 +msgid "Combinations query as described in `Inner Queries`_." +msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." + +#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "**source**" msgstr "**origen**" @@ -264,41 +303,41 @@ msgstr "**origen**" msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/flow-family.rst:7 +#: ../../build/doc/flow-family.rst:8 msgid "Identifier of the starting vertex of the flow." msgstr "Identificador del vértice inicial del flujo." -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "**sources**" msgstr "**orígenes**" -#: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:11 msgid "``ARRAY[BIGINT]``" msgstr "``ARRAY[BIGINT]``" -#: ../../build/doc/flow-family.rst:8 +#: ../../build/doc/flow-family.rst:9 msgid "Array of identifiers of the starting vertices of the flow." msgstr "Conjunto de identificadores de los vértices iniciales del flujo." -#: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:10 ../../build/doc/pgRouting-concepts.rst:7 msgid "**target**" msgstr "**objetivo**" -#: ../../build/doc/flow-family.rst:9 +#: ../../build/doc/flow-family.rst:10 msgid "Identifier of the ending vertex of the flow." msgstr "Identificador del vértice final del flujo." -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "**targets**" msgstr "**destinos**" -#: ../../build/doc/flow-family.rst:10 +#: ../../build/doc/flow-family.rst:11 msgid "Array of identifiers of the ending vertices of the flow." msgstr "Conjunto de identificadores de los vértices finales del flujo." -#: ../../build/doc/pgr_pushRelabel.rst:152 -msgid "Inner query" -msgstr "Consulta interna" +#: ../../build/doc/pgr_pushRelabel.rst:178 +msgid "Inner queries" +msgstr "Consultas internas" #: ../../build/doc/flow-family.rst msgid "Edges SQL" @@ -318,7 +357,8 @@ msgstr "**id**" #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/flow-family.rst:10 ../../build/doc/flow-family.rst:11 -#: ../../build/doc/flow-family.rst:15 +#: ../../build/doc/flow-family.rst:15 ../../build/doc/pgRouting-concepts.rst:6 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" @@ -327,10 +367,12 @@ msgid "Identifier of the edge." msgstr "Identificador de la arista." #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 +#: ../../build/doc/pgRouting-concepts.rst:6 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." #: ../../build/doc/flow-family.rst:9 ../../build/doc/flow-family.rst:10 +#: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." @@ -371,18 +413,41 @@ msgstr "" "es parte del grafo." #: ../../build/doc/flow-family.rst:21 +#: ../../build/doc/pgRouting-concepts.rst:11 msgid "Where:" msgstr "Donde:" -#: ../../build/doc/flow-family.rst +#: ../../build/doc/flow-family.rst ../../build/doc/pgRouting-concepts.rst msgid "ANY-INTEGER" msgstr "ANY-INTEGER" #: ../../build/doc/flow-family.rst:23 +#: ../../build/doc/pgRouting-concepts.rst:13 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" -#: ../../build/doc/pgr_pushRelabel.rst:159 +#: ../../build/doc/flow-family.rst +msgid "Combinations SQL" +msgstr "Combinaciones SQL" + +#: ../../build/doc/flow-family.rst:3 +msgid "" +"an SQL query which should return a set of rows with the following columns:" +msgstr "" +"una consulta SQL que debe devolver un conjunto de filas con las siguientes " +"columnas:" + +#: ../../build/doc/flow-family.rst:9 +msgid "" +"The function aggregates the sources and the targets, removes the duplicates," +" and then it calculates the result from the resultant source vertices to the" +" target vertices." +msgstr "" +"La función agrega los orígenes y los destinos, quita los duplicados y, a " +"continuación, calcula el resultado de los vértices de origen resultantes a " +"los vértices de destino." + +#: ../../build/doc/pgr_pushRelabel.rst:189 msgid "Result Columns" msgstr "Columnas de Resultados" @@ -433,35 +498,35 @@ msgid "" msgstr "" "Capacidad residual del arista en la dirección (``start_vid``, ``end_vid``)." -#: ../../build/doc/pgr_pushRelabel.rst:166 +#: ../../build/doc/pgr_pushRelabel.rst:196 msgid "See Also" msgstr "Ver también" -#: ../../build/doc/pgr_pushRelabel.rst:168 +#: ../../build/doc/pgr_pushRelabel.rst:198 msgid "" ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_edmondsKarp`" msgstr "" ":doc:`flow-family`, :doc:`pgr_boykovKolmogorov`, :doc:`pgr_edmondsKarp`" -#: ../../build/doc/pgr_pushRelabel.rst:169 +#: ../../build/doc/pgr_pushRelabel.rst:199 msgid "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" msgstr "https://www.boost.org/libs/graph/doc/push_relabel_max_flow.html" -#: ../../build/doc/pgr_pushRelabel.rst:170 +#: ../../build/doc/pgr_pushRelabel.rst:200 #, python-format msgid "" "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" msgstr "" "https://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm" -#: ../../build/doc/pgr_pushRelabel.rst:173 +#: ../../build/doc/pgr_pushRelabel.rst:203 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_pushRelabel.rst:174 +#: ../../build/doc/pgr_pushRelabel.rst:204 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_pushRelabel.rst:175 +#: ../../build/doc/pgr_pushRelabel.rst:205 msgid ":ref:`search`" msgstr ":ref:`search`" From 28139ac94943a228060b6042b680f90bd4282f46 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 18 Nov 2020 02:16:47 +0000 Subject: [PATCH 1182/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_sequentialVertexColoring.po' on the 'es' language. --- .../pgr_sequentialVertexColoring.po | 428 ++++++++++++++++++ 1 file changed, 428 insertions(+) create mode 100644 locale/es/LC_MESSAGES/pgr_sequentialVertexColoring.po diff --git a/locale/es/LC_MESSAGES/pgr_sequentialVertexColoring.po b/locale/es/LC_MESSAGES/pgr_sequentialVertexColoring.po new file mode 100644 index 00000000000..ff7b3213396 --- /dev/null +++ b/locale/es/LC_MESSAGES/pgr_sequentialVertexColoring.po @@ -0,0 +1,428 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +# Translators: +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: 2020-11-04 19:19+0000\n" +"Last-Translator: MarPetra , 2020\n" +"Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:11 +msgid "pgr_sequentialVertexColoring - Experimental" +msgstr "pgr_sequentialVertexColoring - Experimental" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:13 +msgid "" +"``pgr_sequentialVertexColoring`` — Returns the vertex coloring of an " +"undirected graph, using greedy approach." +msgstr "" +"``pgr_sequentialVertexColoring`` — Devuelve el color de vértice de un grafo " +"no dirigido, utilizando un enfoque codicioso." + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:19 +msgid "Boost Graph Inside" +msgstr "Adentro: Boost Graph" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "Funciones experimentales" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "No son oficialmente de la versión actual." + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "El nombre puede cambiar." + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "La firma (declaración de funciones) podría cambiar." + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "La funcionalidad puede cambiar." + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "Las pruebas de pgTap pueden estar ausentes." + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "Posiblemente necesite codificación c/c++." + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "Puede haber carencia de documentación." + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" +"Ejemplos de documentación que puede ser necesario generar automáticamente." + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "Puede depender de una función propuesta de pgRouting." + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "Podría depender de una función obsoleta de pgRouting" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:26 +msgid "Availability" +msgstr "Disponibilidad" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:27 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:29 +msgid "New **experimental** function" +msgstr "Nueva función **experimental**" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:32 +msgid "Support" +msgstr "Soporte" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:33 +msgid "" +"**Supported versions:** current(`3.2 " +"`__)" +msgstr "" +"**Versiones soportadas:** actual(`3.2 " +"`__)" + +#: ../../build/doc/coloring-family.rst:4 ../../build/doc/coloring-family.rst:6 +#: ../../build/doc/pgr_sequentialVertexColoring.rst:37 +#: ../../build/doc/traversal-family.rst:4 +msgid "Description" +msgstr "Descripción" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:39 +msgid "" +"Sequential Vertex Coloring algorithm is a graph coloring algorithm in which " +"color identifiers are assigned to the vertices of a graph in a sequential " +"manner, such that no edge connects two identically colored vertices." +msgstr "" +"El algoritmo de Coloración de Vértices Secuenciales es un algoritmo de " +"coloración de grafos en el que se asignan identificadores de color a los " +"vértices de un grafo de forma secuencial, de modo que ninguna arista conecta" +" dos vértices de color idéntico." + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:43 +msgid "**The main Characteristics are:**" +msgstr "**Las características principales son:**" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:45 +msgid "The implementation is applicable only for **undirected** graphs." +msgstr "La implementación solo es aplicable a los gafos **no dirigidos**." + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:46 +msgid "" +"Provides the color to be assigned to all the vertices present in the graph." +msgstr "" +"Proporciona el color que se asignará a todos los vértices presentes en el " +"grafo." + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:47 +msgid "Color identifiers values are in the Range :math:`[1, |V|]`" +msgstr "" +"Los valores de los identificadores de color se encuentran en el rango " +":math:`[1, |V|]`" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:48 +msgid "" +"The algorithm tries to assign the least possible color to every vertex." +msgstr "El algoritmo intenta asignar el menor color posible a cada vértice." + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:49 +msgid "" +"Efficient graph coloring is an NP-Hard problem, and therefore, this " +"algorithm does not always produce optimal coloring. It follows a greedy " +"strategy by iterating through all the vertices sequentially, and assigning " +"the smallest possible color that is not used by its neighbors, to each " +"vertex." +msgstr "" +"El color de grafos eficientes es un problema NP-Hard, y por lo tanto, este " +"algoritmo no siempre produce un coloración óptima. Sigue una estrategia " +"expansiva recorriendo en iteración todos los vértices secuencialmente y " +"asignando el color más pequeño posible que no sea utilizado por sus vecinos," +" a cada vértice." + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:53 +msgid "The returned rows are ordered in ascending order of the vertex value." +msgstr "" +"Las filas devueltas se ordenan en orden ascendente del valor de vértice." + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:54 +msgid "Sequential Vertex Coloring Running Time: :math:`O(|V|*(d + k))`" +msgstr "" +"Tiempo de Ejecución de Coloración de Vértices Secuenciales: :math:`O(|V|*(d " +"+ k))`" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:56 +msgid "where :math:`|V|` is the number of vertices," +msgstr "donde :math:`|V|` es el número de vértices," + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:57 +msgid ":math:`d` is the maximum degree of the vertices in the graph," +msgstr ":math:`d` es el grado máximo de los vértices en el grafo," + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:58 +msgid ":math:`k` is the number of colors used." +msgstr ":math:`k` es el número de colores utilizados." + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:61 +msgid "Signatures" +msgstr "Firmas" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst +msgid "Example" +msgstr "Ejemplo" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:70 +msgid "Graph coloring of pgRouting :doc:`sampledata`" +msgstr "Coloración de grafos de pgRouting :doc:`sampledata`" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:82 +msgid "Parameters" +msgstr "Parámetros" + +#: ../../build/doc/coloring-family.rst:4 +msgid "Parameter" +msgstr "Parámetro" + +#: ../../build/doc/coloring-family.rst:4 ../../build/doc/coloring-family.rst:6 +#: ../../build/doc/traversal-family.rst:4 +msgid "Type" +msgstr "Tipo" + +#: ../../build/doc/coloring-family.rst:6 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" + +#: ../../build/doc/coloring-family.rst:6 +msgid "``TEXT``" +msgstr "``TEXT``" + +#: ../../build/doc/coloring-family.rst:6 +msgid "Inner query as described below." +msgstr "Consulta interna como se describe a continuación." + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:89 +msgid "Inner query" +msgstr "Consulta interna" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst +msgid "Edges SQL" +msgstr "Edges SQL" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:91 +msgid "" +"an SQL query of an **undirected** graph, which should return a set of rows " +"with the following columns:" +msgstr "" +"Una consulta SQL de un grafo **no dirigido**, que debería devolver un " +"conjunto de filas con las siguientes columnas:" + +#: ../../build/doc/coloring-family.rst:6 +#: ../../build/doc/traversal-family.rst:4 +msgid "Column" +msgstr "Columna" + +#: ../../build/doc/traversal-family.rst:4 +msgid "Default" +msgstr "Valores predeterminados" + +#: ../../build/doc/traversal-family.rst:6 +msgid "**id**" +msgstr "**id**" + +#: ../../build/doc/traversal-family.rst:6 +#: ../../build/doc/traversal-family.rst:7 +#: ../../build/doc/traversal-family.rst:8 +msgid "``ANY-INTEGER``" +msgstr "``ANY-INTEGER``" + +#: ../../build/doc/traversal-family.rst:6 +msgid "Identifier of the edge." +msgstr "Identificador de la arista." + +#: ../../build/doc/traversal-family.rst:7 +msgid "**source**" +msgstr "**origen**" + +#: ../../build/doc/traversal-family.rst:7 +msgid "Identifier of the first end point vertex of the edge." +msgstr "Identificador del primer punto final en el vértice de la arista." + +#: ../../build/doc/traversal-family.rst:8 +msgid "**target**" +msgstr "**objetivo**" + +#: ../../build/doc/traversal-family.rst:8 +msgid "Identifier of the second end point vertex of the edge." +msgstr "Identificador del segundo punto final en el vértice de la arista." + +#: ../../build/doc/traversal-family.rst:9 +msgid "**cost**" +msgstr "**cost**" + +#: ../../build/doc/traversal-family.rst:9 +#: ../../build/doc/traversal-family.rst:12 +msgid "``ANY-NUMERICAL``" +msgstr "``ANY-NUMERICAL``" + +#: ../../build/doc/traversal-family.rst:9 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "Cuando es positivo: el borde `(origen, destino)` existe en el grafo." + +#: ../../build/doc/traversal-family.rst:10 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" +"Cuando es negativo: el borde `(origen, desitno)` no existe en el grafo." + +#: ../../build/doc/traversal-family.rst:12 +msgid "**reverse_cost**" +msgstr "**reverse_cost**" + +#: ../../build/doc/traversal-family.rst:12 +msgid "-1" +msgstr "-1" + +#: ../../build/doc/traversal-family.rst:12 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "Cuando es positivo: el borde `(origen, destino)` existe en el grafo." + +#: ../../build/doc/traversal-family.rst:13 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" +"Cuando es negativo: el borde `(destino, origen)` no existe en el grafo." + +#: ../../build/doc/traversal-family.rst:17 +msgid "Where:" +msgstr "Donde:" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-INTEGER" +msgstr "ANY-INTEGER" + +#: ../../build/doc/traversal-family.rst:19 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "SMALLINT, INTEGER, BIGINT" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-NUMERICAL" +msgstr "ANY-NUMERICAL" + +#: ../../build/doc/traversal-family.rst:20 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:99 +msgid "Result Columns" +msgstr "Columnas de Resultados" + +#: ../../build/doc/coloring-family.rst:3 +msgid "Returns SET OF ``(vertex_id, color_id)``" +msgstr "Devuelve SET OF ``(vertex_id, color_id)``" + +#: ../../build/doc/coloring-family.rst:8 +msgid "**vertex_id**" +msgstr "**vertex_id**" + +#: ../../build/doc/coloring-family.rst:8 ../../build/doc/coloring-family.rst:9 +msgid "``BIGINT``" +msgstr "``BIGINT``" + +#: ../../build/doc/coloring-family.rst:8 +msgid "Identifier of the vertex." +msgstr "Identificador del vértice." + +#: ../../build/doc/coloring-family.rst:9 +msgid "**color_id**" +msgstr "**color_id**" + +#: ../../build/doc/coloring-family.rst:9 +msgid "Identifier of the color of the vertex." +msgstr "Identificador del color del vértice." + +#: ../../build/doc/coloring-family.rst:11 +msgid "The minimum value of color is 1." +msgstr "El valor mínimo de color es 1." + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:107 +msgid "See Also" +msgstr "Ver también" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:109 +msgid "The queries use the :doc:`sampledata` network." +msgstr "Las consultas utilizan la red :doc:`sampledata` ." + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:113 +msgid "" +"`Boost: Sequential Vertex Coloring algorithm documentation " +"`__" +msgstr "" +"`Boost: Sequential Vertex Coloring algorithm documentation " +"`__" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:114 +msgid "" +"`Wikipedia: Graph coloring `__" +msgstr "" +"'Wikipedia: Coloración de grafos " +"`__" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:119 +msgid "Indices and tables" +msgstr "Índices y tablas" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:120 +msgid ":ref:`genindex`" +msgstr ":ref:`genindex`" + +#: ../../build/doc/pgr_sequentialVertexColoring.rst:121 +msgid ":ref:`search`" +msgstr ":ref:`search`" From 4a5ea75ee092910ce14b44464b095b5dd44b791c Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 16:06:59 +0000 Subject: [PATCH 1183/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_withPoints.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_withPoints.po | 340 +++++++++++++++--------- 1 file changed, 208 insertions(+), 132 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_withPoints.po b/locale/es/LC_MESSAGES/pgr_withPoints.po index 7c08ba15b88..c02b1bb6d51 100644 --- a/locale/es/LC_MESSAGES/pgr_withPoints.po +++ b/locale/es/LC_MESSAGES/pgr_withPoints.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -74,35 +74,49 @@ msgstr "Es posible que la documentación necesite un refinamiento." #: ../../build/doc/pgr_withPoints.rst:22 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_withPoints.rst:25 msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_withPoints.rst:26 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_withPoints.rst:28 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_withPoints.rst:30 +msgid "pgr_withPoints(Combinations)" +msgstr "pgr_withPoints(Combinaciones)" + +#: ../../build/doc/pgr_withPoints.rst:32 msgid "Version 2.2.0" msgstr "Version 2.2.0" -#: ../../build/doc/pgr_withPoints.rst:28 +#: ../../build/doc/pgr_withPoints.rst:34 msgid "New **proposed** function" msgstr "Nueva función **propuesta**" -#: ../../build/doc/pgr_withPoints.rst:31 +#: ../../build/doc/pgr_withPoints.rst:37 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_withPoints.rst:32 +#: ../../build/doc/pgr_withPoints.rst:38 msgid "" -"**Supported versions:** current(`3.1 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " "`__) `3.0 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__" +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__) `3.0 " +"`__" -#: ../../build/doc/pgr_withPoints.rst:36 +#: ../../build/doc/pgr_withPoints.rst:43 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -122,13 +136,13 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:44 -#: ../../build/doc/pgr_withPoints.rst:174 -#: ../../build/doc/pgr_withPoints.rst:210 +#: ../../build/doc/pgr_withPoints.rst:51 +#: ../../build/doc/pgr_withPoints.rst:200 +#: ../../build/doc/pgr_withPoints.rst:250 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_withPoints.rst:46 +#: ../../build/doc/pgr_withPoints.rst:53 msgid "" "Modify the graph to include points defined by points_sql. Using Dijkstra " "algorithm, find the shortest path(s)" @@ -136,31 +150,31 @@ msgstr "" "Modifique el grafo para incluir puntos definidos por points_sql. Usando el " "algoritmo Dijkstra, busque la o las rutas más cortas" -#: ../../build/doc/pgr_withPoints.rst:49 +#: ../../build/doc/pgr_withPoints.rst:56 msgid "**The main characteristics are:**" msgstr "**Las características principales son:**" -#: ../../build/doc/pgr_withPoints.rst:51 +#: ../../build/doc/pgr_withPoints.rst:58 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/pgr_withPoints.rst:52 +#: ../../build/doc/pgr_withPoints.rst:59 msgid "Vertices of the graph are:" msgstr "Los vértices del grafo son:" -#: ../../build/doc/pgr_withPoints.rst:54 +#: ../../build/doc/pgr_withPoints.rst:61 msgid "**positive** when it belongs to the edges_sql" msgstr "**positivo** cuando pertenece a edges_sql" -#: ../../build/doc/pgr_withPoints.rst:55 +#: ../../build/doc/pgr_withPoints.rst:62 msgid "**negative** when it belongs to the points_sql" msgstr "**negativo** cuando pertenece a points_sql" -#: ../../build/doc/pgr_withPoints.rst:57 +#: ../../build/doc/pgr_withPoints.rst:64 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/pgr_withPoints.rst:59 +#: ../../build/doc/pgr_withPoints.rst:66 msgid "" "When the starting vertex and ending vertex are the same, there is no path. -" " The agg_cost the non included values (v, v) is 0" @@ -168,7 +182,7 @@ msgstr "" "Cuando el vértice inicial y el vértice final son los mismos, no hay ninguna " "ruta. - El agg_cost los valores no incluidos (v, v) es 0" -#: ../../build/doc/pgr_withPoints.rst:62 +#: ../../build/doc/pgr_withPoints.rst:69 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path: - The agg_cost the non included values (u, v) is ∞" @@ -176,7 +190,7 @@ msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay ninguna" " ruta: - En ell agg_cost los valores no incluidos (u, v) es ∞" -#: ../../build/doc/pgr_withPoints.rst:65 +#: ../../build/doc/pgr_withPoints.rst:72 msgid "" "For optimization purposes, any duplicated value in the start_vids or " "end_vids are ignored." @@ -184,26 +198,26 @@ msgstr "" "Para fines de optimización, se omite cualquier valor duplicado en start_vids" " o end_vids." -#: ../../build/doc/pgr_withPoints.rst:66 +#: ../../build/doc/pgr_withPoints.rst:73 msgid "" "The returned values are ordered: - start_vid ascending - end_vid ascending" msgstr "" "Los valores devueltos se ordenan: - start_vid ascendente - end_vid " "ascendente" -#: ../../build/doc/pgr_withPoints.rst:70 +#: ../../build/doc/pgr_withPoints.rst:77 msgid "Running time: :math:`O(|start\\_vids|\\times(V \\log V + E))`" msgstr "Tiempo de ejecución: :math:`O(|start\\_vids|\\times(V \\log V + E))`" -#: ../../build/doc/pgr_withPoints.rst:73 +#: ../../build/doc/pgr_withPoints.rst:80 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_withPoints.rst:76 +#: ../../build/doc/pgr_withPoints.rst:83 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_withPoints.rst:86 +#: ../../build/doc/pgr_withPoints.rst:94 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -211,15 +225,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_withPoints.rst:92 +#: ../../build/doc/pgr_withPoints.rst:100 msgid "From point :math:`1` to point :math:`3`" msgstr "Del punto :math:`1` al punto :math:`3`" -#: ../../build/doc/pgr_withPoints.rst:94 +#: ../../build/doc/pgr_withPoints.rst:102 msgid "For a **directed** graph." msgstr "Para un grafo **dirigido**." -#: ../../build/doc/pgr_withPoints.rst:95 +#: ../../build/doc/pgr_withPoints.rst:103 msgid "" "The driving side is set as **b** both. So arriving/departing to/from the " "point(s) can be in any direction." @@ -227,44 +241,44 @@ msgstr "" "Ambos lados de conducción se establecen como **b**. Así que llegar/partir " "hacia/desde el o los puntos, puede ser en cualquier dirección." -#: ../../build/doc/pgr_withPoints.rst:96 +#: ../../build/doc/pgr_withPoints.rst:104 msgid "" "No **details** are given about distance of other points of points_sql query." msgstr "" "No se proporcionan **detalles** sobre la distancia de otros puntos de la " "consulta points_sql." -#: ../../build/doc/pgr_withPoints.rst:106 +#: ../../build/doc/pgr_withPoints.rst:114 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_withPoints.rst:113 +#: ../../build/doc/pgr_withPoints.rst:121 msgid "" "From point :math:`1` to vertex :math:`3` with details of passing points" msgstr "" "Del punto :math:`1` al vértice :math:`3` con detalles de puntos de paso" -#: ../../build/doc/pgr_withPoints.rst:123 +#: ../../build/doc/pgr_withPoints.rst:131 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_withPoints.rst:130 +#: ../../build/doc/pgr_withPoints.rst:138 msgid "From point :math:`1` to point :math:`3` and vertex :math:`5`" msgstr "Del punto :math:`1` al punto :math:`3` y al vértice :math:`5`" -#: ../../build/doc/pgr_withPoints.rst:140 +#: ../../build/doc/pgr_withPoints.rst:148 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_withPoints.rst:147 +#: ../../build/doc/pgr_withPoints.rst:155 msgid "From point :math:`1` and vertex :math:`2` to point :math:`3`" msgstr "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3`" -#: ../../build/doc/pgr_withPoints.rst:157 +#: ../../build/doc/pgr_withPoints.rst:165 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_withPoints.rst:164 +#: ../../build/doc/pgr_withPoints.rst:172 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`" @@ -272,44 +286,67 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` y al " "vértice :math:`7`" -#: ../../build/doc/pgr_withPoints.rst:171 +#: ../../build/doc/pgr_withPoints.rst:182 +msgid "Combinations SQL" +msgstr "Combinaciones SQL" + +#: ../../build/doc/pgr_withPoints.rst:189 +msgid "" +"Two (source, target) combinations: (from point :math:`1` to vertex " +":math:`3`), and (from vertex :math:`2` to point :math:`3`) with **right** " +"side driving topology." +msgstr "" +"Dos combinaciones (origen, destino): (desde el punto :math:`1` hasta el " +"vértice :math:`3`), y (desde el vértice :math:`2` hasta el punto :math:`3`) " +"con la topología de conducción del lado **derecho**." + +#: ../../build/doc/pgr_withPoints.rst:197 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_withPoints.rst:174 +#: ../../build/doc/pgr_withPoints.rst:200 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:174 -#: ../../build/doc/pgr_withPoints.rst:210 +#: ../../build/doc/pgr_withPoints.rst:200 +#: ../../build/doc/pgr_withPoints.rst:250 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_withPoints.rst:176 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/pgr_withPoints.rst:202 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_withPoints.rst:176 -#: ../../build/doc/pgr_withPoints.rst:177 +#: ../../build/doc/pgr_withPoints.rst:202 +#: ../../build/doc/pgr_withPoints.rst:203 +#: ../../build/doc/pgr_withPoints.rst:204 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_withPoints.rst:176 -msgid "Edges SQL query as described above." -msgstr "Consulta de aristas SQL como se describió anteriormente." +#: ../../build/doc/pgr_withPoints.rst:202 +msgid "`Edges query` as described above." +msgstr "`Consulta de bordes` como se describió anteriormente." -#: ../../build/doc/pgr_withPoints.rst:177 -msgid "**points_sql**" -msgstr "**points_sql**" +#: ../../build/doc/pgr_withPoints.rst:203 +msgid "**Points SQL**" +msgstr "**Puntos SQL**" -#: ../../build/doc/pgr_withPoints.rst:177 -msgid "Points SQL query as described above." -msgstr "Consulta SQL de puntos como se describe arriba." +#: ../../build/doc/pgr_withPoints.rst:203 +msgid "`Points query` as described above." +msgstr "`Consulta de puntos` como se ha descrito anteriormente." -#: ../../build/doc/pgr_withPoints.rst:178 -#: ../../build/doc/pgr_withPoints.rst:214 +#: ../../build/doc/pgr_withPoints.rst:204 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_withPoints.rst:204 +msgid "`Combinations query` as described below." +msgstr "`Consulta de combinaciones` como se describe a continuación." + +#: ../../build/doc/pgr_withPoints.rst:205 +#: ../../build/doc/pgr_withPoints.rst:254 msgid "**start_vid**" msgstr "**start_vid**" @@ -318,63 +355,63 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:15 -#: ../../build/doc/pgr_withPoints.rst:178 -#: ../../build/doc/pgr_withPoints.rst:179 +#: ../../build/doc/pgr_withPoints.rst:205 +#: ../../build/doc/pgr_withPoints.rst:206 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_withPoints.rst:178 +#: ../../build/doc/pgr_withPoints.rst:205 msgid "Starting vertex identifier. When negative: is a point's pid." msgstr "" "Identificador de vértice inicial. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPoints.rst:179 -#: ../../build/doc/pgr_withPoints.rst:215 +#: ../../build/doc/pgr_withPoints.rst:206 +#: ../../build/doc/pgr_withPoints.rst:255 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_withPoints.rst:179 +#: ../../build/doc/pgr_withPoints.rst:206 msgid "Ending vertex identifier. When negative: is a point's pid." msgstr "" "Identificador de vértice final. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPoints.rst:180 +#: ../../build/doc/pgr_withPoints.rst:207 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_withPoints.rst:180 -#: ../../build/doc/pgr_withPoints.rst:181 +#: ../../build/doc/pgr_withPoints.rst:207 +#: ../../build/doc/pgr_withPoints.rst:208 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_withPoints.rst:180 +#: ../../build/doc/pgr_withPoints.rst:207 msgid "" "Array of identifiers of starting vertices. When negative: is a point's pid." msgstr "" "Arreglo de identificadores de vértices iniciales. Cuando es negativo: es el " "pid de un punto." -#: ../../build/doc/pgr_withPoints.rst:181 +#: ../../build/doc/pgr_withPoints.rst:208 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_withPoints.rst:181 +#: ../../build/doc/pgr_withPoints.rst:208 msgid "" "Array of identifiers of ending vertices. When negative: is a point's pid." msgstr "" "Arreglo de identificadores de vértices finales. Cuando es negativo: es el " "pid de un punto." -#: ../../build/doc/pgr_withPoints.rst:182 +#: ../../build/doc/pgr_withPoints.rst:209 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_withPoints.rst:182 -#: ../../build/doc/pgr_withPoints.rst:188 +#: ../../build/doc/pgr_withPoints.rst:209 +#: ../../build/doc/pgr_withPoints.rst:215 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_withPoints.rst:182 +#: ../../build/doc/pgr_withPoints.rst:209 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default is" " ``true`` which considers the graph as Directed." @@ -382,41 +419,41 @@ msgstr "" "(opcional). En caso de ``false`` el grafo se considera como No Dirigido. El " "valor predeterminado es ``true`` que considera el grafo como Dirigido." -#: ../../build/doc/pgr_withPoints.rst:183 +#: ../../build/doc/pgr_withPoints.rst:210 msgid "**driving_side**" msgstr "**driving_side**" #: ../../build/doc/pgRouting-concepts.rst:17 -#: ../../build/doc/pgr_withPoints.rst:183 +#: ../../build/doc/pgr_withPoints.rst:210 msgid "``CHAR``" msgstr "``CHAR``" -#: ../../build/doc/pgr_withPoints.rst:186 +#: ../../build/doc/pgr_withPoints.rst:213 msgid "" "(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" msgstr "" "(opcional) Valor en ['b', 'r', 'l', NULL] que indica si el lado de " "conducción es:" -#: ../../build/doc/pgr_withPoints.rst:184 +#: ../../build/doc/pgr_withPoints.rst:211 msgid "In the right or left or" msgstr "A la derecha o a la izquierda o" #: ../../build/doc/pgRouting-concepts.rst:20 -#: ../../build/doc/pgr_withPoints.rst:185 +#: ../../build/doc/pgr_withPoints.rst:212 msgid "If it doesn't matter with 'b' or NULL." msgstr "Si no importa con 'b' o NULL." #: ../../build/doc/pgRouting-concepts.rst:21 -#: ../../build/doc/pgr_withPoints.rst:186 +#: ../../build/doc/pgr_withPoints.rst:213 msgid "If column not present 'b' is considered." msgstr "Si la columna no presente 'b' es considerada" -#: ../../build/doc/pgr_withPoints.rst:188 +#: ../../build/doc/pgr_withPoints.rst:215 msgid "**details**" msgstr "**detalles**" -#: ../../build/doc/pgr_withPoints.rst:188 +#: ../../build/doc/pgr_withPoints.rst:215 msgid "" "(optional). When ``true`` the results will include the points in points_sql " "that are in the path. Default is ``false`` which ignores other points of the" @@ -426,13 +463,17 @@ msgstr "" "points_sql que están en la ruta de acceso. El valor predeterminado " "es``false`` que omite otros puntos de points_sql." -#: ../../build/doc/pgr_withPoints.rst:193 +#: ../../build/doc/pgr_withPoints.rst:220 msgid "Inner query" msgstr "Consulta interna" +#: ../../build/doc/pgr_withPoints.rst:226 +msgid "Edges query" +msgstr "Consulta de aristas" + #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPoints.rst:210 +#: ../../build/doc/pgr_withPoints.rst:250 msgid "Column" msgstr "Columna" @@ -448,26 +489,30 @@ msgstr "**id**" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 -#: ../../build/doc/pgr_withPoints.rst:223 +#: ../../build/doc/pgr_withPoints.rst:263 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -507,6 +552,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" @@ -516,6 +562,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -528,6 +575,10 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +#: ../../build/doc/pgr_withPoints.rst:233 +msgid "Points query" +msgstr "Consulta de puntos" + #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Description of the Points SQL query" msgstr "Descripción de la consulta SSQL de Puntos" @@ -602,72 +653,76 @@ msgstr "smallint, int, bigint" msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgr_withPoints.rst:207 +#: ../../build/doc/pgr_withPoints.rst:240 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_withPoints.rst:247 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_withPoints.rst:212 +#: ../../build/doc/pgr_withPoints.rst:252 msgid "**seq**" msgstr "**seq**" -#: ../../build/doc/pgr_withPoints.rst:212 -#: ../../build/doc/pgr_withPoints.rst:213 +#: ../../build/doc/pgr_withPoints.rst:252 +#: ../../build/doc/pgr_withPoints.rst:253 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../build/doc/pgr_withPoints.rst:212 +#: ../../build/doc/pgr_withPoints.rst:252 msgid "Row sequence." msgstr "Secuencia de filas." -#: ../../build/doc/pgr_withPoints.rst:213 +#: ../../build/doc/pgr_withPoints.rst:253 msgid "**path_seq**" msgstr "**path_seq**" -#: ../../build/doc/pgr_withPoints.rst:213 +#: ../../build/doc/pgr_withPoints.rst:253 msgid "Path sequence that indicates the relative position on the path." msgstr "" "Secuencia de ruta de acceso que indica la posición relativa en la ruta de " "acceso." -#: ../../build/doc/pgr_withPoints.rst:214 -#: ../../build/doc/pgr_withPoints.rst:215 -#: ../../build/doc/pgr_withPoints.rst:216 -#: ../../build/doc/pgr_withPoints.rst:220 +#: ../../build/doc/pgr_withPoints.rst:254 +#: ../../build/doc/pgr_withPoints.rst:255 +#: ../../build/doc/pgr_withPoints.rst:256 +#: ../../build/doc/pgr_withPoints.rst:260 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_withPoints.rst:214 +#: ../../build/doc/pgr_withPoints.rst:254 msgid "Identifier of the starting vertex. When negative: is a point's pid." msgstr "" "Identificador del vértice inicial. Cuando es negativo: es el pid de un " "punto." -#: ../../build/doc/pgr_withPoints.rst:215 +#: ../../build/doc/pgr_withPoints.rst:255 msgid "Identifier of the ending vertex. When negative: is a point's pid." msgstr "" "Identificador del vértice final. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPoints.rst:216 +#: ../../build/doc/pgr_withPoints.rst:256 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" -#: ../../build/doc/pgr_withPoints.rst:218 +#: ../../build/doc/pgr_withPoints.rst:258 msgid "Identifier of the node:" msgstr "Identificador del nodo:" -#: ../../build/doc/pgr_withPoints.rst:217 +#: ../../build/doc/pgr_withPoints.rst:257 msgid "A positive value indicates the node is a vertex of edges_sql." msgstr "Un valor positivo indica que el nodo es un vértice de edges_sql." -#: ../../build/doc/pgr_withPoints.rst:218 +#: ../../build/doc/pgr_withPoints.rst:258 msgid "A negative value indicates the node is a point of points_sql." msgstr "Un valor negativo indica que el nodo es un punto de points_sql." -#: ../../build/doc/pgr_withPoints.rst:220 +#: ../../build/doc/pgr_withPoints.rst:260 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" -#: ../../build/doc/pgr_withPoints.rst:221 +#: ../../build/doc/pgr_withPoints.rst:261 msgid "" "Identifier of the edge used to go from ``node`` to the next node in the path" " sequence." @@ -675,16 +730,16 @@ msgstr "" "Identificador del borde utilizado para ir de ``node`` al siguiente nodo de " "la secuencia de ruta." -#: ../../build/doc/pgr_withPoints.rst:221 +#: ../../build/doc/pgr_withPoints.rst:261 msgid "``-1`` for the last row in the path sequence." msgstr "``-1`` para la última fila de la secuencia de ruta." -#: ../../build/doc/pgr_withPoints.rst:223 -#: ../../build/doc/pgr_withPoints.rst:226 +#: ../../build/doc/pgr_withPoints.rst:263 +#: ../../build/doc/pgr_withPoints.rst:266 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_withPoints.rst:224 +#: ../../build/doc/pgr_withPoints.rst:264 msgid "" "Cost to traverse from ``node`` using ``edge`` to the next ``node`` in the " "path sequence." @@ -692,27 +747,27 @@ msgstr "" "Coste para atravesar desde ``node`` usando ``edge`` para el siguiente " "``node`` en la secuncia de ruta." -#: ../../build/doc/pgr_withPoints.rst:224 +#: ../../build/doc/pgr_withPoints.rst:264 msgid "``0`` for the last row in the path sequence." msgstr "``0`` para la última fila de la secuencia de ruta." -#: ../../build/doc/pgr_withPoints.rst:226 +#: ../../build/doc/pgr_withPoints.rst:266 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_withPoints.rst:227 +#: ../../build/doc/pgr_withPoints.rst:267 msgid "Aggregate cost from ``start_pid`` to ``node``." msgstr "Coste agregado de ``start_pid`` a ``node``." -#: ../../build/doc/pgr_withPoints.rst:227 +#: ../../build/doc/pgr_withPoints.rst:267 msgid "``0`` for the first row in the path sequence." msgstr "``0`` para la primera fila de la secuencia de ruta." -#: ../../build/doc/pgr_withPoints.rst:232 +#: ../../build/doc/pgr_withPoints.rst:272 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_withPoints.rst:234 +#: ../../build/doc/pgr_withPoints.rst:274 msgid "" "Which path (if any) passes in front of point :math:`6` or vertex :math:`6` " "with **right** side driving topology." @@ -720,7 +775,7 @@ msgstr "" "Qué ruta (si existe) pasa delante del punto :math:`6` o vértice :math:`6` " "con la topología de conducción lateral **derecha**." -#: ../../build/doc/pgr_withPoints.rst:240 +#: ../../build/doc/pgr_withPoints.rst:280 msgid "" "Which path (if any) passes in front of point :math:`6` or vertex :math:`6` " "with **left** side driving topology." @@ -728,7 +783,7 @@ msgstr "" "Qué ruta (si existe) pasa delante del punto :math:`6` o vértice :math:`6` " "con la topología de conducción lateral **izquierda**." -#: ../../build/doc/pgr_withPoints.rst:246 +#: ../../build/doc/pgr_withPoints.rst:286 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` to vertex " ":math:`7` on an **undirected** graph, with details." @@ -736,26 +791,47 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` al " "vértice :math:`7` en un grafo **no dirigido** con detalles." -#: ../../build/doc/pgr_withPoints.rst:252 +#: ../../build/doc/pgr_withPoints.rst:292 msgid "The queries use the :doc:`sampledata` network" msgstr "Las consultas usan la red :doc:`sampledata`" -#: ../../build/doc/pgr_withPoints.rst:255 +#: ../../build/doc/pgr_withPoints.rst:295 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_withPoints.rst:257 +#: ../../build/doc/pgr_withPoints.rst:297 msgid ":doc:`withPoints-family`" msgstr ":doc:`withPoints-family`" -#: ../../build/doc/pgr_withPoints.rst:260 +#: ../../build/doc/pgr_withPoints.rst:300 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_withPoints.rst:261 +#: ../../build/doc/pgr_withPoints.rst:301 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_withPoints.rst:262 +#: ../../build/doc/pgr_withPoints.rst:302 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0 " +#~ "`__" +#~ msgstr "" +#~ "**Versiones soportadas:** actual(`3.1 " +#~ "`__) `3.0 " +#~ "`__" + +#~ msgid "**edges_sql**" +#~ msgstr "**edges_sql**" + +#~ msgid "Edges SQL query as described above." +#~ msgstr "Consulta de aristas SQL como se describió anteriormente." + +#~ msgid "**points_sql**" +#~ msgstr "**points_sql**" + +#~ msgid "Points SQL query as described above." +#~ msgstr "Consulta SQL de puntos como se describe arriba." From 2a0ce9e9d938bd55cdd380d751cd1cee17311fcd Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 16:05:30 +0000 Subject: [PATCH 1184/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgr_withPointsCost.po' on the 'es' language. --- locale/es/LC_MESSAGES/pgr_withPointsCost.po | 310 ++++++++++++-------- 1 file changed, 193 insertions(+), 117 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgr_withPointsCost.po b/locale/es/LC_MESSAGES/pgr_withPointsCost.po index c2738ae9422..0485e52d7da 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsCost.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsCost.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-28 10:55-0600\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -83,28 +83,42 @@ msgid "Availability" msgstr "Disponibilidad" #: ../../build/doc/pgr_withPointsCost.rst:26 +msgid "Version 3.2.0" +msgstr "Versión 3.2.0" + +#: ../../build/doc/pgr_withPointsCost.rst:28 +msgid "New **proposed** function:" +msgstr "Nueva función **propuesta**:" + +#: ../../build/doc/pgr_withPointsCost.rst:30 +msgid "pgr_withPointsCost(Combinations)" +msgstr "pgr_withPointsCost(Combinaciones)" + +#: ../../build/doc/pgr_withPointsCost.rst:32 msgid "Version 2.2.0" msgstr "Version 2.2.0" -#: ../../build/doc/pgr_withPointsCost.rst:28 +#: ../../build/doc/pgr_withPointsCost.rst:34 msgid "New **proposed** function" msgstr "Nueva función **propuesta**" -#: ../../build/doc/pgr_withPointsCost.rst:31 +#: ../../build/doc/pgr_withPointsCost.rst:37 msgid "Support" msgstr "Soporte" -#: ../../build/doc/pgr_withPointsCost.rst:32 +#: ../../build/doc/pgr_withPointsCost.rst:38 msgid "" -"**Supported versions:** current(`3.1 " -"`__) `3.0 " +"**Supported versions:** current(`3.2 " +"`__) `3.1 " +"`__ `3.0 " "`__" msgstr "" -"**Versiones soportadas:** actual(`3.1 " -"`__) `3.0 " -"`__" +"**Versiones soportadas:** actual(`3.2 " +"`__) `3.1 " +"`__ `3.0 " +"`__" -#: ../../build/doc/pgr_withPointsCost.rst:36 +#: ../../build/doc/pgr_withPointsCost.rst:43 msgid "" "**Unsupported versions:** `2.6 " "`__ `2.5 " @@ -124,13 +138,13 @@ msgstr "" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:44 -#: ../../build/doc/pgr_withPointsCost.rst:193 -#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgr_withPointsCost.rst:51 +#: ../../build/doc/pgr_withPointsCost.rst:220 +#: ../../build/doc/pgr_withPointsCost.rst:267 msgid "Description" msgstr "Descripción" -#: ../../build/doc/pgr_withPointsCost.rst:46 +#: ../../build/doc/pgr_withPointsCost.rst:53 msgid "" "Modify the graph to include points defined by points_sql. Using Dijkstra " "algorithm, return only the aggregate cost of the shortest path(s) found." @@ -139,15 +153,15 @@ msgstr "" "algoritmo Dijkstra, devuelva solo el costo agregado de la(s) rutas más " "cortas encontradas." -#: ../../build/doc/pgr_withPointsCost.rst:84 +#: ../../build/doc/pgr_withPointsCost.rst:91 msgid "The main characteristics are:" msgstr "Las principales características son:" -#: ../../build/doc/pgr_withPointsCost.rst:50 +#: ../../build/doc/pgr_withPointsCost.rst:57 msgid "It does not return a path." msgstr "No devuelve una ruta." -#: ../../build/doc/pgr_withPointsCost.rst:51 +#: ../../build/doc/pgr_withPointsCost.rst:58 msgid "" "Returns the sum of the costs of the shortest path for pair combination of " "vertices in the modified graph." @@ -155,27 +169,27 @@ msgstr "" "Devuelve la suma de los costes de la ruta más corta para la combinación de " "pares de vértices en el grafo modificado." -#: ../../build/doc/pgr_withPointsCost.rst:52 +#: ../../build/doc/pgr_withPointsCost.rst:59 msgid "Vertices of the graph are:" msgstr "Los vértices del grafo son:" -#: ../../build/doc/pgr_withPointsCost.rst:54 +#: ../../build/doc/pgr_withPointsCost.rst:61 msgid "**positive** when it belongs to the edges_sql" msgstr "**positivo** cuando pertenece a edges_sql" -#: ../../build/doc/pgr_withPointsCost.rst:55 +#: ../../build/doc/pgr_withPointsCost.rst:62 msgid "**negative** when it belongs to the points_sql" msgstr "**negativo** cuando pertenece a points_sql" -#: ../../build/doc/pgr_withPointsCost.rst:57 +#: ../../build/doc/pgr_withPointsCost.rst:64 msgid "Process is done only on edges with positive costs." msgstr "El proceso se realiza sólo en las aristas con costos positivos." -#: ../../build/doc/pgr_withPointsCost.rst:58 +#: ../../build/doc/pgr_withPointsCost.rst:65 msgid "Values are returned when there is a path." msgstr "Valores son regresados cuando hay un camino." -#: ../../build/doc/pgr_withPointsCost.rst:60 +#: ../../build/doc/pgr_withPointsCost.rst:67 msgid "" "The returned values are in the form of a set of `(start_vid, end_vid, " "agg_cost)`." @@ -183,17 +197,17 @@ msgstr "" "Los valores devueltos tienen la forma de un conjunto de `(start_vid, " "end_vid, agg_cost)`." -#: ../../build/doc/pgr_withPointsCost.rst:62 +#: ../../build/doc/pgr_withPointsCost.rst:69 msgid "" "When the starting vertex and ending vertex are the same, there is no path." msgstr "" "Cuando el vértice inicial y el vértice final son iguales, no hay camino." -#: ../../build/doc/pgr_withPointsCost.rst:64 +#: ../../build/doc/pgr_withPointsCost.rst:71 msgid "The `agg_cost` in the non included values `(v, v)` is `0`" msgstr "El `agg_cost` en los valores no incluidos `(v, v)` es `0`" -#: ../../build/doc/pgr_withPointsCost.rst:66 +#: ../../build/doc/pgr_withPointsCost.rst:73 msgid "" "When the starting vertex and ending vertex are the different and there is no" " path." @@ -201,11 +215,11 @@ msgstr "" "Cuando el vértice inicial y el vértice final son diferentes y no hay ninguna" " ruta." -#: ../../build/doc/pgr_withPointsCost.rst:68 +#: ../../build/doc/pgr_withPointsCost.rst:75 msgid "The `agg_cost` in the non included values `(u, v)` is :math:`\\infty`" msgstr "El `agg_cost` en los valores no incluidos `(u, v)` es :math:`\\infty`" -#: ../../build/doc/pgr_withPointsCost.rst:70 +#: ../../build/doc/pgr_withPointsCost.rst:77 msgid "" "If the values returned are stored in a table, the unique index would be the " "pair: `(start_vid, end_vid)`." @@ -213,15 +227,15 @@ msgstr "" "Si los valores devueltos se almacenan en una tabla, el índice único sería el" " par: `(start_vid, end_vid)`." -#: ../../build/doc/pgr_withPointsCost.rst:73 +#: ../../build/doc/pgr_withPointsCost.rst:80 msgid "For **undirected** graphs, the results are **symmetric**." msgstr "Para los grafos **no dirigidos**, los resultados son **simétricos**." -#: ../../build/doc/pgr_withPointsCost.rst:75 +#: ../../build/doc/pgr_withPointsCost.rst:82 msgid "The `agg_cost` of `(u, v)` is the same as for `(v, u)`." msgstr "El `agg_cost` de `(u, v)` es el mismo que para `(v, u)`." -#: ../../build/doc/pgr_withPointsCost.rst:77 +#: ../../build/doc/pgr_withPointsCost.rst:84 msgid "" "For optimization purposes, any duplicated value in the `start_vids` or " "`end_vids` is ignored." @@ -229,31 +243,31 @@ msgstr "" "Para fines de optimización, se omite cualquier valor duplicado en " "`start_vids` o `end_vids` ." -#: ../../build/doc/pgr_withPointsCost.rst:79 +#: ../../build/doc/pgr_withPointsCost.rst:86 msgid "The returned values are ordered:" msgstr "Los valores regresados se ordenan:" -#: ../../build/doc/pgr_withPointsCost.rst:81 +#: ../../build/doc/pgr_withPointsCost.rst:88 msgid "`start_vid` ascending" msgstr "`start_vid` ascendente" -#: ../../build/doc/pgr_withPointsCost.rst:82 +#: ../../build/doc/pgr_withPointsCost.rst:89 msgid "`end_vid` ascending" msgstr "`end_vid` ascendente" -#: ../../build/doc/pgr_withPointsCost.rst:84 +#: ../../build/doc/pgr_withPointsCost.rst:91 msgid "Running time: :math:`O(| start\\_vids | * (V \\log V + E))`" msgstr "Tiempo de ejecución: :math:`O(| start\\_vids | * (V \\log V + E))`" -#: ../../build/doc/pgr_withPointsCost.rst:87 +#: ../../build/doc/pgr_withPointsCost.rst:94 msgid "Signatures" msgstr "Firmas" -#: ../../build/doc/pgr_withPointsCost.rst:90 +#: ../../build/doc/pgr_withPointsCost.rst:97 msgid "Summary" msgstr "Resumen" -#: ../../build/doc/pgr_withPointsCost.rst:99 +#: ../../build/doc/pgr_withPointsCost.rst:107 msgid "" "There is no **details** flag, unlike the other members of the withPoints " "family of functions." @@ -261,7 +275,7 @@ msgstr "" "No hay identificador de **details**, a diferencia de los otros miembros de " "la familia de funciones withPoints." -#: ../../build/doc/pgr_withPointsCost.rst:105 +#: ../../build/doc/pgr_withPointsCost.rst:113 msgid "Using defaults" msgstr "Uso de valores predeterminados" @@ -269,15 +283,15 @@ msgstr "Uso de valores predeterminados" msgid "Example" msgstr "Ejemplo" -#: ../../build/doc/pgr_withPointsCost.rst:111 +#: ../../build/doc/pgr_withPointsCost.rst:119 msgid "From point :math:`1` to point :math:`3`" msgstr "Del punto :math:`1` al punto :math:`3`" -#: ../../build/doc/pgr_withPointsCost.rst:113 +#: ../../build/doc/pgr_withPointsCost.rst:121 msgid "For a **directed** graph." msgstr "Para un grafo **dirigido**." -#: ../../build/doc/pgr_withPointsCost.rst:114 +#: ../../build/doc/pgr_withPointsCost.rst:122 msgid "" "The driving side is set as **b** both. So arriving/departing to/from the " "point(s) can be in any direction." @@ -285,20 +299,20 @@ msgstr "" "Ambos lados de conducción se establecen como **b**. Así que llegar/partir " "hacia/desde el o los puntos, puede ser en cualquier dirección." -#: ../../build/doc/pgr_withPointsCost.rst:125 +#: ../../build/doc/pgr_withPointsCost.rst:133 msgid "One to One" msgstr "Uno a Uno" -#: ../../build/doc/pgr_withPointsCost.rst:132 +#: ../../build/doc/pgr_withPointsCost.rst:140 msgid "From point :math:`1` to vertex :math:`3` on an **undirected** graph." msgstr "" "Desde el punto :math:`1` al vértice :math:`3` en un grafo **no dirigido**." -#: ../../build/doc/pgr_withPointsCost.rst:142 +#: ../../build/doc/pgr_withPointsCost.rst:150 msgid "One to Many" msgstr "Uno a Muchos" -#: ../../build/doc/pgr_withPointsCost.rst:149 +#: ../../build/doc/pgr_withPointsCost.rst:157 msgid "" "From point :math:`1` to point :math:`3` and vertex :math:`5` on a " "**directed** graph." @@ -306,11 +320,11 @@ msgstr "" "Desde el punto :math:`1` al punto :math:`3` y al vértice :math:`5` en un " "grafo **dirigido**." -#: ../../build/doc/pgr_withPointsCost.rst:159 +#: ../../build/doc/pgr_withPointsCost.rst:167 msgid "Many to One" msgstr "Muchos a Uno" -#: ../../build/doc/pgr_withPointsCost.rst:166 +#: ../../build/doc/pgr_withPointsCost.rst:174 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` on a " "**directed** graph." @@ -318,11 +332,11 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` en un " "grafo **dirigido**." -#: ../../build/doc/pgr_withPointsCost.rst:176 +#: ../../build/doc/pgr_withPointsCost.rst:184 msgid "Many to Many" msgstr "Muchos a Muchos" -#: ../../build/doc/pgr_withPointsCost.rst:183 +#: ../../build/doc/pgr_withPointsCost.rst:191 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7` on a **directed** graph." @@ -330,44 +344,67 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` y al " "vértice :math:`7` en un grafo **dirigido**." -#: ../../build/doc/pgr_withPointsCost.rst:190 +#: ../../build/doc/pgr_withPointsCost.rst:201 +msgid "Combinations SQL" +msgstr "Combinaciones SQL" + +#: ../../build/doc/pgr_withPointsCost.rst:208 +msgid "" +"Two (source, target) combinations: (from point :math:`1` to vertex " +":math:`3`), and (from vertex :math:`2` to point :math:`3`) with **right** " +"side driving topology." +msgstr "" +"Dos combinaciones (origen, destino): (desde el punto :math:`1` hasta el " +"vértice :math:`3`), y (desde el vértice :math:`2` hasta el punto :math:`3`) " +"con la topología de conducción del lado **derecho**." + +#: ../../build/doc/pgr_withPointsCost.rst:217 msgid "Parameters" msgstr "Parámetros" -#: ../../build/doc/pgr_withPointsCost.rst:193 +#: ../../build/doc/pgr_withPointsCost.rst:220 msgid "Parameter" msgstr "Parámetro" #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:193 -#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgr_withPointsCost.rst:220 +#: ../../build/doc/pgr_withPointsCost.rst:267 msgid "Type" msgstr "Tipo" -#: ../../build/doc/pgr_withPointsCost.rst:195 -msgid "**edges_sql**" -msgstr "**edges_sql**" +#: ../../build/doc/pgr_withPointsCost.rst:222 +msgid "**Edges SQL**" +msgstr "**Edges SQL**" -#: ../../build/doc/pgr_withPointsCost.rst:195 -#: ../../build/doc/pgr_withPointsCost.rst:196 +#: ../../build/doc/pgr_withPointsCost.rst:222 +#: ../../build/doc/pgr_withPointsCost.rst:223 +#: ../../build/doc/pgr_withPointsCost.rst:224 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../build/doc/pgr_withPointsCost.rst:195 -msgid "Edges SQL query as described above." -msgstr "Consulta de aristas SQL como se describió anteriormente." +#: ../../build/doc/pgr_withPointsCost.rst:222 +msgid "`Edges query` as described above." +msgstr "`Consulta de bordes` como se describió anteriormente." -#: ../../build/doc/pgr_withPointsCost.rst:196 -msgid "**points_sql**" -msgstr "**points_sql**" +#: ../../build/doc/pgr_withPointsCost.rst:223 +msgid "**Points SQL**" +msgstr "**Puntos SQL**" -#: ../../build/doc/pgr_withPointsCost.rst:196 -msgid "Points SQL query as described above." -msgstr "Consulta SQL de puntos como se describe arriba." +#: ../../build/doc/pgr_withPointsCost.rst:223 +msgid "`Points query` as described above." +msgstr "`Consulta de puntos` como se ha descrito anteriormente." -#: ../../build/doc/pgr_withPointsCost.rst:197 -#: ../../build/doc/pgr_withPointsCost.rst:228 +#: ../../build/doc/pgr_withPointsCost.rst:224 +msgid "**Combinations SQL**" +msgstr "**Combinaciones SQL**" + +#: ../../build/doc/pgr_withPointsCost.rst:224 +msgid "`Combinations query` as described below." +msgstr "`Consulta de combinaciones` como se describe a continuación." + +#: ../../build/doc/pgr_withPointsCost.rst:225 +#: ../../build/doc/pgr_withPointsCost.rst:269 msgid "**start_vid**" msgstr "**start_vid**" @@ -376,62 +413,62 @@ msgstr "**start_vid**" #: ../../build/doc/pgRouting-concepts.rst:8 #: ../../build/doc/pgRouting-concepts.rst:10 #: ../../build/doc/pgRouting-concepts.rst:15 -#: ../../build/doc/pgr_withPointsCost.rst:197 -#: ../../build/doc/pgr_withPointsCost.rst:198 +#: ../../build/doc/pgr_withPointsCost.rst:225 +#: ../../build/doc/pgr_withPointsCost.rst:226 msgid "``ANY-INTEGER``" msgstr "``ANY-INTEGER``" -#: ../../build/doc/pgr_withPointsCost.rst:197 +#: ../../build/doc/pgr_withPointsCost.rst:225 msgid "Starting vertex identifier. When negative: is a point's pid." msgstr "" "Identificador de vértice inicial. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPointsCost.rst:198 -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgr_withPointsCost.rst:270 msgid "**end_vid**" msgstr "**end_vid**" -#: ../../build/doc/pgr_withPointsCost.rst:198 +#: ../../build/doc/pgr_withPointsCost.rst:226 msgid "Ending vertex identifier. When negative: is a point's pid." msgstr "" "Identificador de vértice final. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPointsCost.rst:199 +#: ../../build/doc/pgr_withPointsCost.rst:227 msgid "**start_vids**" msgstr "**start_vids**" -#: ../../build/doc/pgr_withPointsCost.rst:199 -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:227 +#: ../../build/doc/pgr_withPointsCost.rst:228 msgid "``ARRAY[ANY-INTEGER]``" msgstr "``ARRAY[ANY-INTEGER]``" -#: ../../build/doc/pgr_withPointsCost.rst:199 +#: ../../build/doc/pgr_withPointsCost.rst:227 msgid "" "Array of identifiers of starting vertices. When negative: is a point's pid." msgstr "" "Arreglo de identificadores de vértices iniciales. Cuando es negativo: es el " "pid de un punto." -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:228 msgid "**end_vids**" msgstr "**end_vids**" -#: ../../build/doc/pgr_withPointsCost.rst:200 +#: ../../build/doc/pgr_withPointsCost.rst:228 msgid "" "Array of identifiers of ending vertices. When negative: is a point's pid." msgstr "" "Arreglo de identificadores de vértices finales. Cuando es negativo: es el " "pid de un punto." -#: ../../build/doc/pgr_withPointsCost.rst:201 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "**directed**" msgstr "**dirigido**" -#: ../../build/doc/pgr_withPointsCost.rst:201 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "``BOOLEAN``" msgstr "``BOOLEAN``" -#: ../../build/doc/pgr_withPointsCost.rst:201 +#: ../../build/doc/pgr_withPointsCost.rst:229 msgid "" "(optional). When ``false`` the graph is considered as Undirected. Default is" " ``true`` which considers the graph as Directed." @@ -439,43 +476,47 @@ msgstr "" "(opcional). En caso de ``false`` el grafo se considera como No Dirigido. El " "valor predeterminado es ``true`` que considera el grafo como Dirigido." -#: ../../build/doc/pgr_withPointsCost.rst:202 +#: ../../build/doc/pgr_withPointsCost.rst:230 msgid "**driving_side**" msgstr "**driving_side**" #: ../../build/doc/pgRouting-concepts.rst:17 -#: ../../build/doc/pgr_withPointsCost.rst:202 +#: ../../build/doc/pgr_withPointsCost.rst:230 msgid "``CHAR``" msgstr "``CHAR``" -#: ../../build/doc/pgr_withPointsCost.rst:205 +#: ../../build/doc/pgr_withPointsCost.rst:233 msgid "" "(optional) Value in ['b', 'r', 'l', NULL] indicating if the driving side is:" msgstr "" "(opcional) Valor en ['b', 'r', 'l', NULL] que indica si el lado de " "conducción es:" -#: ../../build/doc/pgr_withPointsCost.rst:203 +#: ../../build/doc/pgr_withPointsCost.rst:231 msgid "In the right or left or" msgstr "A la derecha o a la izquierda o" #: ../../build/doc/pgRouting-concepts.rst:20 -#: ../../build/doc/pgr_withPointsCost.rst:204 +#: ../../build/doc/pgr_withPointsCost.rst:232 msgid "If it doesn't matter with 'b' or NULL." msgstr "Si no importa con 'b' o NULL." #: ../../build/doc/pgRouting-concepts.rst:21 -#: ../../build/doc/pgr_withPointsCost.rst:205 +#: ../../build/doc/pgr_withPointsCost.rst:233 msgid "If column not present 'b' is considered." msgstr "Si la columna no presente 'b' es considerada" -#: ../../build/doc/pgr_withPointsCost.rst:210 +#: ../../build/doc/pgr_withPointsCost.rst:238 msgid "Inner query" msgstr "Consulta interna" +#: ../../build/doc/pgr_withPointsCost.rst:243 +msgid "Edges query" +msgstr "Consulta de aristas" + #: ../../build/doc/pgRouting-concepts.rst:4 #: ../../build/doc/pgRouting-concepts.rst:8 -#: ../../build/doc/pgr_withPointsCost.rst:226 +#: ../../build/doc/pgr_withPointsCost.rst:267 msgid "Column" msgstr "Columna" @@ -491,25 +532,29 @@ msgstr "**id**" msgid "Identifier of the edge." msgstr "Identificador de la arista." +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "**source**" msgstr "**origen**" +#: ../../build/doc/pgRouting-concepts.rst:6 #: ../../build/doc/pgRouting-concepts.rst:7 msgid "Identifier of the first end point vertex of the edge." msgstr "Identificador del primer punto final en el vértice de la arista." +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "**target**" msgstr "**objetivo**" +#: ../../build/doc/pgRouting-concepts.rst:7 #: ../../build/doc/pgRouting-concepts.rst:8 msgid "Identifier of the second end point vertex of the edge." msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -549,6 +594,7 @@ msgstr "" "En caso negativo: la arista `(target, source)` no existe, por lo tanto no " "es parte del grafo." +#: ../../build/doc/pgRouting-concepts.rst:11 #: ../../build/doc/pgRouting-concepts.rst:19 #: ../../build/doc/pgRouting-concepts.rst:25 msgid "Where:" @@ -558,6 +604,7 @@ msgstr "Donde:" msgid "ANY-INTEGER" msgstr "ANY-INTEGER" +#: ../../build/doc/pgRouting-concepts.rst:13 #: ../../build/doc/pgRouting-concepts.rst:21 msgid "SMALLINT, INTEGER, BIGINT" msgstr "SMALLINT, INTEGER, BIGINT" @@ -570,6 +617,10 @@ msgstr "ANY-NUMERICAL" msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +#: ../../build/doc/pgr_withPointsCost.rst:250 +msgid "Points query" +msgstr "Consulta de puntos" + #: ../../build/doc/pgRouting-concepts.rst:4 msgid "Description of the Points SQL query" msgstr "Descripción de la consulta SSQL de Puntos" @@ -644,43 +695,47 @@ msgstr "smallint, int, bigint" msgid "smallint, int, bigint, real, float" msgstr "smallint, int, bigint, real, float" -#: ../../build/doc/pgr_withPointsCost.rst:223 +#: ../../build/doc/pgr_withPointsCost.rst:257 +msgid "Combinations query" +msgstr "Consulta de combinaciones" + +#: ../../build/doc/pgr_withPointsCost.rst:264 msgid "Result Columns" msgstr "Columnas de Resultados" -#: ../../build/doc/pgr_withPointsCost.rst:228 -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:269 +#: ../../build/doc/pgr_withPointsCost.rst:270 msgid "``BIGINT``" msgstr "``BIGINT``" -#: ../../build/doc/pgr_withPointsCost.rst:228 +#: ../../build/doc/pgr_withPointsCost.rst:269 msgid "Identifier of the starting vertex. When negative: is a point's pid." msgstr "" "Identificador del vértice inicial. Cuando es negativo: es el pid de un " "punto." -#: ../../build/doc/pgr_withPointsCost.rst:229 +#: ../../build/doc/pgr_withPointsCost.rst:270 msgid "Identifier of the ending point. When negative: is a point's pid." msgstr "" "Identificador del punto final. Cuando es negativo: es el pid de un punto." -#: ../../build/doc/pgr_withPointsCost.rst:230 +#: ../../build/doc/pgr_withPointsCost.rst:271 msgid "**agg_cost**" msgstr "**agg_cost**" -#: ../../build/doc/pgr_withPointsCost.rst:230 +#: ../../build/doc/pgr_withPointsCost.rst:271 msgid "``FLOAT``" msgstr "``FLOAT``" -#: ../../build/doc/pgr_withPointsCost.rst:230 +#: ../../build/doc/pgr_withPointsCost.rst:271 msgid "Aggregate cost from ``start_vid`` to ``end_vid``." msgstr "Coste agregado de ``start_vid`` a ``end_vid``." -#: ../../build/doc/pgr_withPointsCost.rst:234 +#: ../../build/doc/pgr_withPointsCost.rst:275 msgid "Additional Examples" msgstr "Ejemplos Adicionales" -#: ../../build/doc/pgr_withPointsCost.rst:236 +#: ../../build/doc/pgr_withPointsCost.rst:277 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`, with **right** side driving topology" @@ -688,7 +743,7 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` y al " "vértice :math:`7`, con topología de conducción de lado **derecho**" -#: ../../build/doc/pgr_withPointsCost.rst:242 +#: ../../build/doc/pgr_withPointsCost.rst:283 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`, with **left** side driving topology" @@ -696,7 +751,7 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` y al " "vértice :math:`7`, con topología de conducción de lado **izquierdo**." -#: ../../build/doc/pgr_withPointsCost.rst:248 +#: ../../build/doc/pgr_withPointsCost.rst:289 msgid "" "From point :math:`1` and vertex :math:`2` to point :math:`3` and vertex " ":math:`7`, does not matter driving side." @@ -704,26 +759,47 @@ msgstr "" "Desde el punto :math:`1` y el vértice :math:`2` al punto :math:`3` y al " "vértice :math:`7`, sin importar el lado de conducción." -#: ../../build/doc/pgr_withPointsCost.rst:254 +#: ../../build/doc/pgr_withPointsCost.rst:295 msgid "The queries use the :doc:`sampledata` network." msgstr "Las consultas utilizan la red :doc:`sampledata` ." -#: ../../build/doc/pgr_withPointsCost.rst:257 +#: ../../build/doc/pgr_withPointsCost.rst:298 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" -#: ../../build/doc/pgr_withPointsCost.rst:259 +#: ../../build/doc/pgr_withPointsCost.rst:300 msgid ":doc:`withPoints-family`" msgstr ":doc:`withPoints-family`" -#: ../../build/doc/pgr_withPointsCost.rst:262 +#: ../../build/doc/pgr_withPointsCost.rst:303 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_withPointsCost.rst:263 +#: ../../build/doc/pgr_withPointsCost.rst:304 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_withPointsCost.rst:264 +#: ../../build/doc/pgr_withPointsCost.rst:305 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "" +#~ "**Supported versions:** current(`3.1 " +#~ "`__) `3.0 " +#~ "`__" +#~ msgstr "" +#~ "**Versiones soportadas:** actual(`3.1 " +#~ "`__) `3.0 " +#~ "`__" + +#~ msgid "**edges_sql**" +#~ msgstr "**edges_sql**" + +#~ msgid "Edges SQL query as described above." +#~ msgstr "Consulta de aristas SQL como se describió anteriormente." + +#~ msgid "**points_sql**" +#~ msgstr "**points_sql**" + +#~ msgid "Points SQL query as described above." +#~ msgstr "Consulta SQL de puntos como se describe arriba." From 817b056c47bee3474dbf8d0d2a6526275f07f0ac Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Sat, 28 Nov 2020 20:36:44 +0000 Subject: [PATCH 1185/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgRouting-installation.po' on the 'es' language. --- .../es/LC_MESSAGES/pgRouting-installation.po | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgRouting-installation.po b/locale/es/LC_MESSAGES/pgRouting-installation.po index f812475b24b..f4a80b3bd7e 100644 --- a/locale/es/LC_MESSAGES/pgRouting-installation.po +++ b/locale/es/LC_MESSAGES/pgRouting-installation.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -12,14 +12,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"PO-Revision-Date: 2020-11-04 18:33+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -167,10 +167,10 @@ msgstr "Actualización de la base de datos" #: ../../build/doc/pgRouting-installation.rst:110 msgid "" -"To upgrade pgRouting in the database to version 3.1.0 use the following " +"To upgrade pgRouting in the database to version 3.2.0 use the following " "command:" msgstr "" -"Para actualizar pgRouting en la base de datos a la versión 3.1.0, utilice el" +"Para actualizar pgRouting en la base de datos a la versión 3.2.0, utilice el" " siguiente comando:" #: ../../build/doc/pgRouting-installation.rst:118 @@ -479,3 +479,10 @@ msgstr ":ref:`genindex`" #: ../../build/doc/pgRouting-installation.rst:318 msgid ":ref:`search`" msgstr ":ref:`search`" + +#~ msgid "" +#~ "To upgrade pgRouting in the database to version 3.1.0 use the following " +#~ "command:" +#~ msgstr "" +#~ "Para actualizar pgRouting en la base de datos a la versión 3.1.0, utilice el" +#~ " siguiente comando:" From 77cf0d1988a5671dd94453f0b6a7020727346572 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 24 Nov 2020 20:26:11 +0000 Subject: [PATCH 1186/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/pgRouting-introduction.po' on the 'es' language. --- .../es/LC_MESSAGES/pgRouting-introduction.po | 114 +++++++++++------- 1 file changed, 73 insertions(+), 41 deletions(-) diff --git a/locale/es/LC_MESSAGES/pgRouting-introduction.po b/locale/es/LC_MESSAGES/pgRouting-introduction.po index 92ca5335d64..ef566f89e85 100644 --- a/locale/es/LC_MESSAGES/pgRouting-introduction.po +++ b/locale/es/LC_MESSAGES/pgRouting-introduction.po @@ -2,24 +2,24 @@ # Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. -# +# # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"PO-Revision-Date: 2020-11-04 18:33+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -40,9 +40,9 @@ msgid "" "user community." msgstr "" "pgRouting es una extensión de `PostGIS `_ y de la base " -"de datos geoespacial de `PostgreSQL `_ , agrega ruteo" -" y otras funcionalidades de análisis de red. Un ancestro de pgRouting – " -"pgDijkstra, escrito por Sylvain Pasche desde `Camptocamp " +"de datos geoespacial de `PostgreSQL `_ , agrega " +"ruteo y otras funcionalidades de análisis de red. Un ancestro de pgRouting –" +" pgDijkstra, escrito por Sylvain Pasche desde `Camptocamp " "`_ más tarde fue ampliado por `Orkney " "`_ y renombrado como pgRouting. Ahora el proyecto " "es soportado y mantenido por `Georepublic `_, " @@ -139,19 +139,19 @@ msgid "This Release Contributors" msgstr "Colaboradores de esta Versión" #: ../../build/doc/pgRouting-introduction.rst:56 -#: ../../build/doc/pgRouting-introduction.rst:87 +#: ../../build/doc/pgRouting-introduction.rst:85 msgid "Individuals (in alphabetical order)" msgstr "Personas (en orden alfabético)" #: ../../build/doc/pgRouting-introduction.rst:58 msgid "" -"Cayetano Benavent, Daniel Kastl, Esteban Zimanyi, Imre Samu, Martha Vergara," -" Mohamed Bakli, Mahmoud Sakr, Regina Obe, Virginia Vergara" +"Ashish Kumar, Cayetano Benavent, Daniel Kastl, Himanshu Raj, Martha Vergara," +" Regina Obe, Virginia Vergara" msgstr "" -"Cayetano Benavent, Daniel Kastl, Esteban Zimanyi, Imre Samu, Martha Vergara," -" Mohamed Bakli, Mahmoud Sakr, Regina Obe, Virginia Vergara" +"Ashish Kumar, Cayetano Benavent, Daniel Kastl, Himanshu Raj, Martha Vergara," +" Regina Obe, Virginia Vergara" -#: ../../build/doc/pgRouting-introduction.rst:69 +#: ../../build/doc/pgRouting-introduction.rst:67 msgid "" "And all the people that give us a little of their time making comments, " "finding issues, making pull requests etc. in any of our products: " @@ -161,12 +161,12 @@ msgstr "" "encontrando problemas, haciendo solicitudes de extracción, etc. en " "cualquiera de nuestros productos: osm2pgrouting, pgRouting, pgRoutingLayer." -#: ../../build/doc/pgRouting-introduction.rst:74 +#: ../../build/doc/pgRouting-introduction.rst:72 #: ../../build/doc/pgRouting-introduction.rst:108 msgid "Corporate Sponsors (in alphabetical order)" msgstr "Patrocinadores corporativos (en orden alfabético)" -#: ../../build/doc/pgRouting-introduction.rst:76 +#: ../../build/doc/pgRouting-introduction.rst:74 #: ../../build/doc/pgRouting-introduction.rst:110 msgid "" "These are corporate entities that have contributed developer time, hosting, " @@ -176,49 +176,51 @@ msgstr "" "desarrollo, alojamiento, o financiamiento monetario directo al proyecto de " "pgRouting:" -#: ../../build/doc/pgRouting-introduction.rst:78 +#: ../../build/doc/pgRouting-introduction.rst:76 msgid "`Georepublic `__" msgstr "`Georepublic `__" -#: ../../build/doc/pgRouting-introduction.rst:79 +#: ../../build/doc/pgRouting-introduction.rst:77 msgid "`Google Summer of Code `__" msgstr "`Google Summer of Code `__" -#: ../../build/doc/pgRouting-introduction.rst:80 +#: ../../build/doc/pgRouting-introduction.rst:78 msgid "`Leopark `__" msgstr "`Leopark `__" -#: ../../build/doc/pgRouting-introduction.rst:81 +#: ../../build/doc/pgRouting-introduction.rst:79 msgid "`Paragon Corporation `__" msgstr "`Paragon Corporation `__" -#: ../../build/doc/pgRouting-introduction.rst:84 +#: ../../build/doc/pgRouting-introduction.rst:82 msgid "Contributors Past & Present:" msgstr "Colaboradores, Pasado y Presente:" -#: ../../build/doc/pgRouting-introduction.rst:89 +#: ../../build/doc/pgRouting-introduction.rst:87 msgid "" "Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Akio Takubo, Andrea " -"Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Cayetano Benavent," -" Christian Gonzalez, Daniel Kastl, Dave Potts, David Techer, Denis Rykov, " -"Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, Frederic Junod, Gerald " -"Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Imre Samu, Jay Mahadeokar, Jinfu " -"Leng, Kai Behncke, Kishore Kumar, Ko Nagase, Mahmoud Sakr, Manikata Kondeti," -" Mario Basa, Martin Wiesenhaan, Maxim Dubinin, Maoguang Wang, Mohamed " -"Bakli, Mohamed Zia, Mukul Priya, Razequl Islam, Regina Obe, Rohith Reddy, " -"Sarthak Agarwal, Sourabh Garg, Stephen Woodbridge, Sylvain Housseman, " -"Sylvain Pasche, Vidhan Jain, Virginia Vergara" +"Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Ashish Kumar, " +"Cayetano Benavent, Christian Gonzalez, Daniel Kastl, Dave Potts, David " +"Techer, Denis Rykov, Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, " +"Frederic Junod, Gerald Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Himanshu " +"Raj, Imre Samu, Jay Mahadeokar, Jinfu Leng, Kai Behncke, Kishore Kumar, Ko " +"Nagase, Mahmoud Sakr, Manikata Kondeti, Mario Basa, Martin Wiesenhaan, " +"Maxim Dubinin, Maoguang Wang, Mohamed Bakli, Mohamed Zia, Mukul Priya, " +"Razequl Islam, Regina Obe, Rohith Reddy, Sarthak Agarwal, Sourabh Garg, " +"Stephen Woodbridge, Sylvain Housseman, Sylvain Pasche, Vidhan Jain, Virginia" +" Vergara" msgstr "" "Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Akio Takubo, Andrea " -"Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Cayetano Benavent," -" Christian Gonzalez, Daniel Kastl, Dave Potts, David Techer, Denis Rykov, " -"Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, Frederic Junod, Gerald " -"Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Imre Samu, Jay Mahadeokar, Jinfu " -"Leng, Kai Behncke, Kishore Kumar, Ko Nagase, Mahmoud Sakr, Manikata Kondeti," -" Mario Basa, Martin Wiesenhaan, Maxim Dubinin, Maoguang Wang, Mohamed " -"Bakli, Mohamed Zia, Mukul Priya, Razequl Islam, Regina Obe, Rohith Reddy, " -"Sarthak Agarwal, Sourabh Garg, Stephen Woodbridge, Sylvain Housseman, " -"Sylvain Pasche, Vidhan Jain, Virginia Vergara" +"Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Ashish Kumar, " +"Cayetano Benavent, Christian Gonzalez, Daniel Kastl, Dave Potts, David " +"Techer, Denis Rykov, Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, " +"Frederic Junod, Gerald Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Himanshu " +"Raj, Imre Samu, Jay Mahadeokar, Jinfu Leng, Kai Behncke, Kishore Kumar, Ko " +"Nagase, Mahmoud Sakr, Manikata Kondeti, Mario Basa, Martin Wiesenhaan, " +"Maxim Dubinin, Maoguang Wang, Mohamed Bakli, Mohamed Zia, Mukul Priya, " +"Razequl Islam, Regina Obe, Rohith Reddy, Sarthak Agarwal, Sourabh Garg, " +"Stephen Woodbridge, Sylvain Housseman, Sylvain Pasche, Vidhan Jain, Virginia" +" Vergara" #: ../../build/doc/pgRouting-introduction.rst:112 msgid "Camptocamp" @@ -292,3 +294,33 @@ msgid "" msgstr "" "La guía de Migración se puede encontrar en " "https://github.com/pgRouting/pgrouting/wiki/Migration-Guide." + +#~ msgid "" +#~ "Cayetano Benavent, Daniel Kastl, Esteban Zimanyi, Imre Samu, Martha Vergara," +#~ " Mohamed Bakli, Mahmoud Sakr, Regina Obe, Virginia Vergara" +#~ msgstr "" +#~ "Cayetano Benavent, Daniel Kastl, Esteban Zimanyi, Imre Samu, Martha Vergara," +#~ " Mohamed Bakli, Mahmoud Sakr, Regina Obe, Virginia Vergara" + +#~ msgid "" +#~ "Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Akio Takubo, Andrea " +#~ "Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Cayetano Benavent," +#~ " Christian Gonzalez, Daniel Kastl, Dave Potts, David Techer, Denis Rykov, " +#~ "Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, Frederic Junod, Gerald " +#~ "Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Imre Samu, Jay Mahadeokar, Jinfu " +#~ "Leng, Kai Behncke, Kishore Kumar, Ko Nagase, Mahmoud Sakr, Manikata Kondeti," +#~ " Mario Basa, Martin Wiesenhaan, Maxim Dubinin, Maoguang Wang, Mohamed " +#~ "Bakli, Mohamed Zia, Mukul Priya, Razequl Islam, Regina Obe, Rohith Reddy, " +#~ "Sarthak Agarwal, Sourabh Garg, Stephen Woodbridge, Sylvain Housseman, " +#~ "Sylvain Pasche, Vidhan Jain, Virginia Vergara" +#~ msgstr "" +#~ "Aasheesh Tiwari, Aditya Pratap Singh, Adrien Berchet, Akio Takubo, Andrea " +#~ "Nardelli, Anthony Tasca, Anton Patrushev, Ashraf Hossain, Cayetano Benavent," +#~ " Christian Gonzalez, Daniel Kastl, Dave Potts, David Techer, Denis Rykov, " +#~ "Ema Miyawaki, Esteban Zimanyi, Florian Thurkow, Frederic Junod, Gerald " +#~ "Fenoy, Gudesa Venkata Sai Akhil, Hang Wu, Imre Samu, Jay Mahadeokar, Jinfu " +#~ "Leng, Kai Behncke, Kishore Kumar, Ko Nagase, Mahmoud Sakr, Manikata Kondeti," +#~ " Mario Basa, Martin Wiesenhaan, Maxim Dubinin, Maoguang Wang, Mohamed " +#~ "Bakli, Mohamed Zia, Mukul Priya, Razequl Islam, Regina Obe, Rohith Reddy, " +#~ "Sarthak Agarwal, Sourabh Garg, Stephen Woodbridge, Sylvain Housseman, " +#~ "Sylvain Pasche, Vidhan Jain, Virginia Vergara" From 104a43073ce45ca89eece103e26e524f0abc3a54 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Dec 2020 15:58:17 +0000 Subject: [PATCH 1187/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/release_notes.po' on the 'es' language. --- locale/es/LC_MESSAGES/release_notes.po | 1318 +++++++++++++++--------- 1 file changed, 817 insertions(+), 501 deletions(-) diff --git a/locale/es/LC_MESSAGES/release_notes.po b/locale/es/LC_MESSAGES/release_notes.po index 08a91bba785..19c285b7518 100644 --- a/locale/es/LC_MESSAGES/release_notes.po +++ b/locale/es/LC_MESSAGES/release_notes.po @@ -1,5 +1,5 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.1.0 +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev # This file is distributed under the same license as the pgRouting package. # FIRST AUTHOR , 2020. # @@ -11,16 +11,16 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.1.0\n" +"Project-Id-Version: pgRouting v3.2.0-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-12-15 07:54-0600\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -41,150 +41,467 @@ msgid "Table of contents" msgstr "Tabla de contenidos" #: ../../build/doc/release_notes.rst:21 +msgid ":ref:`changelog_3_2_0`" +msgstr ":ref:`changelog_3_2_0`" + +#: ../../build/doc/release_notes.rst:22 +msgid ":ref:`changelog_3_1_2`" +msgstr ":ref:`changelog_3_1_2`" + +#: ../../build/doc/release_notes.rst:23 +msgid ":ref:`changelog_3_1_1`" +msgstr ":ref:`changelog_3_1_1`" + +#: ../../build/doc/release_notes.rst:24 msgid ":ref:`changelog_3_1_0`" msgstr ":ref:`changelog_3_1_0`" -#: ../../build/doc/release_notes.rst:22 +#: ../../build/doc/release_notes.rst:25 +msgid ":ref:`changelog_3_0_4`" +msgstr ":ref:`changelog_3_0_4`" + +#: ../../build/doc/release_notes.rst:26 +msgid ":ref:`changelog_3_0_3`" +msgstr ":ref:`changelog_3_0_3`" + +#: ../../build/doc/release_notes.rst:27 msgid ":ref:`changelog_3_0_2`" msgstr ":ref:`changelog_3_0_2`" -#: ../../build/doc/release_notes.rst:23 +#: ../../build/doc/release_notes.rst:28 msgid ":ref:`changelog_3_0_1`" msgstr ":ref:`changelog_3_0_1`" -#: ../../build/doc/release_notes.rst:24 +#: ../../build/doc/release_notes.rst:29 msgid ":ref:`changelog_3_0_0`" msgstr ":ref:`changelog_3_0_0`" -#: ../../build/doc/release_notes.rst:25 +#: ../../build/doc/release_notes.rst:30 msgid ":ref:`changelog_2_6_3`" msgstr ":ref:`changelog_2_6_3`" -#: ../../build/doc/release_notes.rst:26 +#: ../../build/doc/release_notes.rst:31 msgid ":ref:`changelog_2_6_2`" msgstr ":ref:`changelog_2_6_2`" -#: ../../build/doc/release_notes.rst:27 +#: ../../build/doc/release_notes.rst:32 msgid ":ref:`changelog_2_6_1`" msgstr ":ref:`changelog_2_6_1`" -#: ../../build/doc/release_notes.rst:28 +#: ../../build/doc/release_notes.rst:33 msgid ":ref:`changelog_2_6_0`" msgstr ":ref:`changelog_2_6_0`" -#: ../../build/doc/release_notes.rst:29 +#: ../../build/doc/release_notes.rst:34 msgid ":ref:`changelog_2_5_5`" msgstr ":ref:`changelog_2_5_5`" -#: ../../build/doc/release_notes.rst:30 +#: ../../build/doc/release_notes.rst:35 msgid ":ref:`changelog_2_5_4`" msgstr ":ref:`changelog_2_5_4`" -#: ../../build/doc/release_notes.rst:31 +#: ../../build/doc/release_notes.rst:36 msgid ":ref:`changelog_2_5_3`" msgstr ":ref:`changelog_2_5_3`" -#: ../../build/doc/release_notes.rst:32 +#: ../../build/doc/release_notes.rst:37 msgid ":ref:`changelog_2_5_2`" msgstr ":ref:`changelog_2_5_2`" -#: ../../build/doc/release_notes.rst:33 +#: ../../build/doc/release_notes.rst:38 msgid ":ref:`changelog_2_5_1`" msgstr ":ref:`changelog_2_5_1`" -#: ../../build/doc/release_notes.rst:34 +#: ../../build/doc/release_notes.rst:39 msgid ":ref:`changelog_2_5_0`" msgstr ":ref:`changelog_2_5_0`" -#: ../../build/doc/release_notes.rst:35 +#: ../../build/doc/release_notes.rst:40 msgid ":ref:`changelog_2_4_2`" msgstr ":ref:`changelog_2_4_2`" -#: ../../build/doc/release_notes.rst:36 +#: ../../build/doc/release_notes.rst:41 msgid ":ref:`changelog_2_4_1`" msgstr ":ref:`changelog_2_4_1`" -#: ../../build/doc/release_notes.rst:37 +#: ../../build/doc/release_notes.rst:42 msgid ":ref:`changelog_2_4_0`" msgstr ":ref:`changelog_2_4_0`" -#: ../../build/doc/release_notes.rst:38 +#: ../../build/doc/release_notes.rst:43 msgid ":ref:`changelog_2_3_2`" msgstr ":ref:`changelog_2_3_2`" -#: ../../build/doc/release_notes.rst:39 +#: ../../build/doc/release_notes.rst:44 msgid ":ref:`changelog_2_3_1`" msgstr ":ref:`changelog_2_3_1`" -#: ../../build/doc/release_notes.rst:40 +#: ../../build/doc/release_notes.rst:45 msgid ":ref:`changelog_2_3_0`" msgstr ":ref:`changelog_2_3_0`" -#: ../../build/doc/release_notes.rst:41 +#: ../../build/doc/release_notes.rst:46 msgid ":ref:`changelog_2_2_4`" msgstr ":ref:`changelog_2_2_4`" -#: ../../build/doc/release_notes.rst:42 +#: ../../build/doc/release_notes.rst:47 msgid ":ref:`changelog_2_2_3`" msgstr ":ref:`changelog_2_2_3`" -#: ../../build/doc/release_notes.rst:43 +#: ../../build/doc/release_notes.rst:48 msgid ":ref:`changelog_2_2_2`" msgstr ":ref:`changelog_2_2_2`" -#: ../../build/doc/release_notes.rst:44 +#: ../../build/doc/release_notes.rst:49 msgid ":ref:`changelog_2_2_1`" msgstr ":ref:`changelog_2_2_1`" -#: ../../build/doc/release_notes.rst:45 +#: ../../build/doc/release_notes.rst:50 msgid ":ref:`changelog_2_2_0`" msgstr ":ref:`changelog_2_2_0`" -#: ../../build/doc/release_notes.rst:46 +#: ../../build/doc/release_notes.rst:51 msgid ":ref:`changelog_2_1_0`" msgstr ":ref:`changelog_2_1_0`" -#: ../../build/doc/release_notes.rst:47 +#: ../../build/doc/release_notes.rst:52 msgid ":ref:`changelog_2_0_1`" msgstr ":ref:`changelog_2_0_1`" -#: ../../build/doc/release_notes.rst:48 +#: ../../build/doc/release_notes.rst:53 msgid ":ref:`changelog_2_0_0`" msgstr ":ref:`changelog_2_0_0`" -#: ../../build/doc/release_notes.rst:49 +#: ../../build/doc/release_notes.rst:54 msgid ":ref:`changelog_1_x`" msgstr ":ref:`changelog_1_x`" -#: ../../build/doc/release_notes.rst:56 -msgid "pgRouting 3.1.0 Release Notes" -msgstr "Notas de la Versión pgRouting 3.1.0" +#: ../../build/doc/release_notes.rst:62 +msgid "pgRouting 3.2.0 Release Notes" +msgstr "Notas del Lanzamiento de pgRouting 3.2.0 " + +#: ../../build/doc/release_notes.rst:65 +msgid "New experimental functions" +msgstr "Nuevas funciones experimentales" + +#: ../../build/doc/release_notes.rst:66 +msgid "pgr_bellmanFord(Combinations)" +msgstr "pgr_bellmanFord(Combinaciones)" + +#: ../../build/doc/release_notes.rst:67 +msgid "pgr_binaryBreadthFirstSearch(Combinations)" +msgstr "pgr_binaryBreadthFirstSearch(Combinaciones)" + +#: ../../build/doc/release_notes.rst:68 +msgid "pgr_bipartite" +msgstr "pgr_bipartite" + +#: ../../build/doc/release_notes.rst:69 +msgid "pgr_dagShortestPath(Combinations)" +msgstr "pgr_dagShortestPath(Combinaciones)" + +#: ../../build/doc/release_notes.rst:70 +msgid "pgr_depthFirstSearch" +msgstr "pgr_depthFirstSearch" + +#: ../../build/doc/release_notes.rst:71 +msgid "pgr_dijkstraNear(One to Many)" +msgstr "pgr_dijkstraNear(Uno a Muchos)" + +#: ../../build/doc/release_notes.rst:72 +msgid "pgr_dijkstraNear(Many to One)" +msgstr "pgr_dijkstraNear(Muchos a Uno)" + +#: ../../build/doc/release_notes.rst:73 +msgid "pgr_dijkstraNear(Many to Many)" +msgstr "pgr_dijkstraNear(Muchos a Muchos)" + +#: ../../build/doc/release_notes.rst:74 +msgid "pgr_dijkstraNear(Combinations)" +msgstr "pgr_dijkstraNear(Combinaciones)" + +#: ../../build/doc/release_notes.rst:75 +msgid "pgr_dijkstraNearCost(One to Many)" +msgstr "pgr_dijkstraNearCost(Uno a Muchos)" + +#: ../../build/doc/release_notes.rst:76 +msgid "pgr_dijkstraNearCost(Many to One)" +msgstr "pgr_dijkstraNearCost(Muchos a Uno)" + +#: ../../build/doc/release_notes.rst:77 +msgid "pgr_dijkstraNearCost(Many to Many)" +msgstr "pgr_dijkstraNearCost(Muchos a Muchos)" + +#: ../../build/doc/release_notes.rst:78 +msgid "pgr_dijkstraNearCost(Combinations)" +msgstr "pgr_dijkstraNearCost(Combinaciones)" + +#: ../../build/doc/release_notes.rst:79 +msgid "pgr_edwardMoore(Combinations)" +msgstr "pgr_edwardMoore(Combinaciones)" + +#: ../../build/doc/release_notes.rst:80 +msgid "pgr_isPlanar" +msgstr "pgr_isPlanar" + +#: ../../build/doc/release_notes.rst:81 +msgid "pgr_lengauerTarjanDominatorTree" +msgstr "pgr_lengauerTarjanDominatorTree" + +#: ../../build/doc/release_notes.rst:82 +msgid "pgr_makeConnected" +msgstr "pgr_makeConnected" + +#: ../../build/doc/release_notes.rst:83 +msgid "pgr_maxFlowMinCost(Combinations)" +msgstr "pgr_maxFlowMinCost(Combinaciones)" + +#: ../../build/doc/release_notes.rst:84 +msgid "pgr_maxFlowMinCost_Cost(Combinations)" +msgstr "pgr_maxFlowMinCost_Cost(Combinaciones)" -#: ../../build/doc/release_notes.rst:59 +#: ../../build/doc/release_notes.rst:85 +msgid "pgr_sequentialVertexColoring" +msgstr "pgr_sequentialVertexColoring" + +#: ../../build/doc/release_notes.rst:88 ../../build/doc/release_notes.rst:145 msgid "New proposed functions" msgstr "Nuevas funciones propuestas" -#: ../../build/doc/release_notes.rst:60 +#: ../../build/doc/release_notes.rst:89 +msgid "pgr_aStar(Combinations)" +msgstr "pgr_aStar(Combinaciones)" + +#: ../../build/doc/release_notes.rst:90 +msgid "pgr_aStarCost(Combinations)" +msgstr "pgr_aStarCost(Combinaciones)" + +#: ../../build/doc/release_notes.rst:91 +msgid "pgr_bdAstar(Combinations)" +msgstr "pgr_bdAstar(Combinaciones)" + +#: ../../build/doc/release_notes.rst:92 +msgid "pgr_bdAstarCost(Combinations)" +msgstr "pgr_bdAstarCost(Combinaciones)" + +#: ../../build/doc/release_notes.rst:93 +msgid "pgr_bdDijkstra(Combinations)" +msgstr "pgr_bdDijkstra(Combinaciones)" + +#: ../../build/doc/release_notes.rst:94 +msgid "pgr_bdDijkstraCost(Combinations)" +msgstr "pgr_bdDijkstraCost(Combinaciones)" + +#: ../../build/doc/release_notes.rst:95 +msgid "pgr_boykovKolmogorov(Combinations)" +msgstr "pgr_boykovKolmogorov(Combinaciones)" + +#: ../../build/doc/release_notes.rst:96 +msgid "pgr_edgeDisjointPaths(Combinations)" +msgstr "pgr_edgeDisjointPaths(Combinaciones)" + +#: ../../build/doc/release_notes.rst:97 +msgid "pgr_edmondsKarp(Combinations)" +msgstr "pgr_edmondsKarp(Combinaciones)" + +#: ../../build/doc/release_notes.rst:98 +msgid "pgr_maxFlow(Combinations)" +msgstr "pgr_maxFlow(Combinaciones)" + +#: ../../build/doc/release_notes.rst:99 +msgid "pgr_pushRelabel(Combinations)" +msgstr "pgr_pushRelabel(Combinaciones)" + +#: ../../build/doc/release_notes.rst:100 +msgid "pgr_withPoints(Combinations)" +msgstr "pgr_withPoints(Combinaciones)" + +#: ../../build/doc/release_notes.rst:101 +msgid "pgr_withPointsCost(Combinations)" +msgstr "pgr_withPointsCost(Combinaciones)" + +#: ../../build/doc/release_notes.rst:106 +msgid "pgRouting 3.1.2 Release Notes" +msgstr "Notas de la Versión pgRouting 3.1.2" + +#: ../../build/doc/release_notes.rst:108 +#, python-format +msgid "" +"To see all issues & pull requests closed by this release see the `Git closed" +" milestone for 3.1.2 " +"`_" +" on Github." +msgstr "" +"Para ver todos los problemas y solicitudes de extracción cerradas por esta " +"versión, consulte el `hito cerrado de Git para 3.1.2 " +"`_" +" en Github." + +#: ../../build/doc/release_notes.rst:112 ../../build/doc/release_notes.rst:128 +#: ../../build/doc/release_notes.rst:193 ../../build/doc/release_notes.rst:205 +msgid "Issues fixes" +msgstr "Corrección de problemas" + +#: ../../build/doc/release_notes.rst:113 ../../build/doc/release_notes.rst:163 +msgid "" +"`#1304 `__: FreeBSD 12 " +"64-bit crashes on pgr_vrOneDepot tests Experimental Function" +msgstr "" +"`#1304 `__: FreeBSD 12 " +"de 64 bits falla en pgr_vrOneDepot prueba la función experimental" + +#: ../../build/doc/release_notes.rst:114 ../../build/doc/release_notes.rst:164 +msgid "" +"`#1356 `__: " +"tools/testers/pg_prove_tests.sh fails when PostgreSQL port is not passed" +msgstr "" +"`#1356 `__: " +"tools/testers/pg_prove_tests.sh falla cuando no pasa el puerto PostgreSQL" + +#: ../../build/doc/release_notes.rst:115 ../../build/doc/release_notes.rst:165 +msgid "" +"`#1725 `__: Server crash" +" on pgr_pickDeliver and pgr_vrpOneDepot on openbsd" +msgstr "" +"`#1725 `__: El servidor " +"falla en pgr_pickDeliver y pgr_vrpOneDepot en openbsd" + +#: ../../build/doc/release_notes.rst:116 ../../build/doc/release_notes.rst:166 +msgid "" +"`#1760 `__: TSP server " +"crash on ubuntu 20.04 #1760" +msgstr "" +"`#1760 `__: el servidor " +"TSP cae en ubuntu 20.04 #1760" + +#: ../../build/doc/release_notes.rst:117 ../../build/doc/release_notes.rst:167 +msgid "" +"`#1770 `__: Remove " +"warnings when using clang compiler" +msgstr "" +"`#1770 `__: Eliminar " +"advertencias cuando se utiliza el compilador clang" + +#: ../../build/doc/release_notes.rst:122 +msgid "pgRouting 3.1.1 Release Notes" +msgstr "pgRouting 3.1.1 Notas de la Versión" + +#: ../../build/doc/release_notes.rst:124 +#, python-format +msgid "" +"To see all issues & pull requests closed by this release see the `Git closed" +" milestone for 3.1.1 " +"`_" +" on Github." +msgstr "" +" Para ver los problemas cerrados por esta vers 3.1.1 " +"`_" +" on Github." + +#: ../../build/doc/release_notes.rst:129 ../../build/doc/release_notes.rst:177 +msgid "" +"`#1733 `__: pgr_bdAstar " +"fails when source or target vertex does not exist in the graph" +msgstr "" +"`#1733 `__: pgr_bdAstar " +"falla cuando el vértice de origen o de destino no existe en el gráfico" + +#: ../../build/doc/release_notes.rst:130 ../../build/doc/release_notes.rst:178 +msgid "" +"`#1647 `__: Linear " +"Contraction contracts self loops" +msgstr "" +"`#1647 `__: La " +"Contracción Lineal contrae bucles propios" + +#: ../../build/doc/release_notes.rst:131 ../../build/doc/release_notes.rst:179 +msgid "" +"`#1640 `__: " +"pgr_withPoints fails when points_sql is empty" +msgstr "" +"`#1640 `__: " +"pgr_withPoints falla cuando points_sql está vacía" + +#: ../../build/doc/release_notes.rst:132 ../../build/doc/release_notes.rst:180 +msgid "" +"`#1616 `__: Path " +"evaluation on C++ not updated before the results go back to C" +msgstr "" +"`#1616 `__: La " +"evaluación de la ruta en C ++ no se actualiza antes de que los resultados " +"vuelvan a C" + +#: ../../build/doc/release_notes.rst:133 ../../build/doc/release_notes.rst:181 +msgid "" +"`#1300 `__: " +"pgr_chinesePostman crash on test data" +msgstr "" +"`#1300 `__: " +"pgr_chinesePostman falla en los datos de prueba" + +#: ../../build/doc/release_notes.rst:139 +msgid "pgRouting 3.1.0 Release Notes" +msgstr "Notas de la Versión pgRouting 3.1.0" + +#: ../../build/doc/release_notes.rst:141 +#, python-format +msgid "" +"To see all issues & pull requests closed by this release see the `Git closed" +" milestone for 3.1.0 " +"`_" +" on Github." +msgstr "" +"Para ver los problemas cerrados por esta versión, consulte el `hito cerrado " +"de Git para 3.1.0 " +"`_" +" en Github." + +#: ../../build/doc/release_notes.rst:146 msgid "pgr_dijkstra(combinations)" msgstr "pgr_dijkstra(combinaciones)" -#: ../../build/doc/release_notes.rst:61 +#: ../../build/doc/release_notes.rst:147 msgid "pgr_dijkstraCost(combinations)" msgstr "pgr_dijkstraCost(combinaciones)" -#: ../../build/doc/release_notes.rst:64 +#: ../../build/doc/release_notes.rst:150 msgid "Build changes" msgstr "Crear cambios" -#: ../../build/doc/release_notes.rst:65 +#: ../../build/doc/release_notes.rst:151 msgid "Minimal requirement for Sphinx: version 1.8" msgstr "Requerimientos mínimos para Sphinx: versión 1.8" -#: ../../build/doc/release_notes.rst:70 +#: ../../build/doc/release_notes.rst:156 +msgid "pgRouting 3.0.4 Release Notes" +msgstr "Notas de la Versión pgRouting 3.0.4" + +#: ../../build/doc/release_notes.rst:158 +#, python-format +msgid "" +"To see all issues & pull requests closed by this release see the `Git closed" +" milestone for 3.0.4 " +"`_" +" on Github." +msgstr "" +"Para ver todos los problemas y solicitudes de extracción cerradas por esta " +"versión, consulte el `hito de cierre de Git para 3.0.4 " +"`_" +" en Github." + +#: ../../build/doc/release_notes.rst:162 ../../build/doc/release_notes.rst:176 +msgid "Backport issues fixes" +msgstr "Corrección de problemas de Backport" + +#: ../../build/doc/release_notes.rst:173 +msgid "pgRouting 3.0.3 Release Notes" +msgstr "Notas de la versión de pgRouting 3.0.3" + +#: ../../build/doc/release_notes.rst:187 msgid "pgRouting 3.0.2 Release Notes" msgstr "Notas de la Versión pgRouting 3.0.2" -#: ../../build/doc/release_notes.rst:72 +#: ../../build/doc/release_notes.rst:189 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git closed" @@ -197,11 +514,7 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:76 ../../build/doc/release_notes.rst:88 -msgid "Issues fixes" -msgstr "Corrección de problemas" - -#: ../../build/doc/release_notes.rst:77 +#: ../../build/doc/release_notes.rst:194 msgid "" "`#1378 `__: Visual " "Studio build failing" @@ -209,11 +522,11 @@ msgstr "" "`#1378 `__: Error de " "compilación de Visual Studio" -#: ../../build/doc/release_notes.rst:82 +#: ../../build/doc/release_notes.rst:199 msgid "pgRouting 3.0.1 Release Notes" msgstr "Notas de la versión 3.0.1 de pgRouting" -#: ../../build/doc/release_notes.rst:84 +#: ../../build/doc/release_notes.rst:201 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git closed" @@ -226,7 +539,7 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:89 +#: ../../build/doc/release_notes.rst:206 msgid "" "`#232 `__: Honor client " "cancel requests in C /C++ code" @@ -234,11 +547,11 @@ msgstr "" "`#232 `__: Cliente " "honorable cliente cancela las solicitudes de código C /C++" -#: ../../build/doc/release_notes.rst:94 +#: ../../build/doc/release_notes.rst:211 msgid "pgRouting 3.0.0 Release Notes" msgstr "Notas de la versión de pgRouting 3.0.0" -#: ../../build/doc/release_notes.rst:96 +#: ../../build/doc/release_notes.rst:213 #, python-format msgid "" "To see all issues & pull requests closed by this release see the `Git closed" @@ -251,11 +564,11 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:100 +#: ../../build/doc/release_notes.rst:217 msgid "Fixed Issues" msgstr "Problemas solucionados" -#: ../../build/doc/release_notes.rst:101 +#: ../../build/doc/release_notes.rst:218 msgid "" "`#1153 `__: Renamed " "pgr_eucledianTSP to pgr_TSPeuclidean" @@ -263,7 +576,7 @@ msgstr "" "`#1153 `__: Renombrado " "de pgr_eucledianTSP a pgr_TSPeuclidean" -#: ../../build/doc/release_notes.rst:102 +#: ../../build/doc/release_notes.rst:219 msgid "" "`#1188 `__: Removed CGAL" " dependency" @@ -271,7 +584,7 @@ msgstr "" "`#1188 `__: Se suprimió " "la dependencia CGAL " -#: ../../build/doc/release_notes.rst:103 +#: ../../build/doc/release_notes.rst:220 msgid "" "`#1002 `__: Fixed " "contraction issues:" @@ -279,7 +592,7 @@ msgstr "" "`#1002 `__: Problemas de" " contracción solucionados:" -#: ../../build/doc/release_notes.rst:105 +#: ../../build/doc/release_notes.rst:222 msgid "" "`#1004 `__: Contracts " "when forbidden vertices do not belong to graph" @@ -287,7 +600,7 @@ msgstr "" "`#1004 `__: Se contrae " "cuando los vértices prohibidos no pertenecen al grafo" -#: ../../build/doc/release_notes.rst:106 +#: ../../build/doc/release_notes.rst:223 msgid "" "`#1005 `__: Intermideate" " results eliminated" @@ -295,7 +608,7 @@ msgstr "" "`#1005 `__: Resultados " "intermedios eliminados" -#: ../../build/doc/release_notes.rst:107 +#: ../../build/doc/release_notes.rst:224 msgid "" "`#1006 `__: No loss of " "information" @@ -303,456 +616,456 @@ msgstr "" "`#1006 `__: No hay " "pérdida de información2" -#: ../../build/doc/release_notes.rst:110 +#: ../../build/doc/release_notes.rst:227 msgid "New functions" msgstr "Nuevas funciones" -#: ../../build/doc/release_notes.rst:111 +#: ../../build/doc/release_notes.rst:228 msgid "Kruskal family" msgstr "Familia Kruskal" -#: ../../build/doc/release_notes.rst:113 +#: ../../build/doc/release_notes.rst:230 msgid "pgr_kruskal" msgstr "pgr_kruskal" -#: ../../build/doc/release_notes.rst:114 +#: ../../build/doc/release_notes.rst:231 msgid "pgr_kruskalBFS" msgstr "pgr_kruskalBFS" -#: ../../build/doc/release_notes.rst:115 +#: ../../build/doc/release_notes.rst:232 msgid "pgr_kruskalDD" msgstr "pgr_kruskalDD" -#: ../../build/doc/release_notes.rst:116 +#: ../../build/doc/release_notes.rst:233 msgid "pgr_kruskalDFS" msgstr "pgr_kruskalDFS" -#: ../../build/doc/release_notes.rst:118 +#: ../../build/doc/release_notes.rst:235 msgid "Prim family" msgstr "Prim family" -#: ../../build/doc/release_notes.rst:120 +#: ../../build/doc/release_notes.rst:237 msgid "pgr_prim" msgstr "pgr_prim" -#: ../../build/doc/release_notes.rst:121 +#: ../../build/doc/release_notes.rst:238 msgid "pgr_primDD" msgstr "pgr_primDD" -#: ../../build/doc/release_notes.rst:122 +#: ../../build/doc/release_notes.rst:239 msgid "pgr_primDFS" msgstr "pgr_primDFS" -#: ../../build/doc/release_notes.rst:123 +#: ../../build/doc/release_notes.rst:240 msgid "pgr_primBFS" msgstr "pgr_primBFS" -#: ../../build/doc/release_notes.rst:127 +#: ../../build/doc/release_notes.rst:244 msgid "Proposed moved to official on pgRouting" msgstr "Propuesta cambió a oficial en pgRouting" -#: ../../build/doc/release_notes.rst:128 +#: ../../build/doc/release_notes.rst:245 msgid "aStar Family" msgstr " Familia aStar" -#: ../../build/doc/release_notes.rst:130 +#: ../../build/doc/release_notes.rst:247 msgid "pgr_aStar(one to many)" msgstr "pgr_aStar(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:131 +#: ../../build/doc/release_notes.rst:248 msgid "pgr_aStar(many to one)" msgstr "pgr_aStar(many to one)" -#: ../../build/doc/release_notes.rst:132 +#: ../../build/doc/release_notes.rst:249 msgid "pgr_aStar(many to many)" msgstr "pgr_aStar(many to many)" -#: ../../build/doc/release_notes.rst:133 +#: ../../build/doc/release_notes.rst:250 msgid "pgr_aStarCost(one to one)" msgstr "pgr_aStarCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:134 +#: ../../build/doc/release_notes.rst:251 msgid "pgr_aStarCost(one to many)" msgstr "pgr_aStarCost(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:135 +#: ../../build/doc/release_notes.rst:252 msgid "pgr_aStarCost(many to one)" msgstr "pgr_aStarCost(many to one)" -#: ../../build/doc/release_notes.rst:136 +#: ../../build/doc/release_notes.rst:253 msgid "pgr_aStarCost(many to many)" msgstr "pgr_aStarCost(many to many)" -#: ../../build/doc/release_notes.rst:137 +#: ../../build/doc/release_notes.rst:254 msgid "pgr_aStarCostMatrix(one to one)" msgstr "pgr_aStarCostMatrix(Uno a Uno)" -#: ../../build/doc/release_notes.rst:138 +#: ../../build/doc/release_notes.rst:255 msgid "pgr_aStarCostMatrix(one to many)" msgstr "pgr_aStarCostMatrix(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:139 +#: ../../build/doc/release_notes.rst:256 msgid "pgr_aStarCostMatrix(many to one)" msgstr "pgr_aStarCostMatrix(many to one)" -#: ../../build/doc/release_notes.rst:140 +#: ../../build/doc/release_notes.rst:257 msgid "pgr_aStarCostMatrix(many to many)" msgstr "pgr_aStarCostMatrix(many to many)" -#: ../../build/doc/release_notes.rst:142 +#: ../../build/doc/release_notes.rst:259 msgid "bdAstar Family" msgstr "Familia bdAstar" -#: ../../build/doc/release_notes.rst:144 ../../build/doc/release_notes.rst:471 +#: ../../build/doc/release_notes.rst:261 ../../build/doc/release_notes.rst:588 msgid "pgr_bdAstar(one to many)" msgstr "pgr_bdAstar(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:145 ../../build/doc/release_notes.rst:472 +#: ../../build/doc/release_notes.rst:262 ../../build/doc/release_notes.rst:589 msgid "pgr_bdAstar(many to one)" msgstr "pgr_bdAstar(many to one)" -#: ../../build/doc/release_notes.rst:146 ../../build/doc/release_notes.rst:473 +#: ../../build/doc/release_notes.rst:263 ../../build/doc/release_notes.rst:590 msgid "pgr_bdAstar(many to many)" msgstr "pgr_bdAstar(many to many)" -#: ../../build/doc/release_notes.rst:147 ../../build/doc/release_notes.rst:474 +#: ../../build/doc/release_notes.rst:264 ../../build/doc/release_notes.rst:591 msgid "pgr_bdAstarCost(one to one)" msgstr "pgr_bdAstarCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:148 ../../build/doc/release_notes.rst:475 +#: ../../build/doc/release_notes.rst:265 ../../build/doc/release_notes.rst:592 msgid "pgr_bdAstarCost(one to many)" msgstr "pgr_bdAstarCost(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:149 ../../build/doc/release_notes.rst:476 +#: ../../build/doc/release_notes.rst:266 ../../build/doc/release_notes.rst:593 msgid "pgr_bdAstarCost(many to one)" msgstr "pgr_bdAstarCost(many to one)" -#: ../../build/doc/release_notes.rst:150 ../../build/doc/release_notes.rst:477 +#: ../../build/doc/release_notes.rst:267 ../../build/doc/release_notes.rst:594 msgid "pgr_bdAstarCost(many to many)" msgstr "pgr_bdAstarCost(many to many)" -#: ../../build/doc/release_notes.rst:151 +#: ../../build/doc/release_notes.rst:268 msgid "pgr_bdAstarCostMatrix(one to one)" msgstr "pgr_bdAstarCostMatrix(Uno a Uno)" -#: ../../build/doc/release_notes.rst:152 +#: ../../build/doc/release_notes.rst:269 msgid "pgr_bdAstarCostMatrix(one to many)" msgstr "pgr_bdAstarCostMatrix(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:153 +#: ../../build/doc/release_notes.rst:270 msgid "pgr_bdAstarCostMatrix(many to one)" msgstr "pgr_bdAstarCostMatrix(many to one)" -#: ../../build/doc/release_notes.rst:154 +#: ../../build/doc/release_notes.rst:271 msgid "pgr_bdAstarCostMatrix(many to many)" msgstr "pgr_bdAstarCostMatrix(many to many)" -#: ../../build/doc/release_notes.rst:156 +#: ../../build/doc/release_notes.rst:273 msgid "bdDijkstra Family" msgstr "bdDijkstra Familia" -#: ../../build/doc/release_notes.rst:158 ../../build/doc/release_notes.rst:479 +#: ../../build/doc/release_notes.rst:275 ../../build/doc/release_notes.rst:596 msgid "pgr_bdDijkstra(one to many)" msgstr "pgr_bdDijkstra(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:159 ../../build/doc/release_notes.rst:480 +#: ../../build/doc/release_notes.rst:276 ../../build/doc/release_notes.rst:597 msgid "pgr_bdDijkstra(many to one)" msgstr "pgr_bdDijkstra(many to one)" -#: ../../build/doc/release_notes.rst:160 ../../build/doc/release_notes.rst:481 +#: ../../build/doc/release_notes.rst:277 ../../build/doc/release_notes.rst:598 msgid "pgr_bdDijkstra(many to many)" msgstr "pgr_bdDijkstra(many to many)" -#: ../../build/doc/release_notes.rst:161 ../../build/doc/release_notes.rst:482 +#: ../../build/doc/release_notes.rst:278 ../../build/doc/release_notes.rst:599 msgid "pgr_bdDijkstraCost(one to one)" msgstr "pgr_bdDijkstraCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:162 ../../build/doc/release_notes.rst:483 +#: ../../build/doc/release_notes.rst:279 ../../build/doc/release_notes.rst:600 msgid "pgr_bdDijkstraCost(one to many)" msgstr "pgr_bdDijkstraCost(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:163 ../../build/doc/release_notes.rst:484 +#: ../../build/doc/release_notes.rst:280 ../../build/doc/release_notes.rst:601 msgid "pgr_bdDijkstraCost(many to one)" msgstr "pgr_bdDijkstraCost(many to one)" -#: ../../build/doc/release_notes.rst:164 ../../build/doc/release_notes.rst:485 +#: ../../build/doc/release_notes.rst:281 ../../build/doc/release_notes.rst:602 msgid "pgr_bdDijkstraCost(many to many)" msgstr "pgr_bdDijkstraCost(many to many)" -#: ../../build/doc/release_notes.rst:165 +#: ../../build/doc/release_notes.rst:282 msgid "pgr_bdDijkstraCostMatrix(one to one)" msgstr "pgr_bdDijkstraCostMatrix(Uno a Uno)" -#: ../../build/doc/release_notes.rst:166 +#: ../../build/doc/release_notes.rst:283 msgid "pgr_bdDijkstraCostMatrix(one to many)" msgstr "pgr_bdDijkstraCostMatrix(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:167 +#: ../../build/doc/release_notes.rst:284 msgid "pgr_bdDijkstraCostMatrix(many to one)" msgstr "pgr_bdDijkstraCostMatrix(many to one)" -#: ../../build/doc/release_notes.rst:168 +#: ../../build/doc/release_notes.rst:285 msgid "pgr_bdDijkstraCostMatrix(many to many)" msgstr "pgr_bdDijkstraCostMatrix(many to many)" -#: ../../build/doc/release_notes.rst:170 +#: ../../build/doc/release_notes.rst:287 msgid "Flow Family" msgstr "Familia Flow" -#: ../../build/doc/release_notes.rst:172 +#: ../../build/doc/release_notes.rst:289 msgid "pgr_pushRelabel(one to one)" msgstr "pgr_pushRelabel(Uno a Uno)" -#: ../../build/doc/release_notes.rst:173 +#: ../../build/doc/release_notes.rst:290 msgid "pgr_pushRelabel(one to many)" msgstr "pgr_pushRelabel(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:174 +#: ../../build/doc/release_notes.rst:291 msgid "pgr_pushRelabel(many to one)" msgstr "pgr_pushRelabel(many to one)" -#: ../../build/doc/release_notes.rst:175 +#: ../../build/doc/release_notes.rst:292 msgid "pgr_pushRelabel(many to many)" msgstr "pgr_pushRelabel(many to many)" -#: ../../build/doc/release_notes.rst:176 +#: ../../build/doc/release_notes.rst:293 msgid "pgr_edmondsKarp(one to one)" msgstr "pgr_edmondsKarp(Uno a Uno)" -#: ../../build/doc/release_notes.rst:177 +#: ../../build/doc/release_notes.rst:294 msgid "pgr_edmondsKarp(one to many)" msgstr "pgr_edmondsKarp(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:178 +#: ../../build/doc/release_notes.rst:295 msgid "pgr_edmondsKarp(many to one)" msgstr "pgr_edmondsKarp(many to one)" -#: ../../build/doc/release_notes.rst:179 +#: ../../build/doc/release_notes.rst:296 msgid "pgr_edmondsKarp(many to many)" msgstr "pgr_edmondsKarp(many to many)" -#: ../../build/doc/release_notes.rst:180 +#: ../../build/doc/release_notes.rst:297 msgid "pgr_boykovKolmogorov (one to one)" msgstr "pgr_boykovKolmogorov(Uno a Uno)" -#: ../../build/doc/release_notes.rst:181 +#: ../../build/doc/release_notes.rst:298 msgid "pgr_boykovKolmogorov (one to many)" msgstr "pgr_boykovKolmogorov(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:182 +#: ../../build/doc/release_notes.rst:299 msgid "pgr_boykovKolmogorov (many to one)" msgstr "pgr_boykovKolmogorov (many to one)" -#: ../../build/doc/release_notes.rst:183 +#: ../../build/doc/release_notes.rst:300 msgid "pgr_boykovKolmogorov (many to many)" msgstr "pgr_boykovKolmogorov (many to many)" -#: ../../build/doc/release_notes.rst:184 +#: ../../build/doc/release_notes.rst:301 msgid "pgr_maxCardinalityMatching" msgstr "pgr_maxCardinalityMatching" -#: ../../build/doc/release_notes.rst:185 ../../build/doc/release_notes.rst:555 +#: ../../build/doc/release_notes.rst:302 ../../build/doc/release_notes.rst:672 msgid "pgr_maxFlow" msgstr "pgr_maxFlow" -#: ../../build/doc/release_notes.rst:186 ../../build/doc/release_notes.rst:645 +#: ../../build/doc/release_notes.rst:303 ../../build/doc/release_notes.rst:762 msgid "pgr_edgeDisjointPaths(one to one)" msgstr "pgr_edgeDisjointPaths(Uno a Uno)" -#: ../../build/doc/release_notes.rst:187 ../../build/doc/release_notes.rst:646 +#: ../../build/doc/release_notes.rst:304 ../../build/doc/release_notes.rst:763 msgid "pgr_edgeDisjointPaths(one to many)" msgstr "pgr_edgeDisjointPaths(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:188 ../../build/doc/release_notes.rst:647 +#: ../../build/doc/release_notes.rst:305 ../../build/doc/release_notes.rst:764 msgid "pgr_edgeDisjointPaths(many to one)" msgstr "pgr_edgeDisjointPaths(many to one)" -#: ../../build/doc/release_notes.rst:189 ../../build/doc/release_notes.rst:648 +#: ../../build/doc/release_notes.rst:306 ../../build/doc/release_notes.rst:765 msgid "pgr_edgeDisjointPaths(many to many)" msgstr "pgr_edgeDisjointPaths(many to many)" -#: ../../build/doc/release_notes.rst:191 +#: ../../build/doc/release_notes.rst:308 msgid "Components family" msgstr "Familia de Componentes" -#: ../../build/doc/release_notes.rst:193 ../../build/doc/release_notes.rst:489 +#: ../../build/doc/release_notes.rst:310 ../../build/doc/release_notes.rst:606 msgid "pgr_connectedComponents" msgstr "pgr_connectedComponents" -#: ../../build/doc/release_notes.rst:194 ../../build/doc/release_notes.rst:490 +#: ../../build/doc/release_notes.rst:311 ../../build/doc/release_notes.rst:607 msgid "pgr_strongComponents" msgstr "pgr_strongComponents" -#: ../../build/doc/release_notes.rst:195 ../../build/doc/release_notes.rst:491 +#: ../../build/doc/release_notes.rst:312 ../../build/doc/release_notes.rst:608 msgid "pgr_biconnectedComponents" msgstr "pgr_biconnectedComponents" -#: ../../build/doc/release_notes.rst:196 ../../build/doc/release_notes.rst:492 +#: ../../build/doc/release_notes.rst:313 ../../build/doc/release_notes.rst:609 msgid "pgr_articulationPoints" msgstr "pgr_articulationPoints" -#: ../../build/doc/release_notes.rst:197 ../../build/doc/release_notes.rst:493 +#: ../../build/doc/release_notes.rst:314 ../../build/doc/release_notes.rst:610 msgid "pgr_bridges" msgstr "pgr_bridges" -#: ../../build/doc/release_notes.rst:199 +#: ../../build/doc/release_notes.rst:316 msgid "Contraction:" msgstr "Contracción:" -#: ../../build/doc/release_notes.rst:201 +#: ../../build/doc/release_notes.rst:318 msgid "Removed unnecessary column seq" msgstr "Se ha eliminado la innecesaria columna seq" -#: ../../build/doc/release_notes.rst:202 ../../build/doc/release_notes.rst:589 -#: ../../build/doc/release_notes.rst:605 ../../build/doc/release_notes.rst:675 -#: ../../build/doc/release_notes.rst:688 ../../build/doc/release_notes.rst:699 -#: ../../build/doc/release_notes.rst:711 ../../build/doc/release_notes.rst:830 -#: ../../build/doc/release_notes.rst:861 +#: ../../build/doc/release_notes.rst:319 ../../build/doc/release_notes.rst:706 +#: ../../build/doc/release_notes.rst:722 ../../build/doc/release_notes.rst:792 +#: ../../build/doc/release_notes.rst:805 ../../build/doc/release_notes.rst:816 +#: ../../build/doc/release_notes.rst:828 ../../build/doc/release_notes.rst:947 +#: ../../build/doc/release_notes.rst:978 msgid "Bug Fixes" msgstr "Corrección de errores" -#: ../../build/doc/release_notes.rst:206 +#: ../../build/doc/release_notes.rst:323 msgid "New Experimental functions" msgstr "Nuevas funciones experimentales" -#: ../../build/doc/release_notes.rst:207 +#: ../../build/doc/release_notes.rst:324 msgid "pgr_maxFlowMinCost" msgstr "pgr_maxFlowMinCost" -#: ../../build/doc/release_notes.rst:208 +#: ../../build/doc/release_notes.rst:325 msgid "pgr_maxFlowMinCost_Cost" msgstr "pgr_maxFlowMinCost_Cost" -#: ../../build/doc/release_notes.rst:209 +#: ../../build/doc/release_notes.rst:326 msgid "pgr_extractVertices" msgstr "pgr_extractVertices" -#: ../../build/doc/release_notes.rst:210 +#: ../../build/doc/release_notes.rst:327 msgid "pgr_turnRestrictedPath" msgstr "pgr_turnRestrictedPath" -#: ../../build/doc/release_notes.rst:211 +#: ../../build/doc/release_notes.rst:328 msgid "pgr_stoerWagner" msgstr "pgr_stoerWagner" -#: ../../build/doc/release_notes.rst:212 +#: ../../build/doc/release_notes.rst:329 msgid "pgr_dagShortestpath" msgstr "pgr_dagShortestpath" -#: ../../build/doc/release_notes.rst:213 +#: ../../build/doc/release_notes.rst:330 msgid "pgr_topologicalSort" msgstr "pgr_topologicalSort" -#: ../../build/doc/release_notes.rst:214 +#: ../../build/doc/release_notes.rst:331 msgid "pgr_transitiveClosure" msgstr "pgr_transitiveClosure" -#: ../../build/doc/release_notes.rst:215 +#: ../../build/doc/release_notes.rst:332 msgid "VRP category" msgstr "Categoría VRP" -#: ../../build/doc/release_notes.rst:217 +#: ../../build/doc/release_notes.rst:334 msgid "pgr_pickDeliverEuclidean" msgstr "pgr_pickDeliverEuclidean" -#: ../../build/doc/release_notes.rst:218 +#: ../../build/doc/release_notes.rst:335 msgid "pgr_pickDeliver" msgstr "pgr_pickDeliver" -#: ../../build/doc/release_notes.rst:220 +#: ../../build/doc/release_notes.rst:337 msgid "Chinese Postman family" msgstr "Familia Chinese Postman" -#: ../../build/doc/release_notes.rst:222 +#: ../../build/doc/release_notes.rst:339 msgid "pgr_chinesePostman" msgstr "pgr_chinesePostman" -#: ../../build/doc/release_notes.rst:223 +#: ../../build/doc/release_notes.rst:340 msgid "pgr_chinesePostmanCost" msgstr "pgr_chinesePostmanCost" -#: ../../build/doc/release_notes.rst:225 +#: ../../build/doc/release_notes.rst:342 msgid "Breadth First Search family" msgstr "Familia Breadth First Search" -#: ../../build/doc/release_notes.rst:227 +#: ../../build/doc/release_notes.rst:344 msgid "pgr_breadthFirstSearch" msgstr "pgr_breadthFirstSearch" -#: ../../build/doc/release_notes.rst:228 +#: ../../build/doc/release_notes.rst:345 msgid "pgr_binaryBreadthFirstSearch" msgstr "pgr_binaryBreadthFirstSearch" -#: ../../build/doc/release_notes.rst:230 +#: ../../build/doc/release_notes.rst:347 msgid "Bellman Ford family" msgstr "Familia Bellman Ford" -#: ../../build/doc/release_notes.rst:232 +#: ../../build/doc/release_notes.rst:349 msgid "pgr_bellmanFord" msgstr "pgr_bellmanFord" -#: ../../build/doc/release_notes.rst:233 +#: ../../build/doc/release_notes.rst:350 msgid "pgr_edwardMoore" msgstr "pgr_edwardMoore" -#: ../../build/doc/release_notes.rst:236 +#: ../../build/doc/release_notes.rst:353 msgid "Moved to legacy" msgstr "Se trasladó al legado" -#: ../../build/doc/release_notes.rst:237 +#: ../../build/doc/release_notes.rst:354 msgid "Experimental functions" msgstr "Funciones experimentales" -#: ../../build/doc/release_notes.rst:239 +#: ../../build/doc/release_notes.rst:356 msgid "pgr_labelGraph - Use the components family of functions instead." msgstr "" "pgr_labelGraph - Utilice la familia de componentes de funciones en su lugar." -#: ../../build/doc/release_notes.rst:240 +#: ../../build/doc/release_notes.rst:357 msgid "Max flow - functions were renamed on v2.5.0" msgstr "Max flow - las funciones fueron renombradas en v2.5.0" -#: ../../build/doc/release_notes.rst:242 +#: ../../build/doc/release_notes.rst:359 msgid "pgr_maxFlowPushRelabel" msgstr "pgr_maxFlowPushRelabel" -#: ../../build/doc/release_notes.rst:243 +#: ../../build/doc/release_notes.rst:360 msgid "pgr_maxFlowBoykovKolmogorov" msgstr "pgr_maxFlowBoykovKolmogorov" -#: ../../build/doc/release_notes.rst:244 +#: ../../build/doc/release_notes.rst:361 msgid "pgr_maxFlowEdmondsKarp" msgstr "pgr_maxFlowEdmondsKarp" -#: ../../build/doc/release_notes.rst:245 +#: ../../build/doc/release_notes.rst:362 msgid "pgr_maximumcardinalitymatching" msgstr "pgr_maximumcardinalitymatching" -#: ../../build/doc/release_notes.rst:247 +#: ../../build/doc/release_notes.rst:364 msgid "VRP" msgstr "VRP" -#: ../../build/doc/release_notes.rst:249 +#: ../../build/doc/release_notes.rst:366 msgid "pgr_gsoc_vrppdtw" msgstr "pgr_gsoc_vrppdtw" -#: ../../build/doc/release_notes.rst:251 +#: ../../build/doc/release_notes.rst:368 msgid "TSP old signatures" msgstr "Firmas antiguas de TSP" -#: ../../build/doc/release_notes.rst:252 +#: ../../build/doc/release_notes.rst:369 msgid "pgr_pointsAsPolygon" msgstr "pgr_pointsAsPolygon" -#: ../../build/doc/release_notes.rst:253 +#: ../../build/doc/release_notes.rst:370 msgid "pgr_alphaShape old signature" msgstr "pgr_alphaShape firma antigua" -#: ../../build/doc/release_notes.rst:259 +#: ../../build/doc/release_notes.rst:376 msgid "pgRouting 2.6.3 Release Notes" msgstr "pgRouting 2.6.3 Notas de la Versión" -#: ../../build/doc/release_notes.rst:261 +#: ../../build/doc/release_notes.rst:378 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -765,17 +1078,19 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:264 ../../build/doc/release_notes.rst:278 -#: ../../build/doc/release_notes.rst:336 ../../build/doc/release_notes.rst:365 -#: ../../build/doc/release_notes.rst:418 ../../build/doc/release_notes.rst:429 -#: ../../build/doc/release_notes.rst:441 ../../build/doc/release_notes.rst:523 -#: ../../build/doc/release_notes.rst:537 ../../build/doc/release_notes.rst:574 -#: ../../build/doc/release_notes.rst:928 ../../build/doc/release_notes.rst:935 -#: ../../build/doc/release_notes.rst:956 ../../build/doc/release_notes.rst:963 +#: ../../build/doc/release_notes.rst:381 ../../build/doc/release_notes.rst:395 +#: ../../build/doc/release_notes.rst:453 ../../build/doc/release_notes.rst:482 +#: ../../build/doc/release_notes.rst:535 ../../build/doc/release_notes.rst:546 +#: ../../build/doc/release_notes.rst:558 ../../build/doc/release_notes.rst:640 +#: ../../build/doc/release_notes.rst:654 ../../build/doc/release_notes.rst:691 +#: ../../build/doc/release_notes.rst:1045 +#: ../../build/doc/release_notes.rst:1052 +#: ../../build/doc/release_notes.rst:1073 +#: ../../build/doc/release_notes.rst:1080 msgid "Bug fixes" msgstr "Correcciones" -#: ../../build/doc/release_notes.rst:265 +#: ../../build/doc/release_notes.rst:382 msgid "" "`#1219 `__ Implicit cast " "for via_path integer to text" @@ -783,7 +1098,7 @@ msgstr "" "`#1219 `__ Implicit cast " "for via_path integer to text" -#: ../../build/doc/release_notes.rst:266 +#: ../../build/doc/release_notes.rst:383 msgid "" "`#1193 `__ Fixed " "pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" @@ -791,7 +1106,7 @@ msgstr "" "`#1193 `__ Fixed " "pgr_pointsAsPolygon breaking when comparing strings in WHERE clause" -#: ../../build/doc/release_notes.rst:267 +#: ../../build/doc/release_notes.rst:384 msgid "" "`#1185 `__ Improve " "FindPostgreSQL.cmake" @@ -799,11 +1114,11 @@ msgstr "" "`#1185 `__ Improve " "FindPostgreSQL.cmake" -#: ../../build/doc/release_notes.rst:273 +#: ../../build/doc/release_notes.rst:390 msgid "pgRouting 2.6.2 Release Notes" msgstr "pgRouting 2.6.2 Notas de la versión" -#: ../../build/doc/release_notes.rst:275 +#: ../../build/doc/release_notes.rst:392 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -815,7 +1130,7 @@ msgstr "" "`Git closed milestone for 2.6.2 " "`_." -#: ../../build/doc/release_notes.rst:279 +#: ../../build/doc/release_notes.rst:396 msgid "" "`#1152 `__ Fixes driving" " distance when vertex is not part of the graph" @@ -823,7 +1138,7 @@ msgstr "" "`#1152 `__ Corrige la " "distancia de conducción cuando el vértice no forma parte del grafo" -#: ../../build/doc/release_notes.rst:280 +#: ../../build/doc/release_notes.rst:397 msgid "" "`#1098 `__ Fixes windows" " test" @@ -831,7 +1146,7 @@ msgstr "" "`#1098 `__ Correcciones " "de pruebas de ventanas." -#: ../../build/doc/release_notes.rst:281 +#: ../../build/doc/release_notes.rst:398 msgid "" "`#1165 `__ Fixes build " "for python3 and perl5" @@ -839,11 +1154,11 @@ msgstr "" "`#1165 `__ Correcciones " "de la compilación de python3 y perl5" -#: ../../build/doc/release_notes.rst:286 +#: ../../build/doc/release_notes.rst:403 msgid "pgRouting 2.6.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.6.1" -#: ../../build/doc/release_notes.rst:288 +#: ../../build/doc/release_notes.rst:405 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -856,135 +1171,135 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:290 ../../build/doc/release_notes.rst:377 +#: ../../build/doc/release_notes.rst:407 ../../build/doc/release_notes.rst:494 msgid "Fixes server crash on several functions." msgstr "Corrige el bloqueo del servidor en varias funciones." -#: ../../build/doc/release_notes.rst:292 ../../build/doc/release_notes.rst:379 -#: ../../build/doc/release_notes.rst:737 +#: ../../build/doc/release_notes.rst:409 ../../build/doc/release_notes.rst:496 +#: ../../build/doc/release_notes.rst:854 msgid "pgr_floydWarshall" msgstr "pgr_floydWarshall" -#: ../../build/doc/release_notes.rst:293 ../../build/doc/release_notes.rst:380 +#: ../../build/doc/release_notes.rst:410 ../../build/doc/release_notes.rst:497 msgid "pgr_johnson" msgstr "pgr_johnson" -#: ../../build/doc/release_notes.rst:294 ../../build/doc/release_notes.rst:381 +#: ../../build/doc/release_notes.rst:411 ../../build/doc/release_notes.rst:498 msgid "pgr_astar" msgstr "pgr_astar" -#: ../../build/doc/release_notes.rst:295 ../../build/doc/release_notes.rst:382 +#: ../../build/doc/release_notes.rst:412 ../../build/doc/release_notes.rst:499 msgid "pgr_bdAstar" msgstr "pgr_bdAstar" -#: ../../build/doc/release_notes.rst:296 ../../build/doc/release_notes.rst:383 +#: ../../build/doc/release_notes.rst:413 ../../build/doc/release_notes.rst:500 msgid "pgr_bdDijstra" msgstr "pgr_bdDijstra" -#: ../../build/doc/release_notes.rst:297 ../../build/doc/release_notes.rst:384 +#: ../../build/doc/release_notes.rst:414 ../../build/doc/release_notes.rst:501 msgid "pgr_alphashape" msgstr "pgr_alphashape" -#: ../../build/doc/release_notes.rst:298 ../../build/doc/release_notes.rst:385 -#: ../../build/doc/release_notes.rst:630 +#: ../../build/doc/release_notes.rst:415 ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:747 msgid "pgr_dijkstraCostMatrix" msgstr "pgr_dijkstraCostMatrix" -#: ../../build/doc/release_notes.rst:299 ../../build/doc/release_notes.rst:386 +#: ../../build/doc/release_notes.rst:416 ../../build/doc/release_notes.rst:503 msgid "pgr_dijkstra" msgstr "pgr_dijkstra" -#: ../../build/doc/release_notes.rst:300 ../../build/doc/release_notes.rst:387 +#: ../../build/doc/release_notes.rst:417 ../../build/doc/release_notes.rst:504 msgid "pgr_dijkstraCost" msgstr "pgr_dijkstraCost" -#: ../../build/doc/release_notes.rst:301 ../../build/doc/release_notes.rst:388 +#: ../../build/doc/release_notes.rst:418 ../../build/doc/release_notes.rst:505 msgid "pgr_drivingDistance" msgstr "pgr_drivingDistance" -#: ../../build/doc/release_notes.rst:302 ../../build/doc/release_notes.rst:389 +#: ../../build/doc/release_notes.rst:419 ../../build/doc/release_notes.rst:506 msgid "pgr_KSP" msgstr "pgr_KSP" -#: ../../build/doc/release_notes.rst:303 ../../build/doc/release_notes.rst:390 +#: ../../build/doc/release_notes.rst:420 ../../build/doc/release_notes.rst:507 msgid "pgr_dijkstraVia (proposed)" msgstr "pgr_dijkstraVia (proposed)" -#: ../../build/doc/release_notes.rst:304 ../../build/doc/release_notes.rst:391 +#: ../../build/doc/release_notes.rst:421 ../../build/doc/release_notes.rst:508 msgid "pgr_boykovKolmogorov (proposed)" msgstr "pgr_boykovKolmogorov (proposed)" -#: ../../build/doc/release_notes.rst:305 ../../build/doc/release_notes.rst:392 +#: ../../build/doc/release_notes.rst:422 ../../build/doc/release_notes.rst:509 msgid "pgr_edgeDisjointPaths (proposed)" msgstr "pgr_edgeDisjointPaths (proposed)" -#: ../../build/doc/release_notes.rst:306 ../../build/doc/release_notes.rst:393 +#: ../../build/doc/release_notes.rst:423 ../../build/doc/release_notes.rst:510 msgid "pgr_edmondsKarp (proposed)" msgstr "pgr_edmondsKarp (proposed)" -#: ../../build/doc/release_notes.rst:307 ../../build/doc/release_notes.rst:394 +#: ../../build/doc/release_notes.rst:424 ../../build/doc/release_notes.rst:511 msgid "pgr_maxCardinalityMatch (proposed)" msgstr "pgr_maxCardinalityMatch (proposed)" -#: ../../build/doc/release_notes.rst:308 ../../build/doc/release_notes.rst:395 +#: ../../build/doc/release_notes.rst:425 ../../build/doc/release_notes.rst:512 msgid "pgr_maxFlow (proposed)" msgstr "pgr_maxFlow (proposed)" -#: ../../build/doc/release_notes.rst:309 ../../build/doc/release_notes.rst:396 +#: ../../build/doc/release_notes.rst:426 ../../build/doc/release_notes.rst:513 msgid "pgr_withPoints (proposed)" msgstr "pgr_withPoints (proposed)" -#: ../../build/doc/release_notes.rst:310 ../../build/doc/release_notes.rst:397 +#: ../../build/doc/release_notes.rst:427 ../../build/doc/release_notes.rst:514 msgid "pgr_withPointsCost (proposed)" msgstr "pgr_withPointsCost (proposed)" -#: ../../build/doc/release_notes.rst:311 ../../build/doc/release_notes.rst:398 +#: ../../build/doc/release_notes.rst:428 ../../build/doc/release_notes.rst:515 msgid "pgr_withPointsKSP (proposed)" msgstr "pgr_withPointsKSP (proposed)" -#: ../../build/doc/release_notes.rst:312 ../../build/doc/release_notes.rst:399 +#: ../../build/doc/release_notes.rst:429 ../../build/doc/release_notes.rst:516 msgid "pgr_withPointsDD (proposed)" msgstr "pgr_withPointsDD (proposed)" -#: ../../build/doc/release_notes.rst:313 ../../build/doc/release_notes.rst:400 +#: ../../build/doc/release_notes.rst:430 ../../build/doc/release_notes.rst:517 msgid "pgr_withPointsCostMatrix (proposed)" msgstr "pgr_withPointsCostMatrix (propuesto)" -#: ../../build/doc/release_notes.rst:314 ../../build/doc/release_notes.rst:401 +#: ../../build/doc/release_notes.rst:431 ../../build/doc/release_notes.rst:518 msgid "pgr_contractGraph (experimental)" msgstr "pgr_contractGraph (experimental)" -#: ../../build/doc/release_notes.rst:315 ../../build/doc/release_notes.rst:402 +#: ../../build/doc/release_notes.rst:432 ../../build/doc/release_notes.rst:519 msgid "pgr_pushRelabel (experimental)" msgstr "pgr_pushRelabel (experimental)" -#: ../../build/doc/release_notes.rst:316 ../../build/doc/release_notes.rst:403 +#: ../../build/doc/release_notes.rst:433 ../../build/doc/release_notes.rst:520 msgid "pgr_vrpOneDepot (experimental)" msgstr "pgr_vrpOneDepot (experimental)" -#: ../../build/doc/release_notes.rst:317 ../../build/doc/release_notes.rst:404 +#: ../../build/doc/release_notes.rst:434 ../../build/doc/release_notes.rst:521 msgid "pgr_gsoc_vrppdtw (experimental)" msgstr "pgr_gsoc_vrppdtw (experimental)" -#: ../../build/doc/release_notes.rst:318 ../../build/doc/release_notes.rst:405 +#: ../../build/doc/release_notes.rst:435 ../../build/doc/release_notes.rst:522 msgid "Fixes for deprecated functions where also applied but not tested" msgstr "" "Correcciones para funciones en desuso en las que también se aplican pero no " "se prueban" -#: ../../build/doc/release_notes.rst:320 ../../build/doc/release_notes.rst:407 +#: ../../build/doc/release_notes.rst:437 ../../build/doc/release_notes.rst:524 msgid "Removed compilation warning for g++8" msgstr "Se ha eliminado la advertencia de compilación para g++8" -#: ../../build/doc/release_notes.rst:321 ../../build/doc/release_notes.rst:408 +#: ../../build/doc/release_notes.rst:438 ../../build/doc/release_notes.rst:525 msgid "Fixed a fallthrugh on Astar and bdAstar." msgstr "Se ha arreglado un fallthrugh en Astar y bdAstar." -#: ../../build/doc/release_notes.rst:326 +#: ../../build/doc/release_notes.rst:443 msgid "pgRouting 2.6.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.6.0" -#: ../../build/doc/release_notes.rst:328 +#: ../../build/doc/release_notes.rst:445 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -997,15 +1312,15 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:332 +#: ../../build/doc/release_notes.rst:449 msgid "New fexperimental functions" msgstr "Nuevas funciones fexperimentales" -#: ../../build/doc/release_notes.rst:333 ../../build/doc/release_notes.rst:488 +#: ../../build/doc/release_notes.rst:450 ../../build/doc/release_notes.rst:605 msgid "pgr_lineGraphFull" msgstr "pgr_lineGraphFull" -#: ../../build/doc/release_notes.rst:337 +#: ../../build/doc/release_notes.rst:454 msgid "" "Fix pgr_trsp(text,integer,double precision,integer,double " "precision,boolean,boolean[,text])" @@ -1013,33 +1328,33 @@ msgstr "" "Correción pgr_trsp(text,integer,double precision,integer,double " "precision,boolean,boolean[,text])" -#: ../../build/doc/release_notes.rst:339 +#: ../../build/doc/release_notes.rst:456 msgid "without restrictions" msgstr "sin restricciones" -#: ../../build/doc/release_notes.rst:341 +#: ../../build/doc/release_notes.rst:458 msgid "calls pgr_dijkstra when both end points have a fraction IN (0,1)" msgstr "" "llama a pgr_dijkstra cuando ambos puntos finales tienen una fracción IN " "(0,1)" -#: ../../build/doc/release_notes.rst:342 +#: ../../build/doc/release_notes.rst:459 msgid "calls pgr_withPoints when at least one fraction NOT IN (0,1)" msgstr "llama a pgr_withPoints cuando al menos una fracción NO ESTÁ EN (0,1)" -#: ../../build/doc/release_notes.rst:344 +#: ../../build/doc/release_notes.rst:461 msgid "with restrictions" msgstr "con restricciones" -#: ../../build/doc/release_notes.rst:346 +#: ../../build/doc/release_notes.rst:463 msgid "calls original trsp code" msgstr "llama al código original trsp" -#: ../../build/doc/release_notes.rst:349 +#: ../../build/doc/release_notes.rst:466 msgid "Internal code" msgstr "Código interno" -#: ../../build/doc/release_notes.rst:350 +#: ../../build/doc/release_notes.rst:467 msgid "" "Cleaned the internal code of trsp(text,integer,integer,boolean,boolean [, " "text])" @@ -1047,23 +1362,23 @@ msgstr "" "Se ha limpiado el código interno de " "trsp(text,integer,integer,boolean,boolean [, text])" -#: ../../build/doc/release_notes.rst:352 +#: ../../build/doc/release_notes.rst:469 msgid "Removed the use of pointers" msgstr "Se eliminó el uso de punteros" -#: ../../build/doc/release_notes.rst:353 +#: ../../build/doc/release_notes.rst:470 msgid "Internal code can accept BIGINT" msgstr "El código interno puede aceptar BIGINT" -#: ../../build/doc/release_notes.rst:355 +#: ../../build/doc/release_notes.rst:472 msgid "Cleaned the internal code of withPoints" msgstr "Limpiado el código interno de withPoints" -#: ../../build/doc/release_notes.rst:360 +#: ../../build/doc/release_notes.rst:477 msgid "pgRouting 2.5.5 Release Notes" msgstr "Notas de la versión de PgRouting 2.5.5 " -#: ../../build/doc/release_notes.rst:362 +#: ../../build/doc/release_notes.rst:479 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1076,25 +1391,25 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:366 +#: ../../build/doc/release_notes.rst:483 msgid "Fixes driving distance when vertex is not part of the graph" msgstr "" "Corrige la distancia de conducción cuando el vértice no forma parte del " "grafo" -#: ../../build/doc/release_notes.rst:367 +#: ../../build/doc/release_notes.rst:484 msgid "Fixes windows test" msgstr "Corrección de la prueba de ventanas" -#: ../../build/doc/release_notes.rst:368 +#: ../../build/doc/release_notes.rst:485 msgid "Fixes build for python3 and perl5" msgstr "Arreglos de compilación para python3 y perl5" -#: ../../build/doc/release_notes.rst:373 +#: ../../build/doc/release_notes.rst:490 msgid "pgRouting 2.5.4 Release Notes" msgstr "Notas de la versión de pgRouting 2.5.4 " -#: ../../build/doc/release_notes.rst:375 +#: ../../build/doc/release_notes.rst:492 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1107,11 +1422,11 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:413 +#: ../../build/doc/release_notes.rst:530 msgid "pgRouting 2.5.3 Release Notes" msgstr "Notas de la versión de pgRouting 2.5.3 " -#: ../../build/doc/release_notes.rst:415 +#: ../../build/doc/release_notes.rst:532 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1124,7 +1439,7 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:419 +#: ../../build/doc/release_notes.rst:536 msgid "" "Fix for postgresql 11: Removed a compilation error when compiling with " "postgreSQL" @@ -1132,11 +1447,11 @@ msgstr "" "Arreglo para postgresql 11: Se ha eliminado un error que ocurría al compilar" " con postgreSQL" -#: ../../build/doc/release_notes.rst:424 +#: ../../build/doc/release_notes.rst:541 msgid "pgRouting 2.5.2 Release Notes" msgstr "Notas de la versión de pgRouting 2.5.2" -#: ../../build/doc/release_notes.rst:426 +#: ../../build/doc/release_notes.rst:543 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1149,16 +1464,16 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:430 +#: ../../build/doc/release_notes.rst:547 msgid "Fix for postgresql 10.1: Removed a compiler condition" msgstr "" "Arreglo para postgresql 10.1: Se ha eliminado una condición del compilador" -#: ../../build/doc/release_notes.rst:436 +#: ../../build/doc/release_notes.rst:553 msgid "pgRouting 2.5.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.5.1" -#: ../../build/doc/release_notes.rst:438 +#: ../../build/doc/release_notes.rst:555 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1171,15 +1486,15 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:442 +#: ../../build/doc/release_notes.rst:559 msgid "Fixed prerequisite minimum version of: cmake" msgstr "Prerrequisito fijo versión mínima de: cmake" -#: ../../build/doc/release_notes.rst:448 +#: ../../build/doc/release_notes.rst:565 msgid "pgRouting 2.5.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.5.0" -#: ../../build/doc/release_notes.rst:450 +#: ../../build/doc/release_notes.rst:567 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.5.0 " @@ -1191,103 +1506,103 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:454 +#: ../../build/doc/release_notes.rst:571 msgid "enhancement:" msgstr "mejora:" -#: ../../build/doc/release_notes.rst:455 +#: ../../build/doc/release_notes.rst:572 msgid "pgr_version is now on SQL language" msgstr "pgr_version está ahora en lenguaje SQL" -#: ../../build/doc/release_notes.rst:458 +#: ../../build/doc/release_notes.rst:575 msgid "Breaking change on:" msgstr "Cambio de ruptura en:" -#: ../../build/doc/release_notes.rst:459 +#: ../../build/doc/release_notes.rst:576 msgid "pgr_edgeDisjointPaths:" msgstr "pgr_edgeDisjointPaths:" -#: ../../build/doc/release_notes.rst:461 +#: ../../build/doc/release_notes.rst:578 msgid "Added path_id, cost and agg_cost columns on the result" msgstr "Columnas path_id, cost y agg_cost añadidas en el resultado." -#: ../../build/doc/release_notes.rst:462 +#: ../../build/doc/release_notes.rst:579 msgid "Parameter names changed" msgstr "Nombres de parámetros cambiados" -#: ../../build/doc/release_notes.rst:463 +#: ../../build/doc/release_notes.rst:580 msgid "The many version results are the union of the one to one version" msgstr "" "Los muchos resultados de la versión son la unión de la versión Uno a Uno" -#: ../../build/doc/release_notes.rst:466 +#: ../../build/doc/release_notes.rst:583 msgid "New Signatures:" msgstr "Nuevas Firmas:" -#: ../../build/doc/release_notes.rst:467 +#: ../../build/doc/release_notes.rst:584 msgid "pgr_bdAstar(one to one)" msgstr "pgr_bdAstar(Uno a Uno)" -#: ../../build/doc/release_notes.rst:470 ../../build/doc/release_notes.rst:629 +#: ../../build/doc/release_notes.rst:587 ../../build/doc/release_notes.rst:746 msgid "New Proposed functions" msgstr "Nuevas Funciones Propuestas" -#: ../../build/doc/release_notes.rst:478 +#: ../../build/doc/release_notes.rst:595 msgid "pgr_bdAstarCostMatrix" msgstr "pgr_bdAstarCostMatrix" -#: ../../build/doc/release_notes.rst:486 +#: ../../build/doc/release_notes.rst:603 msgid "pgr_bdDijkstraCostMatrix" msgstr "pgr_bdDijkstraCostMatrix" -#: ../../build/doc/release_notes.rst:487 +#: ../../build/doc/release_notes.rst:604 msgid "pgr_lineGraph" msgstr "pgr_lineGraph" -#: ../../build/doc/release_notes.rst:496 ../../build/doc/release_notes.rst:566 -#: ../../build/doc/release_notes.rst:653 +#: ../../build/doc/release_notes.rst:613 ../../build/doc/release_notes.rst:683 +#: ../../build/doc/release_notes.rst:770 msgid "Deprecated Signatures" msgstr "Firmas Obsoletas" -#: ../../build/doc/release_notes.rst:497 +#: ../../build/doc/release_notes.rst:614 msgid "pgr_bdastar - use pgr_bdAstar instead" msgstr "pgr_bdastar - utilice pgr_bdAstar en su lugar" -#: ../../build/doc/release_notes.rst:500 +#: ../../build/doc/release_notes.rst:617 msgid "Renamed Functions" msgstr "Funciones Renombradas" -#: ../../build/doc/release_notes.rst:501 +#: ../../build/doc/release_notes.rst:618 msgid "pgr_maxFlowPushRelabel - use pgr_pushRelabel instead" msgstr "pgr_maxFlowPushRelabel - utilice pgr_pushRelabel en su lugar" -#: ../../build/doc/release_notes.rst:502 +#: ../../build/doc/release_notes.rst:619 msgid "pgr_maxFlowEdmondsKarp -use pgr_edmondsKarp instead" msgstr "pgr_maxFlowEdmondsKarp -utilice pgr_edmondsKarp en su lugar" -#: ../../build/doc/release_notes.rst:503 +#: ../../build/doc/release_notes.rst:620 msgid "pgr_maxFlowBoykovKolmogorov - use pgr_boykovKolmogorov instead" msgstr "" "pgr_maxFlowBoykovKolmogorov - utilice pgr_boykovKolmogorov en su lugar" -#: ../../build/doc/release_notes.rst:504 +#: ../../build/doc/release_notes.rst:621 msgid "pgr_maximumCardinalityMatching - use pgr_maxCardinalityMatch instead" msgstr "" "pgr_maximumCardinalityMatching - utilice pgr_maxCardinalityMatch en su lugar" -#: ../../build/doc/release_notes.rst:507 +#: ../../build/doc/release_notes.rst:624 msgid "Deprecated function" msgstr "Función Obsoleta" -#: ../../build/doc/release_notes.rst:508 +#: ../../build/doc/release_notes.rst:625 msgid "pgr_pointToEdgeNode" msgstr "pgr_pointToEdgeNode" -#: ../../build/doc/release_notes.rst:514 +#: ../../build/doc/release_notes.rst:631 msgid "pgRouting 2.4.2 Release Notes" msgstr "Notas de la versión de pgRouting 2.4.2 " -#: ../../build/doc/release_notes.rst:516 +#: ../../build/doc/release_notes.rst:633 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1300,30 +1615,30 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:519 +#: ../../build/doc/release_notes.rst:636 msgid "Improvement" msgstr "Mejora" -#: ../../build/doc/release_notes.rst:520 +#: ../../build/doc/release_notes.rst:637 msgid "Works for postgreSQL 10" msgstr "Funciona para postgreSQL 10" -#: ../../build/doc/release_notes.rst:524 +#: ../../build/doc/release_notes.rst:641 msgid "Fixed: Unexpected error column \"cname\"" msgstr "Corregido: Columna de error inesperado \"cname\"" -#: ../../build/doc/release_notes.rst:525 +#: ../../build/doc/release_notes.rst:642 msgid "" "Replace __linux__ with __GLIBC__ for glibc-specific headers and functions" msgstr "" "Reemplace __linux__ por __GLIBC__ para cabeceras y funciones específicas de " "glibc" -#: ../../build/doc/release_notes.rst:532 +#: ../../build/doc/release_notes.rst:649 msgid "pgRouting 2.4.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.4.1" -#: ../../build/doc/release_notes.rst:534 +#: ../../build/doc/release_notes.rst:651 #, python-format msgid "" "To see the issues closed by this release see the `Git closed milestone for " @@ -1336,19 +1651,19 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:538 +#: ../../build/doc/release_notes.rst:655 msgid "Fixed compiling error on macOS" msgstr "Corregido error de compilación en macOS" -#: ../../build/doc/release_notes.rst:539 +#: ../../build/doc/release_notes.rst:656 msgid "Condition error on pgr_withPoints" msgstr "Error de condición en pgr_withPoints" -#: ../../build/doc/release_notes.rst:544 +#: ../../build/doc/release_notes.rst:661 msgid "pgRouting 2.4.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.4.0" -#: ../../build/doc/release_notes.rst:546 +#: ../../build/doc/release_notes.rst:663 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.4.0 " @@ -1360,82 +1675,82 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:549 ../../build/doc/release_notes.rst:619 -#: ../../build/doc/release_notes.rst:780 +#: ../../build/doc/release_notes.rst:666 ../../build/doc/release_notes.rst:736 +#: ../../build/doc/release_notes.rst:897 msgid "New Signatures" msgstr "Nuevas Firmas" -#: ../../build/doc/release_notes.rst:550 +#: ../../build/doc/release_notes.rst:667 msgid "pgr_bdDijkstra" msgstr "pgr_bdDijkstra" -#: ../../build/doc/release_notes.rst:554 +#: ../../build/doc/release_notes.rst:671 msgid "New Proposed Signatures" msgstr "Nuevas Firmas Propuestas" -#: ../../build/doc/release_notes.rst:556 +#: ../../build/doc/release_notes.rst:673 msgid "pgr_astar(one to many)" msgstr "pgr_astar(Uno a Muchos)" -#: ../../build/doc/release_notes.rst:557 +#: ../../build/doc/release_notes.rst:674 msgid "pgr_astar(many to one)" msgstr "pgr_astar(muchos a uno)" -#: ../../build/doc/release_notes.rst:558 +#: ../../build/doc/release_notes.rst:675 msgid "pgr_astar(many to many)" msgstr "pgr_astar(muchos a muchos)" -#: ../../build/doc/release_notes.rst:559 +#: ../../build/doc/release_notes.rst:676 msgid "pgr_astarCost(one to one)" msgstr "pgr_astarCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:560 +#: ../../build/doc/release_notes.rst:677 msgid "pgr_astarCost(one to many)" msgstr "pgr_astarCost(uno a muchos)" -#: ../../build/doc/release_notes.rst:561 +#: ../../build/doc/release_notes.rst:678 msgid "pgr_astarCost(many to one)" msgstr "pgr_astarCost(muchos a uno)" -#: ../../build/doc/release_notes.rst:562 +#: ../../build/doc/release_notes.rst:679 msgid "pgr_astarCost(many to many)" msgstr "pgr_astarCost(muchos a muchos)" -#: ../../build/doc/release_notes.rst:563 +#: ../../build/doc/release_notes.rst:680 msgid "pgr_astarCostMatrix" msgstr "pgr_astarCostMatrix" -#: ../../build/doc/release_notes.rst:567 +#: ../../build/doc/release_notes.rst:684 msgid "pgr_bddijkstra - use pgr_bdDijkstra instead" msgstr "pgr_bddijkstra - utilice pgr_bdDijkstra en su lugar" -#: ../../build/doc/release_notes.rst:570 ../../build/doc/release_notes.rst:659 +#: ../../build/doc/release_notes.rst:687 ../../build/doc/release_notes.rst:776 msgid "Deprecated Functions" msgstr "Funciones Obsoletas" -#: ../../build/doc/release_notes.rst:571 +#: ../../build/doc/release_notes.rst:688 msgid "pgr_pointsToVids" msgstr "pgr_pointsToVids" -#: ../../build/doc/release_notes.rst:575 +#: ../../build/doc/release_notes.rst:692 msgid "Bug fixes on proposed functions" msgstr "Corrección de errores en las funciones propuestas" -#: ../../build/doc/release_notes.rst:577 +#: ../../build/doc/release_notes.rst:694 msgid "pgr_withPointsKSP: fixed ordering" msgstr "pgr_withPointsKSP: ordenamiento arreglado" -#: ../../build/doc/release_notes.rst:579 +#: ../../build/doc/release_notes.rst:696 msgid "TRSP original code is used with no changes on the compilation warnings" msgstr "" "El código original de TRSP se utiliza sin cambios en las advertencias de " "compilación" -#: ../../build/doc/release_notes.rst:584 +#: ../../build/doc/release_notes.rst:701 msgid "pgRouting 2.3.2 Release Notes" msgstr "Notas de la versión de pgRouting 2.3.2 " -#: ../../build/doc/release_notes.rst:586 +#: ../../build/doc/release_notes.rst:703 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.2 " @@ -1447,31 +1762,31 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:590 +#: ../../build/doc/release_notes.rst:707 msgid "Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck." msgstr "" "Se ha corregido el bloqueo pgr_gsoc_vrppdtw cuando todos los pedidos caben " "en un camión." -#: ../../build/doc/release_notes.rst:591 +#: ../../build/doc/release_notes.rst:708 msgid "Fixed pgr_trsp:" msgstr "Corregido pgr_trsp:" -#: ../../build/doc/release_notes.rst:593 +#: ../../build/doc/release_notes.rst:710 msgid "Alternate code is not executed when the point is in reality a vertex" msgstr "" "El código alternativo no se ejecuta cuando el punto es en realidad un " "vértice" -#: ../../build/doc/release_notes.rst:594 +#: ../../build/doc/release_notes.rst:711 msgid "Fixed ambiguity on seq" msgstr "Corregida la ambiguedad en el seq" -#: ../../build/doc/release_notes.rst:600 +#: ../../build/doc/release_notes.rst:717 msgid "pgRouting 2.3.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.3.1" -#: ../../build/doc/release_notes.rst:602 +#: ../../build/doc/release_notes.rst:719 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.1 " @@ -1483,23 +1798,23 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:606 +#: ../../build/doc/release_notes.rst:723 msgid "Leaks on proposed max_flow functions" msgstr "Fugas en las funciones max_flow propuestas" -#: ../../build/doc/release_notes.rst:607 +#: ../../build/doc/release_notes.rst:724 msgid "Regression error on pgr_trsp" msgstr "Error de regresión en pgr_trsp" -#: ../../build/doc/release_notes.rst:608 +#: ../../build/doc/release_notes.rst:725 msgid "Types discrepancy on pgr_createVerticesTable" msgstr "Discrepancia de tipos en pgr_createVerticesTable" -#: ../../build/doc/release_notes.rst:614 +#: ../../build/doc/release_notes.rst:731 msgid "pgRouting 2.3.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.3.0" -#: ../../build/doc/release_notes.rst:616 +#: ../../build/doc/release_notes.rst:733 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.3.0 " @@ -1511,111 +1826,111 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:620 +#: ../../build/doc/release_notes.rst:737 msgid "pgr_TSP" msgstr "pgr_TSP" -#: ../../build/doc/release_notes.rst:621 +#: ../../build/doc/release_notes.rst:738 msgid "pgr_aStar" msgstr "pgr_aStar" -#: ../../build/doc/release_notes.rst:624 ../../build/doc/release_notes.rst:736 +#: ../../build/doc/release_notes.rst:741 ../../build/doc/release_notes.rst:853 msgid "New Functions" msgstr "Nuevas Funciones" -#: ../../build/doc/release_notes.rst:625 +#: ../../build/doc/release_notes.rst:742 msgid "pgr_eucledianTSP" msgstr "pgr_eucledianTSP" -#: ../../build/doc/release_notes.rst:631 +#: ../../build/doc/release_notes.rst:748 msgid "pgr_withPointsCostMatrix" msgstr "pgr_withPointsCostMatrix" -#: ../../build/doc/release_notes.rst:632 +#: ../../build/doc/release_notes.rst:749 msgid "pgr_maxFlowPushRelabel(one to one)" msgstr "pgr_maxFlowPushRelabel(Uno a Uno)" -#: ../../build/doc/release_notes.rst:633 +#: ../../build/doc/release_notes.rst:750 msgid "pgr_maxFlowPushRelabel(one to many)" msgstr "pgr_maxFlowPushRelabel(uno a muchos)" -#: ../../build/doc/release_notes.rst:634 +#: ../../build/doc/release_notes.rst:751 msgid "pgr_maxFlowPushRelabel(many to one)" msgstr "pgr_maxFlowPushRelabel(muchos a uno)" -#: ../../build/doc/release_notes.rst:635 +#: ../../build/doc/release_notes.rst:752 msgid "pgr_maxFlowPushRelabel(many to many)" msgstr "pgr_maxFlowPushRelabel(muchos a muchos)" -#: ../../build/doc/release_notes.rst:636 +#: ../../build/doc/release_notes.rst:753 msgid "pgr_maxFlowEdmondsKarp(one to one)" msgstr "pgr_maxFlowEdmondsKarp(Uno a Uno)" -#: ../../build/doc/release_notes.rst:637 +#: ../../build/doc/release_notes.rst:754 msgid "pgr_maxFlowEdmondsKarp(one to many)" msgstr "pgr_maxFlowEdmondsKarp(uno a muchos)" -#: ../../build/doc/release_notes.rst:638 +#: ../../build/doc/release_notes.rst:755 msgid "pgr_maxFlowEdmondsKarp(many to one)" msgstr "pgr_maxFlowEdmondsKarp(muchos a uno)" -#: ../../build/doc/release_notes.rst:639 +#: ../../build/doc/release_notes.rst:756 msgid "pgr_maxFlowEdmondsKarp(many to many)" msgstr "pgr_maxFlowEdmondsKarp(muchos a muchos)" -#: ../../build/doc/release_notes.rst:640 +#: ../../build/doc/release_notes.rst:757 msgid "pgr_maxFlowBoykovKolmogorov (one to one)" msgstr "pgr_maxFlowBoykovKolmogorov(Uno a Uno)" -#: ../../build/doc/release_notes.rst:641 +#: ../../build/doc/release_notes.rst:758 msgid "pgr_maxFlowBoykovKolmogorov (one to many)" msgstr "pgr_maxFlowBoykovKolmogorov (uno a muchos)" -#: ../../build/doc/release_notes.rst:642 +#: ../../build/doc/release_notes.rst:759 msgid "pgr_maxFlowBoykovKolmogorov (many to one)" msgstr "pgr_maxFlowBoykovKolmogorov (muchos a uno)" -#: ../../build/doc/release_notes.rst:643 +#: ../../build/doc/release_notes.rst:760 msgid "pgr_maxFlowBoykovKolmogorov (many to many)" msgstr "pgr_maxFlowBoykovKolmogorov (muchos a muchos)" -#: ../../build/doc/release_notes.rst:644 +#: ../../build/doc/release_notes.rst:761 msgid "pgr_maximumCardinalityMatching" msgstr "pgr_maximumCardinalityMatching" -#: ../../build/doc/release_notes.rst:649 +#: ../../build/doc/release_notes.rst:766 msgid "pgr_contractGraph" msgstr "pgr_contractGraph" -#: ../../build/doc/release_notes.rst:654 +#: ../../build/doc/release_notes.rst:771 msgid "pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead" msgstr "pgr_tsp - utilice pgr_TSP o pgr_eucledianTSP en su lugar" -#: ../../build/doc/release_notes.rst:655 +#: ../../build/doc/release_notes.rst:772 msgid "pgr_astar - use pgr_aStar instead" msgstr "pgr_astar - utilice pgr_aStar en su lugar" -#: ../../build/doc/release_notes.rst:660 +#: ../../build/doc/release_notes.rst:777 msgid "pgr_flip_edges" msgstr "pgr_flip_edges" -#: ../../build/doc/release_notes.rst:661 +#: ../../build/doc/release_notes.rst:778 msgid "pgr_vidsToDmatrix" msgstr "pgr_vidsToDmatrix" -#: ../../build/doc/release_notes.rst:662 +#: ../../build/doc/release_notes.rst:779 msgid "pgr_pointsToDMatrix" msgstr "pgr_pointsToDMatrix" -#: ../../build/doc/release_notes.rst:663 +#: ../../build/doc/release_notes.rst:780 msgid "pgr_textToPoints" msgstr "pgr_textToPoints" -#: ../../build/doc/release_notes.rst:670 +#: ../../build/doc/release_notes.rst:787 msgid "pgRouting 2.2.4 Release Notes" msgstr "Notas de la versión de pgRouting 2.2.4 " -#: ../../build/doc/release_notes.rst:672 +#: ../../build/doc/release_notes.rst:789 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.4 " @@ -1627,23 +1942,23 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:676 +#: ../../build/doc/release_notes.rst:793 msgid "Bogus uses of extern \"C\"" msgstr "Bogus usos de extern \"C\"" -#: ../../build/doc/release_notes.rst:677 +#: ../../build/doc/release_notes.rst:794 msgid "Build error on Fedora 24 + GCC 6.0" msgstr "Error de compilación en Fedora 24 + GCC 6.0" -#: ../../build/doc/release_notes.rst:678 +#: ../../build/doc/release_notes.rst:795 msgid "Regression error pgr_nodeNetwork" msgstr "Error de regresión pgr_nodeNetwork" -#: ../../build/doc/release_notes.rst:683 +#: ../../build/doc/release_notes.rst:800 msgid "pgRouting 2.2.3 Release Notes" msgstr "Notas de la versión de pgRouting 2.2.3 " -#: ../../build/doc/release_notes.rst:685 +#: ../../build/doc/release_notes.rst:802 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.3 " @@ -1655,15 +1970,15 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:689 +#: ../../build/doc/release_notes.rst:806 msgid "Fixed compatibility issues with PostgreSQL 9.6." msgstr "Problemas de compatibilidad con PostgreSQL 9.6 corregidos." -#: ../../build/doc/release_notes.rst:694 +#: ../../build/doc/release_notes.rst:811 msgid "pgRouting 2.2.2 Release Notes" msgstr "Notas de la versión de pgRouting 2.2.2 " -#: ../../build/doc/release_notes.rst:696 +#: ../../build/doc/release_notes.rst:813 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.2 " @@ -1675,15 +1990,15 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:700 +#: ../../build/doc/release_notes.rst:817 msgid "Fixed regression error on pgr_drivingDistance" msgstr "Corregido error de regresión en pgr_drivingDistance" -#: ../../build/doc/release_notes.rst:706 +#: ../../build/doc/release_notes.rst:823 msgid "pgRouting 2.2.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.2.1" -#: ../../build/doc/release_notes.rst:708 +#: ../../build/doc/release_notes.rst:825 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.1 " @@ -1695,19 +2010,19 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:712 +#: ../../build/doc/release_notes.rst:829 msgid "Server crash fix on pgr_alphaShape" msgstr "Corrección de bloqueo del servidor en pgr_alphaShape" -#: ../../build/doc/release_notes.rst:713 +#: ../../build/doc/release_notes.rst:830 msgid "Bug fix on With Points family of functions" msgstr "Corrección de errores en la familia de funciones With Points" -#: ../../build/doc/release_notes.rst:719 +#: ../../build/doc/release_notes.rst:836 msgid "pgRouting 2.2.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.2.0" -#: ../../build/doc/release_notes.rst:721 +#: ../../build/doc/release_notes.rst:838 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.2.0 " @@ -1719,131 +2034,131 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:725 ../../build/doc/release_notes.rst:793 +#: ../../build/doc/release_notes.rst:842 ../../build/doc/release_notes.rst:910 msgid "Improvements" msgstr "Mejoras" -#: ../../build/doc/release_notes.rst:726 +#: ../../build/doc/release_notes.rst:843 msgid "pgr_nodeNetwork" msgstr "pgr_nodeNetwork" -#: ../../build/doc/release_notes.rst:728 +#: ../../build/doc/release_notes.rst:845 msgid "Adding a row_where and outall optional parameters" msgstr "Adición de un row_where y todos los parámetros opcionales" -#: ../../build/doc/release_notes.rst:730 +#: ../../build/doc/release_notes.rst:847 msgid "Signature fix" msgstr "Corrección de firma" -#: ../../build/doc/release_notes.rst:732 +#: ../../build/doc/release_notes.rst:849 msgid "pgr_dijkstra -- to match what is documented" msgstr "pgr_dijkstra - para que coincida con lo que está documentado" -#: ../../build/doc/release_notes.rst:738 +#: ../../build/doc/release_notes.rst:855 msgid "pgr_Johnson" msgstr "pgr_Johnson" -#: ../../build/doc/release_notes.rst:739 +#: ../../build/doc/release_notes.rst:856 msgid "pgr_dijkstraCost(one to one)" msgstr "pgr_dijkstraCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:740 +#: ../../build/doc/release_notes.rst:857 msgid "pgr_dijkstraCost(one to many)" msgstr "pgr_dijkstraCost(uno a muchos)" -#: ../../build/doc/release_notes.rst:741 +#: ../../build/doc/release_notes.rst:858 msgid "pgr_dijkstraCost(many to one)" msgstr "pgr_dijkstraCost(muchos a uno)" -#: ../../build/doc/release_notes.rst:742 +#: ../../build/doc/release_notes.rst:859 msgid "pgr_dijkstraCost(many to many)" msgstr "pgr_dijkstraCost(muchos a muchos)" -#: ../../build/doc/release_notes.rst:745 ../../build/doc/release_notes.rst:797 +#: ../../build/doc/release_notes.rst:862 ../../build/doc/release_notes.rst:914 msgid "Proposed functionality" msgstr "Funcionalidad propuesta" -#: ../../build/doc/release_notes.rst:746 +#: ../../build/doc/release_notes.rst:863 msgid "pgr_withPoints(one to one)" msgstr "pgr_withPoints(Uno a Uno)" -#: ../../build/doc/release_notes.rst:747 +#: ../../build/doc/release_notes.rst:864 msgid "pgr_withPoints(one to many)" msgstr "pgr_withPoints(uno a muchos)" -#: ../../build/doc/release_notes.rst:748 +#: ../../build/doc/release_notes.rst:865 msgid "pgr_withPoints(many to one)" msgstr "pgr_withPoints(muchos a uno)" -#: ../../build/doc/release_notes.rst:749 +#: ../../build/doc/release_notes.rst:866 msgid "pgr_withPoints(many to many)" msgstr "pgr_withPoints(muchos a muchos)" -#: ../../build/doc/release_notes.rst:750 +#: ../../build/doc/release_notes.rst:867 msgid "pgr_withPointsCost(one to one)" msgstr "pgr_withPointsCost(Uno a Uno)" -#: ../../build/doc/release_notes.rst:751 +#: ../../build/doc/release_notes.rst:868 msgid "pgr_withPointsCost(one to many)" msgstr "pgr_withPointsCost(uno a muchos)" -#: ../../build/doc/release_notes.rst:752 +#: ../../build/doc/release_notes.rst:869 msgid "pgr_withPointsCost(many to one)" msgstr "pgr_withPointsCost(muchos a uno)" -#: ../../build/doc/release_notes.rst:753 +#: ../../build/doc/release_notes.rst:870 msgid "pgr_withPointsCost(many to many)" msgstr "pgr_withPointsCost(muchos a muchos)" -#: ../../build/doc/release_notes.rst:754 +#: ../../build/doc/release_notes.rst:871 msgid "pgr_withPointsDD(single vertex)" msgstr "pgr_withPointsDD(vértice único)" -#: ../../build/doc/release_notes.rst:755 +#: ../../build/doc/release_notes.rst:872 msgid "pgr_withPointsDD(multiple vertices)" msgstr "pgr_withPointsDD(múltiples vértices)" -#: ../../build/doc/release_notes.rst:756 +#: ../../build/doc/release_notes.rst:873 msgid "pgr_withPointsKSP" msgstr "pgr_withPointsKSP" -#: ../../build/doc/release_notes.rst:757 +#: ../../build/doc/release_notes.rst:874 msgid "pgr_dijkstraVia" msgstr "pgr_dijkstraVia" -#: ../../build/doc/release_notes.rst:761 +#: ../../build/doc/release_notes.rst:878 msgid "Deprecated functions:" msgstr "Funciones obsoletas:" -#: ../../build/doc/release_notes.rst:762 +#: ../../build/doc/release_notes.rst:879 msgid "pgr_apspWarshall use pgr_floydWarshall instead" msgstr "pgr_apspWarshall utilice pgr_floydWarshall en su lugar" -#: ../../build/doc/release_notes.rst:763 +#: ../../build/doc/release_notes.rst:880 msgid "pgr_apspJohnson use pgr_Johnson instead" msgstr "pgr_apspJohnson utilice pgr_Johnson en su lugar" -#: ../../build/doc/release_notes.rst:764 +#: ../../build/doc/release_notes.rst:881 msgid "pgr_kDijkstraCost use pgr_dijkstraCost instead" msgstr "pgr_kDijkstraCost utilice pgr_dijkstraCost en su lugar" -#: ../../build/doc/release_notes.rst:765 +#: ../../build/doc/release_notes.rst:882 msgid "pgr_kDijkstraPath use pgr_dijkstra instead" msgstr "pgr_kDijkstraPath utilice pgr_dijkstra en su lugar" -#: ../../build/doc/release_notes.rst:768 +#: ../../build/doc/release_notes.rst:885 msgid "Renamed and deprecated function" msgstr "Función renombrada y obsoleta" -#: ../../build/doc/release_notes.rst:769 +#: ../../build/doc/release_notes.rst:886 msgid "pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix" msgstr "pgr_makeDistanceMatrix renombrado a _pgr_makeDistanceMatrix" -#: ../../build/doc/release_notes.rst:775 +#: ../../build/doc/release_notes.rst:892 msgid "pgRouting 2.1.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.1.0" -#: ../../build/doc/release_notes.rst:777 +#: ../../build/doc/release_notes.rst:894 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.1.0 " @@ -1855,39 +2170,39 @@ msgstr "" "`_" " en Github." -#: ../../build/doc/release_notes.rst:781 +#: ../../build/doc/release_notes.rst:898 msgid "pgr_dijkstra(one to many)" msgstr "pgr_dijkstra(uno a muchos)" -#: ../../build/doc/release_notes.rst:782 +#: ../../build/doc/release_notes.rst:899 msgid "pgr_dijkstra(many to one)" msgstr "pgr_dijkstra(muchos a uno)" -#: ../../build/doc/release_notes.rst:783 +#: ../../build/doc/release_notes.rst:900 msgid "pgr_dijkstra(many to many)" msgstr "pgr_dijkstra(muchos a muchos)" -#: ../../build/doc/release_notes.rst:784 +#: ../../build/doc/release_notes.rst:901 msgid "pgr_drivingDistance(multiple vertices)" msgstr "pgr_drivingDistance(multiple vertices)" -#: ../../build/doc/release_notes.rst:787 +#: ../../build/doc/release_notes.rst:904 msgid "Refactored" msgstr "Refactorizado" -#: ../../build/doc/release_notes.rst:788 +#: ../../build/doc/release_notes.rst:905 msgid "pgr_dijkstra(one to one)" msgstr "pgr_dijkstra(Uno a Uno)" -#: ../../build/doc/release_notes.rst:789 +#: ../../build/doc/release_notes.rst:906 msgid "pgr_ksp" msgstr "pgr_ksp" -#: ../../build/doc/release_notes.rst:790 +#: ../../build/doc/release_notes.rst:907 msgid "pgr_drivingDistance(single vertex)" msgstr "pgr_drivingDistance(single vertex)" -#: ../../build/doc/release_notes.rst:794 +#: ../../build/doc/release_notes.rst:911 msgid "" "pgr_alphaShape function now can generate better (multi)polygon with holes " "and alpha parameter." @@ -1895,7 +2210,7 @@ msgstr "" "La función pgr_alphaShape ahora puede generar mejores (multi)polígonos con " "agujeros y parámetro alfa." -#: ../../build/doc/release_notes.rst:798 +#: ../../build/doc/release_notes.rst:915 msgid "" "Proposed functions from Steve Woodbridge, (Classified as Convenience by the " "author.)" @@ -1903,7 +2218,7 @@ msgstr "" "Funciones propuestas de Steve Woodbridge, (Clasificado como Conveniencia por" " el autor.)" -#: ../../build/doc/release_notes.rst:800 +#: ../../build/doc/release_notes.rst:917 msgid "" "pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on " "closest edge." @@ -1911,7 +2226,7 @@ msgstr "" "pgr_pointToEdgeNode - convierta una geometría de punto en un vertex_id " "basado en la arista más cercana." -#: ../../build/doc/release_notes.rst:801 +#: ../../build/doc/release_notes.rst:918 msgid "" "pgr_flipEdges - flip the edges in an array of geometries so the connect end " "to end." @@ -1919,7 +2234,7 @@ msgstr "" "pgr_flipEdges - voltear los bordes en un arreglo de geometrías para la " "conexión de extremo a extremo." -#: ../../build/doc/release_notes.rst:802 +#: ../../build/doc/release_notes.rst:919 msgid "" "pgr_textToPoints - convert a string of x,y;x,y;... locations into point " "geometries." @@ -1927,126 +2242,126 @@ msgstr "" "pgr_textToPoints - convertir una cadena de x,y;x,y;... ubicaciones en " "geometrías de puntos." -#: ../../build/doc/release_notes.rst:803 +#: ../../build/doc/release_notes.rst:920 msgid "" "pgr_pointsToVids - convert an array of point geometries into vertex ids." msgstr "" "pgr_pointsToVids - convertir un arreglo de geometrías de puntos en " "identificadores de vértices." -#: ../../build/doc/release_notes.rst:804 +#: ../../build/doc/release_notes.rst:921 msgid "" "pgr_pointsToDMatrix - Create a distance matrix from an array of points." msgstr "" "pgr_pointsToDMatrix - Crear una matriz de distancia a partir de un arreglo " "de puntos." -#: ../../build/doc/release_notes.rst:805 ../../build/doc/release_notes.rst:806 +#: ../../build/doc/release_notes.rst:922 ../../build/doc/release_notes.rst:923 msgid "" "pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id." msgstr "" "pgr_vidsToDMatrix - Crear una matriz de distancia a partir de un arreglo de " "vertex_id." -#: ../../build/doc/release_notes.rst:808 +#: ../../build/doc/release_notes.rst:925 msgid "Added proposed functions from GSoc Projects:" msgstr "Funciones propuestas de GSoc Projects añadidas:" -#: ../../build/doc/release_notes.rst:810 +#: ../../build/doc/release_notes.rst:927 msgid "pgr_vrppdtw" msgstr "pgr_vrppdtw" -#: ../../build/doc/release_notes.rst:811 +#: ../../build/doc/release_notes.rst:928 msgid "pgr_vrponedepot" msgstr "pgr_vrponedepot" -#: ../../build/doc/release_notes.rst:814 +#: ../../build/doc/release_notes.rst:931 msgid "Deprecated functions" msgstr "Funciones Obsoletas" -#: ../../build/doc/release_notes.rst:815 +#: ../../build/doc/release_notes.rst:932 msgid "pgr_getColumnName" msgstr "pgr_getColumnName" -#: ../../build/doc/release_notes.rst:816 +#: ../../build/doc/release_notes.rst:933 msgid "pgr_getTableName" msgstr "pgr_getTableName" -#: ../../build/doc/release_notes.rst:817 +#: ../../build/doc/release_notes.rst:934 msgid "pgr_isColumnCndexed" msgstr "pgr_isColumnCndexed" -#: ../../build/doc/release_notes.rst:818 +#: ../../build/doc/release_notes.rst:935 msgid "pgr_isColumnInTable" msgstr "pgr_isColumnInTable" -#: ../../build/doc/release_notes.rst:819 +#: ../../build/doc/release_notes.rst:936 msgid "pgr_quote_ident" msgstr "pgr_quote_ident" -#: ../../build/doc/release_notes.rst:820 +#: ../../build/doc/release_notes.rst:937 msgid "pgr_versionless" msgstr "pgr_versionless" -#: ../../build/doc/release_notes.rst:821 +#: ../../build/doc/release_notes.rst:938 msgid "pgr_startPoint" msgstr "pgr_startPoint" -#: ../../build/doc/release_notes.rst:822 +#: ../../build/doc/release_notes.rst:939 msgid "pgr_endPoint" msgstr "pgr_endPoint" -#: ../../build/doc/release_notes.rst:823 +#: ../../build/doc/release_notes.rst:940 msgid "pgr_pointToId" msgstr "pgr_pointToId" -#: ../../build/doc/release_notes.rst:826 +#: ../../build/doc/release_notes.rst:943 msgid "No longer supported" msgstr "Ya no es soportada" -#: ../../build/doc/release_notes.rst:827 +#: ../../build/doc/release_notes.rst:944 msgid "Removed the 1.x legacy functions" msgstr "Se han eliminado las funciones heredadas 1.x" -#: ../../build/doc/release_notes.rst:831 +#: ../../build/doc/release_notes.rst:948 msgid "Some bug fixes in other functions" msgstr "Algunas correcciones de errores en otras funciones" -#: ../../build/doc/release_notes.rst:835 +#: ../../build/doc/release_notes.rst:952 msgid "Refactoring Internal Code" msgstr "Refactorización del código interno" -#: ../../build/doc/release_notes.rst:836 +#: ../../build/doc/release_notes.rst:953 msgid "A C and C++ library for developer was created" msgstr "Se creó una biblioteca de C y C++ para desarrolladores" -#: ../../build/doc/release_notes.rst:838 +#: ../../build/doc/release_notes.rst:955 msgid "encapsulates postgreSQL related functions" msgstr "encapsula las funciones relacionadas con postgreSQL" -#: ../../build/doc/release_notes.rst:839 +#: ../../build/doc/release_notes.rst:956 msgid "encapsulates Boost.Graph graphs" msgstr "encapsula los gráficos Boost.Graph" -#: ../../build/doc/release_notes.rst:841 +#: ../../build/doc/release_notes.rst:958 msgid "Directed Boost.Graph" msgstr "Directed Boost.Graph" -#: ../../build/doc/release_notes.rst:842 +#: ../../build/doc/release_notes.rst:959 msgid "Undirected Boost.graph." msgstr "Boost.graph no dirigido." -#: ../../build/doc/release_notes.rst:844 +#: ../../build/doc/release_notes.rst:961 msgid "allow any-integer in the id's" msgstr "permitir any-integer (cualquier entero) en el id" -#: ../../build/doc/release_notes.rst:845 +#: ../../build/doc/release_notes.rst:962 msgid "allow any-numerical on the cost/reverse_cost columns" msgstr "" "permitir any-numerical (cualquier numérico) en las columnas " "cost/reverse_cost" -#: ../../build/doc/release_notes.rst:847 +#: ../../build/doc/release_notes.rst:964 msgid "" "Instead of generating many libraries: - All functions are encapsulated in " "one library - The library has the prefix 2-1-0" @@ -2054,23 +2369,23 @@ msgstr "" "En lugar de generar muchas bibliotecas: - Todas las funciones están " "encapsuladas en una biblioteca - La biblioteca tiene el prefijo 2-1-0" -#: ../../build/doc/release_notes.rst:856 +#: ../../build/doc/release_notes.rst:973 msgid "pgRouting 2.0.1 Release Notes" msgstr "Notas de la versión de pgRouting 2.0.1" -#: ../../build/doc/release_notes.rst:858 +#: ../../build/doc/release_notes.rst:975 msgid "Minor bug fixes." msgstr "Corrección de errores menores." -#: ../../build/doc/release_notes.rst:862 +#: ../../build/doc/release_notes.rst:979 msgid "No track of the bug fixes were kept." msgstr "No se ha guardado ningún rastro de las correcciones de errores." -#: ../../build/doc/release_notes.rst:868 +#: ../../build/doc/release_notes.rst:985 msgid "pgRouting 2.0.0 Release Notes" msgstr "Notas de la versión de pgRouting 2.0.0" -#: ../../build/doc/release_notes.rst:870 +#: ../../build/doc/release_notes.rst:987 msgid "" "To see the issues closed by this release see the `Git closed issues for " "2.0.0 " @@ -2082,7 +2397,7 @@ msgstr "" "`_" " on Github." -#: ../../build/doc/release_notes.rst:872 +#: ../../build/doc/release_notes.rst:989 msgid "" "With the release of pgRouting 2.0.0 the library has abandoned backwards " "compatibility to :ref:`pgRouting 1.x ` releases. The main " @@ -2092,47 +2407,47 @@ msgstr "" "compatibilidad con versiones anteriores a :ref:`pgRouting 1.x " "` . Los objetivos principales de esta versión son:" -#: ../../build/doc/release_notes.rst:875 +#: ../../build/doc/release_notes.rst:992 msgid "Major restructuring of pgRouting." msgstr "Mayor reestructuración de pgRouting." -#: ../../build/doc/release_notes.rst:876 +#: ../../build/doc/release_notes.rst:993 msgid "Standardization of the function naming" msgstr "Estandarización de la nomenclatura de funciones" -#: ../../build/doc/release_notes.rst:877 +#: ../../build/doc/release_notes.rst:994 msgid "Preparation of the project for future development." msgstr "Elaboración del proyecto para el desarrollo futuro." -#: ../../build/doc/release_notes.rst:879 +#: ../../build/doc/release_notes.rst:996 msgid "As a result of this effort:" msgstr "Como resultado de este esfuerzo:" -#: ../../build/doc/release_notes.rst:881 +#: ../../build/doc/release_notes.rst:998 msgid "pgRouting has a simplified structure" msgstr "pgRouting tiene una estructura simplificada" -#: ../../build/doc/release_notes.rst:882 +#: ../../build/doc/release_notes.rst:999 msgid "Significant new functionality has being added" msgstr "Se ha añadido una nueva funcionalidad significativa" -#: ../../build/doc/release_notes.rst:883 +#: ../../build/doc/release_notes.rst:1000 msgid "Documentation has being integrated" msgstr "La documentación se ha integrado" -#: ../../build/doc/release_notes.rst:884 +#: ../../build/doc/release_notes.rst:1001 msgid "Testing has being integrated" msgstr "Las pruebas se han integrado" -#: ../../build/doc/release_notes.rst:885 +#: ../../build/doc/release_notes.rst:1002 msgid "And made it easier for multiple developers to make contributions." msgstr "Y facilitó que varios desarrolladores hicieran contribuciones." -#: ../../build/doc/release_notes.rst:889 +#: ../../build/doc/release_notes.rst:1006 msgid "Important Changes" msgstr "Cambios Importantes" -#: ../../build/doc/release_notes.rst:890 +#: ../../build/doc/release_notes.rst:1007 msgid "" "Graph Analytics - tools for detecting and fixing connection some problems in" " a graph" @@ -2140,18 +2455,18 @@ msgstr "" "Análisis gráfico - herramientas para detectar y arreglar algunos problemas " "de conexión en un gráfico de red" -#: ../../build/doc/release_notes.rst:891 +#: ../../build/doc/release_notes.rst:1008 msgid "A collection of useful utility functions" msgstr "Una colección de funciones útiles" -#: ../../build/doc/release_notes.rst:892 +#: ../../build/doc/release_notes.rst:1009 msgid "" "Two new All Pairs Short Path algorithms (pgr_apspJohnson, pgr_apspWarshall)" msgstr "" "Dos nuevos algoritmos para el camino más corto de todos pares " "(pgr_apspJohnson, pgr_apspWarshall)" -#: ../../build/doc/release_notes.rst:893 +#: ../../build/doc/release_notes.rst:1010 msgid "" "Bi-directional Dijkstra and A-star search algorithms (pgr_bdAstar, " "pgr_bdDijkstra)" @@ -2159,15 +2474,15 @@ msgstr "" "Algoritmos para el Dijkstra bidireccional y la búsqueda A*(pgr_bdAstar, " "pgr_bdDijkstra)" -#: ../../build/doc/release_notes.rst:894 +#: ../../build/doc/release_notes.rst:1011 msgid "One to many nodes search (pgr_kDijkstra)" msgstr "Búsqueda de uno a varios nodos (pgr_kDijkstra)" -#: ../../build/doc/release_notes.rst:895 +#: ../../build/doc/release_notes.rst:1012 msgid "K alternate paths shortest path (pgr_ksp)" msgstr " K rutas más cortas alternas de (pgr_ksp)" -#: ../../build/doc/release_notes.rst:896 +#: ../../build/doc/release_notes.rst:1013 msgid "" "New TSP solver that simplifies the code and the build process (pgr_tsp), " "dropped \"Gaul Library\" dependency" @@ -2175,17 +2490,17 @@ msgstr "" "Nuevo solucionador TSP que simplifica el código donde el proceso de " "compilación (pgr_tsp), ya no dependene de la biblioteca \"Gaul Library\" " -#: ../../build/doc/release_notes.rst:897 +#: ../../build/doc/release_notes.rst:1014 msgid "Turn Restricted shortest path (pgr_trsp) that replaces Shooting Star" msgstr "" "Ruta más corta con giros restringidos (pgr_trsp) que reemplaza a la estrella" " fugaz \"Shooting Star\"" -#: ../../build/doc/release_notes.rst:898 +#: ../../build/doc/release_notes.rst:1015 msgid "Dropped support for Shooting Star" msgstr "Se deja de soportar a la Estrella fugaz \"Shooting Star\"" -#: ../../build/doc/release_notes.rst:899 +#: ../../build/doc/release_notes.rst:1016 msgid "" "Built a test infrastructure that is run before major code changes are " "checked in" @@ -2193,7 +2508,7 @@ msgstr "" "Se construye una infraestructura de pruebas que se ejecuta antes de que se " "incorporen grandes cambios al código principal." -#: ../../build/doc/release_notes.rst:900 +#: ../../build/doc/release_notes.rst:1017 msgid "" "Tested and fixed most all of the outstanding bugs reported against 1.x that " "existing in the 2.0-dev code base." @@ -2201,62 +2516,62 @@ msgstr "" "Se probó y se arreglaron todos los errores excepcionales registrados en la " "versión 1.x existente en la base del código 2.0-dev." -#: ../../build/doc/release_notes.rst:901 +#: ../../build/doc/release_notes.rst:1018 msgid "Improved build process for Windows" msgstr "Proceso de compilación mejorados para Windows" -#: ../../build/doc/release_notes.rst:902 +#: ../../build/doc/release_notes.rst:1019 msgid "" "Automated testing on Linux and Windows platforms trigger by every commit" msgstr "" "Automatizado de pruebas en plataformas Linux y Windows por cada cambio " "permanente" -#: ../../build/doc/release_notes.rst:903 +#: ../../build/doc/release_notes.rst:1020 msgid "Modular library design" msgstr "Diseño modular de bibliotecas" -#: ../../build/doc/release_notes.rst:904 +#: ../../build/doc/release_notes.rst:1021 msgid "Compatibility with PostgreSQL 9.1 or newer" msgstr "Compatibilidad con PostgreSQL 9.1 o posterior" -#: ../../build/doc/release_notes.rst:905 +#: ../../build/doc/release_notes.rst:1022 msgid "Compatibility with PostGIS 2.0 or newer" msgstr "Compatibilidad con PostGIS 2.0 o posterior" -#: ../../build/doc/release_notes.rst:906 +#: ../../build/doc/release_notes.rst:1023 msgid "Installs as PostgreSQL EXTENSION" msgstr "Se instala como EXTENSION de PostgreSQL" -#: ../../build/doc/release_notes.rst:907 +#: ../../build/doc/release_notes.rst:1024 msgid "Return types re factored and unified" msgstr "Tipos de retorno refactorizados y unificados" -#: ../../build/doc/release_notes.rst:908 +#: ../../build/doc/release_notes.rst:1025 msgid "Support for table SCHEMA in function parameters" msgstr "Soporte para esquema en los parámetros de las funciones" -#: ../../build/doc/release_notes.rst:909 +#: ../../build/doc/release_notes.rst:1026 msgid "Support for ``st_`` PostGIS function prefix" msgstr "Soporte para el prefijo ``st_`` de las funciones de PostGIS " -#: ../../build/doc/release_notes.rst:910 +#: ../../build/doc/release_notes.rst:1027 msgid "Added ``pgr_`` prefix to functions and types" msgstr "Prefijo ``pgr_`` agregado a las funciones y tipos" -#: ../../build/doc/release_notes.rst:911 +#: ../../build/doc/release_notes.rst:1028 msgid "Better documentation: https://docs.pgrouting.org" msgstr "Mejor documentación: https://docs.pgrouting.org" -#: ../../build/doc/release_notes.rst:912 +#: ../../build/doc/release_notes.rst:1029 msgid "shooting_star is discontinued" msgstr "shooting_star está descontinuado" -#: ../../build/doc/release_notes.rst:919 +#: ../../build/doc/release_notes.rst:1036 msgid "pgRouting 1.x Release Notes" msgstr "Notas de versión de pgRouting 1.x " -#: ../../build/doc/release_notes.rst:921 +#: ../../build/doc/release_notes.rst:1038 msgid "" "To see the issues closed by this release see the `Git closed issues for 1.x " "`_" @@ -2269,97 +2584,98 @@ msgstr "" " on Github. The following release notes have been copied from the previous " "``RELEASE_NOTES`` file and are kept as a reference." -#: ../../build/doc/release_notes.rst:926 +#: ../../build/doc/release_notes.rst:1043 msgid "Changes for release 1.05" msgstr "Cambios para la versión 1.05" -#: ../../build/doc/release_notes.rst:932 +#: ../../build/doc/release_notes.rst:1049 msgid "Changes for release 1.03" msgstr "Cambios para la versión 1.03" -#: ../../build/doc/release_notes.rst:934 +#: ../../build/doc/release_notes.rst:1051 msgid "Much faster topology creation" msgstr "Creación de topología mucho más rápida" -#: ../../build/doc/release_notes.rst:939 +#: ../../build/doc/release_notes.rst:1056 msgid "Changes for release 1.02" msgstr "Cambios para la versión 1.02" -#: ../../build/doc/release_notes.rst:941 ../../build/doc/release_notes.rst:948 +#: ../../build/doc/release_notes.rst:1058 +#: ../../build/doc/release_notes.rst:1065 msgid "Shooting* bug fixes" msgstr "Corrección de errores de Disparo*" -#: ../../build/doc/release_notes.rst:942 +#: ../../build/doc/release_notes.rst:1059 msgid "Compilation problems solved" msgstr "Se resolvieron problemas de compilación" -#: ../../build/doc/release_notes.rst:946 +#: ../../build/doc/release_notes.rst:1063 msgid "Changes for release 1.01" msgstr "Cambios para la versión 1.01" -#: ../../build/doc/release_notes.rst:952 +#: ../../build/doc/release_notes.rst:1069 msgid "Changes for release 1.0" msgstr "Cambios para la versión 1.0" -#: ../../build/doc/release_notes.rst:954 +#: ../../build/doc/release_notes.rst:1071 msgid "Core and extra functions are separated" msgstr "Núcleo y funciones adicionales están separadas" -#: ../../build/doc/release_notes.rst:955 +#: ../../build/doc/release_notes.rst:1072 msgid "Cmake build process" msgstr "Proceso de compilación con CMake " -#: ../../build/doc/release_notes.rst:960 +#: ../../build/doc/release_notes.rst:1077 msgid "Changes for release 1.0.0b" msgstr "Cambios para la versión 1.0.0b" -#: ../../build/doc/release_notes.rst:962 +#: ../../build/doc/release_notes.rst:1079 msgid "Additional SQL file with more simple names for wrapper functions" msgstr "" "Archivos SQL adicionales con nombres más simples para las funciones de la " "envolturas" -#: ../../build/doc/release_notes.rst:967 +#: ../../build/doc/release_notes.rst:1084 msgid "Changes for release 1.0.0a" msgstr "Cambios para la versión 1.0.0a" -#: ../../build/doc/release_notes.rst:969 +#: ../../build/doc/release_notes.rst:1086 msgid "Shooting* shortest path algorithm for real road networks" msgstr "Algoritmo de ruta más corta Shooting\\* para redes de camino reales" -#: ../../build/doc/release_notes.rst:970 +#: ../../build/doc/release_notes.rst:1087 msgid "Several SQL bugs were fixed" msgstr "Se arreglaron varios errores de SQL" -#: ../../build/doc/release_notes.rst:974 +#: ../../build/doc/release_notes.rst:1091 msgid "Changes for release 0.9.9" msgstr "Cambios para la versión 0.9.9" -#: ../../build/doc/release_notes.rst:976 +#: ../../build/doc/release_notes.rst:1093 msgid "PostgreSQL 8.2 support" msgstr "Soporte PostgreSQL 8.2" -#: ../../build/doc/release_notes.rst:977 +#: ../../build/doc/release_notes.rst:1094 msgid "" "Shortest path functions return empty result if they could not find any path" msgstr "" "Las funciones de ruta más cortas devuelven un resultado vacío si no " "encuentran ninguna ruta de acceso" -#: ../../build/doc/release_notes.rst:981 +#: ../../build/doc/release_notes.rst:1098 msgid "Changes for release 0.9.8" msgstr "Cambios para versión 0.9.8" -#: ../../build/doc/release_notes.rst:983 +#: ../../build/doc/release_notes.rst:1100 msgid "Renumbering scheme was added to shortest path functions" msgstr "" "Esquema de numeración ha sido añadido a las funciones de ruta más cortos" -#: ../../build/doc/release_notes.rst:984 +#: ../../build/doc/release_notes.rst:1101 msgid "Directed shortest path functions were added" msgstr "Se agregaron funciones de ruta más cortos dirigidas" -#: ../../build/doc/release_notes.rst:985 +#: ../../build/doc/release_notes.rst:1102 msgid "routing_postgis.sql was modified to use dijkstra in TSP search" msgstr "" "routing_postgis.SQL fue modificado para utilizar dijkstra en la búsqueda TSP" From 9b216deef06c214c0da5223c1f132120070a41f7 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Sat, 28 Nov 2020 20:35:43 +0000 Subject: [PATCH 1188/1360] Apply translations in es translation completed for the source file '/locale/en/LC_MESSAGES/traversal-family.po' on the 'es' language. --- locale/es/LC_MESSAGES/traversal-family.po | 266 ++++++++++++++++++++++ 1 file changed, 266 insertions(+) create mode 100644 locale/es/LC_MESSAGES/traversal-family.po diff --git a/locale/es/LC_MESSAGES/traversal-family.po b/locale/es/LC_MESSAGES/traversal-family.po new file mode 100644 index 00000000000..06d5db09638 --- /dev/null +++ b/locale/es/LC_MESSAGES/traversal-family.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) pgRouting Contributors - Version v3.2.0-dev +# This file is distributed under the same license as the pgRouting package. +# FIRST AUTHOR , 2020. +# +# Translators: +# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pgRouting v3.2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-04 12:09-0600\n" +"PO-Revision-Date: 2020-11-04 19:19+0000\n" +"Last-Translator: MarPetra , 2020\n" +"Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../build/doc/traversal-family.rst:11 +msgid "Traversal - Family of functions (Experimental)" +msgstr "Transversal - Familia de funciones (Experimental)" + +#: ../../build/doc/experimental.rst:3 +msgid "Possible server crash" +msgstr "Posible bloqueo del servidor" + +#: ../../build/doc/experimental.rst:5 +msgid "These functions might create a server crash" +msgstr "Estas funciones pueden crear un bloqueo del servidor" + +#: ../../build/doc/experimental.rst:7 +msgid "Experimental functions" +msgstr "Funciones experimentales" + +#: ../../build/doc/experimental.rst:9 +msgid "They are not officially of the current release." +msgstr "No son oficialmente de la versión actual." + +#: ../../build/doc/experimental.rst:10 +msgid "They likely will not be officially be part of the next release:" +msgstr "Es probable que oficialmente no formen parte de la siguiente versión:" + +#: ../../build/doc/experimental.rst:12 +msgid "The functions might not make use of ANY-INTEGER and ANY-NUMERICAL" +msgstr "Las funciones no podrían hacer uso de ANY-INTEGER ni ANY-NUMERICAL" + +#: ../../build/doc/experimental.rst:13 +msgid "Name might change." +msgstr "El nombre puede cambiar." + +#: ../../build/doc/experimental.rst:14 +msgid "Signature might change." +msgstr "La firma (declaración de funciones) podría cambiar." + +#: ../../build/doc/experimental.rst:15 +msgid "Functionality might change." +msgstr "La funcionalidad puede cambiar." + +#: ../../build/doc/experimental.rst:16 +msgid "pgTap tests might be missing." +msgstr "Las pruebas de pgTap pueden estar ausentes." + +#: ../../build/doc/experimental.rst:17 +msgid "Might need c/c++ coding." +msgstr "Posiblemente necesite codificación c/c++." + +#: ../../build/doc/experimental.rst:18 +msgid "May lack documentation." +msgstr "Puede haber carencia de documentación." + +#: ../../build/doc/experimental.rst:19 +msgid "Documentation if any might need to be rewritten." +msgstr "Hay documentación que, en dado caso, podría ser necesario reescribir." + +#: ../../build/doc/experimental.rst:20 +msgid "Documentation examples might need to be automatically generated." +msgstr "" +"Ejemplos de documentación que puede ser necesario generar automáticamente." + +#: ../../build/doc/experimental.rst:21 +msgid "Might need a lot of feedback from the comunity." +msgstr "Puede ser necesaria más retroalimentación por parte de la comunidad." + +#: ../../build/doc/experimental.rst:22 +msgid "Might depend on a proposed function of pgRouting" +msgstr "Puede depender de una función propuesta de pgRouting." + +#: ../../build/doc/experimental.rst:23 +msgid "Might depend on a deprecated function of pgRouting" +msgstr "Podría depender de una función obsoleta de pgRouting" + +#: ../../build/doc/traversal-family.rst:19 +msgid "" +":doc:`pgr_depthFirstSearch` - Depth first search traversal of the graph." +msgstr "" +":doc:`pgr_depthFirstSearch` - Primera Búsqueda en Profundidad traversal del " +"grafo." + +#: ../../build/doc/traversal-family.rst:30 +msgid "Versions of this page" +msgstr "Versiones de esta página" + +#: ../../build/doc/traversal-family.rst:31 +msgid "" +"**Supported versions:** current(`3.2 `__)" +msgstr "" +"**Versiones Soportadas:** actual(`3.2 `__)" + +#: ../../build/doc/traversal-family.rst:36 +msgid "Inner query" +msgstr "Consulta interna" + +#: ../../build/doc/traversal-family.rst:39 +msgid "Edges SQL" +msgstr "Edges SQL" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Column" +msgstr "Columna" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Type" +msgstr "Tipo" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Default" +msgstr "Valores predeterminados" + +#: ../../build/doc/traversal-family.rst:43 +msgid "Description" +msgstr "Descripción" + +#: ../../build/doc/traversal-family.rst:45 +msgid "**id**" +msgstr "**id**" + +#: ../../build/doc/traversal-family.rst:45 +#: ../../build/doc/traversal-family.rst:46 +#: ../../build/doc/traversal-family.rst:47 +msgid "``ANY-INTEGER``" +msgstr "``ANY-INTEGER``" + +#: ../../build/doc/traversal-family.rst:45 +msgid "Identifier of the edge." +msgstr "Identificador de la arista." + +#: ../../build/doc/traversal-family.rst:46 +msgid "**source**" +msgstr "**origen**" + +#: ../../build/doc/traversal-family.rst:46 +msgid "Identifier of the first end point vertex of the edge." +msgstr "Identificador del primer punto final en el vértice de la arista." + +#: ../../build/doc/traversal-family.rst:47 +msgid "**target**" +msgstr "**objetivo**" + +#: ../../build/doc/traversal-family.rst:47 +msgid "Identifier of the second end point vertex of the edge." +msgstr "Identificador del segundo punto final en el vértice de la arista." + +#: ../../build/doc/traversal-family.rst:48 +msgid "**cost**" +msgstr "**cost**" + +#: ../../build/doc/traversal-family.rst:48 +#: ../../build/doc/traversal-family.rst:51 +msgid "``ANY-NUMERICAL``" +msgstr "``ANY-NUMERICAL``" + +#: ../../build/doc/traversal-family.rst:48 +msgid "When positive: edge `(source, target)` exist on the graph." +msgstr "Cuando es positivo: el borde `(origen, destino)` existe en el grafo." + +#: ../../build/doc/traversal-family.rst:49 +msgid "When negative: edge `(source, target)` does not exist on the graph." +msgstr "" +"Cuando es negativo: el borde `(origen, desitno)` no existe en el grafo." + +#: ../../build/doc/traversal-family.rst:51 +msgid "**reverse_cost**" +msgstr "**reverse_cost**" + +#: ../../build/doc/traversal-family.rst:51 +msgid "-1" +msgstr "-1" + +#: ../../build/doc/traversal-family.rst:51 +msgid "When positive: edge `(target, source)` exist on the graph." +msgstr "Cuando es positivo: el borde `(origen, destino)` existe en el grafo." + +#: ../../build/doc/traversal-family.rst:52 +msgid "When negative: edge `(target, source)` does not exist on the graph." +msgstr "" +"Cuando es negativo: el borde `(destino, origen)` no existe en el grafo." + +#: ../../build/doc/traversal-family.rst:56 +msgid "Where:" +msgstr "Donde:" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-INTEGER" +msgstr "ANY-INTEGER" + +#: ../../build/doc/traversal-family.rst:58 +msgid "SMALLINT, INTEGER, BIGINT" +msgstr "SMALLINT, INTEGER, BIGINT" + +#: ../../build/doc/traversal-family.rst +msgid "ANY-NUMERICAL" +msgstr "ANY-NUMERICAL" + +#: ../../build/doc/traversal-family.rst:59 +msgid "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" +msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" + +#: ../../build/doc/traversal-family.rst:65 +msgid "See Also" +msgstr "Ver también" + +#: ../../build/doc/pgr_depthFirstSearch.rst:3 +msgid "" +"`Boost: Depth First Search algorithm documentation " +"`__" +msgstr "" +"`Boost: documentación del algoritmo de Primera Búsqueda en Profundidad " +"`__" + +#: ../../build/doc/pgr_depthFirstSearch.rst:4 +msgid "" +"`Boost: Undirected DFS algorithm documentation " +"`__" +msgstr "" +"`Boost: Documentación del algoritmo DFS No dirigido " +"`__" + +#: ../../build/doc/pgr_depthFirstSearch.rst:5 +msgid "" +"`Wikipedia: Depth First Search algorithm `__" +msgstr "" +"'Wikipedia: Algoritmo de la Primera Búsqueda de Profundidad " +"`__" + +#: ../../build/doc/traversal-family.rst:73 +msgid "Indices and tables" +msgstr "Índices y tablas" + +#: ../../build/doc/traversal-family.rst:74 +msgid ":ref:`genindex`" +msgstr ":ref:`genindex`" + +#: ../../build/doc/traversal-family.rst:75 +msgid ":ref:`search`" +msgstr ":ref:`search`" From b7755a9b8116e398de5a487caa51beb4c67d29c2 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Mon, 11 Jan 2021 10:56:35 -0600 Subject: [PATCH 1189/1360] [es] updating fixes and reviews in es --- .github/workflows/doc-check.yml | 3 ++ .tx/config | 4 +- locale/es/LC_MESSAGES/KSP-category.po | 6 +-- locale/es/LC_MESSAGES/TSP-family.po | 37 +++++++-------- locale/es/LC_MESSAGES/VRP-category.po | 16 +++---- locale/es/LC_MESSAGES/aStar-family.po | 12 ++--- locale/es/LC_MESSAGES/allpairs-family.po | 14 +++--- locale/es/LC_MESSAGES/bdDijkstra-family.po | 8 ++-- .../chinesePostmanProblem-family.po | 15 +++--- locale/es/LC_MESSAGES/coloring-family.po | 2 +- locale/es/LC_MESSAGES/contraction-family.po | 14 +++--- locale/es/LC_MESSAGES/cost-category.po | 8 ++-- locale/es/LC_MESSAGES/costMatrix-category.po | 10 ++-- .../LC_MESSAGES/drivingDistance-category.po | 6 +-- locale/es/LC_MESSAGES/flow-family.po | 9 ++-- locale/es/LC_MESSAGES/kruskal-family.po | 14 +++--- locale/es/LC_MESSAGES/pgr_KSP.po | 18 +++---- locale/es/LC_MESSAGES/pgr_TSP.po | 37 +++++++-------- locale/es/LC_MESSAGES/pgr_TSPeuclidean.po | 47 +++++++++---------- locale/es/LC_MESSAGES/pgr_aStarCostMatrix.po | 40 +++++++++------- locale/es/LC_MESSAGES/pgr_alphaShape.po | 8 ++-- locale/es/LC_MESSAGES/pgr_analyzeGraph.po | 10 ++-- locale/es/LC_MESSAGES/pgr_analyzeOneWay.po | 6 +-- .../es/LC_MESSAGES/pgr_articulationPoints.po | 16 +++---- locale/es/LC_MESSAGES/pgr_bdAstar.po | 6 +-- locale/es/LC_MESSAGES/pgr_bdAstarCost.po | 2 +- .../es/LC_MESSAGES/pgr_bdAstarCostMatrix.po | 40 +++++++++------- .../LC_MESSAGES/pgr_bdDijkstraCostMatrix.po | 46 ++++++++++-------- .../LC_MESSAGES/pgr_biconnectedComponents.po | 16 +++---- locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po | 6 +-- .../es/LC_MESSAGES/pgr_breadthFirstSearch.po | 22 ++++----- locale/es/LC_MESSAGES/pgr_bridges.po | 8 ++-- locale/es/LC_MESSAGES/pgr_chinesePostman.po | 8 ++-- .../es/LC_MESSAGES/pgr_chinesePostmanCost.po | 8 ++-- .../es/LC_MESSAGES/pgr_connectedComponents.po | 18 +++---- locale/es/LC_MESSAGES/pgr_contraction.po | 12 ++--- locale/es/LC_MESSAGES/pgr_createTopology.po | 10 ++-- .../es/LC_MESSAGES/pgr_createVerticesTable.po | 12 ++--- locale/es/LC_MESSAGES/pgr_depthFirstSearch.po | 12 ++--- locale/es/LC_MESSAGES/pgr_dijkstra.po | 16 +++---- locale/es/LC_MESSAGES/pgr_dijkstraCost.po | 44 +++++++++-------- .../es/LC_MESSAGES/pgr_dijkstraCostMatrix.po | 40 +++++++++------- locale/es/LC_MESSAGES/pgr_dijkstraNearCost.po | 6 +-- locale/es/LC_MESSAGES/pgr_dijkstraVia.po | 18 +++---- locale/es/LC_MESSAGES/pgr_drivingDistance.po | 14 +++--- locale/es/LC_MESSAGES/pgr_edmondsKarp.po | 6 +-- locale/es/LC_MESSAGES/pgr_extractVertices.po | 8 ++-- locale/es/LC_MESSAGES/pgr_floydWarshall.po | 14 +++--- locale/es/LC_MESSAGES/pgr_full_version.po | 6 +-- locale/es/LC_MESSAGES/pgr_johnson.po | 14 +++--- locale/es/LC_MESSAGES/pgr_kruskal.po | 18 +++---- locale/es/LC_MESSAGES/pgr_kruskalBFS.po | 24 +++++----- locale/es/LC_MESSAGES/pgr_kruskalDD.po | 16 +++---- locale/es/LC_MESSAGES/pgr_kruskalDFS.po | 8 ++-- .../pgr_lengauerTarjanDominatorTree.po | 8 ++-- locale/es/LC_MESSAGES/pgr_lineGraph.po | 14 +++--- locale/es/LC_MESSAGES/pgr_lineGraphFull.po | 8 ++-- .../es/LC_MESSAGES/pgr_maxCardinalityMatch.po | 12 ++--- locale/es/LC_MESSAGES/pgr_maxFlow.po | 6 +-- locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po | 6 +-- .../es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po | 6 +-- locale/es/LC_MESSAGES/pgr_nodeNetwork.po | 10 ++-- locale/es/LC_MESSAGES/pgr_pickDeliver.po | 8 ++-- .../LC_MESSAGES/pgr_pickDeliverEuclidean.po | 16 +++---- locale/es/LC_MESSAGES/pgr_prim.po | 8 ++-- locale/es/LC_MESSAGES/pgr_primBFS.po | 8 ++-- locale/es/LC_MESSAGES/pgr_primDD.po | 8 ++-- locale/es/LC_MESSAGES/pgr_primDFS.po | 34 +++++++------- locale/es/LC_MESSAGES/pgr_pushRelabel.po | 6 +-- .../pgr_sequentialVertexColoring.po | 6 +-- locale/es/LC_MESSAGES/pgr_stoerWagner.po | 8 ++-- locale/es/LC_MESSAGES/pgr_strongComponents.po | 18 +++---- locale/es/LC_MESSAGES/pgr_topologicalSort.po | 8 ++-- .../es/LC_MESSAGES/pgr_transitiveClosure.po | 8 ++-- locale/es/LC_MESSAGES/pgr_trsp.po | 8 ++-- .../es/LC_MESSAGES/pgr_turnRestrictedPath.po | 10 ++-- locale/es/LC_MESSAGES/pgr_version.po | 10 ++-- locale/es/LC_MESSAGES/pgr_vrpOneDepot.po | 10 ++-- .../LC_MESSAGES/pgr_withPointsCostMatrix.po | 46 ++++++++++-------- locale/es/LC_MESSAGES/pgr_withPointsDD.po | 22 ++++----- locale/es/LC_MESSAGES/pgr_withPointsKSP.po | 18 +++---- locale/es/LC_MESSAGES/prim-family.po | 14 +++--- locale/es/LC_MESSAGES/proposed.po | 13 +++-- locale/es/LC_MESSAGES/routingFunctions.po | 21 ++++----- locale/es/LC_MESSAGES/sampledata.po | 4 +- locale/es/LC_MESSAGES/spanningTree-family.po | 18 +++---- locale/es/LC_MESSAGES/topology-functions.po | 18 +++---- .../es/LC_MESSAGES/transformation-family.po | 8 ++-- locale/es/LC_MESSAGES/withPoints-family.po | 10 ++-- 89 files changed, 656 insertions(+), 618 deletions(-) diff --git a/.github/workflows/doc-check.yml b/.github/workflows/doc-check.yml index dcb48fb09d3..0a06b350cd9 100644 --- a/.github/workflows/doc-check.yml +++ b/.github/workflows/doc-check.yml @@ -34,6 +34,9 @@ jobs: if [[ $(git log --format=%B -n 2 | tr -d "'" | tr -d " " | grep -Po '(?<=\.po)[^;]+') == *"${LANG_MSG}"* ]]; then PROCESS=${{ true }} fi + if [[ $(git log --format=%B -n 2 | tr -d "'" | tr -d " " | grep "\[${{ matrix.language }}\]") ]]; then + PROCESS=${{ true }} + fi if [[ "${{ matrix.language }}" == "en" ]]; then PROCESS=${{ true }} fi diff --git a/.tx/config b/.tx/config index 348df909a51..466058361ea 100644 --- a/.tx/config +++ b/.tx/config @@ -157,7 +157,7 @@ file_filter = locale//LC_MESSAGES/index.po source_file = locale/pot/index.pot source_lang = en -[pgrouting.locale-en-lc-messages-pgr_full-version-po--develop] +[pgrouting.locale-en-lc-messages-pgr-full-version-po--develop] file_filter = locale//LC_MESSAGES/pgr_full_version.po source_file = locale/pot/pgr_full_version.pot source_lang = en @@ -212,7 +212,7 @@ file_filter = locale//LC_MESSAGES/pgr_topologicalSort.po source_file = locale/pot/pgr_topologicalSort.pot source_lang = en -[pgrouting.locale-en-lc-messages-pgr_maxflowmincost-cost-po--develop] +[pgrouting.locale-en-lc-messages-pgr-maxflowmincost-cost-po--develop] file_filter = locale//LC_MESSAGES/pgr_maxFlowMinCost_Cost.po source_file = locale/pot/pgr_maxFlowMinCost_Cost.pot source_lang = en diff --git a/locale/es/LC_MESSAGES/KSP-category.po b/locale/es/LC_MESSAGES/KSP-category.po index 4f5915253c6..7129640cfa7 100644 --- a/locale/es/LC_MESSAGES/KSP-category.po +++ b/locale/es/LC_MESSAGES/KSP-category.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -13,8 +13,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/TSP-family.po b/locale/es/LC_MESSAGES/TSP-family.po index 2a2c83c8c38..26a2cea1b6c 100644 --- a/locale/es/LC_MESSAGES/TSP-family.po +++ b/locale/es/LC_MESSAGES/TSP-family.po @@ -4,23 +4,23 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2020 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" -"Last-Translator: MarPetra , 2020\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -622,22 +622,13 @@ msgstr "Referencias" #: ../../build/doc/TSP-family.rst:271 msgid "" -"`Simulated annaeling algorithm for beginners `__" -msgstr "" -"`Algoritmo de Recocido Simulado para principiantes " -"`__" - -#: ../../build/doc/TSP-family.rst:272 -msgid "" "`Wikipedia: Traveling Salesman Problem " "`__" msgstr "" "`Wikipedia: Traveling Salesman Problem " "`__" -#: ../../build/doc/TSP-family.rst:273 +#: ../../build/doc/TSP-family.rst:272 msgid "" "`Wikipedia: Simulated annealing " "`__" @@ -645,14 +636,22 @@ msgstr "" "`Wikipedia: Simulated annealing " "`__" -#: ../../build/doc/TSP-family.rst:276 +#: ../../build/doc/TSP-family.rst:275 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/TSP-family.rst:277 +#: ../../build/doc/TSP-family.rst:276 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/TSP-family.rst:278 +#: ../../build/doc/TSP-family.rst:277 msgid ":ref:`search`" msgstr ":ref:`search`" + +#~ msgid "" +#~ "`Simulated annaeling algorithm for beginners `__" +#~ msgstr "" +#~ "`Algoritmo de Recocido Simulado para principiantes " +#~ "`__" diff --git a/locale/es/LC_MESSAGES/VRP-category.po b/locale/es/LC_MESSAGES/VRP-category.po index 168267b6488..9b99ce621d4 100644 --- a/locale/es/LC_MESSAGES/VRP-category.po +++ b/locale/es/LC_MESSAGES/VRP-category.po @@ -5,9 +5,9 @@ # # Translators: # Sterling Quinn , 2020 -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 -# MarPetra , 2020 +# Vicky Vergara , 2020 +# MarPetra , 2021 # #, fuzzy msgid "" @@ -16,7 +16,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: MarPetra , 2021\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -59,7 +59,7 @@ msgstr "El nombre puede cambiar." #: ../../build/doc/experimental.rst:14 msgid "Signature might change." -msgstr "La firma (declaración de funciones) podría cambiar." +msgstr "La declaración de funciones podría cambiar." #: ../../build/doc/experimental.rst:15 msgid "Functionality might change." @@ -941,7 +941,7 @@ msgstr "Identificador de par de órdenes Recogida-Entrega." #: ../../build/doc/VRP-category.rst:33 ../../build/doc/VRP-category.rst:332 msgid "``-1``: When no order is involved on the current stop location." msgstr "" -"``-1``: Cuando no hay ningún pedido involucrado en la ubicación actual de la" +"''-1'': Cuando no hay ningún pedido involucrado en la ubicación actual de la" " parada." #: ../../build/doc/VRP-category.rst:35 ../../build/doc/VRP-category.rst:62 @@ -1361,7 +1361,7 @@ msgstr "Manejo de Factores" #: ../../build/doc/VRP-category.rst:478 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/VRP-category.rst:480 msgid "https://en.wikipedia.org/wiki/Vehicle_routing_problem" @@ -1377,8 +1377,8 @@ msgstr "Índices y tablas" #: ../../build/doc/VRP-category.rst:485 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/VRP-category.rst:486 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/aStar-family.po b/locale/es/LC_MESSAGES/aStar-family.po index 57ecb77cc4f..254da7bfea7 100644 --- a/locale/es/LC_MESSAGES/aStar-family.po +++ b/locale/es/LC_MESSAGES/aStar-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -97,7 +97,7 @@ msgstr "Falta la el indicador de ``directed``." #: ../../build/doc/aStar-family.rst:51 msgid "``directed`` flag is set to true" -msgstr "El indicador de ``directed`` se configura a verdadero." +msgstr "El indicador de ``directed`` se configura a \"true\"." #: ../../build/doc/aStar-family.rst:53 msgid "Unless specified otherwise, ordering is:" @@ -306,7 +306,7 @@ msgstr "4452 s" #: ../../build/doc/aStar-family.rst:145 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/aStar-family.rst:147 msgid ":doc:`pgr_aStar`" @@ -334,8 +334,8 @@ msgstr "Índices y tablas" #: ../../build/doc/aStar-family.rst:155 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/aStar-family.rst:156 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/allpairs-family.po b/locale/es/LC_MESSAGES/allpairs-family.po index 06dff6921a4..48ce9b138f6 100644 --- a/locale/es/LC_MESSAGES/allpairs-family.po +++ b/locale/es/LC_MESSAGES/allpairs-family.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # Sterling Quinn , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -53,8 +53,8 @@ msgid "" "family.html>`__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.1 `__) `3.0 `__) `3.0 `__ `2.6 `__" @@ -1005,7 +1005,7 @@ msgstr "4.48" #: ../../build/doc/allpairs-family.rst:185 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/allpairs-family.rst:187 msgid ":doc:`pgr_johnson`" @@ -1031,8 +1031,8 @@ msgstr "Índices y tablas" #: ../../build/doc/allpairs-family.rst:193 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/allpairs-family.rst:194 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/bdDijkstra-family.po b/locale/es/LC_MESSAGES/bdDijkstra-family.po index a676cfcc2a4..5c8eaa28a7c 100644 --- a/locale/es/LC_MESSAGES/bdDijkstra-family.po +++ b/locale/es/LC_MESSAGES/bdDijkstra-family.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po b/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po index 3ef030e63b6..43f4a9619b4 100644 --- a/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po +++ b/locale/es/LC_MESSAGES/chinesePostmanProblem-family.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -170,7 +170,8 @@ msgstr "``TEXT``" #: ../../build/doc/chinesePostmanProblem-family.rst:58 msgid "The edges SQL query as described in `Inner query`_." -msgstr "La consulta SQL de aristas como se describe en `Inner query`_." +msgstr "" +"La consulta SQL de aristas como se describe en la `Consulta interna`_." #: ../../build/doc/chinesePostmanProblem-family.rst:65 msgid "Inner query" @@ -215,7 +216,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -276,7 +277,7 @@ msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" #: ../../build/doc/chinesePostmanProblem-family.rst:78 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/chinesePostmanProblem-family.rst:81 msgid "Indices and tables" @@ -284,8 +285,8 @@ msgstr "Índices y tablas" #: ../../build/doc/chinesePostmanProblem-family.rst:82 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/chinesePostmanProblem-family.rst:83 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/coloring-family.po b/locale/es/LC_MESSAGES/coloring-family.po index 3b7dc29b705..f1e9a0de923 100644 --- a/locale/es/LC_MESSAGES/coloring-family.po +++ b/locale/es/LC_MESSAGES/coloring-family.po @@ -26,7 +26,7 @@ msgstr "" #: ../../build/doc/coloring-family.rst:11 msgid "Coloring - Family of functions (Experimental)" -msgstr "Colorear - Familia de funciones (Experimental)" +msgstr "Colorante - Familia de funciones (Experimental)" #: ../../build/doc/experimental.rst:3 msgid "Possible server crash" diff --git a/locale/es/LC_MESSAGES/contraction-family.po b/locale/es/LC_MESSAGES/contraction-family.po index 956d9ceaf37..024ee582f8c 100644 --- a/locale/es/LC_MESSAGES/contraction-family.po +++ b/locale/es/LC_MESSAGES/contraction-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,8 +42,8 @@ msgid "" "/contraction-family.html>`__ `2.6 `__" msgstr "" -"**Versiones soportadas:** actual(`3.1 `__) `3.0 `__) `3.0 `__ `2.6 `__" @@ -766,7 +766,7 @@ msgstr "" #: ../../build/doc/contraction-family.rst:654 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/contraction-family.rst:656 msgid "" @@ -792,8 +792,8 @@ msgstr "Índices y tablas" #: ../../build/doc/contraction-family.rst:662 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/contraction-family.rst:663 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/cost-category.po b/locale/es/LC_MESSAGES/cost-category.po index b609141758e..2a7ecad7977 100644 --- a/locale/es/LC_MESSAGES/cost-category.po +++ b/locale/es/LC_MESSAGES/cost-category.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/costMatrix-category.po b/locale/es/LC_MESSAGES/costMatrix-category.po index 0e34934cea1..1f96094f71f 100644 --- a/locale/es/LC_MESSAGES/costMatrix-category.po +++ b/locale/es/LC_MESSAGES/costMatrix-category.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -285,7 +285,7 @@ msgstr "" #: ../../build/doc/costMatrix-category.rst:114 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/costMatrix-category.rst:116 msgid ":doc:`TSP-family`" @@ -297,8 +297,8 @@ msgstr "Índices y tablas" #: ../../build/doc/costMatrix-category.rst:120 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/costMatrix-category.rst:121 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/drivingDistance-category.po b/locale/es/LC_MESSAGES/drivingDistance-category.po index b681c50f193..861628d05eb 100644 --- a/locale/es/LC_MESSAGES/drivingDistance-category.po +++ b/locale/es/LC_MESSAGES/drivingDistance-category.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -133,7 +133,7 @@ msgstr "Índices y tablas" #: ../../build/doc/drivingDistance-category.rst:58 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/drivingDistance-category.rst:59 msgid ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/flow-family.po b/locale/es/LC_MESSAGES/flow-family.po index fb9573797d4..8c0236c2803 100644 --- a/locale/es/LC_MESSAGES/flow-family.po +++ b/locale/es/LC_MESSAGES/flow-family.po @@ -5,8 +5,8 @@ # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2020 -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -312,7 +312,7 @@ msgstr "``TEXT``" #: ../../build/doc/flow-family.rst:103 msgid "Edges query as described in `Inner Queries`_." -msgstr "Consulta de bordes como se describe en `Consultas internas`_." +msgstr "Consulta de bordes como se describe en `Consultas Internas`_." #: ../../build/doc/flow-family.rst:104 msgid "**Combinations SQL**" @@ -320,7 +320,8 @@ msgstr "**Combinaciones SQL**" #: ../../build/doc/flow-family.rst:104 msgid "Combinations query as described in `Inner Queries`_." -msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." +msgstr "" +"Consultas de combinaciones como se describe en las `Consultas Internas`_." #: ../../build/doc/flow-family.rst:105 ../../build/doc/flow-family.rst:126 #: ../../build/doc/flow-family.rst:154 ../../build/doc/flow-family.rst:216 diff --git a/locale/es/LC_MESSAGES/kruskal-family.po b/locale/es/LC_MESSAGES/kruskal-family.po index 91bcc8d5eb8..b2f4e2270e3 100644 --- a/locale/es/LC_MESSAGES/kruskal-family.po +++ b/locale/es/LC_MESSAGES/kruskal-family.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -46,7 +46,7 @@ msgstr ":doc:`pgr_kruskalDFS`" #: ../../build/doc/kruskal-family.rst:25 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/kruskal-family.rst:37 msgid "Previous versions of this page" @@ -166,7 +166,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -227,7 +227,7 @@ msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" #: ../../build/doc/kruskal-family.rst:78 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/kruskal-family.rst:80 msgid ":doc:`spanningTree-family`" @@ -255,8 +255,8 @@ msgstr "Índices y tablas" #: ../../build/doc/kruskal-family.rst:86 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/kruskal-family.rst:87 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_KSP.po b/locale/es/LC_MESSAGES/pgr_KSP.po index d2ef0bb959e..e2dbb081198 100644 --- a/locale/es/LC_MESSAGES/pgr_KSP.po +++ b/locale/es/LC_MESSAGES/pgr_KSP.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -34,7 +34,7 @@ msgstr "``pgr_KSP`` — Devuelve la ruta más corta \"K\"." #: ../../build/doc/pgr_KSP.rst:19 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_KSP.rst:22 msgid "Availability" @@ -270,7 +270,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_KSP.rst:122 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -374,7 +374,7 @@ msgstr "" #: ../../build/doc/pgr_KSP.rst:120 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_KSP.rst:120 msgid "Identifier of the node in the path." @@ -382,7 +382,7 @@ msgstr "Identificador del nodo en la ruta." #: ../../build/doc/pgr_KSP.rst:121 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgr_KSP.rst:121 msgid "" @@ -466,7 +466,7 @@ msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig4`" #: ../../build/doc/pgr_KSP.rst:170 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_KSP.rst:172 msgid "https://en.wikipedia.org/wiki/K_shortest_path_routing" @@ -482,8 +482,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_KSP.rst:177 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_KSP.rst:178 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_TSP.po b/locale/es/LC_MESSAGES/pgr_TSP.po index baeb2ae8e1a..1a0184315ab 100644 --- a/locale/es/LC_MESSAGES/pgr_TSP.po +++ b/locale/es/LC_MESSAGES/pgr_TSP.po @@ -4,23 +4,23 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" -"Last-Translator: MarPetra , 2020\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -460,22 +460,13 @@ msgstr ":doc:`TSP-family`" #: ../../build/doc/pgr_TSP.rst:142 msgid "" -"`Simulated annaeling algorithm for beginners `__" -msgstr "" -"`Algoritmo de Recocido Simulado para principiantes " -"`__" - -#: ../../build/doc/pgr_TSP.rst:143 -msgid "" "`Wikipedia: Traveling Salesman Problem " "`__" msgstr "" "`Wikipedia: Traveling Salesman Problem " "`__" -#: ../../build/doc/pgr_TSP.rst:144 +#: ../../build/doc/pgr_TSP.rst:143 msgid "" "`Wikipedia: Simulated annealing " "`__" @@ -483,14 +474,22 @@ msgstr "" "`Wikipedia: Simulated annealing " "`__" -#: ../../build/doc/pgr_TSP.rst:147 +#: ../../build/doc/pgr_TSP.rst:146 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_TSP.rst:148 +#: ../../build/doc/pgr_TSP.rst:147 msgid ":ref:`genindex`" msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_TSP.rst:149 +#: ../../build/doc/pgr_TSP.rst:148 msgid ":ref:`search`" msgstr ":ref:`search`" + +#~ msgid "" +#~ "`Simulated annaeling algorithm for beginners `__" +#~ msgstr "" +#~ "`Algoritmo de Recocido Simulado para principiantes " +#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po b/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po index 398a5f9ba05..2f5836ad26f 100644 --- a/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po +++ b/locale/es/LC_MESSAGES/pgr_TSPeuclidean.po @@ -4,23 +4,23 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 -# MarPetra , 2020 +# Vicky Vergara , 2020 +# MarPetra , 2021 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: 2020-11-04 18:27+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: MarPetra , 2021\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -145,7 +145,7 @@ msgstr "**Coordenadas SQL**" #: ../../build/doc/pgr_TSPeuclidean.rst:77 msgid "an SQL query, described in the `Inner query`_" -msgstr "una consulta SQL, descrita en `Inner query`_" +msgstr "una consulta SQL, descrita en la `Consulta interna`_" #: ../../build/doc/pgr_TSPeuclidean.rst:81 msgid "Optional Parameters" @@ -380,7 +380,7 @@ msgstr "Secuencia de filas." #: ../../build/doc/TSP-family.rst:9 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/TSP-family.rst:9 msgid "Identifier of the node/coordinate/point." @@ -388,7 +388,7 @@ msgstr "Identificador del nodo/coordenada/punto." #: ../../build/doc/TSP-family.rst:10 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/TSP-family.rst:11 msgid "" @@ -436,7 +436,7 @@ msgstr "Las consultas utilizan la red :doc:`sampledata` ." #: ../../build/doc/pgr_TSPeuclidean.rst:129 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_TSPeuclidean.rst:131 msgid ":doc:`TSP-family`" @@ -444,22 +444,13 @@ msgstr ":doc:`TSP-family`" #: ../../build/doc/pgr_TSPeuclidean.rst:132 msgid "" -"`Simulated annaeling algorithm for beginners `__" -msgstr "" -"`Algoritmo de Recocido Simulado para principiantes " -"`__" - -#: ../../build/doc/pgr_TSPeuclidean.rst:133 -msgid "" "`Wikipedia: Traveling Salesman Problem " "`__" msgstr "" "`Wikipedia: Traveling Salesman Problem " "`__" -#: ../../build/doc/pgr_TSPeuclidean.rst:134 +#: ../../build/doc/pgr_TSPeuclidean.rst:133 msgid "" "`Wikipedia: Simulated annealing " "`__" @@ -467,14 +458,22 @@ msgstr "" "`Wikipedia: Simulated annealing " "`__" -#: ../../build/doc/pgr_TSPeuclidean.rst:137 +#: ../../build/doc/pgr_TSPeuclidean.rst:136 msgid "Indices and tables" msgstr "Índices y tablas" -#: ../../build/doc/pgr_TSPeuclidean.rst:138 +#: ../../build/doc/pgr_TSPeuclidean.rst:137 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" -#: ../../build/doc/pgr_TSPeuclidean.rst:139 +#: ../../build/doc/pgr_TSPeuclidean.rst:138 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "" +#~ "`Simulated annaeling algorithm for beginners `__" +#~ msgstr "" +#~ "`Algoritmo de Recocido Simulado para principiantes " +#~ "`__" diff --git a/locale/es/LC_MESSAGES/pgr_aStarCostMatrix.po b/locale/es/LC_MESSAGES/pgr_aStarCostMatrix.po index fc51f7773e7..2770752d272 100644 --- a/locale/es/LC_MESSAGES/pgr_aStarCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_aStarCostMatrix.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"PO-Revision-Date: 2020-11-04 18:33+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -467,24 +467,16 @@ msgid "``BIGINT``" msgstr "``BIGINT``" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." -msgstr "" -"Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " -"iniciales en la consulta." +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**end_vid**" msgstr "**end_vid**" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." -msgstr "" -"Identificador del vértice final. Se utiliza cuando hay varios vértices " -"finales en la consulta." +msgid "Identifier of the ending vertex." +msgstr "Identificador del vértice final." #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**agg_cost**" @@ -537,3 +529,17 @@ msgstr ":ref:`genindex`" #: ../../build/doc/pgr_aStarCostMatrix.rst:159 msgid ":ref:`search`" msgstr ":ref:`search`" + +#~ msgid "" +#~ "Identifier of the starting vertex. Used when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" +#~ "Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " +#~ "iniciales en la consulta." + +#~ msgid "" +#~ "Identifier of the ending vertex. Used when multiple ending vertices are in " +#~ "the query." +#~ msgstr "" +#~ "Identificador del vértice final. Se utiliza cuando hay varios vértices " +#~ "finales en la consulta." diff --git a/locale/es/LC_MESSAGES/pgr_alphaShape.po b/locale/es/LC_MESSAGES/pgr_alphaShape.po index e2baa678b9c..7293c7bd8b0 100644 --- a/locale/es/LC_MESSAGES/pgr_alphaShape.po +++ b/locale/es/LC_MESSAGES/pgr_alphaShape.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:33+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_analyzeGraph.po b/locale/es/LC_MESSAGES/pgr_analyzeGraph.po index 28b0597eef3..b02bbd90b08 100644 --- a/locale/es/LC_MESSAGES/pgr_analyzeGraph.po +++ b/locale/es/LC_MESSAGES/pgr_analyzeGraph.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -481,7 +481,7 @@ msgstr "Los ejemplos usan la red de ejemplo :doc:`sampledata`" #: ../../build/doc/pgr_analyzeGraph.rst:267 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_analyzeGraph.rst:269 msgid "" @@ -518,8 +518,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_analyzeGraph.rst:276 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_analyzeGraph.rst:277 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_analyzeOneWay.po b/locale/es/LC_MESSAGES/pgr_analyzeOneWay.po index 0fbd51fba2c..212e3a25611 100644 --- a/locale/es/LC_MESSAGES/pgr_analyzeOneWay.po +++ b/locale/es/LC_MESSAGES/pgr_analyzeOneWay.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -13,8 +13,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_articulationPoints.po b/locale/es/LC_MESSAGES/pgr_articulationPoints.po index da77a072a2e..67c06e7b2a8 100644 --- a/locale/es/LC_MESSAGES/pgr_articulationPoints.po +++ b/locale/es/LC_MESSAGES/pgr_articulationPoints.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_articulationPoints.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_articulationPoints.rst:21 msgid "Availability" @@ -224,7 +224,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -293,7 +293,7 @@ msgstr "Devuelve el conjunto de ``(node)``" #: ../../build/doc/pgr_articulationPoints.rst:104 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_articulationPoints.rst:104 msgid "``BIGINT``" @@ -305,7 +305,7 @@ msgstr "Identificador del vértice." #: ../../build/doc/pgr_articulationPoints.rst:110 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_articulationPoints.rst:112 msgid ":doc:`components-family`" @@ -337,8 +337,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_articulationPoints.rst:119 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_articulationPoints.rst:120 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_bdAstar.po b/locale/es/LC_MESSAGES/pgr_bdAstar.po index 82f084a69f2..d4a623b3b0e 100644 --- a/locale/es/LC_MESSAGES/pgr_bdAstar.po +++ b/locale/es/LC_MESSAGES/pgr_bdAstar.po @@ -112,7 +112,7 @@ msgid "" "`__ `2.6 " "`__" msgstr "" -"**Verdsiones soportadas:** actual(`3.2 " +"**Versiones soportadas:** actual(`3.2 " "`__) `3.1 " "`__ `3.0 " "`__ `2.6 " @@ -848,8 +848,8 @@ msgstr ":ref:`search`" #~ "`__" #~ msgstr "" #~ "**Versiones soportadas:** actual(`3.1 " -#~ "`__) `3.0 " -#~ "`__ `2.6 " +#~ "`__) `3.0 " +#~ "`__ `2.6 " #~ "`__" #~ msgid "Inner query" diff --git a/locale/es/LC_MESSAGES/pgr_bdAstarCost.po b/locale/es/LC_MESSAGES/pgr_bdAstarCost.po index a5785553915..359989fbb55 100644 --- a/locale/es/LC_MESSAGES/pgr_bdAstarCost.po +++ b/locale/es/LC_MESSAGES/pgr_bdAstarCost.po @@ -80,7 +80,7 @@ msgid "" "`__ `2.6 " "`__" msgstr "" -"*Versiones soportadas:** actual`3.2 " +"*Versiones soportadas:** actual(`3.2 " "`__) `3.1 " "`__ `3.0 " "`__ `2.6 " diff --git a/locale/es/LC_MESSAGES/pgr_bdAstarCostMatrix.po b/locale/es/LC_MESSAGES/pgr_bdAstarCostMatrix.po index e154b7685e7..bc996524dbb 100644 --- a/locale/es/LC_MESSAGES/pgr_bdAstarCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_bdAstarCostMatrix.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -466,24 +466,16 @@ msgid "``BIGINT``" msgstr "``BIGINT``" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." -msgstr "" -"Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " -"iniciales en la consulta." +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**end_vid**" msgstr "**end_vid**" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." -msgstr "" -"Identificador del vértice final. Se utiliza cuando hay varios vértices " -"finales en la consulta." +msgid "Identifier of the ending vertex." +msgstr "Identificador del vértice final." #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**agg_cost**" @@ -540,3 +532,17 @@ msgstr ":ref:`genindex`" #: ../../build/doc/pgr_bdAstarCostMatrix.rst:160 msgid ":ref:`search`" msgstr ":ref:`search`" + +#~ msgid "" +#~ "Identifier of the starting vertex. Used when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" +#~ "Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " +#~ "iniciales en la consulta." + +#~ msgid "" +#~ "Identifier of the ending vertex. Used when multiple ending vertices are in " +#~ "the query." +#~ msgstr "" +#~ "Identificador del vértice final. Se utiliza cuando hay varios vértices " +#~ "finales en la consulta." diff --git a/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po b/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po index 19a87543bd5..c0ecce8817f 100644 --- a/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_bdDijkstraCostMatrix.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:19 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:22 msgid "Availability:" @@ -273,7 +273,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -350,24 +350,16 @@ msgid "``BIGINT``" msgstr "``BIGINT``" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." -msgstr "" -"Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " -"iniciales en la consulta." +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**end_vid**" msgstr "**end_vid**" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." -msgstr "" -"Identificador del vértice final. Se utiliza cuando hay varios vértices " -"finales en la consulta." +msgid "Identifier of the ending vertex." +msgstr "Identificador del vértice final." #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**agg_cost**" @@ -391,7 +383,7 @@ msgstr "Usar con tsp" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:125 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:127 msgid ":doc:`pgr_bdDijkstra`" @@ -415,8 +407,22 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:134 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_bdDijkstraCostMatrix.rst:135 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "" +#~ "Identifier of the starting vertex. Used when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" +#~ "Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " +#~ "iniciales en la consulta." + +#~ msgid "" +#~ "Identifier of the ending vertex. Used when multiple ending vertices are in " +#~ "the query." +#~ msgstr "" +#~ "Identificador del vértice final. Se utiliza cuando hay varios vértices " +#~ "finales en la consulta." diff --git a/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po b/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po index ed696d49265..9ece901e4e5 100644 --- a/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po +++ b/locale/es/LC_MESSAGES/pgr_biconnectedComponents.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:19 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_biconnectedComponents.rst:22 msgid "Availability" @@ -245,7 +245,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -340,11 +340,11 @@ msgstr "" #: ../../build/doc/pgr_biconnectedComponents.rst:112 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgr_biconnectedComponents.rst:118 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_biconnectedComponents.rst:120 msgid ":doc:`components-family`" @@ -376,8 +376,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_biconnectedComponents.rst:127 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_biconnectedComponents.rst:128 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po b/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po index ccbb9b53826..9af2549a0e6 100644 --- a/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po +++ b/locale/es/LC_MESSAGES/pgr_boykovKolmogorov.po @@ -5,8 +5,8 @@ # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2020 -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2021 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2021\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -286,7 +286,7 @@ msgstr "**Combinaciones SQL**" #: ../../build/doc/flow-family.rst:7 msgid "Combinations query as described in `Inner Queries`_." -msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." +msgstr "Consultas de combinaciones como se describe en `Consultas internas`_." #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/pgRouting-concepts.rst:6 diff --git a/locale/es/LC_MESSAGES/pgr_breadthFirstSearch.po b/locale/es/LC_MESSAGES/pgr_breadthFirstSearch.po index 569f498bfa3..17b3914fe0e 100644 --- a/locale/es/LC_MESSAGES/pgr_breadthFirstSearch.po +++ b/locale/es/LC_MESSAGES/pgr_breadthFirstSearch.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_breadthFirstSearch.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/experimental.rst:3 msgid "Possible server crash" @@ -205,7 +205,7 @@ msgstr "``TEXT``" #: ../../build/doc/pgr_breadthFirstSearch.rst:94 msgid "SQL query described in `Inner query`_." -msgstr "Consulta SQL descrita en `Consulta Interna`_." +msgstr "Consulta SQL descrita en `Inner query`_." #: ../../build/doc/pgr_breadthFirstSearch.rst:95 msgid "**Root vid**" @@ -336,7 +336,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_breadthFirstSearch.rst:153 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -439,7 +439,7 @@ msgstr "En *Multiple Vertices* los resultados están en orden ascendente." #: ../../build/doc/pgr_breadthFirstSearch.rst:148 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_breadthFirstSearch.rst:148 msgid "Identifier of ``node`` reached using ``edge``." @@ -447,11 +447,11 @@ msgstr "Identificador del ``node`` alcanzado usando ``edge``." #: ../../build/doc/pgr_breadthFirstSearch.rst:149 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgr_breadthFirstSearch.rst:149 msgid "Identifier of the ``edge`` used to arrive to ``node``." -msgstr "Identificador del ``edge`` utilizado para llegar a ''node''." +msgstr "Identificador del ''edge'' utilizado para llegar a ''node''." #: ../../build/doc/pgr_breadthFirstSearch.rst:151 msgid ":math:`-1` when ``node`` = ``start_vid``." @@ -505,7 +505,7 @@ msgstr "" #: ../../build/doc/pgr_breadthFirstSearch.rst:183 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_breadthFirstSearch.rst:185 msgid "The queries use the :doc:`sampledata` network." @@ -533,8 +533,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_breadthFirstSearch.rst:191 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_breadthFirstSearch.rst:192 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_bridges.po b/locale/es/LC_MESSAGES/pgr_bridges.po index 3a72d1abf97..88a39564dee 100644 --- a/locale/es/LC_MESSAGES/pgr_bridges.po +++ b/locale/es/LC_MESSAGES/pgr_bridges.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_chinesePostman.po b/locale/es/LC_MESSAGES/pgr_chinesePostman.po index 2775307e9f7..e89d85f6b69 100644 --- a/locale/es/LC_MESSAGES/pgr_chinesePostman.po +++ b/locale/es/LC_MESSAGES/pgr_chinesePostman.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_chinesePostmanCost.po b/locale/es/LC_MESSAGES/pgr_chinesePostmanCost.po index ec37cf7c730..4b771131c86 100644 --- a/locale/es/LC_MESSAGES/pgr_chinesePostmanCost.po +++ b/locale/es/LC_MESSAGES/pgr_chinesePostmanCost.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:33+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_connectedComponents.po b/locale/es/LC_MESSAGES/pgr_connectedComponents.po index 75e41b01a9c..4fe7524b19b 100644 --- a/locale/es/LC_MESSAGES/pgr_connectedComponents.po +++ b/locale/es/LC_MESSAGES/pgr_connectedComponents.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_connectedComponents.rst:21 msgid "Availability" @@ -50,7 +50,7 @@ msgstr "Versión 3.0.0" #: ../../build/doc/pgr_connectedComponents.rst:24 msgid "Return columns change:" -msgstr "Las columnas de retorno cambian:" +msgstr "Las columnas de devolución cambian:" #: ../../build/doc/pgr_connectedComponents.rst:26 msgid "``n_seq`` is removed" @@ -235,7 +235,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -330,7 +330,7 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:111 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_connectedComponents.rst:111 msgid "Identifier of the vertex that belongs to **component**." @@ -338,7 +338,7 @@ msgstr "Identificador del vértice que pertenece a **componente**." #: ../../build/doc/pgr_connectedComponents.rst:117 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_connectedComponents.rst:119 msgid ":doc:`components-family`" @@ -370,8 +370,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_connectedComponents.rst:126 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_connectedComponents.rst:127 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_contraction.po b/locale/es/LC_MESSAGES/pgr_contraction.po index dfab24c1cf1..3039c9cde1c 100644 --- a/locale/es/LC_MESSAGES/pgr_contraction.po +++ b/locale/es/LC_MESSAGES/pgr_contraction.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_contraction.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_contraction.rst:21 msgid "Availability" @@ -531,7 +531,7 @@ msgstr "Sólo contracción lineal" #: ../../build/doc/pgr_contraction.rst:173 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_contraction.rst:175 msgid ":doc:`contraction-family`" @@ -543,8 +543,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_contraction.rst:179 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_contraction.rst:180 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_createTopology.po b/locale/es/LC_MESSAGES/pgr_createTopology.po index 34d8cc23534..42b90c3e3ae 100644 --- a/locale/es/LC_MESSAGES/pgr_createTopology.po +++ b/locale/es/LC_MESSAGES/pgr_createTopology.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -547,7 +547,7 @@ msgstr "En el ejemplo se utiliza la red :doc:`sampledata`. " #: ../../build/doc/pgr_createTopology.rst:243 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_createTopology.rst:245 msgid "" @@ -578,8 +578,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_createTopology.rst:251 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_createTopology.rst:252 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_createVerticesTable.po b/locale/es/LC_MESSAGES/pgr_createVerticesTable.po index 94925923765..d85687e9343 100644 --- a/locale/es/LC_MESSAGES/pgr_createVerticesTable.po +++ b/locale/es/LC_MESSAGES/pgr_createVerticesTable.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -311,7 +311,7 @@ msgid "" "``integer`` Number of vertices in the edge_table that reference this vertex " "as outgoing. See :doc:`pgr_analyzeOneWay `." msgstr "" -"``integer`` Número de vértices en edge_table que hacen referencia a este " +"``integer`` Número de vértices en el edge_table que hacen referencia a este " "vértice como saliente. Consulte :doc:`pgr_analyzeOneWay " "`." @@ -536,7 +536,7 @@ msgstr "En el ejemplo se utiliza la red :doc:`sampledata`. " #: ../../build/doc/pgr_createVerticesTable.rst:259 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_createVerticesTable.rst:261 msgid "" @@ -572,8 +572,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_createVerticesTable.rst:268 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_createVerticesTable.rst:269 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_depthFirstSearch.po b/locale/es/LC_MESSAGES/pgr_depthFirstSearch.po index e394b56baea..5a36eebeb89 100644 --- a/locale/es/LC_MESSAGES/pgr_depthFirstSearch.po +++ b/locale/es/LC_MESSAGES/pgr_depthFirstSearch.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-11-04 12:09-0600\n" "PO-Revision-Date: 2020-11-04 19:19+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -34,7 +34,7 @@ msgid "" "graph. The graph can be directed or undirected." msgstr "" "``pgr_depthFirstSearch`` — Devuelve un recorrido de búsqueda de profundidad " -"del grafo. El grafo puede estar dirigido o no dirigido." +"del grafo. El grafo puede ser dirigido o no dirigido." #: ../../build/doc/pgr_depthFirstSearch.rst:19 msgid "Boost Graph Inside" @@ -206,7 +206,7 @@ msgstr "Los valores devueltos se ordenan en orden ascendente de `start_vid`." #: ../../build/doc/pgr_depthFirstSearch.rst:56 msgid "Depth First Search Running time: :math:`O(E + V)`" msgstr "" -"Tiempo de ejecución de la Búsqueda en Primera Profundidad: :math:`O(E + V)`" +"Tiempo de ejecución de la Primera Búsqueda de Profundidad: :math:`O(E + V)`" #: ../../build/doc/pgr_depthFirstSearch.rst:59 msgid "Signatures" @@ -576,7 +576,7 @@ msgstr "" #: ../../build/doc/pgr_depthFirstSearch.rst:184 msgid "|ascending| |descending|" -msgstr "|ascendente| |descendente|" +msgstr "|ascending| |descending|" #: ../../build/doc/pgr_depthFirstSearch.rst:193 msgid "See Also" @@ -591,7 +591,7 @@ msgid "" "`Boost: Depth First Search algorithm documentation " "`__" msgstr "" -"`Boost: Documentación del algoritmo de Primera Búsqueda en Profundidad " +"`Boost: Documentación del algoritmo de Primera Búsqueda de Profundidad " "`__" #: ../../build/doc/pgr_depthFirstSearch.rst:200 diff --git a/locale/es/LC_MESSAGES/pgr_dijkstra.po b/locale/es/LC_MESSAGES/pgr_dijkstra.po index c79562aff99..1ade6ee51b8 100644 --- a/locale/es/LC_MESSAGES/pgr_dijkstra.po +++ b/locale/es/LC_MESSAGES/pgr_dijkstra.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" -"Last-Translator: MarPetra , 2020\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_dijkstraCost.po b/locale/es/LC_MESSAGES/pgr_dijkstraCost.po index 9173218814d..96ef73e4b8a 100644 --- a/locale/es/LC_MESSAGES/pgr_dijkstraCost.po +++ b/locale/es/LC_MESSAGES/pgr_dijkstraCost.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-17 10:14-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -503,20 +503,12 @@ msgid "Returns SET OF ``(start_vid, end_vid, agg_cost)``" msgstr "Devuelve SET OF ``(start_vid, end_vid, agg_cost)``" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." -msgstr "" -"Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " -"iniciales en la consulta." +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." -msgstr "" -"Identificador del vértice final. Se utiliza cuando hay varios vértices " -"finales en la consulta." +msgid "Identifier of the ending vertex." +msgstr "Identificador del vértice final." #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**agg_cost**" @@ -584,3 +576,17 @@ msgstr ":ref:`genindex`" #: ../../build/doc/pgr_dijkstraCost.rst:270 msgid ":ref:`search`" msgstr ":ref:`search`" + +#~ msgid "" +#~ "Identifier of the starting vertex. Used when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" +#~ "Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " +#~ "iniciales en la consulta." + +#~ msgid "" +#~ "Identifier of the ending vertex. Used when multiple ending vertices are in " +#~ "the query." +#~ msgstr "" +#~ "Identificador del vértice final. Se utiliza cuando hay varios vértices " +#~ "finales en la consulta." diff --git a/locale/es/LC_MESSAGES/pgr_dijkstraCostMatrix.po b/locale/es/LC_MESSAGES/pgr_dijkstraCostMatrix.po index 2fd4a729fae..f0505d6407e 100644 --- a/locale/es/LC_MESSAGES/pgr_dijkstraCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_dijkstraCostMatrix.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" +"PO-Revision-Date: 2020-11-04 18:33+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -306,24 +306,16 @@ msgid "``BIGINT``" msgstr "``BIGINT``" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." -msgstr "" -"Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " -"iniciales en la consulta." +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**end_vid**" msgstr "**end_vid**" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." -msgstr "" -"Identificador del vértice final. Se utiliza cuando hay varios vértices " -"finales en la consulta." +msgid "Identifier of the ending vertex." +msgstr "Identificador del vértice final." #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**agg_cost**" @@ -376,3 +368,17 @@ msgstr ":ref:`genindex`" #: ../../build/doc/pgr_dijkstraCostMatrix.rst:134 msgid ":ref:`search`" msgstr ":ref:`search`" + +#~ msgid "" +#~ "Identifier of the starting vertex. Used when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" +#~ "Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " +#~ "iniciales en la consulta." + +#~ msgid "" +#~ "Identifier of the ending vertex. Used when multiple ending vertices are in " +#~ "the query." +#~ msgstr "" +#~ "Identificador del vértice final. Se utiliza cuando hay varios vértices " +#~ "finales en la consulta." diff --git a/locale/es/LC_MESSAGES/pgr_dijkstraNearCost.po b/locale/es/LC_MESSAGES/pgr_dijkstraNearCost.po index aab6486c5e9..96c23ae92b5 100644 --- a/locale/es/LC_MESSAGES/pgr_dijkstraNearCost.po +++ b/locale/es/LC_MESSAGES/pgr_dijkstraNearCost.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-11-04 12:09-0600\n" "PO-Revision-Date: 2020-11-04 19:19+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -382,7 +382,7 @@ msgstr "" #: ../../build/doc/pgr_dijkstraNearCost.rst:175 msgid "On line `6`: using the named parameter is `global => false`" -msgstr "En la línea `6: el uso del parámetro con nombre es 'global '> false'" +msgstr "En la línea `6`: el uso del parámetro con nombre es 'global '> false'" #: ../../build/doc/pgr_dijkstraNearCost.rst:186 msgid "From the results:" diff --git a/locale/es/LC_MESSAGES/pgr_dijkstraVia.po b/locale/es/LC_MESSAGES/pgr_dijkstraVia.po index 45824900ee5..d5cab0fdfde 100644 --- a/locale/es/LC_MESSAGES/pgr_dijkstraVia.po +++ b/locale/es/LC_MESSAGES/pgr_dijkstraVia.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -74,7 +74,7 @@ msgstr "Es posible que la documentación necesite un refinamiento." #: ../../build/doc/pgr_dijkstraVia.rst:23 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_dijkstraVia.rst:26 msgid "Availability" @@ -331,7 +331,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_dijkstraVia.rst:125 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -450,7 +450,7 @@ msgstr "Identificador del vértice final de la ruta." #: ../../build/doc/pgr_dijkstraVia.rst:123 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_dijkstraVia.rst:123 msgid "Identifier of the node in the path from start_vid to end_vid." @@ -458,7 +458,7 @@ msgstr "Identificador del nodo en la ruta de start_vid a end_vid." #: ../../build/doc/pgr_dijkstraVia.rst:124 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgr_dijkstraVia.rst:124 msgid "" @@ -572,7 +572,7 @@ msgstr "" #: ../../build/doc/pgr_dijkstraVia.rst:169 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_dijkstraVia.rst:171 #, python-format @@ -589,8 +589,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_dijkstraVia.rst:176 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_dijkstraVia.rst:177 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_drivingDistance.po b/locale/es/LC_MESSAGES/pgr_drivingDistance.po index 4fc5181035d..7b44af306d6 100644 --- a/locale/es/LC_MESSAGES/pgr_drivingDistance.po +++ b/locale/es/LC_MESSAGES/pgr_drivingDistance.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -293,7 +293,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_drivingDistance.rst:131 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -454,11 +454,11 @@ msgstr "Los ejemplos de esta sección utilizan lo siguiente :ref:`fig4`" #: ../../build/doc/pgr_drivingDistance.rst:172 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_drivingDistance.rst:174 msgid ":doc:`pgr_alphaShape` - Alpha shape computation" -msgstr ":doc:`pgr_alphaShape` - Cálculo de la forma Alpha" +msgstr ":doc:`pgr_alphaShape` - Cálculo de Alpha Shape" #: ../../build/doc/pgr_drivingDistance.rst:175 msgid ":doc:`sampledata` network." @@ -470,8 +470,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_drivingDistance.rst:179 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_drivingDistance.rst:180 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_edmondsKarp.po b/locale/es/LC_MESSAGES/pgr_edmondsKarp.po index 35f3f5a9d0f..6926acc00ca 100644 --- a/locale/es/LC_MESSAGES/pgr_edmondsKarp.po +++ b/locale/es/LC_MESSAGES/pgr_edmondsKarp.po @@ -5,8 +5,8 @@ # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2020 -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2021 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2021\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -283,7 +283,7 @@ msgstr "**Combinaciones SQL**" #: ../../build/doc/flow-family.rst:7 msgid "Combinations query as described in `Inner Queries`_." -msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." +msgstr "Consultas de combinaciones como se describe en `Consultas internas`_." #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/pgRouting-concepts.rst:6 diff --git a/locale/es/LC_MESSAGES/pgr_extractVertices.po b/locale/es/LC_MESSAGES/pgr_extractVertices.po index ddb8b6520da..c596701c625 100644 --- a/locale/es/LC_MESSAGES/pgr_extractVertices.po +++ b/locale/es/LC_MESSAGES/pgr_extractVertices.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_floydWarshall.po b/locale/es/LC_MESSAGES/pgr_floydWarshall.po index 5a3e008c714..4d033e9bd8b 100644 --- a/locale/es/LC_MESSAGES/pgr_floydWarshall.po +++ b/locale/es/LC_MESSAGES/pgr_floydWarshall.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_floydWarshall.rst:19 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_floydWarshall.rst:22 msgid "Availability" @@ -307,7 +307,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:12 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:12 #: ../../build/doc/pgRouting-concepts.rst:16 @@ -409,7 +409,7 @@ msgstr "Costo total de ``start_vid`` a ``end_vid``." #: ../../build/doc/pgr_floydWarshall.rst:146 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_floydWarshall.rst:148 msgid ":doc:`pgr_johnson`" @@ -435,8 +435,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_floydWarshall.rst:154 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_floydWarshall.rst:155 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_full_version.po b/locale/es/LC_MESSAGES/pgr_full_version.po index bb54acf3db2..1164f7deba1 100644 --- a/locale/es/LC_MESSAGES/pgr_full_version.po +++ b/locale/es/LC_MESSAGES/pgr_full_version.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -13,8 +13,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_johnson.po b/locale/es/LC_MESSAGES/pgr_johnson.po index 2ed2b94e231..13ffd322d80 100644 --- a/locale/es/LC_MESSAGES/pgr_johnson.po +++ b/locale/es/LC_MESSAGES/pgr_johnson.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_johnson.rst:19 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_johnson.rst:22 msgid "Availability" @@ -297,7 +297,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:12 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:12 #: ../../build/doc/pgRouting-concepts.rst:16 @@ -398,7 +398,7 @@ msgstr "Costo total de ``start_vid`` a ``end_vid``." #: ../../build/doc/pgr_johnson.rst:144 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_johnson.rst:146 msgid ":doc:`pgr_floydWarshall`" @@ -424,8 +424,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_johnson.rst:152 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_johnson.rst:153 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_kruskal.po b/locale/es/LC_MESSAGES/pgr_kruskal.po index 2808317db8d..8175757f648 100644 --- a/locale/es/LC_MESSAGES/pgr_kruskal.po +++ b/locale/es/LC_MESSAGES/pgr_kruskal.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_kruskal.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_kruskal.rst:21 msgid "Availability" @@ -163,7 +163,7 @@ msgstr "``TEXT``" #: ../../build/doc/pgr_kruskal.rst:76 msgid "SQL query described in `Inner query`_." -msgstr "Consulta SQL descrita en `Consulta Interna`_." +msgstr "Consulta SQL descrita en `Inner query`_." #: ../../build/doc/pgr_kruskal.rst:80 msgid "Inner query" @@ -209,7 +209,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 ../../build/doc/pgr_kruskal.rst:96 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -278,7 +278,7 @@ msgstr "Devuelve SET OF (conjunto de) ``(edge, cost)``" #: ../../build/doc/pgr_kruskal.rst:95 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgr_kruskal.rst:95 msgid "``BIGINT``" @@ -294,7 +294,7 @@ msgstr "Coste para atravezar el borde." #: ../../build/doc/pgr_kruskal.rst:103 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_kruskal.rst:105 msgid ":doc:`spanningTree-family`" @@ -330,8 +330,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_kruskal.rst:113 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_kruskal.rst:114 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_kruskalBFS.po b/locale/es/LC_MESSAGES/pgr_kruskalBFS.po index 08487192863..b0e7263dcb4 100644 --- a/locale/es/LC_MESSAGES/pgr_kruskalBFS.po +++ b/locale/es/LC_MESSAGES/pgr_kruskalBFS.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_kruskalBFS.rst:19 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_kruskalBFS.rst:22 msgid "Availability" @@ -140,7 +140,7 @@ msgstr "Firmas" #: ../../build/doc/pgr_kruskalBFS.rst:62 msgid "Single vertex" -msgstr "Vértice único" +msgstr "Un solo vértice" #: ../../build/doc/pgr_kruskalBFS.rst msgid "Example" @@ -186,7 +186,7 @@ msgstr "``TEXT``" #: ../../build/doc/pgr_kruskalDFS.rst:9 msgid "SQL query described in `Inner query`_." -msgstr "Consulta SQL descrita en `Consulta Interna`_." +msgstr "Consulta SQL descrita en `Inner query`_." #: ../../build/doc/pgr_kruskalDFS.rst:10 msgid "**Root vid**" @@ -306,7 +306,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_kruskalDD.rst:22 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -409,7 +409,7 @@ msgstr "En `Múltiples Vértices`_ los resultados están en orden ascendente." #: ../../build/doc/pgr_kruskalDD.rst:17 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_kruskalDD.rst:17 msgid "Identifier of ``node`` reached using ``edge``." @@ -417,11 +417,11 @@ msgstr "Identificador del ``node`` alcanzado usando ``edge``." #: ../../build/doc/pgr_kruskalDD.rst:18 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgr_kruskalDD.rst:18 msgid "Identifier of the ``edge`` used to arrive to ``node``." -msgstr "Identificador del ``edge`` utilizado para llegar a ''node''." +msgstr "Identificador del ''edge'' utilizado para llegar a ''node''." #: ../../build/doc/pgr_kruskalDD.rst:20 msgid ":math:`-1` when ``node`` = ``start_vid``." @@ -445,7 +445,7 @@ msgstr "Costo agregado de ``start_vid`` a ``node``." #: ../../build/doc/pgr_kruskalBFS.rst:102 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_kruskalBFS.rst:104 msgid ":doc:`spanningTree-family`" @@ -481,8 +481,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_kruskalBFS.rst:112 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_kruskalBFS.rst:113 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_kruskalDD.po b/locale/es/LC_MESSAGES/pgr_kruskalDD.po index a76553f5a1b..94889c3bfca 100644 --- a/locale/es/LC_MESSAGES/pgr_kruskalDD.po +++ b/locale/es/LC_MESSAGES/pgr_kruskalDD.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -323,7 +323,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_kruskalDD.rst:159 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -414,7 +414,7 @@ msgstr "En `Múltiples Vértices`_ los resultados están en orden ascendente." #: ../../build/doc/pgr_kruskalDD.rst:154 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_kruskalDD.rst:154 msgid "Identifier of ``node`` reached using ``edge``." @@ -422,7 +422,7 @@ msgstr "Identificador del ``node`` alcanzado usando ``edge``." #: ../../build/doc/pgr_kruskalDD.rst:155 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgr_kruskalDD.rst:155 msgid "Identifier of the ``edge`` used to arrive to ``node``." @@ -450,7 +450,7 @@ msgstr "Costo agregado de ``start_vid`` a ``node``." #: ../../build/doc/pgr_kruskalDD.rst:168 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_kruskalDD.rst:170 msgid ":doc:`spanningTree-family`" @@ -486,8 +486,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_kruskalDD.rst:178 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_kruskalDD.rst:179 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_kruskalDFS.po b/locale/es/LC_MESSAGES/pgr_kruskalDFS.po index 7c5b1f20ff9..d92a04aa617 100644 --- a/locale/es/LC_MESSAGES/pgr_kruskalDFS.po +++ b/locale/es/LC_MESSAGES/pgr_kruskalDFS.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po b/locale/es/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po index 55f4a4b10c4..e33352c62f0 100644 --- a/locale/es/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po +++ b/locale/es/LC_MESSAGES/pgr_lengauerTarjanDominatorTree.po @@ -70,7 +70,7 @@ msgstr "El nombre puede cambiar." #: ../../build/doc/experimental.rst:14 msgid "Signature might change." -msgstr "La firma (declaración de funciones) podría cambiar." +msgstr "La firma o declaración de funciones podría cambiar." #: ../../build/doc/experimental.rst:15 msgid "Functionality might change." @@ -171,7 +171,7 @@ msgstr "El algoritmo devuelve *idom* de cada vértice." msgid "" "If the *root vertex* not present in the graph then it returns empty set." msgstr "" -"Si el vértice *raíz* no está presente en el grafo, devuelve un conjunto " +"Si el *vértice raíz* no está presente en el grafo, devuelve un conjunto " "vacío." #: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:49 @@ -192,7 +192,7 @@ msgstr "Ejemplo" #: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:67 msgid "The lengauerTarjanDominatorTree with root vertex :math:`1`" -msgstr "El lengauerTarjanDominatorTree con vértice raíz :math:'1'" +msgstr "El lengauerTarjanDominatorTree con vértice raíz :math:`1`" #: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:74 msgid "Parameters" @@ -361,7 +361,7 @@ msgstr "**vertex_id**" #: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:100 msgid "Identifier of vertex ." -msgstr "Identificador de vértice ." +msgstr "Identificador de vértice." #: ../../build/doc/pgr_lengauerTarjanDominatorTree.rst:101 msgid "**idom**" diff --git a/locale/es/LC_MESSAGES/pgr_lineGraph.po b/locale/es/LC_MESSAGES/pgr_lineGraph.po index bb7eaabd51e..46b7add91dc 100644 --- a/locale/es/LC_MESSAGES/pgr_lineGraph.po +++ b/locale/es/LC_MESSAGES/pgr_lineGraph.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:27+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_lineGraph.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/experimental.rst:3 msgid "Possible server crash" @@ -281,7 +281,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_lineGraph.rst:125 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -413,7 +413,7 @@ msgstr "" #: ../../build/doc/pgr_lineGraph.rst:135 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_lineGraph.rst:137 msgid "https://en.wikipedia.org/wiki/Line_graph" @@ -429,8 +429,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_lineGraph.rst:142 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_lineGraph.rst:143 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_lineGraphFull.po b/locale/es/LC_MESSAGES/pgr_lineGraphFull.po index c91006b2d9b..f1b33cb903d 100644 --- a/locale/es/LC_MESSAGES/pgr_lineGraphFull.po +++ b/locale/es/LC_MESSAGES/pgr_lineGraphFull.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po b/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po index 73c7e6d2636..63bfa088f6c 100644 --- a/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po +++ b/locale/es/LC_MESSAGES/pgr_maxCardinalityMatch.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_maxCardinalityMatch.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_maxCardinalityMatch.rst:21 msgid "Availability" @@ -355,7 +355,7 @@ msgstr "Identificador del segundo punto final de la arista." #: ../../build/doc/pgr_maxCardinalityMatch.rst:132 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_maxCardinalityMatch.rst:134 msgid ":doc:`flow-family`" @@ -380,8 +380,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_maxCardinalityMatch.rst:141 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_maxCardinalityMatch.rst:142 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_maxFlow.po b/locale/es/LC_MESSAGES/pgr_maxFlow.po index 3a6b4229d10..f3be063150a 100644 --- a/locale/es/LC_MESSAGES/pgr_maxFlow.po +++ b/locale/es/LC_MESSAGES/pgr_maxFlow.po @@ -5,8 +5,8 @@ # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2020 -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2021 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2021\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -237,7 +237,7 @@ msgstr "**Combinaciones SQL**" #: ../../build/doc/flow-family.rst:7 msgid "Combinations query as described in `Inner Queries`_." -msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." +msgstr "Consultas de combinaciones como se describe en `Consultas internas`_." #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/pgRouting-concepts.rst:6 diff --git a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po index 705d891a952..c81de13bd32 100644 --- a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po +++ b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost.po @@ -5,8 +5,8 @@ # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2020 -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2021 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:27+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2021\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -349,7 +349,7 @@ msgstr "**Combinaciones SQL**" #: ../../build/doc/flow-family.rst:7 msgid "Combinations query as described in `Inner Queries`_." -msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." +msgstr "Consultas de combinaciones como se describe en `Consultas internas`_." #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/pgRouting-concepts.rst:6 diff --git a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po index 01311f1f909..d8e313aad26 100644 --- a/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po +++ b/locale/es/LC_MESSAGES/pgr_maxFlowMinCost_Cost.po @@ -5,8 +5,8 @@ # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2020 -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2021 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:32+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2021\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -295,7 +295,7 @@ msgstr "**Combinaciones SQL**" #: ../../build/doc/flow-family.rst:7 msgid "Combinations query as described in `Inner Queries`_." -msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." +msgstr "Consultas de combinaciones como se describe en `Consultas internas`_." #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/pgRouting-concepts.rst:6 diff --git a/locale/es/LC_MESSAGES/pgr_nodeNetwork.po b/locale/es/LC_MESSAGES/pgr_nodeNetwork.po index db999f07994..fc9dec058ec 100644 --- a/locale/es/LC_MESSAGES/pgr_nodeNetwork.po +++ b/locale/es/LC_MESSAGES/pgr_nodeNetwork.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -486,7 +486,7 @@ msgstr "" #: ../../build/doc/pgr_nodeNetwork.rst:217 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_nodeNetwork.rst:219 msgid "" @@ -504,8 +504,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_nodeNetwork.rst:226 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_nodeNetwork.rst:227 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_pickDeliver.po b/locale/es/LC_MESSAGES/pgr_pickDeliver.po index e573a9f64f4..10335cf15ab 100644 --- a/locale/es/LC_MESSAGES/pgr_pickDeliver.po +++ b/locale/es/LC_MESSAGES/pgr_pickDeliver.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po b/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po index 079da9de5aa..35ea73ff3c5 100644 --- a/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po +++ b/locale/es/LC_MESSAGES/pgr_pickDeliverEuclidean.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -319,8 +319,8 @@ msgstr "**vehicles_sql**" msgid "" "`Pick & Deliver Vehicles SQL`_ query containing the vehicles to be used." msgstr "" -"La consulta `SQL de Vehículos de Recogida y Entrega`_ contiene los vehículos" -" que se van a utilizar." +"La consulta `Pick & Deliver Vehicles SQL`_ contiene los vehículos que se van" +" a utilizar." #: ../../build/doc/VRP-category.rst:8 msgid "**factor**" @@ -368,7 +368,7 @@ msgstr "(Opcional) Solución inicial a utilizar." #: ../../build/doc/VRP-category.rst:12 msgid "``1`` One order per truck" -msgstr "``1`` Una orden por camión" +msgstr "``1`` Un orden por camión" #: ../../build/doc/VRP-category.rst:13 msgid "``2`` Push front order." @@ -895,7 +895,7 @@ msgstr "En este ejemplo se utilizan los siguientes datos: TODO put link" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:207 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:209 msgid ":doc:`VRP-category`" @@ -911,8 +911,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:214 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_pickDeliverEuclidean.rst:215 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_prim.po b/locale/es/LC_MESSAGES/pgr_prim.po index be9e8bd425f..84b9f5ad9b9 100644 --- a/locale/es/LC_MESSAGES/pgr_prim.po +++ b/locale/es/LC_MESSAGES/pgr_prim.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 -# 0a3886ca72a6d508a04563bd8c050dff, 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_primBFS.po b/locale/es/LC_MESSAGES/pgr_primBFS.po index 1fe75918ef8..00200117bb0 100644 --- a/locale/es/LC_MESSAGES/pgr_primBFS.po +++ b/locale/es/LC_MESSAGES/pgr_primBFS.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_primDD.po b/locale/es/LC_MESSAGES/pgr_primDD.po index 94854f13ad2..b088c00c0ec 100644 --- a/locale/es/LC_MESSAGES/pgr_primDD.po +++ b/locale/es/LC_MESSAGES/pgr_primDD.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_primDFS.po b/locale/es/LC_MESSAGES/pgr_primDFS.po index c9e63b3f6d7..754047c28be 100644 --- a/locale/es/LC_MESSAGES/pgr_primDFS.po +++ b/locale/es/LC_MESSAGES/pgr_primDFS.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -34,11 +34,11 @@ msgid "" "Search ordering." msgstr "" "''pgr_primDFS'' — Algoritmo Prim para el Árbol de Expansión Mínima con orden" -" de Búsqueda en Primera Profundidad." +" de la Primera Búsqueda de Profundidad." #: ../../build/doc/pgr_primDFS.rst:19 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_primDFS.rst:22 msgid "Availability" @@ -77,8 +77,8 @@ msgid "" "Visits and extracts the nodes information in Depth First Search ordering of " "the Minimum Spanning Tree created using Prims's algorithm." msgstr "" -"Visita y extrae la información de los nodos en la orden de Búsqueda en " -"Primera Profundidad del Árbol de Expansión Mínimo creado mediante el " +"Visita y extrae la información de los nodos en el orden de la Primera " +"Búsqueda de Profundidad del Árbol de Expansión Mínima creado utilizando el " "algoritmo de Prim." #: ../../build/doc/pgr_primDFS.rst:39 @@ -121,13 +121,13 @@ msgstr "Tiempo de ejecución de Prim: :math:`O(E*log V)`" #: ../../build/doc/pgr_primDFS.rst:45 msgid "Returned tree nodes from a root vertex are on Depth First Search order" msgstr "" -"Los nodos de árbol devueltos desde un vértice raíz están en el orden de " -"Búsqueda en Primera Profundidad " +"Los nodos de árbol devueltos desde un vértice raíz están en el orden de " +"Primera Búsqueda de Profundidad " #: ../../build/doc/pgr_primDFS.rst:46 msgid "Depth First Search Running time: :math:`O(E + V)`" msgstr "" -"Tiempo de ejecución de la Búsqueda en Primera Profundidad: :math:`O(E + V)`" +"Tiempo de ejecución de la Primera Búsqueda de Profundidad: :math:`O(E + V)`" #: ../../build/doc/pgr_primDFS.rst:49 msgid "Signatures" @@ -135,7 +135,7 @@ msgstr "Firmas" #: ../../build/doc/pgr_primDFS.rst:62 msgid "Single vertex" -msgstr "Vértice único" +msgstr "Un solo vértice" #: ../../build/doc/pgr_primDFS.rst msgid "Example" @@ -181,7 +181,7 @@ msgstr "``TEXT``" #: ../../build/doc/pgr_kruskalDFS.rst:9 msgid "SQL query described in `Inner query`_." -msgstr "Consulta SQL descrita en `Consulta Interna`_." +msgstr "Consulta SQL descrita en `Inner query`_." #: ../../build/doc/pgr_kruskalDFS.rst:10 msgid "**Root vid**" @@ -301,7 +301,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_kruskalDD.rst:22 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -404,7 +404,7 @@ msgstr "En `Múltiples Vértices`_ los resultados están en orden ascendente." #: ../../build/doc/pgr_kruskalDD.rst:17 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_kruskalDD.rst:17 msgid "Identifier of ``node`` reached using ``edge``." @@ -412,11 +412,11 @@ msgstr "Identificador del ``node`` alcanzado usando ``edge``." #: ../../build/doc/pgr_kruskalDD.rst:18 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgr_kruskalDD.rst:18 msgid "Identifier of the ``edge`` used to arrive to ``node``." -msgstr "Identificador del ``edge`` utilizado para llegar a ''node''." +msgstr "Identificador del ''edge'' utilizado para llegar a ''node''." #: ../../build/doc/pgr_kruskalDD.rst:20 msgid ":math:`-1` when ``node`` = ``start_vid``." @@ -440,7 +440,7 @@ msgstr "Costo agregado de ``start_vid`` a ``node``." #: ../../build/doc/pgr_primDFS.rst:102 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_primDFS.rst:104 msgid ":doc:`spanningTree-family`" @@ -477,8 +477,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_primDFS.rst:112 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_primDFS.rst:113 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_pushRelabel.po b/locale/es/LC_MESSAGES/pgr_pushRelabel.po index 74d6a6f7315..312fb6317d9 100644 --- a/locale/es/LC_MESSAGES/pgr_pushRelabel.po +++ b/locale/es/LC_MESSAGES/pgr_pushRelabel.po @@ -5,8 +5,8 @@ # # Translators: # 0a3886ca72a6d508a04563bd8c050dff, 2020 -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2021 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-12-14 13:58-0600\n" "PO-Revision-Date: 2020-11-04 18:32+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2021\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -290,7 +290,7 @@ msgstr "**Combinaciones SQL**" #: ../../build/doc/flow-family.rst:7 msgid "Combinations query as described in `Inner Queries`_." -msgstr "Consultas de combinaciones como se describe en 'Consultas internas'_." +msgstr "Consultas de combinaciones como se describe en `Consultas internas`_." #: ../../build/doc/flow-family.rst:8 ../../build/doc/flow-family.rst:9 #: ../../build/doc/pgRouting-concepts.rst:6 diff --git a/locale/es/LC_MESSAGES/pgr_sequentialVertexColoring.po b/locale/es/LC_MESSAGES/pgr_sequentialVertexColoring.po index ff7b3213396..2514473ecce 100644 --- a/locale/es/LC_MESSAGES/pgr_sequentialVertexColoring.po +++ b/locale/es/LC_MESSAGES/pgr_sequentialVertexColoring.po @@ -156,7 +156,7 @@ msgstr "**Las características principales son:**" #: ../../build/doc/pgr_sequentialVertexColoring.rst:45 msgid "The implementation is applicable only for **undirected** graphs." -msgstr "La implementación solo es aplicable a los gafos **no dirigidos**." +msgstr "La implementación solo es aplicable a los grafos **no dirigidos**." #: ../../build/doc/pgr_sequentialVertexColoring.rst:46 msgid "" @@ -333,12 +333,12 @@ msgstr "-1" #: ../../build/doc/traversal-family.rst:12 msgid "When positive: edge `(target, source)` exist on the graph." -msgstr "Cuando es positivo: el borde `(origen, destino)` existe en el grafo." +msgstr "Cuando es positivo: la arista `(origen, destino)` existe en el grafo." #: ../../build/doc/traversal-family.rst:13 msgid "When negative: edge `(target, source)` does not exist on the graph." msgstr "" -"Cuando es negativo: el borde `(destino, origen)` no existe en el grafo." +"Cuando es negativo: la arista `(destino, origen)` no existe en el grafo." #: ../../build/doc/traversal-family.rst:17 msgid "Where:" diff --git a/locale/es/LC_MESSAGES/pgr_stoerWagner.po b/locale/es/LC_MESSAGES/pgr_stoerWagner.po index c54a2165ba6..4a583bddeba 100644 --- a/locale/es/LC_MESSAGES/pgr_stoerWagner.po +++ b/locale/es/LC_MESSAGES/pgr_stoerWagner.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_strongComponents.po b/locale/es/LC_MESSAGES/pgr_strongComponents.po index a6019c65b04..01982c460f3 100644 --- a/locale/es/LC_MESSAGES/pgr_strongComponents.po +++ b/locale/es/LC_MESSAGES/pgr_strongComponents.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgstr "" #: ../../build/doc/pgr_strongComponents.rst:18 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_strongComponents.rst:21 msgid "Availability" @@ -50,7 +50,7 @@ msgstr "Versión 3.0.0" #: ../../build/doc/pgr_strongComponents.rst:24 msgid "Return columns change:" -msgstr "Las columnas de retorno cambian:" +msgstr "Las columnas de devolución cambian:" #: ../../build/doc/pgr_strongComponents.rst:26 msgid "``n_seq`` is removed" @@ -235,7 +235,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -330,7 +330,7 @@ msgstr "" #: ../../build/doc/pgr_connectedComponents.rst:10 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_connectedComponents.rst:10 msgid "Identifier of the vertex that belongs to **component**." @@ -338,7 +338,7 @@ msgstr "Identificador del vértice que pertenece a **componente**." #: ../../build/doc/pgr_strongComponents.rst:107 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_strongComponents.rst:109 msgid ":doc:`components-family`" @@ -370,8 +370,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_strongComponents.rst:116 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_strongComponents.rst:117 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_topologicalSort.po b/locale/es/LC_MESSAGES/pgr_topologicalSort.po index 3b6818769ba..d903ecb9c1f 100644 --- a/locale/es/LC_MESSAGES/pgr_topologicalSort.po +++ b/locale/es/LC_MESSAGES/pgr_topologicalSort.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_transitiveClosure.po b/locale/es/LC_MESSAGES/pgr_transitiveClosure.po index 2a97f85913d..73d477dbd1f 100644 --- a/locale/es/LC_MESSAGES/pgr_transitiveClosure.po +++ b/locale/es/LC_MESSAGES/pgr_transitiveClosure.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:55+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_trsp.po b/locale/es/LC_MESSAGES/pgr_trsp.po index ff1a8019a96..a9fff681535 100644 --- a/locale/es/LC_MESSAGES/pgr_trsp.po +++ b/locale/es/LC_MESSAGES/pgr_trsp.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Minerva Durán Martínez , 2019 -# Vicky Vergara , 2019 +# Minerva Durán Martínez , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:31+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po b/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po index f685177f7fa..b44b8a60219 100644 --- a/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po +++ b/locale/es/LC_MESSAGES/pgr_turnRestrictedPath.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -165,7 +165,7 @@ msgstr "Ejemplo" #: ../../build/doc/pgr_turnRestrictedPath.rst:63 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_turnRestrictedPath.rst:66 msgid "Indices and tables" @@ -173,8 +173,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_turnRestrictedPath.rst:67 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_turnRestrictedPath.rst:68 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_version.po b/locale/es/LC_MESSAGES/pgr_version.po index 1d2fe317f20..a5f0305a70d 100644 --- a/locale/es/LC_MESSAGES/pgr_version.po +++ b/locale/es/LC_MESSAGES/pgr_version.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -130,7 +130,7 @@ msgstr "Versión de pgRouting" #: ../../build/doc/pgr_version.rst:72 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_version.rst:74 msgid ":doc:`pgr_full_version`" @@ -142,8 +142,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_version.rst:78 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_version.rst:79 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po b/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po index 6cf7a827b45..0b7b55dafbd 100644 --- a/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po +++ b/locale/es/LC_MESSAGES/pgr_vrpOneDepot.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -189,7 +189,7 @@ msgstr "Datos" #: ../../build/doc/pgr_vrpOneDepot.rst:77 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_vrpOneDepot.rst:79 msgid "https://en.wikipedia.org/wiki/Vehicle_routing_problem" @@ -201,8 +201,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_vrpOneDepot.rst:83 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_vrpOneDepot.rst:84 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po b/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po index 185082dacca..c1451343957 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsCostMatrix.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"POT-Creation-Date: 2020-11-04 13:06-0600\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.6.0\n" +"Generated-By: Babel 2.8.0\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -76,7 +76,7 @@ msgstr "Es posible que la documentación necesite un refinamiento." #: ../../build/doc/pgr_withPointsCostMatrix.rst:22 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_withPointsCostMatrix.rst:25 msgid "Availability" @@ -315,24 +315,16 @@ msgid "``BIGINT``" msgstr "``BIGINT``" #: ../../build/doc/pgRouting-concepts.rst:8 -msgid "" -"Identifier of the starting vertex. Used when multiple starting vetrices are " -"in the query." -msgstr "" -"Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " -"iniciales en la consulta." +msgid "Identifier of the starting vertex." +msgstr "Identificador del vértice inicial." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**end_vid**" msgstr "**end_vid**" #: ../../build/doc/pgRouting-concepts.rst:9 -msgid "" -"Identifier of the ending vertex. Used when multiple ending vertices are in " -"the query." -msgstr "" -"Identificador del vértice final. Se utiliza cuando hay varios vértices " -"finales en la consulta." +msgid "Identifier of the ending vertex." +msgstr "Identificador del vértice final." #: ../../build/doc/pgRouting-concepts.rst:10 msgid "**agg_cost**" @@ -388,7 +380,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -537,7 +529,7 @@ msgstr "" #: ../../build/doc/pgr_withPointsCostMatrix.rst:143 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_withPointsCostMatrix.rst:145 msgid ":doc:`pgr_withPoints`" @@ -561,8 +553,22 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_withPointsCostMatrix.rst:152 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_withPointsCostMatrix.rst:153 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" + +#~ msgid "" +#~ "Identifier of the starting vertex. Used when multiple starting vetrices are " +#~ "in the query." +#~ msgstr "" +#~ "Identificador del vértice inicial. Se utiliza cuando hay varias vetrices " +#~ "iniciales en la consulta." + +#~ msgid "" +#~ "Identifier of the ending vertex. Used when multiple ending vertices are in " +#~ "the query." +#~ msgstr "" +#~ "Identificador del vértice final. Se utiliza cuando hay varios vértices " +#~ "finales en la consulta." diff --git a/locale/es/LC_MESSAGES/pgr_withPointsDD.po b/locale/es/LC_MESSAGES/pgr_withPointsDD.po index 43f65489627..b6bf6eadae3 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsDD.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsDD.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:31+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -73,7 +73,7 @@ msgstr "Es posible que la documentación necesite un refinamiento." #: ../../build/doc/pgr_withPointsDD.rst:22 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_withPointsDD.rst:25 msgid "Availability" @@ -182,7 +182,7 @@ msgstr "Desde el punto :math:`1` with :math:`agg\\_cost <= 3.8`" #: ../../build/doc/pgr_withPointsDD.rst:87 msgid "Single vertex" -msgstr "Vértice único" +msgstr "Un solo vértice" #: ../../build/doc/pgr_withPointsDD.rst:89 #: ../../build/doc/pgr_withPointsDD.rst:108 @@ -201,7 +201,7 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:106 msgid "Multiple vertices" -msgstr "Múltiples Vértices" +msgstr "Múltiples vértices" #: ../../build/doc/pgr_withPointsDD.rst:116 msgid "Parameters" @@ -390,7 +390,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_withPointsDD.rst:161 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 msgid "Weight of the edge `(source, target)`" @@ -537,7 +537,7 @@ msgstr "secuencia de filas." #: ../../build/doc/pgr_withPointsDD.rst:157 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_withPointsDD.rst:157 #: ../../build/doc/pgr_withPointsDD.rst:158 @@ -554,7 +554,7 @@ msgstr "" #: ../../build/doc/pgr_withPointsDD.rst:158 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgr_withPointsDD.rst:159 msgid "" @@ -628,7 +628,7 @@ msgstr "Las consultas utilizan la red :doc:`sampledata` ." #: ../../build/doc/pgr_withPointsDD.rst:191 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_withPointsDD.rst:193 msgid ":doc:`pgr_drivingDistance` - Driving distance using dijkstra." @@ -644,8 +644,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_withPointsDD.rst:198 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_withPointsDD.rst:199 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/pgr_withPointsKSP.po b/locale/es/LC_MESSAGES/pgr_withPointsKSP.po index 41cc8fc5bb8..bc795ea880e 100644 --- a/locale/es/LC_MESSAGES/pgr_withPointsKSP.po +++ b/locale/es/LC_MESSAGES/pgr_withPointsKSP.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -73,7 +73,7 @@ msgstr "Es posible que la documentación necesite un refinamiento." #: ../../build/doc/pgr_withPointsKSP.rst:22 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/pgr_withPointsKSP.rst:25 msgid "Availability" @@ -389,7 +389,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgr_withPointsKSP.rst:141 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -562,7 +562,7 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:137 msgid "**node**" -msgstr "**nodo**" +msgstr "**node**" #: ../../build/doc/pgr_withPointsKSP.rst:137 #: ../../build/doc/pgr_withPointsKSP.rst:138 @@ -579,7 +579,7 @@ msgstr "" #: ../../build/doc/pgr_withPointsKSP.rst:138 msgid "**edge**" -msgstr "**arista**" +msgstr "**edge**" #: ../../build/doc/pgr_withPointsKSP.rst:139 msgid "" @@ -648,7 +648,7 @@ msgstr "Las consultas utilizan la red :doc:`sampledata` ." #: ../../build/doc/pgr_withPointsKSP.rst:167 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/pgr_withPointsKSP.rst:169 msgid ":doc:`withPoints-family`" @@ -660,8 +660,8 @@ msgstr "Índices y tablas" #: ../../build/doc/pgr_withPointsKSP.rst:173 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/pgr_withPointsKSP.rst:174 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/prim-family.po b/locale/es/LC_MESSAGES/prim-family.po index 72359696c0a..33911440f2f 100644 --- a/locale/es/LC_MESSAGES/prim-family.po +++ b/locale/es/LC_MESSAGES/prim-family.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -46,7 +46,7 @@ msgstr ":doc:`pgr_primDFS`" #: ../../build/doc/prim-family.rst:25 msgid "Boost Graph Inside" -msgstr "Boost Graph Interno" +msgstr "Adentro: Boost Graph" #: ../../build/doc/prim-family.rst:35 msgid "" @@ -188,7 +188,7 @@ msgstr "Identificador del segundo punto final en el vértice de la arista." #: ../../build/doc/pgRouting-concepts.rst:9 msgid "**cost**" -msgstr "**costo**" +msgstr "**cost**" #: ../../build/doc/pgRouting-concepts.rst:9 #: ../../build/doc/pgRouting-concepts.rst:13 @@ -249,7 +249,7 @@ msgstr "SMALLINT, INTEGER, BIGINT, REAL, FLOAT" #: ../../build/doc/prim-family.rst:87 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/prim-family.rst:89 msgid ":doc:`spanningTree-family`" @@ -278,8 +278,8 @@ msgstr "Índices y tablas" #: ../../build/doc/prim-family.rst:95 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/prim-family.rst:96 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/proposed.po b/locale/es/LC_MESSAGES/proposed.po index 0dcc377ef8b..6832a2d118a 100644 --- a/locale/es/LC_MESSAGES/proposed.po +++ b/locale/es/LC_MESSAGES/proposed.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:28+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -129,8 +129,7 @@ msgstr ":doc:`drivingDistance-category`" #: ../../build/doc/drivingDistance-category.rst:3 msgid ":doc:`pgr_withPointsDD` - Driving Distance based on pgr_withPoints" -msgstr "" -":doc:`pgr_withPointsDD` - Distancia Manejando basada en pgr_withPoints" +msgstr ":doc:`pgr_withPointsDD` - Driving Distance basada en pgr_withPoints" #: ../../build/doc/proposed.rst:62 msgid ":doc:`KSP-category`" @@ -142,7 +141,7 @@ msgstr ":doc:`pgr_withPointsKSP` - Algoritmo de Yen basado en pgr_withPoints" #: ../../build/doc/proposed.rst:76 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/proposed.rst:78 msgid ":doc:`experimental`" @@ -154,8 +153,8 @@ msgstr "Índices y tablas" #: ../../build/doc/proposed.rst:82 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/proposed.rst:83 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/routingFunctions.po b/locale/es/LC_MESSAGES/routingFunctions.po index 09d6e786c7b..323b5fc93e3 100644 --- a/locale/es/LC_MESSAGES/routingFunctions.po +++ b/locale/es/LC_MESSAGES/routingFunctions.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:29+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -324,7 +324,7 @@ msgstr "" #: ../../build/doc/topology-functions.rst:6 msgid ":doc:`pgr_analyzeOneWay` - to analyze directionality of the edges." msgstr "" -":doc:`pgr_analyzeOneWay` - para analizar la direccionalidad de las aristas." +":doc:`pgr_analyzeOneWay` - para analizar la direccionalidad de los bordes." #: ../../build/doc/topology-functions.rst:7 msgid ":doc:`pgr_nodeNetwork` -to create nodes to a not noded edge table." @@ -387,22 +387,21 @@ msgstr ":doc:`drivingDistance-category`" msgid "" ":doc:`pgr_drivingDistance` - Driving Distance based on Dijkstra's algorithm" msgstr "" -":doc:`pgr_drivingDistance` - Distancia Manejando basada en el algoritmo de " +":doc:`pgr_drivingDistance` - Driving Distance basada en el algoritmo de " "Dijkstra." #: ../../build/doc/drivingDistance-category.rst:4 msgid ":doc:`pgr_primDD` - Driving Distance based on Prim's algorithm" -msgstr "" -":doc:`pgr_primDD` - Distancia Manejando basada en el algoritmo de Prim" +msgstr ":doc:`pgr_primDD` - Driving Distance basada en el algoritmo de Prim" #: ../../build/doc/drivingDistance-category.rst:5 msgid ":doc:`pgr_kruskalDD` - Driving Distance based on Kruskal's algorithm" msgstr "" -":doc:`pgr_kruskalDD` - Distancia Manejando basada en el algoritmo de Kruskal" +":doc:`pgr_kruskalDD` - Driving Distance basada en el algoritmo de Kruskal" #: ../../build/doc/drivingDistance-category.rst:6 msgid "Post pocessing" -msgstr "Post procesamiento" +msgstr "Post poce" #: ../../build/doc/drivingDistance-category.rst:8 msgid ":doc:`pgr_alphaShape` - Alpha shape computation" @@ -422,7 +421,7 @@ msgstr ":doc:`spanningTree-family`" #: ../../build/doc/routingFunctions.rst:158 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/routingFunctions.rst:161 msgid "Indices and tables" @@ -430,8 +429,8 @@ msgstr "Índices y tablas" #: ../../build/doc/routingFunctions.rst:162 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/routingFunctions.rst:163 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" diff --git a/locale/es/LC_MESSAGES/sampledata.po b/locale/es/LC_MESSAGES/sampledata.po index ea5fa1e7e08..6db65c2b361 100644 --- a/locale/es/LC_MESSAGES/sampledata.po +++ b/locale/es/LC_MESSAGES/sampledata.po @@ -4,7 +4,7 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 +# Vicky Vergara , 2020 # MarPetra , 2020 # #, fuzzy @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:54+0000\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" "Last-Translator: MarPetra , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" diff --git a/locale/es/LC_MESSAGES/spanningTree-family.po b/locale/es/LC_MESSAGES/spanningTree-family.po index bcbf7c1c583..c7045ba0da3 100644 --- a/locale/es/LC_MESSAGES/spanningTree-family.po +++ b/locale/es/LC_MESSAGES/spanningTree-family.po @@ -4,8 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2019 # MarPetra , 2020 +# Vicky Vergara , 2020 +# Esteban Zimanyi , 2020 # #, fuzzy msgid "" @@ -13,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:28+0000\n" +"Last-Translator: Esteban Zimanyi , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,7 +26,7 @@ msgstr "" #: ../../build/doc/spanningTree-family.rst:11 msgid "Spanning Tree - Category" -msgstr "Spanning Tree - Categoría" +msgstr "Árbol de expansión - Categoría" #: ../../build/doc/spanningTree-family.rst:16 msgid ":doc:`kruskal-family`" @@ -40,8 +41,8 @@ msgid "" "A spanning tree of an undirected graph is a tree that includes all the " "vertices of G with the minimum possible number of edges." msgstr "" -"Un árbol de expansión de un gráfico no dirigido es un árbol que incluye " -"todos los vértices de G con el número mínimo posible de bordes." +"El árbol de expansión de un grafo no dirigido es un árbol que incluye todos " +"los vértices de G con el número mínimo posible de aristas." #: ../../build/doc/spanningTree-family.rst:24 msgid "" @@ -49,7 +50,8 @@ msgid "" "forest, consisting of a spanning tree of each connected component." msgstr "" "Para un grafo desconectado, no hay un solo árbol, sino un bosque de " -"expansión, que consta de un árbol de expansión de cada componente conectado." +"expansión, que consiste en un árbol de expansión de cada componente " +"conectado." #: ../../build/doc/spanningTree-family.rst:33 msgid "" @@ -70,7 +72,7 @@ msgid "" "`Boost: Prim's algorithm documentation " "`__" msgstr "" -"`Boost: Prim's algorithm documentation " +"`Boost: Documentación del algorithmo de Prim " "`__" #: ../../build/doc/spanningTree-family.rst:41 diff --git a/locale/es/LC_MESSAGES/topology-functions.po b/locale/es/LC_MESSAGES/topology-functions.po index 1a0f9cf666a..27bb31172f0 100644 --- a/locale/es/LC_MESSAGES/topology-functions.po +++ b/locale/es/LC_MESSAGES/topology-functions.po @@ -1,21 +1,21 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) pgRouting Contributors - Version v3.0.0-rc1 +# Copyright (C) pgRouting Contributors - Version v3.1.0 # This file is distributed under the same license as the pgRouting package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# MarPetra , 2019 -# Celia Virginia Vergara Castillo , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 +# MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: pgRouting v3.0.0-rc1\n" +"Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-28 23:41-0600\n" -"PO-Revision-Date: 2019-09-07 11:56+0000\n" -"Last-Translator: Celia Virginia Vergara Castillo , 2019\n" +"POT-Creation-Date: 2020-07-22 08:19-0500\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/transformation-family.po b/locale/es/LC_MESSAGES/transformation-family.po index 4e21607f7b7..89ae5addd8a 100644 --- a/locale/es/LC_MESSAGES/transformation-family.po +++ b/locale/es/LC_MESSAGES/transformation-family.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , 2020. # # Translators: -# 0a3886ca72a6d508a04563bd8c050dff, 2019 -# Vicky Vergara , 2019 +# 0a3886ca72a6d508a04563bd8c050dff, 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: pgRouting v3.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" -"PO-Revision-Date: 2019-09-07 11:57+0000\n" -"Last-Translator: MarPetra , 2020\n" +"PO-Revision-Date: 2020-11-04 18:32+0000\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/es/LC_MESSAGES/withPoints-family.po b/locale/es/LC_MESSAGES/withPoints-family.po index eb1b85884aa..fde738c1742 100644 --- a/locale/es/LC_MESSAGES/withPoints-family.po +++ b/locale/es/LC_MESSAGES/withPoints-family.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , 2020. # # Translators: -# Vicky Vergara , 2020 # MarPetra , 2020 +# Vicky Vergara , 2020 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-22 08:19-0500\n" "PO-Revision-Date: 2020-11-04 18:30+0000\n" -"Last-Translator: MarPetra , 2020\n" +"Last-Translator: Vicky Vergara , 2020\n" "Language-Team: Spanish (https://www.transifex.com/pgrouting/teams/1219/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -468,7 +468,7 @@ msgstr "Se elimina la arista (15, 9, 12, 10)." #: ../../build/doc/withPoints-family.rst:200 msgid "See Also" -msgstr "Véase también" +msgstr "Ver también" #: ../../build/doc/withPoints-family.rst:203 msgid "Indices and tables" @@ -476,8 +476,8 @@ msgstr "Índices y tablas" #: ../../build/doc/withPoints-family.rst:204 msgid ":ref:`genindex`" -msgstr ":ref:`Índice `" +msgstr ":ref:`genindex`" #: ../../build/doc/withPoints-family.rst:205 msgid ":ref:`search`" -msgstr ":ref:`búsqueda `" +msgstr ":ref:`search`" From 19b6408368585b3af9e985f22a9d0d714d759cf0 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 22 Dec 2020 13:59:54 -0600 Subject: [PATCH 1190/1360] [lint] Cleanup build to use efectively cmake 3.2 The following changes affect 3.0 files [build][lint] main CMakeLists & cmake directory [build][lint] src & inlcude adjusted to changes [build][clean] adjusting sql/Cmakelists [build][clean] adjusting sql/*/Cmakelists [build][clean] adjusting sql/*/Cmakelists [Build][Lint] Adjusting building sql scripts [build][lint] Adjusting sql files [build][lint] adjusting doc/CMakelists [build]lint] adjusting doc directory [build]lint] adjusting docqueries directory [build]lint] adjusting doxygen directory [lint] Removing no longer used template --- CMakeLists.txt | 262 ++++++-------- NEWS | 1 - cmake/CMakeParseArguments.cmake.back | 138 -------- cmake/Cat.cmake | 24 -- cmake/CheckCCompilerFlag.cmake | 20 -- cmake/FindGAUL.cmake | 63 ---- cmake/FindGit.cmake | 157 --------- .../FindPackageHandleStandardArgs.cmake.back | 325 ------------------ cmake/FindPackageMessage.cmake.back | 49 --- cmake/FindPostGIS.cmake | 52 --- cmake/MacroAddCompileFlags.cmake | 19 - cmake/MacroAddLinkFlags.cmake | 18 - cmake/MacroLibrary.cmake | 22 -- cmake/MacroLibrary.cmake.back | 22 -- cmake/MacroOptionalFindPackage.cmake | 28 -- cmake/PlatformSpecific.cmake | 14 - cmake/TargetDistclean.cmake | 15 - cmake/pgr/BuildType.cmake | 9 +- cmake/pgr/Configure.cmake | 26 +- cmake/pgr/GitInfo.cmake | 40 +-- cmake/pgr/Version.cmake | 30 +- doc/CMakeLists.txt | 38 +- doc/allpairs/CMakeLists.txt | 2 +- doc/alpha_shape/CMakeLists.txt | 2 +- doc/astar/CMakeLists.txt | 2 +- doc/bdAstar/CMakeLists.txt | 2 +- doc/bdDijkstra/CMakeLists.txt | 2 +- doc/bellman_ford/CMakeLists.txt | 2 +- doc/breadthFirstSearch/CMakeLists.txt | 2 +- doc/chinese/CMakeLists.txt | 2 +- doc/components/CMakeLists.txt | 4 +- doc/components/images/CMakeLists.txt | 2 +- doc/conf.py.in | 8 +- doc/contraction/CMakeLists.txt | 4 +- doc/contraction/images/CMakeLists.txt | 2 +- doc/dagShortestPath/CMakeLists.txt | 2 +- doc/dijkstra/CMakeLists.txt | 2 +- doc/driving_distance/CMakeLists.txt | 2 +- doc/images/CMakeLists.txt | 2 +- doc/ksp/CMakeLists.txt | 2 +- doc/lineGraph/CMakeLists.txt | 4 +- doc/lineGraph/images/CMakeLists.txt | 2 +- doc/max_flow/CMakeLists.txt | 2 +- doc/mincut/CMakeLists.txt | 2 +- doc/pickDeliver/CMakeLists.txt | 2 +- doc/spanningTree/CMakeLists.txt | 2 +- doc/src/CMakeLists.txt | 2 +- doc/src/pgRouting-installation.rst | 12 +- doc/src/release_notes.rst | 1 - doc/topologicalSort/CMakeLists.txt | 2 +- doc/topology/CMakeLists.txt | 4 +- doc/topology/images/CMakeLists.txt | 2 +- doc/transitiveClosure/CMakeLists.txt | 2 +- doc/trsp/CMakeLists.txt | 2 +- doc/tsp/CMakeLists.txt | 2 +- doc/version/CMakeLists.txt | 2 +- doc/vrp_basic/CMakeLists.txt | 2 +- doc/withPoints/CMakeLists.txt | 4 +- doc/withPoints/images/CMakeLists.txt | 2 +- docqueries/allpairs/CMakeLists.txt | 2 +- docqueries/alpha_shape/CMakeLists.txt | 2 +- docqueries/astar/CMakeLists.txt | 2 +- docqueries/bdAstar/CMakeLists.txt | 2 +- docqueries/bdDijkstra/CMakeLists.txt | 2 +- docqueries/bellman_ford/CMakeLists.txt | 2 +- docqueries/breadthFirstSearch/CMakeLists.txt | 2 +- docqueries/chinese/CMakeLists.txt | 2 +- docqueries/common/CMakeLists.txt | 2 +- docqueries/components/CMakeLists.txt | 2 +- docqueries/contraction/CMakeLists.txt | 2 +- docqueries/dagShortestPath/CMakeLists.txt | 2 +- docqueries/dijkstra/CMakeLists.txt | 2 +- docqueries/driving_distance/CMakeLists.txt | 2 +- docqueries/ksp/CMakeLists.txt | 2 +- docqueries/lineGraph/CMakeLists.txt | 2 +- docqueries/max_flow/CMakeLists.txt | 2 +- docqueries/mincut/CMakeLists.txt | 2 +- docqueries/pickDeliver/CMakeLists.txt | 2 +- docqueries/spanningTree/CMakeLists.txt | 2 +- docqueries/src/CMakeLists.txt | 2 +- docqueries/topologicalSort/CMakeLists.txt | 2 +- docqueries/topology/CMakeLists.txt | 2 +- docqueries/transitiveClosure/CMakeLists.txt | 2 +- docqueries/trsp/CMakeLists.txt | 2 +- docqueries/tsp/CMakeLists.txt | 2 +- docqueries/version/CMakeLists.txt | 2 +- docqueries/vrp_basic/CMakeLists.txt | 2 +- docqueries/withPoints/CMakeLists.txt | 2 +- doxygen/Doxyfile.in | 2 +- sql/CMakeLists.txt | 72 ++-- sql/allpairs/CMakeLists.txt | 2 +- sql/allpairs/floydWarshall.sql | 2 +- sql/allpairs/johnson.sql | 2 +- sql/alpha_shape/CMakeLists.txt | 2 +- sql/alpha_shape/alphaShape.sql | 2 +- sql/astar/CMakeLists.txt | 2 +- sql/astar/astar.sql | 8 +- sql/astar/astarCost.sql | 8 +- sql/astar/astarCostMatrix.sql | 2 +- sql/bdAstar/CMakeLists.txt | 2 +- sql/bdAstar/bdAstar.sql | 8 +- sql/bdAstar/bdAstarCost.sql | 8 +- sql/bdAstar/bdAstarCostMatrix.sql | 2 +- sql/bdDijkstra/CMakeLists.txt | 2 +- sql/bdDijkstra/bdDijkstra.sql | 8 +- sql/bdDijkstra/bdDijkstraCost.sql | 8 +- sql/bdDijkstra/bdDijkstraCostMatrix.sql | 2 +- sql/bellman_ford/CMakeLists.txt | 2 +- sql/bellman_ford/bellman_ford.sql | 6 +- sql/bellman_ford/bellman_ford_neg.sql | 8 +- sql/bellman_ford/edwardMoore.sql | 8 +- sql/breadthFirstSearch/CMakeLists.txt | 2 +- .../binaryBreadthFirstSearch.sql | 8 +- sql/breadthFirstSearch/breadthFirstSearch.sql | 4 +- sql/chinese/CMakeLists.txt | 2 +- sql/chinese/pgr_chinesePostman.sql | 2 +- sql/chinese/pgr_chinesePostmanCost.sql | 2 +- sql/common/CMakeLists.txt | 4 +- sql/common/pgrouting.control | 4 +- sql/common/pgrouting_version.sql | 10 +- sql/components/CMakeLists.txt | 2 +- sql/components/articulationPoints.sql | 2 +- sql/components/biconnectedComponents.sql | 2 +- sql/components/bridges.sql | 2 +- sql/components/connectedComponents.sql | 2 +- sql/components/strongComponents.sql | 2 +- sql/contraction/CMakeLists.txt | 2 +- sql/contraction/contraction.sql | 2 +- sql/dagShortestPath/CMakeLists.txt | 2 +- sql/dagShortestPath/dagShortestPath.sql | 8 +- sql/deprecated/CMakeLists.txt | 2 +- sql/dijkstra/CMakeLists.txt | 2 +- sql/dijkstra/dijkstra.sql | 8 +- sql/dijkstra/dijkstraCost.sql | 8 +- sql/dijkstra/dijkstraCostMatrix.sql | 2 +- sql/dijkstra/dijkstraVia.sql | 2 +- sql/driving_distance/CMakeLists.txt | 2 +- sql/driving_distance/drivingDistance.sql | 4 +- sql/driving_distance/withPointsDD.sql | 4 +- sql/ksp/CMakeLists.txt | 2 +- sql/ksp/ksp.sql | 2 +- sql/ksp/turnRestrictedPath.sql | 2 +- sql/ksp/withPointsKSP.sql | 2 +- sql/legacy/pointsAsPolygon.sql | 2 +- sql/lineGraph/CMakeLists.txt | 2 +- sql/lineGraph/lineGraph.sql | 2 +- sql/lineGraph/lineGraphFull.sql | 2 +- sql/max_flow/CMakeLists.txt | 2 +- sql/max_flow/boykovKolmogorov.sql | 8 +- sql/max_flow/edgeDisjointPaths.sql | 8 +- sql/max_flow/edmondsKarp.sql | 8 +- sql/max_flow/maxCardinalityMatch.sql | 2 +- sql/max_flow/maxFlow.sql | 8 +- sql/max_flow/maxFlowMinCost.sql | 8 +- sql/max_flow/maxFlowMinCost_Cost.sql | 8 +- sql/max_flow/pushRelabel.sql | 8 +- sql/mincut/CMakeLists.txt | 2 +- sql/mincut/stoerWagner.sql | 2 +- sql/pickDeliver/CMakeLists.txt | 2 +- sql/pickDeliver/pickDeliver.sql | 2 +- sql/pickDeliver/pickDeliverEuclidean.sql | 2 +- sql/scripts/CMakeLists.txt | 2 +- sql/scripts/build-extension-file.pl | 16 +- ...es1.pl => build-extension-update-files.pl} | 10 +- sql/sigs/CMakeLists.txt | 4 +- sql/sigs/vrprouting--0.0.sig | 0 sql/spanningTree/CMakeLists.txt | 2 +- sql/spanningTree/kruskal.sql | 2 +- sql/spanningTree/kruskalBFS.sql | 4 +- sql/spanningTree/kruskalDD.sql | 8 +- sql/spanningTree/kruskalDFS.sql | 4 +- sql/spanningTree/prim.sql | 2 +- sql/spanningTree/primBFS.sql | 4 +- sql/spanningTree/primDD.sql | 8 +- sql/spanningTree/primDFS.sql | 4 +- sql/spanningTree/randomSpanTree.sql | 2 +- sql/topologicalSort/CMakeLists.txt | 2 +- sql/topologicalSort/topologicalSort.sql | 2 +- sql/topology/CMakeLists.txt | 2 +- sql/topology/analyzeOneway.sql | 2 +- sql/topology/analyzegraph.sql | 2 +- sql/topology/createtopology.sql | 2 +- sql/topology/createverticestable.sql | 2 +- sql/topology/extractVertices.sql | 2 +- sql/transitiveClosure/CMakeLists.txt | 2 +- sql/transitiveClosure/transitiveClosure.sql | 2 +- sql/trsp/CMakeLists.txt | 2 +- sql/trsp/pgr_trsp.sql | 4 +- sql/trsp/pgr_trspViaEdges.sql | 2 +- sql/trsp/pgr_trspViaVertices.sql | 2 +- sql/tsp/CMakeLists.txt | 2 +- sql/tsp/TSP.sql | 2 +- sql/tsp/TSPeuclidean.sql | 2 +- sql/version/CMakeLists.txt | 2 +- sql/version/full_version.sql | 2 +- sql/version/version.sql | 4 +- sql/vrp_basic/CMakeLists.txt | 2 +- sql/vrp_basic/pgr_vrpOneDepot.sql | 2 +- sql/withPoints/CMakeLists.txt | 2 +- sql/withPoints/withPoints.sql | 8 +- sql/withPoints/withPointsCost.sql | 8 +- sql/withPoints/withPointsCostMatrix.sql | 2 +- src/version/_version.c | 4 +- src/version/_version.h.in | 4 +- tools/template/create.sh | 172 --------- tools/template/doc/doc-pgr_function1.queries | 32 -- tools/template/doc/pgr_function1.rst | 138 -------- .../pgtap/function1-compare-dijkstra.sql | 73 ---- tools/template/pgtap/function1-innerQuery.sql | 21 -- tools/template/pgtap/function1-typesCheck.sql | 15 - tools/template/sql/CMakeLists.txt | 13 - tools/template/sql/function1.sql | 37 -- tools/template/src/CMakeLists.txt | 4 - tools/template/src/function1.c | 297 ---------------- tools/template/src/function1_driver.cpp | 151 -------- tools/template/src/function1_driver.h | 65 ---- tools/template/test/doc-function1.result | 34 -- tools/template/test/doc-function1.test.sql | 15 - tools/template/test/test.conf | 17 - 219 files changed, 464 insertions(+), 2649 deletions(-) delete mode 100644 cmake/CMakeParseArguments.cmake.back delete mode 100644 cmake/Cat.cmake delete mode 100644 cmake/CheckCCompilerFlag.cmake delete mode 100644 cmake/FindGAUL.cmake delete mode 100644 cmake/FindGit.cmake delete mode 100644 cmake/FindPackageHandleStandardArgs.cmake.back delete mode 100644 cmake/FindPackageMessage.cmake.back delete mode 100644 cmake/FindPostGIS.cmake delete mode 100644 cmake/MacroAddCompileFlags.cmake delete mode 100644 cmake/MacroAddLinkFlags.cmake delete mode 100644 cmake/MacroLibrary.cmake delete mode 100644 cmake/MacroLibrary.cmake.back delete mode 100644 cmake/MacroOptionalFindPackage.cmake delete mode 100644 cmake/PlatformSpecific.cmake delete mode 100644 cmake/TargetDistclean.cmake rename sql/scripts/{build-extension-update-files1.pl => build-extension-update-files.pl} (98%) create mode 100644 sql/sigs/vrprouting--0.0.sig delete mode 100755 tools/template/create.sh delete mode 100644 tools/template/doc/doc-pgr_function1.queries delete mode 100644 tools/template/doc/pgr_function1.rst delete mode 100644 tools/template/pgtap/function1-compare-dijkstra.sql delete mode 100644 tools/template/pgtap/function1-innerQuery.sql delete mode 100644 tools/template/pgtap/function1-typesCheck.sql delete mode 100644 tools/template/sql/CMakeLists.txt delete mode 100644 tools/template/sql/function1.sql delete mode 100644 tools/template/src/CMakeLists.txt delete mode 100644 tools/template/src/function1.c delete mode 100644 tools/template/src/function1_driver.cpp delete mode 100644 tools/template/src/function1_driver.h delete mode 100644 tools/template/test/doc-function1.result delete mode 100644 tools/template/test/doc-function1.test.sql delete mode 100644 tools/template/test/test.conf diff --git a/CMakeLists.txt b/CMakeLists.txt index ef1717b197d..d98de6df0ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,24 +1,9 @@ -# -# Format convention -# - command (lower case) -# - VARIABLE (upper case) -# (http://www.cmake.org/cmake/help/v2.8.12/cmake.html) -# - cmake_minimum_required(VERSION 3.2 FATAL_ERROR) -if(POLICY CMP0046) - cmake_policy(SET CMP0046 NEW) -endif() - -if(POLICY CMP0054) - cmake_policy(SET CMP0054 NEW) -endif() - -if ( ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR} ) - message(FATAL_ERROR "In-source builds not allowed. - Please make a new directory (called a build directory) and run CMake from there. - You may need to remove CMakeCache.txt." ) +if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) + message(FATAL_ERROR "In-source builds not allowed. + Please make a new directory (called a build directory) and run CMake from there. + You may need to remove CMakeCache.txt." ) endif() #--------------------------------------------- @@ -36,12 +21,13 @@ include(pgr/BuildType) project(PGROUTING VERSION 3.2.0 LANGUAGES C CXX ) set(PGROUTING_VERSION_DEV "-dev") +string(TOLOWER "${PROJECT_NAME}" PROJECT_NAME_LOWER) include(pgr/GitInfo) - include(pgr/Version) -add_definitions(-DPGROUTING_VERSION="${PGROUTING_VERSION}${PGROUTING_VERSION_DEV}") -set(PGROUTING_LIB_NAME "pgrouting-${PGROUTING_LIB_VERSION}") + +add_definitions(-DPROJECT_VERSION="${PROJECT_VERSION}${PROJECT_VERSION_DEV}") +set(PROJECT_LIB_NAME "${PROJECT_NAME_LOWER}-${PROJECT_LIB_VERSION}") string(TIMESTAMP COMPILATION_DATE "%Y/%m/%d") @@ -57,10 +43,6 @@ set(OLD_SIGNATURES #============================================= # Set the working directories #============================================= - -#--------------------------------------------- -# PGROUTING_SOURCE_NAMES -#--------------------------------------------- include(pgr/Configure) @@ -70,89 +52,66 @@ include(pgr/Configure) set(DOXYGEN_MINIMUM_VERSION "1.7") set(SPHINX_MINIMUM_VERSION "1.8") set(POSTGRESQL_MINIMUM_VERSION "9.2.0") -set(BOOST_MINIMUM_VERSION "1.53") +set(BOOST_MINIMUM_VERSION "1.56") set(POSTGIS_MINIMUM_VERSION "2.0.0") -set(GNU_CXX_MINIMUM_VERSION "4.6") -set(MSVC_CXX_MINIMUM_VERSION "18.0") message(STATUS "DOXYGEN_MINIMUM_VERSION=${DOXYGEN_MINIMUM_VERSION}") message(STATUS "SPHINX_MINIMUM_VERSION=${SPHINX_MINIMUM_VERSION}") message(STATUS "POSTGRESQL_MINIMUM_VERSION=${POSTGRESQL_MINIMUM_VERSION}") +message(STATUS "BOOST_MINIMUM_VERSION=${BOOST_MINIMUM_VERSION}") message(STATUS "POSTGIS_MINIMUM_VERSION=${POSTGIS_MINIMUM_VERSION}") -message(STATUS "GNU_CXX_MINIMUM_VERSION=${GNU_CXX_MINIMUM_VERSION}") -message(STATUS "CLANG_CXX_MINIMUM_VERSION=${CLANG_CXX_MINIMUM_VERSION}") -message(STATUS "MSVC_CXX_MINIMUM_VERSION=${MSVC_CXX_MINIMUM_VERSION}") - +# cmake 3.2 adds unwanted flags if(WIN32 AND MSVC) set(CMAKE_C_FLAGS "") set(CMAKE_CXX_FLAGS "") endif() -#--------------------------------------------- -# adding cmake modules -#--------------------------------------------- - -foreach(dir ${CMAKE_MODULE_PATH}) - message(STATUS "dir='${dir}'") -endforeach() - -include(MacroLibrary) -include(TargetDistclean) +#----------------------------------------------------------------------------- +#----------------------------------------------------------------------------- +# C/C++ Compiler requirements +#----------------------------------------------------------------------------- +#----------------------------------------------------------------------------- -#--------------------------------------------- -# C++ Compiler requirements -#--------------------------------------------- +set(CMAKE_C_STANDARD 11) +include(CheckCCompilerFlag) include(CheckCXXCompilerFlag) - -CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) -if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS GNU_CXX_MINIMUM_VERSION) - message(FATAL_ERROR "GCC version must be at least ${GNU_CXX_MINIMUM_VERSION}! - Found version ${CMAKE_CXX_COMPILER_VERSION}") - endif() -elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS MSVC_CXX_MINIMUM_VERSION) - message(FATAL_ERROR "MSVC version must be at least ${MSVC_CXX_MINIMUM_VERSION}!") - endif() -else() - message(STATUS "Unknown compiler minimum version for ${CMAKE_CXX_COMPILER_ID}") -endif() - if(COMPILER_SUPPORTS_CXX11) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - message(STATUS "Using -std=c++11.") -elseif(COMPILER_SUPPORTS_CXX0X) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") - message(STATUS "Using -std=c++0x.") + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) else() - message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++0x or C++11 flags support.") + CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) + if(COMPILER_SUPPORTS_CXX0X) + add_compile_options("-std=c++0x") + message(STATUS "Using -std=c++0x.") + else() + message(WARNING "The compiler ${CMAKE_CXX_COMPILER} has no C++0x or C++11 flags support. + Using: callback compiler's standard") + endif() endif() -set(COMPILER_VERSION "${CMAKE_CXX_COMPILER_ID}-${CMAKE_CXX_COMPILER_VERSION}") - +set(COMPILER_VERSION "${CMAKE_CXX_COMPILER_ID}-${CMAKE_CXX_COMPILER_VERSION}") -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- +#--------------------------------------------- # Windows compiler flags -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- +#--------------------------------------------- if(WIN32 AND NOT MSVC) set(OS_BUILD $ENV{OS_BUILD}) if(NOT OS_BUILD) set(OS_BUILD "64") - endif(NOT OS_BUILD) + endif() set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}:/c/ming${OS_BUILD}/projects/pgx${OS_BUILD}/pg92) if (NOT BOOST_ROOT) set(BOOST_ROOT c:/ming${OS_BUILD}/msys/local) - endif(NOT BOOST_ROOT) + endif() - if (PGROUTING_DEBUG) + if (PROJECT_DEBUG) message(STATUS "OS_BUILD=${OS_BUILD}") message(STATUS "BOOST_ROOT=${BOOST_ROOT}") message(STATUS "CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}") @@ -160,15 +119,14 @@ if(WIN32 AND NOT MSVC) endif(WIN32 AND NOT MSVC) if(WIN32 AND MSVC) - string(REGEX REPLACE "/W[3|4]" "/w" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - string(REGEX REPLACE "/W[3|4]" "/w" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_DEPRECATE") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_SCL_SECURE_NO_DEPRECATE") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_SCL_SECURE_NO_WARNINGS") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_NONSTDC_NO_DEPRECATE") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_NONSTDC_NO_DEPRECATE") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -EHsc") + add_compile_options( + -D_CRT_SECURE_NO_DEPRECATE + -D_SCL_SECURE_NO_DEPRECATE + -D_CRT_SECURE_NO_WARNINGS + -D_SCL_SECURE_NO_WARNINGS + -D_CRT_NONSTDC_NO_DEPRECATE + -D_CRT_NONSTDC_NO_DEPRECATE + -EHsc) endif() #----------------------------------------------------------------------------- @@ -186,8 +144,8 @@ endif() #--------------------------------------------- include(FindPerl) if(NOT PERL_EXECUTABLE) - message(FATAL_ERROR " Please check your Perl installation.") -endif(NOT PERL_EXECUTABLE) + message(FATAL_ERROR "perl NOT FOUND - Please check your Perl installation.") +endif() #--------------------------------------------- #--------------------------------------------- @@ -195,14 +153,11 @@ endif(NOT PERL_EXECUTABLE) #--------------------------------------------- #--------------------------------------------- find_package(PostgreSQL) -if(NOT POSTGRESQL_FOUND) - message(FATAL_ERROR " Please check your PostgreSQL installation.") -endif(NOT POSTGRESQL_FOUND) - -if(NOT POSTGRESQL_VERSION_STRING) - message(FATAL_ERROR "pg_config was not found. Please check your PostgreSQL installation!") +if(NOT POSTGRESQL_FOUND OR NOT POSTGRESQL_VERSION_STRING) + message(FATAL_ERROR "PostgreSQL not found - Please check your PostgreSQL installation.") endif() +message(STATUS "POSTGRESQL_VERSION_STRING=${POSTGRESQL_VERSION_STRING}") string(SUBSTRING "${POSTGRESQL_VERSION_STRING}" 11 -1 POSTGRESQL_VERSION) # for XbetaY XalphaY XrcY -> X.Y @@ -222,8 +177,8 @@ if(WIN32) include_directories(SYSTEM ${POSTGRESQL_INCLUDE_DIR}/port/win32) if(MSVC) include_directories(SYSTEM ${POSTGRESQL_INCLUDE_DIR}/port/win32_msvc/) - endif(MSVC) -endif(WIN32) + endif() +endif() add_definitions(-DPGSQL_VERSION=${PGSQL_VERSION}) message(STATUS "PGSQL_VERSION=${PGSQL_VERSION}") @@ -234,28 +189,23 @@ message(STATUS "PGSQL_VERSION=${PGSQL_VERSION}") # Boost #--------------------------------------------- #--------------------------------------------- -find_package(Boost ${BOOST_MINIMUM_VERSION}) -if(Boost_FOUND) - include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) - message(STATUS "Boost headers were found here: ${Boost_INCLUDE_DIRS}") -else() - message(FATAL_ERROR " Please check your Boost installation ") -endif() -set(BOOST_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") +find_package(Boost ${BOOST_MINIMUM_VERSION} REQUIRED) +set(BOOST_VERSION "${Boost_VERSION}") +include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) # Boost for Chinese postman needs 1.55 at least # dijkstra_shortest_paths.hpp has an error fix on 1.55 # error affects prim # BOOST_VERSION_OK if 1, use the boost file copy in the repository -if ("${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}" VERSION_LESS "1.55.0") +if ("${Boost_VERSION}" VERSION_LESS "1.55.0") set(BOOST_VERSION_OK "0") else() set(BOOST_VERSION_OK "1") endif() # Boost Geometry structure is different -if ("${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}" VERSION_LESS "1.56.0") +if ("${Boost_VERSION}" VERSION_LESS "1.56.0") set(BOOST_Geometry_VERSION_OK "0") else() set(BOOST_Geometry_VERSION_OK "1") @@ -263,44 +213,30 @@ endif() -message(STATUS "Boost VERSION ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") +message(STATUS "Boost VERSION ${Boost_VERSION}") message(STATUS "BOOST_VERSION_OK ${BOOST_VERSION_OK}") message(STATUS "BOOST_Geometry_VERSION_OK ${BOOST_Geometry_VERSION_OK}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBOOST_VERSION_OK=${BOOST_VERSION_OK} -DBOOST_Geometry_VERSION_OK=${BOOST_Geometry_VERSION_OK}") -#--------------------------------------------- -#--------------------------------------------- -# PGROUTING includes -#--------------------------------------------- -#--------------------------------------------- - -set(PGROUTING_INCLUDE_DIRECTORIES - ${PGROUTING_SOURCE_DIR}/include - ) - -#------- -include_directories(${PGROUTING_INCLUDE_DIRECTORIES}) +add_definitions(" -DBOOST_VERSION_OK=${BOOST_VERSION_OK} -DBOOST_Geometry_VERSION_OK=${BOOST_Geometry_VERSION_OK}") #--------------------------------------------- -if (PGROUTING_DEBUG) +if (PROJECT_DEBUG) message(STATUS "PERL_VERSION_STRING = ${PERL_VERSION_STRING}") message(STATUS "POSTGRESQL_VERSION is ${PGSQL_VERSION}") message(STATUS "PGSQL_VERSION is ${PGSQL_VERSION}") message(STATUS "BOOST_VERSION_OK ${BOOST_VERSION_OK}") - message(STATUS "PGROUTING_INCLUDE_DIRECTORIES = ${PGROUTING_INCLUDE_DIRECTORIES}") - message(STATUS "POSTGRESQL_INCLUDE_DIR = ${POSTGRESQL_INCLUDE_DIR}") message(STATUS "Boost_INCLUDE_DIRS = ${Boost_INCLUDE_DIRS}") + message(STATUS "POSTGRESQL_INCLUDE_DIR = ${POSTGRESQL_INCLUDE_DIR}") endif() -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Posgres installation directories -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- - - +#--------------------------------------------- +#--------------------------------------------- +# PROJECT includes +#--------------------------------------------- +#--------------------------------------------- +include_directories(${PROJECT_SOURCE_DIR}/include) #--------------------------------------------- # library directory @@ -308,14 +244,13 @@ endif() execute_process( COMMAND ${POSTGRESQL_PG_CONFIG} --pkglibdir OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE LIB_DIR) + OUTPUT_VARIABLE LIBRARY_INSTALL_PATH) -if(NOT LIB_DIR) +if(NOT LIBRARY_INSTALL_PATH) message(FATAL_ERROR "pg_config --pkglibdir failed to return a value. Please check your PostgreSQL installation!") endif() -#------- -set(LIBRARY_INSTALL_PATH ${LIB_DIR}) +message(STATUS "LIBRARY_INSTALL_PATH ${LIBRARY_INSTALL_PATH}") #--------------------------------------------- # extension directory @@ -334,9 +269,11 @@ else(SHARE_DIR) endif(SHARE_DIR) #--------------------------------------------- -if (PGROUTING_DEBUG) - message(STATUS "Install directory for libraries is set to ${LIB_DIR}") - message(STATUS "Extension directory for SQL files is set to ${SHARE_DIR}") + +if (PROJECT_DEBUG) + message(STATUS "POSTGRESQL_LIBRARIES=${POSTGRESQL_LIBRARIES}") + message(STATUS "LIBRARY_INSTALL_PATH=${LIBRARY_INSTALL_PATH}") + message(STATUS "SHARE_DIR=${SHARE_DIR}") endif() @@ -346,29 +283,22 @@ endif() #--------------------------------------------- if(WIN32) - message(STATUS "LINK_DIRECTORIES = ${POSTGRESQL_LIBRARIES}") - link_directories(${POSTGRESQL_LIBRARIES} ${LIB_DIR}) + link_directories(${POSTGRESQL_LIBRARIES}) link_libraries(postgres) endif() #----------------------------------------------------------------------------- -if (PGROUTING_DEBUG) +if (PROJECT_DEBUG) get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES) - foreach(dir ${dirs}) - message(STATUS "dir='${dir}'") - endforeach() + message(STATUS "INCLUDE_DIRECTORIES='${dirs}'") endif() #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #compiler directives #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -# for UNIX & JENKINS -if(UNIX OR (WIN32 AND NOT MSVC)) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99") -endif() +# https://www.postgresql.org/docs/10/xfunc-c.html if(NOT WIN32) CHECK_C_COMPILER_FLAG("-fPIC" C_COMPILER_SUPPORTS_FPIC) @@ -409,7 +339,7 @@ endif() #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -if (PGROUTING_DEBUG) +if (PROJECT_DEBUG) message(STATUS "CMAKE_CXX_FLAGS_DEBUG= ${CMAKE_CXX_FLAGS_DEBUG}") message(STATUS "CMAKE_CXX_FLAGS_RELEASE= ${CMAKE_CXX_FLAGS_RELEASE}") message(STATUS "CMAKE_CXX_FLAGS= ${CMAKE_CXX_FLAGS}") @@ -432,15 +362,15 @@ endif() if(WITH_INTERNAL_TESTS) message("Including InternalQueryTests") - set(PGROUTING_SOURCE_NAMES ${PGROUTING_SOURCE_NAMES} "internalQueryTests") + set(PROJECT_SRC_DIRECTORIES ${PROJECT_SRC_DIRECTORIES} "internalQueryTests") endif() #------------------- # add the subdirectories that have the C/C++ code #------------------- -foreach (subdir ${PGROUTING_SOURCE_NAMES}) - add_subdirectory("${PGROUTING_SOURCE_DIR}/src/${subdir}") +foreach (subdir ${PROJECT_SRC_DIRECTORIES}) + add_subdirectory("${PROJECT_SOURCE_DIR}/src/${subdir}") endforeach() @@ -464,13 +394,13 @@ LINK_LIBRARIES(${BOOST_THREAD_LIBRARIES}) #------------------- # pgRouting objects to be linked #------------------- -foreach (subdir ${PGROUTING_SOURCE_NAMES} ) - set(PGROUTING_OBJECTS ${PGROUTING_OBJECTS} "$") +foreach (subdir ${PROJECT_SRC_DIRECTORIES} ) + set(PROJECT_OBJECTS ${PROJECT_OBJECTS} "$") endforeach() #----------------------------------------------------------------------------- -# PGROUTING Library names +# PROJECT Library names #----------------------------------------------------------------------------- @@ -478,37 +408,41 @@ endforeach() # PGROUTING installation files names have the following name #---------------------- -if (PGROUTING_DEBUG) - message(STATUS "PGROUTING_LIB_NAME ${PGROUTING_LIB_NAME}") +if (PROJECT_DEBUG) + message(STATUS "PROJECT_LIB_NAME ${PROJECT_LIB_NAME}") endif() -add_library(${PGROUTING_LIB_NAME} +add_library(${PROJECT_LIB_NAME} ${LIBRARY_MODE_TARGET} - ${PGROUTING_OBJECTS}) + ${PROJECT_OBJECTS}) if(APPLE) - set_target_properties(${PGROUTING_LIB_NAME} + set_target_properties(${PROJECT_LIB_NAME} PROPERTIES LINK_FLAGS "-bundle_loader ${POSTGRESQL_EXECUTABLE} -bundle") endif(APPLE) if(WIN32 AND MSVC) - set_target_properties(${PGROUTING_LIB_NAME} PROPERTIES PREFIX "lib") + set_target_properties(${PROJECT_LIB_NAME} PROPERTIES PREFIX "lib") endif(WIN32 AND MSVC) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # sql subdirectory creates the files: -# pgrouting--(version).sql -# pgrouting--(oldVersion)--(version).sql +# ${PROJECT_NAME_LOWER}--(version).sql +# ${PROJECT_NAME_LOWER}--(oldVersion)--(version).sql #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- add_subdirectory(sql) +if (PROJECT_DEBUG) + message(STATUS "PROJECT_FILES_TO_INSTALL=${PROJECT_FILES_TO_INSTALL}") +endif() + #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- @@ -517,9 +451,9 @@ add_subdirectory(sql) #----------------------------------------------------------------------------- -install(TARGETS ${PGROUTING_LIB_NAME} DESTINATION ${LIBRARY_INSTALL_PATH}) +install(TARGETS ${PROJECT_LIB_NAME} DESTINATION ${LIBRARY_INSTALL_PATH}) install(FILES - ${PGROUTING_SQL_FILES_TO_INSTALL} + ${PROJECT_FILES_TO_INSTALL} DESTINATION "${SHARE_DIR}" ) diff --git a/NEWS b/NEWS index 446480377df..2379b899df4 100644 --- a/NEWS +++ b/NEWS @@ -103,7 +103,6 @@ To see all issues & pull requests closed by this release see the `Git closed mil `_ on Github. - pgRouting 3.0.4 Release Notes ------------------------------------------------------------------------------- diff --git a/cmake/CMakeParseArguments.cmake.back b/cmake/CMakeParseArguments.cmake.back deleted file mode 100644 index 016da0c9789..00000000000 --- a/cmake/CMakeParseArguments.cmake.back +++ /dev/null @@ -1,138 +0,0 @@ -# CMAKE_PARSE_ARGUMENTS( args...) -# -# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for -# parsing the arguments given to that macro or function. -# It processes the arguments and defines a set of variables which hold the -# values of the respective options. -# -# The argument contains all options for the respective macro, -# i.e. keywords which can be used when calling the macro without any value -# following, like e.g. the OPTIONAL keyword of the install() command. -# -# The argument contains all keywords for this macro -# which are followed by one value, like e.g. DESTINATION keyword of the -# install() command. -# -# The argument contains all keywords for this macro -# which can be followed by more than one value, like e.g. the TARGETS or -# FILES keywords of the install() command. -# -# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the -# keywords listed in , and -# a variable composed of the given -# followed by "_" and the name of the respective keyword. -# These variables will then hold the respective value from the argument list. -# For the keywords this will be TRUE or FALSE. -# -# All remaining arguments are collected in a variable -# _UNPARSED_ARGUMENTS, this can be checked afterwards to see whether -# your macro was called with unrecognized parameters. -# -# As an example here a my_install() macro, which takes similar arguments as the -# real install() command: -# -# function(MY_INSTALL) -# set(options OPTIONAL FAST) -# set(oneValueArgs DESTINATION RENAME) -# set(multiValueArgs TARGETS CONFIGURATIONS) -# cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) -# ... -# -# Assume my_install() has been called like this: -# my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub) -# -# After the cmake_parse_arguments() call the macro will have set the following -# variables: -# MY_INSTALL_OPTIONAL = TRUE -# MY_INSTALL_FAST = FALSE (this option was not used when calling my_install() -# MY_INSTALL_DESTINATION = "bin" -# MY_INSTALL_RENAME = "" (was not used) -# MY_INSTALL_TARGETS = "foo;bar" -# MY_INSTALL_CONFIGURATIONS = "" (was not used) -# MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL" -# -# You can then continue and process these variables. -# -# Keywords terminate lists of values, e.g. if directly after a one_value_keyword -# another recognized keyword follows, this is interpreted as the beginning of -# the new option. -# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in -# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would -# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor. - -#============================================================================= -# Copyright 2010 Alexander Neundorf -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - - -if(__CMAKE_PARSE_ARGUMENTS_INCLUDED) - return() -endif() -set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE) - - -function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames) - # first set all result variables to empty/FALSE - foreach(arg_name ${_singleArgNames} ${_multiArgNames}) - set(${prefix}_${arg_name}) - endforeach() - - foreach(option ${_optionNames}) - set(${prefix}_${option} FALSE) - endforeach() - - set(${prefix}_UNPARSED_ARGUMENTS) - - set(insideValues FALSE) - set(currentArgName) - - # now iterate over all arguments and fill the result variables - foreach(currentArg ${ARGN}) - list(FIND _optionNames "${currentArg}" optionIndex) # ... then this marks the end of the arguments belonging to this keyword - list(FIND _singleArgNames "${currentArg}" singleArgIndex) # ... then this marks the end of the arguments belonging to this keyword - list(FIND _multiArgNames "${currentArg}" multiArgIndex) # ... then this marks the end of the arguments belonging to this keyword - - if(${optionIndex} EQUAL -1 AND ${singleArgIndex} EQUAL -1 AND ${multiArgIndex} EQUAL -1) - if(insideValues) - if("${insideValues}" STREQUAL "SINGLE") - set(${prefix}_${currentArgName} ${currentArg}) - set(insideValues FALSE) - elseif("${insideValues}" STREQUAL "MULTI") - list(APPEND ${prefix}_${currentArgName} ${currentArg}) - endif() - else() - list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg}) - endif() - else() - if(NOT ${optionIndex} EQUAL -1) - set(${prefix}_${currentArg} TRUE) - set(insideValues FALSE) - elseif(NOT ${singleArgIndex} EQUAL -1) - set(currentArgName ${currentArg}) - set(${prefix}_${currentArgName}) - set(insideValues "SINGLE") - elseif(NOT ${multiArgIndex} EQUAL -1) - set(currentArgName ${currentArg}) - set(${prefix}_${currentArgName}) - set(insideValues "MULTI") - endif() - endif() - - endforeach() - - # propagate the result variables to the caller: - foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames}) - set(${prefix}_${arg_name} ${${prefix}_${arg_name}} PARENT_SCOPE) - endforeach() - set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE) - -endfunction() diff --git a/cmake/Cat.cmake b/cmake/Cat.cmake deleted file mode 100644 index 29aa5f269eb..00000000000 --- a/cmake/Cat.cmake +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (C) 2009 Sun Microsystems, Inc -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -# Concatenate files -# -# Parameters : -# IN - input file) -# OUT - output file -FUNCTION(CAT IN OUT) - FILE(READ ${IN} CONTENTS) - FILE(APPEND ${OUT} "${CONTENTS}") -ENDFUNCTION(CAT IN OUT) diff --git a/cmake/CheckCCompilerFlag.cmake b/cmake/CheckCCompilerFlag.cmake deleted file mode 100644 index 2ec943c376d..00000000000 --- a/cmake/CheckCCompilerFlag.cmake +++ /dev/null @@ -1,20 +0,0 @@ -# - Check whether the C compiler supports a given flag. -# CHECK_C_COMPILER_FLAG(FLAG VARIABLE) -# -# FLAG - the compiler flag -# VARIABLE - variable to store the result - -# Copyright (c) 2006, Alexander Neundorf, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - - -INCLUDE(CheckCSourceCompiles) - -MACRO (CHECK_C_COMPILER_FLAG _FLAG _RESULT) - SET(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}") - SET(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}") - CHECK_C_SOURCE_COMPILES("int main() { return 0;}" ${_RESULT}) - SET (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}") -ENDMACRO (CHECK_C_COMPILER_FLAG) diff --git a/cmake/FindGAUL.cmake b/cmake/FindGAUL.cmake deleted file mode 100644 index 1f92598b971..00000000000 --- a/cmake/FindGAUL.cmake +++ /dev/null @@ -1,63 +0,0 @@ -# - Find GAUL -# Find the GAUL includes and client library -# This module defines -# GAUL_LIBRARIES, the libraries needed to use GAUL. -# GAUL_FOUND, If false, do not try to use GAUL. -# - -if(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES AND GAUL_UTIL_LIBRARIES) - set(GAUL_FOUND TRUE) - -else(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES AND GAUL_UTIL_LIBRARIES) - - FIND_PATH(GAUL_INCLUDE_DIR gaul.h - ${GAUL_ROOT}/include - /usr/include - /usr/local/include - $ENV{ProgramFiles}/gaul/*/include - $ENV{SystemDrive}/gaul/*/include - ) - -message(STATUS "GAUL_INCLUDE_DIR=${GAUL_INCLUDE_DIR}") - - find_library(GAUL_LIBRARIES NAMES gaul libgaul - PATHS - ${GAUL_ROOT}/lib - /usr/lib - /usr/local/lib - /usr/lib/gaul - /usr/lib64 - /usr/local/lib64 - /usr/lib64/gaul - $ENV{ProgramFiles}/GAUL/*/lib/ - $ENV{SystemDrive}/GAUL/*/lib/ - ) - -message(STATUS "GAUL_LIBRARIES=${GAUL_LIBRARIES}") - - find_library(GAUL_UTIL_LIBRARIES NAMES gaul_util libgaul_util - PATHS - ${GAUL_ROOT}/lib - /usr/lib - /usr/local/lib - /usr/lib/gaul - /usr/lib64 - /usr/local/lib64 - /usr/lib64/gaul - $ENV{ProgramFiles}/GAUL/*/lib/ - $ENV{SystemDrive}/GAUL/*/lib/ - ) - -message(STATUS "GAUL_UTIL_LIBRARIES=${GAUL_UTIL_LIBRARIES}") - - if(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES AND GAUL_UTIL_LIBRARIES) - set(GAUL_FOUND TRUE) - message(STATUS "Found GAUL: ${GAUL_LIBRARIES}, ${GAUL_UTIL_LIBRARIES}") - else(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES AND GAUL_UTIL_LIBRARIES) - set(GAUL_FOUND FALSE) - message(STATUS "GAUL not found.") - endif(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES AND GAUL_UTIL_LIBRARIES) - - mark_as_advanced(GAUL_INCLUDE_DIR GAUL_LIBRARIES GAUL_UTIL_LIBRARIES) - -endif(GAUL_INCLUDE_DIR AND GAUL_LIBRARIES AND GAUL_UTIL_LIBRARIES) diff --git a/cmake/FindGit.cmake b/cmake/FindGit.cmake deleted file mode 100644 index 80299dcbd45..00000000000 --- a/cmake/FindGit.cmake +++ /dev/null @@ -1,157 +0,0 @@ -################################################################################ -# -# Program: 3D Slicer -# -# Copyright (c) Kitware Inc. -# -# See COPYRIGHT.txt -# or http://www.slicer.org/copyright/copyright.txt for details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# This file was originally developed by Jean-Christophe Fillion-Robin, Kitware Inc. -# and was partially funded by NIH grant 3P41RR013218-12S1 -# -################################################################################ - -# -# The module defines the following variables: -# GIT_EXECUTABLE - path to git command line client -# GIT_FOUND - true if the command line client was found -# -# If the command line client executable is found the macro -# GIT_WC_INFO(

) -# is defined to extract information of a git working copy at -# a given location. -# -# The macro defines the following variables: -# _WC_REVISION_HASH - Current SHA1 hash -# _WC_REVISION - Current SHA1 hash -# _WC_REVISION_NAME - Name associated with _WC_REVISION_HASH -# _WC_URL - output of command `git config --get remote.origin.url' -# _WC_ROOT - Same value as working copy URL -# _WC_GITSVN - Set to false -# -# ... and also the following ones if it's a git-svn repository: -# _WC_GITSVN - Set to True if it is a -# _WC_INFO - output of command `git svn info' -# _WC_URL - url of the associated SVN repository -# _WC_ROOT - root url of the associated SVN repository -# _WC_REVISION - current SVN revision number -# _WC_LAST_CHANGED_AUTHOR - author of last commit -# _WC_LAST_CHANGED_DATE - date of last commit -# _WC_LAST_CHANGED_REV - revision of last commit -# _WC_LAST_CHANGED_LOG - last log of base revision -# -# Example usage: -# find_package(Git) -# if(GIT_FOUND) -# GIT_WC_INFO(${PROJECT_SOURCE_DIR} Project) -# message("Current revision is ${Project_WC_REVISION_HASH}") -# message("git found: ${GIT_EXECUTABLE}") -# endif() -# - -# Look for 'git' or 'eg' (easy git) -# -set(git_names git eg) - -# Prefer .cmd variants on Windows unless running in a Makefile -# in the MSYS shell. -# -if(WIN32) - if(NOT CMAKE_GENERATOR MATCHES "MSYS") - # Note: Due to a bug in 'git.cmd' preventing it from returning the exit code of 'git', - # we excluded it from the list of executables to search. - # See http://code.google.com/p/msysgit/issues/detail?id=428 - # TODO Check if 'git' exists, get the associated version, if the corresponding version - # is known to have a working version of 'git.cmd', use it. - set(git_names git eg.cmd eg) - endif() -endif() - -find_program(GIT_EXECUTABLE ${git_names} - PATHS - "C:/Program Files/Git/bin" - "C:/Program Files (x86)/Git/bin" - DOC "git command line client") -mark_as_advanced(GIT_EXECUTABLE) - -if(GIT_EXECUTABLE) - macro(GIT_WC_INFO dir prefix) - execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --verify -q --short=7 HEAD - WORKING_DIRECTORY ${dir} - ERROR_VARIABLE GIT_error - OUTPUT_VARIABLE ${prefix}_WC_REVISION_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE) - set(${prefix}_WC_REVISION ${${prefix}_WC_REVISION_HASH}) - if(NOT ${GIT_error} EQUAL 0) - message(SEND_ERROR "Command \"${GIT_EXECUTBALE} rev-parse --verify -q --short=7 HEAD\" in directory ${dir} failed with output:\n${GIT_error}") - else(NOT ${GIT_error} EQUAL 0) - execute_process(COMMAND ${GIT_EXECUTABLE} name-rev ${${prefix}_WC_REVISION_HASH} - WORKING_DIRECTORY ${dir} - OUTPUT_VARIABLE ${prefix}_WC_REVISION_NAME - OUTPUT_STRIP_TRAILING_WHITESPACE) - endif(NOT ${GIT_error} EQUAL 0) - - execute_process(COMMAND ${GIT_EXECUTABLE} config --get remote.origin.url - WORKING_DIRECTORY ${dir} - OUTPUT_VARIABLE ${prefix}_WC_URL - OUTPUT_STRIP_TRAILING_WHITESPACE) - - set(${prefix}_WC_GITSVN False) - - # Check if this git is likely to be a git-svn repository - execute_process(COMMAND ${GIT_EXECUTABLE} config --get-regexp "^svn-remote" - WORKING_DIRECTORY ${dir} - OUTPUT_VARIABLE git_config_output - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - if(NOT "${git_config_output}" STREQUAL "") - # In case git-svn is used, attempt to extract svn info - execute_process(COMMAND ${GIT_EXECUTABLE} svn info - WORKING_DIRECTORY ${dir} - TIMEOUT 3 - ERROR_VARIABLE git_svn_info_error - OUTPUT_VARIABLE ${prefix}_WC_INFO - RESULT_VARIABLE git_svn_info_result - OUTPUT_STRIP_TRAILING_WHITESPACE) - - if(${git_svn_info_result} EQUAL 0) - set(${prefix}_WC_GITSVN True) - string(REGEX REPLACE "^(.*\n)?URL: ([^\n]+).*" - "\\2" ${prefix}_WC_URL "${${prefix}_WC_INFO}") - string(REGEX REPLACE "^(.*\n)?Revision: ([^\n]+).*" - "\\2" ${prefix}_WC_REVISION "${${prefix}_WC_INFO}") - string(REGEX REPLACE "^(.*\n)?Repository Root: ([^\n]+).*" - "\\2" ${prefix}_WC_ROOT "${${prefix}_WC_INFO}") - string(REGEX REPLACE "^(.*\n)?Last Changed Author: ([^\n]+).*" - "\\2" ${prefix}_WC_LAST_CHANGED_AUTHOR "${${prefix}_WC_INFO}") - string(REGEX REPLACE "^(.*\n)?Last Changed Rev: ([^\n]+).*" - "\\2" ${prefix}_WC_LAST_CHANGED_REV "${${prefix}_WC_INFO}") - string(REGEX REPLACE "^(.*\n)?Last Changed Date: ([^\n]+).*" - "\\2" ${prefix}_WC_LAST_CHANGED_DATE "${${prefix}_WC_INFO}") - endif(${git_svn_info_result} EQUAL 0) - endif(NOT "${git_config_output}" STREQUAL "") - - # If there is no 'remote.origin', default to "NA" value and print a warning message. - if(NOT ${prefix}_WC_URL) - message(WARNING "No remote origin set for git repository: ${dir}" ) - set( ${prefix}_WC_URL "NA" ) - else() - set(${prefix}_WC_ROOT ${${prefix}_WC_URL}) - endif() - - endmacro(GIT_WC_INFO) -endif(GIT_EXECUTABLE) - -# Handle the QUIETLY and REQUIRED arguments and set GIT_FOUND to TRUE if -# all listed variables are TRUE - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Git DEFAULT_MSG GIT_EXECUTABLE) diff --git a/cmake/FindPackageHandleStandardArgs.cmake.back b/cmake/FindPackageHandleStandardArgs.cmake.back deleted file mode 100644 index ef3909c1d5e..00000000000 --- a/cmake/FindPackageHandleStandardArgs.cmake.back +++ /dev/null @@ -1,325 +0,0 @@ -# FIND_PACKAGE_HANDLE_STANDARD_ARGS( ... ) -# -# This function is intended to be used in FindXXX.cmake modules files. -# It handles the REQUIRED, QUIET and version-related arguments to find_package(). -# It also sets the _FOUND variable. -# The package is considered found if all variables ... listed contain -# valid results, e.g. valid filepaths. -# -# There are two modes of this function. The first argument in both modes is -# the name of the Find-module where it is called (in original casing). -# -# The first simple mode looks like this: -# FIND_PACKAGE_HANDLE_STANDARD_ARGS( (DEFAULT_MSG|"Custom failure message") ... ) -# If the variables to are all valid, then _FOUND -# will be set to TRUE. -# If DEFAULT_MSG is given as second argument, then the function will generate -# itself useful success and error messages. You can also supply a custom error message -# for the failure case. This is not recommended. -# -# The second mode is more powerful and also supports version checking: -# FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME [FOUND_VAR ] -# [REQUIRED_VARS ...] -# [VERSION_VAR ] -# [HANDLE_COMPONENTS] -# [CONFIG_MODE] -# [FAIL_MESSAGE "Custom failure message"] ) -# -# In this mode, the name of the result-variable can be set either to either -# _FOUND or _FOUND using the FOUND_VAR option. -# Other names for the result-variable are not allowed. -# So for a Find-module named FindFooBar.cmake, the two possible names are -# FooBar_FOUND and FOOBAR_FOUND. It is recommended to use the original case version. -# If the FOUND_VAR option is not used, the default is _FOUND. -# -# As in the simple mode, if through are all valid, -# _FOUND will be set to TRUE. -# After REQUIRED_VARS the variables which are required for this package are listed. -# Following VERSION_VAR the name of the variable can be specified which holds -# the version of the package which has been found. If this is done, this version -# will be checked against the (potentially) specified required version used -# in the find_package() call. The EXACT keyword is also handled. The default -# messages include information about the required version and the version -# which has been actually found, both if the version is ok or not. -# If the package supports components, use the HANDLE_COMPONENTS option to enable -# handling them. In this case, find_package_handle_standard_args() will report -# which components have been found and which are missing, and the _FOUND -# variable will be set to FALSE if any of the required components (i.e. not the -# ones listed after OPTIONAL_COMPONENTS) are missing. -# Use the option CONFIG_MODE if your FindXXX.cmake module is a wrapper for -# a find_package(... NO_MODULE) call. In this case VERSION_VAR will be set -# to _VERSION and the macro will automatically check whether the -# Config module was found. -# Via FAIL_MESSAGE a custom failure message can be specified, if this is not -# used, the default message will be displayed. -# -# Example for mode 1: -# -# find_package_handle_standard_args(LibXml2 DEFAULT_MSG LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR) -# -# LibXml2 is considered to be found, if both LIBXML2_LIBRARY and -# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE. -# If it is not found and REQUIRED was used, it fails with FATAL_ERROR, -# independent whether QUIET was used or not. -# If it is found, success will be reported, including the content of . -# On repeated Cmake runs, the same message won't be printed again. -# -# Example for mode 2: -# -# find_package_handle_standard_args(LibXslt FOUND_VAR LibXslt_FOUND -# REQUIRED_VARS LibXslt_LIBRARIES LibXslt_INCLUDE_DIRS -# VERSION_VAR LibXslt_VERSION_STRING) -# In this case, LibXslt is considered to be found if the variable(s) listed -# after REQUIRED_VAR are all valid, i.e. LibXslt_LIBRARIES and LibXslt_INCLUDE_DIRS -# in this case. The result will then be stored in LibXslt_FOUND . -# Also the version of LibXslt will be checked by using the version contained -# in LibXslt_VERSION_STRING. -# Since no FAIL_MESSAGE is given, the default messages will be printed. -# -# Another example for mode 2: -# -# find_package(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4) -# find_package_handle_standard_args(Automoc4 CONFIG_MODE) -# In this case, FindAutmoc4.cmake wraps a call to find_package(Automoc4 NO_MODULE) -# and adds an additional search directory for automoc4. -# Here the result will be stored in AUTOMOC4_FOUND. -# The following FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper -# success/error message. - -#============================================================================= -# Copyright 2007-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -message(STATUS "CMAKE_CURRENT_LIST_DIR= ${CMAKE_CURRENT_LIST_DIR}") - -include(${CMAKE_CURRENT_LIST_DIR}/FindPackageMessage.cmake) -include(${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake) - -# internal helper macro -macro(_FPHSA_FAILURE_MESSAGE _msg) - if (${_NAME}_FIND_REQUIRED) - message(FATAL_ERROR "${_msg}") - else () - if (NOT ${_NAME}_FIND_QUIETLY) - message(STATUS "${_msg}") - endif () - endif () -endmacro() - - -# internal helper macro to generate the failure message when used in CONFIG_MODE: -macro(_FPHSA_HANDLE_FAILURE_CONFIG_MODE) - # _CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found: - if(${_NAME}_CONFIG) - _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing: ${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})") - else() - # If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version. - # List them all in the error message: - if(${_NAME}_CONSIDERED_CONFIGS) - set(configsText "") - list(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount) - math(EXPR configsCount "${configsCount} - 1") - foreach(currentConfigIndex RANGE ${configsCount}) - list(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename) - list(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version) - set(configsText "${configsText} ${filename} (version ${version})\n") - endforeach() - if (${_NAME}_NOT_FOUND_MESSAGE) - set(configsText "${configsText} Reason given by package: ${${_NAME}_NOT_FOUND_MESSAGE}\n") - endif() - _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}") - - else() - # Simple case: No Config-file was found at all: - _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}") - endif() - endif() -endmacro() - - -function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG) - -# set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in -# new extended or in the "old" mode: - set(options CONFIG_MODE HANDLE_COMPONENTS) - set(oneValueArgs FAIL_MESSAGE VERSION_VAR FOUND_VAR) - set(multiValueArgs REQUIRED_VARS) - set(_KEYWORDS_FOR_EXTENDED_MODE ${options} ${oneValueArgs} ${multiValueArgs} ) - list(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX) - - if(${INDEX} EQUAL -1) - set(FPHSA_FAIL_MESSAGE ${_FIRST_ARG}) - set(FPHSA_REQUIRED_VARS ${ARGN}) - set(FPHSA_VERSION_VAR) - else() - - CMAKE_PARSE_ARGUMENTS(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}" ${_FIRST_ARG} ${ARGN}) - - if(FPHSA_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"") - endif() - - if(NOT FPHSA_FAIL_MESSAGE) - set(FPHSA_FAIL_MESSAGE "DEFAULT_MSG") - endif() - endif() - -# now that we collected all arguments, process them - - if("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG") - set(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}") - endif() - - # In config-mode, we rely on the variable _CONFIG, which is set by find_package() - # when it successfully found the config-file, including version checking: - if(FPHSA_CONFIG_MODE) - list(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG) - list(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS) - set(FPHSA_VERSION_VAR ${_NAME}_VERSION) - endif() - - if(NOT FPHSA_REQUIRED_VARS) - message(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()") - endif() - - list(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR) - - string(TOUPPER ${_NAME} _NAME_UPPER) - string(TOLOWER ${_NAME} _NAME_LOWER) - - if(FPHSA_FOUND_VAR) - if(FPHSA_FOUND_VAR MATCHES "^${_NAME}_FOUND$" OR FPHSA_FOUND_VAR MATCHES "^${_NAME_UPPER}_FOUND$") - set(_FOUND_VAR ${FPHSA_FOUND_VAR}) - else() - message(FATAL_ERROR "The argument for FOUND_VAR is \"${FPHSA_FOUND_VAR}\", but only \"${_NAME}_FOUND\" and \"${_NAME_UPPER}_FOUND\" are valid names.") - endif() - else() - set(_FOUND_VAR ${_NAME_UPPER}_FOUND) - endif() - - # collect all variables which were not found, so they can be printed, so the - # user knows better what went wrong (#6375) - set(MISSING_VARS "") - set(DETAILS "") - # check if all passed variables are valid - unset(${_FOUND_VAR}) - foreach(_CURRENT_VAR ${FPHSA_REQUIRED_VARS}) - if(NOT ${_CURRENT_VAR}) - set(${_FOUND_VAR} FALSE) - set(MISSING_VARS "${MISSING_VARS} ${_CURRENT_VAR}") - else() - set(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]") - endif() - endforeach() - if(NOT "${${_FOUND_VAR}}" STREQUAL "FALSE") - set(${_FOUND_VAR} TRUE) - endif() - - # component handling - unset(FOUND_COMPONENTS_MSG) - unset(MISSING_COMPONENTS_MSG) - - if(FPHSA_HANDLE_COMPONENTS) - foreach(comp ${${_NAME}_FIND_COMPONENTS}) - if(${_NAME}_${comp}_FOUND) - - if(NOT DEFINED FOUND_COMPONENTS_MSG) - set(FOUND_COMPONENTS_MSG "found components: ") - endif() - set(FOUND_COMPONENTS_MSG "${FOUND_COMPONENTS_MSG} ${comp}") - - else() - - if(NOT DEFINED MISSING_COMPONENTS_MSG) - set(MISSING_COMPONENTS_MSG "missing components: ") - endif() - set(MISSING_COMPONENTS_MSG "${MISSING_COMPONENTS_MSG} ${comp}") - - if(${_NAME}_FIND_REQUIRED_${comp}) - set(${_FOUND_VAR} FALSE) - set(MISSING_VARS "${MISSING_VARS} ${comp}") - endif() - - endif() - endforeach() - set(COMPONENT_MSG "${FOUND_COMPONENTS_MSG} ${MISSING_COMPONENTS_MSG}") - set(DETAILS "${DETAILS}[c${COMPONENT_MSG}]") - endif() - - # version handling: - set(VERSION_MSG "") - set(VERSION_OK TRUE) - set(VERSION ${${FPHSA_VERSION_VAR}} ) - if (${_NAME}_FIND_VERSION) - - if(VERSION) - - if(${_NAME}_FIND_VERSION_EXACT) # exact version required - if (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}") - set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"") - set(VERSION_OK FALSE) - else () - set(VERSION_MSG "(found suitable exact version \"${VERSION}\")") - endif () - - else() # minimum version specified: - if ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}") - set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"") - set(VERSION_OK FALSE) - else () - set(VERSION_MSG "(found suitable version \"${VERSION}\", minimum required is \"${${_NAME}_FIND_VERSION}\")") - endif () - endif() - - else() - - # if the package was not found, but a version was given, add that to the output: - if(${_NAME}_FIND_VERSION_EXACT) - set(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")") - else() - set(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")") - endif() - - endif() - else () - if(VERSION) - set(VERSION_MSG "(found version \"${VERSION}\")") - endif() - endif () - - if(VERSION_OK) - set(DETAILS "${DETAILS}[v${VERSION}(${${_NAME}_FIND_VERSION})]") - else() - set(${_FOUND_VAR} FALSE) - endif() - - - # print the result: - if (${_FOUND_VAR}) - FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG} ${COMPONENT_MSG}" "${DETAILS}") - else () - - if(FPHSA_CONFIG_MODE) - _FPHSA_HANDLE_FAILURE_CONFIG_MODE() - else() - if(NOT VERSION_OK) - _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})") - else() - _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing: ${MISSING_VARS}) ${VERSION_MSG}") - endif() - endif() - - endif () - - set(${_FOUND_VAR} ${${_FOUND_VAR}} PARENT_SCOPE) - -endfunction() diff --git a/cmake/FindPackageMessage.cmake.back b/cmake/FindPackageMessage.cmake.back deleted file mode 100644 index 5cea43e3522..00000000000 --- a/cmake/FindPackageMessage.cmake.back +++ /dev/null @@ -1,49 +0,0 @@ -# FIND_PACKAGE_MESSAGE( "message for user" "find result details") -# -# This macro is intended to be used in FindXXX.cmake modules files. -# It will print a message once for each unique find result. -# This is useful for telling the user where a package was found. -# The first argument specifies the name (XXX) of the package. -# The second argument specifies the message to display. -# The third argument lists details about the find result so that -# if they change the message will be displayed again. -# The macro also obeys the QUIET argument to the find_package command. -# -# Example: -# -# if(X11_FOUND) -# FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}" -# "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]") -# else() -# ... -# endif() - -#============================================================================= -# Copyright 2008-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -function(FIND_PACKAGE_MESSAGE pkg msg details) - # Avoid printing a message repeatedly for the same find result. - if(NOT ${pkg}_FIND_QUIETLY) - string(REGEX REPLACE "[\n]" "" details "${details}") - set(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg}) - if(NOT "${details}" STREQUAL "${${DETAILS_VAR}}") - # The message has not yet been printed. - message(STATUS "${msg}") - - # Save the find details in the cache to avoid printing the same - # message again. - set("${DETAILS_VAR}" "${details}" - CACHE INTERNAL "Details about finding ${pkg}") - endif() - endif() -endfunction() diff --git a/cmake/FindPostGIS.cmake b/cmake/FindPostGIS.cmake deleted file mode 100644 index 2973d7a4440..00000000000 --- a/cmake/FindPostGIS.cmake +++ /dev/null @@ -1,52 +0,0 @@ -# (c) 2015 pgRouting colaborators -# -# Finds the most recent postGIS for a particular postgreSQL -# We need this for the tests -# -# Usage: -# find_package(PostGIS ) -# - -# The following variables are set if PostGIS is found: -# PostGIS_FOUND - Set to true when PostGIS is found. -# PostGIS_LIBRARY - if we ever need to link it -# PostGIS_EXTENSION_DIR - usless for the moment -# PostGIS_LIBRARY_DIR - useless for the moment - - -FIND_PATH(PostGIS_EXTENSION_DIR postgis.control - PATHS "${PostgreSQL_EXTENSION_INSTALLATION}") - -find_library(PostGIS_LIBRARY_DIR NAMES postgis-2.2.so - PATHS "${PostgreSQL_LIBRARY_INSTALLATION}") - -if (NOT PostGIS_LIBRARY) - find_library(PostGIS_LIBRARY_DIR NAMES postgis-2.1.so - PATHS "${PostgreSQL_LIBRARY_INSTALLATION}") -endif() - -if (NOT PostGIS_LIBRARY) - find_library(PostGIS_LIBRARY_DIR NAMES postgis-2.0.so - PATHS "${PostgreSQL_LIBRARY_INSTALLATION}") -endif() - -if (NOT (PostGIS_EXTENSION_DIR STREQUAL PostgreSQL_EXTENSION_INSTALLATION)) - #message(STATUS "PostGIS not found for the given postgreSQL version") - set(PostGIS_FOUND FALSE) -else() - - if (PostGIS_EXTENSION_DIR AND PostGIS_LIBRARY_DIR) - SET(PostGIS_FOUND TRUE) - set(PostGIS_LIBRARY_DIR ${PostgreSQL_LIBRARY_INSTALLATION}) - else () - SET(PostGIS_FOUND FALSE) - endif () -endif () - -#message(STATUS PostGIS_LIBRARY ${PostGIS_LIBRARY}) -#message(STATUS PostGIS_EXTENSION_DIR ${PostGIS_EXTENSION_DIR}) -#message(STATUS PostgreSQL_EXTENSION_INSTALLATION ${PostgreSQL_EXTENSION_INSTALLATION}) -#message(STATUS PostGIS_LIBRARY_DIR ${PostGIS_LIBRARY_DIR}) - -MARK_AS_ADVANCED(PostGIS_EXTENSION_DIR PostGIS_LIBRARY_DIR PostGIS_LIBRARY) - diff --git a/cmake/MacroAddCompileFlags.cmake b/cmake/MacroAddCompileFlags.cmake deleted file mode 100644 index 12038c00cc1..00000000000 --- a/cmake/MacroAddCompileFlags.cmake +++ /dev/null @@ -1,19 +0,0 @@ -# - MACRO_ADD_COMPILE_FLAGS(<_target> "flags...") - -# Copyright (c) 2006, Oswald Buddenhagen, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - - -MACRO (MACRO_ADD_COMPILE_FLAGS _target _flg) - - GET_TARGET_PROPERTY(_flags ${_target} COMPILE_FLAGS) - if (_flags) - set(_flags "${_flags} ${_flg}") - else (_flags) - set(_flags "${_flg}") - endif (_flags) - SET_TARGET_PROPERTIES(${_target} PROPERTIES COMPILE_FLAGS "${_flags}") - -ENDMACRO (MACRO_ADD_COMPILE_FLAGS) diff --git a/cmake/MacroAddLinkFlags.cmake b/cmake/MacroAddLinkFlags.cmake deleted file mode 100644 index a10d39eadd7..00000000000 --- a/cmake/MacroAddLinkFlags.cmake +++ /dev/null @@ -1,18 +0,0 @@ -# - MACRO_ADD_LINK_FLAGS(<_target> "flags...") - -# Copyright (c) 2006, Oswald Buddenhagen, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -MACRO (MACRO_ADD_LINK_FLAGS _target _flg) - - GET_TARGET_PROPERTY(_flags ${_target} LINK_FLAGS) - if (_flags) - set(_flags "${_flags} ${_flg}") - else (_flags) - set(_flags "${_flg}") - endif (_flags) - SET_TARGET_PROPERTIES(${_target} PROPERTIES LINK_FLAGS "${_flags}") - -ENDMACRO (MACRO_ADD_LINK_FLAGS) diff --git a/cmake/MacroLibrary.cmake b/cmake/MacroLibrary.cmake deleted file mode 100644 index 31a16fb2cbb..00000000000 --- a/cmake/MacroLibrary.cmake +++ /dev/null @@ -1,22 +0,0 @@ -# - include MacroLibrary offers a collection of macros which extend the built-in cmake commands -# OPTIONAL_FIND_PACKAGE( [QUIT] ) - -# Copyright (c) 2006, Alexander Neundorf, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -INCLUDE(Cat) -INCLUDE(MacroOptionalFindPackage) -#INCLUDE(MacroAdditionalCleanFiles) -#INCLUDE(MacroAddFileDependencies) -INCLUDE(MacroAddCompileFlags) -INCLUDE(MacroAddLinkFlags) -#INCLUDE(MacroEnsureOutOfSourceBuild) -#INCLUDE(MacroBoolTo01) -#INCLUDE(MacroPushRequiredVars) -#INCLUDE(MacroLogFeature) - -#INCLUDE(MacroCreateLibtoolFile) - -INCLUDE(CheckCCompilerFlag) diff --git a/cmake/MacroLibrary.cmake.back b/cmake/MacroLibrary.cmake.back deleted file mode 100644 index 31a16fb2cbb..00000000000 --- a/cmake/MacroLibrary.cmake.back +++ /dev/null @@ -1,22 +0,0 @@ -# - include MacroLibrary offers a collection of macros which extend the built-in cmake commands -# OPTIONAL_FIND_PACKAGE( [QUIT] ) - -# Copyright (c) 2006, Alexander Neundorf, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -INCLUDE(Cat) -INCLUDE(MacroOptionalFindPackage) -#INCLUDE(MacroAdditionalCleanFiles) -#INCLUDE(MacroAddFileDependencies) -INCLUDE(MacroAddCompileFlags) -INCLUDE(MacroAddLinkFlags) -#INCLUDE(MacroEnsureOutOfSourceBuild) -#INCLUDE(MacroBoolTo01) -#INCLUDE(MacroPushRequiredVars) -#INCLUDE(MacroLogFeature) - -#INCLUDE(MacroCreateLibtoolFile) - -INCLUDE(CheckCCompilerFlag) diff --git a/cmake/MacroOptionalFindPackage.cmake b/cmake/MacroOptionalFindPackage.cmake deleted file mode 100644 index 816cdb7e872..00000000000 --- a/cmake/MacroOptionalFindPackage.cmake +++ /dev/null @@ -1,28 +0,0 @@ -# - MACRO_OPTIONAL_FIND_PACKAGE() combines FIND_PACKAGE() with an OPTION() -# MACRO_OPTIONAL_FIND_PACKAGE( [QUIT] ) -# This macro is a combination of OPTION() and FIND_PACKAGE(), it -# works like FIND_PACKAGE(), but additionally it automatically creates -# an option name WITH_, which can be disabled via the cmake GUI. -# or via -DWITH_=OFF -# The standard _FOUND variables can be used in the same way -# as when using the normal FIND_PACKAGE() - -# Copyright (c) 2006, Alexander Neundorf, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - - -MACRO (MACRO_OPTIONAL_FIND_PACKAGE _name ) - OPTION(WITH_${_name} "Search for ${_name} package" ON) - if (WITH_${_name}) - FIND_PACKAGE(${_name} ${ARGN}) - else (WITH_${_name}) - set(${_name}_FOUND) - set(${_name}_INCLUDE_DIR) - set(${_name}_INCLUDES) - set(${_name}_LIBRARY) - set(${_name}_LIBRARIES) - endif (WITH_${_name}) -ENDMACRO (MACRO_OPTIONAL_FIND_PACKAGE) - diff --git a/cmake/PlatformSpecific.cmake b/cmake/PlatformSpecific.cmake deleted file mode 100644 index 60264c35a35..00000000000 --- a/cmake/PlatformSpecific.cmake +++ /dev/null @@ -1,14 +0,0 @@ -# Since Visual Studio 2005, you get a bunch of warnings when using -# strncpy. Make it quiet ! -IF(WIN32) - ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE) -ENDIF(WIN32) - -# Use this on platforms where dlopen() is in -ldl -IF (HAVE_LDL) - SET(EXTRA_LIBS "dl") -ENDIF (HAVE_LDL) - -IF (CMAKE_COMPILER_IS_GNUCC) - SET(CMAKE_C_FLAGS_DEBUG "-Wall ${CMAKE_C_FLAGS_DEBUG}") -ENDIF (CMAKE_COMPILER_IS_GNUCC) diff --git a/cmake/TargetDistclean.cmake b/cmake/TargetDistclean.cmake deleted file mode 100644 index 027bb817de9..00000000000 --- a/cmake/TargetDistclean.cmake +++ /dev/null @@ -1,15 +0,0 @@ -# add custom target distclean -# cleans and removes cmake generated files etc. -# Jan Woetzel 04/2003 -# J Kishore kumar 05/2011 -# - -IF (UNIX) - ADD_CUSTOM_TARGET (distclean @echo cleaning for source distribution) - ADD_CUSTOM_COMMAND( - COMMENT "distribution clean" - COMMAND $(MAKE_COMMAND) clean && - find . \\! -path "./cmake/\\*" -path "\\*.cmake" -o -name CMakeFiles -o -name Makefile -o -name CMakeCache.txt -o -name Testing -o -name cmake_install.cmake -o -name install_manifest.txt -o -name "*.so" | xargs rm -rf - TARGET distclean - ) -ENDIF(UNIX) diff --git a/cmake/pgr/BuildType.cmake b/cmake/pgr/BuildType.cmake index 75fd4a21a70..7ac0501af8c 100644 --- a/cmake/pgr/BuildType.cmake +++ b/cmake/pgr/BuildType.cmake @@ -1,9 +1,6 @@ # Set a default build type if none was specified -set(PGROUTING_DEFAULT_BUILD_TYPE "Release") -if(EXISTS "${CMAKE_SOURCE_DIR}/.git") - set(PGROUTING_DEFAULT_BUILD_TYPE "Debug") -endif() +set(PROJECT_DEFAULT_BUILD_TYPE "Release") if (CMAKE_BUILD_TYPE AND NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo|MinSizeRel)$") @@ -12,8 +9,8 @@ if (CMAKE_BUILD_TYPE AND endif() if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - message(STATUS "Setting build type to '${PGROUTING_DEFAULT_BUILD_TYPE}' as none was specified.") - set(CMAKE_BUILD_TYPE "${PGROUTING_DEFAULT_BUILD_TYPE}" CACHE + message(STATUS "Setting build type to '${PROJECT_DEFAULT_BUILD_TYPE}' as none was specified.") + set(CMAKE_BUILD_TYPE "${PROJECT_DEFAULT_BUILD_TYPE}" CACHE STRING "Choose the type of build." FORCE) endif() message(STATUS "CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE}") diff --git a/cmake/pgr/Configure.cmake b/cmake/pgr/Configure.cmake index 70f5680a7ea..5ea9e74a4f2 100644 --- a/cmake/pgr/Configure.cmake +++ b/cmake/pgr/Configure.cmake @@ -1,6 +1,6 @@ #--------------------------------------------- -# PGROUTING_SOURCE_NAMES +# PROJECT_SRC_DIRECTORIES #--------------------------------------------- # # Name of the directories that have @@ -20,12 +20,12 @@ # doc: Y / N value, when "Y" Documentation code will be looked for #---------------------- configure_file("configuration.conf" "configuration.conf") -file(STRINGS configuration.conf PGROUTING_CONFIGURATION_FILE) +file(STRINGS configuration.conf PROJECT_CONFIGURATION_FILE) -set(PGROUTING_SOURCE_NAMES "") -set(PGROUTING_SQL_DIRECTORIES "") -set(PGROUTING_DOC_DIRECTORIES "") -foreach(line ${PGROUTING_CONFIGURATION_FILE}) +set(PROJECT_SRC_DIRECTORIES "") +set(PROJECT_SQL_DIRECTORIES "") +set(PROJECT_DOC_DIRECTORIES "") +foreach(line ${PROJECT_CONFIGURATION_FILE}) string(REGEX REPLACE "^(#).*" "\\1" comment ${line}) if("${comment}" MATCHES "#") continue() @@ -42,18 +42,18 @@ foreach(line ${PGROUTING_CONFIGURATION_FILE}) if( ${has_code} MATCHES "Y") - list(APPEND PGROUTING_SOURCE_NAMES "${directory}") + list(APPEND PROJECT_SRC_DIRECTORIES "${directory}") endif() if( ${has_sql} MATCHES "Y") - list(APPEND PGROUTING_SQL_DIRECTORIES "${directory}") + list(APPEND PROJECT_SQL_DIRECTORIES "${directory}") endif() if( ${has_doc} MATCHES "Y") - list(APPEND PGROUTING_DOC_DIRECTORIES "${directory}") + list(APPEND PROJECT_DOC_DIRECTORIES "${directory}") endif() endforeach() -if (PGROUTING_DEBUG) - message(STATUS "PGROUTING_SOURCE_NAMES ${PGROUTING_SOURCE_NAMES}") - message(STATUS "PGROUTING_SQL_DIRECTORIES ${PGROUTING_SQL_DIRECTORIES}") - message(STATUS "PGROUTING_DOC_DIRECTORIES ${PGROUTING_DOC_DIRECTORIES}") +if (PROJECT_DEBUG) + message(STATUS "PROJECT_SRC_DIRECTORIES ${PROJECT_SRC_DIRECTORIES}") + message(STATUS "PROJECT_SQL_DIRECTORIES ${PROJECT_SQL_DIRECTORIES}") + message(STATUS "PROJECT_DOC_DIRECTORIES ${PROJECT_DOC_DIRECTORIES}") endif() diff --git a/cmake/pgr/GitInfo.cmake b/cmake/pgr/GitInfo.cmake index 50f171a0d07..69fdf05026e 100644 --- a/cmake/pgr/GitInfo.cmake +++ b/cmake/pgr/GitInfo.cmake @@ -1,42 +1,18 @@ -if (EXISTS "${CMAKE_SOURCE_DIR}/.git") - - # Get the current working branch - execute_process( - COMMAND git rev-parse --abbrev-ref HEAD - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE PGROUTING_GIT_BRANCH - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - # Get the latest abbreviated commit hash of the working branch - execute_process( - COMMAND git log -1 --format=%h - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE PGROUTING_GIT_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - # Get the number of commits of the working branch +find_package(Git) +if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git") execute_process( - COMMAND git rev-list HEAD --count + COMMAND ${GIT_EXECUTABLE} log -1 --format=%h WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE PGROUTING_GIT_COMMITS + OUTPUT_VARIABLE PROJECT_GIT_HASH OUTPUT_STRIP_TRAILING_WHITESPACE ) - - if (SET_VERSION_BRANCH) - file(WRITE "${PGROUTING_SOURCE_DIR}/VERSION" "${PGROUTING_GIT_COMMITS}-${PGROUTING_GIT_HASH} ${SET_VERSION_BRANCH}") - endif() - else() - - set(PGROUTING_GIT_HASH "unknown") - + set(PROJECT_GIT_HASH "unknown") endif() - -if (PGROUTING_DEBUG) - message(STATUS "PGROUTING_GIT_HASH: ${PGROUTING_GIT_HASH}") +if (PROJECT_DEBUG) + message(STATUS "PROJECT_GIT_HASH: ${PROJECT_GIT_HASH}") endif() +mark_as_advanced(PROJECT_GIT_HASH) diff --git a/cmake/pgr/Version.cmake b/cmake/pgr/Version.cmake index 3cf3d5acbca..bc249eb9974 100644 --- a/cmake/pgr/Version.cmake +++ b/cmake/pgr/Version.cmake @@ -6,29 +6,21 @@ #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- -set(PGROUTING_LIB_VERSION "${PGROUTING_VERSION_MAJOR}.${PGROUTING_VERSION_MINOR}") -set(PGROUTING_SHORT_VERSION "${PGROUTING_VERSION_MAJOR}.${PGROUTING_VERSION_MINOR}${PGROUTING_VERSION_DEV}") -set(PGROUTING_FULL_VERSION "v${PGROUTING_VERSION}${PGROUTING_VERSION_DEV}") +set(PROJECT_LIB_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}") +set(PROJECT_SHORT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}${PROJECT_VERSION_DEV}") +set(PROJECT_FULL_VERSION "v${PROJECT_VERSION}${PROJECT_VERSION_DEV}") -if (PGROUTING_VERSION_DEV) - set(PGROUTING_DOC_LINK "https://docs.pgrouting.org/dev/en") +if (PROJECT_VERSION_DEV) + set(PROJECT_DOC_LINK "https://docs.pgrouting.org/dev/en") else() - set(PGROUTING_DOC_LINK "https://docs.pgrouting.org/${PGROUTING_LIB_VERSION}/en") + set(PROJECT_DOC_LINK "https://docs.pgrouting.org/${PROJECT_LIB_VERSION}/en") endif() -if (PGROUTING_DEBUG) - message(STATUS "PGROUTING_VERSION: ${PGROUTING_VERSION}") - message(STATUS "PGROUTING_VERSION_MAJOR: ${PGROUTING_VERSION_MAJOR}") - message(STATUS "PGROUTING_VERSION_MINOR: ${PGROUTING_VERSION_MINOR}") - message(STATUS "PGROUTING_VERSION_PATCH: ${PGROUTING_VERSION_PATCH}") - message(STATUS "PGROUTING_VERSION_TWEAK: ${PGROUTING_VERSION_TWEAK}") - message(STATUS "PGROUTING_VERSION_DEV: ${PGROUTING_VERSION_DEV}") - - message(STATUS "PGROUTING_SHORT_VERSION: ${PGROUTING_SHORT_VERSION}") - message(STATUS "PGROUTING_FULL_VERSION: ${PGROUTING_FULL_VERSION}") - - message(STATUS "PGROUTING_LIB_VERSION: ${PGROUTING_LIB_VERSION}") - message(STATUS "PGROUTING_DOC_LINK: ${PGROUTING_DOC_LINK}") +if (PROJECT_DEBUG) + message(STATUS "PROJECT_SHORT_VERSION: ${PROJECT_SHORT_VERSION}") + message(STATUS "PROJECT_FULL_VERSION: ${PROJECT_FULL_VERSION}") + message(STATUS "PROJECT_LIB_VERSION: ${PROJECT_LIB_VERSION}") + message(STATUS "PROJECT_DOC_LINK: ${PROJECT_DOC_LINK}") endif() diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 96b3bade859..1ad35d532e5 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -55,14 +55,14 @@ foreach(opt BUILD_HTML BUILD_LATEX BUILD_MAN SINGLEHTML EPUB DUMMY LINKCHECK) if (${${opt}} OR WITH_ALL_DOC) string(TOLOWER ${opt} val) string(REPLACE "build_" "" val ${val}) - list(APPEND PGROUTING_DOC_TARGETS ${val}) + list(APPEND PROJECT_DOC_TARGETS ${val}) set(WITH_DOC ON) endif() endforeach() -message(STATUS "PGROUTING_DOC_TARGETS = ${PGROUTING_DOC_TARGETS}") +message(STATUS "PROJECT_DOC_TARGETS = ${PROJECT_DOC_TARGETS}") #--------------------------------------------- #--------------------------------------------- @@ -78,8 +78,8 @@ message(STATUS "PGROUTING_DOC_TARGETS = ${PGROUTING_DOC_TARGETS}") # Available Languages # English is always built #--------------------------------------------- -set(PGROUTING_SUPPORTED_LANGUAGES "de" "es" "fr" "it" "ja" "ru") -set(PGROUTING_ENGLISH "en") +set(PROJECT_SUPPORTED_LANGUAGES "de" "es" "fr" "it" "ja" "ru") +set(PROJECT_ENGLISH "en") #--------------------------------------------- # Language options @@ -87,9 +87,9 @@ set(PGROUTING_ENGLISH "en") option(WITH_ALL_LANG "Set ON|OFF (default=OFF) to build all the supported languages: Main Language will always be built: - ${PGROUTING_ENGLISH} + ${PROJECT_ENGLISH} Optional languages: - ${PGROUTING_SUPPORTED_LANGUAGES} + ${PROJECT_SUPPORTED_LANGUAGES} When OFF and want to build specific optional language, use the language code in capital letters: -D ES=ON @@ -97,7 +97,7 @@ option(WITH_ALL_LANG OFF ) -foreach(lang ${PGROUTING_SUPPORTED_LANGUAGES}) +foreach(lang ${PROJECT_SUPPORTED_LANGUAGES}) string(TOUPPER ${lang} val) option(${val} "Set ON|OFF (default=OFF) build ${lang} Documentation" OFF) @@ -106,11 +106,11 @@ endforeach() #--------------------------------------------- # Catching the language options to be build #--------------------------------------------- -foreach(lang ${PGROUTING_SUPPORTED_LANGUAGES}) +foreach(lang ${PROJECT_SUPPORTED_LANGUAGES}) string(TOUPPER ${lang} opt) if (${opt} OR WITH_ALL_LANG) set (langFound "1") - list(APPEND PGROUTING_BUILD_LANGUAGES ${lang}) + list(APPEND PROJECT_BUILD_LANGUAGES ${lang}) endif() endforeach() @@ -119,14 +119,14 @@ endforeach() # All languages po files are to be generated #--------------------------------------------- -set (SPHINXINTL_LANGUAGE ${PGROUTING_ENGLISH}) -foreach(lang ${PGROUTING_BUILD_LANGUAGES}) +set (SPHINXINTL_LANGUAGE ${PROJECT_ENGLISH}) +foreach(lang ${PROJECT_BUILD_LANGUAGES}) set(SPHINXINTL_LANGUAGE "${SPHINXINTL_LANGUAGE},${lang}") endforeach() -list(APPEND PGROUTING_BUILD_LANGUAGES ${PGROUTING_ENGLISH}) -message(STATUS "PGROUTING_BUILD_LANGUAGES = ${PGROUTING_BUILD_LANGUAGES}") +list(APPEND PROJECT_BUILD_LANGUAGES ${PROJECT_ENGLISH}) +message(STATUS "PROJECT_BUILD_LANGUAGES = ${PROJECT_BUILD_LANGUAGES}") message(STATUS "SPHINXINTL_LANGUAGE = ${SPHINXINTL_LANGUAGE}") @@ -190,7 +190,7 @@ message(STATUS "PGR_DOCUMENTATION_BUILD_DIR = ${PGR_DOCUMENTATION_BUILD_DIR}") #--------------------------------------------- # Adding documentation directories #--------------------------------------------- -foreach (subdir ${PGROUTING_DOC_DIRECTORIES} "src") +foreach (subdir ${PROJECT_DOC_DIRECTORIES} "src") add_subdirectory("${subdir}") add_subdirectory("../docqueries/${subdir}" "build/doc/${subdir}") endforeach() @@ -242,7 +242,7 @@ if (LOCALE) COMMENT "Generating POT files ..." - SOURCES ${PGROUTING_DOC_FILES} + SOURCES ${PROJECT_DOC_FILES} ) return() endif() @@ -253,7 +253,7 @@ add_custom_target(doc COMMENT "Building documentation with Sphinx") -foreach (target ${PGROUTING_DOC_TARGETS}) +foreach (target ${PROJECT_DOC_TARGETS}) add_custom_target("${target}" COMMENT "Building ${target} documentation with Sphinx") @@ -261,7 +261,7 @@ foreach (target ${PGROUTING_DOC_TARGETS}) "${CMAKE_CURRENT_SOURCE_DIR}/forward.html" "${PGR_DOCUMENTATION_BUILD_DIR}/${target}/index.html") - foreach (lang ${PGROUTING_BUILD_LANGUAGES}) + foreach (lang ${PROJECT_BUILD_LANGUAGES}) add_custom_target( "${target}-${lang}" COMMAND ${SPHINX_EXECUTABLE} @@ -280,8 +280,8 @@ foreach (target ${PGROUTING_DOC_TARGETS}) "${PGR_DOCUMENTATION_BUILD_DIR}/${target}/${lang}" COMMENT "Generating ${target}/${lang} documentation ..." - SOURCES ${PGROUTING_DOC_FILES} ${PGROUTING_IMG_FILES} - DEPENDS ${PGROUTING_DOC_FILES} ${PGROUTING_IMG_FILES} + SOURCES ${PROJECT_DOC_FILES} ${PROJECT_IMG_FILES} + DEPENDS ${PROJECT_DOC_FILES} ${PROJECT_IMG_FILES} ) add_dependencies(${target} "${target}-${lang}") diff --git a/doc/allpairs/CMakeLists.txt b/doc/allpairs/CMakeLists.txt index 1410d8289b9..4d36733a41b 100644 --- a/doc/allpairs/CMakeLists.txt +++ b/doc/allpairs/CMakeLists.txt @@ -10,5 +10,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/alpha_shape/CMakeLists.txt b/doc/alpha_shape/CMakeLists.txt index 69884c126b3..313dff3d04b 100644 --- a/doc/alpha_shape/CMakeLists.txt +++ b/doc/alpha_shape/CMakeLists.txt @@ -8,5 +8,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/astar/CMakeLists.txt b/doc/astar/CMakeLists.txt index 157d6a02a1f..f86a6077d90 100644 --- a/doc/astar/CMakeLists.txt +++ b/doc/astar/CMakeLists.txt @@ -11,5 +11,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/bdAstar/CMakeLists.txt b/doc/bdAstar/CMakeLists.txt index 495fb4f818e..3687a8b4b8f 100644 --- a/doc/bdAstar/CMakeLists.txt +++ b/doc/bdAstar/CMakeLists.txt @@ -11,5 +11,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/bdDijkstra/CMakeLists.txt b/doc/bdDijkstra/CMakeLists.txt index 555b998d082..77229aec42f 100644 --- a/doc/bdDijkstra/CMakeLists.txt +++ b/doc/bdDijkstra/CMakeLists.txt @@ -11,5 +11,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/bellman_ford/CMakeLists.txt b/doc/bellman_ford/CMakeLists.txt index 0e1df2aaeca..dc536bd81ea 100644 --- a/doc/bellman_ford/CMakeLists.txt +++ b/doc/bellman_ford/CMakeLists.txt @@ -9,5 +9,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/breadthFirstSearch/CMakeLists.txt b/doc/breadthFirstSearch/CMakeLists.txt index bd2a842f7ac..7d1f201df4f 100644 --- a/doc/breadthFirstSearch/CMakeLists.txt +++ b/doc/breadthFirstSearch/CMakeLists.txt @@ -9,5 +9,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/chinese/CMakeLists.txt b/doc/chinese/CMakeLists.txt index bd1c291c705..8de08a644dd 100644 --- a/doc/chinese/CMakeLists.txt +++ b/doc/chinese/CMakeLists.txt @@ -10,5 +10,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/components/CMakeLists.txt b/doc/components/CMakeLists.txt index 5ed516ee245..1c685b8c22c 100644 --- a/doc/components/CMakeLists.txt +++ b/doc/components/CMakeLists.txt @@ -15,5 +15,5 @@ foreach (f ${LOCAL_FILES}) endforeach() add_subdirectory("images") -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} PARENT_SCOPE) diff --git a/doc/components/images/CMakeLists.txt b/doc/components/images/CMakeLists.txt index 519323b9761..0e859f9b9f3 100644 --- a/doc/components/images/CMakeLists.txt +++ b/doc/components/images/CMakeLists.txt @@ -12,5 +12,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_IMG_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}") endforeach() -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/doc/conf.py.in b/doc/conf.py.in index 1a3653d5bd3..9cba01d4fbc 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -69,16 +69,16 @@ master_doc = 'index' # General information about the project. project = u'pgRouting' -copyright = u'pgRouting Contributors - Version @PGROUTING_FULL_VERSION@' +copyright = u'pgRouting Contributors - Version @PROJECT_FULL_VERSION@' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '@PGROUTING_FULL_VERSION@' +version = '@PROJECT_FULL_VERSION@' # The full version, including alpha/beta/rc tags. -release = '@PGROUTING_FULL_VERSION@' +release = '@PROJECT_FULL_VERSION@' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -143,7 +143,7 @@ html_theme_path = @SPHINX_THEME_DIR@ # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -html_title = "pgRouting Manual (@PGROUTING_SHORT_VERSION@)" +html_title = "pgRouting Manual (@PROJECT_SHORT_VERSION@)" # A shorter title for the navigation bar. Default is the same as html_title. diff --git a/doc/contraction/CMakeLists.txt b/doc/contraction/CMakeLists.txt index e932dd2622b..1c77d1be7f5 100644 --- a/doc/contraction/CMakeLists.txt +++ b/doc/contraction/CMakeLists.txt @@ -10,6 +10,6 @@ foreach (f ${LOCAL_FILES}) endforeach() add_subdirectory("images") -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} PARENT_SCOPE) diff --git a/doc/contraction/images/CMakeLists.txt b/doc/contraction/images/CMakeLists.txt index 982bb540c99..f3ff4231e97 100644 --- a/doc/contraction/images/CMakeLists.txt +++ b/doc/contraction/images/CMakeLists.txt @@ -17,5 +17,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_IMG_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}") endforeach() -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/doc/dagShortestPath/CMakeLists.txt b/doc/dagShortestPath/CMakeLists.txt index ea7b9997ff1..a205f3ed92a 100644 --- a/doc/dagShortestPath/CMakeLists.txt +++ b/doc/dagShortestPath/CMakeLists.txt @@ -8,5 +8,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/dijkstra/CMakeLists.txt b/doc/dijkstra/CMakeLists.txt index 11fdc6468ac..6b303ad3a30 100644 --- a/doc/dijkstra/CMakeLists.txt +++ b/doc/dijkstra/CMakeLists.txt @@ -14,5 +14,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/driving_distance/CMakeLists.txt b/doc/driving_distance/CMakeLists.txt index 4f35d66e415..21952a669a3 100644 --- a/doc/driving_distance/CMakeLists.txt +++ b/doc/driving_distance/CMakeLists.txt @@ -9,5 +9,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/images/CMakeLists.txt b/doc/images/CMakeLists.txt index 5f37b6926d5..fb362346313 100644 --- a/doc/images/CMakeLists.txt +++ b/doc/images/CMakeLists.txt @@ -15,5 +15,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_IMG_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/doc/ksp/CMakeLists.txt b/doc/ksp/CMakeLists.txt index c91b2fdea75..e1c7150a2a9 100644 --- a/doc/ksp/CMakeLists.txt +++ b/doc/ksp/CMakeLists.txt @@ -9,5 +9,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/lineGraph/CMakeLists.txt b/doc/lineGraph/CMakeLists.txt index 0caa2a40718..86aa84e5f2f 100644 --- a/doc/lineGraph/CMakeLists.txt +++ b/doc/lineGraph/CMakeLists.txt @@ -11,5 +11,5 @@ foreach (f ${LOCAL_FILES}) endforeach() add_subdirectory("images") -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} PARENT_SCOPE) diff --git a/doc/lineGraph/images/CMakeLists.txt b/doc/lineGraph/images/CMakeLists.txt index 5a3241039c5..cb460c4404e 100644 --- a/doc/lineGraph/images/CMakeLists.txt +++ b/doc/lineGraph/images/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_IMG_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}") endforeach() -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/doc/max_flow/CMakeLists.txt b/doc/max_flow/CMakeLists.txt index aaa464800d2..56027f2bb1d 100644 --- a/doc/max_flow/CMakeLists.txt +++ b/doc/max_flow/CMakeLists.txt @@ -17,5 +17,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/mincut/CMakeLists.txt b/doc/mincut/CMakeLists.txt index 290da840320..bae0edff943 100644 --- a/doc/mincut/CMakeLists.txt +++ b/doc/mincut/CMakeLists.txt @@ -8,5 +8,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/pickDeliver/CMakeLists.txt b/doc/pickDeliver/CMakeLists.txt index 7c33cb446e4..babc6748cbf 100644 --- a/doc/pickDeliver/CMakeLists.txt +++ b/doc/pickDeliver/CMakeLists.txt @@ -10,5 +10,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/spanningTree/CMakeLists.txt b/doc/spanningTree/CMakeLists.txt index 915d77493f3..6d52dafb27d 100644 --- a/doc/spanningTree/CMakeLists.txt +++ b/doc/spanningTree/CMakeLists.txt @@ -20,5 +20,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/src/CMakeLists.txt b/doc/src/CMakeLists.txt index 8abe36cc64a..0ebf598abd3 100644 --- a/doc/src/CMakeLists.txt +++ b/doc/src/CMakeLists.txt @@ -19,5 +19,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/src/pgRouting-installation.rst b/doc/src/pgRouting-installation.rst index 6a120c81b97..2c93a53557b 100644 --- a/doc/src/pgRouting-installation.rst +++ b/doc/src/pgRouting-installation.rst @@ -36,8 +36,8 @@ Extracting the tar ball .. code-block:: bash - tar xvfz pgrouting-${PGROUTING_VERSION}.tar.gz - cd pgrouting-${PGROUTING_VERSION} + tar xvfz pgrouting-${PROJECT_VERSION}.tar.gz + cd pgrouting-${PROJECT_VERSION} To compile assuming you have all the dependencies in your search path: @@ -72,7 +72,7 @@ To download this release: .. code-block:: bash - wget -O pgrouting-${PGROUTING_VERSION}.tar.gz https://github.com/pgRouting/pgrouting/archive/v${PGROUTING_VERSION}.tar.gz + wget -O pgrouting-${PROJECT_VERSION}.tar.gz https://github.com/pgRouting/pgrouting/archive/v${PROJECT_VERSION}.tar.gz Goto :ref:`install-short` to the extract and compile instructions. @@ -84,7 +84,7 @@ To download the repository git clone git://github.com/pgRouting/pgrouting.git cd pgrouting - git checkout v${PGROUTING_VERSION} + git checkout v${PROJECT_VERSION} Goto :ref:`install-short` to the compile instructions (there is no tar ball). @@ -107,13 +107,13 @@ pgRouting is an extension and depends on postGIS. Enabling postGIS before enabli .. rubric:: Upgrading the database -To upgrade pgRouting in the database to version ${PGROUTING_VERSION} use the following command: +To upgrade pgRouting in the database to version ${PROJECT_VERSION} use the following command: .. TODO: pumpup release must change this value .. code-block:: sql - ALTER EXTENSION pgrouting UPDATE TO "${PGROUTING_VERSION}"; + ALTER EXTENSION pgrouting UPDATE TO "${PROJECT_VERSION}"; More information can be found in https://www.postgresql.org/docs/current/sql-createextension.html diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 547bf5ab2c6..e6dd9cb319d 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -168,7 +168,6 @@ pgRouting 3.0.5 Release Notes To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.5 `_ on Github. - .. _changelog_3_0_4: pgRouting 3.0.4 Release Notes diff --git a/doc/topologicalSort/CMakeLists.txt b/doc/topologicalSort/CMakeLists.txt index e92e424a4ce..9ec20ce2edf 100644 --- a/doc/topologicalSort/CMakeLists.txt +++ b/doc/topologicalSort/CMakeLists.txt @@ -8,5 +8,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/topology/CMakeLists.txt b/doc/topology/CMakeLists.txt index 15f582d7473..332f7a90bbd 100644 --- a/doc/topology/CMakeLists.txt +++ b/doc/topology/CMakeLists.txt @@ -16,6 +16,6 @@ endforeach() add_subdirectory("images") -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} PARENT_SCOPE) diff --git a/doc/topology/images/CMakeLists.txt b/doc/topology/images/CMakeLists.txt index def054e1948..a5b795a667c 100644 --- a/doc/topology/images/CMakeLists.txt +++ b/doc/topology/images/CMakeLists.txt @@ -11,5 +11,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_IMG_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}") endforeach() -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/doc/transitiveClosure/CMakeLists.txt b/doc/transitiveClosure/CMakeLists.txt index 3a4e740fc52..e68087e3193 100644 --- a/doc/transitiveClosure/CMakeLists.txt +++ b/doc/transitiveClosure/CMakeLists.txt @@ -8,5 +8,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/trsp/CMakeLists.txt b/doc/trsp/CMakeLists.txt index 32980d1c4e9..c0f5f683978 100644 --- a/doc/trsp/CMakeLists.txt +++ b/doc/trsp/CMakeLists.txt @@ -9,5 +9,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/tsp/CMakeLists.txt b/doc/tsp/CMakeLists.txt index 2ed7ade35c3..80104fa63e4 100644 --- a/doc/tsp/CMakeLists.txt +++ b/doc/tsp/CMakeLists.txt @@ -10,5 +10,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/version/CMakeLists.txt b/doc/version/CMakeLists.txt index a71a601b1ff..b6692512604 100644 --- a/doc/version/CMakeLists.txt +++ b/doc/version/CMakeLists.txt @@ -9,5 +9,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/vrp_basic/CMakeLists.txt b/doc/vrp_basic/CMakeLists.txt index cb5753e2e82..1bcd9b5dfb2 100644 --- a/doc/vrp_basic/CMakeLists.txt +++ b/doc/vrp_basic/CMakeLists.txt @@ -8,5 +8,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/withPoints/CMakeLists.txt b/doc/withPoints/CMakeLists.txt index 507a6d639f3..1533f0dceab 100644 --- a/doc/withPoints/CMakeLists.txt +++ b/doc/withPoints/CMakeLists.txt @@ -16,6 +16,6 @@ endforeach() add_subdirectory("images") -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} PARENT_SCOPE) diff --git a/doc/withPoints/images/CMakeLists.txt b/doc/withPoints/images/CMakeLists.txt index 12a7e614202..462f26e8ed8 100644 --- a/doc/withPoints/images/CMakeLists.txt +++ b/doc/withPoints/images/CMakeLists.txt @@ -10,5 +10,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_IMG_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}") endforeach() -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/docqueries/allpairs/CMakeLists.txt b/docqueries/allpairs/CMakeLists.txt index 3892c426232..a4cf2412f73 100644 --- a/docqueries/allpairs/CMakeLists.txt +++ b/docqueries/allpairs/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/alpha_shape/CMakeLists.txt b/docqueries/alpha_shape/CMakeLists.txt index abb9c343323..19b80ec97ed 100644 --- a/docqueries/alpha_shape/CMakeLists.txt +++ b/docqueries/alpha_shape/CMakeLists.txt @@ -8,4 +8,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/astar/CMakeLists.txt b/docqueries/astar/CMakeLists.txt index c51f9366443..702d34add75 100644 --- a/docqueries/astar/CMakeLists.txt +++ b/docqueries/astar/CMakeLists.txt @@ -10,4 +10,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/bdAstar/CMakeLists.txt b/docqueries/bdAstar/CMakeLists.txt index 397e098a9ff..e2cff1ce028 100644 --- a/docqueries/bdAstar/CMakeLists.txt +++ b/docqueries/bdAstar/CMakeLists.txt @@ -10,4 +10,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/bdDijkstra/CMakeLists.txt b/docqueries/bdDijkstra/CMakeLists.txt index f4fe610ee76..21ef9f7895f 100644 --- a/docqueries/bdDijkstra/CMakeLists.txt +++ b/docqueries/bdDijkstra/CMakeLists.txt @@ -10,4 +10,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/bellman_ford/CMakeLists.txt b/docqueries/bellman_ford/CMakeLists.txt index 8855cfda665..54f4caec925 100644 --- a/docqueries/bellman_ford/CMakeLists.txt +++ b/docqueries/bellman_ford/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/breadthFirstSearch/CMakeLists.txt b/docqueries/breadthFirstSearch/CMakeLists.txt index 62218eb5cb0..cf1ab25dcd5 100644 --- a/docqueries/breadthFirstSearch/CMakeLists.txt +++ b/docqueries/breadthFirstSearch/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/chinese/CMakeLists.txt b/docqueries/chinese/CMakeLists.txt index f0ebfc52e89..e80997468f4 100644 --- a/docqueries/chinese/CMakeLists.txt +++ b/docqueries/chinese/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/common/CMakeLists.txt b/docqueries/common/CMakeLists.txt index d263734c673..07cfb9dcbae 100644 --- a/docqueries/common/CMakeLists.txt +++ b/docqueries/common/CMakeLists.txt @@ -7,4 +7,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/components/CMakeLists.txt b/docqueries/components/CMakeLists.txt index e7fefadc9de..52dbe38f146 100644 --- a/docqueries/components/CMakeLists.txt +++ b/docqueries/components/CMakeLists.txt @@ -13,4 +13,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/contraction/CMakeLists.txt b/docqueries/contraction/CMakeLists.txt index 19fba95d347..9ba4b3e2457 100644 --- a/docqueries/contraction/CMakeLists.txt +++ b/docqueries/contraction/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/dagShortestPath/CMakeLists.txt b/docqueries/dagShortestPath/CMakeLists.txt index 8a3d0b17373..e8a3efdd129 100644 --- a/docqueries/dagShortestPath/CMakeLists.txt +++ b/docqueries/dagShortestPath/CMakeLists.txt @@ -8,4 +8,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/dijkstra/CMakeLists.txt b/docqueries/dijkstra/CMakeLists.txt index adbd76099ec..b32b909c252 100644 --- a/docqueries/dijkstra/CMakeLists.txt +++ b/docqueries/dijkstra/CMakeLists.txt @@ -13,4 +13,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/driving_distance/CMakeLists.txt b/docqueries/driving_distance/CMakeLists.txt index de3a7f46578..1ed38e0c074 100644 --- a/docqueries/driving_distance/CMakeLists.txt +++ b/docqueries/driving_distance/CMakeLists.txt @@ -8,4 +8,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/ksp/CMakeLists.txt b/docqueries/ksp/CMakeLists.txt index 6289340a236..94d9b6aa789 100644 --- a/docqueries/ksp/CMakeLists.txt +++ b/docqueries/ksp/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/lineGraph/CMakeLists.txt b/docqueries/lineGraph/CMakeLists.txt index d0172da214e..49d3d58ac9b 100644 --- a/docqueries/lineGraph/CMakeLists.txt +++ b/docqueries/lineGraph/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/max_flow/CMakeLists.txt b/docqueries/max_flow/CMakeLists.txt index 03509598a92..c105b3fc238 100644 --- a/docqueries/max_flow/CMakeLists.txt +++ b/docqueries/max_flow/CMakeLists.txt @@ -16,4 +16,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/mincut/CMakeLists.txt b/docqueries/mincut/CMakeLists.txt index 300aa91201d..96b295e0eaf 100644 --- a/docqueries/mincut/CMakeLists.txt +++ b/docqueries/mincut/CMakeLists.txt @@ -8,4 +8,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/pickDeliver/CMakeLists.txt b/docqueries/pickDeliver/CMakeLists.txt index af18d023ede..abd24063104 100644 --- a/docqueries/pickDeliver/CMakeLists.txt +++ b/docqueries/pickDeliver/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/spanningTree/CMakeLists.txt b/docqueries/spanningTree/CMakeLists.txt index 375c5995156..9c58463fb5a 100644 --- a/docqueries/spanningTree/CMakeLists.txt +++ b/docqueries/spanningTree/CMakeLists.txt @@ -16,4 +16,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/src/CMakeLists.txt b/docqueries/src/CMakeLists.txt index d263734c673..07cfb9dcbae 100644 --- a/docqueries/src/CMakeLists.txt +++ b/docqueries/src/CMakeLists.txt @@ -7,4 +7,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/topologicalSort/CMakeLists.txt b/docqueries/topologicalSort/CMakeLists.txt index 54e88eea92f..22dee192698 100644 --- a/docqueries/topologicalSort/CMakeLists.txt +++ b/docqueries/topologicalSort/CMakeLists.txt @@ -8,4 +8,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/topology/CMakeLists.txt b/docqueries/topology/CMakeLists.txt index a8ebfa00459..053f56979ef 100644 --- a/docqueries/topology/CMakeLists.txt +++ b/docqueries/topology/CMakeLists.txt @@ -13,4 +13,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/transitiveClosure/CMakeLists.txt b/docqueries/transitiveClosure/CMakeLists.txt index b04145535a8..f3c4890009e 100644 --- a/docqueries/transitiveClosure/CMakeLists.txt +++ b/docqueries/transitiveClosure/CMakeLists.txt @@ -8,4 +8,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/trsp/CMakeLists.txt b/docqueries/trsp/CMakeLists.txt index e6b1e5bb81c..b3a3b729258 100644 --- a/docqueries/trsp/CMakeLists.txt +++ b/docqueries/trsp/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/tsp/CMakeLists.txt b/docqueries/tsp/CMakeLists.txt index baad1482118..e1f920ffa08 100644 --- a/docqueries/tsp/CMakeLists.txt +++ b/docqueries/tsp/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/version/CMakeLists.txt b/docqueries/version/CMakeLists.txt index 137bbfb3271..304b591291c 100644 --- a/docqueries/version/CMakeLists.txt +++ b/docqueries/version/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/vrp_basic/CMakeLists.txt b/docqueries/vrp_basic/CMakeLists.txt index a2be805d218..6f3cd2f1614 100644 --- a/docqueries/vrp_basic/CMakeLists.txt +++ b/docqueries/vrp_basic/CMakeLists.txt @@ -8,4 +8,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/withPoints/CMakeLists.txt b/docqueries/withPoints/CMakeLists.txt index a42d53799e3..bbf5e755e64 100644 --- a/docqueries/withPoints/CMakeLists.txt +++ b/docqueries/withPoints/CMakeLists.txt @@ -13,4 +13,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doxygen/Doxyfile.in b/doxygen/Doxyfile.in index 23fb9161cad..19c4a59573f 100644 --- a/doxygen/Doxyfile.in +++ b/doxygen/Doxyfile.in @@ -38,7 +38,7 @@ PROJECT_NAME = "@PROJECT_NAME@" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "@PGROUTING_SHORT_VERSION@" +PROJECT_NUMBER = "@PROJECT_SHORT_VERSION@" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt index 7e180f7b3a8..dc410cffd9b 100644 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt @@ -1,56 +1,37 @@ -# -# Format convention -# - command (lower case) -# - VARIABLE (upper case) -# (http://www.cmake.org/cmake/help/v2.8.12/cmake.html) -# - - - -#set (PGROUTING_DEBUG "1") - -#------------------- -# add the signatrues subdirectory -#------------------- - add_subdirectory(sigs) #------------------- # From the parent get the subdirectories that have the SQL files # -# configuring the PGROUTING_SQL_FILES variable +# configuring the PROJECT_SQL_FILES variable #------------------- -set(PGROUTING_MODULE_PATHNAME "$libdir/libpgrouting-${PGROUTING_LIB_VERSION}") +set(PROJECT_MODULE_PATHNAME "$libdir/lib${PROJECT_NAME_LOWER}-${PROJECT_LIB_VERSION}") -foreach (subdir ${PGROUTING_SQL_DIRECTORIES}) +foreach (subdir ${PROJECT_SQL_DIRECTORIES}) add_subdirectory(${subdir}) endforeach() -if (PGROUTING_DEBUG) - message(STATUS "PGROUTING_SQL_FILES=") - message(STATUS "PGROUTING_MODULE_PATHNAME ${PGROUTING_MODULE_PATHNAME}") - foreach (f ${PGROUTING_SQL_FILES}) - message(STATUS ${f}) - endforeach() +if (PROJECT_DEBUG) + message(STATUS "PROJECT_MODULE_PATHNAME ${PROJECT_MODULE_PATHNAME}") endif() #------------------- -# TARGET: PGROUTING_SQL_FILE +# TARGET: PROJECT_SQL_FILE # -# Builds: pgrouting--${PGROUTING_VERSION}.sql +# Builds: ${PROJECT_NAME_LOWER}--${PROJECT_VERSION}.sql # # add the scripts subdirectory -# the variable ${PGROUTING_SQL_FILES} should already be set at this point +# the variable ${PROJECT_SQL_FILES} should already be set at this point # # has the perl for building the current sql file # has the perl for building the update files #------------------- -set(PGROUTING_CURRENT_SQL_FILE "pgrouting--${PGROUTING_VERSION}.sql") +set(PROJECT_EXTENSION_FILE "${PROJECT_NAME_LOWER}--${PROJECT_VERSION}.sql") # subdirectory that has the perl files add_subdirectory(scripts) @@ -58,41 +39,33 @@ add_subdirectory(scripts) add_custom_command( - OUTPUT ${PGROUTING_CURRENT_SQL_FILE} - COMMAND ${PERL_EXECUTABLE} ./scripts/build-extension-file.pl '${PGROUTING_SQL_FILES}' + OUTPUT ${PROJECT_EXTENSION_FILE} + COMMAND ${PERL_EXECUTABLE} ./scripts/build-extension-file.pl '${PROJECT_SQL_FILES}' DEPENDS scripts/build-extension-file.pl - ${PGROUTING_SQL_FILES} + ${PROJECT_SQL_FILES} ) -add_custom_target(PGROUTING_SQL_FILE ALL +add_custom_target(extension_file ALL DEPENDS - ${PGROUTING_CURRENT_SQL_FILE} + ${PROJECT_EXTENSION_FILE} ) #------------------- # TARGET: update_files #------------------- -if (PGROUTING_DEBUG) - message(STATUS "OLD_SIGNATURES=") - foreach (s ${OLD_SIGNATURES}) - message(STATUS ${s}) - endforeach() -endif() - foreach (old_s ${OLD_SIGNATURES}) string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*" "\\1" minor_s ${old_s}) - SET (UPDATE_FILES ${UPDATE_FILES} pgrouting--${old_s}--${PGROUTING_VERSION}.sql) - SET (PGROUTING_SQL_FILES_TO_INSTALL ${PGROUTING_SQL_FILES_TO_INSTALL} "${CMAKE_CURRENT_BINARY_DIR}/pgrouting--${old_s}--${PGROUTING_VERSION}.sql") + SET (UPDATE_FILES ${UPDATE_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME_LOWER}--${old_s}--${PROJECT_VERSION}.sql) add_custom_command( - OUTPUT pgrouting--${old_s}--${PGROUTING_VERSION}.sql + OUTPUT ${PROJECT_NAME_LOWER}--${old_s}--${PROJECT_VERSION}.sql - COMMAND ${PERL_EXECUTABLE} ./scripts/build-extension-update-files1.pl "${PGROUTING_VERSION}" "${old_s}" "${CMAKE_CURRENT_BINARY_DIR}/sigs" "${CMAKE_CURRENT_BINARY_DIR}" "${PGROUTING_DEBUG}" + COMMAND ${PERL_EXECUTABLE} ./scripts/build-extension-update-files.pl "${PROJECT_VERSION}" "${old_s}" "${CMAKE_CURRENT_BINARY_DIR}/sigs" "${CMAKE_CURRENT_BINARY_DIR}" "${PROJECT_DEBUG}" DEPENDS - ./scripts/build-extension-update-files1.pl - ${PGROUTING_CURRENT_SQL_FILE} - PGROUTING_SQL_FILE - ./sigs/pgrouting--${minor_s}.sig + ./scripts/build-extension-update-files.pl + ${PROJECT_EXTENSION_FILE} + extension_file + ./sigs/${PROJECT_NAME_LOWER}--${minor_s}.sig ) endforeach() @@ -101,4 +74,5 @@ add_custom_target(update_files ALL ${UPDATE_FILES} ) -SET(PGROUTING_SQL_FILES_TO_INSTALL ${PGROUTING_SQL_FILES_TO_INSTALL} ${CMAKE_CURRENT_BINARY_DIR}/${PGROUTING_CURRENT_SQL_FILE} "${CMAKE_CURRENT_BINARY_DIR}/common/pgrouting.control" PARENT_SCOPE) + +SET(PROJECT_FILES_TO_INSTALL ${UPDATE_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_EXTENSION_FILE} ${CMAKE_CURRENT_BINARY_DIR}/common/${PROJECT_NAME_LOWER}.control PARENT_SCOPE) diff --git a/sql/allpairs/CMakeLists.txt b/sql/allpairs/CMakeLists.txt index a7e42f17adf..639d1093126 100644 --- a/sql/allpairs/CMakeLists.txt +++ b/sql/allpairs/CMakeLists.txt @@ -11,4 +11,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/allpairs/floydWarshall.sql b/sql/allpairs/floydWarshall.sql index 734a48a6745..a2e80dff5b6 100644 --- a/sql/allpairs/floydWarshall.sql +++ b/sql/allpairs/floydWarshall.sql @@ -54,5 +54,5 @@ IS 'pgr_floydWarshall - Optional Parameters: - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_floydWarshall.html + - ${PROJECT_DOC_LINK}/pgr_floydWarshall.html '; diff --git a/sql/allpairs/johnson.sql b/sql/allpairs/johnson.sql index f13bf03eead..536dd004311 100644 --- a/sql/allpairs/johnson.sql +++ b/sql/allpairs/johnson.sql @@ -54,5 +54,5 @@ IS 'pgr_johnson - Optional Parameters: - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_johnson.html + - ${PROJECT_DOC_LINK}/pgr_johnson.html '; diff --git a/sql/alpha_shape/CMakeLists.txt b/sql/alpha_shape/CMakeLists.txt index 75b8b5b7257..081a472067f 100644 --- a/sql/alpha_shape/CMakeLists.txt +++ b/sql/alpha_shape/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/alpha_shape/alphaShape.sql b/sql/alpha_shape/alphaShape.sql index f4c18b4e670..4c4d6096d9b 100644 --- a/sql/alpha_shape/alphaShape.sql +++ b/sql/alpha_shape/alphaShape.sql @@ -89,5 +89,5 @@ IS 'pgr_alphaShape - Optional Parameters - alpha := 0 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_alphaShape.html + - ${PROJECT_DOC_LINK}/pgr_alphaShape.html '; diff --git a/sql/astar/CMakeLists.txt b/sql/astar/CMakeLists.txt index 4605d6827e8..00d93ba01a2 100644 --- a/sql/astar/CMakeLists.txt +++ b/sql/astar/CMakeLists.txt @@ -11,4 +11,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/astar/astar.sql b/sql/astar/astar.sql index 0187f6c6bad..531ef2d565b 100644 --- a/sql/astar/astar.sql +++ b/sql/astar/astar.sql @@ -192,7 +192,7 @@ IS 'pgr_aStar(One to One) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_aStar.html + - ${PROJECT_DOC_LINK}/pgr_aStar.html '; @@ -208,7 +208,7 @@ IS 'pgr_aStar(One to Many) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_aStar.html + - ${PROJECT_DOC_LINK}/pgr_aStar.html '; @@ -224,7 +224,7 @@ IS 'pgr_aStar(Many to One) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_aStar.html + - ${PROJECT_DOC_LINK}/pgr_aStar.html '; @@ -240,7 +240,7 @@ IS 'pgr_aStar(Many to Many) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_aStar.html + - ${PROJECT_DOC_LINK}/pgr_aStar.html '; diff --git a/sql/astar/astarCost.sql b/sql/astar/astarCost.sql index b38ffd9c528..ff2cadcd4f5 100644 --- a/sql/astar/astarCost.sql +++ b/sql/astar/astarCost.sql @@ -176,7 +176,7 @@ IS 'pgr_aStarCost(One to One) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_aStarCost.html + - ${PROJECT_DOC_LINK}/pgr_aStarCost.html '; @@ -192,7 +192,7 @@ IS 'pgr_aStarCost(One to Many) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_aStarCost.html + - ${PROJECT_DOC_LINK}/pgr_aStarCost.html '; @@ -208,7 +208,7 @@ IS 'pgr_aStarCost(Many to One) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_aStarCost.html + - ${PROJECT_DOC_LINK}/pgr_aStarCost.html '; @@ -224,7 +224,7 @@ IS 'pgr_aStarCost(Many to Many) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_aStarCost.html + - ${PROJECT_DOC_LINK}/pgr_aStarCost.html '; diff --git a/sql/astar/astarCostMatrix.sql b/sql/astar/astarCostMatrix.sql index a3a478562b9..828f5755bf8 100644 --- a/sql/astar/astarCostMatrix.sql +++ b/sql/astar/astarCostMatrix.sql @@ -68,5 +68,5 @@ IS 'pgr_aStarCostMatrix - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_aStarCostMatrix.html + - ${PROJECT_DOC_LINK}/pgr_aStarCostMatrix.html '; diff --git a/sql/bdAstar/CMakeLists.txt b/sql/bdAstar/CMakeLists.txt index b8b0c7bb9f5..5f3822e68b4 100644 --- a/sql/bdAstar/CMakeLists.txt +++ b/sql/bdAstar/CMakeLists.txt @@ -11,4 +11,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/bdAstar/bdAstar.sql b/sql/bdAstar/bdAstar.sql index 94cdcbce248..1fff573bad2 100644 --- a/sql/bdAstar/bdAstar.sql +++ b/sql/bdAstar/bdAstar.sql @@ -182,7 +182,7 @@ IS 'pgr_bdAstar(One to One) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdAstar.html + - ${PROJECT_DOC_LINK}/pgr_bdAstar.html '; COMMENT ON FUNCTION pgr_bdAstar(TEXT, BIGINT, ANYARRAY, BOOLEAN, INTEGER, NUMERIC, NUMERIC) @@ -197,7 +197,7 @@ IS 'pgr_bdAstar(One to Many) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdAstar.html + - ${PROJECT_DOC_LINK}/pgr_bdAstar.html '; @@ -213,7 +213,7 @@ IS 'pgr_bdAstar(Many to One) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdAstar.html + - ${PROJECT_DOC_LINK}/pgr_bdAstar.html '; COMMENT ON FUNCTION pgr_bdAstar(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, INTEGER, NUMERIC, NUMERIC) @@ -228,7 +228,7 @@ IS 'pgr_bdAstar(Many to Many) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdAstar.html + - ${PROJECT_DOC_LINK}/pgr_bdAstar.html '; COMMENT ON FUNCTION pgr_bdAstar(TEXT, TEXT, BOOLEAN, INTEGER, NUMERIC, NUMERIC) diff --git a/sql/bdAstar/bdAstarCost.sql b/sql/bdAstar/bdAstarCost.sql index 1bf092f1465..0646aa3dacd 100644 --- a/sql/bdAstar/bdAstarCost.sql +++ b/sql/bdAstar/bdAstarCost.sql @@ -167,7 +167,7 @@ IS 'pgr_bdAstarCost(One to One) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdAstarCost.html + - ${PROJECT_DOC_LINK}/pgr_bdAstarCost.html '; @@ -183,7 +183,7 @@ IS 'pgr_bdAstarCost(One to Many) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdAstarCost.html + - ${PROJECT_DOC_LINK}/pgr_bdAstarCost.html '; @@ -199,7 +199,7 @@ IS 'pgr_bdAstarCost(Many to One) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdAstarCost.html + - ${PROJECT_DOC_LINK}/pgr_bdAstarCost.html '; @@ -215,7 +215,7 @@ IS 'pgr_bdAstarCost(Many to Many) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdAstarCost.html + - ${PROJECT_DOC_LINK}/pgr_bdAstarCost.html '; diff --git a/sql/bdAstar/bdAstarCostMatrix.sql b/sql/bdAstar/bdAstarCostMatrix.sql index 50cb8ff1941..e336468cdab 100644 --- a/sql/bdAstar/bdAstarCostMatrix.sql +++ b/sql/bdAstar/bdAstarCostMatrix.sql @@ -66,5 +66,5 @@ IS 'pgr_bdAstarCostMatrix - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdAstarCostMatrix.html + - ${PROJECT_DOC_LINK}/pgr_bdAstarCostMatrix.html '; diff --git a/sql/bdDijkstra/CMakeLists.txt b/sql/bdDijkstra/CMakeLists.txt index 5e7c8a68555..e555f240e0a 100644 --- a/sql/bdDijkstra/CMakeLists.txt +++ b/sql/bdDijkstra/CMakeLists.txt @@ -11,4 +11,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/bdDijkstra/bdDijkstra.sql b/sql/bdDijkstra/bdDijkstra.sql index 727e65a1521..c5f75b57fb5 100644 --- a/sql/bdDijkstra/bdDijkstra.sql +++ b/sql/bdDijkstra/bdDijkstra.sql @@ -172,7 +172,7 @@ IS 'pgr_bdDijkstra(One to One) - Optional Parameters: - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdDijkstra.html + - ${PROJECT_DOC_LINK}/pgr_bdDijkstra.html '; COMMENT ON FUNCTION pgr_bdDijkstra(TEXT, BIGINT, ANYARRAY, BOOLEAN) @@ -184,7 +184,7 @@ IS 'pgr_bdDijkstra(One to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdDijkstra.html + - ${PROJECT_DOC_LINK}/pgr_bdDijkstra.html '; COMMENT ON FUNCTION pgr_bdDijkstra(TEXT, ANYARRAY, BIGINT, BOOLEAN) @@ -196,7 +196,7 @@ IS 'pgr_bdDijkstra(Many to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdDijkstra.html + - ${PROJECT_DOC_LINK}/pgr_bdDijkstra.html '; COMMENT ON FUNCTION pgr_bdDijkstra(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) @@ -208,7 +208,7 @@ IS 'pgr_bdDijkstra(Many to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdDijkstra.html + - ${PROJECT_DOC_LINK}/pgr_bdDijkstra.html '; COMMENT ON FUNCTION pgr_bdDijkstra(TEXT, TEXT, BOOLEAN) diff --git a/sql/bdDijkstra/bdDijkstraCost.sql b/sql/bdDijkstra/bdDijkstraCost.sql index 7aa07d9ee4b..234b93b7176 100644 --- a/sql/bdDijkstra/bdDijkstraCost.sql +++ b/sql/bdDijkstra/bdDijkstraCost.sql @@ -150,7 +150,7 @@ IS 'pgr_bdDijkstraCost(One to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdDijkstraCost.html + - ${PROJECT_DOC_LINK}/pgr_bdDijkstraCost.html '; @@ -163,7 +163,7 @@ IS 'pgr_bdDijkstraCost(One to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdDijkstraCost.html + - ${PROJECT_DOC_LINK}/pgr_bdDijkstraCost.html '; @@ -176,7 +176,7 @@ IS 'pgr_bdDijkstraCost(Many to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdDijkstraCost.html + - ${PROJECT_DOC_LINK}/pgr_bdDijkstraCost.html '; @@ -189,7 +189,7 @@ IS 'pgr_bdDijkstraCost(Many to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdDijkstraCost.html + - ${PROJECT_DOC_LINK}/pgr_bdDijkstraCost.html '; COMMENT ON FUNCTION pgr_bdDijkstraCost(TEXT, TEXT, BOOLEAN) diff --git a/sql/bdDijkstra/bdDijkstraCostMatrix.sql b/sql/bdDijkstra/bdDijkstraCostMatrix.sql index 32d8009b4d0..09ef2393189 100644 --- a/sql/bdDijkstra/bdDijkstraCostMatrix.sql +++ b/sql/bdDijkstra/bdDijkstraCostMatrix.sql @@ -58,5 +58,5 @@ IS 'pgr_bdDijkstraCostMatrix - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdDijkstraCostMatrix.html + - ${PROJECT_DOC_LINK}/pgr_bdDijkstraCostMatrix.html '; diff --git a/sql/bellman_ford/CMakeLists.txt b/sql/bellman_ford/CMakeLists.txt index 71b52d73e5a..81e84de585f 100644 --- a/sql/bellman_ford/CMakeLists.txt +++ b/sql/bellman_ford/CMakeLists.txt @@ -15,4 +15,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/bellman_ford/bellman_ford.sql b/sql/bellman_ford/bellman_ford.sql index be578bb9b21..a7530bd9f0b 100644 --- a/sql/bellman_ford/bellman_ford.sql +++ b/sql/bellman_ford/bellman_ford.sql @@ -170,7 +170,7 @@ IS 'pgr_bellmanFord(One to One) - Optional Parameters: - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html + - ${PROJECT_DOC_LINK}/pgr_bellmanFord.html '; @@ -184,7 +184,7 @@ IS 'pgr_bellmanFord(One to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html + - ${PROJECT_DOC_LINK}/pgr_bellmanFord.html '; @@ -198,7 +198,7 @@ IS 'pgr_bellmanFord(Many to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html + - ${PROJECT_DOC_LINK}/pgr_bellmanFord.html '; diff --git a/sql/bellman_ford/bellman_ford_neg.sql b/sql/bellman_ford/bellman_ford_neg.sql index cea067c15b4..af652a7252c 100644 --- a/sql/bellman_ford/bellman_ford_neg.sql +++ b/sql/bellman_ford/bellman_ford_neg.sql @@ -146,7 +146,7 @@ IS 'pgr_bellmanFord(One to One) - Optional Parameters: - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html + - ${PROJECT_DOC_LINK}/pgr_bellmanFord.html '; @@ -161,7 +161,7 @@ IS 'pgr_bellmanFord(One to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html + - ${PROJECT_DOC_LINK}/pgr_bellmanFord.html '; @@ -176,7 +176,7 @@ IS 'pgr_bellmanFord(Many to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html + - ${PROJECT_DOC_LINK}/pgr_bellmanFord.html '; @@ -191,5 +191,5 @@ IS 'pgr_bellmanFord(Many to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html + - ${PROJECT_DOC_LINK}/pgr_bellmanFord.html '; diff --git a/sql/bellman_ford/edwardMoore.sql b/sql/bellman_ford/edwardMoore.sql index b25998cc512..b75fd3d4beb 100644 --- a/sql/bellman_ford/edwardMoore.sql +++ b/sql/bellman_ford/edwardMoore.sql @@ -158,7 +158,7 @@ IS 'pgr_edwardMoore(One to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edwardMoore.html + - ${PROJECT_DOC_LINK}/pgr_edwardMoore.html '; COMMENT ON FUNCTION pgr_edwardMoore(TEXT, BIGINT, ANYARRAY, BOOLEAN) @@ -170,7 +170,7 @@ IS 'pgr_edwardMoore(One to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edwardMoore.html + - ${PROJECT_DOC_LINK}/pgr_edwardMoore.html '; COMMENT ON FUNCTION pgr_edwardMoore(TEXT, ANYARRAY, BIGINT, BOOLEAN) @@ -182,7 +182,7 @@ IS 'pgr_edwardMoore(Many to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edwardMoore.html + - ${PROJECT_DOC_LINK}/pgr_edwardMoore.html '; COMMENT ON FUNCTION pgr_edwardMoore(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) @@ -194,7 +194,7 @@ IS 'pgr_edwardMoore(Many to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edwardMoore.html + - ${PROJECT_DOC_LINK}/pgr_edwardMoore.html '; COMMENT ON FUNCTION pgr_edwardMoore(TEXT, TEXT, BOOLEAN) diff --git a/sql/breadthFirstSearch/CMakeLists.txt b/sql/breadthFirstSearch/CMakeLists.txt index 7e761529960..c69f0151338 100644 --- a/sql/breadthFirstSearch/CMakeLists.txt +++ b/sql/breadthFirstSearch/CMakeLists.txt @@ -11,4 +11,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql b/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql index b2572cce6a9..9132fef5af9 100644 --- a/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql +++ b/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql @@ -158,7 +158,7 @@ IS 'pgr_binaryBreadthFirstSearch(One to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_binaryBreadthFirstSearch.html + - ${PROJECT_DOC_LINK}/pgr_binaryBreadthFirstSearch.html '; COMMENT ON FUNCTION pgr_binaryBreadthFirstSearch(TEXT, BIGINT, ANYARRAY, BOOLEAN) @@ -170,7 +170,7 @@ IS 'pgr_binaryBreadthFirstSearch(One to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_binaryBreadthFirstSearch.html + - ${PROJECT_DOC_LINK}/pgr_binaryBreadthFirstSearch.html '; COMMENT ON FUNCTION pgr_binaryBreadthFirstSearch(TEXT, ANYARRAY, BIGINT, BOOLEAN) @@ -182,7 +182,7 @@ IS 'pgr_binaryBreadthFirstSearch(Many to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_binaryBreadthFirstSearch.html + - ${PROJECT_DOC_LINK}/pgr_binaryBreadthFirstSearch.html '; COMMENT ON FUNCTION pgr_binaryBreadthFirstSearch(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) @@ -194,7 +194,7 @@ IS 'pgr_binaryBreadthFirstSearch(Many to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_binaryBreadthFirstSearch.html + - ${PROJECT_DOC_LINK}/pgr_binaryBreadthFirstSearch.html '; COMMENT ON FUNCTION pgr_binaryBreadthFirstSearch(TEXT, TEXT, BOOLEAN) diff --git a/sql/breadthFirstSearch/breadthFirstSearch.sql b/sql/breadthFirstSearch/breadthFirstSearch.sql index 1fe8aa049c5..b56b911c9b9 100644 --- a/sql/breadthFirstSearch/breadthFirstSearch.sql +++ b/sql/breadthFirstSearch/breadthFirstSearch.sql @@ -111,7 +111,7 @@ IS 'pgr_breadthFirstSearch(One to Depth) - Maximum Depth := 9223372036854775807 - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_breadthFirstSearch.html + - ${PROJECT_DOC_LINK}/pgr_breadthFirstSearch.html '; COMMENT ON FUNCTION pgr_breadthFirstSearch(TEXT, ANYARRAY, BIGINT, BOOLEAN) @@ -124,5 +124,5 @@ IS 'pgr_breadthFirstSearch(Many to Depth) - Maximum Depth := 9223372036854775807 - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_breadthFirstSearch.html + - ${PROJECT_DOC_LINK}/pgr_breadthFirstSearch.html '; \ No newline at end of file diff --git a/sql/chinese/CMakeLists.txt b/sql/chinese/CMakeLists.txt index 77110de19c3..bbe1e78d19b 100644 --- a/sql/chinese/CMakeLists.txt +++ b/sql/chinese/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/chinese/pgr_chinesePostman.sql b/sql/chinese/pgr_chinesePostman.sql index c952a989ecc..176d5c1b9c4 100644 --- a/sql/chinese/pgr_chinesePostman.sql +++ b/sql/chinese/pgr_chinesePostman.sql @@ -60,5 +60,5 @@ IS 'pgr_chinesePostman - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_chinesePostman.html + - ${PROJECT_DOC_LINK}/pgr_chinesePostman.html '; diff --git a/sql/chinese/pgr_chinesePostmanCost.sql b/sql/chinese/pgr_chinesePostmanCost.sql index ed9c07ade43..4f5bc93a0ef 100644 --- a/sql/chinese/pgr_chinesePostmanCost.sql +++ b/sql/chinese/pgr_chinesePostmanCost.sql @@ -54,5 +54,5 @@ IS 'pgr_chinesePostmanCost - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_chinesePostmanCost.html + - ${PROJECT_DOC_LINK}/pgr_chinesePostmanCost.html '; diff --git a/sql/common/CMakeLists.txt b/sql/common/CMakeLists.txt index c301cb4a4dd..acfe95862b1 100644 --- a/sql/common/CMakeLists.txt +++ b/sql/common/CMakeLists.txt @@ -15,6 +15,6 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) -configure_file(pgrouting.control pgrouting.control) +configure_file(${PROJECT_NAME_LOWER}.control ${PROJECT_NAME_LOWER}.control) diff --git a/sql/common/pgrouting.control b/sql/common/pgrouting.control index 08e5e5d196f..5b6ddcf1dfd 100644 --- a/sql/common/pgrouting.control +++ b/sql/common/pgrouting.control @@ -1,7 +1,7 @@ # pgRouting Extension comment = 'pgRouting Extension' -default_version = '${PGROUTING_VERSION}' -module_pathname = '${PGROUTING_MODULE_PATHNAME}' +default_version = '${PROJECT_VERSION}' +module_pathname = '${PROJECT_MODULE_PATHNAME}' relocatable = true requires = 'plpgsql' requires = 'postgis' diff --git a/sql/common/pgrouting_version.sql b/sql/common/pgrouting_version.sql index 92779e4b8a7..263d7fd683a 100644 --- a/sql/common/pgrouting_version.sql +++ b/sql/common/pgrouting_version.sql @@ -41,10 +41,10 @@ RETURNS TABLE( boost varchar ) AS $BODY$ - SELECT '${PGROUTING_VERSION}'::varchar AS version, - '${PGROUTING_FULL_VERSION}'::varchar AS tag, - '${PGROUTING_GIT_HASH}'::varchar AS hash, - '${PGROUTING_GIT_BRANCH}'::varchar AS branch, + SELECT '${PROJECT_VERSION}'::varchar AS version, + '${PROJECT_FULL_VERSION}'::varchar AS tag, + '${PROJECT_GIT_HASH}'::varchar AS hash, + '${PROJECT_GIT_BRANCH}'::varchar AS branch, '${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}'::varchar AS boost; $BODY$ LANGUAGE sql IMMUTABLE; @@ -52,5 +52,5 @@ LANGUAGE sql IMMUTABLE; COMMENT ON FUNCTION pgr_version() IS 'pgr_version - Documentation - - ${PGROUTING_DOC_LINK}/pgr_version.html + - ${PROJECT_DOC_LINK}/pgr_version.html '; diff --git a/sql/components/CMakeLists.txt b/sql/components/CMakeLists.txt index 9e973011b8f..edf7cab8d52 100644 --- a/sql/components/CMakeLists.txt +++ b/sql/components/CMakeLists.txt @@ -21,4 +21,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/components/articulationPoints.sql b/sql/components/articulationPoints.sql index c3037a66624..a0a62a7be67 100644 --- a/sql/components/articulationPoints.sql +++ b/sql/components/articulationPoints.sql @@ -47,5 +47,5 @@ IS'pgr_articulationPoints - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_articulationPoints.html + - ${PROJECT_DOC_LINK}/pgr_articulationPoints.html '; diff --git a/sql/components/biconnectedComponents.sql b/sql/components/biconnectedComponents.sql index 8aca3cf3aaf..0a6b908c486 100644 --- a/sql/components/biconnectedComponents.sql +++ b/sql/components/biconnectedComponents.sql @@ -50,5 +50,5 @@ IS'pgr_biconnectedComponents - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_biconnectedComponents.html + - ${PROJECT_DOC_LINK}/pgr_biconnectedComponents.html '; diff --git a/sql/components/bridges.sql b/sql/components/bridges.sql index da30f3e4b52..b02e01cd8e6 100644 --- a/sql/components/bridges.sql +++ b/sql/components/bridges.sql @@ -47,5 +47,5 @@ IS'pgr_bridges - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bridges.html + - ${PROJECT_DOC_LINK}/pgr_bridges.html '; diff --git a/sql/components/connectedComponents.sql b/sql/components/connectedComponents.sql index 3a681fe149c..c270a3cf84c 100644 --- a/sql/components/connectedComponents.sql +++ b/sql/components/connectedComponents.sql @@ -60,5 +60,5 @@ IS'pgr_connectedComponents - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_connectedComponents.html + - ${PROJECT_DOC_LINK}/pgr_connectedComponents.html '; diff --git a/sql/components/strongComponents.sql b/sql/components/strongComponents.sql index 03277a41c9b..850c86275d4 100644 --- a/sql/components/strongComponents.sql +++ b/sql/components/strongComponents.sql @@ -49,6 +49,6 @@ IS'pgr_strongComponents - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_strongComponents.html + - ${PROJECT_DOC_LINK}/pgr_strongComponents.html '; diff --git a/sql/contraction/CMakeLists.txt b/sql/contraction/CMakeLists.txt index 902e3842947..3f20af5990a 100644 --- a/sql/contraction/CMakeLists.txt +++ b/sql/contraction/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/contraction/contraction.sql b/sql/contraction/contraction.sql index f300e8be620..945f679efc5 100644 --- a/sql/contraction/contraction.sql +++ b/sql/contraction/contraction.sql @@ -72,5 +72,5 @@ IS 'pgr_contraction - forbidden_vertices := ARRAY[]::BIGINT[] - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_contraction.html + - ${PROJECT_DOC_LINK}/pgr_contraction.html '; diff --git a/sql/dagShortestPath/CMakeLists.txt b/sql/dagShortestPath/CMakeLists.txt index 1e11f6a11e2..7e0811123e1 100644 --- a/sql/dagShortestPath/CMakeLists.txt +++ b/sql/dagShortestPath/CMakeLists.txt @@ -11,4 +11,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/dagShortestPath/dagShortestPath.sql b/sql/dagShortestPath/dagShortestPath.sql index aae63953102..c94e3f1c0e3 100644 --- a/sql/dagShortestPath/dagShortestPath.sql +++ b/sql/dagShortestPath/dagShortestPath.sql @@ -159,7 +159,7 @@ IS 'pgr_dagShortestPath(One to One) - From vertex identifier - To vertex identifier - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dagShortestPath.html + - ${PROJECT_DOC_LINK}/pgr_dagShortestPath.html '; COMMENT ON FUNCTION pgr_dagShortestPath(TEXT, BIGINT, ANYARRAY) @@ -170,7 +170,7 @@ IS 'pgr_dagShortestPath(One to Many) - From vertex identifier - To ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dagShortestPath.html + - ${PROJECT_DOC_LINK}/pgr_dagShortestPath.html '; COMMENT ON FUNCTION pgr_dagShortestPath(TEXT, ANYARRAY, BIGINT) @@ -181,7 +181,7 @@ IS 'pgr_dagShortestPath(Many to One) - From ARRAY[vertices identifiers] - To vertex identifier - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dagShortestPath.html + - ${PROJECT_DOC_LINK}/pgr_dagShortestPath.html '; COMMENT ON FUNCTION pgr_dagShortestPath(TEXT, ANYARRAY, ANYARRAY) @@ -192,7 +192,7 @@ IS 'pgr_dagShortestPath(Many to Many) - From ARRAY[vertices identifiers] - To ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dagShortestPath.html + - ${PROJECT_DOC_LINK}/pgr_dagShortestPath.html '; COMMENT ON FUNCTION pgr_dagShortestPath(TEXT, TEXT) diff --git a/sql/deprecated/CMakeLists.txt b/sql/deprecated/CMakeLists.txt index 36ca394bdb6..a5be0bfec1b 100644 --- a/sql/deprecated/CMakeLists.txt +++ b/sql/deprecated/CMakeLists.txt @@ -7,4 +7,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/dijkstra/CMakeLists.txt b/sql/dijkstra/CMakeLists.txt index 531fb7098e2..2d8700845ad 100644 --- a/sql/dijkstra/CMakeLists.txt +++ b/sql/dijkstra/CMakeLists.txt @@ -16,4 +16,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/dijkstra/dijkstra.sql b/sql/dijkstra/dijkstra.sql index 84d61cceeed..a48197d7e1d 100644 --- a/sql/dijkstra/dijkstra.sql +++ b/sql/dijkstra/dijkstra.sql @@ -169,7 +169,7 @@ IS 'pgr_dijkstra(One to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstra.html + - ${PROJECT_DOC_LINK}/pgr_dijkstra.html '; COMMENT ON FUNCTION pgr_dijkstra(TEXT, BIGINT, ANYARRAY, BOOLEAN) @@ -181,7 +181,7 @@ IS 'pgr_dijkstra(One to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstra.html + - ${PROJECT_DOC_LINK}/pgr_dijkstra.html '; COMMENT ON FUNCTION pgr_dijkstra(TEXT, ANYARRAY, BIGINT, BOOLEAN) @@ -193,7 +193,7 @@ IS 'pgr_dijkstra(Many to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstra.html + - ${PROJECT_DOC_LINK}/pgr_dijkstra.html '; COMMENT ON FUNCTION pgr_dijkstra(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) @@ -205,7 +205,7 @@ IS 'pgr_dijkstra(Many to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstra.html + - ${PROJECT_DOC_LINK}/pgr_dijkstra.html '; COMMENT ON FUNCTION pgr_dijkstra(TEXT, TEXT, BOOLEAN) diff --git a/sql/dijkstra/dijkstraCost.sql b/sql/dijkstra/dijkstraCost.sql index 09247ad2059..6cf1d08dc9d 100644 --- a/sql/dijkstra/dijkstraCost.sql +++ b/sql/dijkstra/dijkstraCost.sql @@ -152,7 +152,7 @@ IS 'pgr_dijkstraCost(One to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraCost.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraCost.html '; COMMENT ON FUNCTION pgr_dijkstraCost(TEXT, BIGINT, ANYARRAY, BOOLEAN) @@ -164,7 +164,7 @@ IS 'pgr_dijkstraCost(One to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraCost.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraCost.html '; COMMENT ON FUNCTION pgr_dijkstraCost(TEXT, ANYARRAY, BIGINT, BOOLEAN) @@ -176,7 +176,7 @@ IS 'pgr_dijkstraCost(Many to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraCost.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraCost.html '; COMMENT ON FUNCTION pgr_dijkstraCost(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) @@ -188,7 +188,7 @@ IS 'pgr_dijkstraCost(Many to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraCost.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraCost.html '; COMMENT ON FUNCTION pgr_dijkstraCost(TEXT, TEXT, BOOLEAN) diff --git a/sql/dijkstra/dijkstraCostMatrix.sql b/sql/dijkstra/dijkstraCostMatrix.sql index e3ae7b1933c..221ac64201e 100644 --- a/sql/dijkstra/dijkstraCostMatrix.sql +++ b/sql/dijkstra/dijkstraCostMatrix.sql @@ -59,5 +59,5 @@ IS 'pgr_dijkstraCostMatrix - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraCostMatrix.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraCostMatrix.html '; diff --git a/sql/dijkstra/dijkstraVia.sql b/sql/dijkstra/dijkstraVia.sql index 892680ea938..522e2710ae8 100644 --- a/sql/dijkstra/dijkstraVia.sql +++ b/sql/dijkstra/dijkstraVia.sql @@ -67,5 +67,5 @@ IS 'pgr_dijkstraVia - strict := false - U_turn_on_edge := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraVia.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraVia.html '; diff --git a/sql/driving_distance/CMakeLists.txt b/sql/driving_distance/CMakeLists.txt index 2fbb5a9d375..c46937fe2c0 100644 --- a/sql/driving_distance/CMakeLists.txt +++ b/sql/driving_distance/CMakeLists.txt @@ -11,4 +11,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/driving_distance/drivingDistance.sql b/sql/driving_distance/drivingDistance.sql index 79bc503ec76..63d0c4f8a74 100644 --- a/sql/driving_distance/drivingDistance.sql +++ b/sql/driving_distance/drivingDistance.sql @@ -82,7 +82,7 @@ IS 'pgr_drivingDistance(Single_vertex) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_drivingDistance.html + - ${PROJECT_DOC_LINK}/pgr_drivingDistance.html '; COMMENT ON FUNCTION pgr_drivingDistance(TEXT, ANYARRAY, FLOAT, BOOLEAN, BOOLEAN) @@ -95,5 +95,5 @@ IS 'pgr_drivingDistance(Multiple vertices) - directed := true - equicost := false - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_drivingDistance.html + - ${PROJECT_DOC_LINK}/pgr_drivingDistance.html '; diff --git a/sql/driving_distance/withPointsDD.sql b/sql/driving_distance/withPointsDD.sql index 0621def6c8f..45501b3d47f 100644 --- a/sql/driving_distance/withPointsDD.sql +++ b/sql/driving_distance/withPointsDD.sql @@ -92,7 +92,7 @@ IS 'pgr_withPointsDD(Single Vertex) - driving_side := b - details := false - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPointsDD.html + - ${PROJECT_DOC_LINK}/pgr_withPointsDD.html '; @@ -110,5 +110,5 @@ IS 'pgr_withPointsDD(Multiple Vertices) - details := false - equicost := false - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPointsDD.html + - ${PROJECT_DOC_LINK}/pgr_withPointsDD.html '; diff --git a/sql/ksp/CMakeLists.txt b/sql/ksp/CMakeLists.txt index 63be5b98087..25f5cab9a10 100644 --- a/sql/ksp/CMakeLists.txt +++ b/sql/ksp/CMakeLists.txt @@ -13,4 +13,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/ksp/ksp.sql b/sql/ksp/ksp.sql index c95a673c34f..5d9bf78df7b 100644 --- a/sql/ksp/ksp.sql +++ b/sql/ksp/ksp.sql @@ -61,5 +61,5 @@ IS 'pgr_KSP - directed := true - heap_paths := false - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_KSP.html + - ${PROJECT_DOC_LINK}/pgr_KSP.html '; diff --git a/sql/ksp/turnRestrictedPath.sql b/sql/ksp/turnRestrictedPath.sql index 2e6e4a238e2..9e6a057ea2a 100644 --- a/sql/ksp/turnRestrictedPath.sql +++ b/sql/ksp/turnRestrictedPath.sql @@ -74,5 +74,5 @@ IS 'pgr_turnRestrictedPath - stop on first := true - strict := false - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_turnRestrictedPath.html + - ${PROJECT_DOC_LINK}/pgr_turnRestrictedPath.html '; diff --git a/sql/ksp/withPointsKSP.sql b/sql/ksp/withPointsKSP.sql index 9da511bf67d..c85e06b3f9d 100644 --- a/sql/ksp/withPointsKSP.sql +++ b/sql/ksp/withPointsKSP.sql @@ -64,5 +64,5 @@ IS 'pgr_withPointsKSP - driving side := b - details := false - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPointsKSP.html + - ${PROJECT_DOC_LINK}/pgr_withPointsKSP.html '; diff --git a/sql/legacy/pointsAsPolygon.sql b/sql/legacy/pointsAsPolygon.sql index f66d6753279..0bd3b6c381c 100644 --- a/sql/legacy/pointsAsPolygon.sql +++ b/sql/legacy/pointsAsPolygon.sql @@ -69,5 +69,5 @@ IS 'pgr_pointsAsPolygon - Optional Parameters: - alpha := 0 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_pointsAsPolygon.html + - ${PROJECT_DOC_LINK}/pgr_pointsAsPolygon.html '; diff --git a/sql/lineGraph/CMakeLists.txt b/sql/lineGraph/CMakeLists.txt index b33879455e8..29500375f81 100644 --- a/sql/lineGraph/CMakeLists.txt +++ b/sql/lineGraph/CMakeLists.txt @@ -13,4 +13,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/lineGraph/lineGraph.sql b/sql/lineGraph/lineGraph.sql index e4ee6636115..92061d15f8d 100644 --- a/sql/lineGraph/lineGraph.sql +++ b/sql/lineGraph/lineGraph.sql @@ -57,5 +57,5 @@ IS 'pgr_lineGraph - Optional Parameters: - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_lineGraph.html + - ${PROJECT_DOC_LINK}/pgr_lineGraph.html '; diff --git a/sql/lineGraph/lineGraphFull.sql b/sql/lineGraph/lineGraphFull.sql index 81a3ccb2c0c..b2c6670007c 100644 --- a/sql/lineGraph/lineGraphFull.sql +++ b/sql/lineGraph/lineGraphFull.sql @@ -55,5 +55,5 @@ IS 'pgr_lineGraphFull - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_lineGraphFull.html + - ${PROJECT_DOC_LINK}/pgr_lineGraphFull.html '; diff --git a/sql/max_flow/CMakeLists.txt b/sql/max_flow/CMakeLists.txt index c2c0231779a..55ce56218bd 100644 --- a/sql/max_flow/CMakeLists.txt +++ b/sql/max_flow/CMakeLists.txt @@ -19,4 +19,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/max_flow/boykovKolmogorov.sql b/sql/max_flow/boykovKolmogorov.sql index 7357d28722b..dada0adf64f 100644 --- a/sql/max_flow/boykovKolmogorov.sql +++ b/sql/max_flow/boykovKolmogorov.sql @@ -144,7 +144,7 @@ IS 'pgr_boykovKolmogorov(One to One) - from vertex - to vertex - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_boykovKolmogorov.html + - ${PROJECT_DOC_LINK}/pgr_boykovKolmogorov.html '; @@ -156,7 +156,7 @@ IS 'pgr_boykovKolmogorov(One to Many) - from vertex - to ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_boykovKolmogorov.html + - ${PROJECT_DOC_LINK}/pgr_boykovKolmogorov.html '; @@ -168,7 +168,7 @@ IS 'pgr_boykovKolmogorov(Many to One) - from ARRAY[vertices identifiers] - to vertex - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_boykovKolmogorov.html + - ${PROJECT_DOC_LINK}/pgr_boykovKolmogorov.html '; @@ -180,7 +180,7 @@ IS 'pgr_boykovKolmogorov(Many to Many) - from ARRAY[vertices identifiers] - to ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_boykovKolmogorov.html + - ${PROJECT_DOC_LINK}/pgr_boykovKolmogorov.html '; COMMENT ON FUNCTION pgr_boykovKolmogorov(TEXT, TEXT) diff --git a/sql/max_flow/edgeDisjointPaths.sql b/sql/max_flow/edgeDisjointPaths.sql index e8ab688ba1a..fd5c5b0701a 100644 --- a/sql/max_flow/edgeDisjointPaths.sql +++ b/sql/max_flow/edgeDisjointPaths.sql @@ -162,7 +162,7 @@ IS 'pgr_edgeDisjointPaths(One to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edgeDisjointPaths.html + - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html '; @@ -175,7 +175,7 @@ IS 'pgr_edgeDisjointPaths(One to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edgeDisjointPaths.html + - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html '; @@ -188,7 +188,7 @@ IS 'pgr_edgeDisjointPaths(Many to One) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edgeDisjointPaths.html + - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html '; @@ -201,7 +201,7 @@ IS 'pgr_edgeDisjointPaths(Many to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edgeDisjointPaths.html + - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html '; COMMENT ON FUNCTION pgr_edgeDisjointPaths(TEXT, TEXT, BOOLEAN) diff --git a/sql/max_flow/edmondsKarp.sql b/sql/max_flow/edmondsKarp.sql index 4eecc8da84f..ea9858cdd6f 100644 --- a/sql/max_flow/edmondsKarp.sql +++ b/sql/max_flow/edmondsKarp.sql @@ -142,7 +142,7 @@ IS 'pgr_edmondsKarp(One to One) - From vertex - to vertex - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edmondsKarp.html + - ${PROJECT_DOC_LINK}/pgr_edmondsKarp.html '; @@ -154,7 +154,7 @@ IS 'pgr_edmondsKarp(One to Many) - From vertex - to ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edmondsKarp.html + - ${PROJECT_DOC_LINK}/pgr_edmondsKarp.html '; @@ -166,7 +166,7 @@ IS 'pgr_edmondsKarp(Many to One) - From ARRAY[vertices identifiers] - to vertex - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edmondsKarp.html + - ${PROJECT_DOC_LINK}/pgr_edmondsKarp.html '; @@ -178,7 +178,7 @@ IS 'pgr_edmondsKarp(Many to Many) - From ARRAY[vertices identifiers] - to ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edmondsKarp.html + - ${PROJECT_DOC_LINK}/pgr_edmondsKarp.html '; COMMENT ON FUNCTION pgr_edmondsKarp(TEXT, TEXT) diff --git a/sql/max_flow/maxCardinalityMatch.sql b/sql/max_flow/maxCardinalityMatch.sql index 696e3b50e5b..ba3778c0042 100644 --- a/sql/max_flow/maxCardinalityMatch.sql +++ b/sql/max_flow/maxCardinalityMatch.sql @@ -53,5 +53,5 @@ IS 'pgr_maxCardinalityMatch - Optional Parameters: - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxCardinalityMatch.html + - ${PROJECT_DOC_LINK}/pgr_maxCardinalityMatch.html '; diff --git a/sql/max_flow/maxFlow.sql b/sql/max_flow/maxFlow.sql index a1731d6049d..090a9661262 100644 --- a/sql/max_flow/maxFlow.sql +++ b/sql/max_flow/maxFlow.sql @@ -109,7 +109,7 @@ IS 'pgr_maxFlow(One to One) - from vertex - to vertex - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlow.html + - ${PROJECT_DOC_LINK}/pgr_maxFlow.html '; COMMENT ON FUNCTION pgr_maxFlow(TEXT, BIGINT, ANYARRAY) @@ -120,7 +120,7 @@ IS 'pgr_maxFlow(One to Many) - from vertex - to ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlow.html + - ${PROJECT_DOC_LINK}/pgr_maxFlow.html '; COMMENT ON FUNCTION pgr_maxFlow(TEXT, ANYARRAY, BIGINT) @@ -131,7 +131,7 @@ IS 'pgr_maxFlow(Many to One) - from ARRAY[vertices identifiers] - to vertex - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlow.html + - ${PROJECT_DOC_LINK}/pgr_maxFlow.html '; COMMENT ON FUNCTION pgr_maxFlow(TEXT, ANYARRAY, ANYARRAY) @@ -142,7 +142,7 @@ IS 'pgr_maxFlow(Many to Many) - from ARRAY[vertices identifiers] - to ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlow.html + - ${PROJECT_DOC_LINK}/pgr_maxFlow.html '; COMMENT ON FUNCTION pgr_maxFlow(TEXT, TEXT) diff --git a/sql/max_flow/maxFlowMinCost.sql b/sql/max_flow/maxFlowMinCost.sql index 999fc93974e..bee1c0501f0 100644 --- a/sql/max_flow/maxFlowMinCost.sql +++ b/sql/max_flow/maxFlowMinCost.sql @@ -155,7 +155,7 @@ IS 'pgr_maxFlowMinCost(One to One) - From vertex identifier - To vertex identifier - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost.html + - ${PROJECT_DOC_LINK}/pgr_maxFlowMinCost.html '; COMMENT ON FUNCTION pgr_maxFlowMinCost(TEXT, BIGINT, ANYARRAY) @@ -166,7 +166,7 @@ IS 'pgr_maxFlowMinCost(One to Many) - From vertex identifier - To ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost.html + - ${PROJECT_DOC_LINK}/pgr_maxFlowMinCost.html '; COMMENT ON FUNCTION pgr_maxFlowMinCost(TEXT, ANYARRAY, BIGINT) @@ -177,7 +177,7 @@ IS 'pgr_maxFlowMinCost(Many to One) - From ARRAY[vertices identifiers]vertex identifier - To vertex identifier - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost.html + - ${PROJECT_DOC_LINK}/pgr_maxFlowMinCost.html '; COMMENT ON FUNCTION pgr_maxFlowMinCost(TEXT, ANYARRAY, ANYARRAY) @@ -188,7 +188,7 @@ IS 'EXPERIMENTAL pgr_maxFlowMinCost(Many to Many) - From ARRAY[vertices identifiers] - To ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost.html + - ${PROJECT_DOC_LINK}/pgr_maxFlowMinCost.html '; COMMENT ON FUNCTION pgr_maxFlowMinCost(TEXT, TEXT) diff --git a/sql/max_flow/maxFlowMinCost_Cost.sql b/sql/max_flow/maxFlowMinCost_Cost.sql index 2d7028a4595..7b8ccfc199e 100644 --- a/sql/max_flow/maxFlowMinCost_Cost.sql +++ b/sql/max_flow/maxFlowMinCost_Cost.sql @@ -115,7 +115,7 @@ IS 'pgr_maxFlowMinCost_Cost (One to One) - From vertex identifier - To vertex identifier - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost_Cost.html + - ${PROJECT_DOC_LINK}/pgr_maxFlowMinCost_Cost.html '; COMMENT ON FUNCTION pgr_maxFlowMinCost_Cost(TEXT, BIGINT, ANYARRAY) @@ -126,7 +126,7 @@ IS 'pgr_maxFlowMinCost_Cost(One to Many) - From vertex identifier - To ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost_Cost.html + - ${PROJECT_DOC_LINK}/pgr_maxFlowMinCost_Cost.html '; COMMENT ON FUNCTION pgr_maxFlowMinCost_Cost(TEXT, ANYARRAY, BIGINT) @@ -137,7 +137,7 @@ IS 'pgr_maxFlowMinCost_Cost (Many to One) - From ARRAY[vertices identifiers] - To vertex identifier - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost_Cost.html + - ${PROJECT_DOC_LINK}/pgr_maxFlowMinCost_Cost.html '; COMMENT ON FUNCTION pgr_maxFlowMinCost_Cost(TEXT, ANYARRAY, ANYARRAY) @@ -148,7 +148,7 @@ IS 'EXPERIMENTAL pgr_maxFlowMinCost_Cost (Many to Many) - From ARRAY[vertices identifiers] - To ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost_Cost.html + - ${PROJECT_DOC_LINK}/pgr_maxFlowMinCost_Cost.html '; COMMENT ON FUNCTION pgr_maxFlowMinCost_Cost(TEXT, TEXT) diff --git a/sql/max_flow/pushRelabel.sql b/sql/max_flow/pushRelabel.sql index 53d8cc451d9..36003d88c1b 100644 --- a/sql/max_flow/pushRelabel.sql +++ b/sql/max_flow/pushRelabel.sql @@ -144,7 +144,7 @@ IS 'pgr_pushRelabel(One to One) - From vertex identifier - To vertex identifier - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_pushRelabel.html + - ${PROJECT_DOC_LINK}/pgr_pushRelabel.html '; @@ -156,7 +156,7 @@ IS 'pgr_pushRelabel(One to Many) - From vertex identifie - To ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_pushRelabel.html + - ${PROJECT_DOC_LINK}/pgr_pushRelabel.html '; @@ -168,7 +168,7 @@ IS 'pgr_pushRelabel(Many to One) - From ARRAY[vertices identifiers] - To vertex identifie - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_pushRelabel.html + - ${PROJECT_DOC_LINK}/pgr_pushRelabel.html '; @@ -180,7 +180,7 @@ IS 'pgr_pushRelabel(Many to Many) - From ARRAY[vertices identifiers] - To ARRAY[vertices identifiers] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_pushRelabel.html + - ${PROJECT_DOC_LINK}/pgr_pushRelabel.html '; COMMENT ON FUNCTION pgr_pushRelabel(TEXT, TEXT) diff --git a/sql/mincut/CMakeLists.txt b/sql/mincut/CMakeLists.txt index 4f8a3070163..614d78dbc7b 100644 --- a/sql/mincut/CMakeLists.txt +++ b/sql/mincut/CMakeLists.txt @@ -11,4 +11,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/mincut/stoerWagner.sql b/sql/mincut/stoerWagner.sql index 83731020f9e..fca081c37ef 100644 --- a/sql/mincut/stoerWagner.sql +++ b/sql/mincut/stoerWagner.sql @@ -51,5 +51,5 @@ IS 'pgr_stoerWagner - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_stoerWagner.html + - ${PROJECT_DOC_LINK}/pgr_stoerWagner.html '; diff --git a/sql/pickDeliver/CMakeLists.txt b/sql/pickDeliver/CMakeLists.txt index c6327468199..2e7af2c6757 100644 --- a/sql/pickDeliver/CMakeLists.txt +++ b/sql/pickDeliver/CMakeLists.txt @@ -11,4 +11,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/pickDeliver/pickDeliver.sql b/sql/pickDeliver/pickDeliver.sql index 9a9179eeb22..53e0f75c85f 100644 --- a/sql/pickDeliver/pickDeliver.sql +++ b/sql/pickDeliver/pickDeliver.sql @@ -85,5 +85,5 @@ IS 'pgr_pickDeliver - max_cycles: default := 10 - initial_sol: default := 4 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_pickDeliver.html + - ${PROJECT_DOC_LINK}/pgr_pickDeliver.html '; diff --git a/sql/pickDeliver/pickDeliverEuclidean.sql b/sql/pickDeliver/pickDeliverEuclidean.sql index 47d57e45fa3..530db05299d 100644 --- a/sql/pickDeliver/pickDeliverEuclidean.sql +++ b/sql/pickDeliver/pickDeliverEuclidean.sql @@ -81,5 +81,5 @@ IS 'pgr_pickDeliverEuclidean - max_cycles: default := 10 - initial_sol: default := 4 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_pickDeliver.html + - ${PROJECT_DOC_LINK}/pgr_pickDeliver.html '; diff --git a/sql/scripts/CMakeLists.txt b/sql/scripts/CMakeLists.txt index b53b2ce8a12..c482f2c8616 100644 --- a/sql/scripts/CMakeLists.txt +++ b/sql/scripts/CMakeLists.txt @@ -1,3 +1,3 @@ -configure_file(build-extension-update-files1.pl build-extension-update-files1.pl @ONLY) +configure_file(build-extension-update-files.pl build-extension-update-files.pl @ONLY) configure_file(build-extension-file.pl build-extension-file.pl @ONLY) diff --git a/sql/scripts/build-extension-file.pl b/sql/scripts/build-extension-file.pl index 51b278c8a9d..b3e65afa869 100755 --- a/sql/scripts/build-extension-file.pl +++ b/sql/scripts/build-extension-file.pl @@ -35,7 +35,7 @@ use Data::Dumper; use File::Find(); -my $DEBUG="@PGROUTING_DEBUG@"; +my $DEBUG="@PROJECT_DEBUG@"; use vars qw/*name *dir *prune/; *name = *File::Find::name; @@ -49,17 +49,17 @@ sub Usage { } -my $version = "@PGROUTING_VERSION@"; +my $version = "@PROJECT_VERSION@"; my $working_directory = "@CMAKE_CURRENT_BINARY_DIR@/.."; -my $PGROUTING_SQL_FILES = "@PGROUTING_SQL_FILES@"; -my @sql_file = split(/;/, $PGROUTING_SQL_FILES); -my $out_file_name = "$working_directory/@PGROUTING_CURRENT_SQL_FILE@"; +my $PROJECT_SQL_FILES = "@PROJECT_SQL_FILES@"; +my @sql_file = split(/;/, $PROJECT_SQL_FILES); +my $out_file_name = "$working_directory/@PROJECT_EXTENSION_FILE@"; -print "Working_directory $working_directory\n" if $DEBUG; -print "out_file_name $out_file_name\n" if $DEBUG; +print "Working directory $working_directory\n" if $DEBUG; +print "Output file name $out_file_name\n" if $DEBUG; open(OUT, ">", "$out_file_name") - || die "@PGROUTING_CURRENT_SQL_FILE@ ERROR: failed to create: '$out_file_name' : $!\n"; + || die "@PROJECT_EXTENSION_FILE@ ERROR: failed to create: '$out_file_name' : $!\n"; foreach my $f (@sql_file) { print "-- $f\n" if $DEBUG; diff --git a/sql/scripts/build-extension-update-files1.pl b/sql/scripts/build-extension-update-files.pl similarity index 98% rename from sql/scripts/build-extension-update-files1.pl rename to sql/scripts/build-extension-update-files.pl index 86a401a3a82..b98f1b9a2d3 100755 --- a/sql/scripts/build-extension-update-files1.pl +++ b/sql/scripts/build-extension-update-files.pl @@ -73,7 +73,7 @@ sub Usage { die "Usage:\nFrom the cmake: - build-extension-update-files1 "; + build-extension-update-files "; } # Get information from command line @@ -132,7 +132,7 @@ sub Usage { my $curr_signature = read_and_parse_signature_file($curr_signature_file_name); my $old_signatures = read_and_parse_signature_file($old_signature_file_name); -print "\ngenerating $old_version upgrade file\n" if $DEBUG; +print "\nGenerating $old_version upgrade file to $new_version\n" if $DEBUG; generate_upgrade_script($curr_signature, $old_signatures); exit 0; @@ -188,8 +188,6 @@ sub generate_upgrade_script { my @types2remove = (); my @commands = (); - print "$new_version $old_version\n"; - #------------------------------------ # analyze function signatures #------------------------------------ @@ -293,17 +291,13 @@ sub get_current_sql { $contents =~ s/\\echo Use "CREATE EXTENSION pgrouting" to load this file. \\quit//; my %seen = (); - print "HERE\n"; while ($contents =~ /--v([\d+].[\d+])/g) { # scalar context $seen{$1}++; } my @uniq = keys %seen; - print "@uniq\n"; foreach my $minor (@uniq) { if ($old_minor >= $minor) { - print "$old_minor >= $minor\n"; - $contents =~ s{ --v$minor .*? diff --git a/sql/sigs/CMakeLists.txt b/sql/sigs/CMakeLists.txt index 7cb81f42c02..4941f2722fa 100644 --- a/sql/sigs/CMakeLists.txt +++ b/sql/sigs/CMakeLists.txt @@ -1,5 +1,5 @@ foreach (f ${MINORS}) - configure_file(pgrouting--${f}.sig pgrouting--${f}.sig COPYONLY) - list(APPEND SIGNATURE_FILES pgrouting--${f}.sig) + configure_file(${PROJECT_NAME_LOWER}--${f}.sig ${PROJECT_NAME_LOWER}--${f}.sig COPYONLY) + list(APPEND SIGNATURE_FILES ${PROJECT_NAME_LOWER}--${f}.sig) endforeach() diff --git a/sql/sigs/vrprouting--0.0.sig b/sql/sigs/vrprouting--0.0.sig new file mode 100644 index 00000000000..e69de29bb2d diff --git a/sql/spanningTree/CMakeLists.txt b/sql/spanningTree/CMakeLists.txt index b0a0d089257..b695a503d41 100644 --- a/sql/spanningTree/CMakeLists.txt +++ b/sql/spanningTree/CMakeLists.txt @@ -23,4 +23,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/spanningTree/kruskal.sql b/sql/spanningTree/kruskal.sql index 3141c72ec9c..0648390dc02 100644 --- a/sql/spanningTree/kruskal.sql +++ b/sql/spanningTree/kruskal.sql @@ -56,5 +56,5 @@ IS 'pgr_kruskal - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kruskal.html + - ${PROJECT_DOC_LINK}/pgr_kruskal.html '; diff --git a/sql/spanningTree/kruskalBFS.sql b/sql/spanningTree/kruskalBFS.sql index 0b32e77a689..86382555cf3 100644 --- a/sql/spanningTree/kruskalBFS.sql +++ b/sql/spanningTree/kruskalBFS.sql @@ -107,7 +107,7 @@ IS 'pgr_kruskalBFS(Single Vertex) - Optional parameters - max_depth: default := 9223372036854775807 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kruskalBFS.html + - ${PROJECT_DOC_LINK}/pgr_kruskalBFS.html '; @@ -120,5 +120,5 @@ IS 'pgr_kruskalBFS(multiple Vertices) - Optional parameters - max_depth: default := 9223372036854775807 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kruskalBFS.html + - ${PROJECT_DOC_LINK}/pgr_kruskalBFS.html '; diff --git a/sql/spanningTree/kruskalDD.sql b/sql/spanningTree/kruskalDD.sql index ceb434c8e72..2923ab115f3 100644 --- a/sql/spanningTree/kruskalDD.sql +++ b/sql/spanningTree/kruskalDD.sql @@ -163,7 +163,7 @@ IS 'pgr_kruskalDD(Single Vertex) - From root vertex identifier - Distance - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kruskalDD.html + - ${PROJECT_DOC_LINK}/pgr_kruskalDD.html '; @@ -175,7 +175,7 @@ IS 'pgr_kruskalDD(Multiple Vertices) - From ARRAY[root vertices identifiers] - Distance - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kruskalDD.html + - ${PROJECT_DOC_LINK}/pgr_kruskalDD.html '; @@ -187,7 +187,7 @@ IS 'pgr_kruskalDD(Single Vertex) - From root vertex identifier - Distance - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kruskalDD.html + - ${PROJECT_DOC_LINK}/pgr_kruskalDD.html '; @@ -199,5 +199,5 @@ IS 'pgr_kruskalDD(Multiple Vertices) - From ARRAY[root vertices identifiers] - Distance - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kruskalDD.html + - ${PROJECT_DOC_LINK}/pgr_kruskalDD.html '; diff --git a/sql/spanningTree/kruskalDFS.sql b/sql/spanningTree/kruskalDFS.sql index fe084452e49..1797a5c6147 100644 --- a/sql/spanningTree/kruskalDFS.sql +++ b/sql/spanningTree/kruskalDFS.sql @@ -108,7 +108,7 @@ IS 'pgr_kruskalDFS(Single Vertex) - Optional parameters - max_depth: default 9223372036854775807 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kruskalDFS.html + - ${PROJECT_DOC_LINK}/pgr_kruskalDFS.html '; @@ -121,5 +121,5 @@ IS 'pgr_kruskalDFS(Multiple Vertices) - Optional parameters - max_depth: default 9223372036854775807 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_kruskalDFS.html + - ${PROJECT_DOC_LINK}/pgr_kruskalDFS.html '; diff --git a/sql/spanningTree/prim.sql b/sql/spanningTree/prim.sql index 802e2114a86..96286179f51 100644 --- a/sql/spanningTree/prim.sql +++ b/sql/spanningTree/prim.sql @@ -56,5 +56,5 @@ IS 'pgr_prim - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_prim.html + - ${PROJECT_DOC_LINK}/pgr_prim.html '; diff --git a/sql/spanningTree/primBFS.sql b/sql/spanningTree/primBFS.sql index 89eefc208c2..031a657dcd5 100644 --- a/sql/spanningTree/primBFS.sql +++ b/sql/spanningTree/primBFS.sql @@ -104,7 +104,7 @@ IS 'pgr_primBFS(Single Vertex) - Optional parameters - max_depth := 9223372036854775807 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_primBFS.html + - ${PROJECT_DOC_LINK}/pgr_primBFS.html '; @@ -117,5 +117,5 @@ IS 'pgr_primBFS(multiple Vertices) - Optional parameters - max_depth := 9223372036854775807 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_primBFS.html + - ${PROJECT_DOC_LINK}/pgr_primBFS.html '; diff --git a/sql/spanningTree/primDD.sql b/sql/spanningTree/primDD.sql index 5eb747fc610..04a71089883 100644 --- a/sql/spanningTree/primDD.sql +++ b/sql/spanningTree/primDD.sql @@ -157,7 +157,7 @@ IS 'pgr_primDD(Single Vertex) - From root vertex identifier - Distance - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_primDD.html + - ${PROJECT_DOC_LINK}/pgr_primDD.html '; @@ -169,7 +169,7 @@ IS 'pgr_primDD(Multiple Vertices) - From ARRAY[root vertices identifiers] - Distance - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_primDD.html + - ${PROJECT_DOC_LINK}/pgr_primDD.html '; @@ -181,7 +181,7 @@ IS 'pgr_primDD(Single Vertex) - From root vertex identifier - Distance - DocumentatiEdgeson: - - ${PGROUTING_DOC_LINK}/pgr_primDD.html + - ${PROJECT_DOC_LINK}/pgr_primDD.html '; @@ -193,5 +193,5 @@ IS 'pgr_primDD(Multiple Vertices) - From ARRAY[root vertices identifiers] - Distance - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_primDD.html + - ${PROJECT_DOC_LINK}/pgr_primDD.html '; diff --git a/sql/spanningTree/primDFS.sql b/sql/spanningTree/primDFS.sql index 112ccb4c489..c351b126aea 100644 --- a/sql/spanningTree/primDFS.sql +++ b/sql/spanningTree/primDFS.sql @@ -103,7 +103,7 @@ IS 'pgr_primDFS(Single Vertex) - Optional parameters - max_depth := 9223372036854775807 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_primDFS.html + - ${PROJECT_DOC_LINK}/pgr_primDFS.html '; COMMENT ON FUNCTION pgr_primDFS(TEXT, ANYARRAY, BIGINT) @@ -115,5 +115,5 @@ IS 'pgr_primDFS(Multiple Vertices) - Optional parameters - max_depth := 9223372036854775807 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_primDFS.html + - ${PROJECT_DOC_LINK}/pgr_primDFS.html '; diff --git a/sql/spanningTree/randomSpanTree.sql b/sql/spanningTree/randomSpanTree.sql index 976d6d937ce..92975588466 100644 --- a/sql/spanningTree/randomSpanTree.sql +++ b/sql/spanningTree/randomSpanTree.sql @@ -76,5 +76,5 @@ IS 'pgr_randomSpanTree - Optional Parameters - directed: default := ''true'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_randomSpanTree.html + - ${PROJECT_DOC_LINK}/pgr_randomSpanTree.html '; diff --git a/sql/topologicalSort/CMakeLists.txt b/sql/topologicalSort/CMakeLists.txt index 348446734a4..4710fff3940 100644 --- a/sql/topologicalSort/CMakeLists.txt +++ b/sql/topologicalSort/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/topologicalSort/topologicalSort.sql b/sql/topologicalSort/topologicalSort.sql index 8533694bc9a..1a8ee747d27 100644 --- a/sql/topologicalSort/topologicalSort.sql +++ b/sql/topologicalSort/topologicalSort.sql @@ -53,5 +53,5 @@ IS 'pgr_topologicalSort - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_topologicalSort.html + - ${PROJECT_DOC_LINK}/pgr_topologicalSort.html '; diff --git a/sql/topology/CMakeLists.txt b/sql/topology/CMakeLists.txt index 71478631a5e..fdd181295db 100644 --- a/sql/topology/CMakeLists.txt +++ b/sql/topology/CMakeLists.txt @@ -13,4 +13,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/topology/analyzeOneway.sql b/sql/topology/analyzeOneway.sql index 5a36ba36910..5e8bcff6cfa 100644 --- a/sql/topology/analyzeOneway.sql +++ b/sql/topology/analyzeOneway.sql @@ -288,5 +288,5 @@ IS 'pgr_analyzeOneWay - source := ''source'' - target:=''target'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_analyzeOneWay.html + - ${PROJECT_DOC_LINK}/pgr_analyzeOneWay.html '; diff --git a/sql/topology/analyzegraph.sql b/sql/topology/analyzegraph.sql index fcce2a41e87..5d6f2cf3d70 100644 --- a/sql/topology/analyzegraph.sql +++ b/sql/topology/analyzegraph.sql @@ -406,5 +406,5 @@ IS 'pgr_analyzeGraph - target := ''target'' - rows_where := ''true'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_analyzeGraph.html + - ${PROJECT_DOC_LINK}/pgr_analyzeGraph.html '; diff --git a/sql/topology/createtopology.sql b/sql/topology/createtopology.sql index 2aaf2300733..b682881d25a 100644 --- a/sql/topology/createtopology.sql +++ b/sql/topology/createtopology.sql @@ -319,5 +319,5 @@ IS 'pgr_createTopology - rows_where := ''true'' - clean := false - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_createTopology.html + - ${PROJECT_DOC_LINK}/pgr_createTopology.html '; diff --git a/sql/topology/createverticestable.sql b/sql/topology/createverticestable.sql index c6785089388..876a4b30452 100644 --- a/sql/topology/createverticestable.sql +++ b/sql/topology/createverticestable.sql @@ -272,5 +272,5 @@ IS 'pgr_createVerticesTable - target := ''target'' - rows_where := ''true'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_createVerticesTable.html + - ${PROJECT_DOC_LINK}/pgr_createVerticesTable.html '; diff --git a/sql/topology/extractVertices.sql b/sql/topology/extractVertices.sql index b7c85f248a1..9eac5946de5 100644 --- a/sql/topology/extractVertices.sql +++ b/sql/topology/extractVertices.sql @@ -369,5 +369,5 @@ IS 'pgr_extractVertices OR - Edges SQL with columns: [id,] geom - Documentation: -- ${PGROUTING_DOC_LINK}/pgr_extractVertices.html +- ${PROJECT_DOC_LINK}/pgr_extractVertices.html '; diff --git a/sql/transitiveClosure/CMakeLists.txt b/sql/transitiveClosure/CMakeLists.txt index d9c6e42f218..90857a43fe9 100644 --- a/sql/transitiveClosure/CMakeLists.txt +++ b/sql/transitiveClosure/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/transitiveClosure/transitiveClosure.sql b/sql/transitiveClosure/transitiveClosure.sql index f25611e83a9..2df42553ba6 100644 --- a/sql/transitiveClosure/transitiveClosure.sql +++ b/sql/transitiveClosure/transitiveClosure.sql @@ -54,5 +54,5 @@ IS 'pgr_transitiveClosure - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_transitiveClosure.html + - ${PROJECT_DOC_LINK}/pgr_transitiveClosure.html '; diff --git a/sql/trsp/CMakeLists.txt b/sql/trsp/CMakeLists.txt index 963ef2b8d08..f6151376f54 100644 --- a/sql/trsp/CMakeLists.txt +++ b/sql/trsp/CMakeLists.txt @@ -17,4 +17,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/trsp/pgr_trsp.sql b/sql/trsp/pgr_trsp.sql index 66150a13373..3299459d5ee 100644 --- a/sql/trsp/pgr_trsp.sql +++ b/sql/trsp/pgr_trsp.sql @@ -267,7 +267,7 @@ IS 'pgr_trsp - Optional parameters - restrictions_sql := NULL - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_trsp.html + - ${PROJECT_DOC_LINK}/pgr_trsp.html '; @@ -284,5 +284,5 @@ IS 'pgr_trsp - Optional parameters - turn_restrict_sql := NULL - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_trsp.html + - ${PROJECT_DOC_LINK}/pgr_trsp.html '; diff --git a/sql/trsp/pgr_trspViaEdges.sql b/sql/trsp/pgr_trspViaEdges.sql index e646a89640f..95d4503de35 100644 --- a/sql/trsp/pgr_trspViaEdges.sql +++ b/sql/trsp/pgr_trspViaEdges.sql @@ -184,5 +184,5 @@ IS 'pgr_trspViaEdges - Optional parameters - turn_restrict_sql := NULL - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_trsp.html + - ${PROJECT_DOC_LINK}/pgr_trsp.html '; diff --git a/sql/trsp/pgr_trspViaVertices.sql b/sql/trsp/pgr_trspViaVertices.sql index bca4e31c7e6..c15e188b2bd 100644 --- a/sql/trsp/pgr_trspViaVertices.sql +++ b/sql/trsp/pgr_trspViaVertices.sql @@ -103,5 +103,5 @@ IS 'pgr_trspViaVertices - Optional parameters - restrictions_sql := NULL - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_trsp.html + - ${PROJECT_DOC_LINK}/pgr_trsp.html '; diff --git a/sql/tsp/CMakeLists.txt b/sql/tsp/CMakeLists.txt index 6f6bf83b5e9..2be27115cad 100644 --- a/sql/tsp/CMakeLists.txt +++ b/sql/tsp/CMakeLists.txt @@ -11,4 +11,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/tsp/TSP.sql b/sql/tsp/TSP.sql index bab349e7e18..42f744b3e06 100644 --- a/sql/tsp/TSP.sql +++ b/sql/tsp/TSP.sql @@ -85,5 +85,5 @@ IS 'pgr_TSP - randomize := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_TSP.html + - ${PROJECT_DOC_LINK}/pgr_TSP.html '; diff --git a/sql/tsp/TSPeuclidean.sql b/sql/tsp/TSPeuclidean.sql index ac74277a75b..19ebe998753 100644 --- a/sql/tsp/TSPeuclidean.sql +++ b/sql/tsp/TSPeuclidean.sql @@ -85,6 +85,6 @@ IS 'pgr_TSPeuclidean - randomize := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_TSPeuclidean.html + - ${PROJECT_DOC_LINK}/pgr_TSPeuclidean.html '; diff --git a/sql/version/CMakeLists.txt b/sql/version/CMakeLists.txt index 1d79d5b85b6..a11c78ae800 100644 --- a/sql/version/CMakeLists.txt +++ b/sql/version/CMakeLists.txt @@ -10,4 +10,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/version/full_version.sql b/sql/version/full_version.sql index f2c75552cbe..dcba7b5ec95 100644 --- a/sql/version/full_version.sql +++ b/sql/version/full_version.sql @@ -55,5 +55,5 @@ LANGUAGE sql IMMUTABLE; COMMENT ON FUNCTION pgr_full_version() IS 'pgr_full_version - Documentation - - ${PGROUTING_DOC_LINK}/pgr_full_version.html + - ${PROJECT_DOC_LINK}/pgr_full_version.html '; diff --git a/sql/version/version.sql b/sql/version/version.sql index 158863d3326..8739e9b6809 100644 --- a/sql/version/version.sql +++ b/sql/version/version.sql @@ -28,12 +28,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. CREATE FUNCTION pgr_version() RETURNS TEXT AS $BODY$ - SELECT '${PGROUTING_VERSION}${PGROUTING_VERSION_DEV}'::varchar AS pgr_version; + SELECT '${PROJECT_VERSION}${PROJECT_VERSION_DEV}'::varchar AS pgr_version; $BODY$ LANGUAGE sql IMMUTABLE; COMMENT ON FUNCTION pgr_version() IS 'pgr_version - Documentation - - ${PGROUTING_DOC_LINK}/pgr_version.html + - ${PROJECT_DOC_LINK}/pgr_version.html '; diff --git a/sql/vrp_basic/CMakeLists.txt b/sql/vrp_basic/CMakeLists.txt index 7492605c9b5..ff071286984 100644 --- a/sql/vrp_basic/CMakeLists.txt +++ b/sql/vrp_basic/CMakeLists.txt @@ -10,4 +10,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/vrp_basic/pgr_vrpOneDepot.sql b/sql/vrp_basic/pgr_vrpOneDepot.sql index 7adcf0b09f7..fbd148d18cf 100644 --- a/sql/vrp_basic/pgr_vrpOneDepot.sql +++ b/sql/vrp_basic/pgr_vrpOneDepot.sql @@ -69,5 +69,5 @@ IS 'pgr_vrpOneDepot - cost SQL with columns: src_id, dest_id, cost, distance, traveltime - depot id - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_vrpOneDepot.html + - ${PROJECT_DOC_LINK}/pgr_vrpOneDepot.html '; diff --git a/sql/withPoints/CMakeLists.txt b/sql/withPoints/CMakeLists.txt index 6ccaed3ab6d..86bedd4884b 100644 --- a/sql/withPoints/CMakeLists.txt +++ b/sql/withPoints/CMakeLists.txt @@ -12,4 +12,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/withPoints/withPoints.sql b/sql/withPoints/withPoints.sql index 0e4349bfc3e..e6ef4a5bc64 100644 --- a/sql/withPoints/withPoints.sql +++ b/sql/withPoints/withPoints.sql @@ -196,7 +196,7 @@ IS 'pgr_withPoints (One to One) - driving_side := ''b'' - details := ''false'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPoints.html + - ${PROJECT_DOC_LINK}/pgr_withPoints.html '; @@ -213,7 +213,7 @@ IS 'pgr_withPoints (One to Many) - driving_side := ''b'' - details := ''false'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPoints.html + - ${PROJECT_DOC_LINK}/pgr_withPoints.html '; @@ -230,7 +230,7 @@ IS 'pgr_withPoints (Many to One) - driving_side := ''b'' - details := ''false'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPoints.html + - ${PROJECT_DOC_LINK}/pgr_withPoints.html '; @@ -247,7 +247,7 @@ IS 'pgr_withPoints (Many to Many) - driving_side := ''b'' - details := ''false'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPoints.html + - ${PROJECT_DOC_LINK}/pgr_withPoints.html '; COMMENT ON FUNCTION pgr_withPoints(TEXT, TEXT, TEXT, BOOLEAN, CHAR, BOOLEAN) diff --git a/sql/withPoints/withPointsCost.sql b/sql/withPoints/withPointsCost.sql index 2f1a51d976e..2afe7a0ab6d 100644 --- a/sql/withPoints/withPointsCost.sql +++ b/sql/withPoints/withPointsCost.sql @@ -167,7 +167,7 @@ IS 'pgr_withPointsCost (One to One) - directed := ''true'' - driving_side := ''b'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPointsCost.html + - ${PROJECT_DOC_LINK}/pgr_withPointsCost.html '; @@ -183,7 +183,7 @@ IS 'pgr_withPointsCost (One to Many) - directed := ''true'' - driving_side := ''b'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPointsCost.html + - ${PROJECT_DOC_LINK}/pgr_withPointsCost.html '; @@ -199,7 +199,7 @@ IS 'pgr_withPointsCost (Many to One) - directed := ''true'' - driving_side := ''b'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPointsCost.html + - ${PROJECT_DOC_LINK}/pgr_withPointsCost.html '; @@ -214,7 +214,7 @@ IS 'pgr_withPointsCost (Many to Many) - directed := ''true'' - driving_side := ''b'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPointsCost.html + - ${PROJECT_DOC_LINK}/pgr_withPointsCost.html '; COMMENT ON FUNCTION pgr_withPointsCost(TEXT, TEXT, TEXT, BOOLEAN, CHAR) diff --git a/sql/withPoints/withPointsCostMatrix.sql b/sql/withPoints/withPointsCostMatrix.sql index 11412d3c402..c8b52fec5ee 100644 --- a/sql/withPoints/withPointsCostMatrix.sql +++ b/sql/withPoints/withPointsCostMatrix.sql @@ -72,5 +72,5 @@ IS'pgr_withPointsCostMatrix - directed := true - driving_side := ''b'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPointsCostMatrix.html + - ${PROJECT_DOC_LINK}/pgr_withPointsCostMatrix.html '; diff --git a/src/version/_version.c b/src/version/_version.c index d22507715a1..85825910487 100644 --- a/src/version/_version.c +++ b/src/version/_version.c @@ -75,7 +75,7 @@ PGDLLEXPORT Datum _pgr_compiler_version(PG_FUNCTION_ARGS) { PG_FUNCTION_INFO_V1(_pgr_git_hash); PGDLLEXPORT Datum _pgr_git_hash(PG_FUNCTION_ARGS) { UNUSED(fcinfo); - char *ver = PGROUTING_GIT_HASH; + char *ver = PROJECT_GIT_HASH; text *result = cstring_to_text(ver); PG_RETURN_TEXT_P(result); } @@ -83,7 +83,7 @@ PGDLLEXPORT Datum _pgr_git_hash(PG_FUNCTION_ARGS) { PG_FUNCTION_INFO_V1(_pgr_lib_version); PGDLLEXPORT Datum _pgr_lib_version(PG_FUNCTION_ARGS) { UNUSED(fcinfo); - char *ver = PGROUTING_LIB_NAME; + char *ver = PROJECT_LIB_NAME; text *result = cstring_to_text(ver); PG_RETURN_TEXT_P(result); } diff --git a/src/version/_version.h.in b/src/version/_version.h.in index 4b085b311e4..52e5018801b 100644 --- a/src/version/_version.h.in +++ b/src/version/_version.h.in @@ -28,8 +28,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #define CMAKE_BUILD_TYPE "@CMAKE_BUILD_TYPE@"; #define COMPILER_VERSION "@COMPILER_VERSION@"; #define COMPILATION_DATE "@COMPILATION_DATE@"; -#define PGROUTING_GIT_HASH "@PGROUTING_GIT_HASH@"; -#define PGROUTING_LIB_NAME "pgrouting-@PGROUTING_VERSION@"; +#define PROJECT_GIT_HASH "@PROJECT_GIT_HASH@"; +#define PROJECT_LIB_NAME "@PROJECT_NAME_LOWER@-@PROJECT_VERSION@"; #define CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM@"; #define POSTGRES_VERSION "@POSTGRESQL_VERSION_STRING@"; diff --git a/tools/template/create.sh b/tools/template/create.sh deleted file mode 100755 index 806c3f3337d..00000000000 --- a/tools/template/create.sh +++ /dev/null @@ -1,172 +0,0 @@ -#!/bin/bash - -function usage() { -if [ "$#" -lt 1 ] ; then - echo "Usage: sh ./create.sh " - echo " = clean, overwrite, missing" - echo " clean action will: ONLY ACTIVE ONE" - echo " - remove the directories:" - echo " src/MY_FUNCTION_NAME/src" - echo " src/MY_FUNCTION_NAME/doc" - echo " src/MY_FUNCTION_NAME/test" - echo " include/drivers/MY_FUNCTION_NAME" - echo " - and start from scratch" - echo " overwrite action will: TODO" - echo " - overwite the files if they exist" - echo " missing will: TODO" - echo " - skip files that exist" - echo " - write the missing files only" - exit 1 -fi -} - -if [[ ! ( "$1" == "clean" || "$1" == "overwrite" || "$1" == "missing" ) ]] ; then - usage -fi - - - -#dont put pgr_ on MY_FUNCTION_NAME that is done automatically -MY_FUNCTION_NAME="funnyDijkstra" -DEVELOPER_NAME="Celia Virginia Vergara Castillo" -DEVELOPER_EMAIL="vicky_vergara@hotmail.com" -YEAR="2017" - -# Note: the "\n " (change line and four spaces) after each comma -# first line are the inputs -# - the compulsory parameters with no name -# - the optional parameters with name -# second line are the outputs -# - all with a name - -MY_QUERY_LINE1="TEXT,\n BIGINT,\n BIGINT,\n directed BOOLEAN DEFAULT true,\n only_cost BOOLEAN DEFAULT false," -MY_QUERY_LINE2=" OUT seq INTEGER,\n OUT path_seq INTEGER,\n OUT node BIGINT,\n OUT edge BIGINT,\n OUT cost FLOAT,\n OUT agg_cost FLOAT" - - -MY_FUNCTION_NAME_UPPER=$(echo $MY_FUNCTION_NAME | tr '[:upper:]' '[:lower:]') -MY_FUNCTION_NAME_LOWER=$(echo $MY_FUNCTION_NAME | tr '[:upper:]' '[:lower:]') - -# Available types to store the edge information: -# http://docs.pgrouting.org/doxy/dev/structpgr__edge__t.html -# http://docs.pgrouting.org/doxy/dev/structPgr__edge__xy__t.html -MY_RETURN_VALUE_TYPE="General_path_element_t" -MY_RETURN_VALUE_FILE=$(echo $MY_RETURN_VALUE_TYPE | tr '[:upper:]' '[:lower:]') - -MY_EDGE_TYPE="pgr_edge_t" -MY_EDGE_FILE=$(echo $MY_EDGE_TYPE | tr '[:upper:]' '[:lower:]') - -# Available functions that read the edge information: -# http://docs.pgrouting.org/doxy/dev/edges__input_8h.html# -MY_EDGE_FUNCTION="pgr_get_edges" - - - - - -#the above variables must be defined - -if test -z "$MY_FUNCTION_NAME"; then - exit -fi - -if [ -d ./$MY_FUNCTION_NAME ]; then - rm -rf ./$MY_FUNCTION_NAME -fi - -mkdir "$MY_FUNCTION_NAME" - -#copy to a working subdirectory -cp -r sql "$MY_FUNCTION_NAME" -cp -r doc "$MY_FUNCTION_NAME" -cp -r test "$MY_FUNCTION_NAME" -cp -r src "$MY_FUNCTION_NAME" -cp -r pgtap "$MY_FUNCTION_NAME" - -function substitute() { - perl -pi -e "s/$1/$2/g" $MY_FUNCTION_NAME/src/* - perl -pi -e "s/$1/$2/g" $MY_FUNCTION_NAME/doc/* - perl -pi -e "s/$1/$2/g" $MY_FUNCTION_NAME/sql/* - perl -pi -e "s/$1/$2/g" $MY_FUNCTION_NAME/test/* - perl -pi -e "s/$1/$2/g" $MY_FUNCTION_NAME/pgtap/* -} - -substitute "MY_FUNCTION_NAME_LOWER" "$MY_FUNCTION_NAME_LOWER" -substitute "MY_FUNCTION_NAME_UPPER" "$MY_FUNCTION_NAME_UPPER" -substitute "MY_FUNCTION_NAME" $MY_FUNCTION_NAME -substitute "MY_QUERY_LINE1" "$MY_QUERY_LINE1" -substitute "MY_QUERY_LINE2" "$MY_QUERY_LINE2" -substitute "DEVELOPER_NAME" "$DEVELOPER_NAME" -substitute "DEVELOPER_EMAIL" "$DEVELOPER_EMAIL" -substitute "MY_FUNCTION_NAME" "$MY_FUNCTION_NAME" -substitute "MY_FUNCTION_NAME" "$MY_FUNCTION_NAME" -substitute "YEAR" $YEAR -substitute "MY_EDGE_TYPE" "$MY_EDGE_TYPE" -substitute "MY_EDGE_FILE" "$MY_EDGE_FILE" -substitute "MY_EDGE_FUNCTION" "$MY_EDGE_FUNCTION" -substitute "MY_RETURN_VALUE_TYPE" "$MY_RETURN_VALUE_TYPE" -substitute "MY_RETURN_VALUE_FILE" "$MY_RETURN_VALUE_FILE" - - - -#renaming the files -mv "$MY_FUNCTION_NAME"/src/function1.c "$MY_FUNCTION_NAME"/src/"$MY_FUNCTION_NAME".c -mv "$MY_FUNCTION_NAME"/src/function1_driver.cpp "$MY_FUNCTION_NAME"/src/"$MY_FUNCTION_NAME"_driver.cpp -mv "$MY_FUNCTION_NAME"/src/function1_driver.h "$MY_FUNCTION_NAME"/src/"$MY_FUNCTION_NAME"_driver.h - -mv "$MY_FUNCTION_NAME"/doc/doc-pgr_function1.queries "$MY_FUNCTION_NAME"/doc/doc-pgr_"$MY_FUNCTION_NAME".queries -mv "$MY_FUNCTION_NAME"/doc/pgr_function1.rst "$MY_FUNCTION_NAME"/doc/pgr_"$MY_FUNCTION_NAME".rst - -mv "$MY_FUNCTION_NAME"/test/doc-function1.test.sql "$MY_FUNCTION_NAME"/test/doc-"$MY_FUNCTION_NAME".test.sql -mv "$MY_FUNCTION_NAME"/test/doc-function1.result "$MY_FUNCTION_NAME"/test/doc-"$MY_FUNCTION_NAME".result - -mv "$MY_FUNCTION_NAME"/sql/function1.sql "$MY_FUNCTION_NAME"/sql/"$MY_FUNCTION_NAME".sql - -mv "$MY_FUNCTION_NAME"/pgtap/function1-typesCheck.sql "$MY_FUNCTION_NAME"/pgtap/"$MY_FUNCTION_NAME"-typesCheck.sql -mv "$MY_FUNCTION_NAME"/pgtap/function1-compare-dijkstra.sql "$MY_FUNCTION_NAME"/pgtap/"$MY_FUNCTION_NAME"-compare-dijkstra.sql -mv "$MY_FUNCTION_NAME"/pgtap/function1-innerQuery.sql "$MY_FUNCTION_NAME"/pgtap/"$MY_FUNCTION_NAME"-innerQuery.sql - - - -if [[ ! ( -d ../../doc/$MY_FUNCTION_NAME ) ]] ; then - mkdir ../../doc/$MY_FUNCTION_NAME -fi - -if [[ ! ( -d ../../sql/$MY_FUNCTION_NAME ) ]] ; then - mkdir ../../sql/$MY_FUNCTION_NAME -fi - - -if [[ "$1" == "clean" ]] ; then - echo "deleting old directories" - rm -rf ../../sql/$MY_FUNCTION_NAME - rm -rf ../../src/$MY_FUNCTION_NAME - rm -rf ../../doc/$MY_FUNCTION_NAME - rm -rf ../../include/drivers/$MY_FUNCTION_NAME - rm -rf ../../test/$MY_FUNCTION_NAME - rm -rf ../../pgtap/$MY_FUNCTION_NAME - - mkdir -p ../../sql/$MY_FUNCTION_NAME - mkdir -p ../../doc/$MY_FUNCTION_NAME - mkdir -p ../../include/drivers/$MY_FUNCTION_NAME - mkdir -p ../../test/$MY_FUNCTION_NAME - mkdir -p ../../pgtap/$MY_FUNCTION_NAME - - - #moving the whole structure to its final location - mv $MY_FUNCTION_NAME/pgtap/* ../../pgtap/$MY_FUNCTION_NAME - mv $MY_FUNCTION_NAME/src/*driver.h ../../include/drivers/$MY_FUNCTION_NAME - - mv $MY_FUNCTION_NAME/doc/* ../../doc/$MY_FUNCTION_NAME - mv $MY_FUNCTION_NAME/sql/* ../../sql/$MY_FUNCTION_NAME - mv $MY_FUNCTION_NAME/test/* ../../test/$MY_FUNCTION_NAME - - rm -rf $MY_FUNCTION_NAME/doc - rm -rf $MY_FUNCTION_NAME/sql - rm -rf $MY_FUNCTION_NAME/test - rm -rf $MY_FUNCTION_NAME/pgtap - - mv $MY_FUNCTION_NAME ../../src -fi - -exit 0; - diff --git a/tools/template/doc/doc-pgr_function1.queries b/tools/template/doc/doc-pgr_function1.queries deleted file mode 100644 index 1f911a00553..00000000000 --- a/tools/template/doc/doc-pgr_function1.queries +++ /dev/null @@ -1,32 +0,0 @@ -BEGIN; -BEGIN --- q1 -SELECT * FROM pgr_MY_FUNCTION_NAME( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', - 2, 3 -); - seq | path_seq | node | edge | cost | agg_cost ------+----------+------+------+------+---------- - 1 | 1 | 2 | 4 | 1 | 0 - 2 | 2 | 5 | 8 | 1 | 1 - 3 | 3 | 6 | 9 | 1 | 2 - 4 | 4 | 9 | 16 | 1 | 3 - 5 | 5 | 4 | 3 | 1 | 4 - 6 | 6 | 3 | -1 | 0 | 5 -(6 rows) - --- q2 -SELECT * FROM pgr_MY_FUNCTION_NAME( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', - 2, 3, - FALSE -); - seq | path_seq | node | edge | cost | agg_cost ------+----------+------+------+------+---------- - 1 | 1 | 2 | 2 | 1 | 0 - 2 | 2 | 3 | -1 | 0 | 1 -(2 rows) - --- q3 -ROLLBACK; -ROLLBACK diff --git a/tools/template/doc/pgr_function1.rst b/tools/template/doc/pgr_function1.rst deleted file mode 100644 index 970e8266f76..00000000000 --- a/tools/template/doc/pgr_function1.rst +++ /dev/null @@ -1,138 +0,0 @@ -.. - **************************************************************************** - pgRouting Manual - Copyright(c) pgRouting Contributors - - This documentation is licensed under a Creative Commons Attribution-Share - Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ - **************************************************************************** - -pgr_MY_FUNCTION_NAME -=============================================================================== - -``pgr_MY_FUNCTION_NAME`` — Returns the shortest path(s) using Dijkstra algorithm. -In particular, the Dijkstra algorithm implemented by Boost.Graph. - -.. figure:: images/boost-inside.jpeg - :target: http://www.boost.org/libs/graph/doc/dijkstra_shortest_paths.html - - Boost Graph Inside - -Description -------------------------------------------------------------------------------- - -Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra in 1956. -It is a graph search algorithm that solves the shortest path problem for -a graph with non-negative edge path costs, producing a shortest path from -a starting vertex (``start_vid``) to an ending vertex (``end_vid``). -This implementation can be used with a directed graph and an undirected graph. - -The main Characteristics are: - - Process is done only on edges with positive costs. - - Values are returned when there is a path. - - - When the starting vertex and ending vertex are the same, there is no path. - - - The `agg_cost` the non included values `(v, v)` is `0` - - - When the starting vertex and ending vertex are the different and there is no path: - - - The `agg_cost` the non included values `(u, v)` is :math:`\infty` - - - For optimization purposes, any duplicated value in the `start_vids` or `end_vids` are ignored. - - - The returned values are ordered: - - - `start_vid` ascending - - `end_vid` ascending - - - Running time: :math:`O(| start\_vids | * (V \log V + E))` - -Signatures ------------------------------------------------------------------------------- - -..rubric:: Summary - -.. code-block:: none - - pgr_dijkstra(edges_sql, start_vid, end_vid) - - RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) - OR EMPTY SET - -..rubric:: Minimal signature - -.. code-block:: none - - pgr_MY_FUNCTION_NAME(edges_sql, start_vid, end_vid) - RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) or EMPTY SET - -The minimal signature is for a **directed** graph from one ``start_vid`` to one ``end_vid``: - -:Example: - -.. literalinclude:: doc-pgr_MY_FUNCTION_NAME.queries - :start-after: -- q1 - :end-before: -- q2 - -.. index:: - single: MY_FUNCTION_NAME(Complete signature) - -..rubric:: Complete Signature - -.. code-block:: none - - pgr_MY_FUNCTION_NAME(edges_sql, start_vid, end_vid, directed); - RETURNS SET OF (seq, path_seq, node, edge, cost, agg_cost) or EMPTY SET - -This signature finds the shortest path from one ``start_vid`` to one ``end_vid``: - - on a **directed** graph when ``directed`` flag is missing or is set to ``true``. - - on an **undirected** graph when ``directed`` flag is set to ``false``. - -:Example: - -.. literalinclude:: doc-pgr_MY_FUNCTION_NAME.queries - :start-after: -- q2 - :end-before: -- q3 - -Parameters -------------------------------------------------------------------------------- - -.. include:: pgr_dijkstra.rst - :start-after: pgr_dijkstra_parameters_start - :end-before: pgr_dijkstra_parameters_end - -Inner query -------------------------------------------------------------------------------- - -.. include:: pgRouting-concepts.rst - :start-after: basic_edges_sql_start - :end-before: basic_edges_sql_end - -Result Columns -------------------------------------------------------------------------------- - -.. include:: pgRouting-concepts.rst - :start-after: return_path_start - :end-before: return_path_end - -Aditional Examples -------------------------------------------------------------------------------- - -:Example: - -.. literalinclude:: doc-pgr_MY_FUNCTION_NAME.queries - :start-after: -- q2 - :end-before: -- q3 - -See Also -------------------------------------------------------------------------------- - -* http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm -* The queries use the :ref:`sampledata` network. - -.. rubric:: Indices and tables - -* :ref:`genindex` -* :ref:`search` - diff --git a/tools/template/pgtap/function1-compare-dijkstra.sql b/tools/template/pgtap/function1-compare-dijkstra.sql deleted file mode 100644 index 361e6d529ed..00000000000 --- a/tools/template/pgtap/function1-compare-dijkstra.sql +++ /dev/null @@ -1,73 +0,0 @@ -\i setup.sql - -SELECT plan(1156); - -SET client_min_messages TO ERROR; - -UPDATE edge_table SET cost = cost + 0.001 * id * id, reverse_cost = reverse_cost + 0.001 * id * id; - -CREATE or REPLACE FUNCTION MY_FUNCTION_NAME_LOWER_compare_dijkstra(cant INTEGER default 17) -RETURNS SETOF TEXT AS -$BODY$ -DECLARE -inner_sql TEXT; -dijkstra_sql TEXT; -MY_FUNCTION_NAME_LOWER_sql TEXT; -BEGIN - - FOR i IN 1.. cant LOOP - FOR j IN 1.. cant LOOP - - -- DIRECTED - inner_sql := 'SELECT id, source, target, cost, reverse_cost FROM edge_table'; - dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j - || ', true)'; - - MY_FUNCTION_NAME_LOWER_sql := 'SELECT * FROM pgr_MY_FUNCTION_NAME_LOWER($$' || inner_sql || '$$, ' || i || ', ' || j - || ', true)'; - RETURN query SELECT set_eq(MY_FUNCTION_NAME_LOWER_sql, dijkstra_sql, MY_FUNCTION_NAME_LOWER_sql); - - - inner_sql := 'SELECT id, source, target, cost FROM edge_table'; - dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j - || ', true)'; - - MY_FUNCTION_NAME_LOWER_sql := 'SELECT * FROM pgr_MY_FUNCTION_NAME_LOWER($$' || inner_sql || '$$, ' || i || ', ' || j - || ', true)'; - RETURN query SELECT set_eq(MY_FUNCTION_NAME_LOWER_sql, dijkstra_sql, MY_FUNCTION_NAME_LOWER_sql); - - - - -- UNDIRECTED - inner_sql := 'SELECT id, source, target, cost, reverse_cost FROM edge_table'; - dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j - || ', false)'; - - MY_FUNCTION_NAME_LOWER_sql := 'SELECT * FROM pgr_MY_FUNCTION_NAME_LOWER($$' || inner_sql || '$$, ' || i || ', ' || j - || ', false)'; - RETURN query SELECT set_eq(MY_FUNCTION_NAME_LOWER_sql, dijkstra_sql, MY_FUNCTION_NAME_LOWER_sql); - - - inner_sql := 'SELECT id, source, target, cost FROM edge_table'; - dijkstra_sql := 'SELECT * FROM pgr_dijkstra($$' || inner_sql || '$$, ' || i || ', ' || j - || ', false)'; - - MY_FUNCTION_NAME_LOWER_sql := 'SELECT * FROM pgr_MY_FUNCTION_NAME_LOWER($$' || inner_sql || '$$, ' || i || ', ' || j - || ', false)'; - RETURN query SELECT set_eq(MY_FUNCTION_NAME_LOWER_sql, dijkstra_sql, MY_FUNCTION_NAME_LOWER_sql); - - - END LOOP; - END LOOP; - - RETURN; -END -$BODY$ -language plpgsql; - -SELECT * from MY_FUNCTION_NAME_LOWER_compare_dijkstra(); - - -SELECT * FROM finish(); -ROLLBACK; - diff --git a/tools/template/pgtap/function1-innerQuery.sql b/tools/template/pgtap/function1-innerQuery.sql deleted file mode 100644 index 92b51872ad1..00000000000 --- a/tools/template/pgtap/function1-innerQuery.sql +++ /dev/null @@ -1,21 +0,0 @@ -\i setup.sql - -SELECT plan(137); -SET client_min_messages TO ERROR; - - -SELECT has_function('pgr_MY_FUNCTION_NAME_LOWER', - ARRAY['text', 'bigint', 'bigint', 'boolean','boolean']); - -SELECT function_returns('pgr_MY_FUNCTION_NAME_LOWER', - ARRAY['text', 'bigint', 'bigint', 'boolean','boolean'], - 'setof record'); - -SELECT style_dijkstra('pgr_MY_FUNCTION_NAME_LOWER', ', 2, 3)'); -SELECT style_dijkstra('pgr_MY_FUNCTION_NAME_LOWER', ', 2, 3, true)'); -SELECT style_dijkstra('pgr_MY_FUNCTION_NAME_LOWER', ', 2, 3, false)'); - - - -SELECT finish(); -ROLLBACK; diff --git a/tools/template/pgtap/function1-typesCheck.sql b/tools/template/pgtap/function1-typesCheck.sql deleted file mode 100644 index e80f3560151..00000000000 --- a/tools/template/pgtap/function1-typesCheck.sql +++ /dev/null @@ -1,15 +0,0 @@ - -SELECT plan(4); - -SELECT has_function('pgr_MY_FUNCTION_NAME_LOWER'); - -SELECT has_function('pgr_MY_FUNCTION_NAME_LOWER', ARRAY[ 'text', 'bigint', 'bigint', 'boolean', 'boolean' ]); - -SELECT function_returns('pgr_MY_FUNCTION_NAME_LOWER', ARRAY[ 'text', 'bigint', 'bigint', 'boolean', 'boolean' ], 'setof record'); - --- testing column names -SELECT bag_has( - $$SELECT proargnames from pg_proc where proname = 'pgr_MY_FUNCTION_NAME_LOWER'$$, - $$SELECT '{"","","","directed","only_cost","seq","path_seq","node","edge","cost","agg_cost"}'::TEXT[] $$ -); - diff --git a/tools/template/sql/CMakeLists.txt b/tools/template/sql/CMakeLists.txt deleted file mode 100644 index 4a090046a5b..00000000000 --- a/tools/template/sql/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ - -SET(LOCAL_FILES - MY_FUNCTION_NAME.sql - ) - -# Do not modify bellow this line - -foreach (f ${LOCAL_FILES}) - configure_file(${f} ${f}) - list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) -endforeach() - -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/tools/template/sql/function1.sql b/tools/template/sql/function1.sql deleted file mode 100644 index 2c1781c4c21..00000000000 --- a/tools/template/sql/function1.sql +++ /dev/null @@ -1,37 +0,0 @@ -/*PGR-GNU***************************************************************** -File: MY_FUNCTION_NAME.sql - -Generated with Template by: -Copyright (c) 2016 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) YEAR DEVELOPER_NAME -Mail: DEVELOPER_EMAIL - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -********************************************************************PGR-GNU*/ - -CREATE OR REPLACE FUNCTION pgr_MY_FUNCTION_NAME( - MY_QUERY_LINE1 - MY_QUERY_LINE2) - -RETURNS SETOF RECORD AS -'MODULE_PATHNAME', 'MY_FUNCTION_NAME' -LANGUAGE c IMMUTABLE STRICT; - diff --git a/tools/template/src/CMakeLists.txt b/tools/template/src/CMakeLists.txt deleted file mode 100644 index ff3d4b4b815..00000000000 --- a/tools/template/src/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -ADD_LIBRARY(MY_FUNCTION_NAME OBJECT - MY_FUNCTION_NAME.c - MY_FUNCTION_NAME_driver.cpp - ) diff --git a/tools/template/src/function1.c b/tools/template/src/function1.c deleted file mode 100644 index ed9cb010753..00000000000 --- a/tools/template/src/function1.c +++ /dev/null @@ -1,297 +0,0 @@ -/*PGR-GNU***************************************************************** -File: MY_FUNCTION_NAME.c - -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) YEAR DEVELOPER_NAME -Mail: DEVELOPER_EMAIL - - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -********************************************************************PGR-GNU*/ - -/** @file MY_FUNCTION_NAME.c - * @brief Conecting code with postgres. - * - * This file is fully documented for understanding - * how the postgres connectinon works - * - * TODO Remove unnecessary comments before submiting the function. - * some comments are in form of PGR_DBG message - */ - -/** - * postgres_connection.h - * - * - should allways be first in the C code - */ -#include "c_common/postgres_connection.h" - - -/* for macro PGR_DBG */ -#include "c_common/debug_macro.h" -/* for pgr_global_report */ -#include "c_common/e_report.h" -/* for time_msg & clock */ -#include "c_common/time_msg.h" -/* for functions to get edges informtion */ -#include "c_common/edges_input.h" - -#include "drivers/MY_FUNCTION_NAME/MY_FUNCTION_NAME_driver.h" // the link to the C++ code of the function - -PGDLLEXPORT Datum MY_FUNCTION_NAME(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(MY_FUNCTION_NAME); - - -/******************************************************************************/ -/* MODIFY AS NEEDED */ -static -void -process( - char* edges_sql, - int64_t start_vid, - int64_t end_vid, -#if 0 - /* - * handling arrays example - */ - ArrayType *starts, - ArrayType *ends, -#endif - bool directed, - bool only_cost, - MY_RETURN_VALUE_TYPE **result_tuples, - size_t *result_count) { - /* - * https://www.postgresql.org/docs/current/static/spi-spi-connect.html - */ - pgr_SPI_connect(); - - -#if 0 - /* - * handling arrays example - */ - - PGR_DBG("Initializing arrays"); - int64_t* start_vidsArr = NULL; - size_t size_start_vidsArr = 0; - start_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_start_vidsArr, starts); - PGR_DBG("start_vidsArr size %ld ", size_start_vidsArr); - - int64_t* end_vidsArr = NULL; - size_t size_end_vidsArr = 0; - end_vidsArr = (int64_t*) - pgr_get_bigIntArray(&size_end_vidsArr, ends); - PGR_DBG("end_vidsArr size %ld ", size_end_vidsArr); -#endif - - (*result_tuples) = NULL; - (*result_count) = 0; - - PGR_DBG("Load data"); - MY_EDGE_TYPE *edges = NULL; - size_t total_edges = 0; - - if (start_vid == end_vid) { - /* - * https://www.postgresql.org/docs/current/static/spi-spi-finish.html - */ - pgr_SPI_finish(); - return; - } - - MY_EDGE_FUNCTION(edges_sql, &edges, &total_edges); - PGR_DBG("Total %ld edges in query:", total_edges); - - if (total_edges == 0) { - PGR_DBG("No edges found"); - pgr_SPI_finish(); - return; - } - - PGR_DBG("Starting processing"); - clock_t start_t = clock(); - char *log_msg = NULL; - char *notice_msg = NULL; - char *err_msg = NULL; - do_pgr_MY_FUNCTION_NAME( - edges, - total_edges, - start_vid, - end_vid, -#if 0 - /* - * handling arrays example - */ - - start_vidsArr, size_start_vidsArr, - end_vidsArr, size_end_vidsArr, -#endif - - directed, - only_cost, - result_tuples, - result_count, - &log_msg, - ¬ice_msg, - &err_msg); - - time_msg(" processing pgr_MY_FUNCTION_NAME", start_t, clock()); - PGR_DBG("Returning %ld tuples", *result_count); - - if (err_msg) { - if (*result_tuples) pfree(*result_tuples); - } - pgr_global_report(log_msg, notice_msg, err_msg); - - if (edges) pfree(edges); - if (log_msg) pfree(log_msg); - if (notice_msg) pfree(notice_msg); - if (err_msg) pfree(err_msg); -#if 0 - /* - * handling arrays example - */ - - if (end_vidsArr) pfree(end_vidsArr); - if (start_vidsArr) pfree(start_vidsArr); -#endif - - pgr_SPI_finish(); -} -/* */ -/******************************************************************************/ - -PGDLLEXPORT Datum MY_FUNCTION_NAME(PG_FUNCTION_ARGS) { - FuncCallContext *funcctx; - TupleDesc tuple_desc; - - /**************************************************************************/ - /* MODIFY AS NEEDED */ - /* */ - MY_RETURN_VALUE_TYPE *result_tuples = NULL; - size_t result_count = 0; - /* */ - /**************************************************************************/ - - if (SRF_IS_FIRSTCALL()) { - MemoryContext oldcontext; - funcctx = SRF_FIRSTCALL_INIT(); - oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - - - /**********************************************************************/ - /* MODIFY AS NEEDED */ - /* - MY_QUERY_LINE1 - **********************************************************************/ - - - PGR_DBG("Calling process"); - process( - text_to_cstring(PG_GETARG_TEXT_P(0)), - PG_GETARG_INT64(1), - PG_GETARG_INT64(2), -#if 0 - /* - * handling arrays example - */ - - PG_GETARG_ARRAYTYPE_P(1), - PG_GETARG_ARRAYTYPE_P(2), -#endif - PG_GETARG_BOOL(3), - PG_GETARG_BOOL(4), - &result_tuples, - &result_count); - - - /* */ - /**********************************************************************/ - -#if PGSQL_VERSION > 94 - funcctx->max_calls = result_count; -#else - funcctx->max_calls = (uint32_t)result_count; -#endif - funcctx->user_fctx = result_tuples; - if (get_call_result_type(fcinfo, NULL, &tuple_desc) - != TYPEFUNC_COMPOSITE) { - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("function returning record called in context " - "that cannot accept type record"))); - } - - funcctx->tuple_desc = tuple_desc; - MemoryContextSwitchTo(oldcontext); - } - - funcctx = SRF_PERCALL_SETUP(); - tuple_desc = funcctx->tuple_desc; - result_tuples = (MY_RETURN_VALUE_TYPE*) funcctx->user_fctx; - - if (funcctx->call_cntr < funcctx->max_calls) { - HeapTuple tuple; - Datum result; - Datum *values; - bool* nulls; - - /**********************************************************************/ - /* MODIFY AS NEEDED */ - /* - MY_QUERY_LINE2 - ***********************************************************************/ - - values = palloc(6 * sizeof(Datum)); - nulls = palloc(6 * sizeof(bool)); - - - size_t i; - for (i = 0; i < 6; ++i) { - nulls[i] = false; - } - - // postgres starts counting from 1 - values[0] = Int32GetDatum(funcctx->call_cntr + 1); - values[1] = Int32GetDatum(result_tuples[funcctx->call_cntr].seq); - values[2] = Int64GetDatum(result_tuples[funcctx->call_cntr].node); - values[3] = Int64GetDatum(result_tuples[funcctx->call_cntr].edge); - values[4] = Float8GetDatum(result_tuples[funcctx->call_cntr].cost); - values[5] = Float8GetDatum(result_tuples[funcctx->call_cntr].agg_cost); - /**********************************************************************/ - - tuple = heap_form_tuple(tuple_desc, values, nulls); - result = HeapTupleGetDatum(tuple); - SRF_RETURN_NEXT(funcctx, result); - } else { - /**********************************************************************/ - /* MODIFY AS NEEDED */ - - PGR_DBG("Clean up code"); - - /**********************************************************************/ - - SRF_RETURN_DONE(funcctx); - } -} diff --git a/tools/template/src/function1_driver.cpp b/tools/template/src/function1_driver.cpp deleted file mode 100644 index 18c86f69c2f..00000000000 --- a/tools/template/src/function1_driver.cpp +++ /dev/null @@ -1,151 +0,0 @@ -/*PGR-GNU***************************************************************** -File: MY_FUNCTION_NAME_driver.cpp - -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) YEAR DEVELOPER_NAME -Mail: DEVELOPER_EMAIL - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -********************************************************************PGR-GNU*/ - -#include "drivers/MY_FUNCTION_NAME/MY_FUNCTION_NAME_driver.h" - -#include -#include -#include - -#include "dijkstra/pgr_dijkstra.hpp" - -#include "cpp_common/pgr_alloc.hpp" -#include "cpp_common/pgr_assert.h" - - - - - -/************************************************************ - MY_QUERY_LINE1 - ***********************************************************/ - -template < class G > -static -Path -pgr_MY_FUNCTION_NAME( - G &graph, - int64_t source, - int64_t target, - bool only_cost = false) { - Path path; - Pgr_dijkstra< G > fn_dijkstra; - return fn_dijkstra.dijkstra(graph, source, target, only_cost); -} - - -void -do_pgr_MY_FUNCTION_NAME( - MY_EDGE_TYPE *data_edges, - size_t total_edges, - int64_t start_vid, - int64_t end_vid, - bool directed, - bool only_cost, - MY_RETURN_VALUE_TYPE **return_tuples, - size_t *return_count, - char ** log_msg, - char ** notice_msg, - char ** err_msg) { - std::ostringstream log; - std::ostringstream err; - std::ostringstream notice; - try { - pgassert(!(*log_msg)); - pgassert(!(*notice_msg)); - pgassert(!(*err_msg)); - pgassert(!(*return_tuples)); - pgassert(*return_count == 0); - pgassert(total_edges != 0); - - graphType gType = directed? DIRECTED: UNDIRECTED; - - Path path; - - if (directed) { - log << "Working with directed Graph\n"; - pgrouting::DirectedGraph digraph(gType); - digraph.insert_edges(data_edges, total_edges); - path = pgr_MY_FUNCTION_NAME(digraph, - start_vid, - end_vid, - only_cost); - } else { - log << "Working with Undirected Graph\n"; - pgrouting::UndirectedGraph undigraph(gType); - undigraph.insert_edges(data_edges, total_edges); - path = pgr_MY_FUNCTION_NAME( - undigraph, - start_vid, - end_vid, - only_cost); - } - - auto count = path.size(); - - if (count == 0) { - (*return_tuples) = NULL; - (*return_count) = 0; - notice << - "No paths found between start_vid and end_vid vertices"; - return; - } - - (*return_tuples) = pgr_alloc(count, (*return_tuples)); - size_t sequence = 0; - path.generate_postgres_data(return_tuples, sequence); - (*return_count) = sequence; - - pgassert(*err_msg == NULL); - *log_msg = log.str().empty()? - *log_msg : - pgr_msg(log.str().c_str()); - *notice_msg = notice.str().empty()? - *notice_msg : - pgr_msg(notice.str().c_str()); - } catch (AssertFailedException &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch (std::exception &except) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << except.what(); - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } catch(...) { - (*return_tuples) = pgr_free(*return_tuples); - (*return_count) = 0; - err << "Caught unknown exception!"; - *err_msg = pgr_msg(err.str().c_str()); - *log_msg = pgr_msg(log.str().c_str()); - } -} diff --git a/tools/template/src/function1_driver.h b/tools/template/src/function1_driver.h deleted file mode 100644 index ac0d9cd629c..00000000000 --- a/tools/template/src/function1_driver.h +++ /dev/null @@ -1,65 +0,0 @@ -/*PGR-GNU***************************************************************** -File: MY_FUNCTION_NAME_driver.h - -Generated with Template by: -Copyright (c) 2015 pgRouting developers -Mail: project@pgrouting.org - -Function's developer: -Copyright (c) 2015 Celia Virginia Vergara Castillo -Mail: vicky_vergara@hotmail.com - ------- - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -********************************************************************PGR-GNU*/ - -#ifndef INCLUDE_DRIVERS_MY_FUNCTION_NAME_UPPER_MY_FUNCTION_NAME_UPPER_DRIVER_H_ -#define INCLUDE_DRIVERS_MY_FUNCTION_NAME_UPPER_MY_FUNCTION_NAME_UPPER_DRIVER_H_ -#pragma once - -#include "c_types/MY_EDGE_FILE.h" -#include "c_types/MY_RETURN_VALUE_FILE.h" - -#ifdef __cplusplus -extern "C" { -#endif - - /********************************************************* - MY_QUERY_LINE1 - ********************************************************/ - - - void - do_pgr_MY_FUNCTION_NAME( - MY_EDGE_TYPE *data_edges, - size_t total_edges, - int64_t start_vid, - int64_t end_vid, - bool directed, - bool only_cost, - MY_RETURN_VALUE_TYPE **return_tuples, - size_t *return_count, - char ** log_msg, - char ** notice_msg, - char ** err_msg); - - -#ifdef __cplusplus -} -#endif - -#endif // INCLUDE_DRIVERS_MY_FUNCTION_NAME_UPPER_MY_FUNCTION_NAME_UPPER_DRIVER_H_ diff --git a/tools/template/test/doc-function1.result b/tools/template/test/doc-function1.result deleted file mode 100644 index ae05e355ce9..00000000000 --- a/tools/template/test/doc-function1.result +++ /dev/null @@ -1,34 +0,0 @@ -BEGIN; -BEGIN -SET client_min_messages TO NOTICE; -SET --- q1 -SELECT * FROM pgr_MY_FUNCTION_NAME( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', - 2, 3 -); - seq | path_seq | node | edge | cost | agg_cost ------+----------+------+------+------+---------- - 1 | 1 | 2 | 4 | 1 | 0 - 2 | 2 | 5 | 8 | 1 | 1 - 3 | 3 | 6 | 9 | 1 | 2 - 4 | 4 | 9 | 16 | 1 | 3 - 5 | 5 | 4 | 3 | 1 | 4 - 6 | 6 | 3 | -1 | 0 | 5 -(6 rows) - --- q2 -SELECT * FROM pgr_MY_FUNCTION_NAME( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', - 2, 3, - FALSE -); - seq | path_seq | node | edge | cost | agg_cost ------+----------+------+------+------+---------- - 1 | 1 | 2 | 2 | 1 | 0 - 2 | 2 | 3 | -1 | 0 | 1 -(2 rows) - --- q3 -ROLLBACK; -ROLLBACK diff --git a/tools/template/test/doc-function1.test.sql b/tools/template/test/doc-function1.test.sql deleted file mode 100644 index d58a7a1ffd1..00000000000 --- a/tools/template/test/doc-function1.test.sql +++ /dev/null @@ -1,15 +0,0 @@ - -\echo -- q1 -SELECT * FROM pgr_MY_FUNCTION_NAME( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', - 2, 3 -); - -\echo -- q2 -SELECT * FROM pgr_MY_FUNCTION_NAME( - 'SELECT id, source, target, cost, reverse_cost FROM edge_table', - 2, 3, - FALSE -); -\echo -- q3 - diff --git a/tools/template/test/test.conf b/tools/template/test/test.conf deleted file mode 100644 index 7d492ca84c6..00000000000 --- a/tools/template/test/test.conf +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/perl -w - -%main::tests = ( - 'any' => { - 'comment' => 'Dijkstra test for any versions.', - 'data' => [ ], - 'tests' => [qw( - doc-MY_FUNCTION_NAME - )], - 'documentation' => [qw( - doc-MY_FUNCTION_NAME - )] - }, - -); - -1; From 4e682d7d4775c8b3b15712aaa07eff9ea1c0f549 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 23 Dec 2020 08:34:02 -0600 Subject: [PATCH 1191/1360] [build] [lint] Cleanup build to use efectively cmake 3.2 Changes that affect 3.1 --- sql/dijkstra/dijkstra.sql | 2 +- sql/dijkstra/dijkstraCost.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/dijkstra/dijkstra.sql b/sql/dijkstra/dijkstra.sql index a48197d7e1d..917252c50b3 100644 --- a/sql/dijkstra/dijkstra.sql +++ b/sql/dijkstra/dijkstra.sql @@ -216,5 +216,5 @@ IS 'pgr_dijkstra(Combinations) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstra.html + - ${PROJECT_DOC_LINK}/pgr_dijkstra.html '; diff --git a/sql/dijkstra/dijkstraCost.sql b/sql/dijkstra/dijkstraCost.sql index 6cf1d08dc9d..f3f3612d61b 100644 --- a/sql/dijkstra/dijkstraCost.sql +++ b/sql/dijkstra/dijkstraCost.sql @@ -199,5 +199,5 @@ IS 'pgr_dijkstraCost(Combinations SQL) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraCost.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraCost.html '; From 939ced25a1b6663b7b987604c0006f8ed3da43c3 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 12 Jan 2021 11:36:38 -0600 Subject: [PATCH 1192/1360] [pgtap] the conditional tests that alphaShape should pass --- pgtap/alpha_shape/issue-544.sql | 21 +++++++++++++------- pgtap/alpha_shape/no_crash_test-alphashp.sql | 1 + pgtap/alpha_shape/notebook-test.sql | 16 +++++++++------ pgtap/alpha_shape/s_shape-test.sql | 11 ++++++---- pgtap/alpha_shape/sampledata-test.sql | 9 +++++++-- pgtap/alpha_shape/specialCases.sql | 9 +++++++-- tools/testers/alphaShapeTester.sql | 4 ++++ tools/testers/no_crash_test.sql | 4 ++++ 8 files changed, 54 insertions(+), 21 deletions(-) diff --git a/pgtap/alpha_shape/issue-544.sql b/pgtap/alpha_shape/issue-544.sql index 659770f7571..e86297a2659 100644 --- a/pgtap/alpha_shape/issue-544.sql +++ b/pgtap/alpha_shape/issue-544.sql @@ -46,15 +46,22 @@ SELECT * FROM pgr_alphaShape((SELECT ST_Collect(ST_MakePoint(x,y)) FROM nodes wh PREPARE q3 AS SELECT * FROM pgr_alphaShape((SELECT ST_Collect(ST_MakePoint(x,y)) FROM nodes)); -SELECT throws_ok('q1', - 'XX000','Less than 3 vertices. pgr_alphaShape needs at least 3 vertices.', - 'SHOULD THROW, because there is only one point'); +SELECT CASE WHEN _pgr_versionless((SELECT boost from pgr_full_version()), '1.54.0') + THEN skip('pgr_alphaSahpe not supported when compiled with Boost version < 1.54.0', 3 ) + ELSE collect_tap( -SELECT throws_ok('q2', - 'XX000','Less than 3 vertices. pgr_alphaShape needs at least 3 vertices.', - 'SHOULD THROW, because there are less than 3 distinc points'); + throws_ok('q1', + 'XX000','Less than 3 vertices. pgr_alphaShape needs at least 3 vertices.', + 'SHOULD THROW, because there is only one point'), -SELECT lives_ok('q3', 'SHOULD LIVE because ater eliminating duplicates there are enough points to work with'); + throws_ok('q2', + 'XX000','Less than 3 vertices. pgr_alphaShape needs at least 3 vertices.', + 'SHOULD THROW, because there are less than 3 distinc points'), + + lives_ok('q3', 'SHOULD LIVE because ater eliminating duplicates there are enough points to work with') + + ) + END; -- Finish the tests and clean up. diff --git a/pgtap/alpha_shape/no_crash_test-alphashp.sql b/pgtap/alpha_shape/no_crash_test-alphashp.sql index 0c99330a961..810e4f44fd8 100644 --- a/pgtap/alpha_shape/no_crash_test-alphashp.sql +++ b/pgtap/alpha_shape/no_crash_test-alphashp.sql @@ -31,5 +31,6 @@ LANGUAGE plpgsql VOLATILE; SELECT * FROM test_function(); +SELECT finish(); ROLLBACK; diff --git a/pgtap/alpha_shape/notebook-test.sql b/pgtap/alpha_shape/notebook-test.sql index 9aaee1802e0..366af807759 100644 --- a/pgtap/alpha_shape/notebook-test.sql +++ b/pgtap/alpha_shape/notebook-test.sql @@ -59,12 +59,16 @@ SELECT alphaShape_tester('e_test', 'geom', 0.23, false, 0.5178261889305, 26); SELECT alphaShape_tester('e_test', 'geom', 0.22969, false, 0.5178261889305, 26); --- best alpha -SELECT set_eq( - $$SELECT round(st_area(pgr_alphaShape)::numeric, 12) FROM pgr_alphaShape((SELECT ST_Collect(geom) FROM e_test))$$, - $$SELECT round(st_area(pgr_alphaShape)::numeric, 12) FROM pgr_alphaShape((SELECT ST_Collect(geom) FROM e_test), 0)$$, - 'SHOULD BE: best alpha obtined with spoon radius 0' -); +SELECT CASE WHEN _pgr_versionless((SELECT boost from pgr_full_version()), '1.54.0') + THEN skip('pgr_alphaSahpe not supported when compiled with Boost version < 1.54.0', 1 ) + ELSE + -- best alpha + set_eq( + $$SELECT round(st_area(pgr_alphaShape)::numeric, 12) FROM pgr_alphaShape((SELECT ST_Collect(geom) FROM e_test))$$, + $$SELECT round(st_area(pgr_alphaShape)::numeric, 12) FROM pgr_alphaShape((SELECT ST_Collect(geom) FROM e_test), 0)$$, + 'SHOULD BE: best alpha obtined with spoon radius 1') + + END; -- best alpha range SELECT alphaShape_tester('e_test', 'geom', 0.22968, false, 0.495862454676, 27); diff --git a/pgtap/alpha_shape/s_shape-test.sql b/pgtap/alpha_shape/s_shape-test.sql index 0597dd0baf3..ac9962e463c 100644 --- a/pgtap/alpha_shape/s_shape-test.sql +++ b/pgtap/alpha_shape/s_shape-test.sql @@ -71,10 +71,13 @@ SELECT alphaShape_tester('s_test', 'geom', 41, false, 55321.5, 51); SELECT todo_start('With postgres 9.4 sometimes gives another result'); -- best alpha -SELECT set_eq( - $$SELECT st_area(pgr_alphaShape)::TEXT FROM pgr_alphaShape((SELECT ST_Collect(geom) FROM s_test))$$, - $$SELECT st_area(pgr_alphaShape)::TEXT FROM pgr_alphaShape((SELECT ST_Collect(geom) FROM s_test), 0)$$ -); +SELECT CASE WHEN _pgr_versionless((SELECT boost from pgr_full_version()), '1.54.0') + THEN skip('pgr_alphaSahpe not supported when compiled with Boost version < 1.54.0', 1 ) + ELSE + set_eq( + $$SELECT st_area(pgr_alphaShape)::TEXT FROM pgr_alphaShape((SELECT ST_Collect(geom) FROM s_test))$$, + $$SELECT st_area(pgr_alphaShape)::TEXT FROM pgr_alphaShape((SELECT ST_Collect(geom) FROM s_test), 0)$$) + END; SELECT todo_end(); SELECT alphaShape_tester('s_test', 'geom', 40, false, 55321.5, 51); diff --git a/pgtap/alpha_shape/sampledata-test.sql b/pgtap/alpha_shape/sampledata-test.sql index 620a2acce9c..2b88cbd61a2 100644 --- a/pgtap/alpha_shape/sampledata-test.sql +++ b/pgtap/alpha_shape/sampledata-test.sql @@ -11,8 +11,13 @@ SELECT ST_area(pgr_alphaShape) FROM pgr_alphaShape((SELECT ST_Collect(the_geom) PREPARE q2 AS SELECT ST_area(pgr_alphaShape((SELECT ST_Collect(the_geom) FROM edge_table), 1.582)); -SELECT set_eq('q1', $$SELECT 11.75$$, 'Shall have the expected area'); -SELECT set_eq('q1', 'q2', '1.582 shall be the best spoon raidus'); +SELECT CASE WHEN _pgr_versionless((SELECT boost from pgr_full_version()), '1.54.0') + THEN skip('pgr_alphaSahpe not supported when compiled with Boost version < 1.54.0', 2) + ELSE collect_tap( + set_eq('q1', $$SELECT 11.75$$, 'Shall have the expected area'), + set_eq('q1', 'q2', '1.582 shall be the best spoon raidus') + ) + END; SELECT alphaShape_tester('edge_table', 'the_geom', 0, false, 11.75, 9); SELECT alphaShape_tester('edge_table', 'the_geom', 1.582, false, 11.75, 9); diff --git a/pgtap/alpha_shape/specialCases.sql b/pgtap/alpha_shape/specialCases.sql index 691cd99c754..c3cafd1fc9c 100644 --- a/pgtap/alpha_shape/specialCases.sql +++ b/pgtap/alpha_shape/specialCases.sql @@ -16,7 +16,6 @@ SELECT ST_Area(pgr_alphaShape( SELECT ST_Collect(the_geom) FROM data) )); -SELECT set_eq('q1', 'q2'); -- Ordering does not affect the result PREPARE q3 AS @@ -24,6 +23,12 @@ SELECT ST_Area(pgr_alphaShape( (SELECT ST_Collect(the_geom) FROM edge_table) )); -SELECT set_eq('q1', 'q3'); +SELECT CASE WHEN _pgr_versionless((SELECT boost from pgr_full_version()), '1.54.0') + THEN skip('pgr_alphaSahpe not supported when compiled with Boost version < 1.54.0', 2) + ELSE collect_tap( + set_eq('q1', 'q3'), + set_eq('q1', 'q2') + ) + END; SELECT finish(); diff --git a/tools/testers/alphaShapeTester.sql b/tools/testers/alphaShapeTester.sql index 956480d1398..c452a32cb67 100644 --- a/tools/testers/alphaShapeTester.sql +++ b/tools/testers/alphaShapeTester.sql @@ -9,6 +9,10 @@ CREATE OR REPLACE FUNCTION alphaShape_tester( RETURNS SETOF TEXT AS $BODY$ BEGIN + IF _pgr_versionless((SELECT boost from pgr_full_version()), '1.54.0') THEN + RETURN QUERY SELECT * FROM skip('pgr_alphaSahpe not supported when compiled with Boost version < 1.54.0', 4); + RETURN; + END IF; EXECUTE format($$ CREATE TABLE newquery AS SELECT pgr_alphaShape((SELECT ST_collect(%2$I) FROM %1$I), %3$s) diff --git a/tools/testers/no_crash_test.sql b/tools/testers/no_crash_test.sql index 271c2865c7a..8ae86741bcc 100644 --- a/tools/testers/no_crash_test.sql +++ b/tools/testers/no_crash_test.sql @@ -9,6 +9,10 @@ q TEXT; separator TEXT; BEGIN FOR i IN 0..array_length(params, 1) LOOP + IF _pgr_versionless((SELECT boost from pgr_full_version()), '1.54.0') AND func='pgr_alphashape' THEN + RETURN QUERY SELECT * FROM skip('pgr_alphaSahpe not supported when compiled with Boost version < 1.54.0', 2); + CONTINUE; + END IF; separator = ' '; mp := params; IF i != 0 THEN From 108e1da734e7fc24580ba7c18f33fe6fd713c570 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 12 Jan 2021 11:18:09 -0600 Subject: [PATCH 1193/1360] [actions][boost] Action that needs to pass MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit README states 1.53 is the min boost version supṕorted (on pgr 3.0 & pgr 3.1) 1.54 ~ 1.74 can be compiled with C++ standard from std0x 1.75 needs C++ standard 14 --- .github/workflows/boost_version.yml | 82 +++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .github/workflows/boost_version.yml diff --git a/.github/workflows/boost_version.yml b/.github/workflows/boost_version.yml new file mode 100644 index 00000000000..a25b7bdd58e --- /dev/null +++ b/.github/workflows/boost_version.yml @@ -0,0 +1,82 @@ +name: Boost supported versions + +on: + push: + branches-ignore: + - 'translations_*' + tags: [] + pull_request: + paths-ignore: + - '**.po' + + +jobs: + build: + name: Build + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + boost_minor: [53, 54, 55, 56, 74, 75] + os: [ubuntu-latest] + + steps: + - uses: actions/checkout@v2 + + - name: Get postgres version + run: | + sudo service postgresql start + pgver=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d \()') + echo "PGVER=${pgver}" >> $GITHUB_ENV + echo "PGIS=3" >> $GITHUB_ENV + + - name: Add PostgreSQL APT repository + run: | + sudo apt-get install curl ca-certificates gnupg + curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - + sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \ + $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' + + - name: Install python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + libtap-parser-sourcehandler-pgtap-perl \ + postgresql-${PGVER} \ + postgresql-${PGVER}-pgtap \ + postgresql-${PGVER}-postgis-${PGIS} \ + postgresql-${PGVER}-postgis-${PGIS}-scripts \ + postgresql-server-dev-${PGVER} + + python -m pip install --upgrade pip + pip install -r requirements.txt + wget https://sourceforge.net/projects/boost/files/boost/1.${{ matrix.boost_minor }}.0/boost_1_${{ matrix.boost_minor }}_0.tar.bz2 + #wget https://dl.bintray.com/boostorg/release/1.${{ matrix.boost_minor }}.0/source/boost_1_${{ matrix.boost_minor }}_0.tar.bz2 + sudo tar --bzip2 -xf boost_1_${{ matrix.boost_minor }}_0.tar.bz2 + sudo mv boost_1_${{ matrix.boost_minor }}_0/boost /usr/include/ + + + - name: Configure + run: | + export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH + mkdir build + cd build + cmake -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Debug -DWITH_DOC=OFF .. + + - name: Build + run: | + cd build + make -j 4 + sudo make install + + - name: Test + run: | + sudo service postgresql start + sudo -u postgres createdb -p 5432 ___pgr___test___ + sudo -u postgres bash ./tools/testers/pg_prove_tests.sh postgres 5432 Release From 1ee70967924b8aefa1f2ae651b0c59da8805a346 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 12 Jan 2021 11:27:34 -0600 Subject: [PATCH 1194/1360] [boost] Adding missing/bugfix files for B1.53 B1.54 or B1.55 --- include/boost/core/ignore_unused.hpp | 70 ++++ include/boost/core/no_exceptions_support.hpp | 44 +++ include/boost/maximum_adjacency_search.hpp | 322 ++++++++++++++++ include/boost/stoer_wagner_min_cut.hpp | 259 +++++++++++++ include/boost/transitive_closure.hpp | 373 +++++++++++++++++++ 5 files changed, 1068 insertions(+) create mode 100644 include/boost/core/ignore_unused.hpp create mode 100644 include/boost/core/no_exceptions_support.hpp create mode 100644 include/boost/maximum_adjacency_search.hpp create mode 100644 include/boost/stoer_wagner_min_cut.hpp create mode 100644 include/boost/transitive_closure.hpp diff --git a/include/boost/core/ignore_unused.hpp b/include/boost/core/ignore_unused.hpp new file mode 100644 index 00000000000..22047c2e546 --- /dev/null +++ b/include/boost/core/ignore_unused.hpp @@ -0,0 +1,70 @@ +// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. +// +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_CORE_IGNORE_UNUSED_HPP +#define BOOST_CORE_IGNORE_UNUSED_HPP + +#include + +namespace boost { + +#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES + +template +inline void ignore_unused(Ts const& ...) +{} + +template +inline void ignore_unused() +{} + +#else + +template +inline void ignore_unused(T1 const&) +{} + +template +inline void ignore_unused(T1 const&, T2 const&) +{} + +template +inline void ignore_unused(T1 const&, T2 const&, T3 const&) +{} + +template +inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&) +{} + +template +inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&) +{} + +template +inline void ignore_unused() +{} + +template +inline void ignore_unused() +{} + +template +inline void ignore_unused() +{} + +template +inline void ignore_unused() +{} + +template +inline void ignore_unused() +{} + +#endif + +} // namespace boost + +#endif // BOOST_CORE_IGNORE_UNUSED_HPP diff --git a/include/boost/core/no_exceptions_support.hpp b/include/boost/core/no_exceptions_support.hpp new file mode 100644 index 00000000000..09b93c9ff87 --- /dev/null +++ b/include/boost/core/no_exceptions_support.hpp @@ -0,0 +1,44 @@ +#ifndef BOOST_CORE_NO_EXCEPTIONS_SUPPORT_HPP +#define BOOST_CORE_NO_EXCEPTIONS_SUPPORT_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +//---------------------------------------------------------------------- +// (C) Copyright 2004 Pavel Vozenilek. +// Use, modification and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt +// or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// +// This file contains helper macros used when exception support may be +// disabled (as indicated by macro BOOST_NO_EXCEPTIONS). +// +// Before picking up these macros you may consider using RAII techniques +// to deal with exceptions - their syntax can be always the same with +// or without exception support enabled. +//---------------------------------------------------------------------- + +#include +#include + +#if !(defined BOOST_NO_EXCEPTIONS) +# define BOOST_TRY { try +# define BOOST_CATCH(x) catch(x) +# define BOOST_RETHROW throw; +# define BOOST_CATCH_END } +#else +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +# define BOOST_TRY { if ("") +# define BOOST_CATCH(x) else if (!"") +# else +# define BOOST_TRY { if (true) +# define BOOST_CATCH(x) else if (false) +# endif +# define BOOST_RETHROW +# define BOOST_CATCH_END } +#endif + + +#endif diff --git a/include/boost/maximum_adjacency_search.hpp b/include/boost/maximum_adjacency_search.hpp new file mode 100644 index 00000000000..bde474fda52 --- /dev/null +++ b/include/boost/maximum_adjacency_search.hpp @@ -0,0 +1,322 @@ +// +//======================================================================= +// Copyright 2012 Fernando Vilas +// 2010 Daniel Trebbien +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +//======================================================================= +// + +// The maximum adjacency search algorithm was originally part of the +// Stoer-Wagner min cut implementation by Daniel Trebbien. It has been +// broken out into its own file to be a public search algorithm, with +// visitor concepts. +#ifndef BOOST_GRAPH_MAXIMUM_ADJACENCY_SEARCH_H +#define BOOST_GRAPH_MAXIMUM_ADJACENCY_SEARCH_H + +/** + * This is an implementation of the maximum adjacency search on an + * undirected graph. It allows a visitor object to perform some + * operation on each vertex as that vertex is visited. + * + * The algorithm runs as follows: + * + * Initialize all nodes to be unvisited (reach count = 0) + * and call vis.initialize_vertex + * For i = number of nodes in graph downto 1 + * Select the unvisited node with the highest reach count + * The user provides the starting node to break the first tie, + * but future ties are broken arbitrarily + * Visit the node by calling vis.start_vertex + * Increment the reach count for all unvisited neighbors + * and call vis.examine_edge for each of these edges + * Mark the node as visited and call vis.finish_vertex + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { + template + struct MASVisitorConcept { + void constraints() { + boost::function_requires< boost::CopyConstructibleConcept >(); + vis.initialize_vertex(u, g); + vis.start_vertex(u, g); + vis.examine_edge(e, g); + vis.finish_vertex(u, g); + } + Visitor vis; + Graph g; + typename boost::graph_traits::vertex_descriptor u; + typename boost::graph_traits::edge_descriptor e; + }; + + template + class mas_visitor { + public: + mas_visitor() { } + mas_visitor(Visitors vis) : m_vis(vis) { } + + template + void + initialize_vertex(Vertex u, Graph& g) + { + invoke_visitors(m_vis, u, g, ::boost::on_initialize_vertex()); + } + + template + void + start_vertex(Vertex u, Graph& g) + { + invoke_visitors(m_vis, u, g, ::boost::on_start_vertex()); + } + + template + void + examine_edge(Edge e, Graph& g) + { + invoke_visitors(m_vis, e, g, ::boost::on_examine_edge()); + } + + template + void + finish_vertex(Vertex u, Graph& g) + { + invoke_visitors(m_vis, u, g, ::boost::on_finish_vertex()); + } + + BOOST_GRAPH_EVENT_STUB(on_initialize_vertex,mas) + BOOST_GRAPH_EVENT_STUB(on_start_vertex,mas) + BOOST_GRAPH_EVENT_STUB(on_examine_edge,mas) + BOOST_GRAPH_EVENT_STUB(on_finish_vertex,mas) + + protected: + Visitors m_vis; + }; + template + mas_visitor + make_mas_visitor(Visitors vis) { + return mas_visitor(vis); + } + typedef mas_visitor<> default_mas_visitor; + + namespace detail { + template + void + maximum_adjacency_search(const Graph& g, WeightMap weights, MASVisitor vis, const typename boost::graph_traits::vertex_descriptor start, VertexAssignmentMap assignments, KeyedUpdatablePriorityQueue pq) { + typedef typename boost::graph_traits::vertex_descriptor vertex_descriptor; + typedef typename boost::graph_traits::vertices_size_type vertices_size_type; + typedef typename boost::graph_traits::edge_descriptor edge_descriptor; + typedef typename boost::property_traits::value_type weight_type; + + std::set assignedVertices; + + // initialize `assignments` (all vertices are initially + // assigned to themselves) + BGL_FORALL_VERTICES_T(v, g, Graph) { + put(assignments, v, v); + } + + typename KeyedUpdatablePriorityQueue::key_map keys = pq.keys(); + + // set number of visited neighbors for all vertices to 0 + BGL_FORALL_VERTICES_T(v, g, Graph) { + if (v == get(assignments, v)) { // foreach u \in V do + put(keys, v, weight_type(0)); vis.initialize_vertex(v, g); + + pq.push(v); + } + } + BOOST_ASSERT(pq.size() >= 2); + + // Give the starting vertex high priority + put(keys, start, get(keys, start) + num_vertices(g) + 1); + pq.update(start); + + // start traversing the graph + //vertex_descriptor s, t; + weight_type w; + while (!pq.empty()) { // while PQ \neq {} do + const vertex_descriptor u = pq.top(); // u = extractmax(PQ) + w = get(keys, u); vis.start_vertex(u, g); + pq.pop(); // vis.start_vertex(u, g); + + BGL_FORALL_OUTEDGES_T(u, e, g, Graph) { // foreach (u, v) \in E do + vis.examine_edge(e, g); + + const vertex_descriptor v = get(assignments, target(e, g)); + + if (pq.contains(v)) { // if v \in PQ then + put(keys, v, get(keys, v) + get(weights, e)); // increasekey(PQ, v, wA(v) + w(u, v)) + pq.update(v); + } + } + + typename std::set::const_iterator assignedVertexIt, assignedVertexEnd = assignedVertices.end(); + for (assignedVertexIt = assignedVertices.begin(); assignedVertexIt != assignedVertexEnd; ++assignedVertexIt) { + const vertex_descriptor uPrime = *assignedVertexIt; + + if (get(assignments, uPrime) == u) { + BGL_FORALL_OUTEDGES_T(uPrime, e, g, Graph) { // foreach (u, v) \in E do + vis.examine_edge(e, g); + + const vertex_descriptor v = get(assignments, target(e, g)); + + if (pq.contains(v)) { // if v \in PQ then + put(keys, v, get(keys, v) + get(weights, e)); // increasekey(PQ, v, wA(v) + w(u, v)) + pq.update(v); + } + } + } + } + vis.finish_vertex(u, g); + } + } + } // end namespace detail + + template + void +maximum_adjacency_search(const Graph& g, WeightMap weights, MASVisitor vis, const typename boost::graph_traits::vertex_descriptor start, VertexAssignmentMap assignments, KeyedUpdatablePriorityQueue pq) { + BOOST_CONCEPT_ASSERT((boost::IncidenceGraphConcept)); + BOOST_CONCEPT_ASSERT((boost::VertexListGraphConcept)); + typedef typename boost::graph_traits::vertex_descriptor vertex_descriptor; + typedef typename boost::graph_traits::vertices_size_type vertices_size_type; + typedef typename boost::graph_traits::edge_descriptor edge_descriptor; + BOOST_CONCEPT_ASSERT((boost::Convertible::directed_category, boost::undirected_tag>)); + BOOST_CONCEPT_ASSERT((boost::ReadablePropertyMapConcept)); + typedef typename boost::property_traits::value_type weight_type; + boost::function_requires< MASVisitorConcept >(); + BOOST_CONCEPT_ASSERT((boost::ReadWritePropertyMapConcept)); + BOOST_CONCEPT_ASSERT((boost::Convertible::value_type>)); + BOOST_CONCEPT_ASSERT((boost::KeyedUpdatableQueueConcept)); + + vertices_size_type n = num_vertices(g); + if (n < 2) + throw boost::bad_graph("the input graph must have at least two vertices."); + else if (!pq.empty()) + throw std::invalid_argument("the max-priority queue must be empty initially."); + + detail::maximum_adjacency_search(g, weights, + vis, start, + assignments, pq); + } + + namespace graph { + namespace detail { + template + struct mas_dispatch { + typedef void result_type; + template + static result_type apply(const Graph& g, + //const bgl_named_params& params, + const ArgPack& params, + WeightMap w) { + + using namespace boost::graph::keywords; + typedef typename boost::graph_traits::vertex_descriptor vertex_descriptor; + typedef typename WeightMap::value_type weight_type; + + typedef boost::detail::make_priority_queue_from_arg_pack_gen > default_pq_gen_type; + + default_pq_gen_type pq_gen(choose_param(get_param(params, boost::distance_zero_t()), weight_type(0))); + + typename boost::result_of::type pq = pq_gen(g, params); + + boost::maximum_adjacency_search + (g, + w, + params [ _visitor | make_mas_visitor(null_visitor())], + params [ _root_vertex | *vertices(g).first], + params [ _vertex_assignment_map | boost::detail::make_property_map_from_arg_pack_gen(vertex_descriptor())(g, params)], + pq + ); + } + }; + + template <> + struct mas_dispatch { + typedef void result_type; + + template + static result_type apply(const Graph& g, + const ArgPack& params, + param_not_found) { + + using namespace boost::graph::keywords; + typedef typename boost::graph_traits::vertex_descriptor vertex_descriptor; + + // get edge_weight_t as the weight type + typedef typename boost::property_map WeightMap; + typedef typename WeightMap::value_type weight_type; + + typedef boost::detail::make_priority_queue_from_arg_pack_gen > default_pq_gen_type; + + default_pq_gen_type pq_gen(choose_param(get_param(params, boost::distance_zero_t()), weight_type(0))); + + typename boost::result_of::type pq = pq_gen(g, params); + + boost::maximum_adjacency_search + (g, + get(edge_weight, g), + params [ _visitor | make_mas_visitor(null_visitor())], + params [ _root_vertex | *vertices(g).first], + params [ _vertex_assignment_map | boost::detail::make_property_map_from_arg_pack_gen(vertex_descriptor())(g, params)], + pq + ); + } + }; + } // end namespace detail + } // end namespace graph + + // Named parameter interface + //BOOST_GRAPH_MAKE_OLD_STYLE_PARAMETER_FUNCTION(maximum_adjacency_search, 1) + template + void + maximum_adjacency_search (const Graph& g, + const bgl_named_params& params) { + + typedef bgl_named_params params_type; + BOOST_GRAPH_DECLARE_CONVERTED_PARAMETERS(params_type, params) + + // do the dispatch based on WeightMap + typedef typename get_param_type >::type W; + graph::detail::mas_dispatch::apply(g, arg_pack, get_param(params, edge_weight)); + } + + namespace graph { + namespace detail { + template + struct maximum_adjacency_search_impl { + typedef void result_type; + + template + void + operator() (const Graph& g, const ArgPack& arg_pack) const { + // call the function that does the dispatching + typedef typename get_param_type::type W; + graph::detail::mas_dispatch::apply(g, arg_pack, get_param(arg_pack, edge_weight)); + } + }; + } // end namespace detail + BOOST_GRAPH_MAKE_FORWARDING_FUNCTION(maximum_adjacency_search,1,5) + } // end namespace graph + +} // end namespace boost + +#include + +#endif // BOOST_GRAPH_MAXIMUM_ADJACENCY_SEARCH_H + diff --git a/include/boost/stoer_wagner_min_cut.hpp b/include/boost/stoer_wagner_min_cut.hpp new file mode 100644 index 00000000000..c72340b5d46 --- /dev/null +++ b/include/boost/stoer_wagner_min_cut.hpp @@ -0,0 +1,259 @@ +// Copyright Daniel Trebbien 2010. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or the copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_GRAPH_STOER_WAGNER_MIN_CUT_HPP +#define BOOST_GRAPH_STOER_WAGNER_MIN_CUT_HPP 1 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if Boost_VERSION_MACRO >= 105400 +#include +#else +#include +#endif +#include +#include +#include +#include +#include +#include +#include + +namespace boost { + + namespace detail { + template < typename ParityMap, typename WeightMap, typename IndexMap > + class mas_min_cut_visitor : public boost::default_mas_visitor { + typedef one_bit_color_map InternalParityMap; + typedef typename boost::property_traits::value_type weight_type; + public: + template < typename Graph > + mas_min_cut_visitor(const Graph& g, + ParityMap parity, + weight_type& cutweight, + const WeightMap& weight_map, + IndexMap index_map) + : m_bestParity(parity), + m_parity(make_one_bit_color_map(num_vertices(g), index_map)), + m_bestWeight(cutweight), + m_cutweight(0), + m_visited(0), + m_weightMap(weight_map) + { + // set here since the init list sets the reference + m_bestWeight = (std::numeric_limits::max)(); + } + + template < typename Vertex, typename Graph > + void initialize_vertex(Vertex u, const Graph & g) + { + typedef typename boost::property_traits::value_type parity_type; + typedef typename boost::property_traits::value_type internal_parity_type; + + put(m_parity, u, internal_parity_type(0)); + put(m_bestParity, u, parity_type(0)); + } + + template < typename Edge, typename Graph > + void examine_edge(Edge e, const Graph & g) + { + weight_type w = get(m_weightMap, e); + + // if the target of e is already marked then decrease cutweight + // otherwise, increase it + if (get(m_parity, boost::target(e, g))) { + m_cutweight -= w; + } else { + m_cutweight += w; + } + } + + template < typename Vertex, typename Graph > + void finish_vertex(Vertex u, const Graph & g) + { + typedef typename boost::property_traits::value_type parity_type; + typedef typename boost::property_traits::value_type internal_parity_type; + + ++m_visited; + put(m_parity, u, internal_parity_type(1)); + + if (m_cutweight < m_bestWeight && m_visited < num_vertices(g)) { + m_bestWeight = m_cutweight; + BGL_FORALL_VERTICES_T(i, g, Graph) { + put(m_bestParity,i, get(m_parity,i)); + } + } + } + + inline void clear() { + m_bestWeight = (std::numeric_limits::max)(); + m_visited = 0; + m_cutweight = 0; + } + + private: + ParityMap m_bestParity; + InternalParityMap m_parity; + weight_type& m_bestWeight; + weight_type m_cutweight; + unsigned m_visited; + const WeightMap& m_weightMap; + }; + + /** + * \brief Computes a min-cut of the input graph + * + * Computes a min-cut of the input graph using the Stoer-Wagner algorithm. + * + * \pre \p g is a connected, undirected graph + * \pre pq.empty() + * \param[in] g the input graph + * \param[in] weights a readable property map from each edge to its weight (a non-negative value) + * \param[out] parities a writable property map from each vertex to a bool type object for + * distinguishing the two vertex sets of the min-cut + * \param[out] assignments a read/write property map from each vertex to a \c vertex_descriptor object. This + * map serves as work space, and no particular meaning should be derived from property values + * after completion of the algorithm. + * \param[out] pq a keyed, updatable max-priority queue + * \returns the cut weight of the min-cut + * \see http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.114.6687&rep=rep1&type=pdf + * \see http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.31.614&rep=rep1&type=pdf + * + * \author Daniel Trebbien + * \date 2010-09-11 + */ + template + typename boost::property_traits::value_type + stoer_wagner_min_cut(const UndirectedGraph& g, WeightMap weights, ParityMap parities, VertexAssignmentMap assignments, KeyedUpdatablePriorityQueue& pq, IndexMap index_map) { + typedef typename boost::graph_traits::vertex_descriptor vertex_descriptor; + typedef typename boost::graph_traits::vertices_size_type vertices_size_type; + typedef typename boost::graph_traits::edge_descriptor edge_descriptor; + typedef typename boost::property_traits::value_type weight_type; + typedef typename boost::property_traits::value_type parity_type; + + typename graph_traits::vertex_iterator u_iter, u_end; + + weight_type bestW = (std::numeric_limits::max)(); + weight_type bestThisTime = (std::numeric_limits::max)(); + vertex_descriptor bestStart = boost::graph_traits::null_vertex(); + + detail::mas_min_cut_visitor + vis(g, parities, bestThisTime, weights, index_map); + + // for each node in the graph, + for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter) { + // run the MAS and find the min cut + vis.clear(); + boost::maximum_adjacency_search(g, + boost::weight_map(weights). + visitor(vis). + root_vertex(*u_iter). + vertex_assignment_map(assignments). + max_priority_queue(pq)); + if (bestThisTime < bestW) { + bestW = bestThisTime; + bestStart = *u_iter; + } + } + + // Run one more time, starting from the best start location, to + // ensure the visitor has the best values. + vis.clear(); + boost::maximum_adjacency_search(g, + boost::vertex_assignment_map(assignments). + weight_map(weights). + visitor(vis). + root_vertex(bestStart). + max_priority_queue(pq)); + + return bestW; + } + } // end `namespace detail` within `namespace boost` + + template + typename boost::property_traits::value_type + stoer_wagner_min_cut(const UndirectedGraph& g, WeightMap weights, ParityMap parities, VertexAssignmentMap assignments, KeyedUpdatablePriorityQueue& pq, IndexMap index_map) { + BOOST_CONCEPT_ASSERT((boost::IncidenceGraphConcept)); + BOOST_CONCEPT_ASSERT((boost::VertexListGraphConcept)); + typedef typename boost::graph_traits::vertex_descriptor vertex_descriptor; + typedef typename boost::graph_traits::vertices_size_type vertices_size_type; + typedef typename boost::graph_traits::edge_descriptor edge_descriptor; + BOOST_CONCEPT_ASSERT((boost::Convertible::directed_category, boost::undirected_tag>)); + BOOST_CONCEPT_ASSERT((boost::ReadablePropertyMapConcept)); + typedef typename boost::property_traits::value_type weight_type; + BOOST_CONCEPT_ASSERT((boost::WritablePropertyMapConcept)); + typedef typename boost::property_traits::value_type parity_type; + BOOST_CONCEPT_ASSERT((boost::ReadWritePropertyMapConcept)); + BOOST_CONCEPT_ASSERT((boost::Convertible::value_type>)); + BOOST_CONCEPT_ASSERT((boost::KeyedUpdatableQueueConcept)); + + vertices_size_type n = num_vertices(g); + if (n < 2) + throw boost::bad_graph("the input graph must have at least two vertices."); + else if (!pq.empty()) + throw std::invalid_argument("the max-priority queue must be empty initially."); + + return detail::stoer_wagner_min_cut(g, weights, + parities, assignments, pq, index_map); + } + +namespace graph { + namespace detail { + template + struct stoer_wagner_min_cut_impl { + typedef typename boost::property_traits::value_type result_type; + template + result_type operator() (const UndirectedGraph& g, WeightMap weights, const ArgPack& arg_pack) const { + using namespace boost::graph::keywords; + typedef typename boost::graph_traits::vertex_descriptor vertex_descriptor; + typedef typename boost::property_traits::value_type weight_type; + + typedef boost::detail::make_priority_queue_from_arg_pack_gen > gen_type; + + gen_type gen(choose_param(get_param(arg_pack, boost::distance_zero_t()), weight_type(0))); + + typename boost::result_of::type pq = gen(g, arg_pack); + + return boost::stoer_wagner_min_cut(g, + weights, + arg_pack [_parity_map | boost::dummy_property_map()], + boost::detail::make_property_map_from_arg_pack_gen(vertex_descriptor())(g, arg_pack), + pq, + boost::detail::override_const_property(arg_pack, _vertex_index_map, g, vertex_index) + ); + } + }; + } + BOOST_GRAPH_MAKE_FORWARDING_FUNCTION(stoer_wagner_min_cut,2,4) +} + + // Named parameter interface + BOOST_GRAPH_MAKE_OLD_STYLE_PARAMETER_FUNCTION(stoer_wagner_min_cut, 2) +namespace graph { + // version without IndexMap kept for backwards compatibility + // (but requires vertex_index_t to be defined in the graph) + // Place after the macro to avoid compilation errors + template + typename boost::property_traits::value_type + stoer_wagner_min_cut(const UndirectedGraph& g, WeightMap weights, ParityMap parities, VertexAssignmentMap assignments, KeyedUpdatablePriorityQueue& pq) { + + return stoer_wagner_min_cut(g, weights, + parities, assignments, pq, + get(vertex_index, g)); + } +} // end `namespace graph` +} // end `namespace boost` + +#include + +#endif // !BOOST_GRAPH_STOER_WAGNER_MIN_CUT_HPP + diff --git a/include/boost/transitive_closure.hpp b/include/boost/transitive_closure.hpp new file mode 100644 index 00000000000..4f81349bf2e --- /dev/null +++ b/include/boost/transitive_closure.hpp @@ -0,0 +1,373 @@ +// Copyright (C) 2001 Vladimir Prus +// Copyright (C) 2001 Jeremy Siek +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// NOTE: this final is generated by libs/graph/doc/transitive_closure.w + +#ifndef BOOST_GRAPH_TRANSITIVE_CLOSURE_HPP +#define BOOST_GRAPH_TRANSITIVE_CLOSURE_HPP + +#include +#include // for std::min and std::max +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost +{ + + namespace detail + { + inline void + union_successor_sets(const std::vector < std::size_t > &s1, + const std::vector < std::size_t > &s2, + std::vector < std::size_t > &s3) + { + BOOST_USING_STD_MIN(); + for (std::size_t k = 0; k < s1.size(); ++k) + s3[k] = min BOOST_PREVENT_MACRO_SUBSTITUTION(s1[k], s2[k]); + } + } // namespace detail + + namespace detail + { + template < typename TheContainer, typename ST = std::size_t, + typename VT = typename TheContainer::value_type > + struct subscript_t:public std::unary_function < ST, VT > + { + typedef VT& result_type; + + subscript_t(TheContainer & c):container(&c) + { + } + VT & operator() (const ST & i) const + { + return (*container)[i]; + } + protected: + TheContainer * container; + }; + template < typename TheContainer > + subscript_t < TheContainer > subscript(TheContainer & c) { + return subscript_t < TheContainer > (c); + } + } // namespace detail + + template < typename Graph, typename GraphTC, + typename G_to_TC_VertexMap, + typename VertexIndexMap > + void transitive_closure(const Graph & g, GraphTC & tc, + G_to_TC_VertexMap g_to_tc_map, + VertexIndexMap index_map) + { + if (num_vertices(g) == 0) + return; + typedef typename graph_traits < Graph >::vertex_descriptor vertex; + typedef typename graph_traits < Graph >::vertex_iterator vertex_iterator; + typedef typename property_traits < VertexIndexMap >::value_type size_type; + typedef typename graph_traits < + Graph >::adjacency_iterator adjacency_iterator; + + BOOST_CONCEPT_ASSERT(( VertexListGraphConcept < Graph > )); + BOOST_CONCEPT_ASSERT(( AdjacencyGraphConcept < Graph > )); + BOOST_CONCEPT_ASSERT(( VertexMutableGraphConcept < GraphTC > )); + BOOST_CONCEPT_ASSERT(( EdgeMutableGraphConcept < GraphTC > )); + BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept < VertexIndexMap, + vertex > )); + + typedef size_type cg_vertex; + std::vector < cg_vertex > component_number_vec(num_vertices(g)); + iterator_property_map < cg_vertex *, VertexIndexMap, cg_vertex, cg_vertex& > + component_number(&component_number_vec[0], index_map); + + int num_scc = strong_components(g, component_number, + vertex_index_map(index_map)); + + std::vector < std::vector < vertex > >components; + build_component_lists(g, num_scc, component_number, components); + + typedef boost::adjacency_list CG_t; + CG_t CG(num_scc); + for (cg_vertex s = 0; s < components.size(); ++s) { + std::vector < cg_vertex > adj; + for (size_type i = 0; i < components[s].size(); ++i) { + vertex u = components[s][i]; + adjacency_iterator v, v_end; + for (boost::tie(v, v_end) = adjacent_vertices(u, g); v != v_end; ++v) { + cg_vertex t = component_number[*v]; + if (s != t) // Avoid loops in the condensation graph + adj.push_back(t); + } + } + std::sort(adj.begin(), adj.end()); + typename std::vector::iterator di = + std::unique(adj.begin(), adj.end()); + if (di != adj.end()) + adj.erase(di, adj.end()); + for (typename std::vector::const_iterator i = adj.begin(); + i != adj.end(); ++i) { + add_edge(s, *i, CG); + } + } + + std::vector topo_order; + std::vector topo_number(num_vertices(CG)); + topological_sort(CG, std::back_inserter(topo_order), + vertex_index_map(identity_property_map())); + std::reverse(topo_order.begin(), topo_order.end()); + size_type n = 0; + for (typename std::vector::iterator iter = topo_order.begin(); + iter != topo_order.end(); ++iter) + topo_number[*iter] = n++; + + std::vector > CG_vec(num_vertices(CG)); + for (size_type i = 0; i < num_vertices(CG); ++i) { + typedef typename boost::graph_traits::adjacency_iterator cg_adj_iter; + std::pair pr = adjacent_vertices(i, CG); + CG_vec[i].assign(pr.first, pr.second); + std::sort(CG_vec[i].begin(), CG_vec[i].end(), + boost::bind(std::less(), + boost::bind(detail::subscript(topo_number), _1), + boost::bind(detail::subscript(topo_number), _2))); + } + + std::vector > chains; + { + std::vector in_a_chain(CG_vec.size()); + for (typename std::vector::iterator i = topo_order.begin(); + i != topo_order.end(); ++i) { + cg_vertex v = *i; + if (!in_a_chain[v]) { + chains.resize(chains.size() + 1); + std::vector& chain = chains.back(); + for (;;) { + chain.push_back(v); + in_a_chain[v] = true; + typename std::vector::const_iterator next + = std::find_if(CG_vec[v].begin(), CG_vec[v].end(), + std::not1(detail::subscript(in_a_chain))); + if (next != CG_vec[v].end()) + v = *next; + else + break; // end of chain, dead-end + + } + } + } + } + std::vector chain_number(CG_vec.size()); + std::vector pos_in_chain(CG_vec.size()); + for (size_type i = 0; i < chains.size(); ++i) + for (size_type j = 0; j < chains[i].size(); ++j) { + cg_vertex v = chains[i][j]; + chain_number[v] = i; + pos_in_chain[v] = j; + } + + cg_vertex inf = (std::numeric_limits< cg_vertex >::max)(); + std::vector > successors(CG_vec.size(), + std::vector + (chains.size(), inf)); + for (typename std::vector::reverse_iterator + i = topo_order.rbegin(); i != topo_order.rend(); ++i) { + cg_vertex u = *i; + typename std::vector::const_iterator adj, adj_last; + for (adj = CG_vec[u].begin(), adj_last = CG_vec[u].end(); + adj != adj_last; ++adj) { + cg_vertex v = *adj; + if (topo_number[v] < successors[u][chain_number[v]]) { + // Succ(u) = Succ(u) U Succ(v) + detail::union_successor_sets(successors[u], successors[v], + successors[u]); + // Succ(u) = Succ(u) U {v} + successors[u][chain_number[v]] = topo_number[v]; + } + } + } + + for (size_type i = 0; i < CG_vec.size(); ++i) + CG_vec[i].clear(); + for (size_type i = 0; i < CG_vec.size(); ++i) + for (size_type j = 0; j < chains.size(); ++j) { + size_type topo_num = successors[i][j]; + if (topo_num < inf) { + cg_vertex v = topo_order[topo_num]; + for (size_type k = pos_in_chain[v]; k < chains[j].size(); ++k) + CG_vec[i].push_back(chains[j][k]); + } + } + + + // Add vertices to the transitive closure graph + { + vertex_iterator i, i_end; + for (boost::tie(i, i_end) = vertices(g); i != i_end; ++i) + g_to_tc_map[*i] = add_vertex(tc); + } + // Add edges between all the vertices in two adjacent SCCs + typename std::vector >::const_iterator si, si_end; + for (si = CG_vec.begin(), si_end = CG_vec.end(); si != si_end; ++si) { + cg_vertex s = si - CG_vec.begin(); + typename std::vector::const_iterator i, i_end; + for (i = CG_vec[s].begin(), i_end = CG_vec[s].end(); i != i_end; ++i) { + cg_vertex t = *i; + for (size_type k = 0; k < components[s].size(); ++k) + for (size_type l = 0; l < components[t].size(); ++l) + add_edge(g_to_tc_map[components[s][k]], + g_to_tc_map[components[t][l]], tc); + } + } + // Add edges connecting all vertices in a SCC + for (size_type i = 0; i < components.size(); ++i) + if (components[i].size() > 1) + for (size_type k = 0; k < components[i].size(); ++k) + for (size_type l = 0; l < components[i].size(); ++l) { + vertex u = components[i][k], v = components[i][l]; + add_edge(g_to_tc_map[u], g_to_tc_map[v], tc); + } + + // Find loopbacks in the original graph. + // Need to add it to transitive closure. + { + vertex_iterator i, i_end; + for (boost::tie(i, i_end) = vertices(g); i != i_end; ++i) + { + adjacency_iterator ab, ae; + for (boost::tie(ab, ae) = adjacent_vertices(*i, g); ab != ae; ++ab) + { + if (*ab == *i) + if (components[component_number[*i]].size() == 1) + add_edge(g_to_tc_map[*i], g_to_tc_map[*i], tc); + } + } + } + } + + template + void transitive_closure(const Graph & g, GraphTC & tc) + { + if (num_vertices(g) == 0) + return; + typedef typename property_map::const_type + VertexIndexMap; + VertexIndexMap index_map = get(vertex_index, g); + + typedef typename graph_traits::vertex_descriptor tc_vertex; + std::vector to_tc_vec(num_vertices(g)); + iterator_property_map < tc_vertex *, VertexIndexMap, tc_vertex, tc_vertex&> + g_to_tc_map(&to_tc_vec[0], index_map); + + transitive_closure(g, tc, g_to_tc_map, index_map); + } + + namespace detail + { + template < typename Graph, typename GraphTC, typename G_to_TC_VertexMap, + typename VertexIndexMap> + void transitive_closure_dispatch + (const Graph & g, GraphTC & tc, + G_to_TC_VertexMap g_to_tc_map, VertexIndexMap index_map) + { + typedef typename graph_traits < GraphTC >::vertex_descriptor tc_vertex; + typename std::vector < tc_vertex >::size_type + n = is_default_param(g_to_tc_map) ? num_vertices(g) : 1; + std::vector < tc_vertex > to_tc_vec(n); + + transitive_closure + (g, tc, + choose_param(g_to_tc_map, make_iterator_property_map + (to_tc_vec.begin(), index_map, to_tc_vec[0])), + index_map); + } + } // namespace detail + + template < typename Graph, typename GraphTC, + typename P, typename T, typename R > + void transitive_closure(const Graph & g, GraphTC & tc, + const bgl_named_params < P, T, R > ¶ms) + { + if (num_vertices(g) == 0) + return; + detail::transitive_closure_dispatch + (g, tc, get_param(params, orig_to_copy_t()), + choose_const_pmap(get_param(params, vertex_index), g, vertex_index) ); + } + + + template < typename G > void warshall_transitive_closure(G & g) + { + typedef typename graph_traits < G >::vertex_iterator vertex_iterator; + + BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept < G > )); + BOOST_CONCEPT_ASSERT(( EdgeMutableGraphConcept < G > )); + + // Matrix form: + // for k + // for i + // if A[i,k] + // for j + // A[i,j] = A[i,j] | A[k,j] + vertex_iterator ki, ke, ii, ie, ji, je; + for (boost::tie(ki, ke) = vertices(g); ki != ke; ++ki) + for (boost::tie(ii, ie) = vertices(g); ii != ie; ++ii) + if (edge(*ii, *ki, g).second) + for (boost::tie(ji, je) = vertices(g); ji != je; ++ji) + if (!edge(*ii, *ji, g).second && edge(*ki, *ji, g).second) { + add_edge(*ii, *ji, g); + } + } + + + template < typename G > void warren_transitive_closure(G & g) + { + using namespace boost; + typedef typename graph_traits < G >::vertex_iterator vertex_iterator; + + BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept < G > )); + BOOST_CONCEPT_ASSERT(( EdgeMutableGraphConcept < G > )); + + // Make sure second loop will work + if (num_vertices(g) == 0) + return; + + // for i = 2 to n + // for k = 1 to i - 1 + // if A[i,k] + // for j = 1 to n + // A[i,j] = A[i,j] | A[k,j] + + vertex_iterator ic, ie, jc, je, kc, ke; + for (boost::tie(ic, ie) = vertices(g), ++ic; ic != ie; ++ic) + for (boost::tie(kc, ke) = vertices(g); *kc != *ic; ++kc) + if (edge(*ic, *kc, g).second) + for (boost::tie(jc, je) = vertices(g); jc != je; ++jc) + if (!edge(*ic, *jc, g).second && edge(*kc, *jc, g).second) { + add_edge(*ic, *jc, g); + } + // for i = 1 to n - 1 + // for k = i + 1 to n + // if A[i,k] + // for j = 1 to n + // A[i,j] = A[i,j] | A[k,j] + + for (boost::tie(ic, ie) = vertices(g), --ie; ic != ie; ++ic) + for (kc = ic, ke = ie, ++kc; kc != ke; ++kc) + if (edge(*ic, *kc, g).second) + for (boost::tie(jc, je) = vertices(g); jc != je; ++jc) + if (!edge(*ic, *jc, g).second && edge(*kc, *jc, g).second) { + add_edge(*ic, *jc, g); + } + } + + +} // namespace boost + +#endif // BOOST_GRAPH_TRANSITIVE_CLOSURE_HPP From 3c9afdeeedf66a1a7c135b93323221da8f82bb09 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 12 Jan 2021 11:29:38 -0600 Subject: [PATCH 1195/1360] [Boost] adjusting changes on include files --- .../algorithms/detail/centroid/translating_transformer.hpp | 5 ++--- .../boost/bgeometry/algorithms/detail/max_interval_gap.hpp | 2 +- include/boost/bgeometry/geometries/pointing_segment.hpp | 2 +- include/boost/bgeometry/index/detail/varray_detail.hpp | 3 ++- include/boost/bgeometry/util/range.hpp | 2 +- .../boost/successive_shortest_path_nonnegative_weights.hpp | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/boost/bgeometry/algorithms/detail/centroid/translating_transformer.hpp b/include/boost/bgeometry/algorithms/detail/centroid/translating_transformer.hpp index ef0c4b77c86..ea8462551db 100644 --- a/include/boost/bgeometry/algorithms/detail/centroid/translating_transformer.hpp +++ b/include/boost/bgeometry/algorithms/detail/centroid/translating_transformer.hpp @@ -19,9 +19,8 @@ #include - -#include -#include +#include +#include #include #include diff --git a/include/boost/bgeometry/algorithms/detail/max_interval_gap.hpp b/include/boost/bgeometry/algorithms/detail/max_interval_gap.hpp index 1f889aecd9b..3f39fcf55cb 100644 --- a/include/boost/bgeometry/algorithms/detail/max_interval_gap.hpp +++ b/include/boost/bgeometry/algorithms/detail/max_interval_gap.hpp @@ -15,7 +15,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/boost/bgeometry/geometries/pointing_segment.hpp b/include/boost/bgeometry/geometries/pointing_segment.hpp index 0d385bd305a..53a26e7e408 100644 --- a/include/boost/bgeometry/geometries/pointing_segment.hpp +++ b/include/boost/bgeometry/geometries/pointing_segment.hpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include diff --git a/include/boost/bgeometry/index/detail/varray_detail.hpp b/include/boost/bgeometry/index/detail/varray_detail.hpp index 68c5035967b..7ef307819c6 100644 --- a/include/boost/bgeometry/index/detail/varray_detail.hpp +++ b/include/boost/bgeometry/index/detail/varray_detail.hpp @@ -39,7 +39,8 @@ #include #include #include -#include + +#include #include #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) diff --git a/include/boost/bgeometry/util/range.hpp b/include/boost/bgeometry/util/range.hpp index 43980e8b8c5..61369691825 100644 --- a/include/boost/bgeometry/util/range.hpp +++ b/include/boost/bgeometry/util/range.hpp @@ -19,7 +19,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/boost/successive_shortest_path_nonnegative_weights.hpp b/include/boost/successive_shortest_path_nonnegative_weights.hpp index 93e887b299a..1d8cc54b4ee 100644 --- a/include/boost/successive_shortest_path_nonnegative_weights.hpp +++ b/include/boost/successive_shortest_path_nonnegative_weights.hpp @@ -23,7 +23,7 @@ #include #include -#if BOOST_VERSION_OK +#if Boost_VERSION_MACRO >= 105500 #include #include #else From 71151d271bf4b41edae4bbbce208d83bca2b30bb Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 12 Jan 2021 11:41:10 -0600 Subject: [PATCH 1196/1360] [C++] adjusting changes on pgr files --- include/cpp_common/bline.hpp | 2 +- include/cpp_common/bpoint.hpp | 2 +- include/cpp_common/pgr_bidirectional.hpp | 3 +-- include/dagShortestPath/pgr_dagShortestPath.hpp | 2 +- include/dijkstra/pgr_dijkstra.hpp | 2 +- include/max_flow/pgr_minCostMaxFlow.hpp | 3 ++- include/mincut/pgr_stoerWagner.hpp | 4 ++++ include/transitiveClosure/pgr_transitiveClosure.hpp | 4 ++++ include/visitors/dijkstra_one_goal_visitor.hpp | 2 +- include/visitors/prim_dijkstra_visitor.hpp | 2 +- src/common/xy_vertex.cpp | 2 +- 11 files changed, 18 insertions(+), 10 deletions(-) diff --git a/include/cpp_common/bline.hpp b/include/cpp_common/bline.hpp index 48829c04b61..f4a8b5df61f 100644 --- a/include/cpp_common/bline.hpp +++ b/include/cpp_common/bline.hpp @@ -28,7 +28,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #define INCLUDE_CPP_COMMON_BLINE_HPP_ #pragma once -#if BOOST_Geometry_VERSION_OK +#if Boost_VERSION_MACRO >= 105600 #include #include #include diff --git a/include/cpp_common/bpoint.hpp b/include/cpp_common/bpoint.hpp index fad20026d21..4684bf1e297 100644 --- a/include/cpp_common/bpoint.hpp +++ b/include/cpp_common/bpoint.hpp @@ -28,7 +28,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #define INCLUDE_CPP_COMMON_BPOINT_HPP_ #pragma once -#if BOOST_Geometry_VERSION_OK +#if Boost_VERSION_MACRO >= 105600 #include #else #include diff --git a/include/cpp_common/pgr_bidirectional.hpp b/include/cpp_common/pgr_bidirectional.hpp index 9108716719c..04f4cb4c237 100644 --- a/include/cpp_common/pgr_bidirectional.hpp +++ b/include/cpp_common/pgr_bidirectional.hpp @@ -36,12 +36,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include -#if BOOST_VERSION_OK +#if Boost_VERSION_MACRO >= 105500 #include #else #include "boost/dijkstra_shortest_paths.hpp" #endif - #include #include diff --git a/include/dagShortestPath/pgr_dagShortestPath.hpp b/include/dagShortestPath/pgr_dagShortestPath.hpp index d706062854e..8fb59df0ed6 100644 --- a/include/dagShortestPath/pgr_dagShortestPath.hpp +++ b/include/dagShortestPath/pgr_dagShortestPath.hpp @@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #pragma once #include -#if BOOST_VERSION_OK +#if Boost_VERSION_MACRO >= 105500 #include #else #include "boost/dijkstra_shortest_paths.hpp" diff --git a/include/dijkstra/pgr_dijkstra.hpp b/include/dijkstra/pgr_dijkstra.hpp index ad60203d976..5e27dc6fa60 100644 --- a/include/dijkstra/pgr_dijkstra.hpp +++ b/include/dijkstra/pgr_dijkstra.hpp @@ -36,7 +36,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "c_types/pgr_combination_t.h" -#if BOOST_VERSION_OK +#if Boost_VERSION_MACRO >= 105500 #include #else #include "boost/dijkstra_shortest_paths.hpp" diff --git a/include/max_flow/pgr_minCostMaxFlow.hpp b/include/max_flow/pgr_minCostMaxFlow.hpp index 685184df51b..24ad949d05a 100644 --- a/include/max_flow/pgr_minCostMaxFlow.hpp +++ b/include/max_flow/pgr_minCostMaxFlow.hpp @@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "max_flow/pgr_costFlowGraph.hpp" -#if BOOST_VERSION_OK +#if Boost_VERSION_MACRO >= 105500 #include #include #else @@ -46,6 +46,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #endif + #include "c_types/pgr_flow_t.h" #include "c_types/pgr_costFlow_t.h" diff --git a/include/mincut/pgr_stoerWagner.hpp b/include/mincut/pgr_stoerWagner.hpp index 677227b4626..7ea71c2cf83 100644 --- a/include/mincut/pgr_stoerWagner.hpp +++ b/include/mincut/pgr_stoerWagner.hpp @@ -33,7 +33,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include #include +#if Boost_VERSION_MACRO >= 105400 #include +#else +#include +#endif #include #include diff --git a/include/transitiveClosure/pgr_transitiveClosure.hpp b/include/transitiveClosure/pgr_transitiveClosure.hpp index 187327ed8bf..e3bc9687a25 100644 --- a/include/transitiveClosure/pgr_transitiveClosure.hpp +++ b/include/transitiveClosure/pgr_transitiveClosure.hpp @@ -31,7 +31,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #define INCLUDE_TRANSITIVECLOSURE_PGR_TRANSITIVECLOSURE_HPP_ #pragma once +#if Boost_VERSION_MACRO >= 105500 #include +#else +#include +#endif #include #include diff --git a/include/visitors/dijkstra_one_goal_visitor.hpp b/include/visitors/dijkstra_one_goal_visitor.hpp index ca7e51236a8..e9751dcacea 100644 --- a/include/visitors/dijkstra_one_goal_visitor.hpp +++ b/include/visitors/dijkstra_one_goal_visitor.hpp @@ -28,7 +28,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #ifndef INCLUDE_VISITORS_DIJKSTRA_ONE_GOAL_VISITOR_HPP_ #define INCLUDE_VISITORS_DIJKSTRA_ONE_GOAL_VISITOR_HPP_ -#if BOOST_VERSION_OK +#if Boost_VERSION_MACRO >= 105500 #include #else #include "boost/dijkstra_shortest_paths.hpp" diff --git a/include/visitors/prim_dijkstra_visitor.hpp b/include/visitors/prim_dijkstra_visitor.hpp index fda4607738b..cac2767533c 100644 --- a/include/visitors/prim_dijkstra_visitor.hpp +++ b/include/visitors/prim_dijkstra_visitor.hpp @@ -30,7 +30,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #define INCLUDE_VISITORS_PRIM_DIJKSTRA_VISITOR_HPP_ #pragma once -#if BOOST_VERSION_OK +#if Boost_VERSION_MACRO >= 105500 #include #else #include "boost/dijkstra_shortest_paths.hpp" diff --git a/src/common/xy_vertex.cpp b/src/common/xy_vertex.cpp index e83baff85e5..7795d1661d1 100644 --- a/src/common/xy_vertex.cpp +++ b/src/common/xy_vertex.cpp @@ -23,7 +23,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ #include "cpp_common/xy_vertex.h" -#if BOOST_Geometry_VERSION_OK +#if Boost_VERSION_MACRO >= 105600 #include #else #include From dc7801370bbd07d683b7bde5944644d8e97cb33d Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 12 Jan 2021 11:47:33 -0600 Subject: [PATCH 1197/1360] [alphaShape] adjusting alphaShape code for B1.53 --- src/alpha_shape/alphaShape.c | 8 ++++++++ src/alpha_shape/alphaShape_driver.cpp | 5 ++++- src/alpha_shape/pgr_alphaShape.cpp | 10 +++++++--- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/alpha_shape/alphaShape.c b/src/alpha_shape/alphaShape.c index 656f7201ac3..6af94499076 100644 --- a/src/alpha_shape/alphaShape.c +++ b/src/alpha_shape/alphaShape.c @@ -35,10 +35,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "c_common/edges_input.h" #include "c_types/geom_text_rt.h" +#if Boost_VERSION_MACRO >= 105400 #include "drivers/alpha_shape/alphaShape_driver.h" +#endif PGDLLEXPORT Datum _pgr_alphashape(PG_FUNCTION_ARGS); +#if Boost_VERSION_MACRO >= 105400 static void process( char* edges_sql, double alpha, @@ -99,6 +102,7 @@ static void process( if (edgesArr) pfree(edgesArr); pgr_SPI_finish(); } +#endif PG_FUNCTION_INFO_V1(_pgr_alphashape); @@ -119,11 +123,15 @@ Datum _pgr_alphashape(PG_FUNCTION_ARGS) { /******************************************************************/ +#if Boost_VERSION_MACRO >= 105400 process( text_to_cstring(PG_GETARG_TEXT_P(0)), PG_GETARG_FLOAT8(1), &result_tuples, &result_count); +#else + elog(ERROR, "Please compile with Boost >= 1.54 to have pgr_alphaShape."); +#endif /******************************************************************/ diff --git a/src/alpha_shape/alphaShape_driver.cpp b/src/alpha_shape/alphaShape_driver.cpp index c42eae5d576..5deed8911d2 100644 --- a/src/alpha_shape/alphaShape_driver.cpp +++ b/src/alpha_shape/alphaShape_driver.cpp @@ -22,6 +22,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ +/** + * this file is not compiled with boost 1.53 or less + */ #include "drivers/alpha_shape/alphaShape_driver.h" #include @@ -38,7 +41,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "cpp_common/pgr_base_graph.hpp" #include "cpp_common/bpoint.hpp" #include "cpp_common/bline.hpp" -#if BOOST_Geometry_VERSION_OK +#if Boost_VERSION_MACRO >= 105600 #include #else #include diff --git a/src/alpha_shape/pgr_alphaShape.cpp b/src/alpha_shape/pgr_alphaShape.cpp index 8c2f7bfe3b9..bcfb8feed7c 100644 --- a/src/alpha_shape/pgr_alphaShape.cpp +++ b/src/alpha_shape/pgr_alphaShape.cpp @@ -28,18 +28,22 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include "alphaShape/pgr_alphaShape.h" #include -#if BOOST_VERSION_OK +#if Boost_VERSION_MACRO >= 105500 #include #else #include "boost/dijkstra_shortest_paths.hpp" #endif #include -#if BOOST_Geometry_VERSION_OK +#if Boost_VERSION_MACRO >= 105600 #include #include #include -#include +# if Boost_VERSION_MACRO >= 107500 +# include +# else +# include +# endif #include #include #else From 4b97f20d33d06b0b21788d2b86a6f9ae659b83ef Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 12 Jan 2021 12:02:37 -0600 Subject: [PATCH 1198/1360] [build][CMakeLists] adjusting CMakeLists for several versions of boost --- CMakeLists.txt | 64 ++++++++++++---------------------- src/alpha_shape/CMakeLists.txt | 18 ++++++---- 2 files changed, 34 insertions(+), 48 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d98de6df0ed..830d893c357 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,7 +52,7 @@ include(pgr/Configure) set(DOXYGEN_MINIMUM_VERSION "1.7") set(SPHINX_MINIMUM_VERSION "1.8") set(POSTGRESQL_MINIMUM_VERSION "9.2.0") -set(BOOST_MINIMUM_VERSION "1.56") +set(BOOST_MINIMUM_VERSION "1.53.0") set(POSTGIS_MINIMUM_VERSION "2.0.0") message(STATUS "DOXYGEN_MINIMUM_VERSION=${DOXYGEN_MINIMUM_VERSION}") @@ -73,26 +73,36 @@ endif() #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- -set(CMAKE_C_STANDARD 11) +find_package(Boost ${BOOST_MINIMUM_VERSION} REQUIRED) +if (NOT Boost_VERSION_MACRO) + set(Boost_VERSION_MACRO ${Boost_VERSION}) +endif() +add_definitions(-DBoost_VERSION_MACRO=${Boost_VERSION_MACRO}) +set(BOOST_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") include(CheckCCompilerFlag) include(CheckCXXCompilerFlag) -CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) -if(COMPILER_SUPPORTS_CXX11) - set(CMAKE_CXX_STANDARD 11) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) -else() - CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) - if(COMPILER_SUPPORTS_CXX0X) - add_compile_options("-std=c++0x") - message(STATUS "Using -std=c++0x.") +if (BOOST_VERSION VERSION_LESS "1.75.0") + CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) + if(COMPILER_SUPPORTS_CXX11) + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) else() + CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) + if(COMPILER_SUPPORTS_CXX0X) + add_compile_options("-std=c++0x") + message(STATUS "Using -std=c++0x.") + else() message(WARNING "The compiler ${CMAKE_CXX_COMPILER} has no C++0x or C++11 flags support. - Using: callback compiler's standard") + Using: callback compiler's standard") + endif() endif() +else() + set(CMAKE_CXX_STANDARD 14) endif() +add_definitions(-DBOOST_ALLOW_DEPRECATED_HEADERS) set(COMPILER_VERSION "${CMAKE_CXX_COMPILER_ID}-${CMAKE_CXX_COMPILER_VERSION}") @@ -189,43 +199,15 @@ message(STATUS "PGSQL_VERSION=${PGSQL_VERSION}") # Boost #--------------------------------------------- #--------------------------------------------- -find_package(Boost ${BOOST_MINIMUM_VERSION} REQUIRED) -set(BOOST_VERSION "${Boost_VERSION}") include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) -# Boost for Chinese postman needs 1.55 at least -# dijkstra_shortest_paths.hpp has an error fix on 1.55 -# error affects prim -# BOOST_VERSION_OK if 1, use the boost file copy in the repository -if ("${Boost_VERSION}" VERSION_LESS "1.55.0") - set(BOOST_VERSION_OK "0") -else() - set(BOOST_VERSION_OK "1") -endif() - -# Boost Geometry structure is different -if ("${Boost_VERSION}" VERSION_LESS "1.56.0") - set(BOOST_Geometry_VERSION_OK "0") -else() - set(BOOST_Geometry_VERSION_OK "1") -endif() - - - -message(STATUS "Boost VERSION ${Boost_VERSION}") -message(STATUS "BOOST_VERSION_OK ${BOOST_VERSION_OK}") -message(STATUS "BOOST_Geometry_VERSION_OK ${BOOST_Geometry_VERSION_OK}") - -add_definitions(" -DBOOST_VERSION_OK=${BOOST_VERSION_OK} -DBOOST_Geometry_VERSION_OK=${BOOST_Geometry_VERSION_OK}") - #--------------------------------------------- if (PROJECT_DEBUG) message(STATUS "PERL_VERSION_STRING = ${PERL_VERSION_STRING}") message(STATUS "POSTGRESQL_VERSION is ${PGSQL_VERSION}") message(STATUS "PGSQL_VERSION is ${PGSQL_VERSION}") - message(STATUS "BOOST_VERSION_OK ${BOOST_VERSION_OK}") message(STATUS "Boost_INCLUDE_DIRS = ${Boost_INCLUDE_DIRS}") message(STATUS "POSTGRESQL_INCLUDE_DIR = ${POSTGRESQL_INCLUDE_DIR}") endif() diff --git a/src/alpha_shape/CMakeLists.txt b/src/alpha_shape/CMakeLists.txt index a2ffc60bb30..66db56758e9 100644 --- a/src/alpha_shape/CMakeLists.txt +++ b/src/alpha_shape/CMakeLists.txt @@ -1,7 +1,11 @@ -ADD_LIBRARY(alpha_shape OBJECT - pgr_alphaShape.cpp - - alphaShape.c - alphaShape_driver.cpp - ) - +if (Boost_VERSION_MACRO GREATER_EQUAL 105400) + ADD_LIBRARY(alpha_shape OBJECT + pgr_alphaShape.cpp + alphaShape.c + alphaShape_driver.cpp + ) +else() + ADD_LIBRARY(alpha_shape OBJECT + alphaShape.c + ) +endif() From e25cfcf45db4f133f5978597041579a15ef6ff49 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Tue, 12 Jan 2021 13:16:56 -0600 Subject: [PATCH 1199/1360] updating NEWS & release notes and pgr_alphaShape documentation --- NEWS | 10 ++++++++++ README.md | 20 ++++++++++---------- doc/alpha_shape/pgr_alphaShape.rst | 4 ++++ doc/src/release_notes.rst | 10 ++++++++++ 4 files changed, 34 insertions(+), 10 deletions(-) diff --git a/NEWS b/NEWS index 2379b899df4..20cd8e23029 100644 --- a/NEWS +++ b/NEWS @@ -48,6 +48,11 @@ pgRouting 3.1.3 Release Notes To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.3 `_ on Github. +*Issues fixes* + +* [#1825 ](https://github.com/pgRouting/pgrouting/issues/1825)_: Boost versions are not honored +* [#1849 ](https://github.com/pgRouting/pgrouting/issues/1849)_: Boost 1.75.0 geometry "point_xy.hpp" build error on macOS environment + pgRouting 3.1.2 Release Notes ------------------------------------------------------------------------------- @@ -102,6 +107,11 @@ pgRouting 3.0.5 Release Notes To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.5 `_ on Github. +*Backport issues fixes* + +* [#1825 ](https://github.com/pgRouting/pgrouting/issues/1825)_: Boost versions are not honored +* [#1849 ](https://github.com/pgRouting/pgrouting/issues/1849)_: Boost 1.75.0 geometry "point_xy.hpp" build error on macOS environment + pgRouting 3.0.4 Release Notes ------------------------------------------------------------------------------- diff --git a/README.md b/README.md index ba2aad0ebbe..d7f21e855b5 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ ### Branches -* The *master* branch has the latest release -* The *develop* branch has the development of the next release +* The *master* branch has the development of the next micro release +* The *develop* branch has the development of the next minor/mayor release For the complete list of releases go to: https://github.com/pgRouting/pgrouting/releases @@ -15,8 +15,8 @@ https://github.com/pgRouting/pgrouting/releases ## LINKS -* http://pgrouting.org/ -* http://docs.pgrouting.org/ +* https://pgrouting.org/ +* https://docs.pgrouting.org/ * https://github.com/pgRouting/pgrouting ## STATUS @@ -50,8 +50,9 @@ Building requirements -------------------- * Perl * C and C++ compilers - * GNU >= 4.8 - * MSVC >= 18.0 + * Compiling with Boost 1.53 does not have geometry support therefore pgRouting's `pgr_alphaShape` is not supported + * Compiling with Boost 1.53 up to Boost 1.75 requires C++ Compiler with C++03 or C++11 standard support + * Compiling with Boost 1.75 requires C++ Compiler with C++14 standard support * Postgresql >= 9.4 * The Boost Graph Library (BGL) >= 1.53 * CMake >= 3.2 @@ -87,15 +88,14 @@ Build with documentation (requires [Sphinx](http://sphinx-doc.org/)) cmake -DWITH_DOC=ON .. -Postgresql 9.3+ +Postgresql createdb mydatabase - psql mydatabase -c "CREATE EXTENSION postgis" - psql mydatabase -c "CREATE EXTENSION pgrouting" + psql mydatabase -c "CREATE EXTENSION pgrouting CASCADE" ## USAGE -See online documentation: http://docs.pgrouting.org/dev/en/index.html +See online documentation: http://docs.pgrouting.org/latest/en/index.html ## LICENSE diff --git a/doc/alpha_shape/pgr_alphaShape.rst b/doc/alpha_shape/pgr_alphaShape.rst index 6fdce5b9f27..ae8a46aae39 100644 --- a/doc/alpha_shape/pgr_alphaShape.rst +++ b/doc/alpha_shape/pgr_alphaShape.rst @@ -18,6 +18,10 @@ pgr_alphaShape * Breaking change on signature * Old signature no longer supported + * **Boost 1.54** & **Boost 1.55** are supported + * **Boost 1.56+** is preferable + + * Boost Geometry is stable on Boost 1.56 * Version 2.1.0 diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index e6dd9cb319d..9f796eece8a 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -110,6 +110,11 @@ pgRouting 3.1.3 Release Notes To see all issues & pull requests closed by this release see the `Git closed milestone for 3.1.3 `_ on Github. +.. rubric:: Issues fixes + +* `#1825 `__: Boost versions are not honored +* `#1849 `__: Boost 1.75.0 geometry "point_xy.hpp" build error on macOS environment + .. _changelog_3_1_2: pgRouting 3.1.2 Release Notes @@ -168,6 +173,11 @@ pgRouting 3.0.5 Release Notes To see all issues & pull requests closed by this release see the `Git closed milestone for 3.0.5 `_ on Github. +.. rubric:: Backport issues fixes + +* `#1825 `__: Boost versions are not honored +* `#1849 `__: Boost 1.75.0 geometry "point_xy.hpp" build error on macOS environment + .. _changelog_3_0_4: pgRouting 3.0.4 Release Notes From ccca9d64552eac08d7ba63553574d80caa08dcb1 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 13 Jan 2021 11:26:05 -0600 Subject: [PATCH 1200/1360] [sql] PGROUTING_DOC_LINK -> PROJECT_DOC_LINK --- sql/astar/astar.sql | 2 +- sql/astar/astarCost.sql | 2 +- sql/bdAstar/bdAstar.sql | 2 +- sql/bdAstar/bdAstarCost.sql | 2 +- sql/bdDijkstra/bdDijkstra.sql | 2 +- sql/bdDijkstra/bdDijkstraCost.sql | 2 +- sql/bellman_ford/bellman_ford.sql | 4 ++-- sql/bellman_ford/edwardMoore.sql | 2 +- sql/breadthFirstSearch/binaryBreadthFirstSearch.sql | 2 +- sql/coloring/bipartite.sql | 2 +- sql/coloring/sequentialVertexColoring.sql | 2 +- sql/components/makeConnected.sql | 2 +- sql/dagShortestPath/dagShortestPath.sql | 2 +- sql/dijkstra/dijkstraNear.sql | 8 ++++---- sql/dijkstra/dijkstraNearCost.sql | 8 ++++---- sql/dominator/lengauerTarjanDominatorTree.sql | 2 +- sql/max_flow/boykovKolmogorov.sql | 2 +- sql/max_flow/edgeDisjointPaths.sql | 2 +- sql/max_flow/edmondsKarp.sql | 2 +- sql/max_flow/maxFlow.sql | 2 +- sql/max_flow/maxFlowMinCost.sql | 2 +- sql/max_flow/maxFlowMinCost_Cost.sql | 2 +- sql/max_flow/pushRelabel.sql | 2 +- sql/planar/boyerMyrvold.sql | 2 +- sql/planar/isPlanar.sql | 2 +- sql/traversal/depthFirstSearch.sql | 4 ++-- sql/withPoints/withPoints.sql | 2 +- sql/withPoints/withPointsCost.sql | 2 +- 28 files changed, 36 insertions(+), 36 deletions(-) diff --git a/sql/astar/astar.sql b/sql/astar/astar.sql index 531ef2d565b..34ff1eb9d0d 100644 --- a/sql/astar/astar.sql +++ b/sql/astar/astar.sql @@ -255,5 +255,5 @@ IS 'pgr_aStar(Combinations) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_aStar.html + - ${PROJECT_DOC_LINK}/pgr_aStar.html '; diff --git a/sql/astar/astarCost.sql b/sql/astar/astarCost.sql index ff2cadcd4f5..d40da93f280 100644 --- a/sql/astar/astarCost.sql +++ b/sql/astar/astarCost.sql @@ -239,5 +239,5 @@ IS 'pgr_aStarCost(Combinations) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_aStarCost.html + - ${PROJECT_DOC_LINK}/pgr_aStarCost.html '; diff --git a/sql/bdAstar/bdAstar.sql b/sql/bdAstar/bdAstar.sql index 1fff573bad2..da494e0b16d 100644 --- a/sql/bdAstar/bdAstar.sql +++ b/sql/bdAstar/bdAstar.sql @@ -242,5 +242,5 @@ IS 'pgr_bdAstar(Combinations) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdAstar.html + - ${PROJECT_DOC_LINK}/pgr_bdAstar.html '; diff --git a/sql/bdAstar/bdAstarCost.sql b/sql/bdAstar/bdAstarCost.sql index 0646aa3dacd..28748b1a9bc 100644 --- a/sql/bdAstar/bdAstarCost.sql +++ b/sql/bdAstar/bdAstarCost.sql @@ -230,5 +230,5 @@ IS 'pgr_bdAstarCost(Combinations) - factor := 1 - epsilon := 1 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdAstarCost.html + - ${PROJECT_DOC_LINK}/pgr_bdAstarCost.html '; diff --git a/sql/bdDijkstra/bdDijkstra.sql b/sql/bdDijkstra/bdDijkstra.sql index c5f75b57fb5..a1ac392d794 100644 --- a/sql/bdDijkstra/bdDijkstra.sql +++ b/sql/bdDijkstra/bdDijkstra.sql @@ -219,5 +219,5 @@ IS 'pgr_bdDijkstra(Combinations) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdDijkstra.html + - ${PROJECT_DOC_LINK}/pgr_bdDijkstra.html '; diff --git a/sql/bdDijkstra/bdDijkstraCost.sql b/sql/bdDijkstra/bdDijkstraCost.sql index 234b93b7176..5d46da09502 100644 --- a/sql/bdDijkstra/bdDijkstraCost.sql +++ b/sql/bdDijkstra/bdDijkstraCost.sql @@ -200,5 +200,5 @@ IS 'pgr_bdDijkstraCost(Combinations) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bdDijkstraCost.html + - ${PROJECT_DOC_LINK}/pgr_bdDijkstraCost.html '; diff --git a/sql/bellman_ford/bellman_ford.sql b/sql/bellman_ford/bellman_ford.sql index a7530bd9f0b..904d5df24d8 100644 --- a/sql/bellman_ford/bellman_ford.sql +++ b/sql/bellman_ford/bellman_ford.sql @@ -212,7 +212,7 @@ IS 'pgr_bellmanFord(Many to Many) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html + - ${PROJECT_DOC_LINK}/pgr_bellmanFord.html '; @@ -225,5 +225,5 @@ IS 'pgr_bellmanFord(Combinations) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bellmanFord.html + - ${PROJECT_DOC_LINK}/pgr_bellmanFord.html '; diff --git a/sql/bellman_ford/edwardMoore.sql b/sql/bellman_ford/edwardMoore.sql index b75fd3d4beb..a78efdba3f5 100644 --- a/sql/bellman_ford/edwardMoore.sql +++ b/sql/bellman_ford/edwardMoore.sql @@ -205,5 +205,5 @@ IS 'pgr_edwardMoore(Combinations) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edwardMoore.html + - ${PROJECT_DOC_LINK}/pgr_edwardMoore.html '; diff --git a/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql b/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql index 9132fef5af9..4346309a04f 100644 --- a/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql +++ b/sql/breadthFirstSearch/binaryBreadthFirstSearch.sql @@ -205,5 +205,5 @@ IS 'pgr_binaryBreadthFirstSearch(Combinations) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_binaryBreadthFirstSearch.html + - ${PROJECT_DOC_LINK}/pgr_binaryBreadthFirstSearch.html '; diff --git a/sql/coloring/bipartite.sql b/sql/coloring/bipartite.sql index f6dc5089efe..6cac3b87da2 100644 --- a/sql/coloring/bipartite.sql +++ b/sql/coloring/bipartite.sql @@ -53,5 +53,5 @@ IS 'pgr_bipartite - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_bipartite.html + - ${PROJECT_DOC_LINK}/pgr_bipartite.html '; diff --git a/sql/coloring/sequentialVertexColoring.sql b/sql/coloring/sequentialVertexColoring.sql index 2f53413da23..c2d1cfd10b5 100644 --- a/sql/coloring/sequentialVertexColoring.sql +++ b/sql/coloring/sequentialVertexColoring.sql @@ -55,5 +55,5 @@ IS 'pgr_sequentialVertexColoring - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_sequentialVertexColoring.html + - ${PROJECT_DOC_LINK}/pgr_sequentialVertexColoring.html '; diff --git a/sql/components/makeConnected.sql b/sql/components/makeConnected.sql index ee5991d6be2..e2b20f57a3e 100644 --- a/sql/components/makeConnected.sql +++ b/sql/components/makeConnected.sql @@ -53,5 +53,5 @@ IS 'pgr_makeConnected - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_makeConnected.html + - ${PROJECT_DOC_LINK}/pgr_makeConnected.html '; diff --git a/sql/dagShortestPath/dagShortestPath.sql b/sql/dagShortestPath/dagShortestPath.sql index c94e3f1c0e3..404d30e008a 100644 --- a/sql/dagShortestPath/dagShortestPath.sql +++ b/sql/dagShortestPath/dagShortestPath.sql @@ -202,5 +202,5 @@ IS 'pgr_dagShortestPath(Combinations) - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Combinations SQL with columns: source, target - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dagShortestPath.html + - ${PROJECT_DOC_LINK}/pgr_dagShortestPath.html '; diff --git a/sql/dijkstra/dijkstraNear.sql b/sql/dijkstra/dijkstraNear.sql index 91c9aa195b9..bdec4213368 100644 --- a/sql/dijkstra/dijkstraNear.sql +++ b/sql/dijkstra/dijkstraNear.sql @@ -151,7 +151,7 @@ IS 'pgr_dijkstraNear(One to Many) - directed => true - cap => 1 (nth found) - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraNear.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraNear.html '; COMMENT ON FUNCTION pgr_dijkstraNear(TEXT, ANYARRAY, BIGINT, BOOLEAN, BIGINT) @@ -164,7 +164,7 @@ IS 'pgr_dijkstraNear(Many to One) - directed => true - cap => 1 (nth found) - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraNear.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraNear.html '; COMMENT ON FUNCTION pgr_dijkstraNear(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, BIGINT, BOOLEAN) @@ -178,7 +178,7 @@ IS 'pgr_dijkstraNear(Many to Many) - directed => true - cap => 1 (nth found) - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraNear.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraNear.html '; COMMENT ON FUNCTION pgr_dijkstraNear(TEXT, TEXT, BOOLEAN, BIGINT, BOOLEAN) @@ -191,5 +191,5 @@ IS 'pgr_dijkstraNear(Combinations) - directed => true - cap => 1 (nth found) - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraNear.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraNear.html '; diff --git a/sql/dijkstra/dijkstraNearCost.sql b/sql/dijkstra/dijkstraNearCost.sql index ec4f2aa1842..fe20b9471fe 100644 --- a/sql/dijkstra/dijkstraNearCost.sql +++ b/sql/dijkstra/dijkstraNearCost.sql @@ -131,7 +131,7 @@ IS 'pgr_dijkstraNearCost(One to Many) - directed => true - cap => 1 (nth found) - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraNearCost.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraNearCost.html '; COMMENT ON FUNCTION pgr_dijkstraNearCost(TEXT, ANYARRAY, BIGINT, BOOLEAN, BIGINT) @@ -144,7 +144,7 @@ IS 'pgr_dijkstraNearCost(Many to One) - directed => true - cap => 1 (nth found) - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraNearCost.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraNearCost.html '; COMMENT ON FUNCTION pgr_dijkstraNearCost(TEXT, ANYARRAY, ANYARRAY, BOOLEAN, BIGINT, BOOLEAN) @@ -158,7 +158,7 @@ IS 'pgr_dijkstraNearCost(Many to Many) - directed => true - cap => 1 (nth found) - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraNearCost.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraNearCost.html '; COMMENT ON FUNCTION pgr_dijkstraNearCost(TEXT, TEXT, BOOLEAN, BIGINT, BOOLEAN) @@ -171,5 +171,5 @@ IS 'pgr_dijkstraNearCost(Combinations) - directed => true - cap => 1 (nth found) - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_dijkstraNearCost.html + - ${PROJECT_DOC_LINK}/pgr_dijkstraNearCost.html '; diff --git a/sql/dominator/lengauerTarjanDominatorTree.sql b/sql/dominator/lengauerTarjanDominatorTree.sql index f3442d12976..a4de8b7de4f 100644 --- a/sql/dominator/lengauerTarjanDominatorTree.sql +++ b/sql/dominator/lengauerTarjanDominatorTree.sql @@ -59,6 +59,6 @@ IS 'pgr_LTDTree - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_lengauerTarjanDominatorTree.html + - ${PROJECT_DOC_LINK}/pgr_lengauerTarjanDominatorTree.html '; diff --git a/sql/max_flow/boykovKolmogorov.sql b/sql/max_flow/boykovKolmogorov.sql index dada0adf64f..6b49dc8c1f8 100644 --- a/sql/max_flow/boykovKolmogorov.sql +++ b/sql/max_flow/boykovKolmogorov.sql @@ -190,5 +190,5 @@ IS 'pgr_boykovKolmogorov(Combinations) - Edges SQL with columns: id, source, target, capacity [,reverse_capacity] - Combinations SQL with columns: source, target - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_boykovKolmogorov.html + - ${PROJECT_DOC_LINK}/pgr_boykovKolmogorov.html '; diff --git a/sql/max_flow/edgeDisjointPaths.sql b/sql/max_flow/edgeDisjointPaths.sql index fd5c5b0701a..13cd7c5b714 100644 --- a/sql/max_flow/edgeDisjointPaths.sql +++ b/sql/max_flow/edgeDisjointPaths.sql @@ -212,5 +212,5 @@ IS 'pgr_edgeDisjointPaths(Combinations) - Optional Parameters - directed := true - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edgeDisjointPaths.html + - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html '; diff --git a/sql/max_flow/edmondsKarp.sql b/sql/max_flow/edmondsKarp.sql index ea9858cdd6f..94f56b44f79 100644 --- a/sql/max_flow/edmondsKarp.sql +++ b/sql/max_flow/edmondsKarp.sql @@ -188,5 +188,5 @@ IS 'pgr_edmondsKarp(Combinations) - Edges SQL with columns: id, source, target, capacity [,reverse_capacity] - Combinations SQL with columns: source, target - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_edmondsKarp.html + - ${PROJECT_DOC_LINK}/pgr_edmondsKarp.html '; diff --git a/sql/max_flow/maxFlow.sql b/sql/max_flow/maxFlow.sql index 090a9661262..0a2db2353df 100644 --- a/sql/max_flow/maxFlow.sql +++ b/sql/max_flow/maxFlow.sql @@ -152,5 +152,5 @@ IS 'pgr_maxFlow(Combinations) - Edges SQL with columns: id, source, target, capacity [,reverse_capacity] - Combinations SQL with columns: source, target - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlow.html + - ${PROJECT_DOC_LINK}/pgr_maxFlow.html '; diff --git a/sql/max_flow/maxFlowMinCost.sql b/sql/max_flow/maxFlowMinCost.sql index bee1c0501f0..ef7c6733be5 100644 --- a/sql/max_flow/maxFlowMinCost.sql +++ b/sql/max_flow/maxFlowMinCost.sql @@ -198,5 +198,5 @@ IS 'EXPERIMENTAL pgr_maxFlowMinCost(Combinations) - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Combinations SQL with columns: source, target - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost.html + - ${PROJECT_DOC_LINK}/pgr_maxFlowMinCost.html '; diff --git a/sql/max_flow/maxFlowMinCost_Cost.sql b/sql/max_flow/maxFlowMinCost_Cost.sql index 7b8ccfc199e..a58aea7af02 100644 --- a/sql/max_flow/maxFlowMinCost_Cost.sql +++ b/sql/max_flow/maxFlowMinCost_Cost.sql @@ -158,5 +158,5 @@ IS 'EXPERIMENTAL pgr_maxFlowMinCost_Cost (Combinations) - Edges SQL with columns: id, source, target, cost [,reverse_cost] - Combinations SQL with columns: source, target - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_maxFlowMinCost_Cost.html + - ${PROJECT_DOC_LINK}/pgr_maxFlowMinCost_Cost.html '; diff --git a/sql/max_flow/pushRelabel.sql b/sql/max_flow/pushRelabel.sql index 36003d88c1b..bba43a313cb 100644 --- a/sql/max_flow/pushRelabel.sql +++ b/sql/max_flow/pushRelabel.sql @@ -190,5 +190,5 @@ IS 'pgr_pushRelabel(Combinations) - Edges SQL with columns: id, source, target, capacity [,reverse_capacity] - Combinations SQL with columns: source, target - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_pushRelabel.html + - ${PROJECT_DOC_LINK}/pgr_pushRelabel.html '; diff --git a/sql/planar/boyerMyrvold.sql b/sql/planar/boyerMyrvold.sql index 1817116b5fd..633f05d84ac 100644 --- a/sql/planar/boyerMyrvold.sql +++ b/sql/planar/boyerMyrvold.sql @@ -54,5 +54,5 @@ IS 'pgr_boyerMyrvold - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_boyerMyrvold.html + - ${PROJECT_DOC_LINK}/pgr_boyerMyrvold.html '; diff --git a/sql/planar/isPlanar.sql b/sql/planar/isPlanar.sql index 13f6027afde..b19d5fce5ad 100644 --- a/sql/planar/isPlanar.sql +++ b/sql/planar/isPlanar.sql @@ -51,5 +51,5 @@ IS 'pgr_isPlanar - Parameters: - edges SQL with columns: id, source, target, cost [,reverse_cost] - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_isPlanar.html + - ${PROJECT_DOC_LINK}/pgr_isPlanar.html '; diff --git a/sql/traversal/depthFirstSearch.sql b/sql/traversal/depthFirstSearch.sql index 00bb1f4878c..51c92bf1985 100644 --- a/sql/traversal/depthFirstSearch.sql +++ b/sql/traversal/depthFirstSearch.sql @@ -110,7 +110,7 @@ IS 'pgr_depthFirstSearch(Single Vertex) - directed := true - max_depth := 9223372036854775807 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_depthFirstSearch.html + - ${PROJECT_DOC_LINK}/pgr_depthFirstSearch.html '; COMMENT ON FUNCTION pgr_depthFirstSearch(TEXT, ANYARRAY, BOOLEAN, BIGINT) @@ -122,5 +122,5 @@ IS 'pgr_depthFirstSearch(Multiple Vertices) - directed := true - max_depth := 9223372036854775807 - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_depthFirstSearch.html + - ${PROJECT_DOC_LINK}/pgr_depthFirstSearch.html '; diff --git a/sql/withPoints/withPoints.sql b/sql/withPoints/withPoints.sql index e6ef4a5bc64..63baa2ad755 100644 --- a/sql/withPoints/withPoints.sql +++ b/sql/withPoints/withPoints.sql @@ -261,5 +261,5 @@ IS 'pgr_withPoints(Combinations) - driving_side := ''b'' - details := ''false'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPoints.html + - ${PROJECT_DOC_LINK}/pgr_withPoints.html '; diff --git a/sql/withPoints/withPointsCost.sql b/sql/withPoints/withPointsCost.sql index 2afe7a0ab6d..cb7c0828df9 100644 --- a/sql/withPoints/withPointsCost.sql +++ b/sql/withPoints/withPointsCost.sql @@ -227,5 +227,5 @@ IS 'pgr_withPointsCost(Combinations) - directed := ''true'' - driving_side := ''b'' - Documentation: - - ${PGROUTING_DOC_LINK}/pgr_withPointsCost.html + - ${PROJECT_DOC_LINK}/pgr_withPointsCost.html '; From d28326cbd935cbcb3f353993031334544d1bb939 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 13 Jan 2021 11:28:09 -0600 Subject: [PATCH 1201/1360] [build][CMakeLists] PGROUTING -> PROJECT --- CMakeLists.txt | 2 +- doc/coloring/CMakeLists.txt | 4 ++-- doc/coloring/images/CMakeLists.txt | 2 +- doc/dominator/CMakeLists.txt | 2 +- doc/planar/CMakeLists.txt | 4 ++-- doc/planar/images/CMakeLists.txt | 2 +- doc/traversal/CMakeLists.txt | 4 ++-- doc/traversal/images/CMakeLists.txt | 2 +- docqueries/coloring/CMakeLists.txt | 2 +- docqueries/dominator/CMakeLists.txt | 2 +- docqueries/planar/CMakeLists.txt | 2 +- docqueries/traversal/CMakeLists.txt | 2 +- sql/coloring/CMakeLists.txt | 2 +- sql/dominator/CMakeLists.txt | 2 +- sql/planar/CMakeLists.txt | 2 +- sql/traversal/CMakeLists.txt | 2 +- 16 files changed, 19 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 830d893c357..5a743330d59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,7 @@ include(pgr/BuildType) project(PGROUTING VERSION 3.2.0 LANGUAGES C CXX ) -set(PGROUTING_VERSION_DEV "-dev") +set(PROJECT_VERSION_DEV "-dev") string(TOLOWER "${PROJECT_NAME}" PROJECT_NAME_LOWER) include(pgr/GitInfo) diff --git a/doc/coloring/CMakeLists.txt b/doc/coloring/CMakeLists.txt index 0360ba24388..a68e678158c 100644 --- a/doc/coloring/CMakeLists.txt +++ b/doc/coloring/CMakeLists.txt @@ -11,6 +11,6 @@ foreach (f ${LOCAL_FILES}) endforeach() add_subdirectory("images") -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} PARENT_SCOPE) diff --git a/doc/coloring/images/CMakeLists.txt b/doc/coloring/images/CMakeLists.txt index 966301ead94..9f5eb53301e 100644 --- a/doc/coloring/images/CMakeLists.txt +++ b/doc/coloring/images/CMakeLists.txt @@ -7,4 +7,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_IMG_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}") endforeach() -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/doc/dominator/CMakeLists.txt b/doc/dominator/CMakeLists.txt index 881fa81cf87..5cdef962ecc 100644 --- a/doc/dominator/CMakeLists.txt +++ b/doc/dominator/CMakeLists.txt @@ -8,5 +8,5 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES ${PGR_DOCUMENTATION_SOURCE_DIR}/${f}) endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/doc/planar/CMakeLists.txt b/doc/planar/CMakeLists.txt index 2a88db40468..ad918eb5854 100644 --- a/doc/planar/CMakeLists.txt +++ b/doc/planar/CMakeLists.txt @@ -9,5 +9,5 @@ foreach (f ${LOCAL_FILES}) endforeach() add_subdirectory("images") -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} PARENT_SCOPE) diff --git a/doc/planar/images/CMakeLists.txt b/doc/planar/images/CMakeLists.txt index 827788f3bdc..330d496d346 100644 --- a/doc/planar/images/CMakeLists.txt +++ b/doc/planar/images/CMakeLists.txt @@ -7,4 +7,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_IMG_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}") endforeach() -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/doc/traversal/CMakeLists.txt b/doc/traversal/CMakeLists.txt index 75cfa800dba..49ccc2d14e5 100644 --- a/doc/traversal/CMakeLists.txt +++ b/doc/traversal/CMakeLists.txt @@ -10,5 +10,5 @@ foreach (f ${LOCAL_FILES}) endforeach() add_subdirectory("images") -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} PARENT_SCOPE) diff --git a/doc/traversal/images/CMakeLists.txt b/doc/traversal/images/CMakeLists.txt index cf301b7ace2..8e2e4ea0a40 100644 --- a/doc/traversal/images/CMakeLists.txt +++ b/doc/traversal/images/CMakeLists.txt @@ -8,4 +8,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_IMG_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/images/${f}") endforeach() -set(PGROUTING_IMG_FILES ${PGROUTING_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) +set(PROJECT_IMG_FILES ${PROJECT_IMG_FILES} ${LOCAL_IMG_FILES} PARENT_SCOPE) diff --git a/docqueries/coloring/CMakeLists.txt b/docqueries/coloring/CMakeLists.txt index 08daeddb17b..07d0b2b8b3a 100644 --- a/docqueries/coloring/CMakeLists.txt +++ b/docqueries/coloring/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/dominator/CMakeLists.txt b/docqueries/dominator/CMakeLists.txt index 1029c97081c..e8a7f6e4ec2 100644 --- a/docqueries/dominator/CMakeLists.txt +++ b/docqueries/dominator/CMakeLists.txt @@ -8,4 +8,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/planar/CMakeLists.txt b/docqueries/planar/CMakeLists.txt index c7aa8c7b3b3..790fddd0e83 100644 --- a/docqueries/planar/CMakeLists.txt +++ b/docqueries/planar/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/docqueries/traversal/CMakeLists.txt b/docqueries/traversal/CMakeLists.txt index 89ec7852fa6..eae0c3f6817 100644 --- a/docqueries/traversal/CMakeLists.txt +++ b/docqueries/traversal/CMakeLists.txt @@ -8,4 +8,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND LOCAL_DOC_FILES "${PGR_DOCUMENTATION_SOURCE_DIR}/${f}.queries") endforeach() -set(PGROUTING_DOC_FILES ${PGROUTING_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) +set(PROJECT_DOC_FILES ${PROJECT_DOC_FILES} ${LOCAL_DOC_FILES} PARENT_SCOPE) diff --git a/sql/coloring/CMakeLists.txt b/sql/coloring/CMakeLists.txt index 460ed7aee26..6371064418a 100644 --- a/sql/coloring/CMakeLists.txt +++ b/sql/coloring/CMakeLists.txt @@ -15,4 +15,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/dominator/CMakeLists.txt b/sql/dominator/CMakeLists.txt index 1247c26dd6b..fb5180866d2 100644 --- a/sql/dominator/CMakeLists.txt +++ b/sql/dominator/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/planar/CMakeLists.txt b/sql/planar/CMakeLists.txt index 5eea2a9abfe..f7b2d2bb416 100644 --- a/sql/planar/CMakeLists.txt +++ b/sql/planar/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/sql/traversal/CMakeLists.txt b/sql/traversal/CMakeLists.txt index 0d34dcfec66..4ee58e7c0d0 100644 --- a/sql/traversal/CMakeLists.txt +++ b/sql/traversal/CMakeLists.txt @@ -9,4 +9,4 @@ foreach (f ${LOCAL_FILES}) list(APPEND PACKAGE_SQL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}) endforeach() -set(PGROUTING_SQL_FILES ${PGROUTING_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) From 12dfe850451fbc8b8214dd1322e9d02b6d3c4f32 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 13 Jan 2021 11:43:13 -0600 Subject: [PATCH 1202/1360] [actions][boost] removing 1.53, 1.54, 1.55 --- .github/workflows/boost_version.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/boost_version.yml b/.github/workflows/boost_version.yml index a25b7bdd58e..6c4b9fe14d8 100644 --- a/.github/workflows/boost_version.yml +++ b/.github/workflows/boost_version.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - boost_minor: [53, 54, 55, 56, 74, 75] + boost_minor: [56, 74, 75] os: [ubuntu-latest] steps: From bc675cb69cb94078cb97ad15016068716cc11bc8 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 13 Jan 2021 11:48:40 -0600 Subject: [PATCH 1203/1360] [Build][CMakeLists] Boost Min Version 1.56 --- CMakeLists.txt | 2 +- README.md | 7 +++---- doc/src/pgRouting-installation.rst | 7 ++++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5a743330d59..bfb73195511 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,7 +52,7 @@ include(pgr/Configure) set(DOXYGEN_MINIMUM_VERSION "1.7") set(SPHINX_MINIMUM_VERSION "1.8") set(POSTGRESQL_MINIMUM_VERSION "9.2.0") -set(BOOST_MINIMUM_VERSION "1.53.0") +set(BOOST_MINIMUM_VERSION "1.56.0") set(POSTGIS_MINIMUM_VERSION "2.0.0") message(STATUS "DOXYGEN_MINIMUM_VERSION=${DOXYGEN_MINIMUM_VERSION}") diff --git a/README.md b/README.md index d7f21e855b5..32d8b6242c1 100644 --- a/README.md +++ b/README.md @@ -50,11 +50,10 @@ Building requirements -------------------- * Perl * C and C++ compilers - * Compiling with Boost 1.53 does not have geometry support therefore pgRouting's `pgr_alphaShape` is not supported - * Compiling with Boost 1.53 up to Boost 1.75 requires C++ Compiler with C++03 or C++11 standard support + * Compiling with Boost 1.56 up to Boost 1.74 requires C++ Compiler with C++03 or C++11 standard support * Compiling with Boost 1.75 requires C++ Compiler with C++14 standard support -* Postgresql >= 9.4 -* The Boost Graph Library (BGL) >= 1.53 +* Postgresql = Supported version by PostgreSQL +* The Boost Graph Library (BGL) >= 1.56 * CMake >= 3.2 * Sphinx >= 1.8 diff --git a/doc/src/pgRouting-installation.rst b/doc/src/pgRouting-installation.rst index 2c93a53557b..ccaf0848a8b 100644 --- a/doc/src/pgRouting-installation.rst +++ b/doc/src/pgRouting-installation.rst @@ -128,9 +128,10 @@ Dependencies To be able to compile pgRouting, make sure that the following dependencies are met: * C and C++0x compilers - * g++ version >= 4.8 -* Postgresql version >= 9.3 -* The Boost Graph Library (BGL). Version >= 1.53 + * Compiling with Boost 1.56 up to Boost 1.74 requires C++ Compiler with C++03 or C++11 standard support + * Compiling with Boost 1.75 requires C++ Compiler with C++14 standard support +* Postgresql version = Supported versions by PostgreSQL +* The Boost Graph Library (BGL). Version >= 1.56 * CMake >= 3.2 From e16a711db2cb684792d8a199f77bad1789209496 Mon Sep 17 00:00:00 2001 From: cvvergara Date: Wed, 13 Jan 2021 11:59:46 -0600 Subject: [PATCH 1204/1360] [boost] removing copy of boost code --- include/boost/CPPLINT.cfg | 4 - include/boost/bgeometry/algorithms/append.hpp | 370 --- include/boost/bgeometry/algorithms/area.hpp | 329 --- include/boost/bgeometry/algorithms/assign.hpp | 379 --- .../boost/bgeometry/algorithms/centroid.hpp | 681 ----- include/boost/bgeometry/algorithms/clear.hpp | 197 -- .../boost/bgeometry/algorithms/convert.hpp | 559 ----- .../boost/bgeometry/algorithms/correct.hpp | 375 --- .../boost/bgeometry/algorithms/covered_by.hpp | 27 - .../algorithms/detail/assign_box_corners.hpp | 107 - .../detail/assign_indexed_point.hpp | 94 - .../algorithms/detail/assign_values.hpp | 336 --- .../algorithms/detail/calculate_null.hpp | 38 - .../algorithms/detail/calculate_sum.hpp | 62 - .../centroid/translating_transformer.hpp | 118 - .../detail/check_iterator_range.hpp | 71 - .../detail/comparable_distance/interface.hpp | 363 --- .../detail/convert_indexed_to_indexed.hpp | 80 - .../detail/convert_point_to_point.hpp | 68 - .../bgeometry/algorithms/detail/counting.hpp | 107 - .../detail/covered_by/implementation.hpp | 280 --- .../detail/covered_by/interface.hpp | 261 -- .../algorithms/detail/disjoint/box_box.hpp | 184 -- .../algorithms/detail/disjoint/interface.hpp | 246 -- .../algorithms/detail/disjoint/point_box.hpp | 83 - .../detail/disjoint/point_point.hpp | 249 -- .../detail/distance/default_strategies.hpp | 137 - .../detail/distance/implementation.hpp | 26 - .../algorithms/detail/distance/interface.hpp | 403 --- .../detail/distance/point_to_geometry.hpp | 507 ---- .../algorithms/detail/envelope/box.hpp | 172 -- .../detail/envelope/implementation.hpp | 107 - .../algorithms/detail/envelope/initialize.hpp | 86 - .../algorithms/detail/envelope/interface.hpp | 222 -- .../algorithms/detail/envelope/linear.hpp | 114 - .../algorithms/detail/envelope/multipoint.hpp | 376 --- .../algorithms/detail/envelope/point.hpp | 126 - .../algorithms/detail/envelope/range.hpp | 187 -- .../detail/envelope/range_of_boxes.hpp | 331 --- .../algorithms/detail/envelope/segment.hpp | 458 ---- .../detail/envelope/transform_units.hpp | 103 - .../detail/equals/implementation.hpp | 397 --- .../algorithms/detail/equals/interface.hpp | 317 --- .../algorithms/detail/equals/point_point.hpp | 52 - .../algorithms/detail/expand/box.hpp | 129 - .../detail/expand/implementation.hpp | 27 - .../algorithms/detail/expand/indexed.hpp | 147 -- .../algorithms/detail/expand/interface.hpp | 194 -- .../algorithms/detail/expand/point.hpp | 306 --- .../algorithms/detail/expand/segment.hpp | 132 - .../algorithms/detail/expand_by_epsilon.hpp | 113 - .../algorithms/detail/for_each_range.hpp | 201 -- .../algorithms/detail/get_max_size.hpp | 64 - .../algorithms/detail/interior_iterator.hpp | 71 - .../detail/intersects/implementation.hpp | 88 - .../detail/intersects/interface.hpp | 115 - .../algorithms/detail/max_interval_gap.hpp | 278 --- .../algorithms/detail/multi_modify.hpp | 69 - .../bgeometry/algorithms/detail/multi_sum.hpp | 52 - .../algorithms/detail/overlaps/interface.hpp | 124 - .../algorithms/detail/overlay/do_reverse.hpp | 47 - .../detail/overlay/get_turn_info.hpp | 1143 --------- .../overlay/get_turn_info_for_endpoint.hpp | 667 ----- .../detail/overlay/get_turn_info_helpers.hpp | 388 --- .../detail/overlay/get_turn_info_la.hpp | 893 ------- .../detail/overlay/get_turn_info_ll.hpp | 759 ------ .../algorithms/detail/overlay/get_turns.hpp | 1050 -------- .../detail/overlay/intersection_box_box.hpp | 96 - .../detail/overlay/overlay_type.hpp | 67 - .../detail/overlay/segment_identifier.hpp | 99 - .../detail/overlay/self_turn_points.hpp | 354 --- .../algorithms/detail/overlay/turn_info.hpp | 160 -- .../bgeometry/algorithms/detail/partition.hpp | 848 ------- .../algorithms/detail/point_on_border.hpp | 319 --- .../algorithms/detail/recalculate.hpp | 234 -- .../algorithms/detail/relate/de9im.hpp | 439 ---- .../detail/relate/follow_helpers.hpp | 404 --- .../detail/relate/implementation.hpp | 114 - .../algorithms/detail/relate/interface.hpp | 421 ---- .../algorithms/detail/relate/less.hpp | 83 - .../algorithms/detail/relate/point_point.hpp | 265 -- .../algorithms/detail/relate/relate_impl.hpp | 81 - .../algorithms/detail/relate/result.hpp | 1296 ---------- .../algorithms/detail/ring_identifier.hpp | 85 - .../detail/sections/range_by_section.hpp | 193 -- .../detail/sections/section_box_policies.hpp | 49 - .../detail/sections/section_functions.hpp | 139 -- .../detail/sections/sectionalize.hpp | 999 -------- .../algorithms/detail/signed_size_type.hpp | 28 - .../algorithms/detail/single_geometry.hpp | 94 - .../bgeometry/algorithms/detail/sub_range.hpp | 129 - .../bgeometry/algorithms/detail/sweep.hpp | 87 - .../detail/throw_on_empty_input.hpp | 69 - .../algorithms/detail/touches/interface.hpp | 321 --- .../detail/within/implementation.hpp | 306 --- .../algorithms/detail/within/interface.hpp | 304 --- .../algorithms/detail/within/multi_point.hpp | 268 -- .../detail/within/point_in_geometry.hpp | 391 --- .../boost/bgeometry/algorithms/disjoint.hpp | 26 - .../algorithms/dispatch/disjoint.hpp | 93 - .../algorithms/dispatch/distance.hpp | 82 - .../algorithms/dispatch/envelope.hpp | 49 - .../bgeometry/algorithms/dispatch/expand.hpp | 58 - .../boost/bgeometry/algorithms/distance.hpp | 26 - .../boost/bgeometry/algorithms/envelope.hpp | 25 - include/boost/bgeometry/algorithms/expand.hpp | 26 - .../boost/bgeometry/algorithms/for_each.hpp | 373 --- .../boost/bgeometry/algorithms/intersects.hpp | 28 - .../boost/bgeometry/algorithms/is_empty.hpp | 207 -- include/boost/bgeometry/algorithms/length.hpp | 296 --- .../bgeometry/algorithms/not_implemented.hpp | 131 - .../algorithms/num_interior_rings.hpp | 142 -- .../boost/bgeometry/algorithms/num_points.hpp | 211 -- .../bgeometry/algorithms/num_segments.hpp | 204 -- include/boost/bgeometry/algorithms/relate.hpp | 17 - .../boost/bgeometry/algorithms/transform.hpp | 480 ---- .../boost/bgeometry/arithmetic/arithmetic.hpp | 335 --- .../bgeometry/arithmetic/cross_product.hpp | 128 - .../bgeometry/arithmetic/determinant.hpp | 78 - .../bgeometry/arithmetic/dot_product.hpp | 84 - .../boost/bgeometry/arithmetic/normalize.hpp | 71 - include/boost/bgeometry/core/access.hpp | 399 --- include/boost/bgeometry/core/assert.hpp | 43 - include/boost/bgeometry/core/closure.hpp | 202 -- .../bgeometry/core/coordinate_dimension.hpp | 127 - .../bgeometry/core/coordinate_system.hpp | 100 - .../boost/bgeometry/core/coordinate_type.hpp | 108 - include/boost/bgeometry/core/cs.hpp | 269 -- include/boost/bgeometry/core/exception.hpp | 89 - .../boost/bgeometry/core/exterior_ring.hpp | 145 -- include/boost/bgeometry/core/geometry_id.hpp | 103 - .../boost/bgeometry/core/interior_rings.hpp | 150 -- .../boost/bgeometry/core/interior_type.hpp | 164 -- include/boost/bgeometry/core/is_areal.hpp | 59 - .../boost/bgeometry/core/mutable_range.hpp | 98 - include/boost/bgeometry/core/point_order.hpp | 187 -- include/boost/bgeometry/core/point_type.hpp | 162 -- .../boost/bgeometry/core/radian_access.hpp | 263 -- include/boost/bgeometry/core/radius.hpp | 251 -- .../boost/bgeometry/core/reverse_dispatch.hpp | 66 - include/boost/bgeometry/core/ring_type.hpp | 226 -- include/boost/bgeometry/core/srs.hpp | 196 -- include/boost/bgeometry/core/tag.hpp | 69 - include/boost/bgeometry/core/tag_cast.hpp | 84 - include/boost/bgeometry/core/tags.hpp | 150 -- .../bgeometry/core/topological_dimension.hpp | 101 - .../boost/bgeometry/formulas/flattening.hpp | 70 - .../bgeometry/formulas/result_inverse.hpp | 39 - include/boost/bgeometry/geometries/box.hpp | 191 -- .../geometries/concepts/box_concept.hpp | 136 - .../bgeometry/geometries/concepts/check.hpp | 243 -- .../concepts/linestring_concept.hpp | 125 - .../concepts/multi_linestring_concept.hpp | 91 - .../concepts/multi_point_concept.hpp | 90 - .../concepts/multi_polygon_concept.hpp | 91 - .../geometries/concepts/point_concept.hpp | 192 -- .../geometries/concepts/polygon_concept.hpp | 135 - .../geometries/concepts/ring_concept.hpp | 99 - .../geometries/concepts/segment_concept.hpp | 135 - .../bgeometry/geometries/helper_geometry.hpp | 162 -- .../boost/bgeometry/geometries/linestring.hpp | 123 - .../bgeometry/geometries/multi_linestring.hpp | 119 - .../bgeometry/geometries/multi_point.hpp | 123 - .../bgeometry/geometries/multi_polygon.hpp | 117 - include/boost/bgeometry/geometries/point.hpp | 303 --- .../boost/bgeometry/geometries/point_xy.hpp | 134 - .../bgeometry/geometries/pointing_segment.hpp | 142 -- .../boost/bgeometry/geometries/polygon.hpp | 367 --- include/boost/bgeometry/geometries/ring.hpp | 181 -- .../boost/bgeometry/geometries/segment.hpp | 224 -- .../boost/bgeometry/geometries/variant.hpp | 39 - .../boost/bgeometry/index/adaptors/query.hpp | 88 - .../index/detail/algorithms/bounds.hpp | 90 - .../comparable_distance_centroid.hpp | 77 - .../algorithms/comparable_distance_far.hpp | 66 - .../algorithms/comparable_distance_near.hpp | 77 - .../index/detail/algorithms/content.hpp | 87 - .../index/detail/algorithms/diff_abs.hpp | 39 - .../algorithms/intersection_content.hpp | 46 - .../index/detail/algorithms/is_valid.hpp | 91 - .../index/detail/algorithms/margin.hpp | 169 -- .../index/detail/algorithms/nth_element.hpp | 62 - .../detail/algorithms/path_intersection.hpp | 123 - .../algorithms/segment_intersection.hpp | 146 -- .../detail/algorithms/sum_for_indexable.hpp | 76 - .../index/detail/algorithms/union_content.hpp | 33 - .../boost/bgeometry/index/detail/assert.hpp | 19 - .../bgeometry/index/detail/bounded_view.hpp | 215 -- .../bgeometry/index/detail/config_begin.hpp | 21 - .../bgeometry/index/detail/config_end.hpp | 12 - .../index/detail/distance_predicates.hpp | 161 -- .../bgeometry/index/detail/exception.hpp | 87 - .../bgeometry/index/detail/is_indexable.hpp | 47 - include/boost/bgeometry/index/detail/meta.hpp | 42 - .../bgeometry/index/detail/predicates.hpp | 831 ------ .../bgeometry/index/detail/rtree/adaptors.hpp | 54 - .../index/detail/rtree/iterators.hpp | 122 - .../rtree/linear/redistribute_elements.hpp | 446 ---- .../index/detail/rtree/node/concept.hpp | 85 - .../index/detail/rtree/node/node.hpp | 199 -- .../index/detail/rtree/node/node_elements.hpp | 110 - .../index/detail/rtree/node/pairs.hpp | 71 - .../detail/rtree/node/scoped_deallocator.hpp | 48 - .../detail/rtree/node/subtree_destroyer.hpp | 79 - .../detail/rtree/node/variant_visitor.hpp | 68 - .../bgeometry/index/detail/rtree/options.hpp | 155 -- .../index/detail/rtree/pack_create.hpp | 465 ---- .../index/detail/rtree/query_iterators.hpp | 387 --- .../detail/rtree/rstar/choose_next_node.hpp | 234 -- .../index/detail/rtree/rstar/insert.hpp | 591 ----- .../rtree/rstar/redistribute_elements.hpp | 470 ---- .../index/detail/rtree/rstar/rstar.hpp | 18 - .../index/detail/rtree/utilities/view.hpp | 61 - .../detail/rtree/visitors/children_box.hpp | 55 - .../index/detail/rtree/visitors/copy.hpp | 92 - .../index/detail/rtree/visitors/count.hpp | 107 - .../index/detail/rtree/visitors/destroy.hpp | 71 - .../detail/rtree/visitors/distance_query.hpp | 588 ----- .../index/detail/rtree/visitors/insert.hpp | 573 ----- .../index/detail/rtree/visitors/is_leaf.hpp | 45 - .../index/detail/rtree/visitors/iterator.hpp | 134 - .../index/detail/rtree/visitors/remove.hpp | 344 --- .../detail/rtree/visitors/spatial_query.hpp | 214 -- include/boost/bgeometry/index/detail/tags.hpp | 25 - .../bgeometry/index/detail/translator.hpp | 60 - .../boost/bgeometry/index/detail/tuples.hpp | 204 -- .../bgeometry/index/detail/utilities.hpp | 46 - .../boost/bgeometry/index/detail/varray.hpp | 2199 ---------------- .../bgeometry/index/detail/varray_detail.hpp | 761 ------ .../bgeometry/index/distance_predicates.hpp | 204 -- include/boost/bgeometry/index/equal_to.hpp | 267 -- include/boost/bgeometry/index/indexable.hpp | 197 -- include/boost/bgeometry/index/inserter.hpp | 78 - include/boost/bgeometry/index/parameters.hpp | 258 -- include/boost/bgeometry/index/predicates.hpp | 421 ---- include/boost/bgeometry/index/rtree.hpp | 2217 ----------------- .../boost/bgeometry/io/wkt/detail/prefix.hpp | 66 - include/boost/bgeometry/io/wkt/write.hpp | 515 ---- include/boost/bgeometry/iterators/base.hpp | 70 - .../bgeometry/iterators/closing_iterator.hpp | 148 -- .../iterators/concatenate_iterator.hpp | 153 -- .../point_iterator/inner_range_type.hpp | 66 - .../detail/point_iterator/iterator_type.hpp | 136 - .../detail/point_iterator/value_type.hpp | 47 - .../detail/segment_iterator/iterator_type.hpp | 153 -- .../range_segment_iterator.hpp | 215 -- .../detail/segment_iterator/value_type.hpp | 71 - .../iterators/dispatch/point_iterator.hpp | 47 - .../iterators/dispatch/segment_iterator.hpp | 47 - .../iterators/ever_circling_iterator.hpp | 203 -- .../bgeometry/iterators/flatten_iterator.hpp | 229 -- .../bgeometry/iterators/has_one_element.hpp | 29 - .../bgeometry/iterators/point_iterator.hpp | 308 --- .../bgeometry/iterators/segment_iterator.hpp | 353 --- include/boost/bgeometry/policies/compare.hpp | 242 -- .../policies/disjoint_interrupt_policy.hpp | 67 - .../bgeometry/policies/relate/direction.hpp | 391 --- .../policies/relate/intersection_points.hpp | 226 -- .../bgeometry/policies/relate/tupled.hpp | 116 - .../policies/robustness/no_rescale_policy.hpp | 66 - .../policies/robustness/robust_point_type.hpp | 30 - .../policies/robustness/robust_type.hpp | 67 - .../policies/robustness/segment_ratio.hpp | 267 -- .../robustness/segment_ratio_type.hpp | 28 - .../strategies/agnostic/point_in_point.hpp | 85 - include/boost/bgeometry/strategies/area.hpp | 50 - .../strategies/cartesian/area_surveyor.hpp | 152 -- .../strategies/cartesian/box_in_box.hpp | 311 --- .../cartesian/disjoint_segment_box.hpp | 319 --- .../cartesian/distance_pythagoras.hpp | 288 --- .../strategies/cartesian/envelope_segment.hpp | 72 - .../strategies/cartesian/intersection.hpp | 704 ------ .../strategies/cartesian/point_in_box.hpp | 295 --- .../strategies/cartesian/side_by_triangle.hpp | 280 --- .../boost/bgeometry/strategies/centroid.hpp | 72 - .../strategies/comparable_distance_result.hpp | 196 -- .../boost/bgeometry/strategies/compare.hpp | 172 -- .../strategies/concepts/area_concept.hpp | 75 - .../strategies/concepts/centroid_concept.hpp | 78 - .../strategies/concepts/within_concept.hpp | 291 --- .../boost/bgeometry/strategies/covered_by.hpp | 99 - .../strategies/default_area_result.hpp | 51 - .../default_comparable_distance_result.hpp | 43 - .../strategies/default_distance_result.hpp | 43 - .../strategies/default_length_result.hpp | 89 - .../bgeometry/strategies/default_strategy.hpp | 34 - .../boost/bgeometry/strategies/disjoint.hpp | 93 - .../boost/bgeometry/strategies/distance.hpp | 110 - .../bgeometry/strategies/distance_result.hpp | 213 -- .../boost/bgeometry/strategies/envelope.hpp | 45 - .../bgeometry/strategies/intersection.hpp | 51 - .../strategies/intersection_result.hpp | 78 - .../strategies/intersection_strategies.hpp | 95 - include/boost/bgeometry/strategies/relate.hpp | 177 -- include/boost/bgeometry/strategies/side.hpp | 55 - .../boost/bgeometry/strategies/side_info.hpp | 177 -- .../strategies/strategy_transform.hpp | 527 ---- include/boost/bgeometry/strategies/tags.hpp | 43 - .../boost/bgeometry/strategies/transform.hpp | 63 - include/boost/bgeometry/strategies/within.hpp | 98 - .../boost/bgeometry/util/add_const_if_c.hpp | 56 - include/boost/bgeometry/util/bare_type.hpp | 52 - .../boost/bgeometry/util/calculation_type.hpp | 178 -- include/boost/bgeometry/util/combine_if.hpp | 92 - .../boost/bgeometry/util/compress_variant.hpp | 106 - include/boost/bgeometry/util/condition.hpp | 44 - .../bgeometry/util/for_each_coordinate.hpp | 94 - .../bgeometry/util/has_nan_coordinate.hpp | 99 - include/boost/bgeometry/util/math.hpp | 779 ------ .../normalize_spheroidal_box_coordinates.hpp | 160 -- .../util/normalize_spheroidal_coordinates.hpp | 324 --- .../bgeometry/util/order_as_direction.hpp | 46 - .../bgeometry/util/parameter_type_of.hpp | 75 - .../bgeometry/util/promote_floating_point.hpp | 50 - .../boost/bgeometry/util/promote_integral.hpp | 318 --- include/boost/bgeometry/util/range.hpp | 418 ---- .../util/select_calculation_type.hpp | 84 - .../bgeometry/util/select_coordinate_type.hpp | 69 - .../bgeometry/util/select_most_precise.hpp | 182 -- .../bgeometry/util/transform_variant.hpp | 84 - include/boost/bgeometry/views/box_view.hpp | 118 - .../boost/bgeometry/views/closeable_view.hpp | 109 - .../views/detail/indexed_point_view.hpp | 123 - .../views/detail/normalized_view.hpp | 117 - .../bgeometry/views/detail/points_view.hpp | 142 -- .../bgeometry/views/detail/range_type.hpp | 134 - .../views/detail/two_dimensional_view.hpp | 196 -- .../boost/bgeometry/views/identity_view.hpp | 61 - .../boost/bgeometry/views/reversible_view.hpp | 74 - include/boost/core/ignore_unused.hpp | 70 - include/boost/core/no_exceptions_support.hpp | 44 - include/boost/detail_augment.hpp | 64 - include/boost/dijkstra_shortest_paths.hpp | 623 ----- include/boost/find_flow_cost.hpp | 53 - include/boost/maximum_adjacency_search.hpp | 322 --- include/boost/stoer_wagner_min_cut.hpp | 259 -- ...sive_shortest_path_nonnegative_weights.hpp | 268 -- include/boost/transitive_closure.hpp | 373 --- 338 files changed, 68208 deletions(-) delete mode 100644 include/boost/CPPLINT.cfg delete mode 100644 include/boost/bgeometry/algorithms/append.hpp delete mode 100644 include/boost/bgeometry/algorithms/area.hpp delete mode 100644 include/boost/bgeometry/algorithms/assign.hpp delete mode 100644 include/boost/bgeometry/algorithms/centroid.hpp delete mode 100644 include/boost/bgeometry/algorithms/clear.hpp delete mode 100644 include/boost/bgeometry/algorithms/convert.hpp delete mode 100644 include/boost/bgeometry/algorithms/correct.hpp delete mode 100644 include/boost/bgeometry/algorithms/covered_by.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/assign_box_corners.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/assign_indexed_point.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/assign_values.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/calculate_null.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/calculate_sum.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/centroid/translating_transformer.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/check_iterator_range.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/comparable_distance/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/convert_indexed_to_indexed.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/convert_point_to_point.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/counting.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/covered_by/implementation.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/covered_by/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/disjoint/box_box.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/disjoint/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/disjoint/point_box.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/disjoint/point_point.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/distance/default_strategies.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/distance/implementation.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/distance/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/distance/point_to_geometry.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/envelope/box.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/envelope/implementation.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/envelope/initialize.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/envelope/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/envelope/linear.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/envelope/multipoint.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/envelope/point.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/envelope/range.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/envelope/range_of_boxes.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/envelope/segment.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/envelope/transform_units.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/equals/implementation.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/equals/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/equals/point_point.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/expand/box.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/expand/implementation.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/expand/indexed.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/expand/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/expand/point.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/expand/segment.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/expand_by_epsilon.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/for_each_range.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/get_max_size.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/interior_iterator.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/intersects/implementation.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/intersects/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/max_interval_gap.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/multi_modify.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/multi_sum.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlaps/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/do_reverse.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/get_turn_info.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_helpers.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_la.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_ll.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/get_turns.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/intersection_box_box.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/overlay_type.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/segment_identifier.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/self_turn_points.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/overlay/turn_info.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/partition.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/point_on_border.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/recalculate.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/relate/de9im.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/relate/follow_helpers.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/relate/implementation.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/relate/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/relate/less.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/relate/point_point.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/relate/relate_impl.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/relate/result.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/ring_identifier.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/sections/range_by_section.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/sections/section_box_policies.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/sections/section_functions.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/sections/sectionalize.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/signed_size_type.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/single_geometry.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/sub_range.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/sweep.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/throw_on_empty_input.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/touches/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/within/implementation.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/within/interface.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/within/multi_point.hpp delete mode 100644 include/boost/bgeometry/algorithms/detail/within/point_in_geometry.hpp delete mode 100644 include/boost/bgeometry/algorithms/disjoint.hpp delete mode 100644 include/boost/bgeometry/algorithms/dispatch/disjoint.hpp delete mode 100644 include/boost/bgeometry/algorithms/dispatch/distance.hpp delete mode 100644 include/boost/bgeometry/algorithms/dispatch/envelope.hpp delete mode 100644 include/boost/bgeometry/algorithms/dispatch/expand.hpp delete mode 100644 include/boost/bgeometry/algorithms/distance.hpp delete mode 100644 include/boost/bgeometry/algorithms/envelope.hpp delete mode 100644 include/boost/bgeometry/algorithms/expand.hpp delete mode 100644 include/boost/bgeometry/algorithms/for_each.hpp delete mode 100644 include/boost/bgeometry/algorithms/intersects.hpp delete mode 100644 include/boost/bgeometry/algorithms/is_empty.hpp delete mode 100644 include/boost/bgeometry/algorithms/length.hpp delete mode 100644 include/boost/bgeometry/algorithms/not_implemented.hpp delete mode 100644 include/boost/bgeometry/algorithms/num_interior_rings.hpp delete mode 100644 include/boost/bgeometry/algorithms/num_points.hpp delete mode 100644 include/boost/bgeometry/algorithms/num_segments.hpp delete mode 100644 include/boost/bgeometry/algorithms/relate.hpp delete mode 100644 include/boost/bgeometry/algorithms/transform.hpp delete mode 100644 include/boost/bgeometry/arithmetic/arithmetic.hpp delete mode 100644 include/boost/bgeometry/arithmetic/cross_product.hpp delete mode 100644 include/boost/bgeometry/arithmetic/determinant.hpp delete mode 100644 include/boost/bgeometry/arithmetic/dot_product.hpp delete mode 100644 include/boost/bgeometry/arithmetic/normalize.hpp delete mode 100644 include/boost/bgeometry/core/access.hpp delete mode 100644 include/boost/bgeometry/core/assert.hpp delete mode 100644 include/boost/bgeometry/core/closure.hpp delete mode 100644 include/boost/bgeometry/core/coordinate_dimension.hpp delete mode 100644 include/boost/bgeometry/core/coordinate_system.hpp delete mode 100644 include/boost/bgeometry/core/coordinate_type.hpp delete mode 100644 include/boost/bgeometry/core/cs.hpp delete mode 100644 include/boost/bgeometry/core/exception.hpp delete mode 100644 include/boost/bgeometry/core/exterior_ring.hpp delete mode 100644 include/boost/bgeometry/core/geometry_id.hpp delete mode 100644 include/boost/bgeometry/core/interior_rings.hpp delete mode 100644 include/boost/bgeometry/core/interior_type.hpp delete mode 100644 include/boost/bgeometry/core/is_areal.hpp delete mode 100644 include/boost/bgeometry/core/mutable_range.hpp delete mode 100644 include/boost/bgeometry/core/point_order.hpp delete mode 100644 include/boost/bgeometry/core/point_type.hpp delete mode 100644 include/boost/bgeometry/core/radian_access.hpp delete mode 100644 include/boost/bgeometry/core/radius.hpp delete mode 100644 include/boost/bgeometry/core/reverse_dispatch.hpp delete mode 100644 include/boost/bgeometry/core/ring_type.hpp delete mode 100644 include/boost/bgeometry/core/srs.hpp delete mode 100644 include/boost/bgeometry/core/tag.hpp delete mode 100644 include/boost/bgeometry/core/tag_cast.hpp delete mode 100644 include/boost/bgeometry/core/tags.hpp delete mode 100644 include/boost/bgeometry/core/topological_dimension.hpp delete mode 100644 include/boost/bgeometry/formulas/flattening.hpp delete mode 100644 include/boost/bgeometry/formulas/result_inverse.hpp delete mode 100644 include/boost/bgeometry/geometries/box.hpp delete mode 100644 include/boost/bgeometry/geometries/concepts/box_concept.hpp delete mode 100644 include/boost/bgeometry/geometries/concepts/check.hpp delete mode 100644 include/boost/bgeometry/geometries/concepts/linestring_concept.hpp delete mode 100644 include/boost/bgeometry/geometries/concepts/multi_linestring_concept.hpp delete mode 100644 include/boost/bgeometry/geometries/concepts/multi_point_concept.hpp delete mode 100644 include/boost/bgeometry/geometries/concepts/multi_polygon_concept.hpp delete mode 100644 include/boost/bgeometry/geometries/concepts/point_concept.hpp delete mode 100644 include/boost/bgeometry/geometries/concepts/polygon_concept.hpp delete mode 100644 include/boost/bgeometry/geometries/concepts/ring_concept.hpp delete mode 100644 include/boost/bgeometry/geometries/concepts/segment_concept.hpp delete mode 100644 include/boost/bgeometry/geometries/helper_geometry.hpp delete mode 100644 include/boost/bgeometry/geometries/linestring.hpp delete mode 100644 include/boost/bgeometry/geometries/multi_linestring.hpp delete mode 100644 include/boost/bgeometry/geometries/multi_point.hpp delete mode 100644 include/boost/bgeometry/geometries/multi_polygon.hpp delete mode 100644 include/boost/bgeometry/geometries/point.hpp delete mode 100644 include/boost/bgeometry/geometries/point_xy.hpp delete mode 100644 include/boost/bgeometry/geometries/pointing_segment.hpp delete mode 100644 include/boost/bgeometry/geometries/polygon.hpp delete mode 100644 include/boost/bgeometry/geometries/ring.hpp delete mode 100644 include/boost/bgeometry/geometries/segment.hpp delete mode 100644 include/boost/bgeometry/geometries/variant.hpp delete mode 100644 include/boost/bgeometry/index/adaptors/query.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/bounds.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/comparable_distance_centroid.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/comparable_distance_far.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/comparable_distance_near.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/content.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/diff_abs.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/intersection_content.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/is_valid.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/margin.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/nth_element.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/path_intersection.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/segment_intersection.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/sum_for_indexable.hpp delete mode 100644 include/boost/bgeometry/index/detail/algorithms/union_content.hpp delete mode 100644 include/boost/bgeometry/index/detail/assert.hpp delete mode 100644 include/boost/bgeometry/index/detail/bounded_view.hpp delete mode 100644 include/boost/bgeometry/index/detail/config_begin.hpp delete mode 100644 include/boost/bgeometry/index/detail/config_end.hpp delete mode 100644 include/boost/bgeometry/index/detail/distance_predicates.hpp delete mode 100644 include/boost/bgeometry/index/detail/exception.hpp delete mode 100644 include/boost/bgeometry/index/detail/is_indexable.hpp delete mode 100644 include/boost/bgeometry/index/detail/meta.hpp delete mode 100644 include/boost/bgeometry/index/detail/predicates.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/adaptors.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/iterators.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/linear/redistribute_elements.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/node/concept.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/node/node.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/node/node_elements.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/node/pairs.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/node/scoped_deallocator.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/node/subtree_destroyer.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/node/variant_visitor.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/options.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/pack_create.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/query_iterators.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/rstar/choose_next_node.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/rstar/insert.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/rstar/redistribute_elements.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/rstar/rstar.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/utilities/view.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/visitors/children_box.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/visitors/copy.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/visitors/count.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/visitors/destroy.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/visitors/distance_query.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/visitors/insert.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/visitors/is_leaf.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/visitors/iterator.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/visitors/remove.hpp delete mode 100644 include/boost/bgeometry/index/detail/rtree/visitors/spatial_query.hpp delete mode 100644 include/boost/bgeometry/index/detail/tags.hpp delete mode 100644 include/boost/bgeometry/index/detail/translator.hpp delete mode 100644 include/boost/bgeometry/index/detail/tuples.hpp delete mode 100644 include/boost/bgeometry/index/detail/utilities.hpp delete mode 100644 include/boost/bgeometry/index/detail/varray.hpp delete mode 100644 include/boost/bgeometry/index/detail/varray_detail.hpp delete mode 100644 include/boost/bgeometry/index/distance_predicates.hpp delete mode 100644 include/boost/bgeometry/index/equal_to.hpp delete mode 100644 include/boost/bgeometry/index/indexable.hpp delete mode 100644 include/boost/bgeometry/index/inserter.hpp delete mode 100644 include/boost/bgeometry/index/parameters.hpp delete mode 100644 include/boost/bgeometry/index/predicates.hpp delete mode 100644 include/boost/bgeometry/index/rtree.hpp delete mode 100644 include/boost/bgeometry/io/wkt/detail/prefix.hpp delete mode 100644 include/boost/bgeometry/io/wkt/write.hpp delete mode 100644 include/boost/bgeometry/iterators/base.hpp delete mode 100644 include/boost/bgeometry/iterators/closing_iterator.hpp delete mode 100644 include/boost/bgeometry/iterators/concatenate_iterator.hpp delete mode 100644 include/boost/bgeometry/iterators/detail/point_iterator/inner_range_type.hpp delete mode 100644 include/boost/bgeometry/iterators/detail/point_iterator/iterator_type.hpp delete mode 100644 include/boost/bgeometry/iterators/detail/point_iterator/value_type.hpp delete mode 100644 include/boost/bgeometry/iterators/detail/segment_iterator/iterator_type.hpp delete mode 100644 include/boost/bgeometry/iterators/detail/segment_iterator/range_segment_iterator.hpp delete mode 100644 include/boost/bgeometry/iterators/detail/segment_iterator/value_type.hpp delete mode 100644 include/boost/bgeometry/iterators/dispatch/point_iterator.hpp delete mode 100644 include/boost/bgeometry/iterators/dispatch/segment_iterator.hpp delete mode 100644 include/boost/bgeometry/iterators/ever_circling_iterator.hpp delete mode 100644 include/boost/bgeometry/iterators/flatten_iterator.hpp delete mode 100644 include/boost/bgeometry/iterators/has_one_element.hpp delete mode 100644 include/boost/bgeometry/iterators/point_iterator.hpp delete mode 100644 include/boost/bgeometry/iterators/segment_iterator.hpp delete mode 100644 include/boost/bgeometry/policies/compare.hpp delete mode 100644 include/boost/bgeometry/policies/disjoint_interrupt_policy.hpp delete mode 100644 include/boost/bgeometry/policies/relate/direction.hpp delete mode 100644 include/boost/bgeometry/policies/relate/intersection_points.hpp delete mode 100644 include/boost/bgeometry/policies/relate/tupled.hpp delete mode 100644 include/boost/bgeometry/policies/robustness/no_rescale_policy.hpp delete mode 100644 include/boost/bgeometry/policies/robustness/robust_point_type.hpp delete mode 100644 include/boost/bgeometry/policies/robustness/robust_type.hpp delete mode 100644 include/boost/bgeometry/policies/robustness/segment_ratio.hpp delete mode 100644 include/boost/bgeometry/policies/robustness/segment_ratio_type.hpp delete mode 100644 include/boost/bgeometry/strategies/agnostic/point_in_point.hpp delete mode 100644 include/boost/bgeometry/strategies/area.hpp delete mode 100644 include/boost/bgeometry/strategies/cartesian/area_surveyor.hpp delete mode 100644 include/boost/bgeometry/strategies/cartesian/box_in_box.hpp delete mode 100644 include/boost/bgeometry/strategies/cartesian/disjoint_segment_box.hpp delete mode 100644 include/boost/bgeometry/strategies/cartesian/distance_pythagoras.hpp delete mode 100644 include/boost/bgeometry/strategies/cartesian/envelope_segment.hpp delete mode 100644 include/boost/bgeometry/strategies/cartesian/intersection.hpp delete mode 100644 include/boost/bgeometry/strategies/cartesian/point_in_box.hpp delete mode 100644 include/boost/bgeometry/strategies/cartesian/side_by_triangle.hpp delete mode 100644 include/boost/bgeometry/strategies/centroid.hpp delete mode 100644 include/boost/bgeometry/strategies/comparable_distance_result.hpp delete mode 100644 include/boost/bgeometry/strategies/compare.hpp delete mode 100644 include/boost/bgeometry/strategies/concepts/area_concept.hpp delete mode 100644 include/boost/bgeometry/strategies/concepts/centroid_concept.hpp delete mode 100644 include/boost/bgeometry/strategies/concepts/within_concept.hpp delete mode 100644 include/boost/bgeometry/strategies/covered_by.hpp delete mode 100644 include/boost/bgeometry/strategies/default_area_result.hpp delete mode 100644 include/boost/bgeometry/strategies/default_comparable_distance_result.hpp delete mode 100644 include/boost/bgeometry/strategies/default_distance_result.hpp delete mode 100644 include/boost/bgeometry/strategies/default_length_result.hpp delete mode 100644 include/boost/bgeometry/strategies/default_strategy.hpp delete mode 100644 include/boost/bgeometry/strategies/disjoint.hpp delete mode 100644 include/boost/bgeometry/strategies/distance.hpp delete mode 100644 include/boost/bgeometry/strategies/distance_result.hpp delete mode 100644 include/boost/bgeometry/strategies/envelope.hpp delete mode 100644 include/boost/bgeometry/strategies/intersection.hpp delete mode 100644 include/boost/bgeometry/strategies/intersection_result.hpp delete mode 100644 include/boost/bgeometry/strategies/intersection_strategies.hpp delete mode 100644 include/boost/bgeometry/strategies/relate.hpp delete mode 100644 include/boost/bgeometry/strategies/side.hpp delete mode 100644 include/boost/bgeometry/strategies/side_info.hpp delete mode 100644 include/boost/bgeometry/strategies/strategy_transform.hpp delete mode 100644 include/boost/bgeometry/strategies/tags.hpp delete mode 100644 include/boost/bgeometry/strategies/transform.hpp delete mode 100644 include/boost/bgeometry/strategies/within.hpp delete mode 100644 include/boost/bgeometry/util/add_const_if_c.hpp delete mode 100644 include/boost/bgeometry/util/bare_type.hpp delete mode 100644 include/boost/bgeometry/util/calculation_type.hpp delete mode 100644 include/boost/bgeometry/util/combine_if.hpp delete mode 100644 include/boost/bgeometry/util/compress_variant.hpp delete mode 100644 include/boost/bgeometry/util/condition.hpp delete mode 100644 include/boost/bgeometry/util/for_each_coordinate.hpp delete mode 100644 include/boost/bgeometry/util/has_nan_coordinate.hpp delete mode 100644 include/boost/bgeometry/util/math.hpp delete mode 100644 include/boost/bgeometry/util/normalize_spheroidal_box_coordinates.hpp delete mode 100644 include/boost/bgeometry/util/normalize_spheroidal_coordinates.hpp delete mode 100644 include/boost/bgeometry/util/order_as_direction.hpp delete mode 100644 include/boost/bgeometry/util/parameter_type_of.hpp delete mode 100644 include/boost/bgeometry/util/promote_floating_point.hpp delete mode 100644 include/boost/bgeometry/util/promote_integral.hpp delete mode 100644 include/boost/bgeometry/util/range.hpp delete mode 100644 include/boost/bgeometry/util/select_calculation_type.hpp delete mode 100644 include/boost/bgeometry/util/select_coordinate_type.hpp delete mode 100644 include/boost/bgeometry/util/select_most_precise.hpp delete mode 100644 include/boost/bgeometry/util/transform_variant.hpp delete mode 100644 include/boost/bgeometry/views/box_view.hpp delete mode 100644 include/boost/bgeometry/views/closeable_view.hpp delete mode 100644 include/boost/bgeometry/views/detail/indexed_point_view.hpp delete mode 100644 include/boost/bgeometry/views/detail/normalized_view.hpp delete mode 100644 include/boost/bgeometry/views/detail/points_view.hpp delete mode 100644 include/boost/bgeometry/views/detail/range_type.hpp delete mode 100644 include/boost/bgeometry/views/detail/two_dimensional_view.hpp delete mode 100644 include/boost/bgeometry/views/identity_view.hpp delete mode 100644 include/boost/bgeometry/views/reversible_view.hpp delete mode 100644 include/boost/core/ignore_unused.hpp delete mode 100644 include/boost/core/no_exceptions_support.hpp delete mode 100644 include/boost/detail_augment.hpp delete mode 100644 include/boost/dijkstra_shortest_paths.hpp delete mode 100644 include/boost/find_flow_cost.hpp delete mode 100644 include/boost/maximum_adjacency_search.hpp delete mode 100644 include/boost/stoer_wagner_min_cut.hpp delete mode 100644 include/boost/successive_shortest_path_nonnegative_weights.hpp delete mode 100644 include/boost/transitive_closure.hpp diff --git a/include/boost/CPPLINT.cfg b/include/boost/CPPLINT.cfg deleted file mode 100644 index 418786c3f4b..00000000000 --- a/include/boost/CPPLINT.cfg +++ /dev/null @@ -1,4 +0,0 @@ -exclude_files=detail_augment\.hpp -exclude_files=dijkstra_shortest_paths\.hpp -exclude_files=find_flow_cost\.hpp -exclude_files=successive_shortest_path_nonnegative_weights\.hpp diff --git a/include/boost/bgeometry/algorithms/append.hpp b/include/boost/bgeometry/algorithms/append.hpp deleted file mode 100644 index 5a7967cfa2c..00000000000 --- a/include/boost/bgeometry/algorithms/append.hpp +++ /dev/null @@ -1,370 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2014. -// Modifications copyright (c) 2014, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_APPEND_HPP -#define BOOST_GEOMETRY_ALGORITHMS_APPEND_HPP - - -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace append -{ - -template -struct append_no_action -{ - static inline void apply(Geometry& , Point const& , - int = 0, int = 0) - { - } -}; - -template -struct append_point -{ - static inline void apply(Geometry& geometry, Point const& point, - int = 0, int = 0) - { - typename geometry::point_type::type copy; - geometry::detail::conversion::convert_point_to_point(point, copy); - traits::push_back::apply(geometry, copy); - } -}; - - -template -struct append_range -{ - typedef typename boost::range_value::type point_type; - - static inline void apply(Geometry& geometry, Range const& range, - int = 0, int = 0) - { - for (typename boost::range_iterator::type - it = boost::begin(range); - it != boost::end(range); - ++it) - { - append_point::apply(geometry, *it); - } - } -}; - - -template -struct point_to_polygon -{ - typedef typename ring_type::type ring_type; - - static inline void apply(Polygon& polygon, Point const& point, - int ring_index, int = 0) - { - if (ring_index == -1) - { - append_point::apply( - exterior_ring(polygon), point); - } - else if (ring_index < int(num_interior_rings(polygon))) - { - append_point::apply( - range::at(interior_rings(polygon), ring_index), point); - } - } -}; - - -template -struct range_to_polygon -{ - typedef typename ring_type::type ring_type; - - static inline void apply(Polygon& polygon, Range const& range, - int ring_index, int = 0) - { - if (ring_index == -1) - { - append_range::apply( - exterior_ring(polygon), range); - } - else if (ring_index < int(num_interior_rings(polygon))) - { - append_range::apply( - range::at(interior_rings(polygon), ring_index), range); - } - } -}; - - -}} // namespace detail::append -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -namespace splitted_dispatch -{ - -template -struct append_point - : detail::append::append_no_action -{}; - -template -struct append_point - : detail::append::append_point -{}; - -template -struct append_point - : detail::append::append_point -{}; - - -template -struct append_point - : detail::append::point_to_polygon -{}; - - -template -struct append_range - : detail::append::append_no_action -{}; - -template -struct append_range - : detail::append::append_range -{}; - -template -struct append_range - : detail::append::append_range -{}; - - -template -struct append_range - : detail::append::range_to_polygon -{}; - -} // namespace splitted_dispatch - - -// Default: append a range (or linestring or ring or whatever) to any geometry -template -< - typename Geometry, typename RangeOrPoint, - typename TagRangeOrPoint = typename tag::type -> -struct append - : splitted_dispatch::append_range::type, Geometry, RangeOrPoint> -{}; - -// Specialization for point to append a point to any geometry -template -struct append - : splitted_dispatch::append_point::type, Geometry, RangeOrPoint> -{}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace append -{ - -template -struct append_to_multigeometry -{ - static inline void apply(MultiGeometry& multigeometry, - RangeOrPoint const& range_or_point, - int ring_index, int multi_index) - { - - dispatch::append - < - typename boost::range_value::type, - RangeOrPoint - >::apply(range::at(multigeometry, multi_index), range_or_point, ring_index); - } -}; - -}} // namespace detail::append -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -namespace splitted_dispatch -{ - -template -struct append_point - : detail::append::append_point -{}; - -template -struct append_range - : detail::append::append_range -{}; - -template -struct append_point - : detail::append::append_to_multigeometry -{}; - -template -struct append_range - : detail::append::append_to_multigeometry -{}; - -template -struct append_point - : detail::append::append_to_multigeometry -{}; - -template -struct append_range - : detail::append::append_to_multigeometry -{}; - -} // namespace splitted_dispatch - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -namespace resolve_variant { - -template -struct append -{ - template - static inline void apply(Geometry& geometry, - RangeOrPoint const& range_or_point, - int ring_index, - int multi_index) - { - concepts::check(); - dispatch::append::apply(geometry, - range_or_point, - ring_index, - multi_index); - } -}; - - -template -struct append > -{ - template - struct visitor: boost::static_visitor - { - RangeOrPoint const& m_range_or_point; - int m_ring_index; - int m_multi_index; - - visitor(RangeOrPoint const& range_or_point, - int ring_index, - int multi_index): - m_range_or_point(range_or_point), - m_ring_index(ring_index), - m_multi_index(multi_index) - {} - - template - void operator()(Geometry& geometry) const - { - append::apply(geometry, - m_range_or_point, - m_ring_index, - m_multi_index); - } - }; - - template - static inline void apply(boost::variant& variant_geometry, - RangeOrPoint const& range_or_point, - int ring_index, - int multi_index) - { - boost::apply_visitor( - visitor( - range_or_point, - ring_index, - multi_index - ), - variant_geometry - ); - } -}; - -} // namespace resolve_variant; - - -/*! -\brief Appends one or more points to a linestring, ring, polygon, multi-geometry -\ingroup append -\tparam Geometry \tparam_geometry -\tparam RangeOrPoint Either a range or a point, fulfilling Boost.Range concept or Boost.Geometry Point Concept -\param geometry \param_geometry -\param range_or_point The point or range to add -\param ring_index The index of the ring in case of a polygon: - exterior ring (-1, the default) or interior ring index -\param multi_index The index of the geometry to which the points are appended - -\qbk{[include reference/algorithms/append.qbk]} -} - */ -template -inline void append(Geometry& geometry, RangeOrPoint const& range_or_point, - int ring_index = -1, int multi_index = 0) -{ - resolve_variant::append - ::apply(geometry, range_or_point, ring_index, multi_index); -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_APPEND_HPP diff --git a/include/boost/bgeometry/algorithms/area.hpp b/include/boost/bgeometry/algorithms/area.hpp deleted file mode 100644 index 5776c3e7965..00000000000 --- a/include/boost/bgeometry/algorithms/area.hpp +++ /dev/null @@ -1,329 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2017. -// Modifications copyright (c) 2017 Oracle and/or its affiliates. -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_AREA_HPP -#define BOOST_GEOMETRY_ALGORITHMS_AREA_HPP - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -// #include -#include - -#include -#include - -#include - -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace area -{ - -struct box_area -{ - template - static inline typename coordinate_type::type - apply(Box const& box, Strategy const&) - { - // Currently only works for 2D Cartesian boxes - assert_dimension(); - - return (get(box) - get(box)) - * (get(box) - get(box)); - } -}; - - -template -< - iterate_direction Direction, - closure_selector Closure -> -struct ring_area -{ - template - static inline typename Strategy::return_type - apply(Ring const& ring, Strategy const& strategy) - { - BOOST_CONCEPT_ASSERT( (geometry::concepts::AreaStrategy) ); - assert_dimension(); - - // Ignore warning (because using static method sometimes) on strategy - boost::ignore_unused_variable_warning(strategy); - - // An open ring has at least three points, - // A closed ring has at least four points, - // if not, there is no (zero) area - if (boost::size(ring) - < core_detail::closure::minimum_ring_size::value) - { - return typename Strategy::return_type(); - } - - typedef typename reversible_view::type rview_type; - typedef typename closeable_view - < - rview_type const, Closure - >::type view_type; - typedef typename boost::range_iterator::type iterator_type; - - rview_type rview(ring); - view_type view(rview); - typename Strategy::state_type state; - iterator_type it = boost::begin(view); - iterator_type end = boost::end(view); - - for (iterator_type previous = it++; - it != end; - ++previous, ++it) - { - strategy.apply(*previous, *it, state); - } - - return strategy.result(state); - } -}; - - -}} // namespace detail::area - - -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename Geometry, - typename Tag = typename tag::type -> -struct area : detail::calculate_null -{ - template - static inline typename Strategy::return_type apply(Geometry const& geometry, Strategy const& strategy) - { - return calculate_null::apply(geometry, strategy); - } -}; - - -template -struct area : detail::area::box_area -{}; - - -template -struct area - : detail::area::ring_area - < - order_as_direction::value>::value, - geometry::closure::value - > -{}; - - -template -struct area : detail::calculate_polygon_sum -{ - template - static inline typename Strategy::return_type apply(Polygon const& polygon, Strategy const& strategy) - { - return calculate_polygon_sum::apply< - typename Strategy::return_type, - detail::area::ring_area - < - order_as_direction::value>::value, - geometry::closure::value - > - >(polygon, strategy); - } -}; - - -template -struct area : detail::multi_sum -{ - template - static inline typename Strategy::return_type - apply(MultiGeometry const& multi, Strategy const& strategy) - { - return multi_sum::apply - < - typename Strategy::return_type, - area::type> - >(multi, strategy); - } -}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -namespace resolve_variant { - -template -struct area -{ - template - static inline typename Strategy::return_type apply(Geometry const& geometry, - Strategy const& strategy) - { - return dispatch::area::apply(geometry, strategy); - } -}; - -template -struct area > -{ - template - struct visitor: boost::static_visitor - { - Strategy const& m_strategy; - - visitor(Strategy const& strategy): m_strategy(strategy) {} - - template - typename Strategy::return_type operator()(Geometry const& geometry) const - { - return area::apply(geometry, m_strategy); - } - }; - - template - static inline typename Strategy::return_type - apply(boost::variant const& geometry, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(strategy), geometry); - } -}; - -} // namespace resolve_variant - - -/*! -\brief \brief_calc{area} -\ingroup area -\details \details_calc{area}. \details_default_strategy - -The area algorithm calculates the surface area of all geometries having a surface, namely -box, polygon, ring, multipolygon. The units are the square of the units used for the points -defining the surface. If subject geometry is defined in meters, then area is calculated -in square meters. - -The area calculation can be done in all three common coordinate systems, Cartesian, Spherical -and Geographic as well. - -\tparam Geometry \tparam_geometry -\param geometry \param_geometry -\return \return_calc{area} - -\qbk{[include reference/algorithms/area.qbk]} -\qbk{[heading Examples]} -\qbk{[area] [area_output]} -*/ -template -inline typename default_area_result::type area(Geometry const& geometry) -{ - concepts::check(); - - // TODO put this into a resolve_strategy stage - // (and take the return type from resolve_variant) - typedef typename point_type::type point_type; - typedef typename strategy::area::services::default_strategy - < - typename cs_tag::type, - point_type - >::type strategy_type; - - // detail::throw_on_empty_input(geometry); - - return resolve_variant::area::apply(geometry, strategy_type()); -} - -/*! -\brief \brief_calc{area} \brief_strategy -\ingroup area -\details \details_calc{area} \brief_strategy. \details_strategy_reasons -\tparam Geometry \tparam_geometry -\tparam Strategy \tparam_strategy{Area} -\param geometry \param_geometry -\param strategy \param_strategy{area} -\return \return_calc{area} - -\qbk{distinguish,with strategy} - -\qbk{ -[include reference/algorithms/area.qbk] - -[heading Example] -[area_with_strategy] -[area_with_strategy_output] - -[heading Available Strategies] -\* [link geometry.reference.strategies.strategy_area_surveyor Surveyor (cartesian)] -\* [link geometry.reference.strategies.strategy_area_spherical Spherical] -[/link geometry.reference.strategies.strategy_area_geographic Geographic] -} - */ -template -inline typename Strategy::return_type area( - Geometry const& geometry, Strategy const& strategy) -{ - concepts::check(); - - // detail::throw_on_empty_input(geometry); - - return resolve_variant::area::apply(geometry, strategy); -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_AREA_HPP diff --git a/include/boost/bgeometry/algorithms/assign.hpp b/include/boost/bgeometry/algorithms/assign.hpp deleted file mode 100644 index 2c37326995f..00000000000 --- a/include/boost/bgeometry/algorithms/assign.hpp +++ /dev/null @@ -1,379 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2014 Samuel Debionne, Grenoble, France. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_ASSIGN_HPP -#define BOOST_GEOMETRY_ALGORITHMS_ASSIGN_HPP - - -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -namespace boost { namespace geometry -{ - -/*! -\brief Assign a range of points to a linestring, ring or polygon -\note The point-type of the range might be different from the point-type of the geometry -\ingroup assign -\tparam Geometry \tparam_geometry -\tparam Range \tparam_range_point -\param geometry \param_geometry -\param range \param_range_point - -\qbk{ -[heading Notes] -[note Assign automatically clears the geometry before assigning (use append if you don't want that)] -[heading Example] -[assign_points] [assign_points_output] - -[heading See also] -\* [link geometry.reference.algorithms.append append] -} - */ -template -inline void assign_points(Geometry& geometry, Range const& range) -{ - concepts::check(); - - clear(geometry); - geometry::append(geometry, range, -1, 0); -} - - -/*! -\brief assign to a box inverse infinite -\details The assign_inverse function initialize a 2D or 3D box with large coordinates, the -min corner is very large, the max corner is very small. This is a convenient starting point to -collect the minimum bounding box of a geometry. -\ingroup assign -\tparam Geometry \tparam_geometry -\param geometry \param_geometry - -\qbk{ -[heading Example] -[assign_inverse] [assign_inverse_output] - -[heading See also] -\* [link geometry.reference.algorithms.make.make_inverse make_inverse] -} - */ -template -inline void assign_inverse(Geometry& geometry) -{ - concepts::check(); - - dispatch::assign_inverse - < - typename tag::type, - Geometry - >::apply(geometry); -} - -/*! -\brief assign zero values to a box, point -\ingroup assign -\details The assign_zero function initializes a 2D or 3D point or box with coordinates of zero -\tparam Geometry \tparam_geometry -\param geometry \param_geometry - - */ -template -inline void assign_zero(Geometry& geometry) -{ - concepts::check(); - - dispatch::assign_zero - < - typename tag::type, - Geometry - >::apply(geometry); -} - -/*! -\brief Assign two coordinates to a geometry (usually a 2D point) -\ingroup assign -\tparam Geometry \tparam_geometry -\tparam Type \tparam_numeric to specify the coordinates -\param geometry \param_geometry -\param c1 \param_x -\param c2 \param_y - -\qbk{distinguish, 2 coordinate values} -\qbk{ -[heading Example] -[assign_2d_point] [assign_2d_point_output] - -[heading See also] -\* [link geometry.reference.algorithms.make.make_2_2_coordinate_values make] -} - */ -template -inline void assign_values(Geometry& geometry, Type const& c1, Type const& c2) -{ - concepts::check(); - - dispatch::assign - < - typename tag::type, - Geometry, - geometry::dimension::type::value - >::apply(geometry, c1, c2); -} - -/*! -\brief Assign three values to a geometry (usually a 3D point) -\ingroup assign -\tparam Geometry \tparam_geometry -\tparam Type \tparam_numeric to specify the coordinates -\param geometry \param_geometry -\param c1 \param_x -\param c2 \param_y -\param c3 \param_z - -\qbk{distinguish, 3 coordinate values} -\qbk{ -[heading Example] -[assign_3d_point] [assign_3d_point_output] - -[heading See also] -\* [link geometry.reference.algorithms.make.make_3_3_coordinate_values make] -} - */ -template -inline void assign_values(Geometry& geometry, - Type const& c1, Type const& c2, Type const& c3) -{ - concepts::check(); - - dispatch::assign - < - typename tag::type, - Geometry, - geometry::dimension::type::value - >::apply(geometry, c1, c2, c3); -} - -/*! -\brief Assign four values to a geometry (usually a box or segment) -\ingroup assign -\tparam Geometry \tparam_geometry -\tparam Type \tparam_numeric to specify the coordinates -\param geometry \param_geometry -\param c1 First coordinate (usually x1) -\param c2 Second coordinate (usually y1) -\param c3 Third coordinate (usually x2) -\param c4 Fourth coordinate (usually y2) - -\qbk{distinguish, 4 coordinate values} - */ -template -inline void assign_values(Geometry& geometry, - Type const& c1, Type const& c2, Type const& c3, Type const& c4) -{ - concepts::check(); - - dispatch::assign - < - typename tag::type, - Geometry, - geometry::dimension::type::value - >::apply(geometry, c1, c2, c3, c4); -} - - - -namespace resolve_variant -{ - -template -struct assign -{ - static inline void - apply(Geometry1& geometry1, const Geometry2& geometry2) - { - concepts::check(); - concepts::check(); - concepts::check_concepts_and_equal_dimensions(); - - static bool const same_point_order - = point_order::value == point_order::value; - BOOST_MPL_ASSERT_MSG - ( - (same_point_order), - ASSIGN_IS_NOT_SUPPORTED_FOR_DIFFERENT_POINT_ORDER, - (types) - ); - static bool const same_closure - = closure::value == closure::value; - BOOST_MPL_ASSERT_MSG - ( - (same_closure), - ASSIGN_IS_NOT_SUPPORTED_FOR_DIFFERENT_CLOSURE, - (types) - ); - - dispatch::convert::apply(geometry2, geometry1); - } -}; - - -template -struct assign, Geometry2> -{ - struct visitor: static_visitor - { - Geometry2 const& m_geometry2; - - visitor(Geometry2 const& geometry2) - : m_geometry2(geometry2) - {} - - template - result_type operator()(Geometry1& geometry1) const - { - return assign - < - Geometry1, - Geometry2 - >::apply - (geometry1, m_geometry2); - } - }; - - static inline void - apply(variant& geometry1, - Geometry2 const& geometry2) - { - return boost::apply_visitor(visitor(geometry2), geometry1); - } -}; - - -template -struct assign > -{ - struct visitor: static_visitor - { - Geometry1& m_geometry1; - - visitor(Geometry1 const& geometry1) - : m_geometry1(geometry1) - {} - - template - result_type operator()(Geometry2 const& geometry2) const - { - return assign - < - Geometry1, - Geometry2 - >::apply - (m_geometry1, geometry2); - } - }; - - static inline void - apply(Geometry1& geometry1, - variant const& geometry2) - { - return boost::apply_visitor(visitor(geometry1), geometry2); - } -}; - - -template -struct assign, variant > -{ - struct visitor: static_visitor - { - template - result_type operator()( - Geometry1& geometry1, - Geometry2 const& geometry2) const - { - return assign - < - Geometry1, - Geometry2 - >::apply - (geometry1, geometry2); - } - }; - - static inline void - apply(variant& geometry1, - variant const& geometry2) - { - return boost::apply_visitor(visitor(), geometry1, geometry2); - } -}; - -} // namespace resolve_variant - - -/*! -\brief Assigns one geometry to another geometry -\details The assign algorithm assigns one geometry, e.g. a BOX, to another -geometry, e.g. a RING. This only works if it is possible and applicable. -\ingroup assign -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\param geometry1 \param_geometry (target) -\param geometry2 \param_geometry (source) - -\qbk{ -[heading Example] -[assign] [assign_output] - -[heading See also] -\* [link geometry.reference.algorithms.convert convert] -} - */ -template -inline void assign(Geometry1& geometry1, Geometry2 const& geometry2) -{ - resolve_variant::assign::apply(geometry1, geometry2); -} - - -}} // namespace boost::geometry - - - -#endif // BOOST_GEOMETRY_ALGORITHMS_ASSIGN_HPP diff --git a/include/boost/bgeometry/algorithms/centroid.hpp b/include/boost/bgeometry/algorithms/centroid.hpp deleted file mode 100644 index b8ab34d5322..00000000000 --- a/include/boost/bgeometry/algorithms/centroid.hpp +++ /dev/null @@ -1,681 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2014-2017 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2014, 2015. -// Modifications copyright (c) 2014-2015 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_CENTROID_HPP -#define BOOST_GEOMETRY_ALGORITHMS_CENTROID_HPP - - -#include - -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include - - -namespace boost { namespace geometry -{ - - -#if ! defined(BOOST_GEOMETRY_CENTROID_NO_THROW) - -/*! -\brief Centroid Exception -\ingroup centroid -\details The centroid_exception is thrown if the free centroid function is called with - geometries for which the centroid cannot be calculated. For example: a linestring - without points, a polygon without points, an empty multi-geometry. -\qbk{ -[heading See also] -\* [link geometry.reference.algorithms.centroid the centroid function] -} - - */ -class centroid_exception : public geometry::exception -{ -public: - - /*! - \brief The default constructor - */ - inline centroid_exception() {} - - /*! - \brief Returns the explanatory string. - \return Pointer to a null-terminated string with explanatory information. - */ - virtual char const* what() const throw() - { - return "Boost.Geometry Centroid calculation exception"; - } -}; - -#endif - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace centroid -{ - -struct centroid_point -{ - template - static inline void apply(Point const& point, PointCentroid& centroid, - Strategy const&) - { - geometry::convert(point, centroid); - } -}; - -template -< - typename Indexed, - typename Point, - std::size_t Dimension = 0, - std::size_t DimensionCount = dimension::type::value -> -struct centroid_indexed_calculator -{ - typedef typename select_coordinate_type - < - Indexed, Point - >::type coordinate_type; - static inline void apply(Indexed const& indexed, Point& centroid) - { - coordinate_type const c1 = get(indexed); - coordinate_type const c2 = get(indexed); - coordinate_type m = c1 + c2; - coordinate_type const two = 2; - m /= two; - - set(centroid, m); - - centroid_indexed_calculator - < - Indexed, Point, Dimension + 1 - >::apply(indexed, centroid); - } -}; - - -template -struct centroid_indexed_calculator -{ - static inline void apply(Indexed const& , Point& ) - { - } -}; - - -struct centroid_indexed -{ - template - static inline void apply(Indexed const& indexed, Point& centroid, - Strategy const&) - { - centroid_indexed_calculator - < - Indexed, Point - >::apply(indexed, centroid); - } -}; - - -// There is one thing where centroid is different from e.g. within. -// If the ring has only one point, it might make sense that -// that point is the centroid. -template -inline bool range_ok(Range const& range, Point& centroid) -{ - std::size_t const n = boost::size(range); - if (n > 1) - { - return true; - } - else if (n <= 0) - { -#if ! defined(BOOST_GEOMETRY_CENTROID_NO_THROW) - BOOST_THROW_EXCEPTION(centroid_exception()); -#else - return false; -#endif - } - else // if (n == 1) - { - // Take over the first point in a "coordinate neutral way" - geometry::convert(*boost::begin(range), centroid); - return false; - } - //return true; // unreachable -} - -/*! - \brief Calculate the centroid of a Ring or a Linestring. -*/ -template -struct centroid_range_state -{ - template - static inline void apply(Ring const& ring, - PointTransformer const& transformer, - Strategy const& strategy, - typename Strategy::state_type& state) - { - boost::ignore_unused(strategy); - - typedef typename geometry::point_type::type point_type; - typedef typename closeable_view::type view_type; - - typedef typename boost::range_iterator::type iterator_type; - - view_type view(ring); - iterator_type it = boost::begin(view); - iterator_type end = boost::end(view); - - if (it != end) - { - typename PointTransformer::result_type - previous_pt = transformer.apply(*it); - - for ( ++it ; it != end ; ++it) - { - typename PointTransformer::result_type - pt = transformer.apply(*it); - - strategy.apply(static_cast(previous_pt), - static_cast(pt), - state); - - previous_pt = pt; - } - } - } -}; - -template -struct centroid_range -{ - template - static inline bool apply(Range const& range, Point& centroid, - Strategy const& strategy) - { - if (range_ok(range, centroid)) - { - // prepare translation transformer - translating_transformer transformer(*boost::begin(range)); - - typename Strategy::state_type state; - centroid_range_state::apply(range, transformer, - strategy, state); - - if ( strategy.result(state, centroid) ) - { - // translate the result back - transformer.apply_reverse(centroid); - return true; - } - } - - return false; - } -}; - - -/*! - \brief Centroid of a polygon. - \note Because outer ring is clockwise, inners are counter clockwise, - triangle approach is OK and works for polygons with rings. -*/ -struct centroid_polygon_state -{ - template - static inline void apply(Polygon const& poly, - PointTransformer const& transformer, - Strategy const& strategy, - typename Strategy::state_type& state) - { - typedef typename ring_type::type ring_type; - typedef centroid_range_state::value> per_ring; - - per_ring::apply(exterior_ring(poly), transformer, strategy, state); - - typename interior_return_type::type - rings = interior_rings(poly); - - for (typename detail::interior_iterator::type - it = boost::begin(rings); it != boost::end(rings); ++it) - { - per_ring::apply(*it, transformer, strategy, state); - } - } -}; - -struct centroid_polygon -{ - template - static inline bool apply(Polygon const& poly, Point& centroid, - Strategy const& strategy) - { - if (range_ok(exterior_ring(poly), centroid)) - { - // prepare translation transformer - translating_transformer - transformer(*boost::begin(exterior_ring(poly))); - - typename Strategy::state_type state; - centroid_polygon_state::apply(poly, transformer, strategy, state); - - if ( strategy.result(state, centroid) ) - { - // translate the result back - transformer.apply_reverse(centroid); - return true; - } - } - - return false; - } -}; - - -/*! - \brief Building block of a multi-point, to be used as Policy in the - more generec centroid_multi -*/ -struct centroid_multi_point_state -{ - template - static inline void apply(Point const& point, - PointTransformer const& transformer, - Strategy const& strategy, - typename Strategy::state_type& state) - { - boost::ignore_unused(strategy); - strategy.apply(static_cast(transformer.apply(point)), - state); - } -}; - - -/*! - \brief Generic implementation which calls a policy to calculate the - centroid of the total of its single-geometries - \details The Policy is, in general, the single-version, with state. So - detail::centroid::centroid_polygon_state is used as a policy for this - detail::centroid::centroid_multi - -*/ -template -struct centroid_multi -{ - template - static inline bool apply(Multi const& multi, - Point& centroid, - Strategy const& strategy) - { -#if ! defined(BOOST_GEOMETRY_CENTROID_NO_THROW) - // If there is nothing in any of the ranges, it is not possible - // to calculate the centroid - if (geometry::is_empty(multi)) - { - BOOST_THROW_EXCEPTION(centroid_exception()); - } -#endif - - // prepare translation transformer - translating_transformer transformer(multi); - - typename Strategy::state_type state; - - for (typename boost::range_iterator::type - it = boost::begin(multi); - it != boost::end(multi); - ++it) - { - Policy::apply(*it, transformer, strategy, state); - } - - if ( strategy.result(state, centroid) ) - { - // translate the result back - transformer.apply_reverse(centroid); - return true; - } - - return false; - } -}; - - -template -struct centroid_linear_areal -{ - template - static inline void apply(Geometry const& geom, - Point& centroid, - Strategy const& strategy) - { - if ( ! Algorithm::apply(geom, centroid, strategy) ) - { - geometry::point_on_border(centroid, geom); - } - } -}; - - -}} // namespace detail::centroid -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename Geometry, - typename Tag = typename tag::type -> -struct centroid: not_implemented -{}; - -template -struct centroid - : detail::centroid::centroid_point -{}; - -template -struct centroid - : detail::centroid::centroid_indexed -{}; - -template -struct centroid - : detail::centroid::centroid_indexed -{}; - -template -struct centroid - : detail::centroid::centroid_linear_areal - < - detail::centroid::centroid_range::value> - > -{}; - -template -struct centroid - : detail::centroid::centroid_linear_areal - < - detail::centroid::centroid_range - > -{}; - -template -struct centroid - : detail::centroid::centroid_linear_areal - < - detail::centroid::centroid_polygon - > -{}; - -template -struct centroid - : detail::centroid::centroid_linear_areal - < - detail::centroid::centroid_multi - < - detail::centroid::centroid_range_state - > - > -{}; - -template -struct centroid - : detail::centroid::centroid_linear_areal - < - detail::centroid::centroid_multi - < - detail::centroid::centroid_polygon_state - > - > -{}; - -template -struct centroid - : detail::centroid::centroid_multi - < - detail::centroid::centroid_multi_point_state - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -namespace resolve_strategy { - -template -struct centroid -{ - template - static inline void apply(Geometry const& geometry, Point& out, Strategy const& strategy) - { - dispatch::centroid::apply(geometry, out, strategy); - } - - template - static inline void apply(Geometry const& geometry, Point& out, default_strategy) - { - typedef typename strategy::centroid::services::default_strategy - < - typename cs_tag::type, - typename tag_cast - < - typename tag::type, - pointlike_tag, - linear_tag, - areal_tag - >::type, - dimension::type::value, - Point, - Geometry - >::type strategy_type; - - dispatch::centroid::apply(geometry, out, strategy_type()); - } -}; - -} // namespace resolve_strategy - - -namespace resolve_variant { - -template -struct centroid -{ - template - static inline void apply(Geometry const& geometry, Point& out, Strategy const& strategy) - { - concepts::check_concepts_and_equal_dimensions(); - resolve_strategy::centroid::apply(geometry, out, strategy); - } -}; - -template -struct centroid > -{ - template - struct visitor: boost::static_visitor - { - Point& m_out; - Strategy const& m_strategy; - - visitor(Point& out, Strategy const& strategy) - : m_out(out), m_strategy(strategy) - {} - - template - void operator()(Geometry const& geometry) const - { - centroid::apply(geometry, m_out, m_strategy); - } - }; - - template - static inline void - apply(boost::variant const& geometry, - Point& out, - Strategy const& strategy) - { - boost::apply_visitor(visitor(out, strategy), geometry); - } -}; - -} // namespace resolve_variant - - -/*! -\brief \brief_calc{centroid} \brief_strategy -\ingroup centroid -\details \details_calc{centroid,geometric center (or: center of mass)}. \details_strategy_reasons -\tparam Geometry \tparam_geometry -\tparam Point \tparam_point -\tparam Strategy \tparam_strategy{Centroid} -\param geometry \param_geometry -\param c \param_point \param_set{centroid} -\param strategy \param_strategy{centroid} - -\qbk{distinguish,with strategy} -\qbk{[include reference/algorithms/centroid.qbk]} -\qbk{[include reference/algorithms/centroid_strategies.qbk]} -} - -*/ -template -inline void centroid(Geometry const& geometry, Point& c, - Strategy const& strategy) -{ - resolve_variant::centroid::apply(geometry, c, strategy); -} - - -/*! -\brief \brief_calc{centroid} -\ingroup centroid -\details \details_calc{centroid,geometric center (or: center of mass)}. \details_default_strategy -\tparam Geometry \tparam_geometry -\tparam Point \tparam_point -\param geometry \param_geometry -\param c The calculated centroid will be assigned to this point reference - -\qbk{[include reference/algorithms/centroid.qbk]} -\qbk{ -[heading Example] -[centroid] -[centroid_output] -} - */ -template -inline void centroid(Geometry const& geometry, Point& c) -{ - geometry::centroid(geometry, c, default_strategy()); -} - - -/*! -\brief \brief_calc{centroid} -\ingroup centroid -\details \details_calc{centroid,geometric center (or: center of mass)}. \details_return{centroid}. -\tparam Point \tparam_point -\tparam Geometry \tparam_geometry -\param geometry \param_geometry -\return \return_calc{centroid} - -\qbk{[include reference/algorithms/centroid.qbk]} - */ -template -inline Point return_centroid(Geometry const& geometry) -{ - Point c; - geometry::centroid(geometry, c); - return c; -} - -/*! -\brief \brief_calc{centroid} \brief_strategy -\ingroup centroid -\details \details_calc{centroid,geometric center (or: center of mass)}. \details_return{centroid}. \details_strategy_reasons -\tparam Point \tparam_point -\tparam Geometry \tparam_geometry -\tparam Strategy \tparam_strategy{centroid} -\param geometry \param_geometry -\param strategy \param_strategy{centroid} -\return \return_calc{centroid} - -\qbk{distinguish,with strategy} -\qbk{[include reference/algorithms/centroid.qbk]} -\qbk{[include reference/algorithms/centroid_strategies.qbk]} - */ -template -inline Point return_centroid(Geometry const& geometry, Strategy const& strategy) -{ - Point c; - geometry::centroid(geometry, c, strategy); - return c; -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_CENTROID_HPP diff --git a/include/boost/bgeometry/algorithms/clear.hpp b/include/boost/bgeometry/algorithms/clear.hpp deleted file mode 100644 index 2afc8ca1a7c..00000000000 --- a/include/boost/bgeometry/algorithms/clear.hpp +++ /dev/null @@ -1,197 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_CLEAR_HPP -#define BOOST_GEOMETRY_ALGORITHMS_CLEAR_HPP - - -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace clear -{ - -template -struct collection_clear -{ - static inline void apply(Geometry& geometry) - { - traits::clear::apply(geometry); - } -}; - -template -struct polygon_clear -{ - static inline void apply(Polygon& polygon) - { - traits::clear - < - typename boost::remove_reference - < - typename traits::interior_mutable_type::type - >::type - >::apply(interior_rings(polygon)); - traits::clear - < - typename boost::remove_reference - < - typename traits::ring_mutable_type::type - >::type - >::apply(exterior_ring(polygon)); - } -}; - -template -struct no_action -{ - static inline void apply(Geometry& ) - { - } -}; - - -}} // namespace detail::clear -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename Geometry, - typename Tag = typename tag_cast::type, multi_tag>::type -> -struct clear: not_implemented -{}; - -// Point/box/segment do not have clear. So specialize to do nothing. -template -struct clear - : detail::clear::no_action -{}; - -template -struct clear - : detail::clear::no_action -{}; - -template -struct clear - : detail::clear::no_action -{}; - -template -struct clear - : detail::clear::collection_clear -{}; - -template -struct clear - : detail::clear::collection_clear -{}; - - -// Polygon can (indirectly) use std for clear -template -struct clear - : detail::clear::polygon_clear -{}; - - -template -struct clear - : detail::clear::collection_clear -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -namespace resolve_variant { - -template -struct clear -{ - static inline void apply(Geometry& geometry) - { - dispatch::clear::apply(geometry); - } -}; - -template -struct clear > -{ - struct visitor: static_visitor - { - template - inline void operator()(Geometry& geometry) const - { - clear::apply(geometry); - } - }; - - static inline void apply(variant& geometry) - { - boost::apply_visitor(visitor(), geometry); - } -}; - -} // namespace resolve_variant - - -/*! -\brief Clears a linestring, ring or polygon (exterior+interiors) or multi* -\details Generic function to clear a geometry. All points will be removed from the collection or collections - making up the geometry. In most cases this is equivalent to the .clear() method of a std::vector<...>. In - the case of a polygon, this clear functionality is automatically called for the exterior ring, and for the - interior ring collection. In the case of a point, boxes and segments, nothing will happen. -\ingroup clear -\tparam Geometry \tparam_geometry -\param geometry \param_geometry which will be cleared -\note points and boxes cannot be cleared, instead they can be set to zero by "assign_zero" - -\qbk{[include reference/algorithms/clear.qbk]} -*/ -template -inline void clear(Geometry& geometry) -{ - concepts::check(); - - resolve_variant::clear::apply(geometry); -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_CLEAR_HPP diff --git a/include/boost/bgeometry/algorithms/convert.hpp b/include/boost/bgeometry/algorithms/convert.hpp deleted file mode 100644 index 204dc278666..00000000000 --- a/include/boost/bgeometry/algorithms/convert.hpp +++ /dev/null @@ -1,559 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_CONVERT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_CONVERT_HPP - - -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -// Silence warning C4127: conditional expression is constant -// Silence warning C4512: assignment operator could not be generated -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable : 4127 4512) -#endif - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace conversion -{ - -template -< - typename Point, - typename Box, - std::size_t Index, - std::size_t Dimension, - std::size_t DimensionCount -> -struct point_to_box -{ - static inline void apply(Point const& point, Box& box) - { - typedef typename coordinate_type::type coordinate_type; - - set(box, - boost::numeric_cast(get(point))); - point_to_box - < - Point, Box, - Index, Dimension + 1, DimensionCount - >::apply(point, box); - } -}; - - -template -< - typename Point, - typename Box, - std::size_t Index, - std::size_t DimensionCount -> -struct point_to_box -{ - static inline void apply(Point const& , Box& ) - {} -}; - -template -struct box_to_range -{ - static inline void apply(Box const& box, Range& range) - { - traits::resize::apply(range, Close ? 5 : 4); - assign_box_corners_oriented(box, range); - if (Close) - { - range::at(range, 4) = range::at(range, 0); - } - } -}; - -template -struct segment_to_range -{ - static inline void apply(Segment const& segment, Range& range) - { - traits::resize::apply(range, 2); - - typename boost::range_iterator::type it = boost::begin(range); - - assign_point_from_index<0>(segment, *it); - ++it; - assign_point_from_index<1>(segment, *it); - } -}; - -template -< - typename Range1, - typename Range2, - bool Reverse = false -> -struct range_to_range -{ - typedef typename reversible_view - < - Range1 const, - Reverse ? iterate_reverse : iterate_forward - >::type rview_type; - typedef typename closeable_view - < - rview_type const, - geometry::closure::value - >::type view_type; - - static inline void apply(Range1 const& source, Range2& destination) - { - geometry::clear(destination); - - rview_type rview(source); - - // We consider input always as closed, and skip last - // point for open output. - view_type view(rview); - - typedef typename boost::range_size::type size_type; - size_type n = boost::size(view); - if (geometry::closure::value == geometry::open) - { - n--; - } - - // If size == 0 && geometry::open <=> n = numeric_limits::max() - // but ok, sice below it == end() - - size_type i = 0; - for (typename boost::range_iterator::type it - = boost::begin(view); - it != boost::end(view) && i < n; - ++it, ++i) - { - geometry::append(destination, *it); - } - } -}; - -template -struct polygon_to_polygon -{ - typedef range_to_range - < - typename geometry::ring_type::type, - typename geometry::ring_type::type, - geometry::point_order::value - != geometry::point_order::value - > per_ring; - - static inline void apply(Polygon1 const& source, Polygon2& destination) - { - // Clearing managed per ring, and in the resizing of interior rings - - per_ring::apply(geometry::exterior_ring(source), - geometry::exterior_ring(destination)); - - // Container should be resizable - traits::resize - < - typename boost::remove_reference - < - typename traits::interior_mutable_type::type - >::type - >::apply(interior_rings(destination), num_interior_rings(source)); - - typename interior_return_type::type - rings_source = interior_rings(source); - typename interior_return_type::type - rings_dest = interior_rings(destination); - - typename detail::interior_iterator::type - it_source = boost::begin(rings_source); - typename detail::interior_iterator::type - it_dest = boost::begin(rings_dest); - - for ( ; it_source != boost::end(rings_source); ++it_source, ++it_dest) - { - per_ring::apply(*it_source, *it_dest); - } - } -}; - -template -struct single_to_multi: private Policy -{ - static inline void apply(Single const& single, Multi& multi) - { - traits::resize::apply(multi, 1); - Policy::apply(single, *boost::begin(multi)); - } -}; - - - -template -struct multi_to_multi: private Policy -{ - static inline void apply(Multi1 const& multi1, Multi2& multi2) - { - traits::resize::apply(multi2, boost::size(multi1)); - - typename boost::range_iterator::type it1 - = boost::begin(multi1); - typename boost::range_iterator::type it2 - = boost::begin(multi2); - - for (; it1 != boost::end(multi1); ++it1, ++it2) - { - Policy::apply(*it1, *it2); - } - } -}; - - -}} // namespace detail::conversion -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename Geometry1, typename Geometry2, - typename Tag1 = typename tag_cast::type, multi_tag>::type, - typename Tag2 = typename tag_cast::type, multi_tag>::type, - std::size_t DimensionCount = dimension::type::value, - bool UseAssignment = boost::is_same::value - && !boost::is_array::value -> -struct convert: not_implemented > -{}; - - -template -< - typename Geometry1, typename Geometry2, - typename Tag, - std::size_t DimensionCount -> -struct convert -{ - // Same geometry type -> copy whole geometry - static inline void apply(Geometry1 const& source, Geometry2& destination) - { - destination = source; - } -}; - - -template -< - typename Geometry1, typename Geometry2, - std::size_t DimensionCount -> -struct convert - : detail::conversion::point_to_point -{}; - - -template -< - typename Box1, typename Box2, - std::size_t DimensionCount -> -struct convert - : detail::conversion::indexed_to_indexed -{}; - - -template -< - typename Segment1, typename Segment2, - std::size_t DimensionCount -> -struct convert - : detail::conversion::indexed_to_indexed -{}; - - -template -struct convert - : detail::conversion::segment_to_range -{}; - - -template -struct convert - : detail::conversion::range_to_range - < - Ring1, - Ring2, - geometry::point_order::value - != geometry::point_order::value - > -{}; - -template -struct convert - : detail::conversion::range_to_range -{}; - -template -struct convert - : detail::conversion::polygon_to_polygon -{}; - -template -struct convert - : detail::conversion::box_to_range - < - Box, - Ring, - geometry::closure::value == closed, - geometry::point_order::value == counterclockwise - > -{}; - - -template -struct convert -{ - static inline void apply(Box const& box, Polygon& polygon) - { - typedef typename ring_type::type ring_type; - - convert - < - Box, ring_type, - box_tag, ring_tag, - 2, false - >::apply(box, exterior_ring(polygon)); - } -}; - - -template -struct convert -{ - static inline void apply(Point const& point, Box& box) - { - detail::conversion::point_to_box - < - Point, Box, min_corner, 0, DimensionCount - >::apply(point, box); - detail::conversion::point_to_box - < - Point, Box, max_corner, 0, DimensionCount - >::apply(point, box); - } -}; - - -template -struct convert -{ - static inline void apply(Ring const& ring, Polygon& polygon) - { - typedef typename ring_type::type ring_type; - convert - < - Ring, ring_type, - ring_tag, ring_tag, - DimensionCount, false - >::apply(ring, exterior_ring(polygon)); - } -}; - - -template -struct convert -{ - static inline void apply(Polygon const& polygon, Ring& ring) - { - typedef typename ring_type::type ring_type; - - convert - < - ring_type, Ring, - ring_tag, ring_tag, - DimensionCount, false - >::apply(exterior_ring(polygon), ring); - } -}; - - -// Dispatch for multi <-> multi, specifying their single-version as policy. -// Note that, even if the multi-types are mutually different, their single -// version types might be the same and therefore we call boost::is_same again - -template -struct convert - : detail::conversion::multi_to_multi - < - Multi1, - Multi2, - convert - < - typename boost::range_value::type, - typename boost::range_value::type, - typename single_tag_of - < - typename tag::type - >::type, - typename single_tag_of - < - typename tag::type - >::type, - DimensionCount - > - > -{}; - - -template -struct convert - : detail::conversion::single_to_multi - < - Single, - Multi, - convert - < - Single, - typename boost::range_value::type, - typename tag::type, - typename single_tag_of - < - typename tag::type - >::type, - DimensionCount, - false - > - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -namespace resolve_variant { - -template -struct convert -{ - static inline void apply(Geometry1 const& geometry1, Geometry2& geometry2) - { - concepts::check_concepts_and_equal_dimensions(); - dispatch::convert::apply(geometry1, geometry2); - } -}; - -template -struct convert, Geometry2> -{ - struct visitor: static_visitor - { - Geometry2& m_geometry2; - - visitor(Geometry2& geometry2) - : m_geometry2(geometry2) - {} - - template - inline void operator()(Geometry1 const& geometry1) const - { - convert::apply(geometry1, m_geometry2); - } - }; - - static inline void apply( - boost::variant const& geometry1, - Geometry2& geometry2 - ) - { - boost::apply_visitor(visitor(geometry2), geometry1); - } -}; - -} - - -/*! -\brief Converts one geometry to another geometry -\details The convert algorithm converts one geometry, e.g. a BOX, to another -geometry, e.g. a RING. This only works if it is possible and applicable. -If the point-order is different, or the closure is different between two -geometry types, it will be converted correctly by explicitly reversing the -points or closing or opening the polygon rings. -\ingroup convert -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\param geometry1 \param_geometry (source) -\param geometry2 \param_geometry (target) - -\qbk{[include reference/algorithms/convert.qbk]} - */ -template -inline void convert(Geometry1 const& geometry1, Geometry2& geometry2) -{ - resolve_variant::convert::apply(geometry1, geometry2); -} - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_CONVERT_HPP diff --git a/include/boost/bgeometry/algorithms/correct.hpp b/include/boost/bgeometry/algorithms/correct.hpp deleted file mode 100644 index ea952c2ba40..00000000000 --- a/include/boost/bgeometry/algorithms/correct.hpp +++ /dev/null @@ -1,375 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2017. -// Modifications copyright (c) 2017 Oracle and/or its affiliates. -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_CORRECT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_CORRECT_HPP - - -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry -{ - -// Silence warning C4127: conditional expression is constant -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable : 4127) -#endif - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace correct -{ - -template -struct correct_nop -{ - template - static inline void apply(Geometry& , Strategy const& ) - {} -}; - - -template -struct correct_box_loop -{ - typedef typename coordinate_type::type coordinate_type; - - static inline void apply(Box& box) - { - if (get(box) > get(box)) - { - // Swap the coordinates - coordinate_type max_value = get(box); - coordinate_type min_value = get(box); - set(box, min_value); - set(box, max_value); - } - - correct_box_loop - < - Box, Dimension + 1, DimensionCount - >::apply(box); - } -}; - - - -template -struct correct_box_loop -{ - static inline void apply(Box& ) - {} - -}; - - -// Correct a box: make min/max correct -template -struct correct_box -{ - template - static inline void apply(Box& box, Strategy const& ) - { - // Currently only for Cartesian coordinates - // (or spherical without crossing dateline) - // Future version: adapt using strategies - correct_box_loop - < - Box, 0, dimension::type::value - >::apply(box); - } -}; - - -// Close a ring, if not closed -template class Predicate> -struct correct_ring -{ - typedef typename point_type::type point_type; - typedef typename coordinate_type::type coordinate_type; - - typedef detail::area::ring_area - < - order_as_direction::value>::value, - geometry::closure::value - > ring_area_type; - - - template - static inline void apply(Ring& r, Strategy const& strategy) - { - // Check close-ness - if (boost::size(r) > 2) - { - // check if closed, if not, close it - bool const disjoint = geometry::disjoint(*boost::begin(r), *(boost::end(r) - 1)); - closure_selector const s = geometry::closure::value; - - if (disjoint && (s == closed)) - { - geometry::append(r, *boost::begin(r)); - } - if (! disjoint && s != closed) - { - // Open it by removing last point - geometry::traits::resize::apply(r, boost::size(r) - 1); - } - } - // Check area - typedef typename Strategy::return_type area_result_type; - Predicate predicate; - area_result_type const zero = 0; - if (predicate(ring_area_type::apply(r, strategy), zero)) - { - std::reverse(boost::begin(r), boost::end(r)); - } - } -}; - -// Correct a polygon: normalizes all rings, sets outer ring clockwise, sets all -// inner rings counter clockwise (or vice versa depending on orientation) -template -struct correct_polygon -{ - typedef typename ring_type::type ring_type; - - template - static inline void apply(Polygon& poly, Strategy const& strategy) - { - correct_ring - < - ring_type, - std::less - >::apply(exterior_ring(poly), strategy); - - typename interior_return_type::type - rings = interior_rings(poly); - for (typename detail::interior_iterator::type - it = boost::begin(rings); it != boost::end(rings); ++it) - { - correct_ring - < - ring_type, - std::greater - >::apply(*it, strategy); - } - } -}; - - -}} // namespace detail::correct -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template ::type> -struct correct: not_implemented -{}; - -template -struct correct - : detail::correct::correct_nop -{}; - -template -struct correct - : detail::correct::correct_nop -{}; - -template -struct correct - : detail::correct::correct_nop -{}; - - -template -struct correct - : detail::correct::correct_box -{}; - -template -struct correct - : detail::correct::correct_ring - < - Ring, - std::less - > -{}; - -template -struct correct - : detail::correct::correct_polygon -{}; - - -template -struct correct - : detail::correct::correct_nop -{}; - - -template -struct correct - : detail::correct::correct_nop -{}; - - -template -struct correct - : detail::multi_modify - < - Geometry, - detail::correct::correct_polygon - < - typename boost::range_value::type - > - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -namespace resolve_variant { - -template -struct correct -{ - template - static inline void apply(Geometry& geometry, Strategy const& strategy) - { - concepts::check(); - dispatch::correct::apply(geometry, strategy); - } -}; - -template -struct correct > -{ - template - struct visitor: boost::static_visitor - { - Strategy const& m_strategy; - - visitor(Strategy const& strategy): m_strategy(strategy) {} - - template - void operator()(Geometry& geometry) const - { - correct::apply(geometry, m_strategy); - } - }; - - template - static inline void - apply(boost::variant& geometry, Strategy const& strategy) - { - boost::apply_visitor(visitor(strategy), geometry); - } -}; - -} // namespace resolve_variant - - -/*! -\brief Corrects a geometry -\details Corrects a geometry: all rings which are wrongly oriented with respect - to their expected orientation are reversed. To all rings which do not have a - closing point and are typed as they should have one, the first point is - appended. Also boxes can be corrected. -\ingroup correct -\tparam Geometry \tparam_geometry -\param geometry \param_geometry which will be corrected if necessary - -\qbk{[include reference/algorithms/correct.qbk]} -*/ -template -inline void correct(Geometry& geometry) -{ - typedef typename point_type::type point_type; - - typedef typename strategy::area::services::default_strategy - < - typename cs_tag::type, - point_type - >::type strategy_type; - - resolve_variant::correct::apply(geometry, strategy_type()); -} - -/*! -\brief Corrects a geometry -\details Corrects a geometry: all rings which are wrongly oriented with respect - to their expected orientation are reversed. To all rings which do not have a - closing point and are typed as they should have one, the first point is - appended. Also boxes can be corrected. -\ingroup correct -\tparam Geometry \tparam_geometry -\tparam Strategy \tparam_strategy{Area} -\param geometry \param_geometry which will be corrected if necessary -\param strategy \param_strategy{area} - -\qbk{distinguish,with strategy} - -\qbk{[include reference/algorithms/correct.qbk]} -*/ -template -inline void correct(Geometry& geometry, Strategy const& strategy) -{ - resolve_variant::correct::apply(geometry, strategy); -} - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_CORRECT_HPP diff --git a/include/boost/bgeometry/algorithms/covered_by.hpp b/include/boost/bgeometry/algorithms/covered_by.hpp deleted file mode 100644 index 544fe640315..00000000000 --- a/include/boost/bgeometry/algorithms/covered_by.hpp +++ /dev/null @@ -1,27 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2013, 2014, 2017. -// Modifications copyright (c) 2013-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_COVERED_BY_HPP -#define BOOST_GEOMETRY_ALGORITHMS_COVERED_BY_HPP - - -#include -#include - - -#endif // BOOST_GEOMETRY_ALGORITHMS_COVERED_BY_HPP diff --git a/include/boost/bgeometry/algorithms/detail/assign_box_corners.hpp b/include/boost/bgeometry/algorithms/detail/assign_box_corners.hpp deleted file mode 100644 index 6b73a58e747..00000000000 --- a/include/boost/bgeometry/algorithms/detail/assign_box_corners.hpp +++ /dev/null @@ -1,107 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ASSIGN_BOX_CORNERS_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ASSIGN_BOX_CORNERS_HPP - - -#include - -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ -// Note: this is moved to namespace detail because the names and parameter orders -// are not yet 100% clear. - -/*! -\brief Assign the four points of a 2D box -\ingroup assign -\note The order is crucial. Most logical is LOWER, UPPER and sub-order LEFT, RIGHT - so this is how it is implemented. -\tparam Box \tparam_box -\tparam Point \tparam_point -\param box \param_box -\param lower_left point being assigned to lower left coordinates of the box -\param lower_right point being assigned to lower right coordinates of the box -\param upper_left point being assigned to upper left coordinates of the box -\param upper_right point being assigned to upper right coordinates of the box - -\qbk{ -[heading Example] -[assign_box_corners] [assign_box_corners_output] -} -*/ -template -inline void assign_box_corners(Box const& box, - Point& lower_left, Point& lower_right, - Point& upper_left, Point& upper_right) -{ - concepts::check(); - concepts::check(); - - detail::assign::assign_box_2d_corner - (box, lower_left); - detail::assign::assign_box_2d_corner - (box, lower_right); - detail::assign::assign_box_2d_corner - (box, upper_left); - detail::assign::assign_box_2d_corner - (box, upper_right); -} - -// Silence warning C4127: conditional expression is constant -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable : 4127) -#endif - - -template -inline void assign_box_corners_oriented(Box const& box, Range& corners) -{ - if (Reverse) - { - // make counterclockwise ll,lr,ur,ul - assign_box_corners(box, - range::at(corners, 0), range::at(corners, 1), - range::at(corners, 3), range::at(corners, 2)); - } - else - { - // make clockwise ll,ul,ur,lr - assign_box_corners(box, - range::at(corners, 0), range::at(corners, 3), - range::at(corners, 1), range::at(corners, 2)); - } -} -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ASSIGN_BOX_CORNERS_HPP diff --git a/include/boost/bgeometry/algorithms/detail/assign_indexed_point.hpp b/include/boost/bgeometry/algorithms/detail/assign_indexed_point.hpp deleted file mode 100644 index d56f2bbd404..00000000000 --- a/include/boost/bgeometry/algorithms/detail/assign_indexed_point.hpp +++ /dev/null @@ -1,94 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ASSIGN_INDEXED_POINT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ASSIGN_INDEXED_POINT_HPP - - -#include - -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - -/*! -\brief Assign a box or segment with the value of a point -\ingroup assign -\tparam Index indicates which box-corner, min_corner (0) or max_corner (1) - or which point of segment (0/1) -\tparam Point \tparam_point -\tparam Geometry \tparam_box_or_segment -\param point \param_point -\param geometry \param_box_or_segment - -\qbk{ -[heading Example] -[assign_point_to_index] [assign_point_to_index_output] -} -*/ -template -inline void assign_point_to_index(Point const& point, Geometry& geometry) -{ - concepts::check(); - concepts::check(); - - detail::assign::assign_point_to_index - < - Geometry, Point, Index, 0, dimension::type::value - >::apply(point, geometry); -} - - -/*! -\brief Assign a point with a point of a box or segment -\ingroup assign -\tparam Index indicates which box-corner, min_corner (0) or max_corner (1) - or which point of segment (0/1) -\tparam Geometry \tparam_box_or_segment -\tparam Point \tparam_point -\param geometry \param_box_or_segment -\param point \param_point - -\qbk{ -[heading Example] -[assign_point_from_index] [assign_point_from_index_output] -} -*/ -template -inline void assign_point_from_index(Geometry const& geometry, Point& point) -{ - concepts::check(); - concepts::check(); - - detail::assign::assign_point_from_index - < - Geometry, Point, Index, 0, dimension::type::value - >::apply(geometry, point); -} - - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ASSIGN_INDEXED_POINT_HPP diff --git a/include/boost/bgeometry/algorithms/detail/assign_values.hpp b/include/boost/bgeometry/algorithms/detail/assign_values.hpp deleted file mode 100644 index 3d7b2bfabc8..00000000000 --- a/include/boost/bgeometry/algorithms/detail/assign_values.hpp +++ /dev/null @@ -1,336 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_ASSIGN_VALUES_HPP -#define BOOST_GEOMETRY_ALGORITHMS_ASSIGN_VALUES_HPP - - -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include - - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace assign -{ - - -template -struct initialize -{ - template - static inline void apply(Box& box, typename coordinate_type::type const& value) - { - geometry::set(box, value); - initialize::apply(box, value); - } -}; - - -template -struct initialize -{ - template - static inline void apply(Box&, typename coordinate_type::type const&) - {} -}; - - -struct assign_zero_point -{ - template - static inline void apply(Point& point) - { - geometry::assign_value(point, 0); - } -}; - - -struct assign_inverse_box_or_segment -{ - - template - static inline void apply(BoxOrSegment& geometry) - { - typedef typename point_type::type point_type; - typedef typename coordinate_type::type bound_type; - - initialize<0, 0, dimension::type::value>::apply( - geometry, boost::numeric::bounds::highest() - ); - initialize<1, 0, dimension::type::value>::apply( - geometry, boost::numeric::bounds::lowest() - ); - } -}; - - -struct assign_zero_box_or_segment -{ - template - static inline void apply(BoxOrSegment& geometry) - { - typedef typename coordinate_type::type coordinate_type; - - initialize<0, 0, dimension::type::value>::apply( - geometry, coordinate_type() - ); - initialize<1, 0, dimension::type::value>::apply( - geometry, coordinate_type() - ); - } -}; - - -template -< - std::size_t Corner1, std::size_t Corner2, - typename Box, typename Point -> -inline void assign_box_2d_corner(Box const& box, Point& point) -{ - // Be sure both are 2-Dimensional - assert_dimension(); - assert_dimension(); - - // Copy coordinates - typedef typename coordinate_type::type coordinate_type; - - geometry::set<0>(point, boost::numeric_cast(get(box))); - geometry::set<1>(point, boost::numeric_cast(get(box))); -} - - - -template -< - typename Geometry, typename Point, - std::size_t Index, - std::size_t Dimension, std::size_t DimensionCount -> -struct assign_point_to_index -{ - - static inline void apply(Point const& point, Geometry& geometry) - { - geometry::set(geometry, boost::numeric_cast - < - typename coordinate_type::type - >(geometry::get(point))); - - assign_point_to_index - < - Geometry, Point, Index, Dimension + 1, DimensionCount - >::apply(point, geometry); - } -}; - -template -< - typename Geometry, typename Point, - std::size_t Index, - std::size_t DimensionCount -> -struct assign_point_to_index - < - Geometry, Point, - Index, - DimensionCount, DimensionCount - > -{ - static inline void apply(Point const& , Geometry& ) - { - } -}; - - -template -< - typename Geometry, typename Point, - std::size_t Index, - std::size_t Dimension, std::size_t DimensionCount -> -struct assign_point_from_index -{ - - static inline void apply(Geometry const& geometry, Point& point) - { - geometry::set( point, boost::numeric_cast - < - typename coordinate_type::type - >(geometry::get(geometry))); - - assign_point_from_index - < - Geometry, Point, Index, Dimension + 1, DimensionCount - >::apply(geometry, point); - } -}; - -template -< - typename Geometry, typename Point, - std::size_t Index, - std::size_t DimensionCount -> -struct assign_point_from_index - < - Geometry, Point, - Index, - DimensionCount, DimensionCount - > -{ - static inline void apply(Geometry const&, Point&) - { - } -}; - - -template -struct assign_2d_box_or_segment -{ - typedef typename coordinate_type::type coordinate_type; - - // Here we assign 4 coordinates to a box of segment - // -> Most logical is: x1,y1,x2,y2 - // In case the user reverses x1/x2 or y1/y2, for a box, we could reverse them (THAT IS NOT IMPLEMENTED) - - template - static inline void apply(Geometry& geometry, - Type const& x1, Type const& y1, Type const& x2, Type const& y2) - { - geometry::set<0, 0>(geometry, boost::numeric_cast(x1)); - geometry::set<0, 1>(geometry, boost::numeric_cast(y1)); - geometry::set<1, 0>(geometry, boost::numeric_cast(x2)); - geometry::set<1, 1>(geometry, boost::numeric_cast(y2)); - } -}; - - -}} // namespace detail::assign -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -struct assign -{ - BOOST_MPL_ASSERT_MSG - ( - false, NOT_OR_NOT_YET_IMPLEMENTED_FOR_THIS_GEOMETRY_TYPE - , (types) - ); -}; - -template -struct assign -{ - typedef typename coordinate_type::type coordinate_type; - - template - static inline void apply(Point& point, T const& c1, T const& c2) - { - set<0>(point, boost::numeric_cast(c1)); - set<1>(point, boost::numeric_cast(c2)); - } -}; - -template -struct assign -{ - typedef typename coordinate_type::type coordinate_type; - - template - static inline void apply(Point& point, T const& c1, T const& c2, T const& c3) - { - set<0>(point, boost::numeric_cast(c1)); - set<1>(point, boost::numeric_cast(c2)); - set<2>(point, boost::numeric_cast(c3)); - } -}; - -template -struct assign - : detail::assign::assign_2d_box_or_segment -{}; - -template -struct assign - : detail::assign::assign_2d_box_or_segment -{}; - - - -template -struct assign_zero {}; - - -template -struct assign_zero - : detail::assign::assign_zero_point -{}; - -template -struct assign_zero - : detail::assign::assign_zero_box_or_segment -{}; - -template -struct assign_zero - : detail::assign::assign_zero_box_or_segment -{}; - - -template -struct assign_inverse {}; - -template -struct assign_inverse - : detail::assign::assign_inverse_box_or_segment -{}; - -template -struct assign_inverse - : detail::assign::assign_inverse_box_or_segment -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_ASSIGN_VALUES_HPP diff --git a/include/boost/bgeometry/algorithms/detail/calculate_null.hpp b/include/boost/bgeometry/algorithms/detail/calculate_null.hpp deleted file mode 100644 index 3ebca835069..00000000000 --- a/include/boost/bgeometry/algorithms/detail/calculate_null.hpp +++ /dev/null @@ -1,38 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_CALCULATE_NULL_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_CALCULATE_NULL_HPP - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - -struct calculate_null -{ - template - static inline ReturnType apply(Geometry const& , Strategy const&) - { - return ReturnType(); - } -}; - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_CALCULATE_NULL_HPP diff --git a/include/boost/bgeometry/algorithms/detail/calculate_sum.hpp b/include/boost/bgeometry/algorithms/detail/calculate_sum.hpp deleted file mode 100644 index 732a2f57533..00000000000 --- a/include/boost/bgeometry/algorithms/detail/calculate_sum.hpp +++ /dev/null @@ -1,62 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// This file was modified by Oracle on 2016. -// Modifications copyright (c) 2016 Oracle and/or its affiliates. -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_CALCULATE_SUM_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_CALCULATE_SUM_HPP - -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - - -class calculate_polygon_sum -{ - template - static inline ReturnType sum_interior_rings(Rings const& rings, Strategy const& strategy) - { - ReturnType sum = ReturnType(0); - for (typename boost::range_iterator::type - it = boost::begin(rings); it != boost::end(rings); ++it) - { - sum += Policy::apply(*it, strategy); - } - return sum; - } - -public : - template - static inline ReturnType apply(Polygon const& poly, Strategy const& strategy) - { - return Policy::apply(exterior_ring(poly), strategy) - + sum_interior_rings(interior_rings(poly), strategy) - ; - } -}; - - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_CALCULATE_SUM_HPP diff --git a/include/boost/bgeometry/algorithms/detail/centroid/translating_transformer.hpp b/include/boost/bgeometry/algorithms/detail/centroid/translating_transformer.hpp deleted file mode 100644 index ea8462551db..00000000000 --- a/include/boost/bgeometry/algorithms/detail/centroid/translating_transformer.hpp +++ /dev/null @@ -1,118 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2014. -// Modifications copyright (c) 2014 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_CENTROID_TRANSLATING_TRANSFORMER_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_CENTROID_TRANSLATING_TRANSFORMER_HPP - - -#include -#include -#include - -#include -#include -#include -#include - -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace centroid -{ - - -// NOTE: There is no need to translate in other coordinate systems than -// cartesian. But if it was needed then one should translate using -// CS-specific technique, e.g. in spherical/geographic a translation -// vector should contain coordinates being multiplies of 2PI or 360 deg. -template ::type, - areal_tag - >::type, - typename CSTag = typename cs_tag::type> -struct translating_transformer -{ - typedef typename geometry::point_type::type point_type; - typedef boost::reference_wrapper result_type; - - explicit translating_transformer(Geometry const&) {} - explicit translating_transformer(point_type const&) {} - - result_type apply(point_type const& pt) const - { - return result_type(pt); - } - - template - void apply_reverse(ResPt &) const {} -}; - -// Specialization for Areal Geometries in cartesian CS -template -struct translating_transformer -{ - typedef typename geometry::point_type::type point_type; - typedef point_type result_type; - - explicit translating_transformer(Geometry const& geom) - : m_origin(NULL) - { - geometry::point_iterator - pt_it = geometry::points_begin(geom); - if ( pt_it != geometry::points_end(geom) ) - { - m_origin = boost::addressof(*pt_it); - } - } - - explicit translating_transformer(point_type const& origin) - : m_origin(boost::addressof(origin)) - {} - - result_type apply(point_type const& pt) const - { - point_type res = pt; - if ( m_origin ) - geometry::subtract_point(res, *m_origin); - return res; - } - - template - void apply_reverse(ResPt & res_pt) const - { - if ( m_origin ) - geometry::add_point(res_pt, *m_origin); - } - - const point_type * m_origin; -}; - - -}} // namespace detail::centroid -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_CENTROID_TRANSLATING_TRANSFORMER_HPP diff --git a/include/boost/bgeometry/algorithms/detail/check_iterator_range.hpp b/include/boost/bgeometry/algorithms/detail/check_iterator_range.hpp deleted file mode 100644 index 9bd1d7ae27e..00000000000 --- a/include/boost/bgeometry/algorithms/detail/check_iterator_range.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2014, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Licensed under the Boost Software License version 1.0. -// http://www.boost.org/users/license.html - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_CHECK_ITERATOR_RANGE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_CHECK_ITERATOR_RANGE_HPP - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - -// Check whether (each element of) an iterator range satisfies a given -// predicate. -// The predicate must be implemented as having a static apply unary -// method that returns a bool. -// By default an empty range is accepted -template -struct check_iterator_range -{ - template - static inline bool apply(InputIterator first, InputIterator beyond) - { - for (InputIterator it = first; it != beyond; ++it) - { - if (! Predicate::apply(*it)) - { - return false; - } - } - return AllowEmptyRange || first != beyond; - } - - - // version where we can pass a predicate object - template - static inline bool apply(InputIterator first, - InputIterator beyond, - Predicate const& predicate) - { - // in case predicate's apply method is static, MSVC will - // complain that predicate is not used - boost::ignore_unused(predicate); - - for (InputIterator it = first; it != beyond; ++it) - { - if (! predicate.apply(*it)) - { - return false; - } - } - return AllowEmptyRange || first != beyond; - } -}; - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_CHECK_ITERATOR_RANGE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/comparable_distance/interface.hpp b/include/boost/bgeometry/algorithms/detail/comparable_distance/interface.hpp deleted file mode 100644 index 3a7a7a7f16b..00000000000 --- a/include/boost/bgeometry/algorithms/detail/comparable_distance/interface.hpp +++ /dev/null @@ -1,363 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2014. -// Modifications copyright (c) 2014, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_COMPARABLE_DISTANCE_INTERFACE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_COMPARABLE_DISTANCE_INTERFACE_HPP - -#include - -#include -#include -#include - -#include - - -namespace boost { namespace geometry -{ - - -namespace resolve_strategy -{ - -struct comparable_distance -{ - template - static inline - typename comparable_distance_result::type - apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - typedef typename strategy::distance::services::comparable_type - < - Strategy - >::type comparable_strategy_type; - - return dispatch::distance - < - Geometry1, Geometry2, comparable_strategy_type - >::apply(geometry1, - geometry2, - strategy::distance::services::get_comparable - < - Strategy - >::apply(strategy)); - } - - template - static inline typename comparable_distance_result - < - Geometry1, Geometry2, default_strategy - >::type - apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - default_strategy) - { - typedef typename strategy::distance::services::comparable_type - < - typename detail::distance::default_strategy - < - Geometry1, Geometry2 - >::type - >::type comparable_strategy_type; - - return dispatch::distance - < - Geometry1, Geometry2, comparable_strategy_type - >::apply(geometry1, geometry2, comparable_strategy_type()); - } -}; - -} // namespace resolve_strategy - - -namespace resolve_variant -{ - - -template -struct comparable_distance -{ - template - static inline - typename comparable_distance_result::type - apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return resolve_strategy::comparable_distance::apply(geometry1, - geometry2, - strategy); - } -}; - - -template -struct comparable_distance - < - boost::variant, - Geometry2 - > -{ - template - struct visitor: static_visitor - < - typename comparable_distance_result - < - boost::variant, - Geometry2, - Strategy - >::type - > - { - Geometry2 const& m_geometry2; - Strategy const& m_strategy; - - visitor(Geometry2 const& geometry2, - Strategy const& strategy) - : m_geometry2(geometry2), - m_strategy(strategy) - {} - - template - typename comparable_distance_result - < - Geometry1, Geometry2, Strategy - >::type - operator()(Geometry1 const& geometry1) const - { - return comparable_distance - < - Geometry1, - Geometry2 - >::template apply - < - Strategy - >(geometry1, m_geometry2, m_strategy); - } - }; - - template - static inline typename comparable_distance_result - < - boost::variant, - Geometry2, - Strategy - >::type - apply(boost::variant const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(geometry2, strategy), geometry1); - } -}; - - -template -struct comparable_distance - < - Geometry1, - boost::variant - > -{ - template - struct visitor: static_visitor - < - typename comparable_distance_result - < - Geometry1, - boost::variant, - Strategy - >::type - > - { - Geometry1 const& m_geometry1; - Strategy const& m_strategy; - - visitor(Geometry1 const& geometry1, - Strategy const& strategy) - : m_geometry1(geometry1), - m_strategy(strategy) - {} - - template - typename comparable_distance_result - < - Geometry1, Geometry2, Strategy - >::type - operator()(Geometry2 const& geometry2) const - { - return comparable_distance - < - Geometry1, - Geometry2 - >::template apply - < - Strategy - >(m_geometry1, geometry2, m_strategy); - } - }; - - template - static inline typename comparable_distance_result - < - Geometry1, - boost::variant, - Strategy - >::type - apply(Geometry1 const& geometry1, - boost::variant const& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(geometry1, strategy), geometry2); - } -}; - - -template -< - BOOST_VARIANT_ENUM_PARAMS(typename T1), - BOOST_VARIANT_ENUM_PARAMS(typename T2) -> -struct comparable_distance - < - boost::variant, - boost::variant - > -{ - template - struct visitor: static_visitor - < - typename comparable_distance_result - < - boost::variant, - boost::variant, - Strategy - >::type - > - { - Strategy const& m_strategy; - - visitor(Strategy const& strategy) - : m_strategy(strategy) - {} - - template - typename comparable_distance_result - < - Geometry1, Geometry2, Strategy - >::type - operator()(Geometry1 const& geometry1, Geometry2 const& geometry2) const - { - return comparable_distance - < - Geometry1, - Geometry2 - >::template apply - < - Strategy - >(geometry1, geometry2, m_strategy); - } - }; - - template - static inline typename comparable_distance_result - < - boost::variant, - boost::variant, - Strategy - >::type - apply(boost::variant const& geometry1, - boost::variant const& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(strategy), geometry1, geometry2); - } -}; - -} // namespace resolve_variant - - - -/*! -\brief \brief_calc2{comparable distance measurement} \brief_strategy -\ingroup distance -\details The free function comparable_distance does not necessarily calculate the distance, - but it calculates a distance measure such that two distances are comparable to each other. - For example: for the Cartesian coordinate system, Pythagoras is used but the square root - is not taken, which makes it faster and the results of two point pairs can still be - compared to each other. -\tparam Geometry1 first geometry type -\tparam Geometry2 second geometry type -\tparam Strategy \tparam_strategy{Distance} -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\param strategy \param_strategy{distance} -\return \return_calc{comparable distance} - -\qbk{distinguish,with strategy} - */ -template -inline typename comparable_distance_result::type -comparable_distance(Geometry1 const& geometry1, Geometry2 const& geometry2, - Strategy const& strategy) -{ - concepts::check(); - concepts::check(); - - return resolve_variant::comparable_distance - < - Geometry1, - Geometry2 - >::apply(geometry1, geometry2, strategy); -} - - - -/*! -\brief \brief_calc2{comparable distance measurement} -\ingroup distance -\details The free function comparable_distance does not necessarily calculate the distance, - but it calculates a distance measure such that two distances are comparable to each other. - For example: for the Cartesian coordinate system, Pythagoras is used but the square root - is not taken, which makes it faster and the results of two point pairs can still be - compared to each other. -\tparam Geometry1 first geometry type -\tparam Geometry2 second geometry type -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\return \return_calc{comparable distance} - -\qbk{[include reference/algorithms/comparable_distance.qbk]} - */ -template -inline typename default_comparable_distance_result::type -comparable_distance(Geometry1 const& geometry1, Geometry2 const& geometry2) -{ - concepts::check(); - concepts::check(); - - return geometry::comparable_distance(geometry1, geometry2, default_strategy()); -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_COMPARABLE_DISTANCE_INTERFACE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/convert_indexed_to_indexed.hpp b/include/boost/bgeometry/algorithms/detail/convert_indexed_to_indexed.hpp deleted file mode 100644 index fbf26f18c1b..00000000000 --- a/include/boost/bgeometry/algorithms/detail/convert_indexed_to_indexed.hpp +++ /dev/null @@ -1,80 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_CONVERT_INDEXED_TO_INDEXED_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_CONVERT_INDEXED_TO_INDEXED_HPP - - -#include - -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace conversion -{ - - -template -< - typename Source, - typename Destination, - std::size_t Dimension, - std::size_t DimensionCount -> -struct indexed_to_indexed -{ - static inline void apply(Source const& source, Destination& destination) - { - typedef typename coordinate_type::type coordinate_type; - - geometry::set(destination, - boost::numeric_cast( - geometry::get(source))); - geometry::set(destination, - boost::numeric_cast( - geometry::get(source))); - - indexed_to_indexed - < - Source, Destination, - Dimension + 1, DimensionCount - >::apply(source, destination); - } -}; - -template -< - typename Source, - typename Destination, - std::size_t DimensionCount -> -struct indexed_to_indexed -{ - static inline void apply(Source const& , Destination& ) - {} -}; - - -}} // namespace detail::conversion -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_CONVERT_INDEXED_TO_INDEXED_HPP diff --git a/include/boost/bgeometry/algorithms/detail/convert_point_to_point.hpp b/include/boost/bgeometry/algorithms/detail/convert_point_to_point.hpp deleted file mode 100644 index e70c64d1457..00000000000 --- a/include/boost/bgeometry/algorithms/detail/convert_point_to_point.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_CONVERT_POINT_TO_POINT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_CONVERT_POINT_TO_POINT_HPP - -// Note: extracted from "convert.hpp" to avoid circular references convert/append - -#include - -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace conversion -{ - - -template -struct point_to_point -{ - static inline void apply(Source const& source, Destination& destination) - { - typedef typename coordinate_type::type coordinate_type; - - set(destination, boost::numeric_cast(get(source))); - point_to_point::apply(source, destination); - } -}; - -template -struct point_to_point -{ - static inline void apply(Source const& , Destination& ) - {} -}; - - -template -inline void convert_point_to_point(Source const& source, Destination& destination) -{ - point_to_point::value>::apply(source, destination); -} - - - -}} // namespace detail::conversion -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_CONVERT_POINT_TO_POINT_HPP diff --git a/include/boost/bgeometry/algorithms/detail/counting.hpp b/include/boost/bgeometry/algorithms/detail/counting.hpp deleted file mode 100644 index ce3b4a00d3c..00000000000 --- a/include/boost/bgeometry/algorithms/detail/counting.hpp +++ /dev/null @@ -1,107 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. -// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2014. -// Modifications copyright (c) 2014, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_COUNTING_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_COUNTING_HPP - -#include - -#include - -#include -#include - -#include - -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace counting -{ - - -template -struct other_count -{ - template - static inline std::size_t apply(Geometry const&) - { - return D; - } - - template - static inline std::size_t apply(Geometry const&, bool) - { - return D; - } -}; - - -template -struct polygon_count -{ - template - static inline std::size_t apply(Polygon const& poly) - { - std::size_t n = RangeCount::apply(exterior_ring(poly)); - - typename interior_return_type::type - rings = interior_rings(poly); - for (typename detail::interior_iterator::type - it = boost::begin(rings); it != boost::end(rings); ++it) - { - n += RangeCount::apply(*it); - } - - return n; - } -}; - - -template -struct multi_count -{ - template - static inline std::size_t apply(MultiGeometry const& geometry) - { - std::size_t n = 0; - for (typename boost::range_iterator::type - it = boost::begin(geometry); - it != boost::end(geometry); - ++it) - { - n += SingleCount::apply(*it); - } - return n; - } -}; - - -}} // namespace detail::counting -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_COUNTING_HPP diff --git a/include/boost/bgeometry/algorithms/detail/covered_by/implementation.hpp b/include/boost/bgeometry/algorithms/detail/covered_by/implementation.hpp deleted file mode 100644 index 0f8f3b547f7..00000000000 --- a/include/boost/bgeometry/algorithms/detail/covered_by/implementation.hpp +++ /dev/null @@ -1,280 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2013, 2014, 2017. -// Modifications copyright (c) 2013-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_COVERED_BY_IMPLEMENTATION_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_COVERED_BY_IMPLEMENTATION_HPP - - -#include - -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace covered_by { - -struct use_point_in_geometry -{ - template - static inline bool apply(Geometry1 const& geometry1, Geometry2 const& geometry2, Strategy const& strategy) - { - return detail::within::point_in_geometry(geometry1, geometry2, strategy) >= 0; - } -}; - -struct use_relate -{ - template - static inline bool apply(Geometry1 const& geometry1, Geometry2 const& geometry2, Strategy const& strategy) - { - typedef typename detail::de9im::static_mask_covered_by_type - < - Geometry1, Geometry2 - >::type covered_by_mask; - return geometry::relate(geometry1, geometry2, covered_by_mask(), strategy); - } -}; - -}} // namespace detail::covered_by -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -struct covered_by -{ - template - static inline bool apply(Point const& point, Box const& box, Strategy const& strategy) - { - ::boost::ignore_unused_variable_warning(strategy); - return strategy.apply(point, box); - } -}; - -template -struct covered_by -{ - template - static inline bool apply(Box1 const& box1, Box2 const& box2, Strategy const& strategy) - { - assert_dimension_equal(); - ::boost::ignore_unused_variable_warning(strategy); - return strategy.apply(box1, box2); - } -}; - - -// P/P - -template -struct covered_by - : public detail::covered_by::use_point_in_geometry -{}; - -template -struct covered_by - : public detail::covered_by::use_point_in_geometry -{}; - -template -struct covered_by - : public detail::within::multi_point_point -{}; - -template -struct covered_by - : public detail::within::multi_point_multi_point -{}; - -// P/L - -template -struct covered_by - : public detail::covered_by::use_point_in_geometry -{}; - -template -struct covered_by - : public detail::covered_by::use_point_in_geometry -{}; - -template -struct covered_by - : public detail::covered_by::use_point_in_geometry -{}; - -template -struct covered_by - : public detail::within::multi_point_single_geometry -{}; - -template -struct covered_by - : public detail::within::multi_point_single_geometry -{}; - -template -struct covered_by - : public detail::within::multi_point_multi_geometry -{}; - -// P/A - -template -struct covered_by - : public detail::covered_by::use_point_in_geometry -{}; - -template -struct covered_by - : public detail::covered_by::use_point_in_geometry -{}; - -template -struct covered_by - : public detail::covered_by::use_point_in_geometry -{}; - -template -struct covered_by - : public detail::within::multi_point_single_geometry -{}; - -template -struct covered_by - : public detail::within::multi_point_single_geometry -{}; - -template -struct covered_by - : public detail::within::multi_point_multi_geometry -{}; - -// L/L - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -// L/A - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -// A/A - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -template -struct covered_by - : public detail::covered_by::use_relate -{}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_COVERED_BY_IMPLEMENTATION_HPP diff --git a/include/boost/bgeometry/algorithms/detail/covered_by/interface.hpp b/include/boost/bgeometry/algorithms/detail/covered_by/interface.hpp deleted file mode 100644 index 2bb26f509e9..00000000000 --- a/include/boost/bgeometry/algorithms/detail/covered_by/interface.hpp +++ /dev/null @@ -1,261 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2013, 2014, 2017. -// Modifications copyright (c) 2013-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_COVERED_BY_INTERFACE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_COVERED_BY_INTERFACE_HPP - - -#include -#include -#include - -#include -#include - -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename Geometry1, - typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type -> -struct covered_by - : not_implemented -{}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -namespace resolve_strategy { - -struct covered_by -{ - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - concepts::within::check - < - typename tag::type, - typename tag::type, - typename tag_cast::type, areal_tag>::type, - Strategy - >(); - concepts::check(); - concepts::check(); - assert_dimension_equal(); - - return dispatch::covered_by::apply(geometry1, - geometry2, - strategy); - } - - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - default_strategy) - { - typedef typename strategy::covered_by::services::default_strategy - < - Geometry1, - Geometry2 - >::type strategy_type; - - return covered_by::apply(geometry1, geometry2, strategy_type()); - } -}; - -} // namespace resolve_strategy - - -namespace resolve_variant { - -template -struct covered_by -{ - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return resolve_strategy::covered_by - ::apply(geometry1, geometry2, strategy); - } -}; - -template -struct covered_by, Geometry2> -{ - template - struct visitor: boost::static_visitor - { - Geometry2 const& m_geometry2; - Strategy const& m_strategy; - - visitor(Geometry2 const& geometry2, Strategy const& strategy) - : m_geometry2(geometry2), m_strategy(strategy) {} - - template - bool operator()(Geometry1 const& geometry1) const - { - return covered_by - ::apply(geometry1, m_geometry2, m_strategy); - } - }; - - template - static inline bool - apply(boost::variant const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(geometry2, strategy), geometry1); - } -}; - -template -struct covered_by > -{ - template - struct visitor: boost::static_visitor - { - Geometry1 const& m_geometry1; - Strategy const& m_strategy; - - visitor(Geometry1 const& geometry1, Strategy const& strategy) - : m_geometry1(geometry1), m_strategy(strategy) {} - - template - bool operator()(Geometry2 const& geometry2) const - { - return covered_by - ::apply(m_geometry1, geometry2, m_strategy); - } - }; - - template - static inline bool - apply(Geometry1 const& geometry1, - boost::variant const& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(geometry1, strategy), geometry2); - } -}; - -template < - BOOST_VARIANT_ENUM_PARAMS(typename T1), - BOOST_VARIANT_ENUM_PARAMS(typename T2) -> -struct covered_by< - boost::variant, - boost::variant -> -{ - template - struct visitor: boost::static_visitor - { - Strategy const& m_strategy; - - visitor(Strategy const& strategy): m_strategy(strategy) {} - - template - bool operator()(Geometry1 const& geometry1, - Geometry2 const& geometry2) const - { - return covered_by - ::apply(geometry1, geometry2, m_strategy); - } - }; - - template - static inline bool - apply(boost::variant const& geometry1, - boost::variant const& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(strategy), geometry1, geometry2); - } -}; - -} // namespace resolve_variant - - -/*! -\brief \brief_check12{is inside or on border} -\ingroup covered_by -\details \details_check12{covered_by, is inside or on border}. -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\param geometry1 \param_geometry which might be inside or on the border of the second geometry -\param geometry2 \param_geometry which might cover the first geometry -\return true if geometry1 is inside of or on the border of geometry2, - else false -\note The default strategy is used for covered_by detection - -\qbk{[include reference/algorithms/covered_by.qbk]} - - */ -template -inline bool covered_by(Geometry1 const& geometry1, Geometry2 const& geometry2) -{ - return resolve_variant::covered_by - ::apply(geometry1, geometry2, default_strategy()); -} - -/*! -\brief \brief_check12{is inside or on border} \brief_strategy -\ingroup covered_by -\details \details_check12{covered_by, is inside or on border}, \brief_strategy. \details_strategy_reasons -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\param geometry1 \param_geometry which might be inside or on the border of the second geometry -\param geometry2 \param_geometry which might cover the first geometry -\param strategy strategy to be used -\return true if geometry1 is inside of or on the border of geometry2, - else false - -\qbk{distinguish,with strategy} -\qbk{[include reference/algorithms/covered_by.qbk]} - -*/ -template -inline bool covered_by(Geometry1 const& geometry1, Geometry2 const& geometry2, - Strategy const& strategy) -{ - return resolve_variant::covered_by - ::apply(geometry1, geometry2, strategy); -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_COVERED_BY_INTERFACE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/disjoint/box_box.hpp b/include/boost/bgeometry/algorithms/detail/disjoint/box_box.hpp deleted file mode 100644 index 1946d9d7737..00000000000 --- a/include/boost/bgeometry/algorithms/detail/disjoint/box_box.hpp +++ /dev/null @@ -1,184 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2013-2017. -// Modifications copyright (c) 2013-2017, Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_BOX_BOX_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_BOX_BOX_HPP - -#include - -#include -#include - -#include - -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace disjoint -{ - -template -< - typename Box1, typename Box2, - std::size_t Dimension = 0, - std::size_t DimensionCount = dimension::value, - typename CSTag = typename tag_cast - < - typename cs_tag::type, - spherical_tag - >::type -> -struct box_box -{ - template - static inline bool apply(Box1 const& box1, Box2 const& box2, Strategy const&) - { - return apply(box1, box2); - } - - static inline bool apply(Box1 const& box1, Box2 const& box2) - { - if (get(box1) < get(box2)) - { - return true; - } - if (get(box1) > get(box2)) - { - return true; - } - return box_box - < - Box1, Box2, - Dimension + 1, DimensionCount - >::apply(box1, box2); - } -}; - - -template -struct box_box -{ - static inline bool apply(Box1 const& , Box2 const& ) - { - return false; - } -}; - - -template -struct box_box -{ - template - static inline bool apply(Box1 const& box1, Box2 const& box2, Strategy const&) - { - return apply(box1, box2); - } - - static inline bool apply(Box1 const& box1, Box2 const& box2) - { - typedef typename geometry::select_most_precise - < - typename coordinate_type::type, - typename coordinate_type::type - >::type calc_t; - typedef typename coordinate_system::type::units units_t; - typedef math::detail::constants_on_spheroid constants; - - calc_t const b1_min = get(box1); - calc_t const b1_max = get(box1); - calc_t const b2_min = get(box2); - calc_t const b2_max = get(box2); - - // min <= max <=> diff >= 0 - calc_t const diff1 = b1_max - b1_min; - calc_t const diff2 = b2_max - b2_min; - - // check the intersection if neither box cover the whole globe - if (diff1 < constants::period() && diff2 < constants::period()) - { - // calculate positive longitude translation with b1_min as origin - calc_t const diff_min = math::longitude_distance_unsigned(b1_min, b2_min); - calc_t const b2_min_transl = b1_min + diff_min; // always right of b1_min - calc_t b2_max_transl = b2_min_transl - constants::period() + diff2; - - // if the translation is too close then use the original point - // note that math::abs(b2_max_transl - b2_max) takes values very - // close to k*2*constants::period() for k=0,1,2,... - if (math::abs(b2_max_transl - b2_max) < constants::period() / 2) - { - b2_max_transl = b2_max; - } - - if (b2_min_transl > b1_max // b2_min right of b1_max - && b2_max_transl < b1_min) // b2_max left of b1_min - { - return true; - } - } - - return box_box - < - Box1, Box2, - 1, DimensionCount - >::apply(box1, box2); - } -}; - - -/*! - \brief Internal utility function to detect if boxes are disjoint - \note Is used from other algorithms, declared separately - to avoid circular references - */ -template -inline bool disjoint_box_box(Box1 const& box1, Box2 const& box2) -{ - return box_box::apply(box1, box2); -} - - -}} // namespace detail::disjoint -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct disjoint - : detail::disjoint::box_box -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_BOX_BOX_HPP diff --git a/include/boost/bgeometry/algorithms/detail/disjoint/interface.hpp b/include/boost/bgeometry/algorithms/detail/disjoint/interface.hpp deleted file mode 100644 index 4d94f969417..00000000000 --- a/include/boost/bgeometry/algorithms/detail/disjoint/interface.hpp +++ /dev/null @@ -1,246 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. -// Copyright (c) 2013-2014 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2013-2017. -// Modifications copyright (c) 2013-2017, Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_INTERFACE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_INTERFACE_HPP - -#include - -#include -#include -#include - -#include -#include - -#include - -#include - - -namespace boost { namespace geometry -{ - -namespace resolve_strategy -{ - -struct disjoint -{ - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return dispatch::disjoint - < - Geometry1, Geometry2 - >::apply(geometry1, geometry2, strategy); - } - - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - default_strategy) - { - typedef typename strategy::disjoint::services::default_strategy - < - Geometry1, Geometry2 - >::type strategy_type; - - return dispatch::disjoint - < - Geometry1, Geometry2 - >::apply(geometry1, geometry2, strategy_type()); - } -}; - -} // namespace resolve_strategy - - -namespace resolve_variant { - -template -struct disjoint -{ - template - static inline bool apply(Geometry1 const& geometry1, Geometry2 const& geometry2, Strategy const& strategy) - { - concepts::check_concepts_and_equal_dimensions - < - Geometry1 const, - Geometry2 const - >(); - - return resolve_strategy::disjoint::apply(geometry1, geometry2, strategy); - } -}; - -template -struct disjoint, Geometry2> -{ - template - struct visitor: boost::static_visitor - { - Geometry2 const& m_geometry2; - Strategy const& m_strategy; - - visitor(Geometry2 const& geometry2, Strategy const& strategy) - : m_geometry2(geometry2) - , m_strategy(strategy) - {} - - template - bool operator()(Geometry1 const& geometry1) const - { - return disjoint::apply(geometry1, m_geometry2, m_strategy); - } - }; - - template - static inline bool apply(boost::variant const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(geometry2, strategy), geometry1); - } -}; - -template -struct disjoint > -{ - template - struct visitor: boost::static_visitor - { - Geometry1 const& m_geometry1; - Strategy const& m_strategy; - - visitor(Geometry1 const& geometry1, Strategy const& strategy) - : m_geometry1(geometry1) - , m_strategy(strategy) - {} - - template - bool operator()(Geometry2 const& geometry2) const - { - return disjoint::apply(m_geometry1, geometry2, m_strategy); - } - }; - - template - static inline bool apply(Geometry1 const& geometry1, - boost::variant const& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(geometry1, strategy), geometry2); - } -}; - -template -< - BOOST_VARIANT_ENUM_PARAMS(typename T1), - BOOST_VARIANT_ENUM_PARAMS(typename T2) -> -struct disjoint - < - boost::variant, - boost::variant - > -{ - template - struct visitor: boost::static_visitor - { - Strategy const& m_strategy; - - visitor(Strategy const& strategy) - : m_strategy(strategy) - {} - - template - bool operator()(Geometry1 const& geometry1, - Geometry2 const& geometry2) const - { - return disjoint::apply(geometry1, geometry2, m_strategy); - } - }; - - template - static inline bool apply(boost::variant const& geometry1, - boost::variant const& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(strategy), geometry1, geometry2); - } -}; - -} // namespace resolve_variant - - -/*! -\brief \brief_check2{are disjoint} -\ingroup disjoint -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\tparam Strategy \tparam_strategy{Disjoint} -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\param strategy \param_strategy{disjoint} -\return \return_check2{are disjoint} - -\qbk{distinguish,with strategy} -\qbk{[include reference/algorithms/disjoint.qbk]} -*/ -template -inline bool disjoint(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) -{ - return resolve_variant::disjoint - < - Geometry1, Geometry2 - >::apply(geometry1, geometry2, strategy); -} - - -/*! -\brief \brief_check2{are disjoint} -\ingroup disjoint -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\return \return_check2{are disjoint} - -\qbk{[include reference/algorithms/disjoint.qbk]} -*/ -template -inline bool disjoint(Geometry1 const& geometry1, - Geometry2 const& geometry2) -{ - return resolve_variant::disjoint - < - Geometry1, Geometry2 - >::apply(geometry1, geometry2, default_strategy()); -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_INTERFACE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/disjoint/point_box.hpp b/include/boost/bgeometry/algorithms/detail/disjoint/point_box.hpp deleted file mode 100644 index 9e4a89c7f76..00000000000 --- a/include/boost/bgeometry/algorithms/detail/disjoint/point_box.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland - -// This file was modified by Oracle on 2013-2017. -// Modifications copyright (c) 2013-2017, Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_POINT_BOX_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_POINT_BOX_HPP - -#include - -#include -#include -#include - -#include -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace disjoint -{ - - -/*! - \brief Internal utility function to detect if point/box are disjoint - */ -template -inline bool disjoint_point_box(Point const& point, Box const& box) -{ - typedef typename strategy::disjoint::services::default_strategy - < - Point, Box - >::type strategy_type; - - // ! covered_by(point, box) - return ! strategy_type::apply(point, box); -} - - -}} // namespace detail::disjoint -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct disjoint -{ - template - static inline bool apply(Point const& point, Box const& box, Strategy const& ) - { - // ! covered_by(point, box) - return ! Strategy::apply(point, box); - } -}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_POINT_BOX_HPP diff --git a/include/boost/bgeometry/algorithms/detail/disjoint/point_point.hpp b/include/boost/bgeometry/algorithms/detail/disjoint/point_point.hpp deleted file mode 100644 index c427c76f9a8..00000000000 --- a/include/boost/bgeometry/algorithms/detail/disjoint/point_point.hpp +++ /dev/null @@ -1,249 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland - -// This file was modified by Oracle on 2013, 2014, 2015, 2017. -// Modifications copyright (c) 2013-2017, Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_POINT_POINT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_POINT_POINT_HPP - -#include - -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include - -#include - -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace disjoint -{ - - -template -struct point_point_generic -{ - template - static inline bool apply(Point1 const& p1, Point2 const& p2, Strategy const& ) - { - return apply(p1, p2); - } - - template - static inline bool apply(Point1 const& p1, Point2 const& p2) - { - if (! geometry::math::equals(get(p1), get(p2))) - { - return true; - } - return - point_point_generic::apply(p1, p2); - } -}; - -template -struct point_point_generic -{ - template - static inline bool apply(Point1 const&, Point2 const& ) - { - return false; - } -}; - - -#if 0 -class point_point_on_spheroid -{ -private: - template - struct are_same_points - { - static inline bool apply(Point1 const& point1, Point2 const& point2) - { - typedef typename helper_geometry::type helper_point_type1; - typedef typename helper_geometry::type helper_point_type2; - - helper_point_type1 point1_normalized - = return_normalized(point1); - helper_point_type2 point2_normalized - = return_normalized(point2); - - return point_point_generic - < - 0, dimension::value - >::apply(point1_normalized, point2_normalized); - } - }; - - template - struct are_same_points // points have different units - { - static inline bool apply(Point1 const& point1, Point2 const& point2) - { - typedef typename geometry::select_most_precise - < - typename fp_coordinate_type::type, - typename fp_coordinate_type::type - >::type calculation_type; - - typename helper_geometry - < - Point1, calculation_type, radian - >::type helper_point1, helper_point2; - - Point1 point1_normalized = return_normalized(point1); - Point2 point2_normalized = return_normalized(point2); - - geometry::transform(point1_normalized, helper_point1); - geometry::transform(point2_normalized, helper_point2); - - return point_point_generic - < - 0, dimension::value - >::apply(helper_point1, helper_point2); - } - }; - -public: - template - static inline bool apply(Point1 const& point1, Point2 const& point2, Strategy const& ) - { - return apply(point1, point2); - } - - template - static inline bool apply(Point1 const& point1, Point2 const& point2) - { - return are_same_points - < - Point1, - Point2, - boost::is_same - < - typename coordinate_system::type::units, - typename coordinate_system::type::units - >::value - >::apply(point1, point2); - } -}; -#endif - - -template -< - typename Point1, typename Point2, - std::size_t Dimension, std::size_t DimensionCount, - typename CSTag1 = typename cs_tag::type, - typename CSTag2 = CSTag1 -> -struct point_point - : point_point -{}; - -#if 0 -template -< - typename Point1, typename Point2, - std::size_t Dimension, std::size_t DimensionCount -> -struct point_point - < - Point1, Point2, Dimension, DimensionCount, spherical_equatorial_tag - > : point_point_on_spheroid -{}; - -template -< - typename Point1, typename Point2, - std::size_t Dimension, std::size_t DimensionCount -> -struct point_point - < - Point1, Point2, Dimension, DimensionCount, geographic_tag - > : point_point_on_spheroid -{}; -#endif - -template -< - typename Point1, typename Point2, - std::size_t Dimension, std::size_t DimensionCount -> -struct point_point - : point_point_generic -{}; - - -/*! - \brief Internal utility function to detect of points are disjoint - \note To avoid circular references - */ -template -inline bool disjoint_point_point(Point1 const& point1, Point2 const& point2) -{ - return point_point - < - Point1, Point2, - 0, dimension::type::value - >::apply(point1, point2); -} - - -}} // namespace detail::disjoint -#endif // DOXYGEN_NO_DETAIL - - - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct disjoint - : detail::disjoint::point_point -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_POINT_POINT_HPP diff --git a/include/boost/bgeometry/algorithms/detail/distance/default_strategies.hpp b/include/boost/bgeometry/algorithms/detail/distance/default_strategies.hpp deleted file mode 100644 index df9b92df885..00000000000 --- a/include/boost/bgeometry/algorithms/detail/distance/default_strategies.hpp +++ /dev/null @@ -1,137 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. -// Copyright (c) 2013-2014 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2014. -// Modifications copyright (c) 2014, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_DEFAULT_STRATEGIES_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_DEFAULT_STRATEGIES_HPP - -#include -#include -#include -#include -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace distance -{ - - - -// Helper metafunction for default strategy retrieval -template -< - typename Geometry1, - typename Geometry2 = Geometry1, - typename Tag1 = typename tag_cast - < - typename tag::type, pointlike_tag - >::type, - typename Tag2 = typename tag_cast - < - typename tag::type, pointlike_tag - >::type, - bool Reverse = geometry::reverse_dispatch::type::value -> -struct default_strategy - : strategy::distance::services::default_strategy - < - point_tag, segment_tag, - typename point_type::type, - typename point_type::type - > -{}; - -template -< - typename Geometry1, - typename Geometry2, - typename Tag1, - typename Tag2 -> -struct default_strategy - : default_strategy -{}; - - -template -struct default_strategy - < - Pointlike1, Pointlike2, - pointlike_tag, pointlike_tag, false - > : strategy::distance::services::default_strategy - < - point_tag, point_tag, - typename point_type::type, - typename point_type::type - > -{}; - - -template -struct default_strategy - : strategy::distance::services::default_strategy - < - point_tag, box_tag, - typename point_type::type, - typename point_type::type - > -{}; - - -template -struct default_strategy - : strategy::distance::services::default_strategy - < - box_tag, box_tag, - typename point_type::type, - typename point_type::type - > -{}; - - - -// Helper metafunction for default point-segment strategy retrieval -template -struct default_ps_strategy - : strategy::distance::services::default_strategy - < - point_tag, segment_tag, - typename point_type::type, - typename point_type::type, - typename cs_tag::type>::type, - typename cs_tag::type>::type, - Strategy - > -{}; - - - -}} // namespace detail::distance -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_DEFAULT_STRATEGIES_HPP diff --git a/include/boost/bgeometry/algorithms/detail/distance/implementation.hpp b/include/boost/bgeometry/algorithms/detail/distance/implementation.hpp deleted file mode 100644 index 206a9200ea7..00000000000 --- a/include/boost/bgeometry/algorithms/detail/distance/implementation.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. -// Copyright (c) 2013-2014 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2014. -// Modifications copyright (c) 2014, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_IMPLEMENTATION_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_IMPLEMENTATION_HPP - -// the implementation details -#include - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_IMPLEMENTATION_HPP diff --git a/include/boost/bgeometry/algorithms/detail/distance/interface.hpp b/include/boost/bgeometry/algorithms/detail/distance/interface.hpp deleted file mode 100644 index 2f677eaf842..00000000000 --- a/include/boost/bgeometry/algorithms/detail/distance/interface.hpp +++ /dev/null @@ -1,403 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. -// Copyright (c) 2013-2014 Adam Wulkiewicz, Lodz, Poland. -// Copyright (c) 2014 Samuel Debionne, Grenoble, France. - -// This file was modified by Oracle on 2014. -// Modifications copyright (c) 2014, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_INTERFACE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_INTERFACE_HPP - -#include - -#include -#include -#include - -#include - -#include - -#include -#include -#include -#include - -#include -#include - -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -// If reversal is needed, perform it -template -< - typename Geometry1, typename Geometry2, typename Strategy, - typename Tag1, typename Tag2, typename StrategyTag -> -struct distance -< - Geometry1, Geometry2, Strategy, - Tag1, Tag2, StrategyTag, - true -> - : distance -{ - typedef typename strategy::distance::services::return_type - < - Strategy, - typename point_type::type, - typename point_type::type - >::type return_type; - - static inline return_type apply( - Geometry1 const& g1, - Geometry2 const& g2, - Strategy const& strategy) - { - return distance - < - Geometry2, Geometry1, Strategy, - Tag2, Tag1, StrategyTag, - false - >::apply(g2, g1, strategy); - } -}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -namespace resolve_strategy -{ - -struct distance -{ - template - static inline typename distance_result::type - apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return dispatch::distance - < - Geometry1, Geometry2, Strategy - >::apply(geometry1, geometry2, strategy); - } - - template - static inline - typename distance_result::type - apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - default_strategy) - { - typedef typename detail::distance::default_strategy - < - Geometry1, Geometry2 - >::type strategy_type; - - return dispatch::distance - < - Geometry1, Geometry2, strategy_type - >::apply(geometry1, geometry2, strategy_type()); - } -}; - -} // namespace resolve_strategy - - -namespace resolve_variant -{ - - -template -struct distance -{ - template - static inline typename distance_result::type - apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return - resolve_strategy::distance::apply(geometry1, geometry2, strategy); - } -}; - - -template -struct distance, Geometry2> -{ - template - struct visitor: static_visitor - < - typename distance_result - < - variant, - Geometry2, - Strategy - >::type - > - { - Geometry2 const& m_geometry2; - Strategy const& m_strategy; - - visitor(Geometry2 const& geometry2, - Strategy const& strategy) - : m_geometry2(geometry2), - m_strategy(strategy) - {} - - template - typename distance_result::type - operator()(Geometry1 const& geometry1) const - { - return distance - < - Geometry1, - Geometry2 - >::template apply - < - Strategy - >(geometry1, m_geometry2, m_strategy); - } - }; - - template - static inline typename distance_result - < - variant, - Geometry2, - Strategy - >::type - apply(variant const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(geometry2, strategy), geometry1); - } -}; - - -template -struct distance > -{ - template - struct visitor: static_visitor - < - typename distance_result - < - Geometry1, - variant, - Strategy - >::type - > - { - Geometry1 const& m_geometry1; - Strategy const& m_strategy; - - visitor(Geometry1 const& geometry1, - Strategy const& strategy) - : m_geometry1(geometry1), - m_strategy(strategy) - {} - - template - typename distance_result::type - operator()(Geometry2 const& geometry2) const - { - return distance - < - Geometry1, - Geometry2 - >::template apply - < - Strategy - >(m_geometry1, geometry2, m_strategy); - } - }; - - template - static inline typename distance_result - < - Geometry1, - variant, - Strategy - >::type - apply( - Geometry1 const& geometry1, - const variant& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(geometry1, strategy), geometry2); - } -}; - - -template -< - BOOST_VARIANT_ENUM_PARAMS(typename T1), - BOOST_VARIANT_ENUM_PARAMS(typename T2) -> -struct distance - < - boost::variant, - boost::variant - > -{ - template - struct visitor: static_visitor - < - typename distance_result - < - boost::variant, - boost::variant, - Strategy - >::type - > - { - Strategy const& m_strategy; - - visitor(Strategy const& strategy) - : m_strategy(strategy) - {} - - template - typename distance_result::type - operator()(Geometry1 const& geometry1, Geometry2 const& geometry2) const - { - return distance - < - Geometry1, - Geometry2 - >::template apply - < - Strategy - >(geometry1, geometry2, m_strategy); - } - }; - - template - static inline typename distance_result - < - boost::variant, - boost::variant, - Strategy - >::type - apply(boost::variant const& geometry1, - boost::variant const& geometry2, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(strategy), geometry1, geometry2); - } -}; - -} // namespace resolve_variant - - -/*! -\brief \brief_calc2{distance} \brief_strategy -\ingroup distance -\details -\details \details_calc{area}. \brief_strategy. \details_strategy_reasons - -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\tparam Strategy \tparam_strategy{Distance} -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\param strategy \param_strategy{distance} -\return \return_calc{distance} -\note The strategy can be a point-point strategy. In case of distance point-line/point-polygon - it may also be a point-segment strategy. - -\qbk{distinguish,with strategy} - -\qbk{ -[heading Available Strategies] -\* [link geometry.reference.strategies.strategy_distance_pythagoras Pythagoras (cartesian)] -\* [link geometry.reference.strategies.strategy_distance_haversine Haversine (spherical)] -\* [link geometry.reference.strategies.strategy_distance_cross_track Cross track (spherical\, point-to-segment)] -\* [link geometry.reference.strategies.strategy_distance_projected_point Projected point (cartesian\, point-to-segment)] -\* more (currently extensions): Vincenty\, Andoyer (geographic) -} - */ - -/* -Note, in case of a Compilation Error: -if you get: - - "Failed to specialize function template ..." - - "error: no matching function for call to ..." -for distance, it is probably so that there is no specialization -for return_type<...> for your strategy. -*/ -template -inline typename distance_result::type -distance(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) -{ - concepts::check(); - concepts::check(); - - detail::throw_on_empty_input(geometry1); - detail::throw_on_empty_input(geometry2); - - return resolve_variant::distance - < - Geometry1, - Geometry2 - >::apply(geometry1, geometry2, strategy); -} - - -/*! -\brief \brief_calc2{distance} -\ingroup distance -\details The default strategy is used, corresponding to the coordinate system of the geometries -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\return \return_calc{distance} - -\qbk{[include reference/algorithms/distance.qbk]} - */ -template -inline typename default_distance_result::type -distance(Geometry1 const& geometry1, - Geometry2 const& geometry2) -{ - concepts::check(); - concepts::check(); - - return geometry::distance(geometry1, geometry2, default_strategy()); -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_INTERFACE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/distance/point_to_geometry.hpp b/include/boost/bgeometry/algorithms/detail/distance/point_to_geometry.hpp deleted file mode 100644 index e1abada8153..00000000000 --- a/include/boost/bgeometry/algorithms/detail/distance/point_to_geometry.hpp +++ /dev/null @@ -1,507 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. -// Copyright (c) 2013-2014 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2014. -// Modifications copyright (c) 2014, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_POINT_TO_GEOMETRY_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_POINT_TO_GEOMETRY_HPP - -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace distance -{ - - -template -struct point_to_point -{ - static inline - typename strategy::distance::services::return_type::type - apply(P1 const& p1, P2 const& p2, Strategy const& strategy) - { - boost::ignore_unused(strategy); - return strategy.apply(p1, p2); - } -}; - - -#if 0 -template -< - typename Point, - typename Range, - closure_selector Closure, - typename Strategy -> -class point_to_range -{ -private: - typedef typename strategy::distance::services::comparable_type - < - Strategy - >::type comparable_strategy; - - typedef detail::closest_feature::point_to_point_range - < - Point, Range, Closure, comparable_strategy - > point_to_point_range; - -public: - typedef typename strategy::distance::services::return_type - < - Strategy, - Point, - typename boost::range_value::type - >::type return_type; - - static inline return_type apply(Point const& point, Range const& range, - Strategy const& strategy) - { - return_type const zero = return_type(0); - - if (boost::size(range) == 0) - { - return zero; - } - - namespace sds = strategy::distance::services; - - typename sds::return_type - < - comparable_strategy, - Point, - typename point_type::type - >::type cd_min; - - std::pair - < - typename boost::range_iterator::type, - typename boost::range_iterator::type - > it_pair - = point_to_point_range::apply(point, - boost::begin(range), - boost::end(range), - sds::get_comparable - < - Strategy - >::apply(strategy), - cd_min); - - return - is_comparable::value - ? - cd_min - : - strategy.apply(point, *it_pair.first, *it_pair.second); - } -}; - - -template -< - typename Point, - typename Ring, - closure_selector Closure, - typename Strategy -> -struct point_to_ring -{ - typedef typename strategy::distance::services::return_type - < - Strategy, Point, typename point_type::type - >::type return_type; - - static inline return_type apply(Point const& point, - Ring const& ring, - Strategy const& strategy) - { - if (geometry::within(point, ring)) - { - return return_type(0); - } - - return point_to_range - < - Point, Ring, closure::value, Strategy - >::apply(point, ring, strategy); - } -}; - - -template -< - typename Point, - typename Polygon, - closure_selector Closure, - typename Strategy -> -class point_to_polygon -{ -public: - typedef typename strategy::distance::services::return_type - < - Strategy, Point, typename point_type::type - >::type return_type; - -private: - typedef point_to_range - < - Point, typename ring_type::type, Closure, Strategy - > per_ring; - - struct distance_to_interior_rings - { - template - static inline return_type apply(Point const& point, - InteriorRingIterator first, - InteriorRingIterator last, - Strategy const& strategy) - { - for (InteriorRingIterator it = first; it != last; ++it) - { - if (geometry::within(point, *it)) - { - // the point is inside a polygon hole, so its distance - // to the polygon its distance to the polygon's - // hole boundary - return per_ring::apply(point, *it, strategy); - } - } - return 0; - } - - template - static inline return_type apply(Point const& point, - InteriorRings const& interior_rings, - Strategy const& strategy) - { - return apply(point, - boost::begin(interior_rings), - boost::end(interior_rings), - strategy); - } - }; - - -public: - static inline return_type apply(Point const& point, - Polygon const& polygon, - Strategy const& strategy) - { - if (!geometry::covered_by(point, exterior_ring(polygon))) - { - // the point is outside the exterior ring, so its distance - // to the polygon is its distance to the polygon's exterior ring - return per_ring::apply(point, exterior_ring(polygon), strategy); - } - - // Check interior rings - return distance_to_interior_rings::apply(point, - interior_rings(polygon), - strategy); - } -}; - - -template -< - typename Point, - typename MultiGeometry, - typename Strategy, - bool CheckCoveredBy = boost::is_same - < - typename tag::type, multi_polygon_tag - >::value -> -class point_to_multigeometry -{ -private: - typedef detail::closest_feature::geometry_to_range geometry_to_range; - -public: - typedef typename strategy::distance::services::return_type - < - Strategy, - Point, - typename point_type::type - >::type return_type; - - static inline return_type apply(Point const& point, - MultiGeometry const& multigeometry, - Strategy const& strategy) - { - typedef iterator_selector selector_type; - - namespace sds = strategy::distance::services; - - typename sds::return_type - < - typename sds::comparable_type::type, - Point, - typename point_type::type - >::type cd; - - typename selector_type::iterator_type it_min - = geometry_to_range::apply(point, - selector_type::begin(multigeometry), - selector_type::end(multigeometry), - sds::get_comparable - < - Strategy - >::apply(strategy), - cd); - - return - is_comparable::value - ? - cd - : - dispatch::distance - < - Point, - typename std::iterator_traits - < - typename selector_type::iterator_type - >::value_type, - Strategy - >::apply(point, *it_min, strategy); - } -}; - - -// this is called only for multipolygons, hence the change in the -// template parameter name MultiGeometry to MultiPolygon -template -struct point_to_multigeometry -{ - typedef typename strategy::distance::services::return_type - < - Strategy, - Point, - typename point_type::type - >::type return_type; - - static inline return_type apply(Point const& point, - MultiPolygon const& multipolygon, - Strategy const& strategy) - { - if (geometry::covered_by(point, multipolygon)) - { - return 0; - } - - return point_to_multigeometry - < - Point, MultiPolygon, Strategy, false - >::apply(point, multipolygon, strategy); - } -}; -#endif - - -}} // namespace detail::distance -#endif // DOXYGEN_NO_DETAIL - - - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -// Point-point -template -struct distance - < - P1, P2, Strategy, point_tag, point_tag, - strategy_tag_distance_point_point, false - > : detail::distance::point_to_point -{}; - - -#if 0 -// Point-line version 2, where point-segment strategy is specified -template -struct distance - < - Point, Linestring, Strategy, point_tag, linestring_tag, - strategy_tag_distance_point_segment, false - > : detail::distance::point_to_range -{}; - - -// Point-ring , where point-segment strategy is specified -template -struct distance - < - Point, Ring, Strategy, point_tag, ring_tag, - strategy_tag_distance_point_segment, false - > : detail::distance::point_to_ring - < - Point, Ring, closure::value, Strategy - > -{}; - - -// Point-polygon , where point-segment strategy is specified -template -struct distance - < - Point, Polygon, Strategy, point_tag, polygon_tag, - strategy_tag_distance_point_segment, false - > : detail::distance::point_to_polygon - < - Point, Polygon, closure::value, Strategy - > -{}; -#endif - - -// Point-segment version 2, with point-segment strategy -template -struct distance - < - Point, Segment, Strategy, point_tag, segment_tag, - strategy_tag_distance_point_segment, false - > -{ - static inline typename strategy::distance::services::return_type - < - Strategy, Point, typename point_type::type - >::type apply(Point const& point, - Segment const& segment, - Strategy const& strategy) - { - typename point_type::type p[2]; - geometry::detail::assign_point_from_index<0>(segment, p[0]); - geometry::detail::assign_point_from_index<1>(segment, p[1]); - - boost::ignore_unused(strategy); - return strategy.apply(point, p[0], p[1]); - } -}; - - -template -struct distance - < - Point, Box, Strategy, point_tag, box_tag, - strategy_tag_distance_point_box, false - > -{ - static inline typename strategy::distance::services::return_type - < - Strategy, Point, typename point_type::type - >::type - apply(Point const& point, Box const& box, Strategy const& strategy) - { - boost::ignore_unused(strategy); - return strategy.apply(point, box); - } -}; - - -#if 0 -template -struct distance - < - Point, MultiPoint, Strategy, point_tag, multi_point_tag, - strategy_tag_distance_point_point, false - > : detail::distance::point_to_multigeometry - < - Point, MultiPoint, Strategy - > -{}; - -template -struct distance - < - Point, MultiLinestring, Strategy, point_tag, multi_linestring_tag, - strategy_tag_distance_point_segment, false - > : detail::distance::point_to_multigeometry - < - Point, MultiLinestring, Strategy - > -{}; - - -template -struct distance - < - Point, MultiPolygon, Strategy, point_tag, multi_polygon_tag, - strategy_tag_distance_point_segment, false - > : detail::distance::point_to_multigeometry - < - Point, MultiPolygon, Strategy - > -{}; -#endif - - -template -struct distance - < - Point, Linear, Strategy, point_tag, linear_tag, - strategy_tag_distance_point_segment, false - > : distance - < - Point, Linear, Strategy, - point_tag, typename tag::type, - strategy_tag_distance_point_segment, false - > -{}; - - -template -struct distance - < - Point, Areal, Strategy, point_tag, areal_tag, - strategy_tag_distance_point_segment, false - > : distance - < - Point, Areal, Strategy, - point_tag, typename tag::type, - strategy_tag_distance_point_segment, false - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_POINT_TO_GEOMETRY_HPP diff --git a/include/boost/bgeometry/algorithms/detail/envelope/box.hpp b/include/boost/bgeometry/algorithms/detail/envelope/box.hpp deleted file mode 100644 index a9030f9bece..00000000000 --- a/include/boost/bgeometry/algorithms/detail/envelope/box.hpp +++ /dev/null @@ -1,172 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2015, 2016. -// Modifications copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_BOX_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_BOX_HPP - -#include - -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - - -template -< - std::size_t Index, - std::size_t Dimension, - std::size_t DimensionCount -> -struct envelope_indexed_box -{ - template - static inline void apply(BoxIn const& box_in, BoxOut& mbr) - { - detail::indexed_point_view box_in_corner(box_in); - detail::indexed_point_view mbr_corner(mbr); - - detail::conversion::point_to_point - < - detail::indexed_point_view, - detail::indexed_point_view, - Dimension, - DimensionCount - >::apply(box_in_corner, mbr_corner); - } -}; - -#if 0 -template -< - std::size_t Index, - std::size_t DimensionCount -> -struct envelope_indexed_box_on_spheroid -{ - template - static inline void apply(BoxIn const& box_in, BoxOut& mbr) - { - // transform() does not work with boxes of dimension higher - // than 2; to account for such boxes we transform the min/max - // points of the boxes using the indexed_point_view - detail::indexed_point_view box_in_corner(box_in); - detail::indexed_point_view mbr_corner(mbr); - - // first transform the units - transform_units(box_in_corner, mbr_corner); - - // now transform the remaining coordinates - detail::conversion::point_to_point - < - detail::indexed_point_view, - detail::indexed_point_view, - 2, - DimensionCount - >::apply(box_in_corner, mbr_corner); - } -}; -#endif - -struct envelope_box -{ - template - static inline void apply(BoxIn const& box_in, - BoxOut& mbr, - Strategy const&) - { - envelope_indexed_box - < - min_corner, 0, dimension::value - >::apply(box_in, mbr); - - envelope_indexed_box - < - max_corner, 0, dimension::value - >::apply(box_in, mbr); - } -}; - - -#if 0 -struct envelope_box_on_spheroid -{ - template - static inline void apply(BoxIn const& box_in, - BoxOut& mbr, - Strategy const&) - { - BoxIn box_in_normalized = detail::return_normalized(box_in); - - envelope_indexed_box_on_spheroid - < - min_corner, dimension::value - >::apply(box_in_normalized, mbr); - - envelope_indexed_box_on_spheroid - < - max_corner, dimension::value - >::apply(box_in_normalized, mbr); - } -}; -#endif - - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct envelope - : detail::envelope::envelope_box -{}; - - -#if 0 -template -struct envelope - : detail::envelope::envelope_box_on_spheroid -{}; - - -template -struct envelope - : detail::envelope::envelope_box_on_spheroid -{}; -#endif - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_BOX_HPP diff --git a/include/boost/bgeometry/algorithms/detail/envelope/implementation.hpp b/include/boost/bgeometry/algorithms/detail/envelope/implementation.hpp deleted file mode 100644 index ffb25ce6f93..00000000000 --- a/include/boost/bgeometry/algorithms/detail/envelope/implementation.hpp +++ /dev/null @@ -1,107 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2015, 2016. -// Modifications copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_IMPLEMENTATION_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_IMPLEMENTATION_HPP - -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - - -struct envelope_polygon -{ - template - static inline void apply(Polygon const& polygon, Box& mbr, Strategy const& strategy) - { - typename ring_return_type::type ext_ring - = exterior_ring(polygon); - - if (geometry::is_empty(ext_ring)) - { - // if the exterior ring is empty, consider the interior rings - envelope_multi_range - < - envelope_range - >::apply(interior_rings(polygon), mbr, strategy); - } - else - { - // otherwise, consider only the exterior ring - envelope_range::apply(ext_ring, mbr, strategy); - } - } -}; - - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct envelope - : detail::envelope::envelope_range -{}; - - -template -struct envelope - : detail::envelope::envelope_polygon -{}; - - -template -struct envelope - : detail::envelope::envelope_multi_range - < - detail::envelope::envelope_polygon - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_IMPLEMENTATION_HPP diff --git a/include/boost/bgeometry/algorithms/detail/envelope/initialize.hpp b/include/boost/bgeometry/algorithms/detail/envelope/initialize.hpp deleted file mode 100644 index 4f7cc3d4c45..00000000000 --- a/include/boost/bgeometry/algorithms/detail/envelope/initialize.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2015, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INITIALIZE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INITIALIZE_HPP - -#include - -#include - -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - -template -struct initialize_loop -{ - template - static inline void apply(Box& box, - CoordinateType min_value, - CoordinateType max_value) - { - geometry::set(box, min_value); - geometry::set(box, max_value); - - initialize_loop - < - Dimension + 1, DimensionCount - >::apply(box, min_value, max_value); - } -}; - -template -struct initialize_loop -{ - template - static inline void apply(Box&, CoordinateType, CoordinateType) - { - } -}; - - -template -< - typename Box, - std::size_t Dimension = 0, - std::size_t DimensionCount = dimension::value -> -struct initialize -{ - typedef typename coordinate_type::type coordinate_type; - - static inline void apply(Box& box, - coordinate_type min_value - = boost::numeric::bounds::highest(), - coordinate_type max_value - = boost::numeric::bounds::lowest()) - { - initialize_loop - < - Dimension, DimensionCount - >::apply(box, min_value, max_value); - } -}; - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INITIALIZE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/envelope/interface.hpp b/include/boost/bgeometry/algorithms/detail/envelope/interface.hpp deleted file mode 100644 index 70f6e16e045..00000000000 --- a/include/boost/bgeometry/algorithms/detail/envelope/interface.hpp +++ /dev/null @@ -1,222 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2015, 2016, 2017. -// Modifications copyright (c) 2015-2017, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INTERFACE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INTERFACE_HPP - -#include -#include -#include - -#include - -#include - -#include -#include -#include - -namespace boost { namespace geometry -{ - -namespace resolve_strategy -{ - -template -struct envelope -{ - template - static inline void apply(Geometry const& geometry, - Box& box, - Strategy const& strategy) - { - dispatch::envelope::apply(geometry, box, strategy); - } - - template - static inline void apply(Geometry const& geometry, - Box& box, - default_strategy) - { - typedef typename point_type::type point_type; - typedef typename coordinate_type::type coordinate_type; - - typedef typename strategy::envelope::services::default_strategy - < - typename cs_tag::type, - coordinate_type - >::type strategy_type; - - dispatch::envelope::apply(geometry, box, strategy_type()); - } -}; - -} // namespace resolve_strategy - -namespace resolve_variant -{ - -template -struct envelope -{ - template - static inline void apply(Geometry const& geometry, - Box& box, - Strategy const& strategy) - { - concepts::check(); - concepts::check(); - - resolve_strategy::envelope::apply(geometry, box, strategy); - } -}; - - -template -struct envelope > -{ - template - struct visitor: boost::static_visitor - { - Box& m_box; - Strategy const& m_strategy; - - visitor(Box& box, Strategy const& strategy) - : m_box(box) - , m_strategy(strategy) - {} - - template - void operator()(Geometry const& geometry) const - { - envelope::apply(geometry, m_box, m_strategy); - } - }; - - template - static inline void - apply(boost::variant const& geometry, - Box& box, - Strategy const& strategy) - { - boost::apply_visitor(visitor(box, strategy), geometry); - } -}; - -} // namespace resolve_variant - -/*! -\brief \brief_calc{envelope (with strategy)} -\ingroup envelope -\details \details_calc{envelope,\det_envelope}. -\tparam Geometry \tparam_geometry -\tparam Box \tparam_box -\tparam Strategy \tparam_strategy{Envelope} -\param geometry \param_geometry -\param mbr \param_box \param_set{envelope} -\param strategy \param_strategy{envelope} - -\qbk{distinguish,with strategy} -\qbk{[include reference/algorithms/envelope.qbk]} -\qbk{ -[heading Example] -[envelope] [envelope_output] -} -*/ -template -inline void envelope(Geometry const& geometry, Box& mbr, Strategy const& strategy) -{ - resolve_variant::envelope::apply(geometry, mbr, strategy); -} - -/*! -\brief \brief_calc{envelope} -\ingroup envelope -\details \details_calc{envelope,\det_envelope}. -\tparam Geometry \tparam_geometry -\tparam Box \tparam_box -\param geometry \param_geometry -\param mbr \param_box \param_set{envelope} - -\qbk{[include reference/algorithms/envelope.qbk]} -\qbk{ -[heading Example] -[envelope] [envelope_output] -} -*/ -template -inline void envelope(Geometry const& geometry, Box& mbr) -{ - resolve_variant::envelope::apply(geometry, mbr, default_strategy()); -} - - -/*! -\brief \brief_calc{envelope} -\ingroup envelope -\details \details_calc{return_envelope,\det_envelope}. \details_return{envelope} -\tparam Box \tparam_box -\tparam Geometry \tparam_geometry -\tparam Strategy \tparam_strategy{Envelope} -\param geometry \param_geometry -\param strategy \param_strategy{envelope} -\return \return_calc{envelope} - -\qbk{distinguish,with strategy} -\qbk{[include reference/algorithms/envelope.qbk]} -\qbk{ -[heading Example] -[return_envelope] [return_envelope_output] -} -*/ -template -inline Box return_envelope(Geometry const& geometry, Strategy const& strategy) -{ - Box mbr; - resolve_variant::envelope::apply(geometry, mbr, strategy); - return mbr; -} - -/*! -\brief \brief_calc{envelope} -\ingroup envelope -\details \details_calc{return_envelope,\det_envelope}. \details_return{envelope} -\tparam Box \tparam_box -\tparam Geometry \tparam_geometry -\param geometry \param_geometry -\return \return_calc{envelope} - -\qbk{[include reference/algorithms/envelope.qbk]} -\qbk{ -[heading Example] -[return_envelope] [return_envelope_output] -} -*/ -template -inline Box return_envelope(Geometry const& geometry) -{ - Box mbr; - resolve_variant::envelope::apply(geometry, mbr, default_strategy()); - return mbr; -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INTERFACE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/envelope/linear.hpp b/include/boost/bgeometry/algorithms/detail/envelope/linear.hpp deleted file mode 100644 index 891cf0822e3..00000000000 --- a/include/boost/bgeometry/algorithms/detail/envelope/linear.hpp +++ /dev/null @@ -1,114 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2015, 2016. -// Modifications copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_LINEAR_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_LINEAR_HPP - -#include -#include - -#include - -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - - -struct envelope_linestring_on_spheroid -{ - template - static inline void apply(Linestring const& linestring, - Box& mbr, - Strategy const& strategy) - { - envelope_range::apply(geometry::segments_begin(linestring), - geometry::segments_end(linestring), - mbr, - strategy); - } -}; - - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct envelope - : detail::envelope::envelope_range -{}; - -template -struct envelope - : detail::envelope::envelope_linestring_on_spheroid -{}; - -template -struct envelope - : detail::envelope::envelope_linestring_on_spheroid -{}; - - -template -struct envelope - < - MultiLinestring, multi_linestring_tag, CS_Tag - > : detail::envelope::envelope_multi_range - < - detail::envelope::envelope_range - > -{}; - -template -struct envelope - < - MultiLinestring, multi_linestring_tag, spherical_equatorial_tag - > : detail::envelope::envelope_multi_range_on_spheroid - < - detail::envelope::envelope_linestring_on_spheroid - > -{}; - -template -struct envelope - < - MultiLinestring, multi_linestring_tag, geographic_tag - > : detail::envelope::envelope_multi_range_on_spheroid - < - detail::envelope::envelope_linestring_on_spheroid - > -{}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_LINEAR_HPP diff --git a/include/boost/bgeometry/algorithms/detail/envelope/multipoint.hpp b/include/boost/bgeometry/algorithms/detail/envelope/multipoint.hpp deleted file mode 100644 index 5634a17c1b6..00000000000 --- a/include/boost/bgeometry/algorithms/detail/envelope/multipoint.hpp +++ /dev/null @@ -1,376 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_MULTIPOINT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_MULTIPOINT_HPP - -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - - -#if 0 -class envelope_multipoint_on_spheroid -{ -private: - template - struct coordinate_less - { - template - inline bool operator()(Point const& point1, Point const& point2) const - { - return math::smaller(geometry::get(point1), - geometry::get(point2)); - } - }; - - template - static inline void analyze_point_coordinates(MultiPoint const& multipoint, - bool& has_south_pole, - bool& has_north_pole, - OutputIterator oit) - { - typedef typename boost::range_value::type point_type; - typedef typename boost::range_iterator - < - MultiPoint const - >::type iterator_type; - - // analyze point coordinates: - // (1) normalize point coordinates - // (2) check if any point is the north or the south pole - // (3) put all non-pole points in a container - // - // notice that at this point in the algorithm, we have at - // least two points on the spheroid - has_south_pole = false; - has_north_pole = false; - - for (iterator_type it = boost::begin(multipoint); - it != boost::end(multipoint); - ++it) - { - point_type point = detail::return_normalized(*it); - - if (math::equals(geometry::get<1>(point), - Constants::min_latitude())) - { - has_south_pole = true; - } - else if (math::equals(geometry::get<1>(point), - Constants::max_latitude())) - { - has_north_pole = true; - } - else - { - *oit++ = point; - } - } - } - - template - static inline Value maximum_gap(SortedRange const& sorted_range, - Value& max_gap_left, - Value& max_gap_right) - { - typedef typename boost::range_iterator - < - SortedRange const - >::type iterator_type; - - iterator_type it1 = boost::begin(sorted_range), it2 = it1; - ++it2; - max_gap_left = geometry::get<0>(*it1); - max_gap_right = geometry::get<0>(*it2); - - Value max_gap = max_gap_right - max_gap_left; - for (++it1, ++it2; it2 != boost::end(sorted_range); ++it1, ++it2) - { - Value gap = geometry::get<0>(*it2) - geometry::get<0>(*it1); - if (math::larger(gap, max_gap)) - { - max_gap_left = geometry::get<0>(*it1); - max_gap_right = geometry::get<0>(*it2); - max_gap = gap; - } - } - - return max_gap; - } - - template - < - typename Constants, - typename PointRange, - typename LongitudeLess, - typename CoordinateType - > - static inline void get_min_max_longitudes(PointRange& range, - LongitudeLess const& lon_less, - CoordinateType& lon_min, - CoordinateType& lon_max) - { - typedef typename boost::range_iterator - < - PointRange const - >::type iterator_type; - - // compute min and max longitude values - std::pair min_max_longitudes - = boost::minmax_element(boost::begin(range), - boost::end(range), - lon_less); - - lon_min = geometry::get<0>(*min_max_longitudes.first); - lon_max = geometry::get<0>(*min_max_longitudes.second); - - // if the longitude span is "large" compute the true maximum gap - if (math::larger(lon_max - lon_min, Constants::half_period())) - { - std::sort(boost::begin(range), boost::end(range), lon_less); - - CoordinateType max_gap_left = 0, max_gap_right = 0; - CoordinateType max_gap - = maximum_gap(range, max_gap_left, max_gap_right); - - CoordinateType complement_gap - = Constants::period() + lon_min - lon_max; - - if (math::larger(max_gap, complement_gap)) - { - lon_min = max_gap_right; - lon_max = max_gap_left + Constants::period(); - } - } - } - - template - < - typename Constants, - typename Iterator, - typename LatitudeLess, - typename CoordinateType - > - static inline void get_min_max_latitudes(Iterator const first, - Iterator const last, - LatitudeLess const& lat_less, - bool has_south_pole, - bool has_north_pole, - CoordinateType& lat_min, - CoordinateType& lat_max) - { - if (has_south_pole && has_north_pole) - { - lat_min = Constants::min_latitude(); - lat_max = Constants::max_latitude(); - } - else if (has_south_pole) - { - lat_min = Constants::min_latitude(); - lat_max - = geometry::get<1>(*std::max_element(first, last, lat_less)); - } - else if (has_north_pole) - { - lat_min - = geometry::get<1>(*std::min_element(first, last, lat_less)); - lat_max = Constants::max_latitude(); - } - else - { - std::pair min_max_latitudes - = boost::minmax_element(first, last, lat_less); - - lat_min = geometry::get<1>(*min_max_latitudes.first); - lat_max = geometry::get<1>(*min_max_latitudes.second); - } - } - -public: - template - static inline void apply(MultiPoint const& multipoint, Box& mbr, Strategy const& strategy) - { - typedef typename point_type::type point_type; - typedef typename coordinate_type::type coordinate_type; - typedef typename boost::range_iterator - < - MultiPoint const - >::type iterator_type; - - typedef math::detail::constants_on_spheroid - < - coordinate_type, - typename coordinate_system::type::units - > constants; - - if (boost::empty(multipoint)) - { - initialize::value>::apply(mbr); - return; - } - - initialize::apply(mbr); - - if (boost::size(multipoint) == 1) - { - return dispatch::envelope - < - typename boost::range_value::type - >::apply(range::front(multipoint), mbr, strategy); - } - - // analyze the points and put the non-pole ones in the - // points vector - std::vector points; - bool has_north_pole = false, has_south_pole = false; - - analyze_point_coordinates(multipoint, - has_south_pole, has_north_pole, - std::back_inserter(points)); - - coordinate_type lon_min, lat_min, lon_max, lat_max; - if (points.size() == 1) - { - // we have one non-pole point and at least one pole point - lon_min = geometry::get<0>(range::front(points)); - lon_max = geometry::get<0>(range::front(points)); - lat_min = has_south_pole - ? constants::min_latitude() - : constants::max_latitude(); - lat_max = has_north_pole - ? constants::max_latitude() - : constants::min_latitude(); - } - else if (points.empty()) - { - // all points are pole points - BOOST_GEOMETRY_ASSERT(has_south_pole || has_north_pole); - lon_min = coordinate_type(0); - lon_max = coordinate_type(0); - lat_min = has_south_pole - ? constants::min_latitude() - : constants::max_latitude(); - lat_max = (has_north_pole) - ? constants::max_latitude() - : constants::min_latitude(); - } - else - { - get_min_max_longitudes(points, - coordinate_less<0>(), - lon_min, - lon_max); - - get_min_max_latitudes(points.begin(), - points.end(), - coordinate_less<1>(), - has_south_pole, - has_north_pole, - lat_min, - lat_max); - } - - typedef typename helper_geometry - < - Box, - coordinate_type, - typename coordinate_system::type::units - >::type helper_box_type; - - helper_box_type helper_mbr; - - geometry::set(helper_mbr, lon_min); - geometry::set(helper_mbr, lat_min); - geometry::set(helper_mbr, lon_max); - geometry::set(helper_mbr, lat_max); - - // now transform to output MBR (per index) - envelope_indexed_box_on_spheroid::apply(helper_mbr, mbr); - envelope_indexed_box_on_spheroid::apply(helper_mbr, mbr); - - // compute envelope for higher coordinates - iterator_type it = boost::begin(multipoint); - envelope_one_point<2, dimension::value>::apply(*it, mbr, strategy); - - for (++it; it != boost::end(multipoint); ++it) - { - detail::expand::point_loop - < - strategy::compare::default_strategy, - strategy::compare::default_strategy, - 2, dimension::value - >::apply(mbr, *it, strategy); - } - } -}; -#endif - - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct envelope - : detail::envelope::envelope_range -{}; - -#if 0 -template -struct envelope - : detail::envelope::envelope_multipoint_on_spheroid -{}; - -template -struct envelope - : detail::envelope::envelope_multipoint_on_spheroid -{}; -#endif - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_MULTIPOINT_HPP diff --git a/include/boost/bgeometry/algorithms/detail/envelope/point.hpp b/include/boost/bgeometry/algorithms/detail/envelope/point.hpp deleted file mode 100644 index cf723b6d7df..00000000000 --- a/include/boost/bgeometry/algorithms/detail/envelope/point.hpp +++ /dev/null @@ -1,126 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2015, 2016. -// Modifications copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_POINT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_POINT_HPP - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - - -template -struct envelope_one_point -{ - template - static inline void apply(Point const& point, Box& mbr) - { - detail::indexed_point_view box_corner(mbr); - detail::conversion::point_to_point - < - Point, - detail::indexed_point_view, - Dimension, - DimensionCount - >::apply(point, box_corner); - } - - template - static inline void apply(Point const& point, Box& mbr, Strategy const&) - { - apply(point, mbr); - apply(point, mbr); - } -}; - - -#if 0 -struct envelope_point_on_spheroid -{ - template - static inline void apply(Point const& point, Box& mbr, Strategy const& strategy) - { - Point normalized_point = detail::return_normalized(point); - - typename point_type::type box_point; - - // transform units of input point to units of a box point - transform_units(normalized_point, box_point); - - geometry::set(mbr, geometry::get<0>(box_point)); - geometry::set(mbr, geometry::get<1>(box_point)); - - geometry::set(mbr, geometry::get<0>(box_point)); - geometry::set(mbr, geometry::get<1>(box_point)); - - envelope_one_point - < - 2, dimension::value - >::apply(normalized_point, mbr, strategy); - } -}; -#endif - - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct envelope - : detail::envelope::envelope_one_point<0, dimension::value> -{}; - - -#if 0 -template -struct envelope - : detail::envelope::envelope_point_on_spheroid -{}; - - -template -struct envelope - : detail::envelope::envelope_point_on_spheroid -{}; -#endif - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_POINT_HPP diff --git a/include/boost/bgeometry/algorithms/detail/envelope/range.hpp b/include/boost/bgeometry/algorithms/detail/envelope/range.hpp deleted file mode 100644 index a62a41f60b9..00000000000 --- a/include/boost/bgeometry/algorithms/detail/envelope/range.hpp +++ /dev/null @@ -1,187 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2015, 2016. -// Modifications copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_RANGE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_RANGE_HPP - -#include -#include - -#include - -#include - -#include - -#include - -#include -#include - -#include -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - - -// implementation for simple ranges -struct envelope_range -{ - template - static inline void apply(Iterator first, - Iterator last, - Box& mbr, - Strategy const& strategy) - { - typedef typename std::iterator_traits::value_type value_type; - - // initialize MBR - initialize::value>::apply(mbr); - - Iterator it = first; - if (it != last) - { - // initialize box with first element in range - dispatch::envelope::apply(*it, mbr, strategy); - - // consider now the remaining elements in the range (if any) - for (++it; it != last; ++it) - { - dispatch::expand::apply(mbr, *it, strategy); - } - } - } - - template - static inline void apply(Range const& range, Box& mbr, Strategy const& strategy) - { - return apply(boost::begin(range), boost::end(range), mbr, strategy); - } -}; - - -// implementation for multi-ranges -template -struct envelope_multi_range -{ - template - static inline void apply(MultiRange const& multirange, - Box& mbr, - Strategy const& strategy) - { - typedef typename boost::range_iterator - < - MultiRange const - >::type iterator_type; - - bool initialized = false; - for (iterator_type it = boost::begin(multirange); - it != boost::end(multirange); - ++it) - { - if (! geometry::is_empty(*it)) - { - if (initialized) - { - Box helper_mbr; - EnvelopePolicy::apply(*it, helper_mbr, strategy); - - dispatch::expand::apply(mbr, helper_mbr, strategy); - } - else - { - // compute the initial envelope - EnvelopePolicy::apply(*it, mbr, strategy); - initialized = true; - } - } - } - - if (! initialized) - { - // if not already initialized, initialize MBR - initialize::value>::apply(mbr); - } - } -}; - - -// implementation for multi-range on a spheroid (longitude is periodic) -template -struct envelope_multi_range_on_spheroid -{ - template - static inline void apply(MultiRange const& multirange, - Box& mbr, - Strategy const& strategy) - { - typedef typename boost::range_iterator - < - MultiRange const - >::type iterator_type; - - // due to the periodicity of longitudes we need to compute the boxes - // of all the single geometries and keep them in a container - std::vector boxes; - for (iterator_type it = boost::begin(multirange); - it != boost::end(multirange); - ++it) - { - if (! geometry::is_empty(*it)) - { - Box helper_box; - EnvelopePolicy::apply(*it, helper_box, strategy); - boxes.push_back(helper_box); - } - } - - // now we need to compute the envelope of the range of boxes - // (cannot be done in an incremental fashion as in the - // Cartesian coordinate system) - // if all single geometries are empty no boxes have been found - // and the MBR is simply initialized - if (! boxes.empty()) - { - envelope_range_of_boxes::apply(boxes, mbr, strategy); - } - else - { - initialize::value>::apply(mbr); - } - - } -}; - - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_RANGE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/envelope/range_of_boxes.hpp b/include/boost/bgeometry/algorithms/detail/envelope/range_of_boxes.hpp deleted file mode 100644 index 6cb53f3cfb4..00000000000 --- a/include/boost/bgeometry/algorithms/detail/envelope/range_of_boxes.hpp +++ /dev/null @@ -1,331 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_RANGE_OF_BOXES_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_RANGE_OF_BOXES_HPP - -#include - -#include -#include - -#include - -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - - -template -class longitude_interval -{ - typedef T const& reference_type; - -public: - typedef T value_type; - typedef T difference_type; - - longitude_interval(T const& left, T const& right) - { - m_end[0] = left; - m_end[1] = right; - } - - template - reference_type get() const - { - return m_end[Index]; - } - - difference_type length() const - { - return get<1>() - get<0>(); - } - -private: - T m_end[2]; -}; - - -template -struct envelope_range_of_longitudes -{ - template - struct longitude_less - { - template - inline bool operator()(Interval const& i1, Interval const& i2) const - { - return math::smaller(i1.template get(), - i2.template get()); - } - }; - - template - static inline void apply(RangeOfLongitudeIntervals const& range, - Longitude& lon_min, Longitude& lon_max) - { - typedef typename math::detail::constants_on_spheroid - < - Longitude, Units - > constants; - - Longitude const zero = 0; - Longitude const period = constants::period(); - - lon_min = lon_max = zero; - - // the range of longitude intervals can be empty if all input boxes - // degenerate to the north or south pole (or combination of the two) - // in this case the initialization values for lon_min and - // lon_max are valid choices - if (! boost::empty(range)) - { - lon_min = std::min_element(boost::begin(range), - boost::end(range), - longitude_less<0>())->template get<0>(); - lon_max = std::max_element(boost::begin(range), - boost::end(range), - longitude_less<1>())->template get<1>(); - - if (math::larger(lon_max - lon_min, constants::half_period())) - { - Longitude max_gap_left, max_gap_right; - Longitude max_gap = geometry::maximum_gap(range, - max_gap_left, - max_gap_right); - - BOOST_GEOMETRY_ASSERT(! math::larger(lon_min, lon_max)); - BOOST_GEOMETRY_ASSERT - (! math::larger(lon_max, constants::max_longitude())); - BOOST_GEOMETRY_ASSERT - (! math::smaller(lon_min, constants::min_longitude())); - - BOOST_GEOMETRY_ASSERT - (! math::larger(max_gap_left, max_gap_right)); - BOOST_GEOMETRY_ASSERT - (! math::larger(max_gap_right, constants::max_longitude())); - BOOST_GEOMETRY_ASSERT - (! math::smaller(max_gap_left, constants::min_longitude())); - - if (math::larger(max_gap, zero)) - { - Longitude wrapped_gap = period + lon_min - lon_max; - if (math::larger(max_gap, wrapped_gap)) - { - lon_min = max_gap_right; - lon_max = max_gap_left + period; - } - } - } - } - } -}; - - -template -struct envelope_range_of_boxes_by_expansion -{ - template - static inline void apply(RangeOfBoxes const& range_of_boxes, - Box& mbr, - Strategy const& strategy) - { - typedef typename boost::range_value::type box_type; - - typedef typename boost::range_iterator - < - RangeOfBoxes const - >::type iterator_type; - - // first initialize MBR - detail::indexed_point_view mbr_min(mbr); - detail::indexed_point_view mbr_max(mbr); - - detail::indexed_point_view - first_box_min(range::front(range_of_boxes)); - - detail::indexed_point_view - first_box_max(range::front(range_of_boxes)); - - detail::conversion::point_to_point - < - detail::indexed_point_view, - detail::indexed_point_view, - Dimension, - DimensionCount - >::apply(first_box_min, mbr_min); - - detail::conversion::point_to_point - < - detail::indexed_point_view, - detail::indexed_point_view, - Dimension, - DimensionCount - >::apply(first_box_max, mbr_max); - - // now expand using the remaining boxes - iterator_type it = boost::begin(range_of_boxes); - for (++it; it != boost::end(range_of_boxes); ++it) - { - detail::expand::indexed_loop - < - strategy::compare::default_strategy, - strategy::compare::default_strategy, - min_corner, - Dimension, - DimensionCount - >::apply(mbr, *it, strategy); - - detail::expand::indexed_loop - < - strategy::compare::default_strategy, - strategy::compare::default_strategy, - max_corner, - Dimension, - DimensionCount - >::apply(mbr, *it, strategy); - } - } - -}; - - -struct envelope_range_of_boxes -{ - template - struct latitude_less - { - template - inline bool operator()(Box const& box1, Box const& box2) const - { - return math::smaller(geometry::get(box1), - geometry::get(box2)); - } - }; - - template - static inline void apply(RangeOfBoxes const& range_of_boxes, - Box& mbr, - Strategy const& strategy) - { - // boxes in the range are assumed to be normalized already - - typedef typename boost::range_value::type box_type; - typedef typename coordinate_type::type coordinate_type; - typedef typename coordinate_system::type::units units_type; - typedef typename boost::range_iterator - < - RangeOfBoxes const - >::type iterator_type; - - typedef math::detail::constants_on_spheroid - < - coordinate_type, units_type - > constants; - - typedef longitude_interval interval_type; - typedef std::vector interval_range_type; - - BOOST_GEOMETRY_ASSERT(! boost::empty(range_of_boxes)); - - iterator_type it_min = std::min_element(boost::begin(range_of_boxes), - boost::end(range_of_boxes), - latitude_less()); - iterator_type it_max = std::max_element(boost::begin(range_of_boxes), - boost::end(range_of_boxes), - latitude_less()); - - coordinate_type const min_longitude = constants::min_longitude(); - coordinate_type const max_longitude = constants::max_longitude(); - coordinate_type const period = constants::period(); - - interval_range_type intervals; - for (iterator_type it = boost::begin(range_of_boxes); - it != boost::end(range_of_boxes); - ++it) - { - coordinate_type lat_min = geometry::get(*it); - coordinate_type lat_max = geometry::get(*it); - if (math::equals(lat_min, constants::max_latitude()) - || math::equals(lat_max, constants::min_latitude())) - { - // if the box degenerates to the south or north pole - // just ignore it - continue; - } - - coordinate_type lon_left = geometry::get(*it); - coordinate_type lon_right = geometry::get(*it); - - if (math::larger(lon_right, max_longitude)) - { - intervals.push_back(interval_type(lon_left, max_longitude)); - intervals.push_back - (interval_type(min_longitude, lon_right - period)); - } - else - { - intervals.push_back(interval_type(lon_left, lon_right)); - } - } - - coordinate_type lon_min = 0; - coordinate_type lon_max = 0; - envelope_range_of_longitudes - < - units_type - >::apply(intervals, lon_min, lon_max); - - // do not convert units; conversion will be performed at a - // higher level - - // assign now the min/max longitude/latitude values - detail::indexed_point_view mbr_min(mbr); - detail::indexed_point_view mbr_max(mbr); - - geometry::set<0>(mbr_min, lon_min); - geometry::set<1>(mbr_min, geometry::get(*it_min)); - geometry::set<0>(mbr_max, lon_max); - geometry::set<1>(mbr_max, geometry::get(*it_max)); - - // what remains to be done is to compute the envelope range - // for the remaining dimensions (if any) - envelope_range_of_boxes_by_expansion - < - 2, dimension::value - >::apply(range_of_boxes, mbr, strategy); - } -}; - - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_RANGE_OF_BOXES_HPP diff --git a/include/boost/bgeometry/algorithms/detail/envelope/segment.hpp b/include/boost/bgeometry/algorithms/detail/envelope/segment.hpp deleted file mode 100644 index 47805e68414..00000000000 --- a/include/boost/bgeometry/algorithms/detail/envelope/segment.hpp +++ /dev/null @@ -1,458 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2015-2017. -// Modifications copyright (c) 2015-2017, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_SEGMENT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_SEGMENT_HPP - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -#include - -#include -#include - -#include - -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - -#if 0 -template -struct envelope_segment_call_vertex_latitude -{ - template - static inline CalculationType apply(T1 const& lat1, - T2 const& alp1, - Strategy const& ) - { - return geometry::formula::vertex_latitude - ::apply(lat1, alp1); - } -}; - -template -struct envelope_segment_call_vertex_latitude -{ - template - static inline CalculationType apply(T1 const& lat1, - T2 const& alp1, - Strategy const& strategy) - { - return geometry::formula::vertex_latitude - ::apply(lat1, alp1, strategy.model()); - } -}; -#endif - -template -class envelope_segment_impl -{ -private: - - // degrees or radians - template - static inline void swap(CalculationType& lon1, - CalculationType& lat1, - CalculationType& lon2, - CalculationType& lat2) - { - std::swap(lon1, lon2); - std::swap(lat1, lat2); - } - - // radians - template - static inline bool contains_pi_half(CalculationType const& a1, - CalculationType const& a2) - { - // azimuths a1 and a2 are assumed to be in radians - BOOST_GEOMETRY_ASSERT(! math::equals(a1, a2)); - - static CalculationType const pi_half = math::half_pi(); - - return (a1 < a2) - ? (a1 < pi_half && pi_half < a2) - : (a1 > pi_half && pi_half > a2); - } - - // radians or degrees - template - static inline bool crosses_antimeridian(CoordinateType const& lon1, - CoordinateType const& lon2) - { - typedef math::detail::constants_on_spheroid - < - CoordinateType, Units - > constants; - - return math::abs(lon1 - lon2) > constants::half_period(); // > pi - } - -#if 0 - // degrees or radians - template - static inline void compute_box_corners(CalculationType& lon1, - CalculationType& lat1, - CalculationType& lon2, - CalculationType& lat2, - CalculationType a1, - CalculationType a2, - Strategy const& strategy) - { - // coordinates are assumed to be in radians - BOOST_GEOMETRY_ASSERT(lon1 <= lon2); - - CalculationType lat1_rad = math::as_radian(lat1); - CalculationType lat2_rad = math::as_radian(lat2); - - if (lat1 > lat2) - { - std::swap(lat1, lat2); - std::swap(lat1_rad, lat2_rad); - std::swap(a1, a2); - } - - if (math::equals(a1, a2)) - { - // the segment must lie on the equator or is very short - return; - } - - if (contains_pi_half(a1, a2)) - { - CalculationType p_max = envelope_segment_call_vertex_latitude - ::apply(lat1_rad, a1, strategy); - - CalculationType const mid_lat = lat1 + lat2; - if (mid_lat < 0) - { - // update using min latitude - CalculationType const lat_min_rad = -p_max; - CalculationType const lat_min - = math::from_radian(lat_min_rad); - - if (lat1 > lat_min) - { - lat1 = lat_min; - } - } - else if (mid_lat > 0) - { - // update using max latitude - CalculationType const lat_max_rad = p_max; - CalculationType const lat_max - = math::from_radian(lat_max_rad); - - if (lat2 < lat_max) - { - lat2 = lat_max; - } - } - } - } -#endif - - template - static inline void special_cases(CalculationType& lon1, - CalculationType& lat1, - CalculationType& lon2, - CalculationType& lat2) - { - typedef math::detail::constants_on_spheroid - < - CalculationType, Units - > constants; - - bool is_pole1 = math::equals(math::abs(lat1), constants::max_latitude()); - bool is_pole2 = math::equals(math::abs(lat2), constants::max_latitude()); - - if (is_pole1 && is_pole2) - { - // both points are poles; nothing more to do: - // longitudes are already normalized to 0 - // but just in case - lon1 = 0; - lon2 = 0; - } - else if (is_pole1 && !is_pole2) - { - // first point is a pole, second point is not: - // make the longitude of the first point the same as that - // of the second point - lon1 = lon2; - } - else if (!is_pole1 && is_pole2) - { - // second point is a pole, first point is not: - // make the longitude of the second point the same as that - // of the first point - lon2 = lon1; - } - - if (lon1 == lon2) - { - // segment lies on a meridian - if (lat1 > lat2) - { - std::swap(lat1, lat2); - } - return; - } - - BOOST_GEOMETRY_ASSERT(!is_pole1 && !is_pole2); - - if (lon1 > lon2) - { - swap(lon1, lat1, lon2, lat2); - } - - if (crosses_antimeridian(lon1, lon2)) - { - lon1 += constants::period(); - swap(lon1, lat1, lon2, lat2); - } - } - - template - < - typename Units, - typename CalculationType, - typename Box - > - static inline void create_box(CalculationType lon1, - CalculationType lat1, - CalculationType lon2, - CalculationType lat2, - Box& mbr) - { - typedef typename coordinate_type::type box_coordinate_type; - - typedef typename helper_geometry - < - Box, box_coordinate_type, Units - >::type helper_box_type; - - helper_box_type radian_mbr; - - geometry::set - < - min_corner, 0 - >(radian_mbr, boost::numeric_cast(lon1)); - - geometry::set - < - min_corner, 1 - >(radian_mbr, boost::numeric_cast(lat1)); - - geometry::set - < - max_corner, 0 - >(radian_mbr, boost::numeric_cast(lon2)); - - geometry::set - < - max_corner, 1 - >(radian_mbr, boost::numeric_cast(lat2)); - - transform_units(radian_mbr, mbr); - } - - -#if 0 - template - static inline void apply(CalculationType& lon1, - CalculationType& lat1, - CalculationType& lon2, - CalculationType& lat2, - Strategy const& strategy) - { - special_cases(lon1, lat1, lon2, lat2); - - CalculationType lon1_rad = math::as_radian(lon1); - CalculationType lat1_rad = math::as_radian(lat1); - CalculationType lon2_rad = math::as_radian(lon2); - CalculationType lat2_rad = math::as_radian(lat2); - CalculationType alp1, alp2; - strategy.apply(lon1_rad, lat1_rad, lon2_rad, lat2_rad, alp1, alp2); - - compute_box_corners(lon1, lat1, lon2, lat2, alp1, alp2, strategy); - } - - template - static inline void apply(CalculationType& lon1, - CalculationType& lat1, - CalculationType& lon2, - CalculationType& lat2, - Strategy const& strategy, - CalculationType alp1) - { - special_cases(lon1, lat1, lon2, lat2); - - CalculationType lon1_rad = math::as_radian(lon1); - CalculationType lat1_rad = math::as_radian(lat1); - CalculationType lon2_rad = math::as_radian(lon2); - CalculationType lat2_rad = math::as_radian(lat2); - CalculationType alp2; - strategy.apply(lon2_rad, lat2_rad, lon1_rad, lat1_rad, alp2); - alp2 += math::pi(); - - compute_box_corners(lon1, lat1, lon2, lat2, alp1, alp2, strategy); - } -#endif - -public: - template - < - typename Units, - typename CalculationType, - typename Box, - typename Strategy - > - static inline void apply(CalculationType lon1, - CalculationType lat1, - CalculationType lon2, - CalculationType lat2, - Box& mbr, - Strategy const& strategy) - { - apply(lon1, lat1, lon2, lat2, strategy); - create_box(lon1, lat1, lon2, lat2, mbr); - } - - template - < - typename Units, - typename CalculationType, - typename Box, - typename Strategy - > - static inline void apply(CalculationType lon1, - CalculationType lat1, - CalculationType lon2, - CalculationType lat2, - Box& mbr, - Strategy const& strategy, - CalculationType alp1) - { - apply(lon1, lat1, lon2, lat2, strategy, alp1); - create_box(lon1, lat1, lon2, lat2, mbr); - } -}; - -template -struct envelope_one_segment -{ - template - static inline void apply(Point const& p1, - Point const& p2, - Box& mbr, - Strategy const& strategy) - { - envelope_one_point::apply(p1, mbr, strategy); - detail::expand::point_loop - < - strategy::compare::default_strategy, - strategy::compare::default_strategy, - Dimension, - DimensionCount - >::apply(mbr, p2, strategy); - } -}; - - -template -struct envelope_segment -{ - template - static inline void apply(Point const& p1, - Point const& p2, - Box& mbr, - Strategy const& strategy) - { - // first compute the envelope range for the first two coordinates - strategy.apply(p1, p2, mbr); - - // now compute the envelope range for coordinates of - // dimension 2 and higher - envelope_one_segment<2, DimensionCount>::apply(p1, p2, mbr, strategy); - } - - template - static inline void apply(Segment const& segment, Box& mbr) - { - typename point_type::type p[2]; - detail::assign_point_from_index<0>(segment, p[0]); - detail::assign_point_from_index<1>(segment, p[1]); - apply(p[0], p[1], mbr); - } -}; - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct envelope -{ - template - static inline void apply(Segment const& segment, - Box& mbr, - Strategy const& strategy) - { - typename point_type::type p[2]; - detail::assign_point_from_index<0>(segment, p[0]); - detail::assign_point_from_index<1>(segment, p[1]); - detail::envelope::envelope_segment - < - dimension::value - >::apply(p[0], p[1], mbr, strategy); - } -}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_SEGMENT_HPP diff --git a/include/boost/bgeometry/algorithms/detail/envelope/transform_units.hpp b/include/boost/bgeometry/algorithms/detail/envelope/transform_units.hpp deleted file mode 100644 index 1d937903474..00000000000 --- a/include/boost/bgeometry/algorithms/detail/envelope/transform_units.hpp +++ /dev/null @@ -1,103 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2015, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_TRANSFORM_UNITS_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_TRANSFORM_UNITS_HPP - -#include - -#include -#include - -#include - -#include -#include - -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - - -template -< - typename GeometryIn, - typename GeometryOut, - typename TagIn = typename tag::type, - typename TagOut = typename tag::type -> -struct transform_units_impl - : not_implemented -{}; - -template -struct transform_units_impl -{ - static inline void apply(PointIn const& point_in, PointOut& point_out) - { - detail::two_dimensional_view view_in(point_in); - detail::two_dimensional_view view_out(point_out); - - geometry::transform(view_in, view_out); - } -}; - -template -struct transform_units_impl -{ - template - static inline void apply(BoxIn const& box_in, BoxOut& box_out) - { - typedef detail::indexed_point_view view_in_type; - typedef detail::indexed_point_view view_out_type; - - view_in_type view_in(box_in); - view_out_type view_out(box_out); - - transform_units_impl - < - view_in_type, view_out_type - >::apply(view_in, view_out); - } - - static inline void apply(BoxIn const& box_in, BoxOut& box_out) - { - apply(box_in, box_out); - apply(box_in, box_out); - } -}; - - -// Short utility to transform the units of the first two coordinates of -// geometry_in to the units of geometry_out -template -inline void transform_units(GeometryIn const& geometry_in, - GeometryOut& geometry_out) -{ - transform_units_impl - < - GeometryIn, GeometryOut - >::apply(geometry_in, geometry_out); -} - - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost:geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_TRANSFORM_UNITS_HPP diff --git a/include/boost/bgeometry/algorithms/detail/equals/implementation.hpp b/include/boost/bgeometry/algorithms/detail/equals/implementation.hpp deleted file mode 100644 index 5bdab6e46d4..00000000000 --- a/include/boost/bgeometry/algorithms/detail/equals/implementation.hpp +++ /dev/null @@ -1,397 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2014-2015 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2014, 2015, 2016, 2017. -// Modifications copyright (c) 2014-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_EQUALS_IMPLEMENTATION_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EQUALS_IMPLEMENTATION_HPP - - -#include -#include - -#include -#include - -#include -#include - -#include - -// For trivial checks -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace equals -{ - - -template -< - std::size_t Dimension, - std::size_t DimensionCount -> -struct point_point -{ - template - static inline bool apply(Point1 const& point1, Point2 const& point2, Strategy const& strategy) - { - return ! detail::disjoint::point_point - < - Point1, Point2, - Dimension, DimensionCount - >::apply(point1, point2, strategy); - } -}; - - -template -< - std::size_t Dimension, - std::size_t DimensionCount -> -struct box_box -{ - template - static inline bool apply(Box1 const& box1, Box2 const& box2, Strategy const& strategy) - { - if (!geometry::math::equals(get(box1), get(box2)) - || !geometry::math::equals(get(box1), get(box2))) - { - return false; - } - return box_box::apply(box1, box2, strategy); - } -}; - -template -struct box_box -{ - template - static inline bool apply(Box1 const& , Box2 const& , Strategy const& ) - { - return true; - } -}; - - -struct segment_segment -{ - template - static inline bool apply(Segment1 const& segment1, Segment2 const& segment2, Strategy const& ) - { - return equals::equals_point_point( - indexed_point_view(segment1), - indexed_point_view(segment2) ) - ? equals::equals_point_point( - indexed_point_view(segment1), - indexed_point_view(segment2) ) - : ( equals::equals_point_point( - indexed_point_view(segment1), - indexed_point_view(segment2) ) - && equals::equals_point_point( - indexed_point_view(segment1), - indexed_point_view(segment2) ) - ); - } -}; - - -struct area_check -{ - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return geometry::math::equals( - geometry::area(geometry1, - strategy.template get_area_strategy()), - geometry::area(geometry2, - strategy.template get_area_strategy())); - } -}; - - -struct length_check -{ - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return geometry::math::equals( - geometry::length(geometry1, - strategy.template get_distance_strategy()), - geometry::length(geometry2, - strategy.template get_distance_strategy())); - } -}; - - -template -struct collected_vector -{ - typedef typename geometry::select_most_precise - < - typename select_coordinate_type - < - Geometry1, Geometry2 - >::type, - double - >::type calculation_type; - - typedef geometry::collected_vector - < - calculation_type, - Geometry1, - typename IntersectionStrategy::side_strategy_type - > type; -}; - -template -struct equals_by_collection -{ - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - if (! TrivialCheck::apply(geometry1, geometry2, strategy)) - { - return false; - } - - typedef typename collected_vector - < - Geometry1, Geometry2, Strategy - >::type collected_vector_type; - - std::vector c1, c2; - - geometry::collect_vectors(c1, geometry1); - geometry::collect_vectors(c2, geometry2); - - if (boost::size(c1) != boost::size(c2)) - { - return false; - } - - std::sort(c1.begin(), c1.end()); - std::sort(c2.begin(), c2.end()); - - // Just check if these vectors are equal. - return std::equal(c1.begin(), c1.end(), c2.begin()); - } -}; - -template -struct equals_by_relate - : detail::relate::relate_impl - < - detail::de9im::static_mask_equals_type, - Geometry1, - Geometry2 - > -{}; - -// If collect_vectors which is a SideStrategy-dispatched optimization -// is implemented in a way consistent with the Intersection/Side Strategy -// then collect_vectors is used, otherwise relate is used. -// NOTE: the result could be conceptually different for invalid -// geometries in different coordinate systems because collect_vectors -// and relate treat invalid geometries differently. -template -struct equals_by_collection_or_relate -{ - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - typedef typename boost::is_base_of - < - nyi::not_implemented_tag, - typename collected_vector - < - Geometry1, Geometry2, Strategy - >::type - >::type enable_relate_type; - - return apply(geometry1, geometry2, strategy, enable_relate_type()); - } - -private: - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy, - boost::false_type /*enable_relate*/) - { - return equals_by_collection::apply(geometry1, geometry2, strategy); - } - - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy, - boost::true_type /*enable_relate*/) - { - return equals_by_relate::apply(geometry1, geometry2, strategy); - } -}; - - -}} // namespace detail::equals -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -struct equals - : detail::equals::point_point<0, DimensionCount> -{}; - -template -struct equals - : detail::equals::equals_by_relate -{}; - -template -struct equals - : detail::equals::equals_by_relate -{}; - -template -struct equals - : detail::equals::box_box<0, DimensionCount> -{}; - - -template -struct equals - : detail::equals::equals_by_collection_or_relate -{}; - - -template -struct equals - : detail::equals::equals_by_collection_or_relate -{}; - - -template -struct equals - : detail::equals::equals_by_collection_or_relate -{}; - - -template -struct equals - : detail::equals::equals_by_collection -{}; - - -template -struct equals - : detail::equals::equals_by_collection -{}; - -template -struct equals - : detail::equals::segment_segment -{}; - -template -struct equals - : detail::equals::equals_by_relate -{}; - -template -struct equals - : detail::equals::equals_by_relate -{}; - -template -struct equals - : detail::equals::equals_by_relate -{}; - - -template -struct equals - < - MultiPolygon1, MultiPolygon2, - multi_polygon_tag, multi_polygon_tag, - 2, - Reverse - > - : detail::equals::equals_by_collection_or_relate -{}; - - -template -struct equals - < - Polygon, MultiPolygon, - polygon_tag, multi_polygon_tag, - 2, - Reverse - > - : detail::equals::equals_by_collection_or_relate -{}; - -template -struct equals - < - MultiPolygon, Ring, - multi_polygon_tag, ring_tag, - 2, - Reverse - > - : detail::equals::equals_by_collection_or_relate -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_EQUALS_IMPLEMENTATION_HPP - diff --git a/include/boost/bgeometry/algorithms/detail/equals/interface.hpp b/include/boost/bgeometry/algorithms/detail/equals/interface.hpp deleted file mode 100644 index 6ab4d623f6b..00000000000 --- a/include/boost/bgeometry/algorithms/detail/equals/interface.hpp +++ /dev/null @@ -1,317 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2014-2015 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2014, 2015, 2016, 2017. -// Modifications copyright (c) 2014-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_EQUALS_INTERFACE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EQUALS_INTERFACE_HPP - - -#include - -#include -#include -#include - -#include -#include - -#include - -#include - -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename Geometry1, - typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type, - std::size_t DimensionCount = dimension::type::value, - bool Reverse = reverse_dispatch::type::value -> -struct equals: not_implemented -{}; - - -// If reversal is needed, perform it -template -< - typename Geometry1, typename Geometry2, - typename Tag1, typename Tag2, - std::size_t DimensionCount -> -struct equals - : equals -{ - template - static inline bool apply(Geometry1 const& g1, Geometry2 const& g2, Strategy const& strategy) - { - return equals - < - Geometry2, Geometry1, - Tag2, Tag1, - DimensionCount, - false - >::apply(g2, g1, strategy); - } -}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -namespace resolve_strategy -{ - -struct equals -{ - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - return dispatch::equals - < - Geometry1, Geometry2 - >::apply(geometry1, geometry2, strategy); - } - - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - default_strategy) - { - typedef typename strategy::relate::services::default_strategy - < - Geometry1, - Geometry2 - >::type strategy_type; - - return dispatch::equals - < - Geometry1, Geometry2 - >::apply(geometry1, geometry2, strategy_type()); - } -}; - -} // namespace resolve_strategy - - -namespace resolve_variant { - -template -struct equals -{ - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) - { - concepts::check_concepts_and_equal_dimensions - < - Geometry1 const, - Geometry2 const - >(); - - return resolve_strategy::equals - ::apply(geometry1, geometry2, strategy); - } -}; - -template -struct equals, Geometry2> -{ - template - struct visitor: static_visitor - { - Geometry2 const& m_geometry2; - Strategy const& m_strategy; - - visitor(Geometry2 const& geometry2, Strategy const& strategy) - : m_geometry2(geometry2) - , m_strategy(strategy) - {} - - template - inline bool operator()(Geometry1 const& geometry1) const - { - return equals - ::apply(geometry1, m_geometry2, m_strategy); - } - - }; - - template - static inline bool apply( - boost::variant const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy - ) - { - return boost::apply_visitor(visitor(geometry2, strategy), geometry1); - } -}; - -template -struct equals > -{ - template - struct visitor: static_visitor - { - Geometry1 const& m_geometry1; - Strategy const& m_strategy; - - visitor(Geometry1 const& geometry1, Strategy const& strategy) - : m_geometry1(geometry1) - , m_strategy(strategy) - {} - - template - inline bool operator()(Geometry2 const& geometry2) const - { - return equals - ::apply(m_geometry1, geometry2, m_strategy); - } - - }; - - template - static inline bool apply( - Geometry1 const& geometry1, - boost::variant const& geometry2, - Strategy const& strategy - ) - { - return boost::apply_visitor(visitor(geometry1, strategy), geometry2); - } -}; - -template < - BOOST_VARIANT_ENUM_PARAMS(typename T1), - BOOST_VARIANT_ENUM_PARAMS(typename T2) -> -struct equals< - boost::variant, - boost::variant -> -{ - template - struct visitor: static_visitor - { - Strategy const& m_strategy; - - visitor(Strategy const& strategy) - : m_strategy(strategy) - {} - - template - inline bool operator()(Geometry1 const& geometry1, - Geometry2 const& geometry2) const - { - return equals - ::apply(geometry1, geometry2, m_strategy); - } - - }; - - template - static inline bool apply( - boost::variant const& geometry1, - boost::variant const& geometry2, - Strategy const& strategy - ) - { - return boost::apply_visitor(visitor(strategy), geometry1, geometry2); - } -}; - -} // namespace resolve_variant - - -/*! -\brief \brief_check{are spatially equal} -\details \details_check12{equals, is spatially equal}. Spatially equal means - that the same point set is included. A box can therefore be spatially equal - to a ring or a polygon, or a linestring can be spatially equal to a - multi-linestring or a segment. This only works theoretically, not all - combinations are implemented yet. -\ingroup equals -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\tparam Strategy \tparam_strategy{Equals} -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\param strategy \param_strategy{equals} -\return \return_check2{are spatially equal} - -\qbk{distinguish,with strategy} -\qbk{[include reference/algorithms/equals.qbk]} - */ -template -inline bool equals(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) -{ - return resolve_variant::equals - < - Geometry1, Geometry2 - >::apply(geometry1, geometry2, strategy); -} - - -/*! -\brief \brief_check{are spatially equal} -\details \details_check12{equals, is spatially equal}. Spatially equal means - that the same point set is included. A box can therefore be spatially equal - to a ring or a polygon, or a linestring can be spatially equal to a - multi-linestring or a segment. This only works theoretically, not all - combinations are implemented yet. -\ingroup equals -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\return \return_check2{are spatially equal} - -\qbk{[include reference/algorithms/equals.qbk]} - */ -template -inline bool equals(Geometry1 const& geometry1, Geometry2 const& geometry2) -{ - return resolve_variant::equals - ::apply(geometry1, geometry2, default_strategy()); -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_EQUALS_INTERFACE_HPP - diff --git a/include/boost/bgeometry/algorithms/detail/equals/point_point.hpp b/include/boost/bgeometry/algorithms/detail/equals/point_point.hpp deleted file mode 100644 index 0ecfd6b3d19..00000000000 --- a/include/boost/bgeometry/algorithms/detail/equals/point_point.hpp +++ /dev/null @@ -1,52 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. -// Copyright (c) 2013-2014 Adam Wulkiewicz, Lodz, Poland - -// This file was modified by Oracle on 2013-2014. -// Modifications copyright (c) 2013-2014, Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_EQUALS_POINT_POINT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EQUALS_POINT_POINT_HPP - -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace equals -{ - -/*! - \brief Internal utility function to detect of points are disjoint - \note To avoid circular references - */ -template -inline bool equals_point_point(Point1 const& point1, Point2 const& point2) -{ - return ! detail::disjoint::disjoint_point_point(point1, point2); -} - - -}} // namespace detail::equals -#endif // DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_EQUALS_POINT_POINT_HPP diff --git a/include/boost/bgeometry/algorithms/detail/expand/box.hpp b/include/boost/bgeometry/algorithms/detail/expand/box.hpp deleted file mode 100644 index 04ec04fbf70..00000000000 --- a/include/boost/bgeometry/algorithms/detail/expand/box.hpp +++ /dev/null @@ -1,129 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2014-2015 Samuel Debionne, Grenoble, France. - -// This file was modified by Oracle on 2015, 2016. -// Modifications copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_BOX_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_BOX_HPP - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace expand -{ - - -#if 0 -struct box_on_spheroid -{ - template - static inline void apply(BoxOut& box_out, - BoxIn const& box_in, - Strategy const& strategy) - { - // normalize both boxes and convert box-in to be of type of box-out - BoxOut mbrs[2]; - detail::envelope::envelope_box_on_spheroid::apply(box_in, mbrs[0], strategy); - detail::envelope::envelope_box_on_spheroid::apply(box_out, mbrs[1], strategy); - - // compute the envelope of the two boxes - detail::envelope::envelope_range_of_boxes::apply(mbrs, box_out, strategy); - } -}; -#endif - - -}} // namespace detail::expand -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -// Box + box -> new box containing two input boxes -template -< - typename BoxOut, typename BoxIn, - typename StrategyLess, typename StrategyGreater, - typename CSTagOut, typename CSTag -> -struct expand - < - BoxOut, BoxIn, - StrategyLess, StrategyGreater, - box_tag, box_tag, - CSTagOut, CSTag - > : detail::expand::expand_indexed - < - 0, dimension::value, StrategyLess, StrategyGreater - > -{ - BOOST_MPL_ASSERT_MSG((boost::is_same::value), - COORDINATE_SYSTEMS_MUST_BE_THE_SAME, - (types())); -}; - -#if 0 -template -< - typename BoxOut, typename BoxIn, - typename StrategyLess, typename StrategyGreater -> -struct expand - < - BoxOut, BoxIn, - StrategyLess, StrategyGreater, - box_tag, box_tag, - spherical_equatorial_tag, spherical_equatorial_tag - > : detail::expand::box_on_spheroid -{}; - -template -< - typename BoxOut, typename BoxIn, - typename StrategyLess, typename StrategyGreater -> -struct expand - < - BoxOut, BoxIn, - StrategyLess, StrategyGreater, - box_tag, box_tag, - geographic_tag, geographic_tag - > : detail::expand::box_on_spheroid -{}; -#endif - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_INDEXED_HPP diff --git a/include/boost/bgeometry/algorithms/detail/expand/implementation.hpp b/include/boost/bgeometry/algorithms/detail/expand/implementation.hpp deleted file mode 100644 index fe82affecc0..00000000000 --- a/include/boost/bgeometry/algorithms/detail/expand/implementation.hpp +++ /dev/null @@ -1,27 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2014-2015 Samuel Debionne, Grenoble, France. - -// This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_IMPLEMENTATION_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_IMPLEMENTATION_HPP - -#include -#include -#include - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_IMPLEMENTATION_HPP diff --git a/include/boost/bgeometry/algorithms/detail/expand/indexed.hpp b/include/boost/bgeometry/algorithms/detail/expand/indexed.hpp deleted file mode 100644 index 7096b792e79..00000000000 --- a/include/boost/bgeometry/algorithms/detail/expand/indexed.hpp +++ /dev/null @@ -1,147 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2014-2015 Samuel Debionne, Grenoble, France. - -// This file was modified by Oracle on 2015, 2016. -// Modifications copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_INDEXED_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_INDEXED_HPP - -#include - -#include -#include - -#include - -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace expand -{ - - -template -< - typename StrategyLess, typename StrategyGreater, - std::size_t Index, - std::size_t Dimension, std::size_t DimensionCount -> -struct indexed_loop -{ - template - static inline void apply(Box& box, Geometry const& source, Strategy const& strategy) - { - typedef typename strategy::compare::detail::select_strategy - < - StrategyLess, 1, Box, Dimension - >::type less_type; - - typedef typename strategy::compare::detail::select_strategy - < - StrategyGreater, -1, Box, Dimension - >::type greater_type; - - typedef typename select_coordinate_type - < - Box, - Geometry - >::type coordinate_type; - - less_type less; - greater_type greater; - - coordinate_type const coord = get(source); - - if (less(coord, get(box))) - { - set(box, coord); - } - - if (greater(coord, get(box))) - { - set(box, coord); - } - - indexed_loop - < - StrategyLess, StrategyGreater, - Index, Dimension + 1, DimensionCount - >::apply(box, source, strategy); - } -}; - - -template -< - typename StrategyLess, typename StrategyGreater, - std::size_t Index, std::size_t DimensionCount -> -struct indexed_loop - < - StrategyLess, StrategyGreater, - Index, DimensionCount, DimensionCount - > -{ - template - static inline void apply(Box&, Geometry const&, Strategy const&) {} -}; - - - -// Changes a box such that the other box is also contained by the box -template -< - std::size_t Dimension, std::size_t DimensionCount, - typename StrategyLess, typename StrategyGreater -> -struct expand_indexed -{ - template - static inline void apply(Box& box, - Geometry const& geometry, - Strategy const& strategy) - { - indexed_loop - < - StrategyLess, StrategyGreater, - 0, Dimension, DimensionCount - >::apply(box, geometry, strategy); - - indexed_loop - < - StrategyLess, StrategyGreater, - 1, Dimension, DimensionCount - >::apply(box, geometry, strategy); - } -}; - - -}} // namespace detail::expand -#endif // DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_INDEXED_HPP diff --git a/include/boost/bgeometry/algorithms/detail/expand/interface.hpp b/include/boost/bgeometry/algorithms/detail/expand/interface.hpp deleted file mode 100644 index 56c4d6eab1a..00000000000 --- a/include/boost/bgeometry/algorithms/detail/expand/interface.hpp +++ /dev/null @@ -1,194 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2014-2015 Samuel Debionne, Grenoble, France. - -// This file was modified by Oracle on 2015, 2016. -// Modifications copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_INTERFACE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_INTERFACE_HPP - -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace boost { namespace geometry -{ - -namespace resolve_strategy -{ - -template -struct expand -{ - template - static inline void apply(Box& box, - Geometry const& geometry, - Strategy const& strategy) - { - dispatch::expand::apply(box, geometry, strategy); - } - - template - static inline void apply(Box& box, - Geometry const& geometry, - default_strategy) - { - typedef typename point_type::type point_type; - typedef typename coordinate_type::type coordinate_type; - - typedef typename strategy::envelope::services::default_strategy - < - typename cs_tag::type, - coordinate_type - >::type strategy_type; - - dispatch::expand::apply(box, geometry, strategy_type()); - } -}; - -} //namespace resolve_strategy - - -namespace resolve_variant -{ - -template -struct expand -{ - template - static inline void apply(Box& box, - Geometry const& geometry, - Strategy const& strategy) - { - concepts::check(); - concepts::check(); - concepts::check_concepts_and_equal_dimensions(); - - resolve_strategy::expand::apply(box, geometry, strategy); - } -}; - -template -struct expand > -{ - template - struct visitor: boost::static_visitor - { - Box& m_box; - Strategy const& m_strategy; - - visitor(Box& box, Strategy const& strategy) - : m_box(box) - , m_strategy(strategy) - {} - - template - void operator()(Geometry const& geometry) const - { - return expand::apply(m_box, geometry, m_strategy); - } - }; - - template - static inline void - apply(Box& box, - boost::variant const& geometry, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(box, strategy), - geometry); - } -}; - -} // namespace resolve_variant - - -/*** -*! -\brief Expands a box using the extend (envelope) of another geometry (box, point) -\ingroup expand -\tparam Box type of the box -\tparam Geometry of second geometry, to be expanded with the box -\param box box to expand another geometry with, might be changed -\param geometry other geometry -\param strategy_less -\param strategy_greater -\note Strategy is currently ignored - * -template -< - typename Box, typename Geometry, - typename StrategyLess, typename StrategyGreater -> -inline void expand(Box& box, Geometry const& geometry, - StrategyLess const& strategy_less, - StrategyGreater const& strategy_greater) -{ - concepts::check_concepts_and_equal_dimensions(); - - dispatch::expand::apply(box, geometry); -} -***/ - -/*! -\brief Expands (with strategy) -\ingroup expand -\tparam Box type of the box -\tparam Geometry \tparam_geometry -\tparam Strategy \tparam_strategy{expand} -\param box box to be expanded using another geometry, mutable -\param geometry \param_geometry geometry which envelope (bounding box) -\param strategy \param_strategy{expand} -will be added to the box - -\qbk{distinguish,with strategy} -\qbk{[include reference/algorithms/expand.qbk]} - */ -template -inline void expand(Box& box, Geometry const& geometry, Strategy const& strategy) -{ - - resolve_variant::expand::apply(box, geometry, strategy); -} - -/*! -\brief Expands a box using the bounding box (envelope) of another geometry -(box, point) -\ingroup expand -\tparam Box type of the box -\tparam Geometry \tparam_geometry -\param box box to be expanded using another geometry, mutable -\param geometry \param_geometry geometry which envelope (bounding box) will be -added to the box - -\qbk{[include reference/algorithms/expand.qbk]} - */ -template -inline void expand(Box& box, Geometry const& geometry) -{ - resolve_variant::expand::apply(box, geometry, default_strategy()); -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_INTERFACE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/expand/point.hpp b/include/boost/bgeometry/algorithms/detail/expand/point.hpp deleted file mode 100644 index ea5776f0d68..00000000000 --- a/include/boost/bgeometry/algorithms/detail/expand/point.hpp +++ /dev/null @@ -1,306 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2014-2015 Samuel Debionne, Grenoble, France. - -// This file was modified by Oracle on 2015, 2016. -// Modifications copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_POINT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_POINT_HPP - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace expand -{ - - -template -< - typename StrategyLess, typename StrategyGreater, - std::size_t Dimension, std::size_t DimensionCount -> -struct point_loop -{ - template - static inline void apply(Box& box, Point const& source, Strategy const& strategy) - { - typedef typename strategy::compare::detail::select_strategy - < - StrategyLess, 1, Point, Dimension - >::type less_type; - - typedef typename strategy::compare::detail::select_strategy - < - StrategyGreater, -1, Point, Dimension - >::type greater_type; - - typedef typename select_coordinate_type - < - Point, Box - >::type coordinate_type; - - less_type less; - greater_type greater; - - coordinate_type const coord = get(source); - - if (less(coord, get(box))) - { - set(box, coord); - } - - if (greater(coord, get(box))) - { - set(box, coord); - } - - point_loop - < - StrategyLess, StrategyGreater, Dimension + 1, DimensionCount - >::apply(box, source, strategy); - } -}; - - -template -< - typename StrategyLess, - typename StrategyGreater, - std::size_t DimensionCount -> -struct point_loop - < - StrategyLess, StrategyGreater, DimensionCount, DimensionCount - > -{ - template - static inline void apply(Box&, Point const&, Strategy const&) {} -}; - - -#if 0 -// implementation for the spherical equatorial and geographic coordinate systems -template -< - typename StrategyLess, - typename StrategyGreater, - std::size_t DimensionCount -> -struct point_loop_on_spheroid -{ - template - static inline void apply(Box& box, - Point const& point, - Strategy const& strategy) - { - typedef typename point_type::type box_point_type; - typedef typename coordinate_type::type box_coordinate_type; - - typedef math::detail::constants_on_spheroid - < - box_coordinate_type, - typename coordinate_system::type::units - > constants; - - // normalize input point and input box - Point p_normalized = detail::return_normalized(point); - detail::normalize(box, box); - - // transform input point to be of the same type as the box point - box_point_type box_point; - detail::envelope::transform_units(p_normalized, box_point); - - box_coordinate_type p_lon = geometry::get<0>(box_point); - box_coordinate_type p_lat = geometry::get<1>(box_point); - - typename coordinate_type::type - b_lon_min = geometry::get(box), - b_lat_min = geometry::get(box), - b_lon_max = geometry::get(box), - b_lat_max = geometry::get(box); - - if (math::equals(math::abs(p_lat), constants::max_latitude())) - { - // the point of expansion is the either the north or the - // south pole; the only important coordinate here is the - // pole's latitude, as the longitude can be anything; - // we, thus, take into account the point's latitude only and return - geometry::set(box, (std::min)(p_lat, b_lat_min)); - geometry::set(box, (std::max)(p_lat, b_lat_max)); - return; - } - - if (math::equals(b_lat_min, b_lat_max) - && math::equals(math::abs(b_lat_min), constants::max_latitude())) - { - // the box degenerates to either the north or the south pole; - // the only important coordinate here is the pole's latitude, - // as the longitude can be anything; - // we thus take into account the box's latitude only and return - geometry::set(box, p_lon); - geometry::set(box, (std::min)(p_lat, b_lat_min)); - geometry::set(box, p_lon); - geometry::set(box, (std::max)(p_lat, b_lat_max)); - return; - } - - // update latitudes - b_lat_min = (std::min)(b_lat_min, p_lat); - b_lat_max = (std::max)(b_lat_max, p_lat); - - // update longitudes - if (math::smaller(p_lon, b_lon_min)) - { - box_coordinate_type p_lon_shifted = p_lon + constants::period(); - - if (math::larger(p_lon_shifted, b_lon_max)) - { - // here we could check using: ! math::larger(.., ..) - if (math::smaller(b_lon_min - p_lon, p_lon_shifted - b_lon_max)) - { - b_lon_min = p_lon; - } - else - { - b_lon_max = p_lon_shifted; - } - } - } - else if (math::larger(p_lon, b_lon_max)) - { - // in this case, and since p_lon is normalized in the range - // (-180, 180], we must have that b_lon_max <= 180 - if (b_lon_min < 0 - && math::larger(p_lon - b_lon_max, - constants::period() - p_lon + b_lon_min)) - { - b_lon_min = p_lon; - b_lon_max += constants::period(); - } - else - { - b_lon_max = p_lon; - } - } - - geometry::set(box, b_lon_min); - geometry::set(box, b_lat_min); - geometry::set(box, b_lon_max); - geometry::set(box, b_lat_max); - - point_loop - < - StrategyLess, StrategyGreater, 2, DimensionCount - >::apply(box, point, strategy); - } -}; -#endif - - -}} // namespace detail::expand -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -// Box + point -> new box containing also point -template -< - typename BoxOut, typename Point, - typename StrategyLess, typename StrategyGreater, - typename CSTagOut, typename CSTag -> -struct expand - < - BoxOut, Point, - StrategyLess, StrategyGreater, - box_tag, point_tag, - CSTagOut, CSTag - > : detail::expand::point_loop - < - StrategyLess, StrategyGreater, 0, dimension::value - > -{ - BOOST_MPL_ASSERT_MSG((boost::is_same::value), - COORDINATE_SYSTEMS_MUST_BE_THE_SAME, - (types())); -}; - -#if 0 -template -< - typename BoxOut, typename Point, - typename StrategyLess, typename StrategyGreater -> -struct expand - < - BoxOut, Point, - StrategyLess, StrategyGreater, - box_tag, point_tag, - spherical_equatorial_tag, spherical_equatorial_tag - > : detail::expand::point_loop_on_spheroid - < - StrategyLess, StrategyGreater, dimension::value - > -{}; - -template -< - typename BoxOut, typename Point, - typename StrategyLess, typename StrategyGreater -> -struct expand - < - BoxOut, Point, - StrategyLess, StrategyGreater, - box_tag, point_tag, - geographic_tag, geographic_tag - > : detail::expand::point_loop_on_spheroid - < - StrategyLess, StrategyGreater, dimension::value - > -{}; -#endif - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_POINT_HPP diff --git a/include/boost/bgeometry/algorithms/detail/expand/segment.hpp b/include/boost/bgeometry/algorithms/detail/expand/segment.hpp deleted file mode 100644 index 1ffb34219d6..00000000000 --- a/include/boost/bgeometry/algorithms/detail/expand/segment.hpp +++ /dev/null @@ -1,132 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. -// Copyright (c) 2014-2015 Samuel Debionne, Grenoble, France. - -// This file was modified by Oracle on 2015, 2016. -// Modifications copyright (c) 2015-2016, Oracle and/or its affiliates. - -// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_SEGMENT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_SEGMENT_HPP - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace expand -{ - -struct segment -{ - template - static inline void apply(Box& box, - Segment const& segment, - Strategy const& strategy) - { - Box mbrs[2]; - - // compute the envelope of the segment - typename point_type::type p[2]; - detail::assign_point_from_index<0>(segment, p[0]); - detail::assign_point_from_index<1>(segment, p[1]); - detail::envelope::envelope_segment - < - dimension::value - >::apply(p[0], p[1], mbrs[0], strategy); - - // normalize the box -#if 0 - detail::envelope::envelope_box_on_spheroid::apply(box, mbrs[1], strategy); -#endif - - // compute the envelope of the two boxes - detail::envelope::envelope_range_of_boxes::apply(mbrs, box, strategy); - } -}; - - -}} // namespace detail::expand -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename Box, typename Segment, - typename StrategyLess, typename StrategyGreater, - typename CSTagOut, typename CSTag -> -struct expand - < - Box, Segment, - StrategyLess, StrategyGreater, - box_tag, segment_tag, - CSTagOut, CSTag - > : detail::expand::expand_indexed - < - 0, dimension::value, StrategyLess, StrategyGreater - > -{ - BOOST_MPL_ASSERT_MSG((boost::is_same::value), - COORDINATE_SYSTEMS_MUST_BE_THE_SAME, - (types())); -}; - -template -< - typename Box, typename Segment, - typename StrategyLess, typename StrategyGreater -> -struct expand - < - Box, Segment, - StrategyLess, StrategyGreater, - box_tag, segment_tag, - spherical_equatorial_tag, spherical_equatorial_tag - > : detail::expand::segment -{}; - -template -< - typename Box, typename Segment, - typename StrategyLess, typename StrategyGreater -> -struct expand - < - Box, Segment, - StrategyLess, StrategyGreater, - box_tag, segment_tag, - geographic_tag, geographic_tag - > : detail::expand::segment -{}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_SEGMENT_HPP diff --git a/include/boost/bgeometry/algorithms/detail/expand_by_epsilon.hpp b/include/boost/bgeometry/algorithms/detail/expand_by_epsilon.hpp deleted file mode 100644 index e439e056223..00000000000 --- a/include/boost/bgeometry/algorithms/detail/expand_by_epsilon.hpp +++ /dev/null @@ -1,113 +0,0 @@ -// Boost.Geometry - -// Copyright (c) 2015, Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_EXPAND_BY_EPSILON_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_EXPAND_BY_EPSILON_HPP - -#include -#include - -#include - -#include -#include -#include - -#include - -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace expand -{ - -template -< - typename Point, - template class PlusOrMinus, - std::size_t I = 0, - std::size_t D = dimension::value, - bool Enable = boost::is_floating_point - < - typename coordinate_type::type - >::value -> -struct corner_by_epsilon -{ - static inline void apply(Point & point) - { - typedef typename coordinate_type::type coord_type; - coord_type const coord = get(point); - coord_type const eps = math::scaled_epsilon(coord); - - set(point, PlusOrMinus()(coord, eps)); - - corner_by_epsilon::apply(point); - } -}; - -template -< - typename Point, - template class PlusOrMinus, - std::size_t I, - std::size_t D -> -struct corner_by_epsilon -{ - static inline void apply(Point const&) {} -}; - -template -< - typename Point, - template class PlusOrMinus, - std::size_t D, - bool Enable -> -struct corner_by_epsilon -{ - static inline void apply(Point const&) {} -}; - -template -< - typename Point, - template class PlusOrMinus, - std::size_t D -> -struct corner_by_epsilon -{ - static inline void apply(Point const&) {} -}; - -} // namespace expand - -template -inline void expand_by_epsilon(Box & box) -{ - typedef detail::indexed_point_view min_type; - min_type min_point(box); - expand::corner_by_epsilon::apply(min_point); - - typedef detail::indexed_point_view max_type; - max_type max_point(box); - expand::corner_by_epsilon::apply(max_point); -} - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_EXPAND_BY_EPSILON_HPP diff --git a/include/boost/bgeometry/algorithms/detail/for_each_range.hpp b/include/boost/bgeometry/algorithms/detail/for_each_range.hpp deleted file mode 100644 index db7758cb031..00000000000 --- a/include/boost/bgeometry/algorithms/detail/for_each_range.hpp +++ /dev/null @@ -1,201 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_FOR_EACH_RANGE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_FOR_EACH_RANGE_HPP - - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace for_each -{ - - -template -struct fe_range_range -{ - static inline void apply(Range & range, Actor & actor) - { - actor.apply(range); - } -}; - - -template -struct fe_range_polygon -{ - static inline void apply(Polygon & polygon, Actor & actor) - { - actor.apply(exterior_ring(polygon)); - - // TODO: If some flag says true, also do the inner rings. - // for convex hull, it's not necessary - } -}; - -template -struct fe_range_box -{ - static inline void apply(Box & box, Actor & actor) - { - actor.apply(box_view::type>(box)); - } -}; - -template -struct fe_range_multi -{ - static inline void apply(Multi & multi, Actor & actor) - { - for ( typename boost::range_iterator::type - it = boost::begin(multi); it != boost::end(multi); ++it) - { - SinglePolicy::apply(*it, actor); - } - } -}; - -}} // namespace detail::for_each -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -< - typename Geometry, - typename Actor, - typename Tag = typename tag::type -> -struct for_each_range -{ - BOOST_MPL_ASSERT_MSG - ( - false, NOT_OR_NOT_YET_IMPLEMENTED_FOR_THIS_GEOMETRY_TYPE - , (types) - ); -}; - - -template -struct for_each_range - : detail::for_each::fe_range_range -{}; - - -template -struct for_each_range - : detail::for_each::fe_range_range -{}; - - -template -struct for_each_range - : detail::for_each::fe_range_polygon -{}; - - -template -struct for_each_range - : detail::for_each::fe_range_box -{}; - - -template -struct for_each_range - : detail::for_each::fe_range_range -{}; - - -template -struct for_each_range - : detail::for_each::fe_range_multi - < - Geometry, - Actor, - detail::for_each::fe_range_range - < - typename add_const_if_c - < - boost::is_const::value, - typename boost::range_value::type - >::type, - Actor - > - > -{}; - - -template -struct for_each_range - : detail::for_each::fe_range_multi - < - Geometry, - Actor, - detail::for_each::fe_range_polygon - < - typename add_const_if_c - < - boost::is_const::value, - typename boost::range_value::type - >::type, - Actor - > - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -namespace detail -{ - -template -inline void for_each_range(Geometry const& geometry, Actor & actor) -{ - dispatch::for_each_range - < - Geometry const, - Actor - >::apply(geometry, actor); -} - - -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_FOR_EACH_RANGE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/get_max_size.hpp b/include/boost/bgeometry/algorithms/detail/get_max_size.hpp deleted file mode 100644 index d5cc714476f..00000000000 --- a/include/boost/bgeometry/algorithms/detail/get_max_size.hpp +++ /dev/null @@ -1,64 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2014 Bruno Lalande, Paris, France. -// Copyright (c) 2014 Mateusz Loskot, London, UK. -// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_GET_MAX_SIZE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_GET_MAX_SIZE_HPP - - -#include - -#include -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - -template -struct get_max_size_box -{ - static inline typename coordinate_type::type apply(Box const& box) - { - typename coordinate_type::type s - = geometry::math::abs(geometry::get<1, Dimension>(box) - geometry::get<0, Dimension>(box)); - - return (std::max)(s, get_max_size_box::apply(box)); - } -}; - -template -struct get_max_size_box -{ - static inline typename coordinate_type::type apply(Box const& box) - { - return geometry::math::abs(geometry::get<1, 0>(box) - geometry::get<0, 0>(box)); - } -}; - -// This might be implemented later on for other geometries too. -// Not dispatched yet. -template -inline typename coordinate_type::type get_max_size(Box const& box) -{ - return get_max_size_box::value - 1>::apply(box); -} - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_GET_MAX_SIZE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/interior_iterator.hpp b/include/boost/bgeometry/algorithms/detail/interior_iterator.hpp deleted file mode 100644 index 2055d1a6a0e..00000000000 --- a/include/boost/bgeometry/algorithms/detail/interior_iterator.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// Boost.Geometry - -// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_INTERIOR_ITERATOR_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_INTERIOR_ITERATOR_HPP - -#include -#include - -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - -/*! -\brief Structure defining the type of interior rings iterator -\note If the Geometry is const, const iterator is defined. -\tparam Geometry \tparam_geometry - */ -template -struct interior_iterator -{ - typedef typename boost::range_iterator - < - typename geometry::interior_type::type - >::type type; -}; - -template -struct copy_const -{ - typedef T type; -}; - -template -struct copy_const -{ - typedef T const type; -}; - -template -struct interior_ring_iterator -{ - typedef typename boost::range_iterator - < - typename copy_const - < - typename geometry::interior_type::type, - typename boost::range_value - < - typename geometry::interior_type::type - >::type - >::type - >::type type; -}; - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_INTERIOR_ITERATOR_HPP diff --git a/include/boost/bgeometry/algorithms/detail/intersects/implementation.hpp b/include/boost/bgeometry/algorithms/detail/intersects/implementation.hpp deleted file mode 100644 index f7b14356295..00000000000 --- a/include/boost/bgeometry/algorithms/detail/intersects/implementation.hpp +++ /dev/null @@ -1,88 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2013-2017. -// Modifications copyright (c) 2013-2017, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_INTERSECTS_IMPLEMENTATION_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_INTERSECTS_IMPLEMENTATION_HPP - - -#include - -#include -#include - -#include -#include -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace intersects -{ - -template -struct self_intersects -{ - static bool apply(Geometry const& geometry) - { - concepts::check(); - - typedef typename geometry::point_type::type point_type; - typedef typename strategy::relate::services::default_strategy - < - Geometry, Geometry - >::type strategy_type; - typedef detail::no_rescale_policy rescale_policy_type; - - typedef detail::overlay::turn_info - < - point_type, - typename segment_ratio_type::type - > turn_info; - - std::deque turns; - - typedef detail::overlay::get_turn_info - < - detail::overlay::assign_null_policy - > turn_policy; - - strategy_type strategy; - rescale_policy_type robust_policy; - - detail::disjoint::disjoint_interrupt_policy policy; - detail::self_get_turn_points::get_turns - < - false, turn_policy - >::apply(geometry, strategy, robust_policy, turns, policy, 0); - return policy.has_intersections; - } -}; - -}} // namespace detail::intersects -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_INTERSECTS_IMPLEMENTATION_HPP diff --git a/include/boost/bgeometry/algorithms/detail/intersects/interface.hpp b/include/boost/bgeometry/algorithms/detail/intersects/interface.hpp deleted file mode 100644 index 68b3daeedb8..00000000000 --- a/include/boost/bgeometry/algorithms/detail/intersects/interface.hpp +++ /dev/null @@ -1,115 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2013-2017. -// Modifications copyright (c) 2013-2017, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_INTERSECTS_INTERFACE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_INTERSECTS_INTERFACE_HPP - - -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace intersects -{ - -// Forward declaration -template -struct self_intersects; - -}} // namespace detail::intersects -#endif // DOXYGEN_NO_DETAIL - - -/*! -\brief \brief_check{has at least one intersection (crossing or self-tangency)} -\note This function can be called for one geometry (self-intersection) and - also for two geometries (intersection) -\ingroup intersects -\tparam Geometry \tparam_geometry -\param geometry \param_geometry -\return \return_check{is self-intersecting} - -\qbk{distinguish,one geometry} -\qbk{[def __one_parameter__]} -\qbk{[include reference/algorithms/intersects.qbk]} -*/ -template -inline bool intersects(Geometry const& geometry) -{ - return detail::intersects::self_intersects::apply(geometry); -} - - -/*! -\brief \brief_check2{have at least one intersection} -\ingroup intersects -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\tparam Strategy \tparam_strategy{Intersects} -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\param strategy \param_strategy{intersects} -\return \return_check2{intersect each other} - -\qbk{distinguish,with strategy} -\qbk{[include reference/algorithms/intersects.qbk]} - */ -template -inline bool intersects(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) -{ - concepts::check(); - concepts::check(); - - return ! geometry::disjoint(geometry1, geometry2, strategy); -} - - -/*! -\brief \brief_check2{have at least one intersection} -\ingroup intersects -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\return \return_check2{intersect each other} - -\qbk{distinguish,two geometries} -\qbk{[include reference/algorithms/intersects.qbk]} - */ -template -inline bool intersects(Geometry1 const& geometry1, Geometry2 const& geometry2) -{ - concepts::check(); - concepts::check(); - - return ! geometry::disjoint(geometry1, geometry2); -} - - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_INTERSECTS_INTERFACE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/max_interval_gap.hpp b/include/boost/bgeometry/algorithms/detail/max_interval_gap.hpp deleted file mode 100644 index 3f39fcf55cb..00000000000 --- a/include/boost/bgeometry/algorithms/detail/max_interval_gap.hpp +++ /dev/null @@ -1,278 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2015, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Licensed under the Boost Software License version 1.0. -// http://www.boost.org/users/license.html - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_MAX_INTERVAL_GAP_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_MAX_INTERVAL_GAP_HPP - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace max_interval_gap -{ - -// the class Interval must provide the following: -// * must define the type value_type -// * must define the type difference_type -// * must have the methods: -// value_type get() const -// difference_type length() const -// where an Index value of 0 (resp., 1) refers to the left (resp., -// right) endpoint of the interval - -template -class sweep_event -{ -public: - typedef Interval interval_type; - typedef typename Interval::value_type time_type; - - sweep_event(Interval const& interval, bool start_event = true) - : m_interval(boost::cref(interval)) - , m_start_event(start_event) - {} - - inline bool is_start_event() const - { - return m_start_event; - } - - inline interval_type const& interval() const - { - return m_interval; - } - - inline time_type time() const - { - return (m_start_event) - ? interval().template get<0>() - : interval().template get<1>(); - } - - inline bool operator<(sweep_event const& other) const - { - if (! math::equals(time(), other.time())) - { - return time() < other.time(); - } - // a start-event is before an end-event with the same event time - return is_start_event() && ! other.is_start_event(); - } - -private: - boost::reference_wrapper m_interval; - bool m_start_event; -}; - -template -struct event_greater -{ - inline bool operator()(Event const& event1, Event const& event2) const - { - return event2 < event1; - } -}; - - -struct initialization_visitor -{ - template - static inline void apply(Range const& range, - PriorityQueue& queue, - EventVisitor&) - { - BOOST_GEOMETRY_ASSERT(queue.empty()); - - // it is faster to build the queue directly from the entire - // range, rather than insert elements one after the other - PriorityQueue pq(boost::begin(range), boost::end(range)); - std::swap(pq, queue); - } -}; - - -template -class event_visitor -{ - typedef typename Event::time_type event_time_type; - typedef typename Event::interval_type::difference_type difference_type; - - typedef typename boost::remove_const - < - typename boost::remove_reference - < - event_time_type - >::type - >::type bare_time_type; - - -public: - event_visitor() - : m_overlap_count(0) - , m_max_gap_left(0) - , m_max_gap_right(0) - {} - - template - inline void apply(Event const& event, PriorityQueue& queue) - { - if (event.is_start_event()) - { - ++m_overlap_count; - queue.push(Event(event.interval(), false)); - } - else - { - --m_overlap_count; - if (m_overlap_count == 0 && ! queue.empty()) - { - // we may have a gap - BOOST_GEOMETRY_ASSERT(queue.top().is_start_event()); - - event_time_type next_event_time - = queue.top().interval().template get<0>(); - difference_type gap = next_event_time - event.time(); - if (gap > max_gap()) - { - m_max_gap_left = event.time(); - m_max_gap_right = next_event_time; - } - } - } - } - - bare_time_type const& max_gap_left() const - { - return m_max_gap_left; - } - - bare_time_type const& max_gap_right() const - { - return m_max_gap_right; - } - - difference_type max_gap() const - { - return m_max_gap_right - m_max_gap_left; - } - -private: - std::size_t m_overlap_count; - bare_time_type m_max_gap_left, m_max_gap_right; -}; - -}} // namespace detail::max_interval_gap -#endif // DOXYGEN_NO_DETAIL - - -// Given a range of intervals I1, I2, ..., In, maximum_gap() returns -// the maximum length of an interval M that satisfies the following -// properties: -// -// 1. M.left >= min(I1, I2, ..., In) -// 2. M.right <= max(I1, I2, ..., In) -// 3. intersection(interior(M), Ik) is the empty set for all k=1, ..., n -// 4. length(M) is maximal -// -// where M.left and M.right denote the left and right extreme values -// for the interval M, and length(M) is equal to M.right - M.left. -// -// If M does not exist (or, alternatively, M is identified as the -// empty set), 0 is returned. -// -// The algorithm proceeds for performing a sweep: the left endpoints -// are inserted into a min-priority queue with the priority being the -// value of the endpoint. The sweep algorithm maintains an "overlap -// counter" that counts the number of overlapping intervals at any -// specific sweep-time value. -// There are two types of events encountered during the sweep: -// (a) a start event: the left endpoint of an interval is found. -// In this case the overlap count is increased by one and the -// right endpoint of the interval in inserted into the event queue -// (b) an end event: the right endpoint of an interval is found. -// In this case the overlap count is decreased by one. If the -// updated overlap count is 0, then we could expect to have a gap -// in-between intervals. This gap is measured as the (absolute) -// distance of the current interval right endpoint (being -// processed) to the upcoming left endpoint of the next interval -// to be processed (if such an interval exists). If the measured -// gap is greater than the current maximum gap, it is recorded. -// The initial maximum gap is initialized to 0. This value is returned -// if no gap is found during the sweeping procedure. - -template -inline typename boost::range_value::type::difference_type -maximum_gap(RangeOfIntervals const& range_of_intervals, - T& max_gap_left, T& max_gap_right) -{ - typedef typename boost::range_value::type interval_type; - typedef detail::max_interval_gap::sweep_event event_type; - - // create a min-priority queue for the events - std::priority_queue - < - event_type, - std::vector, - detail::max_interval_gap::event_greater - > queue; - - // define initialization and event-process visitors - detail::max_interval_gap::initialization_visitor init_visitor; - detail::max_interval_gap::event_visitor sweep_visitor; - - // perform the sweep - geometry::sweep(range_of_intervals, - queue, - init_visitor, - sweep_visitor); - - max_gap_left = sweep_visitor.max_gap_left(); - max_gap_right = sweep_visitor.max_gap_right(); - return sweep_visitor.max_gap(); -} - -template -inline typename boost::range_value::type::difference_type -maximum_gap(RangeOfIntervals const& range_of_intervals) -{ - typedef typename boost::remove_const - < - typename boost::remove_reference - < - typename boost::range_value - < - RangeOfIntervals - >::type::value_type - >::type - >::type value_type; - - value_type left, right; - - return maximum_gap(range_of_intervals, left, right); -} - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_MAX_INTERVAL_GAP_HPP diff --git a/include/boost/bgeometry/algorithms/detail/multi_modify.hpp b/include/boost/bgeometry/algorithms/detail/multi_modify.hpp deleted file mode 100644 index 23187f9323a..00000000000 --- a/include/boost/bgeometry/algorithms/detail/multi_modify.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2017. -// Modifications copyright (c) 2017 Oracle and/or its affiliates. -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_MULTI_MODIFY_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_MULTI_MODIFY_HPP - - -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - - -template -struct multi_modify -{ - static inline void apply(MultiGeometry& multi) - { - typedef typename boost::range_iterator::type iterator_type; - for (iterator_type it = boost::begin(multi); - it != boost::end(multi); - ++it) - { - Policy::apply(*it); - } - } - - template - static inline void apply(MultiGeometry& multi, Strategy const& strategy) - { - typedef typename boost::range_iterator::type iterator_type; - for (iterator_type it = boost::begin(multi); - it != boost::end(multi); - ++it) - { - Policy::apply(*it, strategy); - } - } -}; - - -} // namespace detail -#endif - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_MULTI_MODIFY_HPP diff --git a/include/boost/bgeometry/algorithms/detail/multi_sum.hpp b/include/boost/bgeometry/algorithms/detail/multi_sum.hpp deleted file mode 100644 index af3f425c9c8..00000000000 --- a/include/boost/bgeometry/algorithms/detail/multi_sum.hpp +++ /dev/null @@ -1,52 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_MULTI_SUM_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_MULTI_SUM_HPP - -#include - - -namespace boost { namespace geometry -{ -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - -struct multi_sum -{ - template - static inline ReturnType apply(MultiGeometry const& geometry, Strategy const& strategy) - { - ReturnType sum = ReturnType(); - for (typename boost::range_iterator - < - MultiGeometry const - >::type it = boost::begin(geometry); - it != boost::end(geometry); - ++it) - { - sum += Policy::apply(*it, strategy); - } - return sum; - } -}; - - -} // namespace detail -#endif - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_MULTI_SUM_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlaps/interface.hpp b/include/boost/bgeometry/algorithms/detail/overlaps/interface.hpp deleted file mode 100644 index af95fa6d5fe..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlaps/interface.hpp +++ /dev/null @@ -1,124 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2014, 2015, 2017. -// Modifications copyright (c) 2014-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAPS_INTERFACE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAPS_INTERFACE_HPP - - -#include - -#include - -#include - -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -< - typename Geometry1, - typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type -> -struct overlaps - : detail::relate::relate_impl - < - detail::de9im::static_mask_overlaps_type, - Geometry1, - Geometry2 - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -/*! -\brief \brief_check2{overlap} -\ingroup overlaps -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\tparam Strategy \tparam_strategy{Overlaps} -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\param strategy \param_strategy{overlaps} -\return \return_check2{overlap} - -\qbk{distinguish,with strategy} -\qbk{[include reference/algorithms/overlaps.qbk]} -*/ -template -inline bool overlaps(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) -{ - concepts::check(); - concepts::check(); - - return dispatch::overlaps - < - Geometry1, - Geometry2 - >::apply(geometry1, geometry2, strategy); -} - -/*! -\brief \brief_check2{overlap} -\ingroup overlaps -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\return \return_check2{overlap} - -\qbk{[include reference/algorithms/overlaps.qbk]} -*/ -template -inline bool overlaps(Geometry1 const& geometry1, Geometry2 const& geometry2) -{ - concepts::check(); - concepts::check(); - - typedef typename strategy::relate::services::default_strategy - < - Geometry1, - Geometry2 - >::type strategy_type; - - return dispatch::overlaps - < - Geometry1, - Geometry2 - >::apply(geometry1, geometry2, strategy_type()); -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAPS_INTERFACE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/do_reverse.hpp b/include/boost/bgeometry/algorithms/detail/overlay/do_reverse.hpp deleted file mode 100644 index 4125386876a..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/do_reverse.hpp +++ /dev/null @@ -1,47 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_DO_REVERSE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_DO_REVERSE_HPP - -#include - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace overlay -{ - -// Metafunction helper for intersection and union -template -struct do_reverse {}; - -template <> -struct do_reverse : boost::false_type {}; - -template <> -struct do_reverse : boost::true_type {}; - -template <> -struct do_reverse : boost::true_type {}; - -template <> -struct do_reverse : boost::false_type {}; - - -}} // namespace detail::overlay -#endif // DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_DO_REVERSE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info.hpp b/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info.hpp deleted file mode 100644 index f851eeb32d2..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info.hpp +++ /dev/null @@ -1,1143 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2017 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2015, 2017. -// Modifications copyright (c) 2015-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_HPP - - -#include -#include - -#include -#include - -#include -#include -#include - -#include - -#include -#include - -// Silence warning C4127: conditional expression is constant -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable : 4127) -#endif - - -namespace boost { namespace geometry -{ - -#if ! defined(BOOST_GEOMETRY_OVERLAY_NO_THROW) -class turn_info_exception : public geometry::exception -{ - std::string message; -public: - - // NOTE: "char" will be replaced by enum in future version - inline turn_info_exception(char const method) - { - message = "Boost.Geometry Turn exception: "; - message += method; - } - - virtual ~turn_info_exception() throw() - {} - - virtual char const* what() const throw() - { - return message.c_str(); - } -}; -#endif - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace overlay -{ - -struct base_turn_handler -{ - // Returns true if both sides are opposite - static inline bool opposite(int side1, int side2) - { - // We cannot state side1 == -side2, because 0 == -0 - // So either side1*side2==-1 or side1==-side2 && side1 != 0 - return side1 * side2 == -1; - } - - // Same side of a segment (not being 0) - static inline bool same(int side1, int side2) - { - return side1 * side2 == 1; - } - - // Both continue - template - static inline void both(TurnInfo& ti, operation_type const op) - { - ti.operations[0].operation = op; - ti.operations[1].operation = op; - } - - // If condition, first union/second intersection, else vice versa - template - static inline void ui_else_iu(bool condition, TurnInfo& ti) - { - ti.operations[0].operation = condition - ? operation_union : operation_intersection; - ti.operations[1].operation = condition - ? operation_intersection : operation_union; - } - - // If condition, both union, else both intersection - template - static inline void uu_else_ii(bool condition, TurnInfo& ti) - { - both(ti, condition ? operation_union : operation_intersection); - } - - template - static inline void assign_point(TurnInfo& ti, - method_type method, - IntersectionInfo const& info, unsigned int index) - { - ti.method = method; - - BOOST_GEOMETRY_ASSERT(index < info.count); - - geometry::convert(info.intersections[index], ti.point); - ti.operations[0].fraction = info.fractions[index].robust_ra; - ti.operations[1].fraction = info.fractions[index].robust_rb; - } - - template - static inline unsigned int non_opposite_to_index(IntersectionInfo const& info) - { - return info.fractions[0].robust_rb < info.fractions[1].robust_rb - ? 1 : 0; - } - -}; - - -template -< - typename TurnInfo -> -struct touch_interior : public base_turn_handler -{ - // Index: 0, P is the interior, Q is touching and vice versa - template - < - unsigned int Index, - typename Point1, - typename Point2, - typename IntersectionInfo, - typename DirInfo, - typename SidePolicy - > - static inline void apply( - Point1 const& , Point1 const& , Point1 const& , - Point2 const& , Point2 const& , Point2 const& , - TurnInfo& ti, - IntersectionInfo const& intersection_info, - DirInfo const& dir_info, - SidePolicy const& side) - { - assign_point(ti, method_touch_interior, intersection_info, 0); - - // Both segments of q touch segment p somewhere in its interior - // 1) We know: if q comes from LEFT or RIGHT - // (i.e. dir_info.sides.get() == 1 or -1) - // 2) Important is: if q_k goes to LEFT, RIGHT, COLLINEAR - // and, if LEFT/COLL, if it is lying LEFT or RIGHT w.r.t. q_i - - BOOST_STATIC_ASSERT(Index <= 1); - static unsigned int const index_p = Index; - static unsigned int const index_q = 1 - Index; - - int const side_qi_p = dir_info.sides.template get(); - int const side_qk_p = side.qk_wrt_p1(); - - if (side_qi_p == -side_qk_p) - { - // Q crosses P from left->right or from right->left (test "ML1") - // Union: folow P (left->right) or Q (right->left) - // Intersection: other turn - unsigned int index = side_qk_p == -1 ? index_p : index_q; - ti.operations[index].operation = operation_union; - ti.operations[1 - index].operation = operation_intersection; - return; - } - - int const side_qk_q = side.qk_wrt_q1(); - - if (side_qi_p == -1 && side_qk_p == -1 && side_qk_q == 1) - { - // Q turns left on the right side of P (test "MR3") - // Both directions for "intersection" - both(ti, operation_intersection); - ti.touch_only = true; - } - else if (side_qi_p == 1 && side_qk_p == 1 && side_qk_q == -1) - { - // Q turns right on the left side of P (test "ML3") - // Union: take both operation - // Intersection: skip - both(ti, operation_union); - ti.touch_only = true; - } - else if (side_qi_p == side_qk_p && side_qi_p == side_qk_q) - { - // Q turns left on the left side of P (test "ML2") - // or Q turns right on the right side of P (test "MR2") - // Union: take left turn (Q if Q turns left, P if Q turns right) - // Intersection: other turn - unsigned int index = side_qk_q == 1 ? index_q : index_p; - ti.operations[index].operation = operation_union; - ti.operations[1 - index].operation = operation_intersection; - ti.touch_only = true; - } - else if (side_qk_p == 0) - { - // Q intersects on interior of P and continues collinearly - if (side_qk_q == side_qi_p) - { - // Collinearly in the same direction - // (Q comes from left of P and turns left, - // OR Q comes from right of P and turns right) - // Omit intersection point. - // Union: just continue - // Intersection: just continue - both(ti, operation_continue); - } - else - { - // Opposite direction, which is never travelled. - // If Q turns left, P continues for intersection - // If Q turns right, P continues for union - ti.operations[index_p].operation = side_qk_q == 1 - ? operation_intersection - : operation_union; - ti.operations[index_q].operation = operation_blocked; - } - } - else - { - // Should not occur! - ti.method = method_error; - } - } -}; - - -template -< - typename TurnInfo -> -struct touch : public base_turn_handler -{ - static inline bool between(int side1, int side2, int turn) - { - return side1 == side2 && ! opposite(side1, turn); - } - - /*static inline void block_second(bool block, TurnInfo& ti) - { - if (block) - { - ti.operations[1].operation = operation_blocked; - } - }*/ - - - template - < - typename Point1, - typename Point2, - typename IntersectionInfo, - typename DirInfo, - typename SidePolicy - > - static inline void apply( - Point1 const& , Point1 const& , Point1 const& , - Point2 const& , Point2 const& , Point2 const& , - TurnInfo& ti, - IntersectionInfo const& intersection_info, - DirInfo const& dir_info, - SidePolicy const& side) - { - assign_point(ti, method_touch, intersection_info, 0); - - int const side_qi_p1 = dir_info.sides.template get<1, 0>(); - int const side_qk_p1 = side.qk_wrt_p1(); - - - // If Qi and Qk are both at same side of Pi-Pj, - // or collinear (so: not opposite sides) - if (! opposite(side_qi_p1, side_qk_p1)) - { - int const side_pk_q2 = side.pk_wrt_q2(); - int const side_pk_p = side.pk_wrt_p1(); - int const side_qk_q = side.qk_wrt_q1(); - - bool const q_turns_left = side_qk_q == 1; - bool const block_q = side_qk_p1 == 0 - && ! same(side_qi_p1, side_qk_q) - ; - - // If Pk at same side as Qi/Qk - // (the "or" is for collinear case) - // or Q is fully collinear && P turns not to left - if (side_pk_p == side_qi_p1 - || side_pk_p == side_qk_p1 - || (side_qi_p1 == 0 && side_qk_p1 == 0 && side_pk_p != -1) - ) - { - // Collinear -> lines join, continue - // (#BRL2) - if (side_pk_q2 == 0 && ! block_q) - { - both(ti, operation_continue); - return; - } - - int const side_pk_q1 = side.pk_wrt_q1(); - - - // Collinear opposite case -> block P - // (#BRL4, #BLR8) - if (side_pk_q1 == 0) - { - ti.operations[0].operation = operation_blocked; - // Q turns right -> union (both independent), - // Q turns left -> intersection - ti.operations[1].operation = block_q ? operation_blocked - : q_turns_left ? operation_intersection - : operation_union; - return; - } - - // Pk between Qi and Qk - // (#BRL3, #BRL7) - if (between(side_pk_q1, side_pk_q2, side_qk_q)) - { - ui_else_iu(q_turns_left, ti); - if (block_q) - { - ti.operations[1].operation = operation_blocked; - } - //block_second(block_q, ti); - return; - } - - // Pk between Qk and P, so left of Qk (if Q turns right) and vv - // (#BRL1) - if (side_pk_q2 == -side_qk_q) - { - ui_else_iu(! q_turns_left, ti); - ti.touch_only = true; - return; - } - - // - // (#BRL5, #BRL9) - if (side_pk_q1 == -side_qk_q) - { - uu_else_ii(! q_turns_left, ti); - if (block_q) - { - ti.operations[1].operation = operation_blocked; - } - else - { - ti.touch_only = true; - } - //block_second(block_q, ti); - return; - } - } - else - { - // Pk at other side than Qi/Pk - ti.operations[0].operation = q_turns_left - ? operation_intersection - : operation_union; - ti.operations[1].operation = block_q - ? operation_blocked - : side_qi_p1 == 1 || side_qk_p1 == 1 - ? operation_union - : operation_intersection; - if (! block_q) - { - ti.touch_only = true; - } - - return; - } - } - else - { - // From left to right or from right to left - int const side_pk_p = side.pk_wrt_p1(); - bool const right_to_left = side_qk_p1 == 1; - - // If p turns into direction of qi (1,2) - if (side_pk_p == side_qi_p1) - { - int const side_pk_q1 = side.pk_wrt_q1(); - - // Collinear opposite case -> block P - if (side_pk_q1 == 0) - { - ti.operations[0].operation = operation_blocked; - ti.operations[1].operation = right_to_left - ? operation_union : operation_intersection; - return; - } - - if (side_pk_q1 == side_qk_p1) - { - uu_else_ii(right_to_left, ti); - ti.touch_only = true; - return; - } - } - - // If p turns into direction of qk (4,5) - if (side_pk_p == side_qk_p1) - { - int const side_pk_q2 = side.pk_wrt_q2(); - - // Collinear case -> lines join, continue - if (side_pk_q2 == 0) - { - both(ti, operation_continue); - return; - } - if (side_pk_q2 == side_qk_p1) - { - ui_else_iu(right_to_left, ti); - ti.touch_only = true; - return; - } - } - // otherwise (3) - ui_else_iu(! right_to_left, ti); - return; - } - -#ifdef BOOST_GEOMETRY_DEBUG_GET_TURNS - // Normally a robustness issue. - // TODO: more research if still occurring - std::cout << "Not yet handled" << std::endl - << "pi " << get<0>(pi) << " , " << get<1>(pi) - << " pj " << get<0>(pj) << " , " << get<1>(pj) - << " pk " << get<0>(pk) << " , " << get<1>(pk) - << std::endl - << "qi " << get<0>(qi) << " , " << get<1>(qi) - << " qj " << get<0>(qj) << " , " << get<1>(qj) - << " qk " << get<0>(qk) << " , " << get<1>(qk) - << std::endl; -#endif - - } -}; - - -template -< - typename TurnInfo -> -struct equal : public base_turn_handler -{ - template - < - typename Point1, - typename Point2, - typename IntersectionInfo, - typename DirInfo, - typename SidePolicy - > - static inline void apply( - Point1 const& , Point1 const& , Point1 const& , - Point2 const& , Point2 const& , Point2 const& , - TurnInfo& ti, - IntersectionInfo const& info, - DirInfo const& , - SidePolicy const& side) - { - // Copy the intersection point in TO direction - assign_point(ti, method_equal, info, non_opposite_to_index(info)); - - int const side_pk_q2 = side.pk_wrt_q2(); - int const side_pk_p = side.pk_wrt_p1(); - int const side_qk_p = side.qk_wrt_p1(); - - - // If pk is collinear with qj-qk, they continue collinearly. - // This can be on either side of p1 (== q1), or collinear - // The second condition checks if they do not continue - // oppositely - if (side_pk_q2 == 0 && side_pk_p == side_qk_p) - { - both(ti, operation_continue); - - return; - } - - - // If they turn to same side (not opposite sides) - if (! opposite(side_pk_p, side_qk_p)) - { - // If pk is left of q2 or collinear: p: union, q: intersection - ui_else_iu(side_pk_q2 != -1, ti); - } - else - { - // They turn opposite sides. If p turns left (or collinear), - // p: union, q: intersection - ui_else_iu(side_pk_p != -1, ti); - } - } -}; - - -template -< - typename TurnInfo, - typename AssignPolicy -> -struct equal_opposite : public base_turn_handler -{ - template - < - typename Point1, - typename Point2, - typename OutputIterator, - typename IntersectionInfo - > - static inline void apply(Point1 const& pi, Point2 const& qi, - /* by value: */ TurnInfo tp, - OutputIterator& out, - IntersectionInfo const& intersection_info) - { - // For equal-opposite segments, normally don't do anything. - if (AssignPolicy::include_opposite) - { - tp.method = method_equal; - for (unsigned int i = 0; i < 2; i++) - { - tp.operations[i].operation = operation_opposite; - } - for (unsigned int i = 0; i < intersection_info.i_info().count; i++) - { - assign_point(tp, method_none, intersection_info.i_info(), i); - AssignPolicy::apply(tp, pi, qi, intersection_info); - *out++ = tp; - } - } - } -}; - -template -< - typename TurnInfo -> -struct collinear : public base_turn_handler -{ - /* - arrival P pk//p1 qk//q1 product* case result - 1 1 1 CLL1 ui - -1 1 -1 CLL2 iu - 1 1 1 CLR1 ui - -1 -1 1 CLR2 ui - - 1 -1 -1 CRL1 iu - -1 1 -1 CRL2 iu - 1 -1 -1 CRR1 iu - -1 -1 1 CRR2 ui - - 1 0 0 CC1 cc - -1 0 0 CC2 cc - - *product = arrival * (pk//p1 or qk//q1) - - Stated otherwise: - - if P arrives: look at turn P - - if Q arrives: look at turn Q - - if P arrives and P turns left: union for P - - if P arrives and P turns right: intersection for P - - if Q arrives and Q turns left: union for Q (=intersection for P) - - if Q arrives and Q turns right: intersection for Q (=union for P) - - ROBUSTNESS: p and q are collinear, so you would expect - that side qk//p1 == pk//q1. But that is not always the case - in near-epsilon ranges. Then decision logic is different. - If p arrives, q is further, so the angle qk//p1 is (normally) - more precise than pk//p1 - - */ - template - < - typename Point1, - typename Point2, - typename IntersectionInfo, - typename DirInfo, - typename SidePolicy - > - static inline void apply( - Point1 const& , Point1 const& pj, Point1 const& pk, - Point2 const& , Point2 const& qj, Point2 const& qk, - TurnInfo& ti, - IntersectionInfo const& info, - DirInfo const& dir_info, - SidePolicy const& side) - { - // Copy the intersection point in TO direction - assign_point(ti, method_collinear, info, non_opposite_to_index(info)); - - int const arrival = dir_info.arrival[0]; - // Should not be 0, this is checked before - BOOST_GEOMETRY_ASSERT(arrival != 0); - - int const side_p = side.pk_wrt_p1(); - int const side_q = side.qk_wrt_q1(); - - // If p arrives, use p, else use q - int const side_p_or_q = arrival == 1 - ? side_p - : side_q - ; - - // See comments above, - // resulting in a strange sort of mathematic rule here: - // The arrival-info multiplied by the relevant side - // delivers a consistent result. - - int const product = arrival * side_p_or_q; - - if(product == 0) - { - both(ti, operation_continue); - } - else - { - ui_else_iu(product == 1, ti); - } - - // Calculate remaining distance. If it continues collinearly it is - // measured until the end of the next segment - ti.operations[0].remaining_distance - = side_p == 0 - ? distance_measure(ti.point, pk) - : distance_measure(ti.point, pj); - ti.operations[1].remaining_distance - = side_q == 0 - ? distance_measure(ti.point, qk) - : distance_measure(ti.point, qj); - } - - template - static inline typename geometry::coordinate_type::type - distance_measure(Point1 const& a, Point2 const& b) - { - // TODO: use comparable distance for point-point instead - but that - // causes currently cycling include problems - typedef typename geometry::coordinate_type::type ctype; - ctype const dx = get<0>(a) - get<0>(b); - ctype const dy = get<1>(a) - get<1>(b); - return dx * dx + dy * dy; - } -}; - -template -< - typename TurnInfo, - typename AssignPolicy -> -struct collinear_opposite : public base_turn_handler -{ -private : - /* - arrival P arrival Q pk//p1 qk//q1 case result2 result - -------------------------------------------------------------- - 1 1 1 -1 CLO1 ix xu - 1 1 1 0 CLO2 ix (xx) - 1 1 1 1 CLO3 ix xi - - 1 1 0 -1 CCO1 (xx) xu - 1 1 0 0 CCO2 (xx) (xx) - 1 1 0 1 CCO3 (xx) xi - - 1 1 -1 -1 CRO1 ux xu - 1 1 -1 0 CRO2 ux (xx) - 1 1 -1 1 CRO3 ux xi - - -1 1 -1 CXO1 xu - -1 1 0 CXO2 (xx) - -1 1 1 CXO3 xi - - 1 -1 1 CXO1 ix - 1 -1 0 CXO2 (xx) - 1 -1 -1 CXO3 ux - */ - - template - < - unsigned int Index, - typename Point1, - typename Point2, - typename IntersectionInfo - > - static inline bool set_tp(Point1 const& , Point1 const& , Point1 const& , int side_rk_r, - bool const handle_robustness, - Point2 const& , Point2 const& , int side_rk_s, - TurnInfo& tp, IntersectionInfo const& intersection_info) - { - BOOST_STATIC_ASSERT(Index <= 1); - - boost::ignore_unused(handle_robustness, side_rk_s); - - operation_type blocked = operation_blocked; - switch(side_rk_r) - { - - case 1 : - // Turning left on opposite collinear: intersection - tp.operations[Index].operation = operation_intersection; - break; - case -1 : - // Turning right on opposite collinear: union - tp.operations[Index].operation = operation_union; - break; - case 0 : - // No turn on opposite collinear: block, do not traverse - // But this "xx" is usually ignored, it is useless to include - // two operations blocked, so the whole point does not need - // to be generated. - // So return false to indicate nothing is to be done. - if (AssignPolicy::include_opposite) - { - tp.operations[Index].operation = operation_opposite; - blocked = operation_opposite; - } - else - { - return false; - } - break; - } - - // The other direction is always blocked when collinear opposite - tp.operations[1 - Index].operation = blocked; - - // If P arrives within Q, set info on P (which is done above, index=0), - // this turn-info belongs to the second intersection point, index=1 - // (see e.g. figure CLO1) - assign_point(tp, method_collinear, intersection_info, 1 - Index); - return true; - } - -public: - static inline void empty_transformer(TurnInfo &) {} - - template - < - typename Point1, - typename Point2, - typename OutputIterator, - typename IntersectionInfo, - typename SidePolicy - > - static inline void apply( - Point1 const& pi, Point1 const& pj, Point1 const& pk, - Point2 const& qi, Point2 const& qj, Point2 const& qk, - - // Opposite collinear can deliver 2 intersection points, - TurnInfo const& tp_model, - OutputIterator& out, - - IntersectionInfo const& intersection_info, - SidePolicy const& side) - { - apply(pi, pj, pk, qi, qj, qk, tp_model, out, intersection_info, side, empty_transformer); - } - -public: - template - < - typename Point1, - typename Point2, - typename OutputIterator, - typename IntersectionInfo, - typename SidePolicy, - typename TurnTransformer - > - static inline void apply( - Point1 const& pi, Point1 const& pj, Point1 const& pk, - Point2 const& qi, Point2 const& qj, Point2 const& qk, - - // Opposite collinear can deliver 2 intersection points, - TurnInfo const& tp_model, - OutputIterator& out, - - IntersectionInfo const& info, - SidePolicy const& side, - TurnTransformer turn_transformer, - bool const is_pk_valid = true, bool const is_qk_valid = true) - { - TurnInfo tp = tp_model; - - int const p_arrival = info.d_info().arrival[0]; - int const q_arrival = info.d_info().arrival[1]; - - // If P arrives within Q, there is a turn dependent on P - if ( p_arrival == 1 - && is_pk_valid - && set_tp<0>(pi, pj, pk, side.pk_wrt_p1(), true, qi, qj, side.pk_wrt_q1(), tp, info.i_info()) ) - { - turn_transformer(tp); - - AssignPolicy::apply(tp, pi, qi, info); - *out++ = tp; - } - - // If Q arrives within P, there is a turn dependent on Q - if ( q_arrival == 1 - && is_qk_valid - && set_tp<1>(qi, qj, qk, side.qk_wrt_q1(), false, pi, pj, side.qk_wrt_p1(), tp, info.i_info()) ) - { - turn_transformer(tp); - - AssignPolicy::apply(tp, pi, qi, info); - *out++ = tp; - } - - if (AssignPolicy::include_opposite) - { - // Handle cases not yet handled above - if ((q_arrival == -1 && p_arrival == 0) - || (p_arrival == -1 && q_arrival == 0)) - { - for (unsigned int i = 0; i < 2; i++) - { - tp.operations[i].operation = operation_opposite; - } - for (unsigned int i = 0; i < info.i_info().count; i++) - { - assign_point(tp, method_collinear, info.i_info(), i); - AssignPolicy::apply(tp, pi, qi, info); - *out++ = tp; - } - } - } - - } -}; - - -template -< - typename TurnInfo -> -struct crosses : public base_turn_handler -{ - template - < - typename Point1, - typename Point2, - typename IntersectionInfo, - typename DirInfo - > - static inline void apply( - Point1 const& , Point1 const& , Point1 const& , - Point2 const& , Point2 const& , Point2 const& , - TurnInfo& ti, - IntersectionInfo const& intersection_info, - DirInfo const& dir_info) - { - assign_point(ti, method_crosses, intersection_info, 0); - - // In all casees: - // If Q crosses P from left to right - // Union: take P - // Intersection: take Q - // Otherwise: vice versa - int const side_qi_p1 = dir_info.sides.template get<1, 0>(); - unsigned int const index = side_qi_p1 == 1 ? 0 : 1; - ti.operations[index].operation = operation_union; - ti.operations[1 - index].operation = operation_intersection; - } -}; - -struct only_convert : public base_turn_handler -{ - template - static inline void apply(TurnInfo& ti, IntersectionInfo const& intersection_info) - { - assign_point(ti, method_none, intersection_info, 0); // was collinear - ti.operations[0].operation = operation_continue; - ti.operations[1].operation = operation_continue; - } -}; - -/*! -\brief Policy doing nothing -\details get_turn_info can have an optional policy to get/assign some - extra information. By default it does not, and this class - is that default. - */ -struct assign_null_policy -{ - static bool const include_no_turn = false; - static bool const include_degenerate = false; - static bool const include_opposite = false; - - template - < - typename Info, - typename Point1, - typename Point2, - typename IntersectionInfo - > - static inline void apply(Info& , Point1 const& , Point2 const&, IntersectionInfo const&) - {} - -}; - - -/*! - \brief Turn information: intersection point, method, and turn information - \details Information necessary for traversal phase (a phase - of the overlay process). The information is gathered during the - get_turns (segment intersection) phase. - \tparam Point1 point type of first segment - \tparam Point2 point type of second segment - \tparam TurnInfo type of class getting intersection and turn info - \tparam AssignPolicy policy to assign extra info, - e.g. to calculate distance from segment's first points - to intersection points. - It also defines if a certain class of points - (degenerate, non-turns) should be included. - */ -template -struct get_turn_info -{ - // Intersect pi-pj with qi-qj - // The points pk and qk are used do determine more information - // about the turn (turn left/right) - template - < - typename Point1, - typename Point2, - typename TurnInfo, - typename IntersectionStrategy, - typename RobustPolicy, - typename OutputIterator - > - static inline OutputIterator apply( - Point1 const& pi, Point1 const& pj, Point1 const& pk, - Point2 const& qi, Point2 const& qj, Point2 const& qk, - bool /*is_p_first*/, bool /*is_p_last*/, - bool /*is_q_first*/, bool /*is_q_last*/, - TurnInfo const& tp_model, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - OutputIterator out) - { - typedef intersection_info - < - Point1, Point2, - typename TurnInfo::point_type, - IntersectionStrategy, - RobustPolicy - > inters_info; - - inters_info inters(pi, pj, pk, qi, qj, qk, intersection_strategy, robust_policy); - - char const method = inters.d_info().how; - - // Copy, to copy possibly extended fields - TurnInfo tp = tp_model; - - // Select method and apply - switch(method) - { - case 'a' : // collinear, "at" - case 'f' : // collinear, "from" - case 's' : // starts from the middle - if (AssignPolicy::include_no_turn - && inters.i_info().count > 0) - { - only_convert::apply(tp, inters.i_info()); - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - break; - - case 'd' : // disjoint: never do anything - break; - - case 'm' : - { - typedef touch_interior - < - TurnInfo - > policy; - - // If Q (1) arrives (1) - if ( inters.d_info().arrival[1] == 1 ) - { - policy::template apply<0>(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), - inters.sides()); - } - else - { - // Swap p/q - side_calculator - < - typename inters_info::cs_tag, - typename inters_info::robust_point2_type, - typename inters_info::robust_point1_type, - typename inters_info::side_strategy_type - > swapped_side_calc(inters.rqi(), inters.rqj(), inters.rqk(), - inters.rpi(), inters.rpj(), inters.rpk(), - inters.get_side_strategy()); - - policy::template apply<1>(qi, qj, qk, pi, pj, pk, - tp, inters.i_info(), inters.d_info(), - swapped_side_calc); - } - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - break; - case 'i' : - { - crosses::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info()); - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - break; - case 't' : - { - // Both touch (both arrive there) - touch::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - break; - case 'e': - { - if ( ! inters.d_info().opposite ) - { - // Both equal - // or collinear-and-ending at intersection point - equal::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - else - { - equal_opposite - < - TurnInfo, - AssignPolicy - >::apply(pi, qi, - tp, out, inters); - } - } - break; - case 'c' : - { - // Collinear - if ( ! inters.d_info().opposite ) - { - - if ( inters.d_info().arrival[0] == 0 ) - { - // Collinear, but similar thus handled as equal - equal::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - - // override assigned method - tp.method = method_collinear; - } - else - { - collinear::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - } - - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - else - { - collinear_opposite - < - TurnInfo, - AssignPolicy - >::apply(pi, pj, pk, qi, qj, qk, - tp, out, inters, inters.sides()); - } - } - break; - case '0' : - { - // degenerate points - if (AssignPolicy::include_degenerate) - { - only_convert::apply(tp, inters.i_info()); - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - } - break; - default : - { -#if defined(BOOST_GEOMETRY_DEBUG_ROBUSTNESS) - std::cout << "TURN: Unknown method: " << method << std::endl; -#endif -#if ! defined(BOOST_GEOMETRY_OVERLAY_NO_THROW) - BOOST_THROW_EXCEPTION(turn_info_exception(method)); -#endif - } - break; - } - - return out; - } -}; - - -}} // namespace detail::overlay -#endif //DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp b/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp deleted file mode 100644 index 436c77e10b0..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp +++ /dev/null @@ -1,667 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// This file was modified by Oracle on 2013, 2014, 2017. -// Modifications copyright (c) 2013-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_FOR_ENDPOINT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_FOR_ENDPOINT_HPP - -#include -#include -#include - -namespace boost { namespace geometry { - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace overlay { - -// SEGMENT_INTERSECTION RESULT - -// C H0 H1 A0 A1 O IP1 IP2 - -// D0 and D1 == 0 - -// |--------> 2 0 0 0 0 F i/i x/x -// |--------> -// -// |--------> 2 0 0 0 0 T i/x x/i -// <--------| -// -// |-----> 1 0 0 0 0 T x/x -// <-----| -// - -// |---------> 2 0 0 0 1 T i/x x/i -// <----| -// -// |---------> 2 0 0 0 0 F i/i x/x -// |----> -// -// |---------> 2 0 0 -1 1 F i/i u/x -// |----> -// -// |---------> 2 0 0 -1 0 T i/x u/i -// <----| - -// |-------> 2 0 0 1 -1 F and i/i x/u -// |-------> 2 0 0 -1 1 F symmetric i/i u/x -// |-------> -// -// |-------> 2 0 0 -1 -1 T i/u u/i -// <-------| -// -// |-------> 2 0 0 1 1 T i/x x/i -// <-------| -// -// |--------> 2 0 0 -1 1 F i/i u/x -// |----> -// -// |--------> 2 0 0 -1 1 T i/x u/i -// <----| - -// |-----> 1 -1 -1 -1 -1 T u/u -// <-----| -// -// |-----> 1 -1 0 -1 0 F and u/x -// |-----> 1 0 -1 0 -1 F symmetric x/u -// |-----> - -// D0 or D1 != 0 - -// ^ -// | -// + 1 -1 1 -1 1 F and u/x (P is vertical) -// |--------> 1 1 -1 1 -1 F symmetric x/u (P is horizontal) -// ^ -// | -// + -// -// + -// | -// v -// |--------> 1 1 1 1 1 F x/x (P is vertical) -// -// ^ -// | -// + -// |--------> 1 -1 -1 -1 -1 F u/u (P is vertical) -// -// ^ -// | -// + -// |--------> 1 0 -1 0 -1 F u/u (P is vertical) -// -// + -// | -// v -// |--------> 1 0 1 0 1 F u/x (P is vertical) -// - -class linear_intersections -{ -public: - template - linear_intersections(Point1 const& pi, - Point2 const& qi, - IntersectionResult const& result, - bool is_p_last, bool is_q_last) - { - int arrival_a = result.template get<1>().arrival[0]; - int arrival_b = result.template get<1>().arrival[1]; - bool same_dirs = result.template get<1>().dir_a == 0 - && result.template get<1>().dir_b == 0; - - if ( same_dirs ) - { - if ( result.template get<0>().count == 2 ) - { - if ( ! result.template get<1>().opposite ) - { - ips[0].p_operation = operation_intersection; - ips[0].q_operation = operation_intersection; - ips[1].p_operation = union_or_blocked_same_dirs(arrival_a, is_p_last); - ips[1].q_operation = union_or_blocked_same_dirs(arrival_b, is_q_last); - - ips[0].is_pi - = equals::equals_point_point( - pi, result.template get<0>().intersections[0]); - ips[0].is_qi - = equals::equals_point_point( - qi, result.template get<0>().intersections[0]); - ips[1].is_pj = arrival_a != -1; - ips[1].is_qj = arrival_b != -1; - } - else - { - ips[0].p_operation = operation_intersection; - ips[0].q_operation = union_or_blocked_same_dirs(arrival_b, is_q_last); - ips[1].p_operation = union_or_blocked_same_dirs(arrival_a, is_p_last); - ips[1].q_operation = operation_intersection; - - ips[0].is_pi = arrival_b != 1; - ips[0].is_qj = arrival_b != -1; - ips[1].is_pj = arrival_a != -1; - ips[1].is_qi = arrival_a != 1; - } - } - else - { - BOOST_GEOMETRY_ASSERT(result.template get<0>().count == 1); - ips[0].p_operation = union_or_blocked_same_dirs(arrival_a, is_p_last); - ips[0].q_operation = union_or_blocked_same_dirs(arrival_b, is_q_last); - - ips[0].is_pi = arrival_a == -1; - ips[0].is_qi = arrival_b == -1; - ips[0].is_pj = arrival_a == 0; - ips[0].is_qj = arrival_b == 0; - } - } - else - { - ips[0].p_operation = union_or_blocked_different_dirs(arrival_a, is_p_last); - ips[0].q_operation = union_or_blocked_different_dirs(arrival_b, is_q_last); - - ips[0].is_pi = arrival_a == -1; - ips[0].is_qi = arrival_b == -1; - ips[0].is_pj = arrival_a == 1; - ips[0].is_qj = arrival_b == 1; - } - } - - struct ip_info - { - inline ip_info() - : p_operation(operation_none), q_operation(operation_none) - , is_pi(false), is_pj(false), is_qi(false), is_qj(false) - {} - - operation_type p_operation, q_operation; - bool is_pi, is_pj, is_qi, is_qj; - }; - - template - ip_info const& get() const - { - BOOST_STATIC_ASSERT(I < 2); - return ips[I]; - } - -private: - - // only if collinear (same_dirs) - static inline operation_type union_or_blocked_same_dirs(int arrival, bool is_last) - { - if ( arrival == 1 ) - return operation_blocked; - else if ( arrival == -1 ) - return operation_union; - else - return is_last ? operation_blocked : operation_union; - //return operation_blocked; - } - - // only if not collinear (!same_dirs) - static inline operation_type union_or_blocked_different_dirs(int arrival, bool is_last) - { - if ( arrival == 1 ) - //return operation_blocked; - return is_last ? operation_blocked : operation_union; - else - return operation_union; - } - - ip_info ips[2]; -}; - -template -struct get_turn_info_for_endpoint -{ - BOOST_STATIC_ASSERT(EnableFirst || EnableLast); - - template - static inline bool apply(Point1 const& pi, Point1 const& pj, Point1 const& pk, - Point2 const& qi, Point2 const& qj, Point2 const& qk, - bool is_p_first, bool is_p_last, - bool is_q_first, bool is_q_last, - TurnInfo const& tp_model, - IntersectionInfo const& inters, - method_type /*method*/, - OutputIterator out) - { - std::size_t ip_count = inters.i_info().count; - // no intersection points - if ( ip_count == 0 ) - return false; - - if ( !is_p_first && !is_p_last && !is_q_first && !is_q_last ) - return false; - - linear_intersections intersections(pi, qi, inters.result(), is_p_last, is_q_last); - - bool append0_last - = analyse_segment_and_assign_ip(pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - intersections.template get<0>(), - tp_model, inters, 0, out); - - // NOTE: opposite && ip_count == 1 may be true! - bool opposite = inters.d_info().opposite; - - // don't ignore only for collinear opposite - bool result_ignore_ip0 = append0_last && ( ip_count == 1 || !opposite ); - - if ( intersections.template get<1>().p_operation == operation_none ) - return result_ignore_ip0; - - bool append1_last - = analyse_segment_and_assign_ip(pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - intersections.template get<1>(), - tp_model, inters, 1, out); - - // don't ignore only for collinear opposite - bool result_ignore_ip1 = append1_last && !opposite /*&& ip_count == 2*/; - - return result_ignore_ip0 || result_ignore_ip1; - } - - template - static inline - bool analyse_segment_and_assign_ip(Point1 const& pi, Point1 const& pj, Point1 const& pk, - Point2 const& qi, Point2 const& qj, Point2 const& qk, - bool is_p_first, bool is_p_last, - bool is_q_first, bool is_q_last, - linear_intersections::ip_info const& ip_info, - TurnInfo const& tp_model, - IntersectionInfo const& inters, - unsigned int ip_index, - OutputIterator out) - { -#ifdef BOOST_GEOMETRY_DEBUG_GET_TURNS_LINEAR_LINEAR - // may this give false positives for INTs? - typename IntersectionResult::point_type const& - inters_pt = result.template get<0>().intersections[ip_index]; - BOOST_GEOMETRY_ASSERT(ip_info.is_pi == equals::equals_point_point(pi, inters_pt)); - BOOST_GEOMETRY_ASSERT(ip_info.is_qi == equals::equals_point_point(qi, inters_pt)); - BOOST_GEOMETRY_ASSERT(ip_info.is_pj == equals::equals_point_point(pj, inters_pt)); - BOOST_GEOMETRY_ASSERT(ip_info.is_qj == equals::equals_point_point(qj, inters_pt)); -#endif - - // TODO - calculate first/last only if needed - bool is_p_first_ip = is_p_first && ip_info.is_pi; - bool is_p_last_ip = is_p_last && ip_info.is_pj; - bool is_q_first_ip = is_q_first && ip_info.is_qi; - bool is_q_last_ip = is_q_last && ip_info.is_qj; - bool append_first = EnableFirst && (is_p_first_ip || is_q_first_ip); - bool append_last = EnableLast && (is_p_last_ip || is_q_last_ip); - - operation_type p_operation = ip_info.p_operation; - operation_type q_operation = ip_info.q_operation; - - if ( append_first || append_last ) - { - bool handled = handle_internal<0>(pi, pj, pk, qi, qj, qk, - inters.rpi(), inters.rpj(), inters.rpk(), - inters.rqi(), inters.rqj(), inters.rqk(), - is_p_first_ip, is_p_last_ip, - is_q_first_ip, is_q_last_ip, - ip_info.is_qi, ip_info.is_qj, - tp_model, inters, ip_index, - p_operation, q_operation); - if ( !handled ) - { - handle_internal<1>(qi, qj, qk, pi, pj, pk, - inters.rqi(), inters.rqj(), inters.rqk(), - inters.rpi(), inters.rpj(), inters.rpk(), - is_q_first_ip, is_q_last_ip, - is_p_first_ip, is_p_last_ip, - ip_info.is_pi, ip_info.is_pj, - tp_model, inters, ip_index, - q_operation, p_operation); - } - - if ( p_operation != operation_none ) - { - method_type method = endpoint_ip_method(ip_info.is_pi, ip_info.is_pj, - ip_info.is_qi, ip_info.is_qj); - turn_position p_pos = ip_position(is_p_first_ip, is_p_last_ip); - turn_position q_pos = ip_position(is_q_first_ip, is_q_last_ip); - - // handle spikes - - // P is spike and should be handled - if ( !is_p_last - && ip_info.is_pj // this check is redundant (also in is_spike_p) but faster - && inters.i_info().count == 2 - && inters.is_spike_p() ) - { - assign(pi, qi, inters.result(), ip_index, method, operation_blocked, q_operation, - p_pos, q_pos, is_p_first_ip, is_q_first_ip, true, false, tp_model, out); - assign(pi, qi, inters.result(), ip_index, method, operation_intersection, q_operation, - p_pos, q_pos, is_p_first_ip, is_q_first_ip, true, false, tp_model, out); - } - // Q is spike and should be handled - else if ( !is_q_last - && ip_info.is_qj // this check is redundant (also in is_spike_q) but faster - && inters.i_info().count == 2 - && inters.is_spike_q() ) - { - assign(pi, qi, inters.result(), ip_index, method, p_operation, operation_blocked, - p_pos, q_pos, is_p_first_ip, is_q_first_ip, false, true, tp_model, out); - assign(pi, qi, inters.result(), ip_index, method, p_operation, operation_intersection, - p_pos, q_pos, is_p_first_ip, is_q_first_ip, false, true, tp_model, out); - } - // no spikes - else - { - assign(pi, qi, inters.result(), ip_index, method, p_operation, q_operation, - p_pos, q_pos, is_p_first_ip, is_q_first_ip, false, false, tp_model, out); - } - } - } - - return append_last; - } - - // TODO: IT'S ALSO PROBABLE THAT ALL THIS FUNCTION COULD BE INTEGRATED WITH handle_segment - // however now it's lazily calculated and then it would be always calculated - - template - static inline bool handle_internal(Point1 const& /*i1*/, Point1 const& /*j1*/, Point1 const& /*k1*/, - Point2 const& i2, Point2 const& j2, Point2 const& /*k2*/, - RobustPoint1 const& ri1, RobustPoint1 const& rj1, RobustPoint1 const& /*rk1*/, - RobustPoint2 const& ri2, RobustPoint2 const& rj2, RobustPoint2 const& rk2, - bool first1, bool last1, bool first2, bool last2, - bool ip_i2, bool ip_j2, TurnInfo const& tp_model, - IntersectionInfo const& inters, unsigned int ip_index, - operation_type & op1, operation_type & op2) - { - typedef typename cs_tag::type cs_tag; - - boost::ignore_unused_variable_warning(i2); - boost::ignore_unused_variable_warning(j2); - boost::ignore_unused_variable_warning(ip_index); - boost::ignore_unused_variable_warning(tp_model); - - if ( !first2 && !last2 ) - { - if ( first1 ) - { -#ifdef BOOST_GEOMETRY_DEBUG_GET_TURNS_LINEAR_LINEAR - // may this give false positives for INTs? - typename IntersectionResult::point_type const& - inters_pt = inters.i_info().intersections[ip_index]; - BOOST_GEOMETRY_ASSERT(ip_i2 == equals::equals_point_point(i2, inters_pt)); - BOOST_GEOMETRY_ASSERT(ip_j2 == equals::equals_point_point(j2, inters_pt)); -#endif - if ( ip_i2 ) - { - // don't output this IP - for the first point of other geometry segment - op1 = operation_none; - op2 = operation_none; - return true; - } - else if ( ip_j2 ) - { - side_calculator - side_calc(ri2, ri1, rj1, ri2, rj2, rk2, inters.get_side_strategy()); - - std::pair - operations = operations_of_equal(side_calc); - -// TODO: must the above be calculated? -// wouldn't it be enough to check if segments are collinear? - - if ( operations_both(operations, operation_continue) ) - { - if ( op1 != operation_union - || op2 != operation_union - || ! ( G1Index == 0 ? inters.is_spike_q() : inters.is_spike_p() ) ) - { - // THIS IS WRT THE ORIGINAL SEGMENTS! NOT THE ONES ABOVE! - bool opposite = inters.d_info().opposite; - - op1 = operation_intersection; - op2 = opposite ? operation_union : operation_intersection; - } - } - else - { - BOOST_GEOMETRY_ASSERT(operations_combination(operations, operation_intersection, operation_union)); - //op1 = operation_union; - //op2 = operation_union; - } - - return true; - } - // else do nothing - shouldn't be handled this way - } - else if ( last1 ) - { -#ifdef BOOST_GEOMETRY_DEBUG_GET_TURNS_LINEAR_LINEAR - // may this give false positives for INTs? - typename IntersectionResult::point_type const& - inters_pt = inters.i_info().intersections[ip_index]; - BOOST_GEOMETRY_ASSERT(ip_i2 == equals::equals_point_point(i2, inters_pt)); - BOOST_GEOMETRY_ASSERT(ip_j2 == equals::equals_point_point(j2, inters_pt)); -#endif - if ( ip_i2 ) - { - // don't output this IP - for the first point of other geometry segment - op1 = operation_none; - op2 = operation_none; - return true; - } - else if ( ip_j2 ) - { - side_calculator - side_calc(ri2, rj1, ri1, ri2, rj2, rk2, inters.get_side_strategy()); - - std::pair - operations = operations_of_equal(side_calc); - -// TODO: must the above be calculated? -// wouldn't it be enough to check if segments are collinear? - - if ( operations_both(operations, operation_continue) ) - { - if ( op1 != operation_blocked - || op2 != operation_union - || ! ( G1Index == 0 ? inters.is_spike_q() : inters.is_spike_p() ) ) - { - // THIS IS WRT THE ORIGINAL SEGMENTS! NOT THE ONES ABOVE! - bool second_going_out = inters.i_info().count > 1; - - op1 = operation_blocked; - op2 = second_going_out ? operation_union : operation_intersection; - } - } - else - { - BOOST_GEOMETRY_ASSERT(operations_combination(operations, operation_intersection, operation_union)); - //op1 = operation_blocked; - //op2 = operation_union; - } - - return true; - } - // else do nothing - shouldn't be handled this way - } - // else do nothing - shouldn't be handled this way - } - - return false; - } - - static inline method_type endpoint_ip_method(bool ip_pi, bool ip_pj, bool ip_qi, bool ip_qj) - { - if ( (ip_pi || ip_pj) && (ip_qi || ip_qj) ) - return method_touch; - else - return method_touch_interior; - } - - static inline turn_position ip_position(bool is_ip_first_i, bool is_ip_last_j) - { - return is_ip_first_i ? position_front : - ( is_ip_last_j ? position_back : position_middle ); - } - - template - static inline void assign(Point1 const& pi, Point2 const& qi, - IntersectionResult const& result, - unsigned int ip_index, - method_type method, - operation_type op0, operation_type op1, - turn_position pos0, turn_position pos1, - bool is_p_first_ip, bool is_q_first_ip, - bool is_p_spike, bool is_q_spike, - TurnInfo const& tp_model, - OutputIterator out) - { - TurnInfo tp = tp_model; - - //geometry::convert(ip, tp.point); - //tp.method = method; - base_turn_handler::assign_point(tp, method, result.template get<0>(), ip_index); - - tp.operations[0].operation = op0; - tp.operations[1].operation = op1; - tp.operations[0].position = pos0; - tp.operations[1].position = pos1; - - if ( result.template get<0>().count > 1 ) - { - // NOTE: is_collinear is NOT set for the first endpoint - // for which there is no preceding segment - - //BOOST_GEOMETRY_ASSERT( result.template get<1>().dir_a == 0 && result.template get<1>().dir_b == 0 ); - if ( ! is_p_first_ip ) - { - tp.operations[0].is_collinear = op0 != operation_intersection - || is_p_spike; - } - - if ( ! is_q_first_ip ) - { - tp.operations[1].is_collinear = op1 != operation_intersection - || is_q_spike; - } - } - else //if ( result.template get<0>().count == 1 ) - { - if ( op0 == operation_blocked && op1 == operation_intersection ) - { - tp.operations[0].is_collinear = true; - } - else if ( op0 == operation_intersection && op1 == operation_blocked ) - { - tp.operations[1].is_collinear = true; - } - } - - // TODO: this should get an intersection_info, which is unavailable here - // Because the assign_null policy accepts any structure, we pass the result instead for now - AssignPolicy::apply(tp, pi, qi, result); - *out++ = tp; - } - - template - static inline std::pair operations_of_equal(SidePolicy const& side) - { - int const side_pk_q2 = side.pk_wrt_q2(); - int const side_pk_p = side.pk_wrt_p1(); - int const side_qk_p = side.qk_wrt_p1(); - - // If pk is collinear with qj-qk, they continue collinearly. - // This can be on either side of p1 (== q1), or collinear - // The second condition checks if they do not continue - // oppositely - if ( side_pk_q2 == 0 && side_pk_p == side_qk_p ) - { - return std::make_pair(operation_continue, operation_continue); - } - - // If they turn to same side (not opposite sides) - if ( ! base_turn_handler::opposite(side_pk_p, side_qk_p) ) - { - // If pk is left of q2 or collinear: p: union, q: intersection - if ( side_pk_q2 != -1 ) - { - return std::make_pair(operation_union, operation_intersection); - } - else - { - return std::make_pair(operation_intersection, operation_union); - } - } - else - { - // They turn opposite sides. If p turns left (or collinear), - // p: union, q: intersection - if ( side_pk_p != -1 ) - { - return std::make_pair(operation_union, operation_intersection); - } - else - { - return std::make_pair(operation_intersection, operation_union); - } - } - } - - static inline bool operations_both( - std::pair const& operations, - operation_type const op) - { - return operations.first == op && operations.second == op; - } - - static inline bool operations_combination( - std::pair const& operations, - operation_type const op1, operation_type const op2) - { - return ( operations.first == op1 && operations.second == op2 ) - || ( operations.first == op2 && operations.second == op1 ); - } -}; - -}} // namespace detail::overlay -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_FOR_ENDPOINT_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_helpers.hpp b/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_helpers.hpp deleted file mode 100644 index 7868a811dd6..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_helpers.hpp +++ /dev/null @@ -1,388 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// This file was modified by Oracle on 2013, 2014, 2015, 2017. -// Modifications copyright (c) 2013-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_HELPERS_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_HELPERS_HPP - -#include - -namespace boost { namespace geometry { - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace overlay { - -enum turn_position { position_middle, position_front, position_back }; - -template -struct turn_operation_linear - : public turn_operation -{ - turn_operation_linear() - : position(position_middle) - , is_collinear(false) - {} - - turn_position position; - bool is_collinear; // valid only for Linear geometry -}; - -template -struct side_calculator -{ - inline side_calculator(Pi const& pi, Pj const& pj, Pk const& pk, - Qi const& qi, Qj const& qj, Qk const& qk, - SideStrategy const& side_strategy) - : m_pi(pi), m_pj(pj), m_pk(pk) - , m_qi(qi), m_qj(qj), m_qk(qk) - , m_side_strategy(side_strategy) - {} - - inline int pk_wrt_p1() const { return m_side_strategy.apply(m_pi, m_pj, m_pk); } - inline int pk_wrt_q1() const { return m_side_strategy.apply(m_qi, m_qj, m_pk); } - inline int qk_wrt_p1() const { return m_side_strategy.apply(m_pi, m_pj, m_qk); } - inline int qk_wrt_q1() const { return m_side_strategy.apply(m_qi, m_qj, m_qk); } - - inline int pk_wrt_q2() const { return m_side_strategy.apply(m_qj, m_qk, m_pk); } - inline int qk_wrt_p2() const { return m_side_strategy.apply(m_pj, m_pk, m_qk); } - - Pi const& m_pi; - Pj const& m_pj; - Pk const& m_pk; - Qi const& m_qi; - Qj const& m_qj; - Qk const& m_qk; - - SideStrategy m_side_strategy; -}; - -template -struct robust_points -{ - typedef typename geometry::robust_point_type - < - Point1, RobustPolicy - >::type robust_point1_type; - - // TODO: define robust_point2_type using Point2? - typedef robust_point1_type robust_point2_type; - - inline robust_points(Point1 const& pi, Point1 const& pj, Point1 const& pk, - Point2 const& qi, Point2 const& qj, Point2 const& qk, - RobustPolicy const& robust_policy) - { - geometry::recalculate(m_rpi, pi, robust_policy); - geometry::recalculate(m_rpj, pj, robust_policy); - geometry::recalculate(m_rpk, pk, robust_policy); - geometry::recalculate(m_rqi, qi, robust_policy); - geometry::recalculate(m_rqj, qj, robust_policy); - geometry::recalculate(m_rqk, qk, robust_policy); - } - - robust_point1_type m_rpi, m_rpj, m_rpk; - robust_point2_type m_rqi, m_rqj, m_rqk; -}; - -template -class intersection_info_base - : private robust_points -{ - typedef robust_points base; - -public: - typedef Point1 point1_type; - typedef Point2 point2_type; - - typedef typename base::robust_point1_type robust_point1_type; - typedef typename base::robust_point2_type robust_point2_type; - - typedef typename cs_tag::type cs_tag; - - typedef typename IntersectionStrategy::side_strategy_type side_strategy_type; - typedef side_calculator side_calculator_type; - - intersection_info_base(Point1 const& pi, Point1 const& pj, Point1 const& pk, - Point2 const& qi, Point2 const& qj, Point2 const& qk, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy) - : base(pi, pj, pk, qi, qj, qk, robust_policy) - , m_side_calc(base::m_rpi, base::m_rpj, base::m_rpk, - base::m_rqi, base::m_rqj, base::m_rqk, - intersection_strategy.get_side_strategy()) - , m_pi(pi), m_pj(pj), m_pk(pk) - , m_qi(qi), m_qj(qj), m_qk(qk) - {} - - inline Point1 const& pi() const { return m_pi; } - inline Point1 const& pj() const { return m_pj; } - inline Point1 const& pk() const { return m_pk; } - - inline Point2 const& qi() const { return m_qi; } - inline Point2 const& qj() const { return m_qj; } - inline Point2 const& qk() const { return m_qk; } - - inline robust_point1_type const& rpi() const { return base::m_rpi; } - inline robust_point1_type const& rpj() const { return base::m_rpj; } - inline robust_point1_type const& rpk() const { return base::m_rpk; } - - inline robust_point2_type const& rqi() const { return base::m_rqi; } - inline robust_point2_type const& rqj() const { return base::m_rqj; } - inline robust_point2_type const& rqk() const { return base::m_rqk; } - - inline side_calculator_type const& sides() const { return m_side_calc; } - -private: - side_calculator_type m_side_calc; - - point1_type const& m_pi; - point1_type const& m_pj; - point1_type const& m_pk; - point2_type const& m_qi; - point2_type const& m_qj; - point2_type const& m_qk; -}; - -template -class intersection_info_base -{ -public: - typedef Point1 point1_type; - typedef Point2 point2_type; - - typedef Point1 robust_point1_type; - typedef Point2 robust_point2_type; - - typedef typename cs_tag::type cs_tag; - - typedef typename IntersectionStrategy::side_strategy_type side_strategy_type; - typedef side_calculator side_calculator_type; - - intersection_info_base(Point1 const& pi, Point1 const& pj, Point1 const& pk, - Point2 const& qi, Point2 const& qj, Point2 const& qk, - IntersectionStrategy const& intersection_strategy, - no_rescale_policy const& /*robust_policy*/) - : m_side_calc(pi, pj, pk, qi, qj, qk, - intersection_strategy.get_side_strategy()) - {} - - inline Point1 const& pi() const { return m_side_calc.m_pi; } - inline Point1 const& pj() const { return m_side_calc.m_pj; } - inline Point1 const& pk() const { return m_side_calc.m_pk; } - - inline Point2 const& qi() const { return m_side_calc.m_qi; } - inline Point2 const& qj() const { return m_side_calc.m_qj; } - inline Point2 const& qk() const { return m_side_calc.m_qk; } - - inline Point1 const& rpi() const { return pi(); } - inline Point1 const& rpj() const { return pj(); } - inline Point1 const& rpk() const { return pk(); } - - inline Point2 const& rqi() const { return qi(); } - inline Point2 const& rqj() const { return qj(); } - inline Point2 const& rqk() const { return qk(); } - - inline side_calculator_type const& sides() const { return m_side_calc; } - -private: - side_calculator_type m_side_calc; -}; - - -template -< - typename Point1, - typename Point2, - typename TurnPoint, - typename IntersectionStrategy, - typename RobustPolicy -> -class intersection_info - : public intersection_info_base -{ - typedef intersection_info_base base; - -public: - typedef segment_intersection_points - < - TurnPoint, - typename geometry::segment_ratio_type - < - TurnPoint, RobustPolicy - >::type - > intersection_point_type; - - // NOTE: formerly defined in intersection_strategies - typedef policies::relate::segments_tupled - < - policies::relate::segments_intersection_points - < - intersection_point_type - >, - policies::relate::segments_direction - > intersection_policy_type; - - typedef IntersectionStrategy intersection_strategy_type; - typedef typename IntersectionStrategy::side_strategy_type side_strategy_type; - - typedef model::referring_segment segment_type1; - typedef model::referring_segment segment_type2; - typedef typename base::side_calculator_type side_calculator_type; - - typedef typename intersection_policy_type::return_type result_type; - typedef typename boost::tuples::element<0, result_type>::type i_info_type; // intersection_info - typedef typename boost::tuples::element<1, result_type>::type d_info_type; // dir_info - - intersection_info(Point1 const& pi, Point1 const& pj, Point1 const& pk, - Point2 const& qi, Point2 const& qj, Point2 const& qk, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy) - : base(pi, pj, pk, qi, qj, qk, intersection_strategy, robust_policy) - , m_result(intersection_strategy.apply( - segment_type1(pi, pj), - segment_type2(qi, qj), - intersection_policy_type(), - robust_policy, - base::rpi(), base::rpj(), - base::rqi(), base::rqj())) - , m_intersection_strategy(intersection_strategy) - , m_robust_policy(robust_policy) - {} - - inline result_type const& result() const { return m_result; } - inline i_info_type const& i_info() const { return m_result.template get<0>(); } - inline d_info_type const& d_info() const { return m_result.template get<1>(); } - - inline intersection_strategy_type const& get_intersection_strategy() const - { - return m_intersection_strategy; - } - - inline side_strategy_type get_side_strategy() const - { - return m_intersection_strategy.get_side_strategy(); - } - - // TODO: it's more like is_spike_ip_p - inline bool is_spike_p() const - { - if (base::sides().pk_wrt_p1() == 0) - { - if (! is_ip_j<0>()) - { - return false; - } - - int const qk_p1 = base::sides().qk_wrt_p1(); - int const qk_p2 = base::sides().qk_wrt_p2(); - - if (qk_p1 == -qk_p2) - { - if (qk_p1 == 0) - { - return is_spike_of_collinear(base::pi(), base::pj(), - base::pk()); - } - - return true; - } - } - - return false; - } - - // TODO: it's more like is_spike_ip_q - inline bool is_spike_q() const - { - if (base::sides().qk_wrt_q1() == 0) - { - if (! is_ip_j<1>()) - { - return false; - } - - int const pk_q1 = base::sides().pk_wrt_q1(); - int const pk_q2 = base::sides().pk_wrt_q2(); - - if (pk_q1 == -pk_q2) - { - if (pk_q1 == 0) - { - return is_spike_of_collinear(base::qi(), base::qj(), - base::qk()); - } - - return true; - } - } - - return false; - } - -private: - template - inline bool is_spike_of_collinear(Point const& i, Point const& j, - Point const& k) const - { - typedef model::referring_segment seg; - - // no need to calculate direction info - typedef policies::relate::segments_intersection_points - < - intersection_point_type - > policy_type; - - typename policy_type::return_type const result - = m_intersection_strategy.apply(seg(i, j), seg(j, k), - policy_type(), - m_robust_policy); - - return result.count == 2; - } - - template - bool is_ip_j() const - { - int arrival = d_info().arrival[OpId]; - bool same_dirs = d_info().dir_a == 0 && d_info().dir_b == 0; - - if (same_dirs) - { - if (i_info().count == 2) - { - return arrival != -1; - } - else - { - return arrival == 0; - } - } - else - { - return arrival == 1; - } - } - - result_type m_result; - IntersectionStrategy const& m_intersection_strategy; - RobustPolicy const& m_robust_policy; -}; - -}} // namespace detail::overlay -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_HELPERS_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_la.hpp b/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_la.hpp deleted file mode 100644 index e105baa971d..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_la.hpp +++ /dev/null @@ -1,893 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2017 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2013, 2014, 2015, 2017. -// Modifications copyright (c) 2013-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_LA_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_LA_HPP - -#include - -#include - -#include - -#include -#include - -// TEMP, for spikes detector -//#include - -namespace boost { namespace geometry { - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace overlay { - -template -struct get_turn_info_linear_areal -{ - // Currently only Linear spikes are handled - // Areal spikes are ignored - static const bool handle_spikes = true; - - template - < - typename Point1, - typename Point2, - typename TurnInfo, - typename IntersectionStrategy, - typename RobustPolicy, - typename OutputIterator - > - static inline OutputIterator apply( - Point1 const& pi, Point1 const& pj, Point1 const& pk, - Point2 const& qi, Point2 const& qj, Point2 const& qk, - bool is_p_first, bool is_p_last, - bool is_q_first, bool is_q_last, - TurnInfo const& tp_model, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - OutputIterator out) - { - typedef intersection_info - < - Point1, Point2, - typename TurnInfo::point_type, - IntersectionStrategy, - RobustPolicy - > inters_info; - - inters_info inters(pi, pj, pk, qi, qj, qk, intersection_strategy, robust_policy); - - char const method = inters.d_info().how; - - // Copy, to copy possibly extended fields - TurnInfo tp = tp_model; - - // Select method and apply - switch(method) - { - case 'a' : // collinear, "at" - case 'f' : // collinear, "from" - case 's' : // starts from the middle - get_turn_info_for_endpoint( - pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - tp_model, inters, method_none, out); - break; - - case 'd' : // disjoint: never do anything - break; - - case 'm' : - { - if ( get_turn_info_for_endpoint( - pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - tp_model, inters, method_touch_interior, out) ) - { - // do nothing - } - else - { - typedef touch_interior - < - TurnInfo - > policy; - - // If Q (1) arrives (1) - if ( inters.d_info().arrival[1] == 1 ) - { - policy::template apply<0>(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), - inters.sides()); - } - else - { - // Swap p/q - side_calculator - < - typename inters_info::cs_tag, - typename inters_info::robust_point2_type, - typename inters_info::robust_point1_type, - typename inters_info::side_strategy_type - > swapped_side_calc(inters.rqi(), inters.rqj(), inters.rqk(), - inters.rpi(), inters.rpj(), inters.rpk(), - inters.get_side_strategy()); - policy::template apply<1>(qi, qj, qk, pi, pj, pk, - tp, inters.i_info(), inters.d_info(), - swapped_side_calc); - } - - if ( tp.operations[1].operation == operation_blocked ) - { - tp.operations[0].is_collinear = true; - } - - replace_method_and_operations_tm(tp.method, - tp.operations[0].operation, - tp.operations[1].operation); - - // this function assumes that 'u' must be set for a spike - calculate_spike_operation(tp.operations[0].operation, - inters, is_p_last); - - AssignPolicy::apply(tp, pi, qi, inters); - - *out++ = tp; - } - } - break; - case 'i' : - { - crosses::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info()); - - replace_operations_i(tp.operations[0].operation, tp.operations[1].operation); - - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - break; - case 't' : - { - // Both touch (both arrive there) - if ( get_turn_info_for_endpoint( - pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - tp_model, inters, method_touch, out) ) - { - // do nothing - } - else - { - touch::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - - if ( tp.operations[1].operation == operation_blocked ) - { - tp.operations[0].is_collinear = true; - } - - // workarounds for touch<> not taking spikes into account starts here - // those was discovered empirically - // touch<> is not symmetrical! - // P spikes and Q spikes may produce various operations! - // Only P spikes are valid for L/A - // TODO: this is not optimal solution - think about rewriting touch<> - - if ( tp.operations[0].operation == operation_blocked ) - { - // a spike on P on the same line with Q1 - if ( inters.is_spike_p() ) - { - if ( inters.sides().qk_wrt_p1() == 0 ) - { - tp.operations[0].is_collinear = true; - } - else - { - tp.operations[0].operation = operation_union; - } - } - } - else if ( tp.operations[0].operation == operation_continue - && tp.operations[1].operation == operation_continue ) - { - // P spike on the same line with Q2 (opposite) - if ( inters.sides().pk_wrt_q1() == -inters.sides().qk_wrt_q1() - && inters.is_spike_p() ) - { - tp.operations[0].operation = operation_union; - tp.operations[1].operation = operation_union; - } - } - else if ( tp.operations[0].operation == operation_none - && tp.operations[1].operation == operation_none ) - { - // spike not handled by touch<> - if ( inters.is_spike_p() ) - { - tp.operations[0].operation = operation_intersection; - tp.operations[1].operation = operation_union; - - if ( inters.sides().pk_wrt_q2() == 0 ) - { - tp.operations[0].operation = operation_continue; // will be converted to i - tp.operations[0].is_collinear = true; - } - } - } - - // workarounds for touch<> not taking spikes into account ends here - - replace_method_and_operations_tm(tp.method, - tp.operations[0].operation, - tp.operations[1].operation); - - bool ignore_spike - = calculate_spike_operation(tp.operations[0].operation, - inters, is_p_last); - -// TODO: move this into the append_xxx and call for each turn? - AssignPolicy::apply(tp, pi, qi, inters); - - if ( ! BOOST_GEOMETRY_CONDITION(handle_spikes) - || ignore_spike - || ! append_opposite_spikes( // for 'i' or 'c' i??? - tp, inters, is_p_last, is_q_last, out) ) - { - *out++ = tp; - } - } - } - break; - case 'e': - { - if ( get_turn_info_for_endpoint( - pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - tp_model, inters, method_equal, out) ) - { - // do nothing - } - else - { - tp.operations[0].is_collinear = true; - - if ( ! inters.d_info().opposite ) - { - // Both equal - // or collinear-and-ending at intersection point - equal::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - - turn_transformer_ec transformer(method_touch); - transformer(tp); - -// TODO: move this into the append_xxx and call for each turn? - AssignPolicy::apply(tp, pi, qi, inters); - - // conditionally handle spikes - if ( ! BOOST_GEOMETRY_CONDITION(handle_spikes) - || ! append_collinear_spikes(tp, inters, is_p_last, is_q_last, - method_touch, append_equal, out) ) - { - *out++ = tp; // no spikes - } - } - else - { - equal_opposite - < - TurnInfo, - AssignPolicy - >::apply(pi, qi, - tp, out, inters); - } - } - } - break; - case 'c' : - { - // Collinear - if ( get_turn_info_for_endpoint( - pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - tp_model, inters, method_collinear, out) ) - { - // do nothing - } - else - { - tp.operations[0].is_collinear = true; - - if ( ! inters.d_info().opposite ) - { - method_type method_replace = method_touch_interior; - append_version_c version = append_collinear; - - if ( inters.d_info().arrival[0] == 0 ) - { - // Collinear, but similar thus handled as equal - equal::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - - method_replace = method_touch; - version = append_equal; - } - else - { - collinear::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - - //method_replace = method_touch_interior; - //version = append_collinear; - } - - turn_transformer_ec transformer(method_replace); - transformer(tp); - -// TODO: move this into the append_xxx and call for each turn? - AssignPolicy::apply(tp, pi, qi, inters); - - // conditionally handle spikes - if ( ! BOOST_GEOMETRY_CONDITION(handle_spikes) - || ! append_collinear_spikes(tp, inters, is_p_last, is_q_last, - method_replace, version, out) ) - { - // no spikes - *out++ = tp; - } - } - else - { - // Is this always 'm' ? - turn_transformer_ec transformer(method_touch_interior); - - // conditionally handle spikes - if ( BOOST_GEOMETRY_CONDITION(handle_spikes) ) - { - append_opposite_spikes( - tp, inters, is_p_last, is_q_last, out); - } - - // TODO: ignore for spikes? - // E.g. pass is_p_valid = !is_p_last && !is_pj_spike, - // the same with is_q_valid - - collinear_opposite - < - TurnInfo, - AssignPolicy - >::apply(pi, pj, pk, qi, qj, qk, - tp, out, inters, - inters.sides(), transformer, - !is_p_last, true); // qk is always valid - } - } - } - break; - case '0' : - { - // degenerate points - if ( BOOST_GEOMETRY_CONDITION(AssignPolicy::include_degenerate) ) - { - only_convert::apply(tp, inters.i_info()); - - if ( is_p_first - && equals::equals_point_point(pi, tp.point) ) - { - tp.operations[0].position = position_front; - } - else if ( is_p_last - && equals::equals_point_point(pj, tp.point) ) - { - tp.operations[0].position = position_back; - } - // tp.operations[1].position = position_middle; - - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - } - break; - default : - { -#if defined(BOOST_GEOMETRY_DEBUG_ROBUSTNESS) - std::cout << "TURN: Unknown method: " << method << std::endl; -#endif -#if ! defined(BOOST_GEOMETRY_OVERLAY_NO_THROW) - BOOST_THROW_EXCEPTION(turn_info_exception(method)); -#endif - } - break; - } - - return out; - } - - template - static inline bool calculate_spike_operation(Operation & op, - IntersectionInfo const& inters, - bool is_p_last) - { - bool is_p_spike = ( op == operation_union || op == operation_intersection ) - && ! is_p_last - && inters.is_spike_p(); - - if ( is_p_spike ) - { - int const pk_q1 = inters.sides().pk_wrt_q1(); - - bool going_in = pk_q1 < 0; // Pk on the right - bool going_out = pk_q1 > 0; // Pk on the left - - int const qk_q1 = inters.sides().qk_wrt_q1(); - - // special cases - if ( qk_q1 < 0 ) // Q turning R - { - // spike on the edge point - // if it's already known that the spike is going out this mustn't be checked - if ( ! going_out - && equals::equals_point_point(inters.rpj(), inters.rqj()) ) - { - int const pk_q2 = inters.sides().pk_wrt_q2(); - going_in = pk_q1 < 0 && pk_q2 < 0; // Pk on the right of both - going_out = pk_q1 > 0 || pk_q2 > 0; // Pk on the left of one of them - } - } - else if ( qk_q1 > 0 ) // Q turning L - { - // spike on the edge point - // if it's already known that the spike is going in this mustn't be checked - if ( ! going_in - && equals::equals_point_point(inters.rpj(), inters.rqj()) ) - { - int const pk_q2 = inters.sides().pk_wrt_q2(); - going_in = pk_q1 < 0 || pk_q2 < 0; // Pk on the right of one of them - going_out = pk_q1 > 0 && pk_q2 > 0; // Pk on the left of both - } - } - - if ( going_in ) - { - op = operation_intersection; - return true; - } - else if ( going_out ) - { - op = operation_union; - return true; - } - } - - return false; - } - - enum append_version_c { append_equal, append_collinear }; - - template - static inline bool append_collinear_spikes(TurnInfo & tp, - IntersectionInfo const& inters, - bool is_p_last, bool /*is_q_last*/, - method_type method, append_version_c version, - OutIt out) - { - // method == touch || touch_interior - // both position == middle - - bool is_p_spike = ( version == append_equal ? - ( tp.operations[0].operation == operation_union - || tp.operations[0].operation == operation_intersection ) : - tp.operations[0].operation == operation_continue ) - && ! is_p_last - && inters.is_spike_p(); - - // TODO: throw an exception for spike in Areal? - /*bool is_q_spike = tp.operations[1].operation == operation_continue - && inters.is_spike_q(); - - // both are collinear spikes on the same IP, we can just follow both - if ( is_p_spike && is_q_spike ) - { - return false; - } - // spike on Linear - it's turning back on the boundary of Areal - else*/ - if ( is_p_spike ) - { - tp.method = method; - tp.operations[0].operation = operation_blocked; - tp.operations[1].operation = operation_union; - *out++ = tp; - tp.operations[0].operation = operation_continue; // boundary - //tp.operations[1].operation = operation_union; - *out++ = tp; - - return true; - } - // spike on Areal - Linear is going outside - /*else if ( is_q_spike ) - { - tp.method = method; - tp.operations[0].operation = operation_union; - tp.operations[1].operation = operation_continue; - *out++ = tp; - *out++ = tp; - - return true; - }*/ - - return false; - } - - enum append_version_o { append_touches, append_collinear_opposite }; - - template - static inline bool append_opposite_spikes(TurnInfo & tp, - IntersectionInfo const& inters, - bool is_p_last, bool /*is_q_last*/, - OutIt out) - { - static const bool is_version_touches = (Version == append_touches); - - bool is_p_spike = ( is_version_touches ? - ( tp.operations[0].operation == operation_continue - || tp.operations[0].operation == operation_intersection ) : // i ??? - true ) - && ! is_p_last - && inters.is_spike_p(); - - // TODO: throw an exception for spike in Areal? - /*bool is_q_spike = ( ( Version == append_touches - && tp.operations[1].operation == operation_continue ) - || ( Version == append_collinear_opposite - && tp.operations[1].operation == operation_none ) ) - && inters.is_spike_q(); - - if ( is_p_spike && is_q_spike ) - { - // u/u or nothing? - return false; - } - else*/ - if ( is_p_spike ) - { - if ( BOOST_GEOMETRY_CONDITION(is_version_touches) - || inters.d_info().arrival[0] == 1 ) - { - if ( BOOST_GEOMETRY_CONDITION(is_version_touches) ) - { - tp.operations[0].is_collinear = true; - //tp.operations[1].is_collinear = false; - tp.method = method_touch; - } - else - { - tp.operations[0].is_collinear = true; - //tp.operations[1].is_collinear = false; - - BOOST_GEOMETRY_ASSERT(inters.i_info().count > 1); - base_turn_handler::assign_point(tp, method_touch_interior, inters.i_info(), 1); - - AssignPolicy::apply(tp, inters.pi(), inters.qi(), inters); - } - - tp.operations[0].operation = operation_blocked; - tp.operations[1].operation = operation_continue; // boundary - *out++ = tp; - tp.operations[0].operation = operation_continue; // boundary - //tp.operations[1].operation = operation_continue; // boundary - *out++ = tp; - - return true; - } - } - /*else if ( is_q_spike ) - { - tp.operations[0].is_collinear = true; - tp.method = is_version_touches ? method_touch : method_touch_interior; - tp.operations[0].operation = operation_continue; - tp.operations[1].operation = operation_continue; // boundary - *out++ = tp; - *out++ = tp; - - return true; - }*/ - - return false; - } - - static inline void replace_method_and_operations_tm(method_type & method, - operation_type & op0, - operation_type & op1) - { - if ( op0 == operation_blocked && op1 == operation_blocked ) - { - // NOTE: probably only if methods are WRT IPs, not segments! - method = (method == method_touch ? method_equal : method_collinear); - } - - // Assuming G1 is always Linear - if ( op0 == operation_blocked ) - { - op0 = operation_continue; - } - - if ( op1 == operation_blocked ) - { - op1 = operation_continue; - } - else if ( op1 == operation_intersection ) - { - op1 = operation_union; - } - - // spikes in 'm' - if ( method == method_error ) - { - method = method_touch_interior; - op0 = operation_union; - op1 = operation_union; - } - } - - template - class turn_transformer_ec - { - public: - explicit turn_transformer_ec(method_type method_t_or_m) - : m_method(method_t_or_m) - {} - - template - void operator()(Turn & turn) const - { - operation_type & op0 = turn.operations[0].operation; - operation_type & op1 = turn.operations[1].operation; - - // NOTE: probably only if methods are WRT IPs, not segments! - if ( BOOST_GEOMETRY_CONDITION(IsFront) - || op0 == operation_intersection || op0 == operation_union - || op1 == operation_intersection || op1 == operation_union ) - { - turn.method = m_method; - } - - turn.operations[0].is_collinear = op0 != operation_blocked; - - // Assuming G1 is always Linear - if ( op0 == operation_blocked ) - { - op0 = operation_continue; - } - - if ( op1 == operation_blocked ) - { - op1 = operation_continue; - } - else if ( op1 == operation_intersection ) - { - op1 = operation_union; - } - } - - private: - method_type m_method; - }; - - static inline void replace_operations_i(operation_type & /*op0*/, operation_type & op1) - { - // assuming Linear is always the first one - op1 = operation_union; - } - - // NOTE: Spikes may NOT be handled for Linear endpoints because it's not - // possible to define a spike on an endpoint. Areal geometries must - // NOT have spikes at all. One thing that could be done is to throw - // an exception when spike is detected in Areal geometry. - - template - static inline bool get_turn_info_for_endpoint( - Point1 const& pi, Point1 const& /*pj*/, Point1 const& /*pk*/, - Point2 const& qi, Point2 const& /*qj*/, Point2 const& /*qk*/, - bool is_p_first, bool is_p_last, - bool /*is_q_first*/, bool is_q_last, - TurnInfo const& tp_model, - IntersectionInfo const& inters, - method_type /*method*/, - OutputIterator out) - { - namespace ov = overlay; - typedef ov::get_turn_info_for_endpoint get_info_e; - - const std::size_t ip_count = inters.i_info().count; - // no intersection points - if ( ip_count == 0 ) - return false; - - if ( !is_p_first && !is_p_last ) - return false; - -// TODO: is_q_last could probably be replaced by false and removed from parameters - - linear_intersections intersections(pi, qi, inters.result(), is_p_last, is_q_last); - linear_intersections::ip_info const& ip0 = intersections.template get<0>(); - linear_intersections::ip_info const& ip1 = intersections.template get<1>(); - - const bool opposite = inters.d_info().opposite; - - // ANALYSE AND ASSIGN FIRST - - // IP on the first point of Linear Geometry - bool was_first_point_handled = false; - if ( BOOST_GEOMETRY_CONDITION(EnableFirst) - && is_p_first && ip0.is_pi && !ip0.is_qi ) // !q0i prevents duplication - { - TurnInfo tp = tp_model; - tp.operations[0].position = position_front; - tp.operations[1].position = position_middle; - - if ( opposite ) // opposite -> collinear - { - tp.operations[0].operation = operation_continue; - tp.operations[1].operation = operation_union; - tp.method = ip0.is_qj ? method_touch : method_touch_interior; - } - else - { - typedef typename IntersectionInfo::robust_point1_type rp1_type; - typedef typename IntersectionInfo::robust_point2_type rp2_type; - - method_type replaced_method = method_touch_interior; - - if ( ip0.is_qj ) - { - side_calculator - < - typename IntersectionInfo::cs_tag, - rp1_type, rp2_type, - typename IntersectionInfo::side_strategy_type, - rp2_type - > side_calc(inters.rqi(), inters.rpi(), inters.rpj(), - inters.rqi(), inters.rqj(), inters.rqk(), - inters.get_side_strategy()); - - std::pair - operations = get_info_e::operations_of_equal(side_calc); - - tp.operations[0].operation = operations.first; - tp.operations[1].operation = operations.second; - - replaced_method = method_touch; - } - else - { - side_calculator - < - typename IntersectionInfo::cs_tag, - rp1_type, rp2_type, - typename IntersectionInfo::side_strategy_type, - rp2_type, rp1_type, rp1_type, - rp2_type, rp1_type, rp2_type - > side_calc(inters.rqi(), inters.rpi(), inters.rpj(), - inters.rqi(), inters.rpi(), inters.rqj(), - inters.get_side_strategy()); - - std::pair - operations = get_info_e::operations_of_equal(side_calc); - - tp.operations[0].operation = operations.first; - tp.operations[1].operation = operations.second; - } - - turn_transformer_ec transformer(replaced_method); - transformer(tp); - } - - // equals<> or collinear<> will assign the second point, - // we'd like to assign the first one - base_turn_handler::assign_point(tp, tp.method, inters.i_info(), 0); - - // NOTE: is_collinear is not set for the first endpoint of L - // for which there is no preceding segment - // here is_p_first_ip == true - tp.operations[0].is_collinear = false; - - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - - was_first_point_handled = true; - } - - // ANALYSE AND ASSIGN LAST - - // IP on the last point of Linear Geometry - if ( BOOST_GEOMETRY_CONDITION(EnableLast) - && is_p_last - && ( ip_count > 1 ? (ip1.is_pj && !ip1.is_qi) : (ip0.is_pj && !ip0.is_qi) ) ) // prevents duplication - { - TurnInfo tp = tp_model; - - if ( inters.i_info().count > 1 ) - { - //BOOST_GEOMETRY_ASSERT( result.template get<1>().dir_a == 0 && result.template get<1>().dir_b == 0 ); - tp.operations[0].is_collinear = true; - tp.operations[1].operation = opposite ? operation_continue : operation_union; - } - else //if ( result.template get<0>().count == 1 ) - { - side_calculator - < - typename IntersectionInfo::cs_tag, - typename IntersectionInfo::robust_point1_type, - typename IntersectionInfo::robust_point2_type, - typename IntersectionInfo::side_strategy_type, - typename IntersectionInfo::robust_point2_type - > side_calc(inters.rqi(), inters.rpj(), inters.rpi(), - inters.rqi(), inters.rqj(), inters.rqk(), - inters.get_side_strategy()); - - std::pair - operations = get_info_e::operations_of_equal(side_calc); - - tp.operations[0].operation = operations.first; - tp.operations[1].operation = operations.second; - - turn_transformer_ec transformer(method_none); - transformer(tp); - - tp.operations[0].is_collinear = tp.both(operation_continue); - } - - tp.method = ( ip_count > 1 ? ip1.is_qj : ip0.is_qj ) ? method_touch : method_touch_interior; - tp.operations[0].operation = operation_blocked; - tp.operations[0].position = position_back; - tp.operations[1].position = position_middle; - - // equals<> or collinear<> will assign the second point, - // we'd like to assign the first one - unsigned int ip_index = ip_count > 1 ? 1 : 0; - base_turn_handler::assign_point(tp, tp.method, inters.i_info(), ip_index); - - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - - // don't ignore the first IP if the segment is opposite - return !( opposite && ip_count > 1 ) || was_first_point_handled; - } - - // don't ignore anything for now - return false; - } -}; - -}} // namespace detail::overlay -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_LA_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_ll.hpp b/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_ll.hpp deleted file mode 100644 index c71ba92d82a..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/get_turn_info_ll.hpp +++ /dev/null @@ -1,759 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2017 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2013, 2014, 2015, 2017. -// Modifications copyright (c) 2013-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_LL_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_LL_HPP - -#include - -#include - -#include -#include - -#include - -namespace boost { namespace geometry { - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace overlay { - -template -struct get_turn_info_linear_linear -{ - static const bool handle_spikes = true; - - template - < - typename Point1, - typename Point2, - typename TurnInfo, - typename IntersectionStrategy, - typename RobustPolicy, - typename OutputIterator - > - static inline OutputIterator apply( - Point1 const& pi, Point1 const& pj, Point1 const& pk, - Point2 const& qi, Point2 const& qj, Point2 const& qk, - bool is_p_first, bool is_p_last, - bool is_q_first, bool is_q_last, - TurnInfo const& tp_model, - IntersectionStrategy const& strategy, - RobustPolicy const& robust_policy, - OutputIterator out) - { - typedef intersection_info - < - Point1, Point2, - typename TurnInfo::point_type, - IntersectionStrategy, - RobustPolicy - > inters_info; - - inters_info inters(pi, pj, pk, qi, qj, qk, strategy, robust_policy); - - char const method = inters.d_info().how; - - // Copy, to copy possibly extended fields - TurnInfo tp = tp_model; - - // Select method and apply - switch(method) - { - case 'a' : // collinear, "at" - case 'f' : // collinear, "from" - case 's' : // starts from the middle - get_turn_info_for_endpoint - ::apply(pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - tp_model, inters, method_none, out); - break; - - case 'd' : // disjoint: never do anything - break; - - case 'm' : - { - if ( get_turn_info_for_endpoint - ::apply(pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - tp_model, inters, method_touch_interior, out) ) - { - // do nothing - } - else - { - typedef touch_interior - < - TurnInfo - > policy; - - // If Q (1) arrives (1) - if ( inters.d_info().arrival[1] == 1) - { - policy::template apply<0>(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), - inters.sides()); - } - else - { - // Swap p/q - side_calculator - < - typename inters_info::cs_tag, - typename inters_info::robust_point2_type, - typename inters_info::robust_point1_type, - typename inters_info::side_strategy_type - > swapped_side_calc(inters.rqi(), inters.rqj(), inters.rqk(), - inters.rpi(), inters.rpj(), inters.rpk(), - inters.get_side_strategy()); - - policy::template apply<1>(qi, qj, qk, pi, pj, pk, - tp, inters.i_info(), inters.d_info(), - swapped_side_calc); - } - - if ( tp.operations[0].operation == operation_blocked ) - { - tp.operations[1].is_collinear = true; - } - if ( tp.operations[1].operation == operation_blocked ) - { - tp.operations[0].is_collinear = true; - } - - replace_method_and_operations_tm(tp.method, - tp.operations[0].operation, - tp.operations[1].operation); - - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - } - break; - case 'i' : - { - crosses::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info()); - - replace_operations_i(tp.operations[0].operation, tp.operations[1].operation); - - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - break; - case 't' : - { - // Both touch (both arrive there) - if ( get_turn_info_for_endpoint - ::apply(pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - tp_model, inters, method_touch, out) ) - { - // do nothing - } - else - { - touch::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - - // workarounds for touch<> not taking spikes into account starts here - // those was discovered empirically - // touch<> is not symmetrical! - // P spikes and Q spikes may produce various operations! - // TODO: this is not optimal solution - think about rewriting touch<> - - if ( tp.operations[0].operation == operation_blocked - && tp.operations[1].operation == operation_blocked ) - { - // two touching spikes on the same line - if ( inters.is_spike_p() && inters.is_spike_q() ) - { - tp.operations[0].operation = operation_union; - tp.operations[1].operation = operation_union; - } - else - { - tp.operations[0].is_collinear = true; - tp.operations[1].is_collinear = true; - } - } - else if ( tp.operations[0].operation == operation_blocked ) - { - // a spike on P on the same line with Q1 - if ( inters.is_spike_p() ) - { - if ( inters.sides().qk_wrt_p1() == 0 ) - { - tp.operations[0].is_collinear = true; - } - else - { - tp.operations[0].operation = operation_union; - } - } - else - { - tp.operations[1].is_collinear = true; - } - } - else if ( tp.operations[1].operation == operation_blocked ) - { - // a spike on Q on the same line with P1 - if ( inters.is_spike_q() ) - { - if ( inters.sides().pk_wrt_q1() == 0 ) - { - tp.operations[1].is_collinear = true; - } - else - { - tp.operations[1].operation = operation_union; - } - } - else - { - tp.operations[0].is_collinear = true; - } - } - else if ( tp.operations[0].operation == operation_continue - && tp.operations[1].operation == operation_continue ) - { - // P spike on the same line with Q2 (opposite) - if ( inters.sides().pk_wrt_q1() == -inters.sides().qk_wrt_q1() - && inters.is_spike_p() ) - { - tp.operations[0].operation = operation_union; - tp.operations[1].operation = operation_union; - } - } - else if ( tp.operations[0].operation == operation_none - && tp.operations[1].operation == operation_none ) - { - // spike not handled by touch<> - bool const is_p = inters.is_spike_p(); - bool const is_q = inters.is_spike_q(); - - if ( is_p || is_q ) - { - tp.operations[0].operation = operation_union; - tp.operations[1].operation = operation_union; - - if ( inters.sides().pk_wrt_q2() == 0 ) - { - tp.operations[0].operation = operation_continue; // will be converted to i - if ( is_p ) - { - tp.operations[0].is_collinear = true; - } - } - - if ( inters.sides().qk_wrt_p2() == 0 ) - { - tp.operations[1].operation = operation_continue; // will be converted to i - if ( is_q ) - { - tp.operations[1].is_collinear = true; - } - } - } - } - - // workarounds for touch<> not taking spikes into account ends here - - replace_method_and_operations_tm(tp.method, - tp.operations[0].operation, - tp.operations[1].operation); - -// TODO: move this into the append_xxx and call for each turn? - AssignPolicy::apply(tp, pi, qi, inters); - - if ( ! BOOST_GEOMETRY_CONDITION(handle_spikes) - || ! append_opposite_spikes(tp, inters, - is_p_last, is_q_last, - out) ) - { - *out++ = tp; - } - } - } - break; - case 'e': - { - if ( get_turn_info_for_endpoint - ::apply(pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - tp_model, inters, method_equal, out) ) - { - // do nothing - } - else - { - tp.operations[0].is_collinear = true; - tp.operations[1].is_collinear = true; - - if ( ! inters.d_info().opposite ) - { - // Both equal - // or collinear-and-ending at intersection point - equal::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - - operation_type spike_op - = ( tp.operations[0].operation != operation_continue - || tp.operations[1].operation != operation_continue ) ? - operation_union : - operation_continue; - - // transform turn - turn_transformer_ec transformer(method_touch); - transformer(tp); - -// TODO: move this into the append_xxx and call for each turn? - AssignPolicy::apply(tp, pi, qi, inters); - - // conditionally handle spikes - if ( ! BOOST_GEOMETRY_CONDITION(handle_spikes) - || ! append_collinear_spikes(tp, inters, - is_p_last, is_q_last, - method_touch, spike_op, - out) ) - { - *out++ = tp; // no spikes - } - } - else - { - // TODO: ignore for spikes or generate something else than opposite? - - equal_opposite - < - TurnInfo, - AssignPolicy - >::apply(pi, qi, tp, out, inters); - } - } - } - break; - case 'c' : - { - // Collinear - if ( get_turn_info_for_endpoint - ::apply(pi, pj, pk, qi, qj, qk, - is_p_first, is_p_last, is_q_first, is_q_last, - tp_model, inters, method_collinear, out) ) - { - // do nothing - } - else - { - // NOTE: this is for spikes since those are set in the turn_transformer_ec - tp.operations[0].is_collinear = true; - tp.operations[1].is_collinear = true; - - if ( ! inters.d_info().opposite ) - { - method_type method_replace = method_touch_interior; - operation_type spike_op = operation_continue; - - if ( inters.d_info().arrival[0] == 0 ) - { - // Collinear, but similar thus handled as equal - equal::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - - method_replace = method_touch; - if ( tp.operations[0].operation != operation_continue - || tp.operations[1].operation != operation_continue ) - { - spike_op = operation_union; - } - } - else - { - collinear::apply(pi, pj, pk, qi, qj, qk, - tp, inters.i_info(), inters.d_info(), inters.sides()); - - //method_replace = method_touch_interior; - //spike_op = operation_continue; - } - - // transform turn - turn_transformer_ec transformer(method_replace); - transformer(tp); - -// TODO: move this into the append_xxx and call for each turn? - AssignPolicy::apply(tp, pi, qi, inters); - - // conditionally handle spikes - if ( ! BOOST_GEOMETRY_CONDITION(handle_spikes) - || ! append_collinear_spikes(tp, inters, - is_p_last, is_q_last, - method_replace, spike_op, - out) ) - { - // no spikes - *out++ = tp; - } - } - else - { - // If this always 'm' ? - turn_transformer_ec transformer(method_touch_interior); - - // conditionally handle spikes - if ( BOOST_GEOMETRY_CONDITION(handle_spikes) ) - { - append_opposite_spikes(tp, inters, - is_p_last, is_q_last, - out); - } - - // TODO: ignore for spikes? - // E.g. pass is_p_valid = !is_p_last && !is_pj_spike, - // the same with is_q_valid - - collinear_opposite - < - TurnInfo, - AssignPolicy - >::apply(pi, pj, pk, qi, qj, qk, - tp, out, inters, inters.sides(), - transformer, !is_p_last, !is_q_last); - } - } - } - break; - case '0' : - { - // degenerate points - if ( BOOST_GEOMETRY_CONDITION(AssignPolicy::include_degenerate) ) - { - only_convert::apply(tp, inters.i_info()); - - // if any, only one of those should be true - if ( is_p_first - && equals::equals_point_point(pi, tp.point) ) - { - tp.operations[0].position = position_front; - } - else if ( is_p_last - && equals::equals_point_point(pj, tp.point) ) - { - tp.operations[0].position = position_back; - } - else if ( is_q_first - && equals::equals_point_point(qi, tp.point) ) - { - tp.operations[1].position = position_front; - } - else if ( is_q_last - && equals::equals_point_point(qj, tp.point) ) - { - tp.operations[1].position = position_back; - } - - AssignPolicy::apply(tp, pi, qi, inters); - *out++ = tp; - } - } - break; - default : - { -#if defined(BOOST_GEOMETRY_DEBUG_ROBUSTNESS) - std::cout << "TURN: Unknown method: " << method << std::endl; -#endif -#if ! defined(BOOST_GEOMETRY_OVERLAY_NO_THROW) - BOOST_THROW_EXCEPTION(turn_info_exception(method)); -#endif - } - break; - } - - return out; - } - - template - static inline bool append_collinear_spikes(TurnInfo & tp, - IntersectionInfo const& inters_info, - bool is_p_last, bool is_q_last, - method_type method, operation_type spike_op, - OutIt out) - { - // method == touch || touch_interior - // both position == middle - - bool is_p_spike = tp.operations[0].operation == spike_op - && ! is_p_last - && inters_info.is_spike_p(); - bool is_q_spike = tp.operations[1].operation == spike_op - && ! is_q_last - && inters_info.is_spike_q(); - - if ( is_p_spike && is_q_spike ) - { - if ( tp.method == method_equal - && tp.operations[0].operation == operation_continue - && tp.operations[1].operation == operation_continue ) - { - // treat both non-opposite collinear spikes as no-spikes - return false; - } - - tp.method = method; - tp.operations[0].operation = operation_blocked; - tp.operations[1].operation = operation_blocked; - *out++ = tp; - tp.operations[0].operation = operation_intersection; - tp.operations[1].operation = operation_intersection; - *out++ = tp; - - return true; - } - else if ( is_p_spike ) - { - tp.method = method; - tp.operations[0].operation = operation_blocked; - tp.operations[1].operation = operation_union; - *out++ = tp; - tp.operations[0].operation = operation_intersection; - //tp.operations[1].operation = operation_union; - *out++ = tp; - - return true; - } - else if ( is_q_spike ) - { - tp.method = method; - tp.operations[0].operation = operation_union; - tp.operations[1].operation = operation_blocked; - *out++ = tp; - //tp.operations[0].operation = operation_union; - tp.operations[1].operation = operation_intersection; - *out++ = tp; - - return true; - } - - return false; - } - - enum append_version { append_touches, append_collinear_opposite }; - - template - static inline bool append_opposite_spikes(TurnInfo & tp, - IntersectionInfo const& inters, - bool is_p_last, bool is_q_last, - OutIt out) - { - static const bool is_version_touches = (Version == append_touches); - - bool is_p_spike = ( is_version_touches ? - ( tp.operations[0].operation == operation_continue - || tp.operations[0].operation == operation_intersection ) : - true ) - && ! is_p_last - && inters.is_spike_p(); - bool is_q_spike = ( is_version_touches ? - ( tp.operations[1].operation == operation_continue - || tp.operations[1].operation == operation_intersection ) : - true ) - && ! is_q_last - && inters.is_spike_q(); - - bool res = false; - - if ( is_p_spike - && ( BOOST_GEOMETRY_CONDITION(is_version_touches) - || inters.d_info().arrival[0] == 1 ) ) - { - if ( BOOST_GEOMETRY_CONDITION(is_version_touches) ) - { - tp.operations[0].is_collinear = true; - tp.operations[1].is_collinear = false; - tp.method = method_touch; - } - else // Version == append_collinear_opposite - { - tp.operations[0].is_collinear = true; - tp.operations[1].is_collinear = false; - - BOOST_GEOMETRY_ASSERT(inters.i_info().count > 1); - - base_turn_handler::assign_point(tp, method_touch_interior, - inters.i_info(), 1); - - AssignPolicy::apply(tp, inters.pi(), inters.qi(), inters); - } - - tp.operations[0].operation = operation_blocked; - tp.operations[1].operation = operation_intersection; - *out++ = tp; - tp.operations[0].operation = operation_intersection; - //tp.operations[1].operation = operation_intersection; - *out++ = tp; - - res = true; - } - - if ( is_q_spike - && ( BOOST_GEOMETRY_CONDITION(is_version_touches) - || inters.d_info().arrival[1] == 1 ) ) - { - if ( BOOST_GEOMETRY_CONDITION(is_version_touches) ) - { - tp.operations[0].is_collinear = false; - tp.operations[1].is_collinear = true; - tp.method = method_touch; - } - else // Version == append_collinear_opposite - { - tp.operations[0].is_collinear = false; - tp.operations[1].is_collinear = true; - - BOOST_GEOMETRY_ASSERT(inters.i_info().count > 0); - - base_turn_handler::assign_point(tp, method_touch_interior, inters.i_info(), 0); - - AssignPolicy::apply(tp, inters.pi(), inters.qi(), inters); - } - - tp.operations[0].operation = operation_intersection; - tp.operations[1].operation = operation_blocked; - *out++ = tp; - //tp.operations[0].operation = operation_intersection; - tp.operations[1].operation = operation_intersection; - *out++ = tp; - - res = true; - } - - return res; - } - - static inline void replace_method_and_operations_tm(method_type & method, - operation_type & op0, - operation_type & op1) - { - if ( op0 == operation_blocked && op1 == operation_blocked ) - { - // NOTE: probably only if methods are WRT IPs, not segments! - method = (method == method_touch ? method_equal : method_collinear); - op0 = operation_continue; - op1 = operation_continue; - } - else - { - if ( op0 == operation_continue || op0 == operation_blocked ) - { - op0 = operation_intersection; - } - else if ( op0 == operation_intersection ) - { - op0 = operation_union; - } - - if ( op1 == operation_continue || op1 == operation_blocked ) - { - op1 = operation_intersection; - } - else if ( op1 == operation_intersection ) - { - op1 = operation_union; - } - - // spikes in 'm' - if ( method == method_error ) - { - method = method_touch_interior; - op0 = operation_union; - op1 = operation_union; - } - } - } - - class turn_transformer_ec - { - public: - explicit turn_transformer_ec(method_type method_t_or_m) - : m_method(method_t_or_m) - {} - - template - void operator()(Turn & turn) const - { - operation_type & op0 = turn.operations[0].operation; - operation_type & op1 = turn.operations[1].operation; - - BOOST_GEOMETRY_ASSERT(op0 != operation_blocked || op1 != operation_blocked ); - - if ( op0 == operation_blocked ) - { - op0 = operation_intersection; - } - else if ( op0 == operation_intersection ) - { - op0 = operation_union; - } - - if ( op1 == operation_blocked ) - { - op1 = operation_intersection; - } - else if ( op1 == operation_intersection ) - { - op1 = operation_union; - } - - if ( op0 == operation_intersection || op0 == operation_union - || op1 == operation_intersection || op1 == operation_union ) - { - turn.method = m_method; - } - -// TODO: is this correct? -// it's equivalent to comparing to operation_blocked at the beginning of the function - turn.operations[0].is_collinear = op0 != operation_intersection; - turn.operations[1].is_collinear = op1 != operation_intersection; - } - - private: - method_type m_method; - }; - - static inline void replace_operations_i(operation_type & op0, operation_type & op1) - { - if ( op0 == operation_intersection ) - { - op0 = operation_union; - } - - if ( op1 == operation_intersection ) - { - op1 = operation_union; - } - } -}; - -}} // namespace detail::overlay -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURN_INFO_LL_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/get_turns.hpp b/include/boost/bgeometry/algorithms/detail/overlay/get_turns.hpp deleted file mode 100644 index e6f18a2cbeb..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/get_turns.hpp +++ /dev/null @@ -1,1050 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2014-2017 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2014, 2016, 2017. -// Modifications copyright (c) 2014-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURNS_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURNS_HPP - - -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include - -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#ifdef BOOST_GEOMETRY_DEBUG_INTERSECTION -# include -# include -#endif - - -namespace boost { namespace geometry -{ - -// Silence warning C4127: conditional expression is constant -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable : 4127) -#endif - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace get_turns -{ - - -struct no_interrupt_policy -{ - static bool const enabled = false; - - // variable required by self_get_turn_points::get_turns - static bool const has_intersections = false; - - template - static inline bool apply(Range const&) - { - return false; - } -}; - - -template -< - typename Geometry1, typename Geometry2, - bool Reverse1, bool Reverse2, - typename Section1, typename Section2, - typename TurnPolicy -> -class get_turns_in_sections -{ - typedef typename closeable_view - < - typename range_type::type const, - closure::value - >::type cview_type1; - typedef typename closeable_view - < - typename range_type::type const, - closure::value - >::type cview_type2; - - typedef typename reversible_view - < - cview_type1 const, - Reverse1 ? iterate_reverse : iterate_forward - >::type view_type1; - typedef typename reversible_view - < - cview_type2 const, - Reverse2 ? iterate_reverse : iterate_forward - >::type view_type2; - - typedef typename boost::range_iterator - < - view_type1 const - >::type range1_iterator; - - typedef typename boost::range_iterator - < - view_type2 const - >::type range2_iterator; - - - template - static inline bool neighbouring(Section const& section, - signed_size_type index1, signed_size_type index2) - { - // About n-2: - // (square: range_count=5, indices 0,1,2,3 - // -> 0-3 are adjacent, don't check on intersections) - // Also tested for open polygons, and/or duplicates - // About first condition: will be optimized by compiler (static) - // It checks if it is areal (box,ring,(multi)polygon - signed_size_type const n = static_cast(section.range_count); - - boost::ignore_unused_variable_warning(n); - boost::ignore_unused_variable_warning(index1); - boost::ignore_unused_variable_warning(index2); - - return boost::is_same - < - typename tag_cast - < - typename geometry::tag::type, - areal_tag - >::type, - areal_tag - >::value - && index1 == 0 - && index2 >= n - 2 - ; - } - - -public : - // Returns true if terminated, false if interrupted - template - static inline bool apply( - int source_id1, Geometry1 const& geometry1, Section1 const& sec1, - int source_id2, Geometry2 const& geometry2, Section2 const& sec2, - bool skip_larger, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - Turns& turns, - InterruptPolicy& interrupt_policy) - { - boost::ignore_unused_variable_warning(interrupt_policy); - - if ((sec1.duplicate && (sec1.count + 1) < sec1.range_count) - || (sec2.duplicate && (sec2.count + 1) < sec2.range_count)) - { - // Skip sections containig only duplicates. - // They are still important (can indicate non-disjointness) - // but they will be found processing adjacent sections. - // Do NOT skip if they are the ONLY section - return true; - } - - cview_type1 cview1(range_by_section(geometry1, sec1)); - cview_type2 cview2(range_by_section(geometry2, sec2)); - view_type1 view1(cview1); - view_type2 view2(cview2); - - range1_iterator begin_range_1 = boost::begin(view1); - range1_iterator end_range_1 = boost::end(view1); - - range2_iterator begin_range_2 = boost::begin(view2); - range2_iterator end_range_2 = boost::end(view2); - - int const dir1 = sec1.directions[0]; - int const dir2 = sec2.directions[0]; - signed_size_type index1 = sec1.begin_index; - signed_size_type ndi1 = sec1.non_duplicate_index; - - bool const same_source = - source_id1 == source_id2 - && sec1.ring_id.multi_index == sec2.ring_id.multi_index - && sec1.ring_id.ring_index == sec2.ring_id.ring_index; - - range1_iterator prev1, it1, end1; - - get_start_point_iterator(sec1, view1, prev1, it1, end1, - index1, ndi1, dir1, sec2.bounding_box, robust_policy); - - // We need a circular iterator because it might run through the closing point. - // One circle is actually enough but this one is just convenient. - ever_circling_iterator next1(begin_range_1, end_range_1, it1, true); - next1++; - - // Walk through section and stop if we exceed the other box - // section 2: [--------------] - // section 1: |----|---|---|---|---| - for (prev1 = it1++, next1++; - it1 != end1 && ! detail::section::exceeding<0>(dir1, *prev1, sec1.bounding_box, sec2.bounding_box, robust_policy); - ++prev1, ++it1, ++index1, ++next1, ++ndi1) - { - ever_circling_iterator nd_next1( - begin_range_1, end_range_1, next1, true); - advance_to_non_duplicate_next(nd_next1, it1, sec1, robust_policy); - - signed_size_type index2 = sec2.begin_index; - signed_size_type ndi2 = sec2.non_duplicate_index; - - range2_iterator prev2, it2, end2; - - get_start_point_iterator(sec2, view2, prev2, it2, end2, - index2, ndi2, dir2, sec1.bounding_box, robust_policy); - ever_circling_iterator next2(begin_range_2, end_range_2, it2, true); - next2++; - - for (prev2 = it2++, next2++; - it2 != end2 && ! detail::section::exceeding<0>(dir2, *prev2, sec2.bounding_box, sec1.bounding_box, robust_policy); - ++prev2, ++it2, ++index2, ++next2, ++ndi2) - { - bool skip = same_source; - if (skip) - { - // If sources are the same (possibly self-intersecting): - // skip if it is a neighbouring segment. - // (including first-last segment - // and two segments with one or more degenerate/duplicate - // (zero-length) segments in between) - - // Also skip if index1 < index2 to avoid getting all - // intersections twice (only do this on same source!) - - skip = (skip_larger && index1 >= index2) - || ndi2 == ndi1 + 1 - || neighbouring(sec1, index1, index2) - ; - } - - if (! skip) - { - // Move to the "non duplicate next" - ever_circling_iterator nd_next2( - begin_range_2, end_range_2, next2, true); - advance_to_non_duplicate_next(nd_next2, it2, sec2, robust_policy); - - typedef typename boost::range_value::type turn_info; - - turn_info ti; - ti.operations[0].seg_id - = segment_identifier(source_id1, sec1.ring_id.multi_index, - sec1.ring_id.ring_index, index1); - ti.operations[1].seg_id - = segment_identifier(source_id2, sec2.ring_id.multi_index, - sec2.ring_id.ring_index, index2); - - std::size_t const size_before = boost::size(turns); - - bool const is_1_first = sec1.is_non_duplicate_first && index1 == sec1.begin_index; - bool const is_1_last = sec1.is_non_duplicate_last && index1+1 >= sec1.end_index; - bool const is_2_first = sec2.is_non_duplicate_first && index2 == sec2.begin_index; - bool const is_2_last = sec2.is_non_duplicate_last && index2+1 >= sec2.end_index; - - TurnPolicy::apply(*prev1, *it1, *nd_next1, *prev2, *it2, *nd_next2, - is_1_first, is_1_last, is_2_first, is_2_last, - ti, intersection_strategy, robust_policy, - std::back_inserter(turns)); - - if (InterruptPolicy::enabled) - { - if (interrupt_policy.apply( - std::make_pair(range::pos(turns, size_before), - boost::end(turns)))) - { - return false; - } - } - } - } - } - return true; - } - - -private : - typedef typename geometry::point_type::type point1_type; - typedef typename geometry::point_type::type point2_type; - typedef typename model::referring_segment segment1_type; - typedef typename model::referring_segment segment2_type; - - template - static inline void advance_to_non_duplicate_next(Iterator& next, - RangeIterator const& it, Section const& section, RobustPolicy const& robust_policy) - { - typedef typename robust_point_type::type robust_point_type; - robust_point_type robust_point_from_it; - robust_point_type robust_point_from_next; - geometry::recalculate(robust_point_from_it, *it, robust_policy); - geometry::recalculate(robust_point_from_next, *next, robust_policy); - - // To see where the next segments bend to, in case of touch/intersections - // on end points, we need (in case of degenerate/duplicate points) an extra - // iterator which moves to the REAL next point, so non duplicate. - // This needs an extra comparison (disjoint). - // (Note that within sections, non duplicate points are already asserted, - // by the sectionalize process). - - // So advance to the "non duplicate next" - // (the check is defensive, to avoid endless loops) - std::size_t check = 0; - while(! detail::disjoint::disjoint_point_point - ( - robust_point_from_it, robust_point_from_next - ) - && check++ < section.range_count) - { - next++; - geometry::recalculate(robust_point_from_next, *next, robust_policy); - } - } - - // It is NOT possible to have section-iterators here - // because of the logistics of "index" (the section-iterator automatically - // skips to the begin-point, we loose the index or have to recalculate it) - // So we mimic it here - template - static inline void get_start_point_iterator(Section const& section, - Range const& range, - typename boost::range_iterator::type& it, - typename boost::range_iterator::type& prev, - typename boost::range_iterator::type& end, - signed_size_type& index, signed_size_type& ndi, - int dir, Box const& other_bounding_box, RobustPolicy const& robust_policy) - { - it = boost::begin(range) + section.begin_index; - end = boost::begin(range) + section.end_index + 1; - - // Mimic section-iterator: - // Skip to point such that section interects other box - prev = it++; - for(; it != end && detail::section::preceding<0>(dir, *it, section.bounding_box, other_bounding_box, robust_policy); - prev = it++, index++, ndi++) - {} - // Go back one step because we want to start completely preceding - it = prev; - } -}; - -template -< - typename Geometry1, typename Geometry2, - bool Reverse1, bool Reverse2, - typename TurnPolicy, - typename IntersectionStrategy, - typename RobustPolicy, - typename Turns, - typename InterruptPolicy -> -struct section_visitor -{ - int m_source_id1; - Geometry1 const& m_geometry1; - int m_source_id2; - Geometry2 const& m_geometry2; - IntersectionStrategy const& m_intersection_strategy; - RobustPolicy const& m_rescale_policy; - Turns& m_turns; - InterruptPolicy& m_interrupt_policy; - - section_visitor(int id1, Geometry1 const& g1, - int id2, Geometry2 const& g2, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - Turns& turns, - InterruptPolicy& ip) - : m_source_id1(id1), m_geometry1(g1) - , m_source_id2(id2), m_geometry2(g2) - , m_intersection_strategy(intersection_strategy) - , m_rescale_policy(robust_policy) - , m_turns(turns) - , m_interrupt_policy(ip) - {} - - template - inline bool apply(Section const& sec1, Section const& sec2) - { - if (! detail::disjoint::disjoint_box_box(sec1.bounding_box, sec2.bounding_box)) - { - // false if interrupted - return get_turns_in_sections - < - Geometry1, - Geometry2, - Reverse1, Reverse2, - Section, Section, - TurnPolicy - >::apply(m_source_id1, m_geometry1, sec1, - m_source_id2, m_geometry2, sec2, - false, - m_intersection_strategy, - m_rescale_policy, - m_turns, m_interrupt_policy); - } - return true; - } - -}; - -template -< - typename Geometry1, typename Geometry2, - bool Reverse1, bool Reverse2, - typename TurnPolicy -> -class get_turns_generic -{ - -public: - template - static inline void apply( - int source_id1, Geometry1 const& geometry1, - int source_id2, Geometry2 const& geometry2, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - Turns& turns, - InterruptPolicy& interrupt_policy) - { - // First create monotonic sections... - typedef typename boost::range_value::type ip_type; - typedef typename ip_type::point_type point_type; - - typedef model::box - < - typename geometry::robust_point_type - < - point_type, RobustPolicy - >::type - > box_type; - typedef geometry::sections sections_type; - - sections_type sec1, sec2; - typedef boost::mpl::vector_c dimensions; - - typename IntersectionStrategy::envelope_strategy_type const - envelope_strategy = intersection_strategy.get_envelope_strategy(); - - geometry::sectionalize(geometry1, robust_policy, - sec1, envelope_strategy, 0); - geometry::sectionalize(geometry2, robust_policy, - sec2, envelope_strategy, 1); - - // ... and then partition them, intersecting overlapping sections in visitor method - section_visitor - < - Geometry1, Geometry2, - Reverse1, Reverse2, - TurnPolicy, - IntersectionStrategy, RobustPolicy, - Turns, InterruptPolicy - > visitor(source_id1, geometry1, source_id2, geometry2, - intersection_strategy, robust_policy, - turns, interrupt_policy); - - geometry::partition - < - box_type - >::apply(sec1, sec2, visitor, - detail::section::get_section_box(), - detail::section::overlaps_section_box()); - } -}; - - -// Get turns for a range with a box, following Cohen-Sutherland (cs) approach -template -< - typename Range, typename Box, - bool ReverseRange, bool ReverseBox, - typename TurnPolicy -> -struct get_turns_cs -{ - typedef typename geometry::point_type::type point_type; - typedef typename geometry::point_type::type box_point_type; - - typedef typename closeable_view - < - Range const, - closure::value - >::type cview_type; - - typedef typename reversible_view - < - cview_type const, - ReverseRange ? iterate_reverse : iterate_forward - >::type view_type; - - typedef typename boost::range_iterator - < - view_type const - >::type iterator_type; - - - template - static inline void apply( - int source_id1, Range const& range, - int source_id2, Box const& box, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - Turns& turns, - InterruptPolicy& interrupt_policy, - signed_size_type multi_index = -1, - signed_size_type ring_index = -1) - { - if ( boost::size(range) <= 1) - { - return; - } - - boost::array bp; - assign_box_corners_oriented(box, bp); - - cview_type cview(range); - view_type view(cview); - - typedef typename boost::range_size::type size_type; - size_type segments_count1 = boost::size(view) - 1; - - iterator_type it = boost::begin(view); - - ever_circling_iterator next( - boost::begin(view), boost::end(view), it, true); - next++; - next++; - - //bool first = true; - - //char previous_side[2] = {0, 0}; - - signed_size_type index = 0; - - for (iterator_type prev = it++; - it != boost::end(view); - prev = it++, next++, index++) - { - segment_identifier seg_id(source_id1, - multi_index, ring_index, index); - - /*if (first) - { - previous_side[0] = get_side<0>(box, *prev); - previous_side[1] = get_side<1>(box, *prev); - } - - char current_side[2]; - current_side[0] = get_side<0>(box, *it); - current_side[1] = get_side<1>(box, *it); - - // There can NOT be intersections if - // 1) EITHER the two points are lying on one side of the box (! 0 && the same) - // 2) OR same in Y-direction - // 3) OR all points are inside the box (0) - if (! ( - (current_side[0] != 0 && current_side[0] == previous_side[0]) - || (current_side[1] != 0 && current_side[1] == previous_side[1]) - || (current_side[0] == 0 - && current_side[1] == 0 - && previous_side[0] == 0 - && previous_side[1] == 0) - ) - )*/ - if (true) - { - get_turns_with_box(seg_id, source_id2, - *prev, *it, *next, - bp[0], bp[1], bp[2], bp[3], - // NOTE: some dummy values could be passed below since this would be called only for Polygons and Boxes - index == 0, - size_type(index) == segments_count1, - intersection_strategy, - robust_policy, - turns, - interrupt_policy); - // Future performance enhancement: - // return if told by the interrupt policy - } - } - } - -private: - template - static inline int get_side(Box const& box, Point const& point) - { - // Inside -> 0 - // Outside -> -1 (left/below) or 1 (right/above) - // On border -> -2 (left/lower) or 2 (right/upper) - // The only purpose of the value is to not be the same, - // and to denote if it is inside (0) - - typename coordinate_type::type const& c = get(point); - typename coordinate_type::type const& left = get(box); - typename coordinate_type::type const& right = get(box); - - if (geometry::math::equals(c, left)) return -2; - else if (geometry::math::equals(c, right)) return 2; - else if (c < left) return -1; - else if (c > right) return 1; - else return 0; - } - - template - static inline void get_turns_with_box(segment_identifier const& seg_id, int source_id2, - // Points from a range: - point_type const& rp0, - point_type const& rp1, - point_type const& rp2, - // Points from the box - box_point_type const& bp0, - box_point_type const& bp1, - box_point_type const& bp2, - box_point_type const& bp3, - bool const is_range_first, - bool const is_range_last, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - // Output - Turns& turns, - InterruptPolicy& interrupt_policy) - { - boost::ignore_unused_variable_warning(interrupt_policy); - - // Depending on code some relations can be left out - - typedef typename boost::range_value::type turn_info; - - turn_info ti; - ti.operations[0].seg_id = seg_id; - - ti.operations[1].seg_id = segment_identifier(source_id2, -1, -1, 0); - TurnPolicy::apply(rp0, rp1, rp2, bp0, bp1, bp2, - is_range_first, is_range_last, - true, false, - ti, intersection_strategy, robust_policy, - std::back_inserter(turns)); - - ti.operations[1].seg_id = segment_identifier(source_id2, -1, -1, 1); - TurnPolicy::apply(rp0, rp1, rp2, bp1, bp2, bp3, - is_range_first, is_range_last, - false, false, - ti, intersection_strategy, robust_policy, - std::back_inserter(turns)); - - ti.operations[1].seg_id = segment_identifier(source_id2, -1, -1, 2); - TurnPolicy::apply(rp0, rp1, rp2, bp2, bp3, bp0, - is_range_first, is_range_last, - false, false, - ti, intersection_strategy, robust_policy, - std::back_inserter(turns)); - - ti.operations[1].seg_id = segment_identifier(source_id2, -1, -1, 3); - TurnPolicy::apply(rp0, rp1, rp2, bp3, bp0, bp1, - is_range_first, is_range_last, - false, true, - ti, intersection_strategy, robust_policy, - std::back_inserter(turns)); - - if (InterruptPolicy::enabled) - { - interrupt_policy.apply(turns); - } - - } - -}; - - -template -< - typename Polygon, typename Box, - bool Reverse, bool ReverseBox, - typename TurnPolicy -> -struct get_turns_polygon_cs -{ - template - static inline void apply( - int source_id1, Polygon const& polygon, - int source_id2, Box const& box, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - Turns& turns, - InterruptPolicy& interrupt_policy, - signed_size_type multi_index = -1) - { - typedef typename geometry::ring_type::type ring_type; - - typedef detail::get_turns::get_turns_cs - < - ring_type, Box, - Reverse, ReverseBox, - TurnPolicy - > intersector_type; - - intersector_type::apply( - source_id1, geometry::exterior_ring(polygon), - source_id2, box, - intersection_strategy, - robust_policy, - turns, - interrupt_policy, - multi_index, -1); - - signed_size_type i = 0; - - typename interior_return_type::type - rings = interior_rings(polygon); - for (typename detail::interior_iterator::type - it = boost::begin(rings); it != boost::end(rings); ++it, ++i) - { - intersector_type::apply( - source_id1, *it, - source_id2, box, - intersection_strategy, - robust_policy, - turns, interrupt_policy, - multi_index, i); - } - - } -}; - - -template -< - typename Multi, typename Box, - bool Reverse, bool ReverseBox, - typename TurnPolicy -> -struct get_turns_multi_polygon_cs -{ - template - static inline void apply( - int source_id1, Multi const& multi, - int source_id2, Box const& box, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - Turns& turns, - InterruptPolicy& interrupt_policy) - { - typedef typename boost::range_iterator - < - Multi const - >::type iterator_type; - - signed_size_type i = 0; - for (iterator_type it = boost::begin(multi); - it != boost::end(multi); - ++it, ++i) - { - // Call its single version - get_turns_polygon_cs - < - typename boost::range_value::type, Box, - Reverse, ReverseBox, - TurnPolicy - >::apply(source_id1, *it, source_id2, box, - intersection_strategy, robust_policy, - turns, interrupt_policy, i); - } - } -}; - - -// GET_TURN_INFO_TYPE - -template -struct topological_tag_base -{ - typedef typename tag_cast::type, pointlike_tag, linear_tag, areal_tag>::type type; -}; - -template ::type, typename Tag2 = typename tag::type, - typename TagBase1 = typename topological_tag_base::type, typename TagBase2 = typename topological_tag_base::type> -struct get_turn_info_type - : overlay::get_turn_info -{}; - -template -struct get_turn_info_type - : overlay::get_turn_info_linear_linear -{}; - -template -struct get_turn_info_type - : overlay::get_turn_info_linear_areal -{}; - -template ::type, typename Tag2 = typename tag::type, - typename TagBase1 = typename topological_tag_base::type, typename TagBase2 = typename topological_tag_base::type> -struct turn_operation_type -{ - typedef overlay::turn_operation::type, SegmentRatio> type; -}; - -template -struct turn_operation_type -{ - typedef overlay::turn_operation_linear::type, SegmentRatio> type; -}; - -template -struct turn_operation_type -{ - typedef overlay::turn_operation_linear::type, SegmentRatio> type; -}; - -}} // namespace detail::get_turns -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -// Because this is "detail" method, and most implementations will use "generic", -// we take the freedom to derive it from "generic". -template -< - typename GeometryTag1, typename GeometryTag2, - typename Geometry1, typename Geometry2, - bool Reverse1, bool Reverse2, - typename TurnPolicy -> -struct get_turns - : detail::get_turns::get_turns_generic - < - Geometry1, Geometry2, - Reverse1, Reverse2, - TurnPolicy - > -{}; - - -template -< - typename Polygon, typename Box, - bool ReversePolygon, bool ReverseBox, - typename TurnPolicy -> -struct get_turns - < - polygon_tag, box_tag, - Polygon, Box, - ReversePolygon, ReverseBox, - TurnPolicy - > : detail::get_turns::get_turns_polygon_cs - < - Polygon, Box, - ReversePolygon, ReverseBox, - TurnPolicy - > -{}; - - -template -< - typename Ring, typename Box, - bool ReverseRing, bool ReverseBox, - typename TurnPolicy -> -struct get_turns - < - ring_tag, box_tag, - Ring, Box, - ReverseRing, ReverseBox, - TurnPolicy - > : detail::get_turns::get_turns_cs - < - Ring, Box, ReverseRing, ReverseBox, - TurnPolicy - > - -{}; - - -template -< - typename MultiPolygon, - typename Box, - bool ReverseMultiPolygon, bool ReverseBox, - typename TurnPolicy -> -struct get_turns - < - multi_polygon_tag, box_tag, - MultiPolygon, Box, - ReverseMultiPolygon, ReverseBox, - TurnPolicy - > - : detail::get_turns::get_turns_multi_polygon_cs - < - MultiPolygon, Box, - ReverseMultiPolygon, ReverseBox, - TurnPolicy - > -{}; - - -template -< - typename GeometryTag1, typename GeometryTag2, - typename Geometry1, typename Geometry2, - bool Reverse1, bool Reverse2, - typename TurnPolicy -> -struct get_turns_reversed -{ - template - static inline void apply(int source_id1, Geometry1 const& g1, - int source_id2, Geometry2 const& g2, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - Turns& turns, - InterruptPolicy& interrupt_policy) - { - get_turns - < - GeometryTag2, GeometryTag1, - Geometry2, Geometry1, - Reverse2, Reverse1, - TurnPolicy - >::apply(source_id2, g2, source_id1, g1, - intersection_strategy, robust_policy, - turns, interrupt_policy); - } -}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - - -/*! -\brief \brief_calc2{turn points} -\ingroup overlay -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\tparam Turns type of turn-container (e.g. vector of "intersection/turn point"'s) -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\param intersection_strategy segments intersection strategy -\param robust_policy policy to handle robustness issues -\param turns container which will contain turn points -\param interrupt_policy policy determining if process is stopped - when intersection is found - */ -template -< - bool Reverse1, bool Reverse2, - typename AssignPolicy, - typename Geometry1, - typename Geometry2, - typename IntersectionStrategy, - typename RobustPolicy, - typename Turns, - typename InterruptPolicy -> -inline void get_turns(Geometry1 const& geometry1, - Geometry2 const& geometry2, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - Turns& turns, - InterruptPolicy& interrupt_policy) -{ - concepts::check_concepts_and_equal_dimensions(); - - typedef detail::overlay::get_turn_info TurnPolicy; - //typedef detail::get_turns::get_turn_info_type TurnPolicy; - - boost::mpl::if_c - < - reverse_dispatch::type::value, - dispatch::get_turns_reversed - < - typename tag::type, - typename tag::type, - Geometry1, Geometry2, - Reverse1, Reverse2, - TurnPolicy - >, - dispatch::get_turns - < - typename tag::type, - typename tag::type, - Geometry1, Geometry2, - Reverse1, Reverse2, - TurnPolicy - > - >::type::apply(0, geometry1, - 1, geometry2, - intersection_strategy, - robust_policy, - turns, interrupt_policy); -} - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_GET_TURNS_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/intersection_box_box.hpp b/include/boost/bgeometry/algorithms/detail/overlay/intersection_box_box.hpp deleted file mode 100644 index 60085ac9198..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/intersection_box_box.hpp +++ /dev/null @@ -1,96 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015, Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_INTERSECTION_BOX_BOX_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_INTERSECTION_BOX_BOX_HPP - - -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace intersection -{ - -template -struct intersection_box_box -{ - template - < - typename Box1, typename Box2, - typename RobustPolicy, - typename BoxOut, - typename Strategy - > - static inline bool apply(Box1 const& box1, - Box2 const& box2, - RobustPolicy const& robust_policy, - BoxOut& box_out, - Strategy const& strategy) - { - typedef typename coordinate_type::type ct; - - ct max1 = get(box1); - ct min2 = get(box2); - - if (max1 < min2) - { - return false; - } - - ct max2 = get(box2); - ct min1 = get(box1); - - if (max2 < min1) - { - return false; - } - - // Set dimensions of output coordinate - set(box_out, min1 < min2 ? min2 : min1); - set(box_out, max1 > max2 ? max2 : max1); - - return intersection_box_box - ::apply(box1, box2, robust_policy, box_out, strategy); - } -}; - -template -struct intersection_box_box -{ - template - < - typename Box1, typename Box2, - typename RobustPolicy, - typename BoxOut, - typename Strategy - > - static inline bool apply(Box1 const&, Box2 const&, - RobustPolicy const&, BoxOut&, Strategy const&) - { - return true; - } -}; - - -}} // namespace detail::intersection -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_INTERSECTION_BOX_BOX_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/overlay_type.hpp b/include/boost/bgeometry/algorithms/detail/overlay/overlay_type.hpp deleted file mode 100644 index 0f608409733..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/overlay_type.hpp +++ /dev/null @@ -1,67 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_OVERLAY_TYPE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_OVERLAY_TYPE_HPP - - - -namespace boost { namespace geometry -{ - -// TODO: move to detail -enum overlay_type -{ - overlay_union, - overlay_intersection, - overlay_difference, - overlay_buffer, - overlay_dissolve -}; - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace overlay -{ - -enum operation_type -{ - operation_none, - operation_union, - operation_intersection, - operation_blocked, - operation_continue, - operation_opposite -}; - - -template -struct operation_from_overlay -{ - static const operation_type value = operation_union; -}; - -template <> -struct operation_from_overlay -{ - static const operation_type value = operation_intersection; -}; - -template <> -struct operation_from_overlay -{ - static const operation_type value = operation_intersection; -}; - -}} // namespace detail::overlay -#endif //DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_OVERLAY_TYPE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/segment_identifier.hpp b/include/boost/bgeometry/algorithms/detail/overlay/segment_identifier.hpp deleted file mode 100644 index 3651431bb67..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/segment_identifier.hpp +++ /dev/null @@ -1,99 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_SEGMENT_IDENTIFIER_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_SEGMENT_IDENTIFIER_HPP - - -#if defined(BOOST_GEOMETRY_DEBUG_OVERLAY) -# define BOOST_GEOMETRY_DEBUG_SEGMENT_IDENTIFIER -#endif - -#if defined(BOOST_GEOMETRY_DEBUG_SEGMENT_IDENTIFIER) -#include -#endif - - -#include - - -namespace boost { namespace geometry -{ - - - -// Internal struct to uniquely identify a segment -// on a linestring,ring -// or polygon (needs ring_index) -// or multi-geometry (needs multi_index) -struct segment_identifier -{ - inline segment_identifier() - : source_index(-1) - , multi_index(-1) - , ring_index(-1) - , segment_index(-1) - , piece_index(-1) - {} - - inline segment_identifier(signed_size_type src, - signed_size_type mul, - signed_size_type rin, - signed_size_type seg) - : source_index(src) - , multi_index(mul) - , ring_index(rin) - , segment_index(seg) - , piece_index(-1) - {} - - inline bool operator<(segment_identifier const& other) const - { - return source_index != other.source_index ? source_index < other.source_index - : multi_index !=other.multi_index ? multi_index < other.multi_index - : ring_index != other.ring_index ? ring_index < other.ring_index - : segment_index < other.segment_index - ; - } - - inline bool operator==(segment_identifier const& other) const - { - return source_index == other.source_index - && segment_index == other.segment_index - && ring_index == other.ring_index - && multi_index == other.multi_index - ; - } - -#if defined(BOOST_GEOMETRY_DEBUG_SEGMENT_IDENTIFIER) - friend std::ostream& operator<<(std::ostream &os, segment_identifier const& seg_id) - { - os - << "s:" << seg_id.source_index - << ", v:" << seg_id.segment_index // v:vertex because s is used for source - ; - if (seg_id.ring_index >= 0) os << ", r:" << seg_id.ring_index; - if (seg_id.multi_index >= 0) os << ", m:" << seg_id.multi_index; - return os; - } -#endif - - signed_size_type source_index; - signed_size_type multi_index; - signed_size_type ring_index; - signed_size_type segment_index; - - // For buffer - todo: move this to buffer-only - signed_size_type piece_index; -}; - - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_SEGMENT_IDENTIFIER_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/self_turn_points.hpp b/include/boost/bgeometry/algorithms/detail/overlay/self_turn_points.hpp deleted file mode 100644 index efd49c1b9ae..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/self_turn_points.hpp +++ /dev/null @@ -1,354 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2017 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2017. -// Modifications copyright (c) 2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_SELF_TURN_POINTS_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_SELF_TURN_POINTS_HPP - - -#include - -#include -#include - -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include - -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace self_get_turn_points -{ - -struct no_interrupt_policy -{ - static bool const enabled = false; - static bool const has_intersections = false; - - - template - static inline bool apply(Range const&) - { - return false; - } -}; - - -template -< - bool Reverse, - typename Geometry, - typename Turns, - typename TurnPolicy, - typename IntersectionStrategy, - typename RobustPolicy, - typename InterruptPolicy -> -struct self_section_visitor -{ - Geometry const& m_geometry; - IntersectionStrategy const& m_intersection_strategy; - RobustPolicy const& m_rescale_policy; - Turns& m_turns; - InterruptPolicy& m_interrupt_policy; - std::size_t m_source_index; - - inline self_section_visitor(Geometry const& g, - IntersectionStrategy const& is, - RobustPolicy const& rp, - Turns& turns, - InterruptPolicy& ip, - std::size_t source_index) - : m_geometry(g) - , m_intersection_strategy(is) - , m_rescale_policy(rp) - , m_turns(turns) - , m_interrupt_policy(ip) - , m_source_index(source_index) - {} - - template - inline bool apply(Section const& sec1, Section const& sec2) - { - if (! detail::disjoint::disjoint_box_box(sec1.bounding_box, sec2.bounding_box) - && ! sec1.duplicate - && ! sec2.duplicate) - { - // false if interrupted - return detail::get_turns::get_turns_in_sections - < - Geometry, Geometry, - Reverse, Reverse, - Section, Section, - TurnPolicy - >::apply(m_source_index, m_geometry, sec1, - m_source_index, m_geometry, sec2, - false, - m_intersection_strategy, - m_rescale_policy, - m_turns, m_interrupt_policy); - } - - return true; - } - -}; - - - -template -struct get_turns -{ - template - static inline bool apply( - Geometry const& geometry, - IntersectionStrategy const& intersection_strategy, - RobustPolicy const& robust_policy, - Turns& turns, - InterruptPolicy& interrupt_policy, - std::size_t source_index) - { - typedef model::box - < - typename geometry::robust_point_type - < - typename geometry::point_type::type, - RobustPolicy - >::type - > box_type; - - typedef geometry::sections sections_type; - - typedef boost::mpl::vector_c dimensions; - - sections_type sec; - geometry::sectionalize(geometry, robust_policy, sec, - intersection_strategy.get_envelope_strategy()); - - self_section_visitor - < - Reverse, Geometry, - Turns, TurnPolicy, IntersectionStrategy, RobustPolicy, InterruptPolicy - > visitor(geometry, intersection_strategy, robust_policy, turns, interrupt_policy, source_index); - - // false if interrupted - geometry::partition - < - box_type - >::apply(sec, visitor, - detail::section::get_section_box(), - detail::section::overlaps_section_box()); - - return ! interrupt_policy.has_intersections; - } -}; - - -}} // namespace detail::self_get_turn_points -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - bool Reverse, - typename GeometryTag, - typename Geometry, - typename TurnPolicy -> -struct self_get_turn_points -{ -}; - - -template -< - bool Reverse, - typename Ring, - typename TurnPolicy -> -struct self_get_turn_points - < - Reverse, ring_tag, Ring, - TurnPolicy - > - : detail::self_get_turn_points::get_turns -{}; - - -template -< - bool Reverse, - typename Box, - typename TurnPolicy -> -struct self_get_turn_points - < - Reverse, box_tag, Box, - TurnPolicy - > -{ - template - static inline bool apply( - Box const& , - Strategy const& , - RobustPolicy const& , - Turns& , - InterruptPolicy& , - std::size_t) - { - return true; - } -}; - - -template -< - bool Reverse, - typename Polygon, - typename TurnPolicy -> -struct self_get_turn_points - < - Reverse, polygon_tag, Polygon, - TurnPolicy - > - : detail::self_get_turn_points::get_turns -{}; - - -template -< - bool Reverse, - typename MultiPolygon, - typename TurnPolicy -> -struct self_get_turn_points - < - Reverse, multi_polygon_tag, MultiPolygon, - TurnPolicy - > - : detail::self_get_turn_points::get_turns -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace self_get_turn_points -{ - -// Version where Reverse can be specified manually. TODO: -// can most probably be merged with self_get_turn_points::get_turn -template -< - bool Reverse, - typename AssignPolicy, - typename Geometry, - typename IntersectionStrategy, - typename RobustPolicy, - typename Turns, - typename InterruptPolicy -> -inline void self_turns(Geometry const& geometry, - IntersectionStrategy const& strategy, - RobustPolicy const& robust_policy, - Turns& turns, - InterruptPolicy& interrupt_policy, - std::size_t source_index = 0) -{ - concepts::check(); - - typedef detail::overlay::get_turn_info turn_policy; - - dispatch::self_get_turn_points - < - Reverse, - typename tag::type, - Geometry, - turn_policy - >::apply(geometry, strategy, robust_policy, turns, interrupt_policy, source_index); -} - -}} // namespace detail::self_get_turn_points -#endif // DOXYGEN_NO_DETAIL - -/*! - \brief Calculate self intersections of a geometry - \ingroup overlay - \tparam Geometry geometry type - \tparam Turns type of intersection container - (e.g. vector of "intersection/turn point"'s) - \param geometry geometry - \param strategy strategy to be used - \param robust_policy policy to handle robustness issues - \param turns container which will contain intersection points - \param interrupt_policy policy determining if process is stopped - when intersection is found - */ -template -< - typename AssignPolicy, - typename Geometry, - typename IntersectionStrategy, - typename RobustPolicy, - typename Turns, - typename InterruptPolicy -> -inline void self_turns(Geometry const& geometry, - IntersectionStrategy const& strategy, - RobustPolicy const& robust_policy, - Turns& turns, - InterruptPolicy& interrupt_policy, - std::size_t source_index = 0) -{ - concepts::check(); - - static bool const reverse = detail::overlay::do_reverse - < - geometry::point_order::value - >::value; - - detail::self_get_turn_points::self_turns - < - reverse, - AssignPolicy - >(geometry, strategy, robust_policy, turns, interrupt_policy, source_index); -} - - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_SELF_TURN_POINTS_HPP diff --git a/include/boost/bgeometry/algorithms/detail/overlay/turn_info.hpp b/include/boost/bgeometry/algorithms/detail/overlay/turn_info.hpp deleted file mode 100644 index 2e0c07be8d9..00000000000 --- a/include/boost/bgeometry/algorithms/detail/overlay/turn_info.hpp +++ /dev/null @@ -1,160 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_TURN_INFO_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_TURN_INFO_HPP - - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace overlay -{ - -enum method_type -{ - method_none, - method_disjoint, - method_crosses, - method_touch, - method_touch_interior, - method_collinear, - method_equal, - method_error -}; - - -/*! - \brief Turn operation: operation - \details Information necessary for traversal phase (a phase - of the overlay process). The information is gathered during the - get_turns (segment intersection) phase. - The class is to be included in the turn_info class, either direct - or a derived or similar class with more (e.g. enrichment) information. - */ -template -struct turn_operation -{ - typedef SegmentRatio segment_ratio_type; - - operation_type operation; - segment_identifier seg_id; - SegmentRatio fraction; - - typedef typename coordinate_type::type comparable_distance_type; - comparable_distance_type remaining_distance; - - inline turn_operation() - : operation(operation_none) - , remaining_distance(0) - {} -}; - - -/*! - \brief Turn information: intersection point, method, and turn information - \details Information necessary for traversal phase (a phase - of the overlay process). The information is gathered during the - get_turns (segment intersection) phase. - \tparam Point point type of intersection point - \tparam Operation gives classes opportunity to add additional info - \tparam Container gives classes opportunity to define how operations are stored - */ -template -< - typename Point, - typename SegmentRatio, - typename Operation = turn_operation, - typename Container = boost::array -> -struct turn_info -{ - typedef Point point_type; - typedef SegmentRatio segment_ratio_type; - typedef Operation turn_operation_type; - typedef Container container_type; - - Point point; - method_type method; - bool touch_only; // True in case of method touch(interior) and lines do not cross - signed_size_type cluster_id; // For multiple turns on same location, >= 0. Else -1 - bool discarded; - - // TODO: move this to enriched - bool colocated_ii; // Colocated with a ii turn (TODO: or a ix turn) - bool colocated_uu; // Colocated with a uu turn or a ux turn - bool switch_source; // For u/u turns which can either switch or not - - Container operations; - - inline turn_info() - : method(method_none) - , touch_only(false) - , cluster_id(-1) - , discarded(false) - , colocated_ii(false) - , colocated_uu(false) - , switch_source(false) - {} - - inline bool both(operation_type type) const - { - return has12(type, type); - } - - inline bool has(operation_type type) const - { - return this->operations[0].operation == type - || this->operations[1].operation == type; - } - - inline bool combination(operation_type type1, operation_type type2) const - { - return has12(type1, type2) || has12(type2, type1); - } - - inline bool blocked() const - { - return both(operation_blocked); - } - inline bool opposite() const - { - return both(operation_opposite); - } - inline bool any_blocked() const - { - return has(operation_blocked); - } - -private : - inline bool has12(operation_type type1, operation_type type2) const - { - return this->operations[0].operation == type1 - && this->operations[1].operation == type2 - ; - } - -}; - - -}} // namespace detail::overlay -#endif //DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_TURN_INFO_HPP diff --git a/include/boost/bgeometry/algorithms/detail/partition.hpp b/include/boost/bgeometry/algorithms/detail/partition.hpp deleted file mode 100644 index 719b60c580b..00000000000 --- a/include/boost/bgeometry/algorithms/detail/partition.hpp +++ /dev/null @@ -1,848 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2011-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2017 Adam Wulkiewicz, Lodz, Poland. - -// This file was modified by Oracle on 2015, 2017. -// Modifications copyright (c) 2015-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_PARTITION_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_PARTITION_HPP - -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - -namespace detail { namespace partition -{ - -template -inline void divide_box(Box const& box, Box& lower_box, Box& upper_box) -{ - typedef typename coordinate_type::type ctype; - - // Divide input box into two parts, e.g. left/right - ctype two = 2; - ctype mid = (geometry::get(box) - + geometry::get(box)) / two; - - lower_box = box; - upper_box = box; - geometry::set(lower_box, mid); - geometry::set(upper_box, mid); -} - -// Divide forward_range into three subsets: lower, upper and oversized -// (not-fitting) -// (lower == left or bottom, upper == right or top) -template -inline void divide_into_subsets(Box const& lower_box, - Box const& upper_box, - IteratorVector const& input, - IteratorVector& lower, - IteratorVector& upper, - IteratorVector& exceeding, - OverlapsPolicy const& overlaps_policy) -{ - typedef typename boost::range_iterator - < - IteratorVector const - >::type it_type; - - for(it_type it = boost::begin(input); it != boost::end(input); ++it) - { - bool const lower_overlapping = overlaps_policy.apply(lower_box, **it); - bool const upper_overlapping = overlaps_policy.apply(upper_box, **it); - - if (lower_overlapping && upper_overlapping) - { - exceeding.push_back(*it); - } - else if (lower_overlapping) - { - lower.push_back(*it); - } - else if (upper_overlapping) - { - upper.push_back(*it); - } - else - { - // Is nowhere. That is (since 1.58) possible, it might be - // skipped by the OverlapsPolicy to enhance performance - } - } -} - -template -< - typename Box, - typename IteratorVector, - typename ExpandPolicy -> -inline void expand_with_elements(Box& total, IteratorVector const& input, - ExpandPolicy const& expand_policy) -{ - typedef typename boost::range_iterator::type it_type; - for(it_type it = boost::begin(input); it != boost::end(input); ++it) - { - expand_policy.apply(total, **it); - } -} - - -// Match forward_range with itself -template -inline bool handle_one(IteratorVector const& input, VisitPolicy& visitor) -{ - if (boost::empty(input)) - { - return true; - } - - typedef typename boost::range_iterator::type it_type; - - // Quadratic behaviour at lowest level (lowest quad, or all exceeding) - for (it_type it1 = boost::begin(input); it1 != boost::end(input); ++it1) - { - it_type it2 = it1; - for (++it2; it2 != boost::end(input); ++it2) - { - if (! visitor.apply(**it1, **it2)) - { - return false; // interrupt - } - } - } - - return true; -} - -// Match forward range 1 with forward range 2 -template -< - typename IteratorVector1, - typename IteratorVector2, - typename VisitPolicy -> -inline bool handle_two(IteratorVector1 const& input1, - IteratorVector2 const& input2, - VisitPolicy& visitor) -{ - typedef typename boost::range_iterator - < - IteratorVector1 const - >::type iterator_type1; - - typedef typename boost::range_iterator - < - IteratorVector2 const - >::type iterator_type2; - - if (boost::empty(input1) || boost::empty(input2)) - { - return true; - } - - for(iterator_type1 it1 = boost::begin(input1); - it1 != boost::end(input1); - ++it1) - { - for(iterator_type2 it2 = boost::begin(input2); - it2 != boost::end(input2); - ++it2) - { - if (! visitor.apply(**it1, **it2)) - { - return false; // interrupt - } - } - } - - return true; -} - -template -inline bool recurse_ok(IteratorVector const& input, - std::size_t min_elements, std::size_t level) -{ - return boost::size(input) >= min_elements - && level < 100; -} - -template -inline bool recurse_ok(IteratorVector1 const& input1, - IteratorVector2 const& input2, - std::size_t min_elements, std::size_t level) -{ - return boost::size(input1) >= min_elements - && recurse_ok(input2, min_elements, level); -} - -template -< - typename IteratorVector1, - typename IteratorVector2, - typename IteratorVector3 -> -inline bool recurse_ok(IteratorVector1 const& input1, - IteratorVector2 const& input2, - IteratorVector3 const& input3, - std::size_t min_elements, std::size_t level) -{ - return boost::size(input1) >= min_elements - && recurse_ok(input2, input3, min_elements, level); -} - - -template -class partition_two_ranges; - - -template -class partition_one_range -{ - template - static inline Box get_new_box(IteratorVector const& input, - ExpandPolicy const& expand_policy) - { - Box box; - geometry::assign_inverse(box); - expand_with_elements(box, input, expand_policy); - return box; - } - - template - < - typename IteratorVector, - typename VisitPolicy, - typename ExpandPolicy, - typename OverlapsPolicy, - typename VisitBoxPolicy - > - static inline bool next_level(Box const& box, - IteratorVector const& input, - std::size_t level, std::size_t min_elements, - VisitPolicy& visitor, - ExpandPolicy const& expand_policy, - OverlapsPolicy const& overlaps_policy, - VisitBoxPolicy& box_policy) - { - if (recurse_ok(input, min_elements, level)) - { - return partition_one_range - < - 1 - Dimension, - Box - >::apply(box, input, level + 1, min_elements, - visitor, expand_policy, overlaps_policy, box_policy); - } - else - { - return handle_one(input, visitor); - } - } - - // Function to switch to two forward ranges if there are - // geometries exceeding the separation line - template - < - typename IteratorVector, - typename VisitPolicy, - typename ExpandPolicy, - typename OverlapsPolicy, - typename VisitBoxPolicy - > - static inline bool next_level2(Box const& box, - IteratorVector const& input1, - IteratorVector const& input2, - std::size_t level, std::size_t min_elements, - VisitPolicy& visitor, - ExpandPolicy const& expand_policy, - OverlapsPolicy const& overlaps_policy, - VisitBoxPolicy& box_policy) - { - if (recurse_ok(input1, input2, min_elements, level)) - { - return partition_two_ranges - < - 1 - Dimension, Box - >::apply(box, input1, input2, level + 1, min_elements, - visitor, expand_policy, overlaps_policy, - expand_policy, overlaps_policy, box_policy); - } - else - { - return handle_two(input1, input2, visitor); - } - } - -public : - template - < - typename IteratorVector, - typename VisitPolicy, - typename ExpandPolicy, - typename OverlapsPolicy, - typename VisitBoxPolicy - > - static inline bool apply(Box const& box, - IteratorVector const& input, - std::size_t level, - std::size_t min_elements, - VisitPolicy& visitor, - ExpandPolicy const& expand_policy, - OverlapsPolicy const& overlaps_policy, - VisitBoxPolicy& box_policy) - { - box_policy.apply(box, level); - - Box lower_box, upper_box; - divide_box(box, lower_box, upper_box); - - IteratorVector lower, upper, exceeding; - divide_into_subsets(lower_box, upper_box, - input, lower, upper, exceeding, - overlaps_policy); - - if (! boost::empty(exceeding)) - { - // Get the box of exceeding-only - Box exceeding_box = get_new_box(exceeding, expand_policy); - - // Recursively do exceeding elements only, in next dimension they - // will probably be less exceeding within the new box - if (! (next_level(exceeding_box, exceeding, level, min_elements, - visitor, expand_policy, overlaps_policy, box_policy) - // Switch to two forward ranges, combine exceeding with - // lower resp upper, but not lower/lower, upper/upper - && next_level2(exceeding_box, exceeding, lower, level, min_elements, - visitor, expand_policy, overlaps_policy, box_policy) - && next_level2(exceeding_box, exceeding, upper, level, min_elements, - visitor, expand_policy, overlaps_policy, box_policy)) ) - { - return false; // interrupt - } - } - - // Recursively call operation both parts - return next_level(lower_box, lower, level, min_elements, - visitor, expand_policy, overlaps_policy, box_policy) - && next_level(upper_box, upper, level, min_elements, - visitor, expand_policy, overlaps_policy, box_policy); - } -}; - -template -< - int Dimension, - typename Box -> -class partition_two_ranges -{ - template - < - typename IteratorVector1, - typename IteratorVector2, - typename VisitPolicy, - typename ExpandPolicy1, - typename OverlapsPolicy1, - typename ExpandPolicy2, - typename OverlapsPolicy2, - typename VisitBoxPolicy - > - static inline bool next_level(Box const& box, - IteratorVector1 const& input1, - IteratorVector2 const& input2, - std::size_t level, std::size_t min_elements, - VisitPolicy& visitor, - ExpandPolicy1 const& expand_policy1, - OverlapsPolicy1 const& overlaps_policy1, - ExpandPolicy2 const& expand_policy2, - OverlapsPolicy2 const& overlaps_policy2, - VisitBoxPolicy& box_policy) - { - return partition_two_ranges - < - 1 - Dimension, Box - >::apply(box, input1, input2, level + 1, min_elements, - visitor, expand_policy1, overlaps_policy1, - expand_policy2, overlaps_policy2, box_policy); - } - - template - static inline Box get_new_box(IteratorVector const& input, - ExpandPolicy const& expand_policy) - { - Box box; - geometry::assign_inverse(box); - expand_with_elements(box, input, expand_policy); - return box; - } - - template - < - typename IteratorVector1, typename IteratorVector2, - typename ExpandPolicy1, typename ExpandPolicy2 - > - static inline Box get_new_box(IteratorVector1 const& input1, - IteratorVector2 const& input2, - ExpandPolicy1 const& expand_policy1, - ExpandPolicy2 const& expand_policy2) - { - Box box = get_new_box(input1, expand_policy1); - expand_with_elements(box, input2, expand_policy2); - return box; - } - -public : - template - < - typename IteratorVector1, - typename IteratorVector2, - typename VisitPolicy, - typename ExpandPolicy1, - typename OverlapsPolicy1, - typename ExpandPolicy2, - typename OverlapsPolicy2, - typename VisitBoxPolicy - > - static inline bool apply(Box const& box, - IteratorVector1 const& input1, - IteratorVector2 const& input2, - std::size_t level, - std::size_t min_elements, - VisitPolicy& visitor, - ExpandPolicy1 const& expand_policy1, - OverlapsPolicy1 const& overlaps_policy1, - ExpandPolicy2 const& expand_policy2, - OverlapsPolicy2 const& overlaps_policy2, - VisitBoxPolicy& box_policy) - { - box_policy.apply(box, level); - - Box lower_box, upper_box; - divide_box(box, lower_box, upper_box); - - IteratorVector1 lower1, upper1, exceeding1; - IteratorVector2 lower2, upper2, exceeding2; - divide_into_subsets(lower_box, upper_box, - input1, lower1, upper1, exceeding1, - overlaps_policy1); - divide_into_subsets(lower_box, upper_box, - input2, lower2, upper2, exceeding2, - overlaps_policy2); - - if (! boost::empty(exceeding1)) - { - // All exceeding from 1 with 2: - - if (recurse_ok(exceeding1, exceeding2, min_elements, level)) - { - Box exceeding_box = get_new_box(exceeding1, exceeding2, - expand_policy1, expand_policy2); - if (! next_level(exceeding_box, exceeding1, exceeding2, level, - min_elements, visitor, expand_policy1, overlaps_policy1, - expand_policy2, overlaps_policy2, box_policy)) - { - return false; // interrupt - } - } - else - { - if (! handle_two(exceeding1, exceeding2, visitor)) - { - return false; // interrupt - } - } - - // All exceeding from 1 with lower and upper of 2: - - // (Check sizes of all three forward ranges to avoid recurse into - // the same combinations again and again) - if (recurse_ok(lower2, upper2, exceeding1, min_elements, level)) - { - Box exceeding_box = get_new_box(exceeding1, expand_policy1); - if (! (next_level(exceeding_box, exceeding1, lower2, level, - min_elements, visitor, expand_policy1, overlaps_policy1, - expand_policy2, overlaps_policy2, box_policy) - && next_level(exceeding_box, exceeding1, upper2, level, - min_elements, visitor, expand_policy1, overlaps_policy1, - expand_policy2, overlaps_policy2, box_policy)) ) - { - return false; // interrupt - } - } - else - { - if (! (handle_two(exceeding1, lower2, visitor) - && handle_two(exceeding1, upper2, visitor)) ) - { - return false; // interrupt - } - } - } - - if (! boost::empty(exceeding2)) - { - // All exceeding from 2 with lower and upper of 1: - if (recurse_ok(lower1, upper1, exceeding2, min_elements, level)) - { - Box exceeding_box = get_new_box(exceeding2, expand_policy2); - if (! (next_level(exceeding_box, lower1, exceeding2, level, - min_elements, visitor, expand_policy1, overlaps_policy1, - expand_policy2, overlaps_policy2, box_policy) - && next_level(exceeding_box, upper1, exceeding2, level, - min_elements, visitor, expand_policy1, overlaps_policy1, - expand_policy2, overlaps_policy2, box_policy)) ) - { - return false; // interrupt - } - } - else - { - if (! (handle_two(lower1, exceeding2, visitor) - && handle_two(upper1, exceeding2, visitor)) ) - { - return false; // interrupt - } - } - } - - if (recurse_ok(lower1, lower2, min_elements, level)) - { - if (! next_level(lower_box, lower1, lower2, level, - min_elements, visitor, expand_policy1, overlaps_policy1, - expand_policy2, overlaps_policy2, box_policy) ) - { - return false; // interrupt - } - } - else - { - if (! handle_two(lower1, lower2, visitor)) - { - return false; // interrupt - } - } - - if (recurse_ok(upper1, upper2, min_elements, level)) - { - if (! next_level(upper_box, upper1, upper2, level, - min_elements, visitor, expand_policy1, overlaps_policy1, - expand_policy2, overlaps_policy2, box_policy) ) - { - return false; // interrupt - } - } - else - { - if (! handle_two(upper1, upper2, visitor)) - { - return false; // interrupt - } - } - - return true; - } -}; - -struct visit_no_policy -{ - template - static inline void apply(Box const&, std::size_t ) - {} -}; - -struct include_all_policy -{ - template - static inline bool apply(Item const&) - { - return true; - } -}; - - -}} // namespace detail::partition - -template -< - typename Box, - typename IncludePolicy1 = detail::partition::include_all_policy, - typename IncludePolicy2 = detail::partition::include_all_policy -> -class partition -{ - static const std::size_t default_min_elements = 16; - - template - < - typename IncludePolicy, - typename ForwardRange, - typename IteratorVector, - typename ExpandPolicy - > - static inline void expand_to_range(ForwardRange const& forward_range, - Box& total, - IteratorVector& iterator_vector, - ExpandPolicy const& expand_policy) - { - for(typename boost::range_iterator::type - it = boost::begin(forward_range); - it != boost::end(forward_range); - ++it) - { - if (IncludePolicy::apply(*it)) - { - expand_policy.apply(total, *it); - iterator_vector.push_back(it); - } - } - } - -public: - template - < - typename ForwardRange, - typename VisitPolicy, - typename ExpandPolicy, - typename OverlapsPolicy - > - static inline bool apply(ForwardRange const& forward_range, - VisitPolicy& visitor, - ExpandPolicy const& expand_policy, - OverlapsPolicy const& overlaps_policy) - { - return apply(forward_range, visitor, expand_policy, overlaps_policy, - default_min_elements, detail::partition::visit_no_policy()); - } - - template - < - typename ForwardRange, - typename VisitPolicy, - typename ExpandPolicy, - typename OverlapsPolicy - > - static inline bool apply(ForwardRange const& forward_range, - VisitPolicy& visitor, - ExpandPolicy const& expand_policy, - OverlapsPolicy const& overlaps_policy, - std::size_t min_elements) - { - return apply(forward_range, visitor, expand_policy, overlaps_policy, - min_elements, detail::partition::visit_no_policy()); - } - - template - < - typename ForwardRange, - typename VisitPolicy, - typename ExpandPolicy, - typename OverlapsPolicy, - typename VisitBoxPolicy - > - static inline bool apply(ForwardRange const& forward_range, - VisitPolicy& visitor, - ExpandPolicy const& expand_policy, - OverlapsPolicy const& overlaps_policy, - std::size_t min_elements, - VisitBoxPolicy box_visitor) - { - typedef typename boost::range_iterator - < - ForwardRange const - >::type iterator_type; - - if (std::size_t(boost::size(forward_range)) > min_elements) - { - std::vector iterator_vector; - Box total; - assign_inverse(total); - expand_to_range(forward_range, total, - iterator_vector, expand_policy); - - return detail::partition::partition_one_range - < - 0, Box - >::apply(total, iterator_vector, 0, min_elements, - visitor, expand_policy, overlaps_policy, box_visitor); - } - else - { - for(iterator_type it1 = boost::begin(forward_range); - it1 != boost::end(forward_range); - ++it1) - { - iterator_type it2 = it1; - for(++it2; it2 != boost::end(forward_range); ++it2) - { - if (! visitor.apply(*it1, *it2)) - { - return false; // interrupt - } - } - } - } - - return true; - } - - template - < - typename ForwardRange1, - typename ForwardRange2, - typename VisitPolicy, - typename ExpandPolicy1, - typename OverlapsPolicy1 - > - static inline bool apply(ForwardRange1 const& forward_range1, - ForwardRange2 const& forward_range2, - VisitPolicy& visitor, - ExpandPolicy1 const& expand_policy1, - OverlapsPolicy1 const& overlaps_policy1) - { - return apply(forward_range1, forward_range2, visitor, - expand_policy1, overlaps_policy1, expand_policy1, overlaps_policy1, - default_min_elements, detail::partition::visit_no_policy()); - } - - template - < - typename ForwardRange1, - typename ForwardRange2, - typename VisitPolicy, - typename ExpandPolicy1, - typename OverlapsPolicy1, - typename ExpandPolicy2, - typename OverlapsPolicy2 - > - static inline bool apply(ForwardRange1 const& forward_range1, - ForwardRange2 const& forward_range2, - VisitPolicy& visitor, - ExpandPolicy1 const& expand_policy1, - OverlapsPolicy1 const& overlaps_policy1, - ExpandPolicy2 const& expand_policy2, - OverlapsPolicy2 const& overlaps_policy2) - { - return apply(forward_range1, forward_range2, visitor, - expand_policy1, overlaps_policy1, expand_policy2, overlaps_policy2, - default_min_elements, detail::partition::visit_no_policy()); - } - - template - < - typename ForwardRange1, - typename ForwardRange2, - typename VisitPolicy, - typename ExpandPolicy1, - typename OverlapsPolicy1, - typename ExpandPolicy2, - typename OverlapsPolicy2 - > - static inline bool apply(ForwardRange1 const& forward_range1, - ForwardRange2 const& forward_range2, - VisitPolicy& visitor, - ExpandPolicy1 const& expand_policy1, - OverlapsPolicy1 const& overlaps_policy1, - ExpandPolicy2 const& expand_policy2, - OverlapsPolicy2 const& overlaps_policy2, - std::size_t min_elements) - { - return apply(forward_range1, forward_range2, visitor, - expand_policy1, overlaps_policy1, expand_policy2, overlaps_policy1, - min_elements, detail::partition::visit_no_policy()); - } - - template - < - typename ForwardRange1, - typename ForwardRange2, - typename VisitPolicy, - typename ExpandPolicy1, - typename OverlapsPolicy1, - typename ExpandPolicy2, - typename OverlapsPolicy2, - typename VisitBoxPolicy - > - static inline bool apply(ForwardRange1 const& forward_range1, - ForwardRange2 const& forward_range2, - VisitPolicy& visitor, - ExpandPolicy1 const& expand_policy1, - OverlapsPolicy1 const& overlaps_policy1, - ExpandPolicy2 const& expand_policy2, - OverlapsPolicy2 const& overlaps_policy2, - std::size_t min_elements, - VisitBoxPolicy box_visitor) - { - typedef typename boost::range_iterator - < - ForwardRange1 const - >::type iterator_type1; - - typedef typename boost::range_iterator - < - ForwardRange2 const - >::type iterator_type2; - - if (std::size_t(boost::size(forward_range1)) > min_elements - && std::size_t(boost::size(forward_range2)) > min_elements) - { - std::vector iterator_vector1; - std::vector iterator_vector2; - Box total; - assign_inverse(total); - expand_to_range(forward_range1, total, - iterator_vector1, expand_policy1); - expand_to_range(forward_range2, total, - iterator_vector2, expand_policy2); - - return detail::partition::partition_two_ranges - < - 0, Box - >::apply(total, iterator_vector1, iterator_vector2, - 0, min_elements, visitor, expand_policy1, - overlaps_policy1, expand_policy2, overlaps_policy2, - box_visitor); - } - else - { - for(iterator_type1 it1 = boost::begin(forward_range1); - it1 != boost::end(forward_range1); - ++it1) - { - for(iterator_type2 it2 = boost::begin(forward_range2); - it2 != boost::end(forward_range2); - ++it2) - { - if (! visitor.apply(*it1, *it2)) - { - return false; // interrupt - } - } - } - } - - return true; - } -}; - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_PARTITION_HPP diff --git a/include/boost/bgeometry/algorithms/detail/point_on_border.hpp b/include/boost/bgeometry/algorithms/detail/point_on_border.hpp deleted file mode 100644 index 90e60324f7e..00000000000 --- a/include/boost/bgeometry/algorithms/detail/point_on_border.hpp +++ /dev/null @@ -1,319 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2017. -// Modifications copyright (c) 2017 Oracle and/or its affiliates. -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.Dimension. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_POINT_ON_BORDER_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_POINT_ON_BORDER_HPP - - -#include - -#include -#include - -#include -#include -#include - -#include - -#include -#include -#include - -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace point_on_border -{ - - -struct get_point -{ - template - static inline bool apply(Point& destination, Point const& source) - { - destination = source; - return true; - } -}; - -template -struct midpoint_helper -{ - template - static inline bool apply(Point& p, InputPoint const& p1, InputPoint const& p2) - { - typename coordinate_type::type const two = 2; - set(p, - (get(p1) + get(p2)) / two); - return midpoint_helper::apply(p, p1, p2); - } -}; - - -template -struct midpoint_helper -{ - template - static inline bool apply(Point& , InputPoint const& , InputPoint const& ) - { - return true; - } -}; - - -template -struct point_on_range -{ - // Version with iterator - template - static inline bool apply(Point& point, Iterator begin, Iterator end) - { - Iterator it = begin; - if (it == end) - { - return false; - } - - if (! Midpoint) - { - geometry::detail::conversion::convert_point_to_point(*it, point); - return true; - } - - Iterator prev = it++; - - // Go to next non-duplicate point - while (it != end - && detail::equals::equals_point_point(*it, *prev)) - { - prev = it++; - } - if (it != end) - { - return midpoint_helper - < - Point, - 0, dimension::value - >::apply(point, *prev, *it); - } - return false; - } - - // Version with range - template - static inline bool apply(Point& point, Range const& range) - { - typedef typename geometry::cs_tag::type cs_tag; - BOOST_STATIC_ASSERT((! Midpoint || boost::is_same::value)); - - return apply(point, boost::begin(range), boost::end(range)); - } -}; - - -template -struct point_on_polygon -{ - template - static inline bool apply(Point& point, Polygon const& polygon) - { - return point_on_range - < - Midpoint - >::apply(point, exterior_ring(polygon)); - } -}; - - -template -struct point_on_box -{ - template - static inline bool apply(Point& point, Box const& box) - { - if (BOOST_GEOMETRY_CONDITION(Midpoint)) - { - Point p1, p2; - detail::assign::assign_box_2d_corner(box, p1); - detail::assign::assign_box_2d_corner(box, p2); - midpoint_helper - < - Point, - 0, dimension::value - >::apply(point, p1, p2); - } - else - { - detail::assign::assign_box_2d_corner(box, point); - } - - return true; - } -}; - - -template -struct point_on_multi -{ - template - static inline bool apply(Point& point, MultiGeometry const& multi) - { - // Take a point on the first multi-geometry - // (i.e. the first that is not empty) - for (typename boost::range_iterator - < - MultiGeometry const - >::type it = boost::begin(multi); - it != boost::end(multi); - ++it) - { - if (Policy::apply(point, *it)) - { - return true; - } - } - return false; - } -}; - - -}} // namespace detail::point_on_border -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -< - typename GeometryTag, - bool Midpoint - -> -struct point_on_border -{}; - - -template -struct point_on_border - : detail::point_on_border::get_point -{}; - - -template -struct point_on_border - : detail::point_on_border::point_on_range -{}; - - -template -struct point_on_border - : detail::point_on_border::point_on_range -{}; - - -template -struct point_on_border - : detail::point_on_border::point_on_polygon -{}; - - -template -struct point_on_border - : detail::point_on_border::point_on_box -{}; - - -template -struct point_on_border - : detail::point_on_border::point_on_multi - < - detail::point_on_border::point_on_polygon - > -{}; - - -template -struct point_on_border - : detail::point_on_border::point_on_multi - < - detail::point_on_border::point_on_range - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -/*! -\brief Take point on a border -\ingroup overlay -\tparam Geometry geometry type. This also defines the type of the output point -\param point to assign -\param geometry geometry to take point from -\return TRUE if successful, else false. - It is only false if polygon/line have no points -\note for a polygon, it is always a point on the exterior ring - */ -template -inline bool point_on_border(Point& point, Geometry const& geometry) -{ - concepts::check(); - concepts::check(); - - return dispatch::point_on_border - < - typename tag::type, - false - >::apply(point, geometry); -} - - -/*! -\tparam Midpoint boolean flag, true if the point should not be a vertex, but some point - in between of two vertices -\note for Midpoint, it is not taken from two consecutive duplicate vertices, - (unless there are no other). - */ -/* -template -inline bool point_on_border(Point& point, Geometry const& geometry) -{ - concepts::check(); - concepts::check(); - - return dispatch::point_on_border - < - typename tag::type, - Midpoint - >::apply(point, geometry); -} -*/ - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_POINT_ON_BORDER_HPP diff --git a/include/boost/bgeometry/algorithms/detail/recalculate.hpp b/include/boost/bgeometry/algorithms/detail/recalculate.hpp deleted file mode 100644 index 2ba38a4fc8e..00000000000 --- a/include/boost/bgeometry/algorithms/detail/recalculate.hpp +++ /dev/null @@ -1,234 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2013 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2013 Bruno Lalande, Paris, France. -// Copyright (c) 2013 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_RECALCULATE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_RECALCULATE_HPP - - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace recalculate -{ - -template -struct recalculate_point -{ - template - static inline void apply(Point1& point1, Point2 const& point2, Strategy const& strategy) - { - std::size_t const dim = Dimension - 1; - geometry::set(point1, strategy.template apply(geometry::get(point2))); - recalculate_point::apply(point1, point2, strategy); - } -}; - -template <> -struct recalculate_point<0> -{ - template - static inline void apply(Point1&, Point2 const&, Strategy const&) - { - } -}; - - -template -struct recalculate_indexed -{ - template - static inline void apply(Geometry1& geometry1, Geometry2 const& geometry2, Strategy const& strategy) - { - // Do it for both indices in one dimension - static std::size_t const dim = Dimension - 1; - geometry::set<0, dim>(geometry1, strategy.template apply(geometry::get<0, dim>(geometry2))); - geometry::set<1, dim>(geometry1, strategy.template apply(geometry::get<1, dim>(geometry2))); - recalculate_indexed::apply(geometry1, geometry2, strategy); - } -}; - -template <> -struct recalculate_indexed<0> -{ - - template - static inline void apply(Geometry1& , Geometry2 const& , Strategy const& ) - { - } -}; - -struct range_to_range -{ - template - < - typename Range1, - typename Range2, - typename Strategy - > - static inline void apply(Range1& destination, Range2 const& source, - Strategy const& strategy) - { - typedef typename geometry::point_type::type point_type; - typedef recalculate_point::value> per_point; - geometry::clear(destination); - - for (typename boost::range_iterator::type it - = boost::begin(source); - it != boost::end(source); - ++it) - { - point_type p; - per_point::apply(p, *it, strategy); - geometry::append(destination, p); - } - } -}; - -struct polygon_to_polygon -{ -private: - template - < - typename IteratorIn, - typename IteratorOut, - typename Strategy - > - static inline void iterate(IteratorIn begin, IteratorIn end, - IteratorOut it_out, - Strategy const& strategy) - { - for (IteratorIn it_in = begin; it_in != end; ++it_in, ++it_out) - { - range_to_range::apply(*it_out, *it_in, strategy); - } - } - - template - < - typename InteriorRingsOut, - typename InteriorRingsIn, - typename Strategy - > - static inline void apply_interior_rings( - InteriorRingsOut& interior_rings_out, - InteriorRingsIn const& interior_rings_in, - Strategy const& strategy) - { - traits::resize::apply(interior_rings_out, - boost::size(interior_rings_in)); - - iterate( - boost::begin(interior_rings_in), boost::end(interior_rings_in), - boost::begin(interior_rings_out), - strategy); - } - -public: - template - < - typename Polygon1, - typename Polygon2, - typename Strategy - > - static inline void apply(Polygon1& destination, Polygon2 const& source, - Strategy const& strategy) - { - range_to_range::apply(geometry::exterior_ring(destination), - geometry::exterior_ring(source), strategy); - - apply_interior_rings(geometry::interior_rings(destination), - geometry::interior_rings(source), strategy); - } -}; - -}} // namespace detail::recalculate -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename Geometry1, - typename Geometry2, - typename Tag1 = typename geometry::tag::type, - typename Tag2 = typename geometry::tag::type -> -struct recalculate : not_implemented -{}; - -template -struct recalculate - : detail::recalculate::recalculate_point::value> -{}; - -template -struct recalculate - : detail::recalculate::recalculate_indexed::value> -{}; - -template -struct recalculate - : detail::recalculate::recalculate_indexed::value> -{}; - -template -struct recalculate - : detail::recalculate::polygon_to_polygon -{}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - - -template -inline void recalculate(Geometry1& geometry1, Geometry2 const& geometry2, Strategy const& strategy) -{ - concepts::check(); - concepts::check(); - - // static assert dimensions (/types) are the same - - dispatch::recalculate::apply(geometry1, geometry2, strategy); -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_RECALCULATE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/relate/de9im.hpp b/include/boost/bgeometry/algorithms/detail/relate/de9im.hpp deleted file mode 100644 index eb29ecc2a7b..00000000000 --- a/include/boost/bgeometry/algorithms/detail/relate/de9im.hpp +++ /dev/null @@ -1,439 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// This file was modified by Oracle on 2013, 2014, 2015. -// Modifications copyright (c) 2013-2015 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_DE9IM_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_DE9IM_HPP - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -// TEMP - move this header to geometry/detail -#include - -namespace boost { namespace geometry -{ - -namespace de9im -{ - -/*! -\brief DE-9IM model intersection matrix. -\ingroup de9im -\details This matrix can be used to express spatial relations as defined in - Dimensionally Extended 9-Intersection Model. - -\qbk{[heading See also]} -\qbk{* [link geometry.reference.algorithms.relation relation]} - */ -class matrix - : public detail::relate::matrix<3, 3> -{ -#ifdef DOXYGEN_INVOKED -public: - /*! - \brief Initializes all of the matrix elements to F - */ - matrix(); - /*! - \brief Subscript operator - \param index The index of the element - \return The element - */ - char operator[](std::size_t index) const; - /*! - \brief Returns the iterator to the first element - \return const RandomAccessIterator - */ - const_iterator begin() const; - /*! - \brief Returns the iterator past the last element - \return const RandomAccessIterator - */ - const_iterator end() const; - /*! - \brief Returns the number of elements - \return 9 - */ - static std::size_t size(); - /*! - \brief Returns raw pointer to elements - \return const pointer to array of elements - */ - inline const char * data() const; - /*! - \brief Returns std::string containing elements - \return string containing elements - */ - inline std::string str() const; -#endif -}; - -/*! -\brief DE-9IM model intersection mask. -\ingroup de9im -\details This mask can be used to check spatial relations as defined in - Dimensionally Extended 9-Intersection Model. - -\qbk{[heading See also]} -\qbk{* [link geometry.reference.algorithms.relate relate]} - */ -class mask - : public detail::relate::mask<3, 3> -{ - typedef detail::relate::mask<3, 3> base_type; - -public: - /*! - \brief The constructor. - \param code The mask pattern. - */ - inline explicit mask(const char* code) - : base_type(code) - {} - - /*! - \brief The constructor. - \param code The mask pattern. - */ - inline explicit mask(std::string const& code) - : base_type(code.c_str(), code.size()) - {} -}; - -// static_mask - -/*! -\brief DE-9IM model intersection mask (static version). -\ingroup de9im -\details This mask can be used to check spatial relations as defined in - Dimensionally Extended 9-Intersection Model. -\tparam II Interior/Interior intersection mask element -\tparam IB Interior/Boundary intersection mask element -\tparam IE Interior/Exterior intersection mask element -\tparam BI Boundary/Interior intersection mask element -\tparam BB Boundary/Boundary intersection mask element -\tparam BE Boundary/Exterior intersection mask element -\tparam EI Exterior/Interior intersection mask element -\tparam EB Exterior/Boundary intersection mask element -\tparam EE Exterior/Exterior intersection mask element - -\qbk{[heading See also]} -\qbk{* [link geometry.reference.algorithms.relate relate]} - */ -template -< - char II = '*', char IB = '*', char IE = '*', - char BI = '*', char BB = '*', char BE = '*', - char EI = '*', char EB = '*', char EE = '*' -> -class static_mask - : public detail::relate::static_mask - < - boost::mpl::vector_c - < - char, II, IB, IE, BI, BB, BE, EI, EB, EE - >, - 3, 3 - > -{}; - -} // namespace de9im - -namespace detail { namespace de9im -{ - -// a small helper util for ORing static masks - -template -< - typename Seq, - typename T, - bool IsSeq = boost::mpl::is_sequence::value -> -struct push_back -{ - typedef typename boost::mpl::push_back - < - Seq, - T - >::type type; -}; - -template -struct push_back -{}; - -}} // namespace detail::de9im - -namespace de9im -{ - -inline -boost::tuples::cons - < - mask, - boost::tuples::cons - > -operator||(mask const& m1, mask const& m2) -{ - namespace bt = boost::tuples; - - return bt::cons > - ( m1, bt::cons(m2, bt::null_type()) ); -} - -template -inline -typename index::detail::tuples::push_back - < - boost::tuples::cons, - mask - >::type -operator||(boost::tuples::cons const& t, mask const& m) -{ - namespace bt = boost::tuples; - - return index::detail::tuples::push_back - < - bt::cons, - mask - >::apply(t, m); -} - -template -< - char II1, char IB1, char IE1, - char BI1, char BB1, char BE1, - char EI1, char EB1, char EE1, - char II2, char IB2, char IE2, - char BI2, char BB2, char BE2, - char EI2, char EB2, char EE2 -> -inline -boost::mpl::vector< - static_mask, - static_mask -> -operator||(static_mask const& , - static_mask const& ) -{ - return boost::mpl::vector - < - static_mask, - static_mask - >(); -} - -template -< - typename Seq, - char II, char IB, char IE, - char BI, char BB, char BE, - char EI, char EB, char EE -> -inline -typename detail::de9im::push_back - < - Seq, - static_mask - >::type -operator||(Seq const& , - static_mask const& ) -{ - return typename detail::de9im::push_back - < - Seq, - static_mask - >::type(); -} - -} // namespace de9im - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace de9im -{ - -// PREDEFINED MASKS - -// TODO: -// 1. specialize for simplified masks if available -// e.g. for TOUCHES use 1 mask for A/A -// 2. Think about dimensions > 2 e.g. should TOUCHES be true -// if the interior of the Areal overlaps the boundary of the Volumetric -// like it's true for Linear/Areal - -// EQUALS -template -struct static_mask_equals_type -{ - typedef geometry::de9im::static_mask<'T', '*', 'F', '*', '*', 'F', 'F', 'F', '*'> type; // wikipedia - //typedef geometry::de9im::static_mask<'T', 'F', 'F', 'F', 'T', 'F', 'F', 'F', 'T'> type; // OGC -}; - -// DISJOINT -template -struct static_mask_disjoint_type -{ - typedef geometry::de9im::static_mask<'F', 'F', '*', 'F', 'F', '*', '*', '*', '*'> type; -}; - -// TOUCHES - NOT P/P -template -< - typename Geometry1, - typename Geometry2, - std::size_t Dim1 = geometry::topological_dimension::value, - std::size_t Dim2 = geometry::topological_dimension::value -> -struct static_mask_touches_impl -{ - typedef boost::mpl::vector - < - geometry::de9im::static_mask<'F', 'T', '*', '*', '*', '*', '*', '*', '*'>, - geometry::de9im::static_mask<'F', '*', '*', 'T', '*', '*', '*', '*', '*'>, - geometry::de9im::static_mask<'F', '*', '*', '*', 'T', '*', '*', '*', '*'> - > type; -}; -// According to OGC, doesn't apply to P/P -// Using the above mask the result would be always false -template -struct static_mask_touches_impl - : not_implemented::type, - typename geometry::tag::type> -{}; - -template -struct static_mask_touches_type - : static_mask_touches_impl -{}; - -// WITHIN -template -struct static_mask_within_type -{ - typedef geometry::de9im::static_mask<'T', '*', 'F', '*', '*', 'F', '*', '*', '*'> type; -}; - -// COVERED_BY (non OGC) -template -struct static_mask_covered_by_type -{ - typedef boost::mpl::vector - < - geometry::de9im::static_mask<'T', '*', 'F', '*', '*', 'F', '*', '*', '*'>, - geometry::de9im::static_mask<'*', 'T', 'F', '*', '*', 'F', '*', '*', '*'>, - geometry::de9im::static_mask<'*', '*', 'F', 'T', '*', 'F', '*', '*', '*'>, - geometry::de9im::static_mask<'*', '*', 'F', '*', 'T', 'F', '*', '*', '*'> - > type; -}; - -// CROSSES -// dim(G1) < dim(G2) - P/L P/A L/A -template -< - typename Geometry1, - typename Geometry2, - std::size_t Dim1 = geometry::topological_dimension::value, - std::size_t Dim2 = geometry::topological_dimension::value, - bool D1LessD2 = (Dim1 < Dim2) -> -struct static_mask_crosses_impl -{ - typedef geometry::de9im::static_mask<'T', '*', 'T', '*', '*', '*', '*', '*', '*'> type; -}; -// TODO: I'm not sure if this one below should be available! -// dim(G1) > dim(G2) - L/P A/P A/L -template -< - typename Geometry1, typename Geometry2, std::size_t Dim1, std::size_t Dim2 -> -struct static_mask_crosses_impl -{ - typedef geometry::de9im::static_mask<'T', '*', '*', '*', '*', '*', 'T', '*', '*'> type; -}; -// dim(G1) == dim(G2) - P/P A/A -template -< - typename Geometry1, typename Geometry2, std::size_t Dim -> -struct static_mask_crosses_impl - : not_implemented - < - typename geometry::tag::type, - typename geometry::tag::type - > -{}; -// dim(G1) == 1 && dim(G2) == 1 - L/L -template -struct static_mask_crosses_impl -{ - typedef geometry::de9im::static_mask<'0', '*', '*', '*', '*', '*', '*', '*', '*'> type; -}; - -template -struct static_mask_crosses_type - : static_mask_crosses_impl -{}; - -// OVERLAPS - -// dim(G1) != dim(G2) - NOT P/P, L/L, A/A -template -< - typename Geometry1, - typename Geometry2, - std::size_t Dim1 = geometry::topological_dimension::value, - std::size_t Dim2 = geometry::topological_dimension::value -> -struct static_mask_overlaps_impl - : not_implemented - < - typename geometry::tag::type, - typename geometry::tag::type - > -{}; -// dim(G1) == D && dim(G2) == D - P/P A/A -template -struct static_mask_overlaps_impl -{ - typedef geometry::de9im::static_mask<'T', '*', 'T', '*', '*', '*', 'T', '*', '*'> type; -}; -// dim(G1) == 1 && dim(G2) == 1 - L/L -template -struct static_mask_overlaps_impl -{ - typedef geometry::de9im::static_mask<'1', '*', 'T', '*', '*', '*', 'T', '*', '*'> type; -}; - -template -struct static_mask_overlaps_type - : static_mask_overlaps_impl -{}; - -}} // namespace detail::de9im -#endif // DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_DE9IM_HPP diff --git a/include/boost/bgeometry/algorithms/detail/relate/follow_helpers.hpp b/include/boost/bgeometry/algorithms/detail/relate/follow_helpers.hpp deleted file mode 100644 index 4070e7cba18..00000000000 --- a/include/boost/bgeometry/algorithms/detail/relate/follow_helpers.hpp +++ /dev/null @@ -1,404 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// This file was modified by Oracle on 2013, 2014. -// Modifications copyright (c) 2013-2014 Oracle and/or its affiliates. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_FOLLOW_HELPERS_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_FOLLOW_HELPERS_HPP - -#include - -#include -#include -//#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace relate { - -// NOTE: This iterates through single geometries for which turns were not generated. -// It doesn't mean that the geometry is disjoint, only that no turns were detected. - -template ::type, - bool IsMulti = boost::is_base_of::value -> -struct for_each_disjoint_geometry_if - : public not_implemented -{}; - -template -struct for_each_disjoint_geometry_if -{ - template - static inline bool apply(TurnIt first, TurnIt last, - Geometry const& geometry, - Pred & pred) - { - if ( first != last ) - return false; - pred(geometry); - return true; - } -}; - -template -struct for_each_disjoint_geometry_if -{ - template - static inline bool apply(TurnIt first, TurnIt last, - Geometry const& geometry, - Pred & pred) - { - if ( first != last ) - return for_turns(first, last, geometry, pred); - else - return for_empty(geometry, pred); - } - - template - static inline bool for_empty(Geometry const& geometry, - Pred & pred) - { - typedef typename boost::range_iterator::type iterator; - - // O(N) - // check predicate for each contained geometry without generated turn - for ( iterator it = boost::begin(geometry) ; - it != boost::end(geometry) ; ++it ) - { - bool cont = pred(*it); - if ( !cont ) - break; - } - - return !boost::empty(geometry); - } - - template - static inline bool for_turns(TurnIt first, TurnIt last, - Geometry const& geometry, - Pred & pred) - { - BOOST_GEOMETRY_ASSERT(first != last); - - const std::size_t count = boost::size(geometry); - boost::ignore_unused_variable_warning(count); - - // O(I) - // gather info about turns generated for contained geometries - std::vector detected_intersections(count, false); - for ( TurnIt it = first ; it != last ; ++it ) - { - signed_size_type multi_index = it->operations[OpId].seg_id.multi_index; - BOOST_GEOMETRY_ASSERT(multi_index >= 0); - std::size_t const index = static_cast(multi_index); - BOOST_GEOMETRY_ASSERT(index < count); - detected_intersections[index] = true; - } - - bool found = false; - - // O(N) - // check predicate for each contained geometry without generated turn - for ( std::vector::iterator it = detected_intersections.begin() ; - it != detected_intersections.end() ; ++it ) - { - // if there were no intersections for this multi_index - if ( *it == false ) - { - found = true; - std::size_t const index = std::size_t(std::distance(detected_intersections.begin(), it)); - bool cont = pred(range::at(geometry, index)); - if ( !cont ) - break; - } - } - - return found; - } -}; - -// WARNING! This class stores pointers! -// Passing a reference to local variable will result in undefined behavior! -template -class point_info -{ -public: - point_info() : sid_ptr(NULL), pt_ptr(NULL) {} - point_info(Point const& pt, segment_identifier const& sid) - : sid_ptr(boost::addressof(sid)) - , pt_ptr(boost::addressof(pt)) - {} - segment_identifier const& seg_id() const - { - BOOST_GEOMETRY_ASSERT(sid_ptr); - return *sid_ptr; - } - Point const& point() const - { - BOOST_GEOMETRY_ASSERT(pt_ptr); - return *pt_ptr; - } - - //friend bool operator==(point_identifier const& l, point_identifier const& r) - //{ - // return l.seg_id() == r.seg_id() - // && detail::equals::equals_point_point(l.point(), r.point()); - //} - -private: - const segment_identifier * sid_ptr; - const Point * pt_ptr; -}; - -// WARNING! This class stores pointers! -// Passing a reference to local variable will result in undefined behavior! -class same_single -{ -public: - same_single(segment_identifier const& sid) - : sid_ptr(boost::addressof(sid)) - {} - - bool operator()(segment_identifier const& sid) const - { - return sid.multi_index == sid_ptr->multi_index; - } - - template - bool operator()(point_info const& pid) const - { - return operator()(pid.seg_id()); - } - -private: - const segment_identifier * sid_ptr; -}; - -class same_ring -{ -public: - same_ring(segment_identifier const& sid) - : sid_ptr(boost::addressof(sid)) - {} - - bool operator()(segment_identifier const& sid) const - { - return sid.multi_index == sid_ptr->multi_index - && sid.ring_index == sid_ptr->ring_index; - } - -private: - const segment_identifier * sid_ptr; -}; - -// WARNING! This class stores pointers! -// Passing a reference to local variable will result in undefined behavior! -template -class segment_watcher -{ -public: - segment_watcher() - : m_seg_id_ptr(NULL) - {} - - bool update(segment_identifier const& seg_id) - { - bool result = m_seg_id_ptr == 0 || !SameRange(*m_seg_id_ptr)(seg_id); - m_seg_id_ptr = boost::addressof(seg_id); - return result; - } - -private: - const segment_identifier * m_seg_id_ptr; -}; - -// WARNING! This class stores pointers! -// Passing a reference to local variable will result in undefined behavior! -template -class exit_watcher -{ - static const std::size_t op_id = OpId; - static const std::size_t other_op_id = (OpId + 1) % 2; - - typedef typename TurnInfo::point_type point_type; - typedef detail::relate::point_info point_info; - -public: - exit_watcher() - : m_exit_operation(overlay::operation_none) - , m_exit_turn_ptr(NULL) - {} - - void enter(TurnInfo const& turn) - { - m_other_entry_points.push_back( - point_info(turn.point, turn.operations[other_op_id].seg_id) ); - } - - // TODO: exit_per_geometry parameter looks not very safe - // wrong value may be easily passed - - void exit(TurnInfo const& turn, bool exit_per_geometry = true) - { - //segment_identifier const& seg_id = turn.operations[op_id].seg_id; - segment_identifier const& other_id = turn.operations[other_op_id].seg_id; - overlay::operation_type exit_op = turn.operations[op_id].operation; - - typedef typename std::vector::iterator point_iterator; - // search for the entry point in the same range of other geometry - point_iterator entry_it = std::find_if(m_other_entry_points.begin(), - m_other_entry_points.end(), - same_single(other_id)); - - // this end point has corresponding entry point - if ( entry_it != m_other_entry_points.end() ) - { - // erase the corresponding entry point - m_other_entry_points.erase(entry_it); - - if ( exit_per_geometry || m_other_entry_points.empty() ) - { - // here we know that we possibly left LS - // we must still check if we didn't get back on the same point - m_exit_operation = exit_op; - m_exit_turn_ptr = boost::addressof(turn); - } - } - } - - bool is_outside() const - { - // if we didn't entered anything in the past, we're outside - return m_other_entry_points.empty(); - } - - bool is_outside(TurnInfo const& turn) const - { - return m_other_entry_points.empty() - || std::find_if(m_other_entry_points.begin(), - m_other_entry_points.end(), - same_single( - turn.operations[other_op_id].seg_id)) - == m_other_entry_points.end(); - } - - overlay::operation_type get_exit_operation() const - { - return m_exit_operation; - } - - point_type const& get_exit_point() const - { - BOOST_GEOMETRY_ASSERT(m_exit_operation != overlay::operation_none); - BOOST_GEOMETRY_ASSERT(m_exit_turn_ptr); - return m_exit_turn_ptr->point; - } - - TurnInfo const& get_exit_turn() const - { - BOOST_GEOMETRY_ASSERT(m_exit_operation != overlay::operation_none); - BOOST_GEOMETRY_ASSERT(m_exit_turn_ptr); - return *m_exit_turn_ptr; - } - - void reset_detected_exit() - { - m_exit_operation = overlay::operation_none; - } - - void reset() - { - m_exit_operation = overlay::operation_none; - m_other_entry_points.clear(); - } - -private: - overlay::operation_type m_exit_operation; - const TurnInfo * m_exit_turn_ptr; - std::vector m_other_entry_points; // TODO: use map here or sorted vector? -}; - -template -inline bool turn_on_the_same_ip(Turn const& prev_turn, Turn const& curr_turn) -{ - segment_identifier const& prev_seg_id = prev_turn.operations[OpId].seg_id; - segment_identifier const& curr_seg_id = curr_turn.operations[OpId].seg_id; - - if ( prev_seg_id.multi_index != curr_seg_id.multi_index - || prev_seg_id.ring_index != curr_seg_id.ring_index ) - { - return false; - } - - // TODO: will this work if between segments there will be some number of degenerated ones? - - if ( prev_seg_id.segment_index != curr_seg_id.segment_index - && ( ! curr_turn.operations[OpId].fraction.is_zero() - || prev_seg_id.segment_index + 1 != curr_seg_id.segment_index ) ) - { - return false; - } - - return detail::equals::equals_point_point(prev_turn.point, curr_turn.point); -} - -template -static inline bool is_endpoint_on_boundary(Point const& pt, - BoundaryChecker & boundary_checker) -{ - return boundary_checker.template is_endpoint_boundary(pt); -} - -template -static inline bool is_ip_on_boundary(IntersectionPoint const& ip, - OperationInfo const& operation_info, - BoundaryChecker & boundary_checker, - segment_identifier const& seg_id) -{ - boost::ignore_unused_variable_warning(seg_id); - - bool res = false; - - // IP on the last point of the linestring - if ( BOOST_GEOMETRY_CONDITION(BoundaryQuery == boundary_back || BoundaryQuery == boundary_any) - && operation_info.position == overlay::position_back ) - { - // check if this point is a boundary - res = boundary_checker.template is_endpoint_boundary(ip); - } - // IP on the last point of the linestring - else if ( BOOST_GEOMETRY_CONDITION(BoundaryQuery == boundary_front || BoundaryQuery == boundary_any) - && operation_info.position == overlay::position_front ) - { - // check if this point is a boundary - res = boundary_checker.template is_endpoint_boundary(ip); - } - - return res; -} - - -}} // namespace detail::relate -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_FOLLOW_HELPERS_HPP diff --git a/include/boost/bgeometry/algorithms/detail/relate/implementation.hpp b/include/boost/bgeometry/algorithms/detail/relate/implementation.hpp deleted file mode 100644 index 5301f24e432..00000000000 --- a/include/boost/bgeometry/algorithms/detail/relate/implementation.hpp +++ /dev/null @@ -1,114 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// This file was modified by Oracle on 2013, 2014, 2015, 2017. -// Modifications copyright (c) 2013-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_IMPLEMENTATION_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_IMPLEMENTATION_HPP - - -#include -#include -#include - -namespace boost { namespace geometry { - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch { - -template -struct relate - : detail::relate::point_point -{}; - -template -struct relate - : detail::relate::point_multipoint -{}; - -template -struct relate - : detail::relate::multipoint_point -{}; - -template -struct relate - : detail::relate::multipoint_multipoint -{}; - -// TODO - for now commented out because before implementing it we must consider: -// 1. how the Box degenerated to a Point should be treated -// 2. what should be the definition of a Box degenerated to a Point -// 3. what fields should the matrix/mask contain for dimension > 2 and dimension > 9 -// -//template -//struct relate -// : detail::relate::point_box -//{}; -// -//template -//struct relate -// : detail::relate::box_point -//{}; - - -#if 0 -template -struct relate - : detail::relate::point_geometry -{}; - -template -struct relate - : detail::relate::geometry_point -{}; - -template -struct relate - : detail::relate::multi_point_geometry -{}; - -template -struct relate - : detail::relate::geometry_multi_point -{}; - - -template -struct relate - : detail::relate::linear_linear -{}; - -template -struct relate - : detail::relate::linear_areal -{}; - -template -struct relate - : detail::relate::areal_linear -{}; - - -template -struct relate - : detail::relate::areal_areal -{}; -#endif - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_IMPLEMENTATION_HPP diff --git a/include/boost/bgeometry/algorithms/detail/relate/interface.hpp b/include/boost/bgeometry/algorithms/detail/relate/interface.hpp deleted file mode 100644 index 78d3dfe267c..00000000000 --- a/include/boost/bgeometry/algorithms/detail/relate/interface.hpp +++ /dev/null @@ -1,421 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// This file was modified by Oracle on 2013, 2014, 2015, 2017. -// Modifications copyright (c) 2013-2017 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_INTERFACE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_INTERFACE_HPP - - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry { - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace relate { - -// Those are used only to allow dispatch::relate to produce compile-time error - -template ::type> -struct is_supported_by_generic -{ - static const bool value - = boost::is_same::value - || boost::is_same::value - || boost::is_same::value - || boost::is_same::value - || boost::is_same::value; -}; - -template ::type, - typename Tag2 = typename geometry::tag::type> -struct is_generic -{ - static const bool value = is_supported_by_generic::value - && is_supported_by_generic::value; -}; - - -template -struct is_generic -{ - static const bool value = is_supported_by_generic::value; -}; - -template -struct is_generic -{ - static const bool value = is_supported_by_generic::value; -}; - -template -struct is_generic -{ - static const bool value = false; -}; - - -}} // namespace detail::relate -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch { - - -template ::type, - typename Tag2 = typename geometry::tag::type, - int TopDim1 = geometry::topological_dimension::value, - int TopDim2 = geometry::topological_dimension::value, - bool IsGeneric = detail::relate::is_generic::value -> -struct relate : not_implemented -{}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace relate { - -template -struct interruption_enabled -{ - static const bool value = - dispatch::relate::interruption_enabled; -}; - -template ::value> -struct result_handler_type - : not_implemented -{}; - -template -struct result_handler_type -{ - typedef mask_handler - < - geometry::de9im::mask, - interruption_enabled - < - Geometry1, - Geometry2 - >::value - > type; -}; - -template -struct result_handler_type, false> -{ - typedef mask_handler - < - boost::tuples::cons, - interruption_enabled - < - Geometry1, - Geometry2 - >::value - > type; -}; - -template -struct result_handler_type - < - Geometry1, - Geometry2, - geometry::de9im::static_mask, - false - > -{ - typedef static_mask_handler - < - geometry::de9im::static_mask, - interruption_enabled - < - Geometry1, - Geometry2 - >::value - > type; -}; - -template -struct result_handler_type -{ - typedef static_mask_handler - < - StaticSequence, - interruption_enabled - < - Geometry1, - Geometry2 - >::value - > type; -}; - - -}} // namespace detail::relate -#endif // DOXYGEN_NO_DETAIL - -namespace resolve_strategy { - -struct relate -{ - template - static inline void apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - ResultHandler & handler, - Strategy const& strategy) - { - dispatch::relate - < - Geometry1, - Geometry2 - >::apply(geometry1, geometry2, handler, strategy); - } - - template - static inline void apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - ResultHandler & handler, - default_strategy) - { - typedef typename strategy::relate::services::default_strategy - < - Geometry1, - Geometry2 - >::type strategy_type; - - dispatch::relate - < - Geometry1, - Geometry2 - >::apply(geometry1, geometry2, handler, strategy_type()); - } -}; - -} // resolve_strategy - -namespace resolve_variant { - -template -struct relate -{ - template - static inline bool apply(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Mask const& mask, - Strategy const& strategy) - { - concepts::check(); - concepts::check(); - assert_dimension_equal(); - - typename detail::relate::result_handler_type - < - Geometry1, - Geometry2, - Mask - >::type handler(mask); - - resolve_strategy::relate::apply(geometry1, geometry2, handler, strategy); - - return handler.result(); - } -}; - -template -struct relate, Geometry2> -{ - template - struct visitor : boost::static_visitor - { - Geometry2 const& m_geometry2; - Mask const& m_mask; - Strategy const& m_strategy; - - visitor(Geometry2 const& geometry2, Mask const& mask, Strategy const& strategy) - : m_geometry2(geometry2), m_mask(mask), m_strategy(strategy) {} - - template - bool operator()(Geometry1 const& geometry1) const - { - return relate - ::apply(geometry1, m_geometry2, m_mask, m_strategy); - } - }; - - template - static inline bool - apply(boost::variant const& geometry1, - Geometry2 const& geometry2, - Mask const& mask, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(geometry2, mask, strategy), geometry1); - } -}; - -template -struct relate > -{ - template - struct visitor : boost::static_visitor - { - Geometry1 const& m_geometry1; - Mask const& m_mask; - Strategy const& m_strategy; - - visitor(Geometry1 const& geometry1, Mask const& mask, Strategy const& strategy) - : m_geometry1(geometry1), m_mask(mask), m_strategy(strategy) {} - - template - bool operator()(Geometry2 const& geometry2) const - { - return relate - ::apply(m_geometry1, geometry2, m_mask, m_strategy); - } - }; - - template - static inline bool - apply(Geometry1 const& geometry1, - boost::variant const& geometry2, - Mask const& mask, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(geometry1, mask, strategy), geometry2); - } -}; - -template < - BOOST_VARIANT_ENUM_PARAMS(typename T1), - BOOST_VARIANT_ENUM_PARAMS(typename T2) -> -struct relate< - boost::variant, - boost::variant -> -{ - template - struct visitor : boost::static_visitor - { - Mask const& m_mask; - Strategy const& m_strategy; - - visitor(Mask const& mask, Strategy const& strategy) - : m_mask(mask), m_strategy(strategy) {} - - template - bool operator()(Geometry1 const& geometry1, - Geometry2 const& geometry2) const - { - return relate - ::apply(geometry1, geometry2, m_mask, m_strategy); - } - }; - - template - static inline bool - apply(boost::variant const& geometry1, - boost::variant const& geometry2, - Mask const& mask, - Strategy const& strategy) - { - return boost::apply_visitor(visitor(mask, strategy), geometry1, geometry2); - } -}; - -} // namespace resolve_variant - -/*! -\brief Checks relation between a pair of geometries defined by a mask. -\ingroup relate -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\tparam Mask An intersection model Mask type. -\tparam Strategy \tparam_strategy{Relate} -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\param mask An intersection model mask object. -\param strategy \param_strategy{relate} -\return true if the relation is compatible with the mask, false otherwise. - -\qbk{distinguish,with strategy} -\qbk{[include reference/algorithms/relate.qbk]} - */ -template -inline bool relate(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Mask const& mask, - Strategy const& strategy) -{ - return resolve_variant::relate - < - Geometry1, - Geometry2 - >::apply(geometry1, geometry2, mask, strategy); -} - -/*! -\brief Checks relation between a pair of geometries defined by a mask. -\ingroup relate -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\tparam Mask An intersection model Mask type. -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\param mask An intersection model mask object. -\return true if the relation is compatible with the mask, false otherwise. - -\qbk{[include reference/algorithms/relate.qbk]} - */ -template -inline bool relate(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Mask const& mask) -{ - return resolve_variant::relate - < - Geometry1, - Geometry2 - >::apply(geometry1, geometry2, mask, default_strategy()); -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_INTERFACE_HPP diff --git a/include/boost/bgeometry/algorithms/detail/relate/less.hpp b/include/boost/bgeometry/algorithms/detail/relate/less.hpp deleted file mode 100644 index 29f5a5ddde3..00000000000 --- a/include/boost/bgeometry/algorithms/detail/relate/less.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. - -// This file was modified by Oracle on 2014. -// Modifications copyright (c) 2014, Oracle and/or its affiliates. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_LESS_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_LESS_HPP - -#include -#include -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DISPATCH -namespace detail_dispatch { namespace relate { - -// TODO: Integrate it with geometry::less? - -template ::value> -struct less -{ - static inline bool apply(Point1 const& left, Point2 const& right) - { - typename geometry::coordinate_type::type - cleft = geometry::get(left); - typename geometry::coordinate_type::type - cright = geometry::get(right); - - if ( geometry::math::equals(cleft, cright) ) - { - return less::apply(left, right); - } - else - { - return cleft < cright; - } - } -}; - -template -struct less -{ - static inline bool apply(Point1 const&, Point2 const&) - { - return false; - } -}; - -}} // namespace detail_dispatch::relate - -#endif - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace relate { - -struct less -{ - template - inline bool operator()(Point1 const& point1, Point2 const& point2) const - { - return detail_dispatch::relate::less::apply(point1, point2); - } -}; - -}} // namespace detail::relate -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_LESS_HPP diff --git a/include/boost/bgeometry/algorithms/detail/relate/point_point.hpp b/include/boost/bgeometry/algorithms/detail/relate/point_point.hpp deleted file mode 100644 index 08fb716e8a2..00000000000 --- a/include/boost/bgeometry/algorithms/detail/relate/point_point.hpp +++ /dev/null @@ -1,265 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// This file was modified by Oracle on 2013, 2014, 2017. -// Modifications copyright (c) 2013-2017, Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_POINT_POINT_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_POINT_POINT_HPP - -#include -#include - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace relate { - -template -struct point_point -{ - static const bool interruption_enabled = false; - - template - static inline void apply(Point1 const& point1, Point2 const& point2, - Result & result, - Strategy const& /*strategy*/) - { - bool equal = detail::equals::equals_point_point(point1, point2); - if ( equal ) - { - relate::set(result); - } - else - { - relate::set(result); - relate::set(result); - } - - relate::set::value>(result); - } -}; - -template -std::pair point_multipoint_check(Point const& point, MultiPoint const& multi_point) -{ - bool found_inside = false; - bool found_outside = false; - - // point_in_geometry could be used here but why iterate over MultiPoint twice? - // we must search for a point in the exterior because all points in MultiPoint can be equal - - typedef typename boost::range_iterator::type iterator; - iterator it = boost::begin(multi_point); - iterator last = boost::end(multi_point); - for ( ; it != last ; ++it ) - { - bool ii = detail::equals::equals_point_point(point, *it); - - if ( ii ) - found_inside = true; - else - found_outside = true; - - if ( found_inside && found_outside ) - break; - } - - return std::make_pair(found_inside, found_outside); -} - -template -struct point_multipoint -{ - static const bool interruption_enabled = false; - - template - static inline void apply(Point const& point, MultiPoint const& multi_point, - Result & result, - Strategy const& /*strategy*/) - { - if ( boost::empty(multi_point) ) - { - // TODO: throw on empty input? - relate::set(result); - return; - } - - std::pair rel = point_multipoint_check(point, multi_point); - - if ( rel.first ) // some point of MP is equal to P - { - relate::set(result); - - if ( rel.second ) // a point of MP was found outside P - { - relate::set(result); - } - } - else - { - relate::set(result); - relate::set(result); - } - - relate::set::value, Transpose>(result); - } -}; - -template -struct multipoint_point -{ - static const bool interruption_enabled = false; - - template - static inline void apply(MultiPoint const& multi_point, Point const& point, - Result & result, - Strategy const& strategy) - { - point_multipoint::apply(point, multi_point, result, strategy); - } -}; - -template -struct multipoint_multipoint -{ - static const bool interruption_enabled = true; - - template - static inline void apply(MultiPoint1 const& multi_point1, MultiPoint2 const& multi_point2, - Result & result, - Strategy const& /*strategy*/) - { - { - // TODO: throw on empty input? - bool empty1 = boost::empty(multi_point1); - bool empty2 = boost::empty(multi_point2); - if ( empty1 && empty2 ) - { - return; - } - else if ( empty1 ) - { - relate::set(result); - return; - } - else if ( empty2 ) - { - relate::set(result); - return; - } - } - - // The geometry containing smaller number of points will be analysed first - if ( boost::size(multi_point1) < boost::size(multi_point2) ) - { - search_both(multi_point1, multi_point2, result); - } - else - { - search_both(multi_point2, multi_point1, result); - } - - relate::set::value>(result); - } - - template - static inline void search_both(MPt1 const& first_sorted_mpt, MPt2 const& first_iterated_mpt, - Result & result) - { - if ( relate::may_update(result) - || relate::may_update(result) - || relate::may_update(result) ) - { - // NlogN + MlogN - bool is_disjoint = search(first_sorted_mpt, first_iterated_mpt, result); - - if ( BOOST_GEOMETRY_CONDITION(is_disjoint || result.interrupt) ) - return; - } - - if ( relate::may_update(result) - || relate::may_update(result) - || relate::may_update(result) ) - { - // MlogM + NlogM - search(first_iterated_mpt, first_sorted_mpt, result); - } - } - - template - static inline bool search(SortedMultiPoint const& sorted_mpt, - IteratedMultiPoint const& iterated_mpt, - Result & result) - { - // sort points from the 1 MPt - typedef typename geometry::point_type::type point_type; - std::vector points(boost::begin(sorted_mpt), boost::end(sorted_mpt)); - std::sort(points.begin(), points.end(), less()); - - bool found_inside = false; - bool found_outside = false; - - // for each point in the second MPt - typedef typename boost::range_iterator::type iterator; - for ( iterator it = boost::begin(iterated_mpt) ; - it != boost::end(iterated_mpt) ; ++it ) - { - bool ii = - std::binary_search(points.begin(), points.end(), *it, less()); - if ( ii ) - found_inside = true; - else - found_outside = true; - - if ( found_inside && found_outside ) - break; - } - - if ( found_inside ) // some point of MP2 is equal to some of MP1 - { -// TODO: if I/I is set for one MPt, this won't be changed when the other one in analysed -// so if e.g. only I/I must be analysed we mustn't check the other MPt - - relate::set(result); - - if ( found_outside ) // some point of MP2 was found outside of MP1 - { - relate::set(result); - } - } - else - { - relate::set(result); - relate::set(result); - } - - // if no point is intersecting the other MPt then we mustn't analyse the reversed case - return ! found_inside; - } -}; - -}} // namespace detail::relate -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_POINT_POINT_HPP diff --git a/include/boost/bgeometry/algorithms/detail/relate/relate_impl.hpp b/include/boost/bgeometry/algorithms/detail/relate/relate_impl.hpp deleted file mode 100644 index 1120cc0e21f..00000000000 --- a/include/boost/bgeometry/algorithms/detail/relate/relate_impl.hpp +++ /dev/null @@ -1,81 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// This file was modified by Oracle on 2013, 2014, 2015. -// Modifications copyright (c) 2013-2015 Oracle and/or its affiliates. - -// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_RELATE_IMPL_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_RELATE_RELATE_IMPL_HPP - -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace geometry { - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace relate { - -struct implemented_tag {}; - -template